public interface DSSTForceModel extends ParameterDriversProvider, EventDetectorsProvider
DSSTPropagator
的力量,用于修改航天器运动。
实现这个接口的对象应该在开始传播之前添加到一个DSST propagator
中。
传播器将在传播的最开始调用initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[])
方法,允许进行预处理计算,例如截断等。
然后传播器将在每一步调用:
getMeanElementRate(SpacecraftState, AuxiliaryElements, double[])
方法。力量模型实例将提取计算对平均状态导数有贡献的平均元素速率所需的所有状态数据。updateShortPeriodTerms(double[], SpacecraftState...)
方法,如果需要瞬时参数,对上一步内的一些点进行采样。DATATION_ACCURACY
Modifier and Type | Method and Description |
---|---|
default double[] |
extractParameters(double[] parameters, AbsoluteDate date)
从 updateShortPeriodTerms 方法的输入数组中提取正确的参数驱动器值。
|
default <T extends org.hipparchus.CalculusFieldElement<T>> |
extractParameters(T[] parameters, FieldAbsoluteDate<T> date)
从 updateShortPeriodTerms 方法的输入数组中提取正确的参数驱动器值。
|
default Stream<EventDetector> |
getEventDetectors()
获取与模型相关的离散事件。
|
default <T extends org.hipparchus.CalculusFieldElement<T>> |
getFieldEventDetectors(org.hipparchus.Field<T> field)
获取与模型相关的离散事件。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getMeanElementRate(FieldSpacecraftState<T> state, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
计算平均赤道元素速率 dai / dt。
|
double[] |
getMeanElementRate(SpacecraftState state, AuxiliaryElements auxiliaryElements, double[] parameters)
计算平均赤道元素速率 dai / dt。
|
default <T extends org.hipparchus.CalculusFieldElement<T>> |
init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target)
在传播开始时初始化力量模型。
|
default void |
init(SpacecraftState initialState, AbsoluteDate target)
在传播开始时初始化力量模型。
|
List<ShortPeriodTerms> |
initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
对当前力量模型进行传播前的初始化。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters)
对当前力量模型进行传播前的初始化。
|
void |
registerAttitudeProvider(AttitudeProvider provider)
注册一个姿态提供者。
|
void |
updateShortPeriodTerms(double[] parameters, SpacecraftState... meanStates)
更新短周期项。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
updateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates)
更新短周期项。
|
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
getEventDetectors, getFieldEventDetectors
default void init(SpacecraftState initialState, AbsoluteDate target)
此方法的默认实现不执行任何操作。
initialState
- 传播开始时的航天器状态。
target
- 传播的日期。不等于initialState.getDate()
。
default <T extends org.hipparchus.CalculusFieldElement<T>> void init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target)
此方法的默认实现不执行任何操作。
T
- 元素的类型
initialState
- 传播开始时的航天器状态。
target
- 传播的日期。不等于initialState.getDate()
。
default Stream<EventDetector> getEventDetectors()
此方法不应该被多次调用,只能由传播器调用一次,因为每次调用都会重建事件探测器。
getEventDetectors
在接口 EventDetectorsProvider
default <T extends org.hipparchus.CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(org.hipparchus.Field<T> field)
此方法不应该被多次调用,只能由传播器调用一次,因为每次调用都会重建事件探测器。
getFieldEventDetectors
在接口 EventDetectorsProvider
T
- 扩展CalculusFieldElement<T>
field
- 状态所属的域
List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
此方法旨在在传播的最开始调用。
auxiliaryElements
- 与当前轨道相关的辅助元素
type
- 传播期间使用的元素类型
parameters
- 特定日期的力量模型参数值(每个参数驱动器仅有1个值),例如通过在力量模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
获得。
<T extends org.hipparchus.CalculusFieldElement<T>> List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters)
此方法旨在在传播的最开始调用。
T
- 元素的类型
auxiliaryElements
- 与当前轨道相关的辅助元素
type
- 传播期间使用的元素类型
parameters
- 特定日期的力量模型参数值(每个参数驱动器仅有1个值),例如通过在力量模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
或在梯度转换器上调用AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
获得。
default double[] extractParameters(double[] parameters, AbsoluteDate date)
updateShortPeriodTerms
方法的输入数组中提取正确的参数驱动器值。根据输入日期过滤参数。
parameters
- 包含所有驱动器的所有跨度值的输入参数数组,从中提取日期日期的参数值
date
- 日期
default <T extends org.hipparchus.CalculusFieldElement<T>> T[] extractParameters(T[] parameters, FieldAbsoluteDate<T> date)
updateShortPeriodTerms
方法的输入数组中提取正确的参数驱动器值。根据输入日期过滤参数。
T
- 扩展CalculusFieldElement
parameters
- 包含所有驱动器的所有跨度值的输入参数数组,从中提取日期日期的参数值
date
- 日期
double[] getMeanElementRate(SpacecraftState state, AuxiliaryElements auxiliaryElements, double[] parameters)
state
- 当前状态信息:日期、运动学、姿态
auxiliaryElements
- 与当前轨道相关的辅助元素
parameters
- 状态日期的力量模型参数值(每个参数驱动器仅有1个跨度),例如通过在力量模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
获得。
<T extends org.hipparchus.CalculusFieldElement<T>> T[] getMeanElementRate(FieldSpacecraftState<T> state, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
T
- 元素的类型
state
- 当前状态信息:日期、运动学、姿态
auxiliaryElements
- 与当前轨道相关的辅助元素
parameters
- 在状态日期处的力模型参数值(每个参数驱动器仅有一个跨度),例如通过调用 ParameterDriversProvider.getParameters(Field, FieldAbsoluteDate)
或 AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
来获取。
void registerAttitudeProvider(AttitudeProvider provider)
注册一个可以被力模型使用的姿态提供者。
provider
- AttitudeProvider
void updateShortPeriodTerms(double[] parameters, SpacecraftState... meanStates)
将更新的 短周期项
是在调用 initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[])
时返回的那些。
parameters
- 力模型参数的值(每个参数的所有跨度值),例如通过调用 ParameterDriversProvider.getParametersAllValues()
来获取。在方法中调用提取参数方法 extractParameters(double[], AbsoluteDate)
来选择与平均状态日期对应的正确参数。
meanStates
- 平均状态信息:日期、运动学、姿态
<T extends org.hipparchus.CalculusFieldElement<T>> void updateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates)
将更新的 短周期项
是在调用 initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[])
时返回的那些。
T
- 元素的类型
parameters
- 力模型参数的值(每个参数的所有跨度值),例如通过调用 ParameterDriversProvider.getParametersAllValues(Field)
来获取。在方法中调用提取参数方法 extractParameters(CalculusFieldElement[], FieldAbsoluteDate)
来选择正确的参数。
meanStates
- 平均状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.