Class FieldCartesianFlightDurationCost<T extends CalculusFieldElement<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 Detail

      • FieldCartesianFlightDurationCost

        public FieldCartesianFlightDurationCost​(String name,
                                                T massFlowRateFactor,
                                                T maximumThrustMagnitude)
        Constructor.
        Parameters:
        name - name
        massFlowRateFactor - mass flow rate factor
        maximumThrustMagnitude - maximum thrust magnitude
    • 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 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