Class AbstractCartesianAdjointEquationTerm

    • Constructor Detail

      • AbstractCartesianAdjointEquationTerm

        public AbstractCartesianAdjointEquationTerm()
    • Method Detail

      • getRatesContribution

        public double[] getRatesContribution​(AbsoluteDate date,
                                             double[] stateVariables,
                                             double[] adjointVariables,
                                             Frame frame)
        Computes the contribution to the rates of the adjoint variables.
        Specified by:
        getRatesContribution in interface CartesianAdjointEquationTerm
        Parameters:
        date - date
        stateVariables - state variables
        adjointVariables - adjoint variables
        frame - propagation frame
        Returns:
        contribution to the adjoint derivative vector
      • getHamiltonianContribution

        public double getHamiltonianContribution​(AbsoluteDate date,
                                                 double[] stateVariables,
                                                 double[] adjointVariables,
                                                 Frame frame)
        Computes the contribution to the Hamiltonian.
        Specified by:
        getHamiltonianContribution in interface CartesianAdjointEquationTerm
        Parameters:
        date - date
        stateVariables - state variables
        adjointVariables - adjoint variables
        frame - propagation frame
        Returns:
        contribution to the Hamiltonian
      • getAcceleration

        protected abstract Vector3D getAcceleration​(AbsoluteDate date,
                                                    double[] stateVariables,
                                                    Frame frame)
        Compute the acceleration vector.
        Parameters:
        date - date
        stateVariables - state variables
        frame - propagation frame
        Returns:
        acceleration vector
      • getFieldRatesContribution

        public <T extends CalculusFieldElement<T>> T[] getFieldRatesContribution​(FieldAbsoluteDate<T> date,
                                                                                 T[] stateVariables,
                                                                                 T[] adjointVariables,
                                                                                 Frame frame)
        Computes the contribution to the rates of the adjoint variables.
        Specified by:
        getFieldRatesContribution in interface CartesianAdjointEquationTerm
        Type Parameters:
        T - field type
        Parameters:
        date - date
        stateVariables - state variables
        adjointVariables - adjoint variables
        frame - propagation frame
        Returns:
        contribution to the adjoint derivative vector
      • getFieldHamiltonianContribution

        public <T extends CalculusFieldElement<T>> T getFieldHamiltonianContribution​(FieldAbsoluteDate<T> date,
                                                                                     T[] stateVariables,
                                                                                     T[] adjointVariables,
                                                                                     Frame frame)
        Computes the contribution to the Hamiltonian.
        Specified by:
        getFieldHamiltonianContribution in interface CartesianAdjointEquationTerm
        Type Parameters:
        T - field type
        Parameters:
        date - date
        stateVariables - state variables
        adjointVariables - adjoint variables
        frame - propagation frame
        Returns:
        contribution to the Hamiltonian
      • getFieldAcceleration

        protected abstract <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldAcceleration​(FieldAbsoluteDate<T> date,
                                                                                                     T[] stateVariables,
                                                                                                     Frame frame)
        Compute the acceleration vector.
        Type Parameters:
        T - field type
        Parameters:
        date - date
        stateVariables - state variables
        frame - propagation frame
        Returns:
        acceleration vector
      • buildGradientCartesianVector

        protected static Gradient[] buildGradientCartesianVector​(double[] stateVariables)
        Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.
        Parameters:
        stateVariables - Cartesian variables
        Returns:
        vector of independent variables
      • buildFieldGradientCartesianVector

        protected static <T extends CalculusFieldElement<T>> FieldGradient<T>[] buildFieldGradientCartesianVector​(T[] stateVariables)
        Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.
        Type Parameters:
        T - field type
        Parameters:
        stateVariables - Cartesian variables
        Returns:
        vector of independent variables