|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.orekit.parameter.Parameterizable
org.orekit.parameter.JacobiansParameterizable
org.orekit.forces.gravity.tides.AbstractTides
public abstract class AbstractTides
Common handling of ForceModel methods for tides models.
This abstract class allows to provide easily the full set of ForceModel methods to tides models. Only one
method must be implemented by derived classes: updateCoefficientsCandS(org.orekit.time.AbsoluteDate).
| Field Summary | |
|---|---|
protected Frame |
bodyFrame
Frame for the central body. |
protected double[][] |
coefficientsC
First normalized potential tesseral coefficients array. |
protected double[][] |
coefficientsCPD
First normalized potential tesseral coefficients array for partial derivatives computation. |
protected double[][] |
coefficientsS
Second normalized potential tesseral coefficients array. |
protected double[][] |
coefficientsSPD
Second normalized potential tesseral coefficients array for partial derivatives computation. |
static String |
MU
Parameter name for central attraction coefficient. |
protected Parameter |
paramAe
Equatorial radius parameter. |
protected Parameter |
paramMu
Central attraction coefficient parameter. |
static String |
RADIUS
Parameter name for equatorial radius. |
| Constructor Summary | |
|---|---|
protected |
AbstractTides(Frame centralBodyFrame,
double equatorialRadius,
double mu,
int degree,
int order)
Build a new instance. |
protected |
AbstractTides(Frame centralBodyFrame,
double equatorialRadius,
double mu,
int degree,
int order,
int degreePD,
int orderPD)
Build a new instance. |
protected |
AbstractTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu,
int degree,
int order)
Build a new instance using Parameter. |
protected |
AbstractTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu,
int degree,
int order,
int degreePD,
int orderPD)
Build a new instance using Parameter. |
| Method Summary | |
|---|---|
void |
addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
Compute the contribution of the force model to the perturbing acceleration. |
void |
addDAccDParam(SpacecraftState s,
Parameter param,
double[] dAccdParam)
Compute acceleration derivatives with respect to additional parameters. |
void |
addDAccDState(SpacecraftState s,
double[][] dAccdPos,
double[][] dAccdVel)
Compute acceleration derivatives with respect to state parameters. |
Vector3D |
computeAcceleration(PVCoordinates pv,
Frame frame,
AbsoluteDate date)
Method to compute the acceleration, from Balmino algorithm (see BalminoAttractionModel class). |
Vector3D |
computeAcceleration(SpacecraftState s)
Compute the acceleration due to the force. |
boolean |
computeGradientVelocity()
This method returns true if the acceleration partial derivatives with respect to velocity have to be computed. |
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model. |
abstract void |
updateCoefficientsCandS(AbsoluteDate date)
Update the C and the S coefficients for acceleration computation. |
abstract void |
updateCoefficientsCandSPD(AbsoluteDate date)
Update the C and the S coefficients for partial derivatives computation. |
| Methods inherited from class org.orekit.parameter.JacobiansParameterizable |
|---|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameter |
| Methods inherited from class org.orekit.parameter.Parameterizable |
|---|
addParameter, getParameters, supportsParameter |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.orekit.parameter.IParameterizable |
|---|
getParameters, supportsParameter |
| Methods inherited from interface org.orekit.forces.GradientModel |
|---|
computeGradientPosition |
| Field Detail |
|---|
public static final String MU
public static final String RADIUS
protected Parameter paramMu
protected Parameter paramAe
protected double[][] coefficientsC
protected double[][] coefficientsS
protected double[][] coefficientsCPD
protected double[][] coefficientsSPD
protected final Frame bodyFrame
| Constructor Detail |
|---|
protected AbstractTides(Frame centralBodyFrame,
double equatorialRadius,
double mu,
int degree,
int order)
centralBodyFrame - rotating central body frameequatorialRadius - equatorial radiusmu - central body attraction coefficient (m3/s2)degree - degreeorder - order
protected AbstractTides(Frame centralBodyFrame,
double equatorialRadius,
double mu,
int degree,
int order,
int degreePD,
int orderPD)
centralBodyFrame - rotating central body frameequatorialRadius - equatorial radiusmu - central body attraction coefficient (m3/s2)degree - degree for acceleration computationorder - order for acceleration computationdegreePD - degree for partial derivatives computationorderPD - order for partial derivatives computation
protected AbstractTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu,
int degree,
int order)
Parameter.
centralBodyFrame - rotating central body frameequatorialRadius - equatorial radius parametermu - central body attraction coefficient (m3/s2) parameterdegree - degreeorder - order
protected AbstractTides(Frame centralBodyFrame,
Parameter equatorialRadius,
Parameter mu,
int degree,
int order,
int degreePD,
int orderPD)
Parameter.
centralBodyFrame - rotating central body frameequatorialRadius - equatorial radius parametermu - central body attraction coefficient (m3/s2) parameterdegree - degree for acceleration computationorder - order for acceleration computationdegreePD - degree for partial derivatives computationorderPD - order for partial derivatives computation| Method Detail |
|---|
public void addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
throws OrekitException
addContribution in interface ForceModels - current state information: date, kinematics, attitudeadder - object where the contribution should be added
OrekitException - if some specific error occurs
public Vector3D computeAcceleration(SpacecraftState s)
throws OrekitException
computeAcceleration in interface ForceModels - current state information: date, kinematics, attitude
SpacecraftState frame
OrekitException - if some specific error occurs
public Vector3D computeAcceleration(PVCoordinates pv,
Frame frame,
AbsoluteDate date)
throws OrekitException
Method to compute the acceleration, from Balmino algorithm (see BalminoAttractionModel class). This method has been implemented in order to validate the force model only. The reason is that for the validation context, we do not want to set up an instance of the SpacecraftState object to avoid the inertial frame of the spacecraft orbit.
(see Feature #34 on https://www.orekit.org/forge/issues/34)
Out of the validation context, one must use the method Vector3D computeAcceleration(final SpacecraftState s)
pv - PV coordinates of the spacecraftframe - frame in which the acceleration is computeddate - date
OrekitException - if an Orekit error occurspublic EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModelpublic boolean computeGradientVelocity()
computeGradientVelocity in interface GradientModel
public abstract void updateCoefficientsCandS(AbsoluteDate date)
throws OrekitException
updateCoefficientsCandS in interface PotentialTimeVariationsdate - : date
OrekitException - if position cannot be computed in given frame
public abstract void updateCoefficientsCandSPD(AbsoluteDate date)
throws OrekitException
updateCoefficientsCandSPD in interface PotentialTimeVariationsdate - : date
OrekitException - if position cannot be computed in given frame
public final void addDAccDState(SpacecraftState s,
double[][] dAccdPos,
double[][] dAccdVel)
throws OrekitException
addDAccDState in interface IJacobiansParameterizables - spacecraft statedAccdPos - acceleration derivatives with respect to positiondAccdVel - acceleration derivatives with respect to velocity
OrekitException - if derivatives cannot be computed
public void addDAccDParam(SpacecraftState s,
Parameter param,
double[] dAccdParam)
throws OrekitException
addDAccDParam in interface IJacobiansParameterizables - spacecraft stateparam - the parameter with respect to which derivatives are requireddAccdParam - acceleration derivatives with respect to specified parameters
OrekitException - if derivatives cannot be computed
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||