GPIntegrator : Différence entre versions
De Wiki
(→Display) |
|||
Ligne 33 : | Ligne 33 : | ||
[[File:GPIntegrator2.png]] | [[File:GPIntegrator2.png]] | ||
+ | |||
+ | Note an interesting functionnality for the DOP data with a user help for initializing steps and tolerances depending of some kind of orbits. | ||
+ | |||
+ | [[File:GPIntegrator3.png]] | ||
== How to use it == | == How to use it == |
Version du 31 octobre 2019 à 12:07
How to call it
For using the GPIntegrator class, the developer has only to create such an object with these two possibilities:
- With no initialization:
GPIntegrator gpInteg = new GPIntegrator();
In that case, all the possible integrators will be displayed (i.e. Runge Kutta 4, Runge Kutta 6 and Dormand Price 853)
- Or, if we want to limit the display to some of these integrators (in the example below, only Runge Kutta 4 and Dormand Price 853) and choose the one initially displayes (here the Dormand Price 853 one):
final IntegratorTypeEnum[] types = { IntegratorTypeEnum.RK4, IntegratorTypeEnum.DOP }; GPIntegrator gpInteg = new GPIntegrator(types, IntegratorTypeEnum.DOP);
- There are also several setter methods to override default values. For example, if we want to display by default 5 seconds for the Runge Kutta time steps, we will have to call to the specific method as:
gpInteg.setRKParameters(5.);
Display
For the first cases, the display will be:
as, for the second one …
Note an interesting functionnality for the DOP data with a user help for initializing steps and tolerances depending of some kind of orbits.
How to use it
To get a [PATRIUS] FirstOrderIntegrator object, we will just have to … TBW ...
How it is stored
Here is the XML format for the Dormand Price 853 integrator data:
<String name="Type:">Dormand-Prince (8th order)</String> <Real name="Minimum_timestep:_" unit="s">1.0E0</Real> <Real name="Maximum_timestep:_" unit="s">3.0E2</Real> <String name="Tolerances_definition:_">Complete</String> <Boolean name="Bypass_error_on_min_timestep">true</Boolean> <String name="Templates_for_tolerances_definition">---</String> <Tolerances name="Tolerance1"> <Real name="X" unit="m">7.0E-6</Real> <Real name="Xr" unit="%">0.0E0</Real> </Tolerances> <Tolerances name="Tolerance2"> <Real name="Y" unit="m">7.0E-6</Real> <Real name="Yr" unit="%">0.0E0</Real> </Tolerances> <Tolerances name="Tolerance3"> <Real name="Z" unit="m">7.0E-6</Real> <Real name="Zr" unit="%">0.0E0</Real> </Tolerances> <Tolerances name="Tolerance4"> <Real name="Vx" unit="m/s">3.0E-10</Real> <Real name="Vxr" unit="%">0.0E0</Real> </Tolerances> <Tolerances name="Tolerance5"> <Real name="Vy" unit="m/s">3.0E-10</Real> <Real name="Vyr" unit="%">0.0E0</Real> </Tolerances> <Tolerances name="Tolerance6"> <Real name="Vz" unit="m/s">3.0E-10</Real> <Real name="Vzr" unit="%">0.0E0</Real> </Tolerances> <Real name="Mass" unit="kg">1.0E-3</Real> <Real name="Massr" unit="%">1.0E-2</Real>