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.util.Binary64;
21 import org.hipparchus.util.Binary64Field;
22 import org.junit.jupiter.api.Assertions;
23 import org.junit.jupiter.api.Test;
24 import org.orekit.propagation.FieldPropagator;
25 import org.orekit.propagation.analytical.FieldKeplerianPropagator;
26 import org.orekit.propagation.analytical.KeplerianPropagator;
27 import org.orekit.propagation.events.handlers.FieldRecordAndContinue;
28
29
30
31
32
33
34
35 public class FieldCloseEventsAnalyticalKeplerianTest extends FieldCloseEventsAbstractTest<Binary64> {
36
37 public FieldCloseEventsAnalyticalKeplerianTest(){
38 super(Binary64Field.getInstance());
39 }
40
41 @Override
42 public FieldPropagator<Binary64> getPropagator(double stepSize) {
43 return new FieldKeplerianPropagator<>(initialOrbit);
44 }
45
46
47
48
49 @Test
50 public void testBigStep() {
51
52 FieldPropagator<Binary64> propagator = getPropagator(1e100);
53 propagator.setStepHandler(interpolator -> {});
54 double period = 2 * initialOrbit.getKeplerianPeriod().getReal();
55
56 FieldRecordAndContinue<Binary64> handler = new FieldRecordAndContinue<>();
57 TimeDetector detector = new TimeDetector(1, period - 1)
58 .withHandler(handler)
59 .withMaxCheck(1e100)
60 .withThreshold(v(1));
61 propagator.addEventDetector(detector);
62
63
64 propagator.propagate(epoch.shiftedBy(period));
65
66
67 Assertions.assertEquals(0, handler.getEvents().size());
68 }
69
70
71 @Test
72 public void testBigStepReverse() {
73
74 FieldPropagator<Binary64> propagator = getPropagator(1e100);
75 propagator.setStepHandler(interpolator -> {});
76 double period = -2 * initialOrbit.getKeplerianPeriod().getReal();
77
78 FieldRecordAndContinue<Binary64> handler = new FieldRecordAndContinue<>();
79 TimeDetector detector = new TimeDetector(-1, period + 1)
80 .withHandler(handler)
81 .withMaxCheck(1e100)
82 .withThreshold(v(1));
83 propagator.addEventDetector(detector);
84
85
86 propagator.propagate(epoch.shiftedBy(period));
87
88
89 Assertions.assertEquals(0, handler.getEvents().size());
90 }
91
92 }