Package SatStress :: Module SatStress :: Class NSR
[frames] | no frames]

Class NSR

source code

object --+    
         |    
 StressDef --+
             |
            NSR

An object defining the stress field which arises from the non-synchronous rotation (NSR) of a satellite's icy shell.

NSR is a subclass of StressDef. See the derivation and detailed discussion of this stress field in in Wahr et al. (2008).

Instance Methods
NSR
__init__(self, satellite)
Initialize the definition of the stresses due to NSR of the ice shell.
source code
float
Ttt(self, theta, phi, t)
Calculates the τ_θθ (north-south) component of the stress tensor.
source code
float
Tpp(self, theta, phi, t)
Calculates the τ_φφ (east-west) component of the stress tensor.
source code
float
Tpt(self, theta, phi, t)
Calculates the τ_φθ (off-diagonal) component of the stress tensor.
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__

    Inherited from StressDef
float
Delta(self, layer_n=-1)
Calculate Δ, a measure of how viscous the layer's response is.
source code
complex
Gamma(self)
Calculate the coefficient capital Gamma twiddle for the surface layer (see Wahr et al.
source code
float
Z(self)
Calculate the value of Z, a constant that sits in front of many terms in the potential defined by Wahr et al.
source code
 
__str__(self)
Output information about this stress field, including frequency dependent parameters.
source code
complex
alpha(self)
Calculate the coefficient alpha twiddle for the surface layer (see Wahr et al.
source code
complex
b1(self)
Calculate the coefficient beta one twiddle for the surface layer (see Wahr et al.
source code
complex
b2(self)
Calculate the coefficient beta two twiddle for the surface layer (see Wahr et al.
source code
 
calcLove(self)
Calculate the Love numbers for the satellite and the given forcing.
source code
 
calcLoveInfinitePeriod(self)
Return a set of zero Love numbers constructed statically.
source code
 
calcLoveWahr4LayerExternal(self)
Use John Wahr's Love number code to calculate h, k, and l.
source code
 
forcing_period(self)
Calculate the forcing period based on the forcing frequency (omega).
source code
complex
g1(self)
Calculate the coefficient gamma one twiddle for the surface layer (see Wahr et al.
source code
complex
g2(self)
Calculate the coefficient gamma two twiddle for the surface layer (see Wahr et al.
source code
complex
lambda_twiddle(self, layer_n=-1)
Calculate the frequency-dependent Lame parameter λ for a Maxwell rheology.
source code
complex
mu_twiddle(self, layer_n=-1)
Calculate the frequency-dependent Lame parameter μ for a Maxwell rheology.
source code
Class Variables
    Inherited from StressDef
LoveNum love = LoveNum(0, 0, 0, 0, 0, 0)
the Love numbers which result from the given forcing frequency and the specified satellite structure.
float omega = 0.0
the forcing frequency associated with the stress.
Satellite satellite = None
the satellite which the stress is being applied to.
Properties

Inherited from object: __class__

Method Details

__init__(self, satellite)
(Constructor)

source code 

Initialize the definition of the stresses due to NSR of the ice shell.

The forcing frequency ω is the frequency with which a point on the surface passes through a single hemisphere, because the NSR stress field is degree 2 (that is, it's 2x the expected ω from a full rotation)

Because the core is not subject to the NSR forcing (it remains tidally locked and synchronously rotating), all stresses within it are presumed to relax away, allowing it to deform into a tri-axial ellipsoid, with its long axis pointing toward the parent planet. In order to allow for this relaxation the shear modulus (μ) of the core is set to an artificially low value for the purpose of the Love number calculation. This increases the magnitude of the radial deformation (and the Love number h2) significantly. See Wahr et al. (2008) for complete discussion.

Parameters:
  • satellite (Satellite) - the satellite to which the stress is being applied.
Returns: NSR
an object defining the NSR stresses for a particular satellite.
Overrides: object.__init__

Ttt(self, theta, phi, t)

source code 

Calculates the τ_θθ (north-south) component of the stress tensor.

Parameters:
  • theta - the co-latitude of the point at which to calculate the stress [rad].
  • phi - the east-positive longitude of the point at which to calculate the stress [rad].
  • t - the time, in seconds elapsed since pericenter, at which to perform the stress calculation [s].
Returns: float
the τ_θθ component of the 2x2 membrane stress tensor.
Overrides: StressDef.Ttt

Tpp(self, theta, phi, t)

source code 

Calculates the τ_φφ (east-west) component of the stress tensor.

Parameters:
  • theta - the co-latitude of the point at which to calculate the stress [rad].
  • phi - the east-positive longitude of the point at which to calculate the stress [rad].
  • t - the time, in seconds elapsed since pericenter, at which to perform the stress calculation [s].
Returns: float
the τ_φφ component of the 2x2 membrane stress tensor.
Overrides: StressDef.Tpp

Tpt(self, theta, phi, t)

source code 

Calculates the τ_φθ (off-diagonal) component of the stress tensor.

Parameters:
  • theta - the co-latitude of the point at which to calculate the stress [rad].
  • phi - the east-positive longitude of the point at which to calculate the stress [rad].
  • t - the time in seconds elapsed since pericenter, at which to perform the stress calculation [s].
Returns: float
the τ_φθ component of the 2x2 membrane stress tensor.
Overrides: StressDef.Tpt