Class AbstractCartesianCost
- java.lang.Object
-
- org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
-
- All Implemented Interfaces:
CartesianCost
- Direct Known Subclasses:
BoundedCartesianEnergy
,CartesianFuelCost
,UnboundedCartesianEnergy
,UnboundedCartesianEnergyNeglectingMass
public abstract class AbstractCartesianCost extends Object implements CartesianCost
Abstract class for cost with Cartesian coordinates.- Since:
- 13.0
- Author:
- Romain Serra
- See Also:
CartesianCost
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractCartesianCost(String name, double massFlowRateFactor)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getAdjointName()
Getter for adjoint vector name.protected double
getAdjointVelocityNorm(double[] adjointVariables)
Computes the Euclidean norm of the adjoint velocity vector.protected <T extends CalculusFieldElement<T>>
TgetFieldAdjointVelocityNorm(T[] adjointVariables)
Computes the Euclidean norm of the adjoint velocity vector.double
getMassFlowRateFactor()
Getter for mass flow rate factor.-
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, getEventDetectors, getHamiltonianContribution, getThrustAccelerationVector, updateAdjointDerivatives
-
-
-
-
Constructor Detail
-
AbstractCartesianCost
protected AbstractCartesianCost(String name, double massFlowRateFactor)
Constructor.- Parameters:
name
- namemassFlowRateFactor
- mass flow rate factor
-
-
Method Detail
-
getAdjointName
public String getAdjointName()
Getter for adjoint vector name.- Specified by:
getAdjointName
in interfaceCartesianCost
- Returns:
- name
-
getMassFlowRateFactor
public double getMassFlowRateFactor()
Getter for mass flow rate factor. It is negated and multiplied by the thrust force magnitude to obtain the mass time derivative. The fact that it is a constant means that the exhaust speed is assumed to be independent of time.- Specified by:
getMassFlowRateFactor
in interfaceCartesianCost
- Returns:
- mass flow rate factor
-
getAdjointVelocityNorm
protected double getAdjointVelocityNorm(double[] adjointVariables)
Computes the Euclidean norm of the adjoint velocity vector.- Parameters:
adjointVariables
- adjoint vector- Returns:
- norm of adjoint velocity
-
getFieldAdjointVelocityNorm
protected <T extends CalculusFieldElement<T>> T getFieldAdjointVelocityNorm(T[] adjointVariables)
Computes the Euclidean norm of the adjoint velocity vector.- Type Parameters:
T
- field type- Parameters:
adjointVariables
- adjoint vector- Returns:
- norm of adjoint velocity
-
-