Closed shimwell closed 2 years ago
@shimwell I just realized that if you pass reduce_chain=True
to the Operator
class, you should get exactly the behavior that you want: 1) the chain will be reduced to only the isotopes present in depletable materials and their possible progeny (determined by walking through the chain), 2) the "burnable" nuclides are determined based on the chain, and 3) dilute_initial
is applied based on the burnable nuclides.
oh nice,
So for a "typical" fixed source activation simulation in fusion I guess that I would set reduce_chain, dilute_initial and normalization_mode in the various places. Here is a complete example in case it is handy for anyone else.
operator = openmc.deplete.Operator(
model=model,
chain_file='chain-nndc-b7.1.xml',
normalization_mode="source-rate", # set for fixed source simulation, otherwise defaults to fission simulation
dilute_initial=0 # set to zero to avoid adding small amounts of isotopes, defaults to adding small amounts of fissionable isotopes
reduce_chain=True # reduced to only the isotopes present in depletable materials and their possible progeny
)
time_steps = [365*24*60*60] * 5 + [365*24*60*60] * 5
source_rates = [1e21]*5 + [0] * 5
integrator = openmc.deplete.PredictorIntegrator(
operator=operator, timesteps=time_steps,source_rates=source_rates
)
integrator.integrate()
I think this issue can now be closed as we don't need to change the dilute_initial
method. Thanks @paulromano
The
openmc.deplete.Operator
accepts adilute_initial
argument that is a boolean.When set to True a small quantity of burnable nuclide are added to the material which helps numerically solve the inventory calculation.
However dilute_initial can add nuclides that would not be generated by the irradiation of the material.
For example using dilute_initial=True when irradiating Iron with neutrons would add nuclides that would not be created such as U, Pu, Cs to the material inventory.
minimal example to reproduce