DLR-SL / CPACS

CPACS - Common Parametric Aircraft Configuration Schema
http://dlr-sl.github.io/CPACS/
Apache License 2.0
79 stars 38 forks source link

Definition of payloadElements and payload node #724

Open ErwinMoerland opened 3 years ago

ErwinMoerland commented 3 years ago

Currently, the definition of payload in CPACS is limited to:

/cpacs/vehicles/../model/global/payload <!-- providing nPax and mCargo -->
/cpacs/vehicles/../model/analyses/massBreakdown/payload <!-- providing the massBreakdown of the payload -->

For advanced payload considerations, it is suggested to create a general overview of possible payload elements at /cpacs/vehicles/payloadElements, containing the following nodes:

<payloadElements>
   <pylons> <!-- providing a list of possible pylons which can be used to attach the payload to -->
   <deployables> <!-- providing a list of possible deployables which can be taken along as payload -->
   <operationalItems> <!-- providing a list of possible operationalItems which can be taken along as payload (these have a mass, but no specific location is defined) -->
</payloadElements>

The model-specific information should then be added to /cpacs/vehicles/../model/payload

<payload>
   <stations> <!-- providing the payload attachment stations of the configuration -->
   <configurations><!-- providing payload configuration sets -->
      <configuration uID="PayloadConfiguration_01">
         <deployables> <!-- adding pylons, and a quantity of deployables to the provided stations -->
            <stationUIDs mapType="vector"/>
            <pylonUIDs mapType="vector"/>
            <deployableUIDs mapType="vector"/>
            <quantity mapType="vector"/>
         </deployables>
         <operationalItemUIDs/> <!-- providing the set of operationalItems to be taken along -->
      </configuration>
  </configurations>
</payload>

At the model-specific configuration node within /cpacs/vehicles/../model/configurations/configuration, each configuration is then assigned a specific payload configuration. See also #636

<configuration>
   <payloadConfigurationUID>PayloadConfiguration_01</payloadConfigurationUID>
</configuration>

TODO:

ErwinMoerland commented 3 years ago

Here the example case:


<?xml version="1.0" encoding="utf-8"?>
<cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cpacs_schema.xsd">
    <vehicles>
        <aircraft>
            <model uID="aircaftModelUID">
                <name>aircraft model</name>
                <description>some aircraft model description</description>
                <configurations>
                    <configuration uID="clean">
                        <payloadConfigurationUID>Payload_clean</payloadConfigurationUID>
                    </configuration>
                    <configuration uID="ferry">
                        <payloadConfigurationUID>Payload_ferry</payloadConfigurationUID>
                    </configuration>
                </configurations>
                <payload>
                    <stations>
                        <station uID="station_fus1">
                            <parentUID>Fuselage</parentUID>
                            <internal>0</internal>
                            <stationType>wet</stationType>
                            <relativeXPosition>0.5</relativeXPosition>
                            <relativeYPosition>0.0</relativeYPosition>
                            <relativeZPosition>-0.2</relativeZPosition>
                        </station>
                        <station uID="station_wing1" symmetry="x-z-plane">
                            <parentUID>Wing</parentUID>
                            <internal>0</internal>
                            <stationType>wet</stationType>
                            <relativeXPosition>-0.4</relativeXPosition>
                            <relativeYPosition>0.3</relativeYPosition>
                            <relativeZPosition>-0.30</relativeZPosition>
                        </station>
                    </stations>
                    <configurations>
                        <configuration uID="Payload_clean">
                            <name>Clean</name>
                            <deployables>
                                <station maptype="vector"/>
                                <pylon maptype="vector"/>
                                <deployable maptype="vector"/>
                                <quantity maptype="vector"/>
                            </deployables>
                            <operationalItemUIDs>
                                <uID>someOperationalItem1</uID>
                                <uID>someOperationalItem2</uID>
                            </operationalItemUIDs>
                        </configuration>
                        <configuration uID="Payload_ferry">
                            <name>Ferry with external tanks</name>
                            <deployables>
                                <station maptype="vector">"station_fus1";"station_wing1"</station>
                                <pylon maptype="vector">"externalFuelTankAttachment";"externalFuelTankAttachment"</pylon>
                                <type maptype="vector">"ET_300gal"; "ET_370gal"</type>
                                <quantity maptype="vector">1; 2</quantity>
                            </deployables>
                            <operationalItemUIDs>
                                <uID>someOperationalItem1</uID>
                                <uID>someOperationalItem2</uID>
                            </operationalItemUIDs>
                        </configuration>
                    </configurations>
                </payload>
            </model>
        </aircraft>
        <payloadElements>
            <operationalItems>
                <operationalItem uID="someOperationalItem1">
                    <mass>20.0</mass>
                </operationalItem>
                <operationalItem uID="someOperationalItem2">
                    <mass>25.0</mass>
                </operationalItem>
            </operationalItems>
            <deployables>
                <deployable uID="ET_300gal">
                    <type>externalTank</type>
                    <length>4.0</length>
                    <diameter>0.6</diameter>
                    <mass>215.0</mass>
                    <fuelVolume>1.135</fuelVolume>
                </deployable>
                <deployable uID="ET_370gal">
                    <type>externalTank</type>
                    <length>5.0</length>
                    <diameter>0.6</diameter>
                    <mass>265.0</mass>
                    <fuelVolume>1.4</fuelVolume>
                </deployable>
            </deployables>
            <pylons>
                <pylon uID="externalFuelTankAttachment">
                    <length>2.0</length>
                    <width>0.5</width>
                    <height>0.20</height>
                    <mass>30.0</mass>
                    <releasable>true</releasable>
                </pylon>
            </pylons>
        </payloadElements>
    </vehicles>
</cpacs>
MarAlder commented 3 years ago

Looks good. 👍 I propose the following implementation:

grafik

grafik

As the proposal looks quite military, will there be confusion with civil applications? Will designers look for passenger modeling capabilities or so? (Edit: Ah, I think this is what is meant with the second open action...)

ErwinMoerland commented 3 years ago

yep, that is exactly what was meant with the second action ;)

ErwinMoerland commented 3 years ago