Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: DepcodeOpenMC methods for starting simulation and writing/reading input files #133

Closed
yardasol opened this issue Feb 17, 2022 · 1 comment

Comments

@yardasol
Copy link
Contributor

yardasol commented Feb 17, 2022

Background and motivation

I will be splitting up the implementation of DepcodeOpenMC into two parts to reduce PR bloat without sacrificing development of features that have a strong coupling based on implementation decisions.

Description of idea

We need to have functions that can perform reading/writing of input files, that can run OpenMC depletion, and that support the previous two tasks.

Implementation details

  • Input file reading/writing
    • We'll need to modify the input file structure since OpenMC has input settings split across multiple files. If possible, we should preserve the current input file structure for serpent. It's possible there's a way to do this with JSON Schema.
    • We need functions that store run-time versions of the materials, settings, and geometry files.
    • We need functions that pass saltproc simulation information to openmc materials and settings, as well as the relevant parameters in the openmc.deplete module.
  • Running the depletion simulation
    • We need a python script that accepts as command line arguments paths to our our OpenMC input files.
    • we will run this script as a sub process in DepcodeOpenMC.run_depcode function.
    • we will execute this script from mpiexec and pass the relevant parameters
  • Tests
    • We need to write unit tests for each new function (where possible. Can't really do this for the run_depcode function)
    • A script to convert serpent material and geometry files to the openmc form would be nice to have

Potential snags

  • We'll need to modify the input file structure since OpenMC has input settings split across multiple files
  • Any API changes means we need to update tests. It's best to do this slowly and one at a time so we can catch and handle errors efficiently.
@yardasol
Copy link
Contributor Author

yardasol commented Mar 7, 2023

Closed by #189

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant