Nuclear Engineering Division


















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

Reactors designed by Argonne National Laboratory


OTERR (Optimization of TEst Reactor Reloading)


Standard Code Description

  1. Name of Program:
    OTERR (Optimization of TEst Reactor Reloading)
  2. Computer for Which Program is Designed and Other Machine Version Packages Available:
    Any workstation that runs the ARC codes.
  3. Description of Problem or Function:
    OTERR is developed to solve optimization problems related to the fuel handling and reloading in fast reactors. A genetic algorithm is used for optimization of a multi-objective function. The objective (or “fitness”) function is evaluated approximately using simplified models of the reactivity and power distribution of a core configuration that can be evaluated many times per second, much faster than the rate at which DIF3D calculations can be set-up, run, and post-processed. The methodology of OTERR could in theory be applied to any coupled neutron transport and depletion solver. Currently, it is only implemented for the ARC codes DIF3D/REBUS. The OTERR module contains the logic and routines necessary to (1) setup DIF3D and REBUS input files from basic user input specifying problem geometry and materials, (2) extract state information (burnup, compositions, flux distribution) and other data of interest from the DIF3D/REBUS output (3) run many DIF3D cases to develop linear regression models for the effects of composition changes (i.e. fuel reloading) on core non-leakage probability and microscopic cross sections, and (4) given a bank of fuel assemblies, perform fuel reloading under user-specified constraints to reach a targeted k-effective using either a deterministic or stochastic (genetic) algorithm. In addition to the Python modules and scripts that perform these functions, there are several bash scripts that facilitate post-processing or handle running the Python modules and ARC codes in specific sequences. The ARC codes are never called from within Python. OTERR is a wrapper that writes ARC input and processes the corresponding output. All necessary data is stored in HDF5 files at intermediate points in the process. Restart is possible from any point stored in HDF5.
  4. Restrictions on the Complexity of the Problems:
    There are many possible variables that could be subject to optimization. Currently, the optimization objective is a function of k-effective, radial power peaking, fresh assembly cost, and average discharge burnup. More variables could be introduced without significant effort, as long as they can be obtained or approximated with relatively simple models (e.g., no running of an external transport solver or similar code). Optimization is currently limited to a fixed core geometry (number and location of assemblies), but the capabilities may be extended to include changes to this restriction.
  5. Typical Running Time:
    There are several different functions of OTERR which may take different amounts of time. Running the DIF3D cases to develop the linear regression data typically takes 10 min – 1 hr, depending on the size of the problem, parallelism, and whether P1 or P3 is used. Once the linear regression model is obtained for a given core geometry, it can be re-used indefinitely for that geometry. Producing DIF3D/REBUS input takes 1-5 s and post-processing the output takes 5-20 s. The main optimization module runs all of the fitness approximation up front in approximately 10 s – 2 min, and then the optimization routine takes 30 s – 5 min, depending on the parameters defining the size of the population and number of generations. DIF3D-VARIANT and REBUS may take anywhere from 1 min – 30 min for a single cycle, depending on problem size and transport order.
  6. Unusual Features of the Program:
    The program uses a two-tier fitness function evaluation model. There is a higher-order, direct diffusion/transport solution (DIF3D-VARIANT) for evaluating fitness of a core configuration. The genetic algorithm is effectively accelerated by using the approximate model to evaluate changes in fitness in the region “near” a configuration that has already been evaluated with high accuracy.
  7. Related and Auxiliary Programs:
    OTERR is a wrapper around DIF3D-VARIANT and REBUS. It produces input for these codes and processes their output. MC2-3/TWODANT are used to generate the multigroup cross sections for DIF3D-VARIANT. DIF3D-VARIANT is the neutron transport (or diffusion) solver used to calculate the flux distribution, power, and k-effective. This output data serves either as direct input to the fitness function evaluation or as data used in the approximate evaluation models for the fitness function.
  8. Status:
    This code is still in development. Demonstration of capabilities for the target problem has not yet been achieved. The code is currently developer-only and lacks documentation necessary for public use. Documenting the code and improving the user interface so that non-developers can easily use the code are planned for future work once the core capabilities are in place.
  9. References:
    1. M. Jarrett and F. Heidet, “Fuel Loading Optimization and Planning for the Versatile Test Reactor,” Trans. Am. Nucl. Soc. ANS 2019 Annual Meeting, Minneapolis, MN, USA (2019).
    2. M. Jarrett and F. Heidet, “Automated Fuel Management Optimization for Fast Reactors,” Proc. PHYSOR 2020, Cambridge, UK (2020).
  10. Machine Requirements:
    Any machine with Python installed. The processing power required to run OTERR is not generally very large, but DIF3D/REBUS can often consume 50-100 GB of RAM or more.
  11. Programming Languages Used:
  12. Operating System:
    No special requirements are made on the operating system. Windows/Linux/MacOS
  13. Other Programming or Operating Information or Restrictions:
  14. Name and Establishment of Author or Contributor:
    • Michael Jarrett, Argonne National Laboratory
  15. Materials Available:
    Not yet available.
    OTERR requires separate license and installation of MC2-3 and ARC codes. Code licenses are available through ANL and through RSICC.
  16. Sponsor:
    U.S. Department of Energy, Office of Nuclear Energy

Last Modified: Wed, June 10, 2020 3:05 PM



Other Userface for ARC Codes:


The NE Computer Codes Suite for Reactor Physics and Fuel Cycle Analysis

For more information:

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