|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object fr.cnes.sirius.patrius.stela.propagation.StelaAbstractPropagator fr.cnes.sirius.patrius.stela.propagation.StelaGTOPropagator
public class StelaGTOPropagator
STELA propagator for Geostationnary Transfert Orbits (GTO).
Field Summary | |
---|---|
protected AbsoluteDate |
maxDate
Max date after which simulation has to fail if exception mecanism was triggered |
protected int |
stepCounter
Step counter for drag computation. |
protected boolean |
wasException
Was the exception mecanism triggered already |
Fields inherited from class fr.cnes.sirius.patrius.stela.propagation.StelaAbstractPropagator |
---|
attitudeProviderByDefault, attitudeProviderEvents, attitudeProviderForces, eventsStates, integrator, oldStepHandler |
Fields inherited from interface org.orekit.propagation.Propagator |
---|
EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE |
Constructor Summary | |
---|---|
StelaGTOPropagator(FirstOrderIntegrator integr)
Build a StelaGTOPropagator. |
|
StelaGTOPropagator(FirstOrderIntegrator integr,
AttitudeProvider inAttitudeProviderForces,
AttitudeProvider inAttitudeProviderEvents,
StelaBasicInterpolator inInter,
double maxShiftIn,
double minStepSizeIn)
Build a StelaGTOPropagator. |
|
StelaGTOPropagator(FirstOrderIntegrator integr,
AttitudeProvider inAttitudeProvider,
StelaBasicInterpolator inInter,
double maxShiftIn,
double minStepSizeIn)
Build a StelaGTOPropagator. |
|
StelaGTOPropagator(FirstOrderIntegrator integr,
double maxShiftIn,
double minStepSizeIn)
Build a StelaGTOPropagator. |
Method Summary | |
---|---|
void |
addAdditionalEquations(StelaAdditionalEquations addEquations)
Add a set of user-specified additional equations to be integrated along with the orbit propagation. |
void |
addAttitudeEquation(StelaAttitudeAdditionalEquations addEqu)
Add a set of user-specified attitude equations to be integrated along with the orbit propagation. |
void |
addForceModel(StelaForceModel forceModel)
Add a force model to the global perturbation model. |
List<StelaAdditionalEquations> |
getAddEquations()
Get the additional equations. |
protected double[] |
getdDragdt()
Method that returns the drag value in memory, only used for n steps drag computation purposes |
List<StelaForceModel> |
getForceModels()
Get perturbing force models list. |
ForcesStepHandler |
getForcesStepHandler()
Getter for forces step handler. |
List<AbstractStelaGaussContribution> |
getGaussForceModels()
Get perturbing Gauss force models list. |
List<AbstractStelaLagrangeContribution> |
getLagrangeForceModels()
Get perturbing Lagrange force models list. |
protected double |
getMass(AbsoluteDate date)
Get the mass. |
OrbitNatureConverter |
getOrbitNatureConverter()
Get the mean/osculating orbit converter. |
AbsoluteDate |
getReferenceDate()
Get the reference date |
protected List<OrekitStepHandler> |
getStepHandlers()
Provides a list of step handlers to be performed during propagation. |
protected boolean |
isRecomputeDrag()
|
SpacecraftState |
propagate(AbsoluteDate start,
AbsoluteDate target)
Propagate from a start date towards a target date. |
protected SpacecraftState |
propagateSpacecraftState(AbsoluteDate date)
Extrapolate a spacecraftState up to a specific target date. |
SpacecraftState |
propagationManagement(SpacecraftState state,
double stepSize,
double dt,
AbsoluteDate target)
Manages the current step, method to override when user wants to deal with exceptions during the propagation. |
void |
removeForceModels()
Remove all perturbing force models from the global perturbation model. |
void |
setAttitudeProvider(AttitudeProvider attitudeProvider)
Set attitude provider for forces and events computation. |
void |
setAttitudeProviderEvents(AttitudeProvider attitudeEventsProvider)
Set attitude provider for events computation. |
void |
setAttitudeProviderForces(AttitudeProvider attitudeForcesProvider)
Set attitude provider for forces computation. |
protected void |
setdDragdt(double[] indDragdt)
Specify the drag values, only used for n steps drag computation purposes |
void |
setInitialState(SpacecraftState initialState,
double massIn,
boolean isOsculatingIn)
Set the initial state. |
Methods inherited from class fr.cnes.sirius.patrius.stela.propagation.StelaAbstractPropagator |
---|
acceptStep, addAdditionalStateProvider, addEventDetector, basicPropagate, clearEventsDetectors, getAttitudeProvider, getAttitudeProviderEvents, getAttitudeProviderForces, getEventsDetectors, getFrame, getGeneratedEphemeris, getInitialState, getMode, getPVCoordinates, getPvProvider, getTimeDerivativesList, goAhead, isStoreTimeDerivatives, propagate, resetInitialState, setEphemerisMode, setIntegrator, setMasterMode, setMasterMode, setOrbitFrame, setSlaveMode, setStartDate, setStoreTimeDerivatives |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected boolean wasException
protected AbsoluteDate maxDate
protected int stepCounter
Constructor Detail |
---|
public StelaGTOPropagator(FirstOrderIntegrator integr) throws OrekitException
After creation, there is no orbit, method setInitialState
must be called. This
constructor uses a Default Law as AttitudeProvider. For a specific Attitude Provider please use the other
constructor. After creation, there are no perturbing forces at all. This means that if addForceModel
is not called after creation, the integrated orbit will follow a simple Keplerian evolution.
During reentry, no correction is performed if some results are not physical. As a result, an exception will be thrown if obtained results are not physical.
integr
- the first order integrator to use for extrapolation
OrekitException
- exception in reset initial statepublic StelaGTOPropagator(FirstOrderIntegrator integr, double maxShiftIn, double minStepSizeIn) throws OrekitException
After creation, there is no orbit, method setInitialState
must be called. This
constructor uses a the AttitudeProvider given by the user. After creation, there are no perturbing forces at
all. This means that if addForceModel
is not called after creation, the integrated orbit
will follow a simple Keplerian evolution.
No attitude provider is defined. The user should call setAttitudeProvider(AttitudeProvider)
or
setAttitudeProviderEvents(AttitudeProvider)
or setAttitudeProviderForces(AttitudeProvider)
integr
- the first order integrator to use for extrapolationmaxShiftIn
- Maximum number of integration steps STELA will try to correct to get some physical results
(mostly during reentry since integration step is too large). If 0, not correction is performed.
If more corrections are required, an exception will be thrownminStepSizeIn
- Smallest integration stepsize allowed. STELA will try to reduce stepsize during reentry to try to
get some physical results. If equals to integrator step size, not correction is done.
If a smaller stepsize than provided value is required, an exception will be thrown
OrekitException
- exception in reset initial statepublic StelaGTOPropagator(FirstOrderIntegrator integr, AttitudeProvider inAttitudeProvider, StelaBasicInterpolator inInter, double maxShiftIn, double minStepSizeIn) throws OrekitException
After creation, there is no orbit, method setInitialState
must be called. This
constructor uses a single AttitudeProvider given by the user. After creation, there are no perturbing forces at
all. This means that if addForceModel
is not called after creation, the integrated orbit
will follow a simple Keplerian evolution.
integr
- the first order integrator to use for extrapolationinAttitudeProvider
- attitude providerinInter
- the interpolatormaxShiftIn
- Maximum number of integration steps STELA will try to correct to get some physical results
(mostly during reentry since integration step is too large). If 0, not correction is performed.
If more corrections are required, an exception will be thrownminStepSizeIn
- Smallest integration stepsize allowed. STELA will try to reduce stepsize during reentry to try to
get some physical results. If equals to integrator step size, not correction is done.
If a smaller stepsize than provided value is required, an exception will be thrown
OrekitException
- exception in reset initial statepublic StelaGTOPropagator(FirstOrderIntegrator integr, AttitudeProvider inAttitudeProviderForces, AttitudeProvider inAttitudeProviderEvents, StelaBasicInterpolator inInter, double maxShiftIn, double minStepSizeIn) throws OrekitException
After creation, there is no orbit, method setInitialState
must be called. This
constructor uses AttitudeProvider for forces and events computations given by the user. After creation, there are
no perturbing forces at all. This means that if addForceModel
is not called after
creation, the integrated orbit will follow a simple Keplerian evolution.
integr
- the first order integrator to use for extrapolationinAttitudeProviderForces
- attitude provider for forces computationinAttitudeProviderEvents
- attitude provider for events computationinInter
- the interpolatormaxShiftIn
- Maximum number of integration steps STELA will try to correct to get some physical results
(mostly during reentry since integration step is too large). If 0, not correction is performed.
If more corrections are required, an exception will be thrownminStepSizeIn
- Smallest integration stepsize allowed. STELA will try to reduce stepsize during reentry to try to
get some physical results. If equals to integrator step size, not correction is done.
If a smaller stepsize than provided value is required, an exception will be thrown
OrekitException
- exception in reset initial stateMethod Detail |
---|
protected boolean isRecomputeDrag()
public void setInitialState(SpacecraftState initialState, double massIn, boolean isOsculatingIn) throws OrekitException
initialState
- initial state (no mass information should be provided)massIn
- the initial massisOsculatingIn
- true if initial state is osculating
OrekitException
- OrekitExceptionStelaAbstractPropagator.propagate(AbsoluteDate)
public void addForceModel(StelaForceModel forceModel)
If this method is not called at all, the integrated orbit will follow a simple keplerian evolution.
forceModel
- perturbing StelaForceModel
to addremoveForceModels()
public void removeForceModels()
Once all perturbing forces have been removed (and as long as no new force model is added), the integrated orbit will follow a simple keplerian evolution.
addForceModel(StelaForceModel)
public List<StelaForceModel> getForceModels()
addForceModel(StelaForceModel)
,
removeForceModels()
public List<AbstractStelaGaussContribution> getGaussForceModels()
addForceModel(StelaForceModel)
,
removeForceModels()
public List<AbstractStelaLagrangeContribution> getLagrangeForceModels()
addForceModel(StelaForceModel)
,
removeForceModels()
public void addAdditionalEquations(StelaAdditionalEquations addEquations)
addEquations
- additional equationsNumericalPropagator
public void addAttitudeEquation(StelaAttitudeAdditionalEquations addEqu)
addEqu
- attitude additional equations for Stela GTO propagatorpublic void setAttitudeProvider(AttitudeProvider attitudeProvider)
ConstantAttitudeLaw
.
setAttitudeProvider
in interface Propagator
setAttitudeProvider
in class StelaAbstractPropagator
attitudeProvider
- attitude providerpublic void setAttitudeProviderForces(AttitudeProvider attitudeForcesProvider)
ConstantAttitudeLaw
.
setAttitudeProviderForces
in interface Propagator
setAttitudeProviderForces
in class StelaAbstractPropagator
attitudeForcesProvider
- attitude provider for forces computationpublic void setAttitudeProviderEvents(AttitudeProvider attitudeEventsProvider)
ConstantAttitudeLaw
.
setAttitudeProviderEvents
in interface Propagator
setAttitudeProviderEvents
in class StelaAbstractPropagator
attitudeEventsProvider
- attitude provider for events computationpublic SpacecraftState propagate(AbsoluteDate start, AbsoluteDate target) throws PropagationException
StelaAbstractPropagator
Those propagators use a start date and a target date to compute the propagated state. For propagators using event detection mechanism, if the provided start date is different from the initial state date, a first, simple propagation is performed, without processing any event computation. Then complete propagation is performed from start date to target date.
propagate
in interface Propagator
propagate
in class StelaAbstractPropagator
start
- start date from which orbit state should be propagatedtarget
- target date to which orbit state should be propagated
PropagationException
- if state cannot be propagatedprotected List<OrekitStepHandler> getStepHandlers()
StelaAbstractPropagator
getStepHandlers
in class StelaAbstractPropagator
protected SpacecraftState propagateSpacecraftState(AbsoluteDate date) throws OrekitException
StelaAbstractPropagator
propagateSpacecraftState
in class StelaAbstractPropagator
date
- target date for the orbit
OrekitException
- * if some parameters are out of boundspublic SpacecraftState propagationManagement(SpacecraftState state, double stepSize, double dt, AbsoluteDate target) throws OrekitException
StelaAbstractPropagator
propagationManagement
in class StelaAbstractPropagator
state
- the current SpacecraftStatestepSize
- the current stepsizedt
- the dt timetarget
- target date to propagate
OrekitException
- Orekit exceptionprotected double getMass(AbsoluteDate date) throws PropagationException
StelaAbstractPropagator
getMass
in class StelaAbstractPropagator
date
- target date for the orbit
PropagationException
- if some parameters are out of boundspublic AbsoluteDate getReferenceDate()
public List<StelaAdditionalEquations> getAddEquations()
public OrbitNatureConverter getOrbitNatureConverter()
protected void setdDragdt(double[] indDragdt)
indDragdt
- the drag values to setprotected double[] getdDragdt()
public ForcesStepHandler getForcesStepHandler()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |