Package org.orekit.propagation
Interface ToleranceProvider
-
- All Superinterfaces:
CartesianToleranceProvider
public interface ToleranceProvider extends CartesianToleranceProvider
Interface to define integration tolerances for adaptive schemes (like the embedded Runge-Kutta ones) propagating the position-velocity vector (or an equivalent set of coordinates) and the mass, for a total of 7 primary dependent variables (in that order). The tolerances are given as an array of array: each row has 7 elements, whilst the first column is the absolute tolerances and the second the relative ones.- Since:
- 13.0
- Author:
- Romain Serra
- See Also:
NumericalPropagator
,FieldNumericalPropagator
,CartesianToleranceProvider
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.CartesianToleranceProvider
DEFAULT_ABSOLUTE_MASS_TOLERANCE
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static ToleranceProvider
getDefaultToleranceProvider(double dP)
Defines a default tolerance provider.default <T extends CalculusFieldElement<T>>
double[][]getTolerances(FieldOrbit<T> referenceOrbit, OrbitType propagationOrbitType)
Retrieve the integration tolerances given a reference Field orbit.default <T extends CalculusFieldElement<T>>
double[][]getTolerances(FieldOrbit<T> referenceOrbit, OrbitType propagationOrbitType, PositionAngleType positionAngleType)
Retrieve the integration tolerances given a reference Field orbit.default double[][]
getTolerances(Orbit referenceOrbit, OrbitType propagationOrbitType)
Retrieve the integration tolerances given a reference orbit.double[][]
getTolerances(Orbit referenceOrbit, OrbitType propagationOrbitType, PositionAngleType positionAngleType)
Retrieve the integration tolerances given a reference orbit.static ToleranceProvider
of(double absoluteTolerance, double relativeTolerance)
Build a provider using a single value for absolute and respective tolerance respectively.static ToleranceProvider
of(CartesianToleranceProvider cartesianToleranceProvider)
Build a provider based on a tolerance provider for Cartesian coordinates.-
Methods inherited from interface org.orekit.propagation.CartesianToleranceProvider
getTolerances, getTolerances, getTolerances, getTolerances, getTolerances, getTolerances
-
-
-
-
Method Detail
-
getTolerances
double[][] getTolerances(Orbit referenceOrbit, OrbitType propagationOrbitType, PositionAngleType positionAngleType)
Retrieve the integration tolerances given a reference orbit.- Parameters:
referenceOrbit
- orbitpropagationOrbitType
- orbit type for propagation (can be different from the input orbit one)positionAngleType
- reference position angle type- Returns:
- absolute and relative tolerances
-
getTolerances
default double[][] getTolerances(Orbit referenceOrbit, OrbitType propagationOrbitType)
Retrieve the integration tolerances given a reference orbit.- Parameters:
referenceOrbit
- orbitpropagationOrbitType
- orbit type for propagation (can be different from the input orbit one)- Returns:
- absolute and relative tolerances
-
getTolerances
default <T extends CalculusFieldElement<T>> double[][] getTolerances(FieldOrbit<T> referenceOrbit, OrbitType propagationOrbitType, PositionAngleType positionAngleType)
Retrieve the integration tolerances given a reference Field orbit.- Type Parameters:
T
- field type- Parameters:
referenceOrbit
- orbitpropagationOrbitType
- orbit type for propagation (can be different from the input orbit one)positionAngleType
- reference position angle type- Returns:
- absolute and relative tolerances
-
getTolerances
default <T extends CalculusFieldElement<T>> double[][] getTolerances(FieldOrbit<T> referenceOrbit, OrbitType propagationOrbitType)
Retrieve the integration tolerances given a reference Field orbit.- Type Parameters:
T
- field type- Parameters:
referenceOrbit
- orbitpropagationOrbitType
- orbit type for propagation (can be different from the input orbit one)- Returns:
- absolute and relative tolerances
-
of
static ToleranceProvider of(double absoluteTolerance, double relativeTolerance)
Build a provider using a single value for absolute and respective tolerance respectively.- Parameters:
absoluteTolerance
- absolute tolerance value to be usedrelativeTolerance
- relative tolerance value to be used- Returns:
- tolerance provider
-
of
static ToleranceProvider of(CartesianToleranceProvider cartesianToleranceProvider)
Build a provider based on a tolerance provider for Cartesian coordinates.Orbits Jacobian matrices are used to get consistent errors on orbital parameters.
- Parameters:
cartesianToleranceProvider
- tolerance provider dedicated to Cartesian propagation- Returns:
- tolerance provider
-
getDefaultToleranceProvider
static ToleranceProvider getDefaultToleranceProvider(double dP)
Defines a default tolerance provider. It is consistent with values from previous versions of Orekit obtained via other APIs.The tolerances are only orders of magnitude, and integrator tolerances are only local estimates, not global ones. So some care must be taken when using these tolerances. Setting 1mm as a position error does NOT mean the tolerances will guarantee a 1mm error position after several orbits integration.
- Parameters:
dP
- expected position error- Returns:
- tolerances
-
-