<?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=SequenceOfManeuvers</id>
	<title>SequenceOfManeuvers - 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=SequenceOfManeuvers"/>
	<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=SequenceOfManeuvers&amp;action=history"/>
	<updated>2026-04-12T08:23:34Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=SequenceOfManeuvers&amp;diff=1712&amp;oldid=prev</id>
		<title>Admin le 28 juin 2018 à 08:33</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=SequenceOfManeuvers&amp;diff=1712&amp;oldid=prev"/>
		<updated>2018-06-28T08:33:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 28 juin 2018 à 08:33&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Ligne 20 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 20 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         // Tank part (ergols mass)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         // Tank part (ergols mass)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final double ergolsMass = 100.;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final double ergolsMass = 100.;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final TankProperty tank = new TankProperty(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;TANK&quot;, &lt;/del&gt;ergolsMass);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final TankProperty tank = new TankProperty(ergolsMass);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addPart(&amp;quot;TANK&amp;quot;, &amp;quot;MAIN&amp;quot;, Transform.IDENTITY);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addPart(&amp;quot;TANK&amp;quot;, &amp;quot;MAIN&amp;quot;, Transform.IDENTITY);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addProperty(tank, &amp;quot;TANK&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addProperty(tank, &amp;quot;TANK&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot;&gt;Ligne 27 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 27 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final double isp = 300.;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final double isp = 300.;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final double thrust = 400.;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final double thrust = 400.;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final PropulsiveProperty prop = new PropulsiveProperty(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;PROP&quot;, &lt;/del&gt;thrust, isp);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         final PropulsiveProperty prop = new PropulsiveProperty(thrust, isp);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addPart(&amp;quot;PROP&amp;quot;, &amp;quot;MAIN&amp;quot;, Transform.IDENTITY);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addPart(&amp;quot;PROP&amp;quot;, &amp;quot;MAIN&amp;quot;, Transform.IDENTITY);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addProperty(prop, &amp;quot;PROP&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         builder.addProperty(prop, &amp;quot;PROP&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key w3?hpatrius?hprod:diff:1.41:old-54:rev-1712:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=SequenceOfManeuvers&amp;diff=54&amp;oldid=prev</id>
		<title>Admin : Page créée avec « &lt;syntaxhighlight lang=&quot;java&quot;&gt; public class SequenceOfManeuvers {      public static void main(String[] args) throws PatriusException {                  // Patrius Dataset... »</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=SequenceOfManeuvers&amp;diff=54&amp;oldid=prev"/>
		<updated>2018-02-13T12:14:46Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt; public class SequenceOfManeuvers {      public static void main(String[] args) throws PatriusException {                  // Patrius Dataset... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class SequenceOfManeuvers {&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args) throws PatriusException {&lt;br /&gt;
        &lt;br /&gt;
        // Patrius Dataset initialization (needed for example to get the UTC time)&lt;br /&gt;
        PatriusDataset.addResourcesFromPatriusDataset() ;&lt;br /&gt;
&lt;br /&gt;
        // Recovery of the UTC time scale using a &amp;quot;factory&amp;quot; (not to duplicate such unique object)&lt;br /&gt;
        final TimeScale TUC = TimeScalesFactory.getUTC();&lt;br /&gt;
&lt;br /&gt;
        // Creating a mass model with a main part and with a tank&lt;br /&gt;
        final AssemblyBuilder builder = new AssemblyBuilder();&lt;br /&gt;
        &lt;br /&gt;
        // Main part (dry mass)&lt;br /&gt;
        final double dryMass = 1000.;&lt;br /&gt;
        builder.addMainPart(&amp;quot;MAIN&amp;quot;);&lt;br /&gt;
        builder.addProperty(new MassProperty(dryMass), &amp;quot;MAIN&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // Tank part (ergols mass)&lt;br /&gt;
        final double ergolsMass = 100.;&lt;br /&gt;
        final TankProperty tank = new TankProperty(&amp;quot;TANK&amp;quot;, ergolsMass);&lt;br /&gt;
        builder.addPart(&amp;quot;TANK&amp;quot;, &amp;quot;MAIN&amp;quot;, Transform.IDENTITY);&lt;br /&gt;
        builder.addProperty(tank, &amp;quot;TANK&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // Engine part&lt;br /&gt;
        final double isp = 300.;&lt;br /&gt;
        final double thrust = 400.;&lt;br /&gt;
        final PropulsiveProperty prop = new PropulsiveProperty(&amp;quot;PROP&amp;quot;, thrust, isp);&lt;br /&gt;
        builder.addPart(&amp;quot;PROP&amp;quot;, &amp;quot;MAIN&amp;quot;, Transform.IDENTITY);&lt;br /&gt;
        builder.addProperty(prop, &amp;quot;PROP&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        final Assembly assembly = builder.returnAssembly();&lt;br /&gt;
        final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
        &lt;br /&gt;
// SPECIFIC IMPULSIVE MANEUVER&lt;br /&gt;
        // Event corresponding to the criteria to trigger the impulsive maneuver&lt;br /&gt;
        // (when the S/C is at the apogee)&lt;br /&gt;
        final EventDetector event = new AnomalyDetector(PositionAngle.TRUE, FastMath.PI);&lt;br /&gt;
        // Creation of the impulsive maneuver (20 m/s int the x vehicle direction)&lt;br /&gt;
        final Vector3D deltaV = new Vector3D(20., 0., 0.);&lt;br /&gt;
        final ImpulseManeuver imp = new ImpulseManeuver(event, deltaV, prop, mm, tank, LOFType.TNW);&lt;br /&gt;
        &lt;br /&gt;
// SPECIFIC CONTINUOUS MANEUVER&lt;br /&gt;
        // Duration of the continuous maneuver to get a 20 m/s boost&lt;br /&gt;
        final AbsoluteDate startDate = new AbsoluteDate(&amp;quot;2010-01-01T12:00:00.000&amp;quot;, TUC);&lt;br /&gt;
        final double G0 = 9.80665;&lt;br /&gt;
        final double duration = G0*isp*mm.getTotalMass()*(1. - FastMath.exp(-20/(G0*isp)))/thrust;&lt;br /&gt;
        // Direction of the thrust in the X vehicle axis&lt;br /&gt;
        final Vector3D direction = new Vector3D(1., 0., 0.);&lt;br /&gt;
        // Creation of the continuous thrust maneuver&lt;br /&gt;
        final ContinuousThrustManeuver man = new ContinuousThrustManeuver(startDate, duration, prop, direction, mm, tank, LOFType.TNW);&lt;br /&gt;
&lt;br /&gt;
// SPECIFIC SEQUENCE OF MANEUVERS&lt;br /&gt;
        ManeuversSequence seq = new ManeuversSequence(10., 10.);&lt;br /&gt;
        seq.add(imp);&lt;br /&gt;
        seq.add(man);&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(&amp;quot;Amount of maneuvers: &amp;quot;+seq.getSize());&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>