public class SingleBodyAbsoluteAttraction extends AbstractForceModel
This force model represents the same physical principles as NewtonianAttraction
,
but has several major differences:
The possibility for the attracting body to be away from the frame center allows to use this force
model when integrating for example an interplanetary trajectory propagated in an Earth centered
frame (in which case an instance of InertialForces
must also be
added to take into account the coupling effect of relative frames motion).
The possibility to add several instances allows to use this in interplanetary trajectories or in trajectories about Lagrangian points
The fact this force model is never automatically added by the numerical propagator differs
from NewtonianAttraction
as NewtonianAttraction
may be added automatically when
propagating a trajectory represented as an Orbit
, which must always refer
to a central body, if user did not add the NewtonianAttraction
or set the central attraction
coefficient by himself.
InertialForces
Modifier and Type | Field and Description |
---|---|
static String |
ATTRACTION_COEFFICIENT_SUFFIX
Suffix for parameter name for attraction coefficient enabling Jacobian processing.
|
Constructor and Description |
---|
SingleBodyAbsoluteAttraction(CelestialBody body)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
<T extends CalculusFieldElement<T>> |
acceleration(FieldSpacecraftState<T> s,
T[] parameters)
Compute acceleration.
|
Vector3D |
acceleration(SpacecraftState s,
double[] parameters)
Compute acceleration.
|
boolean |
dependsOnPositionOnly()
Check if force models depends on position only.
|
Stream<EventDetector> |
getEventsDetectors()
Get the discrete events related to the model.
|
<T extends CalculusFieldElement<T>> |
getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for force model parameters.
|
complainIfNotSupported, getParameterDriver, isSupported
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addContribution, addContribution, getParameters, getParameters, init, init
public static final String ATTRACTION_COEFFICIENT_SUFFIX
public SingleBodyAbsoluteAttraction(CelestialBody body)
body
- the body to consider
(ex: CelestialBodies.getSun()
or
CelestialBodies.getMoon()
)public boolean dependsOnPositionOnly()
public Vector3D acceleration(SpacecraftState s, double[] parameters)
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameterspublic <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
T
- type of the elementss
- current state information: date, kinematics, attitudeparameters
- values of the force model parameterspublic Stream<EventDetector> getEventsDetectors()
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(Field<T> field)
ForceModel
T
- extends CalculusFieldElement<T>field
- field to which the state belongspublic List<ParameterDriver> getParametersDrivers()
Copyright © 2002-2022 CS GROUP. All rights reserved.