public class SolarRadiationPressure extends AbstractRadiationForceModel
自Orekit 11.0版本开始,可以使用AbstractRadiationForceModel.addOccultingBody(ExtendedPVCoordinatesProvider, double)
方法考虑太阳辐射压力力模型中由月球产生的日食。
示例: SolarRadiationPressure srp =
new SolarRadiationPressure(CelestialBodyFactory.getSun(), Constants.EIGEN5C_EARTH_EQUATORIAL_RADIUS,
new IsotropicRadiationClassicalConvention(50.0, 0.5, 0.5));
srp.addOccultingBody(CelestialBodyFactory.getMoon(), Constants.MOON_EQUATORIAL_RADIUS);
DATATION_ACCURACY
Constructor and Description |
---|
SolarRadiationPressure(double dRef, double pRef, ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft)
完整构造函数。
|
SolarRadiationPressure(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft)
具有默认参考值的简单构造函数。
|
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)
计算加速度。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getLightingRatio(FieldSpacecraftState<T> state)
获取光照比例([0-1])。
|
double |
getLightingRatio(SpacecraftState state)
获取光照比例([0-1])。
|
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
public SolarRadiationPressure(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft)
当使用此构造函数时,参考值为:
sun
- 太阳模型
centralBody
- 中心天体形状模型(用于本影/半影计算)
spacecraft
- 对象的物理和几何信息
public SolarRadiationPressure(double dRef, double pRef, ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft)
请注意,N/m²中的参考太阳辐射压力pRef
与W/m²中的太阳辐射通量SF之间通过公式pRef = SF/c相关联,其中c是光速(299792458 m/s)。因此,在1天文单位处,1367 W/m²的太阳辐射通量是4.56 10-6 N/m²的太阳辐射压力。
dRef
- 太阳辐射压力的参考距离(米)
pRef
- 在dRef处的参考太阳辐射压力(N/m²)
sun
- 太阳模型
centralBody
- 中心天体形状模型(用于本影/半影计算)
spacecraft
- 对象的物理和几何信息
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 double getLightingRatio(SpacecraftState state)
state
- 飞行器状态
public <T extends org.hipparchus.CalculusFieldElement<T>> T getLightingRatio(FieldSpacecraftState<T> state)
T
- 扩展CalculusFieldElement
state
- 飞行器状态
public List<ParameterDriver> getParametersDrivers()
Copyright © 2002-2023 CS GROUP. All rights reserved.