Shift/OpenMC integration
This is one issue to track progress on the large task of integrating Shift and OpenMC into PyARC. The goal is to be able to use the standard geometry input for PyARC to generate a useable MC code input (Shift or OpenMC) and run the calculation. The calculation block should be as code-agnostic as possible, meaning one should be able to just specify "shift" or "openmc" as the backend code but all other inputs are the same. Below is a list of tasks to accomplish this (individual issues to be created as necessary).
Code Additions:
-
Schema -
Templates -
Create python classes -
Wrapper class - code-agnostic, contains driver methods for geometry creation and calculation calls -
Shift class - inherits from wrapper, converts to shift code specfic input/calls -
OpenMC class - inherits from wrapper, contains openmc specific things
-
-
unit tests for every method
Tasks (listed in the order they should be done):
-
Determine schema and templates - determine the required user input for both Shift and OpenMC -
translate material definitions -
openmc -
shift
-
-
translate geometry inputs to shift and openmc inputs (non-homogenized geometries) -
proof of concept - convert sample 0 into openmc and shift input -
openmc -
shift
-
-
translate run settings -
run basic eigenvalue calculation without any data output (eg tallies) -
shift -
openmc
-
-
determine how to specify tallies in each code -
possible - generate homogenized geometry input to match other ARC codes (TBD) -
longer term - generate ISOXTS files for other ARC codes from MC XSs