Skip to main content
A Python wrapper and user interface to the extended suite of ARC codes for reactor analysis workflows. PyARC facilitates workflows by automating input validation and generation, code execution, output processing, and visualization for integrated codes.

Standard Code Description

  1. Coding Language and Computing Platforms
    PyARC is a python module that is integrated and distributed with the Workbench user interface developed at ORNL. Workbench can be used on Mac, Linux or Windows workstations to execute PyARC and the integrated codes locally or on a remote cluster.
  2. Description of Purpose
    The PyARC module is the glue between the Workbench interface and the extended suite of 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 (coupled with ORIGEN-S from SCALE for detailed isotopic tracking), (4) PERSENT for adjoint-based perturbation theory and sensitivity/uncertainty quantification analyses, (5) PROTEUS for neutron transport calculations, (6) DASSH for subchannel heat transfer analysis, (7) NUBOW-3D for core bowing calculations, (8) OpenMC for Monte Carlo neutronics and cross section generation, and (9) Griffin for deterministic neutronics analysis. The full set of available workflows for the integrated codes is shown in the figure below. Workbench also provides straightforward coupling between the Dakota code and the PyARC wrapper to the ARC codes for mathematical optimization and SA/UQ analyses. Finally, PyARC produces a Python-based user object of results that can be accessed and integrated into other codes such as WATTS.
  1. Typical Running Time
    PyARC itself does not typically take much time (1s-5min), but the integrated codes that are run can take longer: 1 minute to a few hours depending on size and complexity of problem and machine utilized.
  2. References
    1. N. Stauff, Integration of PyARC/Workbench with New Fast Reactor Modeling and Simulation Capabilities,” NL/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.
  3. Primary Developers
    • K. Kiesling, Argonne National Laboratory
    • N.E. Stauff, Argonne National Laboratory
    • R. Lefebvre, Oak Ridge National Laboratory
  4. 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 latest release of 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, PROTEUS, SCALE, and Griffin codes. Code licenses are available through Argonne or through RSICC.

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