Class CartesianFlightDurationCost
- java.lang.Object
-
- org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
-
- org.orekit.control.indirect.adjoint.cost.CartesianFlightDurationCost
-
- All Implemented Interfaces:
CartesianCost
public class CartesianFlightDurationCost extends AbstractCartesianCost
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:
CartesianCost
-
-
Constructor Summary
Constructors Constructor Description CartesianFlightDurationCost(String name, double massFlowRateFactor, double maximumThrustMagnitude)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getHamiltonianContribution(double[] adjointVariables, double mass)
Computes the Hamiltonian contribution to the cost function.double
getMaximumThrustMagnitude()
Getter for maximum thrust magnitude.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.-
Methods inherited from class org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
getAdjointDimension, 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
getCostDerivativeProvider, getEventDetectors
-
-
-
-
Constructor Detail
-
CartesianFlightDurationCost
public CartesianFlightDurationCost(String name, double massFlowRateFactor, double maximumThrustMagnitude)
Constructor.- Parameters:
name
- namemassFlowRateFactor
- mass flow rate factormaximumThrustMagnitude
- maximum thrust magnitude
-
-
Method Detail
-
getMaximumThrustMagnitude
public double getMaximumThrustMagnitude()
Getter for maximum thrust magnitude.- Returns:
- maximum thrust
-
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
-
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
-
-