Class AbstractCartesianAdjointNonCentralBodyTerm

All Implemented Interfaces:
CartesianAdjointEquationTerm
Direct Known Subclasses:
CartesianAdjointSingleBodyTerm, CartesianAdjointThirdBodyTerm

public abstract class AbstractCartesianAdjointNonCentralBodyTerm extends AbstractCartesianAdjointNewtonianTerm
Abstract class defining the contributions of a point-mass, single body gravity in the adjoint equations for Cartesian coordinates.
Since:
12.2
Author:
Romain Serra
See Also:
  • Constructor Details

    • AbstractCartesianAdjointNonCentralBodyTerm

      protected AbstractCartesianAdjointNonCentralBodyTerm(double mu, ExtendedPositionProvider bodyPositionProvider)
      Constructor.
      Parameters:
      mu - body gravitational parameter.
      bodyPositionProvider - body position provider
  • Method Details

    • getPositionAdjointContribution

      public double[] getPositionAdjointContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame)
      Computes the contribution to position adjoint derivatives.
      Specified by:
      getPositionAdjointContribution in class AbstractCartesianAdjointGravitationalTerm
      Parameters:
      date - date
      stateVariables - state variables
      adjointVariables - adjoint variables
      frame - propagation frame
      Returns:
      contribution to position adjoint derivatives
    • getPositionAdjointFieldContribution

      public <T extends CalculusFieldElement<T>> T[] getPositionAdjointFieldContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame)
      Computes the contribution to position adjoint derivatives.
      Specified by:
      getPositionAdjointFieldContribution in class AbstractCartesianAdjointGravitationalTerm
      Type Parameters:
      T - field type
      Parameters:
      date - date
      stateVariables - state variables
      adjointVariables - adjoint variables
      frame - propagation frame
      Returns:
      contribution to position adjoint derivatives
    • getBodyPosition

      protected Vector3D getBodyPosition(AbsoluteDate date, Frame frame)
      Get body's position.
      Parameters:
      date - date
      frame - frame
      Returns:
      position vector
    • getFieldBodyPosition

      protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldBodyPosition(FieldAbsoluteDate<T> date, Frame frame)
      Get body's position.
      Type Parameters:
      T - field type
      Parameters:
      date - date
      frame - frame
      Returns:
      position vector
    • formRelativePosition

      protected double[] formRelativePosition(AbsoluteDate date, double[] stateVariables, Frame frame)
      Form relative position vector w.r.t. body.
      Parameters:
      date - date
      stateVariables - Cartesian variables
      frame - frame where Cartesian coordinates apply
      Returns:
      relative position vector as array
    • formFieldRelativePosition

      protected <T extends CalculusFieldElement<T>> T[] formFieldRelativePosition(FieldAbsoluteDate<T> date, T[] stateVariables, Frame frame)
      Form relative position vector w.r.t. body.
      Type Parameters:
      T - field type
      Parameters:
      date - date
      stateVariables - Cartesian variables
      frame - frame where Cartesian coordinates apply
      Returns:
      relative position vector as array