public interface TimeDerivativesEquations extends Serializable
The aim of this interface is to gather the contributions of various perturbing forces expressed as accelerations into
one set of time-derivatives of Orbit
. It implements Gauss equations for
different kind of parameters.
An implementation of this interface is automatically provided by
numerical propagators
to the various
force models
.
ForceModel
,
NumericalPropagator
Modifier and Type | Method and Description |
---|---|
void |
addAcceleration(Vector3D gamma,
Frame frame)
Add the contribution of an acceleration expressed in some inertial frame.
|
void |
addAdditionalStateDerivative(String name,
double[] pDot)
Add the contribution of the change rate (dX/dt) of the additional state.
|
void |
addKeplerContribution(double mu)
Add the contribution of the Kepler evolution.
|
void |
addXYZAcceleration(double x,
double y,
double z)
Add the contribution of an acceleration expressed in the inertial frame
(it is important to make sure this acceleration is defined in the
same frame as the orbit) .
|
void |
initDerivatives(double[] yDot,
Orbit currentOrbit)
Initialize all derivatives to zero.
|
void initDerivatives(double[] yDot, Orbit currentOrbit) throws PropagationException
yDot
- reference to the array where to put the derivatives.currentOrbit
- current orbit parametersPropagationException
- if the orbit evolve out of supported rangevoid addKeplerContribution(double mu)
Since the Kepler evolution is the most important, it should be added after all the other ones, in order to improve numerical accuracy.
mu
- central body gravitational constantvoid addXYZAcceleration(double x, double y, double z)
x
- acceleration along the X axis (m/s2)y
- acceleration along the Y axis (m/s2)z
- acceleration along the Z axis (m/s2)void addAcceleration(Vector3D gamma, Frame frame) throws PatriusException
gamma
- acceleration vector (m/s2)frame
- frame in which acceleration is defined (must be an inertial frame)PatriusException
- if frame transforms cannot be computedvoid addAdditionalStateDerivative(String name, double[] pDot)
name
- the additional state namepDot
- the change rate (dX/dt)IllegalArgumentException
- if the mass flow-rate is positiveCopyright © 2021 CNES. All rights reserved.