public class DSSTThirdBody extends Object implements DSSTForceModel
Modifier and Type | Field and Description |
---|---|
static String |
ATTRACTION_COEFFICIENT
该模型的单个参数名称:引力系数。
|
static double |
BIG_TRUNCATION_TOLERANCE
大偏心轨道的截断容差。
|
static int |
MAX_POWER
求和的最大幂次。
|
static String |
SHORT_PERIOD_PREFIX
短周期系数键的前缀名称。
|
static double |
SMALL_TRUNCATION_TOLERANCE
小轨道的截断容差。
|
DATATION_ACCURACY
Constructor and Description |
---|
DSSTThirdBody(CelestialBody body, double mu)
完整构造函数。
|
Modifier and Type | Method and Description |
---|---|
CelestialBody |
getBody()
获取第三体。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getMeanElementRate(FieldSpacecraftState<T> currentState, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
计算平均赤道元素速率dai / dt。
|
double[] |
getMeanElementRate(SpacecraftState currentState, AuxiliaryElements auxiliaryElements, double[] parameters)
计算平均赤道元素速率dai / dt。
|
List<ParameterDriver> |
getParametersDrivers()
获取参数的驱动器。
|
List<ShortPeriodTerms> |
initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
计算偏心率的最高幂次和截断分析幂级数展开中a/R3的最高幂次。
|
<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)
更新短周期项。
|
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 static final String ATTRACTION_COEFFICIENT
public static final int MAX_POWER
public static final double BIG_TRUNCATION_TOLERANCE
public static final double SMALL_TRUNCATION_TOLERANCE
public DSSTThirdBody(CelestialBody body, double mu)
body
- 要考虑的第三体
mu
- 中心引力系数(即,中心天体的引力系数,而不是第三体的引力系数)
CelestialBodies
public CelestialBody getBody()
public List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
该方法计算第三体势能的上限值,并确定产生大于定义容差的势能项的偏心率和a/R3的最大幂次。
initializeShortPeriodTerms
在接口 DSSTForceModel
auxiliaryElements
- 与当前轨道相关的辅助元素
type
- 传播期间使用的元素类型
parameters
- 状态日期的力模型参数值(每个参数的1个值)
public <T extends org.hipparchus.CalculusFieldElement<T>> List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters)
该方法旨在在传播的最开始调用。
initializeShortPeriodTerms
在接口 DSSTForceModel
T
- 元素的类型
auxiliaryElements
- 与当前轨道相关的辅助元素
type
- 传播期间使用的元素类型
parameters
- 特定日期的力模型参数值(每个参数驱动器仅有1个值),例如通过在力模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
或在梯度转换器上调用AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
获得。
public double[] getMeanElementRate(SpacecraftState currentState, AuxiliaryElements auxiliaryElements, double[] parameters)
getMeanElementRate
在接口 DSSTForceModel
currentState
- 当前状态信息:日期、运动学、姿态
auxiliaryElements
- 与当前轨道相关的辅助元素
parameters
- 状态日期的力模型参数值(每个参数驱动器仅有1个跨度),例如通过在力模型上调用ParameterDriversProvider.getParameters(AbsoluteDate)
获得。
public <T extends org.hipparchus.CalculusFieldElement<T>> T[] getMeanElementRate(FieldSpacecraftState<T> currentState, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
getMeanElementRate
在接口 DSSTForceModel
T
- 元素的类型
currentState
- 当前状态信息:日期、运动学、姿态
auxiliaryElements
- 与当前轨道相关的辅助元素
parameters
- 状态日期的力模型参数值(每个参数驱动器仅有1个跨度),例如通过在力模型上调用ParameterDriversProvider.getParameters(Field, FieldAbsoluteDate)
或在梯度转换器上调用AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
获得。
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
- 平均状态信息:日期、运动学、姿态
public void registerAttitudeProvider(AttitudeProvider provider)
注册一个可以被力模型使用的姿态提供者。
registerAttitudeProvider
在接口 DSSTForceModel
中
provider
- AttitudeProvider
public List<ParameterDriver> getParametersDrivers()
getParametersDrivers
在接口 ParameterDriversProvider
中
Copyright © 2002-2023 CS GROUP. All rights reserved.