Class HarmonicAccelerationModel

java.lang.Object
org.orekit.forces.empirical.HarmonicAccelerationModel
All Implemented Interfaces:
AccelerationModel, ParameterDriversProvider

public class HarmonicAccelerationModel extends Object implements AccelerationModel
Harmonic acceleration model.
Since:
10.3
Author:
Luc Maisonobe, Bryan Cazabonne
  • Constructor Details

    • HarmonicAccelerationModel

      public HarmonicAccelerationModel(String prefix, AbsoluteDate referenceDate, double fundamentalPeriod, int harmonicMultiplier)
      Simple constructor.
      Parameters:
      prefix - prefix to use for parameter drivers
      referenceDate - reference date for computing polynomials, if null the reference date will be automatically set at propagation start
      fundamentalPeriod - fundamental period (typically set to initial orbit Keplerian period)
      harmonicMultiplier - multiplier to compute harmonic period from fundamental period)
  • Method Details

    • init

      public void init(SpacecraftState initialState, AbsoluteDate target)
      Initialize the acceleration model at the start of the propagation.

      The default implementation of this method does nothing

      Specified by:
      init in interface AccelerationModel
      Parameters:
      initialState - spacecraft state at the start of propagation.
      target - date of propagation. Not equal to initialState.getDate().
    • signedAmplitude

      public double signedAmplitude(SpacecraftState state, double[] parameters)
      Compute the signed amplitude of the acceleration.

      The acceleration is the direction multiplied by the signed amplitude. So if signed amplitude is negative, the acceleratin is towards the opposite of the direction specified at construction.

      Specified by:
      signedAmplitude in interface AccelerationModel
      Parameters:
      state - current state information: date, kinematics, attitude
      parameters - values of the force model parameters
      Returns:
      norm of the acceleration
    • signedAmplitude

      public <T extends CalculusFieldElement<T>> T signedAmplitude(FieldSpacecraftState<T> state, T[] parameters)
      Compute the signed amplitude of the acceleration.

      The acceleration is the direction multiplied by the signed amplitude. So if signed amplitude is negative, the acceleratin is towards the opposite of the direction specified at construction.

      Specified by:
      signedAmplitude in interface AccelerationModel
      Type Parameters:
      T - type of the elements
      Parameters:
      state - current state information: date, kinematics, attitude
      parameters - values of the force model parameters
      Returns:
      norm of the acceleration
    • getParametersDrivers

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