Main differences between V11.3 and V11.4 : Différence entre versions

De Wiki
Aller à : navigation, rechercher
(Possibility to customize its own output variables)
(Possibility to customize its own output variables)
Ligne 61 : Ligne 61 :
 
== Possibility to customize its own output variables ==
 
== Possibility to customize its own output variables ==
  
<font color=#556B2F>'''PSIMU'''</font> allows to get hundred of output variables but, for some users, this output list may be incomplete and they will have to wait for a new version to get them. Indeed, these variables could be so particuler that there will be no interest to integrate them in a standard <font color=#556B2F>'''PSIMU'''</font> version! A specific mechanism is now proposed using the <font color=#FF8C00>Java</font> interface (so, not available with the <font color=#FF8C00 title="Graphical User Interface">GUI</font> mode) to add as many variables as wished. Of course, these variables will be found in the same list as the initial basic variables (see [[Customize_output_variables|here]]).
+
<font color=#556B2F>'''PSIMU'''</font> allows to get hundred of output variables but, for some users, this output list may be incomplete and they will have to wait for a new version to get them. Indeed, these variables could be so particuler that there will be no interest to integrate them in a standard <font color=#556B2F>'''PSIMU'''</font> version! A specific mechanism (see [[Customize_output_variables|here]]) is now proposed using the <font color=#FF8C00>Java</font> interface (so, not available with the <font color=#FF8C00 title="Graphical User Interface">GUI</font> mode) to add as many variables as wished. Of course, these variables will be found in the same list as the initial basic variables.
  
 
== New output modes ==
 
== New output modes ==

Version du 23 septembre 2019 à 09:19

Compatibility with PATRIUS

This version is compatible with the version 4.4 of the PATRIUS library.

New maneuvers trigerring criteriae

Thanks to the V2.1 version of GENOPUS, new criteriae on nodes and apsides have been added to the previous ones (relative or absolute dates and AOL)

Impulsive maneuvers with orbital parameters criteriae

Thanks to the V2.1 version of GENOPUS, it is now possible to define an impulsive maneuver giving orbital parameters increments:

  • on semi-major axis
  • on eccentricity (and semi-major axis eventually)
  • on inclination (and semi-major axis eventually)

Recurrent date events

Thanks to the V2.1 version of GENOPUS, it is now possible to define date (relative or absolute ones) events with a recurrence (for example each day).

New data for Dormand Price 853 integrator

Thanks to the V4.4 version of PATRIUS and the V2.1 version of GENOPUS with its new specific widget, it is now possible to by-pass the Dormand Price 853 error mode on the minimum step. When this solution is chosen, the propagation will go on even if the conditions on precision will not be temporary fulfilled.

Moreover, a user help is available to initialize tolerances values for different kind of trajectories:

TolerancesHelp.png

Additional validity criteria on PRS coefficients

Thanks to the V2.1 version of GENOPUS, besides validity interval of [0,1] for each coefficient, there is an additional test on the sum of the three coefficients (absorption, specular and diffuse) that must be equal to 1.

Altitudes on stop criteria

It is now possible to choose if the stop criteria will be a geocentric or geodetic altitude.

Best management of consistency between force model and vehicle panels

In the previous versions, if we decided to select an atmospheric model without entering data on mass and aerodynamic coefficients, the error was only detected when launching the propagation. Now it is detected sooner and the vehicle tab becomes red as it shifts in error mode.

By default attitude law

Now an attitude law is defined by default (TNW) to avoid to select if it is not critical.

Ergonomics change for output variables selection

Thanks to the V2.1 version of GENOPUS, we use a GListSelect widget rather than the previous list.

SaveResultsNew.png

Using it, it is easier to add / move / remove the variables we want to store in the MADONA columns format file

New output variables

New variables are now available:

  • F107 (solar Flux / 0 if the atmospheric model does not use it)
  • AP (geomagnetic index / 0 if the atmospheric model does not use it)
  • DV (cumulated velocity increment in m/s / 0 if no maneuvers)

Moreover, the time scale used for dates may be selected in the Output panel (UTC by default)

Possibility to customize its own output variables

PSIMU allows to get hundred of output variables but, for some users, this output list may be incomplete and they will have to wait for a new version to get them. Indeed, these variables could be so particuler that there will be no interest to integrate them in a standard PSIMU version! A specific mechanism (see here) is now proposed using the Java interface (so, not available with the GUI mode) to add as many variables as wished. Of course, these variables will be found in the same list as the initial basic variables.

New output modes

Previously, using Java interface, only three output modes were available:

  • StorageType.MEMORY ⇒ spacecraft states memory stored
  • StorageType.FILE_SC_BINARY ⇒ spacecraft states directly stored in a SQLite format file
  • StorageType.FILE_COLUMNS ⇒ output variables stored in a SQLite format file

Now, it is possible to combine any kind of output modes, using the following states:

  • StorageType.MEMORY_SC (ex StorageType.MEMORY) ⇒ spacecraft states memory stored
  • StorageType.MEMORY_COL ⇒ output variables memory stored; possibility to get them using getVarsList(), getVars(index), getVar(index,key) methods
  • StorageType.MEMORY_ALLMEMORY_SC et MEMORY_COL
  • StorageType.NONE ⇒ no memory storage
  • StorageType.FILE_SC (ex StorageType.FILE_SC_BINARY) ⇒ spacecraft states stored in a file
  • StorageType.FILE_COL (ex StorageType.FILE_COLUMNS) ⇒ output variables stored in a file
  • StorageType.FILE_ALL ⇒ StorageType.FILE_SC et StorageType.FILE_COL
  • StorageType.NONE ⇒ no files

In order to differentiate memory vs file choice, the propagateInMasterMode() method can accept both states as in the examples below:

test.propagateInMasterMode(output, events, StorageType.MEMORY_SC, StorageType.NONE);

⇒ only spacecraft states memory stored (equivalent to the old MEMORY state)

test.propagateInMasterMode(output, events, StorageType.NONE, StorageType.File_COL);

⇒ no memory storage and output variables stored in a file (as the old FILE_COLUMNS state)

test.propagateInMasterMode(output, events, StorageType.MEMORY_SC, StorageType.File_ALL);

⇒ spacecraft states stored both in memory and file as output variables will be stored in a file.

At last, to manage output variables as spacecraft states, these methods are available:

  • getVariablesList(), getVariablesWithoutEventsList(), getVariablesOnlyEventsList()
  • getVariables(index), getVariablesWithoutEvents(index), getVariablesOnlyEvents(index)
  • getVariable (index, key), getVariableWithoutEvents(index, key), getVariableOnlyEvents(index, key)

Some new util methods

The following methods have been declared as "public":

public static List<SpacecraftState> readSpacecraftStatesFromFile ( final boolean isEphem, final boolean isEvent, final String outputDirectory, final String nameFile, final String varName )
  • to convert a spacecraft state in String and vice versa:
public static SpacecraftState fromBase64(final String spacecraftStateString)
public static String toBase64(final SpacecraftState currentState)
public static List<HashMap<String, Object>> readVariablesFromFile( final boolean isEphem, final boolean isEvent, final String outputDirectory, final String nameFile, final ArrayList<String> listOfVarnames )

Anomaly corrections

  • Corrections due to GENOPUS anomalies
  • PSIMU is now able to propagate a trajectory using initial orbital parameters correspond to an hyperbolic trajectory.
  • when propagation duration is exactly equals to zero, PSIMU will no more exit in error.
  • use of mean zonal terms was previously wrong in case of Droziner or Cunningham équations (not available in GUI mode); it is now corrected.
  • In Java mode, using FILE_SC_BINARY output option, calling getSpacecraftStateList() or getSpacecraftState(i) methods now gives the same kind of results (sort problem corrected).
  • geocentric altitude and latitude (so in ITRF frame) are now correctly computed.