Skip to content

Commit b441874

Browse files
committed
Distribtued density regression test.
1 parent 73c7c7a commit b441874

File tree

5 files changed

+89
-1
lines changed

5 files changed

+89
-1
lines changed

src/geometry_aux.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,8 @@ void finalize_cell_densities()
201201
// Convert to density multipliers.
202202
if (c->xml_set_density_) {
203203
for (int32_t instance = 0; instance < c->rho_mult_.size(); ++instance) {
204-
c->rho_mult_[instance] /= model::materials[c->material(instance)]->density_gpcc();
204+
c->rho_mult_[instance] /=
205+
model::materials[c->material(instance)]->density_gpcc();
205206
}
206207
}
207208
}

tests/regression_tests/lattice_distribrho/__init__.py

Whitespace-only changes.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version='1.0' encoding='utf-8'?>
2+
<model>
3+
<materials>
4+
<material id="1" name="UO2" depletable="true">
5+
<density value="10.0" units="g/cm3"/>
6+
<nuclide name="U235" ao="1.0"/>
7+
<nuclide name="O16" ao="2.0"/>
8+
</material>
9+
<material id="2" name="light water">
10+
<density value="1.0" units="g/cm3"/>
11+
<nuclide name="H1" ao="2.0"/>
12+
<nuclide name="O16" ao="1.0"/>
13+
<sab name="c_H_in_H2O"/>
14+
</material>
15+
</materials>
16+
<geometry>
17+
<cell id="1" material="1" region="-1" density="10.0 20.0 10.0 20.0" universe="1"/>
18+
<cell id="2" material="2" region="1" universe="1"/>
19+
<cell id="3" fill="2" region="2 -3 4 -5" universe="3"/>
20+
<lattice id="2">
21+
<pitch>1.0 1.0</pitch>
22+
<dimension>2 2</dimension>
23+
<lower_left>-1.0 -1.0</lower_left>
24+
<universes>
25+
1 1
26+
1 1 </universes>
27+
</lattice>
28+
<surface id="1" type="z-cylinder" coeffs="0.0 0.0 0.4"/>
29+
<surface id="2" name="minimum x" type="x-plane" boundary="reflective" coeffs="-1.0"/>
30+
<surface id="3" name="maximum x" type="x-plane" boundary="reflective" coeffs="1.0"/>
31+
<surface id="4" name="minimum y" type="y-plane" boundary="reflective" coeffs="-1.0"/>
32+
<surface id="5" name="maximum y" type="y-plane" boundary="reflective" coeffs="1.0"/>
33+
</geometry>
34+
<settings>
35+
<run_mode>eigenvalue</run_mode>
36+
<particles>1000</particles>
37+
<batches>10</batches>
38+
<inactive>5</inactive>
39+
</settings>
40+
</model>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
k-combined:
2+
1.904471E+00 5.255549E-03
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import openmc
2+
import pytest
3+
4+
from tests.testing_harness import PyAPITestHarness
5+
6+
@pytest.fixture
7+
def model():
8+
model = openmc.model.Model()
9+
10+
uo2 = openmc.Material(name='UO2')
11+
uo2.set_density('g/cm3', 10.0)
12+
uo2.add_nuclide('U235', 1.0)
13+
uo2.add_nuclide('O16', 2.0)
14+
water = openmc.Material(name='light water')
15+
water.add_nuclide('H1', 2.0)
16+
water.add_nuclide('O16', 1.0)
17+
water.set_density('g/cm3', 1.0)
18+
water.add_s_alpha_beta('c_H_in_H2O')
19+
model.materials.extend([uo2, water])
20+
21+
cyl = openmc.ZCylinder(r=0.4)
22+
pin = openmc.model.pin([cyl], [uo2, water])
23+
d = 1.0
24+
25+
lattice = openmc.RectLattice()
26+
lattice.lower_left = (-d, -d)
27+
lattice.pitch = (d, d)
28+
lattice.universes = [[pin, pin],
29+
[pin, pin]]
30+
box = openmc.model.RectangularPrism(2.0 * d, 2.0 * d, origin=(0.0,0.0), boundary_type='reflective')
31+
32+
pin.cells[1].density = [10.0, 20.0, 10.0, 20.0]
33+
34+
model.geometry = openmc.Geometry([openmc.Cell(fill=lattice, region = -box)])
35+
model.geometry.merge_surfaces = True
36+
37+
model.settings.batches = 10
38+
model.settings.inactive = 5
39+
model.settings.particles = 1000
40+
41+
return model
42+
43+
def test_lattice_checkerboard(model):
44+
harness = PyAPITestHarness('statepoint.10.h5', model)
45+
harness.main()

0 commit comments

Comments
 (0)