public abstract class AbstractDragForceModel extends Object implements ForceModel
DragForce
, TimeSpanDragForce
DATATION_ACCURACY
Modifier | Constructor and Description |
---|---|
protected |
AbstractDragForceModel(Atmosphere atmosphere)
构造函数。
|
Modifier and Type | Method and Description |
---|---|
boolean |
dependsOnPositionOnly()
检查力模型是否仅依赖于位置。
|
protected org.hipparchus.analysis.differentiation.DerivativeStructure |
getDSDensityWrtStateUsingFiniteDifferences(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure> position)
计算密度及其导数。
|
protected org.hipparchus.analysis.differentiation.Gradient |
getGradientDensityWrtStateUsingFiniteDifferences(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.Gradient> position)
计算密度及其导数。
|
protected <T extends org.hipparchus.CalculusFieldElement<T>> |
isDSStateDerivative(FieldSpacecraftState<T> state)
检查场状态是否对应于对状态的导数。
|
protected <T extends org.hipparchus.CalculusFieldElement<T>> |
isGradientStateDerivative(FieldSpacecraftState<T> state)
检查场状态是否对应于对状态的导数。
|
protected boolean |
isVariable(org.hipparchus.analysis.differentiation.DerivativeStructure ds, int index)
检查导数是否表示指定变量。
|
protected boolean |
isVariable(org.hipparchus.analysis.differentiation.Gradient g, int index)
检查导数是否表示指定变量。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
acceleration, acceleration, addContribution, addContribution, getEventDetectors, getFieldEventDetectors, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
getEventDetectors, getFieldEventDetectors
protected AbstractDragForceModel(Atmosphere atmosphere)
atmosphere
- 大气模型
public boolean dependsOnPositionOnly()
dependsOnPositionOnly
在接口 ForceModel
protected <T extends org.hipparchus.CalculusFieldElement<T>> boolean isDSStateDerivative(FieldSpacecraftState<T> state)
T
- 字段元素的类型
state
- 要检查的状态
protected <T extends org.hipparchus.CalculusFieldElement<T>> boolean isGradientStateDerivative(FieldSpacecraftState<T> state)
T
- 字段元素的类型
state
- 要检查的状态
protected boolean isVariable(org.hipparchus.analysis.differentiation.DerivativeStructure ds, int index)
ds
- 要检查的导数
index
- 变量的索引
protected boolean isVariable(org.hipparchus.analysis.differentiation.Gradient g, int index)
g
- 要检查的导数
index
- 变量的索引
protected org.hipparchus.analysis.differentiation.DerivativeStructure getDSDensityWrtStateUsingFiniteDifferences(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure> position)
从理论上讲,该方法在特定情况下与Atmosphere.getDensity(FieldAbsoluteDate, FieldVector3D, Frame)
方法计算相同的值,特别是对于对状态的DerivativeStructure
,因此它不太通用。然而,在这种重要情况下,它要快得多。
导数应该相对于位置计算。输入参数已经考虑了自由参数(6、7或8,取决于是否考虑对阻力系数和升力比的导数)和阶数(始终为1)。索引为0、1和2的自由参数对应于相对于位置的导数。索引为3、4和5的自由参数对应于相对于速度的导数(这些导数将保持为零,因为大气密度不依赖于速度)。索引为6和7的自由参数(如果存在)对应于相对于阻力系数和/或升力比的导数(这两个导数将保持为零,因为大气密度不依赖于它们)。
date
- 当前日期
frame
- 状态的惯性参考系(轨道和姿态)
position
- 空间飞行器在惯性参考系中的位置
protected org.hipparchus.analysis.differentiation.Gradient getGradientDensityWrtStateUsingFiniteDifferences(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.Gradient> position)
从理论上讲,该方法在特定情况下与Atmosphere.getDensity(FieldAbsoluteDate, FieldVector3D, Frame)
方法计算相同的值,特别是对于对状态的Gradient
,因此它不太通用。然而,在这种重要情况下,它要快得多。
导数应该相对于位置计算。输入参数已经考虑了自由参数(6、7或8,取决于是否考虑对阻力系数和升力比的导数)和阶数(始终为1)。索引为0、1和2的自由参数对应于相对于位置的导数。索引为3、4和5的自由参数对应于相对于速度的导数(这些导数将保持为零,因为大气密度不依赖于速度)。索引为6和7的自由参数(如果存在)对应于相对于阻力系数和/或升力比的导数(这两个导数将保持为零,因为大气密度不依赖于它们)。
date
- 当前日期
frame
- 状态的惯性参考系(轨道和姿态)
position
- 空间飞行器在惯性参考系中的位置
Copyright © 2002-2023 CS GROUP. All rights reserved.