Class CartesianFuel
- java.lang.Object
-
- org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
-
- org.orekit.control.indirect.adjoint.cost.CartesianFuel
-
- All Implemented Interfaces:
CartesianCost
,EventDetectorsProvider
public class CartesianFuel extends AbstractCartesianCost
Class for fuel cost with Cartesian coordinates. It is the integral over time of the Euclidean norm of the thrust vector.- Since:
- 13.0
- Author:
- Romain Serra
- See Also:
CartesianCost
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Constructor Summary
Constructors Constructor Description CartesianFuel(String name, double massFlowRateFactor, double maximumThrustMagnitude)
Constructor with default detection settings.CartesianFuel(String name, double massFlowRateFactor, double maximumThrustMagnitude, EventDetectionSettings eventDetectionSettings)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EventDetectionSettings
getEventDetectionSettings()
Getter for event detection settings.Stream<EventDetector>
getEventDetectors()
Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
Stream<FieldEventDetector<T>>getFieldEventDetectors(Field<T> field)
Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
TgetFieldHamiltonianContribution(T[] adjointVariables, T mass)
Computes the Hamiltonian contribution of the cost function.<T extends CalculusFieldElement<T>>
FieldVector3D<T>getFieldThrustAccelerationVector(T[] adjointVariables, T mass)
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.double
getHamiltonianContribution(double[] adjointVariables, double mass)
Computes the Hamiltonian contribution of the cost function.Vector3D
getThrustAccelerationVector(double[] adjointVariables, double mass)
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.void
updateAdjointDerivatives(double[] adjointVariables, double mass, double[] adjointDerivatives)
Update the adjoint derivatives if necessary.<T extends CalculusFieldElement<T>>
voidupdateFieldAdjointDerivatives(T[] adjointVariables, T mass, T[] adjointDerivatives)
Update the adjoint derivatives if necessary.-
Methods inherited from class org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
getAdjointName, getAdjointVelocityNorm, getFieldAdjointVelocityNorm, getMassFlowRateFactor
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.control.indirect.adjoint.cost.CartesianCost
getAdjointDimension
-
Methods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getEventDetectors, getFieldEventDetectors
-
-
-
-
Constructor Detail
-
CartesianFuel
public CartesianFuel(String name, double massFlowRateFactor, double maximumThrustMagnitude)
Constructor with default detection settings.- Parameters:
name
- namemassFlowRateFactor
- mass flow rate factormaximumThrustMagnitude
- maximum thrust magnitude
-
CartesianFuel
public CartesianFuel(String name, double massFlowRateFactor, double maximumThrustMagnitude, EventDetectionSettings eventDetectionSettings)
Constructor.- Parameters:
name
- namemassFlowRateFactor
- mass flow rate factormaximumThrustMagnitude
- maximum thrust magnitudeeventDetectionSettings
- singularity event detection settings
-
-
Method Detail
-
getEventDetectionSettings
public EventDetectionSettings getEventDetectionSettings()
Getter for event detection settings.- Returns:
- detection settings.
-
getThrustAccelerationVector
public Vector3D getThrustAccelerationVector(double[] adjointVariables, double mass)
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.- Parameters:
adjointVariables
- adjoint vectormass
- mass- Returns:
- thrust vector
-
getFieldThrustAccelerationVector
public <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldThrustAccelerationVector(T[] adjointVariables, T mass)
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.- Type Parameters:
T
- field type- Parameters:
adjointVariables
- adjoint vectormass
- mass- Returns:
- thrust vector
-
updateAdjointDerivatives
public void updateAdjointDerivatives(double[] adjointVariables, double mass, double[] adjointDerivatives)
Update the adjoint derivatives if necessary.- Parameters:
adjointVariables
- adjoint vectormass
- massadjointDerivatives
- derivatives to update
-
updateFieldAdjointDerivatives
public <T extends CalculusFieldElement<T>> void updateFieldAdjointDerivatives(T[] adjointVariables, T mass, T[] adjointDerivatives)
Update the adjoint derivatives if necessary.- Type Parameters:
T
- field type- Parameters:
adjointVariables
- adjoint vectormass
- massadjointDerivatives
- derivatives to update
-
getHamiltonianContribution
public double getHamiltonianContribution(double[] adjointVariables, double mass)
Computes the Hamiltonian contribution of the cost function.- Parameters:
adjointVariables
- adjoint vectormass
- mass- Returns:
- contribution to Hamiltonian
-
getFieldHamiltonianContribution
public <T extends CalculusFieldElement<T>> T getFieldHamiltonianContribution(T[] adjointVariables, T mass)
Computes the Hamiltonian contribution of the cost function.- Type Parameters:
T
- field type- Parameters:
adjointVariables
- adjoint vectormass
- mass- Returns:
- contribution to Hamiltonian
-
getEventDetectors
public Stream<EventDetector> getEventDetectors()
Get the discrete events related to the model.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
- Returns:
- stream of event detectors
-
getFieldEventDetectors
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field)
Get the discrete events related to the model.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
- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
field
- field to which the state belongs- Returns:
- stream of event detectors
-
-