public class DSSTJ2SquaredClosedForm extends Object implements DSSTForceModel
该力模型实现了J2-平方摄动的闭合形式。该模型的完整实现基于高斯积分。即使高斯积分非常精确,但通常会耗费时间。闭合形式比高斯积分精度低,但速度更快。
DATATION_ACCURACY
Constructor and Description |
---|
DSSTJ2SquaredClosedForm(J2SquaredModel j2SquaredModel, UnnormalizedSphericalHarmonicsProvider provider)
构造函数。
|
Modifier and Type | Method and Description |
---|---|
<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。
|
List<ParameterDriver> |
getParametersDrivers()
获取参数的驱动程序。
|
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 attitudeProvider)
注册姿态提供者。
|
void |
updateShortPeriodTerms(double[] parameters, SpacecraftState... meanStates)
更新短周期项。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
updateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates)
更新短周期项。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
extractParameters, extractParameters, getEventDetectors, getFieldEventDetectors, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public DSSTJ2SquaredClosedForm(J2SquaredModel j2SquaredModel, UnnormalizedSphericalHarmonicsProvider provider)
j2SquaredModel
- 二阶项模型
provider
- 要使用的重力场
public double[] getMeanElementRate(SpacecraftState state, AuxiliaryElements auxiliaryElements, double[] parameters)
getMeanElementRate
在接口 DSSTForceModel
中
state
- 当前状态信息:日期、运动学、姿态
auxiliaryElements
- 与当前轨道相关的辅助元素
parameters
- 在状态日期处的力模型参数值(每个参数驱动程序仅有一个跨度),例如通过在力模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
获得。
public <T extends org.hipparchus.CalculusFieldElement<T>> T[] getMeanElementRate(FieldSpacecraftState<T> state, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
getMeanElementRate
在接口 DSSTForceModel
中
T
- 元素的类型
state
- 当前状态信息:日期、运动学、姿态
auxiliaryElements
- 与当前轨道相关的辅助元素
parameters
- 在状态日期处的力模型参数值(每个参数驱动程序仅有一个跨度),例如通过在力模型上调用ParameterDriversProvider.getParameters(Field, FieldAbsoluteDate)
或者在梯度转换器上调用AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
获得。
public List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
该方法旨在在传播的最开始调用。
.initializeShortPeriodTerms
在接口 DSSTForceModel
中
auxiliaryElements
- 与当前轨道相关的辅助元素
type
- 传播期间使用的元素类型
parameters
- 特定日期的力模型参数值(每个参数驱动程序仅有一个值),例如通过在力模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
获得。
public <T extends org.hipparchus.CalculusFieldElement<T>> List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters)
该方法旨在在传播的最开始调用。
.initializeShortPeriodTerms
在接口 DSSTForceModel
中
T
- 元素的类型
auxiliaryElements
- 与当前轨道相关的辅助元素
type
- 传播期间使用的元素类型
parameters
- 特定日期的力模型参数值(每个参数驱动程序仅有一个值),例如通过在力模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
获得,或者在梯度转换器上调用AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
获得。
public List<ParameterDriver> getParametersDrivers()
getParametersDrivers
在接口 ParameterDriversProvider
中
public void registerAttitudeProvider(AttitudeProvider attitudeProvider)
注册一个可以被力模型使用的姿态提供者。
.registerAttitudeProvider
在接口 DSSTForceModel
中
attitudeProvider
- AttitudeProvider
public void updateShortPeriodTerms(double[] parameters, SpacecraftState... meanStates)
将更新的短周期项
是在调用DSSTForceModel.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[])
时返回的那些。
updateShortPeriodTerms
在接口 DSSTForceModel
中
parameters
- 力模型参数的值(每个参数的所有跨度值),例如通过在力模型上调用ParameterDriversProvider.getParametersAllValues()
获得。在方法中调用提取参数方法DSSTForceModel.extractParameters(double[], AbsoluteDate)
以选择与平均状态日期对应的正确参数。
meanStates
- 平均状态信息:日期、运动学、姿态
public <T extends org.hipparchus.CalculusFieldElement<T>> void updateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates)
将更新的短周期项
是在调用DSSTForceModel.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[])
时返回的那些。
updateShortPeriodTerms
在接口 DSSTForceModel
T
- 元素的类型
parameters
- 力模型参数的值(每个参数的所有跨度值),例如通过在力模型上调用ParameterDriversProvider.getParametersAllValues(Field)
或在梯度转换器上调用AbstractGradientConverter.getParameters(FieldSpacecraftState, ParameterDriversProvider)
获得。在方法中调用提取参数方法DSSTForceModel.extractParameters(CalculusFieldElement[], FieldAbsoluteDate)
以选择正确的参数。
meanStates
- 平均状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.