public abstract class AbstractConstantThrustPropulsionModel extends Object implements ThrustPropulsionModel
ThrustPropulsionModel
and removes their dependencies to current spacecraft state.
Indeed since the thrust is constant (i.e. not variable during the maneuver), most of the
calculated parameters (thrust vector, flow rate etc.) do not depend on current spacecraft state.DATATION_ACCURACY
Constructor and Description |
---|
AbstractConstantThrustPropulsionModel(double thrust,
double isp,
org.hipparchus.geometry.euclidean.threed.Vector3D direction,
Control3DVectorCostType control3DVectorCostType,
String name)
Generic constructor.
|
AbstractConstantThrustPropulsionModel(double thrust,
double isp,
org.hipparchus.geometry.euclidean.threed.Vector3D direction,
String name)
Constructor with default control cost type.
|
Modifier and Type | Method and Description |
---|---|
Control3DVectorCostType |
getControl3DVectorCostType()
Get the control vector's cost type.
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getDirection()
Get the thrust direction in S/C frame.
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getDirection(AbsoluteDate date)
Get the thrust direction in S/C frame.
|
abstract double |
getFlowRate()
Get the flow rate (kg/s).
|
abstract double |
getFlowRate(AbsoluteDate date)
Get the flow rate (kg/s).
|
abstract double |
getFlowRate(double[] parameters)
Get the flow rate (kg/s).
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getFlowRate(FieldSpacecraftState<T> s,
T[] parameters)
Get the flow rate (kg/s).
|
double |
getFlowRate(SpacecraftState s)
Get the flow rate (kg/s).
|
double |
getFlowRate(SpacecraftState s,
double[] parameters)
Get the flow rate (kg/s).
|
abstract <T extends org.hipparchus.CalculusFieldElement<T>> |
getFlowRate(T[] parameters)
Get the flow rate (kg/s).
|
protected double |
getInitialFlowRate()
Get the initial flow rate.
|
protected org.hipparchus.geometry.euclidean.threed.Vector3D |
getInitialThrustVector()
Get the initial thrust vector.
|
double |
getIsp()
Get the specific impulse.
|
double |
getIsp(AbsoluteDate date)
Get the specific impulse at given date.
|
String |
getName()
Get the maneuver name.
|
double |
getThrustMagnitude()
Get the thrust magnitude (N).
|
double |
getThrustMagnitude(AbsoluteDate date)
Get the thrust magnitude (N) at given date.
|
abstract org.hipparchus.geometry.euclidean.threed.Vector3D |
getThrustVector()
Get the thrust vector in spacecraft frame (N).
|
abstract org.hipparchus.geometry.euclidean.threed.Vector3D |
getThrustVector(AbsoluteDate date)
Get the thrust vector in spacecraft frame (N).
|
abstract org.hipparchus.geometry.euclidean.threed.Vector3D |
getThrustVector(double[] parameters)
Get the thrust vector in spacecraft frame (N).
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getThrustVector(FieldSpacecraftState<T> s,
T[] parameters)
Get the thrust vector in spacecraft frame (N).
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getThrustVector(SpacecraftState s)
Get the thrust vector in spacecraft frame (N).
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getThrustVector(SpacecraftState s,
double[] parameters)
Get the thrust vector in spacecraft frame (N).
|
abstract <T extends org.hipparchus.CalculusFieldElement<T>> |
getThrustVector(T[] parameters)
Get the thrust vector in spacecraft frame (N).
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAcceleration, getAcceleration, getDirection, getIsp, getMassDerivatives, getMassDerivatives
getEventDetectors, getFieldEventDetectors, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
getEventDetectors, getFieldEventDetectors
public AbstractConstantThrustPropulsionModel(double thrust, double isp, org.hipparchus.geometry.euclidean.threed.Vector3D direction, Control3DVectorCostType control3DVectorCostType, String name)
thrust
- initial thrust value (N)isp
- initial isp value (s)direction
- initial thrust direction in S/C framecontrol3DVectorCostType
- control cost typename
- name of the maneuverpublic AbstractConstantThrustPropulsionModel(double thrust, double isp, org.hipparchus.geometry.euclidean.threed.Vector3D direction, String name)
thrust
- initial thrust value (N)isp
- initial isp value (s)direction
- initial thrust direction in S/C framename
- name of the maneuverprotected org.hipparchus.geometry.euclidean.threed.Vector3D getInitialThrustVector()
protected double getInitialFlowRate()
public String getName()
getName
in interface PropulsionModel
public Control3DVectorCostType getControl3DVectorCostType()
getControl3DVectorCostType
in interface PropulsionModel
public double getIsp()
public double getIsp(AbsoluteDate date)
date
- date at which the Isp wants to be knownpublic org.hipparchus.geometry.euclidean.threed.Vector3D getDirection(AbsoluteDate date)
date
- date at which the direction wants to be knownpublic org.hipparchus.geometry.euclidean.threed.Vector3D getDirection()
public double getThrustMagnitude()
public double getThrustMagnitude(AbsoluteDate date)
date
- date at which the thrust vector wants to be known,
often the date parameter will not be important and can be whatever
if the thrust parameter driver as only value estimated over the all
orbit determination intervalpublic org.hipparchus.geometry.euclidean.threed.Vector3D getThrustVector(SpacecraftState s)
getThrustVector
in interface ThrustPropulsionModel
s
- current spacecraft statepublic double getFlowRate(SpacecraftState s)
getFlowRate
in interface ThrustPropulsionModel
s
- current spacecraft statepublic org.hipparchus.geometry.euclidean.threed.Vector3D getThrustVector(SpacecraftState s, double[] parameters)
getThrustVector
in interface ThrustPropulsionModel
s
- current spacecraft stateparameters
- propulsion model parameterspublic double getFlowRate(SpacecraftState s, double[] parameters)
getFlowRate
in interface ThrustPropulsionModel
s
- current spacecraft stateparameters
- propulsion model parameterspublic <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> getThrustVector(FieldSpacecraftState<T> s, T[] parameters)
getThrustVector
in interface ThrustPropulsionModel
T
- extends CalculusFieldElement<T>s
- current spacecraft stateparameters
- propulsion model parameterspublic <T extends org.hipparchus.CalculusFieldElement<T>> T getFlowRate(FieldSpacecraftState<T> s, T[] parameters)
getFlowRate
in interface ThrustPropulsionModel
T
- extends CalculusFieldElement<T>s
- current spacecraft stateparameters
- propulsion model parameterspublic abstract org.hipparchus.geometry.euclidean.threed.Vector3D getThrustVector()
public abstract org.hipparchus.geometry.euclidean.threed.Vector3D getThrustVector(AbsoluteDate date)
date
- date at which the thrust vector wants to be known,
often the date parameter will not be important and can be whatever
if the thrust parameter driver as only value estimated over the all
orbit determination intervalpublic abstract double getFlowRate()
public abstract double getFlowRate(AbsoluteDate date)
date
- date at which the thrust vector wants to be known,
often the date parameter will not be important and can be whatever
if the thrust parameter driver as only value estimated over the all
orbit determination intervalpublic abstract org.hipparchus.geometry.euclidean.threed.Vector3D getThrustVector(double[] parameters)
parameters
- propulsion model parameterspublic abstract double getFlowRate(double[] parameters)
parameters
- propulsion model parameterspublic abstract <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> getThrustVector(T[] parameters)
T
- extends CalculusFieldElement<T>parameters
- propulsion model parameterspublic abstract <T extends org.hipparchus.CalculusFieldElement<T>> T getFlowRate(T[] parameters)
T
- extends CalculusFieldElement<T>parameters
- propulsion model parametersCopyright © 2002-2023 CS GROUP. All rights reserved.