Class CR3BPForceModel

java.lang.Object
org.orekit.propagation.numerical.cr3bp.CR3BPForceModel
All Implemented Interfaces:
ForceModel, EventDetectorsProvider, ParameterDriversProvider

public class CR3BPForceModel extends Object implements ForceModel
Class calculating the acceleration induced by CR3BP model.
Since:
10.2
Author:
Vincent Mouraux
See Also:
  • "Dynamical systems, the three-body problem, and space mission design, Koon, Lo, Marsden, Ross"
  • Field Details

    • MASS_RATIO_SUFFIX

      public static final String MASS_RATIO_SUFFIX
      Suffix for parameter name for Mass Ratio enabling Jacobian processing.
      See Also:
  • Constructor Details

    • CR3BPForceModel

      public CR3BPForceModel(CR3BPSystem cr3bp)
      Simple constructor.
      Parameters:
      cr3bp - Name of the CR3BP System
  • Method Details

    • acceleration

      public Vector3D acceleration(SpacecraftState s, double[] parameters)
      Compute acceleration.
      Specified by:
      acceleration in interface ForceModel
      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.
      Specified by:
      acceleration in interface ForceModel
      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
    • getPotential

      public DerivativeStructure getPotential(SpacecraftState s)
      Calculate spacecraft potential.
      Parameters:
      s - SpacecraftState
      Returns:
      Spacecraft Potential
    • getPotential

      public <T extends CalculusFieldElement<T>> FieldDerivativeStructure<T> getPotential(FieldSpacecraftState<T> s)
      Calculate spacecraft potential.
      Type Parameters:
      T - Field element
      Parameters:
      s - SpacecraftState
      Returns:
      Spacecraft Potential
    • getParametersDrivers

      public List<ParameterDriver> getParametersDrivers()
      Get the drivers for parameters.
      Specified by:
      getParametersDrivers in interface ParameterDriversProvider
      Returns:
      drivers for parameters
    • dependsOnPositionOnly

      public boolean dependsOnPositionOnly()
      Check if force model depends on position only at a given, fixed date.
      Specified by:
      dependsOnPositionOnly in interface ForceModel
      Returns:
      true if force model depends on position only, false if it depends on mass or velocity, either directly or due to a dependency on attitude