pub struct Earth { /* private fields */ }Expand description
The Earth model for one launch site.
Implementations§
Source§impl Earth
impl Earth
Sourcepub fn new(
field: NormalGravity,
site: Geodetic,
gravity: GravityModel,
rotation: EarthRotation,
) -> Result<Self, CoreError>
pub fn new( field: NormalGravity, site: Geodetic, gravity: GravityModel, rotation: EarthRotation, ) -> Result<Self, CoreError>
The Earth model for a launch site at site (on the field’s ellipsoid).
§Errors
CoreError::Domain if the site is not a valid geodetic position, or a constant gravity
magnitude is negative or not finite.
Sourcepub fn wgs84(site: Geodetic) -> Result<Self, CoreError>
pub fn wgs84(site: Geodetic) -> Result<Self, CoreError>
The WGS 84 Earth at site, with the default models: ellipsoidal gravity and Coriolis.
§Errors
As Earth::new.
Sourcepub fn field(&self) -> &NormalGravity
pub fn field(&self) -> &NormalGravity
The normal gravity field.
Sourcepub fn frame(&self) -> &LaunchFrame
pub fn frame(&self) -> &LaunchFrame
The launch frame.
Sourcepub fn gravity_model(&self) -> GravityModel
pub fn gravity_model(&self) -> GravityModel
The gravity model.
Sourcepub fn rotation(&self) -> EarthRotation
pub fn rotation(&self) -> EarthRotation
The rotation terms included.
Sourcepub fn angular_velocity_enu_rad_s(&self) -> DVec3
pub fn angular_velocity_enu_rad_s(&self) -> DVec3
The Earth’s angular velocity Ω = ω (0, cos φ₀, sin φ₀) resolved in the launch frame,
rad/s, whichever terms are enabled.
Sourcepub fn gravity_enu_mps2(
&self,
position_enu_m: DVec3,
) -> Result<DVec3, CoreError>
pub fn gravity_enu_mps2( &self, position_enu_m: DVec3, ) -> Result<DVec3, CoreError>
Gravity at a launch-frame position, resolved in the launch frame, m/s².
§Errors
CoreError::Domain for a non-finite position, or (for the ellipsoidal model) a position
hundreds of kilometers inside the Earth.
Sourcepub fn rotation_acceleration_enu_mps2(&self, velocity_enu_m_s: DVec3) -> DVec3
pub fn rotation_acceleration_enu_mps2(&self, velocity_enu_m_s: DVec3) -> DVec3
The Earth-rotation acceleration on a body moving at velocity_enu_m_s relative to the
launch frame: −2 Ω × v with Coriolis enabled, zero otherwise, m/s².