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:
  • Constructor Details

    • FieldCartesianFlightDurationCost

      public FieldCartesianFlightDurationCost(String name, T massFlowRateFactor, T maximumThrustMagnitude)
      Constructor.
      Parameters:
      name - name
      massFlowRateFactor - mass flow rate factor
      maximumThrustMagnitude - maximum thrust magnitude
  • Method Details

    • 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 vector
      mass - mass
      Returns:
      thrust vector
    • updateFieldAdjointDerivatives

      public void updateFieldAdjointDerivatives(T[] adjointVariables, T mass, T[] adjointDerivatives)
      Update the adjoint derivatives if necessary.
      Parameters:
      adjointVariables - adjoint vector
      mass - mass
      adjointDerivatives - 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 vector
      mass - mass
      Returns:
      contribution to Hamiltonian
    • toCartesianCost

      public CartesianFlightDurationCost toCartesianCost()
      Method returning equivalent in non-Field.
      Returns:
      cost function for non-Field applications