FieldPropagator<T>
, FieldPVCoordinatesProvider<T>
public class FieldEcksteinHechlerPropagator<T extends org.hipparchus.RealFieldElement<T>> extends FieldAbstractAnalyticalPropagator<T>
FieldSpacecraftState
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).
FieldOrbit
DEFAULT_LAW, DEFAULT_MASS, EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE
Constructor | Description |
---|---|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
double referenceRadius,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60) |
Build a propagator from FieldOrbit
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
AttitudeProvider attitudeProv,
double referenceRadius,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60) |
Build a propagator from FieldOrbit
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
AttitudeProvider attitudeProv,
UnnormalizedSphericalHarmonicsProvider provider) |
Build a propagator from FieldOrbit
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
AttitudeProvider attitudeProv,
T mass,
double referenceRadius,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60) |
Build a propagator from FieldOrbit
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
AttitudeProvider attitudeProv,
T mass,
UnnormalizedSphericalHarmonicsProvider provider) |
Build a propagator from FieldOrbit
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
AttitudeProvider attitude,
T mass,
UnnormalizedSphericalHarmonicsProvider provider,
UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics) |
Private helper constructor.
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
UnnormalizedSphericalHarmonicsProvider provider) |
Build a propagator from FieldOrbit
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
T mass,
double referenceRadius,
double mu,
double c20,
double c30,
double c40,
double c50,
double c60) |
Build a propagator from FieldOrbit
|
FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit,
T mass,
UnnormalizedSphericalHarmonicsProvider provider) |
Build a propagator from FieldOrbit
|
Modifier and Type | Method | Description |
---|---|---|
protected T |
getMass(FieldAbsoluteDate<T> date) |
Get the mass.
|
static <T extends org.hipparchus.RealFieldElement<T>> |
normalizeAngle(T a,
T center) |
Normalize an angle in a 2π wide interval around a center value.
|
FieldCartesianOrbit<T> |
propagateOrbit(FieldAbsoluteDate<T> date) |
Extrapolate an orbit up to a specific target date.
|
void |
resetInitialState(FieldSpacecraftState<T> state) |
Reset the propagator initial state.
|
protected void |
resetIntermediateState(FieldSpacecraftState<T> state,
boolean forward) |
Reset an intermediate state.
|
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEventsDetectors, getGeneratedEphemeris, getPvProvider, propagate
addAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getField, getFixedStepSize, getFrame, getInitialState, getManagedAdditionalStates, getMode, getPVCoordinates, getStartDate, getStepHandler, isAdditionalStateManaged, propagate, setAttitudeProvider, setEphemerisMode, setMasterMode, setMasterMode, setSlaveMode, setStartDate, updateAdditionalStates
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, UnnormalizedSphericalHarmonicsProvider provider)
Mass and attitude provider are set to unspecified non-null arbitrary values.
initialOrbit
- initial FieldOrbitprovider
- for un-normalized zonal coefficientspublic FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitude, T mass, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics)
initialOrbit
- initial FieldOrbitattitude
- attitude providermass
- spacecraft massprovider
- for un-normalized zonal coefficientsharmonics
- provider.onDate(initialOrbit.getDate())
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
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
initialOrbit
- initial FieldOrbitreferenceRadius
- 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
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, T mass, UnnormalizedSphericalHarmonicsProvider provider)
Attitude law is set to an unspecified non-null arbitrary value.
initialOrbit
- initial FieldOrbitmass
- spacecraft massprovider
- for un-normalized zonal coefficientspublic FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, T mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
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
initialOrbit
- initial FieldOrbitmass
- spacecraft massreferenceRadius
- 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)public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, UnnormalizedSphericalHarmonicsProvider provider)
Mass is set to an unspecified non-null arbitrary value.
initialOrbit
- initial FieldOrbitattitudeProv
- attitude providerprovider
- for un-normalized zonal coefficientspublic FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
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
initialOrbit
- initial FieldOrbitattitudeProv
- attitude providerreferenceRadius
- 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)public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, UnnormalizedSphericalHarmonicsProvider provider)
initialOrbit
- initial FieldOrbitattitudeProv
- attitude providermass
- spacecraft massprovider
- for un-normalized zonal coefficientspublic FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
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
initialOrbit
- initial FieldOrbitattitudeProv
- attitude providermass
- spacecraft massreferenceRadius
- 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)public void resetInitialState(FieldSpacecraftState<T> state)
resetInitialState
in interface FieldPropagator<T extends org.hipparchus.RealFieldElement<T>>
resetInitialState
in class FieldAbstractPropagator<T extends org.hipparchus.RealFieldElement<T>>
state
- new initial state to considerprotected void resetIntermediateState(FieldSpacecraftState<T> state, boolean forward)
resetIntermediateState
in class FieldAbstractAnalyticalPropagator<T extends org.hipparchus.RealFieldElement<T>>
state
- new intermediate state to considerforward
- if true, the intermediate state is valid for
propagations after itselfpublic FieldCartesianOrbit<T> propagateOrbit(FieldAbsoluteDate<T> date)
propagateOrbit
in class FieldAbstractAnalyticalPropagator<T extends org.hipparchus.RealFieldElement<T>>
date
- target date for the orbitprotected T getMass(FieldAbsoluteDate<T> date)
getMass
in class FieldAbstractAnalyticalPropagator<T extends org.hipparchus.RealFieldElement<T>>
date
- target date for the orbitpublic static <T extends org.hipparchus.RealFieldElement<T>> T normalizeAngle(T a, T center)
This method has three main uses:
a = MathUtils.normalizeAngle(a, FastMath.PI);
a = MathUtils.normalizeAngle(a, 0.0);
angle = MathUtils.normalizeAngle(end, start) - start;
Note that due to numerical accuracy and since π cannot be represented exactly, the result interval is closed, it cannot be half-closed as would be more satisfactory in a purely mathematical view.
T
- the type of the field elementsa
- angle to normalizecenter
- center of the desired 2π interval for the resultCopyright © 2002-2019 CS Systèmes d'information. All rights reserved.