Class FieldCartesianFlightDurationCost<T extends CalculusFieldElement<T>>
java.lang.Object
org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost<T>
org.orekit.control.indirect.adjoint.cost.FieldCartesianFlightDurationCost<T>
- Type Parameters:
T- type of the field elements
- All Implemented Interfaces:
FieldCartesianCost<T>
public class FieldCartesianFlightDurationCost<T extends CalculusFieldElement<T>>
extends FieldAbstractCartesianCost<T>
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost
FieldAbstractCartesianCost.FieldSwitchFunction -
Constructor Summary
ConstructorsConstructorDescriptionFieldCartesianFlightDurationCost(String name, T massFlowRateFactor, T maximumThrustMagnitude) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetFieldHamiltonianContribution(T[] adjointVariables, T mass) Computes the Hamiltonian contribution to the cost function.getFieldThrustAccelerationVector(T[] adjointVariables, T mass) Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.Getter for maximum thrust magnitude.Method returning equivalent in non-Field.voidupdateFieldAdjointDerivatives(T[] adjointVariables, T mass, T[] adjointDerivatives) Update the adjoint derivatives if necessary.Methods inherited from class org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost
buildSwitchDetector, getAdjointDimension, getAdjointName, getFieldAdjointVelocityNorm, 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.FieldCartesianCost
getCostDerivativeProvider, getFieldEventDetectors
-
Constructor Details
-
Method Details
-
getMaximumThrustMagnitude
Getter for maximum thrust magnitude.- Returns:
- maximum thrust
-
getFieldThrustAccelerationVector
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.- Parameters:
adjointVariables- adjoint vectormass- mass- Returns:
- thrust vector
-
updateFieldAdjointDerivatives
Update the adjoint derivatives if necessary.- Parameters:
adjointVariables- adjoint vectormass- massadjointDerivatives- derivatives to update
-
getFieldHamiltonianContribution
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
-
toCartesianCost
Method returning equivalent in non-Field.- Returns:
- cost function for non-Field applications
-