Package org.orekit.forces.empirical
Class HarmonicAccelerationModel
- java.lang.Object
-
- org.orekit.forces.empirical.HarmonicAccelerationModel
-
- All Implemented Interfaces:
AccelerationModel
public class HarmonicAccelerationModel extends Object implements AccelerationModel
Harmonic acceleration model.- Since:
- 10.3
- Author:
- Luc Maisonobe, Bryan Cazabonne
-
-
Constructor Summary
Constructors Constructor Description HarmonicAccelerationModel(String prefix, AbsoluteDate referenceDate, double fundamentalPeriod, int harmonicMultiplier)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<ParameterDriver>
getParametersDrivers()
Get the drivers for acceleration model parameters.void
init(SpacecraftState initialState, AbsoluteDate target)
Initialize the acceleration model at the start of the propagation.<T extends CalculusFieldElement<T>>
TsignedAmplitude(FieldSpacecraftState<T> state, T[] parameters)
Compute the signed amplitude of the acceleration.double
signedAmplitude(SpacecraftState state, double[] parameters)
Compute the signed amplitude of the acceleration.
-
-
-
Constructor Detail
-
HarmonicAccelerationModel
public HarmonicAccelerationModel(String prefix, AbsoluteDate referenceDate, double fundamentalPeriod, int harmonicMultiplier)
Simple constructor.- Parameters:
prefix
- prefix to use for parameter driversreferenceDate
- reference date for computing polynomials, if null the reference date will be automatically set at propagation startfundamentalPeriod
- fundamental period (typically set to initial orbitKeplerian period
)harmonicMultiplier
- multiplier to compute harmonic period from fundamental period)
-
-
Method Detail
-
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 interfaceAccelerationModel
- Parameters:
initialState
- spacecraft state at the start of propagation.target
- date of propagation. Not equal toinitialState.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 interfaceAccelerationModel
- Parameters:
state
- current state information: date, kinematics, attitudeparameters
- 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 interfaceAccelerationModel
- Type Parameters:
T
- type of the elements- Parameters:
state
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters- Returns:
- norm of the acceleration
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for acceleration model parameters.- Specified by:
getParametersDrivers
in interfaceAccelerationModel
- Returns:
- drivers for acceleration model parameters
-
-