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

Class Satellite

source code

object --+
         |
        Satellite

An object describing the physical structure and context of a satellite.

Defines a satellite's material properties, internal structure, orbital context, and the tidal forcings to which it is subjected.

Instance Methods
Satellite
__init__(self, satFile)
Construct a Satellite object from a satFile
source code
 
mass(self)
Calculate the mass of the satellite.
source code
 
radius(self)
Calculate the radius of the satellite (the sum of the layer thicknesses).
source code
 
density(self)
Calculate the mean density of the satellite in [kg m^-3].
source code
 
surface_gravity(self)
Calculate the satellite's surface gravitational acceleration in [m s^-2].
source code
 
orbit_period(self)
Calculate the satellite's Keplerian orbital period in seconds.
source code
 
mean_motion(self)
Calculate the orbital mean motion of the satellite [rad s^-1].
source code
 
__str__(self)
Output a satellite definition file equivalent to the object.
source code

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

Instance Variables
list layers
a list of SatLayer objects, describing the layers making up the satellite.
float nsr_period
the time it takes for the decoupled ice shell to complete one full rotation [s], corresponds to NSR_PERIOD in the input file.
int num_layers
the number of layers making up the satellite, as indicated by the number of keys within the satParams dictionary contain the string 'LAYER_ID'.
float orbit_eccentricity
the satellite's orbital eccentricity, corresponds to ORBIT_ECCENTRICITY in the input file.
float orbit_semimajor_axis
semimajor axis of the satellite's orbit [m], corresponds to ORBIT_SEMIMAJOR_AXIS in the input file.
float planet_mass
the mass of the planet the satellite orbits [kg], corresponds to PLANET_MASS in the input file.
dict satParams
dictionary containing the name value pairs read in from the input file.
file sourcefile
the file object which was read in order to create the Satellite instance.
str system_id
string identifying the planet/satellite system, corresponds to SYSTEM_ID in the input file.
Properties

Inherited from object: __class__

Method Details

__init__(self, satFile)
(Constructor)

source code 

Construct a Satellite object from a satFile

Required input file parameters:

The Satellite is initialized from a name value file (as described under nvf2dict). The file must define the following parameters, all of which are specified in SI (MKS) units.

  • SYSTEM_ID: A string identifying the planetary system, e.g. JupiterEuropa.
  • PLANET_MASS: The mass of the planet the satellite orbits [kg].
  • ORBIT_ECCENTRICITY: The eccentricity of the satellite's orbit. Must not exceed 0.25.
  • ORBIT_SEMIMAJOR_AXIS: The semimajor axis of the satellite's orbit [m].
  • NSR_PERIOD: The time it takes for the satellite's icy shell to undergo one full rotation [s]. If you don't want to have any NSR stresses, just put INFINITY here.

An example satFile is included with the SatStress package:

   SatStress-X.Y.Z/input/Europa.satellite

Where X.Y.Z refers to the version numbers.

Parameters:
  • satFile (file) - Open file object containing name value pairs specifying the satellite's internal structure and orbital context, and the tidal forcings to which the satellite is subjected.
Returns: Satellite
a Satellite object corresponding to the proffered input file.
Raises:
Overrides: object.__init__

mass(self)

source code 

Calculate the mass of the satellite. (the sum of the layer masses)

__str__(self)
(Informal representation operator)

source code 

Output a satellite definition file equivalent to the object.

Overrides: object.__str__

Instance Variable Details

layers

a list of SatLayer objects, describing the layers making up the satellite. The layers are ordered from the center of the satellite outward, with layers[0] corresponding to the core.
Type:
list

nsr_period

the time it takes for the decoupled ice shell to complete one full rotation [s], corresponds to NSR_PERIOD in the input file. May also be set to infinity (inf, infinity, INF, INFINITY).
Type:
float

num_layers

the number of layers making up the satellite, as indicated by the number of keys within the satParams dictionary contain the string 'LAYER_ID'. Currently this must equal 4.
Type:
int