Package org.orekit.forces.gravity
Class SolidTides
- java.lang.Object
-
- org.orekit.forces.gravity.SolidTides
-
- All Implemented Interfaces:
ForceModel
,EventDetectorsProvider
,ParameterDriversProvider
public class SolidTides extends Object implements ForceModel
Solid tides force model.- Since:
- 6.1
- Author:
- Luc Maisonobe
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_POINTS
Default number of points tides field sampling.static double
DEFAULT_STEP
Default step for tides field sampling (seconds).-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Constructor Summary
Constructors Constructor Description SolidTides(Frame centralBodyFrame, double ae, double mu, TideSystem centralTideSystem, boolean poleTide, double step, int nbPoints, IERSConventions conventions, UT1Scale ut1, CelestialBody... bodies)
Simple constructor.SolidTides(Frame centralBodyFrame, double ae, double mu, TideSystem centralTideSystem, IERSConventions conventions, UT1Scale ut1, CelestialBody... bodies)
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>
getEventDetectors()
Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
Stream<FieldEventDetector<T>>getFieldEventDetectors(Field<T> field)
Get the discrete events related to the model.List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getEventDetectors, getFieldEventDetectors
-
Methods inherited from interface org.orekit.forces.ForceModel
addContribution, addContribution, init, init
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Field Detail
-
DEFAULT_STEP
public static final double DEFAULT_STEP
Default step for tides field sampling (seconds).- See Also:
- Constant Field Values
-
DEFAULT_POINTS
public static final int DEFAULT_POINTS
Default number of points tides field sampling.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SolidTides
public SolidTides(Frame centralBodyFrame, double ae, double mu, TideSystem centralTideSystem, IERSConventions conventions, UT1Scale ut1, CelestialBody... bodies)
Simple constructor.This constructor uses pole tides, the default
step
and defaultnumber of points
for the tides field interpolation.- Parameters:
centralBodyFrame
- rotating body frameae
- central body reference radiusmu
- central body attraction coefficientcentralTideSystem
- tide system used in the central attraction modelconventions
- IERS conventions used for loading Love numbersut1
- UT1 time scalebodies
- tide generating bodies (typically Sun and Moon)- See Also:
DEFAULT_STEP
,DEFAULT_POINTS
,SolidTides(Frame, double, double, TideSystem, boolean, double, int, IERSConventions, UT1Scale, CelestialBody...)
-
SolidTides
public SolidTides(Frame centralBodyFrame, double ae, double mu, TideSystem centralTideSystem, boolean poleTide, double step, int nbPoints, IERSConventions conventions, UT1Scale ut1, CelestialBody... bodies)
Simple constructor.- Parameters:
centralBodyFrame
- rotating body frameae
- central body reference radiusmu
- central body attraction coefficientcentralTideSystem
- tide system used in the central attraction modelpoleTide
- if true, pole tide is computedstep
- time step between sample points for interpolationnbPoints
- number of points to use for interpolation, if less than 2 then no interpolation is performed (thus greatly increasing computation cost)conventions
- IERS conventions used for loading Love numbersut1
- UT1 time scalebodies
- tide generating bodies (typically Sun and Moon)
-
-
Method Detail
-
dependsOnPositionOnly
public boolean dependsOnPositionOnly()
Check if force models depends on position only.- Specified by:
dependsOnPositionOnly
in interfaceForceModel
- 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.- Specified by:
acceleration
in interfaceForceModel
- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters at state date, only 1 value for each parameterDriver- Returns:
- acceleration in same frame as state
-
acceleration
public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
Compute acceleration.- Specified by:
acceleration
in interfaceForceModel
- Type Parameters:
T
- type of the elements- Parameters:
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters at state date, only 1 value for each parameterDriver- Returns:
- acceleration in same frame as state
-
getEventDetectors
public Stream<EventDetector> getEventDetectors()
Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Specified by:
getEventDetectors
in interfaceEventDetectorsProvider
- Specified by:
getEventDetectors
in interfaceForceModel
- Returns:
- stream of event detectors
-
getFieldEventDetectors
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field)
Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Specified by:
getFieldEventDetectors
in interfaceEventDetectorsProvider
- Specified by:
getFieldEventDetectors
in interfaceForceModel
- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
field
- field to which the state belongs- Returns:
- stream of event detectors
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Specified by:
getParametersDrivers
in interfaceParameterDriversProvider
- Returns:
- drivers for parameters
-
-