Class SingleBodyAbsoluteAttraction
- java.lang.Object
-
- org.orekit.forces.AbstractForceModel
-
- org.orekit.forces.gravity.SingleBodyAbsoluteAttraction
-
- All Implemented Interfaces:
ForceModel
,ParametersDriversProvider
public class SingleBodyAbsoluteAttraction extends AbstractForceModel
Body attraction force model computed as absolute acceleration towards a body.This force model represents the same physical principles as
NewtonianAttraction
, but has several major differences:- the attracting body can be away from the integration frame center,
- several instances of this force model can be added when several bodies are involved,
- this force model is never automatically added by the numerical propagator
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
asNewtonianAttraction
may be added automatically when propagating a trajectory represented as anOrbit
, which must always refer to a central body, if user did not add theNewtonianAttraction
or set the central attraction coefficient by himself.- Author:
- Luc Maisonobe, Julio Hernanz
- See Also:
InertialForces
-
-
Field Summary
Fields Modifier and Type Field Description static String
ATTRACTION_COEFFICIENT_SUFFIX
Suffix for parameter name for attraction coefficient enabling Jacobian processing.
-
Constructor Summary
Constructors Constructor Description SingleBodyAbsoluteAttraction(CelestialBody body)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends CalculusFieldElement<T>>
FieldVector3D<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>>
Stream<FieldEventDetector<T>>getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.-
Methods inherited from class org.orekit.forces.AbstractForceModel
complainIfNotSupported, getParameterDriver, isSupported
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.forces.ForceModel
addContribution, addContribution, getParameters, getParameters, init, init
-
-
-
-
Field Detail
-
ATTRACTION_COEFFICIENT_SUFFIX
public static final String ATTRACTION_COEFFICIENT_SUFFIX
Suffix for parameter name for attraction coefficient enabling Jacobian processing.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SingleBodyAbsoluteAttraction
public SingleBodyAbsoluteAttraction(CelestialBody body)
Simple constructor.- Parameters:
body
- the body to consider (ex:CelestialBodies.getSun()
orCelestialBodies.getMoon()
)
-
-
Method Detail
-
dependsOnPositionOnly
public boolean dependsOnPositionOnly()
Check if force models depends on position only.- Returns:
- true if force model depends on position only, false if it depends on velocity, either directly or due to a dependency on attitude
-
acceleration
public Vector3D acceleration(SpacecraftState s, double[] parameters)
Compute acceleration.- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters- Returns:
- acceleration in same frame as state
-
acceleration
public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
Compute acceleration.- Type Parameters:
T
- type of the elements- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters- Returns:
- acceleration in same frame as state
-
getEventsDetectors
public Stream<EventDetector> getEventsDetectors()
Get the discrete events related to the model.- Returns:
- stream of events detectors
-
getFieldEventsDetectors
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(Field<T> field)
Description copied from interface:ForceModel
Get the discrete events related to the model.- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
field
- field to which the state belongs- Returns:
- stream of events detectors
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Returns:
- drivers for parameters
-
-