|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.orekit.parameter.Parameterizable org.orekit.parameter.JacobiansParameterizable org.orekit.forces.gravity.variations.VariablePotentialAttractionModel
public class VariablePotentialAttractionModel
This class represents a variable gravity field. It computes a static potential and a time variable potential. The C and S coefficients array are computed according to the algorithm given by
Field Summary | |
---|---|
static String |
RADIUS
Parameter name for equatorial radius. |
Constructor Summary | |
---|---|
VariablePotentialAttractionModel(Frame centralBodyFrame,
VariablePotentialCoefficientsProvider provider,
int degree,
int order)
Variable gravity field force model constructor (static part only). |
|
VariablePotentialAttractionModel(Frame centralBodyFrame,
VariablePotentialCoefficientsProvider provider,
int degree,
int order,
int degreePD,
int orderPD)
Variable gravity field force model constructor (static part only). |
|
VariablePotentialAttractionModel(Frame centralBodyFrame,
VariablePotentialCoefficientsProvider provider,
int degree,
int order,
int degreeOptional,
int orderOptional,
boolean computeOptionalOnce)
Variable gravity field force model constructor. |
|
VariablePotentialAttractionModel(Frame centralBodyFrame,
VariablePotentialCoefficientsProvider provider,
int degree,
int order,
int degreePD,
int orderPD,
int degreeOptional,
int orderOptional,
int degreeOptionalPD,
int orderOptionalPD,
boolean computeOptionalOnce)
Variable gravity field force model constructor. |
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(AbsoluteDate date,
PVCoordinates pv)
Compute acceleration in rotating frame |
Vector3D |
computeAcceleration(SpacecraftState s)
Compute the acceleration due to the force. |
boolean |
computeGradientPosition()
This method returns true if the acceleration partial derivatives with respect to position have to be computed. |
boolean |
computeGradientVelocity()
This method returns true if the acceleration partial derivatives with respect to velocity have to be computed. |
double |
getAe()
|
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model. |
double |
getMu()
|
void |
updateCoefficientsCandS(AbsoluteDate date)
Update the C and the S coefficients for acceleration computation. |
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 |
Field Detail |
---|
public static final String RADIUS
Constructor Detail |
---|
public VariablePotentialAttractionModel(Frame centralBodyFrame, VariablePotentialCoefficientsProvider provider, int degree, int order, int degreePD, int orderPD) throws OrekitException
centralBodyFrame
- central rotating body frameprovider
- normalized variable coefficients providerdegree
- degree for acceleration computationorder
- order for acceleration computationdegreePD
- degree for partial derivatives computationorderPD
- order for partial derivatives computation
OrekitException
- if degree too largepublic VariablePotentialAttractionModel(Frame centralBodyFrame, VariablePotentialCoefficientsProvider provider, int degree, int order) throws OrekitException
centralBodyFrame
- central rotating body frameprovider
- normalized variable coefficients providerdegree
- degreeorder
- order
OrekitException
- if degree too largepublic VariablePotentialAttractionModel(Frame centralBodyFrame, VariablePotentialCoefficientsProvider provider, int degree, int order, int degreePD, int orderPD, int degreeOptional, int orderOptional, int degreeOptionalPD, int orderOptionalPD, boolean computeOptionalOnce) throws OrekitException
centralBodyFrame
- central rotating body frameprovider
- normalized variable coefficients providerdegree
- degree for acceleration computationorder
- order for acceleration computationdegreePD
- degree for partial derivatives computationorderPD
- order for partial derivatives computationdegreeOptional
- max degree of optional terms to take into account for acceleration computationorderOptional
- max order of optional terms to take into account for acceleration computationdegreeOptionalPD
- max degree of optional terms to take into account for partial derivatives computationorderOptionalPD
- max order of optional terms to take into account for partial derivatives computationcomputeOptionalOnce
- true to indicate that coefficients should be computed just once at instantiation. false if
coefficients are to be computed every time
OrekitException
- if degree too largepublic VariablePotentialAttractionModel(Frame centralBodyFrame, VariablePotentialCoefficientsProvider provider, int degree, int order, int degreeOptional, int orderOptional, boolean computeOptionalOnce) throws OrekitException
centralBodyFrame
- central rotating body frameprovider
- normalized variable coefficients providerdegree
- degreeorder
- orderdegreeOptional
- max degree of optional terms to take into accountorderOptional
- max order of optional terms to take into accountcomputeOptionalOnce
- true to indicate that coefficients should be computed just once at instanciation. false if
coefficients are to be computed every time.
OrekitException
- if degree too largeMethod Detail |
---|
public void updateCoefficientsCandS(AbsoluteDate date) throws OrekitException
updateCoefficientsCandS
in interface PotentialTimeVariations
date
- : date
OrekitException
- if position cannot be computed in given framepublic void updateCoefficientsCandSPD(AbsoluteDate date) throws OrekitException
updateCoefficientsCandSPD
in interface PotentialTimeVariations
date
- : date
OrekitException
- if position cannot be computed in given framepublic void addContribution(SpacecraftState s, TimeDerivativesEquations adder) throws OrekitException
addContribution
in interface ForceModel
s
- current state information: date, kinematics, attitudeadder
- object where the contribution should be added
OrekitException
- if some specific error occurspublic Vector3D computeAcceleration(SpacecraftState s) throws OrekitException
computeAcceleration
in interface ForceModel
s
- current state information: date, kinematics, attitude
SpacecraftState frame
OrekitException
- if some specific error occurspublic Vector3D computeAcceleration(AbsoluteDate date, PVCoordinates pv) throws OrekitException
date
- date at which to compute accelerationpv
- pv of spacecraft
OrekitException
- if acceleration cannot be computedpublic EventDetector[] getEventsDetectors()
getEventsDetectors
in interface ForceModel
public boolean computeGradientPosition()
computeGradientPosition
in interface GradientModel
public boolean computeGradientVelocity()
computeGradientVelocity
in interface GradientModel
public double getMu()
public double getAe()
public void addDAccDState(SpacecraftState s, double[][] dAccdPos, double[][] dAccdVel) throws OrekitException
IJacobiansParameterizable
addDAccDState
in interface IJacobiansParameterizable
s
- spacecraft statedAccdPos
- acceleration derivatives with respect to positiondAccdVel
- acceleration derivatives with respect to velocity
OrekitException
- if derivatives cannot be computedpublic void addDAccDParam(SpacecraftState s, Parameter param, double[] dAccdParam) throws OrekitException
addDAccDParam
in interface IJacobiansParameterizable
s
- 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 |