Package org.orekit.forces.gravity
Class OceanTides
- java.lang.Object
-
- org.orekit.forces.gravity.OceanTides
-
- All Implemented Interfaces:
ForceModel
,EventDetectorsProvider
,ParameterDriversProvider
public class OceanTides extends Object implements ForceModel
Ocean 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 OceanTides(Frame centralBodyFrame, double ae, double mu, boolean poleTide, double step, int nbPoints, int degree, int order, IERSConventions conventions, UT1Scale ut1)
Simple constructor.OceanTides(Frame centralBodyFrame, double ae, double mu, boolean poleTide, double step, int nbPoints, int degree, int order, IERSConventions conventions, UT1Scale ut1, GravityFields gravityFields)
Simple constructor.OceanTides(Frame centralBodyFrame, double ae, double mu, int degree, int order, IERSConventions conventions, UT1Scale ut1)
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
-
OceanTides
@DefaultDataContext public OceanTides(Frame centralBodyFrame, double ae, double mu, int degree, int order, IERSConventions conventions, UT1Scale ut1)
Simple constructor.This constructor uses pole tides, the default
step
and defaultnumber of points
for the tides field interpolation.This constructor uses the
default data context
.- Parameters:
centralBodyFrame
- rotating body frameae
- central body reference radiusmu
- central body attraction coefficientdegree
- degree of the tide model to loadorder
- order of the tide model to loadconventions
- IERS conventions used for loading ocean pole tideut1
- UT1 time scale- See Also:
DEFAULT_STEP
,DEFAULT_POINTS
,OceanTides(Frame, double, double, boolean, double, int, int, int, IERSConventions, UT1Scale)
,GravityFields.getOceanTidesWaves(int, int)
,OceanTides(Frame, double, double, boolean, double, int, int, int, IERSConventions, UT1Scale, GravityFields)
-
OceanTides
@DefaultDataContext public OceanTides(Frame centralBodyFrame, double ae, double mu, boolean poleTide, double step, int nbPoints, int degree, int order, IERSConventions conventions, UT1Scale ut1)
Simple constructor.This constructor uses the
default data context
.- Parameters:
centralBodyFrame
- rotating body frameae
- central body reference radiusmu
- central body attraction coefficientpoleTide
- 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)degree
- degree of the tide model to loadorder
- order of the tide model to loadconventions
- IERS conventions used for loading ocean pole tideut1
- UT1 time scale- See Also:
GravityFields.getOceanTidesWaves(int, int)
,OceanTides(Frame, double, double, boolean, double, int, int, int, IERSConventions, UT1Scale, GravityFields)
-
OceanTides
public OceanTides(Frame centralBodyFrame, double ae, double mu, boolean poleTide, double step, int nbPoints, int degree, int order, IERSConventions conventions, UT1Scale ut1, GravityFields gravityFields)
Simple constructor.- Parameters:
centralBodyFrame
- rotating body frameae
- central body reference radiusmu
- central body attraction coefficientpoleTide
- 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)degree
- degree of the tide model to loadorder
- order of the tide model to loadconventions
- IERS conventions used for loading ocean pole tideut1
- UT1 time scalegravityFields
- used to compute ocean tides.- Since:
- 10.1
- See Also:
GravityFields.getOceanTidesWaves(int, int)
-
-
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
-
-