diff --git a/openmc/settings.py b/openmc/settings.py
index 3f1cbe2c3..8ea110be1 100644
--- a/openmc/settings.py
+++ b/openmc/settings.py
@@ -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()
diff --git a/tests/regression_tests/trigger_statepoint_restart/inputs_true.dat b/tests/regression_tests/trigger_statepoint_restart/inputs_true.dat
index 26890f9f8..51ed9ee61 100644
--- a/tests/regression_tests/trigger_statepoint_restart/inputs_true.dat
+++ b/tests/regression_tests/trigger_statepoint_restart/inputs_true.dat
@@ -17,8 +17,8 @@
10
5
+ 0.004
std_dev
- 0.002
true
diff --git a/tests/regression_tests/trigger_statepoint_restart/results_true.dat b/tests/regression_tests/trigger_statepoint_restart/results_true.dat
index dc5ed9831..1fdfb6444 100644
--- a/tests/regression_tests/trigger_statepoint_restart/results_true.dat
+++ b/tests/regression_tests/trigger_statepoint_restart/results_true.dat
@@ -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
diff --git a/tests/regression_tests/trigger_statepoint_restart/test.py b/tests/regression_tests/trigger_statepoint_restart/test.py
index 67ba59807..ba99c94ce 100644
--- a/tests/regression_tests/trigger_statepoint_restart/test.py
+++ b/tests/regression_tests/trigger_statepoint_restart/test.py
@@ -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()