mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 06:05:58 -04:00
Update unit tests
This commit is contained in:
parent
0bd520287d
commit
4754d7fd40
2 changed files with 42 additions and 17 deletions
|
|
@ -1012,9 +1012,12 @@ class RectLattice(Lattice):
|
|||
sub_universe = sub_cell.fill
|
||||
|
||||
try:
|
||||
sub_neighbors = [pattern[0][0], pattern[0][1],
|
||||
if strategy == "lns":
|
||||
sub_neighbors = [pattern[0][0], pattern[0][1],
|
||||
pattern[0][2], pattern[1][0], pattern[1][2],
|
||||
pattern[2][0], pattern[2][1], pattern[2][2]]
|
||||
elif strategy == "degenerate":
|
||||
sub_neighbors = []
|
||||
sub_universe.discretize(strategy,
|
||||
rotate_universe_with_neighbors,
|
||||
universes_to_ignore,
|
||||
|
|
@ -1041,7 +1044,8 @@ class RectLattice(Lattice):
|
|||
cell.fill = material_clone
|
||||
|
||||
# Build a symmetric universe for the transposed lattices
|
||||
if any(pattern_data['transpositions']):
|
||||
if rotate_universe_with_neighbors and\
|
||||
any(pattern_data['transpositions']):
|
||||
sym_universe = new_universe.clone(clone_materials=False,
|
||||
clone_regions=False)
|
||||
for cell_id, sub_cell in sym_universe.cells.items():
|
||||
|
|
|
|||
|
|
@ -52,6 +52,11 @@ def test_discretization_lns(rlat2):
|
|||
rlat_clone = rlat2.clone()
|
||||
rlat_clone.discretize(strategy="lns")
|
||||
|
||||
assert rlat_clone.get_universe((0, 2)) == rlat_clone.get_universe((2, 2))
|
||||
|
||||
rlat_clone = rlat2.clone()
|
||||
rlat_clone.discretize(strategy="lns", rotate_universe_with_neighbors=True)
|
||||
|
||||
assert rlat_clone.get_universe((0, 2)) == \
|
||||
next(iter(rlat_clone.get_universe((2, 2)).cells.values())).fill
|
||||
|
||||
|
|
@ -61,15 +66,20 @@ def test_discretization_lns_using_names(rlat2):
|
|||
rlat_clone = rlat2.clone()
|
||||
rlat_clone.discretize(strategy="lns", attribute="name")
|
||||
|
||||
assert rlat_clone.get_universe((0, 2)) == \
|
||||
rlat_clone.get_universe((2, 2))
|
||||
assert rlat_clone.get_universe((0, 2)) == rlat_clone.get_universe((2, 2))
|
||||
|
||||
rlat_clone = rlat2.clone()
|
||||
rlat_clone.get_universe((0, 1)).name="u1"
|
||||
rlat_clone.get_universe((1, 0)).name="u1"
|
||||
rlat_clone.discretize(strategy="lns", attribute="name")
|
||||
|
||||
assert rlat_clone.get_universe((0, 2)) == \
|
||||
next(iter(rlat_clone.get_universe((2, 2)).cells.values())).fill
|
||||
assert rlat_clone.get_universe((0, 2)) == rlat_clone.get_universe((2, 0))
|
||||
assert rlat_clone.get_universe((2, 2)) == rlat_clone.get_universe((0, 0))
|
||||
assert rlat_clone.get_universe((0, 2)) == rlat_clone.get_universe((2, 2))
|
||||
assert rlat_clone.get_universe((1, 2)) == rlat_clone.get_universe((1, 0))
|
||||
assert rlat_clone.get_universe((2, 1)) == rlat_clone.get_universe((0, 1))
|
||||
assert rlat_clone.get_universe((1, 2)) == rlat_clone.get_universe((0, 1))
|
||||
assert rlat_clone.get_universe((0, 0)) != rlat_clone.get_universe((0, 1))
|
||||
|
||||
|
||||
def test_discretization_lns_with_neighbor_list(rlat2):
|
||||
|
|
@ -80,10 +90,8 @@ def test_discretization_lns_with_neighbor_list(rlat2):
|
|||
rlat_clone.discretize(strategy="lns",
|
||||
lattice_neighbors=[u1.id,u1.id,u2.id,u1.id,u2.id,u2.id,u1.id,u2.id])
|
||||
|
||||
assert rlat_clone.get_universe((0, 1)) == \
|
||||
next(iter(rlat_clone.get_universe((0, 0)).cells.values())).fill
|
||||
assert rlat_clone.get_universe((1, 1)) != \
|
||||
next(iter(rlat_clone.get_universe((0, 0)).cells.values())).fill
|
||||
assert rlat_clone.get_universe((0, 1)) == rlat_clone.get_universe((0, 0))
|
||||
assert rlat_clone.get_universe((1, 1)) != rlat_clone.get_universe((0, 0))
|
||||
|
||||
|
||||
def test_discretization_lns_nested_lattices(rlat2):
|
||||
|
|
@ -101,26 +109,39 @@ def test_discretization_lns_nested_lattices(rlat2):
|
|||
main_lattice.pitch = (20, 20)
|
||||
main_lattice.universes = [[u1,u1,u1], [u2,u1,u2], [u1,u1,u2]]
|
||||
|
||||
main_lattice_clone = main_lattice.clone()
|
||||
main_lattice.discretize(strategy="lns")
|
||||
|
||||
# Both involved a transposition from (2,0) neighbor pattern
|
||||
assert next(iter(main_lattice.get_universe((0, 0)).cells.values())).fill\
|
||||
== next(iter(main_lattice.get_universe((2, 2)).cells.values())).fill
|
||||
assert main_lattice.get_universe((0, 0)) == \
|
||||
main_lattice.get_universe((2, 2))
|
||||
|
||||
# Transposition creates a clone so the two universes cant match
|
||||
assert main_lattice.get_universe((2, 0)) != \
|
||||
next(iter(main_lattice.get_universe((2, 2)).cells.values())).fill
|
||||
main_lattice.get_universe((2, 2))
|
||||
|
||||
# Different neighbor pattern
|
||||
assert main_lattice.get_universe((1, 1)) != \
|
||||
next(iter(main_lattice.get_universe((0, 0)).cells.values())).fill
|
||||
main_lattice.get_universe((0, 0))
|
||||
|
||||
# Look inside inner lattices
|
||||
for i in range(3):
|
||||
for j in range(3):
|
||||
assert next(iter(main_lattice.get_universe((0, 2)).cells.values())\
|
||||
).fill.get_universe((i, j)).name == \
|
||||
next(iter(next(iter(main_lattice.get_universe((2, 2)).cells\
|
||||
.values())).fill.cells.values())).fill.get_universe((2-j,
|
||||
2-i)).name
|
||||
next(iter(main_lattice.get_universe((2, 2)).cells.values(
|
||||
))).fill.get_universe((i, j)).name
|
||||
|
||||
# Test when rotating the sublattices with their neighbors
|
||||
main_lattice_clone.discretize(strategy="lns",
|
||||
rotate_universe_with_neighbors=True)
|
||||
|
||||
# Look inside inner lattices
|
||||
for i in range(3):
|
||||
for j in range(3):
|
||||
assert next(iter(main_lattice_clone.get_universe((0, 2)
|
||||
).cells.values())).fill.get_universe((i, j)).name == \
|
||||
next(iter(next(iter(main_lattice_clone.get_universe((2, 2)
|
||||
).cells.values())).fill.cells.values())).fill.get_universe(
|
||||
(2-j, 2-i)).name
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue