Class FieldCartesianFuelCost<T extends CalculusFieldElement<T>>

java.lang.Object
org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost<T>
org.orekit.control.indirect.adjoint.cost.FieldCartesianFuelCost<T>
Type Parameters:
T - type of the field elements
All Implemented Interfaces:
FieldCartesianCost<T>

public class FieldCartesianFuelCost<T extends CalculusFieldElement<T>> extends FieldAbstractCartesianCost<T>
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

    • FieldCartesianFuelCost

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

      public FieldCartesianFuelCost(String name, T massFlowRateFactor, T maximumThrustMagnitude, FieldEventDetectionSettings<T> eventDetectionSettings)
      Constructor.
      Parameters:
      name - name
      massFlowRateFactor - mass flow rate factor
      maximumThrustMagnitude - maximum thrust magnitude
      eventDetectionSettings - singularity event detection settings
  • Method Details

    • getEventDetectionSettings

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

      public Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field)
      Get the detectors needed for propagation.
      Parameters:
      field - field
      Returns:
      event detectors
    • toCartesianCost

      public CartesianFuelCost toCartesianCost()
      Description copied from interface: FieldCartesianCost
      Method returning equivalent in non-Field.
      Returns:
      cost function for non-Field applications