TidalPy.radiogenics package

TidalPy.radiogenics.get_radiogenic_model_default_inputs(layer_type: str)[source]

Submodules

TidalPy.radiogenics.radiogenic_models module

TidalPy.radiogenics.radiogenic_models.fixed(time: float | float64 | ndarray, mass: float, fixed_heat_production: float, average_half_life: float, ref_time: float = 4600.0) float | float64 | ndarray[source]

Calculate radiogenic heating based on a fixed rate and exponential decay (set at a reference time)

!TPY_args live: self.time, self.mass !TPY_args const: fixed_heat_production, average_half_life, ref_time

Parameters:
  • time (FloatArray) – Time at which to calculate radiogenic heating at [units must match average_half_life and ref_time]

  • mass (float) – Total mass of radiogenic layer

  • fixed_heat_production (float) – Fixed heat production rate [Watts kg-1]

  • average_half_life (float) – Half life used for the decay of the fixed rate. Set to 0 for no decay [units must match time and ref_time]

  • ref_time (float) – Reference time where isotope concentrations were measured [units must match time and iso_halflives]

Returns:

radiogenic_heating – Radiogenic Heating [Watts]

Return type:

FloatArray

TidalPy.radiogenics.radiogenic_models.isotope(time: float | float64 | ndarray, mass: float, iso_massfracs_of_isotope: Tuple[float, ...], iso_element_concentrations: Tuple[float, ...], iso_halflives: Tuple[float, ...], iso_heat_production: Tuple[float, ...], ref_time: float = 4600.0) float | float64 | ndarray[source]

Calculate radiogenic heating based on multiple isotopes

!TPY_args live: self.time, self.mass !TPY_args const: iso_massfracs_of_isotope, iso_element_concentrations, iso_halflives, iso_heat_production, ref_time

Parameters:
  • time (FloatArray) – Time at which to calculate radiogenic heating at [units must match iso_halflives and ref_time]

  • mass (float) – Total mass of radiogenic layer

  • iso_massfracs_of_isotope (Tuple[float, ...]) – Mass fraction of isotope in 1 kg of pure element [kg kg-1]

  • iso_element_concentrations (Tuple[float, ...]) – Elemental concentration (ppm) at ref_time

  • iso_halflives (Tuple[float, ...]) – Isotope half life [units must match time and ref_time]

  • iso_heat_production (Tuple[float, ...]) – Isotope heat production rate [Watts kg-1]

  • ref_time (float) – Reference time where isotope concentrations were measured [units must match time and iso_halflives]

Returns:

radiogenic_heating – Summed radiogenic heating added for all isotopes [Watts]

Return type:

FloatArray

TidalPy.radiogenics.radiogenic_models.off(time: float | float64 | ndarray, mass: float) float | float64 | ndarray[source]

Forces radiogenics to be off

!TPY_args live: self.time, self.mass

Parameters:
  • time (FloatArray) – Time at which to calculate radiogenic heating at [units must match average_half_life and ref_time]

  • mass (float) – Total mass of radiogenic layer

Returns:

radiogenic_heating – Radiogenic heating set to zeros

Return type:

FloatArray

TidalPy.radiogenics.radiogenics module

class TidalPy.radiogenics.radiogenics.Radiogenics(layer: PhysicalLayerType, model_name: str = None, store_config_in_layer: bool = True, initialize: bool = True)[source]

Bases: LayerModelHolder

Radiogenic Model Class - Child of LayerModelHolder Class

Radiogenic model provides the functionality to calculate a layer’s heating due to radioactive isotopes based on

user provided parameters related to convection and conduction.

clear_state()[source]

Clear the Radiogenic model’s state.

property heating: FloatArray

Radiogenic heating rate [W]

property isos_concentration: NoneType | List[float]

List of element concentration [kg kg-1] (for isotope model only)

Notes

property isos_halflife: NoneType | List[float]

List of isotope half lives [Myr] (for isotope model only)

property isos_hpr: NoneType | List[float]

List of isotope heat production rates [W kg-1] (for isotope model only)

property isos_massfrac: NoneType | List[float]

List of isotope mass fractions [kg kg-1] (for isotope model only)

Notes

property isos_name: NoneType | List[str]

List of isotope names used in radiogenic calculations (for isotope model only)

known_model_const_args = {'fixed': ('fixed_heat_production', 'average_half_life', 'ref_time'), 'isotope': ('iso_massfracs_of_isotope', 'iso_element_concentrations', 'iso_halflives', 'iso_heat_production', 'ref_time'), 'off': ()}
known_model_live_args = {'fixed': ('self.time', 'self.mass'), 'isotope': ('self.time', 'self.mass'), 'off': ('self.time', 'self.mass')}
known_models = {'fixed': CPUDispatcher(<function fixed>), 'isotope': CPUDispatcher(<function isotope>), 'off': CPUDispatcher(<function off>)}
property mass

Outer-scope Wrapper for layer.mass including a scale for the radiogenic mass frac

model_config_key = 'radiogenics'
property radiogenic_layer_mass_frac: float

Fraction of the layer’s mass where radiogenic isotopes are concentrated (defaults to 1)

reinit(initial_init: bool = False)[source]

Reinitialization for the Radiogenic model Model will look at the user-provided configurations and pull out model information including constants

Parameters:

initial_init (bool = False) –

Must be set to True if this is the first time this method has been called (additional steps may be

preformed during the first reinit call).

property time

Outer-scope Wrapper for world.time