Package org.orekit.forces.empirical
Class PolynomialAccelerationModel
- java.lang.Object
-
- org.orekit.forces.empirical.PolynomialAccelerationModel
-
- All Implemented Interfaces:
AccelerationModel
public class PolynomialAccelerationModel extends Object implements AccelerationModel
Polynomial acceleration model.- Since:
- 10.3
- Author:
- Luc Maisonobe, Bryan Cazabonne
-
-
Constructor Summary
Constructors Constructor Description PolynomialAccelerationModel(String prefix, AbsoluteDate referenceDate, int degree)
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
-
PolynomialAccelerationModel
public PolynomialAccelerationModel(String prefix, AbsoluteDate referenceDate, int degree)
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 startdegree
- polynomial degree (i.e. a value of 0 corresponds to a constant acceleration)
-
-
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
-
-