Package org.orekit.forces.empirical
Class PolynomialAccelerationModel
- java.lang.Object
-
- org.orekit.forces.empirical.PolynomialAccelerationModel
-
- All Implemented Interfaces:
AccelerationModel
,ParameterDriversProvider
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 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.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
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 parameters.- Specified by:
getParametersDrivers
in interfaceParameterDriversProvider
- Returns:
- drivers for parameters
-
-