Package org.orekit.propagation
Interface CartesianToleranceProvider
-
- All Known Subinterfaces:
ToleranceProvider
public interface CartesianToleranceProvider
Interface to define integration tolerances for adaptive schemes (like the embedded Runge-Kutta ones) propagating the position-velocity vector 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 Modifier and Type Field Description static double
DEFAULT_ABSOLUTE_MASS_TOLERANCE
Default absolute tolerance for mass integration.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <T extends CalculusFieldElement<T>>
double[][]getTolerances(FieldVector3D<T> position, FieldVector3D<T> velocity)
Retrieve the integration tolerances given reference position and velocity Field vectors.double[][]
getTolerances(Vector3D position, Vector3D velocity)
Retrieve the integration tolerances given reference position and velocity vectors.default double[][]
getTolerances(CartesianOrbit cartesianOrbit)
Retrieve the integration tolerances given a reference Cartesian orbit.default <T extends CalculusFieldElement<T>>
double[][]getTolerances(FieldCartesianOrbit<T> cartesianOrbit)
Retrieve the integration tolerances given a reference Cartesian orbit.default double[][]
getTolerances(AbsolutePVCoordinates absolutePVCoordinates)
Retrieve the integration tolerances given a reference absolute position-velocity vector.default <T extends CalculusFieldElement<T>>
double[][]getTolerances(FieldAbsolutePVCoordinates<T> absolutePVCoordinates)
Retrieve the integration tolerances given a reference absolute position-velocity vector.static CartesianToleranceProvider
of(double dP)
Build a provider based on expected errors for position only.static CartesianToleranceProvider
of(double dP, double dV, double dM)
Build a provider based on expected errors for position, velocity and mass respectively.
-
-
-
Field Detail
-
DEFAULT_ABSOLUTE_MASS_TOLERANCE
static final double DEFAULT_ABSOLUTE_MASS_TOLERANCE
Default absolute tolerance for mass integration.- See Also:
- Constant Field Values
-
-
Method Detail
-
getTolerances
double[][] getTolerances(Vector3D position, Vector3D velocity)
Retrieve the integration tolerances given reference position and velocity vectors.- Parameters:
position
- reference position vectorvelocity
- reference velocity vector- Returns:
- absolute and relative tolerances
-
getTolerances
default <T extends CalculusFieldElement<T>> double[][] getTolerances(FieldVector3D<T> position, FieldVector3D<T> velocity)
Retrieve the integration tolerances given reference position and velocity Field vectors.- Type Parameters:
T
- field type- Parameters:
position
- reference position vectorvelocity
- reference velocity vector- Returns:
- absolute and relative tolerances
-
getTolerances
default double[][] getTolerances(CartesianOrbit cartesianOrbit)
Retrieve the integration tolerances given a reference Cartesian orbit.- Parameters:
cartesianOrbit
- reference orbit- Returns:
- absolute and relative tolerances
-
getTolerances
default <T extends CalculusFieldElement<T>> double[][] getTolerances(FieldCartesianOrbit<T> cartesianOrbit)
Retrieve the integration tolerances given a reference Cartesian orbit.- Type Parameters:
T
- field type- Parameters:
cartesianOrbit
- reference orbit- Returns:
- absolute and relative tolerances
-
getTolerances
default double[][] getTolerances(AbsolutePVCoordinates absolutePVCoordinates)
Retrieve the integration tolerances given a reference absolute position-velocity vector.- Parameters:
absolutePVCoordinates
- reference position-velocity- Returns:
- absolute and relative tolerances
-
getTolerances
default <T extends CalculusFieldElement<T>> double[][] getTolerances(FieldAbsolutePVCoordinates<T> absolutePVCoordinates)
Retrieve the integration tolerances given a reference absolute position-velocity vector.- Type Parameters:
T
- field type- Parameters:
absolutePVCoordinates
- reference position-velocity- Returns:
- absolute and relative tolerances
-
of
static CartesianToleranceProvider of(double dP, double dV, double dM)
Build a provider based on expected errors for position, velocity and mass respectively.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 errordV
- expected velocity errordM
- expected mass error- Returns:
- tolerance provider
-
of
static CartesianToleranceProvider of(double dP)
Build a provider based on expected errors for position only.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:
- tolerance provider
-
-