Package org.orekit.forces.gravity
Class Relativity
- java.lang.Object
-
- org.orekit.forces.AbstractForceModel
-
- org.orekit.forces.gravity.Relativity
-
- All Implemented Interfaces:
ForceModel
public class Relativity extends AbstractForceModel
Post-Newtonian correction force due to general relativity. The main effect is the precession of perigee by a few arcseconds per year.Implemented from Montenbruck and Gill equation 3.146.
- Author:
- Evan Ward
- See Also:
- "Montenbruck, Oliver, and Gill, Eberhard. Satellite orbits : models, methods, and applications. Berlin New York: Springer, 2000."
-
-
Constructor Summary
Constructors Constructor Description Relativity(double gm)
Create a force model to add post-Newtonian acceleration corrections to an Earth orbit.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends org.hipparchus.RealFieldElement<T>>
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T>acceleration(FieldSpacecraftState<T> s, T[] parameters)
Compute acceleration.org.hipparchus.geometry.euclidean.threed.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 org.hipparchus.RealFieldElement<T>>
Stream<FieldEventDetector<T>>getFieldEventsDetectors(org.hipparchus.Field<T> field)
Get the discrete events related to the model.ParameterDriver[]
getParametersDrivers()
Get the drivers for force model 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
-
-
-
-
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 org.hipparchus.geometry.euclidean.threed.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 org.hipparchus.RealFieldElement<T>> org.hipparchus.geometry.euclidean.threed.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 org.hipparchus.RealFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(org.hipparchus.Field<T> field)
Get the discrete events related to the model.- Type Parameters:
T
- extends RealFieldElement- Parameters:
field
- field to which the state belongs- Returns:
- stream of events detectors
-
getParametersDrivers
public ParameterDriver[] getParametersDrivers()
Get the drivers for force model parameters.- Returns:
- drivers for force model parameters
-
-