TidalPy.structures package
Subpackages
- TidalPy.structures.helpers package
- TidalPy.structures.layers package
- Submodules
- TidalPy.structures.layers.basic module
LayerBaseLayerBase.clear_state()LayerBase.densityLayerBase.gravityLayerBase.internal_thermal_equilibrium_changed()LayerBase.is_tidalLayerBase.is_top_layerLayerBase.layer_aboveLayerBase.layer_belowLayerBase.layer_classLayerBase.layer_indexLayerBase.nameLayerBase.pressureLayerBase.reinit()LayerBase.set_geometry()LayerBase.set_pressure()LayerBase.set_state()LayerBase.set_temperature()LayerBase.strength_changed()LayerBase.surface_temperatureLayerBase.surface_temperature_changed()LayerBase.temperatureLayerBase.temperature_pressure_changed()LayerBase.tidal_frequencies_changed()LayerBase.timeLayerBase.time_changed()LayerBase.use_bulk_densityLayerBase.use_surf_gravityLayerBase.use_tidal_vol_fracLayerBase.world
- TidalPy.structures.layers.gas module
- TidalPy.structures.layers.helper module
- TidalPy.structures.layers.physics module
PhysicsLayerPhysicsLayer.bltPhysicsLayer.boundary_layer_thicknessPhysicsLayer.calc_temperature_derivative()PhysicsLayer.clear_state()PhysicsLayer.complex_compliancesPhysicsLayer.complex_compliances_changed()PhysicsLayer.compliancePhysicsLayer.coolingPhysicsLayer.cooling_fluxPhysicsLayer.cooling_modelPhysicsLayer.geotherm()PhysicsLayer.internal_thermal_equilibrium_changed()PhysicsLayer.layer_classPhysicsLayer.liquid_viscosityPhysicsLayer.melt_fractionPhysicsLayer.nusseltPhysicsLayer.radiogenic_heatingPhysicsLayer.radiogenicsPhysicsLayer.rayleighPhysicsLayer.reinit()PhysicsLayer.rheologyPhysicsLayer.set_state()PhysicsLayer.set_strength()PhysicsLayer.shear_modulusPhysicsLayer.strength_changed()PhysicsLayer.surface_temperature_changed()PhysicsLayer.temperature_pressure_changed()PhysicsLayer.temperature_time_derivativePhysicsLayer.tidal_frequencies_changed()PhysicsLayer.tidal_heatingPhysicsLayer.time_changed()PhysicsLayer.update_cooling()PhysicsLayer.use_pressure_in_strength_calcPhysicsLayer.viscosity
- TidalPy.structures.orbit package
- Submodules
- TidalPy.structures.orbit.base module
OrbitBaseOrbitBase.all_objectsOrbitBase.all_tidal_world_orbit_index_by_nameOrbitBase.all_tidal_world_orbit_index_by_instanceOrbitBase.tidal_objectsOrbitBase.tidal_hostOrbitBase.starOrbitBase.star_hostOrbitBase.eccentricitiesOrbitBase.semi_major_axesOrbitBase.orbital_frequenciesOrbitBase.orbital_periodsOrbitBase.host_tide_raiserOrbitBase.universal_timeOrbitBase.add_star()OrbitBase.add_tidal_host()OrbitBase.add_tidal_world()OrbitBase.all_objectsOrbitBase.all_tidal_world_orbit_index_by_instanceOrbitBase.all_tidal_world_orbit_index_by_nameOrbitBase.class_nameOrbitBase.clear_state()OrbitBase.days2rads()OrbitBase.dissipation_changed()OrbitBase.eccentricitiesOrbitBase.get_eccentricity()OrbitBase.get_orbital_frequency()OrbitBase.get_orbital_period()OrbitBase.get_semi_major_axis()OrbitBase.get_stellar_distance()OrbitBase.get_stellar_eccentricity()OrbitBase.get_tidal_host()OrbitBase.host_tide_raiserOrbitBase.orbit_changed()OrbitBase.orbital_frequenciesOrbitBase.orbital_motion2semi_a()OrbitBase.orbital_periodsOrbitBase.rads2days()OrbitBase.reinit()OrbitBase.semi_a2orbital_motion()OrbitBase.semi_major_axesOrbitBase.set_eccentricity()OrbitBase.set_host_tide_raiser()OrbitBase.set_orbital_frequency()OrbitBase.set_orbital_period()OrbitBase.set_semi_major_axis()OrbitBase.set_state()OrbitBase.set_states()OrbitBase.set_stellar_distance()OrbitBase.set_stellar_eccentricity()OrbitBase.starOrbitBase.star_hostOrbitBase.tidal_hostOrbitBase.tidal_objectsOrbitBase.timeOrbitBase.universal_timeOrbitBase.world_signature_to_index()
- TidalPy.structures.orbit.physics module
PhysicsOrbitPhysicsOrbit.add_star()PhysicsOrbit.add_tidal_world()PhysicsOrbit.calculate_insolation()PhysicsOrbit.calculate_orbital_derivatives()PhysicsOrbit.class_namePhysicsOrbit.dissipation_changed()PhysicsOrbit.eccentricity_time_derivativesPhysicsOrbit.get_eccentricity_time_derivative()PhysicsOrbit.get_orbital_motion_time_derivative()PhysicsOrbit.get_semi_major_axis_time_derivative()PhysicsOrbit.orbit_changed()PhysicsOrbit.orbital_motion_time_derivativesPhysicsOrbit.semi_major_axis_time_derivativesPhysicsOrbit.set_stellar_distance()PhysicsOrbit.set_stellar_eccentricity()PhysicsOrbit.tidally_active_worlds
- TidalPy.structures.world_builder package
- TidalPy.structures.world_types package
- Submodules
- TidalPy.structures.world_types.basic module
BaseWorldBaseWorld.albedoBaseWorld.clear_state()BaseWorld.eccentricityBaseWorld.eccentricity_time_derivativeBaseWorld.emissivityBaseWorld.equilibrium_insolation_funcBaseWorld.force_spin_syncBaseWorld.get_internal_heating_to_surface()BaseWorld.insolation_heatingBaseWorld.internal_to_surf_heating_fracBaseWorld.kill_world()BaseWorld.nBaseWorld.nameBaseWorld.obliquityBaseWorld.orbitBaseWorld.orbit_spin_changed()BaseWorld.orbital_freqBaseWorld.orbital_frequencyBaseWorld.orbital_motionBaseWorld.orbital_motion_time_derivativeBaseWorld.orbital_periodBaseWorld.paint()BaseWorld.reinit()BaseWorld.save_world()BaseWorld.semi_major_axisBaseWorld.semi_major_axis_time_derivativeBaseWorld.set_geometry()BaseWorld.set_insolation_heating()BaseWorld.set_obliquity()BaseWorld.set_spin_frequency()BaseWorld.set_spin_period()BaseWorld.set_state()BaseWorld.set_time()BaseWorld.spin_freqBaseWorld.spin_frequencyBaseWorld.spin_periodBaseWorld.stellar_distanceBaseWorld.stellar_eccentricityBaseWorld.surface_temperatureBaseWorld.surface_temperature_changed()BaseWorld.tidal_hostBaseWorld.timeBaseWorld.time_changed()BaseWorld.update_surface_temperature()BaseWorld.world_class
- TidalPy.structures.world_types.gas module
- TidalPy.structures.world_types.layered module
LayeredWorldLayeredWorld.complex_compliances_changed()LayeredWorld.dissipation_changed()LayeredWorld.find_layer()LayeredWorld.find_layer_by_radius()LayeredWorld.get_internal_heating_to_surface()LayeredWorld.layer_typesLayeredWorld.layersLayeredWorld.layers_by_nameLayeredWorld.layers_classLayeredWorld.num_layersLayeredWorld.reinit()LayeredWorld.set_geometry()LayeredWorld.set_static_pressure()LayeredWorld.surface_temperature_changed()LayeredWorld.tidal_frequencies_changed()LayeredWorld.time_changed()LayeredWorld.world_class
- TidalPy.structures.world_types.stellar module
- TidalPy.structures.world_types.tidal module
TidalWorldTidalWorld.calc_spin_derivative()TidalWorld.clear_state()TidalWorld.dUdMTidalWorld.dUdOTidalWorld.dUdwTidalWorld.dissipation_changed()TidalWorld.eccentricity_truncation_lvlTidalWorld.effective_q_by_orderlTidalWorld.fixed_dtTidalWorld.fixed_qTidalWorld.fixed_time_lagTidalWorld.get_internal_heating_to_surface()TidalWorld.global_love_by_orderlTidalWorld.global_negative_imk_by_orderlTidalWorld.internal_heating_changed()TidalWorld.is_spin_syncTidalWorld.max_tidal_order_lvlTidalWorld.orbit_spin_changed()TidalWorld.reinit()TidalWorld.set_fixed_dt()TidalWorld.set_fixed_q()TidalWorld.spin_time_derivativeTidalWorld.tidal_frequencies_changed()TidalWorld.tidal_heatingTidalWorld.tidal_heating_globalTidalWorld.tidal_polar_torqueTidalWorld.tidal_susceptibilityTidalWorld.tidal_susceptibility_reducedTidalWorld.tidal_terms_by_frequencyTidalWorld.tidesTidalWorld.tides_onTidalWorld.unique_tidal_frequenciesTidalWorld.use_nsrTidalWorld.world_class
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]