Class CartesianFlightDurationCost
java.lang.Object
org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
org.orekit.control.indirect.adjoint.cost.CartesianFlightDurationCost
- All Implemented Interfaces:
CartesianCost
Class for minimizing the flight duration (a.k.a. time of flight) with Cartesian coordinates.
It is the integral over time of the constant one. The control is assumed to be bounded.
It also assumes that no external acceleration depends on mass.
If the mass flow rate factor is zero, then there is no adjoint for the mass.
- Since:
- 13.0
- Author:
- Romain Serra
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCartesianFlightDurationCost(String name, double massFlowRateFactor, double maximumThrustMagnitude) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondoublegetHamiltonianContribution(double[] adjointVariables, double mass) Computes the Hamiltonian contribution to the cost function.doubleGetter for maximum thrust magnitude.getThrustAccelerationVector(double[] adjointVariables, double mass) Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.voidupdateAdjointDerivatives(double[] adjointVariables, double mass, double[] adjointDerivatives) Update the adjoint derivatives if necessary.Methods inherited from class org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
buildSwitchDetector, getAdjointDimension, getAdjointName, getAdjointVelocityNorm, getMassFlowRateFactorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.control.indirect.adjoint.cost.CartesianCost
getCostDerivativeProvider, getEventDetectors
-
Constructor Details
-
CartesianFlightDurationCost
public CartesianFlightDurationCost(String name, double massFlowRateFactor, double maximumThrustMagnitude) Constructor.- Parameters:
name- namemassFlowRateFactor- mass flow rate factormaximumThrustMagnitude- maximum thrust magnitude
-
-
Method Details
-
getMaximumThrustMagnitude
public double getMaximumThrustMagnitude()Getter for maximum thrust magnitude.- Returns:
- maximum thrust
-
getThrustAccelerationVector
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.- 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
-
getHamiltonianContribution
public double getHamiltonianContribution(double[] adjointVariables, double mass) Computes the Hamiltonian contribution to the cost function. It equals the Lagrange-form integrand multiplied by -1.- Parameters:
adjointVariables- adjoint vectormass- mass- Returns:
- contribution to Hamiltonian
-