public class NewtonianAttraction extends JacobiansParameterizable implements ForceModel, GradientModel, AttractionModel
The implementation of this class enables the computation of partial derivatives with respect to the central attraction coefficient.
MU| Constructor and Description |
|---|
NewtonianAttraction(double mu)
Simple constructor.
|
NewtonianAttraction(double mu,
boolean computePD)
Simple constructor.
|
NewtonianAttraction(Parameter mu)
Simple constructor using
Parameter. |
NewtonianAttraction(Parameter mu,
boolean computePD)
Simple constructor using
Parameter. |
| 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(PVCoordinates pv,
Frame frame,
AbsoluteDate date)
Method to compute the acceleration.
|
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.
|
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model.
|
double |
getMu()
Get the central attraction coefficient.
|
double |
getMultiplicativeFactor()
Get the force multiplicative factor.
|
void |
setMu(double muIn)
Set the central attraction coefficient.
|
void |
setMultiplicativeFactor(double coefficient)
Set the multiplicative factor.
|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameteraddAllParameters, addAllParameters, addParameter, getParameters, supportsParameterclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitenrichParameterDescriptorsgetParameters, supportsParameterpublic NewtonianAttraction(double mu)
mu - central attraction coefficient (m^3/s^2)public NewtonianAttraction(double mu,
boolean computePD)
mu - central attraction coefficient (m^3/s^2)computePD - true if partial derivatives wrt position have to be computedpublic NewtonianAttraction(Parameter mu)
Parameter.mu - parameter representing central attraction coefficient (m^3/s^2)public 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 EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModelpublic double getMu()
getMu in interface AttractionModelpublic boolean computeGradientPosition()
computeGradientPosition in interface GradientModelpublic boolean computeGradientVelocity()
computeGradientVelocity in interface GradientModelpublic Vector3D computeAcceleration(SpacecraftState s) throws PatriusException
computeAcceleration in interface ForceModels - current state information: date, kinematics, attitudeSpacecraftState framePatriusException - if some specific error occurspublic Vector3D computeAcceleration(PVCoordinates pv, Frame frame, AbsoluteDate date) throws PatriusException
Method to compute the acceleration. 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 Story #V82 and 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 - datePatriusException - if an Orekit error occurspublic 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
AttractionModel.MU --> derivatives with respect to the central attraction coefficient 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 missingpublic double getMultiplicativeFactor()
getMultiplicativeFactor in interface AttractionModelpublic void setMultiplicativeFactor(double coefficient)
setMultiplicativeFactor in interface AttractionModelcoefficient - the factor to set.public void setMu(double muIn)
setMu in interface AttractionModelmuIn - the central attraction coefficient.Copyright © 2022 CNES. All rights reserved.