TidalPy.radiogenics package
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:
LayerModelHolderRadiogenic 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.
- 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
See also
- 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
See also
- 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