public class ProfileThrustPropulsionModel extends Object implements ThrustPropulsionModel
Constructor and Description |
---|
ProfileThrustPropulsionModel(TimeSpanMap<PolynomialThrustSegment> profile,
double isp,
Control3DVectorCostType control3DVectorCostType,
String name)
Generic constructor.
|
Modifier and Type | Method and Description |
---|---|
Control3DVectorCostType |
getControl3DVectorCostType()
Get the control vector's cost type.
|
Stream<EventDetector> |
getEventDetectors()
Get the discrete events related to the model.
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getFieldEventDetectors(org.hipparchus.Field<T> field)
Get the discrete events related to the model.
|
<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).
|
String |
getName()
Get the maneuver name.
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for parameters.
|
<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).
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAcceleration, getAcceleration, getDirection, getIsp, getMassDerivatives, getMassDerivatives
init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public ProfileThrustPropulsionModel(TimeSpanMap<PolynomialThrustSegment> profile, double isp, Control3DVectorCostType control3DVectorCostType, String name)
profile
- thrust profile (N)isp
- specific impulse (s)control3DVectorCostType
- control vector's cost typename
- name of the maneuverpublic String getName()
getName
in interface PropulsionModel
public Control3DVectorCostType getControl3DVectorCostType()
getControl3DVectorCostType
in interface PropulsionModel
public 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)
Here the thrust vector does not depend on parameters
getThrustVector
in interface ThrustPropulsionModel
s
- current spacecraft stateparameters
- propulsion model parameterspublic double getFlowRate(SpacecraftState s, double[] parameters)
Here the flow rate does not depend on 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)
Here the thrust vector does not depend on 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)
Here the flow rate does not depend on parameters
getFlowRate
in interface ThrustPropulsionModel
T
- extends CalculusFieldElement<T>s
- current spacecraft stateparameters
- propulsion model parameterspublic Stream<EventDetector> getEventDetectors()
This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called..
The single detector returned triggers Action.RESET_DERIVATIVES
events
at every thrust segments
boundaries.
getEventDetectors
in interface PropulsionModel
getEventDetectors
in interface EventDetectorsProvider
public <T extends org.hipparchus.CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(org.hipparchus.Field<T> field)
This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called..
The single detector returned triggers Action.RESET_DERIVATIVES
events
at every thrust segments
boundaries.
getFieldEventDetectors
in interface PropulsionModel
getFieldEventDetectors
in interface EventDetectorsProvider
T
- extends CalculusFieldElement<T>field
- field to which the state belongspublic List<ParameterDriver> getParametersDrivers()
ParameterDriversProvider
getParametersDrivers
in interface ParameterDriversProvider
Copyright © 2002-2023 CS GROUP. All rights reserved.