|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TimeDerivativesEquations
Interface summing up the contribution of several forces into orbit and mass derivatives.
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
Method Summary | |
---|---|
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. |
Method Detail |
---|
void initDerivatives(double[] yDot, Orbit currentOrbit) throws PropagationException
yDot
- reference to the array where to put the derivatives.currentOrbit
- current orbit parameters
PropagationException
- 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 OrekitException
gamma
- acceleration vector (m/s2)frame
- frame in which acceleration is defined (must be an inertial frame)
OrekitException
- 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 positive
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |