public class ParametricAcceleration extends Object implements ForceModel
参数化加速度用于模拟较少知名的力,通过轨道确定从参数化函数中估计一些定义参数。典型的参数化函数包括多项式(通常限制为常数项)和谐波(通常具有轨道周期或半轨道周期)。
一个重要的操作示例是臭名昭著的GPS Y偏差,据说与散热器热辐射有关。其他示例可能包括模拟产生大致恒定推力的泄漏,该推力与某些与航天器相关的方向有关。
加速度方向在以下情况下被认为是恒定的:
如果加速度的方向未知,则应使用此类的三个实例,一个沿X轴,一个沿Y轴,一个沿Z轴,并像往常一样估计它们的参数。
DATATION_ACCURACY
Constructor and Description |
---|
ParametricAcceleration(org.hipparchus.geometry.euclidean.threed.Vector3D direction, AttitudeProvider attitudeOverride, AccelerationModel accelerationModel)
简单构造函数。
|
ParametricAcceleration(org.hipparchus.geometry.euclidean.threed.Vector3D direction, boolean isInertial, AccelerationModel accelerationModel)
简单构造函数。
|
Modifier and Type | Method and Description |
---|---|
<T extends org.hipparchus.CalculusFieldElement<T>> |
acceleration(FieldSpacecraftState<T> state, T[] parameters)
计算加速度。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
acceleration(SpacecraftState state, double[] parameters)
计算加速度。
|
boolean |
dependsOnPositionOnly()
检查力模型是否仅依赖于位置。
|
Stream<EventDetector> |
getEventDetectors()
获取与模型相关的离散事件。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getFieldEventDetectors(org.hipparchus.Field<T> field)
获取与模型相关的离散事件。
|
List<ParameterDriver> |
getParametersDrivers()
获取参数的驱动程序。
|
void |
init(SpacecraftState initialState, AbsoluteDate target)
在传播开始时初始化力模型。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addContribution, addContribution, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public ParametricAcceleration(org.hipparchus.geometry.euclidean.threed.Vector3D direction, boolean isInertial, AccelerationModel accelerationModel)
direction
- 覆盖航天器参考系中的加速度方向
isInertial
- 如果为true,则方向在传播中使用的惯性参考系相同(即SpacecraftState.getFrame()
),否则方向在航天器参考系中定义(即使用传播姿态法则
)
accelerationModel
- 用于计算经验加速度方向贡献的加速度模型
public ParametricAcceleration(org.hipparchus.geometry.euclidean.threed.Vector3D direction, AttitudeProvider attitudeOverride, AccelerationModel accelerationModel)
direction
- 覆盖航天器参考系中的加速度方向,用于传播的参考系(即SpacecraftState.getFrame()
),否则方向在航天器参考系中定义(即使用传播姿态法则
)
attitudeOverride
- 用于计算加速度的姿态提供程序
accelerationModel
- 用于计算经验加速度方向贡献的加速度模型
public boolean dependsOnPositionOnly()
dependsOnPositionOnly
在接口 ForceModel
public List<ParameterDriver> getParametersDrivers()
getParametersDrivers
在接口 ParameterDriversProvider
public void init(SpacecraftState initialState, AbsoluteDate target)
ForceModel.addContribution(SpacecraftState, TimeDerivativesEquations)
、ForceModel.addContribution(FieldSpacecraftState, FieldTimeDerivativesEquations)
、ForceModel.acceleration(SpacecraftState, double[])
或ForceModel.acceleration(FieldSpacecraftState, CalculusFieldElement[])
之前将调用此方法。
此方法的默认实现不执行任何操作。
init
在接口 ForceModel
initialState
- 传播开始时的航天器状态。
target
- 传播的日期。不等于initialState.getDate()
。
public org.hipparchus.geometry.euclidean.threed.Vector3D acceleration(SpacecraftState state, double[] parameters)
acceleration
在接口 ForceModel
state
- 当前状态信息:日期、运动学、姿态
parameters
- 在状态日期处的力模型参数值,每个参数驱动程序仅有1个值
public <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> acceleration(FieldSpacecraftState<T> state, T[] parameters)
acceleration
在接口 ForceModel
T
- 元素的类型
state
- 当前状态信息:日期、运动学、姿态
parameters
- 在状态日期处的力模型参数值,每个参数驱动程序仅有1个值
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
- 状态所属的字段
Copyright © 2002-2023 CS GROUP. All rights reserved.