Class QuadraticPenaltyCartesianFuel

    • Constructor Detail

      • QuadraticPenaltyCartesianFuel

        public QuadraticPenaltyCartesianFuel​(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
      • QuadraticPenaltyCartesianFuel

        public QuadraticPenaltyCartesianFuel​(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

      • getEventDetectionSettings

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