TidalPy.structures package
Subpackages
Submodules
TidalPy.structures.physical module
physical.py - Physical object base class
This module contains the base python class for physical objects (layers, planets, stars, etc.).
- class TidalPy.structures.physical.PhysicalObjSpherical(config: dict)[source]
Bases:
ConfigHolderPhysicalObjSpherical Class contains attributes and functionality used for objects such as planets or layers that are spherical shell.
Assumptions
Assumes spherical geometry.
- property M
Alias of PhysicalObjSpherical.mass [kg]
- property R
Alias of PhysicalObjSpherical.radius [m]
- property V
Alias of PhysicalObjSpherical.volume [m3]
- property beta: float
Alias of PhysicalObjSpherical.beta_outer
This is the beta used in tidal calculations
Assumptions
We have assumed that the beta generally needed is the beta at the surface of a layer/world.
- property beta_inner: float
Physical Object’s Beta Parameter - Inner side of Object
Beta is related to the object’s radius, bulk density, and gravitational acceleration.
\[eta = R\]ho g
PhysicalObjSpherical.beta_middle PhysicalObjSpherical.beta
- property beta_middle: float
Physical Object’s Beta Parameter - Middle of Object
Beta is related to the object’s radius, bulk density, and gravitational acceleration.
\[eta = R\]ho g
PhysicalObjSpherical.beta PhysicalObjSpherical.beta_inner
- property beta_outer: float
Physical Object’s Beta Parameter - at Surface
Beta is related to the object’s radius, bulk density, and gravitational acceleration.
\[eta = R\]ho g
PhysicalObjSpherical.beta_middle PhysicalObjSpherical.beta_inner
- property densities
Alias of PhysicalObjSpherical.density_slices [kg m-3]
- property density_bulk: float
Physical Object’s Bulk Density [kg m-3]
- property density_inner: float
Density at the Inner Edge of the Object [kg m3]
- property density_middle: float
Density at the Middle of the Object [kg m3]
- property density_outer: float
Density at the Outer Edge / Surface of the Object [kg m3]
- property density_slices: ndarray
Physical Object’s Density Slices (bottom to top) [kg m3]
- property depths: ndarray
Physical Object’s Depth Slices (bottom to top) [m]
- property dx
Alias of PhysicalObjSpherical.thickness [m]
- property g
Alias of PhysicalObjSpherical.gravity_outer [m s-2]
- property gravities
Alias of PhysicalObjSpherical.gravity_slices [m s-2]
- property gravity_inner: float
Acceleration due to Gravity at the Inner Edge of the Object [m s-2]
- property gravity_middle: float
Acceleration due to Gravity at the Outer Edge / Surface of the Object [m s-2]
- property gravity_outer: float
Acceleration due to Gravity at the Outer Edge / Surface of the Object [m s-2]
- property gravity_slices: ndarray
Physical Object’s Acceleration due to Gravity Slices (bottom to top) [m s-2]
- property gravity_surf: float
Alias of PhysicalObjSpherical.gravity_outer
- property gravity_surface
Alias of PhysicalObjSpherical.gravity_outer [m s-2]
- property mass: float
Physical Object’s Mass [kg]
- property mass_below: float
mass of the layer below) [kg]
- Type:
Mass below this structure (for worlds
- Type:
this is zero; for layers
- property mass_below_slices: ndarray
Mass Below each Slice of the Physical Object [kg]
- property mass_slices: ndarray
Mass of each Slice within the Physical Object [kg]
- property masses
Alias of PhysicalObjSpherical.mass_slices [kg]
- property mid_slice_index: int
The Slice Index Closest to (Radius - Thickness / 2)
- property moi: FloatNone
Physical Object’s Moment of Inertia [kg m^2]
- This may either be a measured moment of inertia, or one that is calculate using a more rigorous
method than moi_ideal. In TidalPy this is usually set by BurnMan calculations.
- property moi_factor: float
Physical Object’s Moment of Inertia Factor [unitless]
\[C_{ ext{f} } = C / C_{ ext{Ideal} }\]- C may either be a measured moment of inertia, or one that is calculate using a more rigorous
method than moi_ideal.
- property moi_ideal: float
Physical Object’s Moment of Inertia (for an Ideal Sphere or Spherical Shell) [kg m^2]
\[C_{ ext{Ideal} } = (2 / 5) * M * (R^5 - R_{ ext{Inner} }^5) / (R^3 - R_{ ext{Inner} }^3)\]Assumptions
Spherical Geometry
- property num_slices: int
Number of Slices cut into the Physical Object
- These are used for the calculation of pressures, gravities, etc. so that more accurate values can be found for
e.g., pressure_inner, gravity_inner, etc.
- property pressure_above: float
Pressure above this structure (surface pressure, or pressure from overlying layers) [Pa]
- property pressure_inner: float
Pressure at the Inner Edge of the Object [Pa]
- property pressure_middle: float
Pressure at the Middle of the Object [Pa]
- property pressure_outer: float
Pressure at the Outer Edge / Surface of the Object [Pa]
- property pressure_slices: ndarray
Physical Object’s Pressure Slices (bottom to top) [Pa]
- property pressures
Alias of PhysicalObjSpherical.pressure_slices [Pa]
- property radii: ndarray
Physical Object’s Radius Slices (bottom to top) [m]
- property radius: float
Physical Object’s Outer Radius [m]
- property radius_inner: float
Physical Object’s Inner Radius [m]
- property radius_middle: float
Physical Object’s Middle Radius [m]
“middle” is defined by the object’s thickness / 2
- property radius_outer
Alias of PhysicalObjSpherical.radius [m]
- reinit(initial_init: bool = False)[source]
Reinitialize the physical object by pulling in any potentially new configurations
- Parameters:
initial_init (bool = False) – Set to True for the first time an instance is created.
- property sa_slices: ndarray
Physical Object’s Surface Area Slices (bottom to top) [m2]
- set_geometry(radius: float, mass: float, thickness: float = None, mass_below: float = 0.0, update_state_geometry: bool = True, build_slices: bool = True)[source]
Calculates and sets the object’s physical parameters based on user provided input.
Assumptions
Spherical Geometry
- param radius:
Outer radius of object [m]
- type radius:
float
- param mass:
Mass of object [kg]
- type mass:
float
- param thickness:
Thickness of the object [m]
- type thickness:
float = None
- param mass_below:
Mass below this object (only applicable for shell-like structures) Used in gravity and pressure calculations
- type mass_below:
float = 0.
- param update_state_geometry:
Update the class’ state geometry
- type update_state_geometry:
bool = True
- param build_slices:
If True, method will attempt to calculate gravities, densities, etc. for each slice.
- type build_slices:
bool = True
- set_static_pressure(pressure_above: float = None, build_slices: bool = True)[source]
Sets the static pressure for the physical structure.
- Static here indicates that this is not a dynamic pressure used in many calculations. The static pressure can
be used in place of the dynamic pressure, but that is not always the case.
- Parameters:
pressure_above (float = None) –
- Pressure above this structure. If this is a layer, then it is the pressure at the base of the overlying
layer. If it is the upper-most layer or a world, then it may be the surface pressure.
build_slices (bool = True) – If True, method will find the pressure at each slice of the physical object.
- property surface_area
Alias of PhysicalObjSpherical.surface_area_outer [m2]
- property surface_area_inner: float
Physical Object’s Inner Surface Area [m-2]
- property surface_area_middle: float
Physical Object’s Middle Surface Area [m-2]
“middle” is defined by the object’s thickness / 2
- property surface_area_outer: float
Physical Object’s Outer Surface Area [m-2]
- property surface_areas
Alias of PhysicalObjSpherical.sa_slices [m2]
- property temperature_inner: float
Temperature at the Inner Edge of the Object [K]
- property temperature_outer: float
Temperature at the Outer Edge / Surface of the Object [K]
- property thickness: float
Physical Object’s Thickness [m]
- property volume: float
Physical Object’s Volume [m^3]
- property volume_slices: ndarray
Physical Object’s Volume Slices (bottom to top) [m3]
- property volumes
Alias of PhysicalObjSpherical.volume_slices [m3]