Nuclear Engineering Division


















Join us on Facebook Follow us on Twitter NE on Flickr NE on YouTube

Reactors designed by Argonne National Laboratory


VIM (Diffusion and Transport Theory Codes)


Standard Code Description

  1. Name of Program:
    VIM: A continuous energy neutron and photon transport code.
  2. Computer for Which Program is Designed and Other Machine Version Packages Available:
    Solaris, Linux, and Apple Macintosh systems, parallel not currently supported.
  3. Description of Problem Solved:
    VIM solves the steady-state neutron or photon transport problem in any detailed three-dimensional geometry using either continuous energy-dependent ENDF/B-IV,V,VI.6, or VII.0 nuclear data or multigroup cross sections.[1] Neutron transport is carried out in a criticality mode, or in a fixed source mode (optionally incorporating subcritical multiplication). Photon transport is simulated in the fixed source mode. The geometry options are infinite medium, combinatorial geometry,[2] and hexagonal or rectangular lattices of combinatorial geometry unit cells, and rectangular lattices of cells of assembled plates. Boundary conditions include vacuum, specular and white reflection, and periodic boundaries for reactor cell calculations.
  4. Method of Solution:
    VIM uses standard Monte Carlo methods for particle tracking with several optional variance-reduction techniques. These include splitting/Russian roulette, non-terminating absorption with non-analog weight cutoff energy. The multiplication factor (keff) is determined by the optimum linear combinations[3] of two of the three eigenvalue estimates - analog, collision, and track length. Resonance and smooth cross sections are specified point-wise with linear - linear interpolation[4], frequently with many thousands of energy points. Unresolved resonances are described by the probability table method[5], which allows the statistical nature of the evaluated resonance cross sections to be incorporated naturally into the representation of self-shielding effects. Neutron interactions are elastic, inelastic and thermal scattering, (n,2n), fission, and capture, which includes (n,t), (n,p), (n,alpha), etc. Photon interaction data for pair production, coherent and incoherent scattering, and photoelectric events are taken from MCPLIB.[6] Trajectories and scattering are continuous in direction, and anisotropic elastic and discrete level inelastic neutron scattering are described with probability tables derived from evaluated nuclear data. VIM has a restart capability to permit user-directed statistical convergence.
    In eigenvalue calculations, the beginning source sites are from a random (flat) guess, or can be provided via ASCII input, or from a previous calculation. The starting neutrons for each subsequent generation are randomly selected from the potential fission sites in the previous generation.
    Track-length or collision estimates of reaction rates are automatically tallied by energy group and edit region to facilitate comparison to other calculations. Groupwise edits include isotopic and macroscopic reaction rates and cross sections, group-to-group scattering cross sections, net currents, and scalar fluxes. Particle pseudo-collisions are used to estimate microscopic group-to-group (n,2n), inelastic, and PN elastic scattering rates. The serial correlation of eigenvalue estimates is computed to detect underestimated errors.
  5. Restrictions on the Complexity of the Problems:
    The maximum number of isotopes in one calculation is 100. The maximum number of splitting surfaces is 60. All other problem characteristics are accommodated by variable dimensioning.
  6. Typical Running Time:
    Varies widely, depending on geometric complexity, the number of isotopes, application of absorption weighting and splitting, overall scattering ratio, and desired statistical accuracy.
  7. Unusual Features of the Program:
    VIM was developed primarily as a reactor criticality code. Its tally and edit features are very easy to use, and automatically provide fission, fission production, absorption, capture, elastic scattering, inelastic scattering, and (n,2n) reaction rates for each edit region, edit energy group, and isotope, as well as the corresponding macroscopic information, including group scalar fluxes. Microscopic and macroscopic cross sections, including microscopic PN group-to-group cross sections are also easily produced.
    VIM and its associated ENDF/B-IV,-V,-VI.6 and -VII-based nuclear data files have been benchmarked extensively against a variety of critical experiments and comparisons with comparable MCNP calculations. These include many of the International Criticality Safety Benchmark Experiment Program benchmarks and many of the small unreflected and moderated criticals, but most notably the well-characterized Zero Power Reactor and Zero Power Physics Reactor critical series. In these tests, keff, fluxes and spatial reaction rate distributions have been compared with measurements. Furthermore, keff, regionwise group reaction rates (and ratios), effective group cross sections, and group fluxes have been compared in detail with those from codes using other data libraries and transport methods. A comprehensive validation bibliography is available.
  8. Related and Auxiliary Programs:
    • XSEDIT2 edits or performs binary conversion of processed physics data.
    • RETALLY repeats the statistical analysis of tally data, optionally collapsing energy groups and/or spatial regions, or skipping early generations.
    • KEFCODE repeats the statistical analysis of keff tallies.
    • ISOVIM[7] produces multigroup VIM material files from COMPXS or ISOTXS interface files,[8], or from CASMO[9] ASCII output.
    • REBATCH regroups tally records to encompass more generations to permit assessment of serial correlation of reaction rate and flux estimates.
    • Slicer, a C++ program, generates color 2D shapshots of a specified VIM geometry.
  9. Status:
    VIM has had extensive production use at Argonne and has been exported to the Radiation Safety Information Computational Center (RSICC). A version of the code (not included in VIM 5.1) has been developed for parallel execution on MIMD distributed memory architectures such as heterogeneous networks of workstations and scalable multi-processor computers.[11, 12].
  10. References:
    1. R. N. Blomquist, "VIM­-A Continuous Energy Monte Carlo Code at ANL," A Review of the Theory and Application of Monte Carlo Methods, Proceedings of a Seminar-Workshop, ORNL/RSIC-44 (April 1980).
    2. M. O. Cohn et al., "SAM-CE: A Three-Dimensional Monte Carlo code for the Forward Neutron and Forward and Adjoint Gamma Ray Transport Equations," MR-7021, Mathematical Applications Group, Inc. (1971).
    3. M. Halperin, "Almost Linearly Optimum Combination of Unbiased Estimates," Am. Statis. Assoc. Journal, 56, p. 36 (1969).
    4. J. M. Otter, "UNICORN­A Program to Calculate Point Cross Sections from Resonance Parameters, NAA-SR-11980, Vol. VI (June 1966).
    5. J. M. Otter, R. C. Lewis, and L. B. Levitt, "U3R, A Code to Calculate Unresolved Resonance Cross Section Probability Tables," AI-AEC-13024 (July 1972).
    6. Los Alamos Monte Carlo Group, "MCNP - A General Monte Carlo Code for Neutron and Photon Transport, Version 2B," LA-7396-M, Revised (April 1981).
    7. R. N. Blomquist, "Multigroup Calculations Using VIM: A User's Guide to ISOVIM," ANL-FRA-169 (September 1992).
    8. R. Douglas O'Dell, "Standard Interface Files and Procedures for Reactor Physics Codes, Version IV," USDOE Report LA-6941-MS, Los Alamos National Laboratory (September 1987).
    9. M. Edenius and A. Ahlin, "CASMO-3 Users Manual," STUDSVIK/NFA-86/7 (1986).
    10. M. B. Emmett, "The MORSE Monte Carlo Radiation Transport Code System," ORNL-4972, (February 1975)
    11. R. N. Blomquist and F. B. Brown, "Parallel Monte Carlo Reactor Neutronics," Proceedings of the 1994 Society for Computer Simulation Simulation Multiconference, San Diego, CA, pp. 182-187 (April 1994).
    12. B. Shi and R. N. Blomquist,"Performance Studies of the Parallel VIM Monte Carlo Code," Trans. Am. Nucl. Soc. 74, pp. 169-171 (June 1996).
  11. Machine Requirements:
    • VIM or other executable: 2 Mbyte memory
    • Base Cross Section Libraries: 308 Mbytes disk
    • Run-time Cross Sections (parallel): 20 Mbytes memory
    • Restart/tally files: Highly problem dependent
  12. Programming Languages Used:
    VIM and XSEDIT2: FORTRAN 90, except for timing routines (C), and Slicer (C++).
  13. Operating System:
    No special requirements. VIM has run on MVS, Solaris, AIX, COS, Windows XP, Linux, and UNICOS.
  14. Other Programming or Operating Information or Restrictions:
    VIM produces a Postscript file containing the assembly layout of hex-lattice reactor cores, which may then be printed if a PostScript driver is available.
  15. Name and Establishment of Author or Contributor:
    • Roger N. Blomquist
      Nuclear Engineering Division
      Argonne National Laboratory
      9700 South Cass Avenue
      Argonne, Illinois 60439

      The initial version of VIM was written at Atomics International by L. B. Levitt and R. C. Lewis. Major contributions to the present version were made by R. E. Prael. F. B. Brown and D. M. Malon completed much of the parallelization work.
  16. Materials Available:
    • Available from the Radiation Safety Information Computational Center (RSICC).
    • Web-based User's Manual.
    • ASCII ENDF/B-IV, -V, -VI.6, -VII.0, and JEF-2.2 neutron physics libraries processed at ANL, and the associated MCPLIB[6] photon data.
    • VIM and related programs source code
    • Startup job input and decks
    • Installation benchmark inputs and outputs
    • Sample problem input and scripts
    • Sample problem output print files
  17. Sponsor:
    U.S. Department of Energy, NA-117.

Last Modified: Wed, April 20, 2016 9:50 AM



VIM Computer Code
VIM code web site

Other Diffusion and Transport Theory Codes:

For more information:

For more information on this software please send an email to: