Class CartesianFuelCost

java.lang.Object
org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
org.orekit.control.indirect.adjoint.cost.CartesianFuelCost
All Implemented Interfaces:
CartesianCost

public class CartesianFuelCost extends AbstractCartesianCost
Class for fuel cost with Cartesian coordinates. It is the integral over time of the Euclidean norm of the thrust vector.
Since:
13.0
Author:
Romain Serra
See Also:
  • Constructor Details

    • CartesianFuelCost

      public CartesianFuelCost(String name, double massFlowRateFactor, double maximumThrustMagnitude)
      Constructor with default detection settings.
      Parameters:
      name - name
      massFlowRateFactor - mass flow rate factor
      maximumThrustMagnitude - maximum thrust magnitude
    • CartesianFuelCost

      public CartesianFuelCost(String name, double massFlowRateFactor, double maximumThrustMagnitude, EventDetectionSettings eventDetectionSettings)
      Constructor.
      Parameters:
      name - name
      massFlowRateFactor - mass flow rate factor
      maximumThrustMagnitude - maximum thrust magnitude
      eventDetectionSettings - singularity event detection settings
  • Method Details

    • getMaximumThrustMagnitude

      public double getMaximumThrustMagnitude()
      Getter for maximum thrust magnitude.
      Returns:
      maximum thrust
    • getEventDetectionSettings

      public EventDetectionSettings getEventDetectionSettings()
      Getter for event detection settings.
      Returns:
      detection settings.
    • 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
    • getEventDetectors

      public Stream<EventDetector> getEventDetectors()
      Get the detectors needed for propagation.
      Returns:
      event detectors