Interface FieldTimeDerivativesEquations<T extends CalculusFieldElement<T>>

  • Type Parameters:
    T - type of the field elements

    public interface FieldTimeDerivativesEquations<T extends CalculusFieldElement<T>>
    Interface summing up the contribution of several forces into orbit and mass derivatives.

    The aim of this interface is to gather the contributions of various perturbing forces expressed as accelerations into one set of time-derivatives of Orbit plus one mass derivatives. It implements Gauss equations for different kind of parameters.

    An implementation of this interface is automatically provided by integration-based propagators, which are either semi-analytical or numerical propagators.

    Author:
    Luc Maisonobe, Fabien Maussion, Véronique Pommier-Maurussane
    See Also:
    ForceModel, NumericalPropagator
    • Method Detail

      • addKeplerContribution

        void addKeplerContribution​(T mu)
        Add the contribution of the Kepler evolution.

        Since the Kepler evolution is the most important, it should be added after all the other ones, in order to improve numerical accuracy.

        Parameters:
        mu - central body gravitational constant
      • addNonKeplerianAcceleration

        void addNonKeplerianAcceleration​(FieldVector3D<T> gamma)
        Add the contribution of an acceleration expressed in some inertial frame.
        Parameters:
        gamma - acceleration vector in the same inertial frame the spacecraft state is defined in (m/s²)
        Since:
        9.0
      • addMassDerivative

        void addMassDerivative​(T q)
        Add the contribution of the flow rate (dm/dt).
        Parameters:
        q - the flow rate, must be negative (dm/dt)
        Throws:
        IllegalArgumentException - if flow-rate is positive