Anything that can be filled by a cell can be passed to
openmc.model.pin, including Universes and lattices.
Checks are included for the volume division, as not
all supported items, like Lattice instances, have volume
attributes.
A test was added to check this capability, where a universe
is used as one of the interior elements for the pin.
Various cosmetic changes to address reviewer comments.
Remove one validation check, that the passed item is a
dict of strings. The check is covered when every key is
inspected to ensure all parents exist in the chain
Work with the test chain with isotopes A, B, C to make
minor modifications to a depletion chain.
Work with the "reference chain" at tests/chain_simple.xml to
check inference of ground state, non-construction of
reactions that dont' exist.
Function openmc.model.funcs.pin has replaced the class-based
openmc.model.pin.Pin
Subdivision functionality is maintained by passing a dictionary
of integer ring indexes -> number of divisions to the function
Tests have been updated accordingly and are parametrized
against surface type: X, Y, and Z cylinders
Closes#1280 by reading the temperature from an xml
subelement as it is written, not an attribute.
Added loading of temperature and volume material attributes
from xml in unit test
Update results list unit test to ensure that the
correct uncertainties are pulled from the depletion_results file
Update basic integrator unit test to test writing and retrieving
eigenvalues and associated uncertainties
Designed to facilitate building universe that represent
pins, or concentric cylinders of materials. Can be built
by passing surfaces and materials, or radii and materials.
Places last material spanning region out to infinity from
the last surface.
Supports subdividing rings into equal volume slices of
unique [cloned] materials, useful for depletion.
Unit tests added for failure modes as well as basic operation
A dictionary of constant fission q values [eV] can be passed
into the initialization of deplete.Chain, deplete.Operator,
and model.Model objects. This can be used for direct
comparisons with other codes with readily available
constant Q-values.
Tests have been added on the Chain and Operator side.
The additional fiss_q_values passed into Model is forwarded
directly on to the Operator call.
Due to where the results are saved for the predictor routine,
at the top of the for loop vs. the end, the positions
are incremented by one in the depletion time. This causes
a value of zero to be returned as the first item in the array
from get_depletion_time.
This save was moved in commit 87aed7a0b0
of PR #1014 to make the restart feature easier.
Use new timed_deplete wrapper func to obtain process time.
Pass process time to modifed openmc.deplete.Results.save
to be reduced and written to depletion file.
test_deplete_predictor is modified to ensure that the
shape of the resulting "depletion time" vector is correct
Load the system default cross section file, register a
depletion chain, and inspect the results. Should
have one additional library, with an empty list
of materials.
Export and create a new library from this exported xml.
Examine the contents of the new depletion chain library
Construct a minimal cross sections xml file that only
contains the depletion_chain node required by
the Operator. The path to this file is set to the
OPENMC_CROSS_SECTIONS file, and reverted after the test.
The depletion_chain points towards the chain_simple.xml
files, and a reference Chain is produced in the test.
The test involves creating a bare Operator instance, that
constructs a chain based on the temporary
OPENMC_CROSS_SECTIONS file. This chain is compared to
that produced by reading the chain_simple.xml file stored
in the test directory.