Class FieldUnboundedCartesianEnergy<T extends CalculusFieldElement<T>>

    • Constructor Detail

      • FieldUnboundedCartesianEnergy

        public FieldUnboundedCartesianEnergy​(String name,
                                             T massFlowRateFactor,
                                             FieldEventDetectionSettings<T> eventDetectionSettings)
        Constructor.
        Parameters:
        name - name
        massFlowRateFactor - mass flow rate factor
        eventDetectionSettings - detection settings for singularity detections
      • FieldUnboundedCartesianEnergy

        public FieldUnboundedCartesianEnergy​(String name,
                                             T massFlowRateFactor)
        Constructor.
        Parameters:
        name - name
        massFlowRateFactor - mass flow rate factor
    • Method Detail

      • getFieldThrustForceNorm

        protected T getFieldThrustForceNorm​(T[] adjointVariables,
                                            T mass)
        Computes the Euclidean norm of the thrust force.
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        norm of thrust
      • getFieldEventDetectors

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

        public UnboundedCartesianEnergy toCartesianCost()
        Method returning equivalent in non-Field.
        Returns:
        cost function for non-Field applications
      • getEventDetectionSettings

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

        protected FieldVector3D<T> getFieldThrustDirection​(T[] adjointVariables)
        Computes the direction of thrust.
        Parameters:
        adjointVariables - adjoint vector
        Returns:
        thrust direction
      • 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