pub struct SphericalHarmonicGravity { /* private fields */ }Expand description
Fully normalized spherical-harmonic gravity perturbation.
The force is perturbation-only: degree 0 and degree 1 rows are ignored, and acceleration sums begin at degree 2.
Implementations§
Source§impl SphericalHarmonicGravity
impl SphericalHarmonicGravity
Sourcepub fn egm96_degree_order_36() -> Result<SphericalHarmonicGravity, PropagationError>
pub fn egm96_degree_order_36() -> Result<SphericalHarmonicGravity, PropagationError>
Build the embedded EGM96 degree and order 36 model.
Sourcepub fn egm96_truncated(
max_degree: u16,
max_order: u16,
) -> Result<SphericalHarmonicGravity, PropagationError>
pub fn egm96_truncated( max_degree: u16, max_order: u16, ) -> Result<SphericalHarmonicGravity, PropagationError>
Build the embedded EGM96 model truncated to max_degree and max_order.
Sourcepub fn earth_egm96_truncated(
max_degree: u16,
max_order: u16,
) -> Result<SphericalHarmonicGravity, PropagationError>
pub fn earth_egm96_truncated( max_degree: u16, max_order: u16, ) -> Result<SphericalHarmonicGravity, PropagationError>
Build an Earth-constant model over the embedded EGM96 coefficient table.
Sourcepub fn from_normalized_coefficients(
mu_km3_s2: f64,
reference_radius_km: f64,
max_degree: u16,
max_order: u16,
coefficients: &[SphericalHarmonicCoefficient],
) -> Result<SphericalHarmonicGravity, PropagationError>
pub fn from_normalized_coefficients( mu_km3_s2: f64, reference_radius_km: f64, max_degree: u16, max_order: u16, coefficients: &[SphericalHarmonicCoefficient], ) -> Result<SphericalHarmonicGravity, PropagationError>
Build from caller-supplied fully normalized coefficients.
Coefficients above the requested degree or order are ignored. Degree 0 and 1 coefficients are ignored because this force contains only the perturbation sum from degree 2 upward.
Sourcepub fn from_normalized_ascii_table(
mu_km3_s2: f64,
reference_radius_km: f64,
max_degree: u16,
max_order: u16,
table: &str,
) -> Result<SphericalHarmonicGravity, PropagationError>
pub fn from_normalized_ascii_table( mu_km3_s2: f64, reference_radius_km: f64, max_degree: u16, max_order: u16, table: &str, ) -> Result<SphericalHarmonicGravity, PropagationError>
Build from an ASCII coefficient table.
Accepted data rows are either n m Cnm Snm ... or gfc n m Cnm Snm ....
Blank lines and lines beginning with # are ignored.
Sourcepub fn reference_radius_km(&self) -> f64
pub fn reference_radius_km(&self) -> f64
Reference equatorial radius, km.
Sourcepub fn max_degree(&self) -> u16
pub fn max_degree(&self) -> u16
Highest active degree.
Sourcepub fn coefficient(
&self,
degree: u16,
order: u16,
) -> Option<SphericalHarmonicCoefficient>
pub fn coefficient( &self, degree: u16, order: u16, ) -> Option<SphericalHarmonicCoefficient>
Return the coefficient at degree, order, if it lies inside the model.
Sourcepub fn body_fixed_acceleration_km_s2(
&self,
position_body_fixed_km: [f64; 3],
) -> Result<[f64; 3], PropagationError>
pub fn body_fixed_acceleration_km_s2( &self, position_body_fixed_km: [f64; 3], ) -> Result<[f64; 3], PropagationError>
Evaluate the perturbation acceleration in the body-fixed frame.
Trait Implementations§
Source§impl Clone for SphericalHarmonicGravity
impl Clone for SphericalHarmonicGravity
Source§fn clone(&self) -> SphericalHarmonicGravity
fn clone(&self) -> SphericalHarmonicGravity
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SphericalHarmonicGravity
impl Debug for SphericalHarmonicGravity
Source§impl Default for SphericalHarmonicGravity
impl Default for SphericalHarmonicGravity
Source§fn default() -> SphericalHarmonicGravity
fn default() -> SphericalHarmonicGravity
Source§impl ForceModel for SphericalHarmonicGravity
impl ForceModel for SphericalHarmonicGravity
fn acceleration( &self, state: &CartesianState, ctx: &PropagationContext, ) -> Result<Matrix<f64, Const<3>, Const<1>, ArrayStorage<f64, 3, 1>>, PropagationError>
Source§impl PartialEq for SphericalHarmonicGravity
impl PartialEq for SphericalHarmonicGravity
impl StructuralPartialEq for SphericalHarmonicGravity
Auto Trait Implementations§
impl Freeze for SphericalHarmonicGravity
impl RefUnwindSafe for SphericalHarmonicGravity
impl Send for SphericalHarmonicGravity
impl Sync for SphericalHarmonicGravity
impl Unpin for SphericalHarmonicGravity
impl UnsafeUnpin for SphericalHarmonicGravity
impl UnwindSafe for SphericalHarmonicGravity
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.