OpenMC/tests/unit_tests/test_photon_heating.py
Paul Romano 4943fa3630
Avoid negative heating values during pair production and bremsstrahlung (#3426)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
2025-06-05 10:45:49 -05:00

30 lines
977 B
Python

import openmc
def test_negative_positron_heating():
m = openmc.Material()
m.add_element('Li', 1.0)
m.set_density('g/cm3', 10.0)
surf = openmc.Sphere(r=100.0, boundary_type='reflective')
cell = openmc.Cell(fill=m, region=-surf)
model = openmc.Model()
model.geometry = openmc.Geometry([cell])
model.settings.run_mode = 'fixed source'
model.settings.source = openmc.IndependentSource(
space=openmc.stats.Point(),
energy=openmc.stats.Discrete([5.0e6], [1.0]),
particle='photon',
)
model.settings.particles = 7
model.settings.batches = 1
model.settings.electron_treatment = 'led'
model.settings.seed = 513836
tally = openmc.Tally()
tally.filters = [openmc.ParticleFilter(['photon', 'electron', 'positron'])]
tally.scores = ['heating']
model.tallies = openmc.Tallies([tally])
model.run(apply_tally_results=True)
assert (tally.mean >= 0.0).all(), "Negative heating detected"