org.orekit.propagation.analytical

## Class EcksteinHechlerPropagator

• All Implemented Interfaces:
Propagator, PVCoordinatesProvider

public class EcksteinHechlerPropagator
extends AbstractAnalyticalPropagator
This class propagates a SpacecraftState using the analytical Eckstein-Hechler model.

The Eckstein-Hechler model is suited for near circular orbits (e < 0.1, with poor accuracy between 0.005 and 0.1) and inclination neither equatorial (direct or retrograde) nor critical (direct or retrograde).

Note that before version 7.0, there was a large inconsistency in the generated orbits, and it was fixed as of version 7.0 of Orekit, with a visible side effect. The problems is that if the circular parameters produced by the Eckstein-Hechler model are used to build an orbit considered to be osculating, the velocity deduced from this orbit was inconsistent with the position evolution! The reason is that the model includes non-Keplerian effects but it does not include a corresponding circular/Cartesian conversion. As a consequence, all subsequent computation involving velocity were wrong. This includes attitude modes like yaw compensation and Doppler effect. As this effect was considered serious enough and as accurate velocities were considered important, the propagator now generates Cartesian orbits which are built in a special way to ensure consistency throughout propagation. A side effect is that if circular parameters are rebuilt by user from these propagated Cartesian orbit, the circular parameters will generally not match the initial orbit (differences in semi-major axis can exceed 120 m). The position however will match to sub-micrometer level, and this position will be identical to the positions that were generated by previous versions (in other words, the internals of the models have not been changed, only the output parameters have been changed). The correctness of the initialization has been assessed and is good, as it allows the subsequent orbit to remain close to a numerical reference orbit.

If users need a more definitive initialization of an Eckstein-Hechler propagator, they should consider using a propagator converter to initialize their Eckstein-Hechler propagator using a complete sample instead of just a single initial orbit.

Author:
Guylaine Prat
Orbit

• ### Fields inherited from interface org.orekit.propagation.Propagator

DEFAULT_MASS
• ### Constructor Summary

Constructors
Constructor and Description
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
Build a propagator from orbit, attitude provider and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
Build a propagator from orbit, attitude provider, mass and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType)
Build a propagator from orbit, attitude provider, mass and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType, double epsilon, int maxIterations)
Build a propagator from orbit, attitude provider, mass and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double mass, UnnormalizedSphericalHarmonicsProvider provider)
Build a propagator from orbit, attitude provider, mass and potential provider.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double mass, UnnormalizedSphericalHarmonicsProvider provider, PropagationType initialType)
Build a propagator from orbit, attitude provider, mass and potential provider.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitude, double mass, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics)
Private helper constructor.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitude, double mass, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics, PropagationType initialType)
Private helper constructor.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, UnnormalizedSphericalHarmonicsProvider provider)
Build a propagator from orbit, attitude provider and potential provider.
EcksteinHechlerPropagator(Orbit initialOrbit, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
Build a propagator from orbit and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, double mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
Build a propagator from orbit, mass and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, double mass, UnnormalizedSphericalHarmonicsProvider provider)
Build a propagator from orbit, mass and potential provider.
EcksteinHechlerPropagator(Orbit initialOrbit, UnnormalizedSphericalHarmonicsProvider provider)
Build a propagator from orbit and potential provider.
EcksteinHechlerPropagator(Orbit initialOrbit, UnnormalizedSphericalHarmonicsProvider provider, PropagationType initialType)
Build a propagator from orbit and potential provider.
• ### Method Summary

All Methods
Modifier and Type Method and Description
static CircularOrbit computeMeanOrbit(Orbit osculating, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60, double epsilon, int maxIterations)
Conversion from osculating to mean orbit.
static CircularOrbit computeMeanOrbit(Orbit osculating, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics)
Conversion from osculating to mean orbit.
static CircularOrbit computeMeanOrbit(Orbit osculating, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics, double epsilon, int maxIterations)
Conversion from osculating to mean orbit.
protected AbstractMatricesHarvester createHarvester(String stmName, RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
Create the harvester suitable for propagator.
double[] getCk0()
Get the un-normalized zonal coefficients.
protected double getMass(AbsoluteDate date)
Get the mass.
double getMu()
Get the central attraction coefficient μ.
double getReferenceRadius()
Get the reference radius of the central body attraction model.
CartesianOrbit propagateOrbit(AbsoluteDate date)
Extrapolate an orbit up to a specific target date.
void resetInitialState(SpacecraftState state)
Reset the propagator initial state.
void resetInitialState(SpacecraftState state, PropagationType stateType)
Reset the propagator initial state.
void resetInitialState(SpacecraftState state, PropagationType stateType, double epsilon, int maxIterations)
Reset the propagator initial state.
protected void resetIntermediateState(SpacecraftState state, boolean forward)
Reset an intermediate state.
protected void resetIntermediateState(SpacecraftState state, boolean forward, double epsilon, int maxIterations)
Reset an intermediate state.
• ### Methods inherited from class org.orekit.propagation.analytical.AbstractAnalyticalPropagator

acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getJacobiansColumnsNames, getPvProvider, propagate
• ### Methods inherited from class org.orekit.propagation.AbstractPropagator

addAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getFrame, getHarvester, getInitialState, getManagedAdditionalStates, getMultiplexer, getPVCoordinates, getStartDate, initializeAdditionalStates, initializePropagation, isAdditionalStateManaged, propagate, setAttitudeProvider, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Methods inherited from interface org.orekit.propagation.Propagator

clearStepHandlers, getDefaultLaw, setStepHandler, setStepHandler
• ### Constructor Detail

• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60)
Build a propagator from orbit and potential.

Mass and attitude provider are set to unspecified non-null arbitrary values.

The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:

Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½ Cn,0

Cn,0 = -Jn

Using this constructor, an initial osculating orbit is considered.

Parameters:
initialOrbit - initial orbit
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m³/s²)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
Constants, EcksteinHechlerPropagator(Orbit, AttitudeProvider, double, double, double, double, double, double, double, double)
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
double mass,
UnnormalizedSphericalHarmonicsProvider provider)
Build a propagator from orbit, mass and potential provider.

Attitude law is set to an unspecified non-null arbitrary value.

Using this constructor, an initial osculating orbit is considered.

Parameters:
initialOrbit - initial orbit
mass - spacecraft mass
provider - for un-normalized zonal coefficients
EcksteinHechlerPropagator(Orbit, AttitudeProvider, double, UnnormalizedSphericalHarmonicsProvider)
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
double mass,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60)
Build a propagator from orbit, mass and potential.

Attitude law is set to an unspecified non-null arbitrary value.

The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:

Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½ Cn,0

Cn,0 = -Jn

Using this constructor, an initial osculating orbit is considered.

Parameters:
initialOrbit - initial orbit
mass - spacecraft mass
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m³/s²)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
EcksteinHechlerPropagator(Orbit, AttitudeProvider, double, double, double, double, double, double, double, double)
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
UnnormalizedSphericalHarmonicsProvider provider)
Build a propagator from orbit, attitude provider and potential provider.

Mass is set to an unspecified non-null arbitrary value.

Using this constructor, an initial osculating orbit is considered.

Parameters:
initialOrbit - initial orbit
attitudeProv - attitude provider
provider - for un-normalized zonal coefficients
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60)
Build a propagator from orbit, attitude provider and potential.

Mass is set to an unspecified non-null arbitrary value.

The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:

Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½ Cn,0

Cn,0 = -Jn

Using this constructor, an initial osculating orbit is considered.

Parameters:
initialOrbit - initial orbit
attitudeProv - attitude provider
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m³/s²)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double mass,
UnnormalizedSphericalHarmonicsProvider provider)
Build a propagator from orbit, attitude provider, mass and potential provider.

Using this constructor, an initial osculating orbit is considered.

Parameters:
initialOrbit - initial orbit
attitudeProv - attitude provider
mass - spacecraft mass
provider - for un-normalized zonal coefficients
EcksteinHechlerPropagator(Orbit, AttitudeProvider, double, UnnormalizedSphericalHarmonicsProvider, PropagationType)
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double mass,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60)
Build a propagator from orbit, attitude provider, mass and potential.

The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:

Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½ Cn,0

Cn,0 = -Jn

Using this constructor, an initial osculating orbit is considered.

Parameters:
initialOrbit - initial orbit
attitudeProv - attitude provider
mass - spacecraft mass
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m³/s²)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
EcksteinHechlerPropagator(Orbit, AttitudeProvider, double, double, double, double, double, double, double, double, PropagationType)
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
UnnormalizedSphericalHarmonicsProvider provider,
PropagationType initialType)
Build a propagator from orbit and potential provider.

Mass and attitude provider are set to unspecified non-null arbitrary values.

Using this constructor, it is possible to define the initial orbit as a mean Eckstein-Hechler orbit or an osculating one.

Parameters:
initialOrbit - initial orbit
provider - for un-normalized zonal coefficients
initialType - initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)
Since:
10.2
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double mass,
UnnormalizedSphericalHarmonicsProvider provider,
PropagationType initialType)
Build a propagator from orbit, attitude provider, mass and potential provider.

Using this constructor, it is possible to define the initial orbit as a mean Eckstein-Hechler orbit or an osculating one.

Parameters:
initialOrbit - initial orbit
attitudeProv - attitude provider
mass - spacecraft mass
provider - for un-normalized zonal coefficients
initialType - initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)
Since:
10.2
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitude,
double mass,
UnnormalizedSphericalHarmonicsProvider provider,
UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics,
PropagationType initialType)
Private helper constructor.

Using this constructor, it is possible to define the initial orbit as a mean Eckstein-Hechler orbit or an osculating one.

Parameters:
initialOrbit - initial orbit
attitude - attitude provider
mass - spacecraft mass
provider - for un-normalized zonal coefficients
harmonics - provider.onDate(initialOrbit.getDate())
initialType - initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)
Since:
10.2
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double mass,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60,
PropagationType initialType)
Build a propagator from orbit, attitude provider, mass and potential.

The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:

Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½ Cn,0

Cn,0 = -Jn

Using this constructor, it is possible to define the initial orbit as a mean Eckstein-Hechler orbit or an osculating one.

Parameters:
initialOrbit - initial orbit
attitudeProv - attitude provider
mass - spacecraft mass
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m³/s²)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
initialType - initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)
Since:
10.2
• #### EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double mass,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60,
PropagationType initialType,
double epsilon,
int maxIterations)
Build a propagator from orbit, attitude provider, mass and potential.

The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:

Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½ Cn,0

Cn,0 = -Jn

Using this constructor, it is possible to define the initial orbit as a mean Eckstein-Hechler orbit or an osculating one.

Parameters:
initialOrbit - initial orbit
attitudeProv - attitude provider
mass - spacecraft mass
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m³/s²)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
epsilon - convergence threshold for mean parameters conversion
maxIterations - maximum iterations for mean parameters conversion
initialType - initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)
Since:
11.2
• ### Method Detail

• #### computeMeanOrbit

public static CircularOrbit computeMeanOrbit(Orbit osculating,
UnnormalizedSphericalHarmonicsProvider provider,
UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics)
Conversion from osculating to mean orbit.

Compute mean orbit in a Eckstein-Hechler sense, corresponding to the osculating SpacecraftState in input.

Since the osculating orbit is obtained with the computation of short-periodic variation, the resulting output will depend on the gravity field parameterized in input.

The computation is done through a fixed-point iteration process.

Parameters:
osculating - osculating orbit to convert
provider - for un-normalized zonal coefficients
harmonics - provider.onDate(osculating.getDate())
Returns:
mean orbit in a Eckstein-Hechler sense
Since:
11.2
• #### computeMeanOrbit

public static CircularOrbit computeMeanOrbit(Orbit osculating,
UnnormalizedSphericalHarmonicsProvider provider,
UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics,
double epsilon,
int maxIterations)
Conversion from osculating to mean orbit.

Compute mean orbit in a Eckstein-Hechler sense, corresponding to the osculating SpacecraftState in input.

Since the osculating orbit is obtained with the computation of short-periodic variation, the resulting output will depend on the gravity field parameterized in input.

The computation is done through a fixed-point iteration process.

Parameters:
osculating - osculating orbit to convert
provider - for un-normalized zonal coefficients
harmonics - provider.onDate(osculating.getDate())
epsilon - convergence threshold for mean parameters conversion
maxIterations - maximum iterations for mean parameters conversion
Returns:
mean orbit in a Eckstein-Hechler sense
Since:
11.2
• #### computeMeanOrbit

public static CircularOrbit computeMeanOrbit(Orbit osculating,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60,
double epsilon,
int maxIterations)
Conversion from osculating to mean orbit.

Compute mean orbit in a Eckstein-Hechler sense, corresponding to the osculating SpacecraftState in input.

Since the osculating orbit is obtained with the computation of short-periodic variation, the resulting output will depend on the gravity field parameterized in input.

The computation is done through a fixed-point iteration process.

Parameters:
osculating - osculating orbit to convert
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m³/s²)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
epsilon - convergence threshold for mean parameters conversion
maxIterations - maximum iterations for mean parameters conversion
Returns:
mean orbit in a Eckstein-Hechler sense
Since:
11.2
• #### resetInitialState

public void resetInitialState(SpacecraftState state)
Reset the propagator initial state.

The new initial state to consider must be defined with an osculating orbit.

Specified by:
resetInitialState in interface Propagator
Overrides:
resetInitialState in class AbstractPropagator
Parameters:
state - new initial state to consider
resetInitialState(SpacecraftState, PropagationType)
• #### resetInitialState

public void resetInitialState(SpacecraftState state,
PropagationType stateType)
Reset the propagator initial state.
Parameters:
state - new initial state to consider
stateType - mean Eckstein-Hechler orbit or osculating orbit
Since:
10.2
• #### resetInitialState

public void resetInitialState(SpacecraftState state,
PropagationType stateType,
double epsilon,
int maxIterations)
Reset the propagator initial state.
Parameters:
state - new initial state to consider
stateType - mean Eckstein-Hechler orbit or osculating orbit
epsilon - convergence threshold for mean parameters conversion
maxIterations - maximum iterations for mean parameters conversion
Since:
11.2
• #### resetIntermediateState

protected void resetIntermediateState(SpacecraftState state,
boolean forward)
Reset an intermediate state.
Specified by:
resetIntermediateState in class AbstractAnalyticalPropagator
Parameters:
state - new intermediate state to consider
forward - if true, the intermediate state is valid for propagations after itself
• #### resetIntermediateState

protected void resetIntermediateState(SpacecraftState state,
boolean forward,
double epsilon,
int maxIterations)
Reset an intermediate state.
Parameters:
state - new intermediate state to consider
forward - if true, the intermediate state is valid for propagations after itself
epsilon - convergence threshold for mean parameters conversion
maxIterations - maximum iterations for mean parameters conversion
Since:
11.2
• #### propagateOrbit

public CartesianOrbit propagateOrbit(AbsoluteDate date)
Extrapolate an orbit up to a specific target date.
Specified by:
propagateOrbit in class AbstractAnalyticalPropagator
Parameters:
date - target date for the orbit
Returns:
extrapolated parameters
• #### getMu

public double getMu()
Get the central attraction coefficient μ.
Returns:
mu central attraction coefficient (m³/s²)
Since:
11.1
• #### getCk0

public double[] getCk0()
Get the un-normalized zonal coefficients.
Returns:
the un-normalized zonal coefficients
Since:
11.1

public double getReferenceRadius()
Get the reference radius of the central body attraction model.
Returns:
Since:
11.1
• #### createHarvester

protected AbstractMatricesHarvester createHarvester(String stmName,
RealMatrix initialStm,
DoubleArrayDictionary initialJacobianColumns)
Create the harvester suitable for propagator.
Overrides:
createHarvester in class AbstractPropagator
Parameters:
stmName - State Transition Matrix state name
initialStm - initial State Transition Matrix ∂Y/∂Y₀, if null (which is the most frequent case), assumed to be 6x6 identity
initialJacobianColumns - initial columns of the Jacobians matrix with respect to parameters, if null or if some selected parameters are missing from the dictionary, the corresponding initial column is assumed to be 0
Returns:
harvester to retrieve computed matrices during and after propagation
• #### getMass

protected double getMass(AbsoluteDate date)
Get the mass.
Specified by:
getMass in class AbstractAnalyticalPropagator
Parameters:
date - target date for the orbit
Returns:
mass mass