Skip to content
Snippets Groups Projects
Commit 3601eb92 authored by Luc Maisonobe's avatar Luc Maisonobe
Browse files

completely revamped partial derivatives computation in numerical propagation

added a way to perform numerical propagation in either cartesian parameters or equinoctial parameters
parent 6cf7d4e4
No related branches found
No related tags found
No related merge requests found
Showing
with 74 additions and 29 deletions
.classpath
.project
bin
......@@ -11,16 +11,15 @@
<module name="FallThrough"/>
<module name="FinalLocalVariable"/>
<module name="FinalParameters"/>
<module name="GenericIllegalRegexp">
<property name="format" value="\s$"/>
<property name="message" value="spurious spaces at end of line"/>
<module name="Regexp">
<property name="format" value="[ \t]+$"/>
<property name="illegalPattern" value="true"/>
<property name="message" value="Trailing whitespace"/>
</module>
<module name="GenericIllegalRegexp">
<module name="Regexp">
<property name="format" value="System\.out\.println"/>
<property name="message" value="forbidden print to standard output"/>
</module>
<module name="RegexpHeader">
<property name="headerFile" value="license-header.txt" />
<property name="illegalPattern" value="true"/>
<property name="ignoreComments" value="true"/>
</module>
<module name="HiddenField">
<property name="ignoreConstructorParameter" value="true"/>
......@@ -55,7 +54,6 @@
</module>
<module name="RedundantModifier"/>
<module name="StringLiteralEquality"/>
<module name="TabCharacter"/>
<module name="TodoComment"/>
<module name="UnnecessaryParentheses"/>
<module name="UnusedImports"/>
......@@ -74,6 +72,10 @@
</module>
<module name="FileContentsHolder"/>
</module>
<module name="RegexpHeader">
<property name="headerFile" value="license-header.txt" />
</module>
<module name="FileTabCharacter"/>
<module name="NewlineAtEndOfFile"/>
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE\: stop JavadocVariable check"/>
......
......@@ -63,11 +63,40 @@
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<!-- The following equality test is intentional and needed for semantic purposes -->
<!-- The following equality tests are intentional and needed for semantic purposes -->
<Match>
<Class name="org.orekit.time.TimeComponents" />
<Method name="equals" params="java.lang.Object" returns="boolean" />
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
</Match>
<Match>
<Class name="org.orekit.orbits.KeplerianOrbit"/>
<Method name ="eMeSinE" params="double" returns="double" />
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
</Match>
<!-- The following internal representation exposure are intentional,
They are used to pass data back and forth between classes
-->
<Match>
<Class name="org.orekit.propagation.numerical.AdditionalStateAndEquations"/>
<Method name ="getAdditionalState" params="" returns="double[]" />
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.orekit.propagation.numerical.AdditionalStateAndEquations"/>
<Method name ="getAdditionalStateDot" params="" returns="double[]" />
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.orekit.propagation.numerical.TimeDerivativesEquationsCartesian"/>
<Method name ="initDerivatives" params="double[],org.orekit.orbits.Orbit" returns="void" />
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.orekit.propagation.numerical.TimeDerivativesEquationsEquinoctial"/>
<Method name ="initDerivatives" params="double[],org.orekit.orbits.Orbit" returns="void" />
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
</FindBugsFilter>
......@@ -133,7 +133,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
<version>4.8.1</version>
<type>jar</type>
<scope>test</scope>
<optional>false</optional>
......@@ -144,7 +144,7 @@
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<version>2.2-beta-5</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/source-assembly.xml</descriptor>
......@@ -155,7 +155,7 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.0.1</version>
<version>2.1.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
......@@ -181,7 +181,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<version>2.3.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
......@@ -190,7 +190,7 @@
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.0.1</version>
<version>2.1.1</version>
<configuration>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
......@@ -199,12 +199,12 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.3</version>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.1</version>
<version>2.3.1</version>
<configuration>
<threshold>Normal</threshold>
<effort>Default</effort>
......@@ -214,22 +214,22 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.3</version>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
<configLocation>checkstyle.xml</configLocation>
<configLocation>${basedir}/checkstyle.xml</configLocation>
<enableRulesSummary>false</enableRulesSummary>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>2.1</version>
<version>2.3</version>
<configuration>
<xmlPath>${basedir}/src/site/xdoc/changes.xml</xmlPath>
</configuration>
......@@ -244,7 +244,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.1</version>
<version>2.2</version>
<configuration>
<outputEncoding>UTF-8</outputEncoding>
<linkJavadoc>false</linkJavadoc>
......@@ -253,7 +253,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.6</version>
<version>2.7</version>
<configuration>
<overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
<links>
......@@ -283,7 +283,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<version>2.1.2</version>
<executions>
<execution>
<id>create-source-jar</id>
......
src/design/OrekitForces.png

8.47 KiB

src/design/OrekitVariableThrust.png

11.2 KiB

src/design/attitude-class-diagram.png

32.6 KiB

src/design/bodies-class-diagram.png

12.5 KiB

src/design/cartesian-class-diagram.png

16.5 KiB

src/design/data-class-diagram.png

12.8 KiB

src/design/frames-class-diagram.png

24.7 KiB

src/design/orbits-class-diagram.png

23.4 KiB

src/design/orekit-packages.png

28.4 KiB

src/design/partial-derivatives-class-diagram.png

20.5 KiB

src/design/propagation-class-diagram.png

43.7 KiB

src/design/sequence_diagram_propagation.png

11.3 KiB

src/design/time-class-diagram.png

25 KiB

src/design/tle-class-diagram.png

6.95 KiB

......@@ -75,9 +75,9 @@ public class LofOffset implements AttitudeLaw {
* // note the call to revert in the following statement
* double[] angles = offsetProper.revert().getAngles(order);
*
* System.out.println(alpha1 + " == " + angles[0]);
* System.out.println(alpha2 + " == " + angles[1]);
* System.out.println(alpha3 + " == " + angles[2]);
* System.out.println(alpha1 + " == " + angles[0]);
* System.out.println(alpha2 + " == " + angles[1]);
* System.out.println(alpha3 + " == " + angles[2]);
* </pre>
* @param order order of rotations to use for (alpha1, alpha2, alpha3) composition
* @param alpha1 angle of the first elementary rotation
......
......@@ -44,6 +44,9 @@ public abstract class AbstractCelestialBody implements CelestialBody {
/** Serializable UID. */
private static final long serialVersionUID = 6769512376971866660L;
/** Name of the body. */
private final String name;
/** Attraction coefficient of the body (m<sup>3</sup>/s<sup>2</sup>). */
private final double gm;
......@@ -60,15 +63,17 @@ public abstract class AbstractCelestialBody implements CelestialBody {
private final Frame bodyFrame;
/** Build an instance and the underlying frame.
* @param name name of the body
* @param gm attraction coefficient (in m<sup>3</sup>/s<sup>2</sup>)
* @param iauPole IAU pole implementation
* @param definingFrame frame in which celestial body coordinates are defined
* @param inertialFrameName name to use for inertially oriented body centered frame
* @param bodyFrameName name to use for body oriented body centered frame
*/
protected AbstractCelestialBody(final double gm, final IAUPole iauPole,
final Frame definingFrame,
protected AbstractCelestialBody(final String name, final double gm,
final IAUPole iauPole, final Frame definingFrame,
final String inertialFrameName, String bodyFrameName) {
this.name = name;
this.gm = gm;
this.iauPole = iauPole;
this.definingFrame = definingFrame;
......@@ -76,6 +81,11 @@ public abstract class AbstractCelestialBody implements CelestialBody {
this.bodyFrame = new BodyOrientedFrame(bodyFrameName);
}
/** {@inheritDoc} */
public String getName() {
return name;
}
/** {@inheritDoc} */
public double getGM() {
return gm;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment