From 141959dab4e9c52af5691fdaee4971366f15a98c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 2 Jul 2019 14:33:46 -0500 Subject: [PATCH] Store k and uncertainty through depletion Useful for benchmarking and other code to code comparisons. The data is pulled right from the C api but now the uncertainties are preserved and written to the depletion results file --- openmc/deplete/operator.py | 3 ++- openmc/deplete/results.py | 4 ++-- openmc/deplete/results_list.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/openmc/deplete/operator.py b/openmc/deplete/operator.py index ffbffbc73..21c96b047 100644 --- a/openmc/deplete/operator.py +++ b/openmc/deplete/operator.py @@ -525,7 +525,8 @@ class Operator(TransportOperator): rates = self.reaction_rates rates[:, :, :] = 0.0 - k_combined = openmc.capi.keff()[0] + # Get k and uncertainty + k_combined = openmc.capi.keff() # Extract tally bins materials = self.burnable_mats diff --git a/openmc/deplete/results.py b/openmc/deplete/results.py index 6170a4464..b0dc4f3bc 100644 --- a/openmc/deplete/results.py +++ b/openmc/deplete/results.py @@ -237,8 +237,8 @@ class Results(object): chunks=(1, 1, n_mats, n_nuc_rxn, n_rxn), dtype='float64') - handle.create_dataset("eigenvalues", (1, n_stages), - maxshape=(None, n_stages), dtype='float64') + handle.create_dataset("eigenvalues", (1, n_stages, 2), + maxshape=(None, n_stages, 2), dtype='float64') handle.create_dataset("time", (1, 2), maxshape=(None, 2), dtype='float64') diff --git a/openmc/deplete/results_list.py b/openmc/deplete/results_list.py index 9fb6eec86..26570704e 100644 --- a/openmc/deplete/results_list.py +++ b/openmc/deplete/results_list.py @@ -95,7 +95,7 @@ class ResultsList(list): """ time = np.empty_like(self, dtype=float) - eigenvalue = np.empty_like(self, dtype=float) + eigenvalue = np.empty((len(self), 2), dtype=float) # Get time/eigenvalue at each point for i, result in enumerate(self):