1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.propagation.semianalytical.dsst;
18
19 import java.io.IOException;
20 import java.text.ParseException;
21 import java.util.Arrays;
22
23 import org.hipparchus.util.FastMath;
24 import org.junit.Assert;
25 import org.junit.Before;
26 import org.junit.Test;
27 import org.orekit.Utils;
28 import org.orekit.frames.Frame;
29 import org.orekit.frames.FramesFactory;
30 import org.orekit.orbits.EquinoctialOrbit;
31 import org.orekit.orbits.PositionAngle;
32 import org.orekit.propagation.SpacecraftState;
33 import org.orekit.propagation.semianalytical.dsst.forces.DSSTForceModel;
34 import org.orekit.propagation.semianalytical.dsst.forces.DSSTNewtonianAttraction;
35 import org.orekit.propagation.semianalytical.dsst.utilities.AuxiliaryElements;
36 import org.orekit.time.AbsoluteDate;
37 import org.orekit.time.TimeScalesFactory;
38
39 public class DSSTNewtonianAttractionTest {
40
41 private static final double eps = 1.0e-19;
42
43 @Test
44 public void testGetMeanElementRate() throws IllegalArgumentException {
45
46 final Frame earthFrame = FramesFactory.getEME2000();
47
48 final AbsoluteDate date = new AbsoluteDate(2007, 04, 16, 0, 46, 42.400, TimeScalesFactory.getUTC());
49
50 final double mu = 3.986004415E14;
51 final EquinoctialOrbit orbit = new EquinoctialOrbit(2.655989E7,
52 2.719455286199036E-4,
53 0.0041543085910249414,
54 -0.3412974060023717,
55 0.3960084733107685,
56 FastMath.toRadians(44.2377),
57 PositionAngle.MEAN,
58 earthFrame,
59 date,
60 mu);
61
62 final SpacecraftState state = new SpacecraftState(orbit);
63
64 final AuxiliaryElements auxiliaryElements = new AuxiliaryElements(state.getOrbit(), 1);
65
66 final DSSTForceModel newton = new DSSTNewtonianAttraction(mu);
67
68 final double[] elements = new double[7];
69 Arrays.fill(elements, 0.0);
70
71 final double[] daidt = newton.getMeanElementRate(state, auxiliaryElements, newton.getParameters());
72 for (int i = 0; i < daidt.length; i++) {
73 elements[i] = daidt[i];
74 }
75
76 Assert.assertEquals(0.0, elements[0], eps);
77 Assert.assertEquals(0.0, elements[1], eps);
78 Assert.assertEquals(0.0, elements[2], eps);
79 Assert.assertEquals(0.0, elements[3], eps);
80 Assert.assertEquals(0.0, elements[4], eps);
81 Assert.assertEquals(1.4585773985530907E-4, elements[5], eps);
82
83 }
84
85 @Before
86 public void setUp() throws IOException, ParseException {
87 Utils.setDataRoot("regular-data");
88 }
89
90 }