public abstract class AbstractRadiationForceModel extends Object implements ForceModel
SolarRadiationPressure
, ECOM2
DATATION_ACCURACY
Modifier | Constructor and Description |
---|---|
protected |
AbstractRadiationForceModel(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody)
默认构造函数。
|
Modifier and Type | Method and Description |
---|---|
void |
addOccultingBody(ExtendedPVCoordinatesProvider provider, double radius)
添加一个新的遮挡天体。
|
void |
addOccultingBody(OneAxisEllipsoid occulting)
添加一个新的遮挡天体。
|
boolean |
dependsOnPositionOnly()
检查力模型是否仅依赖于位置。
|
Stream<EventDetector> |
getEventDetectors()
获取与模型相关的离散事件。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getFieldEventDetectors(org.hipparchus.Field<T> field)
获取与模型相关的离散事件。
|
protected <T extends org.hipparchus.CalculusFieldElement<T>> |
getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultingPosition, T occultingRadius, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultedPosition, T occultedRadius)
获取用于日食计算的有用角度。
|
protected double[] |
getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Vector3D occultingPosition, double occultingRadius, org.hipparchus.geometry.euclidean.threed.Vector3D occultedPosition, double occultedRadius)
获取用于日食计算的有用角度。
|
List<OccultationEngine> |
getOccultingBodies()
获取所有要考虑的遮挡天体。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
acceleration, acceleration, addContribution, addContribution, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
getEventDetectors, getFieldEventDetectors
protected AbstractRadiationForceModel(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody)
sun
- 太阳模型
centralBody
- 中心天体形状模型(用于本影/半影计算)
public boolean dependsOnPositionOnly()
dependsOnPositionOnly
在接口 ForceModel
中
public Stream<EventDetector> getEventDetectors()
此方法不应多次调用,只能由推算器调用一次,因为每次调用都会重新构建事件探测器。
getEventDetectors
在接口 ForceModel
中
getEventDetectors
在接口 EventDetectorsProvider
中
public <T extends org.hipparchus.CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(org.hipparchus.Field<T> field)
此方法不应多次调用,只能由推算器调用一次,因为每次调用都会重新构建事件探测器。
getFieldEventDetectors
在接口 ForceModel
中
getFieldEventDetectors
在接口 EventDetectorsProvider
中
T
- 扩展CalculusFieldElement<T>
field
- 状态所属的域
protected double[] getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Vector3D occultingPosition, double occultingRadius, org.hipparchus.geometry.euclidean.threed.Vector3D occultedPosition, double occultedRadius)
position
- 选定参考系中卫星的位置
occultingPosition
- 选定参考系中的遮挡天体位置
occultingRadius
- 遮挡天体平均半径
occultedPosition
- 选定参考系中的被遮挡天体位置
occultedRadius
- 被遮挡天体平均半径
protected <T extends org.hipparchus.CalculusFieldElement<T>> T[] getGeneralEclipseAngles(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultingPosition, T occultingRadius, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> occultedPosition, T occultedRadius)
T
- 扩展RealFieldElement
occultingPosition
- 选定参考系中的遮挡天体位置
occultingRadius
- 遮挡天体平均半径
occultedPosition
- 选定参考系中的被遮挡天体位置
occultedRadius
- 被遮挡天体平均半径
position
- 选定参考系中卫星的位置
public void addOccultingBody(ExtendedPVCoordinatesProvider provider, double radius)
中心天体已经被考虑,不应以这种方式添加。
provider
- 天体PV提供者
radius
- 天体平均半径
addOccultingBody(OneAxisEllipsoid)
public void addOccultingBody(OneAxisEllipsoid occulting)
中心天体已经被考虑,不应以这种方式添加。
occulting
- 要添加的遮挡天体
addOccultingBody(ExtendedPVCoordinatesProvider, double)
public List<OccultationEngine> getOccultingBodies()
列表始终至少包含一个元素:中心天体,它始终是列表中的第一个元素。
Copyright © 2002-2023 CS GROUP. All rights reserved.