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 intDEFAULT_POINTSDefault number of points tides field sampling.static doubleDEFAULT_STEPDefault 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.Vector3Dacceleration(SpacecraftState s, double[] parameters)Compute acceleration.booleandependsOnPositionOnly()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
stepand defaultnumber of pointsfor 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:
dependsOnPositionOnlyin 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:
accelerationin 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:
accelerationin 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:
getEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getEventDetectorsin 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:
getFieldEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getFieldEventDetectorsin 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:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-
-