public class AdapterPropagator extends AbstractAnalyticalPropagator
当参考传播器无法处理我们需要的某些效应时,使用此传播器。一个典型的例子是为参考轨道计算的星历,我们希望在这个星历之上计算一个保持航站补正,改变其最终状态。主要是向其中添加一个或多个小型机动解析模型,并将其用作新的传播器,以考虑这些机动。
从航天飞行动力学的角度来看,这是一种微分校正方法。从计算机科学的角度来看,这是装饰者设计模式的应用。
Propagator
, SmallManeuverAnalyticalModel
Modifier and Type | Class and Description |
---|---|
static interface |
AdapterPropagator.DifferentialEffect
轨道微分效应的接口。
|
DEFAULT_MASS
Constructor and Description |
---|
AdapterPropagator(Propagator reference)
从底层参考传播器构建传播器。
|
Modifier and Type | Method and Description |
---|---|
void |
addEffect(AdapterPropagator.DifferentialEffect effect)
添加微分效应。
|
protected SpacecraftState |
basicPropagate(AbsoluteDate date)
在不使用任何花哨功能的情况下传播轨道。
|
List<AdapterPropagator.DifferentialEffect> |
getEffects()
获取微分效应。
|
SpacecraftState |
getInitialState()
获取传播器的初始状态。
|
protected double |
getMass(AbsoluteDate date)
获取质量。
|
Propagator |
getPropagator()
获取参考传播器。
|
protected Orbit |
propagateOrbit(AbsoluteDate date)
将轨道外推到特定目标日期。
|
void |
resetInitialState(SpacecraftState state)
重置传播器的初始状态。
|
protected void |
resetIntermediateState(SpacecraftState state, boolean forward)
重置中间状态。
|
acceptStep, addEventDetector, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getJacobiansColumnsNames, getPvProvider, propagate
addAdditionalStateProvider, createHarvester, getAdditionalStateProviders, getAttitudeProvider, getFrame, getHarvester, getManagedAdditionalStates, getMultiplexer, getPVCoordinates, getStartDate, initializeAdditionalStates, initializePropagation, isAdditionalStateManaged, propagate, setAttitudeProvider, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clearStepHandlers, getDefaultLaw, setStepHandler, setStepHandler
getPosition
public AdapterPropagator(Propagator reference)
参考传播器可以是几乎任何东西,数值的、解析的,甚至是星历。它可能已经考虑了一些机动。
reference
- 参考传播器
public void addEffect(AdapterPropagator.DifferentialEffect effect)
effect
- 微分效应
public Propagator getPropagator()
public List<AdapterPropagator.DifferentialEffect> getEffects()
public SpacecraftState getInitialState()
getInitialState
在接口 Propagator
中
getInitialState
在类 AbstractPropagator
中
public void resetInitialState(SpacecraftState state)
resetInitialState
在接口 Propagator
中
resetInitialState
在类 AbstractPropagator
中
state
- 考虑的新初始状态
protected void resetIntermediateState(SpacecraftState state, boolean forward)
resetIntermediateState
在类 AbstractAnalyticalPropagator
中
state
- 考虑的新中间状态
forward
- 如果为true,则中间状态对其后的传播是有效的
protected SpacecraftState basicPropagate(AbsoluteDate date)
这个方法在精神上类似于AbstractAnalyticalPropagator.propagate(org.orekit.time.AbsoluteDate, org.orekit.time.AbsoluteDate)
方法,只是在传播过程中不调用任何处理程序,也不调用任何离散事件,也不添加额外状态。它总是在指定的日期停止。
basicPropagate
在类 AbstractAnalyticalPropagator
中
date
- 传播的目标日期
protected Orbit propagateOrbit(AbsoluteDate date)
propagateOrbit
在类 AbstractAnalyticalPropagator
中
date
- 轨道的目标日期
protected double getMass(AbsoluteDate date)
getMass
在类 AbstractAnalyticalPropagator
中
date
- 轨道的目标日期
Copyright © 2002-2023 CS GROUP. All rights reserved.