TidalPy.cooling package

TidalPy.cooling.get_cooling_model_default_inputs(layer_type: str)[source]

Submodules

TidalPy.cooling.cooling module

class TidalPy.cooling.cooling.CoolingModel[source]

Bases: LayerModelHolder

Cooling model provides the functionality to calculate a layer’s cooling efficiency based on user provided

parameters related to convection and conduction.

See also

TidalPy.utilities.methods.model.LayerModelHolder

property blt

Alias for self.boundary_layer_thickness [m]

property boundary_layer_thickness: FloatArray

This layer’s thermal boundary layer thickness [m]

clear_state()[source]

Clear all state properties to None.

Purposefully avoid clearing things set during initialization: This should not clear configurations, methods,

or loaded functions. Instead it will reset properties like temperature, pressure, orbital frequency, etc.

property cooling: FloatArray

This layer’s cooling [W]

property cooling_flux: FloatArray

This layer’s cooling flux [W m-2]

property density_bulk

Outer-scope wrapper for layer.density_bulk

property gravity

Outer-scope wrapper for layer.gravity

known_model_const_args = {'conduction': (), 'convection': ('convection_alpha', 'convection_beta', 'critical_rayleigh'), 'off': ()}
known_model_live_args = {'conduction': ('self.thermal_conductivity', 'self.thickness'), 'convection': ('self.viscosity', 'self.thermal_conductivity', 'self.thermal_diffusivity', 'self.thermal_expansion', 'self.thickness', 'self.gravity', 'self.density_bulk'), 'off': ('self.thickness',)}
known_models = {'conduction': CPUDispatcher(<function conduction>), 'convection': CPUDispatcher(<function convection>), 'off': CPUDispatcher(<function off>)}
model_config_key = 'cooling'
property nusselt: FloatArray

This layer’s nusselt number

property rayleigh: FloatArray

This layer’s rayleigh number

property surface_area

Outer-scope wrapper for layer.surface_area_outer

property temperature

Outer-scope wrapper for layer.temperature

property temperature_surf

Outer-scope wrapper for layer.surface_temperature

property thermal_conductivity

Outer-scope wrapper for layer.thermal_conductivity

property thermal_diffusivity

Outer-scope wrapper for layer.thermal_diffusivity

property thermal_expansion

Outer-scope wrapper for layer.thermal_expansion

property thickness

Outer-scope wrapper for layer.thickness

property viscosity

Outer-scope wrapper for layer.viscosity

TidalPy.cooling.cooling_models module

TidalPy.cooling.cooling_models.conduction(delta_temp: FloatArray, thermal_conductivity: float, layer_thickness: float) CoolingOutputType[source]

Calculates cooling by conduction through a sub-layer half the thickness of the layer - NonArrays Only

Half layer thickness is used based on the assumption that delta_temp is the average (central) temperature minus

the surface temperature.

!TPY_args live: self.thermal_conductivity, self.thickness

Parameters:
  • delta_temp (FloatArray) – Difference in temperature between top and mid (or bottom) of layer [K]

  • thermal_conductivity (float) – Thermal conductivity of layer material [W K-1 m-1]

  • layer_thickness (float) – Thickness of layer [m]

Returns:

  • cooling_flux (FloatArray) – Heat flux leaving the layer [W m-2]

  • boundary_layer_thickness (FloatArray) – Thickness of boundary layer (if any) [m]

  • rayleigh (FloatArray) – Rayleigh number (only non-zero for convection)

  • nusselt (FloatArray) – Nusselt number (only != 1 for convection)

TidalPy.cooling.cooling_models.convection(delta_temp: FloatArray, viscosity: FloatArray, thermal_conductivity: float, thermal_diffusivity: float, thermal_expansion: float, layer_thickness: float, gravity: float, density: float, convection_alpha: float, convection_beta: float, critical_rayleigh: float) CoolingOutputType[source]

Calculates cooling by a parameterized convection model via the Rayleigh number

!TPY_args live: self.viscosity, self.thermal_conductivity, self.thermal_diffusivity, self.thermal_expansion, self.thickness, self.gravity, self.density_bulk !TPY_args const: convection_alpha, convection_beta, critical_rayleigh

Parameters:
  • delta_temp (FloatArray) – Difference in temperature between top and mid (or bottom) of layer [K]

  • viscosity (FloatArray) – Viscosity of convecting layer [Pa s]

  • thermal_conductivity (float) – Thermal conductivity of layer material [W K-1 m-1]

  • thermal_diffusivity (float) – Thermal diffusivity of layer [m2 s-1]

  • thermal_expansion (float) – Thermal expansion of layer [K-1]

  • layer_thickness (float) – Thickness of layer [m]

  • gravity (float) – Surface gravity of layer [m s-2]

  • density (float) – Bulk density of layer [kg m-3]

  • convection_alpha (float) – Convection scaling term that is ~1. Nusselt number = alpha * (rayleigh / rayleigh_crit) ^ beta

  • convection_beta (float) – Nusselt number = alpha * (rayleigh / rayleigh_crit) ^ beta

  • critical_rayleigh (float) – Nusselt number = alpha * (rayleigh / rayleigh_crit) ^ beta

Returns:

  • cooling_flux (FloatArray) – Heat flux leaving the layer [W m-2]

  • boundary_layer_thickness (FloatArray) – Thickness of boundary layer (if any) [m]

  • rayleigh (FloatArray) – Rayleigh number (only non-zero for convection)

  • nusselt (FloatArray) – Nusselt number (only != 1 for convection)

TidalPy.cooling.cooling_models.off(delta_temp: FloatArray, layer_thickness: float) CoolingOutputType[source]

No cooling - Max boundary layer thickness

!TPY_args live: self.thickness

Parameters:
  • delta_temp (float) – Difference in temperature between top and mid (or bottom) of layer [K] Not used in this model.

  • layer_thickness (float) – Thickness of layer [m]

Returns:

  • cooling_flux (FloatArray) – Heat flux leaving the layer [W m-2]

  • boundary_layer_thickness (FloatArray) – Thickness of boundary layer (if any) [m]

  • rayleigh (FloatArray) – Rayleigh number (only non-zero for convection)

  • nusselt (FloatArray) – Nusselt number (only != 1 for convection)