1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.math4.legacy.ode.nonstiff;
19
20
21 import org.apache.commons.math4.legacy.core.Field;
22 import org.apache.commons.math4.legacy.core.RealFieldElement;
23
24 public class ThreeEighthesFieldIntegratorTest extends RungeKuttaFieldIntegratorAbstractTest {
25
26 @Override
27 protected <T extends RealFieldElement<T>> RungeKuttaFieldIntegrator<T>
28 createIntegrator(Field<T> field, T step) {
29 return new ThreeEighthesFieldIntegrator<>(field, step);
30 }
31
32 @Override
33 public void testNonFieldIntegratorConsistency() {
34 doTestNonFieldIntegratorConsistency(Decimal64Field.getInstance());
35 }
36
37 @Override
38 public void testMissedEndEvent() {
39 doTestMissedEndEvent(Decimal64Field.getInstance(), 1.0e-15, 6.0e-5);
40 }
41
42 @Override
43 public void testSanityChecks() {
44 doTestSanityChecks(Decimal64Field.getInstance());
45 }
46
47 @Override
48 public void testDecreasingSteps() {
49 doTestDecreasingSteps(Decimal64Field.getInstance(), 1.0, 1.0, 1.0e-10);
50 }
51
52 @Override
53 public void testSmallStep() {
54 doTestSmallStep(Decimal64Field.getInstance(), 2.0e-13, 4.0e-12, 1.0e-12, "3/8");
55 }
56
57 @Override
58 public void testBigStep() {
59 doTestBigStep(Decimal64Field.getInstance(), 0.0004, 0.005, 1.0e-12, "3/8");
60 }
61
62 @Override
63 public void testBackward() {
64 doTestBackward(Decimal64Field.getInstance(), 5.0e-10, 7.0e-10, 1.0e-12, "3/8");
65 }
66
67 @Override
68 public void testKepler() {
69 doTestKepler(Decimal64Field.getInstance(), 0.0348, 1.0e-4);
70 }
71
72 @Override
73 public void testStepSize() {
74 doTestStepSize(Decimal64Field.getInstance(), 1.0e-12);
75 }
76
77 @Override
78 public void testSingleStep() {
79 doTestSingleStep(Decimal64Field.getInstance(), 0.21);
80 }
81
82 @Override
83 public void testTooLargeFirstStep() {
84 doTestTooLargeFirstStep(Decimal64Field.getInstance());
85 }
86
87 @Override
88 public void testUnstableDerivative() {
89 doTestUnstableDerivative(Decimal64Field.getInstance(), 1.0e-12);
90 }
91
92 @Override
93 public void testDerivativesConsistency() {
94 doTestDerivativesConsistency(Decimal64Field.getInstance(), 1.0e-10);
95 }
96
97 @Override
98 public void testPartialDerivatives() {
99 doTestPartialDerivatives(3.2e-10, new double[] { 2.1e-9, 5.9e-10, 7.0e-11, 5.9e-10, 5.9e-10 });
100 }
101 }