Skip to content

Commit 3d4dc94

Browse files
committed
add kinetic simulation information to the user guide
1 parent e9cf50b commit 3d4dc94

File tree

5 files changed

+406
-4
lines changed

5 files changed

+406
-4
lines changed

docs/source/io_formats/materials.rst

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ Each ``material`` element can have the following attributes or sub-elements:
4949
<temperature_default>` is used.
5050

5151
:density:
52-
An element with attributes/sub-elements called ``value`` and ``units``. The
53-
``value`` attribute is the numeric value of the density while the ``units``
52+
An element with attributes/sub-elements called ``value``, ``units``, and
53+
(optionally) ``value_timeseries``. The ``value`` attribute is the numeric
54+
value of the density while the ``units``
5455
can be "g/cm3", "kg/m3", "atom/b-cm", "atom/cm3", or "sum". The "sum" unit
5556
indicates that values appearing in ``ao`` or ``wo`` attributes for ``<nuclide>``
5657
and ``<element>`` sub-elements are to be interpreted as absolute nuclide/element
@@ -59,14 +60,21 @@ Each ``material`` element can have the following attributes or sub-elements:
5960
a ``macroscopic`` quantity to indicate that the density is already included
6061
in the library and thus not needed here. However, if a value is provided
6162
for the ``value``, then this is treated as a number density multiplier on
62-
the macroscopic cross sections in the multi-group data. This can be used,
63-
for example, when perturbing the density slightly.
63+
the macroscopic cross sections in the multi-group data. This can be used,
64+
for example, when perturbing the density slightly. The ``value_timeseries``
65+
element indicates a material density changing in time. This can be used to
66+
simulate various benchmark problems in kinetic simulations. The
67+
``value_timeseries`` attribute is assumed to use the same units specified
68+
in the ``units`` attribute.
6469

6570
*Default*: None
6671

6772
.. note:: A ``macroscopic`` quantity can not be used in conjunction with a
6873
``nuclide``, ``element``, or ``sab`` quantity.
6974

75+
.. note:: The ``value_timeseries`` attribute cannot be used with ``sum``
76+
densities.
77+
7078
:nuclide:
7179
An element with attributes/sub-elements called ``name``, and ``ao``
7280
or ``wo``. The ``name`` attribute is the name of the cross-section for a

docs/source/io_formats/settings.rst

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,18 @@ the estimated eigenvalue. It has the following attributes/sub-elements:
321321

322322
.. note:: See section on the :ref:`trigger` for more information.
323323

324+
-------------------------------------
325+
``<kinetic_simulation>`` Element
326+
-------------------------------------
327+
328+
The ``<kinetic_simulation>`` element indicates whether to run a static or
329+
time-dependent simulation (with no feedbacks). If this element is set to
330+
"true", a kinetic simulation will be run; otherwise a static simulation is run.
331+
332+
*Default*: false
333+
334+
.. _kinetic_simulation:
335+
324336
---------------------------
325337
``<log_grid_bins>`` Element
326338
---------------------------
@@ -585,6 +597,25 @@ found in the :ref:`random ray user guide <random_ray>`.
585597

586598
*Default*: 1.0
587599

600+
If a kinetic simulation is active, two additional settings are available:
601+
602+
:bd_order:
603+
Order for backwards difference approximation used in numerically estimating
604+
time derivatives. The backwards difference approximation is stable for
605+
orders less than or equal to 6, and is relatively straightforward to
606+
implement. The default value of 3 balances higher precision with speed.
607+
608+
*Default*: 3
609+
610+
:time_derivative_method:
611+
The method used to resolve the angular flux time-derivative in the time-dependent
612+
characteristic equation. The ``isotropic`` method utilizes an isotropic approximation
613+
to resolve the angular flux time derivative. The ``propagation`` method
614+
uses a technique called Time Derivative Propagation to resolve the angular
615+
flux time derivative.
616+
617+
*Default*: ``isotropic``
618+
588619
----------------------------------
589620
``<resonance_scattering>`` Element
590621
----------------------------------
@@ -1286,6 +1317,32 @@ despite not being bounded on both sides.
12861317

12871318
.. _trace:
12881319

1320+
---------------------------------
1321+
``<timestep_parameters>`` Element
1322+
---------------------------------
1323+
1324+
The ``<timestep_parameters>`` element can be used specify for how long and
1325+
at what resolution to run a kinetic simulation. This element has the
1326+
following attributes/sub-elements:
1327+
1328+
:n_timesteps:
1329+
The number of timesteps. Must be specified by the user.
1330+
1331+
:dt:
1332+
Time step size. Must be specified by the user.
1333+
1334+
:timestep_units:
1335+
Time step units. Available options are ``ms`` for milliseconds, ``s`` for seconds,
1336+
and ``min`` for minutes.
1337+
1338+
*Default*: ``s``
1339+
1340+
.. note:: This element is required if the :ref:`kinetic_simulation` is ``true``.
1341+
1342+
*Default*: None
1343+
1344+
.. _timestep_parameters:
1345+
12891346
-------------------
12901347
``<trace>`` Element
12911348
-------------------

docs/source/io_formats/statepoint.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ The current version of the statepoint file format is 18.1.
2828
'continuous-energy' or 'multi-group'.
2929
- **run_mode** (*char[]*) -- Run mode used, either 'eigenvalue' or
3030
'fixed source'.
31+
- **solver_type** (*char[]*) -- Solver used, either 'monte carlo' or
32+
'random ray'.
33+
- **kinetic_simulation** (*int*) -- Flag indicating whether a kinetic (1)
34+
or static (0) simulation was run.
3135
- **n_particles** (*int8_t*) -- Number of particles used per generation.
3236
- **n_batches** (*int*) -- Number of batches to simulate.
3337
- **current_batch** (*int*) -- The number of batches already simulated.
@@ -49,6 +53,10 @@ The current version of the statepoint file format is 18.1.
4953
combined estimate of k-effective.
5054
- **n_realizations** (*int*) -- Number of realizations for global
5155
tallies.
56+
- **n_energy_groups** (*int*) -- Number of energy groups used if
57+
**energy_mode** is 'multi-group'.
58+
- **n_delay_groups** (*int*) -- Number of delay groups used if
59+
**energy_mode** is 'multi-group'.
5260
- **global_tallies** (*double[][2]*) -- Accumulated sum and
5361
sum-of-squares for each global tally.
5462
- **source_bank** (Compound type) -- Source bank information for each
@@ -197,3 +205,16 @@ All values are given in seconds and are measured on the master process.
197205
tally results and evaluating their statistics.
198206
- **writing statepoints** (*double*) -- Time spent writing statepoint
199207
files
208+
209+
If random ray mode is used, the following times are also recorded:
210+
- **source_update** (*double*) -- Time spent updating the neutron source.
211+
- **precursor_update** (*double*) -- Time spent updating the precursors
212+
(only written for kinetic simulations).
213+
214+
**/timestep_data/**
215+
216+
Time step information for kinetic simulation. All values are given in seconds.
217+
218+
:Datasets: - **dt** (*double*) -- Length of the time step.
219+
- **current_timestep** (*int*) -- Numbered time step.
220+
- **current_time** (*double*) -- Simulated elapsed time.

0 commit comments

Comments
 (0)