Class FieldCartesianFuelCost<T extends CalculusFieldElement<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:
    CartesianCost
    • Constructor Detail

      • 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 Detail

      • 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