Class QuadraticallyPenalizedCartesianFuel

    • Constructor Detail

      • QuadraticallyPenalizedCartesianFuel

        public QuadraticallyPenalizedCartesianFuel​(String name,
                                                   double massFlowRateFactor,
                                                   double maximumThrustMagnitude,
                                                   double epsilon,
                                                   EventDetectionSettings eventDetectionSettings)
        Constructor.
        Parameters:
        name - adjoint name
        massFlowRateFactor - mass flow rate factor
        maximumThrustMagnitude - maximum thrust magnitude
        epsilon - penalty weight
        eventDetectionSettings - detection settings
      • QuadraticallyPenalizedCartesianFuel

        public QuadraticallyPenalizedCartesianFuel​(String name,
                                                   double massFlowRateFactor,
                                                   double maximumThrustMagnitude,
                                                   double epsilon)
        Constructor with default event detection settings.
        Parameters:
        name - adjoint name
        massFlowRateFactor - mass flow rate factor
        maximumThrustMagnitude - maximum thrust magnitude
        epsilon - penalty weight
    • Method Detail

      • evaluatePenaltyFunction

        public double evaluatePenaltyFunction​(double controlNorm)
        Evaluate the penalty term (without the weight), assumed to be a function of the control norm.
        Specified by:
        evaluatePenaltyFunction in class PenalizedCartesianFuelCost
        Parameters:
        controlNorm - Euclidean norm of control vector
        Returns:
        penalty function
      • 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
      • getEventDetectors

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