Class 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:
    CartesianCost
    • Constructor Detail

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

      • 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 of the cost function.
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        contribution to Hamiltonian
      • getEventDetectors

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