Interface FieldCartesianCost<T extends CalculusFieldElement<T>>

    • Method Detail

      • getAdjointName

        String getAdjointName()
        Getter for adjoint vector name.
        Returns:
        adjoint vector name
      • getAdjointDimension

        default int getAdjointDimension()
        Getter for adjoint vector dimension. Default is 7 (six for Cartesian coordinates and one for mass).
        Returns:
        adjoint dimension
      • getMassFlowRateFactor

        T getMassFlowRateFactor()
        Getter for mass flow rate factor. It is negated and multiplied by the thrust force magnitude to obtain the mass time derivative. The fact that it is a constant means that the exhaust speed is assumed to be independent of time.
        Returns:
        mass flow rate factor
      • getFieldThrustAccelerationVector

        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

        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

        T getFieldHamiltonianContribution​(T[] adjointVariables,
                                          T mass)
        Computes the Hamiltonian contribution of the cost function.
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        contribution to Hamiltonian
      • getFieldEventDetectors

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

        CartesianCost toCartesianCost()
        Method returning equivalent in non-Field.
        Returns:
        cost function for non-Field applications