public abstract class AbstractPropagator extends Object implements Propagator
Propagator
方法。
这个抽象类允许轻松地提供完整的一组Propagator
方法,包括对任何简单传播方法的所有传播模式支持和离散事件支持。
DEFAULT_MASS
Modifier | Constructor and Description |
---|---|
protected |
AbstractPropagator()
构建一个新实例。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addEventDetector, clearEventsDetectors, clearStepHandlers, getDefaultLaw, getEphemerisGenerator, getEventsDetectors, propagate, setStepHandler, setStepHandler
getPosition
protected void setStartDate(AbsoluteDate startDate)
startDate
- 开始日期
protected AbsoluteDate getStartDate()
public AttitudeProvider getAttitudeProvider()
getAttitudeProvider
在接口 Propagator
public void setAttitudeProvider(AttitudeProvider attitudeProvider)
setAttitudeProvider
在接口 Propagator
attitudeProvider
- 姿态提供程序
public SpacecraftState getInitialState()
getInitialState
在接口 Propagator
public Frame getFrame()
传播参考系是初始状态的定义参考系,因此应在设置此状态后调用此方法,否则可能返回null。
getFrame
在接口 Propagator
Propagator.resetInitialState(SpacecraftState)
public void resetInitialState(SpacecraftState state)
resetInitialState
在接口 Propagator
state
- 要考虑的新初始状态
public StepHandlerMultiplexer getMultiplexer()
getMultiplexer
在接口 Propagator
public void addAdditionalStateProvider(AdditionalStateProvider provider)
addAdditionalStateProvider
在接口 Propagator
provider
- 附加状态的提供程序
public List<AdditionalStateProvider> getAdditionalStateProviders()
getAdditionalStateProviders
在接口 Propagator
public MatricesHarvester setupMatricesComputation(String stmName, org.hipparchus.linear.RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
如果调用此方法,将自动计算传播开始时将选择的状态转移矩阵和关于力模型参数的雅可比矩阵,并且收割机将允许检索它们。
默认实现会抛出异常,因为不是所有传播器都支持该方法。
setupMatricesComputation
在接口 Propagator
stmName
- 状态转移矩阵状态名称
initialStm
- 初始状态转移矩阵 ∂Y/∂Y₀,如果为null(这是最常见的情况),则假定为6x6单位矩阵
initialJacobianColumns
- 关于参数的雅可比矩阵的初始列,如果为null或如果字典中缺少一些选择的参数,则假定相应的初始列为0
protected AbstractMatricesHarvester createHarvester(String stmName, org.hipparchus.linear.RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
stmName
- 状态转移矩阵状态名称
initialStm
- 初始状态转移矩阵 ∂Y/∂Y₀,如果为null(这是最常见的情况),则假定为6x6单位矩阵
initialJacobianColumns
- 关于参数的雅可比矩阵的初始列,如果为null或如果字典中缺少一些选择的参数,则假定相应的初始列为0
protected AbstractMatricesHarvester getHarvester()
protected SpacecraftState updateUnmanagedStates(SpacecraftState original)
original
- 原始状态
updateAdditionalStates(SpacecraftState)
protected SpacecraftState updateAdditionalStates(SpacecraftState original)
original
- 原始状态
未管理
状态)
addAdditionalStateProvider(AdditionalStateProvider)
, updateUnmanagedStates(SpacecraftState)
protected void initializeAdditionalStates(AbsoluteDate target)
target
- 传播的日期。不等于initialState.getDate()
。
public boolean isAdditionalStateManaged(String name)
已管理的状态是传播器知道如何计算其演变的状态。它们对应于通过调用addAdditionalStateProvider
方法注册了一个提供程序
的附加状态。
在初始状态
中存在但未注册演变方法的附加状态不被视为已管理状态。这些未管理的附加状态在传播过程中不会丢失。它们的值在状态重置之间是分段恒定的,如果某个事件处理程序resetState
方法在事件发生时被调用并且恰好更改了未管理的附加状态,则它们可能会发生变化。
isAdditionalStateManaged
在接口 Propagator
name
- 附加状态的名称
public String[] getManagedAdditionalStates()
getManagedAdditionalStates
在接口 Propagator
public SpacecraftState propagate(AbsoluteDate target)
简单的传播器仅使用目标日期作为计算传播状态的规范。功能更丰富的传播器可以考虑其他信息并提供不同的操作模式或G-stop功能以在特定事件发生时停止。在这些情况下,目标日期仅是一个提示,而不是强制性目标。
propagate
在接口 Propagator
target
- 应传播轨道状态的目标日期
public TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
PVCoordinates
。
getPVCoordinates
在接口 PVCoordinatesProvider
date
- 当前日期
frame
- 定义位置的参考系
protected void initializePropagation()
protected void stateChanged(SpacecraftState state)
state
- 新状态
Copyright © 2002-2023 CS GROUP. All rights reserved.