public class ConstantThrustManeuver extends Maneuver
The maneuver is defined by a direction in satellite frame.
The current attitude of the spacecraft, defined by the current
spacecraft state, will be used to compute the thrust direction in
inertial frame. A typical case for tangential maneuvers is to use a
LOF aligned
attitude provider
for state propagation and a velocity increment along the +X satellite axis.
Modifier and Type | Field and Description |
---|---|
static String |
FLOW_RATE
Deprecated.
as of 10.2,
replace by
BasicConstantThrustPropulsionModel.FLOW_RATE |
static String |
THRUST
Deprecated.
as of 10.2,
replace by
BasicConstantThrustPropulsionModel.THRUST |
Constructor and Description |
---|
ConstantThrustManeuver(AbsoluteDate date,
double duration,
AttitudeProvider attitudeOverride,
AbstractConstantThrustPropulsionModel constantThrustPropulsionModel)
Simple constructor for a constant direction and constant thrust.
|
ConstantThrustManeuver(AbsoluteDate date,
double duration,
double thrust,
double isp,
AttitudeProvider attitudeOverride,
Vector3D direction)
Simple constructor for a constant direction and constant thrust.
|
ConstantThrustManeuver(AbsoluteDate date,
double duration,
double thrust,
double isp,
AttitudeProvider attitudeOverride,
Vector3D direction,
String name)
Simple constructor for a constant direction and constant thrust.
|
ConstantThrustManeuver(AbsoluteDate date,
double duration,
double thrust,
double isp,
Vector3D direction)
Simple constructor for a constant direction and constant thrust.
|
ConstantThrustManeuver(AbsoluteDate date,
double duration,
double thrust,
double isp,
Vector3D direction,
String name)
Simple constructor for a constant direction and constant thrust.
|
ConstantThrustManeuver(AttitudeProvider attitudeOverride,
DateBasedManeuverTriggers dateBasedManeuverTriggers,
AbstractConstantThrustPropulsionModel constantThrustPropulsionModel)
Simple constructor for a constant direction and constant thrust.
|
Modifier and Type | Method and Description |
---|---|
Vector3D |
getDirection()
Get the direction.
|
double |
getDuration()
Get the duration of the maneuver (s).
|
AbsoluteDate |
getEndDate()
Get the end date.
|
double |
getFlowRate()
Get the flow rate.
|
double |
getISP()
Get the specific impulse.
|
AbsoluteDate |
getStartDate()
Get the start date.
|
double |
getThrust()
Get the thrust.
|
Vector3D |
getThrustVector()
Get the thrust vector (N) in S/C frame.
|
boolean |
isFiring(AbsoluteDate date)
Check if maneuvering is on.
|
<T extends RealFieldElement<T>> |
isFiring(FieldSpacecraftState<T> s)
Check if maneuvering is on.
|
boolean |
isFiring(SpacecraftState s)
Check if maneuvering is on.
|
acceleration, acceleration, addContribution, addContribution, dependsOnPositionOnly, getAttitudeOverride, getEventsDetectors, getFieldEventsDetectors, getManeuverTriggers, getName, getParametersDrivers, getPropulsionModel, init
complainIfNotSupported, getParameterDriver, isSupported
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameters, getParameters
@Deprecated public static final String THRUST
BasicConstantThrustPropulsionModel.THRUST
@Deprecated public static final String FLOW_RATE
BasicConstantThrustPropulsionModel.FLOW_RATE
public ConstantThrustManeuver(AbsoluteDate date, double duration, double thrust, double isp, Vector3D direction)
It uses the propulsion model BasicConstantThrustPropulsionModel
and
the maneuver triggers DateBasedManeuverTriggers
Calling this constructor is equivalent to call ConstantThrustManeuver(date, duration, thrust, isp, direction, "")
,
hence not using any prefix for the parameters drivers names.
date
- maneuver dateduration
- the duration of the thrust (s) (if negative,
the date is considered to be the stop date)thrust
- the thrust force (N)isp
- engine specific impulse (s)direction
- the acceleration direction in satellite frame.public ConstantThrustManeuver(AbsoluteDate date, double duration, double thrust, double isp, AttitudeProvider attitudeOverride, Vector3D direction)
It uses the propulsion model BasicConstantThrustPropulsionModel
and
the maneuver triggers DateBasedManeuverTriggers
Calling this constructor is equivalent to call ConstantThrustManeuver(date, duration, thrust, isp, direction, "")
,
hence not using any prefix for the parameters drivers names.
date
- maneuver dateduration
- the duration of the thrust (s) (if negative,
the date is considered to be the stop date)thrust
- the thrust force (N)isp
- engine specific impulse (s)attitudeOverride
- the attitude provider to use for the maneuver, or
null if the attitude from the propagator should be useddirection
- the acceleration direction in satellite frame.public ConstantThrustManeuver(AbsoluteDate date, double duration, double thrust, double isp, Vector3D direction, String name)
It uses the propulsion model BasicConstantThrustPropulsionModel
and
the maneuver triggers DateBasedManeuverTriggers
The name of the maneuver is used to distinguish the parameter drivers. A typical use case is to use something like "1A-" or "2B-" as a prefix corresponding to the name of the thruster to use, so separate parameters can be adjusted for the different thrusters involved during an orbit determination where maneuvers parameters are estimated.
date
- maneuver dateduration
- the duration of the thrust (s) (if negative,
the date is considered to be the stop date)thrust
- the thrust force (N)isp
- engine specific impulse (s)direction
- the acceleration direction in satellite framename
- name of the maneuver, used as a prefix for the parameters drivers
public ConstantThrustManeuver(AbsoluteDate date, double duration, double thrust, double isp, AttitudeProvider attitudeOverride, Vector3D direction, String name)
It uses the propulsion model BasicConstantThrustPropulsionModel
and
the maneuver triggers DateBasedManeuverTriggers
The name of the maneuver is used to distinguish the parameter drivers. A typical use case is to use something like "1A-" or "2B-" as a prefix corresponding to the name of the thruster to use, so separate parameters can be adjusted for the different thrusters involved during an orbit determination where maneuvers parameters are estimated.
date
- maneuver dateduration
- the duration of the thrust (s) (if negative,
the date is considered to be the stop date)thrust
- the thrust force (N)isp
- engine specific impulse (s)attitudeOverride
- the attitude provider to use for the maneuver, or
null if the attitude from the propagator should be useddirection
- the acceleration direction in satellite framename
- name of the maneuver, used as a prefix for the parameters drivers
public ConstantThrustManeuver(AbsoluteDate date, double duration, AttitudeProvider attitudeOverride, AbstractConstantThrustPropulsionModel constantThrustPropulsionModel)
It uses an AbstractConstantThrustPropulsionModel
and
the maneuver triggers DateBasedManeuverTriggers
The names of the maneuver (and thus its parameter drivers) are extracted from the propulsion model.
date
- maneuver dateduration
- the duration of the thrust (s) (if negative,
the date is considered to be the stop date)attitudeOverride
- the attitude provider to use for the maneuver, or
null if the attitude from the propagator should be usedconstantThrustPropulsionModel
- user-defined constant thrust propulsion modelpublic ConstantThrustManeuver(AttitudeProvider attitudeOverride, DateBasedManeuverTriggers dateBasedManeuverTriggers, AbstractConstantThrustPropulsionModel constantThrustPropulsionModel)
It uses an AbstractConstantThrustPropulsionModel
and
the maneuver triggers DateBasedManeuverTriggers
The names of the maneuver (and thus its parameter drivers) are extracted from the propulsion model or the maneuver triggers. Propulsion model name is evaluated first, if it isn't empty, it becomes the name of the maneuver. In that case the name in the maneuver triggers should be the same or empty, otherwise this could be misleading when retrieving estimated parameters by their names.
attitudeOverride
- the attitude provider to use for the maneuver, or
null if the attitude from the propagator should be useddateBasedManeuverTriggers
- user-defined maneuver triggers object based on a start and end dateconstantThrustPropulsionModel
- user-defined constant thrust propulsion modelpublic Vector3D getThrustVector()
public double getThrust()
public double getISP()
public double getFlowRate()
public Vector3D getDirection()
public AbsoluteDate getStartDate()
public AbsoluteDate getEndDate()
public double getDuration()
public boolean isFiring(SpacecraftState s)
s
- current statepublic <T extends RealFieldElement<T>> boolean isFiring(FieldSpacecraftState<T> s)
T
- type of the field elementss
- current statepublic boolean isFiring(AbsoluteDate date)
date
- current dateCopyright © 2002-2020 CS GROUP. All rights reserved.