public class ImpulseDeManeuver extends ImpulseManeuver implements ImpulseParKepManeuver
EventDetector.ActiondeltaVSatactionAtEntry, actionAtExit, DEFAULT_MAXCHECK, DEFAULT_MAXITER, DEFAULT_THRESHOLD, removeAtEntry, removeAtExit, shouldBeRemovedFlagDECREASING, INCREASING, INCREASING_DECREASING| Constructor and Description |
|---|
ImpulseDeManeuver(EventDetector inTrigger,
double de,
double da,
double isp,
MassProvider massModel,
String part,
boolean throwExceptionIfNotSolution)
Build a new instance.
|
ImpulseDeManeuver(EventDetector inTrigger,
double de,
double da,
PropulsiveProperty engine,
MassProvider massModel,
TankProperty tank,
boolean throwExceptionIfNotSolution)
Build a new instance using propulsive and engine property.
|
| Modifier and Type | Method and Description |
|---|---|
void |
computeDV(SpacecraftState state)
Method to compute the DV thanks to Keplerian parameters included in the Spacecraft state.
|
double |
getDa()
Getter for semi-major axis increment.
|
double |
getDe()
Getter for eccentricity axis increment.
|
SpacecraftState |
resetState(SpacecraftState oldState)
Reset the state (including additional states) prior to continue propagation.
|
copy, eventOccurred, g, getDeltaVSat, getFrame, getIsp, getLofType, getMassProvider, getMaxCheckInterval, getMaxIterationCount, getPropulsiveProperty, getSlopeSelection, getTankProperty, getThreshold, getTrigger, getUsedDV, hasFired, init, shouldBeRemovedfilterEvent, getActionAtEntry, getActionAtExit, isRemoveAtEntry, isRemoveAtExit, logEventsOverTimeInterval, setMaxCheckInterval, setMaxIterpublic ImpulseDeManeuver(EventDetector inTrigger, double de, double da, double isp, MassProvider massModel, String part, boolean throwExceptionIfNotSolution) throws PatriusException
inTrigger - triggering event (it must generate a STOP event action to trigger the maneuver)de - eccentricity incrementda - semi major axis increment (m)isp - engine specific impulse (s)massModel - mass modelpart - part of the mass model that provides the propellantthrowExceptionIfNotSolution - flag to throw an exception if no solution found (true), returns 0 otherwisePatriusException - if mass from mass provider is negativepublic ImpulseDeManeuver(EventDetector inTrigger, double de, double da, PropulsiveProperty engine, MassProvider massModel, TankProperty tank, boolean throwExceptionIfNotSolution)
inTrigger - triggering event (it must generate a STOP event action to trigger the maneuver)de - eccentricity incrementda - semi major axis increment (m)engine - engine property (specific impulse)massModel - mass modeltank - tank property gathering mass and part name informationthrowExceptionIfNotSolution - flag to throw an exception if no solution found (true), returns 0 otherwisepublic SpacecraftState resetState(SpacecraftState oldState) throws PatriusException
This method is called after the step handler has returned and before the next step is started, but only when
EventDetector.eventOccurred(fr.cnes.sirius.patrius.propagation.SpacecraftState, boolean, boolean) has itself returned the EventDetector.Action.RESET_STATE indicator. It allows the
user to reset the state for the next step, without perturbing the step handler of the finishing step. If the
EventDetector.eventOccurred(fr.cnes.sirius.patrius.propagation.SpacecraftState, boolean, boolean) never returns the EventDetector.Action.RESET_STATE indicator, this function will
never be called, and it is safe to simply return null.
resetState in interface EventDetectorresetState in class ImpulseManeuveroldState - old statePatriusException - thrown if the mass becomes negative
(PatriusMessages.SPACECRAFT_MASS_BECOMES_NEGATIVE)public void computeDV(SpacecraftState state) throws PatriusException
computeDV in interface ImpulseParKepManeuverstate - S/C statePatriusException - thrown if there is no solutionpublic double getDa()
public double getDe()
Copyright © 2024 CNES. All rights reserved.