1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.orekit.propagation.events;
19
20 import org.hipparchus.ode.nonstiff.AdamsBashforthFieldIntegrator;
21 import org.hipparchus.ode.nonstiff.DormandPrince853FieldIntegrator;
22 import org.hipparchus.util.Decimal64;
23 import org.hipparchus.util.Decimal64Field;
24 import org.orekit.orbits.OrbitType;
25 import org.orekit.propagation.FieldPropagator;
26 import org.orekit.propagation.FieldSpacecraftState;
27 import org.orekit.propagation.numerical.FieldNumericalPropagator;
28
29
30
31
32
33
34
35 public class FieldCloseEventsNumericalABTest extends FieldCloseEventsAbstractTest<Decimal64> {
36
37
38 public FieldCloseEventsNumericalABTest() {
39 super(Decimal64Field.getInstance());
40 }
41
42
43
44
45
46
47
48 public FieldPropagator<Decimal64> getPropagator(double stepSize) {
49 double[][] tol = FieldNumericalPropagator
50 .tolerances(v(10000), initialOrbit, OrbitType.CARTESIAN);
51 final AdamsBashforthFieldIntegrator<Decimal64> integrator =
52 new AdamsBashforthFieldIntegrator<>(field, 4, stepSize, stepSize, tol[0], tol[1]);
53 final DormandPrince853FieldIntegrator<Decimal64> starter =
54 new DormandPrince853FieldIntegrator<>(
55 field, stepSize / 100, stepSize / 10, tol[0], tol[1]);
56 starter.setInitialStepSize(stepSize / 20);
57 integrator.setStarterIntegrator(starter);
58 final FieldNumericalPropagator<Decimal64> propagator =
59 new FieldNumericalPropagator<>(field, integrator);
60 propagator.setInitialState(new FieldSpacecraftState<>(initialOrbit));
61 propagator.setOrbitType(OrbitType.CARTESIAN);
62 return propagator;
63 }
64
65 }