Class SingleBodyAbsoluteAttraction

java.lang.Object
org.orekit.forces.gravity.AbstractBodyAttraction
org.orekit.forces.gravity.SingleBodyAbsoluteAttraction
All Implemented Interfaces:
ForceModel, EventDetectorsProvider, ParameterDriversProvider

public class SingleBodyAbsoluteAttraction extends AbstractBodyAttraction
Body attraction force model computed as absolute acceleration towards a body.

This force model represents the same physical principles as NewtonianAttraction, but has several major differences:

  • the attracting body can be away from the integration frame center,
  • several instances of this force model can be added when several bodies are involved,
  • this force model is never automatically added by the numerical propagator

The possibility for the attracting body to be away from the frame center allows to use this force model when integrating for example an interplanetary trajectory propagated in an Earth centered frame (in which case an instance of InertialForces must also be added to take into account the coupling effect of relative frames motion).

The possibility to add several instances allows to use this in interplanetary trajectories or in trajectories about Lagrangian points

The fact this force model is never automatically added by the numerical propagator differs from NewtonianAttraction as NewtonianAttraction may be added automatically when propagating a trajectory represented as an Orbit, which must always refer to a central body, if user did not add the NewtonianAttraction or set the central attraction coefficient by himself.

Author:
Luc Maisonobe, Julio Hernanz
See Also:
  • Constructor Details

    • SingleBodyAbsoluteAttraction

      public SingleBodyAbsoluteAttraction(ExtendedPositionProvider positionProvider, String name, double mu)
      Simple constructor.
      Parameters:
      positionProvider - extended position provider for the body to consider
      name - name of the body
      mu - body gravitational constant
      Since:
      13.0
    • SingleBodyAbsoluteAttraction

      public SingleBodyAbsoluteAttraction(CelestialBody body)
      Constructor.
      Parameters:
      body - the body to consider (ex: CelestialBodies.getSun() or CelestialBodies.getMoon())
  • Method Details

    • acceleration

      public Vector3D acceleration(SpacecraftState s, double[] parameters)
      Compute acceleration.
      Parameters:
      s - current state information: date, kinematics, attitude
      parameters - values of the force model parameters at state date, only 1 value for each parameterDriver
      Returns:
      acceleration in same frame as state
    • acceleration

      public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
      Compute acceleration.
      Type Parameters:
      T - type of the elements
      Parameters:
      s - current state information: date, kinematics, attitude
      parameters - values of the force model parameters at state date, only 1 value for each parameterDriver
      Returns:
      acceleration in same frame as state