From f62059232ba71c1f866db81011e02bc027ca9083 Mon Sep 17 00:00:00 2001 From: GuySten Date: Tue, 12 Aug 2025 19:12:15 +0300 Subject: [PATCH 1/2] store chain file during depletion --- openmc/config.py | 12 +- openmc/data/data.py | 17 +- openmc/data/decay.py | 59 +- openmc/deplete/abc.py | 3 +- openmc/deplete/chain.py | 47 +- openmc/deplete/nuclide.py | 138 +++ openmc/deplete/results.py | 8 +- openmc/deplete/stepresult.py | 22 +- openmc/material.py | 21 +- openmc/stats/univariate.py | 121 +- tests/dummy_operator.py | 3 + .../test_reference_coupled_days.h5 | Bin 36048 -> 41064 bytes .../test_reference_coupled_hours.h5 | Bin 36048 -> 41064 bytes .../test_reference_coupled_minutes.h5 | Bin 36048 -> 41064 bytes .../test_reference_coupled_months.h5 | Bin 36048 -> 41064 bytes .../test_reference_fission_q.h5 | Bin 36048 -> 41064 bytes .../test_reference_source_rate.h5 | Bin 36048 -> 41064 bytes .../ref_depletion_with_ext_source.h5 | Bin 37328 -> 42344 bytes .../ref_depletion_with_feed.h5 | Bin 37328 -> 42344 bytes .../ref_depletion_with_removal.h5 | Bin 37328 -> 42344 bytes .../ref_depletion_with_transfer.h5 | Bin 37328 -> 42344 bytes .../ref_no_depletion_only_feed.h5 | Bin 37328 -> 42344 bytes .../ref_no_depletion_only_removal.h5 | Bin 37328 -> 42344 bytes .../ref_no_depletion_with_ext_source.h5 | Bin 37328 -> 42344 bytes .../ref_no_depletion_with_transfer.h5 | Bin 37328 -> 42344 bytes .../last_step_reference_materials.xml | 1020 ++++++++--------- .../deplete_with_transport/test_reference.h5 | Bin 163736 -> 168752 bytes tests/unit_tests/test_config.py | 7 - tests/unit_tests/test_data_misc.py | 15 +- tests/unit_tests/test_deplete_integrator.py | 2 + 30 files changed, 908 insertions(+), 587 deletions(-) diff --git a/openmc/config.py b/openmc/config.py index d61fb2d31e6..874994f39ba 100644 --- a/openmc/config.py +++ b/openmc/config.py @@ -20,7 +20,6 @@ from typing import Any, Dict, Iterator from openmc.data import DataLibrary -from openmc.data.decay import _DECAY_ENERGY, _DECAY_PHOTON_ENERGY __all__ = ["config"] @@ -76,9 +75,6 @@ def __delitem__(self, key: str): env_var = self._PATH_KEYS[key] if env_var in os.environ: del os.environ[env_var] - if key == 'chain_file': - _DECAY_PHOTON_ENERGY.clear() - _DECAY_ENERGY.clear() def __setitem__(self, key: str, value: Any): """Set a configuration key and its corresponding value. @@ -102,9 +98,6 @@ def __setitem__(self, key: str, value: Any): self._mapping[key] = stored_path os.environ[self._PATH_KEYS[key]] = str(stored_path) - if key == 'chain_file': - _DECAY_PHOTON_ENERGY.clear() - _DECAY_ENERGY.clear() if not stored_path.exists(): warnings.warn(f"Path '{stored_path}' does not exist.", UserWarning) @@ -168,7 +161,10 @@ def patch(self, key: str, value: Any): """ previous_value = self.get(key) - self[key] = value + if value is not None: + self[key] = value + else: + del self[key] try: yield finally: diff --git a/openmc/data/data.py b/openmc/data/data.py index 2142a5dc905..f20784e0800 100644 --- a/openmc/data/data.py +++ b/openmc/data/data.py @@ -6,6 +6,8 @@ from math import sqrt, log from warnings import warn +from ..exceptions import DataError + # Isotopic abundances from Meija J, Coplen T B, et al, "Isotopic compositions # of the elements 2013 (IUPAC Technical Report)", Pure. Appl. Chem. 88 (3), # pp. 293-306 (2013). The "representative isotopic abundance" values from @@ -363,7 +365,7 @@ def atomic_weight(element): raise ValueError(f"No naturally-occurring isotopes for element '{element}'.") -def half_life(isotope): +def half_life(isotope, chain_file = None): """Return half-life of isotope in seconds or None if isotope is stable Half-life values are from the `ENDF/B-VIII.0 decay sublibrary @@ -382,6 +384,15 @@ def half_life(isotope): Half-life of isotope in [s] """ + from openmc.deplete.chain import _get_chain + + try: + chain = _get_chain(chain_file) + if isotope in chain: + return chain[isotope].half_life + except DataError: + pass + global _HALF_LIFE if not _HALF_LIFE: # Load ENDF/B-VIII.0 data from JSON file @@ -391,7 +402,7 @@ def half_life(isotope): return _HALF_LIFE.get(isotope.lower()) -def decay_constant(isotope): +def decay_constant(isotope, chain_file = None): """Return decay constant of isotope in [s^-1] Decay constants are based on half-life values from the @@ -415,7 +426,7 @@ def decay_constant(isotope): openmc.data.half_life """ - t = half_life(isotope) + t = half_life(isotope, chain_file = chain_file) return _LOG_TWO / t if t else 0.0 diff --git a/openmc/data/decay.py b/openmc/data/decay.py index 66acb2212d8..4c3be31f265 100644 --- a/openmc/data/decay.py +++ b/openmc/data/decay.py @@ -575,10 +575,7 @@ def sources(self): return self._sources -_DECAY_PHOTON_ENERGY = {} - - -def decay_photon_energy(nuclide: str) -> Univariate | None: +def decay_photon_energy(nuclide: str, chain_file = None) -> Univariate | None: """Get photon energy distribution resulting from the decay of a nuclide This function relies on data stored in a depletion chain. Before calling it @@ -591,6 +588,8 @@ def decay_photon_energy(nuclide: str) -> Univariate | None: ---------- nuclide : str Name of nuclide, e.g., 'Co58' + chain_file : str or path-like + Chain file to get decay photon energy from. Returns ------- @@ -599,32 +598,20 @@ def decay_photon_energy(nuclide: str) -> Univariate | None: if no photon source exists. Note that the probabilities represent intensities, given as [Bq]. """ - if not _DECAY_PHOTON_ENERGY: - chain_file = openmc.config.get('chain_file') - if chain_file is None: + from openmc.deplete.chain import _get_chain + + chain = _get_chain(chain_file) + if chain is None: raise DataError( "A depletion chain file must be specified with " "openmc.config['chain_file'] in order to load decay data." ) - - from openmc.deplete import Chain - chain = Chain.from_xml(chain_file) - for nuc in chain.nuclides: - if 'photon' in nuc.sources: - _DECAY_PHOTON_ENERGY[nuc.name] = nuc.sources['photon'] - - # If the chain file contained no sources at all, warn the user - if not _DECAY_PHOTON_ENERGY: - warn(f"Chain file '{chain_file}' does not have any decay photon " - "sources listed.") - - return _DECAY_PHOTON_ENERGY.get(nuclide) + if nuclide in chain: + nuclide = chain[nuclide] + return nuclide.sources.get('photon') -_DECAY_ENERGY = {} - - -def decay_energy(nuclide: str): +def decay_energy(nuclide: str, chain_file = None): """Get decay energy value resulting from the decay of a nuclide This function relies on data stored in a depletion chain. Before calling it @@ -637,6 +624,8 @@ def decay_energy(nuclide: str): ---------- nuclide : str Name of nuclide, e.g., 'H3' + chain_file : str or path-like + Chain file to get decay energy from. Returns ------- @@ -644,24 +633,18 @@ def decay_energy(nuclide: str): Decay energy of nuclide in [eV]. If the nuclide is stable, a value of 0.0 is returned. """ - if not _DECAY_ENERGY: - chain_file = openmc.config.get('chain_file') - if chain_file is None: + from openmc.deplete.chain import _get_chain + + chain = _get_chain(chain_file) + if chain is None: raise DataError( "A depletion chain file must be specified with " "openmc.config['chain_file'] in order to load decay data." ) + if nuclide in chain: + nuclide = chain[nuclide] + return nuclide.decay_energy - from openmc.deplete import Chain - chain = Chain.from_xml(chain_file) - for nuc in chain.nuclides: - if nuc.decay_energy: - _DECAY_ENERGY[nuc.name] = nuc.decay_energy - - # If the chain file contained no decay energy, warn the user - if not _DECAY_ENERGY: - warn(f"Chain file '{chain_file}' does not have any decay energy.") - - return _DECAY_ENERGY.get(nuclide, 0.0) + return 0.0 diff --git a/openmc/deplete/abc.py b/openmc/deplete/abc.py index e6d4c151273..7a5a69f91ba 100644 --- a/openmc/deplete/abc.py +++ b/openmc/deplete/abc.py @@ -19,7 +19,7 @@ import numpy as np from uncertainties import ufloat -from openmc.checkvalue import check_type, check_greater_than, PathLike +from openmc.checkvalue import check_type, check_greater_than, check_value, PathLike from openmc.mpi import comm from openmc.utility_funcs import change_directory from openmc import Material @@ -155,6 +155,7 @@ def __init__(self, chain_file=None, fission_q=None, prev_results=None): self.prev_res = None else: check_type("previous results", prev_results, Results) + check_value("previous results chain file", prev_results.chain, [self.chain]) self.prev_res = prev_results @abstractmethod diff --git a/openmc/deplete/chain.py b/openmc/deplete/chain.py index f1a23317fb9..f0892cf7940 100644 --- a/openmc/deplete/chain.py +++ b/openmc/deplete/chain.py @@ -22,6 +22,7 @@ from openmc.data import gnds_name, zam from openmc.exceptions import DataError from .nuclide import FissionYieldDistribution, Nuclide +from ..mixin import EqualityMixin from .._xml import get_text import openmc.data @@ -229,7 +230,7 @@ def replace_missing_fpy(actinide, fpy_data, decay_data): return 'U235' -class Chain: +class Chain(EqualityMixin): """Full representation of a depletion chain. A depletion chain can be created by using the :meth:`from_endf` method which @@ -580,6 +581,50 @@ def export_to_xml(self, filename): tree = ET.ElementTree(root_elem) tree.write(str(filename), encoding='utf-8', pretty_print=True) + + @classmethod + def from_hdf5(cls, group, fission_q=None): + """Reads a depletion chain XML file. + + Parameters + ---------- + group : str + The hdf5 group to read depletion chain from. + fission_q : dict, optional + Dictionary of nuclides and their fission Q values [eV]. + If not given, values will be pulled from ``filename`` + + """ + cgroup = group["depletion_chain"] + if fission_q is not None: + check_type("fission_q", fission_q, Mapping) + else: + fission_q = {} + if "path" in cgroup.attrs: + path = Path(__file__).resolve().parent.joinpath(cgroup.attrs["path"]) + return Chain.from_xml(path, fission_q) + else: + chain = cls() + nuc_group = cgroup["nuclides"] + for name, ngroup in nuc_group.items(): + this_q = fission_q.get(name) + nuc = Nuclide.from_hdf5(nuc_group, name, this_q) + chain.add_nuclide(nuc) + + def to_hdf5(self, group): + cgroup = group.create_group("depletion_chain") + if hasattr(self, "_xml_path"): + path = Path(self._xml_path) + if openmc.config["resolve_paths"]: + path = path.resolve() + else: + path = path.relative_to(Path(__file__).resolve().parent, walk_up=True) + cgroup.attrs["path"] = str(path) + else: + nuc_group = cgroup.create_group("nuclides") + for nuclide in self.nuclides: + nuclide.to_hdf5(nuc_group) + def get_default_fission_yields(self): """Return fission yields at lowest incident neutron energy diff --git a/openmc/deplete/nuclide.py b/openmc/deplete/nuclide.py index 95881483474..d2f0c4691f0 100644 --- a/openmc/deplete/nuclide.py +++ b/openmc/deplete/nuclide.py @@ -343,6 +343,125 @@ def to_xml_element(self): self.yield_data.to_xml_element(fpy_elem) return elem + + @classmethod + def from_hdf5(cls, group, name, fission_q=None): + """Read nuclide from a hdf5 group. + + Parameters + ---------- + group : h5py.Group + hdf5 group to read nuclide data from + fission_q : None or float + User-supplied fission Q value [eV]. + Will be read from the group if not given + + Returns + ------- + nuc : openmc.deplete.Nuclide + Instance of a nuclide + + """ + nuc = cls() + nuc.name = name + + # Check for half-life + if "decay" in group[name]: + nuc.half_life = float(group[name]["decay"].attrs["half_life"]) + nuc.decay_energy = float(group[name]["decay"].attrs.get("decay_energy", 0.0)) + + # Check for decay paths + for dgroup in group[name]["decay"].values(): + d_type = dgroup.attrs["type"] + target = dgroup.attrs.get("target") + if target is not None and target.lower() == "nothing": + target = None + branching_ratio = float(dgroup.attrs.get("branching_ratio", 1.0)) + nuc.decay_modes.append(DecayTuple(d_type, target, branching_ratio)) + + # Check for sources + if "sources" in group[name]: + for particle, sgroup in group[name]["sources"].items(): + distribution = Univariate.from_hdf5(sgroup) + nuc.sources[particle] = distribution + + # Check for reaction paths + if "reactions" in group[name]: + for rgroup in group[name]["reactions"].values(): + r_type = rgroup.attrs["type"] + Q = rgroup.attrs.get("Q", 0.0) + branching_ratio = rgroup.attrs.get("branching_ratio", 1.0) + + # If the type is not fission, get target and Q value, otherwise + # just set null values + if r_type != 'fission': + target = rgroup.attrs.get("target") + if target is not None and target.lower() == "nothing": + target = None + else: + target = None + if fission_q is not None: + Q = fission_q + + # Append reaction + nuc.reactions.append(ReactionTuple( + r_type, target, Q, branching_ratio)) + + if "neutron_fission_yields" in group[name]: + parent = group[name]["neutron_fission_yields"].attrs.get("parent") + if parent is not None: + if "neutron_fission_yields" not in group[parent]: + raise ValueError( + "Fission product yields for {0} borrow from {1}, but {1} is" + " not present in the chain file or has no yields.".format( + name, parent + )) + nuc.yield_data = FissionYieldDistribution.from_hdf5(group[parent]["neutron_fission_yields"]) + nuc._fpy = parent + else: + nuc.yield_data = FissionYieldDistribution.from_hdf5(group[name]["neutron_fission_yields"]) + return nuc + + def to_hdf5(self, group): + """Write nuclide to hdf5.""" + group = group.create_group(self.name) + + if self.half_life is not None: + dec_group = group.create_group("decay") + dec_group.attrs['half_life'] = self.half_life + dec_group.attrs['decay_energy'] = self.decay_energy + + for i, (mode_type, daughter, br) in enumerate(self.decay_modes): + mgroup = dec_group.create_group(f"mode_{i:01d}") + mgroup.attrs["type"] = mode_type + if daughter: + mgroup.attrs["target"] = daughter + mgroup.attrs["branching_ratio"] = br + + # Write decay sources + if self.sources: + sources_group = group.create_group("sources") + for particle, source in self.sources.items(): + pgroup = sources_group.create_group(particle) + source.to_hdf5(pgroup) + + reac_group = group.create_group("reactions") + for i, (rx, daughter, Q, br) in enumerate(self.reactions): + rgroup = reac_group.create_group(f"reaction_{i:03d}") + rgroup.attrs["type"] = rx + rgroup.attrs["Q"] = Q + if daughter is not None: + rgroup.attrs["target"] = daughter + if br != 1.0: + rgroup.attrs["branching_ratio"] = br + + if self.yield_data: + nfy_group = group.create_group("neutron_fission_yields") + if hasattr(self, '_fpy'): + # Check for link to other nuclide data + nfy_group.attrs["parent"] = self._fpy + else: + self.yield_data.to_hdf5(nfy_group) def validate(self, strict=True, quiet=False, tolerance=1e-4): """Search for possible inconsistencies @@ -554,6 +673,25 @@ def to_xml_element(self, root): product_elem.text = " ".join(map(str, yield_obj.products)) data_elem = ET.SubElement(yield_element, "data") data_elem.text = " ".join(map(str, yield_obj.yields)) + + @classmethod + def from_hdf5(cls, group): + all_yields = {} + for egroup in group.values(): + energy = egroup.attrs["energy"] + products = egroup["products"][()] + yields = egroup["yields"][()] + # Get a map of products to their corresponding yield + all_yields[energy] = dict(zip(products, yields)) + + return cls(all_yields) + + def to_hdf5(self, group): + for energy, yield_obj in self.items(): + egroup = group.create_group(f"{energy}eV") + egroup.attrs["energy"] = energy + egroup.create_dataset("products", data = yield_obj.products) + egroup.create_dataset("yields", data = yield_obj.yields) def restrict_products(self, possible_products): """Return a new distribution with select products diff --git a/openmc/deplete/results.py b/openmc/deplete/results.py index 7427abd7353..294ed583511 100644 --- a/openmc/deplete/results.py +++ b/openmc/deplete/results.py @@ -2,11 +2,13 @@ import bisect import math from collections.abc import Iterable +from pathlib import Path from warnings import warn import h5py import numpy as np +from .chain import Chain from .stepresult import StepResult, VERSION_RESULTS import openmc.checkvalue as cv from openmc.data import atomic_mass, AVOGADRO @@ -69,6 +71,8 @@ def __init__(self, filename='depletion_results.h5'): with h5py.File(str(filename), "r") as fh: cv.check_filetype_version(fh, 'depletion results', VERSION_RESULTS[0]) + self.chain = Chain.from_hdf5(fh) + # Get number of results stored n = fh["number"][...].shape[0] @@ -149,7 +153,7 @@ def get_activity( # Evaluate activity for each depletion time for i, result in enumerate(self): times[i] = result.time[0] - activities[i] = result.get_material(mat_id).get_activity(units, by_nuclide, volume) + activities[i] = result.get_material(mat_id).get_activity(units, by_nuclide, volume, chain_file = self.chain) return times, activities @@ -268,7 +272,7 @@ def get_decay_heat( for i, result in enumerate(self): times[i] = result.time[0] decay_heat[i] = result.get_material(mat_id).get_decay_heat( - units, by_nuclide, volume) + units, by_nuclide, volume, chain_file = self.chain) return times, decay_heat diff --git a/openmc/deplete/stepresult.py b/openmc/deplete/stepresult.py index 7c86b86458c..a0014ebb260 100644 --- a/openmc/deplete/stepresult.py +++ b/openmc/deplete/stepresult.py @@ -12,6 +12,7 @@ import numpy as np import openmc +import openmc.checkvalue as cv from openmc.mpi import comm, MPI from openmc.checkvalue import PathLike from .reaction_rates import ReactionRates @@ -252,7 +253,7 @@ def export_to_hdf5(self, filename, step): """ # Write new file if first time step, else add to existing file - kwargs = {'mode': "w" if step == 0 else "a"} + kwargs = {'mode': "a"} if h5py.get_config().mpi and comm.size > 1: # Write results in parallel @@ -567,6 +568,25 @@ def save(op, x, op_results, t, source_rate, step_ind, proc_time=None, if not Path(path).is_file(): Path(path).parent.mkdir(parents=True, exist_ok=True) + + filename = str(path) + + if step_ind == 0: + # Write new file if first time step, else add to existing file + kwargs = {'mode': "w"} + + if h5py.get_config().mpi and comm.size > 1: + # Write results in parallel + kwargs['driver'] = 'mpio' + kwargs['comm'] = comm + with h5py.File(filename, **kwargs) as handle: + op.chain.to_hdf5(handle) + else: + # Only root process writes depletion chain + if comm.rank == 0: + with h5py.File(filename, **kwargs) as handle: + op.chain.to_hdf5(handle) + results.export_to_hdf5(path, step_ind) def transfer_volumes(self, model): diff --git a/openmc/material.py b/openmc/material.py index 0afe5b670cf..d20d5a74022 100644 --- a/openmc/material.py +++ b/openmc/material.py @@ -293,7 +293,8 @@ def get_decay_photon_energy( self, clip_tolerance: float = 1e-6, units: str = 'Bq', - volume: float | None = None + volume: float | None = None, + chain_file: str | Path | None = None, ) -> Univariate | None: r"""Return energy distribution of decay photons from unstable nuclides. @@ -309,6 +310,8 @@ def get_decay_photon_energy( volume : float, optional Volume of the material. If not passed, defaults to using the :attr:`Material.volume` attribute. + chain_file : str or path-like, optional. + Location of chain file to get decay constants from. Returns ------- @@ -332,7 +335,7 @@ def get_decay_photon_energy( dists = [] probs = [] for nuc, atoms_per_bcm in self.get_nuclide_atom_densities().items(): - source_per_atom = openmc.data.decay_photon_energy(nuc) + source_per_atom = openmc.data.decay_photon_energy(nuc, chain_file=chain_file) if source_per_atom is not None and atoms_per_bcm > 0.0: dists.append(source_per_atom) probs.append(1e24 * atoms_per_bcm * multiplier) @@ -1139,7 +1142,7 @@ def get_element_atom_densities(self, element: str | None = None) -> dict[str, fl def get_activity(self, units: str = 'Bq/cm3', by_nuclide: bool = False, - volume: float | None = None) -> dict[str, float] | float: + volume: float | None = None, chain_file: str | Path | None = None) -> dict[str, float] | float: """Returns the activity of the material or of each nuclide within. .. versionadded:: 0.13.1 @@ -1156,6 +1159,8 @@ def get_activity(self, units: str = 'Bq/cm3', by_nuclide: bool = False, volume : float, optional Volume of the material. If not passed, defaults to using the :attr:`Material.volume` attribute. + chain_file : str or path-like, optional. + Location of chain file to get decay constants from. .. versionadded:: 0.13.3 @@ -1188,13 +1193,13 @@ def get_activity(self, units: str = 'Bq/cm3', by_nuclide: bool = False, activity = {} for nuclide, atoms_per_bcm in self.get_nuclide_atom_densities().items(): - inv_seconds = openmc.data.decay_constant(nuclide) + inv_seconds = openmc.data.decay_constant(nuclide, chain_file = chain_file) activity[nuclide] = inv_seconds * 1e24 * atoms_per_bcm * multiplier return activity if by_nuclide else sum(activity.values()) def get_decay_heat(self, units: str = 'W', by_nuclide: bool = False, - volume: float | None = None) -> dict[str, float] | float: + volume: float | None = None, chain_file: str | Path | None = None) -> dict[str, float] | float: """Returns the decay heat of the material or for each nuclide in the material in units of [W], [W/g], [W/kg] or [W/cm3]. @@ -1212,6 +1217,8 @@ def get_decay_heat(self, units: str = 'W', by_nuclide: bool = False, volume : float, optional Volume of the material. If not passed, defaults to using the :attr:`Material.volume` attribute. + chain_file : str or path-like, optional. + Location of chain file to get decay constants from. .. versionadded:: 0.13.3 @@ -1237,8 +1244,8 @@ def get_decay_heat(self, units: str = 'W', by_nuclide: bool = False, decayheat = {} for nuclide, atoms_per_bcm in self.get_nuclide_atom_densities().items(): - decay_erg = openmc.data.decay_energy(nuclide) - inv_seconds = openmc.data.decay_constant(nuclide) + decay_erg = openmc.data.decay_energy(nuclide, chain_file=chain_file) + inv_seconds = openmc.data.decay_constant(nuclide, chain_file=chain_file) decay_erg *= openmc.data.JOULE_PER_EV decayheat[nuclide] = inv_seconds * decay_erg * 1e24 * atoms_per_bcm * multiplier diff --git a/openmc/stats/univariate.py b/openmc/stats/univariate.py index 28d5e87ef9e..47e88835fe8 100644 --- a/openmc/stats/univariate.py +++ b/openmc/stats/univariate.py @@ -31,6 +31,10 @@ class Univariate(EqualityMixin, ABC): specific probability distribution. """ + @abstractmethod + def to_hdf5(self, group): + return + @abstractmethod def to_xml_element(self, element_name): return '' @@ -64,6 +68,30 @@ def from_xml_element(cls, elem): return Legendre.from_xml_element(elem) elif distribution == 'mixture': return Mixture.from_xml_element(elem) + + @classmethod + @abstractmethod + def from_hdf5(cls, group): + distribution = group.attrs["type"] + if distribution == 'discrete': + return Discrete.from_hdf5(group) + elif distribution == 'uniform': + return Uniform.from_hdf5(group) + elif distribution == 'powerlaw': + return PowerLaw.from_hdf5(group) + elif distribution == 'maxwell': + return Maxwell.from_hdf5(group) + elif distribution == 'watt': + return Watt.from_hdf5(group) + elif distribution == 'normal': + return Normal.from_hdf5(group) + elif distribution == 'tabular': + return Tabular.from_hdf5(group) + elif distribution == 'legendre': + return Legendre.from_hdf5(group) + elif distribution == 'mixture': + return Mixture.from_hdf5(group) + @abstractmethod def sample(n_samples: int = 1, seed: int | None = None): @@ -244,6 +272,17 @@ def from_xml_element(cls, elem: ET.Element): p = params[len(params)//2:] return cls(x, p) + def to_hdf5(self, group): + group.attrs["type"] = "discrete" + group.create_dataset("parameters", data=np.r_[self.x,self.p]) + + @classmethod + def from_hdf5(cls, group): + params = group["parameters"][()] + x = params[:len(params)//2] + p = params[len(params)//2:] + return cls(x, p) + @classmethod def merge( cls, @@ -450,6 +489,14 @@ def from_xml_element(cls, elem: ET.Element): params = get_elem_list(elem, "parameters", float) return cls(*params) + def to_hdf5(self, group): + group.attrs["type"] = "uniform" + group.create_dataset("parameters", data=np.r_[self.a,self.b]) + + @classmethod + def from_hdf5(cls, group): + params = group["parameters"][()] + return cls(*params) class PowerLaw(Univariate): """Distribution with power law probability over a finite interval [a,b] @@ -558,7 +605,15 @@ def from_xml_element(cls, elem: ET.Element): """ params = get_elem_list(elem, "parameters", float) return cls(*params) - + + def to_hdf5(self, group): + group.attrs["type"] = "powerlaw" + group.create_dataset("parameters", data=np.r_[self.a,self.b,self.n]) + + @classmethod + def from_hdf5(cls, group): + params = group["parameters"][()] + return cls(*params) class Maxwell(Univariate): r"""Maxwellian distribution in energy. @@ -644,6 +699,14 @@ def from_xml_element(cls, elem: ET.Element): theta = float(get_text(elem, 'parameters')) return cls(theta) + def to_hdf5(self, group): + group.attrs["type"] = "maxwell" + group.attrs["theta"] = self.theta + + @classmethod + def from_hdf5(cls, group): + theta = group.attrs["theta"] + return cls(theta) class Watt(Univariate): r"""Watt fission energy spectrum. @@ -739,6 +802,14 @@ def from_xml_element(cls, elem: ET.Element): params = get_elem_list(elem, "parameters", float) return cls(*params) + def to_hdf5(self, group): + group.attrs["type"] = "watt" + group.create_dataset("parameters", data=np.r_[self.a,self.b]) + + @classmethod + def from_hdf5(cls, group): + params = group["parameters"][()] + return cls(*params) class Normal(Univariate): r"""Normally distributed sampling. @@ -829,6 +900,14 @@ def from_xml_element(cls, elem: ET.Element): params = get_elem_list(elem, "parameters", float) return cls(*params) + def to_hdf5(self, group): + group.attrs["type"] = "normal" + group.create_dataset("parameters", data=np.r_[self.mean_value,self.std_dev]) + + @classmethod + def from_hdf5(cls, group): + params = group["parameters"][()] + return cls(*params) def muir(e0: float, m_rat: float, kt: float): """Generate a Muir energy spectrum @@ -1119,7 +1198,21 @@ def from_xml_element(cls, elem: ET.Element): x = params[:m] p = params[m:] return cls(x, p, interpolation) - + + def to_hdf5(self, group): + group.attrs["type"] = "tabular" + group.attrs["interpolation"] = self.interpolation + group.create_dataset("parameters", data=np.r_[self.x,self.p]) + + @classmethod + def from_hdf5(cls, group): + interpolation = group.attrs["interpolation"] + params = group["parameters"][()] + m = (len(params) + 1)//2 # +1 for when len(params) is odd + x = params[:m] + p = params[m:] + return cls(x, p, interpolation) + def integral(self): """Return integral of distribution @@ -1190,6 +1283,13 @@ def to_xml_element(self, element_name): @classmethod def from_xml_element(cls, elem): raise NotImplementedError + + def to_hdf5(self, group): + raise NotImplementedError + + @classmethod + def from_hdf5(cls, group): + raise NotImplementedError class Mixture(Univariate): @@ -1323,6 +1423,23 @@ def from_xml_element(cls, elem: ET.Element): return cls(probability, distribution) + def to_hdf5(self, group): + group.attrs["type"] = "mixture" + for i, (p, d) in enumerate(zip(self.probability, self.distribution)): + dgroup = group.create_group(f"dist_{i:d}") + dgroup.attrs["probability"] = p + d.to_hdf5(dgroup) + + @classmethod + def from_hdf5(cls, group): + probability = [] + distribution = [] + for dgroup in group.values(): + probability.append(dgroup.attrs["probability"]) + distribution.append(Univariate.from_hdf5(dgroup)) + + return cls(probability, distribution) + def integral(self): """Return integral of the distribution diff --git a/tests/dummy_operator.py b/tests/dummy_operator.py index 1bb00129d04..869a5f0c8dc 100644 --- a/tests/dummy_operator.py +++ b/tests/dummy_operator.py @@ -115,6 +115,9 @@ def form_matrix(self, rates, _fission_yields=None): a22 = np.sin(y_1) return sp.csr_matrix(np.array([[a11, a12], [a21, a22]])) + + def to_hdf5(self, group): + group.create_group("depletion_chain").create_group("nuclides") class DummyOperator(TransportOperator): diff --git a/tests/regression_tests/deplete_no_transport/test_reference_coupled_days.h5 b/tests/regression_tests/deplete_no_transport/test_reference_coupled_days.h5 index 5fdc656d97018b596147839415fa967031dc18e5..4cdfff0a989d72c04c2ec2f08bc34b9062a1c180 100644 GIT binary patch delta 2118 zcmZWqeMnnZ6o2nV<9n$zv2M*rXBx$isF=ntB3d;uendNM%=%%=I%BIf4$U&65bT(> zjA5r^c{{`D*lO0na2pf52cx(ZlEI3klm*79TlYs`45X}}`(v|(eZ2SXeMz;!=Lx(I+!0>0`!*nmK_Nfg7>EY3l-sE*vKdVg`o- zqeJ5(ulV~f_y$J&6iwprvGOpN&_mLuW6fDO=;eFW%?Qn8LcMA*JCm9r*u+ULW~^d} zXHwvW%;X}zkLdFfTwkwH)ukieDp|-?8^qr+V1T?U#)N$tXC=P7fQ!8jCIxeHZ@+BH zE|t(!CiM)(P=SGQpBT{7G^G)&_{D5^2Qu?>B8Y5?=3!35|_P1>`5H<_A1eYA#_D^sa07?(~GGtxX{3-q9ngkvC)< zL`ZiCs+2E*Rjp$~hcQc7dKUBsaNYeswg;BNIisOlPc)Z_;%*Vi>wxC2Y-=%Ix$XX;G zi>VBGX4HBChRbTUh_4}C$QY?m$!=VP_|Z}vmybxYY&VW6$G*7&Ta#$=gs;mYuF?-E zK>VEa#v7Y8Qwy&6h7BqRHX$7*>Y^tF|pfNI#$n&B=4IeiM3^fwNMkQ9cQw-p87|vk(lpH0;-uFm zF(eBah!lE}y@CHAzXO4zept0!hav0ruvW5ymYZ(!D6JRR*3}p38f{GYHTPSQ6uB*DRme?lu(z+LdK;fVw|1uZ8k`YhSV#h zNy)_s7XiAP@j@mH5r4rUzU`WFmQ4llq$`C_uB=XYQ0s45 z*mELX9hlzNiLHFnLdSNujSxTD&Bgwb4p6!huG>zrbv?Mijc>?gH$F$HGWe=~Jr_y4 zU?`J>RiMn|DR{df$R!x{o?95SjaO+MY&U$CDl(HIrFjUxJbD45jgzUIOqdaxfbOP; zsW{$_0x51zLwEB(Psg`r;hY_W>w{6r6QAi3Ze@rn8RT+{x4Qgj1A9i7z6&H_R0ta? z^ny^O3J}ld;bQZ!Wk35=Z)Bc_bB<3S+^Ykx)5`W;!zC^l@C*NVG|0Qe$DIfFvk{UA z8AX^t9E#Xy#mJgiY+=uK^l6A=$e&GBMEQGIEMZ9|n z;~9|_^+ou#kW$6=JrULBc;!k$P4nB%|FY;j*nUf!|8MWzdyB7Wn@Em&({S;-#E)6z zJW|weP&#`!=hE16(X;;VQ>dTd%xnppaeeKU^LA^~H*j^fp*A`{(fshhihlZZwNrWb z)~Mo*0_V)2>P}m5!ddw3ndQZM9;c@!c_-uk&n>^--l@uS?6mv>k7i5qEzu7*%zvbN qKKi2iS4Hr>Mp@HG;FzjV2Lo6Ws)XjNki04 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 VzVW4L`p4f3ufV|jxp6{k{{v+#ysrQN delta 1982 zcmZWpe@t6d6n?#B<-I4e!VpSU7x zcfWJ*yLWv7#U_wnhhn~f{wPvQ1AT^Uzl=(LMm$iI6}DZcXJUgAaF)v1VFJrdfoS`f zVv*gFVniW>DfjKen@DwPR_(M43=MG655VEkK*L0RiD4Hm)q(7)AB-HFo zR3#Zx(5#5SNbxu;E(v<|f&9%ZT(2g2x+n0&F%$hm0`5{8c?~e7P_c?ioG?~_QmSJ7 zwK#M_M}d|x?!!?Sy9{RWE_?ec_F`1%wvEJIvZfrTsW_AUsDNo(Mb- ziT(K)R})@DnVjsS1mX$?sI9_4^rOU{h)$qM-v}Np4Ha593gvS5^@oup7gitbW|-HL7WMjX-PRH3*mtp zAm#*~XciNMe|x1c&o3OQ!nLs)qJal0POgLCfhOJR z_>25|!h=`{bw^s5P#rFGa*}cjg4=aHtXKj~M;FP@OH=A3QHu6BY@j*z3dD|Q!}HGJ zR37h=6v_N9xaT~PIJL;JVTmpfElzSzxlX3If>v6*1J+!3Q#ih0QY2OP!dml=3U4`0 zrSLW{wwq{A0-Mc~aOb$=f91$O2&R^c{EI2eNTV#cgrc72U&$xQ4@a$#mrmFy@maz2 zlcXx%ka%g`B#M~>(a#{>;y?={pl>~h7Dr*O%fR_t*B?goDD-uik=)14b^X1U36A0- zIaIc4QOL(_yei9J!n@F76!CG&!AzE!B`D2vi&eLG(g# zR^OSh=8@j3Db@}6^@5g>emM83?Mu6P4oW_#?;mh^8>U8vG^O)OTh{n*&xW)9v>M;L zSs45!-;vacj9Y&y%$b#VNLSg&!(@TGE|k8XzgDm CIFlRz diff --git a/tests/regression_tests/deplete_no_transport/test_reference_coupled_minutes.h5 b/tests/regression_tests/deplete_no_transport/test_reference_coupled_minutes.h5 index 294cb589f7bf66d88f2cd5ec53353657cd043ef6..b997e46f938c1ca5c64f636e2a3b05d335164786 100644 GIT binary patch delta 2219 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 W4*yU*QpqwH znF&IFw7ii3KcI1mBGC%o#SqkmnxJT0ERk)*1k){9fnJq~$%h8C=q`v#2}UImJOHFQ9z0sd)yWhpcw14n_9A7!x8gBw^E)|6cbv0 zDX5W6s5w4?z*znypI8zM+N0Tf>9k(U^z_H+#J&{#O9svY4!e!8pw{r}GMcC*EtP zqND)fm@c^i}_?i!&(@u z?k5^*-l>fXDJwY$RXDMwNSLXKIx37inmxHme9U${M8Zse=4w}sUq?m%G(J0zl zxQ+vVof9idg!A=LAwyiqt*4|Z1FV<>#8vu)kk%MIzAj&g19ijlkeWFYH`5|HWed>( z4Ks5hFJYDv#D9CIh{hsMDH*1?g$~F;J=RI5m@rKlc1Bz-p%YOs%wlBp1uw@=I{`qB z?Gs|JqI|U=%TB=%Zsc%hxv<+fiSb@#?0UU`#XE!0e}3V`a#|azWEylpVRjuv4;<@O zAHB$b#ylhnp|-i5_-kpQLy(nNFx;)}=MyE+)UwWgUJhyFL^)2jTcP;$>kvAV0cRbf zQl9RT94ox7@Q35&*r_d^9+l~R!TdP)eCs)hD{3W$yWxK8FA`2Km>kQs18~1BqM=*P zAqnqvQ@gSDWU$vZ1NY9@|5uK^BVcO37JV@lsY%E}OAvZK`bwT)KOEX(FP*qiiD!k< z&#|g-ee9)mvM6Ns1#dvO-Hunsz|c{J*T-R{*C=>9b`D@}90q&MSm_Z~dLN~csc~AQ zgt87D_Irfg3yM@S{}`H&7d=AG$U&YgGn9*R^U11*EeEaYEWzd3A!PM2LKayU2|~9g zg?ldVL-+du-G=pgMUS~UVzNd0d)EB7uG%84H}6be$}%%G^kz=q7oqP{>cw~;g0uPQ zgRjmPKRvJ}u{Pnstd7XvS^3=hrOmtoN9O91hd;eoe-parvW5bUs%L+-Ok0mtZAZSl zbgx18!Q5xiY_k4V{eb*jxMAJ-@$B)rx9e=TZ{?;fY+kjUQ2niXW*}QqpW4n_nE94S z9_}a$-@ATb(jX7X8O<&dZJF*JeVQYhV9lx&dYW@}yWJ{{jl7g8u*j diff --git a/tests/regression_tests/deplete_no_transport/test_reference_fission_q.h5 b/tests/regression_tests/deplete_no_transport/test_reference_fission_q.h5 index 9d32d89fe233fd05e736519766eb54fb9c5486d1..a106d61b6c4a77d8c5db4cc4c2a42b2f1651026e 100644 GIT binary patch delta 2219 zcmZWqeN0nV6o2m)%6rw>BF=swwK|0&vpoDr86Tyz2n7cg28Nj^MMdhS&;?8yG{cc? zL7A@4vk=@L(z#?|#u4-_nQ>dvy37!wv(A{YEK8dB$BfH1aET*M-EQB#uLW#q&pqe- z&hP%tdG}pnXVLu#3R#gqEN*B(j6v+P8RO}U{IL?l3^tQR;8OG-Rv4ktksWkF&Hj$S zp^n~z-Cb?_{Ot$37?#H26ZL8_W`wxiz*{p&&?hx&D-aq?hZ4>HrRmHd#l~91sCg4d zJ&TGg6ebV#{ZyZi;#wPVRh@x)6Lg_eO;dl)L;y-xoQ3!bPN2Sbtr&e9EGn*L@qSAg zr(D7^>C6g-V*>5H{zSmYvWyPf#Fwy<4ix592@q|H6{AP%YTP?sm6M4I{8<3RzRgyM z|9U%mdV31xVYc-gJdCGn3m!fs7to)GR%&nR*NQPa);p1HmUc3pf&Kp)r2J^KMQsmGIQD>q*lW@jm8wnCP_uv2=%YzT#B06#B?;N5IkHm zteH2yf!yVT>q)(Z7$)M9rk1J^(z#$tW!6kok$9{c9xpQ^>vk|{Z77y2)oH5{64ob< zMSq$yGiGuvfh%fesIQ~D&@nQ>yoIS2?1w2`Q(N&fzHf9EXRieTcjxyX4oP#OcxQAbDQCTWgJc03Bz$a^jSLjtt9EQ z%M9^#9E8{Tkh4_!cuft0%92jaSTTW2mcZ4#aWv*2^2g zxGL!lD^^e`nQUgZe}YO-o={2>ttN&sP&Eq9nN&vrR0(sOE)-l!BEdN+-~Cc~QJQ>( zbV<1c;h{ip1z9MBLF$iGCf;^k0naA`WYR@=(t;nwYo(GR{Nl`1OHG@H@s(8z54Lu> zMi!k&PYt2>*AlCowBYuI+lHwhsTZS<LVi?V$XDep_>6vDLN5vX_k zk&KgeR7iE@9jLE(`h0w52zEOGUmu)CnfPD>zLg=O=8(smxYd6Y-8N-qWW-d}>8a+3Eb8L55mEgnJxLIUp{ zC3r4Di(13d)u39#x6X^|Gkr=WrDmmB_kS5|4$Pj^uX)yZ^QW`N^bVS1-Zve%7Q2%{ z&m+U!gZ!b@nMV(gt$(rW`y}cvygro2r=7q0t^0bF<7+rERMx+|x8iZj>5KPPOu2&H zy3?vhXIw95cfasg^LMTrcF4FmXL4n{$=}N_bGdl+(`)<{*;+?T+H(Q?l_%s<9x&G2E z<2=1Tw5h-BZp}#Q|2;=v@o&~C?= N{wJLMV2cWO_CMM8vN!+$ delta 1980 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 OJ+%d1wj~65TKqp^UK}F; delta 2294 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 CW*0#K delta 2280 zcmZ8hdrVVT9KJoUa_=2Nhfc~vs61>3!frvJ!um#F1ht?tA&Q-D@^BG0BSBm&d#J=Y z=;b7c-7>2TMV3|ZZVPb_+eKqT%+k5J>5^?_i&;09rJCr7GTf!-+gvY{@QS2} zm2ur0k0t^ygfW?b>VjjFf%Of-jua&od=jlVIdhZ|022+nH80fwg2al~W9BOg3o07b z6`0o%JD)d%@kAW!yEmXDX{iw&N*@GFJa;Ii63F6UTgG-;V#A*@25HGQ?9N=4WO^ED ztMIqF3eco#-1n~xp3NqKUkk^SX>`j9w9s1&lcUn8U@3w&_+pBh>RpV`DB5Xg5x>)& zjvkzhkk}~3{zZr_?2k!ASm15MxGM?Om1rP_lIQch7za~PU4?l>T4b`25Ck=-Kvbz% z-^sbaBqz|7R{^~_B<#ttgK!d8ozDlC6bVkU!IM1H#wAD|?NLU+ZrpKb$b^%n&D2s(xK%^O>BUKEvqIRE!dHeqf>NzM|6Za5^{NC7?13qp?_ndxU3%emijDBlntCd%M|>Msn{NU#edJW6Cg`fY0fs8z z?z&x2)sO(k)*S`G^>EetZTzVWtm~C&SYLW%<^1|RfO#1fZI}feuX088ak2%YdnGS2 zXsUO?f`$eV+z;Pv80H^Cd2BRcLJY!YLEC%6zNVn#5!N$-6;O>KyEe6ozUgkzYN?2ehdRnXDbyMs zdTM43cW3lpe53ua6D-&H*9tohC02QmrTv*XG^voobp`L*FXGai|VjS6mb6u zqrII`M#11j#c0K*9d6N(HU6UK(sx-R-@o=UceU<wQwh3qLBKIA@k3K6ZM? z;pP)k#HsbSKFoZOC>qeY)_%P0$|(^u?ah{$;%pH+0}8gKNpHBey0>pUFrzu^O3Fs5x?_(S8VQP8^-**)Xq#lx8eDfB4Imw b>C0U=i$pvU?Yf~jciU)%=8??kxrF}*KhWhy diff --git a/tests/regression_tests/deplete_with_transfer_rates/ref_depletion_with_transfer.h5 b/tests/regression_tests/deplete_with_transfer_rates/ref_depletion_with_transfer.h5 index 25365f6f3a486e7cc6ffa3ce844d4ed3fa17a95c..9ae9400edda573fb997704338f8790a568280f92 100644 GIT binary patch delta 2563 zcmZ8h3rtg27`{C~*V_?V*n*`(smP=9C>LR)Vp=HWWrsW*FO5nSkm3W&Af(Ynh#Sb< z5_&xwV{B$1vZ0G8+?f%#V4Ka@5HmYpV=hxjW`<+SIuex_WxMS;_tw(1J@@<1_kaI) z{&UWC4TJe2!7}c6B1q`R(fKX-0T1;Jmi-NF zO$VE6>&&~FnqjF>52=kZQuPudm>4=Z8-Si5m?f?c4kCJRo^mVgP^=emC;&YOFfPK_ zj6Iofe6)hiGRiQzfFHQ58H|_Yh`_C+W-Y=TuM^|JINEUpDg#87E9(UlIo=cj5k$O7 zhzQHBHnS%XArKH!cJ%y^8d?FT9O)t9MG0ufVPm18wAef8$zVTzL>8;nsqD9{p|!0w z)!V?@)}{k&N7dE?`@ISH&n{ucD?22#E0gu>T(xqg6VO$nNJ03$yLXvzUTzt6? zIAho<1pruL;M2%GVjmsmO8Uev^!#Xi*bLqpEJ;WU7`apkfGHnN2Pniu5h|@TLSvW$ zSWDpEFttF*l&cB>=u~-*Qb!=yXF?Y5Z!`yE6E4Cn$eHNRb7L$`L2>R_QEGo)4aQaq z#g(4H)2#k9&y#Oc?HJFd(~d7Z=Su9e0tdp!$R1p26kQ4`#nUO0_W@hfh0rD!!7{lC zxGBcCirqBI+fAPbxHoEytjR!?u@I5Lk{U_AJX@>)n%0P*a*YYtGa0#p70UDqsa`{w zMVT-wc8pYQ^b>Mr!RfV)qy_~qWO;=sl?b{MOu(jN{)}aXbY7t)oGH^mancyMr1ujV z)WdzPC5Y7^Ro*QFnId=j1M7Wq$MfQ{< zei=Sp<=%brWkI0(1yI}IZ@O06C6cUsb2sL^Cy+sX_9b97!{^y`P^y0)IIZxcei?|m zn3K670+7=S&lw=J2}NSAJ2R{s1+)uAp#M$JE1la0`-)Zi?lf{~O(^m9u&>=zAUh4^ zg=%K7(j@^k!|-fNJiB6`8DXRGjJsu$WGIna0I3EIFng!Tq7m$X8E?2w!r3m0%^?0g}*3YbQi_1(>)j%z2b$#$NR=&%l<4|(2m=+s|4*3DAKs(0G7 z+&mdiYDdG^PEl>K;yP_ycgA$?Nf=>E2ra!gm()42l>3kL_Wg;$WW#A#ZcFWWut#zy#T>$y`TSV5 z^o?H^csw35ofI(>}~|5kG~bXd*L*MsDG_g0;*bWg?9 z#-U|xf@HELQ?^bwRrd7m=oH)dK-oKY=!?tR?(bZ4Z9m`9UOv9*TD{!2bCN6W9o195 z#{Vv_Yf2ax;tk!6+kLSt-Pfm9Q+)FIpX|JWbNj!yl?yU>{MFU4g&W`GW6U;w!fY?U iWZA$IqHny?K0D(R+|>2(#E0g^?89n!mW~PZH2!~RZX*}~ delta 2305 zcmZ8ieM}Q)7{9(C-rbN^WN-z9QMTeimu7 z_`6!xphNi?&%X+IdL;?Q^zbB;MBB1aqALf+hb2+|d;~4<NF4|bb6qz z9ZyD_*f7RpF^Dbpr;9^a>{M)(38-j zw*oiI$FCE#*pQa&05)a2DD8?TwSYGTj_2>8mZ9M3l#q}$kA!TV6*x5f?*)R8CL}bC zD;W*UFK{WQd3|ab0M0ZxP`HQEB7t@R30>(-Bn%p@z?#KhED{8=LIPvyh!n_#bdig4 zubt<_t`|rRoR@^Qk_&A%>`0uWLvo0Ubm&2Nu_=)!n?wZhYUE*qBF`!rMm#gtb0Uug z(gJ1Eh*6G-fJJ&yT zJ1tNBdWl?A%ZeJgs^M1AbUHB)kkGBEtzYVh|RS@B& zU41!F9fhs+IUv{r>AhLJzdo=CIFG_{n-R1-czW-wl5+Q;A{BhEUIUyQpMNkSlJY(g zO$MhqzNsUMru;Zc3fyGM&Ecy-;0Zz;7~}ZyV+Y8#cY3ce4JVXFOeb=p z{_AS}><c^!BsUMSrSp+&$~eD86*?H&*xS-@?|lZTEI7eVMi>N!r!9 zRrSIzQxYDDe)UMbij#UP(@rV(eH<(0V-hRR?iiDYopLGf>f)g+DQ^WCjlnvjv1WJm zXu;sD!KA!Uo6D>+Ub4*G9v&5j?Tb6?WL-I{+qI3dB^?Uk8BT2vl*`E-0UFQI`hyB?L#r)bEE$s*P`w^ diff --git a/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_only_feed.h5 b/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_only_feed.h5 index d080b447093018f62b3eced413db81fa606d3338..f8e3e6c0004a106b336d3ab538c13aeed02fafcc 100644 GIT binary patch delta 1897 zcmZ8hK};J*6rKHmySqiPiz-;0U>uSVizsG8XhDtyHUW$*N+5;Q?V(wePz+6|5ge?x zDpu80G(E)IFCiK!5(#yMss@4Pf;ibXi%Wf^he{k#PgV{ss?@5pJF|9-WqaoRegFM8 ze`dD03C9PJ2|yxic8meh%+G_(M|H&h1o%J>Kj4$(ZvJoS^16r~-xd=w+@DE4m|33t zY~k*`#Pr+(-f~4yzo99CH#otdW_>@vY8{5u`}K8XRpj|UH1obL*+DgYA_+Vqa6))8 zM0{(KWyLgscErTVIu!WC%L&d(;ukn}cxiz*E}8kS&|f1@ovv3;!gh*8>d4zfCdujL zgcWF(B;sMC_2X)M1&;DLizF5$nfWhb(VMqM?T1zd`&1Db4hB2fcX?)Md8yNG;N7LU zhpeN))WZjMg80k1>F(5u+bs4lzlEmLE1kSOG{nTsC(WSysJFHeKs$?Fu8%R@ph2pY zKCX{~)WY^)VIX;yYdTie1>S4nap9E6{%W2s@OYb<{|j}uqLdTy)thTjXk%4|0g`R_ z&$&<33LOXBYwBw~|GK^5P;8BmB%WdF^|%0xAv~z@sbqwg_Qx>R;Dgi{&Nl=lKb;6f z0n!2MD6P~weI{Cawb8J^hA84JsL)Z(D+%nm%Hz(l(u38!xWFl$$Nkn|HEaEvHLGlD zPT-^KX8vdET&Wc+__T3bSrwJG_@&UVTAfnLK5#J@#f(?RajyX-oyMBjrs;M!D;{vZ zWm}1N^U6YqbTiVdQZCPm4Wn^hM*n#Oay``RV?sT)P~aV&Inslni`z=zMwL)8ga;R9 zm0lj)3E4t=K*rK#12TQ|&x=f`&lWlnnOYyJSGJXtNR`k=1fO=yD*Zf|W~g!ahfW!D zK?CAZx_^b~4AJ>(K52yrN6vYyIONHq>m(suIlN5SCFco9io%$~s~F|HFds-SHy0}3 zNu%tRGsGbz8v`6Wf(3z(@wuxNjq3@u92w-D?`ECvPJsR%eca8iVmL-$yt@W)IBH+O z<4e_g>oJb^M)|1mffUB7c_o286V3%JC*rHn9c6Wb^T);Mny~k&l7-OsJLn(bAAL(^ zQFfnxbI*pqlQfL2tUD>HxV-~S#`Q|$lUla z=aOOlee0F(Y(wtUDl2!IyG%K&yu-58q(FO9W_}IBgP%g`M|?TBiAR$f?hNb7)^pCt z;O=6pS@gi_CiO-e&%D+9f%gt7Ht9}OS`_^S8CGV TEa3DI^VUH9nO~(^hWq~q+-qKx delta 1634 zcmZ8hPe>eB9G>}^ZstvmE+&n$+UPVk?qbPy)<(NoQAb;&NRTx#q8`kY{>es4*-{F| zLSqX75gK>=fowc22t`5>!-FCo$_~9Op0>BPr#&t?c}gXR&~bim9M`?P_kHjCee?a^ z+xMymP~L)E49d3MH352^y%cZCg(UBnq(MrL;O%=~zbOAKW8qp@T@kcp+RpsCR#K1Z zh|xm$dbAVrDu1nA21tgmsdXMJZz<}cC^0{^oi;TsPpMn-5`Le;!^C3+aM{z@$d7sj{btK5+4@2Y<;aR zFYsQ2?Yvso6g4Qs)%FcA8u@DLD98=CaP=!SP~*Q>H`E|DE_HN9%y-CJ7vEa!rped~ z=RX;DuPIPU;B&1_&D@}cm0oPAYh#rZ!8Cr>8f7b&32jrS)k|)t-#lIxJLB)zw!o!J zr1twWnhE>58G#og#A`H2`IcH;QQ*qE#Op#QwRw|^l5ZFzLK@R;=hx#63zFdG^;=l% zQgFG;g2M7G}R z02glTu-N;jy`bEI2dM|_JtB8IJR>Wqpq{iK7v(SeT%)LGbR;UZD5m;$B9yNSLXyD08c7k**I6flNoNYb0%hzwIlv$^DaM3Q`H&{Qp&@WO zVLLw_A5K8v!szcTf0OhYmm}u^jd2CGdwFVn!@Zq1&)m-RnSZbJG1cn6hsa>`)n=Fx zc(LEVohOC3Ix)=-`$?bXlW`N|e(zL*BHWz(2lBV@`#ayEKHG%P?>>Xd6pl=N?w-o} z-4!`zJMG@e{?sEdzQmq;Zy@_E@0o6pFKqu1WRcOF-o)|A!@Pq!(9?`{1id*FXTmn$Uz diff --git a/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_only_removal.h5 b/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_only_removal.h5 index 36f89e0090b147be206c995014745f3e9cb6c884..c5d1e27a746e420133878cf0d5c6ec39ad21dee3 100644 GIT binary patch delta 1897 zcmZ8hK};J*6rKHmySqiPiz-;0U>uSVizsG8XhDtyHUW$*N+5;Q?V(wePz+6|5ge?x zDyUK_njYfqmk^BBcAMr_YH~+VEc|$~xZ;Oc-?$0D2%q-7+ zv2gcZVtQ@?Z@D6<-_Vr6Tby7}v%Vi-tqw!#{rWnxCi46rn|WWC?4TMxkpvzQI3YY4 zBEB`rvSOM*J7VHw9SVHnd3o9CdujL zgcWF(B;sMC_2X)M1&;DLizF5$nfb3`(VMqM?T1zd`&1Db4hB2fcX?)Md8yNG;N7LU zhpeN))WZjMg80k1>F(5u+bs4lzlEmLE1kSOG{nTsC(WSysJFHeKs$?Fu1|5bL4#B) zeOw;}sfF#q!a(vY*L19G2)x(A$lgT(8j6^10>t< zpL3t76*>;M*VQ+A{%w21q1YNBNj$^U>u~`XLwHc*Q^^P~?T=xs!3U`^oNow9emW6| z0;~qCqqI`%^qFYw)kebt8={D_ph8DAuOzVNDvvwIN)J}^;sU319`{>=)vS$c)~vFr zIf0L^oB5xubEQ_S;M2x!WldDt;+I0dYIRB}`@qFu6w_WA$GrxWbQ)`7o2J{{ta!lr zmTe{8%_|Eb(#=S-O1V5MHjKu38U5!C$n{XKj|uhILV@>q=132QE^aG<8&yKZ5FT8Z zReE`FCu9rh0U1k|4M_LVKQA(&K3nKSWNLk=UfEVoB2_}05q#P)tMv2WDnpIKKX%HP z3mOoQ()}w;XNb;U^GPd2IC9Qo#UW1?T_*|Q%HgHUE;&y?QWVA-R#~~z+-1sHZ&9Z1aEiLXT zRF_K<>NCBNupcWUS>b^0&itm}(IcH@D5(sO%2ri~XQ}$NOI23ih&F+drCs0cD>Wpu SfYU?FTLbl{f0b$(?*AXt6eB9G>}^ZstvlE;fy`+UPVk?qbMh)<&~gQAb;&NC<0UL_OFk{gaJ^U>>JZ*1nPkUT?^3+NWq2v7CIIeqn@B7~O`{w(- zx9?T4bG6mF zoWMJEw)5|*rl>(7F1N0MQO}o~he58x*^A$)fg1n5xTXfNaiOg}Vtz#4y7<<7Crw7) zI{(SIeMy000^evYYUUa(EOld3O$#fh2&VC?<|tb_PiT`mt(1%b;S6R!)M)Z$G(lzhV&5z>fmJ3k+8SdawQuiV5! zhk}b87VJm(Xx!bnh_`V;3|F+pCNGdZ^(agD$AvEsy@C{;S2m$wI$=RU=S^L%m+pB5 z32^q>7K?p)+zU!=xR<)mJ|S|u%`>u+3hGG$CdG&lDpzUZ8yW(q z6SnjG@NfbGXNP}fxf`U{xEwhRXpAbb+09dr|`z9wLL$Q=MT_ z;Q3zvb{-Yt^6d$>-%I*5AB&qH_j;!i6yf^VUy!?r-`{zH`cwnHx%(Q*<2W?_wRy6_!hhFy@$ESylbLPKD+rW$ReXTv5uWnQ&4`1KTU18k720xlw^`Z zO82`DV5c|$DR!dS;I@-IBdUzg4JvIqVLKQ$`l diff --git a/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_with_ext_source.h5 b/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_with_ext_source.h5 index f3b1b171ebcab9d99fb7b73f5b8273ac72187971..7b9c0c11db5309f915d3ee156bd8dd2432aec86d 100644 GIT binary patch delta 1897 zcmZ8hK};J*6rKHmv%5vHgDO~@U>uTwMHI6kv>-!p%O>bla)h@Dz)nD&a53{*`9fS-+%wj zpP4Oe!0`cO0+84=+ed+D=9j_7qZ(p=0(>BcAMr_YH}|*HwkD#-cf>>t52lk3rslkx?ptgprh&=ztX3p0sJE)3JB!PzoP6$ti zh;L1>te7Uyj+i)EhXS8?Il);;{1V3wFD>x;6*Kn@`m5y0)Aede*iMm14SAQyBssN| zumX*eL_BP?eq4>Oz)`+nk;I}TGxt?2dh7Ox{m{x_p9&(w!C(jbE=?~kEq2%qytg>} zh;=lWdi2mv5Pw-W-JM)^n}u%XH{Wo2r4x4s2bs9}v=MY4^;XvdXy>uh^(m(7G)Ohm zC$&+Kn%Ex9_b1PDO~=Zbz!Ev(8AK(Yn@ zx$v18VgE46F|pVe2jMU$~mlxRFpxkpbTMF4p<31n3{oCtd6+hGX>Q`>OzlBlZP6 zzEY{T7UOttgpV2@NPe`ER}|PY?p(l9BEAXTRaVA1e@vXNaeJT2SqQzqgZ>Hr(Yt6C zWcTSe_e}VENyA9rKBN-(Z{L0NM1FvL3ZF;*1Nkw1-hWnt@Kbz!3o+x8Ri`_L%#9DT zE*aK7v|j1XHe^q&vV5nx%apUqyDUph3bZ$A=2kI0@HwP@!q)>Ecr>Bm&XBHbz2J-t z?k+T&1rMxjP;a#U?75zo{DEI=4}0x)fc6T#(I8!)EVv=Qfxj%YvK2$mCX2Sx;=-On zb-5^^KHUQe`>`^-DICz<>E9GQdaSbyCAGn$vQ-u0n^gVUr7G#Sq77hd($4Spm8x{x SB2Eo5Z*|n4`BkcBxbJ_|(Ou*K delta 1634 zcmZ8hK}Z}|7@qk}HuI)N7n{aeZFCwNcd=wUYogt(sH3S-B!o3Fq8{vow9Q6JFoc4! z(AYpggvK3zkd243AQTBj3=fKUC_B)@;%R$pd)njDlc!d42p#8t!#HTFLT(ntlLN#f8|HH$hT_4bG6mF zoWMJEw)5|*rl>(7F1N0MQO}o~he58x*^6JRfg1n5xTXfNaiOg}Vtzp0y7<<7Crw7) zIRDAGeMy000$*z_YUU~}EOld3O$#fh2&VB~bCfNeC$veOR?fMdK6OZU8j z1UP$ji^V=Z?ggbb+)F)R9}&6T<{4Q@1@)u_*(m>~$2E$2MhBu&i(;y0OFrO<_F;g0 z2d)o1U@|a@R<&aXE4Z&=^%QfE)`pzpTkK@qzefLyW z?<~nN+iCSycE_KB@fCL6eFt-odDldpe0KA@Ad8IV#5#6PO+onu{y4SaK8B&%Q<6yv zDc$crfSuw1q}YjOgWFE>jHoiMA3ma%K>DEV{D#K#2!vna!gM$6ub}!c&dbx4vygv@ zdzn61%yRYNyLwhwp`tMUFdc=w%~MZ9wXAfEZG~-{&%UTrSy`}(t8HZkTYL`3v_@W7 fsW4VKCTN7B&G%mIvQy?yzq?Htd}req*#rLrL#Qif diff --git a/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_with_transfer.h5 b/tests/regression_tests/deplete_with_transfer_rates/ref_no_depletion_with_transfer.h5 index b0ba997407f2471adcb32897dd08378bfe312814..e5ee6490aa033c4d98126b8899721f6d0a1c5cd5 100644 GIT binary patch delta 1897 zcmZ8hK};J*6rKHmySqiPiz-;0U>uSVizsG8+=3hlYyucrlt2op+e5P`aWOQZMsTp& zs-Q}#XnKgZUqUoeBoa!6ss@4Pf;icSN*0&;NDq}bqMocAT2!f3XLn}p7|Zs|`}_X; zZ~n||aRZJIARB;IsAZ6(!2S;rORs~dVE_<#Be{Eevn+8 z`E2g)z0}mq9Nuz8QNN)nfj2n8pk{p^z)Bs4)%*2zWJTopKQ!~cF4;jfd?E=vEO1JA zGDLi9f@Q@ufp)~i$vPDH#LEfJN)i`1c6iGIuU|6rU!lK7o;+QzoT{ zizzG6EJ?(}M(fAb_zE25a~4S~N;30b#A7#ajo1&Z4ECuaG8_zcvhQMYVR50;Zs6U8 znTM>S!OX)4c7piJx#{lYlG`kHGrxtV(<`00Jvhk3%_q&E`>40J5kNbOU9OLDxj}l=!sEgzk^R*?UEr}cGyfOrZbd04;;T1Tq0q*v3<0Fu z@Sk&^s1-W)yI0lMdj55L!=cz3AxS(#)a!8p7=w6F<5S5nFYS+Gyuk;VQJifEN`5*X zhyg4ItfRD4>-3pu?bSvj0vn=;v!FspHLoPF=PHjo$4U=Y^AZAQbRPFxgVn6HYu2o? zsX2jtjOQwou?5o;lo&;fvc!;6{~DF^mTn zrj;HZ+zH!4dO*g~WdpLk^v{b-sMi)c5t&*qs#ms^lW3LDdK8~_Oe=jnxXe)F(D$7( z=7I(!Vs!rs(;1|**L>0v5ssYmSaHacMb}A6xN>;evP;erkQ9Y6hgUJmc@aL49&RpN zzLQ4TEoX>BNY?u~b_5FoALDaZD;n2RYB@5%J0D`552ZkVk3J5us~CyX7w@hD9FEu* z@c2@--dddFy%9cYd?1CeB9G>}^ZstvmE;fy`+UPVk?qbPy)<(NoQAb;&NC<0UL_OFk{gaK9Vp|Hv zLSqX75gK>=fowc22t}lb;Xx4(W#_hd+TPlp=D76asg)c;$N9Z+T=(+c_r34;&G&n6 z->V)%Wef5NsMvPbUC`_7rDRh+BKf~G4N`Ul?>zYOMdc?Mi`S#-il8micIMW#vU*%c zj26L{qn%Jt`Ah8zKstg=t#jzUrl^ae#Qey1+SIH-(IF3EG@{(A2nSiLgpR^l@TEqY z1iGrgN)z!xVspTDHgKU;WA5v;lIKHpg8-(AONr0!fTRe=KQGog1`E1Md{pQb>T7ic zf%hA1=ihZrQNu!9ZQlT+k*~Ing4}@f*S=6gHU52VLk(l&Qb%XZe3QI&@vX&fnvA`0 z{*!UFMFMS^<-J>Ot53y0+%n7 zI_S@6CLHLd1zwC1uhAeCT55GAf!()=*M&}M^CxdefnkCOX-v1BUrshGOoE#?ZeyuS z!R0Osj$(W~>1|xh-?%V_C)#DxSIM4wlqLM*>c=NuVG7?XpHeWJvY@2%mLAVb_r1ad zIDd1OCEhvf1(gmw%sgao6S>#n8(C=u^|S@~IRB^5Gm860$D&e;W2SFcKIW;;QGj9> zZVo+U2{Ksrkk^$lsNm6n1y+(D40{Gi-=O?1iK;hH9o}W7_iK_Yq&(4_T~RPMvi~F} z5(WF1KTSwQ1`Se0gbH+FND>5BBP{|3I_oqr=}h5Qq>O#12N;GX#h4H(@6jYMGz8A3 zZ0CoQ!wCtTAN`FLZjoN&a_l0YF|NRNFVBo`c(?P`x!ajN_wSWHpjtif5E+cV+6>bI zFZKtw^Ry6G?@qC!e$r?8MA8Jg-#?YG2sbDGg2HY5?%ubk&otrA{pa9L;>hHu-l?qL zUy&2G)9$YvOg;wVbL@HW3KqWRJyQ+xrS0#-EHau?o7g=w1MXA&d1lLd3?uayB$E_U zcF=nOyTt)WiF3_{x1HoUQDuC1@`zdj>BF}3I~ucN5PgPAv%PS%hU%jvcW0}Yp!f_A za|5uP=jx+ZjjXgrMN#~5HV#FbXC6oDS>+7d4tqAAf7+ljSFnnwZD%E0d=4kHW?ovW dGFCk!Xoj-Q51${f3+~Q0UQ-6&-}+Vd!T(G;EE@m- diff --git a/tests/regression_tests/deplete_with_transport/last_step_reference_materials.xml b/tests/regression_tests/deplete_with_transport/last_step_reference_materials.xml index 242e2e7db5f..6370466e482 100644 --- a/tests/regression_tests/deplete_with_transport/last_step_reference_materials.xml +++ b/tests/regression_tests/deplete_with_transport/last_step_reference_materials.xml @@ -4,469 +4,469 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - + - + - + - - + + - - - - - - + + + + + + - - - + + + - - - + + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - + + + - - - - - - - - - + + + + + + + + + - - + + - + - - - + + + - + - - - - - + + + + + - + - - - - - - - - + + + + + + + + - - - + + + - - - + + + - - - - - - - - - + + + + + + + + + - + - + - + - + - - - - + + + + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - + - + - + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - + - - - + + + - - - - - - + + + + + + - - + + - - - - + + + + - - - + + + - + - - - - - + + + + + - - - - - - - + + + + + + + - + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - + + - + - + - + - - - + + + - - + + - + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - - - - + + + + + - - - - - - - - - + + + + + + + + + @@ -474,68 +474,68 @@ - - - + + + - - + + - + - - + + - + - - + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - - + + + + @@ -543,37 +543,37 @@ - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -582,194 +582,194 @@ - - - - - - - - - + + + + + + + + + - + - - + + - - + + - + - - + + - + - + - - - - - - - - + + + + + + + + - + - - + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - + + - - - - + + + + - - + + - + - + - - - - - + + + + + - + - - - - + + + + - - + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - + + - - - - - + + + + + @@ -777,219 +777,219 @@ - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - + - + - - - - - - + + + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - - - - - - - - - + + + + + + + + + - - + + - - - + + + - - + + - - - + + + - + - - - + + + - - - - - - + + + + + + - - + + - - - - + + + + - + - + - - - - - + + + + + - - - + + + - - - - - - - - - + + + + + + + + + - - + + - + - - + + - - - - - - - - + + + + + + + + diff --git a/tests/regression_tests/deplete_with_transport/test_reference.h5 b/tests/regression_tests/deplete_with_transport/test_reference.h5 index e8478250be6497c4d6ada14ca8fd20ae217b4fc6..b54bbaa534e4ccdfe74a2dc6b1453d188d466608 100644 GIT binary patch literal 168752 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%0D>17(icZ91W!%}Q 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 bH@ Date: Sun, 24 Aug 2025 14:18:54 +0200 Subject: [PATCH 2/2] Update data.py --- openmc/data/data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmc/data/data.py b/openmc/data/data.py index f20784e0800..eb36ea7b59f 100644 --- a/openmc/data/data.py +++ b/openmc/data/data.py @@ -388,7 +388,7 @@ def half_life(isotope, chain_file = None): try: chain = _get_chain(chain_file) - if isotope in chain: + if isotope in chain and chain[isotope].half_life is not None: return chain[isotope].half_life except DataError: pass