TidalPy.tides package

Subpackages

Submodules

TidalPy.tides.dissipation module

TidalPy.tides.dissipation.calc_tidal_susceptibility(host_mass: float, target_radius: float, semi_major_axis: FloatArray) FloatArray[source]

Calculate the tidal susceptibility for a given target radius, host mass, and their separation.

Parameters:
  • host_mass (float) – Mass of central host [kg]

  • target_radius (float) – Radius of target body [m]

  • semi_major_axis (FloatArray) – Semi-major axis [m]

Returns:

tidal_susceptibility – Tidal Susceptibility [N m]

Return type:

FloatArray

TidalPy.tides.dissipation.calc_tidal_susceptibility_reduced(host_mass: float, target_radius: float) float[source]

Calculate the tidal susceptibility (reduced) for a given target radius and host mass.

The reduced tidal susceptibility excludes the semi-major axis.

Parameters:
  • host_mass (float) – Mass of central host [kg]

  • target_radius (float) – Radius of target body [m]

Returns:

tidal_susceptibility_reduced – Tidal Susceptibility [N m]

Return type:

np.ndarray

TidalPy.tides.heating module

Functions used to estimate tidal heating within a solid planet or layer.

TidalPy.tides.heating.calculate_volumetric_heating(stress: ndarray, strain: ndarray) ndarray[source]

Calculates the tidal heating rate per unit volume based on the tidal stresses and strains.

Parameters:
  • stress (np.ndarray) – Tidal stress tensor (complex np.ndarray) [Pa]

  • strain (np.ndarray) – Tidal strain tensor (complex np.ndarray) [unitless]

Returns:

volumetric_heating – Tidal heating rate per unit volume [W m-3]

Return type:

np.ndarray

TidalPy.tides.love1d module

TidalPy.tides.love1d.complex_love(complex_compliance: FloatArray, shear_modulus: FloatArray, eff_rigidity: FloatArray) FloatArray[source]

Calculates the 2nd order complex Love number

Parameters:
  • complex_compliance (FloatArray) – Complex compliance (rheology based) [Pa-1]

  • shear_modulus (FloatArray) – Temperature modulated rigidity [Pa]

  • eff_rigidity (FloatArray) – 2nd order effective rigidity

Returns:

cmplx_love – 2nd order complex Love number

Return type:

FloatArray

TidalPy.tides.love1d.complex_love_general(complex_compliance: FloatArray, shear_modulus: FloatArray, eff_rigidity_general: FloatArray, order_l: int = 2) FloatArray[source]

Calculates the l-th order complex Love number

Parameters:
  • complex_compliance (FloatArray) – Complex compliance (rheology based) [Pa-1]

  • shear_modulus (FloatArray) – Temperature modulated rigidity [Pa]

  • eff_rigidity_general (FloatArray) – l-th order effective rigidity

  • order_l (int) – Outermost Fourier summation integer

Returns:

cmplx_love – l-th order complex Love number

Return type:

FloatArray

TidalPy.tides.love1d.effective_rigidity(shear_modulus: FloatArray, gravity: float, radius: float, density: float) FloatArray[source]

Calculates the 2nd order effective rigidity

Parameters:
  • shear_modulus (FloatArray) – Temperature modulated rigidity [Pa]

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

  • radius (float) – Surface (of planet or layer) radius [m]

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

Returns:

eff_rigid – 2nd order Effective Rigidity

Return type:

FloatArray

TidalPy.tides.love1d.effective_rigidity_general(shear_modulus: FloatArray, gravity: float, radius: float, density: float, order_l: int = 2) FloatArray[source]

Calculates the l-th order effective rigidity

Parameters:
  • shear_modulus (FloatArray) – Temperature modulated rigidity [Pa]

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

  • radius (float) – Surface (of planet or layer) radius [m]

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

  • order_l (int) – Outermost Fourier summation integer

Returns:

eff_rigid – l-th order Effective Rigidity

Return type:

FloatArray

TidalPy.tides.love1d.static_love(eff_rigidity: FloatArray) FloatArray[source]

Calculate the static (non-complex) 2nd order Love number

Parameters:

eff_rigidity (FloatArray) – 2nd order effective rigidity

Returns:

static_love – 2nd order complex Love number

Return type:

FloatArray

TidalPy.tides.love1d.static_love_general(eff_rigidity_general: FloatArray, order_l: int = 2) FloatArray[source]

Calculate the static (non-complex) tidal Love number k.

Parameters:
  • eff_rigidity_general (FloatArray) – l-th order effective rigidity

  • order_l (int) – Outermost Fourier summation integer

Returns:

static_love – l-th order complex Love number

Return type:

FloatArray

TidalPy.tides.universal_coeffs module

Universal coefficients used to calculate tidal heating and tidal potential derivatives Precomputed here to avoid calls to gamma functions in expensive loops. Defined as:

[(l - m)! / (l + m)!] * (2 - delta_0m)

Stored as:

[order_l] [m] Starting with order_l = 2 and m = 0

TidalPy.tides.universal_coeffs.get_universal_coeffs(order_l: int)[source]