Class FieldQuadraticallyPenalizedCartesianFuel<T extends CalculusFieldElement<T>>

    • Constructor Detail

      • FieldQuadraticallyPenalizedCartesianFuel

        public FieldQuadraticallyPenalizedCartesianFuel​(String name,
                                                        T massFlowRateFactor,
                                                        T maximumThrustMagnitude,
                                                        T epsilon,
                                                        FieldEventDetectionSettings<T> eventDetectionSettings)
        Constructor.
        Parameters:
        name - adjoint name
        massFlowRateFactor - mass flow rate factor
        maximumThrustMagnitude - maximum thrust magnitude
        epsilon - penalty weight
        eventDetectionSettings - detection settings
      • FieldQuadraticallyPenalizedCartesianFuel

        public FieldQuadraticallyPenalizedCartesianFuel​(String name,
                                                        T massFlowRateFactor,
                                                        T maximumThrustMagnitude,
                                                        T 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

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

        public Stream<FieldEventDetector<T>> getFieldEventDetectors​(Field<T> field)
        Get the detectors needed for propagation.
        Parameters:
        field - field
        Returns:
        event detectors