Skip to main content
User interface to the ARC deterministic neutronic codes MC2-3, DIF3D, GAMSOR, REBUS, PERSENT, and PROTEUS. PyARC is designed to facilitate input generation, workflow management, and output processing.

Standard Code Description

  1. Coding Language and Computing Platforms
    PyARC is developed in Python 2.7. It is being distributed with the Workbench user interface developed at ORNL. Workbench distributes compatible version of Python for PyARC. Workbench can be used on MAC, Linux or Windows workstation to execute PyARC and the ARC codes locally or on a remote cluster.
  2. Description of Purpose
    The PyARC module is the glue between the Workbench interface and the ARC codes. The Workbench interface is developed at ORNL and designed to assist new users, while not obstructing experienced ones. The Workbench provides a common user interface for model creation, real-time validation, execution, output processing, and visualization for integrated codes. The PyARC module contains logic to (1) extract information from the common input entered through the Workbench, (2) perform additional verifications on the core model that the validation engine of the Workbench cannot perform, (3) pre-process the information, calculating for instance homogenized atom densities in different regions, (4) generate the ARC codes’ native inputs, (5) handle the runtime environment, for instance running MC2-3 elementary cell calculations in parallel on different CPUs, (6) post-process the outputs, printing out summary files gathering the main results of the different codes’ outputs. It can handle complex workflows between the different integrated codes that are (1) MC2-3 for multi-group cross-section processing with or without coupling with TWODANT or PARTISN, (2) DIF3D/GAMSOR for neutron and gamma transport calculations, (3) REBUS for once-through depletion and equilibrium search, (4) PERSENT for adjoint-based perturbation theory and sensitivity/uncertainty quantification analyses, and (5) PROTEUS for neutron transport calculations. Finally, the Workbench provides straightforward coupling between the Dakota code and the PyARC wrapper to the ARC codes for mathematical optimization and SA/UQ analyses.
  3. Typical Running Time
    PyARC itself does not typically take much time (1s-5min), but the ARC codes that are run can take longer: 1 minute to 1 hour depending on size and complexity of problem and machine utilized.
  4. References
    1. N. Stauff, Integration of PyARC/Workbench with New Fast Reactor Modeling and Simulation Capabilities,” ANL/NEAMS-20/2, September 30, 2020.
    2. Nicolas E. Stauff, Taek K. Kim, Robert A. Lefebvre, Brandon R. Langley, Bradley T. Rearden, Integration of the Argonne Reactor Computation codes into the NEAMS Workbench,” American Nuclear Society Annual Meeting, Philadelphia, PA, USA, June 17-21, 2018.
    3. Kaiyue Zeng, Nicolas Stauff, Jason Hou, T. K. Kim, Development of multi-objective core optimization framework and application to sodium-cooled fast test reactors,” Progress in Nuclear Energy, Volume 120, February 2020.
  5. Primary Authors
    • N.E. Stauff, Argonne National Laboratory
    • R. Lefebvre, Oak Ridge National Laboratory
    • Y.S. Jung, Argonne National Laboratory
  6. Materials Available
    Both Workbench and PyARC are distributed with Open Source Software Licenses.
    1. PyARC: https://​code​.ornl​.gov/​n​e​a​m​s​-​w​o​r​k​b​e​n​c​h​/​PyARC
    2. Workbench (includes PyARC): https://​code​.ornl​.gov/​n​e​a​m​s​-​w​o​r​k​b​e​n​c​h​/​d​o​w​n​loads

    PyARC requires separate license and installation of the MC2-3, ARC, and PROTEUS codes. Code licenses are available through Argonne and through RSICC.

  7. Sponsor
    U.S. Department of Energy, Office of Nuclear Energy