<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://psimu.cnes.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>Psimu - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://psimu.cnes.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php/Sp%C3%A9cial:Contributions/Admin"/>
	<updated>2026-04-04T00:44:31Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1195</id>
		<title>Modèle:PathCurrentJavaDoc</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1195"/>
		<updated>2025-10-13T09:39:47Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CurrentServer}}//images/upload/JavaDocs/V11.8&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Java_Doc&amp;diff=1194</id>
		<title>Java Doc</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Java_Doc&amp;diff=1194"/>
		<updated>2025-10-13T09:37:10Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[{{PathCurrentJavaDoc}} Current Java Doc]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.8 Java Doc 11.8]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.4 Java Doc 11.7.4]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.3 Java Doc 11.7.3]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.2 Java Doc 11.7.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.1 Java Doc 11.7.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.6.2 Java Doc 11.6.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.5 Java Doc 11.5]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.4.1 Java Doc 11.4.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.4 Java Doc 11.4]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.3 Java Doc 11.3]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.2 Java Doc 11.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.1 Java Doc 11.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.0 Java Doc 11.0]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Fichier:TutorialsForV11.8.zip&amp;diff=1193</id>
		<title>Fichier:TutorialsForV11.8.zip</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Fichier:TutorialsForV11.8.zip&amp;diff=1193"/>
		<updated>2025-10-10T15:34:33Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=MediaWiki:Sidebar&amp;diff=1192</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=MediaWiki:Sidebar&amp;diff=1192"/>
		<updated>2025-10-10T15:33:26Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*&lt;br /&gt;
* PSIMU&lt;br /&gt;
** WELCOME_TO_THE_PSIMU_WIKI|Welcome&lt;br /&gt;
** Quick_start|Quick start&lt;br /&gt;
** News|News&lt;br /&gt;
* GUI Mode&lt;br /&gt;
** Overall_Presentation|Overall presentation&lt;br /&gt;
** Initial_Orbit|Initial Orbit&lt;br /&gt;
** Earth_Features|Earth features&lt;br /&gt;
** Vehicle|Vehicle&lt;br /&gt;
** Forces|Forces&lt;br /&gt;
** Maneuvers|Maneuvers&lt;br /&gt;
** Attitude|Attitude&lt;br /&gt;
** Integrator|Integrator&lt;br /&gt;
** Events|Events&lt;br /&gt;
** Output|Output&lt;br /&gt;
** Console|Console&lt;br /&gt;
* Batch mode&lt;br /&gt;
** BatchMode|How to call it&lt;br /&gt;
* Java interface&lt;br /&gt;
** Basic_Principle|Basic principle&lt;br /&gt;
** Data_initialization|Data initialization&lt;br /&gt;
** Propagation|Propagation&lt;br /&gt;
** Printing|Printing results&lt;br /&gt;
** Customize_output_variables|Customize output variables&lt;br /&gt;
* Evolutions&lt;br /&gt;
** Main_differences_between_V11.7.4_and_V11.8|Main differences between V11.7.4 and V11.8&lt;br /&gt;
** Main_differences_between_V11.7.3_and_V11.7.4|Main differences between V11.7.3 and V11.7.4&lt;br /&gt;
** Main_differences_between_V11.7.2_and_V11.7.3|Main differences between V11.7.2 and V11.7.3&lt;br /&gt;
** Main_differences_between_V11.7.1_and_V11.7.2|Main differences between V11.7.1 and V11.7.2&lt;br /&gt;
** Main_differences_between_V11.6.2_and_V11.7.1|Main differences between V11.6.2 and V11.7.1&lt;br /&gt;
** Main_differences_between_V11.5_and_V11.6.2|Main differences between V11.5 and V11.6.2&lt;br /&gt;
** Main_differences_between_V11.4.1_and_V11.5|Main differences between V11.4.1 and V11.5&lt;br /&gt;
** Main_differences_between_V11.4_and_V11.4.1|Main differences between V11.4 and V11.4.1&lt;br /&gt;
** Main_differences_between_V11.3_and_V11.4|Main differences between V11.3 and V11.4&lt;br /&gt;
** Main_differences_between_V11.2_and_V11.3|Main differences between V11.2 and V11.3&lt;br /&gt;
** Main_differences_between_V11.1_and_V11.2|Main differences between V11.1 and V11.2&lt;br /&gt;
** Main_differences_between_V11.0_and_V11.1|Main differences between V11.0 and V11.1&lt;br /&gt;
* Training&lt;br /&gt;
** :File:TutorialsForV11.8.zip|Tutorials package for V11.8&lt;br /&gt;
** :File:TutorialsForV11.7.1.zip|Tutorials package for V11.7.x&lt;br /&gt;
** :File:TutorialsForV11.6.zip|Tutorials package for V11.6&lt;br /&gt;
** :File:TutorialsForV11.5.zip|Tutorials package for V11.5&lt;br /&gt;
** :File:TutorialsForV11.4.zip|Tutorials package for V11.4&lt;br /&gt;
** :File:TutorialsForV11.3.zip|Tutorials package for V11.3&lt;br /&gt;
** :File:TutorialsForV11.2.zip|Tutorials package for V11.2&lt;br /&gt;
** :File:TutorialsForV11.0.zip|Tutorials package for V11.0&lt;br /&gt;
* Links&lt;br /&gt;
** https://logiciels.cnes.fr/en/home|CNES freeware server&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Current_version&amp;diff=1191</id>
		<title>Current version</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Current_version&amp;diff=1191"/>
		<updated>2025-10-10T15:32:29Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See [http://psimu.cnes.fr/index.php/Main_differences_between_V11.7.4_and_V11.8 here]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Known bugs of this version&amp;lt;/u&amp;gt;:&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Dependencies&amp;diff=1190</id>
		<title>Dependencies</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Dependencies&amp;diff=1190"/>
		<updated>2025-10-10T15:31:30Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Version&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.7.4&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.7.1/11.7.2/11.7.3&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.6.2&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.5&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.4 / 11.4.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.3&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.2 / 11.2.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.0&lt;br /&gt;
|-&lt;br /&gt;
|Disponibility&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 10th Oct 2025&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 6th Dec 2023&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 8th Jun 2023&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 7th Mar 2022 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 18th Feb 2021 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 8th Nov 2019 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 14th Dec 2018 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 14th Nov 2017 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| -&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Javadoc       &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|Dependencies &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.14.1 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.4.3&amp;lt;br/&amp;gt; Genopus 2.5.3&amp;lt;br/&amp;gt; Genius 1.13.3&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.5.0&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&amp;lt;br/&amp;gt; exp4j 0.4.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.10.2 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.4.3&amp;lt;br/&amp;gt; Genopus 2.4.2&amp;lt;br/&amp;gt; Genius 1.12.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&amp;lt;br/&amp;gt; exp4j 0.4.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.10.2 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.4.3&amp;lt;br/&amp;gt; Genopus 2.4.1&amp;lt;br/&amp;gt; Genius 1.12.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&amp;lt;br/&amp;gt; exp4j 0.4.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.8 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.3.3&amp;lt;br/&amp;gt; Genius 1.11.4&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&amp;lt;br/&amp;gt; exp4j 0.4.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.6 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.2&amp;lt;br/&amp;gt; Genius 1.10.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.4 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.1.1&amp;lt;br/&amp;gt; Genius 1.9.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 4.1.1 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.0.1&amp;lt;br/&amp;gt; Genius 1.8&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 3.3 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.0.3&amp;lt;br/&amp;gt; Genopus 1.3.1&amp;lt;br/&amp;gt; Genius 1.7&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 3.3 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.0.2&amp;lt;br/&amp;gt; Genopus 1.3&amp;lt;br/&amp;gt; Genius 1.7&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 3.2 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.0.2&amp;lt;br/&amp;gt; Genopus 1.2.1&amp;lt;br/&amp;gt; Genius 1.6.x&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=News&amp;diff=1189</id>
		<title>News</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=News&amp;diff=1189"/>
		<updated>2025-10-10T15:29:35Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=== 10th October 2025 ===&lt;br /&gt;
* New V11.7.4 version&lt;br /&gt;
&lt;br /&gt;
=== 6th December 2023 ===&lt;br /&gt;
* New V11.7.4 version&lt;br /&gt;
&lt;br /&gt;
=== 16th November 2023 ===&lt;br /&gt;
* New V11.7.3 version&lt;br /&gt;
&lt;br /&gt;
=== 10th October 2023 ===&lt;br /&gt;
* An anomaly has been found : see [[Main_differences_between_V11.7.2_and_V11.7.3|here]]&lt;br /&gt;
&lt;br /&gt;
=== 5th July 2023 ===&lt;br /&gt;
* Wiki update thanks to the new V11.7.2 version.&lt;br /&gt;
&lt;br /&gt;
=== 8th June 2023 ===&lt;br /&gt;
* Wiki update thanks to the new V11.7.1 version.&lt;br /&gt;
&lt;br /&gt;
=== 8th March 2022 ===&lt;br /&gt;
* Wiki update thanks to the new V11.6.2 version.&lt;br /&gt;
&lt;br /&gt;
=== 18th February 2021  ===&lt;br /&gt;
&lt;br /&gt;
* New V11.5 version.&lt;br /&gt;
&lt;br /&gt;
=== 16th December 2020 ===&lt;br /&gt;
&lt;br /&gt;
* Some information about [https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset] initialization (see [[Basic Principle|here]]).&lt;br /&gt;
* Precision about units in output files versus Java code output (see [[Propagation#Master mode|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 25th August 2020 ===&lt;br /&gt;
&lt;br /&gt;
* When reading the initial orbit, &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; has not already read [[Earth_Features|Earth Features characteristics]]. So, in some cases, it may exit in an error mode (for example when using H0-n frames) saying that no &amp;lt;font color=#FF8C00 title=&amp;quot;Earth Orientation Parameters&amp;gt;EOP&amp;lt;/font&amp;gt; are available even if we do not need them as it will use the [[http://patrius.cnes.fr PATRIUS]] by default configuration.&lt;br /&gt;
&lt;br /&gt;
=== 13rd May 2020 ===&lt;br /&gt;
&lt;br /&gt;
* When using the &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; &amp;lt;font color=#FF8C00 title=&amp;quot;Application Programming Interface &amp;quot;&amp;gt;API&amp;lt;/font&amp;gt;, due to a [http://patrius.cnes.fr PATRIUS] anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; constructor with all parameters and the &amp;lt;font color=#4169E1&amp;gt;VehiculeSurfaceModel&amp;lt;/font&amp;gt; including the panels as above (and not a list of &amp;lt;font color=#4169E1&amp;gt;Facet&amp;lt;/font&amp;gt;); also, do not use the setters methods.&lt;br /&gt;
&lt;br /&gt;
=== 14th February 2020  ===&lt;br /&gt;
&lt;br /&gt;
* New V11.4.1 version.&lt;br /&gt;
&lt;br /&gt;
=== 28th January 2020  ===&lt;br /&gt;
&lt;br /&gt;
* Identification of a bug when maneuvers are too near from the initial date.&lt;br /&gt;
&lt;br /&gt;
=== 21st Jan 2020 ===&lt;br /&gt;
* Update of the the Wiki main page.&lt;br /&gt;
&lt;br /&gt;
=== 13th January 2020  ===&lt;br /&gt;
&lt;br /&gt;
* Identification of a bug with the header of ephemeris/events files for date variables.&lt;br /&gt;
&lt;br /&gt;
=== 27th November 2019  ===&lt;br /&gt;
&lt;br /&gt;
* Identification of a bug using the [[Output#Custom_plots|Custom plots]] tab.&lt;br /&gt;
&lt;br /&gt;
=== 8th November 2019  ===&lt;br /&gt;
&lt;br /&gt;
* Update thanks to the V11.4 version.&lt;br /&gt;
&lt;br /&gt;
=== 23th September 2019  ===&lt;br /&gt;
&lt;br /&gt;
* Information on the next V11.4 version.&lt;br /&gt;
&lt;br /&gt;
=== 11th Sep 2019 ===&lt;br /&gt;
New predicted solar activity files are available [[:File:actsol.zip|here]].&lt;br /&gt;
&lt;br /&gt;
=== 6th Sep 2019 ===&lt;br /&gt;
&lt;br /&gt;
Provision of the &amp;lt;font color=#FF8C00 title=&amp;quot;Extensible Markup Language&amp;quot;&amp;gt;XML&amp;lt;/font&amp;gt; structure corresponding to aerodynamic coefficients depending on altitude as used in the [https://logiciels.cnes.fr/en/content/stela STELA S/W]: [[:File:Stela_drag_coefficient.zip]] &lt;br /&gt;
&lt;br /&gt;
=== 26th Aug 2019 ===&lt;br /&gt;
&lt;br /&gt;
* New [[:File:gplot-1.9.zip|GPLOT utility]] availability thanks to [http://genius.cnes.fr GENIUS V1.9] version.&lt;br /&gt;
&lt;br /&gt;
=== 29th May 2019 ===&lt;br /&gt;
&lt;br /&gt;
* Three other &amp;quot;minor&amp;quot; bugs have been identified (see [[WELCOME_TO_THE_PSIMU_WIKI#CURRENT VERSION_:_V11.3|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 21st Jan 2019 ===&lt;br /&gt;
&lt;br /&gt;
* Two &amp;quot;minor&amp;quot; bugs have been identified : cases of hyperbolic trajectories or zero propagation duration (see [[WELCOME_TO_THE_PSIMU_WIKI#CURRENT VERSION_:_V11.3|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 11th Jan 2019 ===&lt;br /&gt;
&lt;br /&gt;
* An additional explanation about the Copy/Paste facility on orbit data (see [[Initial_Orbit#Copy/Paste|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 21st Dec 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Adding the possibility to download a utility to plot previously saved results (see [[Output#Plots#Custom_plots|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 20th Dec 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Explaining how to extract solar activity files (see [[Forces#Atmosphere|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 14th Dec 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Update due to the V11.3 version.&lt;br /&gt;
&lt;br /&gt;
=== 1st Aug 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Explaining how to put additional data for Earth features (see [[Earth_Features#How_to_update_data|here]]).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=WELCOME_TO_THE_PSIMU_WIKI&amp;diff=1188</id>
		<title>WELCOME TO THE PSIMU WIKI</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=WELCOME_TO_THE_PSIMU_WIKI&amp;diff=1188"/>
		<updated>2025-10-10T15:29:03Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* DESCRIPTION */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Welcome to the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; wiki, a [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;] flight dynamics tool. As it is coded in &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt;, this product is available for any kind of platforms owning a &amp;lt;font color=#FF8C00 title=&amp;quot;JavaVirtual Machine&amp;quot;&amp;gt;JVM&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== DESCRIPTION ==&lt;br /&gt;
&lt;br /&gt;
[[What_is_Psimu|&#039;&#039;&#039;What is PSIMU?&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; is a [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;] tool allowing to propagate trajectories around the Earth.&lt;br /&gt;
&lt;br /&gt;
[[Current_version|&#039;&#039;&#039;Current version&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::The current version is: &amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;V11.8&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Previous_versions|&#039;&#039;&#039;Previous versions&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Describes evolutions thanks to previous versions.&lt;br /&gt;
&lt;br /&gt;
== USE IT ==&lt;br /&gt;
&lt;br /&gt;
[[Where_to_get_it|&#039;&#039;&#039;Where to get it?&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Where to download it.&lt;br /&gt;
&lt;br /&gt;
[[Quick start|&#039;&#039;&#039;Quick start&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::First steps with &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User_Manual|&#039;&#039;&#039;User Manual&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be used very quickly via its &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; facilitating context elaboration and results exploitation. No code knowledge is necessary.&lt;br /&gt;
::Anyway, it is also possible to use it in &amp;lt;font color=#FF8C00&amp;gt;&#039;&#039;&#039;batch&#039;&#039;&#039;&amp;lt;/font&amp;gt; mode (especially on grid computers with no display properties) or using its &amp;lt;font color=#FF8C00&amp;gt;&#039;&#039;&#039;Java&#039;&#039;&#039;&amp;lt;/font&amp;gt; interface.&lt;br /&gt;
&lt;br /&gt;
== DOCUMENTATION ==&lt;br /&gt;
&lt;br /&gt;
[[Java_Doc|&#039;&#039;&#039;Java Doc&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Access to current and old &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; doc.&lt;br /&gt;
&lt;br /&gt;
[[Dependencies|&#039;&#039;&#039;Dependencies&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Describes dependencies with other products.&lt;br /&gt;
&lt;br /&gt;
[[News|&#039;&#039;&#039;News&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Main evolutions of the tool or its Wiki.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1187</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1187"/>
		<updated>2025-10-10T15:18:27Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Date entry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the &#039;&#039;&#039;psimu.properties&#039;&#039;&#039; file, it is now possible to use a different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Date entry ==&lt;br /&gt;
Thanks to a new [https://www.connectbycnes.fr/en/genopus GENOPUS] version, a date entry is really easier to do !&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;br /&gt;
* Some corrections thanks to new version of [https://www.connectbycnes.fr/en/genopus GENOPUS].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1186</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1186"/>
		<updated>2025-10-10T15:17:07Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Date entry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the &#039;&#039;&#039;psimu.properties&#039;&#039;&#039; file, it is now possible to use a different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Date entry ==&lt;br /&gt;
Thanks to a new [https://www.connectbycnes.fr/en/genopus GENOPUS] version, it is really easier to change a date !&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;br /&gt;
* Some corrections thanks to new version of [https://www.connectbycnes.fr/en/genopus GENOPUS].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1185</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1185"/>
		<updated>2025-10-10T15:16:50Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Date entry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the &#039;&#039;&#039;psimu.properties&#039;&#039;&#039; file, it is now possible to use a different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Date entry ==&lt;br /&gt;
Thanks to annew [https://www.connectbycnes.fr/en/genopus GENOPUS] version, it is really easier to change a date !&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;br /&gt;
* Some corrections thanks to new version of [https://www.connectbycnes.fr/en/genopus GENOPUS].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1184</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1184"/>
		<updated>2025-10-10T15:16:38Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the &#039;&#039;&#039;psimu.properties&#039;&#039;&#039; file, it is now possible to use a different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Date entry ==&lt;br /&gt;
Thnaks to annew [https://www.connectbycnes.fr/en/genopus GENOPUS] version, it is really easier to change a date !&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;br /&gt;
* Some corrections thanks to new version of [https://www.connectbycnes.fr/en/genopus GENOPUS].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1183</id>
		<title>Data initialization</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1183"/>
		<updated>2025-10-10T11:59:28Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Solar radiative pressure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main modifications between V11.3 and previous versions are due to the use of original [http://patrius.cnes.fr PATRIUS] classes rather than to use &amp;quot;Custom&amp;quot; classes originally proposed by [http://genopus.cnes.fr GENOPUS]. Anyway, some &amp;quot;Custom&amp;quot; classes still remain as [http://patrius.cnes.fr PATRIUS] classes are not sufficiently consistent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Orbit ==&lt;br /&gt;
&lt;br /&gt;
To initialize an orbit, we simply have to build it using [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] object. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final TimeScale TUC = TimeScalesFactory.getUTC();&lt;br /&gt;
final AbsoluteDate date = new AbsoluteDate(&amp;quot;2010-01-01T12:00:00.000&amp;quot;, TUC);       &lt;br /&gt;
final double sma = Constants.WGS84_EARTH_EQUATORIAL_RADIUS + 250.e3;&lt;br /&gt;
final double ecc = 0.;&lt;br /&gt;
final double inc = FastMath.toRadians(51.6);&lt;br /&gt;
final double raan = FastMath.toRadians(0.);&lt;br /&gt;
final double pa  = FastMath.toRadians(0.);&lt;br /&gt;
final double ano = FastMath.toRadians(0.);&lt;br /&gt;
final Frame GCRF = FramesFactory.getGCRF();&lt;br /&gt;
final KeplerianOrbit iniOrbit =&lt;br /&gt;
  new KeplerianOrbit(sma, ecc, inc, raan, pa, ano, PositionAngle.MEAN, GCRF, date, MU);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Earth features ==&lt;br /&gt;
&lt;br /&gt;
Data equivalent to the “[[Earth_Features|Earth features]]” tab are distributed via two arguments:&lt;br /&gt;
&lt;br /&gt;
:1. A &amp;lt;font color=#4169E1&amp;gt;ExtendedOneAxisEllipsoid&amp;lt;/font&amp;gt; object which will define the shape of the planet&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, FramesFactory.getITRF(), &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:2. A type of enumerates that will propose some pre-defined configurations as:&lt;br /&gt;
:* &#039;&#039;&#039;NOTHING&#039;&#039;&#039; (all options set to null)&lt;br /&gt;
:* &#039;&#039;&#039;ONLY_PREC_NUT&#039;&#039;&#039; (only precession and nutation)&lt;br /&gt;
:* &#039;&#039;&#039;FACTORY&#039;&#039;&#039; (equivalent to the most complete definition as in the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;GUI&amp;lt;/font&amp;gt;)&lt;br /&gt;
:* &#039;&#039;&#039;IGNORE&#039;&#039;&#039; (nothing is define internally by &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; which will take into account the user parametrization previously done)&lt;br /&gt;
&lt;br /&gt;
== Vehicle ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, it is no more necessary to pass an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; object but a &amp;lt;font color=#4169E1&amp;gt;Vehicle one&amp;lt;/font&amp;gt;. Anyway, it is allways mandatory to pass a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; object, issued from the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; one. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). &lt;br /&gt;
&lt;br /&gt;
In fact, we need to pass both an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; and a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt;. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). To get them, we will use the &amp;lt;font color=#4169E1&amp;gt;createAssembly()&amp;lt;/font&amp;gt; method given by &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : for CPU time purpose it is recommanded that the frame (GCRF in the previous example), mandatory in the construction of the vehicle, must be exactly the same that the one used for the propagation.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the example below, we will then use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class initializing mass and aerodynamic properties (here no engines and no tanks):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Dry mass&lt;br /&gt;
final double dryMass = 1000.;&lt;br /&gt;
final MassProperty dryMassProperty = new MassProperty(dryMass);&lt;br /&gt;
        &lt;br /&gt;
// Shape&lt;br /&gt;
final double sref = 5.0;&lt;br /&gt;
Sphere sphere = new Sphere(sref);&lt;br /&gt;
final RightParallelepiped solarPanels = new RightParallelepiped(10., 0., 0.);&lt;br /&gt;
VehicleSurfaceModel vehicleRefSurface = new VehicleSurfaceModel(sphere, solarPanels);&lt;br /&gt;
&lt;br /&gt;
// Aerodynamic properties&lt;br /&gt;
final double cd = 2.0;&lt;br /&gt;
final double cl = 0.;&lt;br /&gt;
final AerodynamicProperties aerodynamicProperties = new AerodynamicProperties(vehicleRefSurface, cd, cl);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, aerodynamicProperties, null, null, null);&lt;br /&gt;
&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : due to a PATRIUS anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the Vehicle constructor with all parameters and the VehiculeSurfaceModel including the panels as above (and not a list of Facet); also, do not use the setters methods.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, to define, which forces will be applied along the trajectory, we use the [http://patrius.cnes.fr PATRIUS] &amp;lt;font color=#4169E1&amp;gt;ForceModelsData&amp;lt;/font&amp;gt; class (no more necessary to use the specific &amp;lt;font color=#4169E1&amp;gt;CustomForceModels&amp;lt;/font&amp;gt; class which does not exist anymore).&lt;br /&gt;
&lt;br /&gt;
=== Potential ===&lt;br /&gt;
In the following example, we will initialize the potential model (&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;mandatory&#039;&#039;&#039;&amp;lt;/font&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Potential&lt;br /&gt;
final ForceModel potential = new DirectBodyAttraction(EarthGravitationalModelFactory.getBalmino(GravityFieldNames.GRGS, &amp;quot;grim4s4_gr&amp;quot;, 0, 0, true));&lt;br /&gt;
&lt;br /&gt;
final ForceModelsData forces = new ForceModelsData(potential, null, null, null, null, null, null, null, null, null, null, null, null,  null, null);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aerodynamic ===&lt;br /&gt;
&lt;br /&gt;
Then we could add an aerodynamic force model. Since V11.3, it is no more necessary to use &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double REQ  = Constants.WGS84_EARTH_EQUATORIAL_RADIUS;&lt;br /&gt;
final double FLAT = Constants.WGS84_EARTH_FLATTENING;&lt;br /&gt;
final Frame ITRF = FramesFactory.getITRF();&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, (CelestialBodyFrame)ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
final Atmosphere atmosphere = new US76(EARTH);&lt;br /&gt;
final DragForce dragForce = new DragForce(1., atmosphere, assembly);&lt;br /&gt;
       &lt;br /&gt;
forces.setDragForce(dragForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Solar radiative pressure ===&lt;br /&gt;
&lt;br /&gt;
Here are explained how to use both radiative pressure and rediffused radiative pressure force models. Again, since V11.3, no more tu use old &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CelestialBody sunBody = new MeeusSun();&lt;br /&gt;
final double dRef = 1.4959787E11;&lt;br /&gt;
final double pRef = 4.5605E-6;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, (CelestialBodyFrame)ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
SolarRadiationPressureEllipsoid radPres = new SolarRadiationPressureEllipsoid(dRef, pRef, sunBody, sunBody.getShape().getEncompassingSphereRadius(), EARTH, assembly, 1.);&lt;br /&gt;
&lt;br /&gt;
forces.setSolarRadiationPressure(radPres);&lt;br /&gt;
        &lt;br /&gt;
// By default values used when GUI mode ...&lt;br /&gt;
final int inCorona = 1;&lt;br /&gt;
final int inMeridian = 10;&lt;br /&gt;
final IEmissivityModel inEmissivityModel = new KnockeRiesModel();&lt;br /&gt;
// Value accessible via GUI mode&lt;br /&gt;
final boolean inAlbedo = false;&lt;br /&gt;
final boolean inIr = false;&lt;br /&gt;
final double coefAlbedo = 1.;&lt;br /&gt;
final double coefIr = 1.;&lt;br /&gt;
        &lt;br /&gt;
RediffusedRadiativeModel rdm = new RediffusedRadiativeModel(inAlbedo, inIr, coefAlbedo, coefIr, assembly);&lt;br /&gt;
RediffusedRadiationPressure reDiff =  new RediffusedRadiationPressure(sunBody, (CelestialBodyFrame)GCRF, inCorona, inMeridian, inEmissivityModel, rdm);&lt;br /&gt;
      &lt;br /&gt;
forces.setRediffusedRadiationPressure(reDiff);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Specific forces ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to add specific forces via the &amp;lt;font color=#4169E1&amp;gt;addForceModel()&amp;lt;/font&amp;gt; method as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(...);&lt;br /&gt;
test.addForceModel(myForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maneuvers ==&lt;br /&gt;
&lt;br /&gt;
If the user wants to add some maneuvers, it will have to do it using the [[https://logiciels.cnes.fr/en/node/78?type=desc GENOPUS]] &amp;lt;font color=#4169E1&amp;gt;Custom ManeuverSequence&amp;lt;/font&amp;gt; class. Indeed, this class is derivated from the PATRIUS &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; but allows taking into account Engines and Tanks notion. From [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] V3.4, it will be possible to directly use [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] class.&lt;br /&gt;
&lt;br /&gt;
=== Propulsive properties ===&lt;br /&gt;
&lt;br /&gt;
First, the user will have to define propulsive properties with engine(s) and tank(s). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Propulsive properties&lt;br /&gt;
final PropulsiveProperty engine = new PropulsiveProperty(400, 320.);&lt;br /&gt;
engine.setPartName(&amp;quot;ENGINE&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;PropulsiveProperty&amp;gt; listOfEngines = new ArrayList&amp;lt;PropulsiveProperty&amp;gt;();&lt;br /&gt;
listOfEngines.add(engine);&lt;br /&gt;
final TankProperty tank = new TankProperty(200.);&lt;br /&gt;
tank.setPartName(&amp;quot;TANK&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;TankProperty&amp;gt; listOfTanks = new ArrayList&amp;lt;TankProperty&amp;gt;();&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, null, null, listOfEngines, listOfTanks);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sequence ===&lt;br /&gt;
&lt;br /&gt;
Then, a maneuver sequence will be created thanks to the &amp;lt;font color=#4169E1&amp;gt;CustomManeuverSequence&amp;lt;/font&amp;gt; (the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; is not directly used as it does not still manage events.&lt;br /&gt;
&lt;br /&gt;
=== Impulsive maneuver ===&lt;br /&gt;
&lt;br /&gt;
Here we have an example of a 10m/s impulse maneuver in &amp;lt;font color=#FF8C00&amp;gt;TNW&amp;lt;/font&amp;gt; occuring for an &amp;lt;font color=#FF8C00 title=&amp;quot;Argument Of Latitude&amp;quot;&amp;gt;AOL&amp;lt;/font&amp;gt; of 180 degrees:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double aol = FastMath.toRadians(180.);&lt;br /&gt;
final CustomAOLDetector aolDetector = new CustomAOLDetector(aol, PositionAngle.TRUE, GCRF, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final IntervalOccurrenceDetectorWrapper impEvent = new IntervalOccurrenceDetectorWrapper(aolDetector, 1, 1, 1, Action.STOP);&lt;br /&gt;
final Vector3D deltaV = new Vector3D(10., 0., 0.);&lt;br /&gt;
final CustomImpulseManeuver imp = new CustomImpulseManeuver(&amp;quot;Impulse maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, impEvent, deltaV, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: it is mandatory to configure the event with a STOP action (needed by [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]]).&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At last, the user will create the maneuver sequence to pass to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CustomManeuverSequence manSeq = new CustomManeuverSequence(0., 0.);&lt;br /&gt;
manSeq.addManeuver(imp);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Constant thrust maneuver ===&lt;br /&gt;
&lt;br /&gt;
The next source code shows how to define a constant thrust maneuver …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double start = iniOrbit.getKeplerianPeriod();&lt;br /&gt;
final AbsoluteDate startDate = date.shiftedBy(start);&lt;br /&gt;
final CustomDateDetector startEvent = new CustomDateDetector(startDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final double dur = 1000.;&lt;br /&gt;
final AbsoluteDate endDate = startDate.shiftedBy(dur);&lt;br /&gt;
final CustomDateDetector stopEvent = new CustomDateDetector(endDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final Vector3D direction = new Vector3D(-1., 0., 0.);&lt;br /&gt;
CustomConstantManeuver cont =&lt;br /&gt;
    new CustomConstantManeuver(&amp;quot;Continuous maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, startEvent, stopEvent, direction, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attitude ==&lt;br /&gt;
&lt;br /&gt;
It is mandatory to get at least one attitude law. With the V11.0, it is not possible to have only one law and it is mandatory to use the “switch” possibility by using the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;AttitudesSequence&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
This example shows how to define a single law (available since V11.1):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw attitudeLaw = new LofOffset(LOFType.TNW);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This other example uses a switching possibility:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw law = new LofOffset(LOFType.TNW, RotationOrder.ZYX, 0., 0., 0.);&lt;br /&gt;
final double maxCheck = AbstractDetector.DEFAULT_MAXCHECK;&lt;br /&gt;
final double threshold = AbstractDetector.DEFAULT_THRESHOLD;&lt;br /&gt;
final EventDetector event =&lt;br /&gt;
   new DateDetector(date, maxCheck, threshold, Action.RESET_STATE);&lt;br /&gt;
final AttitudesSequence seqAtt = new AttitudesSequence();&lt;br /&gt;
seqAtt.addSwitchingCondition(law, event, true, false, law);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : be very careful not to use by default constructors for event detectors as they introduce a STOP event, so your propagation will stop anyway !&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Integration ==&lt;br /&gt;
&lt;br /&gt;
Then integration data have to be defined. Here an example with &amp;lt;font color=#FF8C00 title=&amp;quot;Runge Kutta 4th order&amp;quot;&amp;gt;RK4&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double duration = 86400.;&lt;br /&gt;
final double hStop = 120.e+3;&lt;br /&gt;
final PsimuPropagationData propagationData = new PsimuPropagationData(duration, GCRF, hStop);&lt;br /&gt;
final double step = 5.;&lt;br /&gt;
final RK4data integrationData = new RK4data(propagationData, step);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… or with the &amp;lt;font color=#FF8C00&amp;gt;DOP&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double minStep = 0.1;&lt;br /&gt;
final double maxStep = 30.;&lt;br /&gt;
final double[] vecAbsoluteTolerance =&lt;br /&gt;
   { 1.0E-5, 1.0E-5, 1.0E-5, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double[] vecRelativeTolerance =&lt;br /&gt;
   { 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double absMassTolerance = 1.0E-3;&lt;br /&gt;
final double relMassTolerance = 1.0E-2;&lt;br /&gt;
final double positionError = 0.;&lt;br /&gt;
final DopData intData = new DopData(propagationData, minStep, maxStep, vecAbsoluteTolerance, vecRelativeTolerance, absMassTolerance, relMassTolerance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PSIMU object ==&lt;br /&gt;
&lt;br /&gt;
As we have all mandatory data to initialize &amp;lt;font color=#556B2F&amp;gt;PSIMU&amp;lt;/font&amp;gt;, we can build such an object (note that in this example there is a “null” argument for the sequence of maneuvers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(iniOrbit, EARTH, UserFramesConfsEnum.IGNORE, integrationData, vehicle, mm, forces, manSeq, attitudeLaw);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1182</id>
		<title>Data initialization</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1182"/>
		<updated>2025-10-10T11:58:02Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Solar radiative pressure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main modifications between V11.3 and previous versions are due to the use of original [http://patrius.cnes.fr PATRIUS] classes rather than to use &amp;quot;Custom&amp;quot; classes originally proposed by [http://genopus.cnes.fr GENOPUS]. Anyway, some &amp;quot;Custom&amp;quot; classes still remain as [http://patrius.cnes.fr PATRIUS] classes are not sufficiently consistent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Orbit ==&lt;br /&gt;
&lt;br /&gt;
To initialize an orbit, we simply have to build it using [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] object. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final TimeScale TUC = TimeScalesFactory.getUTC();&lt;br /&gt;
final AbsoluteDate date = new AbsoluteDate(&amp;quot;2010-01-01T12:00:00.000&amp;quot;, TUC);       &lt;br /&gt;
final double sma = Constants.WGS84_EARTH_EQUATORIAL_RADIUS + 250.e3;&lt;br /&gt;
final double ecc = 0.;&lt;br /&gt;
final double inc = FastMath.toRadians(51.6);&lt;br /&gt;
final double raan = FastMath.toRadians(0.);&lt;br /&gt;
final double pa  = FastMath.toRadians(0.);&lt;br /&gt;
final double ano = FastMath.toRadians(0.);&lt;br /&gt;
final Frame GCRF = FramesFactory.getGCRF();&lt;br /&gt;
final KeplerianOrbit iniOrbit =&lt;br /&gt;
  new KeplerianOrbit(sma, ecc, inc, raan, pa, ano, PositionAngle.MEAN, GCRF, date, MU);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Earth features ==&lt;br /&gt;
&lt;br /&gt;
Data equivalent to the “[[Earth_Features|Earth features]]” tab are distributed via two arguments:&lt;br /&gt;
&lt;br /&gt;
:1. A &amp;lt;font color=#4169E1&amp;gt;ExtendedOneAxisEllipsoid&amp;lt;/font&amp;gt; object which will define the shape of the planet&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, FramesFactory.getITRF(), &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:2. A type of enumerates that will propose some pre-defined configurations as:&lt;br /&gt;
:* &#039;&#039;&#039;NOTHING&#039;&#039;&#039; (all options set to null)&lt;br /&gt;
:* &#039;&#039;&#039;ONLY_PREC_NUT&#039;&#039;&#039; (only precession and nutation)&lt;br /&gt;
:* &#039;&#039;&#039;FACTORY&#039;&#039;&#039; (equivalent to the most complete definition as in the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;GUI&amp;lt;/font&amp;gt;)&lt;br /&gt;
:* &#039;&#039;&#039;IGNORE&#039;&#039;&#039; (nothing is define internally by &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; which will take into account the user parametrization previously done)&lt;br /&gt;
&lt;br /&gt;
== Vehicle ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, it is no more necessary to pass an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; object but a &amp;lt;font color=#4169E1&amp;gt;Vehicle one&amp;lt;/font&amp;gt;. Anyway, it is allways mandatory to pass a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; object, issued from the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; one. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). &lt;br /&gt;
&lt;br /&gt;
In fact, we need to pass both an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; and a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt;. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). To get them, we will use the &amp;lt;font color=#4169E1&amp;gt;createAssembly()&amp;lt;/font&amp;gt; method given by &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : for CPU time purpose it is recommanded that the frame (GCRF in the previous example), mandatory in the construction of the vehicle, must be exactly the same that the one used for the propagation.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the example below, we will then use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class initializing mass and aerodynamic properties (here no engines and no tanks):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Dry mass&lt;br /&gt;
final double dryMass = 1000.;&lt;br /&gt;
final MassProperty dryMassProperty = new MassProperty(dryMass);&lt;br /&gt;
        &lt;br /&gt;
// Shape&lt;br /&gt;
final double sref = 5.0;&lt;br /&gt;
Sphere sphere = new Sphere(sref);&lt;br /&gt;
final RightParallelepiped solarPanels = new RightParallelepiped(10., 0., 0.);&lt;br /&gt;
VehicleSurfaceModel vehicleRefSurface = new VehicleSurfaceModel(sphere, solarPanels);&lt;br /&gt;
&lt;br /&gt;
// Aerodynamic properties&lt;br /&gt;
final double cd = 2.0;&lt;br /&gt;
final double cl = 0.;&lt;br /&gt;
final AerodynamicProperties aerodynamicProperties = new AerodynamicProperties(vehicleRefSurface, cd, cl);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, aerodynamicProperties, null, null, null);&lt;br /&gt;
&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : due to a PATRIUS anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the Vehicle constructor with all parameters and the VehiculeSurfaceModel including the panels as above (and not a list of Facet); also, do not use the setters methods.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, to define, which forces will be applied along the trajectory, we use the [http://patrius.cnes.fr PATRIUS] &amp;lt;font color=#4169E1&amp;gt;ForceModelsData&amp;lt;/font&amp;gt; class (no more necessary to use the specific &amp;lt;font color=#4169E1&amp;gt;CustomForceModels&amp;lt;/font&amp;gt; class which does not exist anymore).&lt;br /&gt;
&lt;br /&gt;
=== Potential ===&lt;br /&gt;
In the following example, we will initialize the potential model (&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;mandatory&#039;&#039;&#039;&amp;lt;/font&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Potential&lt;br /&gt;
final ForceModel potential = new DirectBodyAttraction(EarthGravitationalModelFactory.getBalmino(GravityFieldNames.GRGS, &amp;quot;grim4s4_gr&amp;quot;, 0, 0, true));&lt;br /&gt;
&lt;br /&gt;
final ForceModelsData forces = new ForceModelsData(potential, null, null, null, null, null, null, null, null, null, null, null, null,  null, null);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aerodynamic ===&lt;br /&gt;
&lt;br /&gt;
Then we could add an aerodynamic force model. Since V11.3, it is no more necessary to use &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double REQ  = Constants.WGS84_EARTH_EQUATORIAL_RADIUS;&lt;br /&gt;
final double FLAT = Constants.WGS84_EARTH_FLATTENING;&lt;br /&gt;
final Frame ITRF = FramesFactory.getITRF();&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, (CelestialBodyFrame)ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
final Atmosphere atmosphere = new US76(EARTH);&lt;br /&gt;
final DragForce dragForce = new DragForce(1., atmosphere, assembly);&lt;br /&gt;
       &lt;br /&gt;
forces.setDragForce(dragForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Solar radiative pressure ===&lt;br /&gt;
&lt;br /&gt;
Here are explained how to use both radiative pressure and rediffused radiative pressure force models. Again, since V11.3, no more tu use old &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CelestialBody sunBody = new MeeusSun();&lt;br /&gt;
final double dRef = 1.4959787E11;&lt;br /&gt;
final double pRef = 4.5605E-6;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, (CelestialBodyFrame)ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
SolarRadiationPressureEllipsoid radPres = new SolarRadiationPressureEllipsoid(dRef, pRef, sunBody, EARTH, assembly, 1.);&lt;br /&gt;
&lt;br /&gt;
forces.setSolarRadiationPressure(radPres);&lt;br /&gt;
        &lt;br /&gt;
// By default values used when GUI mode ...&lt;br /&gt;
final int inCorona = 1;&lt;br /&gt;
final int inMeridian = 10;&lt;br /&gt;
final IEmissivityModel inEmissivityModel = new KnockeRiesModel();&lt;br /&gt;
// Value accessible via GUI mode&lt;br /&gt;
final boolean inAlbedo = false;&lt;br /&gt;
final boolean inIr = false;&lt;br /&gt;
final double coefAlbedo = 1.;&lt;br /&gt;
final double coefIr = 1.;&lt;br /&gt;
        &lt;br /&gt;
RediffusedRadiativeModel rdm = new RediffusedRadiativeModel(inAlbedo, inIr, coefAlbedo, coefIr, assembly);&lt;br /&gt;
RediffusedRadiationPressure reDiff =  new RediffusedRadiationPressure(sunBody, GCRF, inCorona, inMeridian, inEmissivityModel, rdm);&lt;br /&gt;
      &lt;br /&gt;
forces.setRediffusedRadiationPressure(reDiff);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Specific forces ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to add specific forces via the &amp;lt;font color=#4169E1&amp;gt;addForceModel()&amp;lt;/font&amp;gt; method as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(...);&lt;br /&gt;
test.addForceModel(myForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maneuvers ==&lt;br /&gt;
&lt;br /&gt;
If the user wants to add some maneuvers, it will have to do it using the [[https://logiciels.cnes.fr/en/node/78?type=desc GENOPUS]] &amp;lt;font color=#4169E1&amp;gt;Custom ManeuverSequence&amp;lt;/font&amp;gt; class. Indeed, this class is derivated from the PATRIUS &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; but allows taking into account Engines and Tanks notion. From [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] V3.4, it will be possible to directly use [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] class.&lt;br /&gt;
&lt;br /&gt;
=== Propulsive properties ===&lt;br /&gt;
&lt;br /&gt;
First, the user will have to define propulsive properties with engine(s) and tank(s). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Propulsive properties&lt;br /&gt;
final PropulsiveProperty engine = new PropulsiveProperty(400, 320.);&lt;br /&gt;
engine.setPartName(&amp;quot;ENGINE&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;PropulsiveProperty&amp;gt; listOfEngines = new ArrayList&amp;lt;PropulsiveProperty&amp;gt;();&lt;br /&gt;
listOfEngines.add(engine);&lt;br /&gt;
final TankProperty tank = new TankProperty(200.);&lt;br /&gt;
tank.setPartName(&amp;quot;TANK&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;TankProperty&amp;gt; listOfTanks = new ArrayList&amp;lt;TankProperty&amp;gt;();&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, null, null, listOfEngines, listOfTanks);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sequence ===&lt;br /&gt;
&lt;br /&gt;
Then, a maneuver sequence will be created thanks to the &amp;lt;font color=#4169E1&amp;gt;CustomManeuverSequence&amp;lt;/font&amp;gt; (the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; is not directly used as it does not still manage events.&lt;br /&gt;
&lt;br /&gt;
=== Impulsive maneuver ===&lt;br /&gt;
&lt;br /&gt;
Here we have an example of a 10m/s impulse maneuver in &amp;lt;font color=#FF8C00&amp;gt;TNW&amp;lt;/font&amp;gt; occuring for an &amp;lt;font color=#FF8C00 title=&amp;quot;Argument Of Latitude&amp;quot;&amp;gt;AOL&amp;lt;/font&amp;gt; of 180 degrees:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double aol = FastMath.toRadians(180.);&lt;br /&gt;
final CustomAOLDetector aolDetector = new CustomAOLDetector(aol, PositionAngle.TRUE, GCRF, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final IntervalOccurrenceDetectorWrapper impEvent = new IntervalOccurrenceDetectorWrapper(aolDetector, 1, 1, 1, Action.STOP);&lt;br /&gt;
final Vector3D deltaV = new Vector3D(10., 0., 0.);&lt;br /&gt;
final CustomImpulseManeuver imp = new CustomImpulseManeuver(&amp;quot;Impulse maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, impEvent, deltaV, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: it is mandatory to configure the event with a STOP action (needed by [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]]).&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At last, the user will create the maneuver sequence to pass to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CustomManeuverSequence manSeq = new CustomManeuverSequence(0., 0.);&lt;br /&gt;
manSeq.addManeuver(imp);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Constant thrust maneuver ===&lt;br /&gt;
&lt;br /&gt;
The next source code shows how to define a constant thrust maneuver …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double start = iniOrbit.getKeplerianPeriod();&lt;br /&gt;
final AbsoluteDate startDate = date.shiftedBy(start);&lt;br /&gt;
final CustomDateDetector startEvent = new CustomDateDetector(startDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final double dur = 1000.;&lt;br /&gt;
final AbsoluteDate endDate = startDate.shiftedBy(dur);&lt;br /&gt;
final CustomDateDetector stopEvent = new CustomDateDetector(endDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final Vector3D direction = new Vector3D(-1., 0., 0.);&lt;br /&gt;
CustomConstantManeuver cont =&lt;br /&gt;
    new CustomConstantManeuver(&amp;quot;Continuous maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, startEvent, stopEvent, direction, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attitude ==&lt;br /&gt;
&lt;br /&gt;
It is mandatory to get at least one attitude law. With the V11.0, it is not possible to have only one law and it is mandatory to use the “switch” possibility by using the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;AttitudesSequence&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
This example shows how to define a single law (available since V11.1):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw attitudeLaw = new LofOffset(LOFType.TNW);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This other example uses a switching possibility:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw law = new LofOffset(LOFType.TNW, RotationOrder.ZYX, 0., 0., 0.);&lt;br /&gt;
final double maxCheck = AbstractDetector.DEFAULT_MAXCHECK;&lt;br /&gt;
final double threshold = AbstractDetector.DEFAULT_THRESHOLD;&lt;br /&gt;
final EventDetector event =&lt;br /&gt;
   new DateDetector(date, maxCheck, threshold, Action.RESET_STATE);&lt;br /&gt;
final AttitudesSequence seqAtt = new AttitudesSequence();&lt;br /&gt;
seqAtt.addSwitchingCondition(law, event, true, false, law);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : be very careful not to use by default constructors for event detectors as they introduce a STOP event, so your propagation will stop anyway !&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Integration ==&lt;br /&gt;
&lt;br /&gt;
Then integration data have to be defined. Here an example with &amp;lt;font color=#FF8C00 title=&amp;quot;Runge Kutta 4th order&amp;quot;&amp;gt;RK4&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double duration = 86400.;&lt;br /&gt;
final double hStop = 120.e+3;&lt;br /&gt;
final PsimuPropagationData propagationData = new PsimuPropagationData(duration, GCRF, hStop);&lt;br /&gt;
final double step = 5.;&lt;br /&gt;
final RK4data integrationData = new RK4data(propagationData, step);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… or with the &amp;lt;font color=#FF8C00&amp;gt;DOP&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double minStep = 0.1;&lt;br /&gt;
final double maxStep = 30.;&lt;br /&gt;
final double[] vecAbsoluteTolerance =&lt;br /&gt;
   { 1.0E-5, 1.0E-5, 1.0E-5, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double[] vecRelativeTolerance =&lt;br /&gt;
   { 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double absMassTolerance = 1.0E-3;&lt;br /&gt;
final double relMassTolerance = 1.0E-2;&lt;br /&gt;
final double positionError = 0.;&lt;br /&gt;
final DopData intData = new DopData(propagationData, minStep, maxStep, vecAbsoluteTolerance, vecRelativeTolerance, absMassTolerance, relMassTolerance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PSIMU object ==&lt;br /&gt;
&lt;br /&gt;
As we have all mandatory data to initialize &amp;lt;font color=#556B2F&amp;gt;PSIMU&amp;lt;/font&amp;gt;, we can build such an object (note that in this example there is a “null” argument for the sequence of maneuvers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(iniOrbit, EARTH, UserFramesConfsEnum.IGNORE, integrationData, vehicle, mm, forces, manSeq, attitudeLaw);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1181</id>
		<title>Data initialization</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1181"/>
		<updated>2025-10-10T11:57:39Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Aerodynamic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main modifications between V11.3 and previous versions are due to the use of original [http://patrius.cnes.fr PATRIUS] classes rather than to use &amp;quot;Custom&amp;quot; classes originally proposed by [http://genopus.cnes.fr GENOPUS]. Anyway, some &amp;quot;Custom&amp;quot; classes still remain as [http://patrius.cnes.fr PATRIUS] classes are not sufficiently consistent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Orbit ==&lt;br /&gt;
&lt;br /&gt;
To initialize an orbit, we simply have to build it using [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] object. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final TimeScale TUC = TimeScalesFactory.getUTC();&lt;br /&gt;
final AbsoluteDate date = new AbsoluteDate(&amp;quot;2010-01-01T12:00:00.000&amp;quot;, TUC);       &lt;br /&gt;
final double sma = Constants.WGS84_EARTH_EQUATORIAL_RADIUS + 250.e3;&lt;br /&gt;
final double ecc = 0.;&lt;br /&gt;
final double inc = FastMath.toRadians(51.6);&lt;br /&gt;
final double raan = FastMath.toRadians(0.);&lt;br /&gt;
final double pa  = FastMath.toRadians(0.);&lt;br /&gt;
final double ano = FastMath.toRadians(0.);&lt;br /&gt;
final Frame GCRF = FramesFactory.getGCRF();&lt;br /&gt;
final KeplerianOrbit iniOrbit =&lt;br /&gt;
  new KeplerianOrbit(sma, ecc, inc, raan, pa, ano, PositionAngle.MEAN, GCRF, date, MU);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Earth features ==&lt;br /&gt;
&lt;br /&gt;
Data equivalent to the “[[Earth_Features|Earth features]]” tab are distributed via two arguments:&lt;br /&gt;
&lt;br /&gt;
:1. A &amp;lt;font color=#4169E1&amp;gt;ExtendedOneAxisEllipsoid&amp;lt;/font&amp;gt; object which will define the shape of the planet&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, FramesFactory.getITRF(), &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:2. A type of enumerates that will propose some pre-defined configurations as:&lt;br /&gt;
:* &#039;&#039;&#039;NOTHING&#039;&#039;&#039; (all options set to null)&lt;br /&gt;
:* &#039;&#039;&#039;ONLY_PREC_NUT&#039;&#039;&#039; (only precession and nutation)&lt;br /&gt;
:* &#039;&#039;&#039;FACTORY&#039;&#039;&#039; (equivalent to the most complete definition as in the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;GUI&amp;lt;/font&amp;gt;)&lt;br /&gt;
:* &#039;&#039;&#039;IGNORE&#039;&#039;&#039; (nothing is define internally by &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; which will take into account the user parametrization previously done)&lt;br /&gt;
&lt;br /&gt;
== Vehicle ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, it is no more necessary to pass an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; object but a &amp;lt;font color=#4169E1&amp;gt;Vehicle one&amp;lt;/font&amp;gt;. Anyway, it is allways mandatory to pass a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; object, issued from the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; one. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). &lt;br /&gt;
&lt;br /&gt;
In fact, we need to pass both an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; and a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt;. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). To get them, we will use the &amp;lt;font color=#4169E1&amp;gt;createAssembly()&amp;lt;/font&amp;gt; method given by &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : for CPU time purpose it is recommanded that the frame (GCRF in the previous example), mandatory in the construction of the vehicle, must be exactly the same that the one used for the propagation.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the example below, we will then use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class initializing mass and aerodynamic properties (here no engines and no tanks):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Dry mass&lt;br /&gt;
final double dryMass = 1000.;&lt;br /&gt;
final MassProperty dryMassProperty = new MassProperty(dryMass);&lt;br /&gt;
        &lt;br /&gt;
// Shape&lt;br /&gt;
final double sref = 5.0;&lt;br /&gt;
Sphere sphere = new Sphere(sref);&lt;br /&gt;
final RightParallelepiped solarPanels = new RightParallelepiped(10., 0., 0.);&lt;br /&gt;
VehicleSurfaceModel vehicleRefSurface = new VehicleSurfaceModel(sphere, solarPanels);&lt;br /&gt;
&lt;br /&gt;
// Aerodynamic properties&lt;br /&gt;
final double cd = 2.0;&lt;br /&gt;
final double cl = 0.;&lt;br /&gt;
final AerodynamicProperties aerodynamicProperties = new AerodynamicProperties(vehicleRefSurface, cd, cl);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, aerodynamicProperties, null, null, null);&lt;br /&gt;
&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : due to a PATRIUS anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the Vehicle constructor with all parameters and the VehiculeSurfaceModel including the panels as above (and not a list of Facet); also, do not use the setters methods.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, to define, which forces will be applied along the trajectory, we use the [http://patrius.cnes.fr PATRIUS] &amp;lt;font color=#4169E1&amp;gt;ForceModelsData&amp;lt;/font&amp;gt; class (no more necessary to use the specific &amp;lt;font color=#4169E1&amp;gt;CustomForceModels&amp;lt;/font&amp;gt; class which does not exist anymore).&lt;br /&gt;
&lt;br /&gt;
=== Potential ===&lt;br /&gt;
In the following example, we will initialize the potential model (&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;mandatory&#039;&#039;&#039;&amp;lt;/font&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Potential&lt;br /&gt;
final ForceModel potential = new DirectBodyAttraction(EarthGravitationalModelFactory.getBalmino(GravityFieldNames.GRGS, &amp;quot;grim4s4_gr&amp;quot;, 0, 0, true));&lt;br /&gt;
&lt;br /&gt;
final ForceModelsData forces = new ForceModelsData(potential, null, null, null, null, null, null, null, null, null, null, null, null,  null, null);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aerodynamic ===&lt;br /&gt;
&lt;br /&gt;
Then we could add an aerodynamic force model. Since V11.3, it is no more necessary to use &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double REQ  = Constants.WGS84_EARTH_EQUATORIAL_RADIUS;&lt;br /&gt;
final double FLAT = Constants.WGS84_EARTH_FLATTENING;&lt;br /&gt;
final Frame ITRF = FramesFactory.getITRF();&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, (CelestialBodyFrame)ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
final Atmosphere atmosphere = new US76(EARTH);&lt;br /&gt;
final DragForce dragForce = new DragForce(1., atmosphere, assembly);&lt;br /&gt;
       &lt;br /&gt;
forces.setDragForce(dragForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Solar radiative pressure ===&lt;br /&gt;
&lt;br /&gt;
Here are explained how to use both radiative pressure and rediffused radiative pressure force models. Again, since V11.3, no more tu use old &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CelestialBody sunBody = new MeeusSun();&lt;br /&gt;
final double dRef = 1.4959787E11;&lt;br /&gt;
final double pRef = 4.5605E-6;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
SolarRadiationPressureEllipsoid radPres = new SolarRadiationPressureEllipsoid(dRef, pRef, sunBody, EARTH, assembly, 1.);&lt;br /&gt;
&lt;br /&gt;
forces.setSolarRadiationPressure(radPres);&lt;br /&gt;
        &lt;br /&gt;
// By default values used when GUI mode ...&lt;br /&gt;
final int inCorona = 1;&lt;br /&gt;
final int inMeridian = 10;&lt;br /&gt;
final IEmissivityModel inEmissivityModel = new KnockeRiesModel();&lt;br /&gt;
// Value accessible via GUI mode&lt;br /&gt;
final boolean inAlbedo = false;&lt;br /&gt;
final boolean inIr = false;&lt;br /&gt;
final double coefAlbedo = 1.;&lt;br /&gt;
final double coefIr = 1.;&lt;br /&gt;
        &lt;br /&gt;
RediffusedRadiativeModel rdm = new RediffusedRadiativeModel(inAlbedo, inIr, coefAlbedo, coefIr, assembly);&lt;br /&gt;
RediffusedRadiationPressure reDiff =  new RediffusedRadiationPressure(sunBody, GCRF, inCorona, inMeridian, inEmissivityModel, rdm);&lt;br /&gt;
      &lt;br /&gt;
forces.setRediffusedRadiationPressure(reDiff);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Specific forces ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to add specific forces via the &amp;lt;font color=#4169E1&amp;gt;addForceModel()&amp;lt;/font&amp;gt; method as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(...);&lt;br /&gt;
test.addForceModel(myForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maneuvers ==&lt;br /&gt;
&lt;br /&gt;
If the user wants to add some maneuvers, it will have to do it using the [[https://logiciels.cnes.fr/en/node/78?type=desc GENOPUS]] &amp;lt;font color=#4169E1&amp;gt;Custom ManeuverSequence&amp;lt;/font&amp;gt; class. Indeed, this class is derivated from the PATRIUS &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; but allows taking into account Engines and Tanks notion. From [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] V3.4, it will be possible to directly use [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] class.&lt;br /&gt;
&lt;br /&gt;
=== Propulsive properties ===&lt;br /&gt;
&lt;br /&gt;
First, the user will have to define propulsive properties with engine(s) and tank(s). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Propulsive properties&lt;br /&gt;
final PropulsiveProperty engine = new PropulsiveProperty(400, 320.);&lt;br /&gt;
engine.setPartName(&amp;quot;ENGINE&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;PropulsiveProperty&amp;gt; listOfEngines = new ArrayList&amp;lt;PropulsiveProperty&amp;gt;();&lt;br /&gt;
listOfEngines.add(engine);&lt;br /&gt;
final TankProperty tank = new TankProperty(200.);&lt;br /&gt;
tank.setPartName(&amp;quot;TANK&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;TankProperty&amp;gt; listOfTanks = new ArrayList&amp;lt;TankProperty&amp;gt;();&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, null, null, listOfEngines, listOfTanks);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sequence ===&lt;br /&gt;
&lt;br /&gt;
Then, a maneuver sequence will be created thanks to the &amp;lt;font color=#4169E1&amp;gt;CustomManeuverSequence&amp;lt;/font&amp;gt; (the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; is not directly used as it does not still manage events.&lt;br /&gt;
&lt;br /&gt;
=== Impulsive maneuver ===&lt;br /&gt;
&lt;br /&gt;
Here we have an example of a 10m/s impulse maneuver in &amp;lt;font color=#FF8C00&amp;gt;TNW&amp;lt;/font&amp;gt; occuring for an &amp;lt;font color=#FF8C00 title=&amp;quot;Argument Of Latitude&amp;quot;&amp;gt;AOL&amp;lt;/font&amp;gt; of 180 degrees:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double aol = FastMath.toRadians(180.);&lt;br /&gt;
final CustomAOLDetector aolDetector = new CustomAOLDetector(aol, PositionAngle.TRUE, GCRF, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final IntervalOccurrenceDetectorWrapper impEvent = new IntervalOccurrenceDetectorWrapper(aolDetector, 1, 1, 1, Action.STOP);&lt;br /&gt;
final Vector3D deltaV = new Vector3D(10., 0., 0.);&lt;br /&gt;
final CustomImpulseManeuver imp = new CustomImpulseManeuver(&amp;quot;Impulse maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, impEvent, deltaV, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: it is mandatory to configure the event with a STOP action (needed by [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]]).&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At last, the user will create the maneuver sequence to pass to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CustomManeuverSequence manSeq = new CustomManeuverSequence(0., 0.);&lt;br /&gt;
manSeq.addManeuver(imp);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Constant thrust maneuver ===&lt;br /&gt;
&lt;br /&gt;
The next source code shows how to define a constant thrust maneuver …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double start = iniOrbit.getKeplerianPeriod();&lt;br /&gt;
final AbsoluteDate startDate = date.shiftedBy(start);&lt;br /&gt;
final CustomDateDetector startEvent = new CustomDateDetector(startDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final double dur = 1000.;&lt;br /&gt;
final AbsoluteDate endDate = startDate.shiftedBy(dur);&lt;br /&gt;
final CustomDateDetector stopEvent = new CustomDateDetector(endDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final Vector3D direction = new Vector3D(-1., 0., 0.);&lt;br /&gt;
CustomConstantManeuver cont =&lt;br /&gt;
    new CustomConstantManeuver(&amp;quot;Continuous maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, startEvent, stopEvent, direction, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attitude ==&lt;br /&gt;
&lt;br /&gt;
It is mandatory to get at least one attitude law. With the V11.0, it is not possible to have only one law and it is mandatory to use the “switch” possibility by using the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;AttitudesSequence&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
This example shows how to define a single law (available since V11.1):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw attitudeLaw = new LofOffset(LOFType.TNW);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This other example uses a switching possibility:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw law = new LofOffset(LOFType.TNW, RotationOrder.ZYX, 0., 0., 0.);&lt;br /&gt;
final double maxCheck = AbstractDetector.DEFAULT_MAXCHECK;&lt;br /&gt;
final double threshold = AbstractDetector.DEFAULT_THRESHOLD;&lt;br /&gt;
final EventDetector event =&lt;br /&gt;
   new DateDetector(date, maxCheck, threshold, Action.RESET_STATE);&lt;br /&gt;
final AttitudesSequence seqAtt = new AttitudesSequence();&lt;br /&gt;
seqAtt.addSwitchingCondition(law, event, true, false, law);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : be very careful not to use by default constructors for event detectors as they introduce a STOP event, so your propagation will stop anyway !&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Integration ==&lt;br /&gt;
&lt;br /&gt;
Then integration data have to be defined. Here an example with &amp;lt;font color=#FF8C00 title=&amp;quot;Runge Kutta 4th order&amp;quot;&amp;gt;RK4&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double duration = 86400.;&lt;br /&gt;
final double hStop = 120.e+3;&lt;br /&gt;
final PsimuPropagationData propagationData = new PsimuPropagationData(duration, GCRF, hStop);&lt;br /&gt;
final double step = 5.;&lt;br /&gt;
final RK4data integrationData = new RK4data(propagationData, step);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… or with the &amp;lt;font color=#FF8C00&amp;gt;DOP&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double minStep = 0.1;&lt;br /&gt;
final double maxStep = 30.;&lt;br /&gt;
final double[] vecAbsoluteTolerance =&lt;br /&gt;
   { 1.0E-5, 1.0E-5, 1.0E-5, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double[] vecRelativeTolerance =&lt;br /&gt;
   { 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double absMassTolerance = 1.0E-3;&lt;br /&gt;
final double relMassTolerance = 1.0E-2;&lt;br /&gt;
final double positionError = 0.;&lt;br /&gt;
final DopData intData = new DopData(propagationData, minStep, maxStep, vecAbsoluteTolerance, vecRelativeTolerance, absMassTolerance, relMassTolerance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PSIMU object ==&lt;br /&gt;
&lt;br /&gt;
As we have all mandatory data to initialize &amp;lt;font color=#556B2F&amp;gt;PSIMU&amp;lt;/font&amp;gt;, we can build such an object (note that in this example there is a “null” argument for the sequence of maneuvers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(iniOrbit, EARTH, UserFramesConfsEnum.IGNORE, integrationData, vehicle, mm, forces, manSeq, attitudeLaw);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1180</id>
		<title>Data initialization</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1180"/>
		<updated>2025-10-10T11:57:11Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Aerodynamic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main modifications between V11.3 and previous versions are due to the use of original [http://patrius.cnes.fr PATRIUS] classes rather than to use &amp;quot;Custom&amp;quot; classes originally proposed by [http://genopus.cnes.fr GENOPUS]. Anyway, some &amp;quot;Custom&amp;quot; classes still remain as [http://patrius.cnes.fr PATRIUS] classes are not sufficiently consistent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Orbit ==&lt;br /&gt;
&lt;br /&gt;
To initialize an orbit, we simply have to build it using [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] object. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final TimeScale TUC = TimeScalesFactory.getUTC();&lt;br /&gt;
final AbsoluteDate date = new AbsoluteDate(&amp;quot;2010-01-01T12:00:00.000&amp;quot;, TUC);       &lt;br /&gt;
final double sma = Constants.WGS84_EARTH_EQUATORIAL_RADIUS + 250.e3;&lt;br /&gt;
final double ecc = 0.;&lt;br /&gt;
final double inc = FastMath.toRadians(51.6);&lt;br /&gt;
final double raan = FastMath.toRadians(0.);&lt;br /&gt;
final double pa  = FastMath.toRadians(0.);&lt;br /&gt;
final double ano = FastMath.toRadians(0.);&lt;br /&gt;
final Frame GCRF = FramesFactory.getGCRF();&lt;br /&gt;
final KeplerianOrbit iniOrbit =&lt;br /&gt;
  new KeplerianOrbit(sma, ecc, inc, raan, pa, ano, PositionAngle.MEAN, GCRF, date, MU);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Earth features ==&lt;br /&gt;
&lt;br /&gt;
Data equivalent to the “[[Earth_Features|Earth features]]” tab are distributed via two arguments:&lt;br /&gt;
&lt;br /&gt;
:1. A &amp;lt;font color=#4169E1&amp;gt;ExtendedOneAxisEllipsoid&amp;lt;/font&amp;gt; object which will define the shape of the planet&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, FramesFactory.getITRF(), &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:2. A type of enumerates that will propose some pre-defined configurations as:&lt;br /&gt;
:* &#039;&#039;&#039;NOTHING&#039;&#039;&#039; (all options set to null)&lt;br /&gt;
:* &#039;&#039;&#039;ONLY_PREC_NUT&#039;&#039;&#039; (only precession and nutation)&lt;br /&gt;
:* &#039;&#039;&#039;FACTORY&#039;&#039;&#039; (equivalent to the most complete definition as in the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;GUI&amp;lt;/font&amp;gt;)&lt;br /&gt;
:* &#039;&#039;&#039;IGNORE&#039;&#039;&#039; (nothing is define internally by &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; which will take into account the user parametrization previously done)&lt;br /&gt;
&lt;br /&gt;
== Vehicle ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, it is no more necessary to pass an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; object but a &amp;lt;font color=#4169E1&amp;gt;Vehicle one&amp;lt;/font&amp;gt;. Anyway, it is allways mandatory to pass a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; object, issued from the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; one. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). &lt;br /&gt;
&lt;br /&gt;
In fact, we need to pass both an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; and a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt;. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). To get them, we will use the &amp;lt;font color=#4169E1&amp;gt;createAssembly()&amp;lt;/font&amp;gt; method given by &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : for CPU time purpose it is recommanded that the frame (GCRF in the previous example), mandatory in the construction of the vehicle, must be exactly the same that the one used for the propagation.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the example below, we will then use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class initializing mass and aerodynamic properties (here no engines and no tanks):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Dry mass&lt;br /&gt;
final double dryMass = 1000.;&lt;br /&gt;
final MassProperty dryMassProperty = new MassProperty(dryMass);&lt;br /&gt;
        &lt;br /&gt;
// Shape&lt;br /&gt;
final double sref = 5.0;&lt;br /&gt;
Sphere sphere = new Sphere(sref);&lt;br /&gt;
final RightParallelepiped solarPanels = new RightParallelepiped(10., 0., 0.);&lt;br /&gt;
VehicleSurfaceModel vehicleRefSurface = new VehicleSurfaceModel(sphere, solarPanels);&lt;br /&gt;
&lt;br /&gt;
// Aerodynamic properties&lt;br /&gt;
final double cd = 2.0;&lt;br /&gt;
final double cl = 0.;&lt;br /&gt;
final AerodynamicProperties aerodynamicProperties = new AerodynamicProperties(vehicleRefSurface, cd, cl);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, aerodynamicProperties, null, null, null);&lt;br /&gt;
&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : due to a PATRIUS anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the Vehicle constructor with all parameters and the VehiculeSurfaceModel including the panels as above (and not a list of Facet); also, do not use the setters methods.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, to define, which forces will be applied along the trajectory, we use the [http://patrius.cnes.fr PATRIUS] &amp;lt;font color=#4169E1&amp;gt;ForceModelsData&amp;lt;/font&amp;gt; class (no more necessary to use the specific &amp;lt;font color=#4169E1&amp;gt;CustomForceModels&amp;lt;/font&amp;gt; class which does not exist anymore).&lt;br /&gt;
&lt;br /&gt;
=== Potential ===&lt;br /&gt;
In the following example, we will initialize the potential model (&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;mandatory&#039;&#039;&#039;&amp;lt;/font&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Potential&lt;br /&gt;
final ForceModel potential = new DirectBodyAttraction(EarthGravitationalModelFactory.getBalmino(GravityFieldNames.GRGS, &amp;quot;grim4s4_gr&amp;quot;, 0, 0, true));&lt;br /&gt;
&lt;br /&gt;
final ForceModelsData forces = new ForceModelsData(potential, null, null, null, null, null, null, null, null, null, null, null, null,  null, null);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aerodynamic ===&lt;br /&gt;
&lt;br /&gt;
Then we could add an aerodynamic force model. Since V11.3, it is no more necessary to use &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double REQ  = Constants.WGS84_EARTH_EQUATORIAL_RADIUS;&lt;br /&gt;
final double FLAT = Constants.WGS84_EARTH_FLATTENING;&lt;br /&gt;
final Frame ITRF = FramesFactory.getITRF();&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, FramesFactory.getITRF(), &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
final Atmosphere atmosphere = new US76(EARTH);&lt;br /&gt;
final DragForce dragForce = new DragForce(1., atmosphere, assembly);&lt;br /&gt;
       &lt;br /&gt;
forces.setDragForce(dragForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Solar radiative pressure ===&lt;br /&gt;
&lt;br /&gt;
Here are explained how to use both radiative pressure and rediffused radiative pressure force models. Again, since V11.3, no more tu use old &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CelestialBody sunBody = new MeeusSun();&lt;br /&gt;
final double dRef = 1.4959787E11;&lt;br /&gt;
final double pRef = 4.5605E-6;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
SolarRadiationPressureEllipsoid radPres = new SolarRadiationPressureEllipsoid(dRef, pRef, sunBody, EARTH, assembly, 1.);&lt;br /&gt;
&lt;br /&gt;
forces.setSolarRadiationPressure(radPres);&lt;br /&gt;
        &lt;br /&gt;
// By default values used when GUI mode ...&lt;br /&gt;
final int inCorona = 1;&lt;br /&gt;
final int inMeridian = 10;&lt;br /&gt;
final IEmissivityModel inEmissivityModel = new KnockeRiesModel();&lt;br /&gt;
// Value accessible via GUI mode&lt;br /&gt;
final boolean inAlbedo = false;&lt;br /&gt;
final boolean inIr = false;&lt;br /&gt;
final double coefAlbedo = 1.;&lt;br /&gt;
final double coefIr = 1.;&lt;br /&gt;
        &lt;br /&gt;
RediffusedRadiativeModel rdm = new RediffusedRadiativeModel(inAlbedo, inIr, coefAlbedo, coefIr, assembly);&lt;br /&gt;
RediffusedRadiationPressure reDiff =  new RediffusedRadiationPressure(sunBody, GCRF, inCorona, inMeridian, inEmissivityModel, rdm);&lt;br /&gt;
      &lt;br /&gt;
forces.setRediffusedRadiationPressure(reDiff);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Specific forces ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to add specific forces via the &amp;lt;font color=#4169E1&amp;gt;addForceModel()&amp;lt;/font&amp;gt; method as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(...);&lt;br /&gt;
test.addForceModel(myForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maneuvers ==&lt;br /&gt;
&lt;br /&gt;
If the user wants to add some maneuvers, it will have to do it using the [[https://logiciels.cnes.fr/en/node/78?type=desc GENOPUS]] &amp;lt;font color=#4169E1&amp;gt;Custom ManeuverSequence&amp;lt;/font&amp;gt; class. Indeed, this class is derivated from the PATRIUS &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; but allows taking into account Engines and Tanks notion. From [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] V3.4, it will be possible to directly use [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] class.&lt;br /&gt;
&lt;br /&gt;
=== Propulsive properties ===&lt;br /&gt;
&lt;br /&gt;
First, the user will have to define propulsive properties with engine(s) and tank(s). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Propulsive properties&lt;br /&gt;
final PropulsiveProperty engine = new PropulsiveProperty(400, 320.);&lt;br /&gt;
engine.setPartName(&amp;quot;ENGINE&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;PropulsiveProperty&amp;gt; listOfEngines = new ArrayList&amp;lt;PropulsiveProperty&amp;gt;();&lt;br /&gt;
listOfEngines.add(engine);&lt;br /&gt;
final TankProperty tank = new TankProperty(200.);&lt;br /&gt;
tank.setPartName(&amp;quot;TANK&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;TankProperty&amp;gt; listOfTanks = new ArrayList&amp;lt;TankProperty&amp;gt;();&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, null, null, listOfEngines, listOfTanks);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sequence ===&lt;br /&gt;
&lt;br /&gt;
Then, a maneuver sequence will be created thanks to the &amp;lt;font color=#4169E1&amp;gt;CustomManeuverSequence&amp;lt;/font&amp;gt; (the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; is not directly used as it does not still manage events.&lt;br /&gt;
&lt;br /&gt;
=== Impulsive maneuver ===&lt;br /&gt;
&lt;br /&gt;
Here we have an example of a 10m/s impulse maneuver in &amp;lt;font color=#FF8C00&amp;gt;TNW&amp;lt;/font&amp;gt; occuring for an &amp;lt;font color=#FF8C00 title=&amp;quot;Argument Of Latitude&amp;quot;&amp;gt;AOL&amp;lt;/font&amp;gt; of 180 degrees:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double aol = FastMath.toRadians(180.);&lt;br /&gt;
final CustomAOLDetector aolDetector = new CustomAOLDetector(aol, PositionAngle.TRUE, GCRF, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final IntervalOccurrenceDetectorWrapper impEvent = new IntervalOccurrenceDetectorWrapper(aolDetector, 1, 1, 1, Action.STOP);&lt;br /&gt;
final Vector3D deltaV = new Vector3D(10., 0., 0.);&lt;br /&gt;
final CustomImpulseManeuver imp = new CustomImpulseManeuver(&amp;quot;Impulse maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, impEvent, deltaV, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: it is mandatory to configure the event with a STOP action (needed by [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]]).&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At last, the user will create the maneuver sequence to pass to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CustomManeuverSequence manSeq = new CustomManeuverSequence(0., 0.);&lt;br /&gt;
manSeq.addManeuver(imp);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Constant thrust maneuver ===&lt;br /&gt;
&lt;br /&gt;
The next source code shows how to define a constant thrust maneuver …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double start = iniOrbit.getKeplerianPeriod();&lt;br /&gt;
final AbsoluteDate startDate = date.shiftedBy(start);&lt;br /&gt;
final CustomDateDetector startEvent = new CustomDateDetector(startDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final double dur = 1000.;&lt;br /&gt;
final AbsoluteDate endDate = startDate.shiftedBy(dur);&lt;br /&gt;
final CustomDateDetector stopEvent = new CustomDateDetector(endDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final Vector3D direction = new Vector3D(-1., 0., 0.);&lt;br /&gt;
CustomConstantManeuver cont =&lt;br /&gt;
    new CustomConstantManeuver(&amp;quot;Continuous maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, startEvent, stopEvent, direction, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attitude ==&lt;br /&gt;
&lt;br /&gt;
It is mandatory to get at least one attitude law. With the V11.0, it is not possible to have only one law and it is mandatory to use the “switch” possibility by using the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;AttitudesSequence&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
This example shows how to define a single law (available since V11.1):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw attitudeLaw = new LofOffset(LOFType.TNW);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This other example uses a switching possibility:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw law = new LofOffset(LOFType.TNW, RotationOrder.ZYX, 0., 0., 0.);&lt;br /&gt;
final double maxCheck = AbstractDetector.DEFAULT_MAXCHECK;&lt;br /&gt;
final double threshold = AbstractDetector.DEFAULT_THRESHOLD;&lt;br /&gt;
final EventDetector event =&lt;br /&gt;
   new DateDetector(date, maxCheck, threshold, Action.RESET_STATE);&lt;br /&gt;
final AttitudesSequence seqAtt = new AttitudesSequence();&lt;br /&gt;
seqAtt.addSwitchingCondition(law, event, true, false, law);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : be very careful not to use by default constructors for event detectors as they introduce a STOP event, so your propagation will stop anyway !&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Integration ==&lt;br /&gt;
&lt;br /&gt;
Then integration data have to be defined. Here an example with &amp;lt;font color=#FF8C00 title=&amp;quot;Runge Kutta 4th order&amp;quot;&amp;gt;RK4&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double duration = 86400.;&lt;br /&gt;
final double hStop = 120.e+3;&lt;br /&gt;
final PsimuPropagationData propagationData = new PsimuPropagationData(duration, GCRF, hStop);&lt;br /&gt;
final double step = 5.;&lt;br /&gt;
final RK4data integrationData = new RK4data(propagationData, step);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… or with the &amp;lt;font color=#FF8C00&amp;gt;DOP&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double minStep = 0.1;&lt;br /&gt;
final double maxStep = 30.;&lt;br /&gt;
final double[] vecAbsoluteTolerance =&lt;br /&gt;
   { 1.0E-5, 1.0E-5, 1.0E-5, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double[] vecRelativeTolerance =&lt;br /&gt;
   { 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double absMassTolerance = 1.0E-3;&lt;br /&gt;
final double relMassTolerance = 1.0E-2;&lt;br /&gt;
final double positionError = 0.;&lt;br /&gt;
final DopData intData = new DopData(propagationData, minStep, maxStep, vecAbsoluteTolerance, vecRelativeTolerance, absMassTolerance, relMassTolerance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PSIMU object ==&lt;br /&gt;
&lt;br /&gt;
As we have all mandatory data to initialize &amp;lt;font color=#556B2F&amp;gt;PSIMU&amp;lt;/font&amp;gt;, we can build such an object (note that in this example there is a “null” argument for the sequence of maneuvers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(iniOrbit, EARTH, UserFramesConfsEnum.IGNORE, integrationData, vehicle, mm, forces, manSeq, attitudeLaw);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1179</id>
		<title>Data initialization</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1179"/>
		<updated>2025-10-10T11:56:55Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Earth features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main modifications between V11.3 and previous versions are due to the use of original [http://patrius.cnes.fr PATRIUS] classes rather than to use &amp;quot;Custom&amp;quot; classes originally proposed by [http://genopus.cnes.fr GENOPUS]. Anyway, some &amp;quot;Custom&amp;quot; classes still remain as [http://patrius.cnes.fr PATRIUS] classes are not sufficiently consistent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Orbit ==&lt;br /&gt;
&lt;br /&gt;
To initialize an orbit, we simply have to build it using [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] object. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final TimeScale TUC = TimeScalesFactory.getUTC();&lt;br /&gt;
final AbsoluteDate date = new AbsoluteDate(&amp;quot;2010-01-01T12:00:00.000&amp;quot;, TUC);       &lt;br /&gt;
final double sma = Constants.WGS84_EARTH_EQUATORIAL_RADIUS + 250.e3;&lt;br /&gt;
final double ecc = 0.;&lt;br /&gt;
final double inc = FastMath.toRadians(51.6);&lt;br /&gt;
final double raan = FastMath.toRadians(0.);&lt;br /&gt;
final double pa  = FastMath.toRadians(0.);&lt;br /&gt;
final double ano = FastMath.toRadians(0.);&lt;br /&gt;
final Frame GCRF = FramesFactory.getGCRF();&lt;br /&gt;
final KeplerianOrbit iniOrbit =&lt;br /&gt;
  new KeplerianOrbit(sma, ecc, inc, raan, pa, ano, PositionAngle.MEAN, GCRF, date, MU);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Earth features ==&lt;br /&gt;
&lt;br /&gt;
Data equivalent to the “[[Earth_Features|Earth features]]” tab are distributed via two arguments:&lt;br /&gt;
&lt;br /&gt;
:1. A &amp;lt;font color=#4169E1&amp;gt;ExtendedOneAxisEllipsoid&amp;lt;/font&amp;gt; object which will define the shape of the planet&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, FramesFactory.getITRF(), &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:2. A type of enumerates that will propose some pre-defined configurations as:&lt;br /&gt;
:* &#039;&#039;&#039;NOTHING&#039;&#039;&#039; (all options set to null)&lt;br /&gt;
:* &#039;&#039;&#039;ONLY_PREC_NUT&#039;&#039;&#039; (only precession and nutation)&lt;br /&gt;
:* &#039;&#039;&#039;FACTORY&#039;&#039;&#039; (equivalent to the most complete definition as in the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;GUI&amp;lt;/font&amp;gt;)&lt;br /&gt;
:* &#039;&#039;&#039;IGNORE&#039;&#039;&#039; (nothing is define internally by &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; which will take into account the user parametrization previously done)&lt;br /&gt;
&lt;br /&gt;
== Vehicle ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, it is no more necessary to pass an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; object but a &amp;lt;font color=#4169E1&amp;gt;Vehicle one&amp;lt;/font&amp;gt;. Anyway, it is allways mandatory to pass a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; object, issued from the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; one. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). &lt;br /&gt;
&lt;br /&gt;
In fact, we need to pass both an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; and a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt;. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). To get them, we will use the &amp;lt;font color=#4169E1&amp;gt;createAssembly()&amp;lt;/font&amp;gt; method given by &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : for CPU time purpose it is recommanded that the frame (GCRF in the previous example), mandatory in the construction of the vehicle, must be exactly the same that the one used for the propagation.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the example below, we will then use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class initializing mass and aerodynamic properties (here no engines and no tanks):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Dry mass&lt;br /&gt;
final double dryMass = 1000.;&lt;br /&gt;
final MassProperty dryMassProperty = new MassProperty(dryMass);&lt;br /&gt;
        &lt;br /&gt;
// Shape&lt;br /&gt;
final double sref = 5.0;&lt;br /&gt;
Sphere sphere = new Sphere(sref);&lt;br /&gt;
final RightParallelepiped solarPanels = new RightParallelepiped(10., 0., 0.);&lt;br /&gt;
VehicleSurfaceModel vehicleRefSurface = new VehicleSurfaceModel(sphere, solarPanels);&lt;br /&gt;
&lt;br /&gt;
// Aerodynamic properties&lt;br /&gt;
final double cd = 2.0;&lt;br /&gt;
final double cl = 0.;&lt;br /&gt;
final AerodynamicProperties aerodynamicProperties = new AerodynamicProperties(vehicleRefSurface, cd, cl);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, aerodynamicProperties, null, null, null);&lt;br /&gt;
&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : due to a PATRIUS anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the Vehicle constructor with all parameters and the VehiculeSurfaceModel including the panels as above (and not a list of Facet); also, do not use the setters methods.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, to define, which forces will be applied along the trajectory, we use the [http://patrius.cnes.fr PATRIUS] &amp;lt;font color=#4169E1&amp;gt;ForceModelsData&amp;lt;/font&amp;gt; class (no more necessary to use the specific &amp;lt;font color=#4169E1&amp;gt;CustomForceModels&amp;lt;/font&amp;gt; class which does not exist anymore).&lt;br /&gt;
&lt;br /&gt;
=== Potential ===&lt;br /&gt;
In the following example, we will initialize the potential model (&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;mandatory&#039;&#039;&#039;&amp;lt;/font&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Potential&lt;br /&gt;
final ForceModel potential = new DirectBodyAttraction(EarthGravitationalModelFactory.getBalmino(GravityFieldNames.GRGS, &amp;quot;grim4s4_gr&amp;quot;, 0, 0, true));&lt;br /&gt;
&lt;br /&gt;
final ForceModelsData forces = new ForceModelsData(potential, null, null, null, null, null, null, null, null, null, null, null, null,  null, null);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aerodynamic ===&lt;br /&gt;
&lt;br /&gt;
Then we could add an aerodynamic force model. Since V11.3, it is no more necessary to use &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double REQ  = Constants.WGS84_EARTH_EQUATORIAL_RADIUS;&lt;br /&gt;
final double FLAT = Constants.WGS84_EARTH_FLATTENING;&lt;br /&gt;
final Frame ITRF = FramesFactory.getITRF();&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
final Atmosphere atmosphere = new US76(EARTH);&lt;br /&gt;
final DragForce dragForce = new DragForce(1., atmosphere, assembly);&lt;br /&gt;
       &lt;br /&gt;
forces.setDragForce(dragForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Solar radiative pressure ===&lt;br /&gt;
&lt;br /&gt;
Here are explained how to use both radiative pressure and rediffused radiative pressure force models. Again, since V11.3, no more tu use old &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CelestialBody sunBody = new MeeusSun();&lt;br /&gt;
final double dRef = 1.4959787E11;&lt;br /&gt;
final double pRef = 4.5605E-6;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
SolarRadiationPressureEllipsoid radPres = new SolarRadiationPressureEllipsoid(dRef, pRef, sunBody, EARTH, assembly, 1.);&lt;br /&gt;
&lt;br /&gt;
forces.setSolarRadiationPressure(radPres);&lt;br /&gt;
        &lt;br /&gt;
// By default values used when GUI mode ...&lt;br /&gt;
final int inCorona = 1;&lt;br /&gt;
final int inMeridian = 10;&lt;br /&gt;
final IEmissivityModel inEmissivityModel = new KnockeRiesModel();&lt;br /&gt;
// Value accessible via GUI mode&lt;br /&gt;
final boolean inAlbedo = false;&lt;br /&gt;
final boolean inIr = false;&lt;br /&gt;
final double coefAlbedo = 1.;&lt;br /&gt;
final double coefIr = 1.;&lt;br /&gt;
        &lt;br /&gt;
RediffusedRadiativeModel rdm = new RediffusedRadiativeModel(inAlbedo, inIr, coefAlbedo, coefIr, assembly);&lt;br /&gt;
RediffusedRadiationPressure reDiff =  new RediffusedRadiationPressure(sunBody, GCRF, inCorona, inMeridian, inEmissivityModel, rdm);&lt;br /&gt;
      &lt;br /&gt;
forces.setRediffusedRadiationPressure(reDiff);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Specific forces ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to add specific forces via the &amp;lt;font color=#4169E1&amp;gt;addForceModel()&amp;lt;/font&amp;gt; method as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(...);&lt;br /&gt;
test.addForceModel(myForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maneuvers ==&lt;br /&gt;
&lt;br /&gt;
If the user wants to add some maneuvers, it will have to do it using the [[https://logiciels.cnes.fr/en/node/78?type=desc GENOPUS]] &amp;lt;font color=#4169E1&amp;gt;Custom ManeuverSequence&amp;lt;/font&amp;gt; class. Indeed, this class is derivated from the PATRIUS &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; but allows taking into account Engines and Tanks notion. From [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] V3.4, it will be possible to directly use [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] class.&lt;br /&gt;
&lt;br /&gt;
=== Propulsive properties ===&lt;br /&gt;
&lt;br /&gt;
First, the user will have to define propulsive properties with engine(s) and tank(s). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Propulsive properties&lt;br /&gt;
final PropulsiveProperty engine = new PropulsiveProperty(400, 320.);&lt;br /&gt;
engine.setPartName(&amp;quot;ENGINE&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;PropulsiveProperty&amp;gt; listOfEngines = new ArrayList&amp;lt;PropulsiveProperty&amp;gt;();&lt;br /&gt;
listOfEngines.add(engine);&lt;br /&gt;
final TankProperty tank = new TankProperty(200.);&lt;br /&gt;
tank.setPartName(&amp;quot;TANK&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;TankProperty&amp;gt; listOfTanks = new ArrayList&amp;lt;TankProperty&amp;gt;();&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, null, null, listOfEngines, listOfTanks);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sequence ===&lt;br /&gt;
&lt;br /&gt;
Then, a maneuver sequence will be created thanks to the &amp;lt;font color=#4169E1&amp;gt;CustomManeuverSequence&amp;lt;/font&amp;gt; (the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; is not directly used as it does not still manage events.&lt;br /&gt;
&lt;br /&gt;
=== Impulsive maneuver ===&lt;br /&gt;
&lt;br /&gt;
Here we have an example of a 10m/s impulse maneuver in &amp;lt;font color=#FF8C00&amp;gt;TNW&amp;lt;/font&amp;gt; occuring for an &amp;lt;font color=#FF8C00 title=&amp;quot;Argument Of Latitude&amp;quot;&amp;gt;AOL&amp;lt;/font&amp;gt; of 180 degrees:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double aol = FastMath.toRadians(180.);&lt;br /&gt;
final CustomAOLDetector aolDetector = new CustomAOLDetector(aol, PositionAngle.TRUE, GCRF, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final IntervalOccurrenceDetectorWrapper impEvent = new IntervalOccurrenceDetectorWrapper(aolDetector, 1, 1, 1, Action.STOP);&lt;br /&gt;
final Vector3D deltaV = new Vector3D(10., 0., 0.);&lt;br /&gt;
final CustomImpulseManeuver imp = new CustomImpulseManeuver(&amp;quot;Impulse maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, impEvent, deltaV, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: it is mandatory to configure the event with a STOP action (needed by [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]]).&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At last, the user will create the maneuver sequence to pass to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CustomManeuverSequence manSeq = new CustomManeuverSequence(0., 0.);&lt;br /&gt;
manSeq.addManeuver(imp);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Constant thrust maneuver ===&lt;br /&gt;
&lt;br /&gt;
The next source code shows how to define a constant thrust maneuver …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double start = iniOrbit.getKeplerianPeriod();&lt;br /&gt;
final AbsoluteDate startDate = date.shiftedBy(start);&lt;br /&gt;
final CustomDateDetector startEvent = new CustomDateDetector(startDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final double dur = 1000.;&lt;br /&gt;
final AbsoluteDate endDate = startDate.shiftedBy(dur);&lt;br /&gt;
final CustomDateDetector stopEvent = new CustomDateDetector(endDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final Vector3D direction = new Vector3D(-1., 0., 0.);&lt;br /&gt;
CustomConstantManeuver cont =&lt;br /&gt;
    new CustomConstantManeuver(&amp;quot;Continuous maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, startEvent, stopEvent, direction, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attitude ==&lt;br /&gt;
&lt;br /&gt;
It is mandatory to get at least one attitude law. With the V11.0, it is not possible to have only one law and it is mandatory to use the “switch” possibility by using the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;AttitudesSequence&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
This example shows how to define a single law (available since V11.1):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw attitudeLaw = new LofOffset(LOFType.TNW);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This other example uses a switching possibility:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw law = new LofOffset(LOFType.TNW, RotationOrder.ZYX, 0., 0., 0.);&lt;br /&gt;
final double maxCheck = AbstractDetector.DEFAULT_MAXCHECK;&lt;br /&gt;
final double threshold = AbstractDetector.DEFAULT_THRESHOLD;&lt;br /&gt;
final EventDetector event =&lt;br /&gt;
   new DateDetector(date, maxCheck, threshold, Action.RESET_STATE);&lt;br /&gt;
final AttitudesSequence seqAtt = new AttitudesSequence();&lt;br /&gt;
seqAtt.addSwitchingCondition(law, event, true, false, law);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : be very careful not to use by default constructors for event detectors as they introduce a STOP event, so your propagation will stop anyway !&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Integration ==&lt;br /&gt;
&lt;br /&gt;
Then integration data have to be defined. Here an example with &amp;lt;font color=#FF8C00 title=&amp;quot;Runge Kutta 4th order&amp;quot;&amp;gt;RK4&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double duration = 86400.;&lt;br /&gt;
final double hStop = 120.e+3;&lt;br /&gt;
final PsimuPropagationData propagationData = new PsimuPropagationData(duration, GCRF, hStop);&lt;br /&gt;
final double step = 5.;&lt;br /&gt;
final RK4data integrationData = new RK4data(propagationData, step);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… or with the &amp;lt;font color=#FF8C00&amp;gt;DOP&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double minStep = 0.1;&lt;br /&gt;
final double maxStep = 30.;&lt;br /&gt;
final double[] vecAbsoluteTolerance =&lt;br /&gt;
   { 1.0E-5, 1.0E-5, 1.0E-5, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double[] vecRelativeTolerance =&lt;br /&gt;
   { 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double absMassTolerance = 1.0E-3;&lt;br /&gt;
final double relMassTolerance = 1.0E-2;&lt;br /&gt;
final double positionError = 0.;&lt;br /&gt;
final DopData intData = new DopData(propagationData, minStep, maxStep, vecAbsoluteTolerance, vecRelativeTolerance, absMassTolerance, relMassTolerance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PSIMU object ==&lt;br /&gt;
&lt;br /&gt;
As we have all mandatory data to initialize &amp;lt;font color=#556B2F&amp;gt;PSIMU&amp;lt;/font&amp;gt;, we can build such an object (note that in this example there is a “null” argument for the sequence of maneuvers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(iniOrbit, EARTH, UserFramesConfsEnum.IGNORE, integrationData, vehicle, mm, forces, manSeq, attitudeLaw);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1178</id>
		<title>Data initialization</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Data_initialization&amp;diff=1178"/>
		<updated>2025-10-10T11:55:50Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Potential */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main modifications between V11.3 and previous versions are due to the use of original [http://patrius.cnes.fr PATRIUS] classes rather than to use &amp;quot;Custom&amp;quot; classes originally proposed by [http://genopus.cnes.fr GENOPUS]. Anyway, some &amp;quot;Custom&amp;quot; classes still remain as [http://patrius.cnes.fr PATRIUS] classes are not sufficiently consistent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Orbit ==&lt;br /&gt;
&lt;br /&gt;
To initialize an orbit, we simply have to build it using [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] object. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final TimeScale TUC = TimeScalesFactory.getUTC();&lt;br /&gt;
final AbsoluteDate date = new AbsoluteDate(&amp;quot;2010-01-01T12:00:00.000&amp;quot;, TUC);       &lt;br /&gt;
final double sma = Constants.WGS84_EARTH_EQUATORIAL_RADIUS + 250.e3;&lt;br /&gt;
final double ecc = 0.;&lt;br /&gt;
final double inc = FastMath.toRadians(51.6);&lt;br /&gt;
final double raan = FastMath.toRadians(0.);&lt;br /&gt;
final double pa  = FastMath.toRadians(0.);&lt;br /&gt;
final double ano = FastMath.toRadians(0.);&lt;br /&gt;
final Frame GCRF = FramesFactory.getGCRF();&lt;br /&gt;
final KeplerianOrbit iniOrbit =&lt;br /&gt;
  new KeplerianOrbit(sma, ecc, inc, raan, pa, ano, PositionAngle.MEAN, GCRF, date, MU);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Earth features ==&lt;br /&gt;
&lt;br /&gt;
Data equivalent to the “[[Earth_Features|Earth features]]” tab are distributed via two arguments:&lt;br /&gt;
&lt;br /&gt;
:1. A &amp;lt;font color=#4169E1&amp;gt;ExtendedOneAxisEllipsoid&amp;lt;/font&amp;gt; object which will define the shape of the planet&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:2. A type of enumerates that will propose some pre-defined configurations as:&lt;br /&gt;
:* &#039;&#039;&#039;NOTHING&#039;&#039;&#039; (all options set to null)&lt;br /&gt;
:* &#039;&#039;&#039;ONLY_PREC_NUT&#039;&#039;&#039; (only precession and nutation)&lt;br /&gt;
:* &#039;&#039;&#039;FACTORY&#039;&#039;&#039; (equivalent to the most complete definition as in the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;GUI&amp;lt;/font&amp;gt;)&lt;br /&gt;
:* &#039;&#039;&#039;IGNORE&#039;&#039;&#039; (nothing is define internally by &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; which will take into account the user parametrization previously done)&lt;br /&gt;
&lt;br /&gt;
== Vehicle ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, it is no more necessary to pass an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; object but a &amp;lt;font color=#4169E1&amp;gt;Vehicle one&amp;lt;/font&amp;gt;. Anyway, it is allways mandatory to pass a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; object, issued from the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; one. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). &lt;br /&gt;
&lt;br /&gt;
In fact, we need to pass both an &amp;lt;font color=#4169E1&amp;gt;Assembly&amp;lt;/font&amp;gt; and a &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt;. It could seem curious but it is due to the fact that, if we have maneuvers, it will be mandatory to initialize them with the same &amp;lt;font color=#4169E1&amp;gt;MassProvider&amp;lt;/font&amp;gt; (see example [[#Maneuvers|here]]). To get them, we will use the &amp;lt;font color=#4169E1&amp;gt;createAssembly()&amp;lt;/font&amp;gt; method given by &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : for CPU time purpose it is recommanded that the frame (GCRF in the previous example), mandatory in the construction of the vehicle, must be exactly the same that the one used for the propagation.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the example below, we will then use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; class initializing mass and aerodynamic properties (here no engines and no tanks):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Dry mass&lt;br /&gt;
final double dryMass = 1000.;&lt;br /&gt;
final MassProperty dryMassProperty = new MassProperty(dryMass);&lt;br /&gt;
        &lt;br /&gt;
// Shape&lt;br /&gt;
final double sref = 5.0;&lt;br /&gt;
Sphere sphere = new Sphere(sref);&lt;br /&gt;
final RightParallelepiped solarPanels = new RightParallelepiped(10., 0., 0.);&lt;br /&gt;
VehicleSurfaceModel vehicleRefSurface = new VehicleSurfaceModel(sphere, solarPanels);&lt;br /&gt;
&lt;br /&gt;
// Aerodynamic properties&lt;br /&gt;
final double cd = 2.0;&lt;br /&gt;
final double cl = 0.;&lt;br /&gt;
final AerodynamicProperties aerodynamicProperties = new AerodynamicProperties(vehicleRefSurface, cd, cl);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, aerodynamicProperties, null, null, null);&lt;br /&gt;
&lt;br /&gt;
final Assembly assembly = vehicle.createAssembly(GCRF);&lt;br /&gt;
final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : due to a PATRIUS anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the Vehicle constructor with all parameters and the VehiculeSurfaceModel including the panels as above (and not a list of Facet); also, do not use the setters methods.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
&lt;br /&gt;
Since V11.3, to define, which forces will be applied along the trajectory, we use the [http://patrius.cnes.fr PATRIUS] &amp;lt;font color=#4169E1&amp;gt;ForceModelsData&amp;lt;/font&amp;gt; class (no more necessary to use the specific &amp;lt;font color=#4169E1&amp;gt;CustomForceModels&amp;lt;/font&amp;gt; class which does not exist anymore).&lt;br /&gt;
&lt;br /&gt;
=== Potential ===&lt;br /&gt;
In the following example, we will initialize the potential model (&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;mandatory&#039;&#039;&#039;&amp;lt;/font&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Potential&lt;br /&gt;
final ForceModel potential = new DirectBodyAttraction(EarthGravitationalModelFactory.getBalmino(GravityFieldNames.GRGS, &amp;quot;grim4s4_gr&amp;quot;, 0, 0, true));&lt;br /&gt;
&lt;br /&gt;
final ForceModelsData forces = new ForceModelsData(potential, null, null, null, null, null, null, null, null, null, null, null, null,  null, null);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aerodynamic ===&lt;br /&gt;
&lt;br /&gt;
Then we could add an aerodynamic force model. Since V11.3, it is no more necessary to use &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double REQ  = Constants.WGS84_EARTH_EQUATORIAL_RADIUS;&lt;br /&gt;
final double FLAT = Constants.WGS84_EARTH_FLATTENING;&lt;br /&gt;
final Frame ITRF = FramesFactory.getITRF();&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
final Atmosphere atmosphere = new US76(EARTH);&lt;br /&gt;
final DragForce dragForce = new DragForce(1., atmosphere, assembly);&lt;br /&gt;
       &lt;br /&gt;
forces.setDragForce(dragForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Solar radiative pressure ===&lt;br /&gt;
&lt;br /&gt;
Here are explained how to use both radiative pressure and rediffused radiative pressure force models. Again, since V11.3, no more tu use old &amp;quot;Custom&amp;quot; classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CelestialBody sunBody = new MeeusSun();&lt;br /&gt;
final double dRef = 1.4959787E11;&lt;br /&gt;
final double pRef = 4.5605E-6;&lt;br /&gt;
final ExtendedOneAxisEllipsoid EARTH =&lt;br /&gt;
   new ExtendedOneAxisEllipsoid(REQ, FLAT, ITRF, &amp;quot;EARTH&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
SolarRadiationPressureEllipsoid radPres = new SolarRadiationPressureEllipsoid(dRef, pRef, sunBody, EARTH, assembly, 1.);&lt;br /&gt;
&lt;br /&gt;
forces.setSolarRadiationPressure(radPres);&lt;br /&gt;
        &lt;br /&gt;
// By default values used when GUI mode ...&lt;br /&gt;
final int inCorona = 1;&lt;br /&gt;
final int inMeridian = 10;&lt;br /&gt;
final IEmissivityModel inEmissivityModel = new KnockeRiesModel();&lt;br /&gt;
// Value accessible via GUI mode&lt;br /&gt;
final boolean inAlbedo = false;&lt;br /&gt;
final boolean inIr = false;&lt;br /&gt;
final double coefAlbedo = 1.;&lt;br /&gt;
final double coefIr = 1.;&lt;br /&gt;
        &lt;br /&gt;
RediffusedRadiativeModel rdm = new RediffusedRadiativeModel(inAlbedo, inIr, coefAlbedo, coefIr, assembly);&lt;br /&gt;
RediffusedRadiationPressure reDiff =  new RediffusedRadiationPressure(sunBody, GCRF, inCorona, inMeridian, inEmissivityModel, rdm);&lt;br /&gt;
      &lt;br /&gt;
forces.setRediffusedRadiationPressure(reDiff);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Specific forces ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to add specific forces via the &amp;lt;font color=#4169E1&amp;gt;addForceModel()&amp;lt;/font&amp;gt; method as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(...);&lt;br /&gt;
test.addForceModel(myForce);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maneuvers ==&lt;br /&gt;
&lt;br /&gt;
If the user wants to add some maneuvers, it will have to do it using the [[https://logiciels.cnes.fr/en/node/78?type=desc GENOPUS]] &amp;lt;font color=#4169E1&amp;gt;Custom ManeuverSequence&amp;lt;/font&amp;gt; class. Indeed, this class is derivated from the PATRIUS &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; but allows taking into account Engines and Tanks notion. From [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] V3.4, it will be possible to directly use [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] class.&lt;br /&gt;
&lt;br /&gt;
=== Propulsive properties ===&lt;br /&gt;
&lt;br /&gt;
First, the user will have to define propulsive properties with engine(s) and tank(s). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Propulsive properties&lt;br /&gt;
final PropulsiveProperty engine = new PropulsiveProperty(400, 320.);&lt;br /&gt;
engine.setPartName(&amp;quot;ENGINE&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;PropulsiveProperty&amp;gt; listOfEngines = new ArrayList&amp;lt;PropulsiveProperty&amp;gt;();&lt;br /&gt;
listOfEngines.add(engine);&lt;br /&gt;
final TankProperty tank = new TankProperty(200.);&lt;br /&gt;
tank.setPartName(&amp;quot;TANK&amp;quot;);&lt;br /&gt;
final ArrayList&amp;lt;TankProperty&amp;gt; listOfTanks = new ArrayList&amp;lt;TankProperty&amp;gt;();&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
listOfTanks.add(tank);&lt;br /&gt;
        &lt;br /&gt;
final Vehicle vehicle = new Vehicle(vehicleRefSurface, null, dryMassProperty, null, null, listOfEngines, listOfTanks);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sequence ===&lt;br /&gt;
&lt;br /&gt;
Then, a maneuver sequence will be created thanks to the &amp;lt;font color=#4169E1&amp;gt;CustomManeuverSequence&amp;lt;/font&amp;gt; (the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;ManeuverSequence&amp;lt;/font&amp;gt; is not directly used as it does not still manage events.&lt;br /&gt;
&lt;br /&gt;
=== Impulsive maneuver ===&lt;br /&gt;
&lt;br /&gt;
Here we have an example of a 10m/s impulse maneuver in &amp;lt;font color=#FF8C00&amp;gt;TNW&amp;lt;/font&amp;gt; occuring for an &amp;lt;font color=#FF8C00 title=&amp;quot;Argument Of Latitude&amp;quot;&amp;gt;AOL&amp;lt;/font&amp;gt; of 180 degrees:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double aol = FastMath.toRadians(180.);&lt;br /&gt;
final CustomAOLDetector aolDetector = new CustomAOLDetector(aol, PositionAngle.TRUE, GCRF, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final IntervalOccurrenceDetectorWrapper impEvent = new IntervalOccurrenceDetectorWrapper(aolDetector, 1, 1, 1, Action.STOP);&lt;br /&gt;
final Vector3D deltaV = new Vector3D(10., 0., 0.);&lt;br /&gt;
final CustomImpulseManeuver imp = new CustomImpulseManeuver(&amp;quot;Impulse maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, impEvent, deltaV, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: it is mandatory to configure the event with a STOP action (needed by [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]]).&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At last, the user will create the maneuver sequence to pass to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final CustomManeuverSequence manSeq = new CustomManeuverSequence(0., 0.);&lt;br /&gt;
manSeq.addManeuver(imp);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Constant thrust maneuver ===&lt;br /&gt;
&lt;br /&gt;
The next source code shows how to define a constant thrust maneuver …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double start = iniOrbit.getKeplerianPeriod();&lt;br /&gt;
final AbsoluteDate startDate = date.shiftedBy(start);&lt;br /&gt;
final CustomDateDetector startEvent = new CustomDateDetector(startDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final double dur = 1000.;&lt;br /&gt;
final AbsoluteDate endDate = startDate.shiftedBy(dur);&lt;br /&gt;
final CustomDateDetector stopEvent = new CustomDateDetector(endDate, MAXCHECK, THRESHOLD, Action.STOP);&lt;br /&gt;
final Vector3D direction = new Vector3D(-1., 0., 0.);&lt;br /&gt;
CustomConstantManeuver cont =&lt;br /&gt;
    new CustomConstantManeuver(&amp;quot;Continuous maneuver&amp;quot;, listOfEngines.get(0), listOfTanks.get(0), LOFType.TNW, startEvent, stopEvent, direction, mm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attitude ==&lt;br /&gt;
&lt;br /&gt;
It is mandatory to get at least one attitude law. With the V11.0, it is not possible to have only one law and it is mandatory to use the “switch” possibility by using the [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] &amp;lt;font color=#4169E1&amp;gt;AttitudesSequence&amp;lt;/font&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
This example shows how to define a single law (available since V11.1):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw attitudeLaw = new LofOffset(LOFType.TNW);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This other example uses a switching possibility:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final AttitudeLaw law = new LofOffset(LOFType.TNW, RotationOrder.ZYX, 0., 0., 0.);&lt;br /&gt;
final double maxCheck = AbstractDetector.DEFAULT_MAXCHECK;&lt;br /&gt;
final double threshold = AbstractDetector.DEFAULT_THRESHOLD;&lt;br /&gt;
final EventDetector event =&lt;br /&gt;
   new DateDetector(date, maxCheck, threshold, Action.RESET_STATE);&lt;br /&gt;
final AttitudesSequence seqAtt = new AttitudesSequence();&lt;br /&gt;
seqAtt.addSwitchingCondition(law, event, true, false, law);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Note : be very careful not to use by default constructors for event detectors as they introduce a STOP event, so your propagation will stop anyway !&#039;&#039;&#039;&amp;lt;/font&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Integration ==&lt;br /&gt;
&lt;br /&gt;
Then integration data have to be defined. Here an example with &amp;lt;font color=#FF8C00 title=&amp;quot;Runge Kutta 4th order&amp;quot;&amp;gt;RK4&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double duration = 86400.;&lt;br /&gt;
final double hStop = 120.e+3;&lt;br /&gt;
final PsimuPropagationData propagationData = new PsimuPropagationData(duration, GCRF, hStop);&lt;br /&gt;
final double step = 5.;&lt;br /&gt;
final RK4data integrationData = new RK4data(propagationData, step);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… or with the &amp;lt;font color=#FF8C00&amp;gt;DOP&amp;lt;/font&amp;gt; integrator …&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double minStep = 0.1;&lt;br /&gt;
final double maxStep = 30.;&lt;br /&gt;
final double[] vecAbsoluteTolerance =&lt;br /&gt;
   { 1.0E-5, 1.0E-5, 1.0E-5, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double[] vecRelativeTolerance =&lt;br /&gt;
   { 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8, 1.0E-8 };&lt;br /&gt;
final double absMassTolerance = 1.0E-3;&lt;br /&gt;
final double relMassTolerance = 1.0E-2;&lt;br /&gt;
final double positionError = 0.;&lt;br /&gt;
final DopData intData = new DopData(propagationData, minStep, maxStep, vecAbsoluteTolerance, vecRelativeTolerance, absMassTolerance, relMassTolerance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PSIMU object ==&lt;br /&gt;
&lt;br /&gt;
As we have all mandatory data to initialize &amp;lt;font color=#556B2F&amp;gt;PSIMU&amp;lt;/font&amp;gt;, we can build such an object (note that in this example there is a “null” argument for the sequence of maneuvers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final Psimu test = new Psimu(iniOrbit, EARTH, UserFramesConfsEnum.IGNORE, integrationData, vehicle, mm, forces, manSeq, attitudeLaw);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1177</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1177"/>
		<updated>2025-10-10T11:54:32Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [https://www.connectbycnes.fr/en/patrius PATRIUS] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [https://www.connectbycnes.fr/en/genopus GENOPUS] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [https://www.connectbycnes.fr/en/patrius PATRIUS] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset].&lt;br /&gt;
# Initialize the type of [https://www.connectbycnes.fr/en/patrius PATRIUS] MODELS (since V11.8)&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the second point, insert this line of code (&#039;&#039;&#039;mandatory since V11.8&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Set NEW_MODELS for PATRIUS configuration&lt;br /&gt;
PatriusConfiguration.setPatriusCompatibilityMode(PatriusVersionCompatibility.NEW_MODELS);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1176</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1176"/>
		<updated>2025-10-10T11:53:11Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [https://www.connectbycnes.fr/en/patrius PATRIUS] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [https://www.connectbycnes.fr/en/genopus GENOPUS] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [https://www.connectbycnes.fr/en/patrius PATRIUS] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset].&lt;br /&gt;
# Initialize the type of [https://www.connectbycnes.fr/en/patrius PATRIUS] MODELS (since V11.8)&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the second point, insert theis line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Set NEW_MODELS for PATRIUS configuration&lt;br /&gt;
PatriusConfiguration.setPatriusCompatibilityMode(PatriusVersionCompatibility.NEW_MODELS);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1175</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1175"/>
		<updated>2025-10-10T11:52:56Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [https://www.connectbycnes.fr/en/patrius PATRIUS] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [https://www.connectbycnes.fr/en/genopus GENOPUS] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [https://www.connectbycnes.fr/en/patrius PATRIUS] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset].&lt;br /&gt;
# Initialize the type of [https://www.connectbycnes.fr/en/patrius PATRIUS] MODELS (since V11.8)&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the second point, insert theis line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Set NEW_MODELS for PATRIUS configuration&lt;br /&gt;
PatriusConfiguration.setPatriusCompatibilityMode(PatriusVersionCompatibility.NEW_MODELS);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1174</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1174"/>
		<updated>2025-06-20T12:19:23Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Anomaly corrections */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the &#039;&#039;&#039;psimu.properties&#039;&#039;&#039; file, it is now possible to use a different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;br /&gt;
* Some corrections thanks to new version of [https://www.connectbycnes.fr/en/genopus GENOPUS].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1173</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1173"/>
		<updated>2025-06-20T12:17:54Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [https://www.connectbycnes.fr/en/patrius PATRIUS] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [https://www.connectbycnes.fr/en/genopus GENOPUS] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [https://www.connectbycnes.fr/en/patrius PATRIUS] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset].&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1172</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1172"/>
		<updated>2025-06-20T12:17:24Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [https://www.connectbycnes.fr/en/patrius PATRIUS] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [https://www.connectbycnes.fr/en/genopus GENOPUS] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [https://www.connectbycnes.fr/en/patrius PATRIUS] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [https://www.connectbycnes.fr/en/patriusdataset Patrius Dataset].&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1171</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1171"/>
		<updated>2025-06-20T12:16:02Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [[http://patrius.cnes.fr PATRIUS]] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [https://www.connectbycnes.fr/en/genopus there] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [[http://patrius.cnes.fr PATRIUS]] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]].&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1170</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1170"/>
		<updated>2025-06-20T12:15:07Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [[http://patrius.cnes.fr PATRIUS]] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [[http://genopus.cnes.fr GENOPUS]] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [[http://patrius.cnes.fr PATRIUS]] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]].&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1169</id>
		<title>Basic Principle</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Basic_Principle&amp;diff=1169"/>
		<updated>2025-06-20T12:14:22Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; proposed a &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface &lt;br /&gt;
&lt;br /&gt;
Most of the objects to pass as input data are [[http://patrius.cnes.fr PATRIUS]] ones. Some of them are specific to &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; or [[https://genopus.cnes.fr GENOPUS]] but, in that case, most of the time, it is due to the fact that these objects are not yet included in the used [[https://logiciels.cnes.fr/en/node/62?type=desc PATRIUS]] version: their name will then start by “&#039;&#039;Custom…&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
So, to use this &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; interface, the developer will have to:&lt;br /&gt;
# Initialize [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]].&lt;br /&gt;
# Create a &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; object using its available constructor.&lt;br /&gt;
# Calling for the propagation in master or slave mode.&lt;br /&gt;
# Calling for “&#039;&#039;getter&#039;&#039;” methods to extract after the propagation all useful information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the first point, there are two possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Calling directly the [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius Dataset initialization&lt;br /&gt;
PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Or calling a specific &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; method allowing to manage both [[https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset]] included Inside the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; jar and local data (see [[Earth_Features#Frames configuration|here]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Patrius data set initialization&lt;br /&gt;
final String addDataName = AppPSimuConfigurationProperties.getInstance().getAdditionalPatriusFolder();&lt;br /&gt;
AppPSimuConfigurationProperties.iniPatriusDataset(addDataName);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1168</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1168"/>
		<updated>2025-06-20T12:09:31Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Look and Feel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the &#039;&#039;&#039;psimu.properties&#039;&#039;&#039; file, it is now possible to use a different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1167</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1167"/>
		<updated>2025-06-20T12:08:49Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Java Heap space management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the psimu.properties file, it is now possible to use different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1166</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1166"/>
		<updated>2025-06-20T12:08:31Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be done via java arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the psimu.properties file, it is now possible to use different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1165</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1165"/>
		<updated>2025-06-20T12:08:09Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Output Mean models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane long periods&lt;br /&gt;
* Lyddane secular&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the GUI may be done via java arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the psimu.properties file, it is now possible to use different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1164</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1164"/>
		<updated>2025-06-20T12:07:41Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models ==&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane longues périodes&lt;br /&gt;
* Lyddane séculaire&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the GUI may be done via java arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;br /&gt;
&lt;br /&gt;
== Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
By using the psimu.properties file, it is now possible to use different &amp;quot;Look And Feel&amp;quot; amongst this list:&lt;br /&gt;
&lt;br /&gt;
* MetalLookAndFeel (by default)&lt;br /&gt;
* NimbusLookAndFeel&lt;br /&gt;
* MotifLookAndFeel&lt;br /&gt;
* WindowsLookAndFeel&lt;br /&gt;
* WindowsClassicLookAndFeel&lt;br /&gt;
* FlatLightLaf&lt;br /&gt;
* FlatDarkLaf&lt;br /&gt;
* FlatIntelliJLaf&lt;br /&gt;
* FlatDarculaLaf&lt;br /&gt;
&lt;br /&gt;
== Anomaly corrections ==&lt;br /&gt;
&lt;br /&gt;
* The output mean variables were not converted in the inertial output frame but only in the inertial propagation one.&lt;br /&gt;
* When the initial orbit conditions were defined in a &amp;quot;H0-n&amp;quot; frame, an error message were displayed during the propagation if the epoch was after 2020.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1163</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1163"/>
		<updated>2025-06-20T12:00:06Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Output Mean models =&lt;br /&gt;
&lt;br /&gt;
It is now possible to choose the type of mean models for the output variables in the following list:&lt;br /&gt;
&lt;br /&gt;
* Lyddane longues périodes&lt;br /&gt;
* Lyddane séculaire&lt;br /&gt;
* Eckstein Hechler&lt;br /&gt;
&lt;br /&gt;
== Java Heap space management ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; Heap space management when launching the GUI may be done via java arguments but, when launching the computation via this &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt;, it was not possible to access to this option (as a new &amp;lt;font color=#FF8C00 title=&amp;quot;Java Virtual Machine&amp;quot;&amp;gt;&#039;&#039;&#039;JVM&#039;&#039;&#039;&amp;lt;/font&amp;gt; is automatically launched to execute the propagation). Now, it is possible to specify the size of this heap space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1162</id>
		<title>Main differences between V11.7.4 and V11.8</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.4_and_V11.8&amp;diff=1162"/>
		<updated>2025-06-20T11:50:10Z</updated>

		<summary type="html">&lt;p&gt;Admin : Page créée avec « TBW ... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TBW ...&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=MediaWiki:Sidebar&amp;diff=1161</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=MediaWiki:Sidebar&amp;diff=1161"/>
		<updated>2025-06-20T11:49:55Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*&lt;br /&gt;
* PSIMU&lt;br /&gt;
** WELCOME_TO_THE_PSIMU_WIKI|Welcome&lt;br /&gt;
** Quick_start|Quick start&lt;br /&gt;
** News|News&lt;br /&gt;
* GUI Mode&lt;br /&gt;
** Overall_Presentation|Overall presentation&lt;br /&gt;
** Initial_Orbit|Initial Orbit&lt;br /&gt;
** Earth_Features|Earth features&lt;br /&gt;
** Vehicle|Vehicle&lt;br /&gt;
** Forces|Forces&lt;br /&gt;
** Maneuvers|Maneuvers&lt;br /&gt;
** Attitude|Attitude&lt;br /&gt;
** Integrator|Integrator&lt;br /&gt;
** Events|Events&lt;br /&gt;
** Output|Output&lt;br /&gt;
** Console|Console&lt;br /&gt;
* Batch mode&lt;br /&gt;
** BatchMode|How to call it&lt;br /&gt;
* Java interface&lt;br /&gt;
** Basic_Principle|Basic principle&lt;br /&gt;
** Data_initialization|Data initialization&lt;br /&gt;
** Propagation|Propagation&lt;br /&gt;
** Printing|Printing results&lt;br /&gt;
** Customize_output_variables|Customize output variables&lt;br /&gt;
* Evolutions&lt;br /&gt;
** Main_differences_between_V11.7.4_and_V11.8|Main differences between V11.7.4 and V11.8&lt;br /&gt;
** Main_differences_between_V11.7.3_and_V11.7.4|Main differences between V11.7.3 and V11.7.4&lt;br /&gt;
** Main_differences_between_V11.7.2_and_V11.7.3|Main differences between V11.7.2 and V11.7.3&lt;br /&gt;
** Main_differences_between_V11.7.1_and_V11.7.2|Main differences between V11.7.1 and V11.7.2&lt;br /&gt;
** Main_differences_between_V11.6.2_and_V11.7.1|Main differences between V11.6.2 and V11.7.1&lt;br /&gt;
** Main_differences_between_V11.5_and_V11.6.2|Main differences between V11.5 and V11.6.2&lt;br /&gt;
** Main_differences_between_V11.4.1_and_V11.5|Main differences between V11.4.1 and V11.5&lt;br /&gt;
** Main_differences_between_V11.4_and_V11.4.1|Main differences between V11.4 and V11.4.1&lt;br /&gt;
** Main_differences_between_V11.3_and_V11.4|Main differences between V11.3 and V11.4&lt;br /&gt;
** Main_differences_between_V11.2_and_V11.3|Main differences between V11.2 and V11.3&lt;br /&gt;
** Main_differences_between_V11.1_and_V11.2|Main differences between V11.1 and V11.2&lt;br /&gt;
** Main_differences_between_V11.0_and_V11.1|Main differences between V11.0 and V11.1&lt;br /&gt;
* Training&lt;br /&gt;
** :File:TutorialsForV11.7.1.zip|Tutorials package for V11.7.x&lt;br /&gt;
** :File:TutorialsForV11.6.zip|Tutorials package for V11.6&lt;br /&gt;
** :File:TutorialsForV11.5.zip|Tutorials package for V11.5&lt;br /&gt;
** :File:TutorialsForV11.4.zip|Tutorials package for V11.4&lt;br /&gt;
** :File:TutorialsForV11.3.zip|Tutorials package for V11.3&lt;br /&gt;
** :File:TutorialsForV11.2.zip|Tutorials package for V11.2&lt;br /&gt;
** :File:TutorialsForV11.0.zip|Tutorials package for V11.0&lt;br /&gt;
* Links&lt;br /&gt;
** https://logiciels.cnes.fr/en/home|CNES freeware server&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Java_Doc&amp;diff=1160</id>
		<title>Java Doc</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Java_Doc&amp;diff=1160"/>
		<updated>2025-02-07T14:27:57Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[{{PathCurrentJavaDoc}} Current Java Doc]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.4 Java Doc 11.7.4]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.3 Java Doc 11.7.3]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.2 Java Doc 11.7.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.7.1 Java Doc 11.7.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.6.2 Java Doc 11.6.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.5 Java Doc 11.5]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.4.1 Java Doc 11.4.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.4 Java Doc 11.4]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.3 Java Doc 11.3]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.2 Java Doc 11.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.1 Java Doc 11.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/images/upload/JavaDocs/V11.0 Java Doc 11.0]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1159</id>
		<title>Modèle:PathCurrentJavaDoc</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1159"/>
		<updated>2025-02-07T14:26:53Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CurrentServer}}//images/upload/JavaDocs/V11.7.4&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:CurrentServer&amp;diff=1158</id>
		<title>Modèle:CurrentServer</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:CurrentServer&amp;diff=1158"/>
		<updated>2025-02-07T13:30:53Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://psimu.cnes.fr&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Previous_versions&amp;diff=1139</id>
		<title>Previous versions</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Previous_versions&amp;diff=1139"/>
		<updated>2023-12-06T11:55:56Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* version 11.7.3: see [[Main_differences_between_V11.7.2_and_V11.7.3|here]].&lt;br /&gt;
* version 11.7.2: see [[Main_differences_between_V11.7.1_and_V11.7.2|here]].&lt;br /&gt;
* version 11.7.1: see [[Main_differences_between_V11.6.2_and_V11.7.1|here]].&lt;br /&gt;
* version 11.6.2: see [[Main_differences_between_V11.5_and_V11.6.2|here]].&lt;br /&gt;
* version 11.5: this version is essentially due to an update of the lower level libraries [http://www.genius.fr GENIUS] V1.10.1, [http://www.genius.fr GENOPUS] V2.2 and [http://www.patrius.fr PATRIUS] V4.6. For more details, see [[Main_differences_between_V11.4.1_and_V11.5|here]].&lt;br /&gt;
* version 11.4.1: correcting two V11.4 anomalies (see [[Main_differences_between_V11.4_and_V11.4.1|here]]).&lt;br /&gt;
* version 11.4: linked with [http://patrius.cnes.fr PATRIUS] V4.4 version, correcting V11.3 anomalies and with some interesting new functionalities (see [[Main_differences_between_V11.3_and_V11.4|here]]).&lt;br /&gt;
* version 11.3: linked with [http://patrius.cnes.fr PATRIUS] V4.1.1 version, correcting V11.2 anomalies and with some interesting new functionalities (see [[Main_differences_between_V11.2_and_V11.3|here]]).&lt;br /&gt;
* version 11.2/11.2.1 : first version available [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;] outside; it corrects few minor anomalies and is now linked with [https://logiciels.cnes.fr/en/content/patriusdataset PatriusDataset] 1.0.3.&lt;br /&gt;
* version 11.1: this version includes essentially ergonomy improvement of the tool. Nevertheless, some new functionalities as [https://www.sqlite.org/ SQLite] output files have a real interest. &lt;br /&gt;
* version 11.0: first Java version available only inside [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Java version available externally to [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;] (previous versions to V11.x were coded in &amp;lt;font color=#FF8C00&amp;gt;Fortran 95&amp;lt;/font&amp;gt; and V11.0 were only for internal [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;] purposes).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Current_version&amp;diff=1138</id>
		<title>Current version</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Current_version&amp;diff=1138"/>
		<updated>2023-12-06T11:55:21Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This version corrects an anomaly on the attitude laws display, (see [http://psimu.cnes.fr/index.php/Main_differences_between_V11.7.3_and_V11.7.4 here]). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Known bugs of this version&amp;lt;/u&amp;gt;:&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Current_version&amp;diff=1137</id>
		<title>Current version</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Current_version&amp;diff=1137"/>
		<updated>2023-12-06T11:54:58Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This version corrects an anomaly on the attitude laws display class, (see [http://psimu.cnes.fr/index.php/Main_differences_between_V11.7.3_and_V11.7.4 here]). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Known bugs of this version&amp;lt;/u&amp;gt;:&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=WELCOME_TO_THE_PSIMU_WIKI&amp;diff=1136</id>
		<title>WELCOME TO THE PSIMU WIKI</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=WELCOME_TO_THE_PSIMU_WIKI&amp;diff=1136"/>
		<updated>2023-12-06T11:53:24Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* DESCRIPTION */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Welcome to the &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; wiki, a [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;] flight dynamics tool. As it is coded in &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt;, this product is available for any kind of platforms owning a &amp;lt;font color=#FF8C00 title=&amp;quot;JavaVirtual Machine&amp;quot;&amp;gt;JVM&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== DESCRIPTION ==&lt;br /&gt;
&lt;br /&gt;
[[What_is_Psimu|&#039;&#039;&#039;What is PSIMU?&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; is a [https://cnes.fr/fr &#039;&#039;&#039;CNES&#039;&#039;&#039;] tool allowing to propagate trajectories around the Earth.&lt;br /&gt;
&lt;br /&gt;
[[Current_version|&#039;&#039;&#039;Current version&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::The current version is: &amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;V11.7.4&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Previous_versions|&#039;&#039;&#039;Previous versions&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Describes evolutions thanks to previous versions.&lt;br /&gt;
&lt;br /&gt;
== USE IT ==&lt;br /&gt;
&lt;br /&gt;
[[Where_to_get_it|&#039;&#039;&#039;Where to get it?&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Where to download it.&lt;br /&gt;
&lt;br /&gt;
[[Quick start|&#039;&#039;&#039;Quick start&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::First steps with &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User_Manual|&#039;&#039;&#039;User Manual&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; may be used very quickly via its &amp;lt;font color=#FF8C00 title=&amp;quot;Graphical User Interface&amp;quot;&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/font&amp;gt; facilitating context elaboration and results exploitation. No code knowledge is necessary.&lt;br /&gt;
::Anyway, it is also possible to use it in &amp;lt;font color=#FF8C00&amp;gt;&#039;&#039;&#039;batch&#039;&#039;&#039;&amp;lt;/font&amp;gt; mode (especially on grid computers with no display properties) or using its &amp;lt;font color=#FF8C00&amp;gt;&#039;&#039;&#039;Java&#039;&#039;&#039;&amp;lt;/font&amp;gt; interface.&lt;br /&gt;
&lt;br /&gt;
== DOCUMENTATION ==&lt;br /&gt;
&lt;br /&gt;
[[Java_Doc|&#039;&#039;&#039;Java Doc&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Access to current and old &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; doc.&lt;br /&gt;
&lt;br /&gt;
[[Dependencies|&#039;&#039;&#039;Dependencies&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Describes dependencies with other products.&lt;br /&gt;
&lt;br /&gt;
[[News|&#039;&#039;&#039;News&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
::Main evolutions of the tool or its Wiki.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.3_and_V11.7.4&amp;diff=1135</id>
		<title>Main differences between V11.7.3 and V11.7.4</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.3_and_V11.7.4&amp;diff=1135"/>
		<updated>2023-12-06T11:52:39Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The only difference is the correction of an anomaly in a [http://genopus.cnes.fr &#039;&#039;&#039;GENOPUS&#039;&#039;&#039;] class that did not allow to display the available attitude laws.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.3_and_V11.7.4&amp;diff=1134</id>
		<title>Main differences between V11.7.3 and V11.7.4</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Main_differences_between_V11.7.3_and_V11.7.4&amp;diff=1134"/>
		<updated>2023-12-06T11:50:23Z</updated>

		<summary type="html">&lt;p&gt;Admin : Page créée avec « The only difference is the correction of an anomaly in a GENOPUS class that did not allow to display the available attitude laws. »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The only difference is the correction of an anomaly in a GENOPUS class that did not allow to display the available attitude laws.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=MediaWiki:Sidebar&amp;diff=1133</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=MediaWiki:Sidebar&amp;diff=1133"/>
		<updated>2023-12-06T11:49:14Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*&lt;br /&gt;
* PSIMU&lt;br /&gt;
** WELCOME_TO_THE_PSIMU_WIKI|Welcome&lt;br /&gt;
** Quick_start|Quick start&lt;br /&gt;
** News|News&lt;br /&gt;
* GUI Mode&lt;br /&gt;
** Overall_Presentation|Overall presentation&lt;br /&gt;
** Initial_Orbit|Initial Orbit&lt;br /&gt;
** Earth_Features|Earth features&lt;br /&gt;
** Vehicle|Vehicle&lt;br /&gt;
** Forces|Forces&lt;br /&gt;
** Maneuvers|Maneuvers&lt;br /&gt;
** Attitude|Attitude&lt;br /&gt;
** Integrator|Integrator&lt;br /&gt;
** Events|Events&lt;br /&gt;
** Output|Output&lt;br /&gt;
** Console|Console&lt;br /&gt;
* Batch mode&lt;br /&gt;
** BatchMode|How to call it&lt;br /&gt;
* Java interface&lt;br /&gt;
** Basic_Principle|Basic principle&lt;br /&gt;
** Data_initialization|Data initialization&lt;br /&gt;
** Propagation|Propagation&lt;br /&gt;
** Printing|Printing results&lt;br /&gt;
** Customize_output_variables|Customize output variables&lt;br /&gt;
* Evolutions&lt;br /&gt;
** Main_differences_between_V11.7.3_and_V11.7.4|Main differences between V11.7.3 and V11.7.4&lt;br /&gt;
** Main_differences_between_V11.7.2_and_V11.7.3|Main differences between V11.7.2 and V11.7.3&lt;br /&gt;
** Main_differences_between_V11.7.1_and_V11.7.2|Main differences between V11.7.1 and V11.7.2&lt;br /&gt;
** Main_differences_between_V11.6.2_and_V11.7.1|Main differences between V11.6.2 and V11.7.1&lt;br /&gt;
** Main_differences_between_V11.5_and_V11.6.2|Main differences between V11.5 and V11.6.2&lt;br /&gt;
** Main_differences_between_V11.4.1_and_V11.5|Main differences between V11.4.1 and V11.5&lt;br /&gt;
** Main_differences_between_V11.4_and_V11.4.1|Main differences between V11.4 and V11.4.1&lt;br /&gt;
** Main_differences_between_V11.3_and_V11.4|Main differences between V11.3 and V11.4&lt;br /&gt;
** Main_differences_between_V11.2_and_V11.3|Main differences between V11.2 and V11.3&lt;br /&gt;
** Main_differences_between_V11.1_and_V11.2|Main differences between V11.1 and V11.2&lt;br /&gt;
** Main_differences_between_V11.0_and_V11.1|Main differences between V11.0 and V11.1&lt;br /&gt;
* Training&lt;br /&gt;
** :File:TutorialsForV11.7.1.zip|Tutorials package for V11.7.x&lt;br /&gt;
** :File:TutorialsForV11.6.zip|Tutorials package for V11.6&lt;br /&gt;
** :File:TutorialsForV11.5.zip|Tutorials package for V11.5&lt;br /&gt;
** :File:TutorialsForV11.4.zip|Tutorials package for V11.4&lt;br /&gt;
** :File:TutorialsForV11.3.zip|Tutorials package for V11.3&lt;br /&gt;
** :File:TutorialsForV11.2.zip|Tutorials package for V11.2&lt;br /&gt;
** :File:TutorialsForV11.0.zip|Tutorials package for V11.0&lt;br /&gt;
* Links&lt;br /&gt;
** https://logiciels.cnes.fr/en/home|CNES freeware server&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Java_Doc&amp;diff=1132</id>
		<title>Java Doc</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Java_Doc&amp;diff=1132"/>
		<updated>2023-12-06T11:48:40Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[{{PathCurrentJavaDoc}} Current Java Doc]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.7.4 Java Doc 11.7.4]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.7.3 Java Doc 11.7.3]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.7.2 Java Doc 11.7.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.7.1 Java Doc 11.7.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.6.2 Java Doc 11.6.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.5 Java Doc 11.5]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.4.1 Java Doc 11.4.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.4 Java Doc 11.4]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.3 Java Doc 11.3]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.2 Java Doc 11.2]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.1 Java Doc 11.1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[{{CurrentServer}}/uploads/JavaDocs/V11.0 Java Doc 11.0]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1131</id>
		<title>Modèle:PathCurrentJavaDoc</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1131"/>
		<updated>2023-12-06T11:48:15Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CurrentServer}}//uploads/JavaDocs/V11.7.4&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Dependencies&amp;diff=1130</id>
		<title>Dependencies</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Dependencies&amp;diff=1130"/>
		<updated>2023-12-06T11:44:51Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Version&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.7.4&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.7.1/11.7.2/11.7.3&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.6.2&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.5&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.4 / 11.4.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.3&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.2 / 11.2.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|11.0&lt;br /&gt;
|-&lt;br /&gt;
|Disponibility&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 6th Dec 2023&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 8th Jun 2023&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 7th Mar 2022 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 18th Feb 2021 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 8th Nov 2019 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 14th Dec 2018 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|from 14th Nov 2017 &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| -&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Javadoc       &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|yes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|Dependencies &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.10.2 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.4.3&amp;lt;br/&amp;gt; Genopus 2.4.2&amp;lt;br/&amp;gt; Genius 1.12.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&amp;lt;br/&amp;gt; exp4j 0.4.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.10.2 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.4.3&amp;lt;br/&amp;gt; Genopus 2.4.1&amp;lt;br/&amp;gt; Genius 1.12.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&amp;lt;br/&amp;gt; exp4j 0.4.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.8 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.3.3&amp;lt;br/&amp;gt; Genius 1.11.4&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&amp;lt;br/&amp;gt; exp4j 0.4.8&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.6 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.2&amp;lt;br/&amp;gt; Genius 1.10.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.8&amp;lt;br/&amp;gt;Patrius 4.4 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.1.1&amp;lt;br/&amp;gt; Genius 1.9.1&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 4.1.1 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.1.0&amp;lt;br/&amp;gt; Genopus 2.0.1&amp;lt;br/&amp;gt; Genius 1.8&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 3.3 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.0.3&amp;lt;br/&amp;gt; Genopus 1.3.1&amp;lt;br/&amp;gt; Genius 1.7&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 3.3 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.0.2&amp;lt;br/&amp;gt; Genopus 1.3&amp;lt;br/&amp;gt; Genius 1.7&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&amp;lt;br/&amp;gt; sqlite-jdbc 3.15.1&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|Java 1.7&amp;lt;br/&amp;gt;Patrius 3.2 (not compatible with other versions)&amp;lt;br/&amp;gt; PatriusDataset 1.0.2&amp;lt;br/&amp;gt; Genopus 1.2.1&amp;lt;br/&amp;gt; Genius 1.6.x&amp;lt;br/&amp;gt; Miglayout 4.2&amp;lt;br/&amp;gt; Jdom 1.1.2&amp;lt;br/&amp;gt; Gettext-commons 0.9.8&amp;lt;br/&amp;gt; JFreeChart 1.0.19&amp;lt;br/&amp;gt; commons-io 2.4&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=News&amp;diff=1129</id>
		<title>News</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=News&amp;diff=1129"/>
		<updated>2023-12-06T11:43:46Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=== 6th December2023 ===&lt;br /&gt;
* New V11.7.4 version&lt;br /&gt;
&lt;br /&gt;
=== 16th November 2023 ===&lt;br /&gt;
* New V11.7.3 version&lt;br /&gt;
&lt;br /&gt;
=== 10th October 2023 ===&lt;br /&gt;
* An anomaly has been found : see [[Main_differences_between_V11.7.2_and_V11.7.3|here]]&lt;br /&gt;
&lt;br /&gt;
=== 5th July 2023 ===&lt;br /&gt;
* Wiki update thanks to the new V11.7.2 version.&lt;br /&gt;
&lt;br /&gt;
=== 8th June 2023 ===&lt;br /&gt;
* Wiki update thanks to the new V11.7.1 version.&lt;br /&gt;
&lt;br /&gt;
=== 8th March 2022 ===&lt;br /&gt;
* Wiki update thanks to the new V11.6.2 version.&lt;br /&gt;
&lt;br /&gt;
=== 18th February 2021  ===&lt;br /&gt;
&lt;br /&gt;
* New V11.5 version.&lt;br /&gt;
&lt;br /&gt;
=== 16th December 2020 ===&lt;br /&gt;
&lt;br /&gt;
* Some information about [https://logiciels.cnes.fr/en/content/patriusdataset Patrius Dataset] initialization (see [[Basic Principle|here]]).&lt;br /&gt;
* Precision about units in output files versus Java code output (see [[Propagation#Master mode|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 25th August 2020 ===&lt;br /&gt;
&lt;br /&gt;
* When reading the initial orbit, &amp;lt;font color=#556B2F&amp;gt;&#039;&#039;&#039;PSIMU&#039;&#039;&#039;&amp;lt;/font&amp;gt; has not already read [[Earth_Features|Earth Features characteristics]]. So, in some cases, it may exit in an error mode (for example when using H0-n frames) saying that no &amp;lt;font color=#FF8C00 title=&amp;quot;Earth Orientation Parameters&amp;gt;EOP&amp;lt;/font&amp;gt; are available even if we do not need them as it will use the [[http://patrius.cnes.fr PATRIUS]] by default configuration.&lt;br /&gt;
&lt;br /&gt;
=== 13rd May 2020 ===&lt;br /&gt;
&lt;br /&gt;
* When using the &amp;lt;font color=#FF8C00&amp;gt;Java&amp;lt;/font&amp;gt; &amp;lt;font color=#FF8C00 title=&amp;quot;Application Programming Interface &amp;quot;&amp;gt;API&amp;lt;/font&amp;gt;, due to a [http://patrius.cnes.fr PATRIUS] anomaly, if the user needs to define solar panels characteristics, it is mandatory to use the &amp;lt;font color=#4169E1&amp;gt;Vehicle&amp;lt;/font&amp;gt; constructor with all parameters and the &amp;lt;font color=#4169E1&amp;gt;VehiculeSurfaceModel&amp;lt;/font&amp;gt; including the panels as above (and not a list of &amp;lt;font color=#4169E1&amp;gt;Facet&amp;lt;/font&amp;gt;); also, do not use the setters methods.&lt;br /&gt;
&lt;br /&gt;
=== 14th February 2020  ===&lt;br /&gt;
&lt;br /&gt;
* New V11.4.1 version.&lt;br /&gt;
&lt;br /&gt;
=== 28th January 2020  ===&lt;br /&gt;
&lt;br /&gt;
* Identification of a bug when maneuvers are too near from the initial date.&lt;br /&gt;
&lt;br /&gt;
=== 21st Jan 2020 ===&lt;br /&gt;
* Update of the the Wiki main page.&lt;br /&gt;
&lt;br /&gt;
=== 13th January 2020  ===&lt;br /&gt;
&lt;br /&gt;
* Identification of a bug with the header of ephemeris/events files for date variables.&lt;br /&gt;
&lt;br /&gt;
=== 27th November 2019  ===&lt;br /&gt;
&lt;br /&gt;
* Identification of a bug using the [[Output#Custom_plots|Custom plots]] tab.&lt;br /&gt;
&lt;br /&gt;
=== 8th November 2019  ===&lt;br /&gt;
&lt;br /&gt;
* Update thanks to the V11.4 version.&lt;br /&gt;
&lt;br /&gt;
=== 23th September 2019  ===&lt;br /&gt;
&lt;br /&gt;
* Information on the next V11.4 version.&lt;br /&gt;
&lt;br /&gt;
=== 11th Sep 2019 ===&lt;br /&gt;
New predicted solar activity files are available [[:File:actsol.zip|here]].&lt;br /&gt;
&lt;br /&gt;
=== 6th Sep 2019 ===&lt;br /&gt;
&lt;br /&gt;
Provision of the &amp;lt;font color=#FF8C00 title=&amp;quot;Extensible Markup Language&amp;quot;&amp;gt;XML&amp;lt;/font&amp;gt; structure corresponding to aerodynamic coefficients depending on altitude as used in the [https://logiciels.cnes.fr/en/content/stela STELA S/W]: [[:File:Stela_drag_coefficient.zip]] &lt;br /&gt;
&lt;br /&gt;
=== 26th Aug 2019 ===&lt;br /&gt;
&lt;br /&gt;
* New [[:File:gplot-1.9.zip|GPLOT utility]] availability thanks to [http://genius.cnes.fr GENIUS V1.9] version.&lt;br /&gt;
&lt;br /&gt;
=== 29th May 2019 ===&lt;br /&gt;
&lt;br /&gt;
* Three other &amp;quot;minor&amp;quot; bugs have been identified (see [[WELCOME_TO_THE_PSIMU_WIKI#CURRENT VERSION_:_V11.3|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 21st Jan 2019 ===&lt;br /&gt;
&lt;br /&gt;
* Two &amp;quot;minor&amp;quot; bugs have been identified : cases of hyperbolic trajectories or zero propagation duration (see [[WELCOME_TO_THE_PSIMU_WIKI#CURRENT VERSION_:_V11.3|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 11th Jan 2019 ===&lt;br /&gt;
&lt;br /&gt;
* An additional explanation about the Copy/Paste facility on orbit data (see [[Initial_Orbit#Copy/Paste|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 21st Dec 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Adding the possibility to download a utility to plot previously saved results (see [[Output#Plots#Custom_plots|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 20th Dec 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Explaining how to extract solar activity files (see [[Forces#Atmosphere|here]]).&lt;br /&gt;
&lt;br /&gt;
=== 14th Dec 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Update due to the V11.3 version.&lt;br /&gt;
&lt;br /&gt;
=== 1st Aug 2018 ===&lt;br /&gt;
&lt;br /&gt;
* Explaining how to put additional data for Earth features (see [[Earth_Features#How_to_update_data|here]]).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1128</id>
		<title>Modèle:PathCurrentJavaDoc</title>
		<link rel="alternate" type="text/html" href="https://psimu.cnes.fr/index.php?title=Mod%C3%A8le:PathCurrentJavaDoc&amp;diff=1128"/>
		<updated>2023-11-16T11:41:56Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CurrentServer}}//uploads/JavaDocs/V11.7.3&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>