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>
-
- 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:
CartesianCost
,CartesianFlightDurationCost
-
-
Constructor Summary
Constructors Constructor Description FieldCartesianFlightDurationCost(String name, T massFlowRateFactor, T maximumThrustMagnitude)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
getFieldHamiltonianContribution(T[] adjointVariables, T mass)
Computes the Hamiltonian contribution to the cost function.FieldVector3D<T>
getFieldThrustAccelerationVector(T[] adjointVariables, T mass)
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.T
getMaximumThrustMagnitude()
Getter for maximum thrust magnitude.CartesianFlightDurationCost
toCartesianCost()
Method returning equivalent in non-Field.void
updateFieldAdjointDerivatives(T[] adjointVariables, T mass, T[] adjointDerivatives)
Update the adjoint derivatives if necessary.-
Methods inherited from class org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost
getAdjointDimension, getAdjointName, 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.FieldCartesianCost
getCostDerivativeProvider, getFieldEventDetectors
-
-
-
-
Method Detail
-
getMaximumThrustMagnitude
public T getMaximumThrustMagnitude()
Getter for maximum thrust magnitude.- Returns:
- maximum thrust
-
getFieldThrustAccelerationVector
public FieldVector3D<T> getFieldThrustAccelerationVector(T[] adjointVariables, T mass)
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.- Parameters:
adjointVariables
- adjoint vectormass
- mass- Returns:
- thrust vector
-
updateFieldAdjointDerivatives
public void updateFieldAdjointDerivatives(T[] adjointVariables, T mass, T[] adjointDerivatives)
Update the adjoint derivatives if necessary.- Parameters:
adjointVariables
- adjoint vectormass
- massadjointDerivatives
- derivatives to update
-
getFieldHamiltonianContribution
public T getFieldHamiltonianContribution(T[] adjointVariables, T 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
-
toCartesianCost
public CartesianFlightDurationCost toCartesianCost()
Method returning equivalent in non-Field.- Returns:
- cost function for non-Field applications
-
-