Interface CartesianCost

    • 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

        double 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
      • getThrustAccelerationVector

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

        <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldThrustAccelerationVector​(T[] adjointVariables,
                                                                                              T mass)
        Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.
        Type Parameters:
        T - field type
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        thrust vector
      • updateAdjointDerivatives

        void updateAdjointDerivatives​(double[] adjointVariables,
                                      double mass,
                                      double[] adjointDerivatives)
        Update the adjoint derivatives if necessary.
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        adjointDerivatives - derivatives to update
      • updateFieldAdjointDerivatives

        <T extends CalculusFieldElement<T>> void updateFieldAdjointDerivatives​(T[] adjointVariables,
                                                                               T mass,
                                                                               T[] adjointDerivatives)
        Update the adjoint derivatives if necessary.
        Type Parameters:
        T - field type
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        adjointDerivatives - derivatives to update
      • getHamiltonianContribution

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

        <T extends CalculusFieldElement<T>> T getFieldHamiltonianContribution​(T[] adjointVariables,
                                                                              T mass)
        Computes the Hamiltonian contribution of the cost function.
        Type Parameters:
        T - field type
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        contribution to Hamiltonian