mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-21 14:35:27 -04:00
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
#!/usr/bin/env python
|
|
|
|
import pytest
|
|
|
|
from openmc import Material
|
|
from openmc.data import NATURAL_ABUNDANCE, atomic_mass
|
|
|
|
|
|
def test_element_wo():
|
|
# This test doesn't require an OpenMC run. We just need to make sure the
|
|
# element.expand() method expands elements with the proper nuclide
|
|
# compositions.
|
|
|
|
h_am = (NATURAL_ABUNDANCE['H1'] * atomic_mass('H1') +
|
|
NATURAL_ABUNDANCE['H2'] * atomic_mass('H2'))
|
|
o_am = (NATURAL_ABUNDANCE['O17'] * atomic_mass('O17') +
|
|
(NATURAL_ABUNDANCE['O16'] + NATURAL_ABUNDANCE['O18'])
|
|
* atomic_mass('O16'))
|
|
water_am = 2 * h_am + o_am
|
|
|
|
water = Material()
|
|
water.add_element('O', o_am / water_am, 'wo')
|
|
water.add_element('H', 2 * h_am / water_am, 'wo')
|
|
densities = water.get_nuclide_densities()
|
|
|
|
for nuc in densities.keys():
|
|
assert nuc in ('H1', 'H2', 'O16', 'O17')
|
|
|
|
if nuc in ('H1', 'H2'):
|
|
val = 2 * NATURAL_ABUNDANCE[nuc] * atomic_mass(nuc) / water_am
|
|
assert densities[nuc][1] == pytest.approx(val)
|
|
if nuc == 'O16':
|
|
val = (NATURAL_ABUNDANCE[nuc] + NATURAL_ABUNDANCE['O18']) \
|
|
* atomic_mass(nuc) / water_am
|
|
assert densities[nuc][1] == pytest.approx(val)
|
|
if nuc == 'O17':
|
|
val = NATURAL_ABUNDANCE[nuc] * atomic_mass(nuc) / water_am
|
|
assert densities[nuc][1] == pytest.approx(val)
|