openmc.deplete.Results

class openmc.deplete.Results(filename=None)[source]

Results from a depletion simulation

The Results class acts as a list that stores the results from each depletion step and provides extra methods for interrogating these results.

Changed in version 0.13.1: Name changed from ResultsList to Results

Parameters

filename (str) – Path to depletion result file

export_to_materials(burnup_index: int, nuc_with_data: Optional[Iterable[str]] = None) Materials[source]

Return openmc.Materials object based on results at a given step

New in version 0.12.1.

Parameters
  • burn_index (int) – Index of burnup step to evaluate. See also: get_step_where for obtaining burnup step indices from other data such as the time.

  • nuc_with_data (Iterable of str, optional) – Nuclides to include in resulting materials. This can be specified if not all nuclides appearing in depletion results have associated neutron cross sections, and as such cannot be used in subsequent transport calculations. If not provided, nuclides from the cross_sections element of materials.xml will be used. If that element is not present, nuclides from openmc.config[‘cross_sections’] will be used.

Returns

mat_file – A modified Materials instance containing depleted material data and original isotopic compositions of non-depletable materials

Return type

Materials

classmethod from_hdf5(filename: Union[str, PathLike])[source]

Load in depletion results from a previous file

Parameters

filename (str) – Path to depletion result file

Returns

New instance of depletion results

Return type

Results

get_atoms(mat: Union[Material, str], nuc: str, nuc_units: str = 'atoms', time_units: str = 's') Tuple[ndarray, ndarray][source]

Get number of nuclides over time from a single material

Note

Initial values for some isotopes that do not appear in initial concentrations may be non-zero, depending on the value of the openmc.deplete.CoupledOperator.dilute_initial attribute. The openmc.deplete.CoupledOperator class adds isotopes according to this setting, which can be set to zero.

Parameters
  • mat (openmc.Material, str) – Material object or material id to evaluate

  • nuc (str) – Nuclide name to evaluate

  • nuc_units ({"atoms", "atom/b-cm", "atom/cm3"}, optional) –

    Units for the returned concentration. Default is "atoms"

    New in version 0.12.

  • time_units ({"s", "min", "h", "d", "a"}, optional) –

    Units for the returned time array. Default is "s" to return the value in seconds. Other options are minutes "min", hours "h", days "d", and Julian years "a".

    New in version 0.12.

Returns

  • times (numpy.ndarray) – Array of times in units of time_units

  • concentrations (numpy.ndarray) – Concentration of specified nuclide in units of nuc_units

get_depletion_time() ndarray[source]

Return an array of the average time to deplete a material

Note

The return value will have one fewer values than several other methods, such as get_keff(), because no depletion is performed at the final transport stage.

Returns

times – Vector of average time to deplete a single material across all processes and materials.

Return type

numpy.ndarray

get_keff(time_units: str = 's') Tuple[ndarray, ndarray][source]

Evaluates the eigenvalue from a results list.

New in version 0.13.1.

Parameters

time_units ({"s", "d", "min", "h", "a"}, optional) – Desired units for the times array. Options are seconds "s", minutes "min", hours "h", days "d", and Julian years "a".

Returns

  • times (numpy.ndarray) – Array of times in specified units

  • eigenvalues (numpy.ndarray) – k-eigenvalue at each time. Column 0 contains the eigenvalue, while column 1 contains the associated uncertainty

get_reaction_rate(mat: Union[Material, str], nuc: str, rx: str) Tuple[ndarray, ndarray][source]

Get reaction rate in a single material/nuclide over time

Note

Initial values for some isotopes that do not appear in initial concentrations may be non-zero, depending on the value of openmc.deplete.CoupledOperator dilute_initial The openmc.deplete.CoupledOperator adds isotopes according to this setting, which can be set to zero.

Parameters
  • mat (openmc.Material, str) – Material object or material id to evaluate

  • nuc (str) – Nuclide name to evaluate

  • rx (str) – Reaction rate to evaluate

Returns

  • times (numpy.ndarray) – Array of times in [s]

  • rates (numpy.ndarray) – Array of reaction rates

get_step_where(time, time_units: str = 'd', atol: float = 1e-06, rtol: float = 0.001) int[source]

Return the index closest to a given point in time

In the event time lies exactly between two points, the lower index will be returned. It is possible that the index will be at most one past the point in time requested, but only according to tolerances requested.

Passing atol=math.inf and rtol=math.inf will return the closest index to the requested point.

New in version 0.12.1.

Parameters
  • time (float) – Desired point in time

  • time_units ({"s", "d", "min", "h", "a"}, optional) – Units on time. Default: days "d". Other options are seconds "s", minutes "min", hours "h" and Julian years "a".

  • atol (float, optional) – Absolute tolerance (in time_units) if time is not found.

  • rtol (float, optional) – Relative tolerance if time is not found.

Return type

int

get_times(time_units: str = 'd') ndarray[source]

Return the points in time that define the depletion schedule

New in version 0.12.1.

Parameters

time_units ({"s", "d", "min", "h", "a"}, optional) – Return the vector in these units. Default is to convert to days "d". Other options are seconds "s", minutes "min", hours "h", days "d", and Julian years "a".

Returns

1-D vector of time points

Return type

numpy.ndarray