Class FieldEcksteinHechlerPropagator<T extends CalculusFieldElement<T>>
- Type Parameters:
T- type of the field elements
- All Implemented Interfaces:
FieldPropagator<T>,FieldPVCoordinatesProvider<T>,ParameterDriversProvider
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).
- Author:
- Guylaine Prat
- See Also:
-
Field Summary
Fields inherited from interface org.orekit.propagation.FieldPropagator
DEFAULT_MASS -
Constructor Summary
ConstructorsConstructorDescriptionFieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit and potential.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit, attitude provider and potential.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit, attitude provider and potential provider.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit, attitude provider, mass and potential.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType) Build a propagator from FieldOrbit, attitude provider, mass and potential.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType, double epsilon, int maxIterations) Build a propagator from FieldOrbit, attitude provider, mass and potential.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType, OsculatingToMeanConverter converter) Build a propagator from FieldOrbit, attitude provider, mass and potential.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit, attitude provider, mass and potential provider.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitude, T mass, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics) Private helper constructor.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitude, T mass, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics, PropagationType initialType) Private helper constructor.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, UnnormalizedSphericalHarmonicsProvider provider, PropagationType initialType) Build a propagator from orbit, attitude provider, mass and potential provider.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit and potential provider.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, UnnormalizedSphericalHarmonicsProvider provider, PropagationType initialType) Build a propagator from orbit and potential provider.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit, mass and potential.FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, T mass, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit, mass and potential provider. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends CalculusFieldElement<T>>
FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> 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 <T extends CalculusFieldElement<T>>
FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> osculating, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60, OsculatingToMeanConverter converter) Conversion from osculating to mean orbit.static <T extends CalculusFieldElement<T>>
FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> osculating, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics) Conversion from osculating to mean orbit.static <T extends CalculusFieldElement<T>>
FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> osculating, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics, double epsilon, int maxIterations) Conversion from osculating to mean orbit.protected TgetMass(FieldAbsoluteDate<T> date) Get the mass.Get the osculating circular orbit from the EH model.Get the drivers for parameters.propagateOrbit(FieldAbsoluteDate<T> date, T[] parameters) Propagate an orbit up to a specific target date.voidresetInitialState(FieldSpacecraftState<T> state) Reset the propagator initial state.voidresetInitialState(FieldSpacecraftState<T> state, PropagationType stateType) Reset the propagator initial state.voidresetInitialState(FieldSpacecraftState<T> state, PropagationType stateType, double epsilon, int maxIterations) Reset the propagator initial state.voidresetInitialState(FieldSpacecraftState<T> state, PropagationType stateType, OsculatingToMeanConverter converter) Reset the propagator initial state.protected voidresetIntermediateState(FieldSpacecraftState<T> state, boolean forward) Reset an intermediate state.protected voidresetIntermediateState(FieldSpacecraftState<T> state, boolean forward, double epsilon, int maxIterations) Reset an intermediate state.protected voidresetIntermediateState(FieldSpacecraftState<T> state, boolean forward, OsculatingToMeanConverter converter) Reset an intermediate state.Methods inherited from class org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventDetectors, propagateMethods inherited from class org.orekit.propagation.FieldAbstractPropagator
addAdditionalDataProvider, getAdditionalDataProviders, getAttitudeProvider, getField, getFrame, getInitialState, getManagedAdditionalData, getMultiplexer, getStartDate, initializeAdditionalData, initializePropagation, isAdditionalDataManaged, propagate, removeAdditionalDataProvider, setAttitudeProvider, setStartDate, stateChanged, updateAdditionalData, updateUnmanagedDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.FieldPropagator
clearStepHandlers, getPosition, getPVCoordinates, getVelocity, setStepHandler, setStepHandlerMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Constructor Details
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit and potential provider.Mass and attitude provider are set to unspecified non-null arbitrary values.
Using this constructor, an initial osculating orbit is considered.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial FieldOrbitprovider- for un-normalized zonal coefficients- See Also:
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitude, T mass, UnnormalizedSphericalHarmonicsProvider provider, UnnormalizedSphericalHarmonicsProvider.UnnormalizedSphericalHarmonics harmonics) Private helper constructor.Using this constructor, an initial osculating orbit is considered.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial FieldOrbitattitude- attitude providermass- spacecraft massprovider- for un-normalized zonal coefficientsharmonics-provider.onDate(initialOrbit.getDate())- See Also:
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit 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.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
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)- See Also:
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, T mass, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit, mass and potential provider.Attitude law is set to an unspecified non-null arbitrary value.
Using this constructor, an initial osculating orbit is considered.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial FieldOrbitmass- spacecraft massprovider- for un-normalized zonal coefficients- See Also:
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit, 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.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
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)- See Also:
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit, attitude provider and potential provider.Mass is set to an unspecified non-null arbitrary value.
Using this constructor, an initial osculating orbit is considered.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial FieldOrbitattitudeProv- attitude providerprovider- for un-normalized zonal coefficients
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit, 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.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
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)
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, UnnormalizedSphericalHarmonicsProvider provider) Build a propagator from FieldOrbit, attitude provider, mass and potential provider.Using this constructor, an initial osculating orbit is considered.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial FieldOrbitattitudeProv- attitude providermass- spacecraft massprovider- for un-normalized zonal coefficients- See Also:
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60) Build a propagator from FieldOrbit, 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.
Conversion from osculating to mean orbit is done through a fixed-point iteration process.
- Parameters:
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)- See Also:
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> 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.
Conversion from osculating to mean orbit will be done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial orbitprovider- for un-normalized zonal coefficientsinitialType- initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)- Since:
- 10.2
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T 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.
Conversion from osculating to mean orbit will be done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial orbitattitudeProv- attitude providermass- spacecraft massprovider- for un-normalized zonal coefficientsinitialType- initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)- Since:
- 10.2
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitude, T 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.
Conversion from osculating to mean orbit will be done through a fixed-point iteration process.
- Parameters:
initialOrbit- initial orbitattitude- attitude providermass- spacecraft massprovider- for un-normalized zonal coefficientsharmonics-provider.onDate(initialOrbit.getDate())initialType- initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)- Since:
- 10.2
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType) Build a propagator from FieldOrbit, 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.
Conversion from osculating to mean orbit will be done through a fixed-point iteration process.
- Parameters:
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)initialType- initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)- Since:
- 10.2
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType, double epsilon, int maxIterations) Build a propagator from FieldOrbit, 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.
Conversion from osculating to mean orbit will be done through a fixed-point iteration process.
- Parameters:
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)initialType- initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)epsilon- convergence threshold for mean parameters conversionmaxIterations- maximum iterations for mean parameters conversion- Since:
- 11.2
-
FieldEcksteinHechlerPropagator
public FieldEcksteinHechlerPropagator(FieldOrbit<T> initialOrbit, AttitudeProvider attitudeProv, T mass, double referenceRadius, T mu, double c20, double c30, double c40, double c50, double c60, PropagationType initialType, OsculatingToMeanConverter converter) Build a propagator from FieldOrbit, 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.
Conversion from osculating to mean orbit will be done through the given converter.
- Parameters:
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)initialType- initial orbit type (mean Eckstein-Hechler orbit or osculating orbit)converter- osculating to mean orbit converter- Since:
- 13.0
-
-
Method Details
-
computeMeanOrbit
public static <T extends CalculusFieldElement<T>> FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> 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.
- Type Parameters:
T- type of the filed elements- Parameters:
osculating- osculating orbit to convertprovider- for un-normalized zonal coefficientsharmonics-provider.onDate(osculating.getDate())- Returns:
- mean orbit in a Eckstein-Hechler sense
- Since:
- 11.2
-
computeMeanOrbit
public static <T extends CalculusFieldElement<T>> FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> 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.
- Type Parameters:
T- type of the filed elements- Parameters:
osculating- osculating orbit to convertprovider- for un-normalized zonal coefficientsharmonics-provider.onDate(osculating.getDate())epsilon- convergence threshold for mean parameters conversionmaxIterations- maximum iterations for mean parameters conversion- Returns:
- mean orbit in a Eckstein-Hechler sense
- Since:
- 11.2
-
computeMeanOrbit
public static <T extends CalculusFieldElement<T>> FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> 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.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.
- Type Parameters:
T- type of the filed elements- Parameters:
osculating- osculating orbit to convertreferenceRadius- 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 conversionmaxIterations- maximum iterations for mean parameters conversion- Returns:
- mean orbit in a Eckstein-Hechler sense
- Since:
- 11.2
-
computeMeanOrbit
public static <T extends CalculusFieldElement<T>> FieldCircularOrbit<T> computeMeanOrbit(FieldOrbit<T> osculating, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60, OsculatingToMeanConverter converter) 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 the given osculating to mean orbit converter.
- Type Parameters:
T- type of the filed elements- Parameters:
osculating- osculating orbit to convertreferenceRadius- 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)converter- osculating to mean orbit converter- Returns:
- mean orbit in a Eckstein-Hechler sense
- Since:
- 13.0
-
resetInitialState
Reset the propagator initial state.The new initial state to consider must be defined with an osculating orbit.
- Specified by:
resetInitialStatein interfaceFieldPropagator<T extends CalculusFieldElement<T>>- Overrides:
resetInitialStatein classFieldAbstractPropagator<T extends CalculusFieldElement<T>>- Parameters:
state- new initial state to consider- See Also:
-
resetInitialState
Reset the propagator initial state.- Parameters:
state- new initial state to considerstateType- mean Eckstein-Hechler orbit or osculating orbit- Since:
- 10.2
-
resetInitialState
public void resetInitialState(FieldSpacecraftState<T> state, PropagationType stateType, double epsilon, int maxIterations) Reset the propagator initial state.- Parameters:
state- new initial state to considerstateType- mean Eckstein-Hechler orbit or osculating orbitepsilon- convergence threshold for mean parameters conversionmaxIterations- maximum iterations for mean parameters conversion- Since:
- 11.2
-
resetInitialState
public void resetInitialState(FieldSpacecraftState<T> state, PropagationType stateType, OsculatingToMeanConverter converter) Reset the propagator initial state.- Parameters:
state- new initial state to considerstateType- mean Eckstein-Hechler orbit or osculating orbitconverter- osculating to mean orbit converter- Since:
- 13.0
-
resetIntermediateState
Reset an intermediate state.- Specified by:
resetIntermediateStatein classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
state- new intermediate state to considerforward- if true, the intermediate state is valid for propagations after itself
-
resetIntermediateState
protected void resetIntermediateState(FieldSpacecraftState<T> state, boolean forward, double epsilon, int maxIterations) Reset an intermediate state.- Parameters:
state- new intermediate state to considerforward- if true, the intermediate state is valid for propagations after itselfepsilon- convergence threshold for mean parameters conversionmaxIterations- maximum iterations for mean parameters conversion- Since:
- 11.2
-
resetIntermediateState
protected void resetIntermediateState(FieldSpacecraftState<T> state, boolean forward, OsculatingToMeanConverter converter) Reset an intermediate state.- Parameters:
state- new intermediate state to considerforward- if true, the intermediate state is valid for propagations after itselfconverter- osculating to mean orbit converter- Since:
- 13.0
-
propagateOrbit
Propagate an orbit up to a specific target date.- Specified by:
propagateOrbitin classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
date- target date for the orbitparameters- model parameters- Returns:
- propagated orbit
-
getOsculatingCircularOrbit
Get the osculating circular orbit from the EH model.This method is only relevant for the conversion from osculating to mean orbit.
- Parameters:
date- target date for the orbit- Returns:
- the osculating circular orbite
-
getMass
Get the mass.- Specified by:
getMassin classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
date- target date for the orbit- Returns:
- mass mass
-
getParametersDrivers
Get the drivers for parameters.- Returns:
- drivers for parameters
-