Propagator, PVCoordinatesProviderpublic class AdapterPropagator extends AbstractAnalyticalPropagator
differential effects.
This propagator is used when a reference propagator does not handle
some effects that we need. A typical example would be an ephemeris
that was computed for a reference orbit, and we want to compute a
station-keeping maneuver on top of this ephemeris, changing its
final state. The principal is to add one or more small maneuvers
analytical models to it and use it as a new propagator, which takes the
maneuvers into account.
From a space flight dynamics point of view, this is a differential correction approach. From a computer science point of view, this is a use of the decorator design pattern.
Propagator,
SmallManeuverAnalyticalModel| Modifier and Type | Class | Description |
|---|---|---|
static interface |
AdapterPropagator.DifferentialEffect |
Interface for orbit differential effects.
|
DEFAULT_LAW, DEFAULT_MASS, EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE| Constructor | Description |
|---|---|
AdapterPropagator(Propagator reference) |
Build a propagator from an underlying reference propagator.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addEffect(AdapterPropagator.DifferentialEffect effect) |
Add a differential effect.
|
protected SpacecraftState |
basicPropagate(AbsoluteDate date) |
Propagate an orbit without any fancy features.
|
List<AdapterPropagator.DifferentialEffect> |
getEffects() |
Get the differential effects.
|
SpacecraftState |
getInitialState() |
Get the propagator initial state.
|
protected double |
getMass(AbsoluteDate date) |
Get the mass.
|
Propagator |
getPropagator() |
Get the reference propagator.
|
protected Orbit |
propagateOrbit(AbsoluteDate date) |
Extrapolate an orbit up to a specific target date.
|
void |
resetInitialState(SpacecraftState state) |
Reset the propagator initial state.
|
protected void |
resetIntermediateState(SpacecraftState state,
boolean forward) |
Reset an intermediate state.
|
acceptStep, addEventDetector, clearEventsDetectors, getEventsDetectors, getGeneratedEphemeris, getPvProvider, propagateaddAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getFixedStepSize, getFrame, getManagedAdditionalStates, getMode, getPVCoordinates, getStartDate, getStepHandler, isAdditionalStateManaged, propagate, setAttitudeProvider, setEphemerisMode, setEphemerisMode, setMasterMode, setMasterMode, setSlaveMode, setStartDate, updateAdditionalStatespublic AdapterPropagator(Propagator reference)
The reference propagator can be almost anything, numerical, analytical, and even an ephemeris. It may already take some maneuvers into account.
reference - reference propagatorpublic void addEffect(AdapterPropagator.DifferentialEffect effect)
effect - differential effectpublic Propagator getPropagator()
public List<AdapterPropagator.DifferentialEffect> getEffects()
public SpacecraftState getInitialState()
getInitialState in interface PropagatorgetInitialState in class AbstractPropagatorpublic void resetInitialState(SpacecraftState state)
resetInitialState in interface PropagatorresetInitialState in class AbstractPropagatorstate - new initial state to considerprotected void resetIntermediateState(SpacecraftState state, boolean forward)
resetIntermediateState in class AbstractAnalyticalPropagatorstate - new intermediate state to considerforward - if true, the intermediate state is valid for
propagations after itselfprotected SpacecraftState basicPropagate(AbsoluteDate date)
This method is similar in spirit to the AbstractAnalyticalPropagator.propagate(org.orekit.time.AbsoluteDate, org.orekit.time.AbsoluteDate) method,
except that it does not call any handler during
propagation, nor any discrete events, not additional states. It always
stop exactly at the specified date.
basicPropagate in class AbstractAnalyticalPropagatordate - target date for propagationprotected Orbit propagateOrbit(AbsoluteDate date)
propagateOrbit in class AbstractAnalyticalPropagatordate - target date for the orbitprotected double getMass(AbsoluteDate date)
getMass in class AbstractAnalyticalPropagatordate - target date for the orbitCopyright © 2002-2019 CS Systèmes d'information. All rights reserved.