public class ECOM2 extends AbstractRadiationForceModel
阻力加速度计算如下:γ = γ0 + D(u)eD + Y(u)eY + B(u)eB
在上述方程中,γ0是可选择的先验模型。自2013年以来,对于CODE IGS贡献不使用先验模型(即γ0 = 0)。此外,u表示卫星的纬度参数。
D(u)、Y(u)和B(u)是ECOM2模型的三个函数,可以表示为傅立叶级数。傅立叶级数的系数在估计过程中被估计。ECOM2模型对傅立叶级数有用户定义的上限nD和nB(即D(u)的nD和B(u)的nB)。Y(u)被定义为一个常数值。
有几种配置可以初始化nD和nB的值。然而,Arnold等人建议使用D2B1(即nD = 1和nB = 1)和D4B1(即nD = 2和nB = 1)配置。相反,在Arnold的论文中,建议不使用D2B0(即nD = 1和nB = 0)配置。
自Orekit 11.0版本以来,可以使用AbstractRadiationForceModel.addOccultingBody(ExtendedPVCoordinatesProvider, double)
方法考虑由月球在太阳辐射压力力模型中产生的日食。 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
ECOM模型系数的参数名称,启用雅可比处理。
|
DATATION_ACCURACY
Constructor and Description |
---|
ECOM2(int nD, int nB, double value, ExtendedPVCoordinatesProvider sun, double equatorialRadius)
构造函数。
|
Modifier and Type | Method and Description |
---|---|
<T extends org.hipparchus.CalculusFieldElement<T>> |
acceleration(FieldSpacecraftState<T> s, T[] parameters)
计算加速度。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
acceleration(SpacecraftState s, double[] parameters)
计算加速度。
|
List<ParameterDriver> |
getParametersDrivers()
获取参数的驱动程序。
|
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
@DefaultDataContext public ECOM2(int nD, int nB, double value, ExtendedPVCoordinatesProvider sun, double equatorialRadius)
nD
- D项傅立叶级数的截断秩。
nB
- B项傅立叶级数的截断秩。
value
- 参数的初始值
sun
- 太阳参数提供
equatorialRadius
- 球形模型(用于本影/半影计算)
public org.hipparchus.geometry.euclidean.threed.Vector3D acceleration(SpacecraftState s, double[] parameters)
s
- 当前状态信息:日期、运动学、姿态
parameters
- 状态日期的力模型参数值,每个参数驱动程序只有1个值
public <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
T
- 元素的类型
s
- 当前状态信息:日期、运动学、姿态
parameters
- 状态日期的力模型参数值,每个参数驱动程序只有1个值
public List<ParameterDriver> getParametersDrivers()
Copyright © 2002-2023 CS GROUP. All rights reserved.