public class VariablePotentialAttractionModel extends JacobiansParameterizable implements ForceModel, GradientModel, PotentialTimeVariations
| Modifier and Type | Field and Description |
|---|---|
static String |
RADIUS
Parameter name for equatorial radius.
|
| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
void |
checkData(AbsoluteDate start,
AbsoluteDate end)
This methods throws an exception if the user did not provide all the required data to perform model call on
provided range [start; end].
|
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.
|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameteraddParameter, getParameters, supportsParameterclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParameters, supportsParameterpublic static final String RADIUS
public VariablePotentialAttractionModel(Frame centralBodyFrame, VariablePotentialCoefficientsProvider provider, int degree, int order, int degreePD, int orderPD) throws PatriusException
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 computationPatriusException - if degree too largepublic VariablePotentialAttractionModel(Frame centralBodyFrame, VariablePotentialCoefficientsProvider provider, int degree, int order) throws PatriusException
centralBodyFrame - central rotating body frameprovider - normalized variable coefficients providerdegree - degreeorder - orderPatriusException - 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 PatriusException
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 timePatriusException - if degree too largepublic VariablePotentialAttractionModel(Frame centralBodyFrame, VariablePotentialCoefficientsProvider provider, int degree, int order, int degreeOptional, int orderOptional, boolean computeOptionalOnce) throws PatriusException
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.PatriusException - if degree too largepublic void updateCoefficientsCandS(AbsoluteDate date) throws PatriusException
updateCoefficientsCandS in interface PotentialTimeVariationsdate - : datePatriusException - if position cannot be computed in given framepublic void updateCoefficientsCandSPD(AbsoluteDate date) throws PatriusException
updateCoefficientsCandSPD in interface PotentialTimeVariationsdate - : datePatriusException - if position cannot be computed in given framepublic void addContribution(SpacecraftState s, TimeDerivativesEquations adder) throws PatriusException
addContribution in interface ForceModels - current state information: date, kinematics, attitudeadder - object where the contribution should be addedPatriusException - if some specific error occurspublic Vector3D computeAcceleration(SpacecraftState s) throws PatriusException
computeAcceleration in interface ForceModels - current state information: date, kinematics, attitudeSpacecraftState framePatriusException - if some specific error occurspublic Vector3D computeAcceleration(AbsoluteDate date, PVCoordinates pv) throws PatriusException
date - date at which to compute accelerationpv - pv of spacecraftPatriusException - if acceleration cannot be computedpublic EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModelpublic boolean computeGradientPosition()
computeGradientPosition in interface GradientModelpublic boolean computeGradientVelocity()
computeGradientVelocity in interface GradientModelpublic double getMu()
public double getAe()
public void addDAccDState(SpacecraftState s, double[][] dAccdPos, double[][] dAccdVel) throws PatriusException
addDAccDState in interface IJacobiansParameterizables - spacecraft statedAccdPos - acceleration derivatives with respect to positiondAccdVel - acceleration derivatives with respect to velocityPatriusException - if derivatives cannot be computedpublic void addDAccDParam(SpacecraftState s, Parameter param, double[] dAccdParam) throws PatriusException
addDAccDParam in interface IJacobiansParameterizables - spacecraft stateparam - the parameter with respect to which derivatives are requireddAccdParam - acceleration derivatives with respect to specified parametersPatriusException - if derivatives cannot be computedpublic void checkData(AbsoluteDate start, AbsoluteDate end) throws PatriusException
checkData in interface ForceModelstart - range start dateend - range end datePatriusException - thrown if some data is missingCopyright © 2021 CNES. All rights reserved.