TidalPy.cooling package
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)