<?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=UsingVehicleClassComplete_4.1</id>
	<title>UsingVehicleClassComplete 4.1 - 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=UsingVehicleClassComplete_4.1"/>
	<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=UsingVehicleClassComplete_4.1&amp;action=history"/>
	<updated>2026-06-13T21:45:17Z</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=UsingVehicleClassComplete_4.1&amp;diff=1913&amp;oldid=prev</id>
		<title>Admin : Page créée avec « &lt;syntaxhighlight lang=&quot;java&quot;&gt; public class UsingVehicleClassComplete {          private enum TYPE { EMPTY, COMPLETE };      public static void main(String[] args) throws P... »</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=UsingVehicleClassComplete_4.1&amp;diff=1913&amp;oldid=prev"/>
		<updated>2018-12-21T10:10:06Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt; public class UsingVehicleClassComplete {          private enum TYPE { EMPTY, COMPLETE };      public static void main(String[] args) throws P... »&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 UsingVehicleClassComplete {&lt;br /&gt;
    &lt;br /&gt;
    private enum TYPE { EMPTY, COMPLETE };&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args) throws PatriusException {&lt;br /&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 lref = 1.0;&lt;br /&gt;
        final Sphere sphere = new Sphere(lref);&lt;br /&gt;
        final RightParallelepiped solarPanels = new RightParallelepiped(1., 0.1, 0.1); // To be replaced by addSolarPanels ?&lt;br /&gt;
        VehicleSurfaceModel vehicleRefSurfacewithoutSolarPanels = new VehicleSurfaceModel(sphere, null);&lt;br /&gt;
        VehicleSurfaceModel vehicleRefSurfaceWithSolarpanels = new VehicleSurfaceModel(sphere, solarPanels);&lt;br /&gt;
        VehicleSurfaceModel vehicleRefSurface = vehicleRefSurfacewithoutSolarPanels;&lt;br /&gt;
       &lt;br /&gt;
        // Aerodynamic properties&lt;br /&gt;
        final double cd = 2.;&lt;br /&gt;
        final double cl = 2.;&lt;br /&gt;
        final AerodynamicProperties aerodynamicProperties = new AerodynamicProperties(vehicleRefSurface, cd, cl);&lt;br /&gt;
        &lt;br /&gt;
         // Radiative properties        &lt;br /&gt;
        final double ka = 1.0;&lt;br /&gt;
        final double ks = 0.0;&lt;br /&gt;
        final double kd = 0.0;&lt;br /&gt;
        final double kaIr = 1.0;&lt;br /&gt;
        final double ksIr = 0.0;&lt;br /&gt;
        final double kdIr = 0.0;&lt;br /&gt;
        final RadiativeProperty radiativeProperty = new RadiativeProperty(ka, ks, kd);&lt;br /&gt;
        final RadiativeIRProperty radiativeIRProperty =&lt;br /&gt;
                new RadiativeIRProperty(kaIr, ksIr, kdIr);&lt;br /&gt;
        final RadiativeProperties radiativeProperties =&lt;br /&gt;
                new RadiativeProperties(radiativeProperty, radiativeIRProperty, vehicleRefSurface);&lt;br /&gt;
      &lt;br /&gt;
        // Propulsive properties&lt;br /&gt;
        &lt;br /&gt;
        // Tanks&lt;br /&gt;
        final double merg1 = 100.;&lt;br /&gt;
        final TankProperty tank1 = new TankProperty(merg1);&lt;br /&gt;
        tank1.setPartName(&amp;quot;TANK1&amp;quot;);&lt;br /&gt;
        final double merg2 = 200.;&lt;br /&gt;
        final TankProperty tank2 = new TankProperty(merg2);&lt;br /&gt;
        tank2.setPartName(&amp;quot;TANK2&amp;quot;);&lt;br /&gt;
        final ArrayList&amp;lt;TankProperty&amp;gt; tanksList = new ArrayList&amp;lt;TankProperty&amp;gt;();&lt;br /&gt;
        tanksList.add(tank1);&lt;br /&gt;
        tanksList.add(tank2);&lt;br /&gt;
        &lt;br /&gt;
        // Engine&lt;br /&gt;
        final double thrust = 400.;&lt;br /&gt;
        final double isp = 320.;&lt;br /&gt;
        final PropulsiveProperty engine = new PropulsiveProperty(thrust, isp);&lt;br /&gt;
        engine.setPartName(&amp;quot;PROP&amp;quot;);&lt;br /&gt;
        final ArrayList&amp;lt;PropulsiveProperty&amp;gt; enginesList = new ArrayList&amp;lt;PropulsiveProperty&amp;gt;();&lt;br /&gt;
        enginesList.add(engine);&lt;br /&gt;
        &lt;br /&gt;
        for ( TYPE type : TYPE.values() ) {&lt;br /&gt;
            &lt;br /&gt;
            Vehicle veh = null;&lt;br /&gt;
            &lt;br /&gt;
            if ( type == TYPE.EMPTY ) {&lt;br /&gt;
                &lt;br /&gt;
                // Case with an initial empty constructor&lt;br /&gt;
                System.out.println(&amp;quot;\nCASE OF EMPTY CONSTRUCTOR&amp;quot;);&lt;br /&gt;
                veh = new Vehicle();&lt;br /&gt;
                veh.setDryMass(dryMass);&lt;br /&gt;
                veh.setMainShape(sphere);&lt;br /&gt;
                veh.addSolarPanel(Vector3D.PLUS_I, 1.);&lt;br /&gt;
                veh.setAerodynamicsProperties(cd, cl);        &lt;br /&gt;
                veh.setRadiativeProperties(ka, ks, kd, kaIr, ksIr, kdIr);        &lt;br /&gt;
                veh.addTank(tank1.getPartName(), tank1);&lt;br /&gt;
                veh.addTank(tank2.getPartName(), tank2);        &lt;br /&gt;
                veh.addEngine(engine.getPartName(), engine);&lt;br /&gt;
&lt;br /&gt;
            } else {&lt;br /&gt;
                &lt;br /&gt;
                // Case with a complete constructor&lt;br /&gt;
                System.out.println(&amp;quot;\nCASE OF COMPLETE CONSTRUCTOR&amp;quot;);&lt;br /&gt;
                veh = new Vehicle(vehicleRefSurface, null, dryMassProperty, aerodynamicProperties, radiativeProperties, enginesList, tanksList);&lt;br /&gt;
                //veh.setMainShape(sphere);&lt;br /&gt;
&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Getting the corresponding assembly&lt;br /&gt;
            final Assembly assembly = veh.createAssembly(FramesFactory.getCIRF());&lt;br /&gt;
            &lt;br /&gt;
            // Getting the corresponding mass model (useful for propagation, maneuvres, ...)&lt;br /&gt;
            final MassProvider mm = new MassModel(assembly);&lt;br /&gt;
          &lt;br /&gt;
            // Getting main characteristics&lt;br /&gt;
            System.out.println(&amp;quot;\nMAIN PROPERTIES&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;Name of the main part: &amp;quot; + assembly.getMainPart().getName());        &lt;br /&gt;
            System.out.println(&amp;quot;Total mass: &amp;quot; + mm.getTotalMass());&lt;br /&gt;
            &lt;br /&gt;
            // Getting propulsive characteristics&lt;br /&gt;
            System.out.println(&amp;quot;\nPROPULSIVE PROPERTIES&amp;quot;);&lt;br /&gt;
            for (int i = 0; i &amp;lt; veh.getEnginesList().size(); i++) {&lt;br /&gt;
                System.out.println(veh.getEnginesList().get(i).getPartName());&lt;br /&gt;
                System.out.println(&amp;quot;Thrust = &amp;quot;+veh.getEnginesList().get(i).getThrust(null)+&amp;quot; N&amp;quot;);&lt;br /&gt;
                System.out.println(&amp;quot;Isp = &amp;quot;+veh.getEnginesList().get(i).getIsp(null)+ &amp;quot;s&amp;quot;);&lt;br /&gt;
            }            &lt;br /&gt;
            for (int i = 0; i &amp;lt; veh.getTanksList().size(); i++) {&lt;br /&gt;
                System.out.println(veh.getTanksList().get(i).getPartName()+&amp;quot;: &amp;quot;+veh.getTanksList().get(i).getMass()+&amp;quot; kg&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Getting aerodynamics characteristics&lt;br /&gt;
            System.out.println(&amp;quot;\nAERODYNAMIC PROPERTIES&amp;quot;);&lt;br /&gt;
            final Vector3D xDir = new Vector3D(1., 0., 0.);&lt;br /&gt;
            final Vector3D yDir = new Vector3D(0., 1., 0.);&lt;br /&gt;
            final Vector3D zDir = new Vector3D(0., 0., 1.);&lt;br /&gt;
            System.out.println(&amp;quot;SX = &amp;quot;+veh.getMainShape().getCrossSection(xDir)+&amp;quot; m2&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;SX = &amp;quot;+veh.getAerodynamicProperties().getVehicleSurfaceModel().getMainPartShape().getCrossSection(xDir)+&amp;quot; m2&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;SY = &amp;quot;+veh.getAerodynamicProperties().getVehicleSurfaceModel().getMainPartShape().getCrossSection(yDir)+&amp;quot; m2&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;SZ = &amp;quot;+veh.getAerodynamicProperties().getVehicleSurfaceModel().getMainPartShape().getCrossSection(zDir)+&amp;quot; m2&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;CD = &amp;quot;+veh.getAerodynamicProperties().getConstantDragCoef());&lt;br /&gt;
&lt;br /&gt;
            System.out.println(&amp;quot;\nRADIATIVE PROPERTIES&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;SX = &amp;quot;+veh.getRadiativeProperties().getVehicleSurfaceModel().getMainPartShape().getCrossSection(xDir)+&amp;quot; m2&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;SY = &amp;quot;+veh.getRadiativeProperties().getVehicleSurfaceModel().getMainPartShape().getCrossSection(yDir)+&amp;quot; m2&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;SZ = &amp;quot;+veh.getRadiativeProperties().getVehicleSurfaceModel().getMainPartShape().getCrossSection(zDir)+&amp;quot; m2&amp;quot;);&lt;br /&gt;
            System.out.println(&amp;quot;KA = &amp;quot;+veh.getRadiativeProperties().getRadiativeProperty().getAbsorptionRatio().getValue());&lt;br /&gt;
            System.out.println(&amp;quot;KD = &amp;quot;+veh.getRadiativeProperties().getRadiativeProperty().getDiffuseReflectionRatio().getValue());&lt;br /&gt;
            System.out.println(&amp;quot;KS = &amp;quot;+veh.getRadiativeProperties().getRadiativeProperty().getSpecularReflectionRatio().getValue());&lt;br /&gt;
            System.out.println(&amp;quot;KAI = &amp;quot;+veh.getRadiativeProperties().getRadiativeIRProperty().getAbsorptionCoef().getValue());&lt;br /&gt;
            System.out.println(&amp;quot;KDI = &amp;quot;+veh.getRadiativeProperties().getRadiativeIRProperty().getDiffuseReflectionCoef().getValue());&lt;br /&gt;
            System.out.println(&amp;quot;KSI = &amp;quot;+veh.getRadiativeProperties().getRadiativeIRProperty().getSpecularReflectionCoef().getValue());&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
               &lt;br /&gt;
        &lt;br /&gt;
    }&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>