public class ECOM2 extends AbstractRadiationForceModel
The drag acceleration is computed as follows : γ = γ0 + D(u)eD + Y(u)eY + B(u)eB
In the above equation, γ0 is a selectable a priori model. Since 2013, no a priori model is used for CODE IGS contribution (i.e. γ0 = 0). Moreover, u denotes the satellite's argument of latitude.
D(u), Y(u) and B(u) are three functions of the ECOM2 model that can be represented as Fourier series. The coefficients of the Fourier series are estimated during the estimation process. he ECOM2 model has user-defines upper limits nD and nB for the Fourier series (i.e. nD for D(u) and nB for B(u). Y(u) is defined as a constant value).
It exists several configurations to initialize nD and nB values. However, Arnold et al recommend to use D2B1 (i.e. nD = 1 and nB = 1) and D4B1 (i.e. nD = 2 an nB = 1) configurations. At the opposite, in Arnold paper, it is recommend to not use D2B0 (i.e. nD = 1 and nB = 0) configuration.
Since Orekit 11.0, it is possible to take into account
the eclipses generated by Moon in the solar radiation
pressure force model using the
AbstractRadiationForceModel.addOccultingBody(ExtendedPVCoordinatesProvider, double)
method.
ECOM2 srp =
new ECOM2(1, 1, 0.0, CelestialBodyFactory.getSun(), Constants.EIGEN5C_EARTH_EQUATORIAL_RADIUS);
srp.addOccultingBody(CelestialBodyFactory.getMoon(), Constants.MOON_EQUATORIAL_RADIUS);
Modifier and Type | Field and Description |
---|---|
static String |
ECOM_COEFFICIENT
Parameter name for ECOM model coefficients enabling Jacobian processing.
|
DATATION_ACCURACY
Constructor and Description |
---|
ECOM2(int nD,
int nB,
double value,
ExtendedPVCoordinatesProvider sun,
double equatorialRadius)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
<T extends org.hipparchus.CalculusFieldElement<T>> |
acceleration(FieldSpacecraftState<T> s,
T[] parameters)
Compute acceleration.
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
acceleration(SpacecraftState s,
double[] parameters)
Compute acceleration.
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for parameters.
|
addOccultingBody, addOccultingBody, dependsOnPositionOnly, getEventDetectors, getFieldEventDetectors, getGeneralEclipseAngles, getGeneralEclipseAngles, getOccultingBodies
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addContribution, addContribution, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public static final String ECOM_COEFFICIENT
@DefaultDataContext public ECOM2(int nD, int nB, double value, ExtendedPVCoordinatesProvider sun, double equatorialRadius)
nD
- truncation rank of Fourier series in D term.nB
- truncation rank of Fourier series in B term.value
- parameters initial valuesun
- provide for Sun parameterequatorialRadius
- spherical shape model (for umbra/penumbra computation)public org.hipparchus.geometry.euclidean.threed.Vector3D acceleration(SpacecraftState s, double[] parameters)
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters at state date,
only 1 value for each parameterDriverpublic <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
T
- type of the elementss
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters at state date,
only 1 value for each parameterDriverpublic List<ParameterDriver> getParametersDrivers()
Copyright © 2002-2023 CS GROUP. All rights reserved.