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

    • CartesianFlightDurationCost

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

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

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