public abstract class AbstractBodyAttraction extends JacobiansParameterizable implements ForceModel, GradientModel
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
computePartialDerivativesWrtPosition
True if acceleration partial derivatives with respect to position have to be computed.
|
static String |
K_FACTOR
Parameter name for central attraction coefficient.
|
| Constructor and Description |
|---|
AbstractBodyAttraction(GravityModel gravityModelIn,
boolean computePD,
double k)
Simple constructor.
|
AbstractBodyAttraction(GravityModel gravityModelIn,
boolean computePD,
Parameter k)
Simple constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addContribution(SpacecraftState state,
TimeDerivativesEquations adder)
Compute the contribution of the force model to the perturbing
acceleration.
|
void |
addDAccDParam(SpacecraftState state,
Parameter param,
double[] dAccdParam)
Compute acceleration derivatives with respect to additional parameters.
|
void |
addDAccDParam(Vector3D pos,
Frame frame,
AbsoluteDate date,
Parameter param,
double[] dAccdParam)
Compute acceleration derivatives with respect to additional parameters.
|
void |
addDAccDState(SpacecraftState state,
double[][] dAccdPos,
double[][] dAccdVel)
Compute acceleration derivatives with respect to state parameters.
|
void |
addDAccDState(Vector3D pos,
Frame frame,
AbsoluteDate date,
double[][] dAccdPos)
Compute acceleration derivatives with respect to the position of the spacecraft.
|
Vector3D |
computeAcceleration(SpacecraftState s)
Compute the acceleration due to the force.
|
protected abstract Vector3D |
computeAcceleration(Vector3D positionInBodyFrame,
AbsoluteDate date,
Transform scFrameToBodyFrame)
Abstract method to compute the acceleration of the implementation
|
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.
|
GravityModel |
getGravityModel()
Get the gravitational attraction model.
|
double |
getMultiplicativeFactor()
Get the force multiplicative factor.
|
Parameter |
getMultiplicativeFactorParameter()
Get the force multiplicative factor parameter
|
void |
setMultiplicativeFactor(double factor)
Set the multiplicative factor.
|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameteraddAllParameters, addAllParameters, addParameter, getParameters, supportsParameterclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcheckDatagetParameters, supportsParameterpublic static final String K_FACTOR
protected final boolean computePartialDerivativesWrtPosition
public AbstractBodyAttraction(GravityModel gravityModelIn, boolean computePD, double k)
Simple constructor. Only central term of direct body is considered.
gravityModelIn - the gravitational attraction model to considercomputePD - true if partial derivatives have to be computedk - multiplicative factorNullArgumentException - if gravityModelIn is nullpublic AbstractBodyAttraction(GravityModel gravityModelIn, boolean computePD, Parameter k)
Simple constructor. Only central term of direct body is considered.
gravityModelIn - the gravitational attraction model to considercomputePD - true if partial derivatives have to be computedk - multiplicative factorNullArgumentException - if gravityModelIn is nullpublic boolean computeGradientPosition()
computeGradientPosition in interface GradientModelpublic boolean computeGradientVelocity()
computeGradientVelocity in interface GradientModelpublic void addContribution(SpacecraftState state, TimeDerivativesEquations adder) throws PatriusException
addContribution in interface ForceModelstate - 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 occursprotected abstract Vector3D computeAcceleration(Vector3D positionInBodyFrame, AbsoluteDate date, Transform scFrameToBodyFrame) throws PatriusException
positionInBodyFrame - position in body framedate - datescFrameToBodyFrame - transform from spacecraft frame to body framePatriusException - thrown if computation failedpublic void addDAccDState(SpacecraftState state, double[][] dAccdPos, double[][] dAccdVel) throws PatriusException
addDAccDState in interface IJacobiansParameterizablestate - spacecraft statedAccdPos - acceleration derivatives with respect to positiondAccdVel - acceleration derivatives with respect to velocityPatriusException - if derivatives cannot be computedpublic void addDAccDState(Vector3D pos, Frame frame, AbsoluteDate date, double[][] dAccdPos) throws PatriusException
pos - position of the spacecraftframe - frame in which the acceleration derivatives are computeddate - datedAccdPos - acceleration derivatives with respect to positionPatriusException - if derivatives cannot be computedpublic void addDAccDParam(SpacecraftState state, Parameter param, double[] dAccdParam) throws PatriusException
addDAccDParam in interface IJacobiansParameterizablestate - spacecraft stateparam - the parameter with respect to which derivatives are requireddAccdParam - acceleration derivatives with respect to specified parametersPatriusException - if derivatives cannot be computedpublic void addDAccDParam(Vector3D pos, Frame frame, AbsoluteDate date, Parameter param, double[] dAccdParam) throws PatriusException
pos - position of the spacecraftframe - frame in which the acceleration derivatives are computeddate - dateparam - the parameter with respect to which derivatives are requireddAccdParam - acceleration derivatives with respect to specified parametersPatriusException - if derivatives cannot be computedpublic EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModelpublic double getMultiplicativeFactor()
public Parameter getMultiplicativeFactorParameter()
public void setMultiplicativeFactor(double factor)
factor - the force multiplicative factor to set.public GravityModel getGravityModel()
Copyright © 2025 CNES. All rights reserved.