<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.12_Multi_Propagation</id>
	<title>User Manual 4.12 Multi Propagation - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.12_Multi_Propagation"/>
	<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.12_Multi_Propagation&amp;action=history"/>
	<updated>2026-04-07T22:24:25Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_4.12_Multi_Propagation&amp;diff=3522&amp;oldid=prev</id>
		<title>Admin : Page créée avec « == Introduction == === Scope === This section describes the multi propagator provided by the Patrius library. At this time, only numerical propagator is available for mult... »</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.12_Multi_Propagation&amp;diff=3522&amp;oldid=prev"/>
		<updated>2023-12-19T10:03:52Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « == Introduction == === Scope === This section describes the multi propagator provided by the Patrius library. At this time, only numerical propagator is available for mult... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
=== Scope ===&lt;br /&gt;
This section describes the multi propagator provided by the Patrius library. At this time, only numerical propagator is available for multi spacecraft propagation.&lt;br /&gt;
Generic features about propagators as well as other type of propagators are detailed [ORB_PGEN_Home here].&lt;br /&gt;
&lt;br /&gt;
=== Javadoc ===&lt;br /&gt;
All the classes related to numerical propagation are in the &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.propagation.numerical.multi&amp;lt;/code&amp;gt; package of the Patrius library. The classes related to events detection are in the package &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.propagation.events.multi&amp;lt;/code&amp;gt; of the Patrius library. But the interface for multi event detectors is in &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.propagation.events.multi&amp;lt;/code&amp;gt; package of the Patrius library. All the classes related to attitude providers for multi satellites are in the package &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.attitudes.multi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Library&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|Patrius &lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/events/multi/package-summary.html Package fr.cnes.sirius.patrius.propagation.events.multi]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/events/multi/package-summary.html Package fr.cnes.sirius.patrius.events.multi]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/events/multi/package-summary.html Package fr.cnes.sirius.patrius.propagation.events.multi]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/multi/package-summary.html Package fr.cnes.sirius.patrius.propagation.numerical.multi]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/precomputed/multi/package-summary.html Package fr.cnes.sirius.patrius.propagation.precomputed.multi]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/sampling/multi/package-summary.html Package fr.cnes.sirius.patrius.propagation.sampling.multi]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/attitudes/multi/package-summary.html Package fr.cnes.sirius.patrius.attitudes.multi]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
Other useful links can be found here :&lt;br /&gt;
* [ORB_PRO_Home Classical propagation chapter]&lt;br /&gt;
* [FDY_SST_Home SpacecraftState chapter]&lt;br /&gt;
&lt;br /&gt;
=== Useful Documents ===&lt;br /&gt;
None as of now.&lt;br /&gt;
&lt;br /&gt;
=== Package Overview ===&lt;br /&gt;
==== Multi Numerical Propagator ====&lt;br /&gt;
&lt;br /&gt;
The multi propagator architecture is copied from [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/Propagator.html Propagator] interface and [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/NumericalPropagator.html NumericalPropagator] class, and added to PATRIUS library.&lt;br /&gt;
&lt;br /&gt;
[[File:MultiNumericalPropagator.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Three propagation modes ====&lt;br /&gt;
Like single spacecraft propagation, the multi spacecraft propagation can be performed in different propagation modes : slave, master and ephemeris generation.&lt;br /&gt;
&lt;br /&gt;
== Features Description ==&lt;br /&gt;
The PATRIUS library offers a [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/multi/MultiNumericalPropagator.html multi numerical propagator]. It aims at propagating several [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/SpacecraftState.html SpacecraftState] at the same time using numerical propagation. The N [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/SpacecraftState.html SpacecraftState] are propagated during the same time interval using the same [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/math/ode/FirstOrderIntegrator.html FirstOrderIntegrator].&lt;br /&gt;
&lt;br /&gt;
Each state is identified with an ID of type String. All states can be completely different but they should have the same internal date.&lt;br /&gt;
&lt;br /&gt;
As for the mono-satellite numerical propagation, it is possible to define the following global propagation parameters: &lt;br /&gt;
* The type of orbital parameters and position angle&lt;br /&gt;
* The propagation mode&lt;br /&gt;
&lt;br /&gt;
For each state, it is possible to configure the following elements: &lt;br /&gt;
* The central attraction coefficient&lt;br /&gt;
* The force models&lt;br /&gt;
* The tolerances used for orbital parameters and the tolerances applied on additional states.&lt;br /&gt;
* The additional states equations associated with the additional states&lt;br /&gt;
* The attitude providers&lt;br /&gt;
&lt;br /&gt;
It is possible to define event detectors applied on a specific state or global event detectors applied on several states.&lt;br /&gt;
&lt;br /&gt;
Note that the NumericalPropagator and the MultiNumericalPropagator do not use anymore the Newtonian gravity model by default. It should now be added manually to the list of the force models before starting the propagation.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
Here is presented a basic instanciation of the multi numerical propagator.&lt;br /&gt;
&lt;br /&gt;
=== Create propagator from FirstOrderIntegrator ===&lt;br /&gt;
&lt;br /&gt;
The [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/multi/MultiNumericalPropagator.html MultiNumericalPropagator] should be created by giving a [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/math/ode/FirstOrderIntegrator.html FirstOrderIntegrator].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;final MultiNumericalPropagator propagator = new MultiNumericalPropagator(integrator);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The integrator could be declared using absolute and relative tolerances represented by  : &lt;br /&gt;
* a scalar value&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double abstolScal = 1.0e-10;&lt;br /&gt;
final double reltolScal = 1.0e-10;&lt;br /&gt;
final FirstOrderIntegrator integratorScal = new DormandPrince853Integrator(0.001, 200, abstolScal, reltolScal);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* a vector&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final double[] abstolVec = { 1e-5, 1e-5, 1e-5, 1e-8, 1e-8, 1e-8};&lt;br /&gt;
final double[] reltolVec = { 1e-10, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10};&lt;br /&gt;
final FirstOrderIntegrator integratorVec = new DormandPrince853Integrator(0.1, 60., abstolVec, reltolVec);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The orbit tolerances (vector or scalar tolerances) given to the integrator are used as default tolerances. The orbit tolerances could be defined in vector type using the method &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setOrbitTolerance&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Add initial states ===&lt;br /&gt;
Initial states could be added to the propagator using the method &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;addInitialState(SpacecraftState, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Each added state is defined by a unique ID. An error is raised if : &lt;br /&gt;
* the input spacecraft ID is empty or null.&lt;br /&gt;
* a state with the same ID was already added to the propagator.&lt;br /&gt;
* the date associated with the added state is different from the date associated with the states previously added. (All states are propagated from the same date).&lt;br /&gt;
&lt;br /&gt;
Note that, the initial state should be added before adding an additional equation, an attitude provider, a force model, an event ... etc ... associated with this state. Otherwise, the input spacecraft Id will not be recognized.&lt;br /&gt;
&lt;br /&gt;
The map of the added states could be retrieved with &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;getInitialStates()&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Add additional equations ===&lt;br /&gt;
As for the [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/NumericalPropagator.html NumericalPropagator], additional equations corresponding to the additional states of each states can be added to the propagator.&lt;br /&gt;
&lt;br /&gt;
These additional equations are given to the multi numerical propagator for a specific state thanks to the following methods :&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;addAdditionalEquation(AdditionalEquation, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;addAttitudeEquation(AttitudeEquation, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setMassProviderEquation(MassProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (This method should be called only once, mass provider must be mass provider used in force models)&lt;br /&gt;
&lt;br /&gt;
The method &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAdditionalStateTolerance(String, double[], double[])&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; may be used to add variation tolerance values (absolute and relative) to a specific additional state.&lt;br /&gt;
&lt;br /&gt;
For each state, the additional states should correspond with the added additional equations (same name, same size).&lt;br /&gt;
As of PATRIUS 4.12, partial derivatives equations are available for multi-numerical propagation with the class &amp;lt;code&amp;gt;MultiPartialDerivativesEquations&amp;lt;/code&amp;gt;. They are used exactly the same way as for mono-satellite propagation. Note that a set of partial derivatives equations has to be provided for each satellite, allowing for different sets of partial derivatives equations for each satellite.&lt;br /&gt;
&lt;br /&gt;
See [ORB_PRO_UseP mono numerical propagation] chapter for more details.&lt;br /&gt;
&lt;br /&gt;
The following example shows how to propagate two basic SpacecraftState :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Initial date&lt;br /&gt;
final AbsoluteDate date = AbsoluteDate.J2000_EPOCH;&lt;br /&gt;
&lt;br /&gt;
// Constants&lt;br /&gt;
final double mu = Constants.EGM96_EARTH_MU;&lt;br /&gt;
final Frame gcrf = FramesFactory.getGCRF();&lt;br /&gt;
final String STATE1 = &amp;quot;STATE1&amp;quot;;&lt;br /&gt;
final String STATE2 = &amp;quot;STATE2&amp;quot;;&lt;br /&gt;
final String BODY = &amp;quot;body&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// First initial state&lt;br /&gt;
final Orbit orbit1 = new KeplerianOrbit(7500000, 0.001, 0.40, 0, 0, 0,PositionAngle.MEAN, gcrf, date, mu);&lt;br /&gt;
final MassProvider massModel = new SimpleMassModel(1000., BODY);&lt;br /&gt;
final SpacecraftState state1 = new SpacecraftState(orbit1, massModel);&lt;br /&gt;
&lt;br /&gt;
// Second initial state&lt;br /&gt;
final Vector3D position = new Vector3D(7.0e6, 1.0e6, 4.0e6);&lt;br /&gt;
final Vector3D velocity = new Vector3D(-500.0, 8000.0, 1000.0);&lt;br /&gt;
final Orbit orbit2 = new EquinoctialOrbit(new PVCoordinates(position, velocity), gcrf, date, mu);&lt;br /&gt;
final AttitudeProvider law = new ConstantAttitudeLaw(FramesFactory.getEME2000(), Rotation.IDENTITY);&lt;br /&gt;
final Attitude attitude = law.getAttitude(orbit2, date, gcrf);&lt;br /&gt;
final SpacecraftState state2 = new SpacecraftState(orbit2, attitude);&lt;br /&gt;
&lt;br /&gt;
// Add initial states to the propagator&lt;br /&gt;
propagator.addInitialState(state1, STATE1);&lt;br /&gt;
propagator.addInitialState(state2, STATE2);&lt;br /&gt;
&lt;br /&gt;
// Note that the NumericalPropagator and the MultiNumericalPropagator do not use anymore the Newtonian gravity model by default. It should now be added manually to the list of the force models before starting the propagation.&lt;br /&gt;
mainPropagator.addForceModel(new DirectBodyAttraction(new NewtonianGravityModel(mu, STATE1));&lt;br /&gt;
mainPropagator.addForceModel(new DirectBodyAttraction(new NewtonianGravityModel(mu, STATE2));&lt;br /&gt;
&lt;br /&gt;
// Add additional equation associated with the mass model of the first state&lt;br /&gt;
// Mass provider must be mass provider used in force models.&lt;br /&gt;
propagator.setMassProviderEquation(massModel, STATE1);&lt;br /&gt;
propagator.setAdditionalStateTolerance(&amp;quot;MASS_&amp;quot; + BODY, new double[]{1e-7}, new double[]{1e-7}, STATE1);&lt;br /&gt;
&lt;br /&gt;
// Set attitude provider associated with the second state&lt;br /&gt;
propagator.setAttitudeProvider(law, STATE2);&lt;br /&gt;
&lt;br /&gt;
// propagation&lt;br /&gt;
final Map&amp;lt;String, SpacecraftState&amp;gt; finalStates = propagator.propagate(date.shiftedBy(propagationDuration));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Propagate the attitude ===&lt;br /&gt;
&lt;br /&gt;
As for the [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/NumericalPropagator.html NumericalPropagator], to propagate the [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/attitudes/Attitude.html Attitude] of a specific state, two treatments could be applied :&lt;br /&gt;
 &lt;br /&gt;
*compute the attitude with an [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/attitudes/AttitudeProvider.html AttitudeProvider] : &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProvider(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br&amp;gt;It is possible to deals with : &lt;br /&gt;
**a single attitude by calling &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProvider(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**two attitudes by calling &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProviderForces(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProviderEvents(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. It is not possible to call &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProvider(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProviderForces(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (or &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProviderEvents(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*propagate the attitude as a 7-dimension additional state : &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;addAttitudeEquation(AttitudeEquation, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br&amp;gt;In practical terms, the user has to build the additional equation by extending the abstract class [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/AttitudeEquation.html AttitudeEquation], call &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;addAttitudeEquation(AttitudeEquation, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
See [ORB_PRO_UseP mono numerical propagation] chapter for more details.&lt;br /&gt;
&lt;br /&gt;
=== Add force model ===&lt;br /&gt;
For each state, a force model could be added to the list of forces used at each step by the propagator.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
propagator.addForceModel(model, STATE1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [ORB_PHY_Home force model] chapter for more details.&lt;br /&gt;
&lt;br /&gt;
=== Add event detector ===&lt;br /&gt;
The user could add : &lt;br /&gt;
*an [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/events/EventDetector.html EventDetector] associated with a specific state using &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;addEventDetector(EventDetector, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*a [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/events/multi/MultiEventDetector.html MultiEventDetector] associated with several states added to the propagator using &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;addEventDetector(MultiEventDetector)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [MIS_EVT_Home events presentation] and [MIS_MEVEN_Home multi events presentation] chapters for more details.&lt;br /&gt;
&lt;br /&gt;
=== Add attitude provider ===&lt;br /&gt;
The user could add : &lt;br /&gt;
*an [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/attitudes/AttitudeProvider.html AttitudeProvider] returning the independant attitude  of one satellite using &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProvider(AttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*a [{{JavaDoc4.12}}/fr/cnes/sirius/patrius/attitudes/multi/MultiAttitudeProvider.html MultiAttitudeProvider] returning the attitude of one satellite correlated to the other using &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;setAttitudeProvider(MultiAttitudeProvider, String)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Note that method &amp;lt;code&amp;gt;getAttitudeProvider()&amp;lt;/code&amp;gt; always returns a &amp;lt;code&amp;gt;MultiAttitudeProvider&amp;lt;/code&amp;gt; whether you provided a single or multi attitude provider.&lt;br /&gt;
If you provided a single &amp;lt;code&amp;gt;AttitudeProvider&amp;lt;/code&amp;gt; then you can retrive it by calling &amp;lt;code&amp;gt;((MultiAttitudeProviderWrapper) multiNumericalPropagator.getAttitudeProvider()).getAttitudeProvider()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
=== Interfaces ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interface&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|**MultiPropagator&lt;br /&gt;
|This interface provides a way to propagate several states at any time.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/MultiPropagator.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|**MultiAttitudeProvider&lt;br /&gt;
|This interface is an attitude provider taking into account the state of the others satellites.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/attitudes.multi/MultiAttitudeProvider.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|**MultiModeHandler&lt;br /&gt;
|Common interface for all multi propagator mode handlers initialization.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/multi/MultiModeHandler.html ...]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;SpacecraftState&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class is the representation of a complete state holding orbit, attitude for forces and for events computation and additional states at a given date.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/SpacecraftState.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;MultiNumericalPropagator&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class propagates several SpacecraftState using numerical integration.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/multi/MultiNumericalPropagator.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;AttitudeEquation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class represents attitude differential equations.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/AttitudeEquation.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;MultiIntegratedEphemeris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class stores sequentially generated orbital parameters for later retrieval.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/precomputed/multi/MultiIntegratedEphemeris.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;MultiPartialDerivativesEquations&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class computes the partial derivatives equations for one satellite. It is handled exactly as its mono-satellite counterpart PartialDerivativesEquations.&lt;br /&gt;
|[{{JavaDoc4.12}}/fr/cnes/sirius/patrius/propagation/numerical/multi/MultiPartialDerivativesEquations.html ...]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Manual_4.12_Orbit_Propagation]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>