mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 13:45:36 -04:00
Determine whether nuclides are fissionable in volume calc mode (#3047)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
This commit is contained in:
parent
390005e841
commit
78ee851990
2 changed files with 20 additions and 1 deletions
|
|
@ -63,6 +63,19 @@ Nuclide::Nuclide(hid_t group, const vector<double>& temperature)
|
|||
read_attribute(group, "atomic_weight_ratio", awr_);
|
||||
|
||||
if (settings::run_mode == RunMode::VOLUME) {
|
||||
// Determine whether nuclide is fissionable and then exit
|
||||
int mt;
|
||||
hid_t rxs_group = open_group(group, "reactions");
|
||||
for (auto name : group_names(rxs_group)) {
|
||||
if (starts_with(name, "reaction_")) {
|
||||
hid_t rx_group = open_group(rxs_group, name.c_str());
|
||||
read_attribute(rx_group, "mt", mt);
|
||||
if (is_fission(mt)) {
|
||||
fissionable_ = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -963,7 +963,8 @@ def test_sample_external_source(run_in_tmpdir, mpi_intracomm):
|
|||
model.settings.source = openmc.IndependentSource(
|
||||
space=openmc.stats.Box([-5., -5., -5.], [5., 5., 5.]),
|
||||
angle=openmc.stats.Monodirectional((0., 0., 1.)),
|
||||
energy=openmc.stats.Discrete([1.0e5], [1.0])
|
||||
energy=openmc.stats.Discrete([1.0e5], [1.0]),
|
||||
constraints={'fissionable': True}
|
||||
)
|
||||
model.settings.particles = 1000
|
||||
model.settings.batches = 10
|
||||
|
|
@ -993,3 +994,8 @@ def test_sample_external_source(run_in_tmpdir, mpi_intracomm):
|
|||
assert p1.wgt == p2.wgt
|
||||
|
||||
openmc.lib.finalize()
|
||||
|
||||
# Make sure sampling works in volume calculation mode
|
||||
openmc.lib.init(["-c"])
|
||||
openmc.lib.sample_external_source(100)
|
||||
openmc.lib.finalize()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue