Class FieldLogarithmicBarrierCartesianFuel<T extends CalculusFieldElement<T>>

Type Parameters:
T - type of the field elements
All Implemented Interfaces:
FieldCartesianCost<T>

public class FieldLogarithmicBarrierCartesianFuel<T extends CalculusFieldElement<T>> extends FieldPenalizedCartesianFuelCost<T>
Fuel cost penalized with a logarithmic term, which is a barrier so is not defined for epsilon equal to 0 or 1.
Since:
13.0
Author:
Romain Serra
  • Constructor Details

    • FieldLogarithmicBarrierCartesianFuel

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

    • evaluateFieldPenaltyFunction

      public T evaluateFieldPenaltyFunction(T controlNorm)
      Evaluate the penalty term (without the weight), assumed to be a function of the control norm.
      Specified by:
      evaluateFieldPenaltyFunction in class FieldPenalizedCartesianFuelCost<T extends CalculusFieldElement<T>>
      Parameters:
      controlNorm - Euclidean norm of control vector
      Returns:
      penalty function
    • 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
    • toCartesianCost

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