Reduce no of batches for trigger from ~47 to ~13 to try to avoid test failures due to numerical differences in platform libraries

This commit is contained in:
alex-lyons 2020-03-19 17:50:45 +00:00 committed by Paul Romano
parent bd71ac0588
commit f2bc95afa5
4 changed files with 12 additions and 10 deletions

View file

@ -813,10 +813,9 @@ class Settings:
def _create_keff_trigger_subelement(self, root):
if self._keff_trigger is not None:
element = ET.SubElement(root, "keff_trigger")
for key in self._keff_trigger:
for key, value in sorted(self._keff_trigger.items()):
subelement = ET.SubElement(element, key)
subelement.text = str(self._keff_trigger[key]).lower()
subelement.text = str(value).lower()
def _create_energy_mode_subelement(self, root):
if self._energy_mode is not None:
@ -839,8 +838,7 @@ class Settings:
def _create_output_subelement(self, root):
if self._output is not None:
element = ET.SubElement(root, "output")
for key, value in self._output.items():
for key, value in sorted(self._output.items()):
subelement = ET.SubElement(element, key)
if key in ('summary', 'tallies'):
subelement.text = str(value).lower()

View file

@ -17,8 +17,8 @@
<batches>10</batches>
<inactive>5</inactive>
<keff_trigger>
<threshold>0.004</threshold>
<type>std_dev</type>
<threshold>0.002</threshold>
</keff_trigger>
<trigger>
<active>true</active>

View file

@ -1,5 +1,5 @@
k-combined:
3.040704E-01 1.976825E-03
2.916922E-01 3.293799E-03
tally 1:
3.389935E+02
2.743454E+03
6.184423E+01
4.789617E+02

View file

@ -28,7 +28,9 @@ def model():
settings.batches = 10
settings.inactive = 5
settings.particles = 200
settings.keff_trigger = {'type': 'std_dev', 'threshold': 0.002}
# Choose a sufficiently low threshold to trigger after more than 10 batches.
# 0.004 seems to take 13 batches.
settings.keff_trigger = {'type': 'std_dev', 'threshold': 0.004}
settings.trigger_max_batches = 1000
settings.trigger_batch_interval = 1
settings.trigger_active = True
@ -85,11 +87,13 @@ class TriggerStatepointRestartTestHarness(PyAPITestHarness):
# First non-restart run
spfile = self._model.run(**args)
sp_batchno_1 = 0
print('Last sp file: %s' % spfile)
assert spfile
with openmc.StatePoint(spfile) as sp:
sp_batchno_1 = sp.current_batch
k_combined_1 = sp.k_combined
assert sp_batchno_1 > 10
print('Last batch no = %d' % sp_batchno_1)
self._write_inputs(self._get_inputs())
self._compare_inputs()
self._test_output_created()