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

Add OpenMC depletion settings to input file #177

Merged
merged 25 commits into from
Jan 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6896f02
add machinery to set depletion settings for openmc in main input file
yardasol Nov 28, 2022
745c037
fix json schema (format, defaults)
yardasol Nov 28, 2022
91b1e69
move default schema code to new file; fix missing param in Reactor
yardasol Nov 30, 2022
c663d58
fix input schema
yardasol Nov 30, 2022
6ec1362
fix file_interface_serpent integration test
yardasol Nov 30, 2022
a33d3c9
Merge branch 'master' into openmc-depletion-settings
yardasol Dec 6, 2022
a854654
add reactor fixutres; cleanup timestep handling; fix failing integrat…
yardasol Dec 7, 2022
68b210e
move lowercasing 'codename' to its first needed case
yardasol Dec 7, 2022
ee6210b
update releasenotes
yardasol Dec 7, 2022
a1b2447
remove cruft comments
yardasol Dec 7, 2022
dd6c8cc
cleanup _process_main_input_reactor_params()
yardasol Dec 7, 2022
544f35e
add more coverage to test_read_main_input()
yardasol Dec 7, 2022
434ac51
remove input variables from input files that are equal to their defaults
yardasol Dec 8, 2022
d138aa5
add default values for various parameters; consistency changes in cod…
yardasol Dec 8, 2022
be03b9d
update releasenotes
yardasol Dec 8, 2022
4b77fd2
Merge branch 'master' into openmc-depletion-settings
yardasol Jan 9, 2023
3bdc6d4
typo fixes in input_schema.json
yardasol Jan 10, 2023
ffaf326
overhaul input file description in docpages
yardasol Jan 10, 2023
c1f8835
add unevaluatedProperties keyword to limit json input to declared sch…
yardasol Jan 11, 2023
3cc1a18
Revert "add unevaluatedProperties keyword to limit json input to decl…
yardasol Jan 11, 2023
398cb13
Add tests that check various cases for OpenMC depletion input
yardasol Jan 11, 2023
9344619
changes from @LukeSeifert's review
yardasol Jan 11, 2023
df31b93
Changes from @LukeSeifert's second review
yardasol Jan 17, 2023
80625ae
Add tests for timestep validating and scaling functions; changes from
yardasol Jan 17, 2023
1f1d8af
update the endfb71 msbr serpent model to match the new syntax
yardasol Jan 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
546 changes: 546 additions & 0 deletions doc/fileformatspec/depcode_input.rst

Large diffs are not rendered by default.

21 changes: 19 additions & 2 deletions doc/fileformatspec/index.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,28 @@
.. _fileformatspec:

==========================
File Format Specifications
==========================

.. _fileformatspect_input_files:

Input Files
-----------

.. toctree::
:maxdepth: 1

saltproc_input
depcode_input
simulation_input
reactor_input


.. _fileformatspec_output_files:

Output Files
------------

.. toctree::
:maxdepth: 1

inputfile
databasefile
7 changes: 0 additions & 7 deletions doc/fileformatspec/inputfile.rst

This file was deleted.

118 changes: 118 additions & 0 deletions doc/fileformatspec/reactor_input.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
.. _reactor_input:

``reactor`` Properties
=========================

Required properties: ``volume``, ``mass_flowrate``, ``power_levels``,
``depletion_timesteps``, ``timestep_units``

.. _volume_property:

``volume``
----------
:description:
reactor core volume [cm^3]

:type:
``number``

:minimum:
0


.. _mass_flowrate_property:

``mass_flowrate``
-----------------

:description:
Salt mass flowrate through reactor core [g/s]

:type:
``number``

:minimum:
0


.. _power_levels_property:

``power_levels``
----------------

:description:
Reactor power or power step list durng depletion step [W]

:type:
``array``

:items:

:type:
``number``

:minimum:
0

:minItems:
1

:uniqueItems:
``false``


.. _depletion_timesteps_property:

``depletion_timesteps``
-----------------------

:description:
Depletion timestep size or list of timestep sizes

:type:
``array``

:items:

:type:
``number``

:minimum:
0

:minItems:
1

:uniqueItems:
``false``

.. _timestep_type_property:

``timestep_type``
-----------------

:description:
Depletion step type

:type:
``string``

:enum:
``cumulative``, ``stepwise``

:default:
``stepwise``

.. _timestep_unites_property:

``timestep_units``
------------------

:description:
Timestep unit

:type:
``string``

:enum:
``s``, ``sec``, ``min``, ``minute``, ``h``, ``hr``, ``hour``, ``d``, ``day``, ``a``, ``year``, ``yr``, ``MWd/kg``, ``mwd/kg``, ``MWD/KG``, ``MWD/kg``, ``MWd/KG``
121 changes: 121 additions & 0 deletions doc/fileformatspec/saltproc_input.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
.. _saltproc_input:

SaltProc Input File
===================

The main SaltProc input file is a JSON file validated against a JSON schema.
In this section, we will describe the structure of this schema. The top level
datatype of the schema is a JSON ``object``.

Required properties are as follows: ``proc_input_file``, ``dot_input_file``, ``output_path``, ``depcode``, ``simulation``, ``reactor``.

.. _proc_input_file_property:

``proc_input_file``
-------------------

:description:
File containing processing system objects

:type:
``string``

:pattern:
``^(.*)\\.json$``


.. _dot_input_file_property:

``dot_input_file``
------------------

:description:
Graph file containing processing system structure

:type:
``string``

:pattern:
``^(.*)\\.dot$``


.. _output_path_property:

``output_path``
---------------

:description:
Path output data storing folder

:type:
``string``

:pattern:
``^(.\\/)*(.*)$``

:default:
``saltproc_runtime``


.. _n_depletion_steps_property:

``n_depletion_steps``
---------------------

:description:
Number of steps for constant power and depletion interval case

:type:
``number``


.. _depcode_property:

``depcode``
-----------

:description:
Depcode class input parameters

:type:
``object``

:default:
``{}``

:properties:
:ref:`depcode_input`

.. _simulation_property:

``simulation``
--------------

:description:
Simulation class input parameters

:type:
``object``

:default:
``{}``

:properties:
:ref:`simulation_input`

.. _reactor_property:

``reactor``
-----------

:description:
Reactor class input parameters

:type:
``object``. See :ref:`reactor_input` for object properties.

:default:
``{}``

:properties:
:ref:`reactor_input`
65 changes: 65 additions & 0 deletions doc/fileformatspec/simulation_input.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
.. _simulation_input:

``simulation`` Properties
=========================

Required properties: ``sim_name``, ``db_name``

.. _sim_name_property:

``sim_name``
------------

:description:
Name of simulation

:type:
``string``


.. _db_name_property:

``db_name``
-----------

:description:
Output HDF5 database file name

:type:
``string``

:default:
``saltproc_results.h5``

:pattern:
``^(.*)\\.h5$``


.. _restart_flag_property:

``restart_flag``
----------------

:description:
Restart simulation from the step when it stopped?

:type:
``boolean``

:default:
``false``


.. _adjust_geo_property:

``adjust_geo``
--------------

:description:
switch to another geometry when keff drops below 1?
Comment on lines +44 to +59
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How come these are questions? Also, switch should be capitalized

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are questions that the variable is the answer to. Maybe that is confusing though?


:type:
``boolean``

:default:
``false``
Loading