From 6925b1901596e15f3a009176b1d880b919eab151 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 7 Jul 2021 17:43:04 +0200 Subject: [PATCH 001/123] implement Agile 4.0 with a taste of Imothep --- schema/cpacs_schema.xsd | 212 +++++++++++++++++++++++++++++++++------- 1 file changed, 176 insertions(+), 36 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 6903033..7a5d3a6 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -13408,11 +13408,11 @@ The fuel tank volume type should also be used for the wing fuel tank - genericSystemsType + Generic Systems - Node for geometrical layout of system components - based on simple geometric shapes + Node for geometrical layout of systems + @@ -13431,13 +13431,10 @@ The fuel tank volume type should also be used for the wing fuel tank - Generic system type containing describing the basic dimensions of a system component using simple geometric shapes + Generic System - The generic base types must be one of the following cone|sphere|cube|cylinder. The origin of the shapes is at the center of volume for cube, sphere and cylinder. Since the cone is constructued from a cylindric shape, its origin is at the same location as the origin of the basic cylinder, although not any longer the center of volume due to scaling of one side. While cube and sphere are symmetrical in all three axis, cylinder and cone are standing upright in the direction of cpacs z-axis. The tip of the cone is located in direction of the positive z-axis. The figure below illustrates the default position and orientation of the different shapes. Note that the cube, cylinder and sphere were moved along the x-axis for demonstration by 2, 4 and 6 meters respectively. - For spheres the default diameter is 1m. Cubes have a length of 1m in all three dimensions. Cylinders have a length of 1m and a diameter of 1m for the circular cross section. The cone is a cylinder with the top face scaled down to zero. - @@ -13451,42 +13448,18 @@ The fuel tank volume type should also be used for the wing fuel tank - Name of the system component. - - - - - Description of the system component. + Name - + - Enum for selecting the basic shape of the - component + Description - - - - - - - - + - - - - - - - - - - - @@ -26404,6 +26377,7 @@ The fuel tank volume type should also be used for the wing fuel tank + @@ -35341,5 +35315,171 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + System elements + + + + + + + + + + + + + + + + + + + Batteries + + + + + + + + + + Battery + + + + + + + + + + + + + System element + + + + + + + + + + Name + + + + + Description + + + + + + List of basic component shapes + + + + + + + + + + + + + Volume + + + + + + + Density + + + + + Mass + + + + + + + + + + + + + + + Sub-systems + + + + + + + + + + + + + + + + + + + Sub-system + + + + + + + + + + Name + + + + + Description + + + + + UID of a system element (vehicles/systemElements) + + + + + Geometric (!) transformation + + + + + UIDs of the structural mounts + + + + + + + + From ed5d9d6121bfb5678195c4c11682dbebe8eaadb0 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 7 Jul 2021 18:07:10 +0200 Subject: [PATCH 002/123] rename subSystems to components --- schema/cpacs_schema.xsd | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 7a5d3a6..32b6979 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -13456,7 +13456,7 @@ The fuel tank volume type should also be used for the wing fuel tankDescription - + @@ -35419,31 +35419,31 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Sub-systems + Components - - - + + + - + - Sub-system + Component @@ -35461,11 +35461,11 @@ The fuel tank volume type should also be used for the wing fuel tankDescription - - - UID of a system element (vehicles/systemElements) - - + + + UID of a system element (vehicles/systemElements) + + Geometric (!) transformation From 6f31bd62002e30bbc7ffae386d780bfb523f1b27 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 9 Jul 2021 12:13:35 +0200 Subject: [PATCH 003/123] add ata chapter breakdowns (#721) --- schema/cpacs_schema.xsd | 313 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 313 insertions(+) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 32b6979..c72b0b1 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -2981,6 +2981,7 @@ marko.alder@dlr.de + @@ -35482,4 +35483,316 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + System analyses + + + + + + + + + + + + + + + + + + + + + System offtakes w.r.t. ATA chapters along a trajectory + + + + + + + + + + + + + + + + + + + + Specification + + + + + + + + + + UID of the base trajectory (../analyses/trajectories/trajectory) + + + + + + + + + + + + + Offtakes along a trajectory + + + + + + + + + + Sum of all offtakes + + + + + Offtakes of ATA-21 systems + + + + + Offtakes of ATA-22 systems + + + + + Offtakes of ATA-23 systems + + + + + Offtakes of ATA-24 systems + + + + + Offtakes of ATA-25 systems + + + + + Offtakes of ATA-26 systems + + + + + Offtakes of ATA-27 systems + + + + + Offtakes of ATA-28 systems + + + + + Offtakes of ATA-29 systems + + + + + Offtakes of ATA-30 systems + + + + + Offtakes of ATA-31 systems + + + + + Offtakes of ATA-32 systems + + + + + Offtakes of ATA-33 systems + + + + + Offtakes of ATA-34 systems + + + + + Offtakes of ATA-35 systems + + + + + Offtakes of ATA-36 systems + + + + + Offtakes of ATA-37 systems + + + + + Offtakes of ATA-38 systems + + + + + Offtakes of ATA-45 systems + + + + + Offtakes of ATA-46 systems + + + + + Offtakes of ATA-49 systems + + + + + Offtakes of ATA-52 systems + + + + + Offtakes of ATA-73 systems + + + + + Offtakes of ATA-74 systems + + + + + Offtakes of ATA-76 systems + + + + + Offtakes of ATA-77 systems + + + + + Offtakes of ATA-78 systems + + + + + Offtakes of ATA-80 systems + + + + + Remaining contributions + + + + + + + + + + + + + Offtake of an ATA-system + + + + + + + + + + Electric power [W] + + + + + Hydraulic power [W] + + + + + Bleed air [kg/s] + + + + + + + + + + + + + Remaining contributions + + + + + + + + + + + + + + + + + + + Remaining contribution + + + + + + + + + + Name + + + + + Description + + + + + + + From b7595c8221c6fd0f64346fcf6bd53bbea091664f Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 9 Jul 2021 12:50:42 +0200 Subject: [PATCH 004/123] add nominal loads breakdown (EXACT project) (#721) --- schema/cpacs_schema.xsd | 741 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 736 insertions(+), 5 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index c72b0b1..1cfa8ed 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35495,11 +35495,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + @@ -35518,7 +35518,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35547,7 +35547,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35795,4 +35795,735 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Nominal power values + + + + A breakdown of nominal power values of systems. + + + + + + + + + + + + + + + + + + + + Nominal (design) loads + + + + + + + + + + + + + + + + + + + Design power case + + + + Design power case + + + + + + + + + + + Specifcation (tbd) + + + + + + + + + + + + + + Breakdown of nominal loads (currently only for secondary power systems) + + + + + + + + + + + + + + + + Electric system + + + + + Hydraulic system + + + + + Pneumatic system + + + + + + + + + + + + + + Remaining contributions + + + + + + + + + + + + + + + + + + + Remaining contribution + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + Fuel + + + + + + + + + + + Distribution + + + + + Conditioning + + + + + + + + + + + + + + Payload + + + + + + + + + + + + + + + + + + + + + + Cabin + + + + + + + + + + + Galleys + + + + + Lavatories + + + + + Inflight entertainment + + + + + Passengers + + + + + + + + + + + + + + Cargo + + + + + + + + + + + Cargo Handling + + + + + Water waste + + + + + Inflight entertainment + + + + + Passengers + + + + + + + + + + + + + + Avionics + + + + + + + + + + + Indicating recording + + + + + Auto flight + + + + + Navigation + + + + + Communication + + + + + + + + + + + + + + Actuation + + + + + + + + + + + + + + + + + + + + + + + Environmental control protection + + + + + + + + + + + Air conditioning pressurization + + + + + + + + + + + + + + + + Power breakdown into generation and distribution + + + + + + + + + + + Generation + + + + + Distribution + + + + + + + + + + + + + + Ice and rain protection + + + + + + + + + + + Wing + + + + + Air intakes + + + + + + + + + + + + + + Lighting + + + + + + + + + + + Flight decks + + + + + Cabin + + + + + Cargo + + + + + Exterior + + + + + Emergency + + + + + + + + + + + + + + Flight controls + + + + + + + + + + + Pitch + + + + + Roll + + + + + Yaw + + + + + High lift + + + + + Air braking + + + + + + + + + + + + + + Landing gears + + + + + + + + + + + Extraction and Retraction + + + + + Steering + + + + + Braking + + + + + + + + + + + + + + Doors + + + + + + + + + + + Cargo + + + + + Landing gear bay + + + + + + + + + + + + + + Generic power breakdown + + + + + + + + + + + + + + + + + + + + Components + + + + + + + + + + + + + + + + + + + Component + + + + + + + + + + Name + + + + + Description + + + + + Nominal power values on component level + + + + + + Reference to component uID + + + + + + Parent uID (default: coordinate system of the highest level element) + + + + + Location + + + + + + + + + + + + + + + Sum of nominal power values + + + + + + + + + + Electric power [W] + + + + + Hydraulic power [W] + + + + + Hydraulic power [W] + + + + + Hydraulic power [W] + + + + + Hydraulic power [W] + + + + + + + From 23dce08bc7565795f4733ee6bc20ad973d2fe707 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 9 Jul 2021 17:22:47 +0200 Subject: [PATCH 005/123] add system trajectories from Imothep (#721) --- schema/cpacs_schema.xsd | 118 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 3 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 1cfa8ed..b6324cf 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35495,11 +35495,11 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - + @@ -36526,4 +36526,116 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + System trajectories + + + + + + + + + + + + + + + + + + + System trajectory + + + + + + + + + + + + + + + + + + + + + Specification + + + + + + + + + + UID of the base trajectory (.../analyses/trajectories/trajectory) + + + + + List of uIDs of a system or system components (.../aircraft/model/systems/...) + + + + + + + + + + + + + System trajectory data + + + + + + + + + + Mechanical power [W] + + + + + Thermal power [W] + + + + + Apparent power input [W] + + + + + Apparent power output [W] + + + + + Current [A] + + + + + + + + From 07b8b9cfa81646c1099404b3208e5fc8f807a036 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 14 Jul 2021 15:47:10 +0200 Subject: [PATCH 006/123] add systemArchitectures and systemAssumptions; small fix for ataBreakdown (#721) --- schema/cpacs_schema.xsd | 460 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 459 insertions(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index b6324cf..a2b250c 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -3081,6 +3081,7 @@ marko.alder@dlr.de + @@ -26379,6 +26380,7 @@ The fuel tank volume type should also be used for the wing fuel tank + @@ -35414,12 +35416,85 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + + Properties + + + + + + + + + + + + + + + + + + + + Parameters + + + + + + + + + + + + + + + + + + + Parameter + + + + + + + + + + Name + + + + + Description + + + + + UID of a pre-defined system assumption parameter + + + + + + + @@ -35560,7 +35635,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Sum of all offtakes @@ -36636,6 +36711,389 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + + System architectures + + + + + + + + + + + Explicit dummy for illustration: environmental control system + + + + + + + + + + + + + Generic system architectures + + + + + + + + + + + + + + + + + + + Generic system architecture + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + Graph description + + + + + + + + + + + + + + + + + + + + Blocks + + + + + + + + + + + + + + + + + + + Block + + + + + + + + + + Name + + + + + Description + + + + + + Reference to uID of a geometric component installed in the vehicle (e.g., .../vehicles/aircraft/model/systems/genericSystems/genericSystem/components/component) + + + + + + + + + + + + + + + + Edges + + + + + + + + + + + + + + + + + + + Edge + + + + + + + + + + UID of the block from which the edge begins + + + + + UID of the block to which the edge goes + + + + + + + + + + + + + System assumptions + + + + + + + + + + + + + + + + + + + System assumption + + + + Examples: + <systemAssumption uID="someRandomUID1"> + <name>Draft lumped cooling system mass penalty</name> + <technologyStage>all</technologyStage> + <origin> + <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> + </origin> + <parameters> + <parameter uID="someRandomUID2"> + <name>powerSpecificMassPenalty</name> + <value>680</value> + <unit>W_{th}/kg</unit> + </parameter> + </parameters> +</systemAssumption> + + + + + + + + + + + Name + + + + + Description + + + + + Description of the technology stage + + + + + Origin of the assumption + + + + + + + + + + + + + + Origin + + + + + + + + + + Link to external file + + + + + + + + + + + + Name of a tool which was applied to derive this assumption + + + + + + + + + + + + + + + + + + + + + Parameters + + + + + + + + + + + + + + + + + + + Parameter + + + + + + + + + + Name + + + + + Description + + + + + + + Value + + + + + Unit + + + + + + UID of another assumption parameter + + + + + + + + From e757adcd3488cb98e4fa76ad0736dc3de043c5cf Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 30 Sep 2021 15:05:33 +0200 Subject: [PATCH 007/123] update latest powerBreakdown from Exact project; modify Avacon breakdown to be consistent with Exact --- schema/cpacs_schema.xsd | 1271 +++++++++++++++------------------------ 1 file changed, 497 insertions(+), 774 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index a2b250c..342f228 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35571,20 +35571,19 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + - + - System offtakes w.r.t. ATA chapters along a trajectory + Power offtake case @@ -35592,14 +35591,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Name + + + + + Description + + + + - + @@ -35622,7 +35631,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35635,152 +35644,162 @@ The fuel tank volume type should also be used for the wing fuel tank - + Sum of all offtakes - + + + ATA 21: Air conditioning and pressurization + + + + + ATA 22: Auto flight + + + - Offtakes of ATA-21 systems + ATA 23: Communications - + - Offtakes of ATA-22 systems + ATA 24: Electrical power - + - Offtakes of ATA-23 systems + ATA 25: Equipment/furnishings - + - Offtakes of ATA-24 systems + ATA 26: Fire protection - + - Offtakes of ATA-25 systems + ATA 27: Flight controls - + - Offtakes of ATA-26 systems + ATA 28: Fuel - + - Offtakes of ATA-27 systems + ATA 29: Hydraulic power - + - Offtakes of ATA-28 systems + ATA 30: Ice andn rain protection - + - Offtakes of ATA-29 systems + ATA 31: Indicating/recording systems - + - Offtakes of ATA-30 systems + ATA 32: Landing gear - + - Offtakes of ATA-31 systems + ATA 33: Lights - + - Offtakes of ATA-32 systems + ATA 34: Navigation - + - Offtakes of ATA-33 systems + ATA 35: Oxygen - + - Offtakes of ATA-34 systems + ATA 36: Pneumatic - + - Offtakes of ATA-35 systems + ATA 37: Vacuum - + - Offtakes of ATA-36 systems + ATA 38: Water/waste - + - Offtakes of ATA-37 systems + ATA 44: Cabin systems - + - Offtakes of ATA-38 systems + ATA 45: Central maintenance system - + - Offtakes of ATA-45 systems + ATA 46: Systems integration and display, Information system - + - Offtakes of ATA-46 systems + ATA 49: Airborne auxiliary power - + - Offtakes of ATA-49 systems + ATA 50: Cargo and accessory compartment - + - Offtakes of ATA-52 systems + ATA 52: Doors - + - Offtakes of ATA-73 systems + ATA 73: Engine fuel and control - + - Offtakes of ATA-74 systems + ATA 74: Ignition - + - Offtakes of ATA-76 systems + ATA 76: Engine controls - + - Offtakes of ATA-77 systems + ATA 77: Engine indicating - + - Offtakes of ATA-78 systems + ATA 78: Exhaust - + - Offtakes of ATA-80 systems + ATA 80: Starting - + Remaining contributions @@ -35790,7 +35809,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35803,17 +35822,17 @@ The fuel tank volume type should also be used for the wing fuel tank - + Electric power [W] - + Hydraulic power [W] - + Bleed air [kg/s] @@ -35823,7 +35842,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35836,13 +35855,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + @@ -35853,8 +35872,8 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + Name @@ -35865,89 +35884,86 @@ The fuel tank volume type should also be used for the wing fuel tankDescription - + + - + - Nominal power values + System trajectories - - - A breakdown of nominal power values of systems. - - - - - + + + - + - Nominal (design) loads + System trajectory - - - + + + + + - - + + - Design power case + Specification - - - Design power case - - - + - Specifcation (tbd) + UID of the base trajectory (.../analyses/trajectories/trajectory) - + + + List of uIDs of a system or system components (.../aircraft/model/systems/...) + + - - + + - Breakdown of nominal loads (currently only for secondary power systems) + System trajectory data @@ -35955,87 +35971,85 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - + + + Mechanical power [W] + + + + + Thermal power [W] + + + - Electric system + Apparent power input [W] - + - Hydraulic system + Apparent power output [W] - + - Pneumatic system + Current [A] - - - + + - Remaining contributions + System architectures - - - + + + + + Explicit dummy for illustration: environmental control system + + + - + - Remaining contribution + Generic system architectures - - - - Name - - - - - Description - - - - + + + - + - Fuel + Generic system architecture @@ -36043,29 +36057,29 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - Distribution + Name - + - Conditioning + Description - + + - + - Payload + Graph description @@ -36073,141 +36087,94 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + - - + + - Cabin + Blocks - - - - - Galleys - - - - - Lavatories - - - - - Inflight entertainment - - - - - Passengers - - - - + + + - + - Cargo + Block - - - - - Cargo Handling - - - - - Water waste - - - + + - Inflight entertainment + Name - + - Passengers + Description - - + + + + Reference to uID of a geometric component installed in the vehicle (e.g., .../vehicles/aircraft/model/systems/genericSystems/genericSystem/components/component) + + + + + + - - + + - Avionics + Edges - - - - - Indicating recording - - - - - Auto flight - - - - - Navigation - - - - - Communication - - - - + + + - - + + - Actuation + Edge @@ -36215,310 +36182,295 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + UID of the block from which the edge begins + + + + + UID of the block to which the edge goes + + - - + + - Environmental control protection + System assumptions - - - - - Air conditioning pressurization - - - - - - + + + - - + + - Power breakdown into generation and distribution + System assumption + + + Examples: + <systemAssumption uID="someRandomUID1"> + <name>Draft lumped cooling system mass penalty</name> + <technologyStage>all</technologyStage> + <origin> + <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> + </origin> + <parameters> + <parameter uID="someRandomUID2"> + <name>powerSpecificMassPenalty</name> + <value>680</value> + <unit>W_{th}/kg</unit> + </parameter> + </parameters> +</systemAssumption> + + - - + - Generation + Name - + - Distribution + Description - - - - - - - - - - - - Ice and rain protection - - - - - - - - - + - Wing + Description of the technology stage - + - Air intakes + Origin of the assumption - + + - + - Lighting + Origin - - - - - Flight decks - - - - - Cabin - - - - - Cargo - - - - - Exterior + + + + Link to external file - - - - Emergency + + + + + + + + + + + Name of a tool which was applied to derive this assumption - - - + + + + + + + + + + - - + + - Flight controls + Parameters - - - - - Pitch - - - - - Roll - - - - - Yaw - - - - - High lift - - - - - Air braking - - - - + + + - - + + - Landing gears + Parameter - - - - - Extraction and Retraction - - - + + - Steering + Name - + - Braking + Description - - + + + + + Value + + + + + Unit + + + + + + UID of another assumption parameter + + + + + - + - Doors + Breakdown of nominal power values + + + A breakdown of nominal power values of systems. + + - - - - Cargo - - - - - Landing gear bay - - - + + - - + + - Generic power breakdown + Power offtake cases - - - - + + + - - + + - Components + Design power cases + + + Design power cases + + - + - - + + - Component + Design power case + + + Design power case + + - + Name @@ -36529,41 +36481,19 @@ The fuel tank volume type should also be used for the wing fuel tankDescription - - - Nominal power values on component level - - - - - - Reference to component uID - - - - - - Parent uID (default: coordinate system of the highest level element) - - - - - Location - - - - - + + + - + - Sum of nominal power values + Specification of the design power case @@ -36571,82 +36501,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Electric power [W] - - - - - Hydraulic power [W] - - - - - Hydraulic power [W] - - - - - Hydraulic power [W] - - - + - Hydraulic power [W] + UID of the corresponding trajectory - - - - - - - System trajectories - - - - - - - - - - - - - - - - - - System trajectory - - - - - - - - - - - - - - - - + - Specification + Airframe systems data @@ -36654,219 +36524,122 @@ The fuel tank volume type should also be used for the wing fuel tank - + - UID of the base trajectory (.../analyses/trajectories/trajectory) + ATA 21: Air conditioning and pressurization (Environmental control) - + - List of uIDs of a system or system components (.../aircraft/model/systems/...) + ATA 22: Auto flight - - - - - - - - - - - - System trajectory data - - - - - - - - + + - Mechanical power [W] + ATA 23: Communications - + - Thermal power [W] + ATA 24: Electrical power - + - Apparent power input [W] + ATA 25: Equipment/furnishings - + - Apparent power output [W] + ATA 26: Fire protection - + - Current [A] + ATA 27: Flight controls - - - - - - - - - - - System architectures - - - - - - - - - + - Explicit dummy for illustration: environmental control system + ATA 28: Fuel - - - - - - - - - - - Generic system architectures - - - - - - - - - - - - - - - - - - - Generic system architecture - - - - - - - - + - Name + ATA 29: Hydraulic power - + - Description + ATA 30: Ice and rain protection - - - - - - - - - - - - - Graph description - - - - - - - - - - - - - - - - - - - - Blocks - - - - - - - - - - - - - - - - - - - Block - - - - - - - - + - Name + ATA 31: Indicating/recording systems - + - Description + ATA 32: Landing gear - - - - Reference to uID of a geometric component installed in the vehicle (e.g., .../vehicles/aircraft/model/systems/genericSystems/genericSystem/components/component) - - - - - - + + + ATA 33: Lights + + + + + ATA 34: Navigation + + + + + ATA 35: Oxygen + + + + + ATA 36: Pneumatic + + + + + ATA 38: Water/waste + + + + + ATA 44: Cabin systems + + + + + ATA 49: Airborne auxiliary power + + + + + ATA 50: Cargo and accessory compartment + + + + + Remaining contributions + + + - + - Edges + Airframe systems basic description @@ -36874,18 +36647,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Remaining contribution + + - + - Edge + Airframe systems basic description @@ -36893,205 +36670,151 @@ The fuel tank volume type should also be used for the wing fuel tank - + - UID of the block from which the edge begins + Description - - - UID of the block to which the edge goes - - + + - - - - - - - System assumptions - - - - - - - - - - - - - + - System assumption + Power values - - - Examples: - <systemAssumption uID="someRandomUID1"> - <name>Draft lumped cooling system mass penalty</name> - <technologyStage>all</technologyStage> - <origin> - <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> - </origin> - <parameters> - <parameter uID="someRandomUID2"> - <name>powerSpecificMassPenalty</name> - <value>680</value> - <unit>W_{th}/kg</unit> - </parameter> - </parameters> -</systemAssumption> - - - + - Name + Electric power [W] - + - Description + Hydraulic power [W] - + - Description of the technology stage + Pneumatic power [W] - + - Origin of the assumption + Mechanical power [W] - + + + Thermal power [W] + + - - + - Origin + Components - - - - Link to external file - - - - - - - - - - - - Name of a tool which was applied to derive this assumption - - - - - - - - - - - + + + - - + + - Parameters + Component - - - + + + + Name + + + + + Description + + + + + - - + + - Parameter + Location - - - - Name - - - + + - Description + UID of the component as specified in [..]/model/systems/genericSystems/genericSystem - - - - - Value - - - - - Unit - - - - + + - UID of another assumption parameter + UID of the geometric parent (e.g., fuselage, wing, deck) to which the coordinates apply. If the element is not specified, the coordinates refer to the CPACS global coordinate system. - - - + + + Position in x-direction + + + + + Position in y-direction + + + + + Position in z-direction + + + + From 10c3c72e9bdd77464254238fe64eaffa4ffd1949 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 20 Oct 2021 17:11:32 +0200 Subject: [PATCH 008/123] merge Exact and Avacon proposals (#721, #732) --- schema/cpacs_schema.xsd | 732 +++++++++------------------------------- 1 file changed, 165 insertions(+), 567 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 342f228..e625bba 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35571,324 +35571,12 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - - - - - - Power offtake case - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - Specification - - - - - - - - - - UID of the base trajectory (../analyses/trajectories/trajectory) - - - - - - - - - - - - - Offtakes along a trajectory - - - - - - - - - - Sum of all offtakes - - - - - ATA 21: Air conditioning and pressurization - - - - - ATA 22: Auto flight - - - - - ATA 23: Communications - - - - - ATA 24: Electrical power - - - - - ATA 25: Equipment/furnishings - - - - - ATA 26: Fire protection - - - - - ATA 27: Flight controls - - - - - ATA 28: Fuel - - - - - ATA 29: Hydraulic power - - - - - ATA 30: Ice andn rain protection - - - - - ATA 31: Indicating/recording systems - - - - - ATA 32: Landing gear - - - - - ATA 33: Lights - - - - - ATA 34: Navigation - - - - - ATA 35: Oxygen - - - - - ATA 36: Pneumatic - - - - - ATA 37: Vacuum - - - - - ATA 38: Water/waste - - - - - ATA 44: Cabin systems - - - - - ATA 45: Central maintenance system - - - - - ATA 46: Systems integration and display, Information system - - - - - ATA 49: Airborne auxiliary power - - - - - ATA 50: Cargo and accessory compartment - - - - - ATA 52: Doors - - - - - ATA 73: Engine fuel and control - - - - - ATA 74: Ignition - - - - - ATA 76: Engine controls - - - - - ATA 77: Engine indicating - - - - - ATA 78: Exhaust - - - - - ATA 80: Starting - - - - - Remaining contributions - - - - - - - - - - - - - Offtake of an ATA-system - - - - - - - - - - Electric power [W] - - - - - Hydraulic power [W] - - - - - Bleed air [kg/s] - - - - - - - - - - - - - Remaining contributions - - - - - - - - - - - - - - - - - - - Remaining contribution - - - - - - - - - - Name - - - - - Description - - - - - - - @@ -35963,7 +35651,7 @@ The fuel tank volume type should also be used for the wing fuel tank - System trajectory data + System trajectory values @@ -36384,38 +36072,13 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - Breakdown of nominal power values - - - - A breakdown of nominal power values of systems. - - - - - - - - - - - - - - - + - Power offtake cases + Power breakdowns @@ -36423,77 +36086,71 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Design power cases + Power breakdown case - - - Design power cases - - - - - + + + + Name + + + + + Description + + + + + - + - Design power case + Specification of the power breakdown case - - - Design power case - - - - - Name - - - + - Description + UID of the corresponding trajectory - - - + - Specification of the design power case + System breakdown data @@ -36501,145 +36158,44 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of the corresponding trajectory - - + + - + - Airframe systems data + Total values - - - - ATA 21: Air conditioning and pressurization (Environmental control) - - - - - ATA 22: Auto flight - - - - - ATA 23: Communications - - - - - ATA 24: Electrical power - - - - - ATA 25: Equipment/furnishings - - - - - ATA 26: Fire protection - - - - - ATA 27: Flight controls - - - - - ATA 28: Fuel - - - - - ATA 29: Hydraulic power - - - - - ATA 30: Ice and rain protection - - - - - ATA 31: Indicating/recording systems - - - - - ATA 32: Landing gear - - - - - ATA 33: Lights - - - - - ATA 34: Navigation - - - - - ATA 35: Oxygen - - - - - ATA 36: Pneumatic - - - - - ATA 38: Water/waste - - - - - ATA 44: Cabin systems - - - - - ATA 49: Airborne auxiliary power - - - - - ATA 50: Cargo and accessory compartment - - - - - Remaining contributions - - - + + + + + + + + + - + - Airframe systems basic description + Systems @@ -36647,47 +36203,56 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Remaining contribution - - + - + - Airframe systems basic description + System values - - + + + Description - - - + + + + + + + + + + + + List of uIDs of involved components oder sub-systems (specified at .../aircraft/model/systems/...) + + + - - + + - Power values + Nominal values @@ -36719,37 +36284,23 @@ The fuel tank volume type should also be used for the wing fuel tank Thermal power [W] - + + + + Bleed air [kg/s] + + - - - - - - - Components - - - - - - - - - - - - - - + + - Component + Trajectory values @@ -36757,66 +36308,113 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name + Electric power [W] - + - Description + Hydraulic power [W] + + + + + Pneumatic power [W] + + + + + Mechanical power [W] + + + + + Thermal power [W] + + + + + Bleed air [kg/s] - - - - + + - Location + Category (ATA chapters) - - - - - - UID of the component as specified in [..]/model/systems/genericSystems/genericSystem - - - - - - UID of the geometric parent (e.g., fuselage, wing, deck) to which the coordinates apply. If the element is not specified, the coordinates refer to the CPACS global coordinate system. - - - - - Position in x-direction - - - - - Position in y-direction - - - - - Position in z-direction - - - - - - - + + + + Environmental control + + + + + Auto flight + + + + + Communications + + + + + Electrical power + + + + + Equipment/furnishings + + + + + Fire protection + + + + + Flight controls + + + + + Fuel + + + + + Hydraulic power + + + + + Ice and rain protection + + + + + Unspecified: used for systems which cannot be assigned to an ATA adapter (e.g., unconventional system) + + + + + Remaining contribution: ATA systems + unspecified systems + remaining contributions = total values + + + + From a9a651acb8e08af5eff7e28ba80816d2df188531 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 20 Oct 2021 17:29:44 +0200 Subject: [PATCH 009/123] fix typo (#721, #732) --- schema/cpacs_schema.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index e625bba..3896c4f 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -36239,7 +36239,7 @@ The fuel tank volume type should also be used for the wing fuel tank - List of uIDs of involved components oder sub-systems (specified at .../aircraft/model/systems/...) + List of uIDs of involved components or sub-systems (specified at .../aircraft/model/systems/...) From 37030c67c794089f0792da498d66f39c963f2a8b Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 21 Oct 2021 12:32:04 +0200 Subject: [PATCH 010/123] make componentUIDs optional (#732) --- schema/cpacs_schema.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 3896c4f..ff2e613 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -36237,7 +36237,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + List of uIDs of involved components or sub-systems (specified at .../aircraft/model/systems/...) From 0b9c5d6579dc8449e9ee25064b7cde4a863d386b Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 25 Nov 2021 09:47:25 +0100 Subject: [PATCH 011/123] make latitude and longitude optional; uID of powerBreakdownCase optional; added ata chapters --- schema/cpacs_schema.xsd | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index ff2e613..61c71b0 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -11347,8 +11347,8 @@ marko.alder@dlr.de - - + + @@ -36118,6 +36118,7 @@ The fuel tank volume type should also be used for the wing fuel tank + @@ -36222,6 +36223,11 @@ The fuel tank volume type should also be used for the wing fuel tank + + + Description + + @@ -36404,6 +36410,31 @@ The fuel tank volume type should also be used for the wing fuel tankIce and rain protection + + + Landing gear + + + + + Lights + + + + + Water/waste + + + + + Cabin system + + + + + Cargo and accessory compartment + + Unspecified: used for systems which cannot be assigned to an ATA adapter (e.g., unconventional system) From 498d7272534853e6ce2d5a9a56c4ccce27934fa9 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Mar 2022 16:16:19 +0100 Subject: [PATCH 012/123] update release information --- schema/cpacs_schema.xsd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 335e022..cd49e27 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -43,11 +43,11 @@ marko.alder@dlr.de Version - V3.4-beta + V3.4-RC Date - 2021-11-19 + 2021-03-04 @@ -593,9 +593,9 @@ marko.alder@dlr.de - CPACS 3.4-beta + CPACS 3.4-RC - Release in November 2021 + Release in March 2022 Revision of decks definition (compatibility break) Mass breakdown: add mSparSkins and mSparCells to mSpar From a3f3b0c7068580cbed78ec3729bfd308660aa92f Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 17 Mar 2022 11:32:39 +0100 Subject: [PATCH 013/123] update power breakdown --- schema/cpacs_schema.xsd | 2220 +++++++++++++++++++++++++++------------ 1 file changed, 1577 insertions(+), 643 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 61c71b0..b9e66f2 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -2972,6 +2972,7 @@ marko.alder@dlr.de + @@ -3076,6 +3077,7 @@ marko.alder@dlr.de + @@ -3920,49 +3922,6 @@ marko.alder@dlr.de - - - - - - cabGeometryType - - - cabGeometry provides the geometry of the cabin in terms - of constant height contour lines. The lines all share a common - x-vector. The vectors yZ[N] provide the lateral contour at - Z-coordinate provided in the vector z. The number of contour - lines can differ and is given by the length of the vector z - - - - - - - - - - - - - x-coordinates for all contour lines, relative - to cabin origin. - - - - - z-coordinate of contour lines. Contour lines - are constant z, so each entry in this vector belongs to a single - contour line. - - - - - - - - - @@ -3985,300 +3944,6 @@ marko.alder@dlr.de - - - - - - cabinDoorType - - - doors describe all doors of the cabin. They are linked - to a structural door description. The cabin door is usually equal - in size to the door, but does not need to be. The structural door - might describe a wider cut-out, while the cabin door is primarily - intended for evacuation modeling and cabin layout. In order to - obtain a 3-dimensional door representation, the local cabin - geometry shall be used. - - - - - - - - - - - - - Number of passengers this door adds to the - overall exit capacity limit of the aircraft. - - - - - This is the forward x-coordinate of the door - relative to the cabin origin. - - - - - the door sill height relative to cabin origin. - - - - - - The width of the door in x-direction. - - - - - - the effective height of the door. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cabinDoorsType - - - - - - - - - - - - - - - - - - - - - - cabinFloorElementType - - - floorElement describes objects like monuments or other - installations inside the cabin. - - - - - - - - - - - - - - - - - - - - - - - forward center coordinate of object relative - to cabin origin. - - - - - center y-coordinate relative to cabin origin. - - - - - - length of the object - - - - - length of the object - - - - - length of the object - - - - - - - - - - - - - - - cabinFloorElementsType - - - - - - - - - - - - - - - - - - - - - - cabinSeatElementType - - - seats describe all seats inside the aircraft. They are - – strictly speaking – also objects mounted on the floor, hence - floor objects. But the specific characteristics of seats justify - a differentiation between seats and other objects on the floor. - Seats are seat group, for example a triple seat. Therefore they - have multiple seats. - - - - - - - - - - - - Number of seats - - - - - - - - - - - - - - - - x-coordinate relative to cabin origin. - - - - - - y-coordinate relative to cabin origin. - - - - - - delta-y-coordinate of the individual seat - center points from the y-coordinate of the seat object. This is - important to locate passengers. It is assumed that seats have no - angle. - - - - - length of the seat group. - - - - - width of the seat group. - - - - - height of the seat group. - - - - - - - - - - - - - - - - - cabinSeatElementsType - - - - - - - - - - - - - - - - @@ -9700,12 +9365,12 @@ marko.alder@dlr.de - + - engineAnalysisType + Turbofan engine analysis @@ -9761,19 +9426,18 @@ marko.alder@dlr.de DryMass of engine - + - - + + - Definition of global geometry parameters of the engine - fan. + Turboprop engine analysis @@ -9784,36 +9448,38 @@ marko.alder@dlr.de - + - Inner radius of the fan. + Thrust at takeoff - + - Outer radius of the fan. + Design tip relative mach number (FAN) + + + + + + Dry-mass of engine + - + - Definition of the global engine geometry. + Definition of global geometry parameters of the engine + fan. - - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. - + @@ -9821,74 +9487,96 @@ marko.alder@dlr.de - + - length of engine + Inner radius of the fan. - + - diameter of engine + Outer radius of the fan. - + + + Chord length of a fan blade + + + - dProp + Hub to tip ratio - + - Chordlength of a fan blade + Number of rotor blades of fan + - - - - - + - engineGlobalType + Definition of the global engine geometry. - EngineGlobal type, containing global engine data - + + All engine geometry definitions refer to the engine + coordinate system. The engine coordinate system has its orgine + in the middle of the fan plan. The positive x-axis is heading to + the rear, the positive z-axis to the top and the y-axis + according to the right hand rule. + - - + + + + + + length of engine + + + + + diameter of engine + + + + + + + + + + + + + + + - Concept of engine + Number of outlet guiding vanes + - - - - - - - - - - - + - Year of first certification + Rotor stator spacing (relative to chordlength) - + Rotation direction of the engine if looking at it from the front, i.e. from propeller/fan to exhaust @@ -9903,30 +9591,7 @@ marko.alder@dlr.de - - - Hub to tip ratio - - - - - Number of rotor blades of fan - - - - - - Number of outlet guiding vanes - - - - - - Rotor stator spacing (relative to chordlength) - - - - + @@ -10037,17 +9702,13 @@ marko.alder@dlr.de - + - enginePerformanceMapType + Turbofan engine performance map - - EnginePerformanceMap type, containing a perfomance map - with engine data - @@ -10195,13 +9856,143 @@ marko.alder@dlr.de + + + + + + + Turbofan engine performance map + + + + + + + + + + Name of the engine + + + + + Description of the engine + + + + + + + Flight Level + + + + + Mach number + + + + + Absolute thrust [N] + + + + + Fuel mass flow + + + + + Turbine entry total temperature + + + + + + Emission index Carbon Monoxide + + + + + + Emission index Nitrogen Oxide + + + + + + Emission index Sulfur Oxide + + + + + + Emission index Soot + + + + + Emission index unburned hydrocarbon + + + + + + air density at core outlet 8 + + + + + + air density at bypass outlet 18 + + + + + + area at core outlet + + + + + area at bypass outlet + + + + + + + - + + + + + + Turbofan engine performance maps + + + + + + + + + + + + + + + + + - enginePerformanceMapsType + Turboprop engine performance maps @@ -10212,7 +10003,7 @@ marko.alder@dlr.de - + @@ -10418,12 +10209,12 @@ marko.alder@dlr.de - + - engineType + Turbofan engine Engine type, containing engine data. @@ -10444,45 +10235,34 @@ marko.alder@dlr.de Description of engine - + + - Scaling of engine take-off thrust + Concept of engine + + + + + + + + + + + + + + Year of first certification - - - - + - - - - - - Engines - - - Engines type, containing complete engine configurations - - - - - - - - - - - - - - @@ -26375,11 +26155,11 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35571,38 +35351,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - System trajectories - - - - - - - - + - + - System trajectory + System architectures @@ -35610,107 +35370,51 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - - - + + - Specification + Energy storages - - - - - - UID of the base trajectory (.../analyses/trajectories/trajectory) - - - - - List of uIDs of a system or system components (.../aircraft/model/systems/...) - - - - - + + + + + + + - - - - - - System trajectory values - - - - - - - - - - Mechanical power [W] - - - - - Thermal power [W] - - - - - Apparent power input [W] - - - - - Apparent power output [W] - - - - - Current [A] - - - - - - - - - + + - System architectures + Energy storage - - - - - - - Explicit dummy for illustration: environmental control system - - - - - + + + + + + + + + @@ -36074,6 +35778,26 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + Power breakdowns + + + + + + + + + + + + + + + @@ -36091,6 +35815,25 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + + Power breakdowns + + + + + + + + + + + + @@ -36122,13 +35865,13 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - Specification of the power breakdown case + Power breakdown case along a trajectory @@ -36136,86 +35879,164 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name + + + - UID of the corresponding trajectory + Description + + + - + - System breakdown data + Specification of the power breakdown case - - - - + + + + + Altitude [m] + + + + + Mach number + + + - - + + - Total values + Specification of the power breakdown case - - - - - - - - - + + + + UID of the corresponding trajectory + + + - + - Systems + System breakdown data - - - + + + - - + + + + + + + System breakdown data + + + + + + + + + + + + + + + + + + + Power flow + + + + + + + + + + + + + + + + + + + + + + Power flow + + + + + + + + + + + + + + + + + - System values + Power flow @@ -36225,40 +36046,105 @@ The fuel tank volume type should also be used for the wing fuel tank - Description + + Name + - - Description + + Description + - - - - - - - - - + + + + UID of the source element + + + + + + + Source system according to ATA chapter + + + + + + + + + + UID of the sink element + + + + + + + Sink system according to ATA chapter + + + + + + + + + + + + + + + + Source / Sink + + + + + + + + + + + + + + + + Mass flow + + + + + + + + - List of uIDs of involved components or sub-systems (specified at .../aircraft/model/systems/...) + + Mass flow value + - + + - - + + - Nominal values + Mass flow @@ -36266,47 +36152,499 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Electric power [W] + + Mass flow value + - + + + + + + + + + + + + Heat flow + + + + + + + + - Hydraulic power [W] + + Heat flow value + - + + + + + + + + + + + + Heat flow + + + + + + + + - Pneumatic power [W] + + Heat flow value + - + + + + + + + + + + + + Mechanical power + + + + + + + + - Mechanical power [W] + + Mechanical power value [W] + - + + + + + + + + + + + + Mechanical power + + + + + + + + - Thermal power [W] + + Mechanical power value [W] + - + + + + + + + + + + + + Mechanical power specification + + + + + + + + + + + + + + + + + + + + Mechanical power specification + + + + + + + + + + + + + + + + + + + + Rotational transmission + + + + + + + + + + + Torque [Nm] + + + + + + + Rotations per second [1/s] + + + + + + + + + + + + + + Rotational transmission + + + + + + + + - Bleed air [kg/s] + + Torque [Nm] + + + + + + + Rotations per second [1/s] + + + + + + + + + + + + + + Translational transmission + + + + + + + + + + + Force [N] + + + + + + + Velocity [m/s] + - + - + + + + + + Translational transmission + + + + + + + + + + + Force [N] + + + + + + + Velocity [m/s] + + + + + + + + + + + + + + Electric power + + + + + + + + + + + Electric power value + + + + + + + + + + + + + + + Electric power + + + + + + + + + + + Electric power values + + + + + + + + + + + + + + + Electric power specification + + + + + + + + + + + + + + + + + + + + Electric power specification + + + + + + + + + + + + + + + + + + + + Direct current + + + + + + + + + + + Voltage [V] + + + + + + + Current [A] + + + + + + + + + + + + + + Direct current + + + + + + + + + + + Voltage [V] + + + + + + + Current [A] + + + + + + + + + + + + + + Alternating current + + + + + + + + + + + Voltage [V] + + + + + + + Current [A] + + + + + + + Frequency [Hz] + + + + + + + Frequency [Rad] + + + + + + + + + - Trajectory values + Alternating current @@ -36314,35 +36652,225 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Voltage [V] + + + + + + + Current [A] + + + + - Electric power [W] + + Frequency [Hz] + + + + + + + Frequency [Rad] + - + + + + + + + + + + + Mass flow specification + + + + + + + + - Hydraulic power [W] + + Pressure + - + - Pneumatic power [W] + + Temperature + - + + + + + + + + + + + + Mass flow specification + + + + + + + + - Mechanical power [W] + + Pressure + - + - Thermal power [W] + + Temperature + - - + + + + + + + + + + + + + Heat flow specification + + + + + + + + + + + + + + + + + + + + + + Heat flow specification + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mass composition + + + + + + + + - Bleed air [kg/s] + + Fluid type + + + + + + + + @@ -36435,17 +36963,423 @@ The fuel tank volume type should also be used for the wing fuel tankCargo and accessory compartment - - - Unspecified: used for systems which cannot be assigned to an ATA adapter (e.g., unconventional system) - - - - - Remaining contribution: ATA systems + unspecified systems + remaining contributions = total values - - + + + + + + Propulsion elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Turbofan engines + + + + + + + + + + + + + + + + + + + Turboprop engines + + + + + + + + + + + + + + + + + + + Propulsion system + + + + + + + + + + + + + + + + + + + Propulsion system component + + + + + + + + + + Name + + + + + Description + + + + + Reference to the pre-defined propulsion element + + + + + UID of the parent element + + + + + + + + + + + + + + + Performance of propulsion system + + + + + + + + + + + + + + + + + + + Propulsion map + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + + Propulsion performance map + + + + + + + + + + + + + + + + + + + + + Propulsion performance map + + + + + + + + + + + + + + + + + + Turbofan engine + + + Engine type, containing engine data. + + + + + + + + + + Name + + + + + Description + + + + + + Year of first certification + + + + + + + + + + + + + + + + Definition of the global engine geometry. + + + + All engine geometry definitions refer to the engine + coordinate system. The engine coordinate system has its orgine + in the middle of the fan plan. The positive x-axis is heading to + the rear, the positive z-axis to the top and the y-axis + according to the right hand rule. + + + + + + + + + + + Length of engine + + + + + Rotation direction of the engine if looking at + it from the front, i.e. from propeller/fan to exhaust + + + + + + + + + + + + + + + + Length of engine + + + + + Length of engine + + + + + Length of engine + + + + + + + + + + Propeller diameter + + + + + Number of propeller blades + + + + + Hub to tip ratio + + + + + + + + + + + + + + + + + + + + Turboprop nacelle + + + + Turboprop nacelle + + + + + + + + + + + + + + + + + + + + + + + + + + + Tanks + + + + + + + + + + + + + + + + + + + Tank + + + + + + + + + + + + + + From fc56afd25365dff9d221fef18f58859b3142b3c6 Mon Sep 17 00:00:00 2001 From: Alder Date: Mon, 21 Mar 2022 17:11:24 +0100 Subject: [PATCH 014/123] some revisions of the power breakdown --- schema/cpacs_schema.xsd | 236 +++++++++++++++++++--------------------- 1 file changed, 111 insertions(+), 125 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index b9e66f2..a13c9e3 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -36502,7 +36502,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Direct current voltage [V] + + + @@ -36522,19 +36528,25 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Direct current voltage [V] + + + - + - Direct current + Alternating current @@ -36542,17 +36554,24 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Voltage [V] + Effective voltage (also peak voltage) [V] - + - Current [A] + Frequency [Hz] + + + + + + + Frequency [Rad] @@ -36561,12 +36580,12 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Direct current + Alternating current @@ -36574,17 +36593,24 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Voltage [V] + Effective voltage (also peak voltage) [V] - + - Current [A] + Frequency [Hz] + + + + + + + Frequency [Rad] @@ -36593,111 +36619,125 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Alternating current + Mass flow specification - - - - - Voltage [V] - - - - - - - Current [A] - - - - + + + + + + + + + + + + + + Mass flow specification + + + + + + + + + + + + + + + + + + + + Single-phase mass flow + + + + + + + + - Frequency [Hz] + Pressure - + - Frequency [Rad] + Temperature + - + - Alternating current + Multi-phase mass flow - - - - - Voltage [V] - - - - - - - Current [A] - - - - + + - Frequency [Hz] + Pressure - + - Frequency [Rad] + Enthalpy + - + - Mass flow specification + Single-phase mass flow - + @@ -36718,30 +36758,30 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Mass flow specification + Multi-phase mass flow - - + + Pressure - + - Temperature + Enthalpy @@ -36763,12 +36803,10 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - + + + + @@ -36783,63 +36821,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + From 89e4e3e1faf154efef2798b833765db6ea9ef7b4 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 25 Mar 2022 16:45:06 +0100 Subject: [PATCH 015/123] reduce number of hierarchical levels in powerBreakdown --- schema/cpacs_schema.xsd | 228 ++++++++++++++++------------------------ 1 file changed, 92 insertions(+), 136 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index a13c9e3..6204817 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -36125,7 +36125,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36133,8 +36133,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + @@ -36151,7 +36154,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36159,8 +36162,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + @@ -36177,7 +36183,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36185,8 +36191,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + @@ -36203,7 +36212,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36211,8 +36220,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + @@ -36229,7 +36241,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36237,8 +36249,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + Torque [Nm] + + + + + + + Force [N] + + + + + @@ -36255,7 +36282,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36263,8 +36290,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + Torque [Nm] + + + + + + + Force [N] + + + + + @@ -36282,46 +36324,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - Mechanical power specification - - - - - - - - - - - - - - - - - - - - Rotational transmission - - - - - - - @@ -36329,31 +36331,31 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Rotations per second [1/s] + Force [N] - + - + - Rotational transmission + Mechanical power specification - + @@ -36361,63 +36363,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Rotations per second [1/s] - - - - - - - - - - - - - - Translational transmission - - - - - - - - - - - Force [N] - - - - - - - Velocity [m/s] - - - - - - - - - - - - - - Translational transmission - - - - - - - @@ -36425,18 +36370,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Velocity [m/s] - - - - + - + @@ -36449,7 +36387,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36457,8 +36395,17 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + Direct current voltage [V] + + + + + + @@ -36475,7 +36422,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36483,8 +36430,17 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + Direct current voltage [V] + + + + + + From c557bfbefeb11607888a4d49d52d740179fb0025 Mon Sep 17 00:00:00 2001 From: Alder Date: Mon, 11 Apr 2022 14:49:39 +0200 Subject: [PATCH 016/123] fix altitude and machNumber to be doubleElements --- schema/cpacs_schema.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 6204817..1cda78f 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35911,12 +35911,12 @@ The fuel tank volume type should also be used for the wing fuel tank - + Altitude [m] - + Mach number From 14255324f0fe9de66649cdd5db554af510cd8375 Mon Sep 17 00:00:00 2001 From: Alder Date: Mon, 11 Apr 2022 14:51:08 +0200 Subject: [PATCH 017/123] use all for specification --- schema/cpacs_schema.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 1cda78f..cb6371a 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35909,7 +35909,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35921,7 +35921,7 @@ The fuel tank volume type should also be used for the wing fuel tankMach number - + From 8f3ddff80c9940afaa3aa78f568f7db2affe20af Mon Sep 17 00:00:00 2001 From: Alder Date: Mon, 11 Apr 2022 16:39:52 +0200 Subject: [PATCH 018/123] make choide optional; fix typo --- schema/cpacs_schema.xsd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index cb6371a..72dd768 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35999,7 +35999,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36021,7 +36021,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -36126,7 +36126,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Mass flow value From cd48bcac4eb29ac9309d53cad8b6ba7e515dd84d Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 20 Apr 2022 11:03:48 +0200 Subject: [PATCH 019/123] beautify for 3.4 release --- schema/cpacs_schema.xsd | 177 ++++++++++++++++++++-------------------- 1 file changed, 88 insertions(+), 89 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index cd49e27..0b494b2 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -43,11 +43,11 @@ marko.alder@dlr.de Version - V3.4-RC + V3.4 Date - 2021-03-04 + 2021-20-20 @@ -70,7 +70,7 @@ marko.alder@dlr.de + xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd"> ]]> @@ -80,13 +80,13 @@ marko.alder@dlr.de 2. Data structure - - CPACS data is modeled in a hierarchical structure whose underlying concept follows a top-down description of a system-of-systems which decomposes a generic concept (e.g., an aircraft or rotorcraft) into a more detailed description of its components. This originates from the conceptual and preliminary design of aircraft, where the level of detail is initially low and continues to increase as the design process progresses. - For some concepts within CPACS, however, a bottom-up approach is applied where the components are first defined in detail (sometimes referred to as library) and then linked within an instantiated higher-level concept. This is advantageous when used multiple times within complex systems, such as engines, which only have to be defined once in order to be referenced several times on the aircraft. The combination of these two methodologies is known as middle-out approach and enables the goal to fully parametrize aeronautical systems. - + + CPACS data is modeled in a hierarchical structure whose underlying concept follows a top-down description of a system-of-systems which decomposes a generic concept (e.g., an aircraft or rotorcraft) into a more detailed description of its components. This originates from the conceptual and preliminary design of aircraft, where the level of detail is initially low and continues to increase as the design process progresses. + For some concepts within CPACS, however, a bottom-up approach is applied where the components are first defined in detail (sometimes referred to as library) and then linked within an instantiated higher-level concept. This is advantageous when used multiple times within complex systems, such as engines, which only have to be defined once in order to be referenced several times on the aircraft. The combination of these two methodologies is known as middle-out approach and enables the goal to fully parametrize aeronautical systems. + - + 3. Coordinate Systems @@ -166,28 +166,28 @@ marko.alder@dlr.de The following table summarizes the possible combinations of parentUID and transformation and the resulting coordinate system (local or global): - - - parentUID not set - parentUID set - - - transformation without refType - global - local - - - transformation with refType="absLocal" - global - local - - - transformation with refType="absGlobal" - global - global - - - Note: The combination of transformation with refType="absLocal" and no parentUID is global, because the local coordinate system to which the transformation is referring to via refType equals the global coordinate system (see fuselage in the following example). + + + parentUID not set + parentUID set + + + transformation without refType + global + local + + + transformation with refType="absLocal" + global + local + + + transformation with refType="absGlobal" + global + global + + + Note: The combination of transformation with refType="absLocal" and no parentUID is global, because the local coordinate system to which the transformation is referring to via refType equals the global coordinate system (see fuselage in the following example). An exemplary use case further illustrates the concept of the coordinate system hierarchy. The CPACS schema shall not specify in advance that a wing is always be part of the fuselage and engines must always be part of the wing. @@ -284,9 +284,9 @@ marko.alder@dlr.de - + ]]> - + Such an external file would look like: @@ -295,7 +295,7 @@ marko.alder@dlr.de NACA 0010 Airfoil ... - + ]]> The file would be included completely, except for its title line <?xml version="1.0" encoding="utf-8"?> . This concept can also be used recursively (external files of external files), but it is important to prevent circle connections (file "A" loading file "B" loading file "C" loading again file "A" ...). @@ -332,7 +332,7 @@ marko.alder@dlr.de - + ]]> @@ -346,7 +346,7 @@ marko.alder@dlr.de unique identifiers (uID) which are specified as attributes. Thus, there are elements which can be referenced via a uID attribute, e.g. a fuselage: ... +... ]]> @@ -356,7 +356,7 @@ marko.alder@dlr.de ATTAS main wing ATTAS_fuselage - ... + ... ]]> @@ -474,17 +474,17 @@ marko.alder@dlr.de Vector The vector is meant as a one-dimensional-array. In such a node, the values are given in a semicolon separated list: - 0.;1.5;3.;4.5;6;7.5;9. - ]]> - + ]]> + Array As for vectors, multi-dimensional arrays provide values in a semicolon separated list. An array is always preceded by a sequence of vectors, containing the dimensions and index values. Which vectors of an array are dimensioning is specified in the respective documentation of the array. - 1000.;2000.;3000. @@ -492,8 +492,8 @@ marko.alder@dlr.de -1;-0.5;0;1 11.;12.;13.;14.;21.;22.;23.;24.;31.;32.;33.;34. - ]]> - + ]]> + Values for cl increments: @@ -593,9 +593,9 @@ marko.alder@dlr.de - CPACS 3.4-RC + CPACS 3.4 - Release in March 2022 + Release in April 2022 Revision of decks definition (compatibility break) Mass breakdown: add mSparSkins and mSparCells to mSpar @@ -4314,7 +4314,7 @@ marko.alder@dlr.de CellPositioningChordwise defines the chordwise direction of a wing cell either in two xsi - (xsi1 at innerBorder and xsi2 at outerBorder) coordinates, via referencing a spar-uID or via a + (xsi1 at innerBorder and xsi2 at outerBorder) coordinates, via referencing a spar-uID or via a contour coordinate in chordwise direction. @@ -4358,8 +4358,8 @@ marko.alder@dlr.de Spanwise positioning of wing cells. - CellPositioningSpanwise defines the chordwise direction of a wing cell either in two eta - (eta1 at leadingEdge and eta2 at trailingEdge) coordinates, via referencing a rib-uID or via a contour + CellPositioningSpanwise defines the chordwise direction of a wing cell either in two eta + (eta1 at leadingEdge and eta2 at trailingEdge) coordinates, via referencing a rib-uID or via a contour coordinate in chordwise direction. @@ -13315,7 +13315,7 @@ The fuel tank volume type should also be used for the wing fuel tank - UID of the component which serves as parent element, i.e. whose coordinate system is to be used as a reference for the mass properties (CoG location, orientation and massInertia). Thus, two cases can occur: (1) + UID of the component which serves as parent element, i.e. whose coordinate system is to be used as a reference for the mass properties (CoG location, orientation and massInertia). Thus, two cases can occur: (1) it is set: local coordinate system of the parent; (2) it is not set: global CPACS coordinate system. @@ -24976,21 +24976,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - List of all mission segment UIDs to which the performance map is to be applied - - - - - List of point performance UIDs to which the performance map is to be applied - - + + List of all mission segment UIDs to which the performance map is to be applied + + + + + List of point performance UIDs to which the performance map is to be applied + + - - - List of point performance UIDs to which the performance map is to be applied - - + + + List of point performance UIDs to which the performance map is to be applied + + @@ -30227,13 +30227,13 @@ The fuel tank volume type should also be used for the wing fuel tank - The centerCowl is defined by the rotation of a given curve profile (referenced via curveUID) around the x-axis. - - - - - - + The centerCowl is defined by the rotation of a given curve profile (referenced via curveUID) around the x-axis. + + + + + + @@ -34501,24 +34501,23 @@ The fuel tank volume type should also be used for the wing fuel tankGeometry - - [WARNING: This type is known to be susceptible to - inconsistencies and might therefore be removed in a future version of CPACS] - - - The geometry of the cabin roughly corresponds to the available design space in the cabin. - It is given in terms of constant height contour lines. - The lines all share a common x-vector. - The y vector provides the lateral - contour at Z-coordinate provided by the constant value z. - One or more contour lines can be given. - The cabin geometry is assumed to be symmetric. - - - - + + [WARNING: This type is known to be susceptible to + inconsistencies and might therefore be removed in a future version of CPACS] + + + The geometry of the cabin roughly corresponds to the available design space in the cabin. + It is given in terms of constant height contour lines. + The lines all share a common x-vector. + The y vector provides the lateral + contour at Z-coordinate provided by the constant value z. + One or more contour lines can be given. + The cabin geometry is assumed to be symmetric. + + + + - @@ -35689,7 +35688,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35725,7 +35724,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35761,7 +35760,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + From c84bb2d61fa0bd61b892d286de49e06c4ef686a0 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 20 Apr 2022 12:54:10 +0200 Subject: [PATCH 020/123] fix release date; update figures --- development/images/dataHierarchy.png | Bin 184454 -> 278234 bytes development/images/dataHierarchy.pptx | Bin 77703 -> 1163150 bytes documentation/dataHierarchy.png | Bin 146712 -> 278234 bytes schema/cpacs_schema.xsd | 2 +- thirdparty/xsddoc | 1 - 5 files changed, 1 insertion(+), 2 deletions(-) delete mode 160000 thirdparty/xsddoc diff --git a/development/images/dataHierarchy.png b/development/images/dataHierarchy.png index 84661304a47b07a17c78558c7e97be9a106d5a61..1de32ccf795ea3ca13816da3536b2a76ea271e03 100644 GIT binary patch literal 278234 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

7%Zo?hj_Gv@;;CqNWl` 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

xFgaTt^>q5y8q>&9dSFE3xiKQ)ZaY6v}4f%YV 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 literal 184454 zcmZsDby$?!7cL>)NOy{qGz=YrbO?x)be98zgoLD|vY|`vFrc7Zv&F_lK|y`j zvu+PQK!xclE1(n)(5-|n!6(1|^sFFM^t4?#dNeheKABPyn?OvWg_cEIWMohXHg=MHN-U|q zoFZ9@1|>&i)ZZuzUN{dB&F&`{;>C zY${jvZ_V-Wh1CRX3h*yU2Wr%ld3p)Y&xrGjxA1UKy}$XsMbL`6+_Vq+@RK9cUw1fn z$Zb6VxTcNbR~+yeptWz zG*3{S1;?nawXh1pk(^a+0LA|dn}7Xcj?&zJ zXyowmd#D^{+h@lDVREw)iT%UbCo!(i9^{Lk?zAp0V9s;XnhhcR_qsXYYK(+kL53A9 z-*)|rcRt@Ha(wRz^rzE|s;YnilpFble3SZ^WmxnaxW36idKmgJmYe@KNol&x_t~#$p5#+JSCXjyrLc|0^sT6sh5DbxoxR z8#^3cld4huNq537xMsnx{K<;i6%yCw7Ty#CDa)OBhNAqoYOJ-_5e)D1mn>v+Ud--QqecwegDCrbFdxLmnfTrfdsYUI^46&7u@6C4#rfB~;QdMW?V*DN;$U*P zZEvdTN1}3bjzLXLSd*J#p{a%lekja$pCU4-=|aEja2su z)uopY8;w46G{q018Yy1pjXnJW15Lf|QcOKo<+!CFPZC-Z)NI!%sob->5T=;OXOTfe zRf-h&@5&h1o)Sh`fEO94=$H;%LN=|V!W);teo1`2uw3}L1g~+$XMJ~3mkDA@)*FnM z!MAJi^zIxl{)pV~vZ{>cxm{-voflC1@&s0ya7c(SGdji!jaVP?YHeE_$z84Jblv=X zSl_Nh-Sa5y;*rEHsOhRZAF72967bS?3+=6H(UZ$m`e6xnyJS&9XRt-G5vv}0dt}pF1=bK9ry{(Y#iC_$T$4Ppz zagbUBlk0aoXyIJxfoI2#(U7aBB@d|eXUT{5{oY*^QRcY>AifA$+{QPhKXl9OG>uA+ zevO;6e~U?WU+i##WQ`SU{(9v8{`gp z*NLZ6yF#;4x=X&f2`zvVG$HXKVltXVg1 z(^x5CjUzti-9SM~1p6htbVS+VJ>;_x?TklWPLW$AOc22+E}wOw5jLd_tfwa%bQ)ee zlc)|OztOaXBN=~qMdXFtz5og=ME9L~;x0{*VMXm(<;!L_MoDqEUn;%8+6y?Xt`xRd zshb>IwiTga+s>Xou=;2GS#5WQ;|g1O)Rh@C1(FrMf&6Mye9R={mStUwg?JFIdhbaa zF7dZym#i1z7sAC;B{`gHo@?rf)s$pUe;(pR?5iqwa@R(lVY{R^{(#z0S24XV@W$0M zg`jhCni$$;YgwLMscagT)~lES8xU94Q<}?un)7$v@p~(oPof{X7dAE(P^&(>Qlx5U z-i_qyUw7(6`jdLbeGD&Lh(Z^apK3QT7~OohOY%@H#3eAy<_ZUKF3j*|;Mc{`vtL+K zJ7v~1>Z-S)W^=lPna|~y%^hbO8}b&YrF=?!Pc}b_D4*WB5F<8-X7dV{|8{>ut@-LT zoqjj_j$<+8<5#bjc`C#gnvdZ-1zuM67;T$GWs!SYHG+^{SSdvA|GtAlbJ53d?>R}Y zU6}6zo>y+3LO8C~;@+U_dD~>IgfFDX5vq zbh%;$2-DXY&k;>H%auhmT82{iHq`39)jEBLlW-xb7`~=;Dg%ePgKHVx^>2Q|Jx?vF`c;-^DT%umJ?3yjl@7(M3Ah@-2~pTZwTfx>?VLe8?s4M0>6FoD0r1kS1Ww z=ES{A^cPkB12BE#2qWf(4s5P{;HP<;@%Vk7O4`sovD8#X4jr@!6%-z6)^S5A0*7C{ zGiz2d{Q6{0HnQ23*k}^W23|XTd7sO-b_XW z9NBfd)Q_X&aR0L&l+Tkab&buTw3MtZ{G9;H=IJ~0PmOt2kn#6l*T=4NX#J#fsB|6|1^B=0Xf->YE%Tij z3t~H6)D@m*CAHVZ3XirQ&hZ)in6J_WjIv)Njb9!nuo2`BB;22@E#n9ZAZfi~Q}H9} zChyq*4tqisrRii5Ey(;e&F2}QOlhOHwLIGU4(EEK6hq-YsI1{CX6wGc;4d2Y=j>$t z`5RQDq)PS{PW$Whgv|g(qgrCwd|riOGq@7rU`sMRIY0B(rWdA8=FlF~pS;jC11YhW zoWgUJr5`jEjw5&Ul&XJyDa*Q$F&ooH5Yj`wp8^fR$+->E+G8kV%%V8osq;0A7Mgt2 z5*4*(?-zXZLtpbb{l5=XHJ>!I8CKA{RG8dOc1L&>2Z!TtosC(Gv{H0IhwB!9FV68} z?{RMLdG^))InISTBCdteCxBA12BC*hjF(K^of~suq6tAI=pM}>7#@VUS6^<9r=bM6 z2rPfqAP>J-UZy<&3Kl$k-sv#|&Sk3s^s07W{XUf~(ke7d~|xjU|>*r2A)Mh;yd1pd_$;Iq;wX zHO(7h_Y6HD*i;GOwN?>CL?71-GtdR!mZA^W=;{qeYdoV75q>TXF2D#a<{ZF4ht`nY zq>9~&Pm8@Yh#XjM#~x5?Oax?N5`yKzLdk0@f1xXn4Eu<{f_$hY)>6Ii{t^OLa;rK! zPcY&_0ZUS!T=48uO85guuSHi~sHr0VE&#s3N`4yWH+Mdho-?3b+56tx`2d~cm1h#7 zH{`G8hMjXUwMr08FgWGO_NPz2E3dqT?@RovaC86Na73uW#VYnf#yR{y0=DJj^fg-Qp8cMzcF#UqjF-)sah-j}=h>!u3cyc`*!7!ZenyB#a)uxE2Be3v&^frcpy^dGQYTx)af;2#OroHk5 zlodv$&lg&61QCS&-(|ky7Abjt1d@B-SMOO~2@3%JeySb(m9Ct`eJ7dIo!gr2`&)I} z@Q>dftHaWjuEKy%fGt+=r6plx%l=l?n{OuU%KA43)vjQj-MP9J*ttV)hXgt_$#qsn zRWL0Mb=4A5>VlPCwNwcO*oTFutSa!&ludN1jxRE9x)F}lBi ztm~Sok78eMcKaGjk!+}`uxtdyCTTvSM`T&($b9JT%K|$1H->oRUKz%4Z(iPmIp{ql?N+^;`?w|sJz=}b3i?V##~1Bko3$a}&0@KhLW^Qva*uswVGF-1AJBjj zZF7xNGvYS$Tao-5jcu>_taK4j?ON4JUR@mu;FK2iUMHs@XW4B|Rp!ZuVlIO+fFFeak7iK;OOQ{6z0rhN&81xB zxptt4HKZrODi)VDhz|HkM)#OA&qOqTjB~42M!SGa8LaO{p{NK3I#-pxAtdYlqa-{+ zowyGklAmV^#4rx=lgk61GF0KOC?HGVOYBh3ntZ-W?& z+ZRu7_E26qX!S-}Z<}=*%$2Hu{-xN%R6!q1r5K&UQjAkB~KG?0%y{a6q*c|=uv3B5X=&4v;To|z={{LOm z629T9W;X`9sGl96HR})!Vm%V3*x&39a-Jx$T&@_=8Zmv`^t8H}*WT&YBdGbrr4uEg zbz>TU8pnal;NiwklI7&^a<*sLCs}X%rU(kYAK(7El>k$nIAr&Gcoh$m(7d4H=?A-P zBi>8u%TFU{)fvV&o6rv!=)9PwYAdJdI95KS@+FmDH*JM&G)!JO=aovtl>l5`ilvv~ zzYF!)DD8xU0AvPJg7ktyiV3tAP`QOlYP<-!3MVX}Zqrqo#m!GK-7Sct7##~Y<{Hfd zkCe7m7*8IGJb&`x_xNV#r+LrIFp`8urTCfpRVdEd>+8qlsn3N!^HXgKK`Z=zz)81v z(J!^f85A5EPk<0Ov&MQZ?Lr?UZ(r)@-^a8`m+=kjR zQyj)%#WBZ?o>vliF!Gxwmk&`zl~mb4<$vcgb;NAl8&pmQ$qa5@?px%h3mq9NN2jaK z{0C9kL=L+&VxwO?B3TIW_(wiG`Yph53t`bdmo_EdiYzk=_zLcSpfI7qYb@!NU@E#5 zQT~-F5&z_a816q$Ea;uT%{m#>rmW6|E~@d*yN5xZfoHX!-X{mxMvz?k6U~~7p%3Wo ziae*CK&8XDG$rSH(D#K$2S2|~t8Uku%3HRM3FZX+1<7C7E=@97q_}zkSChPREfIfs z7nDE4bi1@yHxzLm8`bZ|XOJ?~YkT-VhMX*NLnAGVlhp3&DKkEc&)|Z~KS#7*2$`J# zB&JGpdNO-HMurnT;ed@gl~Fh^oT0#zhIgx4&OmSOo)zd*>;C!hcvuBIir=+l&RY(D>d&m`Y{?_m1j%8apB%7tZR6ebR+ z5#SL1kN?{|i@MI?6dgu=wK=h`p2>L&!LGtMM3-8+gx>9jp8^{uD;$$2>MUg0q%;%e zE+buG^K-bv6<`~3;bxBK4R&F+gNQ5vxPYLVEn#)`ru8*uE|-<~G+FvCA#F}*wEMR(01 zr(RyTX#G@| zG#6VTbu4Z;Fh;_Ik@xqw_otjcq^}p(4VXST`<17iDU%0UnRcKC1tq5F!aK?pP-=|} zKm0Z$1-kFc!B`9l4$S-~%_7ybE!51F?jL4n0#7!VLy2S(4y6D5UMxezA6ROUZH62? z6GGFdaQkYUM^oH*>@-s4YO+79&Zqi7BO;4XRCitqwyY6QD**8Su>L{QjKH^-QRuSS zvrS^~`zE^5$nJT7uJGLTw3SdYjWu3M zmm)&q(GQye=|fWzHb_R`v12}#u5U&%K>M?v>tmW>?G1IjtIiH*&HKbY&IbCC zbn!3p;P9bN=BiT;$uL6-<-Xd!c(7Ct3ghnm%}RZron|bNd)JOprZ&^EN>bNoeM(>}Pq^73vXVD* z4tlHbXmOrLV4#xez}11rSI=aA{cr{rU-3~no?$rfG;UYMJCX#qi%#K$ZJ5nNVUBW( zS0(b(Vmq?;liw!y&JGUrZ>Sd~qQduj8ROa`RU5TX4RVcFkj)YvGg~)id;qc~HQS+h zU7oLl`j{)URWjx}>DaoSW(`ufp{8%Yb6}D?30uMm#Ob;@Pmv({mnx;u(L*{4g zd4A@omZKAxO)E_aUc3uYZ zI}Wpf56KCxIb;$ieS{|7V7T}{0b6i;y&ukE+sw;k*$|3BiLm@KT4*G+KVco;{msx{ z)S8d2u&U$(#UqO^VF5|Mr8=oI=lL3czZq?}^IF-r8_b}8e7?j*gZ){CnZ%~A@5|+_ zdTWUUsXOVt5iZf4iG6SmmCKE)d|RMMfEKM_%4qGbpi%miWXRKuNq=Uu{DEEG2D%?F z#bL{l1yU~CU}UHzu%3M}H~j|Z(1^5P5&-&8G}?RhaUGH*;f8wj<-WNim+Xb>;Y8iM zomV_e#>s1%6Q!(#jylB=w#4g(8rAUZ0KbGG&zi^!rIcmQu10bFmmv~$jp7rE!H=dd976m z&Z0|_@J>{SIeY19F_0jtr+lSgNA;QW_3dJe)NvblQo+kD)dk z&LZS-oa3d3#XwqvVdKRQa@|H%ZZI_zN0n@VR!9TI^^Eesb`tf$`cGOB>CW`yk0Cz@ zZ&r)GpZhb&2j;u}DcudlD>Z}0E3l=zl!Jv|=UZD72O(2@7eYiyfo!;hkB0#6rjpL~ za&UlVijNJ;$FA!m5WyTpLV86GHNQnr-Wz$ga6{3dKxVdw^DLSq-Pdd!WomR46)^!^?yRg zN_;8dc1}hzn6S>ed^$U@1M_=hQmrJMu6o6j@PzvIB6+*sqz+!;R_qJoNV+|<|HDc% zQGX6>^sfz}k&f{jBATf)JD@zlJ4Hw$gX3^cl)tXn!*8ZMjyhPW!X@x#Db|J0bLA(X z`hQV7A++ZI4KO~w`^L-usjk_qn$8)BBw=0heJSdi1WVA7tNn}=r#oJkOGl1sN1`$V z=a?8IPWr%*_ZKCu3MEiPXZ2YwpRkfz3olaxk0Vn>NiZFrNOjy#5TIRtj1@W8dT-w{ zW~H#qB4O~E3-%a9Cz7&Y2>flS*XZvH8&aZ72QmD!se3zl9!LhDlh-H^!SMLqXgQMX z0;cVtISt>teAI>E0hcm&;yTX?@_c=!pz^H+ILA$<2S{^TI<{YNj%I7+Wh(lPH(*9)K9DlSBfVJcrRnyk33soKf5>bbep=aIh4tHiq%pCVpE=JjmL5jI$=UP0<^5B5J2E> z?tXi`UKAd({VqFB5ZSTLdDWCVHBoBa4;pb5ZI=&9pvyg4Y(9Ohg!2(|O<4o3*ay;{ zUb7tPngUYU;W5HW|4LrPu-w8O(?Fmkr)IB*`}@cd7#b3DQ~BU@iWm;h;Xk|X?#%Cv z9Rpwg@X3tFkw(OcEmioPbta|PKYOaiuo2~P{4xIFq1V?(_a~udH6FIS1dNwqOtA^Y zi(#%~g|cf>d!tUza$`dT^x)V3cxI%l&Y%qgo9jRXi{cziIrEi!uIc924a%IP0nn)u z3kOlU>(`UBb#srZi)tW6fUn_aQeF#IAQmzc1TvGfa*`EUxM$XJU}LNodz){k9WtJ1 zyp=0|#IxlW+`!0Vc&t8Od2ikNc98u{=-Dl3+(A012Pn(GFo_BD+7 zTZCvqT5=kF$83un>|iT!7`o8N2G&E)+k0xm(T2m3s~jXeGZ^qH9>`#%*C8AFoGR`< z?wz^$CQf?Vqi!OppjxDhiPtd%^Aik-1U@BTTVmuqI4udmH?$o4(apkpa|kWw#04W8 zHs5A7n;rvA%)^ewxVRL!OEpGLrGM}}e3$HbIW%Uoho8>8O5=jr35uJOFzp=>J8XpN zG=`(5V3M;8wwpX?XgI7G1t=g2sB4#Djh9KtR<(RFPO=Bn-SD%8k_7I544+S(2D=*g zRHxMMxzMujc~aP|*Ki&WCLTS=Mco`S7rH1*Q6e;MogF8E_ zhLW${l>dLcN?hf`$NLVKks=&tz_2iw66%~AA}sUKoq&Q1Vja&qP(_C&lYf^om9I-O zlhW=#=1|4sctZ=}aD2GU_p*v)iaGXjz2Y4kO0=L=gqA8iQEN@arw*qy^J#XOslLl& zHaENh`gbq(z|7@khP0nrtzADHS-UKkv=SzJxE#8N+}jke?nnddqV$3fjmGM&N-U_p z#>r0QBIy*MXBuDC^yMN5J0~2us3yM;^2BSrXpknmL)KptW`qj*W!2k_I1Q?Y^S?P$ z@QAFWJs%}g#rQ<&$nQ;Ukc8c(3g>C#JarNk&xyMc&N6?$UMpB`BXlqMrNIZ9UdG4t z1FwNLmawM-i4IxhsDR%Xwp$2btN<3yOE3YPk^1@hHfhzbXzpTSZAkUgk|N0M#jtRK zWlECrWw>*(05Hbb(X);6!G(;&`3T0IeF^U^o&ipaTp^bU{+fp)d78TRAfNBm2cu*4 zP-p%?q8uqAKjFJrF|v@s3~7^$h>~)s8S470=1{EOec}v?N6-!-y_w;f&vQLm5dus0bD$`fw;b z3vCH_9zszZJiz-ObBgS+V2ai3t^0A}%Tz;X-1pwIp%HA2JjJJGIrQ9^7?L`eu+9S$ z#5YEu`Q4ZYs#Q|?-55TrdCr3wn6|iy#U{Ezu_@9pEwh#+b-0TWQd2 zENX-+q76H136Lnkp2Zz0$DiP4PUaYMk>?8HvgX9Tumq@6NEzA1~3%T|ntmI7PFFH&|( zy}%I`z^(v0$#>)&0i9{gHU{*A404MhQGDwLeKN{=J^rP5qQ@wH@m-#&r`v+4ILx{b?Nw42Ep=M& zSBeIrO=on7&2q$`yUBE0zw(be`z^rGff*2w1=IV91$aE5JnL3oFq+o@Is8vGhzBnj+s8QmDE_ZX)$S3{r zKM0DFp)k8$7C~rD>T-|I)GR*W@sczzl=k4fFhOyv&AMwPkCIAj|LRfdZ))V2xqS-l z?g4^nt|9!><0S0Mst$QuoaAzsORwX*NtD$nuq&$ue!{gK`XQQ}ejqh4IEAGXZ61n29mq=UvV4>mPM))I?nL$5c>!a8wjR?p)M&Y$)~D zmMX{1ob$9^ab*q>N$mvHd`~rL!v#rp0xwGGIw*`n&k{k7R?-A4h40BUk4UgE9_<{( z3h_AZ)PqsV1d_v{i{-8ZW&E#Z>_(D02o_Q-u$#)B602(n63d^2AuZ$Q@pC3ZoSs7f zhj3hogyeZMmN^W)X;GpovFoR~K(^m|UpT9hAbU7@*ip{_H`oW?nqTk7Njgo z&^&rlIIUiVpr_t)BZSPMMBN*%biR+nL-e*9^z-06!^k!^i@rNk_36F)4{VX_GjEFE zO=&(2Mmbx z<6rAB``D1o>Yu~v{h+YuBfoFT9CNEA%LtIy{he5!3ig;(xj0_5nefzUMw_h&2Fx;N z!q^o4>enWZ*U@RLkkj44LZtls&xtc9bJRa}&WF18i#zy4FlD=H+AR-+d%MXp+sEx) zsZ0*BfX(~C1$7Ga(SE7L(tAzF>j`Y8BqR|x%UNC67HNV#!u@I98=?gQ6PM%HZr&=# zfMUkRw;T1#IMif77&$g^jM=BAuus4Lc&alQcSKBT#_-$sUvw3@zMYSg?nob&Pf0&| zHtHU-r%f>s?QB1r$mc5~`~J$8?ef6imtCnCTsyxT>p2%|EgXu3DlzOMgZPJt5Sv6q=f z8ZT}=XcJrkIeJt#$+?XUodk48Pz+IzkVD&2>&~8eTUA&K4oBLTg8MN-Ujc5FLt1Ajs&y6YO#xTs{Lz!3jjb!6cF$wG8}SgwhlmoPYmA zhT)P$IPG*)M!6#^E1vF?h5TIriZ;7Au$0@uO9}a*;l}x4cJ2l4RhQF zSXmyfDD0D8nN-&cC7KllED9rNHKi(I;)Dm#o_k7@^|wklOU5@QaaBI}?fsAWp{v8y zZ`HIRk-<nt@1b1Q8%f^K>+MfY|WcGZ1i!bLzp!Mo>1gHZ$-zf3$f47o^VSeIyAM z_Vv;D+Dq)+f1`|zsP!Jt&Xqo-uD+pEr zr#akB^Yh~uMzx;#M<82%{}aR4Xh>mOztGQ*Nx+HoZ!}L=PZdVle{5(-Eg2A&N*0Vk z?N_xQnwD7s3s$jiZWFg(m6~~3an~+0^kheC#WeQ;kAgJb56S&4d#mEn)EZuogpQV^ z$`1K&>$RHGk1a2oUu-BI0f`+oAsde{2gt2gtm4Y!+Kq<{n}4+V^6eO3D;unM^mSWh z)NJl~mFq|D-K`aIcRsFg>VJK>L_e6lf4To9vPQPKi|J@sJ%{Y0fl#y$GTtrwnFwBp zN~_0>aqQ_aT9>;$_pUM<(--kBPajaI+lGn}x@_EFdtj9mj6KD{hEf<5hH)`4*eT1& zH?1i{R z?WGR)gyQjY^9YP%sZ$+3T5_#9%ju9dGFVw zms9ivxgG2V5RP6`jvV43P)YK#v&mirZPlFJGD76x7sPxk6!4su!Kc@+OP+QiGuedr z?d-6IJ$Wp8GD{`-Ea7`6k>u>HEQef@8dd0K2%^Yc|09bdQ~(S8Ueb8ZPSk zzS6pha|!Lk67EQFNoWyVva0Yw-nr=|*lS$$5*^FP`nt;0awCb`KdE3r`tsK4_Hz0@4^ zl3po771|1WQ5PsjHK+S2dq1eY3po|`uKMH(ky#hBDHZgWj)uK+E=BfGrp@}NUmOvo zhM_`*4#d6fMt19S3<_5PND;1KG;BDhya(p{LSO5=iIgVL6i%EUJPo24IY=zV@4 z>Um<=(iK(+BfhlqM9fq^AVwGJKE@Vtj6z2s#xf+MUM9ViI8;a~+}vkA+)5QW*;0*X zke&kPu*{d~?qUfzLiv`Ncl|fg{SPMX*;D&l!ts9fhb=K&SyFmcjw)uMOUXQ)fv6!T z2iy3S-9jakfe$+ly$P=YBj|o=dxWL&M>pPr;pbfUNH<9m2@4F0xMC!+dp?14Qt4o# z6lr7`j!WM6G1rZfH3w_aGXW+sMl-S z_3ed9@vddv7G$TJ_21Wo{W)5B$$a~1+U%3_2kJ2+Wwz>?pcsfxh@zLzgLX4Sw5i!Q&&7L4R52O0(^Oj*7i6 z*VZiq4mIT9%XR|au#q|Yskgfv`fL{D_UF!8Q2JDXovGU@jU>sqigFP?ILiJM4<}0G z!yIYqW_u@t=vbg}K_rXEYunb1FWzQ9<}EKnWJ^ z0s~*QZ+F2*vBZgfU<0Pxs^yZ#mll8Zv`}BdcWxuma$@r^$Z}9B1v}kL7NXI2<@5= z%94KXb~1`Qr@HpwrRv1@sn4r#M$pTkS`O)fTKMR8$JlEmSww-;1u%+w zh-opOBzz7jX>OD~xHz)poL49bhm zKtoUKcl5Uc4LalKMegnSd4U6+G*$jGi508JYStDD0 z`!x>RpqwcZiOGWY0g%n2qzbpbQFVws$-0af7GQ0YZt~*ZGgxJj1{~^r@KyD1xXRad zxOlr=hEU&dFEl^|cMIIWEXEh`=Z6C`_74*WwwHlfh>X0|);^YmI>%LGorN68tGp?S zB)G<}EDjF1iX;3%KNmoT)C&BV9b@sqp_fqzvamgJ+DC>)Z&l z&Qs|WnJF}y%;bKACh6@E*j)|4iO9XM7jo@!n0zR62~GD+_(Sx=Seqy~K6p)|Z)z*%g|pICDUy@pfswHy?x!$oQJj}h zd?7>T!5dohY1{7%!8DvrR|k@$p)hY42Amy82P2%dn@wvz5`&di9UInG@}>;dK1R+k z;6+G{#gh*0Xn;)D9(+?A#ACg(cCt9OWJow`z5FYW9?k{(3Q%|$!+k@dKt?S6EPULj#Vie<2L+@O=BnxF&cCIjdvEpc5L`g7M4`MaT zChGIid0eZ0HdN6-i{da)Z$slI=kgG+?3{e)Ybzw}L?v;%CDA4oi@`^Z#eM-QNfJzs zzku6J(jLW;adUvXg!)fTvR2YrEZ|twOx8Yfo|j?~R-hBIA4u^B6%g{YReMM`PW_#5 zk}EmkDkrJVWPWigRAr_!wXpn-JSBWeBzwx#LJD7mi#X#p{9z&}*G}_Cb4YR%vwL^_ z&QJyoL6Kg==ul=}E=@6+8`W?F=TY z)Dx`-S(f}O&yLvhn+TY}-LRHY?EkC@(L#d9u@f4#DFxDQvUGgp7xWk^02DpG+`F$T z#rS(zk(w@^$&Co%%@pq=17Xb|`oWSxgxFs2g_?MSN&f0|OT_=^7+bH&<@(rjr>sjk z%Fn9^MrGm&j*Zm*qG1%Z(naF_#E=$&jurJMLu8zITZ2E6CIJ5`Pfa=PeB;;nuMvLTYiX8fqQ+;3ed=2GMxHPzsmeNSk2QnjMs#tIB zJ>Nnr+%4wd_<_`=KU^BT7V!^lAgxxI_VzS~5`z;uaY7jp=#DGvQtwd4@x*^GW`3q8D5&{mt ztjP3a$IBS&&CCC@zQh!Akjo1w9AFS+<<85CX68-2kKxB8@X2SZW(AJy(X`{&@6YMg z8&^7!YGYbH0Of}qHZ=)iYeoJyA-#k?A#P_vHV8mB=@yMD|9FGevCgplF90uDVt76u zmoQmplLP{8A`6wJbA#8WF|y_N5=ztD=49fapBWEM_x{~w>|59I zo&E>muM}Z%f$a%@lOI{!ZvC+qPop3wz1IBdef;#2H-F8mM~$UlVD@flLW0Dm{Xp@E z<+5@Avgn18CEAeUcCzU6_=G&U2|s;OIX(E}O}CtT73U%{bm1!N8jw21LA|D5-^LoL zf!U8#IO+*mciF2Ky=Xsnb%$;vyp< zW#2I#!5>STf9MrT7=T=?v=l;Hb(+hWbPI&gZYn|Iq`SA-zC4 zn?daOw{9S<=Id{nTI?%@9*(%p+lIf94sCJ9Ft*__&rw~#*J0fL?7~bI$1XQ-h$v=F zb&Af3IVqnaIDkyGE^kg6ZP|cUX*hflgVK~~`8TIOj!y|7e=Q<^hBPi0qvdY$5E6tSlgh#f`zu)g*Nuz z1c4hDCcrW`0~MA3jN?fR$b4erGx2xvT|%OxtK4VZ#n!<|wmHwkM;tAUJB&{HAfE2h zs#C~Mn~lpFn1n!afSjo93d^`JDDo0;a8XFPW7nbTW?5K!Z5{}5uo67Gi%YKqImW)s zzpLc8Z;-@LMtvPwlv{BcuoX;z>VXb@hWz zqXTlx4I9xEi`o=kzF9g+8^a&T8Cr&{tF~iQJF)*++dAV6b_T9i{}3k~_3fu* zNJw;X``2JlA+6jNN%Z<0U9NduG;>&jD*su| zJ|BM7J<=%QP9{nlVi@L=q`Ixzg4EyIpu+m=2!9F>&|)|bN_=C=T@E%TlkVVC2Mz8% zqZOm58}$8@oYnbnV&LS~>MzZq5(ITwdA@Pwd&6NS1N>zg@QVu%kiYUE^zfThx^q}i z5hwzVz}WWZEmjJ#ozYMU3&5mh;W)J9dEr(*dF=lTVnQwbUdHHT=b(s@l- z!lUOYo^DC?5wG;6TO%_N`=7sVWhmIt+3~U@(TB8O9C)LKBlfYj;0^LfWU+UXPJMZq zlENW6B}@;3Nq;-f?Q1O@7xNz{?o2wee9-47vU>v?FC7G*3v`Ce!#LsAB!AIOP9fVc zU8zb^5tU%R6raOiNnT(lO%vpecNo+g@&1d?#QKnQ9%Y@s z`pE-lfyiCmZbZ4`Du197L>^nrTaZr+Q)~)u%YU2kz9z|iD+=GE-SnTNDj?EmR->uc z_Dm0k{2`zAdGt7BYh69Yu$q6lYq1HPNEk`K!fr(JKz?q|nuBS%4C)x4UY>>kn0O@C z&VdCU)q*H7Jnzt%qcxZKi4^Im!%Um3@D~Q=f^@=|lpbK~ae(gscuHce z{1w&(((F-tBi^YP$FYa;kK6%XMYJRe*Z{)K1zvk}r{O#~FY>x^m(O3drb#@L?EgZh zdhP#F#rOwvKJH6Q)*V7Xnzak_?`*gVa{* zLpOgJY3152(HlKpeG61H%%?zCSxiP7?eGBauO1QNmGLjz^i%XoB2(i4pKD(>|gZeOE%4C8gmo| zUM2}9kg4MXfBQqerHxx3?fpLWdowne4jcp&jCG#UOs!8g9l2bHDjg7LwDjhc{t;p6 zD$#WMQ)qLrpdX~vmRQTJd8N>Kq>3=?T>~W>X&gAa%42Ubo;qC~kYNHbhSHDE9NN=@ zJLM_Ug+2O@(3KQg)4gzoEJRfJy$)zJ$#FQ|E>HaEe&Z{4qH$RBCjhpzK@r!)>9Scq zLu0`*zdB0i9&ds^fO+t>iIZ-h{?fLh{VC(v%5@+V|203Bei9QXaW6)3hsB!JViO9Y zG%dt~_Bv+7BgdzkQjkSzNb7sdM`!*S4V^Nr=~d${52Oa4{o~OW#buhdfDJNrXp;Z$ zeFavt{sazvFqg$vnEbHD_BZMvLj%&a^Q~GrgMjyof2R_Jddwqv9?PJcGGaQpTQ;$K zEUA0haO$!L+woCZb3b4WyT0&oZgr}%AeCb1tv2KCm=K_YU2q;Onoy7cQYi4$M*s)e zL>i?PveQ5;;?mx>1B5KfcqwqkMi@DW%s2U1jHD`Q78zGA9fMAcbH_7UjzhrvGF@im z1;1emJ8KkiTI&>bD??j+6)*n}Ti+c> z_5b~!WMq@QXUL`ObrUi(%IwO>mQ@$6n<#r!RtS-dl#;AO$lj|YBPv@-GD<}Hou|~h zKHuM8z29|Rukn1I=Q)q_cs$ON06#-rb2+2tRUgF=2bIQ{fG}S9KOy|BI;E5OJ&Vz# zj;D>HBI2d_4{1|BSiv@45)IWynq9L$V1k2JfK$jV@h5$lxk^ig?GF^|w1$3IJ+OY- zo)xt;4b}3+-@(HtN^lpBsMY6%1#E>LG5Vmo*!Tpk=tj=&?RTfb&1^8|Yg`;aPtXbU z4*g>1PDigDaLm`XNkf(ontA)iFQ10`Wn6nSn2#PIyCS9l4Zor9z3=}zh9XQ9LI?XZ zdH$RnaYb=DJ{`S*9l%SKcu=bVWhIX|^?^V4iGU4W1kVUH#zQqbuyXC-ojqM5{CB z)wTU4B0_F*50@)LZCmcjZ=Bv^ zde0VFGx&fPSP~LB**}?u#C{6iX<{+8wXIqbF_vt>vJN0`Mq#du_j!7w@1+@|S_#?5 z{Xf6byAh}Ips=jSuAVevGO%nP=vJA(IU0)ZQY$TZUj(XVi_?XYF2f@hkbtX8GVIj0 zjPeQKo%Qj4Ib#;9@^~=gnulUf*M&Ks&fTv{Q~S!k>$ZeZY?e?-se@PK+#&_}U!*#e zI<&-#9fdHj0bi20&u5(ZEUyaJOU|^fv!fVVq2CoSgz>Xf$UqvD4?en* zc7?Kh<+RsmcyVJIEz|GHV)J;^g~WO z#7<+g8rz-IxNAv9(>UZWOsTmc@6F2H933gBpu+ilhCH8ansrnX1VX8nciYF3Oovdi z9P&s;lvuE8y9qHRvbqV$(U?!b7L!njW|MA0?C+^A<Fq1y1XNFg{o;)*m+o8N zUnX4r_sqB==~&PxV)iFrtQuTidzZp56boDU@$C)ePbJp@M7Ew_RrJnI+`R=U2G+gc z=#o#Qxr^6lJlNzGKQQ1af6n1^mU#1^O}*WC*8uT=H|NUBdKYQD$`EzF;-hh!k!LP| z^F~$7HG~ELB2PAvdNs*ZB+6RVE2!$);4#yk7Ynt16}UxE;2uDd9YS-=2jH7~Y|~y( zg4Rq5h{6nkzd=?4Av@2bOJSVK2Q*JN5r<>6KI|sfxnZLz5=8$+6ujayAI&$#W=PuP z|GA(5!OZ&LVbvMDbJv6g^ZCWvP;YYViAzc2oM5rjAz7!z;RNud3}l_sp#6_Krvli_ z6i5bpg&7y%Kxr?>)Jf7OGux7=pD*1Vr2SttUS;2MUi`#)*Aq^BFT0Dca>yGpd(*W~ zft6WLPXp}1P^M#ap(n4fOq^NkDi~Pie)H^Q_Uo}azbJ$Io`v5O9~-!oPq7H>b?sO7 z;PzBw{~V}E(^m8=i^I@7wC@psr7qDFqucCggw{F!3xidcG@e3IROI%G^F05}kK6g4 z^sL>&CHviNv}jKL1E`eTmDmq~3*IopAi+1oK7)0TA!@Gj20mC$blN$rv^lv>awlU{ zcHVRKCJrXbMiDw2KYS?-e`N5nS*qJaPj_Sv6GtX_8eAl5{lYYatx|lap@(R%&}& zY799foeOSwHB$Wi`62f|#2paJ4<3`X(*=*c3vpMNgaJsA2PRLCRqH@iB5Itc{(xW+ z;dmioAm3cMwaH%Z7NPpc&d+o%Sn5yPO-^J|g9)f% z*G}z<@3Yw_^bUKCCb`Z=mfs9MaAh+TV*+nhOJC`Cku6ahuyPnBnTGrbk(2alE^S-F zCM^;*#0Ate5ItmY4ny{uy~iugKE(7OPaW@?FQ*_3c&D>KT&~DjKM0G1x3b_z)0}MZ zZJ%QgN2o@}#kW1+IOoB}`wa{lFr{X9M^+cFx^)jJ(H-+X4(15AZw+VbSQj?c?$_+{ z35aJZc}cN~@xa4YaV7AVD!>K9K zlLnY%x;;;;b$l=zG|_9l(&bgoB=?IYdb+w#_)@zlT6K$r!mYM2jpFXs=he_M9A>pj zBpHPIcBd%gz7RXQ$Q?9YHRTx`=U)|O^K%CDSJnLR@C|Kpl{KCSUvRil5 zk$!7-z5LykcGhp1>o(4>%DJ6lPV}nZ^({zF=j_%I+Tt{N9zvb&a2zC}?ZF4Sa620# zr@@iq6kxzYP6M=II6iWTXe>qy-_#~HV=u+yr8lBC4;`xncN|qs@(~~X-}#wrbC1K5 zWV*5c*7OG?W9@{NyYSjF`N9@Z&i^hrOFBv?P3er|yR`iU>0NVA4szXWYI3}2UV+Rq zfePuh6_^)w75KwYj+P;P3aG-PK@3iio#&E!Ux^ ze#j)4aVrbteGjh3F9U5~!#DDfX zknj3b{JtmMJo&U0d08Dh2Br4zpNNgFdogESGF_CktA!puXc;V9iIUa|VH)VF0SOY?{k=d5!>umv9uy7D12^H@6RNA60;IX9;|a-E^^x zQRQk|7}dn}De{021;HAvJH+6Gi?PxVaKD7fw;d(%GUO#+V7rQC_PBg4E^I&up-kRd ziZg>QL*COBs=!781Frw>vsSTrM72QVpC{8iQgin)3;ec#UvE(}A8NUfn0up{!Czt-L}SV$`^qB^BTbj?KJ< zG044}>7P9#wa*RJbcS?C5OI}_wpo+MjxcqhIl{8RL5^++(srW#}sU(LE zVCh}iS+mJQfHRJqo&war5QX}?-7vkUKfkpG=cMmu+rpIKdC#l; z^&AyK0q!3DuPV6s*Q#QS8V&mE{+vcvfP2c=$qwMOT1k>&Emkb zAguW#uTn|J*`=bt-mhAxq+jZqKrzvOuN;285+yTcAN1(u9#t+zHe7CH{_9-=X!EhJ z!*wC9n(@?I+t^!IVeIHUz6^WtN|5RI6`3jQw#4mJ{_jReWdC{6 z6Giw+(6@I$^f5ph_X?V>aK4}cDg2S4N`jAQ{aek3$l4j%MO;BG0UW?{!02--(ek7u zQoCn^cXs~aZtj1+{L4MW>L?=n_rZeomjG$yAVlQHg39P!ZoT)|!*%pmWct`i#kv%Z zltQ7aX92sM;%Md@FMABr9@FQh%YWS*3dv`wa8(x`rvmACPoNj_fS6A8iBepfE!LDS zk-X0$VI}f4brvFYN*lVa{{jO(cwb4p^Mh_MFKn2_gTC@u99L!VcuBNyGFWUTfx(lz zu9u1hZrD+ZX}G(=w^C<$t_NRVe@!;w=GN}UcS-J_>CMf`oi&P^8mM&Guh@UmC)E|- zo*WlCQuhLEZ*ug~$ponbW*pxK`+JwFcTt#3AU{smZ@sc{=O`?&)!?5ac>n+QJFMcEe+Am;r=XW9c`s^DSbypst0$N7yD4k?zQ{! zYEd&TRMkK*{*V|akxaivO8T0LSaw>9tHhrQn^mPUSYSu^4=YkSZ#sNew+*@SbY=F9 zf`zA3`7R*>Z^P=vHQs!UZQidizQpP2(@!)fh3$V!h7YxUtbSl->lwj%Dv>;nFC}=q zsvT^KQDdKL#)r~sBbH*ZbSM=~w%!HqDARP8C)DMlx;}z0esA#<2YlYK$A?T7{@Lgo zL4Ju)8Azda=!e1LyNS$y1&N6)d@9(G_?zJcl zL(G4%GSZ46YJ~}PQKJTnUEE#i>CB;1bcc=#qV9g$>6dJfg8z1Dc&c?@vYq91yF|$n!I&1R(PG@p{HanV4`9&soe!5g9C96??R>rWD2?q z6~sL;5v5BLyZ(S4wUThW8Z=&y#GgKvH6ZnJ0*Eg_d>CmMb?-;iZ`~vd+H@q)Jac9g%BQmb+?`Zw8Rxqr2(;LREX2gAh6q3 z?Bea@L7A@SD|w+|7nYv_1T4l*u7=ATneA04nz=o^dXZf9<9uDBWo2+yRrBk^)4ypt z@HI$kEp*(U|iXyO-uTpdtq1Y(b)*H-$IL*ax&d`|?Y0=ew^3Cfsa&gvQPI8LD# z&`N5$cI8y2gjgyDNo%WJj3CG;#jzVOo9cxBkEJOA;D`@m3hvW4Tk(8ZPpmX zZN8O%-1hBpT$drATRVnsrZ4-2U;0Zigl*ysl)T)I+#6qC zKTRP>&Pguj+queVReVgeMtT8r!sG1Q=Ra)jGM|uD?yap_PFYL7=W^hcr?rbOuSVKu zFSodRA4@++ZU3FLVmQI605gP#AXc`keidR*!g&cDfho!^+`}feD|;0LrrH5TnzT8f z>!g;02{x$F&>gw+yYVU8JYkw|Wnr=rYcR^HrRI3xkq`Bs-1^j8=zcB?ya5FN<&#s# z#lMDmxJNbcY(0rZ0|oxxfSVv-HaF3n1z|4OU0suZ`#k=@UqKN#Xm<^6?v}K{BktWX zcG@Y<8{(F`3y&LO7c_P{6o5Y7r0T-@^zLARTR{W+g2-t5j4#bIM4e^2p+UCQ41qY9 zdwE4Nd?_$#uiQ4~9XZl+R0CkNB;(Y;&~zAHrti`d<>ThwXN&}YH;CcdawykTz8e&E zyX_qf7nd^BW37m$bGiGxm{6ffHt@0Qf}r&8ELdUpU64tqEYd!~H>e!AVwp5p%oJ{; z-et`)usRX#+*Ibd)7uE`8RPW#bHHfviS9_ zjMego1{fXTr=-JYbe*>jNg(7l=%ez#9F$!`Nqzu3Ad^bWD$@9VMZEh>3#QB~5^-k7 zduuaEyAVS+{s3s+PzKKM=+5!#p7O@Fqm{rY48HL)mpH^>YU{h_5BdZrbBl5$zilHv z=O9?Ib#IQA3UeSdWH?2lU7Goop5ZrT?hr#1zR7m{{>W9oKzz%#RG0OYdsn*Mh4J$R zPVLOP<32ZIF7j=4DmMLh2}qh2F;W4l0@Q*O%#p?wJ6}tMMz%nD=RIO~h9}!fz7he4 zLRdp2h83M2Z@S$+)``7(D1|rx4VD2rxtY(9x3X+4o^@PIq0tZWR^i|OPZx#g`M+W8 zV8^YO4-_QzqOHXmVySTQb&0M$T(zfiSFw2WjEs3ktkzZL)K66db3xMi0yLDr$kV88 zDJRa3FF@Sq)GLQK!>lOf&{fIDV_#2j*+mP!%le)By(2nIIh4D$*n4>|2mfVnv9h zDW))xVJVg_@xaDP7H)9cw?3}B_*CU{`8njRv|GeR{+sEq%pRD_qTwBEGACj_^yXgw z>o?=oLSttCYcBl(XP}||=hFWs$`988LH*hkq8v$=E+}-*e+rkjujeg0(1WXL8hq=% zR2Fq%nVoMnbSoW|{cpW#%7qBb=2x8ieA0$6$@KEU(Y>1@q+c1Yj+p`thn&8NW`1XC zdauoM_0S3Ft>sH+3trgq4pSY;$Bs3OHC}1lb$F=MQz)9Cjcdf=yODw12NOd@%`RrF zZ%?+aGZ>_x)C@_8wr&g(cJfbjUiKq#RJ_!5s+6~fn_|4Q`H}b+9&enG9?<-Mf3}u{ z?avMY5;5Q4RxGN6{t%FvEW3pSJN`efw=85_lf~K*F|`Yi!};JMQT4?*f-eYb-#&5y zgeV=b#!pC8&Z`f$hb!U0;z!aEIn#hmfk%q`DG9MRerwAKYlY!KN&_1~NiujREuH+| zjKj{@Kd*>B9`DhYm)vlpwh$=yZlZkUTbo%^x6W&%CcwM2&|#L%j<$f0v+U8Jw=Ijq ztZciD@25MW0vykGw#sgXhd7g~oQg%yy_+bWg4xe;`*viRx5yl&4oog6;L5O$v;xFKu&U>RudoWzc&tN5v(L9*@FbsgJW zMyc6l=q~NLqd0QCPKmXfk&Nqf%yc(*BC!hAR#BIn52R*h0Ws%KUnIxRFlo(|jnfz; zq*4c zF5+8)NL*K*NHcGBg-u%?{H~>b!kmoG>W!~^rO(gXBD=rQ=teLWG>Y#yNTb+*6qt?9 zZ}tGb5z4#LV+z@U&%T;j&Yp{iFK>n6)~oC(Aqz-U|m!i-d8Ji{tOwP^T?d>Z3pAPO2So7?kP^XDzTM{~>29DrV{8A0#eHXy<KF74= zIrPlW*Pw9#v}!Pp%$^{WLeQUjj!j5zh9W_oQ9&g2hz(!`ZiqB!#F!DEb*g}8DdDJ% zB!C^#$b%Qjicx7Pdi+^s$tO74uYVr_x|AI7ii@&$*||V07%z6ooHr-gY8Z48gf~vH&Jo)CG&r7gZ;6K_VK+K%}+K3&%xF&bF&q~+jFplQE#wRDIm=3#!^`LN^d*0^42O%_3K-Y3qYNx;W0?kKe3V-!<0Adl= z5Ka_738cRsQ|ukjoiYcw=b;bP%;LvdJft_c=g$Qy9ht|FGmntOKRX?;NUlkLpd0zKXjl9H=z!S& zSZg_Bk(HBV{94S|`xRc5ZAaw+E0zZE<(hJVh60F~9wsD-<(H{DOYCb8b`o7lY&dWY zF&py7`&ZG-fN`IWp4wRX4T2r%_DO0EIYv#&ub{^i`c{AD1$0dsB9u7;zs&OV2+n(mJcNWSL3;bH zZ5obsd3!cUpOY#yYx|-B1golQy?fR@Gil<_TAc#iV)!FTAggLbU6RJyJZ3#=l=d@IRr@gz|{7NpPn;cDdbC*hhBqIHK^zlA^BW*pZ+^n$SEV zvT~C@TVZqK-z4b2>K2IS4G!BeFCB5|JM_@vu>NUBXuwxYBUw|u<)BD3-TN@Evq>WC z$hhyq5eXwwO_D>D&f>R&#|Spkl8NAo?zZQa#vxl>LH58op@nFb?>ZZ`mzy>d5t8fBZ&5b2o9MLZ+zo#f3&>s*8*W7gg2|mQaw#t9OvT%D1-MD1ZH44-I?l z4Pgknvy99W@RxYn3geT*HHy7j{rfZqB;&)u$CG8l@HW-K7d5#0vVg$R$HOzG&Z+S^ zez{%PvBCH6Kz5?{cB7LT} zZ`Nn`b7WsDwx8wI5bGX>zzl$9>$w;<$ zJ(wTk-^lK?Q?79Y7OX`J~AE;@d+Z6dbg7(Giy zsH9Y9Z%@)0|1m%o%7&e-R_B_%)?oYzGS-ZT(aaw@uyv|L67B_IlK;Q zI}sKCtdAYz7ce_v-smb2C;F`Aac1I04#=h4uZ-)SnUb8fJudQ{k)N_~ZowyPRP|<* z(u|0!gGE9!uWk-@>=e(!T9vBu-!4JV@e3L_YZ&j2##_NH$K@ z(Hr(b^=5wg6uYO>7dU0&*0ugVsC8VXBxfetIs{rJ{&}wVu%WxUuyGfKAqV&oI^aem z=DQDUq@^!>IpL*8a!_nGB3PLlXY4RUMKxgiCJIY+*0ze~=mDMjQIGY5kW@a{4=GveDKM5=QAK-)+r^WV~SkKp^Q;pkGecSeuccrv8 zw6@szjxgZ}?Z2;cq(gvj0dk0p0ky#(%e}15wbXRWRtE`J_>VY0>?bvr+RD(!h)ucc zBaXL?XAvKw*{`ib2S4-hv1}%fBJH{Njry?ZdjFoO<4O3)v8O0tEx7SA0=yPKkto&Cer@nuDbi?T*;PhIR(zu^-D@Tbx zQ-{-q%%{!E*dA1@Gg8jWEi}D0&0A*%$5~^pGG}M~8u1*GS8V!(*ietiGdkftcR1~O z;VDruDsni@shDdVexFINH>id)JF%m&0DG zBuDMSu{*w*9zE{&Sj6>+QsGfAILjC`clrvA-l8yiG;)~na|7Gw%k2eeXJ6|MU#a~> zuYO#eD8xH_J~aG3u@l3K^Ya&Xuv{j-Fq;s(817R>@|pHX6dr=OR9<1drK{fq$_x3vdOxc+NA-pKsT|Vu$g{!m!X1MrgQBp znx4C<-jNtZhe3|SH}`_7qR;=_br{PRH9&6-oaK{69e%*B)J;QTZD(!zZ$r;GUfc$2 zD5I4*#N>;m<(F5Z@#%J$`I8?)oD%jIi~hFUrC;fyE~P0o89O2W&(eC=HlBFA+#)@g za!<4%{r~)vzL2NKH5#;(4v0!Ii=Z$ZU+Rx$|88ZS~xh`73 z>XSwq_$s=Bo$%j}l_7Ys%&z@708i)PQ6(3Y-U9u2L&Y*juu%!dqDaF;i^^5U?VpQR z6Nw&~e8S3qEjS3x2gIa~o*wc;{SD+vd`wyr&+Ol4;S!Nhe1@Io(lw;zs4fI$@AFN^ zB=`RO91sqA)5a_GB9U4y3>8yY)7p^?Q1+YN2S>Y+5@L}PlLi^@v0Id3lh#j9OCmo+ zL=a#7_y`84fhk#8$pbKhJQCP2^BpL8j2}x7(7e&kkyu#5aDRd&x-dm4P-G ziMhhgLjS742b{u2qItOl_fI}k?+)#b=P z7+H1{yT06Q5vj!$UptTHnM%Ul-Q`5H<5nToOtQ~xS|UKnS@eY7={)oD!MXv`&#GLr zW(^heW~77?*ZGlJ1oew}@GKwVkE32T;g6n1%=)5lvDwl8tflP5GVeE^Q}`QrW=XU)Z8Yz|r)E~epICZkXH`HqiU<^qxt=gMMEIht6-3@;p#Udwv zjI2O3vEF#GOSc@rRfa5#bJj|F2*-m;0!pM0uU#wcN)Qd`}06p)@@lTn_s zBr_i#D2_M{^~3fBS++C(JpJ1V%}ft2y<+4W6taQRlXwF^BasASB_^6Qeq-0xPUs9)489oDz6`fpxkpPoa$W>GE`ouq*%I*mF(CJlu zlVHai8g0lUs1sni{n2sjSbH}1zApSWn#oz1a3G7Yj&P}MiM=c5kf%y=BO06`#7>=9 zhB~}n|3qdtNm>_e;1@2aaOz=qg(LGwdno<*_a zhYJ8#_T5NiEEp;sEy$;&^=mJ|l~r4Sk_)cPqZ9iKK(V5`cu3uIU}klZ zb`g|B-qdY8@eM;KD>~8a!6|4S$|K0v>Y!r^G&@o*ffG#8@dX%;!s5gf2~7lPO}@sr zS{mtUj%*xzykN|(F-^G}le)Y)p#%&1jg-vAq&6ef4`HuOl;}-i?;xG=KioJx}X#$ zTSUvUc-}fcwi6t}{}jmRjE0X&Y@EEZ_0fR}@}v845>0W7pgiN>Bx81^DYtuY^HUbXbmEZz>STyQy`*#S*L`bTmq#Eb6+{oNSu~; z700xUuj(aYVkb{#FKoa7c>Tm$KpaHR6j(($eFA&$7Bmri3NBL~CIHdc}%I7#1&}ofyUag^<2`|a&tbC6X`Oq zJWfB~!cBHwUmVExk+IHlec@62cY-sig~y=skrQt#6754dD}63(7*-XOnd zJK{M)=FBCjL-+2-FlUk{?5k%rNpjAAm1oN&+j*fc)`g|_rAMJ}US^I(#_hb^wel{P zZI#W|%@30@JN8^M&q$z*Tzj*4mErYX!i^rbohVz~e5={mKuPJN(BA0?x@3-i8~NV% zr_b$TE;t$ogT1eq&>tcbi4uBqQ^(c&?cFnD@khS-yrHCZQ&%Mw36_HS*=vVJRZK8iVvhl{6y44wA{qR~sw z-hwNa6zzsZIkK#6P%nphV~tU8>N6=#8In#6!8p69OR3HA1>@A$)EtXwRXhDb|Hqj)4;_O z&L9G`QJg|_Sqyez#1zQhMJvf92y_NH2g7K-myD?rO6JavJR>7eCN$6TMydyk9N`{c zmXE`1p01F-GH6XM^sG%o%daCYAK;%y*#mud?0^9+l@*cPU<#>1bq5GQCsc3xetB<{ zq`mGIXK^n$Huya&-)06HY(!W;0qQvVIEy01rT4-|1ksVu8SC*+o(iAZVWMII&R9~~ zPum2Xzuq^0=!V2F$mm%5(#FNXC*h~dy(b;Z*(9@(Px2YCF+5;#>ls)b>7%JM+`hAX zzHF#->e`!Yloi^cU<2K{xOd>X*$L_-XRRnsQP=p|ZBx}he>_tBRPs`=8UkrDvbqL_ zxh}gCbeDR~<2-7Twd3fx1h(Gwp6IW0w;pa?RO=~IGabt6Yv#5u^fmik{;c`?SpWG| zQn*3Id)PQr(TD0&cd$wVPZiQmxf2S%)%Y2x5i;~{23D@vH4uGMK8AtBY1?1F!S?(5 zS4az`N7D0PF$=6?p(k8blucEi3_Uh9RJ&Db32-Yh`V$cCz~H45uqp?wtE@&iGQ%bo z49@oZ@+UDTaPMLHID?#YxXISl{Na3=f`jk|vA+iB-3< ze!-45fgSvO$qnxMLa2y)c%0{9G;2w6d|J;QN1L{+-Ma#nNZPU+&Ypc^c~56|V4K6X zKWo8)kh;tUCx&zF0SkFZtP74=R^);$-YRr58h#2;dB$k%U}yal)01^y{a9Iown#{e zz;?=fyQUXhOKi8Jdd2Q#X{y^1YW)gbnloR#ciI!Jc6+PLVsM_Mzqms3O(m`);8M}a z+t@m9Hkz`kDARQ;WF8bhD?1@4*h>)c!PB9qbLCMBlyZmjc|a9|G$U~ZA>e-}2@QkH z^7%T-PFN{O2E(=t)iM7)(Racq*#0{( z1`?XD%&qE}1jnaoKwxs=rjMfYWw^Al>e33*G~`cw($FM$tjt>(&>LTXoQGbG zRPWX5At;Ju68>v7pi;-ki2L35eN#_^V~S$(7sKZRAq2j(+KBD`xm$5bhavNKU}l14 zSa{X0UuRI~D4`?q@mDBM8~Pn|Yjkp;CYypjwG48A4I4KcA?I9pNWWLvBo(}-Qlt>T znIbhdf_?W7n30){mHWiGvCm6z_`GQJf%W+yoFrg>1p_a#b$1nm$IZiJR-FAi#8w0o zSq33e!`i|L-zGMfB*4*bBEvOI<|ykXJ8`fBaQF6(H07fgW!^$yoI<8jU&uC5cw=(1 zNz@}P8HXc+o+q}9wq}gIhJFPZW1u|xB}~-HB@^29Ig~{1E&Q1{c)kmUiA+AzsCm^5 z-8y&Z1qw<>zb7mC35@(c_En<4*A(1DRMJ9L4!J1Thc0XmyB+B$nWQvX2xSJ*(34ZA z`W_uWb@J(l-4RqM)bHdVZ=^l+rss~{B-W*iGXlE_E4=>!r)s1xciDKY9|&gS@F9kf zxeJd{A-b=T$NVEIijQzlF857y`6>3Op60+lf|NP)v|-Y|S~MVU?1Bi}rUCZVLHL-g zlm4swX0izfwz_P;&=L(@!VbM>@9vAL_n`7a`h0Ffsl-mK3veAWR}y6F5W8Lass1NY zKIV*-lY>Q#h&!;TGU55Y@#4R$(S+MlMe?voaQ5L+XKtT_d#z#mS%2d)8lTeZN4}W@ zZ14rjuLkZ0G%WO19n={8sL7ld3POiXjsM`OGHCIqfD2&nMKr7ns;oFAC^@n<(vfGa zQ1l&_Sq|jQAaqR%W9JaT(cV_tRpvF0%#b?)kd$x=KT_;DB3<6KuQyN92$dkAB?_iJI%@^#40;nfSu~0H^skVey4b~Y$dVt7A1Q~xNMhP` z?}TtFL2%~_N%hV4V8mEQ-IE8U=uTk43$9-Kr&86NEHt>$4dwQQBLuFPq|7K|y5OlNsp!gNJNHa`l$2MF_`(qw-Wy#3r3U#4<`7ZraxMV)% z+o+I*!CW!D@aBT;$@IoA?(kJuV*4kkm=P*R%U9u8KLbH!sq;0vKQECpkL1BfX_^kh zuA4V5-Jq>Gu%`<-{DKcFfBXHag=BH~=H@}AB^3D{H zL`^aqN8V8kczrGE?kay@JhM^^c(3vy04_@H`s-7?RM#{Mm$+-G|xdu z>0P|`|J>P*1NlF#;Yzh&X`@^&Vs<+T13fa{-E)Y2c-1z2RJPwrV2#uAv76KDQcrg@ zl~6Qjk^F|jfgfM4qY$sTQ`0d?NG~x7p+MkGsq74RO5!=ylGX5ISN!6=KF+3mx0M+<~`;yRZzIzp+mZ z3qs{&V>dt?ZrKm8bw>r9d4q0)f58;UxxStG%x8a0pmZ70b&zmXaY*K(_0+C^R(8?i zO4|^^iqOy7H&N?#u9D|9;3_^GhVw%TYF?b7KlqV%0D|DTd4!$SGG*0p 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≈ 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

7u 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%0DnS@j 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 z z<3l99vPnVxysKUSVFlU{qs^S4*PDW=DWE0F(a+zuib`UIU(dt?>67(MAQQ>S{pzH?mm+wkJjWgG#uXgu;%DlG;^EvFVdy6MQ8>FE6(4q-Dd(T0<0C2*y zZeg_j<;&0yXqLg$+{}i6@7w_Ky_MZU0JC8>Hqj8Ul9W@GAqDm2ztV2_+pXV+W{7A+ zg3hJtKJdZ)`AGTF>a`g5`s*+O`X;N8^LSgd0NU1oer;x=mW6)Y)`qS^c&(CIET})i z2L+v>e3gOeL|z?j(S_9MXCM;0fG0Fh^dTCAKvFcn;<*C?&soxvl+8pIdD7)tHZza( zx-#Zob}6}PNvF5*9)OO)*?S%-r3(HX-(Fx&J(%d(Kq-RZ0e5H!R!QIOMi-3UvQUo6?RcMHxqEJSZp*fRX#i>2Y*`2qCp*YDBF`q zD_Ji1p@>$c-$CXMOoC_8;S{6$Qe)g>8)xw$ac63nLBr`oa17^Cx-S(|_t?WIn`ym) zTO@(~8O_0;^0#mp84RjZVkF*7ccp)CfDPU39!t2H_b;U zy4)$L5?bvJs;$U@W9b3}JgUFudh{GXULKHH1(kGa$}-B>MqT~sQUhqetV{#IsHVty zt>lX%fZ|GcgzmLeuz8W^wlZAW(d13i zT1HoJ;1Yzbqtv`&E!#X2)ELt&(r(>OApo`OAn=0<6{Lus0LO3)VZX_Hm2gg1NWg?m z70O=3fS%-=%yz%#Ev@=823W#ohgLL@bTt9;><#QHbmCiTh^Gu%IoebaoL&jws{*Kz zMCGXPkgCtH;@NgZ*%lXZ%V&|UMisF1gYWWY?vaC8Q9{}*(Z@3p#6 zHQ%bW;LSLmr5Q(-qM-f+5YTMFPvfMw|1Aaet5?wL!OcDcQBXs-y^%rPT zTe>=&bTl!U@wV}ibP^MHa_&=iq}~V!z4usOjxCn%OHmELi_bO&D5=P{nE1*&ZB=mM zmqWmr-Oil1H=rBWPH_wuUU;8h6gPMDO)93Ky2gf0PV{XXi&irjk_RtG$<#`lWL}XO z$?0LRdBQ&E%9yt~gL;3HWb4?dm8Lxy`zXS3Vuv)6F^dWGXl8-w#Ch23P&Q*qe*wuu z^=M8>L49gY-28k9$|k#}o?x`X({L}gv7cXvN%8;`R|{3u9+(a6C_IbH?t2F&nHH`2 z4$1_Kvywy=OqFi~AH9Nl=eOJ)sP(a$dFF$_v>L^|x+u~%E&sXvF6RzRg0+J>lyMt2 znkfSkptD+VDP2@P)mhYTV_8gi&!KES@?3{8Azp>eaFw`vq@ZT-6Ld9k#^BV`E>TsK zTDdW(bcJ*Jb#`bqJi~{b3)^VR5z&z%w28!zQkivj6b8k+ECE(KtsnuKYySOlBIWEqCCU6&6I zM-nBgj_4;jgnMT;`Dw=u;*VKA>l%d>$21%LJpi z6E%WI36tO_K1O*)37&w5+{(1k+Dk_VDOwM4o40ZX_f_ONm~19(ytEF<8Fy_06h!(K z;Qfm2oucZ+9T*I^GZQxz6yCLu;plLA~285Uw9BK5|`sC^8E6hWHODo zuXuWzMT-`hYp=aFQPMZ@;{vSWo2aU^%u)#adqco0sCe?_tWmb9hA=f4fmZZP3Tl^P z3Tk2pm2OEvJ$e9r5}mL>Je@q}@{;Wt)P#a6%_|21Kz4SUU}*CY{I!F+_yk0S-xWkm zAZ}aslZm(PIi0oAeG}-UluDTtL2QO_Q9%0nn~E~rv!vOdLEaWf;|L;BP<;^Htb#x? zo4R$Es_vstQ_>mX|~^VLTd}?R2^=jAB3O_4rVqGOE(%RR}q{7f#p9$jn#n zXRZ4mzA1>tEu@~zb0+EP@}_E?({|-ID#VGVig8xSM4q@BAz>!{ zC_nOBwQ3jeY6I9Qdp$ZO%{NW^lMh*GKXGM&V=n0qZ>HYb$tD;=1G%om9OgZcajrsT ziy6Os8Zo#N4TLFg1|Yioq%YD4 zwFFnEImRDjj%YyTkVA)dKLv1HTyOf9$N5w?N(J9i0R&k!K1mdrp8*_40Bhh`PO{^6 z;6WD-EuyQ)wWo;Jv~1LqsYP{K*sp{PnNSufOA6`?M-O3>u`yBiz=uHcntcKMS|_jT60;7GCT_w>(5%3;XVqqIW?=5=kD?YjRI=?01)H$BwjQ8mKHm_xSF`-M zm%Glzc1FNsXk^K6bqBraoAqhM8M$eA6@G|27u6P(LpRNJsWcXEy;4Sh(S-#A-Ot11 z%t8o$bO{P-Clu6>^(&Z3 zLP1xi=vanr)hC@lefD!lq_dd#JD3dhDepo-=DlC+a=Xw!0xnJIgMsM!6&(=}dDG=g zbV5nhxnP;McBX$GsOJ%sywDnUE8$xQqTJe6ao&DmW^ z=EQ3(4bhGK-`B>U0cNWU@dcn=;R}QShfTqY;3Y|7PhZ%KIFX&*V)2*YXN#frD6Z@8Ay;!7d$Zw>*kpx%Ag9i|Moq|3?QfUa&{uiWYsRC(={1Cz~5;7$FQs?2kd zFLmhp1|l>I1wq%(H0Q|`V+i8}Un!pRzCf`=;_iT=;a35@hGj$xbS10xy6-A`FT8c(X2dk=?Z_Be6JFwV1Zk~yNg382 z441b|l_I)>erdl@(y{jXp6$3jo?9OOI2ngLDe z3vJnkY$t2icF1cGqDGhW*lk$)#`Bwqn&WOQ$4|8gdf z4d!wR=59B08IMe_wMDDlj~0#T5E*3(@A+v0uV|kAnFPRc2IS1Us)V(RFF2MI38*+XXb#apk?Ln zfL}CKI+L1JfjO&p{mT$7XHXF#ec#ql0%%TZCjT>A$P z9rvQG z=}c3<2+Z`!PC>mC1$7f;aU+in7gA7l#mpD4f@9Z%6QW&y;KDpUuM|{Bn6XuHkpAAXW$i~$9nLEHn(9;4{r?&m}?4&&bvR||IFKz zRFsBw#{Bjp6f}@l=TCKZz^AtfMUc~ZM8pV+(-md9XS6+ZVK|fMgHLHV4NjxHqM2PD z@j4OMx8H`J41&l)xT-O~Wn!T8vZ|1hDFMF|1WrLp?~FNacl7%=(gbLfMM4){i;?KNEZm?W!aMCMZt?=83!-&>8e!=RST)ADck~m2N*1IU1t*PXP1RVFoe@ z{$*`oC?ZQ=iidRiw3R-HX)GhpXOwvjW7R_wDr`)mO`&3n5?GPZFUws~r(b5-g)G$` zgcrO)4bX~mbg#sIs0G-Wp8{XXcY)4bL$YFbh5F`|5g2K10W>b3c_xLm60|R66nQRY zs!KM3;mmxlbb2S>R2iv!N#<ZhK-z{PV8l0gnG9$Rs$9NpP%DWs~%jc0w5gE1khW!wcT*ovA%ra29lviJ_#* z|A95{WfeFUngl11%r3aY>xw9;#Nw4cc=|=#n%JLyhZ!;a6zBwfd!Vc@pR zx@kiuzEV)-#dpgRr=XtUZ;`;`8<4l*!R2~GUox2D$oBdCeGZd2Qx&R%hfcf0)E;6Z zb67b@k{M%rq~EegMb?8a1&J=KgHcy(z|IlerlOc^guBWc&U_eZ=YDVq^5!Zo5-$fy z@}$~<#@3~b;$|v3_qTl^To2_$E7RUVk^}@_4)=YTnX_ToeCq=-Dq@a91N$HV>;oWQ z(atMV0St^rT%>o^(@*go61k94|lpr@Pe{)vW)y?oDRuYnIkWY#*TN2p3KV1A+Sn8 z)irlZ8J|6X?&?7(y6_WAe(7ewH(5|?_f+9}Xtux7PCVlbc^B=5#lg@AF>JNK1?5#w zrC{o68SQ$G1O(b8Rh+&rM3>U_uX1=Ke;AwK0owG_nN;~G(0!@e$UZ>(w9DEXd9gd7 zJPk^$rA;!|l(H%TLFu8{5}Hjufb4%4V;dE8gY1E`JRB5 zp$HmNU{}r)afZ>Xu<&#K0@b$Dm3JQ>W!1NnU)1Uh9-u4N?jnK1(CMnoVbhAR{nh`fdd@23$KN zYW#J5V4C2XjicTed35!K&NmCU+5$x3pjAKtjuc$s)-3)WN_!g7N507{&024f)Q;U; z32sh7m17#ap{T0;o1gnsy!#q-hPz%MGX5z&VR19-!NcKct!9fIPHT2UI!C zf9d7EEB>u@o{68Zus~PSniQ=|roKsR>Dl@LScwX%+NI`2-s;CRywhr};J%^kpc3iI zD0i(@c>n+)07*naR7|U1KF>D1^$1_zzCOw9;P+!Q1AA7rEq9yxY3%cB*e*zPrd3qgEj2iBd2n*R$>penl+D)iRH~qgZBOlwB0-Ad2W#VI z^5(!iI5^xvRSKIll0N)dnaTBC6!Qlrqo}f*`k!~P6U@{>Pf>)C?e2aEI>Rp27Cy_`+?LJT*W*68 zdbT2G&IE_je!}ztZ&p0Q{6*=M>w!eO$P2kLnLJ>&Q&3-G3PI1xF_$%FswOvxTrtCU z^LL2YkZ|rKJoq+ezNLb2l6DDU`wGFQaiFsSbA2aBuB)E9q`QS8Uy;kn{}5s;xQagz z)Zh#d?4>uI$^OuRG>-D*oqH}FmBJbgs$0VLm$TV<x_!WD;!ihZW07+r*_P0=w98 zZbmnyG!W|0*QH@Q+!t4^vh6&@U8dAC0@#kAO-T^(3k6wsd<>mEN&iH)$VNehnNa4C(k`GQ?|KFtP`u{@ojMo zaGcpqKXtcjSdi{mwI;zR>9Kopj&zZoR$o=Xicj!9V>6pEy|X$;IUu<9x}KWFI#SqN zDZ;uhHJG%EyH86p36_!yj)wA3?D9?~{@8~m{#9-2S^(~|ODpqVYg!fJn8jUH37-i= z5Qk5qga)tt)yhw?F__VoSASiI;n6yH{Aqk!n2T_OBdL4_x6fv+{{3m=7EoPm~}gn1l*&LzQn z&&*<$B7B_VUdKQyX+zOAYdnWg-M|WE(meO5%wkh>z2D4#}JO)TQ&M4Jx}>%X<&=z{$j%m!M>bIp125a%)4Vv~)Odcy`0C!t7PZ|l zcv}87?VOtdYeZ%l%-Cy#PdlLk)n53P&XYEWu4{vG3-#!`?$cg|f~w)v5zH@;b@bMP zuB%2q*~~Ua>`VO_HTiYZUe0C;idISw~e-Kr>u4@K_PH$^Dg)lGCxH2kywuU>Dl?+VZ$b#oO4oJB6maBo>ZO-YgSec2I|eJE*?g=$o`E z+bXE+plZkUVhU=Q71D+IF%F>qw!)Zn(5fMhlKxqc;`lxa>MH7Z?y6*yasee+J}9%MZR;soikru)9!@K@rc{w)6-QaKYGyNxNsuB+-#X&9Kpi$PsT zu!71s#G7Nq*4IxS^y>7-OsQK?9-6o`szwUxNhoO`e+3FU&zMWh*C4U(&3p^`etQRN z!kAc_Jg6o*hwpGy5q)FJJlb<|msf~q!IGz4BJm`HET1;DiTR_aLsmOiA@#v{NIvr*hv zyRSmHFQGp(caWZMvJw(ax>yhcTSNJ}qUBc*bZg!l?wGO|R}tmME2e6esyH)+Aq8A1 z*U{~sG&dY-DUn%kQUsurxZr~nx~vxg0nM#;A0t(Qd2jJ17Jz64kYz0nU-B2ak+?6l zc*?@R^PnpypM_2~gl9boE%JH7X{~lv?2Qwrg-1+s3p~EExKXeT1@&oYJ$M@XeNA>X z!_Hi|8WZfoBv_UJz%KSQ_`sDs!F-tQu1pvxle>gN?7=b4t?Is1R)>==U=qw=k{2N1 zCdvja{_n>T(_d$s*e|#*wFQLI29LPmpY{bWJ`*3@H)xyQc%0} zf{>%6?1dLfNUhTr`j!dlg2&|`v&Whs0AC6DMA@p);u3KGgZs1ALo+M?J0qaSEyvOw?T!cV=d2-g~pto5F%@q+@@tiq|=oiXOIzOH735XYBLHf zd{0(kvR2k^nfyJ~;O{jwUys5$nl4MzWAHSUCkyAdVd&Z+m4&H-yzuHws&+zU-7EsC z%|~5BGXy?WpLpqAnUo=?N!n>`9qL<|q+d_IHVj2$WS8Uoy)1)1QQnXi)WLfWJPzJu z1|g_q6F+}FLI|>_%#b&%1s8#jEP1MdM%lExdKVgyN?D-LxqMpFkA}#0a5fdCQh9$G zb%KJ|(vf;KsTfAHN6ZaHQadBHU@qst)2gJC?PANW09JS?08j>w9;~+1a~KV);C{;h z!azO0wsqB9XWHAE2G~Up(nvwwO}Tp+fYHMd2*UIl*gSA(`6AL%$JH=g-LtE5t%7`uf4xrl|RNA|rvSl`RErO(Wi3v$b`AoYUn=}rra*!j+rZXq0S^}L+ zvvt#o)sK}1d^ik`7A`g(>Cz|;i%wTvnC@%FWY(K(7=54V(8R^b)VCr$y9z?y%4HZn zA%AG}J|CHzP1Nb#V%+D;aXaP(L&%$-KKdZl0JOH$Uu=WKz+_ zwNt6i-cOt}zg0IX%t+)-sh|G?@9>EBgO>gm-n&=#+3N+gP=7uUe{JeinhPK z;;h!%J5WCd)tR?lf5(_hVF?ROy9)Tc0F4+-LeM{hmkb?5#&yNanc3jiPw67KWXl2{ zP6aqf(r#w7p)%2ELjg~N6emISd*B^SAQC>DJlf}HQuRHI6re~15^62G;D~F!7Qq$rQ5?17YR!AEX3j>< zdy93+W}sbX7en6v4sGlUkAnu<4YG>_?NH`SrfpLI#SP@cVOzMIs?i> z+CANL+{B;2qwZkNkWOeCn)jB}A(*)Jk-?p*TlZrU`~`q!KI!afLP3q>6ME^ffpet0 zGEko1wKyF6{jWKyWTlKSgb8^`X$^W~^7|3xkK)YuvoAA8yP4Q^w;OxMs!f_G*ygup zzC3ovbv?Xs7WFh8ff790(s>(dfu~DeVR1c+om=>H7y_B~EPT%C-z_okO%`$#X}nG8 z>flEKh_;vcrE?oKm|yuUA|&pz_4%UhV?J7MzYtk#-m5w6;|t$s&oQmcN zVMoW9Eo~BoCf|xRFjk03?zcwv;UG4Sl)R$Q-)kvY@QCK?s!^HtN@v#{sx=t4 z)3jq5I+{F<4nhDG2sa#NLj&60z5ya3L$imn)&rx~=_p2^&iYIiMref0Qy?vwD_G1<8oeL<>qenE#JZJnS(*X<(a7yox(ZyBHr|E8 zI`nanJ&vHao-x+na<(PFodTfp4y~Q}mZX*BpaIdM$BH>f;DZXye)U~j)JtZd{V_qV z9ElLFIly;4XKC!`lNfk}*j~&5>mW&S8UW%p?E(M*`3B;ul25=_oYl+#<_0DwEA8fc zQl^zxaa=)yBabBB^3HtvZDeAym!}I}$cgTv%30EuHyIDcw%$OOMorKztMmxp)Wew( z1r>DnIHyyT|Nit*beCridpEl7?n-ixhOd2Vu3J(lQcI~!*6$YQzf04tZ z$y>M{2F0-n=b>9+S}0H6Q`ot^f_iP=ZP1&YAUuA)!}-$;c6EOdDyU)i!pT`!m-W&M zYGzkJLH&E&bOi3#;`vv?+%4l`=CRk}rd`t{Q?r_@!!!YbqoShM3W|7Td+DifU;u#3^7e8n8c|) zkv4(hd}u<4K_YqZl~cY)CQw-@IA02l*aA(kWk9f^3aXT}7v69U`sojtC>n%F;rgkg z06I{w`%<-=l(7rN?j07(K=xsS!^z-^DDi&@=!=(QsR4n!>p$FXYKaN;Q9K8tc>==t z)>lpm{?Sm{Mg2I$u}+XqLGOwdla zXQ0yPDG1LDx1vUGQI_TTuEF|P`~ z$h^0BNMcQ{40xXp?aickRf|?wcmq z#(Wx%L#2*=isiArvmv3N=7P5~KEk|;Ind`W&bY$FqV3V$b1Cr6!w`r@-N{G0zTU#h zd?+fvAF-j)Hm$-q)ZZ(-3B{23pXzBPM~! z=-U>+tB{TBu=-e`F~k~rrZcEVk)5TW;*p(eNs~;D6x3xDf?IXF)fR)ONEsEQ!-cwO z1oLm-o^O&Qp}=~ipnkaysTZaxucuK0C_=P!6~a5rvOh${DyU%)0nevV+t$(;B-BAy z5l^{A0{QVGXL70gx>0C7;v&U@v>vVc$!p%Va4T&citbnj5fUId$(V?Q-H-gO5oQva zCFSd~O&!49gp@UpvPQr_I3t*ZDO7X^RSS1oxy|1NjG=iAD5?m{qpG}YXfQO98cc7} zXu~c+Hu+JNXCK{J2cwnOR5?ddJFS4ogJV|<4q2o6(kmp`q zE#rkt>1(U$iq3=fW{h>`y@dc7y}~Ignd=c0Dup1*2K@5eD@Ame6j6piL51;$FUx?k9=p3lrceP#$N|qSCF}Y0y`rta$lrbMaPa)q3%0vl*Vrw zU5QdUBkjn`AH!yLZlp2SY0h+714oix76dNR%x_z-<`(jJgdiLouiTa z(o`DU89dj{s*lqu>k`Up#=v(+GFMr`F{>3Jpe$lwv=B1^L0V_EZJZtkO~#Ni`O=xY zZvzB57!&dkU!HTS6-XlmHTxf+FA7M7!9-ED;B*F-koX8hwmcq-eXKUT{;O^<-F_d*JuN{J8&rD z-3jwP+WH#8URTC`L~nK7DXtV@+i1(TKNwpMIR4@7z;r}L89Tu3p!#}kddz0+y4PXh znp04Pv)V1SPLEuXg>QZ0!6k@k0xn8Pmb0(pD8jjUF?K9%w0*)RBudC;VePpE1@=7a znAU~LrK`nOQ6xyAox3w&4#mxndlsHqRe!JH%9$r;7nod*G+c)RB`L=$=M);>qwKOu zFZcyYZ3?@CnyW>EG;$FI&`R&qC<4EGox4^U$MI57MUP05#(k(GQR=^#%Z~DB!L_iZ zGVOiwBNTsV`iSef`;>C9z;=WoTA}~V`}nbdo$|o60F|3F1wQ?Zbr-Jh@b#&U#TC>n z1nx;sGo_$SZO5IjpensAbn1c|t3O3yy_a?{ZHiwpqq247$MK*BYh)0K;y~f7pLqqM zk^^yR$fGS;AC$I8dhrd2%4vZ7{A8EvrRt7P|C3KUt}+SU51neupdN=% zCK?vSHdRDgdC|?Fj_0N@Nf}T%d-8Quf$lYicyrgKQ&OQBa+;Gv-`;>}=R#m_Ygc&w zw0LuDy%3Y`z-lRVOoGT?2Kx%HY zunggXHSK<%p%@0u09cc{p1VKSL&<`FHX9E6DHqOd&eqy^d!OeYQHR#V9`|YhoFmW zLMr34*mtlM^WJA5oZJN)y8{PF#mtCpqDugZWU7sn)oVX@pF#j%*^JVLobgOw6guJe z#e*{mUWv&r%Iw3K_u}DKA;5|tShN}C6JF?p#b@G9v$Ol`B$Vf)D9B!m(uVRVr;>Oq@J-A) zkjuQnqq%km5ACuc(c;M8lx-E+i5N~%-ZvOZmDFz#xTQt^`#~V8pr%#HHd*j4$?(+> zgyt=VF7jTp4yFK)l5&%V&?A#yNmkZL5`tm*A^Zt_%wv1?OkPDyd|`;KnM!pa$o8x$ zLVy(1DKN;!F#fJ+M&7lf1SsoCClmAALC*1n-}(`~(cE86MH#0;1yzDbB*^>joX?>j z>6jIdIiI`fa_KFs{+-;$cHu}THCrMR;buC2I(GpIMIGABBNI#?^iy1PDfzd;5XL~L zbUrW<0GM`Ab73%;>6nB3Ed`>A?kvnNvV$5&UdW-T$-uY%H9Ww~I&}<#s>$9By@ZCc z=xDF_P&2&(sbm52*vgr%iQ{j8KT(za9+q>OX3YNr+Rj*AJ=mG_`Yy;^aqnSB=_0qu zI~sYbJOYOmFeyX3r?Zhq7TFg=-bxI@52)VnQbqY?fj zr7T@dC&<_bDLJ3NWzx2C4gy^*c2)ledv5}tRdM!z&z-OZ2>T)kBw^oI0RfeuhysH9 z)@m19Yqe@OwS8=>K3bn@t+i_FzH7B^bp-`w-#6I_dlHtgLr4foAi2-`{mq=YbM6rJ z{e1rV{NLw!88|uTK4;czuDO<(YpxmTW(EY9iEisk8J_(tQs1|vsG`^b0rIO0-{ z)vze{0F_!n2aY|H4sPSLA+O!-;@e~x>I8tRBWC=2i;8sEvURQ#q6(^AJp>?{1QAek zsi*Ku`?{1)pXm&(q6#-;KAv_qLQ$5hj*lY~UagX91$7g$LlgR?9ZmO2tm3ICZJAWH zq@ZqO{13aFbVB#=y}wK81!`77T{PF3_%;cfB&W&R>Mh4f1@!qOln^PbGVdKtUyd6= zSzbX^zG}X`JEgS*1@+-qoq~GtsL;eW635pemH}9bP*9hm5CWbW6;zwKYm?H+57qtC zE6tGhF>@(O;=AnqlyWG=FdYDe(Orf3D+TqBpI4dzr^cAjiLQRSe5?PJg8C+VR+sO@ zG`0q(N^1AbBT{XiwOLiYtPd-MRzZ!M0VtPOP$$~~(IBa$2^XZ)9wkGR^|^7(b>k@e zu_OgmE6NJv&(LaWVAgF#-(h?y=nT{cNORr=F*D|JtPMb08(V)|vczxyUPsJ4^vA%A zU~Vvzs~B=xgp#_4d`}7Uwe%yBelJSx$4`Ja47V;5$Xo466y)OS=RU4I$ce|18!H$} zC9g7+7#eBdjx2Q)=NQJJhgm^QQc%OPj1<%-AU>x;Bql;EpG7lR2@x3$jaKmS><^Gr z4wB^c_XWmhPvVS5$dw6hB9NdP@25aq$^o`Kz$s`o^wDP^W}}?>t(}|?+-)6HJq;Q*6QcN2 zXj3QZ8&!f;$3~3MJZMgq=+h2}KM7i^H76#7I0?j0P>3TQR#813n@6K|p-1xMD?M&r9Vf z8guV&Vd~)ApfHh*8i}u;I7A5Mz!&Fz0^j@&0s-ELE5osuD61-sIhD+&-;ct%3BWR5 z#>zu5NRh}ltbDXcIp)~@G-V;=XuoQ`kVYs?EpS`FRUCV)gaYHmyvBtPV{QrWdLOBW ze%jv}r!R!}pP0RSr{cttNn_2>ehYyXpA07<@c$18R98^tfLHsyn{de_uQtMIS_g(L zGV$hBC=zEw6GYb_oF^)%b?{!vptK4q5=JW$X{iGt!z!VlGU&DcZxGV4U0HJZ*d^M9 zFvH;p^=(?Ym!2?dBjuFYXe=3gAMXfBqHBm$id4P;fujwTWWPf)btj@#VBdp*lYR`+ zl0CkLAiAP5LV{{m(zvq_EZRxzu117Psl(!pG?@Bdo(XXyk3Y&rW8=c=`hFvSzLVA(VR-II0B_sPxGm+_ItJ^zLy=fda8Y>T8TOx zPd6WXs67uM{B zZy_J`Lubo?2Wa(lHeIgxT|2{T=%&?+nMZ)uYZA3KC{w`q-a`?DscSCa-wRw?4n)bK zoNdT{WsQK8bUSz zrfj|U0hr0V$LFR1p!%jtj6-p5fi{g6RJ$1cWPcO$E!_kq*&{o?g>2lzH_cwkLY zU0g+X&r(ny|5spl0@S3SCh9;DL0yhBVH2b9>q`|>)!WvmN$eA(Qkpg!?9=cE3H;u-s;lp_b%gD=AL_Z?PKZ`aC( ztFMxZ8gAr>nGgR2jzMlSxg65ys|zYa@gRq04?p4zqdL^*(Cwi2Rg@z#AJ(muX%H!> za_ zVG^888Pr3j#IvC#V@8GXA=uXG4FmHSd{4*4tb^cdC0KiDYYIBkd+!#2%*@Od2=j{& z(orDVXx`Vjs;e^KWhz6fx|#scremD;m{u?o1q-qh@j52YYiw~zomOHRUCO@GA;b!k zC`Br)Jr4NefHjpqSCH3#Z{FMF9;yTl`KlluDD&Q9Q=v;epjBfeqqw?2#qBnQL{MMF)+X42A0`%SQ!{k(Uw z_p~c`T|<9FvkA&k0_E}dgWQBkur;@e26?sq*BoY!s1HZ~>AX}knHAShz~yU4qCB%o zX>mq4Qgg89rGCU%(Rr!YW8OP_FhrNh)Awhv8p|Hi`spOBHWo1N4c>el;=;J$ywsRv zIR(wdMB|3Zta)z<#B2||xgX4Kz_s8Rj3z1Hsxs`893yRe0;Y!yAoJeP+i)U{yj7-x zd}UjSJb(*f#JtTln(JJynmR%`>r$HMx%zTlz*UYv&5bxvIvk*+)|8Mq|7W2Zmi(V( zb~5!z2>gE)0@W2%t)R-2r%u9H!I zI2ucXCo|9!3Mv%Z+Tuaftcfq&sC`F-{Z3U(UITwOjBpB4>-l35#K>Il?6Bq!=cAbq zA$Uzmr=>JMz37L%R92!fnlLA73dVL~MJ z=DiJ|kMiY&dgP4AC{IO}B4ig#qZsIO-%H(!lS=UN&vBFs9p6xa>@X3*uQ{Og-xWu? z_%h^~LwN}H!=c0BWS~!908O95_YTN#SJG#7={xJym$dt-`V8cldUT)mrOH=^>ZEO6 zn`xR>Py18hP7;>G_gjP`=uK>8Fd z`G8!jpXtCRPk2<1ZXD_+M{;R{tZ;jegl7QarSQ$#t?6QZA4Z6f@)YX@jKEcSu06gV z9Fy(lbQ)Ai;e!D15CpLllvM3K)wyjWK;An1-bUh8IZpdcr%}gAm%GkwYL!OZl(Z6D zOX&AybEzNz8w#WHdqz1>-K?4q69*T1401T<1zjn*W#IY6#7{U#3K2xAyi@Q}QN#_nm4A zY8X$es4_3l`ve?-k2cJ7MZ2+9^(@(OH3HyHswxxTy6|n^JbPEsT*9j_h*yUpcsXTS z-x=XIeYfgn_`4JbJuf{?|DM4xM``pP$8V&um<#98nEAv%+FQHqcL=M5B&?UXTLO~T=2-e||UqO|EDwAUkq%R5jKBjAm z`Pq9Fc7LiARJGTd-h!$|g0sfC=$6gLWu_I>zo4N0>Y5Z_1WqKrCLu@^{~({Wf;=k#F0%>+ zb;c76uV06{p72;{BK6lXHDI&bf6BAYKrLTFpMgU%^;F-wyp_BqC2ZwpqWWPuO1+r+N+w0!m)_^R5F|jZMqeB zWl2$}9#kN4Z5iCRQt#(bVsP|hMgo@y&@APA4w{=BoQK}J(976IC>!~eCjC}u5MZnx zw3jr6uFx5$DUiYAo1g{HQhoZ|ZWVH#` zs5{}l?m4^{W8S;rC1=pp^M1ag(27Nd6Qs=!b+!6?EtT{SA%|; zCYZ7UUF$T;`G~A5QJybFc@6~*TL$G@!sLU?E&06E`!PL+n~1<*5*2i6>nxIbpB_oa zXO43V-gp$)pN4=yId*$Z7^0Iu;j{JLYt4Hy^2DM3}zyn$Uk z<#`NUBXeM_!pdwnXCHHr@FFR#IzdS0mx?PdycM9rWMn>>3bqF1!{7(9YTLl~RvnzP z9i4l+1UNJTP1-^4x2*?7$hQS?C8ZPqr_wZF*#lja_DINyYu|7t(odm)M&@UdSxYk5 zPeqpzp*KjJ0i%&LB9rkwbjWGvfe-YTfU_BfTtpvwPrcF*w$qT+v&r`?@EKuN09B94 zws;9M3EF?EqiFm-Q`uE-gsBAxgBOf;3aap{62J)GS0hQ~!2B+zQ3ASL6zjc!dz5%f zsMl!#qZgf{clySEd)Ms4zi5XPR0)gryQ_}7bL7a55>xh>Q&4MXM8CN#q|?^Rr>U=z z&G*o|Gf#}8ytJyH%aA%mKP4%sDpF;JRnmPqeE%@b`uQ!C3;6A48xH|35?2c9dvAe5 z@bJ#?Z7E^0n7-;#K!v>W$vjMApA5`!Wb^Dn%w?f;o;^5bx}X>)^0XO;%?|UHf~vSG zPY#u=GTWRw>p0Tz-sfr4>IY*hfKFJaN`#&O>b1AIgS2=4 ziab>pf=#E&yPrvalN=;v<6wz~X#zB>eO0t*Iw`21&4dSX$xCn+b&ZBJ$}B1ZFaV{g zR4Upn)7=+{&#IO=hxU8RphP+qpxz*jluez_yq;MhIX}7!LfRC9ofH%w8ej+NJV8#FO5P&POng-Trm-pOjnnFJ(DUCL@Ri1-+yK!{1(Zt4f;OtW_W{ay(5GHRK zV--%sMszp9J#U)evsLI_gHfLG#;d(QNg)~et$A+_%I1S8oA$ia^TITW=il$%gt?0gWJ?<8zTLVDb_jL``N1%DO;#A!#W{>g z*tdBM4ZVLdoP@ytZV0Scu_CzRjyp_~I!DYQc#j+<4IYjnP=FEzah5r%CV|(?f-z(> zzLB3LzwefUic(V#IXzx4#gxIBDvmK^5(=t>hIEK4k-dW2qo*|=vF|M5h0%#8u0Xr#n`kVCua zf+85J90fK+(%1nXmACkDl%;c8H*I&8cb)0N<|r*IsHe_dmA78Cd&O*E(F*X=t|N5C zzGajFm}O>Mj=X8TCZCI>B3slo6r|%3&H!<1HAYefi3`bO#F@;lkhzY6SW2RXRD2+k zNGgC34#|;Li#Bd0Uhjm0>%l9T{$`y^88p5g@5&I^wjoXL%%uZ6FaW?8t*Gh@AURDs zLSEX-(m9ire*7I?Q|GXvJL{aQ`ud=Sa{>zV^Jylx}}rma}&ekHmc`SMN1m zWS-a!;Pyd~;AWQ!l)o1vMJSm-)qH`g0wQhY?7vf~sYvR*dFh{i*k^Z_$6v+o*)gJ^>LWsOtP6LMAMndm zxO{Rk!~0-e+>Gy@tf0DThLu&;JZg3Gnt>_i?$0VYkt4-)k&Sd!6xHB_pcUH3=i*d} zvrw-k?bn$ED+4L0f1VXLcZ^~+6otG#UTObpWu>|M##B=$bo!Jih`x~${PyR%;^y8P z!xdD~g6g#iU+8wMeqi1~Ib8v|{`ns<^Y-gZ28`q^R8YxA)1PPtJXccAr1v=T2f8!v zPWV7ZL_ziCg=so7l$LzRFxozy7Jr$$*~q1qC+}jMpq*g0x2rm z7g(|&)s$nhQ4xfQ?(3(!2pfXBnZ?++VGsld!r~jC?>_Dj2*+Fzs=*Koh~H=M5AVUZ zF^K2mB_2SWAd3t%*a=zm|7oDS^W6~N|DI@MBG*bIcW!kIwa(47F_0oB!KW1P@_n!`iK51qFnAL)w)khId z<3Q3%@V5AQh92^OT?MCW5}}51liD8A`5=%!3$ph|NHNV*H1#$mYUo;}R2*0DMDzA8 z25;VEvJ=`Mg;U~#(#R{hwk}k%@|hYjtFJ%_T=yhoc_(D^=MEp0)mH_rxN4ui&R87+ z9cl!<;?b@vLxDv~9D#^rQb8K6o=Pci_Gc!_YH+Betx(Kx8H|%p@7=+ zQoDp{=(uQM9qBA=t^@H+{5M$hULD&e^Iq}P6GE7nTcC*(@4dIjc=#cTFe|8mOmvS> z*Q4}M0|0Fcbm@X5^WKXsNz3-Xh#rsVue7SuFD_~s_G$5pnk>guJ zR5j7HaS@E87tE(M#1&e#o9{>9XZ2u4Qc#cLCq8~0;%XICSW7D+YC2WYp7x+FWH4tU zeKequJv_?+g9vFp&l}(%?I>)<93*I-wdy1fIa*ngYtZH>5Bn)hmt3v4?Fh|)2*{*T zo1*%knIPhceiE@+7k(cJM{5k@_2*M4k{Y#O33);&Po=J@FmauSx{msJ$@&n=#x@as z;>tVh6z($hRM|Ql)Y2i?*B-7cNQDmNUM*%1$zqdd{dCNpSVkk}G-B~Dooi3BoD#uDkc-G|pNbpJf58I>ybLq27IT|x)90RM`KUqE>Z`o4okF91n8GQM1J$ba|{D!m#>UULA?)!R!)_oUVmLFHUG5=>S7es z@1ksS^o^wRi&1V1Ka87qXW;R7Oz5RIOzsraxLL6Que^7rx+7)OX+H2AHS?7-q|zpV zd3SnXR&Qao`?oQpMY-uyA=L|k;8?IzHm2~tjvGu)a!0KU;zN)sDa+mt*>hhI)7 zO6l-z)SZ=Z9c5zHBRt;ShcQ6q5|ycXR8vep#?)-a%OT=E3&JXR55Ddfe|_c@f#><~BgKgd`R!^U!_f|8}vw?do$>`O%TcTJTHK#|1g^}pkqmK^+U7++GI_33AvH5mNHCtEhxR-n|ITv2r(bPJ7>@0c(QPDMw7B^GZ=^*b7O29ECsW z=$FRmCP}NI$tmqGfl-z(CI18z=;N)f2kq&1P~R%0w9eWE6Un z4*#(9#>TfGOkdB(!Ay$Za#9z{nX2Q$aP74Vi#E`2F}|R*Vmzc=Q%5r z!+^OlWl2rR;$rT}?4@8q3=Fhsj!pvN>^H4{5%FZ+`z0%`dY?9mbW9e>9=;fF<@LwY zX42S+4AfIOQ#xojo`*rNZQZ!%plm)s$ujMoP-PNq4@DS?vNs2Lql<7wH4`LBx3Q43 zPgil4bVHN!5DthMs#9wUf*(M}6I*~{8azvf%5?naR1hbTv2zd}Y78_4918MxlI9hP zO*64aWZnzIw;?)k-J2Nu$O5d7f~jwUn+$ww-iv2pc~m?h`1Ir?^WJp;Ti$!m`V~0L zzE}$!+FwU`B53Sh&20MFu4IkVJ@D@B@6mCWAs7wiy#T6EyFbm|b0*nnULWU-g>uBvaHCI#LWm^>Hp~IAY3LLG6HWAVossT*@x{ z>dcBIC>UsENhZ8RI0iG7g4&S^^&E^Q1;e$pCnP{Ji(CZ9?8Nte5I}@RQwO5rrBVqB zI(x1S-0Zrm;YQMYLWb_UdMC=OX5BAF;prVEQbdsVpUwLz13>^fu0ytMV3t$Ifuz7} zQtELI8uYCa9Z2Rm@^-8}H}x{mb!aAj4(!n%I=-b0c(z*=5`6#wAOJ~3K~$ugl3hxc zITJW#=PgLr&ZJ+UuU+YndVo`kpbs0?LAMbkwel@Fr~!G#h$B+zS5I3~{jq%4yJE>N z;e8hLTQ2*@bfFvQ4k?v;0L4x~A@kmh#=M88y-yhmg6<(eE0e+Y%v=7Qj#Y4WkTD<_o&IkaSu6t^_tKKBY&f zM=jz?ISr6t>hP_0i&S%LD@VSATIMVyocdI99gS9@!+XF_VDQ`NyEVI!l)(*6mS_cY z`5ITC%zM-5FD>_OhM~z@@2OcJbsowp04au1Yc*6j+<;4rt4k(n0FXTR$`rWAKq|&> zrTqmtctElqKc@}AUP;Lr!@#zHA900X#pD{lHFpVioK$aPv zJZ|cFJN1zxv0u~94910>)d(3OW@Ba>`OPjhwWZhsqr-opPpE>tVy3p?-i>U4q42OS z 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�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�eS&Se-LFmoP_svMY#2Wbs{^QMCaE`Y z6;6FrJe`xST$9ROK@CGVeA)!De~|{DzR11nw|%t>3%(js=prW{VKNhD*z5CxlfGlG zm>E#Sk)%_}SAs=6!xMQkfLezh=s+1-(*e5oUd|@LKLOOgKIG1z z{^l19kQu%(p&a_uKwm`XmqKXMSZO4WVenVcjdeb(K6*kNtKliHBQWL>?tIE#3!teL zR7(jytOoW6%Lv1O9MsAsqeUp4F_pmxy`K*M>fFd(H6xy8fhb-F&R;J@34rk1imFLh zz;{_W#U#BWP!7ZZv~5>gw;R*eZ0EKUbGp7ptE^2JY||){?v9pg%BQv}WBaB{mo8@9 zxN+D{Y6;`~(S2VFBqZ>Cf&P=;tzNx)#?3d6Vxbc4Q1=*dEr6-ByOV0Vx>I+y?= zXHR#tPP)K2gjXEB*L5uKK5NXur@%m9CYr&rlES~&;P_&aGuN%VrDA{^I$|&gGjxy>hip+~_r@8HOR$ZHz zf)hCpLieS*U<$rv4U_p;f`Rjw){?KgYDTGOo9@=hX|v((v}w+2W)ln+b%Gh?VUU~* z!82wLz-U)iQ|~+@Z94X&i_cG)y8cQV1s3HL;;Tz%A%OU{Kc&rH`=INQU$cs=u-C-n z$p^7>{O#Ns;xyZIUwnml?=$m#K#DC^RnMO$g_Q1zERxnz$`-4ei!){*E<{d?m4qRuut9&9ysM;gI(~lL&ls-A*7&_v z3$_zi*D8GVSuQ}eRE@5&9QG5t?*pi!XiXw0u9T`R6JQT0lXYPwELKlg~}9TFk=#Qvg+GRv!a+{xCpQ>t!-*@g<)cH7=%vE%+^>jGRpI zujV%_MKcST#cc5{d)lPehAqAl_HhrpxS?Mxpk48-Nf+N_3W}~`TkwDJoA_JRv(-Co z*-dj-X@QI$HSF#aba{ky<6JUZ{TAP@e|D3e->HLK$oy4QJBeojD)Od~Rpy$=q+K|> zveTS_E|6NEa>PcG;y7Y9jg=*72Y_l+u%f zIGylapW6BSHwJ8P_`*?$W9htV#r^Sb;iJ~HDm>EJ0@P#h3KzS$PU0&_ONC6w+KMs@^e-Qxne$(nJ z0QDK-9e#RMfSLs3OSb_i4)fpx*z}NL%*SqX`mg|M4f?$~JVvXhx~)O0sj(A4z3(B2 ziuxXXC}l*8_?Dj24h>rz;^@q&P808BR_ZOZ0Bz;Hh_JN~oVL#V3!jS948oR?)7f({ z(cPZrB)$$0=Y%Dk&WOsN-IcT`r``v98=9rp3hTm6&d8Bwt}^hd3}x6!{%=Cu?TEWO zI&1MNp5r$cvtmj)_oM&d5w={*sNXmEt}taWlljEgXLo+j<$GfWw(e$a4KI}2@E!Xu zQ|87SZ!~@T_Whng+YS1q3XENjg;445pyj zIVds}Fqn^F zR;?-5Kok?Z#W!{#ZI?}^5rcBvC}xzt&fbCAm$Y?|) zG_%eYH-r-xq5Xu8^!%tjkz#<$d4tsQq%fvHa)%dS-H zhW1aH??7uonJNdMj^Uil^wNy^{lTn+exHJ%w8|I)2<_SUzaWh@+y65x`2M5~G78D8 zRnHv9&kQ7yCjB{Vm${dh=!5ny(PX-=D)q>hDf4uT1HE3{c-go-ZPNLv)O=6*z9{9gv~C zwj;j%8po8*X7Q@fm1#X`)uJ&r)1b0VAt!+P?&H<3ppuORsHh9}`1RK3r~_rJGlcjB zf&xM}d2TD?;teXcSAnTKU^MvT2>>cqZFd1st*(%GU1ReWVBmLzhv=(yp>+jN*8)(- zFfNWG&e`}&i9Z%U*T)QD`KdfO&X8U*&SZ+YJ986fQ0LK5i+KTSuo^q;IwlOa;yM8x zV;bP}Mr%|lRl9{L=y)lL)x+pQtWYFnbl>a>s*Ebd0M&+x;HFr#8Wo?}3_vZ`7GI1c zHQs}cxCEnT)6A~Gt7zDl2d6_I-v zZS{-x@IG&OUP;HU8Ap2#C+#utqs;)3zf44(0iecL%;ZGy`J~h#;FC0lzFs8G*YxL| zS5ehM-GfRR=={a-Q@H?8bq+Ojk^t&`tY*rH+-0nUHeljcysiYV_E9^Xdwk&SouEY0{ik-4l_TGZvZ5G{ein2B?7vkzu;MoFH>MJ`VQob567al_`bzp)Yjcg2rGeUg-u8^q)(48fuHCSV<|HApoWmAD}no6#`{kR zcLqdTm$tO&@K0A_X2Dd~wLl?R$brqj7rnHJS(F%ahp=$NCHAIbpiqxjf=AsKPG-sa4 zh4(+Yf2sxkueyR}?%cVV3opD3OVbci0US32`_ZN6DSmfA`e|CW4umZ!wgIl(0AgxC z2nNsKS;zp<7F=y%(3w$zQ!Lh6z-X=e5=Qane2V6Z!e>`XkwOYv2B&RCT2o##_6iuS z$|}5oiaxdP=-ml$OX9RGa?tP> zSEja7Pef*SMCtM8Gu!9Dc&Y}2Uk0E){lKJj$E?z~Wzu-2eIEHUl6!A1dFI|NJ45Kw zb0OS+8k~m`8Eie=$~~riWhe z)rz+C&KHMkBDk*Nn;oY9+>NFl)s_>8TlZ&-D!_Ag`*VS*$rcZK)O5mUQwS-!PnD(( z@#Z5Cmw?KS`%Qsq+cjlozLPOM=*9r(ln&IGla7S%GsK%iyk8Qpb0-8Myt1aGW}d6T zY-L9PJ^qKW_T4F_*6@bm~ z_eSs#?L>ivXhk%=7=XGv0CERq5;2PXFaczjXw;yzpEbAoElS}s0O|?=Y6SpwJA+Ul zxh`cc|Ah3`XSWISI2WL@f@%S3>_XePXBMEA-RZXY>K@b;bYNrT6_X1-g!|A+XGi?P z*WlT+JwVM*+eeWMkwWOr3BjYa0ufwDSLkjg4OoNp52Gw{QPsn>Gx-2jl)5`!8=<}->(&fnRcCW4 z`ssK!?VM8;pekupN`vuoGwlOJB@Cb;q&b+lf$!@qY8_}s)zHqxDPOto0iY@k(N<&L zeMnwIJJNK}kUfLSc(*I4@i1ceq{+IH{-(TB?X3UvMjW9YID@D}8NTqvvkA*cMPd#6qq zK%L7eqhk0kdFqOpdU^H_lDPUpo27_X4nw>Hl3q?ZM$&gp{M|scS>2MMs&^6d`wU8% zZA_e2YI4vg@=a;RJOEhKv4?Y6A+5tosfKh3Uc<9Gr>IS7mltlP4Z9*cevN^oUC2lc zd8)$}UhgR9R<;yxdI(v;QJq@cE1scu5+h0N0iqL#wGY?U<<#2))Z1Vj?O7+g7=1;? zk*YY2XYs#i%nCp)Vm$r*ZIk*V#~*sNr=KMKXzU*XsJde2R&=ogp^g)dA|8}f&Q7uA zP)$<^90HrKm(x4IB4vW@#(+V5B}+V=+pNy=C4IZ?nMJZ zpzUDFx?;vU!X!e1pLPZHAI!q^bStPLzL2&6?Hez#Wk3W%Ix5qf@aH+-BHRym05u65 zl_LYwEh%9p2%g)I!MzZTV^7jZz^uwZ-U6skE@Dr7A?<+B4exC+861754C1zQ6aA_cS*@xLmo|f& zN}mqk-5i97EE~(f>gKKHtW!=kqeqWU{df-5HPb)yKVrH6Oz{7`VYG^R|NZxyHEX1j zN;;tC$w){V0&FsXK~v_ow6^YpBEol_+vzwIB7`9dt z(kwt#JXz=c2EPEW71Y(_y993D`*@@;19LZ+%c^;7ND{UDu6orW!id!N!@cH+CB_rF@xT6hZ4NB$Eq%~ko!-sngSvq-hW}i zHxf?SCc^jud9*zCJF{&nXYjB}v!fJ%%6ZT_6u-p{tYi{T$^kk`wFZuqvr1i`Gb)`Y~{;e&+BY8FuFP#P!Ze30|FU0grJ^g!pZ~U3~d{tXv=nnHC z9`5J{*42uhrl`tkUtrPj~x-VBG0r9Za(dO{;9MDeI=`*OX%N_xj^N1l+1}# zPTLXBI^WIjC@GBsIG0t%bVOb@&St*DuzMV~bG8GQbb%qnK%0jOz=B&DGybQ7_m)YnYhY=%EAWoz9!9x`@pyRCfDub>K`iUY{S zl;=NN)XTFIlyS(Ajh?jw@n`~d&_NKG zFNb{}1=1>N6NoziRBI$DQVaUfKH4_8&h<}KfGUd3gA7Vu7BgRAln>^8shCQZo>T(C z4XvW)15~|JN$cnn($s=d1$=CCDSF^|bi#A;0IKNOd$IeKWrz*<>UkGaDny1BJA$hP zf7Nb8>BJME4|P=zKvlUZZgUEtU4h#2n*&glPvpW+O-jXQP<51I5&HW&svU|Kq6wfr zO!-bigdZtBq8Cve>`-k34nnt|%Gm!a4RIO2k4D@Vh*|c-GqzKOd=lSo{g&QL8n4j} zb0DWHI>Jx=kRQbRwTzWg%9Ds%zG_Shplb5%YSJq7Mi6tVNZVWC1qp~jFF~y9-e>F= zn&bP>M`7zEujP`s%DV`U`ccjn{@dxdHk4Icd>eQm?4y`{QMtqqKVTxLl6DJ;6l3V< zb}aGAg6}aHI?~Q0QCbN;kJ>^~_EQFup16Ul+fdOe=zE>+s?O0&cDUR;=1}_k9;8vR6fS_OF)OH%uZ7hDuu8oR~!)v=7_!w@J4L3{QTLe`Fs#Mw-o3tN2cJ*bB|J=wk?ytZg{ zC+upN>skhO0H|}n1)!3CJ%pZ|k`s~IWR(wLOBu9}y^romy=1gV7Id}3X~TNI5#pRs z>?U5@FpxtUc3UxdZdwSDkk%ozlf+kur!2l9%vTJSlZaP`_KeG*ZO#2Do1SUF3%Ksa z_m;GS3{>d4Edf*+Wts-#>46rslDd|Wrv?oCuutbMcAIbG#u~Igx_`C>{;yd{)hg=9 zkt10}Mf;O&cWqIqSdIXO%hiG!w?nvv2w>d}x|RXn!hG7kM)N5R7acvZ)xwIg%wow!o(L?nJIKudX-Ly zCs3??{#zI@OJD*=o<%ts1X?*=f!E4uIbIA$tG=?t+l##GNQCoDQ>`n$c3XBW0>f(s z^|MEi)mC6_hZbPBWmD)7)_vEn%sR?A@dmbx?eEVo zcqwS}_Bp8hn_#%#5LO5AwcX_Hhe2Xk3EiWg2dF;0%__u|)>(?*#FY-Z%k(vvP$!e( zTtccomPobru0SNgKFz2qpt5 zY<-h1z_3F7gP7ID_)&`4U8u)eT0|~a>y+L`gyARGq|LzLDRbB*+51nm0@Z{`%n!z< z&0x0T_C%0NJO#Iqcz-0`Fyf6Mp6)-bMU&M<@@88yH(PBB*0!_{rt%!VcLm0j>gFj3 zRSGI4X&y7!LWQrciO9Ceva>i*E{v&dw52F(#8t=Hl7h^!E6iK$P^JCQcD_#uX3v(l?lk5!;y>j z$_dFB_H7Xws{0`ymF zjaW`f^y*R+&q)lqUy@Ft6W9K={UBMh1j5-$IIW;sfLi22RIsCD$85gutx9?K9f?|i zO6wd7zp^W4@;EJB?a|YuSHEvkY==svGzwhYEI|F7t-3n1DhXem%l4vMK@~u~2Cua8 zovh_b(zi!fd4lhq0KvENyE=fH8`tU{G*CJ{ffoSO0syL(wbik)XA8g4w&wHz?h(EZ z5W=>)%6I6xk>uASuR*mfIh&8t&t#tG!Gnao7T+ze5VYKmdaTsKNY=c|fJ4@7KndIl zAJQ4rDl4dpp3NY;g4zdV=QtA6NZ`F}D6AOoWLFIlCawn5u?>K_mJYQ5)q~C?JvB&_ z{)S@8@-c&;yOUiyVq#rXLH*<^F!K?BSlb3qIwo6&5LBz6t02^kFdmV~n2D@F3@2Tf zoOLj-eAr<3$1<`8AR`9w{d4kYPTkswvpOe3b#)mOTWQ`p3`}kD4NfY$s7s=EJ;`jL zXv-M`-OoYygKX_0Rz$Xnr=OK&j1|P>(TK?=r~ym)T_2KYC8nWf6;q-*?|#B0(h>~Y z4F`;7i{xg8mXj~^vz$RVo-sPSvtL22CchMeFHM?SshrD@x|D9y7GDjcO;lUHGfYfT zM5+|4XOOCzEE-%fVzRL!P9KV9bFBg$$ z*ApMR(Ft$BNA?`rzUKo}6-4jsN+s=N$`~M|yNNbjkH;XUJ%ehu_|m2}tWV5-FlaIini3en zSa{!0;lUl?4mD|?sVf{<)oQdNim=}zt;5>8FjhzqU$cstZ+XvPeG4$zmher8zdN4+ z#BQccGN^e7eWiD5PkF9OGuq;PD9^>i^h{eEH1Rfs_Lh(quq`F-5IC1scU9-6)a66+ zR6nv1){xykk39Ua88nD313$WdsRgQzgnude|Bk@fRn#362<{26F$EBiEGE{)Z$)X? zeGf-G#S?i40cj<*678`Bj@WYu1BdY9Xu8OF!I$VwU7eH^!Rf5!)HfIq!{D@HI6TvH zS@@j%3ilm${a-6FV3dy1n{i9N;$O*H=pggSA5Q@ zYa?_@%F<9Xfj&+guZ~|$eU^Ju=Pk!T5?#@caM$7+SbDAMLVN+#S9tvt{ulUOgqOjM z{rEl+zn%9R{t`UXA_>WbaBaDcj#Lvawh>t0* zCBJFnM8T1g@+^KH{vv#Rb$SQVWeA4Em501mAjTm_n;_5Himl)UP_+RgI1TjxP`iV< zekOp5yb4ZM=Vvm68K^_BC+tn1bK3ef*!%XFnac0Mkt6^iCEg005 zH0p`(2dFL^wOod)0Cw(to$!CyB|r_KwZfW8wI#nZd8F0V{1sG%%id*t#WKhOf#8jjH36W8GUtC1 zJl^8l5`wV+)t9F>lpe39+Sv+5&PJ59cm*}TNy6{-#q>LJ?eLS~$44X2AUGNO3+el8 z*!v73K(5V0{Xgr}s0==+ZF8t{?;^G`fY`=NbO5y|5Vt6h_i;G_KYVONT>vOK;#kDK57ezE zn~J6p8rs%b(-dP_0CfRjFOWE8EGAC$FZF@Cgz7XvO*oJ|<6)xk3M#K*r4>{G)Jp)8 z@flRDU`}E%`&(Ob0BUEc8rhulelW^NPe(H@W{7^a*)7!UD!2gZy-QFhC~Lfe8i(J9 zvaF$QrKB4GswO9Y-7y!S+BonzyL#FkuOUT213!HM^a@9R^pvJ?xx0My#hYV#WbcYx+f8et8~ zWLvADHoH6Pa3-dn#5mHkOnLtaBagr8ZwmHrTMa-}zS0-PYqI>w0#sS>4Oi)L_oue` z>S$VKnxudiE{g7pZY5~|s9(be?)*y@peoEph0=Y3s7})!#mFq=VF9419ebq1|fRxO!7}gNmR(C5bd3RV|x_!wP#Q%iv@vd zZ3)1o_)7O|5JGL-qzIr&u*!uB2i`)@mk@U>y(WNa&-oHYAXU46bQh@=z@$5tu$>|H z_7I}o!ut)LxH><&gWpdvm~{NB9exezYXB=d$;FqTvi%sCZFv`}q~}wKC(x>RD$)w_ znE@|5kg#G5D|oN#W@OcO6FgS;sum%4KVJut!C&F)b-vqX?&39( zEf6H*4+Q(){d(TKd6}o5evU#y#G2l$4d>fd$`l%$rySubE4?zoDMJ(5;@Sj>B11_f zli`qiAtl>bVlwN|&~*jP9tRK?4yr*W;V!Vb|1qS)K-IILyz9B{PSt*WZQZr+d|Qbz zXlroaAuetEIK<^sE2&y}Jm@SG5C)aFu(tJDaO%Ux0JRoO&c5<_)Q4H9PUQ@cDgZSK z=Tl1xCX2tHJO~hk@wDjT_7t}63j=#En{S9CMQ!ywtj|2avKQO?ItRl=p`M|vNhZ{Z z!73wD%W0d@thjXRe&d+(7b_hqjd;Koj-k?c%KpP zYU1_s@lq7E9(=R_(y7jsZ_St+Ie+>kGU4`PSe3;<(uuuOW@;H-&b#WIfa8l8a2h=W zP}@n{c^z=9E^K%A!D zwUVlv2HvJo7A?*Ns7ea)=`N7xGXPW_=Yv{9lfGQ=coLXmE zqPVO_vTBytZt*1%t)M0VHBJ$sYnO)+#w$134osg|j1k3aU~L#KqdqliT*s$cb5~BK zV!M837IEGtyw0q4t|qX;Wt{`UYZ*7k@eqZ=x;RXJcv%U4h%j0~mEor9%cQoqDOtez zEZ?xWnfeLe-?h(j^H8`r{PX+}K)nVJc;BTH5T>0i*LatHXZu~XfLRH+3~~V~*FFS! z66&mAEsj9x1a<9zr>%Jvz6!HS0BUHD=+l1Xp8)Do4^Znts7;U)vZ`DT)t~p0>K_&~||*+J3ap zTJmG-r(CVA+s*cecR0(_!?V%#O#oGtsNqw|VBK8GZ;D@+#6fEi;=r*R7K?@e<6^}-XWt}@AYVp3G$!&0hDb2LOeYels>C+c|{Qq8yG8^X5t zI`=oE8LyxUpvqbH;CV#&)X!q-EP#3uJm(O)t_4ju1LhEdhV=C*BW?nyIxDaHoCT8O zaN)aFc8{a|oqg zB`V8w(n_L>=k>+&d|?^J_MUdzdr!b_LcWaD_TFve@f~Fd9XgC~&x~Wlea zFY#-sMzG>)odu`>+mAoVnBE+nY2xE4aHGPM>A)~5dyO$lI8h_inFXkEq+Pkx-VjGI6fmjMq;44sSPavraSYKqjgb#fOW7&*7kEp5uF^Yi zxJdy}TL!#%)vHinC!UE7Dh*jg`-rgn(`R*QTODEenBTjTrmmd%g1YubR?OZ&1cj+> zQW!@)>nCTJv(G*om6kX^x_`L^{^MKCt)l*ov#8AS=yXo7SMQLfwn2YGo5=`N zNMFoAR~&qJJJKJ3+MB#=_@p5Ek>fJk7}QVP;RdkkZTC`zviNv$(SQt@?O3*Z;Ui48 zFT&8#DKLB~%Gt1vLzJ+ZisB;+YQ^+1E+c??8yf!#R!*;BD{*uBIuSo{QI(dq@a_Ph z0*JBHwtf`nU+7{PN2t%_*3Q+OO9kOb&Fq-X-R2{w6f_(A1?NZ`lFjM<{Am&(?~7!8 zcdn$_gPk2OJe7C;w8+;D{#IuNA|K<+16L-s)|2mSDP(OLmf^E6`6~RB* z%A4=X+1mIh;PexO@9#QscPq2L@l^tW|HknIYTuy#J5hu>5&%kwlxD}TL--JXJ#p^j zp+?-5_;4jnD3S7HO2Q5oZB3MRC6xM~X zl1zkG6m}ydsV%-*K|L7xEPHLqM7S@o6k_cNz3WLD z(v`7YZTg6vl((`nTIT;zJk$|%@Y8cAY+YlJ?OfCS_)wILU zM?fc1?A)v5i~Y?~pzb$)gNfdLa7GmDtWyB}_Gt!y+EV}(S}G8qR@>m3LxcR8Z=pjb zOVST-HMM#m{tl&hBE85-^%hkMpe{lDv^~fH)Xj^sJ1OGuYpC*kbmoJP%>}3m(~Pm* z8qvKPlAZ`jYX!Ahfa-^V^w|$fUFwIR7VN>;{}fRjhKb%Ns7U4Q1&Bv<;jn`0lW>vw zFJL&FE_{K!!xrBhfEq$Z5d~2HL7D=nUFZ@G)BQ<9_mhezh5Yqt0V=#i0QDFEVlt$Y z66Ahq20M6zblSql1X%6raHyE{b}?Cbkqz(cE*XZ%49auu@GL-8EP+mK`<(#!tkZV- zA{RG}L7bN-xihGjpANeLB<4FAjMM$672>O z>mR45Yi3^X7JU0(pS9o{2knULTmyezj_Q*DR2p;Jht7g;Q!ED8=k8QBNC2q%+?CS= zcjhMaNL}IA9DcbQKF29{c{LbWhUci%&H#di3`OhQ;ILcORw}!g!~42n+DJE zdjse+z(N@mPLg~+9=?MSO!IOn1YQVtb^8kd03ZNKL_t)D6hL)B-6ub~07`Xd>BlHi z-KqaUlry!Ea1go%vz+pqgoIrJ?-?pWr#@k@=$$~PCeXCoLrQ>HmVoOQJnsM<6ydqH z&kp)YJnP7B$y9+@Z3FJfZ=E@n(WKV&%UYgoqhGg^U#$W&pnESfYSgIDel(Qiy5ryZ zA4bW)6Zd~b9Jh-4I%Scn2lvw*N0kW3+NjXmA@~*y1f8JQbu-pb5>%)wSGF?H+V+QL zX@Uv{!_3bi)WeZ%FpP2tUryVk+I4ck)dErP=X?U!D|M@+vgE6?s3Ly7Uy0;cfj@Y}gO4^l`8Ljzc1;v-`#w(F z#c;-wo&dUZ@59pCb+idg{1c=@HbV4G39#bA9fg^j#?khr&h&bbn04$Zw=U|0VWsN8 z7*6VBGEW0)=W+gYB*@$nq-U z$$Y+bR7>YjYeQz)vbtBA8J_%k+T8U-+MInfcaL&CNS(F0p^oWMbv0E0^|lW(W;y)* zdX$4;2*agnv$Q^Ti%k$Z`uBwql@EuG(b1vw{x+DRRXD+J$dfW_zza5)7ph2(CY=m6>==pzM% zJVXhz??Z+7t}ETjkzpO7pYtwpY{7+cI)=nDVlDxw%TR!ak3e2hp_M3=I=QfsXTj~D zuNKo#8z0XFsLE0RwZaf7IL#2>y%~K8fqn?%xZ2rVDw?J--b3qrcW->ans`H!h#UF42s5*lhto{nH6%?FAK40KJBzDw@`epA~ zy@_u+v#N8k)d5Il>bCh-1*i>dxl*YMNb7N%o^vjrssMG@b#VPFjpjwX_~uCbNo4&2 z=^|UIahaVEL9pV>8Pu#%C_Z!@WfH<<=KDyjvj;+bl30n{?YPb)Bbqe67TJsBU+dp_?F zK%G1uK6_vmlP7tSrAWOORex$M<7Ms-092|gYrk^)7dbt45RCk*?-5_f{|FT6;AjGs~pc1`a8?*qG_R<}w*U+|w&GKvLo(=BAE^v{6 z*a!6X(j-9r94yFR0I01Fpu(26(x34aGcqE0-)Q=fe!BeuX9#dQs*k2Wpy?_E#Z_62C>TkxgHtSdmi7hMGAc#_Fd0csjk7JSPe&zL4`4VHl7O9(*TISvx#9ADW$f{_ zm(T;@IlraR+K_I75PaRVM_$&yKmNp)&nzl+0QKVYAo3!fF_0`sL||zpGv?u%9FuJk zok5iq-vg=B3oihzM4i@bDP%l$Xm8{^;?Afe-sKXu#-eW9mMOcG^T4_GbWD zOLu;->b?Be)Ois^f2;&KeXVC&9hEM&l(0+5hwaZHN(LLw!TgB{4 z{RLuYk*@B^YQej22`@uS%?PjUzO{I^a)as8vYi?C*f`U&WlO0;Ke~Uj1riecH{<{R z8ZEnuD& zun_Ll<56(lz$&JsqK}tEhiR{y1@onz1B$rx`c#;2km7MzwT)DG=Td`FoENYfdJAy!5Lh@l{LWLMrVNJd|dE zs-%StD{?~#wP#CxK_q(wQ0Jr6U0Z}KgALeMgl$|%yElN+d?5r-WmrY$vkvJ_n(Yba zhpUEMaN6cO<~3d+Yn$%|n~C%Z1(O(;I$w#*oB1BY6xlv}1a&8^Ql3k#Xt76jB~{p^ z^nJ?lkE#Hbn}3VNtZt+%|x3F>Phl-4*YCjX;OkE$>+2R{kP_t!9rHTl>4`Cj_YkP7C|2)sb7GH%|`uTZ;-`YZ) z1*ihdc3W`eDRkl^#1ch^uqc~$1r?>SVP62j@q~5MolQN;N1eR-6%@6FOr)Lx3;Zyu zT{T704jBQ|KIARX$$W!#AxRx88Mr_F`!OpAZ!#c2AR{hxVdHRdE}F!B@dF1?MGqYz z-bT>YGM-z<01!~spkd0U>3>wZ;TbrZyq!sn#z^AkYTeXP0z^&-5^rs~YAfhE|L(=K?1d5F6O z88mvb1E^O*GWBa~k~i1c-?YuqCvx85$2cVwZ#ZH>1PND&&kCbjE7v&}=Apo!SE2zPO zZ{~@~_O5rgQ_Kgo=3$HQ5<)nVNHvFt9C?Vzy#5ZDjpI#MUhe?viPhYUpcT8-YEZSe z&z}!_qrx3Dtc+J`H(z@?SzG>fJT1p5uzO%vUB`}sKo|(uAc1vtOX$WR&=gjFpS{?< z$Hd%>F9E2JBCyXRuOePRT$xfn<;4SVA+CU^R#3Ig_veR;uo$?FnK)yB%8;p@&W11* zK1_OPrBrqmY`(s%p$xjU%KgMz}N7+gs%(vT!#N1R;+$bF(KoXw7s_XnWcs~b#`fC^uT6qYU^U0641CZ!Q^NFNc zPCM?$tX&7nDLxuITNYO!%YdcuO!zBWz%?Kj7-=&GtuA(|oWepwaY=WkhyEZYYVQm1K(jJPFFd_YmG!axDf1*(@>n3dG<8^ zmv|XSs_x8c$VcHn!ZY$rCp;o47Nh*ib<#aw#ea@xs>A9|av?oLm7VZc+2que592Sx z#{f01r^1PHXihT*kJvScR+omjo;pjz&{uRjfn@|m0QEwYUY+lQ_x{$)e6lQW>%6;;(%09CzL18{jGbfGd- z=dvv$@R?4J1Dxgp)X?Jsd<6w35au@WD#6Dqr~;_F7F*i3tMHl3KPW^DP~)DVYAJZT zbyM*IoX_(qfEup?=f(-W>(al4@U)Ay5{wcQdcNi$lq}kEOQ2TXQ~{_7C$uF<;wrlU zP`A)09j{;#?<8m0{X2-RI%fgu6bDeX9k@A(RL4$x?TJ$P0lFZBbULF!``4>DUtd}1 zlm*d!yFow5O*yssUW`nweAtmidBlsSEN8$nLIqG0LAA+;aZznJlzh_|{<{|zop;fF z4as)?BaA&nxK>bus{_E8x|vB=9ex78mMF~usA@jK*yGBfJN?%Z2ClaFUO+ugZteJrT2{eA z+R8%D1W@OK4{qw}w)pCK>=b@)`1C5u{|U{iYp`UI_gHwsuEbF&P5`Jsr)#=+J^lDL zEU+OqE6C5v_NXreQ1674+K`_Bs;)Sz;?&sc8``QlVDvb`T`?M-gwVL^9O5v6Di>l( zv{b+wwZ%6bk(>bP-|xeC)3wO56DbDe*h#z{MLJi?Tnek5)j0vwm+rx0{aMBo$r}GI z8bPteTScuq2-EP)l-Y!uQdtJ?WaTwnPxnu)pbDVgO$VIK3Mjxd$4Xk6k@A2|)F2q7Pj+ z^DSxYR0sO!`X+$-%)L$@1E5MyTlMmgQ>>9syIN`;aYAz6p=&*LCo?n<#kKI9_e%1ICzIGVt~(iUHxA5GHWiwu6PB)`MR zTMH_BCzcirC28xgW`~sK3c_i-?_gvlH$NojQ1>K^;>;l*osHFsu2yzuV;_YxvKL)+ zkva2Bi0()C-)@0jh>QPry8o{ykhSQm!Lc`7v6$Jteh?I&jrm;{PR@nx)^w*V;cDOr z%oPm-up&7$awXt5BKg{(ZR!GLaa3KbyoN#0{~!nzBDSCpzX2}%;VTT}V6ENL^7a?z8aL#;+_h-T(3vE>UZ?_%{7zV10I9Y%?9)S8& zm_U&a1@HX{efNI-ry{7QF{TOg4G}aNurj1kB08sZuoww(i{L2u=M{)6} z%Qlo+Z6V&D`vY4Mo@+~7{gZ%68p+v(akp`HjdK#cSlMh_fwa+xCz_%C?s4B&pGq8P~365h~%_EdYe z+DThc*Ba#&CNqjvRIJu&dvC3xxZ*aNmD5tgnslLCv4Xqg4bH0qG-uqHF>Aj-FC$(z z;-M3KuTwg;*}8O3eE%u&WOn~pR$!lhn!3XrbswrM`o=Cfe~NIv0fS3c&_jaOB<(Jo zEKjxu58TQbpvwoO%mJK#s1Beiy6X|?lo(ZF)_YVbTXrei37RF>@bRu8orHKa??idV z=Sgqoc`%R^f`qigZ{_hSKc2x~iAO)NCjj$Zh{wpW2AF2ynMO&@tLlC5>a~6GAL8G{ z{|$cup61GuyARKYbsBbW;qS+fz!%~B<7XrY6%2S|LH`D1^__qjuUCs(>wzob1NEPw^YQjDX2>v69X^U?FsDU!#JoH`9 z1yDt)6xW_XWsoEzAcWC7U2Snb=}#a$N?ig_#V51j{Ey_r0aQ^ed_DoF*-$C%&S`fc zo%=B9Zs*Qtl*Wa>Mdl!zq7~HK9Qd^Fxc_^q#i!J||_dVJ1cTEn` zWpH0GcQ6#^7DS*vki~qGZiA zLE*_5)U&b@ra1B1Uf*vJ*$S=XIW@~W)0wy`gZvRywUvk>2hZ2R@QPVf^R;<|V;Ee# z5BX7^#3^(1*WeO>x;wy-=lvij*;`qHn2(({Sp|Ul3&wZTXktOx$4=s|2l?E!gn1-} zb5GK=BRvWj$5E4iL>K%Go+g0WmGE|A0JUc*>Owte(UNz*7%bE(HBu5T3n(XRFcl72QsD}EKavV zrPOD*9|EWrYrTlwjN8y(el<9<;Hz@EvZeM@<#1C(^DyzSf+`EXe|i?SQfg9H0~Wo3 zBo|Ktg$bbKYzSX{Rjpq2>1T8Z!l;8f8@#pNJ1>1@%D&S`UPq&b22*tpw#MYX&M=QtHfJ zp9yat${@36031Q%zD9izeOj=|fIEfGZY?>N_l`cbXG)u~8crvtC}U~|N`S5w>P`Jy zL)bc+%n#z^Qh}91WwH#|M`O$Ng<2z4ohxDvk(f}c49EQ}UNY#t#sNIQ~}gZE}r7rG=gK$2%xGSgD-X3tX{Q*F>aFLK)plo z3Y3wVPrG!7A_-!H8%dxjZGmVRNNNwb*LLFq23;X(>)MjI2>yElP!|I~uDrvfiePZN zlV?o^s&zhK=OQE`1DrefEI@tnHB7gU!2srACe@oe#VpA8QNov$(kR6XzOX9DRvHUX z+t!EKbN;ju7Sm2CVuo@KMwb*Ob}FwDB;NcAlm5*bQ*QuUd;yv|f12+kt2*K}2sAs| z8-Q4hMP8jh)fUUWZvdPUPhqOY&Zb5U&30ynuP0s~l&PHar@R|9gssG^rWSupmqRKc zt@!-uIh;Q|^^laQt=VfaUC|bNGq}KK^;;LD|LJ|UEzwQAThUFBn8)hb2>zSm$!*d3 z(-O{~qFdg{nbz)*o~|E@WuL+^8VtoW>tNDl_)&asgBRcoSJH$u!>8iuy8!JSdi^2$?X4LWM z=gDNaFGT5bWbF&&hjJ`{Dw5PT-_5WUVE}cjx@;rgCq7CN6s$ktY9jB{CVCe;v8M{+ zCIB@w6oFJ%t)T9-3J)2Tp#Y3$T%3;pKN#YuTL{mBm$5A^>j;;I559|HfiaJ&0F}yd zC5%n4G3jUv+S4zR2H|h|9b12!n4Pt*2R#0PFtq`X$GWi`7drXw8pQ$BrvZge6aIX{ zlWtC!xCh;fRH`<*!aDp?4}#Sx3Rg9(VhBK{(>L>N0O?d)xa|*Yz6@&dQF#{r5~ix(OUqb8pTXQI z;#Bvf?%fr>fv8tgSSRx5yH-%=6ZWE$2&Z;-uadO%yF(K|7-46vbO2S8gTW~;i;kJk zk;@0DdM0+h2NPn`8Gbgr^5#RvkhFp-fSPZW*CytI+D~oq{R%Zf#*bv}H|J#(PS2%V zzk+J>4CVbf{H&|!f&A?aN`=Tec*n_o2?KKsSI8_}lQF-26H;o;u?$qF*w~&ev-(5q zpbuW@@lY0g5&fn=qW_l5ShRYV^um2R1gWH*biGUk7{pavZ4N+%jePMbJ7%s&W%B1i zp*o|JD>R99viUF&lAnq!R-6D(XR;frFS5J|@@rQPk!UxL%IkY2ayeM=ZT5Tg0#rE} zNz~B@T{E*QBS{vZz5qb|v@yq#xVx0|r*1$b1I89XdPC}@o?J(>oXPYW_E}~f6J@$$ zW>%ECQGF)Ky1lb&?t_|H=`I3x)fqO0$osLmK;OO2`t&r*{+Lv@{sH%YEc;0uRjoRb+nY`P{k7?UX z?N&_d*5`UaCfXWjHkqdB4W{1b8%=|b+fAdc+f4oRR#Q_8N1uTQ7C}WCb2`?b`%rb6 zy!<@g&%x_H)Di%JW|B(EO`kq}%#AnRXc{+W(EaHCM_M3H9Q==@`Tt2G|MS~r7B=QnG^Wo4P6WTKm)*10PUP61RI3u=Xc z7I>5vs~e zg-z2teP6p6g<~|@0a}2-uiB%*5_o8SK*fQ{Yir0j!V93D&5COi6xcS@vn~uECyKV> z&<}?n4AXtin@^u)Qn#KB!$+pUOiPfA8WGJ;(eC4@Fux01q_< z6Dx_VgX+w6cyuCb2{`CpiW6L@kESBt#jD5%;Th?>bW(UG;L$_u7GLQ|p&fJ^M~1p@ z5K82s&Wc%pN?{Lg;pB`G&WJb|(iy^wxTI?f&&`E2cVjp;7kiLCQi%7;t29f&ml9J>$fdMLH8tMtYEu=q6#r)-}@#Hpz_>0RS4qJ&Jww8@HknO zT!NBt@wpHJX%9Kvq<_-RWa<vjCM{ zAl25{g(ILN+r-^8P3pKvWC zID{&<>g1Y5O(P$6rRuu?s_sTT;y8GaZ<_Wnf$t#W^_pBJ&@KV0hKv&NPTlej<9;1w z>;`{`S5R%R5EeD01odGII<~H>ij5>G*kSa`m*5TESfR1~CJbO#05!_qmO=paLAvYm zj_^Lx(UAn}qJZJ6np^;NHVpG7a7tIY$Ii^rww4k4fSpNaH`+#)i**O;{j}E^{aHxs zt?tY%fn9a%iSLA$_~k=)px*loJ44SS&Tx2mXLu8Q^;5_~WUvDkA%I#LwWqFOdvdHh z^6=~5qIw}?6_(=KBN%z&&h*&NmE)_ov5c*YI^7>%6nYHSxD`sxJ(WJDU_Ch4@ z!{hC{5YApVvjQHiWopF>09E?fZ|Lpr4$gs^53=er^7d+&ya(76EADy

zT2w~6g8KI{EP*2jbluBf7}QG>RSKU4pZ=?TP_hacgMbx4wX?qnKYKNdB)WIH2TAvx z>WWW5YzSki=;0HKrIN_J+nJHn1id6f5?I4X~nu6lG>WdhczR`~CiF z?|tsMcLwr)-xuG!@AJ5yXWw(~IlG;`*IsM=cUimbK5k!90H|8t+#jf*5q6)93mpFV ztLkOS-w69_Iv=wk1$4;Xhagd(AzSiI$K~Dtsx0{GY*+!*+N9r*PTCM=k}NSJpv7~M z<2_)uAJaBpy~`P>=0M+=3w6cLiX{ne-CmvW^SM8ol31Y6orhz-J1Mdo1drj$T+ z24;`MrY{K{YOs+KeGP^`Ih{^4F>l`dk<0IJH7q$LpAp79j)1noQ3tjD#b z4xkR8Jf46MX$vpwo*%aVc=pt=sM^^M0h)r}2Uw{BmPdc7_5O@Z5Q?3L0{{q@- z9{ImDE*GHEgKTUdK`s6XWnpY4?GUBeeW+zLs%B6PpcWB~0>)B`aO~lZ zzC}wmL5_m+#!4z-aWyljDzM@aMoz%x{zqW5C=OZ?QHfhth|Nr+V8nLR}cqt=+014HeATk0o2j_ z)eI^#7u5pPY&-{0ZzMfdX2h}*dGB*zw{$}04#`hCp5G z0f>q7b&{rDHS*HuJwT;LXa-fTCSj%I2PZi)_Z_#ACIP5Etilu$9xQ84*(3nfgp819oFT1KDA_rK@pDa|?2f?H4xik?>@trSM`bAVC|| zfp)Z4j2Tpg!*mVfrJRjQAK3P#OIx45`7HnrBDduZ0IEXPqIh2su2pBM3DT7dEg=0= z)T;kg0IClpoX`|z{{{Ux2cRBH7xtuXi2}4j!uka5L7hdv|Lws{M$aSfbmz1P&Xv;b z#?qYvKuuGJLP(cwM?TZm=PvOLt2Xk(D~_H8fckT~Unjb<2GTSmy9#*{T!^dkzCc;0 zQ&;ChrZUN4c!;i_Kc1pyJDxC)f6g|C$;{@$*9Mg29#>`sXo2s67hUmRz;DJ}2T;#D zQQ(v~Bqo2xuqb*8UbPfGKmb*2Mo!5HplW&VQtIg3OEk{Kv2Q$IgrAEy5uWFi=3cBW z8vmzEvPD3><-=l^ zumMzA@NLa8F_&`oy7ry!(5ZrYQomRX=WO?A;-?sceAb;*aBSLwuW}YI-T^?>5i{4_ z0)a3{bqO<}8VHnQ3zgaRnEbK(Pk*uFX0{0MQO>Q@+*=c}69x^^48S_1b6VQp63f~h zA&%3AvMT1E0O2w0W$NVsDl$G5I?ak5k5H$Xi4eMXEC6*ljiGiZWAdOQe2!6*Rnps1 zPJBfG^?i8H@%`vz@Bss-v`)VDT@mgse6I#ku`}ZIUVSKpuI0edcX;B<2;j@K*(ro= z7XT=))I8<9UrRb#imPK|1{RYHpcAlJUo)kQ$QRGw5XJMiMRg9(@(z7;1$xj{_)%@D z#diGZ8HBl&DzDRzWx&fxn`Q0M=XC!4U=Sj-Pq|kKoA04_=y{>ZcB$sbMysJs`hB=98o=2_&|cQUPK8&;&wpj>)j&qvGni) zs54PK1cc34k>Yu83E%}#KYtWPgaT%Uk9@)*oc>a@XwIu{S@J#spr+H|z2a$4t-fp0 z&2Im#mN19%DoB#Hzn69}??VSrHGA3=hOAfOqx-|S%0W+S0#Z_b6lER~{;n%vP)N5U zPeYGI=_y9kXckqY_rCa+o&S@W^KF#58s)J!_0$ZF%a(h1mlIykqyb>fZVSs$o+@RT z%~F=x^kLQ&?IMXoo5yqc$06E`aK)TgmGQHw8NgWPnw3$}=WC)Cw?Pg&SrXKo6k6g{ z1f75S$u(~O>44h`qE`DBMC}lc3jmSL#6Wl8))DVH_Mg^Vh+JU_QoE8WALL?^L=pVD zCV=v!!{X?n7yS9B$RF)Lt>z_}Jfj$ zdZJugK2s_<^4-SAI73O)pa7~ym<^z+kMUtz;}@Jv zAeEoEbnAr{S6!w7s#=rcu-CPq;0p5ikoWMWbSgH3I+`Z|pau%e36}f`MvpR?JxNzH zu0_6Fr;`3d_*|7a4N&7)GpIXC-+yxj6uRJUl$dkftmwwsQD$@b4hlni$cnGcpq>wX zifZLZOLUm%$NX;$0c&9NYr^kwf|GaIY9l;CYylbmB29oQ4JHXWcz zTPl7UpdJQI6!2Ut1hX=9+Hg8oK73~YB zN8B1fr7!3V;D$r^95I4woMu|Jz^ThVOxzqx)zbWFl7)h8KCHZyt#yw@(O{HNn?d!> z6vj^XMQlw*8GUs!MWZ>+Catu6m~^X(?Y~Ad3ZQBaYTJg4^U&Yt@Lw*;pZmEm$+7gy zGhmn<)$OVw4?Q}J_+j6>miX3Iq4R==sH*OX@Tj}zIUXf|DyQYX`%so-Hr2ci4ngF9`(W;BYuN^USD_R=$fBxlJfJ$@Opd3Z7)@eWLyMWBrec*eP zLCchPh%C4b)>=?ZRQ^eUB1dvUh&P8(-C!v1>dl8 zYe$(Hf>#9R2JC|OAE8ISiZbC0)L!VZzqvRIPzhiI z^ExE~yB;>1s-tGss*|JZY=oab2;ZB-hlU9Ql~u$eFDG!?g#OrpuuZwD|5xzMI^%Q@ zt2>V3BnJ3dI3wCcvP9gim6J4HL z{!A=6A~b8S;u-h0N6tH+yz!|?AVSTiimz7i-um{d0|rlvnJulH&!7d0N1Y>}Bhj|czj7Ti_hr;rc#;-E z>QlA#V9WbFL#@|HN`baed_mo5AF7sYOy#~69ZiOpTJ!zPq{iziqEk;gB^o|__z(L~ zLmU4auR9P8|Hd5t%}H(Eyg3>_UL*4YHSO^bPHi}PVKayviLo8wX~T#R*UGm6Z7>HJ zO4ZHcJ}E$b1FAU1 zQV2;)UW$akr)Fsdh7)PYt(<~s-=~gw(H_)}gHTfF)Z4^r_0l_ab_1w%@P4D{AUomG zTAr+#T+R4)r6;OPa+aJ=GbmT;i8JZ3UygUndjY5xMo|#5aT65Dy$%Fbyq3f@fcnpS zkhCX*Uf5fux`QvceW;W(DK+YVbXD=6vbsM zvtfDfwP-NYFpzX5qnNg2F*t>Rx%&N1)>J3ev)R;2jB#lHY0cg>q9(rwz*V#VG^B!x zZFoh+U(J4%_fq>$!&z(HkBFm<%%(1ePgds^5N|B;4%)No{?q*MHEGsb;?va0mvb`C*M6*=4%vbwQ|M(`euJH0(hO(Cw3%=$cXTK_%BMM?Olo4iAb^hr? z3o^{GvQL)L?%mns?`A`37mWlic1ehogVP?=+x)A`xc(TAZb(zQP$6u%>iP4$e-i&o zd^hMTY0{9WzpB0^qW*?Qlt^K}b={dkvs^0MMO6%#e&G z6IG4m>>D2;L*HYs>QDwhC~(?}B_Yir(jr!vMGKMVyP}VTCBFIwxKhr5fB@>OaXf^j zH5lO(v_jaJwi2oRL@GKDwNg|pBT0{;gcv|oA<0AtCk>`#b#Pbu^)m|*s-tr;8&8vr+s&mhbg!iWM?|0{L^P^-&BOMGv@3!om4_k5Bv z$FXEa2i{H0=4wlVZ|46VyhlN+LgDE=R2~|))?Ks%vmtdD_!H>Vvfsu3;GJ4cwd3RH zzX0m`uRK7d{ely+q6w4ijAy?D(?Y}AMEhyQizVaJO2YGBL~eUfzxDtX*$|v&G@8Ow z+wQ{DB=2R(>u=-S45|RC(G2M)J>k*M_%lQJpIt~@@(qlP2AV%Tmq

z3KCu-EcSh2_(E(qS8A_ z#rdW1A;KMhD%dQ5vydDeuLk|56aDtv?+|-5(OJimrv!m_X?~FdQ1>PrT}M2kKTJ$k ze$Dv^0;uCq1wl>J(R8bXHq=1HG*Gd5D8qQADl5#Ea4SE3c zVNi7=^I9hqYfs^c=nn8r-z{0D3qT!1rJl<2Ue06Rk=0;VP#V!BSWO2|Crky%lt=M{ z=kSQMWn9dh3akDH^R5n{&Snt*vfuHMRQPeMGSiyrB%Z(RSb`3UuzK%vx6GF$4WQ}_ zR9O=nd6iqyrr^p>USPBd0;~hI(hAg7BnspelLpaW$093!!l>#rS9UMoEr12`6|9R+ zxp)B`bozAm{)~bc>DOVYt_9;~7{ou7bR`Jo1W@0jMUG=sqV_x<$Sa8aD+My|5vMnsWs_X76B)KI+pL~2#3(@rKKa!kFMfbSludOrnJ$?6;Y#_tD`yq zT`l7kTdXAcjj-7|$Yv(It-a0D)SF=SMf*@)RIfUzo^N@ZCT!0$ns_^(vYk(hThOM> z)UHILN^DQ+3VdS-f7O<#SJ&O68*jMblVYtj`oaC%Yk->m-{szZ`|Zr+$sbZ^b^dlx z5FD(*UQibVF4Jv|ka{`A!s#=so6|3p5&hk z&0igCi%`NdQ z0^ruAM{I+cC@sr}-Zken4^V&ZM$LJelUDe@s+3WrYf&WWX)>%4_L8NQR11q!#}+`< ztm~nFvKdr4WcrYXFRiodKwf{76l$$UVJU6or zgu%#A=Gv7}jnnEyjZWAe)heo5rVvTRhGN*CkUjsj59gn1|7ndPs|EYC&fNFMBJT%S z^6zlG=MIT2J;t;OGT99X-F9Wb9A8$(geg)q8? zd*vzp6^b+Pdl){{uqZ+#N;M`<HHGhOTx zcTo}Ilwb*A=g|^rfSQo5kEcRyBAk}^Y6evRHOvU~g2zsoN{Wi)Bg$Irg!@=4cz9Gf zeAi?~)dAE$!OBXAepFt0sg0A>;2zNLBWA?0G&ilTE zPcQM!kLvPE&!83*6nOTat9TAkYmhVqSDI;qNg7-X09C79vY9ei3&T*;36Q?} z77FV)+8IK#8C21XdMZSgb|Uguk+CxuF#Wi%n1kQrOxtVOubg!@(taHtT@650fLeYb zyX|o#NvbyzKo!X$0kh7NRt3q=e2_ U1t+tK7wqc@gnt3W-BkNZwTdI?>ggirUOY-Os51zwV`j8OIJgj2ylWr$(5p1l zMnwJ?7|0$y;oArDUHQDne|tzn=|2balo6=w4`=Kf>-~GRp-i(0fyxw>;8oW?U*##= z2@~EX&bRQm;gENOY^k-{M23+zbfE0;r@9OdAN^y#;ThBy_W9jMchKyq0IEPApJg`t zsm5xZ$D%-C|oOiz~gwmGICszH9;M=@COkL>YqimZAS??lTp;Jcj}TLDzFnfX-Tpi*`QQ152g_7o~C=L}SRnRncpzBK|}@rf5O$iyK28VFPXRV&&C z9T&y5e4{H`GIL5z8#smU^C@PK>HR4PRXWr;XSmr}0noYS*}Qa@%G!jR0aU>8d50jh zL3;_J_kk6@EkbfFEl`GHQ3_$b2Z8DQ*xE{)mR6YHLmnoK(bvCT&2d=h=e1x4Em2rz zp`+VTG(L_2RNn0darWXn(`j)p%e;l<pud!Md*`nt+~wY4>4JC`={|90gF7PO|)0bti^~ z*Re2D@1+bVcO4HBcX1W#Ut1UhsE;ElJwVkng)2h(%J7jnIzuvp`g1pfsx-_cH}3DM zx$G~xpN<2g8*l+>peSvnQ>XK^Xgt_TXI9=zr!y>kUIKh={!2n>SG*OO|7|)TY>{4L zuZNjD;Q*>E#`)K_2UUAflYHEZjFyf){14E}j3~b2x+w0#clj~Xcpu`2+0@i$WY}nz zfe~iLe90&#=GK4AIb7uu22=f8xfS6kX0@u93C&H!${!YeEy)MjT# z;*lju@31mRacqb809AD(Me&a$x*PgRd3umQ^xqzj+*v@~-b)(`pdO6;OlDdY20_;t z;+T&tUPCw245|R?NLWQdTdG$dm}(~eS^2*#M>%{fiUyxSH-ja~aG;!;9WE7`-R!x| z8b>|xG4Ws&!~z#izZ!q5LH-+87hwq>zVrqk@FfY2B2$||RRJl4J~&+lojdm+e4z;~ zRt#UuIc7!yd1f1IiKm%01E@&uLk4-^!mF*kYfcNUfOsl=;RR5iruI8@v;C>jfFq*H zVOSZi{rN-X001BWNkl(!#2rrMKX1q2{DY;Y=0ICil5miQ{qJlBH%Vu1!w(Xy7za7OSXCw8Zoe*G*& z1pf`L2{+nuv7n5wD1RrMgJ!05eHnGp>`EP!EV;&@oNtgFEy*YWsCofWr5po*K!H{+?+l`JyllZCF5uEq^k~S{0BQ%G<@LRgo{m%e`0FV8>5&YSA*NH~jyX|eIP_zx zZv=T5Kux7rkN-M9^y39?iLYi*wZfu<>fSpGt{?Fp`mij63!rKiRhGlGRCf+tY^Co) z>EfmV>bZoitM(60_oQVbbe$NC+ZQZAQ(Vut^l0xa^2&gB6-Ndk52gP+Wb_p>>B9X5 zXx*E`spC&+k5%mnAVofv?*?Y5Mvn!9!9Fe;PMp+$XC>h_i68AkeWvp6OW798kD^=u z#F)l;uo5p{$-)K~#q+9jl6g}nfWI)3q$6f(`hBDd+qk<1kx^Z+?kguz!)MsG6sj}Y zhRuZ)zjgq%PU`H`?NDBI099$k3`ECg)aN+7wNd5+R%!gEe-w9>|Rgj@Pdycw-zx4qf) z`&SvUZ~#?jpa$WjDZ_dYReSocCJzjp`npmde(q&JE|m*FjXR@X3E0Y-@6*rIc#@>S z`AiLGU@XG5N$khZ2^7NfMNC(V8h z&2<(Xe-vp_4l~vy$JK8Ae_1R32uZ&8StvX7B+U}b>sXx-CdAXs?+16GgV6J2Bq@C) zjVORBG$9z`ZGkCi%BP&3|Etl?Vw|Og)2yiNLk$nyHKTJBZ@q`IFNxxdf5oz4l~asb z4uMca9fjFcV~l`IriC)kyvbed-3+`?n)i|^` zs`0|woUis7Cl`sImW;N3&OXwOFeIIS+Mp!VtqUf#PHMiM79zwB8C4Ly$G#XHAU+;| z+89zfjd*(#FC~}rv$FpMlyT0-ndn?*UH3$96+o?rkQcB$?w~k&pZ%pPv>{(rQI6NB zE>6pP$9}?$E&C{b!|bW;KTT+b0FbkVC%B6tzR&(0s$&syVE`YR>_4>>U04e&$?oON z7UCebqQB$M#djx<{QY+58#eo?rND}=8P}V*qQjYiq@4j&eb!9;t$5YkCyuaygB z*HvE1#uz;EBSN>ab_ij(P3}8zuXLZnPxE2*EGIoFiS6)^u#TAdE13$Qo`tY#02%IC zpKbzK$(fa2g@yigyv*N_%X_q{2B0bvWMzH2WC!R#=PMdOJsMVl@|d<{=~8y`|C3MI zQbf1kp9+&z((ROI5#1^@qc27RP#d7!Rt|<;RKuBTP|l5IXlrlK&=Qts!_RgRB`Po< z=Q?r7p1>ZUc7eZ)I#kmlbR(Y08R;t?nx^9E*sc2>^#JuCUikuSC*UGJyvS?g>i{F0 zX{`WI_e0sS)fITQ0#xq1oU~;<@h3ig%MF*`;yi(#+&QHJs9NH?bAW28VCgZFk$T#j zt0*CzcGY_=3C?70S~7o)o05knL!mmEu^E1iR4f&f9rq* zRM)Ff6N)`f8>{e0nVH+zzH+6XH)sVN?d%HeL2NzoHBaptB)-gF4FEY>Im$Yd#kAz?HA# zelDl-&^b~|d_&+ufNu?Wz5r?k;;G@4T+vH))T*c#>PnnM^Q;FQK-FTQqHYar>XMrHx3s6^I#H?)V9AZyab;WQKaGUQ!EgSLiDTfrw`cQz1L ziuatSN--60Dr(m>x<&sxp%2WpZUBKfch?i z_#g<^Q>r06#r5IBAB7iCeTT+76vC(tFR-ww@F8vhs9z&!&xSbaz%$%VVsvpj$6}}j z{l|c;j38;-)?n&30jO*j0Gu|&5K_ZUYohJ%ZI9}mK#PNqR#aPI9W6q`z+uy#-rY;f%-0MrAZLKGfR z<~MNPVz{~bjDVz;Im~*A4uAv*09Bo!0*11HxH38GH>^}`*)M_Pol{~mMG>Z%-KXQ3xv|B%n?2L>#ca9m# zRG8{+GmN}V1l*41$eF9oEQpQ=Y^H%`(}r<0fWfyHFp+N(7rkCidxJE4x)3Gms)J(A z;`9}q&O~8pqVT2b+1oL0AwnL&dn2RIS}LafN@-^hQz-B|7f%L~M)Mcl&CWsH&1gNF zW{9ifXxi}S1N;lbp@nURb12WNv-lh0Ngg0h%|Oz5_#^OYgT3%dE0kSVc@^y*Jk*wB z^oYOa(&44lB13Fn6XM#+m(%K^XIMc1sQ2;B%@I6j5-=DmX-*^S+(A>Ykd*DFruQV%Oj(iUQbqo4>GM1!3ILYowZ!&=WIEvSBx2I0eJHR3| z2}zT=aS5*L%4v&RopM$@m@cPsXf8@>`rI(38$5&16dd%K+6GRl1e%7vrxZ-O0ok zB~<5>{w&%-RN{;zHz9N z$R`0*bLny@UA{-*Uw_*z@jdTsI^$Hz1H&*Ura`9&PJ7G5t49rS2+IZu<#9?{7NZvu zcRC8^WIDsq|y{F5q`{I z!ij&#r4#ahx1l;{AZsY3pPoU@4=$ZtOK87d!^#$=*_{xGUxCaaz1?cT4Qgk)UM1Iw zs4_G7)^i7dIY?XkE@EVlt?p2H)TF+W1USb~M}s=L8C@+u&MPW`aXi#>g}>uH>XoLo z8B_*eEiLNM_IGgYOSfLMoNrs`qRzt}!%YwIn(`hu2u0t|y6V)EEtF>ibyz`NisyyA zw_+jx#R+@|^?2#;(9HPW=lKt1+L&tK1TKf{?`8}hPCy8KM7%DS(B?L{UDXxyy!AmW zR(l{5eG7;YK$QjG)z>=Dj znNQ!RG9P55b10QLiyd8jQvj#!=!13X+xD5+a^wKi3xC0UM;^b?+IIof_u&ENh#LSZ zCox3l!P~>Cn;d|ukMU8ouXG|p^P8_A7Wlz@I)}aUVY0;`ZT{F2Uxeq`$cfrz1Va{u zFb$D0axz{01_E*}{HVWBBp*ipI!4CMGzFj*Zrm1acmlqHLQxZ1ETk`(Qs&dzHXYtF z7rI4fQ?&$us{N@ll%%D>Ha<(!Xi2aPxD_ABBl@G3{mO8X`iSW&X^W|U(V)3}P##8?(Ub*Q&8oV0op)Yjhp z*H^8b0pM$g_6s*|fFdXGxdaN+ooR4D`N^%<$7|zjFY!I}FZ)5hA&G z(g5h>VOBJ=4kjaj+L`(qd4*F#KSv_^;881pYu-N8%$!ozJP>DZ3>_WAnTbYG<@mHR z?32)JD$9N|FEh$`%hP--X2CDTDrb{?Rm6pN=xr%~_-^Ve!zfnep8%-)V3G3-4%r4U zHehtWxM@XHn{(ARydW->=U|T8*+)8u8BOg!?Z`gT>h_#KHOXE{rQk+)GtqY}pREh? zk~#clAQz}?r%wA%Z)4VV`WIMdyu1KGp9@e!qThNZ(-t^^Fy)8?wo3`44-ZjEXwv%$poTJJ zgBVB}{&QwjCqdRv<^fetD;VF{zWrt*p?uW1l;ZF`IWAC#d+4kLPa>_y44}qn@WGH$ zCi5WAJ-4 z4G=&Ldr&QHpMfr#K`n;h-+`AmsPC5eHl_VFvmygZ=2VCDEQJ?9)wJRX^w`=`6y?CrmrcB$$oB+I)tLDVg)+=`Z%Eyo|l753{ml5JjVy_Ku(Z7_*szP94TibZnFW z>aYVzlfD^?!7F1I+}-dy7tyHMNbONCM+7Ood{(Hy(#2n*>U5^^FZo8Bl~sDW!dn`l zhP0!)zMvi|ss5J;Kb`XZ>R`g6dYIj_5J!0^QSZJ%2l(Bq-~ssADZNlBNaq#us@4%v z#@_@`d!im)GEe}OkYEXo?Z+it)wOX&Y?nE95R-22XmtpKoe!a25at-_By4HfPFNii zua&2^`XuEx0yJ+O4Jje>eswYVAeRq14!$}EIZ)>5FgJ?*6F`0X7SuM<>_NPm95Is( zof}U)e;Wo3SJGY^r{Os=PRlWyj>)y)t7EwYP%Fa6<>i~1#j^8D)*t}8GYiV#RZAM; z&|RaqnFI2ui2I~kyT$uVrzr=Hj5O$5%Xk0Tu61wZ};#DZOq`rkoB@Ra)0N}51?dbX@xtdy$i0Lhn?d|@x-x14F}{nEQN{TP zGLZBQvgT~+v^JwMR-ptAUR#qiTY29)Mxfy(C&2f3RD+hRhcSjGnUxG!(fK8}k(UCe zHQNzg@rfo8AX};xWFaf~bxweG^$9+Gfl(Q2E9R4hjm6GvA1YzBjiv^DM2d-yqY<0a zjH(tgZktabw9NMlGHycIHx)$9nl$}kA8M6${{9|#cKrQi@b60bv(G;J_SwC%FpHo_EqRr7-!S8;PW}y?zi|mG zI#9k6r!)1QGzk0Bj2Qgb|)bQ1BGzT;*|cSV@%7?^MdR0tzuNM(~)nRc2>Uqg?Q zE%pYCURfNBNGhSxA~Sn?arK<)Vx zM$U(3zt^X20#*Q3e3fUJ`QISXfFYfzzk$Q39(w+s`yy>IBqH$I2o4bTp%TMpLY|}7 zYl*Lx_YOM(uAsU>d9qpVJg5BRdX|6)-U2;fs9*%jrWr^IFVk^g!m{QY!#Tvyp57Q$ zvc$LG(ne9ivFsrsuOgUMJ*E{EyY5kOwCQ~SX=*lA*8bLxWl7=G>i3_9+)y2pBWd(Z z`%j++XqF=c&v}4jX#kq#lQY$sq)8VznpcLfzBUuJN3*)@^f+q5jOmVC6D;oPY`W*a zbo)QZ@p0 z%;o-m{PFn1@jGKih~)^%Hw(UqYTLIe7s{FjsHJ@GpAlB7n?sto?&^cvMHcTHAi&ns z)n5OWLF$<)fEp5{Fc~S0)<4`HQ~}i85R96cnFAYHoT|^`mXCBRREahjzD0l+$`9n+o=H zrpp3a;XXd73;lQqyw4OV|Gpa<@|W}}`zYd-!51HXf&+9<=EFKlBlTekzlr|8teCR< zxXTFp$vf~JKDzh*F09c5-h%jWx~)m2>{1d{Huy93@e~iTRF*M-sy(YLm5bp^Ra!k8 zR!KR4I-aYn{$5TT6e929SPJ33ywjPdRH}DbfO;WMBr8&7voN8N-Ms^-7PLFpb(;o9~r-5mYF1Nz_-vBs4$G%1rf}bWX z#NnzHDhmWqr{~xWNCkF9m(2vN`1$N!2nZCC2B;P|uN=h?%=?7X^8*J^9kjFBdO$xn zv#Qyiu+%pIRGs^n92utcU@B?H>{F!KC(&1J=rRpp)8Wbi1s|hm{*0g!ZQg0`mn>%% zOSvR_0aUqGkd_Ph6;T75X>dO+q{ za<3)70;oEcMgUbatwzr93o#P=}Be+qnVB`QR|O9RxS zDYN$AVS?Q;P<>-w`Z}UVwthxGz>F*WXxKovHAOAI6&|*sge!tFf5nIZ>OGKk&plBC zuA&|RntW0;AE4Uf5GL#YDV~@|kGz)!-?5j`7Ua9z=^BfnKnhkhs2N=P8o!iT;QBvh z==$7@0TEg74KuHbCgVu|5}=MDwNnA7DGR=_&gYbSPm(J*@xo5{76x83Sn$m}KFI)T z+(kS$zo6o&;ztlUuk5VTF%$Cf>7lT9|Nd5E~XWzYi9se*~`GfK7CmkgN}Ri9ms}v+zhG!YA8xAwm|7@Th+9Tyn@S6gq|o9ON!pyHU(J&CWJpl&(+Zh7pTOsex#&R0IDsz%8R`9? zvi_iD#qE$l_1mMIP-Kb}%_41GrTGiQF1Vi#&<$Sr6ZC)&Q*B{g5T`5U7eJN8;?CEi z0Kz=&wSI!CWr z#Hwya(-JZ+Qc8j_T-$%T8qHu!RB%`GDDFx<(-t}oyb+3%jx~_0(KL3msV}slj3OF(^wZ}NmF%BLimG8 zmC-HNR7U&rX(NYa&p%D7A{Eh6;gbfD_9LHVqW8-((baYQa-EkIRxszTCV=bt|7 z&p*}dsrH|y<8(wuwxLT*UaeeQdABTPNfk}@cb=SwA3*(Sxo$RuGRSqBalMj9=pNCp z@z3YI&j+aJjL~oLJ@6Ocr4!{ldZNAm1W(VfCBA3k_rZ(e^2-xyn_gy+fZlD^e(CkL zN*evvB4()bFoP<9`Veid{ilaO-|DtGtw#95b_g=YoMa$r)^Y|E5NaKS_d-CQW>`U6 zMtU+JB7k}@x_b$PvwmaUX!E@^o<^6?qtG(NuS3KQXiDP3%YqYVxR-?YpoS8F%F9sB5<2}F z`c~zxPD3|1;sC_bBZtPz*>zVBW~wi z8CAA^5+xPBh06j|8C8Pc{TBf$dnE{e72(rVdhRo;uIIad{+`t-#>>gMKU0JZ#f2T+?IjWz^7Z3wlm zc%^D_q)jb_H?ExS0jg7Wv*jmkOWx;EhqRW=rt=Jj6hsRmGQ!}UrP^IMsCw^?b%{c+ohiTu_so(GT#x)?Q>Kp*IaPo$z?$Pj0^@WtH zLGcSA-EvmEs-XI+z?TJ3-vmH4q3?Bo47CDUW6x@(bT=$7%L3H)CA?H$ zRw6!-RylU>0GLG78bGD*+i}6Xw;&4JFq`HY$T@5S&>qxA6iRzRr>n|RE(f5}#C65& z@|@C_Z$a4?QQca>ac+MHP}AR#AI|_Pyz1wqyKj3w$p>ysS@xkT=g+3j2P@n%$<3f1 z4FfMIAw@A>@i^b5(|JgK>Fn6K-%;mu`}SfhI04elE$PzyuS}DJkNh38u6N$R7U?J8;IoznI+g(Hdd_Vh_cr=Rc@*D#IzUmClP;xl6QzpRgg#3M1rbpEfQHkm zg`6X16i3ddlTMEAm?`DwZ?`yr`qPV|n5|7w2{oZJPlp~%ALZl)&3-2Fbi+3WfZDUW z9WxWxO?5gI$T7B%xyzp!;poYyXhgo@Qh1b1Ux#!AyTTr?#)@f`pvx}RoH1yJ=| ztKpjAXQ`!JaC=b(@xDL9?VzZgYMUev9~NF=$Eh*6QM<+_n>p1{GG?t;L11H>-y(b1 zO|jURp6L}{fL1f1o8P1*j-m_0BW$!6Z@_jkyrvOF?aMpD7w8@IybYzL=m3|7_Q!9b z&)8C61hD{WAtYcY?kpt&XN<>O&p!L?==9T1|KU7Ts^!1SRqfILT{-_>j(Gb`8PZ(!)pdrOL!GVLX2aK%=a=+CBu)KP zkR&K!)gyIuj`r5}8A-aG^U_j!II2b4*fMOg&%FC0=;cml!M6i@O4CdD6m~B-!l!Ss zRFs~JGe$TX#Y+dmYyW9`>WA-%HANgtd4<8|xy&|3)1RKgNaQ;R3C;>#MbEI5#B#+LaO+O%}m*=*{2nP}7G%4h}qPrD|k)QR$`nN>I-LXufzyWi;?KmMe{nIr6}jtt-r`CDwC4Vm3A3Z2`DG$I_!GAI(IU zU})*sgD`Xy1Yp(Rj{j4YWq{Mae8_$p+M-)?gf%mu)dY9hiK&(&u*vI&Qn&xq&OfDm z`Jh(d^8|qFvyj0SnqmVZ-Pb|-(@5ebeCM>1n*TBU7YKeIe-HO3;g7-Zho6PlURJqK zPF+3hK-v}#c1yCP- z3D8SL2%u^ltFjdeGD2;m1ekXMsE>}LE&#m)MD+2 zcZNma7&%T+H*KsHZ5l@-c17d;IRLdTg=>JH$4h1+T}SrOWW454_@Xw|9=s2YpjM!^ z((T{&;%_dnGGV)Qvl3&e6PNd0ChersY2B#U!w`l?a zQ$-B`HD`&hUgV{#_)7C0m|A_RxRA2dPSH$~fsdz40H~wr(w*QN`ALS^)KzLCg@>$e zp2Tw9cC7dqOq0`HZLvjl`S4hB?|H)COubz~y$z&ZU-=L!H*P}aNk%MEnhJoE9PCe5pZ1ztous_JMm`Imc05;u63DL}6g-$#`l?7i}k(CACdNf)UCq@rJWVovA!E**`bn9JAd(+?N zmhk}^=t(=@!P5OqakUTS?lAy9i1bYO5=lq9(766MnYamPYdI&`Q1!ezFK~*Xq{3k}qZ;ftt+!!4V@2+q(@>`}grq&}`2aN# zo3=95C~*MQ44LD#UB3wfFIpYlZ7)O}*_S|^&3Ik_uc$}=*RozM6W;tbT?AHL1A3RG z;F_c*tH2d(_ljiIn%UGL2M>w<@P|MA08rJu|BVjH`JeA5OqdWYUJN0dy1W*T)*XwY zpiIp!Ha(d8dUPVftcIE!9Z099!$=Zths7;MDwOO`CnQWzuC#Y^H4Lfyu~4i!rx=$y z5=!AR-s$X8?N7DmfvIto0i~5NAX({68(1o)qsz+9ddfF#BHSIRvJx&&QNt3=B&i&L zdWb8NhI-^G)}->IgCqd;9KI1o2rqR4CzLCcjovqte09W(W`%W>j$C-{Zw%B(v6m&d zNzb#625EizWgJ580c{dqaml|=YZMWbwJD#t(YxDVgnOcdUd2pBJuzrG!o~FZ90T(% zq09zGF#j~3I?+hvP?&CE6gNcz!q74=mizeW3ul340I)N*5)Y=R{ih@Alb1-9G%0_2 znQuC#Hon(v&Ayf2WTM@#bo)C1)5^RB?!`! z0j_Vo3b_$BINjfLO(yyh#C83R#A7x$slIHmB)lF;P)}!x@1LHpjP_~E2stM6bx8b* z^nvQ>kJ3FPRmM>^qvvL#R>;XK0jN6vw3;j|W+$3OvR^ZcDJ%j}@-l79hEAAsZ+(9K%F4h*0wQ8{&g z6^aj*;;Ah(0;t1}0B@150P5!Eun~0$ybR*X1%O(FLUHh!)dN&fI*SLQ1#iK2U|BK( zQnx*mk~E3$sV*`9yBUDGZX5;bLIH>HLE((t?);yD*QkAP0id3S23LZTlFY7V+uQn1 zJ(RD;Xxoo7;PqenUmHA=1{>3;|R(}D8ld>*p+ zJN_Q`e!!9ND3y_SZE3l4M*vi@E*baT$qcGbj*FJ=W-=4F`(lSPsHxE0sxA&74#!@_ zXX6D>^QkHuLw8kYQ0-|T?Ns3Y_MF3u@VDZnw!c$NwPQrV7?Gg=bj3ZQCvwvL@S zh;PUNsIHv$JCJuDe!bEMU~xjxQkl`s7&Xbz7I=$NA-jMhzVEY zn!p;uY^uWl1y$$#pbn)EUxwV)x! ziKwIexGI7G>iq!Cb1nwxvubEL!iK8KUl4AkZC--GBgkbkEJqf6U-&yL;#}%Kb;OJX zOgT}EvnHh;t0`Bn?n~P+u6rVG{5W=D-i!8Z~ap#6xQa9#H!%O}y$<`%Jf! zt=eDnQQ@7vr^s8WS|(njrtMH|dDao%j_36tqBXB@e+X=s{;aL}G1a*SR@)jnZ%gwP zLTuXGT!1pDJ+9lA@}HvX4Am`4w+R{`0JT&5PSI_*-4-=y;Q3zi0YBV)-!IekMiQKI+t$cTTmb!Wh;_K zN|+?lI^yWe(%p}P8sYLLr4*jdIO92Y)v++)xzf_T))%cRWBvVb7f;23@NI32Oogwc zbAA9f-j1{?g5qrhN6IS=1E}{S&FBS9={-T}YPqnq-;GFKxeUE&1sZagK{bmL#22zs zk~xl#H-L($*dJ-rgYTM6T=igcsR$_bnL043M{lF^(OZ9p;gVLAH3^dn+mPikjj5A^ zsQY^#=CHJ@VcKxc^tuF(kFIT?v+bX|m^7_A56B!TB4O1@G}AmW%#Ajv8-5czT7& z0#xI4F#1z(05-=}MwcGItSkFZo3dnSK#BG!xpecRRaO9M$?LjrGEqO2qY=BXlsIg} z$`8zcr6R`OyFPMqE;Gr<45-1*Jq^yn>_;$QiQ^jQEWP;Zb$X<(EVM(KjPRwe3Ut4Zfp=%sP$i?*<)zPJQdV z@28hQ{*bf)Y8$$G6(=s&2H`{(5PkRi!v~dIY|FGrSwNy zK{Ke~y{`Jeb@U1ycc2$l0ICn%kP2!>g{)%qEyOo~`WG4sCZOpc17p^ArKzg*{%t^;!OlA*UK4i5~I@ zOMHJ#92%~QQ@C_|I-V_f$4X`}l9UsNuwHk`1*pS3LF8qi+0@lj(7r(x0;n4xiXP`7 zGg9B0Uwr)!09EH=H--QkQ?8Z}{T%h$;0P$>B!DVLus^&z+3t~_C~;P=g^(%7fNr!C zZ7Y`(OoRsA$QajKFv&DPRoKq7^$IjSS>=?|tcU>WPx+P(fP-pQ)+ks-DJ{$3oOZ%& z$tMYyl9?lz^#T0_vPuI~y{?ZwEDN)mJrzKGh346pPi$cybJ>5mrgc2HF1PGa064R(ug_GLmFxtI8=*pnw0!W>6

FOnY8s%XlMVNWL&9&u>+k%Oa-2-~{-l=D6LN|Y>cj)o zufApL;;973=-zf%M-eiK6HcPnUZq@l1=FnLD;W3F9@MkW1rY4Uu`pyM4|VL&^#L@` zd=HQc4(fZ;zXqrj$(9Vug71cBvEX})v*25d%nZ6fVLz;$W7KWK`(o~Sl}&v*3%=0y zq9zz;o@(s$t$^kgS33Rb^n+RA3lFPF2S|mnZ22EI zYV2lHpMN>Z%!W|!p{$qCAju4BI$`n1@LzoyT}=S>PRiJ$Ez5_|rF)gAvFW=Ivd_a^ z6_37LISYU~72TM)2|(2cyYkqL?wghnz1CKEJ^-*vLq z?9>rnTWME(j?6Eo57$S9CtO2#LM8DEdk}^=vh1tb)$NN(TQke^Ipzi#bj>x_L_K@< z%p)|br61h)Tm$Oi|D)YE-+Yt#?6bL)5zW#TE$)Y>lS+lvOlI+}j(XQ4s5Ki||3_KH zVAVTt-CbOmEhtt?p|Ldp)L8(!wtWc?S2pF{)1C|~HAI^YOL!CJ$9n@MU-{=Ut5EEGw1uDPL`Rnz>Zk2|$IR*b?7EvgHi<)Q3sxj8_5Kd1K%YNH8t& zHGoQT(mzcZ3h8py665z#|Lwqc6djGkw;~+@?u|$~a|+LIF~Fl4Oy>#0%K*x$>?gHD z-@S9e+#el-(3}|!X$o56J0Fcg23C$a0;UbwSXhBZ-o?C2v}QWHnDq?ycU=Ee6!q&I z#mDarsD&FOQ_4iqZ0dmYY${88HMZ_3v1aFsWX+JpU3mDo?QxYpBo|7b|M^lnZpZh=ABo=^kE}>sIy}@A{S~k3`8l3X zFqfpQMnNg-K*M~89KVBlTZ&$MHu5%XdCB=kaX7-3a=q?t2T%|0%qS~hR!gmQtb{p~ z-V7{8BqM-2n{=-n5mgIN6}(G#!oY$az8`KxdAbaSPLx;bW0W-1oB-4{V99Q0QeRZ& zLRi{&5LSL&ZKIp4xxXN)?81lU15_bsZI+(DUe=W0J?ozo1%ZCe>bZw;p>NLW$8YD&;O!lYd*K7zs zo&2>2H6NhreQrMP2%Tqmh|GvC#(zZ^_@TK}`r7CO8_nH=I*jTGb)c~L5Jj`8O@}~0 zmpOpij$YJ+1T1(6lvjRPYS-~%0;siUXUPGD*R1siFS#j2MG*n(zxECHJrI&erIXzH zo4MtnwsEY}M^Oz5s)~@~=v*72v*!pa12bU;RbiBjmJ)Y@Ps{q{8Yup8xPt-ILguzA zZP{Mpe06LiDa}%}{TZtn0AVW-tNBi1r}RD7r+N-@*Fc6!Mt!XWQ9qe50;qlW1vIty zRj9;5)pJ`(KVP^s3s7~=@qxtsx|C`|Os0ZzJ}9d<-UgtOUI{=p{nEnuz~Q#k{b<-LWe!DBlE zwWwKC@v|mTW;{!InK4Z}+a@#`fxJgsWbhm8Cp2LeD9kJ6~i zz}-m?FltVjs7{x0nNGRC0-yr0(*QLDOTyFdwcTq^)dTlO(a>QAHG~c2r(E#@2T&WH zRuR=~@3Z8+_Lgo_F}SZl7OwvX$sC*ls1!@fd7E-=IS)BbQ?;im)ThGdN_{Sab{h9U ze}HA#bHYphuBEDLw?LIf!Pv~_EuTahus`)NEg`Rj)y0rN#WEg1SMf5p5A~E&P%3|L z|B)JyTJ=BLz542_(b~0eHyf{m;_OgmSYs`DC`|%i`+K$_h3X+yOjE?IpT>J6NqsoC zmi&qe*U*8c(@EPN1(nhpjQe}qo9~sbcKzuEjG(CV1^~NuK2#5PZgD7@Ih_wekIL}N z39|ve4F<3RuCHao6|0qdHr;Tq4d>c}S_ciai2!Q8Bq1H`OV!M&&eN;M{jL{yfa=Ss zYQS84lD^JB{qSzW@-23r9=%JhCK|YAf(5Em5-w9nuO5FZN(GYah~X)Kno3jgb)b9; z0BRu;{Mnb7s)G5BI-R{oU!+DA6-Nq486FAgo$Ud621|H1PGBF$u&4kd9C3j}89rp= z!`f^rdl)jzre?~%L$J(dU002$AZP!n|8^qhFY{GiTfPFIURxOz_d{RQGYE9 zhDM4(YXw0Uqw4bAtny5B(QTDcZ)DZ)hG6yA%S;88Z^D7u14?pdQ?>u}`ZqJt7s$Lj zvC7y*Mk0LpYO=6*>zQ@cl3*=+y&cRl7*a)tOT<>l&jRBFf@k3G;r=B2F?h|m=7&?* zdORP@a3Dje=qUYcb!|N-M9X69HsFMB`HP^LxdWh|B_0{CU z5K$ItKkW%CNA?;( zrERt%$X=h~0P09EhL!~8&!7_8oNU#6G}(2tPJ;=jyiy;dZ~qQ2mb2guCm_3??v^!b zkwpbMy)68uos{=A_tn7SC0{-m%{pfUUms5)>+`%reXOp~pA4Yx7DXjgiU4c^iufD) zT88ki6K)p#^XiN3sHjLI`r1@0r*PW0zl3mf_h>$0pC5-snUNl#rqT)#+LPZ*Ds&yZ zPBW}=E> zIcZGVM75bAj26d1h!AujcEw45s{R;2r6(IeC9Fh8uq3QiFp?$TP)^j|@3{ zIK)Oc?Paqxa}q_ILTqCnV-GX=ABxMln&fguYAZh?(fRTbM(EkT2n+16lUXcSF(nJ|und z-Vo0Q^ZDw#sGRf8isHTieeol6ZDjt60B4}$m%X|kyk9?kX1};T@x7ZJQhZj`P z2h9RDY`c=r;OGN7Q)M({$PfEat-b$)ZYPrTKUgZCwU+um_uNGO!H|r7b;qy8qe<2u z;J~Mr@~(N`?L#$c<&!iUxd|yEqZL~JDT72>0=A5_>i6e;8;7kHLWpaj?72|&GCE~T z6u24);)Znkb-Y`R|CZkH(Nj<^@fM+(uHo4hye%CjJ5l^{RPhG=kbHx97o>z<%HtA% zibTqpLDfqiMz>neAmycY3E__9mA>0MwN#_lDKB{I@@4@KFb+lQ( zqNu?3pN7I@uQk|A&I{2ZCOn(fiZ2@S`0$^V7}pASK-CO$K%0o zmbOSTd_(?K;vI2l29hqoQ>4U6?`w{SdJ-pH@j*PgQ37W5($Yn6XWDa>M^4Iuug*YK z{#s#VvX+23^#f^DmVnRD2_E>^9Wm3H1`W7RVWk8vBfbDC_8OwU(#>a<%Q`b%5LU7y zfI6QrFQCiFIMOb3`yBz)rId5Vy|5AFcL1n}@Ti=$we{T2YxB+k>SF-Z5lGB~;4?W( zx*<3L)G)BMj>5hUu^2#ArSM^)tLP>uAF>$pdKuau{>;-(wXfHWV@q%*z*bT>^ z2m(-JhSuX)vgIuN1EiH!UI||e1DJoilQ--^6+q>wPf%BU@)wP1+4F9dOvy!VxvyqU zXo75@P!_HNsG3sjalGU4N=RZMhz6}{+3!#~+Pl;-a;S6$jEx?x_2{(-s{zOSq_sZw z1;Fgc;j|x}Kvu+LJmnMeN;@g(_mOvJXtD&xlCCC86ImsNwhgjm4m1g1h}vfr*+K>} z1HV@AZKZtnBYf&0x-`YpCrd%pqMr>5T*gu;&D!tRELuW=OvZ9~osc;9GN$wz%%~R4 zQV4&@ajAgXFRlr!{SoZ}pen4YO~5n_RT^S2?eU>|@k~Hc)^s(4ddUHF zFT|==VFkT) z*$kG_j5}T4tGt&nFgyMR*b8-B0_oOda975$zN38Gbc~jFx&vw@29hdyw+5lKeG%;H z5}E+AlT*0-BW9dcUijH;W=`j#vrNa11xL)pm-Jz9oMUGGB|vRKs#x{Kbg=-c=`DAn zw;bNfmcV8vpl7CBCgT9AS(5UfU;uTeN6fg=o57>Q2E#rcBR}|&8tGYh;*EE*G#G%o zTZe2;+3Io6^graMc+b<%{{cU{63O}{D??VHt64Uwh}=8=N<|t#Ek(dl`M*YwJCe?j z9zawy%^o|!aV^-}Gp5oKgZWYa-uDhSUjjCD`Q6q4=3toFo*|KU& zaZ8catq+v0mz&12kDwFYHz#f=r)E|KNSpO_>ToTZVm17wnC91vDke~(3aUx7xEZRl zMn}Re$V8p6r*PXXKkP%zHspWiPHgyptaD3!Kc##~8VqANs-xpX`{U_UItO(#%39+= zP^-8ZpCfC(Iy1G|k^Ggwch2K$Z4cffo?{8mcZYqZ6J$Uqi^wCH#7% zo`j|V>MVLgD>QUJHFiNxI`bvwoJb%yK02S~qb7N8~!B9)%) zRlSdVkcgTgHVLVud|q^38=;bu;_~_*96-%E1Jxq9FtRo*r@go3AHaP6%JN>U#T|h0 zqGXR!Dtw5CL8VMhdTlss>!NdPxlCN2`qq*aS$DIr8l9tlyvwXy&v{_aF+}Sv;Wbfv zNC_>&qlKiZB#9%5uS1-lrOwW&6BQh*{ijKi{zehmlR|#AylB)&>xyfbMg1HedUruo zi{-Kkr7xzX&9$m#Hg#=TCi)DZ*>)H7IF|ReD5<7U#Ffq?{;8svMZ)Qs=w@bX`_Rn4 z9bFI&I4I@_GnTCISw$!-TA7pYw7mC0W?Xe}{MBa_L<4&=>#9KyzD2?Fqco>_Wyt3q zEC`R`yjPBLi$?64-G5qL9OWtS`0lDqbQi|~oYIQ@r!8W)|CFk4yb%LSghA}&;6e8K#tc_f{Q$S3H7W{pAf9(;^bz z8y;cPJ$k3s2(;|4GI#t&8HJ#a3ZT}Z01BhmIX)feTcA>)hA5Qk^PV2*j;sk&y@O19=bW&RWgkMCN{lBK|$5W?VD{q3$o$y}( zs5BeEGn4r{1uG-Y6?mt`X7^q3RR%))5$yK)*=KjjKiOML@Ct@~4oPTy6r^a(l{t|`23 z`6ql1Sqq@rpw39Dgm=|B0n|4hfc)uO$DcyW5;ytG)b|RYzD#xZ?GF#?kV=U#603c> zyBWo0s~DSkBRhkdQ)P4wF;Q9kO#@WzLG9jxG7|VJcu0Q!VFp!Uj-Z@5iz0krUBYbY zpWb3X3x0JGs!cnT=)@@yYD^4ow=sIWtcyR-H&3Uz&OaG40vE{bO}Ac-k}cyLe5(iD@9<$XTgTWe_liyAI3Ga+w?`0e%#HAB82+fMATa>yasuy=zI{SE1NE`d zDiBq7EJg7jUym7B&2G(oQfCo)4H*8=8pC#>V?kJ}=@56r zqjrZ^p416}2mx9!AJ!PAfU(ktf6avlJh+}gF9cgB!gj_pqwOk=+NNXI&#a3Y0#LU- zyfrH714-|yI`v7W%A=WN_01X-rCvK{m|8QZTHdQ&6%~Be;z{&<=&CM!L}{2Osf`Qp zd}{lnNkiiZJglT>^Cm)1^g)5rP4qDhh;3R%zo9QxQ0%o+p}C&i^IT`JRuZNjLi(ED z|F92Lt^S{OJL}2+>9R#`sjtXSsw+Y;f|_g&25QrKfGto{qXAGD+Nv0j0P0GlO#{G` zj-N5aBZdTp*MoyMK(gqWdV#!*F6m6wmOmj(ZMY=Q)nG44{Lj#w~5}xW_l?X#NW|np?V-pV7 zf6CMqjP6VX1EZihWeRn}wKnIa*725ux6aB$%P?3})SD{(efBVK)O(xx44dJDj+&r!~ah1+<0lu-(v~$&!O@LP61vsz8 zAAk>_SFyskgzJ2s-GPVaM;GDwq-wvHX0YX5$Pe3}dLF(5K5-N)S>8(``kYshhtE=v zcEk+N+Cye`>?fHgW#`#Ogx3W02OS5aeO+zTck&$yT9Za8s=ik zF9Q+P0@S2Q_!z4dc$3;s0ChI~>3nMUTT-gzL#2!*;knVh)*-$|znX=_P5`Ph^ zq$sW7W0zC7$*(zpdi*F>nl$o(bV(A#kU)B^^lT0gyoX7-%V(E4?vG>(Xc&e zpTP{(=HAuv$JR*s(+sKrY9YzxyXJ`N71J2lnd$(l_HAnbC`;GbTUFCnZ#iqfy%9$} zd(kCk`oW?=-$WHa{l`NrG9v9=JHQI-<>!j(Kp$_*C+ZC3HZXk~^O4IVdnvq?RM#tX zr>`M-@nQR36HsdMHt>2^1m1D-X6IGfwB=u)gD zzcAUPFc>Y_NBvT!)sV@z$Ww~BQ>T_M$MWw}cL8iKrpU)2k8;pC&yM4JzxY4wop+p7 z#ohnU1(x1>-(94mq9RsQu*8aDP1MBR^4MZ*QIjVz#fUW;HFmMb5)1Z@fTAL(AfU9} zrHk}k7M8N-_x^lm=G=4dUQGV_h3EBhUORivJ!jgP`L@qg(uBPEvraovp?2_Hd6@&K zO-D(rxWZ{HehqV|s?f-_+$)bPg>jFLj=m!W?GbWve*mgv;tzb7$(UYvMo?vg-10KY zu#E$#vRk|pSdC6#6QzgXty(M#rufzYsM^8zWbCj}Y$Tb}Q5RB4m6Y3zj(j@uC-hqX z1rdWx)Bu3yofin6edz9N#P*42T)fM$NqPaXrUNC}f0QC$QR@3}drlHvCUpZNz z(bKkQMNRQtk4@B|1m4D*NXqk?SX1*U&(ZT;;7gHyd%_5u%IRdt`TvCX_zVN6Vg|gf zEooB8kPe78iB&yQdMkLQslP4ME{`ER1+?@Pz73(TD!Dfbne;b zMnA4Yb@l$={x6Q*E?su2FVtl4V+LNr2V+K;Eng$i&;m^$WigVvOx8{YxgZ2=B+@gN zc1|q9B5i@TlD09U3cnGJqm7jmzCMyZ7*>j>QO)lqyiUvlRI4Rrth``m0o0a5{d;>! zIxwn&)FRGnNPp4&9-yL417J=J83n{`D8n#7s<%MfwmS?g4tEMXZ^7IRVbw~l2`|G% z0Cnhjbhqy9)8t)#no3uT-ZsKhMsD_c&be24g+3>{xDswk7SGM9H z?dDPZ5p}v!Qb#Tup+1I=`cS3Ks{xv8ILEZb&lzDn0R^aa12|+(RD#bZ<}jK%?T$E_ z$MG`912p&aK+_@?aMJlwbJdL2hT~;!VzjnTYU75sZ8Onc`(&bbI3LwY;DxA0UB8|e zM}K;-HrfNb_1d#2r$)aaO?4S-4AlqC$ypmF{pr2fjzu}DzcX44?fAe!mZu}FVx7>f zb@ud;%DK)$GmPd6CqzHThYgYxq);B(Q0ce4<5Qw5@G^g~ z&#bFREtUQj{l->|FxjJB@kiiMS#`cQ>Ah^87*(Tep8t;W zLsHk2q6@tp-iCJzA)9r4tHs5}5I}thGX9>hXY--SEG4}Uc?f)>f3^JPtJxS-+}jzb zG?mg3K&|P(4dOz|Gyv3jggyT^h=*dE3I5I&7+ zvSo2+r=l}#>>p}x0)lAgMo?XfNo8bj44}T69YK|z2-MyN!mFeX)%j?SymSWl*DnB0 zFo3mQHF3NXS%gQbV{MY8HK-TffL#hlX`Qf~ruk|lRZhiE04n(*!=0o3JdlipaCRx7 z&EVn(AZH zoZ_}nXEq2X^7AC9DZVSIE`9n42}SqX-K732-#0OyC4VkJa5fWJN$KE*Q1+$pVTG!l zbkhJ;Bd8&-oJ9Qx38214bqn~O1Q|_SKq$%aV!VVdtZt@HLzj-4`_%~r0BWcpg6>T^ zYVS$ZrJMlj-Tz{s?`L$*{sLKq?y93GT~PO**Yg3I*Ix~kqYTGi2L|HXmok0#hn#le zoy5$cXKp3l#mK*H95GYG=x8^{`t!%YmH4n9&Zt!}k7<0IJ0m(46=QfST(G$c%IkgU>tXVjt<_X=d9} zlwca5@;cKN2G|SYeG{G)FUKOHG8hWper*bCO3?)uAg=^aC1jIk)V+RCe=$U;UUc=8 ztL}9bKur{eN(J$$Q!bvvJ>?JrECf&$ln(Z2*_Noqx^+=&=FiqgR#ZI%%k+i34|23@ zd1vxM21wc2GU+eu-0F`&ac(W;J~u9hZbQp?Tta>wXWhcrTk0C^OJi3sOJ)P2VdMILH`Z@Gd7{6 z$KMQxev9G3H!g$o(s}1av-J_<8BTii7K|P36xS~+c=O_AM$rZ@k3$)7T+9ofM)5x< zMwyG~NgUY2#ZmYS5+&l>@>Z@`@74@PApU~z9NG@$zzWUg7&C2|UbAmw&P}D@9$cE-~>=#c%O}n9rr3nf9s;wejR@Y{zCj=c-2^b znL<9Y=N`wSC!*naabOabA2G^I(|fhnQvmh;MU1l0mfFF$sk0R~oRUBWd0 zR2?yM?j8jIstV-+YB}QM*>_NE9o#6YSX61|15_Ej+SO73_1H5or0MuZ0+{PQ0D!Ev z#jVEAs$lx?=(+%PA@8tb6CM;FXwB881x$!6IK@|DS(Hd+Y@h-joaIJP1yD7F(-Hs^ zLF~Ty(4!NXVl)J~r1Uic_Rxn>RJsdj`V7K)G;fx<0(jRL!f8eP7aoDwkr5g}4O2uz zn0!`QJl~C=3ZUxjQyo0F!ywSXmo7#Kukr+dT0YZ_pc+8+0g`mN=?pbpdSO)CK^rNR zr3#o!IS!!ymG=RlW(!vcpoUG7T(`;JNc(vMx%tikW7=H}VpDt>L7+Rv0or`(RqXI= z826L#5GgwVWg4ix!n<@l?h}CewVUFb2B=C>LuZ4IWUeRqtKI}qKSOs68s!0MUOBYR zRLqzLsG8#20Rhr?R}jqSN)_fJEwl1)BI4&rUn8gqK-D`e!8Did2SL9_IR`*{hoHOa zK~G`IZn_vkSI^7^pdw^+hOZ3UhWP%_#B>-Hr=5N4!MxR|*+x`XQK>z4WI#}sC??CU zwT4W^XasMj&r4M+hn7|~em%}rr){Q0l^Y!4I%H4!Zq*#P08o3wDkBczHSd*1Oq~g+ z%IUWN>iy~mfR&1nBMXrS$xDB$ivd*9{-)e51<>*748pmc;~-zn!rqPQ`gB1Spz0jd zFvT~NUuoIBe<0cuK%Gg?)MiRK2_2)%Z}*BagGB$Wqxe~-=!!n;I2436Tt@)vQr51bu};~~@8Ihy zTCpsq-SAAi_?(Sx_8{v>YuHFqJePOGOr31(K`MWLYa1rrdbgVzeADldy|0m`8R@L@|!Q}%~_tf%f$d2EQ`qoB8^EWWr zE{-<7p9@ff+znAQA#XEbn!yjR&?W8oRVtnz%7wqaQ!Ga>R)oUnN+iC%;P`kx81(1fLUREQ$8~5Z{U*1bV@>!Y+ zto1%^M)+qu7xU?$^%V%H4oKkqX}mgDb>+KgPmH+qrbT85DlVFB<(nR$_QE)UIdp9i{%gUJy<@5?2Dk&B1lwzX8&MYxlhjBO9(# zQo$ugs(-ivHSqD@Np~l9TD*$oyJ+gEAHvY2lN-@~#?tDqKTerJMz{Yl%Jj}lKb4iW zMK8F$J%?wXf1hpDp1J84QN}h%3QqYT0c_1G&KJvs%8O+-f||K<7r*{gD$9k*9NE-H zQ{&WVY7>NKqg5NC)uTCB9D&k-b4<1VH0{uJw&qb!({EM-G(Tcma3@AQTM(crMaqqt zlZ^dnfk6F)U4PTZ%QW(%wdv5Z-8!K-_Z^&xULDT{P5{uqJRC<~&0!FWO`Q6&_Qss5 zLh>Cl)UAAQ0)j8mgM2gbuNlFnN;|QZl=ZpAZCt<#P)(sYFS9?tMoDPaMqVF%yzH`?Y#uxu^gOJHHu}l-$ zLRcAyHi9~<06^uveIqVh+ao(VF-lq_Fj)vluH^Y&iSVBSRE@aaMEL0xUB}W;A2fU% zKZEy7VFhs1;qn~A?`ik|P%VIWX)4mEisJ9a)5sdJXr47R^Fq3MS^g?aB7k}+dc~up zK=F#8M?H4OVnRsFdk;(hepKE0t|KxhLH~nhw^6)>5T1N`4eE}2GIxF=gbXcc6jh|8 zX$MKe)t2Jdx z4;&2t&nG@YP9vxSsKZfv;=w>>y4fnV&NTqk0i|@W2 z15_y+IR(@`xF|D-YB&s#jEuO2svk%-ACCIYz@q99%iyhJOrG%SbFW3kzD8LQ|Ix)X zwT|c1`nZGkVoAg2j)e%BxM~E<&5r@nY3}?fzUgqG{Kb@^Nn@5RK8=jUWGEfLoBWUS z5z~+7aTfPo0Mr97Le~z9JjTD~0d>eUXQ?gW7zeHiqt za;0*!LbGC*jV`0^jWCn38O6r}s9(d&f2NWRpk~YBVna|d3=>swrC|d=)fC^8dLgT* z&sp9!GmS^sxSXrF4L6Vc!Wz_G*)|GmPqo2ilL1?!jUS`yCeSV<7e-KX>lu2XY)uH$ z9NVeise~mtP0zLMWPG```?rpc>A086UTK)8=quot=EZKhufj`KXk=A8{B}U}D;Af3FA%!sBdB*I zN?eAZ9*1`@qt>8m+HGs%xtA`U?gdbnJ>j}u3>*_rQ4`0H4dq}nxI^n-o0PaP_C6if zhg&kn15|`U2;=XfX2h?CYqwUyg>O)948DCZa$3P*`Jgn!(RI~ahJAkHHdGo$4}V7l zS1E!~qa|w)-g#w?H(+o*g@)LQK)alS>f2C{>2FHzReo(>P~p0qzefo)VO`j@$I-K= z`t?rXGisv+*=O7(>rbbxj52o)1JqKkh^{U#arH@=cInYn)|xVPrRnUo(f1c^jT+J< zZQ1CkUb5@2OJ3PgBgrVAo~jqM450ZX$IJ9(T5zAAWuo1g8a$bue)A6}cd5AlHB9gQ z7n>@5f$&O>m+?wE9Zp4VDAGgl9kqWZdV5kFT|{18+B2$oIy>>QF4UX^tQ^%5vx9W_ zsYg{z)&1)Sar7CR9bI=|CK}X<9%SFHjo8)o#BQ42N_kD9JGb7iKb_3T?KQnJ(Lm}# z)Se2GtH0216}-HOFsdU_G*nV#E%Y!;jHTZPA_u{jPG z;#=d>Y4g*Zo}mM@CpUYey0C|GMfKWIG`4w%3MsboI!~Jg3ZM>d!MZP4KaHD0CQ7#p zw(`5M$z!m{NEv#JjMQm1r4PI7$OfH(It?~C@3_d;pbacVT%dc?0F}@-BJHvG< zgtPMissiBJQ)b0g=fun>u?JAHt*Equ02Q(b0CmIc`cdsKsjc>)4HRdtlO@XsYY15Y zmC=D{R0(p2iV;9HIf&C}*Q`bEJ^<8yXyt>4o8gspo*wl;6}FgkAG{BsT24~rr876> z3dt1_R|OxJ091XP1$N=J%Wn-0wbsLMotgUfKm8h1C?b6Zv&+T*S0Z@HpJ)HZaQ%T% zd<~nJ6#WT$mQmzfOwWC7?f>%QP>QE1zS(anJc25KD$4CeSe7_o9Vw2c`)XY(6_!d{ zydw&}1-}%Z2B?Lp*a6hr2#a-NhbmEjMOaA*)u-aAv26`17M1~2bd|Yu7=FsW*8TzA zFt*jXIP@Ia1)Wf*2>wAU!Y?kz2!)$QL70t&a{aq5FiNqrz3&lcXdkq{ z<(_roNDo3~*p8=eRKJ=UsN*-x(LQMx0IHr1>qz))TUoF$<##cgRXwymD(b}=w9?!p z(!VOp=-7E2zBw7$ftu1pq_E3x2p0hA5`@=*XSu2h@AL&KK^s1~Eo||`!=%;E0n{*p zn$B+vO|S))dk^8&pK|>KqgUY$*o|@VX~;83IqjxUCErlS^N)x9Je$~iPlk4ZEn6W+ zy1)uu5om{>$ZOPhrVk$3VVk}MUyKYw#lB9uGtmnd@!ieT{+?YA*~2YAC|_c^m=mDB z6PDT$*1PgF!l%oT4Q6*LkG9l!^<(7f_mB}HqBCXtcTRfoO*R6&4O3wMi!h}a2~Cq< z5goPr{FKf;g!g8x0mZ5A7XwhAMq#YL+}inas={w{l%JnO+0_q#f@a1$iBKzM*)-b!x z0P3ZOLoC5I3+2*P1_^pagFTY(X@Gio52rl$g10BqsI`QZ)evJl21CODYNgvGDXc-| zU4wXY)RuMnP3dB&r{B>0CW%}KrSUMnS;XnTjXT?Tyc@p50z@P9-scxwRb0Y1MCWUR zBz0I-@hR(2LA?;+dT+(>UO;mlgw-B6U@D2{8R9H>9eF~vX`>{`4{fLgb{3ATqKVKOXT8c&!og~Et}BxO6}CF;;5 z(FiC{QVj;(ijkoWjx_QZ0P1EKO4D)MVFovV+JmzrXvQMQFfbY`P0^zFTY0za8RS_p z@9=UPX1n*|E&p5{B}#tj;4Lj`F(NpVl7s2FYPwlNoIo~t-a>t>gX*#G405@Ni61?g3Q!%vVSv-^N&j0!XXXjoIylujP0dj+4pXfI-QF z3v-T%+3b&(`3~VVgyUtpGA+0%3Sn<{`d!PkT8(-Ya?8t^stZ8HhKa5K4EHSARwYoS zkV+A+HKf^Z?H66&x?~S{!wOG_M_zVb|Hb zyr{yx7*YM6>pTRtTm@^rZY-nxJo`;4qpg~@MIJ$KC``!GWgABmx4QMGLwJDvH$MrV z2EK|D;%P%And{;-)M*{S8N%s`DzgdrSKjmQX~?r|X0N*YLjtn-P>;9U+WPkYn>)E31q zh+a!_i93SR+Pun#Bv#xpGqtTSsQ8N(04C&&4A7vWXaUqQ7zYBV2ZfKqy0!P-74re> zu&UQnyBa~w0jMdO(yhD-^*wowp|B;i+R4a?b(C=Zx@?-d3sFT}lip&Q=-qw<6)QR4 zX2?El-W0rV>;mhO~9R8QJ~Z9mp%v)#$>}heq)cfXvK`&^1%}44~c$ zh`1Qfw7e7%q<8WSMRHSuNAoj`xXRenN3)#3j*z*KG@r(kuRYgQ6px`B>73O17gfem~9XNPjMtdfrvuM`$xLr!|^4M_Ff&zUuPHEpnssk$90Lu;D-OGJWN{TpfsHj_tAJM(J?-})$;4)>APOzLbtUzK@$5@ofO@zC z$|`HxY11Ox9BGBg%cv)MgChW=PvfBQSQ*Dk^#7L`vqKdN#o~T6x6%F(?spoiD&^AMo zHfd6Um_+RL90|*)xC-Mg?p#y&zU+CbX;0`y;+%BN6Q~+dB-?7YW6{Os zcG)76Cr^%+Et8oCvzQT~Vt$Ml6?THEYM{OaP#lb;^F+gFsWwm2$f}N?X$+;Bpuwvb z8)L$z_l7CHdM?990Q9?O+z6>gP>o1=uBpOu22c@F&H7+O49{v^C&OHr4U|Oywad>5 zhoavCcWPR3$Y1%0Ls!1zfU-^T6&D4UPK;+-^sY1-!DV~@PYR%haH;T0_ZuL<$9FNr zbph2gzyZ|s`V$#0Ov{V62rke|x)4G3+&v5ho`^wtNR-hrFmmZ)B=;)&dKAPG7LDHU6PiX_;Bbt7l6^PYM-Z8RLo5nL)C z8%^DVwW+^f71jF;!3WT6v}0j_Dmwt|k*KrEa(Dh|GxX08fM&}QmoR!YYD!P=o&epC z^F~vppl7lf(^z)>J#-H`E{WGHZ?raBP}hV-*l*R9?s%EcFbHn>RVG>n@LVmMF3;)A ztvIY%rJW{}#nBzCk3AJYb;j;YdGb?)?1zz3JGJUUrm>ruWJYPImC6 z;Yw7Hl(RDN&%i9~{SIvM27N6WWYo^c!6jvh^+CCHlxF(h&TD(^D93k<68Z7>wHd+(oK$O2SNAxkrH8W^s?z_{;m zECN1w@59jQShU4`$*+tkfeHOpR)zp-Ipw(EdaMAM6d`HCgzySJ2n*t?j~qZP9fY>O z)PbiYO&>92A;xV4W4v@b%NI!3j}l}WVP#)>MijTb1KR$Z2dLV?w;vI*)R-mv^s_L6 zDuBucZq{L$OO5VWn%znJ1-y0%#!@!jGRlWnIpspS>GUgjJ{pgqY5>)JOr`;K*kU&a zNJCGQuG%Ci2cTxtO48RO+1Q%L_9@o-9_LY%_oD7^j#W#>C~DfA~06ynh5~)o3#vQ z!gzJ2D)@92PUQxyX7*>lfkN5xS{*jkke6m22%rYnmZGnQ6k}TeRmBDK zL=!*2))XGmZ!d=fxrMYvHiWSYH{ zrU0s(mJYO|3>tm4y!n?d!@mQlp`1EKMw>ZlJ*kbL_Ht8_3pJr+=2m1^O=rHl7?zrh zoJF;t|0@6`BI6*~{PRz!Q;v2ir`_KBlqDfo zBZ6qJl4JPJ0`wp~ff_QoFC8FfN6g#`c@VGp>9heeh+3SB$@b4ow6dlx`bjihw+yz% z^d*R9G7NLgzKl`}Wb!Qdgx7hdvYgU~85$J~0Csl(RXh0lqw$QsRUN_mvN?c?JhU>% zVZY3V_`(r0fB7wlX+acoR(xHTs$UgLjjc0KpZ*u~xdEs;VkRrNEV{{%<45|@RM}+& zVXA#R6J#cUYI}q9DNwh{K=u>iFcvJ?^)>K2GDnI{b)}ueEJ5#$k0B_{gfp;;TS%+i zjscUui?4>an_Z5C>bSR$2n|4L@ zbU|&jAkRj8@^{ews&aHX^wp7Y?GbST!JRNyb)Kr$pehgP>gDjt)()xZ<7QUXv%@LtTX{8K)RpmzQ_`I3j$ zvo?hK1)_r!=W61cHBOmvGNj>3;JX+>EB& z?{c&xMqfLE$cLZ`u5P8~XwW6)tjRztJq2tyiEYde**(gjv~$z8<-+59WOHlpxFta+5b%9d7vqZ>FA^N%NtGAw53nj zop(H&FM8R}7H|pgw|)(vLVcZ4ZSgr}Q+%cWW00vC5rsD}bsqP)|OC z9gs&97(w+B1yDbF-zi0%zos=X{*{4Kbf~9ruDq)n11n?yY(1t$7N9CZ2WoE?%HL|H z8`d!uaX&I*Cs~;MHsgUAkC zGYu^soSw)AW#0;fWb(lp*w`1TO(Aw!Yw_^S&o9S{!5fL^tBGxKaSsf~ncM(Cbl!eyW~NQK>r{L7l#h5mf&z;gdEdCf zu0ici9$K5as+@$=-_5;t|6TSGba5Q{dgibod1=;%!5X2vT4QhtpyngRkgW9OTVFbW zdLA^<1S>AMBX*%&e0MEODH?khiWWdUw?7O-`sQT#N+Nita1(jfn)cM$l}l;s0?q&` zRn&g3Y{yOrW*a9_r<$6#wgMye6KZ|rHbzj1q%1#t2RSekHuwp~D7^gD)Vfrva1%ao z;rD`FYPxctW+&3pblQzn$@nka)ZbCVJwSy#3Q`E49sug_A@Db*fkr#u_?Z4}SUMd? zWKn1YH6140Yc%!Hy`$**2aub+3IkL%p}^_J&eT;gS6K9oH)tX-hXAT(qbfa3gVxCM z(~s)gL&Lk;UdNQ%F;6&vde~){E@2i>fi}}4wdOiD5NrgPpKv`RVLwCeZUdkS2F>$6 zP=OsWL)ipS!w$YGQEmUm(Z3;wsAo|JrQ-jX2_PGyHt}kJ=SCZ!kW=y-;m0jx*ZgewmL}MQXw?2~n%di&FfF-i zM04&_j)s~-!`5uX4M24ZpR@s6K%G|2QG?n8t}|gu@SV}8i^sDn0%N5G&89r%HxcLi zaY@T|CehZ zPgMVxOGEZ+)~xCE)?4Ga8-|zSEXOa!3!tjFXn<%Ok{GQbFet$$B47Q11E|ep*re!9 zJM{|8wnFkJ0M)61_~@3r|-TG@x>4WPnp0;o+&T()|r zI68mT%0b~Yg1R2&?{*&CAp;{Mpli72c4HaF;UD2ljK@J|x>svu@+w#=oPKY@n*Z`? zfZ_}XP+Rw;x_~ie&*p};brri0#{j+_qj(CtDKNcl$6_Rg>e9P(6n`JDS{uc;Av8N9 z_%C+{T_?dc_h<-bjlJ^~WkWD$%6UakpdF5lrk}RTtv~ID@HD4J(zl>+@|+2p8N~bZ zDmGQ#6g4}FO&i#~c3Tb|Y-8%R0L}RT%{c(gT>zS;94`}kb@d6@BFW4vt*Z&6sp}Z| zeD3-`qxDv5fXKYh10`pdoUc$w?Y^2f{YZvWjf(Yv3;Q4L@;aRM&r z0v#`N^M_0eUdO2Gk(sD(hipYBp>>0oVAZTbtv|hIVH~aJ_b~vuzFOR-!fL7@R7s^PnY(x~*8(ok8 z2_6}5t(g=pMB*wV1t?;pt%3$cDhqbAHbxS7Gy|V!ePD-~Byt~y>2k>Eyzach;7iqH z_P&iX${wW99Uy{m#7r|tv0VBUXYsH_G@qy(9jgsT`WAzI_CQ<^E`$+4-3Sq>@1`g9 z_2uUdpq_9lb_3xn2#DUxbtGPikv(p#1E~E@$2Oo+HS(i;QSCVZRhxZPKIj1I<^x+q zo3-dJ?Rrw6YCS8Vu;ljSTzaaJU&&~dDhVx}2B@mXGGxn>6Wxw4>LM0@TU*;d=X5K- z5+b|@Io1`KVgOZP{mT*zvy~K58|~#Yu9A5{Z zhBQODeDOBW){E|A_6zl_HK=l0o7(RP7=mwa#22)hWxlRC8M^O}Et!^sLe+y~R{90eO;1#lkWOqAs+W=KXn1)(ighBi> z3}VeZKNvwX4V9i$9br@@hECj1sLXX1dl2JsJGnij?g^(GDvD0Ye^Me^(+~W^}^cw zI9h@1ZH|m?1VAV>f+{^R3lGLfNJ;>8Eo_uNVn)+@t5}e|l1<>Yo`qol7qhjJZ*TATV3`8@~EPp9T?{Zo`F2vE@vu^N%aG(@NTcqV|VDf*`l!%n4sj^$f5q`npY z)K0%PB^bu@c^WU@M?M##53~l=bb+Ws+8hHS>K7b%Kg6aXPruS;}v{k$o z+e-1AlkFmax*2{HK-J{N2F1`8&DV!yRLc!0gVvfZ8}9&WbFz2s=BtVK(xo~JbtA=T zLlH`NrqS27q*0HeeD*K&^^UxQ*Q|en=Nl;AItXsyer`-hJXZk^RjsCF2`feZ-6ueR zeh&PuUqU%}wq?PO>rj&h+>USZMBsnFq>C0Unzv{Xlx^z?0GK*7I6{${5P^biEC>p- zwWD4YRDm`cb|uPCFN}CDrd<0eR0-o1p^=hNP@c=J!zz_lY_(4|j-{u#aGZ{S(f-tJ zhUdNy240xr8vv@}g?9p}wmUC{2mrPFc^;tp{BthE-G~5M@(^7;#{mk_wmMs*$8L!TM8r$WB3ly@0~-n>2(RLuu9WwM-rQ9H6;^?Dhp{w#fsU zqMiVcL;SuR8?zYjd(YXmQ3=M-Nxx@(C!?-{35A?UNWO-0jD0?io_#8|<7JK=;f|Nl zJGmWHovbaLG|fGc@T^@LM>7_?<7IY6plS!-=32AmU5J|qX`Tz9&f&YRLaA%Rpj-RW z$-0*OWdw$J*;|W>N{z+>x^Jsse}_(hTC_nUSxUr@@p2(bDfg-u;Ej!*58-0s6)$Q5c6-n8|=GDy-6{Sdv0{|Ej8Ja%SOPk~_x^NO6JwasKWtqLH? zbM4@p4^Rp1=oI!YLkEwh@cqd6*g+(PVX5*C;6qkWcUE?h93NV?nvGP@{o1|L&Or5& zPKId>@dZ!=_R|!>aqnU;oSFrwkYybwfcn;>bfke11yFTdhDLt0b0Cl)2cT*?Q{@AQ zo}EzK0Mwd#9+jt4ZG%kvo&wE8o(Z7-oC+%Ojbi`lW*P$pgw;O zbxqpG5q=g{yMSssjI5GQ)MN=2w*ncVHIgS$?vVkYs+{R^leR_|24YPNQfG`dQi3>e zbpfhIME^$g%P{1#=af1sNK>&ZuUoTvGe3~25e*$ZLVQtcaJg}^0G0Ln+65=!hE$Xw zIMfNcvD|H%*Yj7%dDUIM^Xcmn0P0ZcO}n)xj+b3_c6Fr@Rk_t=bYMXAgAk0(#XR0w za;Y=}K-FW-^Xv}8d>yzm_uHa!=wdNG08~pd6{aCHH@FugJLSypL}s6kAWBA1bA!5( zR%qc{jN%c{tYpv7hEdH7^bX_@TmYyIXxfIz-fcM@53!8TEjfV_W z;pakjzFN9;LnXq?i}*A-1E?6zb0Fzo5UwHZ6-aptGHEmEOCHE+imz<`&3r~m+~#nV z!WlrF;^HI#)%`T~(kSS}FJ0bgfNE<{^Hr#i7cL7>=eIveQ&aVq{0yuy&ZVQ4*-F`M zv5Vlqsd3RYoYq#_W(LMoyaLwEpEdT0^{6#A`T69Z@;<}cOslI96gm$zfL1#}t!;%4wm&ACULuC98~h1pFmVP1GSAbw0Bl+{aeEYB2FzLiFL?#0H{YH(*$@GbmwAl z>0)FEL}7b>P><$#835|J129@(081aDkIV3cP0K^|D);AmA0!_SP#a>bX>+6|EEO=e zQGC3jT zt9NrgML+jML_!k!Ex(E8o%$*=U^8j9b^NksDYVEZ^(7yjhFFP;tm5-DQ$uH?HlbYW zsGgI5_TxHK)%*7D9CvOfvkoLAxPSRa$0ks(t<9*OB>tJpHMr~*mfT);f z9TdH>0%KkAee|Gm1W!(XmSq73WJA@cF|io|ajgYnq6tS2#Z^^sBL z7)B}5BOcjUC>Kz}9_*&~3hQ09{`3Y6Ra<|`Ijgq*G&to|j(39Hvg2ROf};43pouRx zMfLyQfu61noShd(Md*h5j5uy!=iGdUd_f4aG0;V|*6Y4IKr>A54Pli&CR)HC_E;mK zQ`o_9Et<4DTk`LDEbC!V;Fewi7jo8mo|^%~vp>LqxU?R^SDk;N17zlh(*?Iawy00?T?2V5>vgY2dH|N{w6CEUPcEtMkKrP zXLxT9THV4u*25m+sdZ8D5h~uM5BCxcqf}y)j*X(K&AFA6Euv|@Pf&jCoDi0MrbH zZBAm1`M@UtsHbvY+(Jp>RB@#gTvzW@pwG()J06Ss7+zzT^ds|)HGB{nI&oB@NK^pz zfoG|(3mrfWJnYEVh1T#>Z{((SihcKa;?SA`sM?SxgiFGwBI-z*2d;MjRa1PmoS+#E z{2j)joQR_>)KG%q){d*r2f1$yy%uM>vpU1@PyndORc%G&p?urIg;Bg4$3UKk0I0u$W~hV2DNKIL@x(@4ui)KI_+#;h<7GL0oQ;}F<39qZM zX-&DvndN2C)XyAmf8YV?Y3EV2Ah<$`gjZ*kW>m~4-?1OkM+7PNF9DQM?dEdo+odUh zDss&MsHt#620{*0o7R-x@lUR>%0(wSfEvg=KWRmuOBt@e4+=%L9l0N}bw?lx>C8p0 z37l4!X2GfA3!vV22mLva^d(o3exZI5_Z88u80%HsKl3hqVVDjYi5fCercK@lrha1k z+iaL}1ohmPF+%_kyIzBN!p2H%kg3hkQCin0r*`5qEj-j<&HyTAR1INTUrXE2i7fKl z#P&KX(7JWjpB@H%PlcxDvoo}I@VyNF)Xuh}*sLgrr+fxE7d5Vqm_e|=MB|TskxHjA zwa!|Oj`Un7IxWVR;OpBf1DTIL?T(oF4RWOzy07E-0@jJz-0n|4cl^X7J7VUlKTuv8 z|5(n9*RZ_r^vy{^6_9e4=U-{WW|UtGqZ^<|a@t~@f;M^m5;d*)HFa< z4L66`4ur7ZpFv<{r~={xKs^ryx&uUS<%7Tker@;OBzbqQDZW$DEm~&Oy&mgM*U_!8 zCfOV*Nt*1^099slThh{!)=qp@BXo0B88iYv&wdm>gqF1zMJQId>a>J49}<@;83?_W z4t7N}Fv`1c5!IC|Fk>-~M?Otm zrDf74txuM1ag>eK+#*d0xp96#WLCl?B|>Mc0wUJN}fUu~wO;@VVAypEjF zx>@U0=eKr&oNyaqse}G}bFjW)POGxen!YHp&e419CIl-SdjN**?gxVN-;3hLNQ~sW z{4JMQ#_o&2jL%t1dM)Rl4(#lV#-zOA#(yU&C$le-;0cUCrub&A7#!6bRYIIpU04*P zi>-~wx_I`MsP=NcYZs2P`QNtma&hF07sQI+f}>;dM^hW2__lJq%vT)wvfFj_qF%>y zR1H8g-wA^tw-UDzFs$QcGzH}1G4(h#BetG4Q5KX`$B9e?YG-}T6k5RW&KN$wJ3l+U zSML+&e}vIgP5Zs!@i>~s@iKRgbjQmS1gJg%30tjMeUvq;ljp_JwY@UYur_YZs-_o? z>;NYKl=FAxUB#4Ojh-$;k6c-T;n5^p4@vn{2~G!F{8#un7O%$#;KTGqg-?HzeLwy+ zJT{FTFC())Ei4oU4vEkaHi=RcrLa1&}t zn(dnJ1OjSH*&t~Z9l97hr$P3+cOyCfsiDlR!3RrW=}HWzcWL8SCpd$%gx?{I0I~q; zX0VhDg~}BQNz*;fT3^@m7oz+`z|$DG53TCPL1&{olCD#+rKyz4ZgDrr*(&_ z3>`HRoYK%pnE>if&Vn!~bOKQI(lSxwyKC1{Dr^j0%**ots(i)1H=z?HA7zYpgf&v&_>k$Ji^~c`U0qZdWF=o`MXm1^f6@TV%>lAA;d+U{N`|W z{2hluf|cxD7NB0rC;X=X^-f}+g4a4%I`ixdY~(E`{Ax{Wn)>SkRAn5f$QL49WI<^M z4{egv>vw!F1h*F5Q^)!E)pG&g_rn~ZCIM7y;)Ft7EdAW!5C={_xf^TmU4Ic0Zy-+{g?#X_ zu-d28AM#Nnr@;k)+J8snGHSh%^nU@jm5*J<^I5b<$DyS47f5d)WJ2B50jP>k-AL3R z32a%%cZ`&ly@ZK^=t-Y}D*fCK(Nad4*PxrQGQuQOD}_2~D<7i{iP!o!08~15Mb-kQ z0;ro!>!urmU((}eAp`%hjlWy+Ut^N1P8r`ajGuNkm4fT|;Av`m3r%AHOP zJZ%{|m-om3>TUmEf#COecm(@&T%CNJ-0$ zXp3%H42zORK0xh79f#??boM3Fdy@>f5kP&g5}DmH%D@w?IIlGvEt4;9up9hnBsmb@dylF1*)zRZZpHG#(&JIs^80@6<10LHM^4 z{#db)$sIrO&j>GoIv1N@J>t7nN8hQ15cv87%7A)oL3OT0jHyFQ{IQwp*2)Z(rDenR z(PNK2_TxI#(B|9uRUEtBIITyWIu#9LljrF2u#Ku!M2Sr(&P;2GQ4F9>Xcw*fY!9>A z=1CHIc!5K$Llr<(w~jfUi{jUQgymQcRij0csc(ACdjqIXq0unv+6;FOgTh7Sr!`|@`}h%H8V zE&s+H^sec>{f~6zwNL$v+L>_n#>N$WWE08(#ZoQcn_ zeYrZSy?ITPIkiQUIi9l&QBW=DfJkSPKboqo>sJ6Y*I{Gnc$v0->QH`ms=5+9?IMk36R*oBZ_N+i$3iF5?KCV-L?njkT*TE+GH**3BqXo=`Gx1O4~+8CHPq(JnwSi@Em!b?8y69 z?!|?2A)K!A;!xE$6kzEN;>WL07)|^0gC2ljScULBwGEPaFQSJ+_KoiYS-Je{@x>N`&|o%@Ko0M#fPouA=5WJhfH0J~reEOzP-0aSP;=EL4Y z#%ZMLWHh&&HDM3{SO&pK+`UH)&qljm`BN$ZqsyTi_zqr{1)l6UNh0MGH~>@u(8MVN z%f!hHU3F~C)N#ljh-Bm$TtmJgoCVH?UyMbfHK-^34*>NrS-So`mtA+~gHg;VF29QPo%*>S>B^A%Loc zbDbMO6=hyRoN$bdYu!wSHn3$R50R!SnP#y~lE^>0nDFQU_tan07kH)~ajM2TfT}6J z+Q_fVX>Jw{N7Cdv@~p-J3jkHJUKIhL$#GUR{%u%^CymZnTdl-pIE4>FErb(5{TLmx z9y%H_oG=7XI8C$Gu;Kw2`Wj7@n_oeP{k#+DkJu5G>_Kx<2OF>hc7_dB zK?)1YL+aTPQ~}gOkMe933hIN2n%Cf&ZxB&sQQ2JfQy`BWhC&+9TtR?JIErnHtK=)u zF;o7CiSi}oxLgK)ZYGV`M5)CHI`>|upC+Y81yD7;cPm(`HSu(|dHVd*+R$t2%Ni~= z&G%ct(IjMtj+bHA*+Oexv(Z!@lnmSP#Ot~L%kwOnEeB*C<7Rk;fV~K_bBP162|z{g z`_{GHdT;z2qoCMXS0h&n4oN$ik>uTr^aL*NxG#Ie%rMr>nk>r;t4Mi|EYHz@M}ZFj z*fR3k80Dj#e#gEE*oLRH?#JdZAxmW>c$WZFon_n~0uiCxYj{yD9hc#$zji3qzOASa zh$lUQY5QwG!P{0XhN-p5?KGcoDCLn6U0bc_(R(%Dh zpor~cVE>%EXzj;H{&M6RoR9{uikkpb48}H4y|k%qz$E6!i7Qr*1ALCbaKHj>0v7~l z2A6&)9XMn0L&WV*J||O_Y3_NV?m{GS*;{C%S!l&e_$)M&(vS>cSJ$N6y6uUvHf0Q> z3jj{rWCO03vpjL_xWxx&2G@9`f^Cp=6&opeBN)k%=>*pw$@jfN-XQ_fiRYlLufE<1 z-fIE1&EV#OV@k@!WgJ&5WAv1Cx?-f399rPQR-;H+2zqW7?^->nY<+Oz-^~0XO=tdeMM^ly9x=tDCE96xciE_0qW7 z=<(O%s2@$aUuo|8(-1C+!j0lgEN7?Sad9*hJM`+|94}+L3;BE$7_VJml+A%uIYpL@~@$E=&Kdv7t`8yT|mBapL9^(gz2&8aY%e8^`T7xF1 zldT?q0D}$Xbp&BG(7A*U`5tAcrP}}_LEOISatDCg9hUEa;hZ+I;dGngR--ad_Npf+ zKfM4g&ciq_X2;5cBd7|@hrb5^5kNhY3TuZ}o{BMIAI`_vZoVohPW2H0>RE^LVH7$& z!m2QXF_r`dC8MT%!LZP?jG&$gUzYkrxG24lW_Y@h3VY!`DgtY_J2FM*CM!?~mxT8> zi;xj7A=_BfZs9{fStPAC(?dZ;??BJM3@Sk~ac(&qwT*Ejr~;@aql5GJ;TaZCJoj4< zP+9-phX&K`;o3QzV;Q1b4`6-bMSS8|l0l~BjG%@z(=Dg!&=lW0c`1NOy;;lVhG8x% z&jfEcO3MH$h9gv;$#|J*N$1B=+LUSQScr;mHGnE`Pq?BsFa(66&c`Gk&kdkb*BU`> zl1e*efF@aKitl6ybl9)ymz@Fe3U1)UY)KW8ri^+4)G~C)9_Yp}y&(OaLw13+ZBY=AP0Z~+nQrWFNWq{H(B9nIIw99MItabn`08kaQ zK2@PTST`T;b8DpwGo zrqWb%j{Dp-#RbQMImS!QySQoc4^aeA|ADGLoj#u~2<2+YGUSwX?h&XVqT#TStnq)v zrK7dBci##=fn^0yt&b?>)QW;Pvxz&KE3FhQWwWEV?jbyR9ET$K>K&Ssj?uJJ5fQW2 zajEMjfadhuU~5>g&>5&|6RIz&JQVW8G}}Dir4|6HcJS3ENdl;wAl#K0DcU5d(D|o| z>5iCz&c3E$A3qqn#96m|vlmOm1BzKO2(|pfWn^ROD4Jf+<{H*h0}|Yu$(~w>!LP zXP}B2h*t{nwQq}U^d7&z!NV9{KG;}d2em3cAy=nhp z9-#U(SEIwHzYE464zFWFNKb1j@Cx{&Yd=IYpP?zg9jH=GMAUv-T93MZVJ14|BdwThPmP=|YM%5$a!M4O;|ag25j)|4*o&fBEKRDH^e*ct)y9j4`g}dKO!|KSQ&$jcont&KNWukW^-Dr=1L}@9aUmio6&- zjg~P9>AKcYro^|NXV1ifCU4NR+O;srIUE`qtuTocJIC6kvP(ssn?yIiOw3qNFf_2ZD%Ksybk$+I-Cw63Dgz9dF zrKDsrqs@pRslmx>qu|IIj}Qlv)6TK#2E5kOL`BZ$XamK zIxd^VNTNzNY&No$bo6^+IX3wHOeul|_CJVrfZi$;oVZQ-25r6|C*`VXLvM@$SDczP zp50p~mG~4Jc~IDTN}nGs&Ou~!Z4B&@L6AqxVp5^y2jQ&%P_@>t9~o-{l1*KSgX{~| ztU7!&cUdE-XCY6T7W)eJ>Dq;VeUJ%de8s!tFq$x8MxI^(pek^P$JGET6;aZkHKK=O z;O$H0V9T#!{rbM+9uakz;5xKInAYA)ac zKy6JCyAIC{&|!A~7Bax9Ww8UO2b_iq7dfS!C#Us1)B4Y6A4k^Fq)Qed8<3fW+&Z2= zLpaT%DDIUF5hGJ-I?>lc6)d3atN7Fp0bz0pKy{>CCt1mX4=AtP2+BTmAmv9Ls^iQY z@ibDa85>#?Ka(c7=XKQdrBv}?%mSY0=zgEi?t8iDFFi{a%FVFqkh%a>bwq2KERzh^ zXRB{V>+#Pm2w3eBxysR z;oaEW02{@ZF*k|?d~bXw@D}#fRgWbi~Z% z@chw*0II&$)sZFXekG6$gYK8(1=5L%KKH>$T8@a$X&_?Qw18eX*{Xw-6~t+2tX ztP1}I6!iCXQG>G@N9{`2akPvJ*8sgRh=HdOs9e?Cjp@y+%m2K6R%9 zp*8fjo~_5mSq(u7%*ri9j5URfT6BO1W&w(e0kKs5PW=W)qyIX3N@H~}{OJDA)Bs|0 z`*ChPDhR=Z+9v#X`~i5V)C?UxdjpTvE@Nc_&#LhPlPi$;n)=(YqYuk-Gx)H6b@W35 zPfC!(+<89ZlwzuO;fxN-#0r+CIr!lQy5r@E0G48 z-rJ74(iGpc;Zh$?)-IdmlhJu!>S5Q~q?f77oBob%#*V+k_Mq5=GgYT+T^HA|sR8Rg z;-_C_{b`@59s*E3f#x|jBW4|h2^w>1t8#u5N5{)tLL2SO0q@rWQ2mIezEx`-ifmP5 zuG941bz@K{RD)*VbZ2MYAD;f>`bgK8$IB&6UnAP@G6Zg$26ewF ziNlR{1AciqdhI*(8h~)09RS-*kB&R>60+9!Bfpa=zxupa@wekI!XJSTIamq!q27Jl zCK(Y%AQCGZ2DRAlOiMlRmPw6yxLi3pq_FDqcJGB zD(X^{js&o2MCy@MPps&7`umJHOsDf1tPn-ehm0vf*7tEtU<-^LomIyZpYi&tb2-divqwiT78 z5rJjPQ-)CpimGOf{Z)LM0;np7 zlIOWbPkT}Ut-0!R^<3LBeoHwfO}4dN4xqYsE=m4}#?K%Z=>3mBdJ%y71cb+qzZyX` z=gYfiUpJas{yiJG4TXS~(W14w5f*&_ z`M?U@sjmEyR*m9SE^@}_j1S@O(+dOCkn*xJRv16(cIehFza3G7Urlju9qqY$P4$20 zb*A`|UK*e}x+V;P8&h37?n7rF2J|<`@qLH$4X90x$kgHmHqCi5mCUdWm3Sn8s&CP# z(5^e8W-%eOi*R*USiHn}ZRY&|!0s0pQ;m>?PsS&j`&$D(yO8GN4m5AQ{atUGrDKz{w7v#uU(wm%*snQgGJ?A6)?TR*0iBl^}o`cJMt6 zrKJvU9eByJS*h)HL zCT|B{U$We6eI?`{F%zA5G!4wAk*idbc`j6(N+eLMQPj~wN!QY z!%<&|_0|wgAKtaciy8$sH5$6tafmzk)#AxR5)yaXy}LsRvOT?7u zT+bAKSMq5H&#j?}wH8%7055`ASFeKiAe9#N+D8vQ@KDsDgSx+dbpMxXAgw0~{s-NvB}!@EsnsD3o^dHIIumRqxKL+|<3p znSPS&&Z+m*m5!TfjN}MT(_8L))b#@1_GgSkZxqqnmSJSWxlkVWOJ{P$w(etYl(}hN zggcry?KCy)dxY)0bv#x3e2>7X0@Sjt{9ji`^{!!!3G0{A#)w8yo1@O$S7a00TpmZO z0Gc{yveQ56MU8v0F0;T+zlss!)<@W`9$yqaoWH+3Y9=?{^;B1l*hUOy+Ujib@!kO1VgmFG?1 z*pQ|b#syEVI%9QonHzEaGrGUG))Mg-t9&JR^i~D~ZW!r&$WJIOdI~Sj!_J6ykP%kI zjWCh)yYwka!Hy~Bx~7B?0KW4(l-DndNfN~%x7zEqP&Qqq|K7yNy9XV6Caf?NJY}<+ zyi*w4y_fpxLs`E>?>-7EkAy|EgKs`vSlX1SmUnZoVIF^-;~S49EbXl|sMSJ_1PUXl z0ib^Po}1!(;;FD{iCggwi5bugP9v%7(dz=JU(ZGfp98B(6a`0N)F)PkS3LDMRXs{x zl%plaW=(a2e-BW#PUx7DEI`!0#V zpoa1)SsP8=gLUs%MMV(i&xQhy?<8GOt5Hv?xB{pz;ziAAfSMaF`*~XlJCUD!Uvv## zM&CC{dih-D04kQht-!tv{{tXRdO&((!R>hfHI;mFOZjpDsu<3@rnGxAXhVAvKsr{( zAJHade7^u{a%O6_9&A0TTy-^@r;KOX!ddVP=`2PU%B6zZ?+sA%zdnH;K!wE}U6}A+ zVFy7Q$dqUi^!dSJMp_A1(lR$(`j<9S`kb+|(;7q#AmIjl&St72?Ih<`QuUe!SO}mh ztTs7mh@5(d=FtdAoe@-@pvXn*(>{C@Re3tRSn9~};3FVkNJ~cm2d64|{bgoc?1RWD z$z_dfD5{9h)kdoe;O(PGvj$SuRNN|9K2J@)B_otB$RkG*N$c7%-u)|KK zDk>OtMAdJm{Undd%8_xH0jHl2CP9wlXG#Y~*c6^McyI=KtSa=3KvNsd} zs7fO*9sje?5i^-K$lF6l(CPQ2)kWgcw`vd#27LadTl3mm{2lVq6~6Mv%UGQsw-+)R z;JXpR)d;Ep>aQT?W-=1xsE-(;66jR#K;lSCWe`Bs%!i8xq2%G+352U!?ua@S+KS)- zYG!6l)asWpD*-CeGQ3C^k6=Z#tJ--pNfjYd21Dnau_v_YQ95h@nFdhNq5V#$1t@lV z!q!5hA-s0(p7JUkK?fn4;HwZ%S5;RTHh_+K)w*su$qU=b7ctnD@SUi_0A|0SY6ViY zQIe+o&Y1*X4S_f2yYQOGSi8DWH2TMNsOi@KKXqSkdns*YW#zo(%O!=S{1GCuT&;II z6cHx3XS?Fj6lNI#zO-A(MxIF{+B5IN`cwf_+W<+g{JX8hTlTc;-EMt=B(jg^FXEO; zIAse$wBv~$pjraC;S8WY4v2*twc%2Nz!VPGf^t>EtsCGN8)?P*ZinHSd=uf6HK4_9 zqQP%X`Fi&ca3Vrxz)^0Pr!|^SBdglwS4m4=@d)-~Q9E4uuY1{O4+DXuB+R!S1X5&2&NQ{KGVU6zKlQPjf zrsk&4WeeG>B%2v^EqjFBai55zW3H~p@iMv7d(%Y)>)Ak@TpMh+ci&*t6#;iSdG##u zm86#>+yMQd>AvRtCu@4|BLK}OhWOU0)!paGtzQ}iJ zgQTn3P)SG9G|C$dRfnj}z$1#tPo2zuwO15Chm zKKAT&q(6Z4FNXfK98Jq;J427!2q|QvYuF&^8=n867aZ#=JqbhHn6x!>tCn_<9Xzfq zyMu44B?yEQpP-;>@$bT#54_-Z@a;`G#CEMPcs0Fl4aQ|P{1gD{`1ep&-=gQiA>B(H zKoyl!y*aKMtoaFP3ZV8mgSN-83{GWUi>G*5fI5b6rw&`3P1(CNTW%3gq>sx@5_fJs0f!Trwo z(bV`Yr?+19zhm*XB))3l!%c>526Qy^Kc(*c4x6 zZS+(8gS-okn2lE#pa$ab>E~p@5A7_k9poF)w%V~hd7la>K_n-D`q}+{1QqMcoDZiu z8#od)fhAT;doP0dbm8fcR`?TP@% z2dJS8+7xd9I^v!g7`?PpF~VS5uAFpVLy-Bks^ZH=*xZ{w&qh$yZy?JIso-i0;n||84)^~CZ`$&R<|IFYLS<%&@0+)c--4A z4W*d?)X>zfc)7*#-zI?i2&(7kvQ*Nv^uCQ3S9MmAh--s#A8#LNxI0?mmYRgwdUlW_f^xyI1mWR-vlrnfX!#p{Tf z$yCg>#{n|E+{i1N6ISq@0aVh!#Z~a*3sjDP*|5E^duXg2m*P!};Jq&SN6e`6%!2bz zM?Ed2yFeS0g?R4Hou#VN5~j~${Sce6^+Z`E2`d3=)u!M|F8av5kooN)qF;?cK4L@& zpf=^Z%|XNlXhr2}Om9(3W-hptj!IH4yyJTcAg4$qab=2;coUG8)l|hfQ z^2*(7w0!ed(DeiG#0cn0y4>>34XS6_XiETfr_<2+jh&fV($4`&@xEpKsJyma ziSP5%RY3IHk4R$?ad&m;YZ9PFYZn4gwR~V_Ab}>K$ZTAQno%50?bTA9xyTvC+X!)M z%CCTKEexV{sHgn64%JoY|H1#;P!a$CzhugkDbdQ6P_>C)X%<<^p?Fidm(T-n8goj( zAg%2{4Fp&f!fFBUwac4ES8FiX1Txzmgp7itHbdP(Xlf1WcSu%Eze-Q>wfBk-2iO!} zI8DGaIipMOgX4ZP5{x z&_s?!tx8;&%5ry2|F0}(>MSFnMKt-DAg*ql$F?n}H%d>6>Q$!q-g`$J9dy>cft|&Dp{C05Hwx7;eFZcy_!D8$tc8 zf{j;cf}>%HhM_0iry2559JTiM=-IjWZWwdFg3Pt#QKOVvpQ#QLTk4Io@ces|Z`O$D z#XZ>|iEw&tq=VZ9qwK3ncd!2fsQ1Fc+LbuHK~gBMMs?#-0#Zkt$m=awZ7%6|gBRrM zICQi&#NEXAzdad6#&=$OHVO&04{2(@j2756m3WQLYFgjp4{DvUTYJ_5j3_A}$)fK` zI~lrjv3)j?PoFdD0#w1FGQ8Bdj+j|{s{^Qwu}?N|K4xW+3QdimD6c z1faU02|$$*)q(g^;eCyu3ZNd0>|=V80oeQwH04u`roZQ5DuRkT_ZI*e!heNjnsAd! zp%(IuxTHJ_P`mYVMYLD`y{Q0_r@H$pT;X`~` z9$JSgfO_$HSh~oTE}bb4Rze6Siz0(Oz}$^BP3;vbTL###k8&HGBp^JLM_ITP*EX8E z7ff)=b5Z8vk|=W+_4=EJbeh~uS~UhZvjFu9A~tv5XOxlG(0XD3^(8zOPBfZqAbxYI zm!0u?myPE@>&-k<{a%I_gZzNAHK_MSQ3;m2IypC#7YI!H&}bH*Qg1d*TQ217uWgFS z5{8?KuKSvLJLa716yFd&DK0kwplW?^3Ct>|T|^fmAT{D{4nd_Uz7NoD{SW{n&@J0? z)wG?~w$)H?+9YpVP5|{W(mev^ruS;A*KV2;5gAQu?Z01kq*dnl|6}jHiWL+D#Yz-g ziY3^Mu_V@5qWPL?2cxmYf*MOSirBj%q7*?yx|CgdUwVfXnbr`cu`t%(Y; z`xig}ugHlK%X{S@>FLq1?LzpUqoj%ebCm{!xbd={djd0n%DL}uKjh^7ci`!l<73K# z9i!ICFp$qN`dQ(K8PzL7aweZRdd9u1{jQQNNfz;G3EG2dUV}qfva=R(m2&Z3A?UFN zD%VlpO~~3SPfP%+9>BZi^eExsxY}E2&*$k`n?Z%w>%i-Brj&vk`k@%#B`*^HcIxenq&aL5Y^-n-m#7<9#J*eZv5fXY(~GK4ZS zsA!4C{kg~M>%JILS!z0`Y&3!bPHTe|tR=$RF{VsIg^M`b5ZyL|3O5R%TF~=2C|`t! z0CTHz;2`Rg<9?mzdYu+ZN}h`+cz}8^21`3QI1Dj|Y~|&55pm?>yAIkpI7qtu&)$Qt z#mlQhBLrSO_I?R$%A@b_hnZr#(hJqz7-ZT%wptc|+8je9N}k@qKGKowKmF%emtt8> zfi0_9Njw^=l2=vft_JO?wH^1-UuV~I1?O?ZObq^_I%=73wM1&}!CAxF-!qGfjociM zx`my60S(9!8DwXncKj)`sV~XtfjUb94?v6ap-IfTYGUYgW-yZ2 z+2y?#U0&cOd`@0#eZE1Evt`azLs#f`yu4S=d2TviXQujRImIMEO*!>%pK>40Wh~%r z_N*c>ukFvQa3x35B&Aw50-H0b-_UHZh|_FAfBh4DF@^kpRfMAAy-jF@ zNPNwB=jEOpB>kxb!;yIT4w8)CWjkQFYWd<;*yF)3n1x;CJ^1Rk^lg;2X)Dd>ZY95m zF{tL0V!I3>IXXX6Pu@XZISXjB#V9TT)aORPDkv>EN0EaCsci$OTyZGl!3U3Hi1Kc= zThZqtk|Zd90aQsJrL!|opM(7dqXdsi0IHlM)#b$)kZ~JA?zE5q>T~cGj>R1NwKMCS zt+4^E=E+wLLeNP01c)UAP?P7)eY9>-Pd)K5nVnB`Yq6esFTt>afoAZlp_7pji88h^y z_}S7okt^EgC4j0!>1D0!=#x+BSh-eI3#MlAi6a!rLoHzwK)o7(YBL1(Vp*Azyk~Nk zS&UN9z+~)BI=4DUA+T>gbqbwz%G6|k>MJDH4C?iK632piE{BTz-5h{=Eoo#p`rvuy z41Ua|o^&+91JvPs10A@lxU%sxWyHnEcYy$E+e@hm#$xl6&_^#26*-(=ADcmal-VTO zE$l({rP}{YkRE7@fE)KV)*pnY!w9PiBK&8b#mYlh7Gt@EpnmDq4aD^+cc`%F;svZl z0n}sms~TYmpgxAa)so)^=wt0ktt@OnNIcK8p|nr2*W3OqOwW_mXuh3O{3U=|53<#6 z7n$n$L0vTOCHNbXZpZ7^quR5^AJ$bD3+ zqrWooqAZmr2cXh@BK@}Q;B(}GoG`^fb^P!h%0VU`F(Av@nK}PPHRw~F#`HEP7C+$BC-FyxCA^X93LGqqkXTmco>wYMNwi=3?ztHa5 zaemr=s$*(yx;hV_3i6k5p;S#CC4qdkrOMs+7K;Uo{pyBQ>M_Mx%?0Cx#o4N3XksbM z2N*3_NtsumDC;0w)pH^5p75jW+BFHcsUMg@6+qPzUzxair3wI*T%_mgP}S7as19Cn z2i1vzX%Mrzw;8>=nQl7rMEHho(9+(JZ_5tkL1wcMIW>9KwI3Pl6{0wrJ(UymGfrd9 zywC&O8r7l2RfsKkO}wmAwZx}uXu2iT>!>5C6HTK*tgY0oCA^}g!nL964Ww(|wxhfE zo?)&*16h(kg#XkQ5FLK+p&ZIvuwVi8kZOVQGTz`;@*RqFXsa9#aZsp@mI2(1l_ahu zKrph_15me~ib8GSXID4yNVd`j1i(@ZhMh3-Cdybux`m`EO)k#UbaO@%XC9nzF7e=A z&9?4Q1|h&9WgiiTAyEUU#XKOrinkEzL0)U$C*BCS5<@^9R^lM7sHjc3xsoS%(oH4GuW88H0RY@`QJ zpha~Y^&nAV>Wb3UWSMr|sd+*cE&HV0Hf9SqBFMDt zcfl)Z_tl@-6Uy@5zTdIDH?HH(Qf3>ObzOlB56gR-u&?*f!&C14H|YodLa0Hv7tn-Z zdGB+{^4=i>lBL8^TuUPwqp5XUU~}3E>WJ{%k8V2mz`XsZNg;6-0-mq(es@yG8;bq$ zGV=JVI3Zp;3??1ZvPgQ4P{!G*!xz$fJJ8)lQVvlgN3Y}4vpkFUQT!Q0o1m_6p9Gs1APF{S3sBnU64d$h${#7$!dwKZ)e^QQ#M6vnfebCsvH{qr zKb3`eSpc;Q`D!neR#>coDCDfCA^EQ3EtSNqZeDZ(GU#6qvHbGTDx++I70>`S=V&n}|L0Mx-4 zZj=|~psJCnkG^U!ioNWwf9%rtzUWfF!mvEIGxCLFW$=2etpx@D(+iI_yqjYX%>Zg$ z%O$6SlRI{|0zic@GQkst2d#s+JA(K!)df&N815V{* zmr-o;*iGIup9D-^63w70O2|Jdr;PS1!$7T1|89V3;%HH>Hb61*5vto3)mWT;60#C- zoq{pDo&Fp%14|IWbnJe4Od68Ga683x^lcZw#9(yKkF2z#74FbX&Dpe10#Ng# zXvy!^H{l^vYXGQZ0Xi!NVOOy<;E)SV?Y9=ApW@?<@qZeE1N))r?G4dsPLn zw!t1-XqJ{#{itJk)u2q`QWNt3dU7&@dMWZHAtl8>d;kN3)IHezGLk=h7nKd042<(k z^2vQ8*a>|#gZejwMYX*o6Do->mVN(i+(q0E#ZeELA2UhtEtjm2I^?l0Z8`P5Y&HU@ zZ{3FsraK2;g_V@lT`~)8ZS((X3#q3N1Q-{-g&y4wYr}?tL=IL>Q(Gn1n@)atJR*^o zzu}bc0H`Pc1E^WPHh}s7w%VDeGpH4L@Er_sjhh(FrjksJkTitNh`vTgynqdK<;5_9?#?vc*28PXa)l=>e*#n*3Kv zerv%@Q;OX-g6z*lHxEDzeVybRB~$cG3!#P2;jt5-3rIi;GXPNK&o*USnyZ=84hKec zMgK(7BlS1;=aY1t zeQAiy7A+qNHzMff@_b7(;-ig}zqqFCWAZ}CwEt}upz_q0Z(n>o0n|<3 zVAWsgm-()TgRPDVNqtcct}#Mu+KXrt${2JTQUO6@(UQ0!iEhatZPytMb`u5$M&R+0 zgQPf(C8w?!m+9S`{p{&V)K%CM5$CD(6JH?(b`USQpPswS??3HT#8EM)CrUvoPwmTR zoIa_l&NNHkjRac`sJ$P7c`VKi-r8CrYDiok^FD>d**vP;t-HJ2HMyDPy?E43B_4H^ zt$JK)Cj`x=w#U)Y92^}@V%Bxd6h^U`buDIjZ)|QxNittG6FLj0N>4HCdf*|fGGx{@ zUfz4uaVhulyJ<$o{S2iHlIqaTI-C~WMS0rm=$H3~MiLF?1xQTiWo}89_f7)cT+tVG zgh5qF?3{Z_^XExvTQWPGF7AqRivUpLQnZA(5BhuTdW;v&vb!Eq>;b!6SB!pQ|7l!K zZkcHVw!=y>>L4R6*%h$d8yeIg>)P0YNeWy*y>EdXZ2u|o?Kni@<^xofqph#fe~&{V z=e5T6#;&zNXXPa$2)kJt2G$h-CN!X2Ezi>tGyRSt4*3XVD$6*ie^;Q--+zuG&I7*< zBwy0jr;hfHd|*acTCIN7w)f3X0aE~|)v3oe2FxmW@$E{*RuTCVh~Oz+urh#}l9h^V z3NxqzsLzgJ!`ac^bK?%QxogjbrjPkd-#0*zPdrOQ&|rfG@SK;EY}>?Tvu((>#WH}B z&KQpjDn)Bwa$Ds9m6(}AbR^C5_wi!L0S#Zbq#kX#R~Nzv^@suL7Ub67KnXoC3gyLD zGj)n*acF~@fT`Zd&W|y&1UR)`@-={(&7caP>ivjo@w3(N-zl@a#HC+j`P`Sxklwr> zMlD+gv>y^r$m#Lu1tqIj!xh}z0~yNs%woKpV3d~${~LhnBP(4WE=iwjxX9m~%q4=1 zgW^SH_=K;NX$=36w6QF7tzcM zU>)uK3;@+05_IHC8Ny)kLf`b7)tQ5_ec@%q6`3f+8Ai7RP@kb&F2)S#H!!<5HHngw zR0g=f@Oa6^>*yiKXb~}Z-I&tsNRGMV=>~Lw*j50wEo9p791l=M4sfxpHxp!0`Z(-H zZ%n-hnTWa7`xep;=G~B)TM+DXh{$VZ`Xo-L)lLGaI%1|Cz8JRDt#96Y{fxP90Gnw% zs~#wxW2LtEp0!UqVg})UEgpQEKr2-S<d@uf18m4e(NCYN`ulMYs@A@ zt`KY%R3KAJd>KGX_3HyYiBLS>nja4BC4E8;kEmb7%9$f(rqRiF-R1#m260tVfspnP z2!*5l-2dF+&p>WJ`nvq^|39Y%A`$=nReIH`RgE`ol7R-5n#70t%)9SlToOEi)-ZHTi~`bf z0IIYQir+vkO4WkW=<3L|BKhpkr(QWc3;B-b-aM|MT+*W4*SQ)S+A)EMaAbzdt^Ej# z7$Ku&z%>vIA&-orC%!mK098lVw7s0FV?ozPOX|E-Tk@4n=9<89Uq1wQ!TE;~SMCf$ zbutl?1mfED$voLD5_0CV)<&RcA7;k+`NOmr+5aOfUvoxz|~~1D}QfFE8>DdGC^e(0!9`CCUwyJ zLCm_=X4Vz?m0ztW6@rb?-;bY6yD2zTx`w^3gY#!ysiFj7Cmcph{mR!jg(9DWqoXT1 zlBO4!K+AjUhNZe0DV$S`9a*+;4QHl)!t!2>s+$I;+$rR_6l|dx)i^}0;^snIzhRcP z7a-~84lD^4;vmI=_fXGU~3SigCQSihKAmo4P4}Z`$vymI>e_ zFM-2m2>I!Qat) zkOI?8$e548aM<252zQY&>OB{r>K%wH558|=z{Y2w%AOF8(7qaM(hNY|PFyW*tAFu# z094|;hRCnikrmUZkPc7JpFxcQsv6>x=}g#>`8oZ;rM#@XQG83~1dy!36K2zgM(6*8 zg(!e}%m6eql@*}XENa+1+^!Spu?9@LBZC$qFHZY~-&2~$x5_=kG_rJGe%KFuU5&ih zitMe9ywdEc0ZEIU4FaeSf)cuQf%uMxp<|;HLQ7%o%e+1s8O=Gb>6H-E9iwO$?gfBq zxkc}%?a5AdZ_&Wm`kS5?>u<7C1!Fb=4|HwqsFk zn&biMs+R%QR0dEj-z1G*K@M12 zqxyRP95$gVm*h2DsK=sGCjKC|6KUocpe9*4O@tjrcYQg|FY(n3Y7Rh+Unr@A-beAD z`FnPWulAm6f@ZqiNO>UjVgm zNDa5PpefcsL;9CO^Fm6r(246+d{gM)>w6KZt+2raP{R>3`HAc|bY!-g93gH>lE$^+Mxwv)w(Y!cvZhonyQ^-AH z<}&JwY^g%u`vgfkl{udV+>G4V2fiMReU<^JpeD0F7jW%Jc;2VekMvx4S^)Kz@NVDE z2@NAN>(P@(VcqEXr)+eeejWMP3@QqJFkF@@B?g=nSUvvK<8};rvjnTwH}o1yd~F7m zpjWfkOXACgNlUI4B}niQS%9kNg^1yr=<{tdwfU{(yoD4ifO^bX@F==CG_&QKq^VR!F;{Jx>%CV2uYLV$2dPC}duXyXlp`leJusiuymEpx?Q293sFOx&SRURjc)gaQoUQ`z(S=Bs`-^^K8fcRR<+ z+;o0{I~A~*0nk+_EX~w@HksMbkJIiDNbo!@?`5-RA%OExet%Yy6ckldOM+jYnRfSl zmUchuh2M#Th@VGV`Kh%3^eM=3J=VzCv|m>Z2;>1&(+)|{65=-y_QOh<)y41`jBwA8 zRT8HkM$a^CO(oM(V(nLbWfhZq0LV_*#u>6y{JaV+p?m*^5)#n86&Azym5svN*7Bm{ z(s%C5AH*x@)!F2KEA~PAsNiiN^4LbcyNIg; z>#McaICUj6s7f!*x*RR4jmqbB!8)elGJy)`1JsWJOgdWN60FT)bqWpG`2cJg8Ykfu zORnz%sQ-8o4^-!RfGWkin+Ge@P?7j<(;g6mG4#pEEI^g4h&wRIpHM~ypmxJbAB5$K zw(m+uel0+!dM7Ut(rLM|W>5uCe}r`#i~t=ZY>tuUaBcL-bl#ti(a{n%R%N&wqosPv zFXU}tWiE9cGpNj#=CnsgI-a&oPsHj`4K;Jqy&)ZhG3$_#c?9YK z>b=}Y0DLDvwd^q10DQK@cYm&*aXrl?ijIR(t1rp`Dl%VtPz|6e=y??Mu5y~Ul75j# z`9}RvbM15E?NtTgbl(Eub!rwe>$UbQo{;Un&av8pW^0;<|?mOq0U@>4p!g7&aVUi3uH zXpFo4;b?i}1EL`(EL!LR>R`G@dr+$i+7I{HCxAcL!T@R#H^W*{eI;W)1S7ri3PawQ z0on_zpuMSD#q-Jg{2;!%#@?Oy&qKPOLH@^~-ZdWa??Q9PN5{+v7zm)stf5yj`$*}X z3Lya0#yyei=g`goR8hfPmV@r${nr9ED(ofYxd7_M2LJ#!plgQIF@VYeLp+IJI zd5N!R?W>@Xp2(A-Y%%&yfT{*XrZD8J_H(1YWcGCwqomA6ven3JkyB{Ak>hdTqgGQu zR+(J~YDvJdIY`p^r#fQhM$U>a+M8#2{HUZ7IU0R9^+yJ1ZGc{mlXg)--(pl(D4bjMa6OiyFO<>Vd8Na9!H43;{a16OS=bKaeZPBIHoUG%dy zzxU;{Q3=-Yh+Keb)uOwlA2&)L^0Q$nwS;DlJc~j8cE0KcPLoUd3!u*D6?>mZ0$#sh z3H-o)IaJbs@av4%$qRQ&F7d7UUNfN@%=r|trseS}TA+36SLk!PNInAfdltO7g#2~% zjLOiySDpXcd7tjK%=d?VsOr`KjsW+6|6$y?aa2N9t27wY=@3X6fGS}qBSY88TqtW3 zkh-vv?X*Xa%!rg;QVlXxkFVa=8vyz18W1#s9cyk1v03hoUf+M!6r2?{{oA*N#F?Lp{X zbB9ZH=#J3u!?5Rgi{KZf$tN|+%%W~*nUO8;{n{_@)so*byyk94c4OXGGL|cW zhXbPM%+#L(hMVMZ^>2`VCX=s*B3qOmx8g*B7{M9b~1q}&nhNg=X^d=wNXs-E4O zOF1{rMHr)-1vn?6t186fMo1?>dv~b^pm(60_CYxXog3olvm<0b8*61HY;x~H@Bw=M ze`t&LVh4q!5K}(MExOXpf#e@RN$C96A5-t9)PE&9c_WI&b>>2O*rE3%+5!zc1}mlGoduSxfTzshpk+D<_!sMXP>QUHLjb5l ze@3Oz!U2SoK?FOME(zjIt$W(ZTQ7o0G=pkqXhuvMfTkr;L-LZELG6rjc=`aCj!x3> zIL9-%&jp0k%Sl|tmuJ|&J&tii{2YKP*+7|^w`PFMm#F;7PhKkJ{qp34oO!{t?9?WT zMOmr!eA3{$nDI=HDy1FQ7ObC18y0B+JjiqGskmD=gj7cJ2m;fXCA~#`&9-|6(vq0y`VwL8qk7{ zq{)Oz@?Bek+JaCI2C+2|-6$mS4m$?gLGH?Pj;y-LpMn4Z?wUarh>Wuf=>kBVMcZ6; zDXMZm(qYZzhX7D#!$3a+Naq7y#n+92pN*&GfD0&N zDqVoavt|-No%jWIJ^)QKs2RYSt)6{TUYZrvd8_S;zZ=Y|d;!$iGr$plKz1QVt+)Fc<@clAaiq*<@{O!*?kOo9DXM6g6TqURJpV_B;2%+0p7b9 z6o#~mPofX#Gj+pEE^%NXCPfOFtd&h6$d=eP7J&LUWZ;zyHgs#`))h3tic0u68#V76 zf_WJ*W+gJJ1}}6H+lFEqsX(I$UE6=!7?6y;g|kNU;CtWs22eAhV+%jn^{Off-Q_z- z3Lbo0!fV%F&Hz^>jj6KZ^5p?rL3>ZH{;gkicB=M~@{U1SW-5?;iPC2PTPqOa001BW zNklU8ASus^y~H{OF~zU~!y`qdDCWSi_PLVmi}K~|F&;M8e|0o1gedCGg+@G69% z1dVCKb|~1XWj?(C>ZA19)yR+&w?W_#K!x`7#pyv!1{G_*$V#`FyIo`GaVK;p9#k4@ z3j1fO+5l>bqUSt?C_N8bsF)jZP<8ep4@Ae_hgl zuc93BjkfO;?5^jA4IAe6*=HZ5!4KiTr3H{E-+x%LM8;W5u6Ma4m~@HGbgkl&p)i0sd57EW`-Ie$tL|RhT-*S?N)VM>Uw57vm90YU!MjnW5(uUILMZzzgmwF3U5Mu}K`eKxe@=P9vIN?*PRO|EnHuPn8>Uwn% zTo&+;B5~ydR0d|Vi^!H9H2hDFq@hV?nt+FL%Cv^oSc@ec z^3YPYoBrqls+^7(N}!ImEdwMk(?3%NJfL?qFO}^f4CI6M-sS|}F-4w|>jJ90uL0C) z5kSqvPu|<|XE3KJUOx}!NQ%Ercjdz;x`M0mB7WRDSMYm?rtV*$AHc3H@x7OeK4FDT zcIjQnG*Fd(2Y@;(iI4YC8#q)OpU?FamvoInNC#3#JxqTC`Z6=9@$)3Q;%g7;s#j2N z^y5Z!QaO1^{7M~VLXvNoK|T0FNFvDZC|?~1)ad}foO|+UpSm~wmjh7acO%MIQ?cj} z2A7;mU7^QANdE=DcjYn3SM-Mfss>MLQ;yMQUSLnKG3ajkeh>^@g$&mofb__1uJ8!0 zl<|3JthNx++&MX$=dMynek|(ew2C|#Vu=-OuPV*BWMQ@^@~b8Tck25LmCS&IkDz-Z z%SOjk6oJjBQ#M@XzU1GVuVLq(;sI)YUV)UAr@Z*e8QZP5GbTF)PzSl@gd}ndP%pm1 zgIV>2T3NstvEo)E>suaz7@(f(d9R7E$P(&%!j+z7D*)vTPx%rBP~V5_j{PMd^&;|w zt+WDGRkB{s#Lp(&z)a}WI}uR;^>!x{mp+?L)KacM0a}ey_jE+hD9BT~nisb-Q2z-4 zxS}SmJep;lBl)US`afNcFN&Eh7`=r5Zlb_u@V@qt=Lf5-=u386M=sK7hV;+y3CWSA+Tc@t0;8ipz`j8Q)kn|o)!gfMIZD!b z!_^T#+J`#-TPO#$s_v7@RM@gE#S-7&yFr5n<#COF{=@(O+!lyL`S({UEFk=SN z*BDeRgC;YJNwg->{smV*E`cEhtaN++5f_@L0zeg4VGLS;vP~H3QhvH(fI2YmS%`xG za3i>|RON`N0U8np@gcvMrxdYQj{er zUxMe%v3SmW!|y-+-H&N9%}&U;ivz;Y+Dk$NW$+oG_I^~{S^K&aM{C$}Je&Pi->KcR zK}JIAXq3+rn_T+O>s_7Y8(nkk#&En$PUPqZZ^x#3miMyc_AAaz?Tu5V4meek{IW}fTI5sAE5SI6@qdMoZytj3-ycYx5wObKlJ$NyGBqCs^J~7u|Rs>F}(pSh+D}$EDmrW@KMSmyKD#GUCx`+lx80H-S9-jjfU9zU+;qfX&B7qTjK&4uW0kBrL#+pV_QQ_vOdpnlba^a>V*by_t-Q9`$0eo#aVHAWHcqQ9|s;T+i zuwHfYt&O78d8?an}Ub)FV2@l}5IiqU)Om;EFS z-onyvE?|!;_c}w2)F;JxfT`aY?CX5zM*yf% z?3`q!^p8B8YN>ee@*@XI+FZ6&9Fv4nIA9+Aaq%GHL0^>xLu_z~1jGvUeB7o_ z*3f+s3>1Z$sB!H}l})~@l&*hcrv%UE#R~zHgY9b~7IG`%hb+lyVCJs5DVH&O0Y|4M?uA7tcm= z0Z?~LXF&MQ`flUCd*wJs$}1xCGhGgCzlPAhb0N!Gdbm^%Xzb?*-H|2CkV?wN0oq85 z#@ln@3{7^&z0kC_1;|-rg~4*AWnjArFMixftXz2+d&K8y9(?~YjA=GHC-&eQic_b? z9h=;@<+hv?@1BQ0_wNB;;>@waC_z-`D38n$Gn%y(K+SAsPBROOLOmI|@$#qC5lYQT zx83j07ZAS+2XZJmzk&n82{W!r5Z70G^5ydO0p#%|FiOX@#6^yVIC-Ddn31iISFO}T z8(m@7v}?csh?e;3)d~?;nk^Tsp4{YXV#+;KvkZq2A6e6lIs0fk1 zmsD30CwwaYR$hN9G<4<}h$=*l(yJL7K@NJZRR*PW+0pQU(uvP>(fsbC_dGyVU01E7 zuBf)Dh|9i5vb-3(OrCuwz{C5{yqaw-+X$G&W+|PLa%T(~inFAPe%OZ^k?eoVS6Lk2 zYuL1D)BIJdmQn|(%>XLatEm{2rp>JO<$}xXo-Vk=&PYW-5Js5T%r15l$lA+9)a<3zMF z+I9bPi5m=%ByL79CcgzxCm=C;{um= zb*W$VV9#o+WF}PkD~{s&5K7d@SQ@8Aj>EeP*tp;DW{!=>UvisC<-Z^U-Cm@b!Z9&x zr~2i+O)7D!RF@gcE*u*(`AzaCNU(RoZO8x z^m|f@7xt>2$Q5C(uy7lmg-hWAtf%XX8NP{*myt5%TwmMSWy{iknIC)(Pr3qZo7?%`d1=L)aoM7Ll@oJr%7r zWF)V~QabN{OZ@TPLDIoeRtaHPc95tXD#;1A*trz;e*}{3xi7fvM5sw@N>E&R_LPGp z&7>+UE`{9x&V(U$g+^S12VWV1GG5zbt7t+|VKs5zBCZ`VbCh_;-w*#4P3a_kb}WQV z?;|dS)@s}<@ zqylJveJ+4=AogK+FP>YJB%Uq#MP|({@c>mIM>DJzo%}U>n!-XzqU%#%)AM=u+vhz% z)e>KusUY1NtP34&lak2}kp^HZfO;>+S4&o9ggvNHHT2aow){22Q|8LYOm^wVCvtXk zJvQ>u)<#f%S$@Ge-0O$2Yilw7H#4ZnWQT!kGp-(>CK)PIf(k#6OCVKok<9|A?w3S^ zfb)SSPcp$~P$BBD2UWzUy{WOMUyIBOl+iERgQ_LIK|k1gCC|fGS$k^7YS4fNDs4ua zh?%${BA@a!`UQQ6;qGdShLfOr90;Af&9tDx!c|OdphM^{Kf9len)xP%{s6|FjRgt- zF|^2vkP0CH)MT&f&b+0e)f$t6s&9SU15_;qPQyM>hi~e<3^$b$ZyBU_F$OlQ)u=10 zUB>vHh@&pxRRmCvxulXMvk8rA-<*!^{Q%WE@O-+W1G1b8~*n$(pfIbj9e^A=>+iMp(X>|`17Dy|XowXkGPhwg zWp?&7FNt)D2Ie-yzFVeLce}6I%WbM#xpSo4qzvkm7XeVKGtjh+E!}w1-IvZ%=z!+! zO$Fau93`pE_wHQSZw$7X2j8nkz=GtFan_hy0&mHU_FTj{9yuq6NAm!`pP^tLK%QxN zFGs*+{b&$Xja~_fDrdh;mrncgD`tGJLLNdmth-Kcrv8m4IHz zRRSMFT#|VUL|s1E8K}eG;yqEAI!cGZpmcgQ4`p*@?WdeNqto3xlsAufZOOj_GDTW0 z)F(t_HkP=XlskG?m1w3H|E4VooNsHG~bwYAL{Q*{7bz>K7+* zi7!2?Isf!a3E{~`#xXV3lIU3cC+ z`GYZ=> zhIl$3b;$!reT=$RKY@u!7oLSr%aVWMRxR|`65m6A;aqVaWHNQf0Z(|lOj<4JE5#G< zd;erV#b42+zs7OVF>G&(yEB_AWRPCB9-9m;&6z4G3Cf~oD%?Wq$CUT+bVfa;R@KfJ zC8)IYI+p9+17c+KJasn;h~pr#0cjG=qJ|Q6B1C#5`%z!n>{7pO=nB_v!(5RN|L#y@ z4gmFRpl_{!x}Y5}bCJJ_x(@h@oC?Q+kOZ}y!tF&Ys9 zK_3keGWO(U@&T$C)P|dB6fLv8@Er1@v2{Om{aOI(R>`p>EH5GNzaS^N(193kI*d;H z6Lo&F&P!Fuk`3~T4t)1<@YPw=rzrPX$W!rk36RPdyB}GhWuhI6xyievXjE%85lWJI z@{yj0dH?WxtV!?d_n-mPn6CxXkrNPXC7EWhmkp{j5PEn)FpX+TY9O#J41&9Jgqe=#&#+)(D`6xVLCqe}bS8Kuz|l?$Rt-6h&&XCaP;2;|O7|sve7f z%X9i3{wqbEAsafJkzM`J{2(wsvSkUfO4?ju^&(znZUj)tCod}>kNk9=V$;1DS1wKx zM<3F9yrEk}GrvSLe}N1-jIJ(0+05qte6F2JNB6yf9GcG8XAwjwcw~7C2-0n&v9iRGW>*5(fT|T zdwb%A5bBbA>a00=`z>q%*hIthItp$4ZNk|}oG^_lQ5i`Qcskap8|~E zk$d`Ct2W$Cd(5Go&ixHbYl^(oiE5K+nctNUcg?a@0fK(R=Gya5m+pveF{*Uzq~h73`Oe9uh4?3 z!Om!T@6{|NKIwFpHR-@>#X~?gM6veim2z+4bvJ|x%X`oD%X{@)u_}8rExnaj-@lAb zJIy5imE~4b5$-#feW?nd>e*|M$UirF-v~cyhEmSVwC9%9l&;d*rJrEo-9VbKpR|tH zBB@wVBB6fzoDW&vjMbv}I>JW#PqmDvh47WSGI=3WF8q8C6!!@B=;auf#~n@^wIhmH zHEPt5zjW_v^zj<>sT?FVgiJ$7>$_|Tz^(S(>gde($73tZWv}Y#*a>2FLc3NNrR2Yj z{@sNwEP$#})lWb29(;dt4p~rdRTYY^a0aSoOyuqFEm+i!m?`%8#{XsDirXR8oHI~s zfX$>h*MD2LB0!a;s4lGpHeRZ7|*ikL={q0k5~engG;Zl><~uM?=bM z?kJ3y`K1swFJ4Ox>>pV>=kG&ZR)VGcG@~9v>^Q27Cm8`l9Sk{RqED~HB5HYqdXEMX zKOGgz;i}Wo{pm9rRP#%zIebEx3Krjgwf_RBkG$u-RQBzX7@M?} z%`A|v51qe+y`nlgfsoczQ~;=_wD&X~=-l$Pif|!ESFe*ZFdF3o4HiyLX1^- z;}?xw`d#X|nYc-PQr&AZFh>1TkDym#qb^V>*_nf-2f4223Nxs>pN+#WRfM2==v|P5 z=J8iLM1kk)ldrJ^D2MoS0BV${&8E_4Yv^max7=XkB-JV3SLqdMqoLzrKyXZ}W>XCHwumHtga+yuH+ir&+)GZ%M3 zSiran2Q_2Fh`RF%7DO{+sZV`6A#$c955MJ+uGN_B?xm0`$*XaNu$g4y$q+V{P$aL= z_V_G7)w8;gVl`M}1tbByF(dWcaWo%ITB*~ageG*R=%>#za|w{#3JGf_D0vi>>J8+t zX_CdW0iCGq>NLx4VyJGSL>;ZZ-^mPxze7Hd@|SNTN2tpQms5V!ggKceKLk+U`5R4* znmy%4*cO@h=|6m#`SH~SU`96vqyL?kkd4%(K_I)l$PLn99EfCFD6_lEN;hV9QhQXJuc=>ApsB$=v z7tCkH@pRmiOQ~N6p0WiO0HoVFXugKxLC$N+dlFCH%IA!+)qTy-+Jng`#B*hyt{ z>gn+Az9^MUn*7ppe;YuR2VZlp#1S*e5_kjCa(Fb3L9j9nRU|?A60E*6kz;ZkcMa)u zVnSwO0-`n-RLJ`{972a_HdWrTuYbk^)RVNjM7_b*s`LUrqn?RnkND}0g~)Lf`_(AG zZtz_{WavjwVp6B@sr{!75kw8PY;c<&OlJWq&1oTtFL1gq-P7g(#M5{WP}d_)x?TcL zk#z|2owqkvJ1)(n%Adnzx=8@FDZ0BpT_Pt%%2!U1>T$Iq&S&sfD`?vQDzBy2v5W7T z1)V&Bd?5oJ_ZOZ?uYW^V>b^W^o6SM|g(c*Rc$_$3z#;e_yTPP zfC?vN0IHsaJO!qd=YUF{D-Hs|W?3)hIyyH_Q_x}^xN{e1pbUdz6GEr$Wf4Hl=MR4G zSc0Z|0IkX}P>Y|!nFw)l@D}Q^74FJdRD9Ji)o1s>`EcS9SEI$?SlI%6IA+kYx%+Qv zd3Jo^e)5Kk_hQ+t_82vz-NNgVELOof$Ugl#ns*q&`3Cku3`v&ZS-d2W)|Sc~x4%oj z`~^;#P$;8tP;loIml8NV6+<%LAkW{6D#0{kmn;7j@3=okM8vM#*z&_X`8Ta*>T4n2`y<&Hdfjux>kDxvp@30^V)0_*t8f|KMYdPNMYi)S0`>M0{m@I?DH>mSy0(tO#i?Jy=OSs~C6k2h1;iaU31tr!8bzX)o zQ2^lXd0piI6@6*o)&T0qu-`P|!S*$ZyvdM0ppfOlN#Q_iqJQgcI03BXFY`R9o8(mLAPAuG%iMX>-;X%Q1610>u|zP% zR)@sctQw%wes;LWOH;7GYMOw9DvAmH#1JwE#GG1pOT82?5mIi4YS& z-TVYB0{dt%Xs5^{37SPshCiGE)Mt=?XJaG>;hn@&SM7~@Uj3!_@Hw9DJ!nV-Py;z< zvo<4p%G+rEp?-N_G3=-#YBC`qeSNH)?+x(d0EJb7&So^Lj=gwu7+u0UR0>d&Jgp4A z2Y}iZbKr2grWQ@t;XsURSZ7sfQWN5-2dJ(qfpy=eYvuL#z(2#r`y_GVk5F&gr07Q; zc+7ns@G+hIk&~;7Qd+n0Z^KUZt**H#<+k>uv4>ExT4Zu!T=0-w zzpHF61E>O-D^W~;`Yk~2J%6@orRByq85W*PdB3@h`gUbtU(0kOWJc6f6O>b*gK2nd zyrewk;OqO2can5DCnm_ty0wM=Q6F2}tzL@)kIX~x!F1ex5b4!)kO5TWG2qlM^Nrg! z`Y!o63>#Ab^-6f1F0rEeAk!w1UVV~8ua2wU#>mPVj683+4Zh;l>YPB?G++D<=D3Kf zAy2(t6ZJ#n@QQEdIwPo_0k4$>SS;U2OcW6Z$C6|Gk1U;@xp4Aax z%b)VgcD3%NRvR9KauhczQ%B4Qpvt3fQzV8QO-K$)Gwp?TUNysKF2ig+#^2cCR1J>o ze;pcJ5{ZBf;|CApGI-l1^DrQP!|Vp}e|0ByTF6Y(O6sR}h=Wg;mI3_COEl5fD1-|b zv25wVXeQg-{8RGAIgPy@zoot9$mG7mU8+0F@hSjRl?CDn!dbGH<-O&%<7M+E49U}& ztrbWi`#Pw~dV>*GI6B&s=jdoB%X?Qd6Iz4z>BccJ4T^K?llM~gvnHT+?2~Cm#?$V! zo4j+Rk||M4HAT`KYE8^04oe5rvb^_(N|yJAxXPhGQhQ4l&?)`9L+Wqlyyd$D7 zYbbayGglKSaGGp@5%0%qSrSkn$S z4uIt3B&r$Fh;REh`ACvjSz7?X_m-mbQ2=du!49=)>Zs{L-0-=DcX|Ob`3hTJ-g`UK zFp3}Nt9x@%5;}TwEBf$Z>c0}Uyn>0Ay=5#aJ_+J_m@?v;2pNx( z@xg6j@2L_m#lCpt6%=GK4sp-m^@wBjApf0|lOle7O-LdRM83~G$pVDceu=NnkzGyX zCB)YZM;z>k83ww)nZ`5fzbCS(Lp&L6C0xpP>uZ!jzv>KB9gl(Dv?abf3#rg7v~UP| zK>^fn8LX1W$_fBg4bQVwF&)PX=zP$Z#<4%VAL68i7fB{lB-bFSAS;w?D>Zro`P3P? zqh+!G$ROma`8v2BdK-;gk4}+wzF@X7YHG_d%F@SnQET$2AVPYE3M%v?sZ=(iZ4Du(pI0nqk4^tS-&9OC|j zx>e8<^anaQ0MzOjqlL`m6v9T^F+?Rl0&ST#Sr7G~iuWA~M-}H(DD$H+@?`^jI}=`S zi0!|gZWfzV2vkur;mc95S6|pF$*;%Ju*6rCzd1L>s#4_NM24s@^q|*BvXY=zY{h`v za>)Gn%c=&mA?XgtLNllWsJ*GLjVTdopdSw$jO=`s`qK`YrKPpqbl70Ro8C<53E72X zax1Ay=2kW2oo1M4e@y<2b8ljBxDv|C$wJQsP}e?K-R<}(GUH@)cIdw@04&vWg7`TO zG&cK5({m~8b_TExMoA43A4jc~Q!uiOnb1^C;$1|;Kl3Rbd`DtiU~}o*E5wiNLg z4IG_+s%PGV?_ZG}G~^95j6U~+7+yujeP>7js`jp)c^dU)<~CNAaoQ89qs^v5h$_BS7qQE1YdHozYDjy%Mk@>Z1&_)nrnk`ysQF>m2@KXTw ze%iIgssy0Y386iU(IE}^y+qW`pgw!58Y3^O&EM%Z^J;Z?H3O*X3Z>yv7q;NDm`{4l zz@e7+?!jK`@Kb0;O|5uba*iZ`Dxj($-ud`Rzck)>hx_8!>X63H4de@5HzYsp6V>s3 zefs-!D#Q4iOQL4fOV|&nz80tlvmdB_iY8lyidaSSoOB>%GA3DrX4$cr^(v?!)wMn} zZH|)0dce9x-#;fk`D>87-w}h{@L~6*YK2utzW5*h{};AEA~L_9H`~5_yIZvi3bpw$ zB(t#-n#?p;5PSeEGw}Lwh3bZ97(5p5;N)3Ir%wr3flnDDM{s!~CYvv}Yz8#|)MDL8 zLXwZbLLnTr3xjF*M!4-_I9q}`lpo4dGB|J}%6}Q0y*CC$ljDd+ePx%5>y)OrABN0y zUq%@Q##n}9+rXt=(Ow!IR~*HKp{4LcDdt)Cn=kyihUZ)hpkC ztnMq#>*zVnKwgKCKLx#8SlyRn>9G3*RMXP+NtnyhtlwfFwS-)5YVU6@ifoCXAVU1b zJR80UvO_Ux234Ro)ZfZbaoD7CEW3u!Dd4O>EP*5`_X=3fPD&w|f(e=04U`q_^)AZh zHQwPo$XLso_l7JdFXOrBUOFB8W@Qk+g!>P_?A!F%!+2NNUU|wXlAI%H|7i`BQw{Fx zY{F;$P8OZmf(P5_1gNFN)rFqQ1~QOB{b&RnPx>yGq2M|Yhq{HJGKi7^sGFanOq621 z^I$Xb-35qT&z!sML2XCjT5G2uM=-CEQULY*u4v_?G5k~h>&1A{6dh4c!?LH_&7y`! zLp;S)#)6oEhOzTf6B^QomefA_G!=%x1`Qxu!ZdQ0q^0=^VIQhA{{*zRj+xO6YGnXb zGpCJqV&P-VbSb8xAH{0Ln*Sy78__8lX_C}IzxCBdD@gnHht!?UyyEA~uptKuso#;j z^EmQ|>#a13{}!_M{T(H3H_h0aWCB?e_jz&i|x6bWd?N zOdv}Ldy4>K^i0n)Kl!q*6czP3TSc%aZ2&VVPx0hY^nm`1JRv+}4UPtl9eEPdYQ=i$ zgXI0h1Im>&dOpF!^q-503{dr4<4D?rF$z~HcXsQot3422DBmUy zn~-Medh@J8xB9`FZujL)UFz`K9=Ii>VxaR(`t)UHQ_Iw{>RZn8EC-;@M8-To1-1Y5 zR92JZ9x=lb-$tsF zg4zQE#I#ACk`a4KR_hGZ7a^$2umK063qHp#)Ru)bwq#C-_&EU7ZXm!jQA(N|39PG6 z)tl22Qg3fT8f~!|R5yRO+k}mxf!11w_$Zc!3pMJB_-xCkmhehsYY(bCWw${0ZkU(E z<5>}3VTsK2OaQ2@VE>*+`3g(_%eO~IsmPY7Mw(nYT4Ja#Vo1Skgyhl;ssL)+VtAS^ zRr#7ou1V9C!FykhWfj7q2PXNxy3Y9S%)le6b+yVJ@ zDC+L+y=R#F!BLWL_y6|)k|y6<*sx(kde$rikTJbj1p#3KF$gFWrG4+6cOMFNl>t<4 zTYQ9}86+}B25>3Qke8k-{S>YjxX_9wP<1~m82JIWpy^g(7}mmqE`&2}y<>_#gk$rP?zxDFH3x?x!b`&m;r`5+Dlcd9>-Zx1#AVLVg24tt(-QfmlVbk-xFC zIC~I7>vGymf>txYdCieczLBq6T^a)=eH{jkmiOMuOh=PkauPsg9Nm)D?w@ko$1|JC zlH0Psq|Ft2lUoYx%+!Vm;C%BxuBt%ovN7fE>pyZN4Z`>|W?jSbUM-v2!1S8!lZb+< zzB5_gJB_ZF_ukC%Ud0m$>A&LmwCIugd>N0rm){A}*aLDB*BJwUAselaIRqDvuoX(kkroGsSD zh-`oocpCCN1-*JaHgv4d^WS-kY?Uu48$<2pf!MOjkI)H2sXF?+yd6IhJ4EF4!9-Te zj`HW94x$fb2Wj?n7xmvpJ#=hC2->6a=19zyp5BA+PRL5#n>P_}(RC) zWXvIeO64{E{1F;fGX%%)M_S~Dg%BqXpq3EtkrCcmM+{JvMCTh%#Rv@hP&N1>fI9CR zW~(lb0BTf3Lpq}!RzVA_fEs9gfzq`YF_)fCy=f5DLsiLiX!2V(a{%gTSOSurw3y-_ zNL@agMWfN6A-&?i@fG5?guPbmZQqv;l!={E4^e&y7GFQ$gL&%_$Gp?8>ChF_)6SCR zy);{DGpCdhz^SUFvl=;9IR~IxUY1?_;lKCi9qEG9Z7W?hv+^P}pw0P17Uc={@8 z>tpEPLk&Wxe-%`|Hd}r|Uk$~wi~(x?>ujRl4G>ORhFAqa)iR5nV;S&7{se%kVzkOe zOA~jD@x^MUb<@*)KZvY~{k_Wm??uR9fh@x9KG8yqj>4w6A!#ir|y@hbIg|-cDkK8l}>*1xt^xxiZej)D{qoO>U?M zazoA;sDC+&wrvg)qa7xHTgmZ$6dKxF$Clj-K?|S`MroRIO!AKUq@ZUtS7Q+?)7EWt zd*M;*cYlK%z-b2zt%X(yCfTY9s z7FMrb?Y3`+E9}SsQ9Bm2v4l8AAX1?>S6odQLZgyr2Pe;zCR|wY?q6KTaSceG%a95| zd4Ix%fnWf&D0-%^As%T$ zsJd4ZZLJy886$b!U+~(1*4S{AbTP@II?xI_O5&Nj(7+hLm;V{3paR{>n~ypO%&slb zct{FywBp0@={GUThCgiJ)RwlW=~Bx{qW9K!{}I0E5bgBSqh0!iF&yjA&82jBbaQ4V zCaeq*^FC1=<;&Q!iX)VJIFIY>dVYB?`YaAAPa}RI)ZkUC0mN2cQSPdvkD359YZQAZ zjx5T|VCEOPi<#QlPo~|sEbkron*xjpf8puny!Vgs@?Log zR+Mn%7sT%+2>#zaqUF7K%e|hnx6oH(r)2Z3EUCNz>%7!&=F;pxO1W+={65zJG*yhB zH}z$ojzKY!k;EGznHG@4)!3_z>ts5`1I?&z%EykES-~n&Nb=JD=w%#6r5ez}2<|@U z>8~J5vrCey3ZTBVhV3x0!WFdp36M<+QqdM48>r?=bKeF;V2zy=|2DR2DGKBOl)|Cd zusJKZvQ1z$TSB}Cu^qb7aaUj)%U?#C{+Gw!I@lpAsn160s$^0??-5t+bLkn*6=OIm z>>g;k zd#HRFuuHhMFGNY-fwJoaOOmhRY6evRbx(X$2K6#8iVs7(I$}m1O}`7EGT7igMB{&p z2E7D=!3l^hgEdCO3=oJ7@=Lb_P@jFtd+;4ZXGTVs@qIDrH_>=2sGvGh0Cgd<<;R!7 zmr3K1jb*RFr#7^Vz^U9dYWVuW$B`GMK7tV;5f!&GfU4=Mzy95Ce!CobS$7o?$t%Q_ zbDd5w>l}hg%tr>G>g>c5+CjWHToJJem>M`0 zP$l0asR7ixAh6}T{SsfzC|JIPB>(KIuqU0~tNHCFSAE%bS6FY4tH=KQTD(Iw>Qlf< zn8w%RzNh#x5_A4y-VAEh02KyxS8?ToLsbA&;TT~PsMfg*i(ZZZY96Dg&KahJo@}-i zhL^*=R1u%(y`_^aRva}4plXeKc$mpP`BJkMb$|w%z(}o&`A+?|B}@=!D1iF+XFzvY zo(I5K-XkB3gH_lOAuyBvR1iSLBdI$Anr}~jRfSR*{P}r)DX{j*RR)T5kEOun3s~@b zM0RzJWl1#)FU-#FEmy1#tL@-IY-Rg9DqjFqAg)zE#MY7M66DQRk!2F3ndft@ zC*B8;bQ@lwCo&-?By_YFO>e9EKZCSCuQ-Dm$SqF0veX0A!%p+FtsMc>o2aY?$@0s{ z090h5PLUJ)Q!R7$B+3%iBP|S6?}Z7ooqQ(U>Svh#9Y7VQh+{M`Iq^PZSPzW)lej?{ zH4mXZ$!qrle&+@JY~yF3u3PhZ9k*i|k?&;&H3q2p3Dij^Ad4p8p}B;{evKDp3sBAx zGdXG0YS5vhLK*?p2qYmrmp7FIxr0$SzXU}~p1e9SN=e=ZPU)1)TpsBH$b8`yK=H+Z zOew5N!l@@Bd*=a!7x7T7gZz+#q^JLh(xIhU8f<<$stWlmtFujXZxeY8NRg24fM8)~}Yt@S;2>`Y0FZ>{`jxI{0qS{Dps2<4`15_=GH$LSV zZ&P9A-2Xu!FRzhN0akYLk0J=S0OBd?6n%%_PyeZ{wx%u~Q(4aw{xP0+H{Qoa+ z0i@OU7iP_xgsboo~)S>K5^MAJ1r2F}J^j>ueWGD`%lNvMF{Ob9S1q! z5JLdd&M57fb}g|9mR7^KL-%V~bPJ?@A6R21M%Z6|g!&hope(|cNO{>6xD8<)WI22+ zxPvsmz{n{Pi4(%RngU89iyU;`>jNmE{V4A^>L3M@#x_YyGx8~aUQ$2|_Id|NkmT$V z@4+`XNZJi=Yy%8y7F8^){N=2A^as>?nsYzG5Zpq&R27o?8Iq{+MMKj+M(>Y+?aoFq zBPQa-2s(zQjDA~7+9jmhv5@?pOO{0)<;&cLJlMdpvK)Y__Y^=~PXQfJ%kdegdS-$C z($Zal&#ln+BUE}0TJ?f~fDQ_7i?)?l$1U)y9W_JeD5%nNc^mO4=j*xll1bUVH(;or z;`3d6%8}Ce_dGy7^%Atb1WFRW7J0RS-*o}ZObiO3K1zc$r~K=$WM-B6t)jD(Bq~N# zu^@mdK-+@yuINw4NluV&K!8dk0DWXPJYUT8*2J3vsK}+O*sET*l(-9tGpGWnnsH5Saj6rj=Qx~)tW)o(Jgbd`08mr=;i31p>|2cis>L9(#pg^wmOV6L zk#>_gFx0TMuEouGxxBc*ZFrnKBe_-B9=`m|9%k>}U;qdrOTu>p)L#=z?Oj>G0Cx;V zINDBwq4oOFXUNN(5D}~HXO;sWLAHvk=e$VQlcAk=Xu_RYCet>M$@F9A!7x`+2f8@N z{jJig|3*GW9uWTmh+P(696}Xz|AmnrpdK^8_o)#KLH*kY#{Cec(`@SFA7L%>e#J0y z{@Rw1p8%@%s-A^VIS6ZYK9yUi3PwTgAG+rktN;KY07*naRP9yWQGhVY3)S1u0Puho&rz4vp-ht(-yDdN>3zs|_YSSDCT z3Hj)?_lB$|yn^~X#e+_Jp2W#~Prj@w%>}5+M`O*sPsAX9Ew||dK;64LT|*aYtcl(+ za7s1?R@GC1>}^{DH}sCZu0#Dx%~ulC{Oh?Gu5#1CJEiwf2V{Q$sFnm-T>m^o4`gW$ zc9J0HRqJ*%b{j_FZFxEc>IkRC2@Pao#b2Z#Iw0m~NW5>mnhIJCTXIg}(1zIt9&$TpG1$Q&`FCBLf9I-x5C^_p59d72-{BXb67uXcW~ zt@R;%taDIRM&B0LWqjX}@JUeg0;rEnMn2MhCsNON231*D{j&Q{t3xc+>5eV1bG@Oo zG~YwezS3e{+z^;lS_7!45cA^u3p5c$$jfh6M6o`%>-7|mD*#mOw-!Lv>&tVm^3?39 zoWx6%jQxZa)}LatH6#z%+U$em(sS)mT{s24LcdqvLMD(~cwUOAmVc_|h!}|oU0*X^ zxo`z_;$0MPG2h$LT)nZ6)}SI*V=HM}(9CaA?&m)r>MpwIq8}V3WqSSpjW6FNss0bO zfCQYX5vnqQ?-(*UOMJyL8p-;Kt1}nMJ_AtoOc#M-BV~EhGb^|H&?;jd~WySJl-lsx9Fq96Qhh)4S33D-g_D z-W!&4nGslV7S(2489h%YhiKc8G<9V(A|(`x>hrGTKOci63h6l^CsSO|c{n^`JU z9HE_@m}*_lRpp-ctcK;iP5)5fs$t*nUX+cDnUgFE%H9jhdndEJSKjD)GwWK2Gl;sX zUbv$2>HsJ^_f5IaUrf7y;k~yMoPO*7VtKE!*h2lDe=6->W~TP~GgI!gfdvRfYEC&# z$hR0UHf45ZF4RiZ^4?cJ!5c5>Zs0hYQwOrVSLdG!047bSc<~IXmiONEDFdwt;Zq@* zU386{DTU~{=_J6JLFU*V?N{v$EnNf2hdr*AMp}vHuSa`!Vlrep2HIj+XgH+PVs9qi z`!Sv^dpckwt52qfm4loux?4YB@~=57G5eyNAWwnT&512<%Ee-Oh4LOO^x!xTW{*Lc z6*T36Yz(m*Mq3E73qGIf_n&qtW^2xm{SqDxuJ2%|SNl)PqxiD7M?3G}|h?2z2+~~@?e!C1K5bI;c0tkhreg;qz z11^&;`JxXl1E>!MfJ$elO1M3p=EFGcTg#>2qRvs7X$=H1gK7ZvG*)M*?UTH+RZr7% z+n6m_?OK$tbg7XW-G820~T@4VxzD(?P2cXwHq zW$9hY7P_Dmm8yajL{Vce5v3u1? z?4IBIGjrzLbMG!D&mYg@@AV1;v-jR}rq8#|eCIoD3mu<`@7nt`U0Q>bz`gEq>cxBCd z_okJrVq_`)J#4!PJg!C_Wl@(6v9y|cFvTv`K@H6M#V8#Q&=y346b04gvP`H@-D9d_PV&R?Zz`xxq5dj)#mu>-6_81 zRhTDu#NDWgY~cb-SPqi(UU`Ho2QW_GAfJi&NIRRq*(s=(Gg)n&VxLmH%@~+m&avwJ zsT9;*py+Of)GzS(^!9ogBGf#xNQ)HIc}WFTX1(o*4XLhvb9VOWma0inP>*)!}F?-zuSx-@BH$_|b`uoHhA6-xBVLtM%Cdy_c)B$_}QY!kwEguAF30(%y9J(w=X z0l`z}i)Q+kQkiyMo zpONmz&3k)b-dl)(sk53Q<9^oCE7Y#$0m$bQM+GMTV4&bncnbFBy|x4CIo$8%#d4?= zaMmF(cW_T!(Sf1T7)yWhz=S<7VI4COym_xY{yuyi=DkJi3QM4-fkBE~85Y9FBJQ30 z!$)k)*I|kVaHbYHaC(V|c-4mKiM=ls=As?c-}l1`2mxFQZ8DH5S-dsT9SvXn8+wGk zpVJ-CRC{7+;x(x&a(MK_bYuwRg&~YxHZWKhxwH|3yfz66w#uEL&J&D*&YzAzpe!ul zVLKw9c4yY6azPA8cbyltulkNxv1z zF7m(`Rv>0N{z+slm}|$&=p*%{2T_QP%!35L(s2l}D6@5bLmTp4JEfp**C9FKwuV$u z12qdA@OPk|1Pv*Jv!(l;zF2HV6`qo}k`az{>gtbI=N6jS*XSB86r5R@XYn7%9+_pjWVfI_^x0nytew_A| zs7CkB{?$DHPZU(N1T%{GYa;Ye&b3lNC04c+)D>tgxgd+84dHvqyt;ekz?0o>s_wFt zf_msB5XGV}t^Xj8FIEUP?iJt&KGJs(@WwoL>kr=;>k_*mb&{YIRD~lz@)Y_(9hMgk94WFOp--c_wP-n}7-E!ftk7)(aDPYxR`DPZA$>Gj=#dHVFv<+is%kN) z%vv%L1S7O@_e8$JsysA9^*b~t=*MfNL)nRNFF_tf-0}2I)mE2H}52J>?3%GO1jh3DyXVE9zfTFhM>p2 zkJJLqeEV_gI1oB|BK6T$k9qMdz6h(JJ_#0^WJ)wJLhkYIqjpLz8Ez{ zr3#!vo5p(PO*D~hF9N^+=Z z3)lGB>zsB2h5CGGI;*`9^00vMi{Z=Z(|kBs zf4E9x1VVAyEHJR8R{o$eAfGL}v5J8uje8d^N`JUsCQ-Mct2+7{wx>S*$ircgD8Lw` zaNU7A>}>L_M-HLFY0B|*Q6D*4E$~6+ zz4M;tLTaX{|KBoLU5+Nerjyu|9%SD84W`6jzZV#-Y}acBkwhrXRkswY2~s$}`XVr| zzZjU~5hw@GlX$qI&zGlKU$ADE#qiJ|P;WP4Lx656WZ=aMG8 zDWR0mu`q&U@xoE}YjnP)JrP6N@?V1&LL*Lt_sUCfUij7b@cF~QhM zL6w6fnueN_$9lK~pBSEqW9pLhX%r}DF}h-A6$AR^S~}1wELsSmPV>8X6FSO7X9jx| z0$L;tX`V_eC(7l>g%7ZWWADd0<;r6N zBm!{{Yl-cz;7R<9l_;<%s%3vBC3M(A#s5@6WxNeQWz7d30MOuJWqsX-5Kp3D6;!mA z+Q5jeoUyby1pGMQHpr(b%*U4_Q6_HygbL%Oq<$BI$(yfy6Uei#S13C}_-1^DW(VTd z1;+B2r}6w=1u@c{sdl1$-6}H6J(I1e9Ah;>H2ravTa1vqO&jcJ5=o;S)Mp`LGFz0D zO%zCT04qYK_&PHMM5Vs0MQl#08Zc-BKdDxEV*&BF#9e4w7X`x-S^x3ueG4Ba}^PtOrF{4b|0eo-Z z6DTd;n-s99|2!fmaG2kXbuQQk;AgL_@zg@;6qgsX=1M#h7N%qHyJ?ngCffsm)&uue zF?=(?VJ%2&y+CA2)1uGm==eHgDyNKUf}Y8f?^p2WBVa)~u_lkb6PdzIfL%9Wdj_N? z8{Ay9fPU`CGk<&Fj{T037`y+}ATIR(LHL?BEGPboC?QgWPZ6SL6;L>e=|`LqKIg-} z2RjTaV9^e$f9~^x4cZyCCc;SNc3lzy&<0Oj#cn<$f@KD*mMw)CmJL1)Uv*dN-tA!I z(+CMy(afUM_dY$yWiOl3S)*lBShBqW!Gre41-mx%WzK6z+i+PaA=;gI{V9Y%FjhOL z{yse44c`v!dNeF!6uxB!?Y=wyzP$ zlraMlAR(Fo3zvfW@>B%>ql~>`Ch8N7kDMftzC|;%^-0cw5eq`5S_L(1ipnUZ-Z^Vf zP)EU~8EAQG{l^G6J8jS^hG5y(k(ugMXJQzBJG*MItEh=W! zAL&JQ+JlfvZ2DNa{Bm`K6-YsS6nfEx_MZpE9gY8rb-#>yGw5s)X~)OJ+p8> zPFeDhOf)lTRrtKxO$~0`#MN4yt;hV=-mPqLiZfUVyz+8>RSuA{bQmhk6jxBSgKE#U zD@z)#=gO1#=PZVesWiDqXK>XO&XszgykeEHcg1+K^D|a+thLSuMA7|gh=Pru3yh-y z2(5zJE=+hXF!C((cL>=TZ;u#$2emfi7AdI85+aNLD$*-weA}7(S|C@0g0S59N0>)~ z@vOj=i5%n7uzb1yx5? zYxad)j^p!Cni^))+Ri%AtPV}@I>2=yDlP<1{jLpK?g1sYEC5Uq;L{bbNo(J`(F5(YF&4VdS&nk*N<5+M)dk&0yNd<*?b-zu zZXZa)u3|oa4{h70f~q-&KwDE?NBbf({hNTNP8{h8`CM==6^~kAfB8z{FrL;A10@W$&D3~Luu zmMYg=;po8MN0|VZvMKf3flLinL46QiItL$Q%)%bPO2nG|KS^G6Eme8kB5u(DRi07rC9JE)>;K8=?RG~^Y4NF&x% zdyy8lZ_l85#ngYUqFdk1MlwIkDX8Mz_NqQ&CiSmk+TWSL4(hSIr#?-I@+#d**w@On zTF__h3eXUl)`I_sUm}s`LmD9|6A=dkvN z|JV@-rLzC~{wME9T}kC|t9>e{MZANFM&`e2t6*07-X@B>fN4%z(aSI(d|CxnTEJ06 zu*ni2<@HhQXA*G{@p2*@Ny>!XMfG^Wr?74l>2{ZZ{a1qZg{1W%OsDjs%k?3Cb4P=1 z2y4fTKv;yBD~U}Ormf!w>?GYzu)GG#N6$RKveHmuXx^L73H4i9>#>8n7OFAo6$H-$ zD1+`Bqs=g=pd}o88pQL&A*k~XhYmEiF)kn zq)hhY;kQ25%gA9uEhr8~TR#_qVkp-$TTM<|c0kU?M72)X-?U7%hbGKs9Gx^i6-P%f zJ%PN+;(-oZIiuTvA|FqGOFQhwP!En_EgBfGQ-FGt4e zmU-_B&v4FzbbtP9hP`*oQSa0SilAGfPLO%8Rs(gN@548+>exJaj#PbEgz5kH$3KcK^L2b$^5e_W|QO1r)m+u#{zC zWZV!Yv}K3ix3CuS!Uupd{lD~7h5@P~4}e=Kt1dE<4@xc*p-G=|JO@T~&Tzo1z^*^r zor-vSih9C`K~G&R^x12S`=yixDM%MYl}8XPYEXt=B&Q*|hf!Wb_mVfG`92g>nQ1;J zn!tcv0#}cF@Kr~a@ooo=)w#h+q}fUHoCBdM3My$OfZ3ha5U+~Jqq|NIqTC_iV|0Z9 zNqq2%=N|G%K^+aP;{3Te7^%4t^|nI#SVI{tP&7SCc$(xD)Qit|bU6QQ8=THFS zT>uJT`^O9Ha1CI+j{&je@h81p|3D_ekACPB)S>xSPz?qk#!P0R>rfV~)a9@UeIylB zfcScu6f*eX`v{x$CHld4T?)AddeMS2sHfKE3{!wGwcX@$(|b)0IQb^Ja;P7i-|@EF zL5&ntTZbz&UXP9k)W0&*ti61%+4g*;sXHvg)Hw?q1{Qr9-Ck*SfBS%`+{D~itD5V> z&p7niS_%HyV!l5~j4P;mUqED@wm^3qi$@Vs6x1QHdGTe1pL8FOY^=nLMM|XHZ=va1 zN~%{>rL|23X<9SzhcJifNT7Ch=>^ih2&}^QHo?!NpbGA6b!mN*neivgm3B`rI|hUW z29IDo%o@zn>aokywZ89JKK645 zWogG%3aV&`f<^@BGmU#gH&Fx{iEhD*wm~!GMObE%rC}Rgj__}+4zcigk5LBt)&@Xe z$MR(PDS5&lW%Th!l!*8as@egz*>kvC3hBF)4tPh+!+Ag-H8wlPK!*On_*BEwRJ3-f zb;iCN0YuFU7SXd8nU9m`07plvfQwDVoSFinIIF`id*1jXqWFD#y-$WjemxVk2L|3l zUO7LMX~Ngm?DZ~Wu~UJ;Q$hzxQC1CN8)A$R@Jl!voDOrj?ly=!<)UOp3Thg-#@pe) z2RlTgo^h)L_m6<))N*o569(|Bnb6WcE@?Go1tlw>{jad-a*(}iHEDq+d9Z}I-sVl< z{W|D_{5bAgyPIlFnLmJO{{XkShbv|*&sauWX93FdLszl?%L|?99XSUEMY=4;eizRq zdniQhLoNXl>N1lVAZ!Spi~s;207*naRDo4cfvrr2CifIz928SpNy=@3_n*L+M^Ro)a3cV$ zbe&9NK%gy!>rClKUohnZ*_nk!+8tCy+PR7$lt=%;kVSi~4Eg23cOp}B0C+B6AJX@~ z2j8U3b}oPfB6mp9l~ehd-!U~q&)x4RiTV3a4}#%eB)B_Lf1qx$pI;G$ej=WVEVo1^ zzWw>GX6m^DkZr&W^Ey!qstBNh&#O-ev{g{s6OSUQ4lpFeJDXU81P?I7TtbAHDw(i5 zJ}PpMvO6{wQIJ1ht+!4X!Tl!g=f$)YI5a z>2o@}u_&k_uvy`CG~d0W70G0<-g~E3n!nx6J*x;5*W6N7K^3ovNAJD&T6Ss=gCPt- zXedSrit&_G(T^7u)bly+Wbd8K6tzrKP{WKqe;bBXCch;JE`ObZjR1nw4M!pmHVLn= z37hZRWNYTX7{CXBqV6cg$*MUC1yVbxodBnqYG14#eO3C80daf&6o&D03aTG5nGSzj zM*54D+10u1?X7E1$yc zuMv{8gSsyT)zXcyF1cBj&D3L$qI>`>Qc!IO>$hLSwDyAukm=il|4dO(ZI8rR^7?GE{*?d+Z6ubGg!!C+enTN+>Hm{?G>gLWj007Yrt%2 z_cSaz`rNmInp#ctivlXv(-(xQtX7;y9Rh7ZK@|r$uxr9}yPo#iJ6ZukOIc!o7Zu{4 zE#`^%1X@e9gX$BhrD!*0%y%X8woe6B>C@`a*4x5&5YU;I#z>YOPC#2iJJNVYfjs)X za2$#!ys|q)C>;rWvCZ31KNzuUAuC109o$t@tu1;M@ciRaU;=o~mGsFoU7fTN33Ll{ ztRPsMiWFK0M3mWkWY+FpM}LL9Q>eEExS;!m_Z2v+s@?4z=(Sf+l~nE={GF*@LDhLX zSwRS;Xn}Q!C|r-D(CW`+JKHJ+RcB!H zQ3|SDP3z$|%xujnVck+V3jl#OL!ssG@iIPrz9RB&2aLYHIjNv(Ls1aOY(-~Ib$gJ` zlkNnZWEs6{44}nSHMqZe1yxGvMixmF^<8xb^PnA1fTRC~Qg{_acoF=(#ExDV#7zr` z5J;;jg$nAJVwez`#UI!;OjA%Dj*$L@<5}?LY^wFlE6`-;P}dj9gD=h(%_%qz3augB zWHk=!p)F~_Dw*0z)lTNoN3y6~=-}{YK*$$i^J*8gMN_x?8aha_b)Rvvy&pA@4QVxH zMIL-5L!~IF0_1r_r=Uj7Wf#>$AW!8Mmlj zne3i=6pAv0)hnk~L1jqBPSqXr@L{G`*U)Jg<}h43b1GjIs%H&Ds>T0)2O}%M24&RI zsu}5+hW72dm^<#cgGKJDu;T`A|KI5i3UG%J z;Vw3K4x&%7G_cSrr;1+Vgh1H)?UY6e>hnYq>Z6HpN(DLF;S5t$o)pxTNXZ#sT1$kK zGB9b)tGpNX`#SZN@4J_R)lWf12EY-A@GPu1E@Y|>{g#W;oceAB{x_UIJs>|;UaVZD z7ZVXhm;%T88ZLP2H87DP`^JSZy*&C#KwesmEJgX7P*NX*d7!~0?#F?FKOd4(JcQGZ zg?kv3kmuR?P(kuM&=<2FF_4xf_>5=0lXu<4i;(x;;0?~LawSdHjde}!4r0A7MS4$s zizRgC!5@FPkKNNhU~+qARr6k-R-a;}Vy)|n11@RD91uZR=Dl^8FU^GgW4{>%Eb2w*xQk@vN zLUyn^`sSyY@G?}_B4D-KLt#vtD>&uD{*WneN4yirq0)(+ai)Z@Q(HUugs>|vlmE*@ zU9s>aAS~rpJFcw+(qa0x=p$=co7h2`+JLjl(D~D6zIN%aMiy>Oddq}TOOAeRhIhU^ zm$3#db(fhKhEJQGM^rPo3D86AoP$-Y3TpVU7y;(*|8Q3# z>}D{9j}5`|bXuYIu)|^PqbGjOTH7V;x;BTbkw=1-it9l8UVY1Pf0-O>z(1ad2a9R6 zWf-dm1+G_d`l5Wkeey;#4@qGsK=CVp#Ve>$`;|8QVLvE;3AFW526E5=tje@WDkf?Y z&eVd#n!2;P?c9XeV+U{j2+4&mUN5hqjF~TAd0Y#Ve|g{()GemQ)wNBXj=M}I0K4a% z-6rd%kOst?L{8lrv*UesP=U+T9n@s|qk8m(ScW(5T@P@b)IFJI*POsqyjf|wUYuz+ z48;zbv9r4N({IgcE$f@U>8(_);j_4c+BPknPg6hxyCE@-1_+mcd`Om!J^lA-(mr){ z*}8X-#6Zdhg|1xrDOdVixdpIeBOi853KUd;e;yQkrs z^2wRfi=`&Gl(UlHeU`PGNQP_#?j56OKD0p!YJ8_vsideXz~SsV@{VF?A@srD``8d6 zchv-%fY2Qe+UYEQpPic{5st%Q_CV=jMr>N=LceqsE-D4r7!S+p|~Qn2*_p3+%4NwNz+ zu~5Maf4*L3zBXuzMl)Yy=(HRpwFeF;J2)C*{yJlSBhNBKiwcM;&{eEOY4bL7zMM|o z*p0e?F~N;}t+HVPcI4sz@R;CuV13kQ+zh~=je+>T2NSrBJBVW*d@T&xGp>z%K`JZ? zk&-C|^^tq5v!r0);gnwup-;(4{W`n)@RN?lR_7q82)fmndZ&ZiM<#LGF5c_x>YD(B z%zJh3YJ?wxN8s4XLaD*-refl3u6^E}P2~!mL^g14)02-f_NkyQg8o0w7#&63Co&JB zw|&76Eh3x-BEau6n7F#ZHmpdv4S}-ut^mG)qZ+_dE__m1q-;WYtzmYi+Dxp?51IV# zApJ7fgw8Z~7z7_Cy-u6izNNLT6o8vd*&TsFxiMH@%oH+AKDkf75)$DR)EuU$1_-FT zPVL>}B-YWMpMdiLkSy(rN-_1yt*)2V?y7cB8!??4cBR*1woaf7W=cfX<*)ZSgelM?!t*VsJ!%!{~o&>rvp@Si>cA%*+DABM8BG5}aC2gtP)Q4xuxS_Rd^ zsz^H&++09}qec0Aez42@lXwyFD5A>u@ACOB1`2jq?~GuoIi48SucS>$>#N!gR;~Cu z7}FV9^h%0?sANMb%E8VGh)k4FSPQ}0_$&|8q6HY<()K#Bh$i>9C ztO%R01n`J7HkKTlo0x;Sw)5VIC7VLZe#G7Pifk9u40Qb~5fCYMYVjHWV`sC43n*byluQ4 z1$8zc>d&A?b+|%(S9E+^Al?uKwHyWYNIZkL?UG?SpOIm90xWBwA3oH8Ms&Lh#klq; z9#KiP0RW74P=SSg1|}^4!Ine+<-xa#f~t%f<1k1;U5kQRpFEj`;Va%t0WAQrSA69X zS_SoE=ssFougf7m2)W=xO7O+5S_V%Ujr}|WyM?*mx+#_{R`;?Jw|jN+VA=|NrH2zB zMBHI%KAz*?{^%aeo%mxl!78Y<&7M^)U?&!&UdgkqX^mXPvlkd+omFiq^)#0aZsAxm zWC3nc7R%>WRZxAZ4a_f4Y_=9Ne9)e@D5P0bsnE0+Z~}YO;+7BEs4jjF`iig|DX7WU zDc^K9Z#&)29}2Jexv8cNk%D?4GJ(JEX-#*vn>zXN*hy5eq#G+qh9A?g(X*O;|kc^0?S5QS1f#yhJ z^ROx@1`M*wDGWObdat;Gh>&Q`Axe>x#FrkBcFYJOSZyz4k4c4g7gg!`+*wRr!7d{Er&?hOVg<$;km$TAXKPoDvTwl#`1D#-c-@8sZO*tRp6Zz_(9GriU zTlwJKWn4)!+azx2W-?AGKwwCwP1Jal>C+!*7eFR-e^EFEClve_C3TIY(>q;8h7p-1a zleG`tgg^Z#h?)0t$0|aE4Pp9}Y$CL@VcwF!$h=pC{EwF;>^-SIi#+*S&vWx=Z&;M_ ze9rmPd!7%hD|I;x%C$T31e7$dsK)EsfkUO20mC;C$gV~vm8tHgYUE_)QIv<^X(i|n zU&DI^HpmD%>#7iy%NNz!fjZ}{#|Vk|Fz6yDNM`}UHa%&4nN~&w^@28(4=Q}T4t_cb zg%d?@5DcazYccZH=Yt<><=3j{W1!jmVhkY9Ln(mK>}-jEDBKCVu5_*Q9rK$FpVkiQ zuhGTYgK{OHoQIOAJz+(gVTj|Op)A^T;O`tGt}KhSgRki7x+dL}0*fMl3 zP<6$OOnfWyX%GURk#i)$*G%Y(zhdSPXh;mkZNt^}ggViV4goCMJ#En-yaTmn4DU2} zt@sU2DwDYI%x^hez@S`k7M+Cl$fRD*ljbiVjSpcRLY_}1A{Q;mv*vZDpym`>IoBzkVRJ+AOEppOoD#?<1$E3Q=hGmMxhp)_DWXajZ>AK~7hYrS7NR4`&@R|AM)5Q) zfyH&KPR%8)wH%;c-3gT*gijMeRw<~~6c~P7oA1rRjae~-m0A5{uzfhNTwvXjH3n%ZiIsNN2$X^YfwdE>PIW6pg>|ek*t=T^Qcz`FRf{QH0a>A&RaK!_ zWrF#w_cP6qjl6TAlhAM6+T#Ny(q@d~!R6J)V1H7^(H0)Gpz$;s< zRe}$82UQB{LA;0W+Z|LJ1QXCld$kPj(nmupwQ?!{HT3Hmd}y%K80E7Y2r$p+a8CFt z{IE*qJ&zzWfGcq&QyzV%aa2j}U8@Op5nbMU|MmnX%$J(P;k{C1lq6#dGs`DH3)%wR zv<{M9e1q|s&kFLNoPuhT2?Ey>MWd6lO;kOv?OEH$srURN(7a%zUugjeAP@)B`#2E$ zjKYmC0p=&6EmuG*wR0NDfg}>&IU(0%PT64^R5}Mq+Ci0qDkn+u;F~+xjk>TDkt2Ek zX;_~=w1c{ZF3I0of8b6gzFEFa`c!+u-%?Pgy=csZ@L=tr3VPIbUB8`&9H3)3`n{qU zY6yww+Y6ow8K_D3aSssfl8TMI&TteUSF{J`REP2jXY}sfiB5KCMw{d~T&Ev?Vz}NK zPg$hNB8}4N>KUyeE6%5FI!2{)s~ff_%q5pxW`+$L&Z)FG9IG??!++`s{9=$$j$6FI zdU_Me0J&9mP&Fl@;6epaYoOUGpdzMv?xWu89fZif&rf^r({1261Xdn=BL$VO3R;HO zE~@G(h4`+19&7`n8y%O%iAYly0;`==JaNU*a^)+=xjpQc5!x0XMw5~bou0u!Y9U)sGFuoMU;KcPPEO z6H&5N9`difi;bXsQc&T|W;dWN^S}yZjJ%7SV5?hqWdbKJzIMRXChg+jZQ7mzVy?{j z6kdQJ9yM5rh_?L_2@1$VTHS%#99(F?Xnq6;>!BoosA$ZE;c09d4;CX?BIMD@^*Lr9htDy+4ID>kVJ*8rY!uzo20(A}LJ zDX1*SmQ=if42TNlaUwm7$={K|$>vQ&4@IavI}J`>IT?x5Be5^g&@S z_*=>SuQ^Sg;g=s9y<=|vM+)krq(^JXWTj-&*C51Ze!DtsMgF@K)a6eA*uakzR3#B? zm&el90_IwwsLp+csm6fgKx!;ISYf{BsC$%2`#-C~fZp4t)hLR~jj(?*LK*MTPHlR!=LA^h$iN$LC%dL|QJokQINf!R?KOCS5Hv_Cw~;>OXbJE-y0+0ZQQ z>MkG8^ug0+(2k7D845@Nl;~%Jb(Axb=?19l-303XiuOzwIAwBnwL$XSX}pwD#`&*k z6J9}${6MIOXdw0sHN;+wL)V|kV>!Wk@Vy0vOA6}Hf|$amJTL~yP}amoK$Z-;!p=Mh zLGKByb!~&(Q0!g?qMZ!5^$#K%nHsE;`8n{cT~K-OJ(+7;;tSz2^Br^)&fQ+AvS97* zUHy>lJs8_9SDO^?ziM7;6K%y-?$OmtA3_W7{3~=AXt5rAg-Z&`1Z}o>FT_d>_N?vL z8Laev;I5eI$2cAiUzzk>bk?{_VI*NZvh(S;3Q^;01=V^B$Xm<|T_eS^?h zXcF?^$(ggNL1VWGnH=S?Ajz4pnn#MJziH0@7Hn3M6|n@wRVvkK9VHG1_zuB3Ue z(sXQ{FjwE4Ff-x9Cs0;~7^3o~XXlyDuKxWY_wp|f)1J-rO(2;bNTNGam2&Frz)YS6 zh|rPyuHsHsbto)9p3R;&VoL08=p>F9l4mgBb3!MLjce0@LX@)~-E-yj#jHS~eSRi& z04H~%wB@4D#Ov_s{HM;VzCRCvkI(xDBa6Z;Y!IIWz5^J8m0QAT)-gi4h1bm)zdMUh z^&t%E&sKyzIXh?obJ1p@OmSZR5X+?#&`*xw8EI_);{E2ke(D;Sw_kTFw5K6_mVtIW zN(oUm%Km<$yIrH;qST#_z0AYb1?XAiUqNn(|7FFr>jhAvA8kfplz=MpK`E%ay@w~& zB+t_A89ZeTDy{$kAOJ~3K~yQI>-f9@&Km7Ps^Nt2!&zqJ!ztk^1K!klJ=H7SR zfaYoNHE^xS6DqkH6e*|+kQhe%0U2H5gfEkVb88_@uo|JkkSV?t)MsA;?`g|r!(wew z9@6`^c)FqV+M(UUAjnCQ+V0=^Pi4ZPnn|!Cv$F){nhDiThgVR2I(evk8iDPot_-I7 zLHd9R{Q&9YgXQdoc5^$ZVFzqe^v8Z-rV;na|3ws;sr5R;3&2)mMZ+Dm{`IAK} zoC#&1peE+-HuW9_udr5$nr`bNs0-j{?V+^l4=9a?24?Hiy*__;RJ`aZ_frgX#)T{%zPbVH&f@G&LHkEQ?Gs& zzegiT%ve|j^$KE9dJ$>A(JD-+pqdjw2wJJjJ~uMX%~^=FA%t?7_)0;|gWfkhHi6m>-v{tC zDX4Z4#g`{I5YjWJ3dRzZCZ1@+RTiEnf0nmqd+baiU-ZOcge zEOhU;$+SL&Mw8y!^#gitb}@X*Z)KFHL4ptsYP73Tb(IH^g4%`A1`jmc6*aR=C4L|_ ze9Rr9=fnXd%q|7>VQ{fEb96f69x13AZ|2{Qj2nB=$l!Da_$iJ7akZSi^Y&~S*0))x zEHZ#rHWGY<^QDgIaTx5b;v>j0#{g4UXqlz!K$Y>FQ}2W9P(THg8%rPM6U@Y}iP`5B zGlQ7)$pFAoX0{#W5$xI32ZUpkaWhx**_#a9Pxs|#{%(i%>ZpVkWp2c*II?hnK3Z-9 zyjQ27`YUF>Eru>~R7w|wOa3eb>KfBW6#bw-fUDh%2Rb87C*W$rE-e64p=Vi z5mu)}N=x(#>hKGIhJ5$T%TW4MJcxY7B?V)frM>zTU}H ze$IR#2XfLAFs-Efn(|#dpRx>*v?WFtlrI)KXEnROl+_y&w+?2mC`U>``dg9JNpxbmZEfuBK^~eK)Qj!T22n++Zz$}DPlT>2-ezb z1SGony#5nxF%yY!3^SYv2ej@AVnMs8jVW)#XJ8{jThX5=T7*euR1<{3+vkGyzrmz) zFlHrSpQR@8y2GD3V5i;FO7aZ8hb|yMs2id}N`hhf{oOrY{nQXkl266~HP&eRTy3QY#*l~d!L4CU-@Y(Z(vLTPNmPN+B8ld$PS z^L`04o$F`{xsE0WWmx9D@hfTCpw!BYC7s~M>yg>*jL~=sX18p>1t_(c`{ux(UVXmO zY+Og(&0Oku>y+oK&*g14FejYM^q>r9qcrQwwdCc1`PGQY?jbA=201zhWmC zIl_A54d=$!5q*YbEZKy-K>F_R<1X}7KAUvT)LLsHJ6efe&qy!bY7sp8x%W7Cf~;|D z?_~L;uxaEhQ7+|+kxT03VS)=9>Q3{^VT>(dFoH+hhIpsL??1t$-hG4oZIGWj0ou$% zlMvp0`97Qchy5@S!4mK<0-fXxA_^pG3-P)0n3EW;U zT=@bd{I4c+1s%DPhS-&aa3E7)oq?)k;B-gN>)^#jM;YtER~NX|1E2JnuAu6QmT{j_ z{#thjs#kt(xnbe5e9(0Wy6zySrc+QmF`>s%e%zF)It5kbKm7un8>v;_wHsSSK~+`I zP}$D!BtG#mG>Q5oKxzjyN>4g1ajPHl+}jSi8qn7dN*H`b^haPI)ds@f6k+y}92MoJk$l0DmCm))`2}d%I29+`!bAQzR{Dg+pV_ zd|i#vUwQnleSE^KyBtR%7jvg63Th3IOCT)p5hVjXY`1(~DX2?uinM%OV0zw+g4zkC z)|Z%8f#_Acb5KtIyw^+^w%4>fJJYo1x5)XDw>~i|KSlU90J&9A+Y;lz?F;qKpwn>$ zRkeawCi6Jh)7@xH$A&zF^l=5X5&R;Zn1cgR*aRr}FE@Ec~xEMMJDH4RV!S_K(94aJIP{lKbfmni}EZ+S9 z+-jl5E)NhZfkP>%3uwe8;8Ti%s&XkyTZx@`{}Ex zayW#q^QOBH6e*OdLbYG9O5C+mJsB*%1PJd2fafKZ)7FY*G5bUq$@R7iSf(Naz zsex8G-$Lux+5G!&Pb!(d{Me`NH4QKUR{G$ktI%c`-N&BA73_g5*c{JUQ2Of2uO@%| zkzKTx_g`KAg&DCes{ycS7txmyVX)N%-G*QuAIId9?#7dm&r~60v8ZPi{Zk8AsRiQt zHcy3rE#5sihji3~$@RVz)OyISwQy*s;i(DP-E=D`1KFv2Ehxtn$Ox_#u_-Z{2{nPJ z4=Jb%|AC}@5$iv|ty|6AP%NPPW8!uavysdo(#EUR(`6{xmX%m|&&Cqjtr zcSWGuu33sGfVJk=L>OX~AWQ=LEE~HqOtYNN`NV<5kdoF1!`7onimSCkK+(C=D1>Qz z-SXhO3M!F_kX926s|Vq<8kbKOW>i@^SM=30?65$6x}54(#q}DcMEum0e2FmI0ZTQMTK(>iQk%ub$Ci zVk_Njbf0-lY#wJ4e_RJBG!M*23(+5_-oQ2? zWh~tjS9USr_sR=^$pDo3qrp!4w7vx4ufV5D=GR8h1kgi6-4OxMJ3;X&Z971(70Bwf z4@bV5M4ar*duvdh-pg!IJ2Dm4G%Xh7yyay80$eb?5Gb^(sgQ<4R+HB?GZUy}0t0u& z@g}-rMmvr&d0Y-2HvmBV4yu$!%+jol(k0NQ>J(Jp6nT)Gw}5M=rlN3CMx>yI4T)=9 zzHu_meD-C|81_XtWe_FcefI;Ld|3hIGK2`BV`HX+{le%ep|$V%c6 z`Z@gz^sgcS3hIZEl?QK|EUq|ebSYQnz0lfVF+eMilxIWt`iC?_Qq;HLyi7c8 zeyQ@@kDS065`x&S_bO0OA%9X(!(ARVCq+TE4_x+2EE?p&SNPGebHcQig33Elc2#B5 z#oFi<)D4ioBOc2#+3cKqlIlvV`gbqFy%Z3gXKdWfoo&yc`MpL|n)S2)j=ATfWD?@U z5F#qZKLf7P6;z*Q2U1@BUd|$?`5CDSYGVX&?>^k7S9wI_TkAko{t9NmTYAHTDxmqZ zo(C2o0=jhA2f*4YsGq*UwgpIbKtcE>t-Wm#?7w`=3HjWmT~$H#1wzPHElw(^g=z>v zyJa(Y-mQ=ys-IbqBD)kmAO$skr?4+d6Qt{!w8xptj16F5t0=NzVwnQJy~~sx39&7p zOsnG2RY0_opA~>-RzBb9s;*(t?qXI!R8h(o^?VB&PY$8yQjTA#yW|6{TWdO9gq_8p&O zt$jMM#T3+}d?~1nRF4n(uC~#wb;v3!M{_jxBKUS8v!Lg^&IeUL90~6~1^5q1`KD!v zo-eR1a{*=Mlg^hD=Fv}OUQx_i7DLk(ylV~WTje#3UP0A0GqSQew6m*EL#%eobl@A< zk{mV;)w?jCHlk;*W}OYv(goJLg>)J+9cenI9XP|V{;-tc0-yAm$k^{FDVp#7U#cB} z%n>6-RQuw8`{C=azdmB#yf##GG*N_A=&Oj}W8Nf6Sb#f4#-VyA)-aK%^gw;2p!&T2 zQ%WvaYFErICQ8)t?~sJ7Qp|5IjyIXlfoU+_=I8JojEmCo)qW4dCWzl!7{3(R92i0w z^>>CsSot?rzrIS~m~f}D-Wm@&4Js5e1@U{joDebbgts<~`h%C?oU;&0X+y7LO(Kf~ zqC!pRZ*39FunPCh1e*~cM?MYq)6YL%XA;fDoK`^0HFktN8uj*9R@g{r`;QPTT5W$!I;iUac`N^KcKb;E55)1sw> zTlY@HyOKG|LJrM<=U4{8hm_5cm@Mn+wc9VlWN@+DX>7@zre1lBw@==CrQALFHjB*g z-Qg#}yR?Ig;#is204@if-#rY)0^1*WY8#F)}sj&bI?_Q*D%6F~4SocRbZEJYrE zi#mP;gnx4`I?BPkXP|^3QxV)%Z(Ko@Zl(6DMJv=9S{5%|du*dzi1$Tzo&6JD-?=}V zBImiWjMC{#ET7JePJ-FJj_iEg<)9LES1_cylWiL)*b13Bo_8at^D!Ww0dp%ngYixU zC%Y*{GtDaM*i9cLtd_$N^I*C)03KDXordi|U8Nw&O`ofxn2CEBF50UQL82i81g;#$ zK*!VANnil9gDM4e;ZHa*8syHQ#?#5U$WDZown&jGz$>UalzZl>OlpWjHcv_g4(3-= zu67dSt>V~$blB55B`1B9CHyW0b<}GJWA z2Hq>EO0OhdTeIIank!J)k(hO#X(zt+S}}M^%~w z24rBhk!fb#Q(?`2b1*@!)f9MIw+BJ6ko3^>WJzH;9@rra`%+MqQd83knA-3VKL=}bAvD{7AuMl918_4vNI`uD{A|bjo;sUagMT>H0+Z#RP>P+-v}F~5 zZqTb7Sg5|IglM82joUMYE`rWE&{?e`Zvw10!J@UpNli|f|&UewX!(2(YG-v2U_C@gR(wIEB-ke(43k_X?vyvqU+<9HTV z@5Qf}QF4aR@E?Xei&kv*0zn912qhq~m;1S*4&hzz!&zPjy>6=i43v zCgF>@#{(nFS=Rzy?D^9;9_zd6Wg1q{t&Ja}17E`E7c$Fw9=1zsSo47YeE7c{A?;ko z`qT?Z#_-D4`C)sMJ{AS&E5Q?8&wXkiP#fObi#B*~y-KU;|BC1OE(O)L1+o&*<;t}v zsKstLu5?kK?+o zqm&+0T>v#%jNsV+8Z?;>VY$3gfRVaQVOO?2e=1vx?QpcCPBn>c{YVhjs|&H}Qn!L{ ziUffLi`_X5nZ{_9(GqbKM|Lox(3WwPsbUE`q3xg+V`p-n6k>V-muC0VPAHV-XM$Zp z{o*GRytD$FR)o-#opU79v!HQi_VvzG#){JlwQ$gtJ2bPl;&ADSy7aEZ>QK!tuk&`4)PZixmCb9 zvyq2jBwu|YPqTqJ9vxs1=DmLRG)x{(=DibGIYjrl<~(GJR;jzVHeom(cGVS_XhAuXkSTw6HWo@S4H12>FxqpU;egp^ zM4cyn5ur#coLB$aeTKtjS4DNkLzY(I9p`2x>0hCIov9rPTFLU&ruUg*-!=8DXP9yH zuUP?oJ}uO(lqM~Ue(T8FCm*__I74rv&U&s`6`jlX1&p~56+B$FjJ}RSejY%-j{+=0 z*!F1z@qmIg@2$u~uv|bI+AF6L^85+pS?5SnQX|ArW)05Ly=cmC(#sgoB82Yc;KVFA zWJ(aefWz|O`|>0>D>UU|8e$Lq#slToY6Bi1^c;5#4PVZnqkQx`ET(Xh-nKuj6Y5lP z2|Heskpmg@0pN9tf*Q|4T4lEi>Z_O=pHJHhTtoD{E#KE7(P(GFdeH?Z6F|7mggrC{ zfI(T&4r+A@suigzSG%He(zKDWnZtP8+&!tF+L|QXGJZOHYIjcoe(Fw9P}`GV?QzN7 z4(jNgrq(i+3fk=gM7fR%YlE#LS*Su@tRGWQeZDHYsFYO>%_xIr9QofFrs08ZEJ}MM z%woLpcD|JUN^lM9)kms=nrU}XeUnnZxTfmw7OtgP@Ir;@bWx_M&w`c;?8%w+CGS?4 zu9suxPZ{0u0KEK@=Qsl`8Vup65*QQn7*R-nB2jZ8DEEQyVo$poz*CNf2OwlOJtL{0 zDruBF_G1gu;_~N^5-$#&?~zVKCLe-R{5kqSH}_jdN4|aviLn!ehw|g~#(tS{2LEl! z>wPE^;zHmXoQRZ!SbOCjTUQhvL4T|>u~>-TnOX=hdG%`+DGI=meTWMp8qrx*1pP{Q z19kG1+IYmrX2&X{!9!EJ< zxEjS!XYH*4d;t+9%p$A%P!b=k2j9n;i*g!iub9a;!C+{`2t4Tyu9fBqIGztWp+)ZH z$Vm61Wad%7JwGDZ2Vxu#Cmd_cpYAaMpSpb@GPTunnd$n)_;{We82ZOnDdyT3GkzlQ zO&dAS|8Fa(vMRe@xJl6Y)3}q#!Y0sQX!+OB@gq8?G+kq6O_^nhayEG1w*&2^&vwU^ zF;GyNczfmdQi>U)A6cwqJha;_m`LeYfNAe;IMp^3RS^cKpl+v`+34IYIk}R zjap6GcVRW>9Y-F(N2EX}O0*uO^xni*Y)mqaoR(LvBZ5#mxwZ;WTm=g{u_H?rfU)>G zKIqJhm4FPQ?4S;=9Gy#@N4`F=(fYJq-y1e}>1WJOm~+n?W-h+u()|i*Z0h%atvUkx z;5tfo7#N8^opu*NQ~_dE2DZv0qsrGMZHpjwYrex= z_j<~0?b7=CHPU2rLOCL#?mvAMPN;AWWiR~Jm7}uMgt|}$dl=INN5m;#gd9R_I=7Dz zaj2bL%W}b<8R0&&;I+@8h*ZqQREb+pGl_h0OWJ2E@QIUO^)1-JnbkLzpgglWdP5zP z=$HhN1Rg39hr;N%Fg!6FAwLW?D|chwTWQUE^DwQ==}-AFQ!m>K{-{>yVDxGWXI5q2 z+YF_)_uUDz0X@3lWITMv@}}{3vmLX*F%RPLm*Mf|y-`Cv2@i)&O6Xw9({(fp5F%vW zd)0LbQ`8~Wf7diuM3`?cUDFxSw=fm{hJ4qbpD^v(_&i)U1Fw4%`A!~w^Q3i$K|8Mh z7!72?v;OisDT%xb%k*Oq|1Bl>qc7Q2oJPM9j1FqY_(*|FPJ2|gXC4cevw8LodJ{sJ z?jsXCMalV67ZBGSWnw%sGuHXjXWwNdlk_@&s-ac-^eS{^aT#@gJRPNTDm?pQbfzci zBg{yidKIF4VdiZxq*q=*1%goyyaYy@hLTP40b$x;g-P7&5$(Z+EguYc6b}cMR zAHv>}@Kd{|JOAm@AdZvkz!y}oPU5d1zd|Mbq z-Fq4Z-*!GVINy+dEVykIR0d5!Ni?~2=}RNpxe(y(Ng1-1kb?Rgon?o^XosVUf~wJE zrNW*kg>LFjO9`vZm>`Xb-$AwYNI_+M?9#v*B3DvrW#mihc^ev~9n^Nh+A!Fr2b|w7 zH#w(}_RXCp3xy90U$d3#o1|3u1uEAE-<8-d4`m>;m|PUppTPgV*K=h|M;bNT>eo-R=!t^b1?e_MA5#!n(&d~l zfFbHVz7Op58OlH+?S61-*|G?b6R$3mSJ0Aop#l_dqwY+7Vmz<{0uLJq+yKMY*flM9 z1vNUW$_O6<0h$8gk!NjxJ(1FV1}sWJJ&xIzFNiSgWk$5{B&RZo9MS=0C|%t8D&@Ahs^_ zl*7UioX0WEgZvyK&GymXS zYzm+a;nh6o&DmKwo%@*(DDC6VaaIO=8G=%rk{&rF11FNF_jFF4dbQ)d8*?j9$x+xx z(B5lKgvK?ami5GC#EJ+NtMFpUWDS6z2a%)hVQgd(povwCLco!SUD)|-WyIVIU9lvG zf7!5)T99p_uv`{w0TuSp?V7-T1rg7}`>L(H zF9!O6b+Hklwc=_iu0;9K5JYmbp&7pjeop>=ZP;vwWvybGi%?Q0&19*sOE>et0}srs zTbD(b{bBzI{LBad*1u#BI9re=zCjeDK7uG>=-=s63hHY_Fu*EfYIgj+zQdKwE5yD; zaW_xE_09(oDE+3ayenb6h5U?{6HB^#6+0NOlCCSuKVWopsX6I&>1JK9O^z<)l6ysLDNXe*@%&0F|0jGN7ahUl)6xtKuTyUYOW0PKfbqKQ|6eVoBCE{`- zpz{@fyOX=gU+uA&zK9xBt%NhH z#bYt=MX7C$QmaeS7rs)-l{5&C;um4?-Bg~HH0@pPPCV?CggFe4zgacob;YQ5m{)Z+ zXsC0kC~3%cf4-lxBQJ<9k#Co$`1)Op@cQbjm<;pdetGYevS|amL_BK@Z;~b5yk%^F zz#G-JX>)lzs;nlFJq+ze%I9KotB z&+?1-4H%|`u#Dx);QPq!?O|kCs7FGg(%K~Y!w{?mMb-dDbH9N>q9=8R;mSdh@0*ee zqc;)3IJ+5DUhEipO;A~@xC;Apki=qwnM6kyfn2vBbZcqYhwKn~bQX(U1S{OB5^Z&N zVE}dZE-vs}gafw{5(2>&UF@X%`0l0h!w9zZ5mmWiU5XG10(_3d} zNJMr=fbylFKE}Xz0bu(>v+hPP+st_BJi2X%6ps?VgMgSkSOJJdD68~e%{g}|s7e>M zIfEI><+>Xw6d8TER_cA`26?UYJv{OvEam=+gt0NT*}^XAt5B&0F`EUd`43f^L%f3O zE8txXOoY4sHUp2nD5L)kC5O()x??eSscyux_96f671Xd%Dmbjif7PcH)cGi=gHTZO zIp-=0h>@b*dlF=1VEUWO!qU38D$IeyGfl7KGR?SxPt58CNRif&p9aG#s3?9$&y_O{ zz47mi_ZH@}o;nHAZ3PZ$6}se6GJPRR8`|&z>4x)@H1RSu3ECnlpbhiJ07DQNDXndp zbL$n&hgjW`E@w}1^K|G@q~o`g2RYU|7#|K(=- z&iOo301R6|6s)9$W#mmit6C2@Yqf^9Lp*vh>XKr)SKE5rK7!vVIH&Rw&N6}~XS~7A z6Jo%=uA)(D3Cp|3!#2U?yo<^0`=*irSM5^m8b@{i<%W4zsGvrUm(u$X{??R~z5@&o z25rVNgb33)5+~BY%(ubspr$LRzIeNvdM9P@S>B+g*||8|ls&!2RQ?8qu`ToauLAuv zW5Gj?*qDo9I@6GQ`gP`^1c`lzU=wuf32?qEwCrRQvrK56cZQ*CryR<;738gDooGjr z*#?_;xO+hlYJH;7YEQYz<{gAaNGef;qnGy>x1lQ0($(GtpZH#iytq0mowb$B6 zL7h_)^Wgham>v!kqLrnE@gUDYV;I*JXkPfzu*aX2CYBD@hnVf+APH+dJ6yc8SIj)h ztidaD7%HvL#L@CTk`514szp6j#E>M^n#` zj+{DJO82SPE2uw^|7h@5KG$TNB&8Gw)g~XX)r|w|s9&gr}poCd5zH0kq-aGxBz$&P}x+TN(IsNAqRA@XtB2XNs2IeWIu_uh62juWy zDX3C5$DusmKO!*Q`fz6TH>nD$?~u$E2lV80^bDtLzVsnhrU*?k?>*@VnFKQqVh&`m zy@|fKuZvd%=C&sQ3HY$ihqi8x$#Q`+5%#^0kAikZ|At)oJ)m&+Zz1-QIl>T?AA8WH z$e9DrUxs3SMX30O1^RL;5axCR$2;2qb}*4=V2X{AMTh?e85_o;E@-!UAt0{cyI>t7 z0AA0($odLp9}Fs0XVIlRHDO|Tfb~aD!yqZAGi9fE@FflW(PFQ}37HJZ6t0xM%51OJ zG1Lnf?!Xh&7AzpDc<`0^;FH_oh*We@w^RjH4bW0=i(Hfi(E|ph7`%EK8gMY3J_e1d zih_zFm*Ab$843MggAY3EbOE^P??6?#7R=LN-7Ba+(t(?=AwA`Y2I#ET+6hL!xhSUzn;sexDX0LO?p?f>E2dHuRFqKK(-`5e9*bR>oOP9F-`ta+Dz~z; z3i(S>P}R?{ukyJovARgZLCg&m)Pv&+YT9r%?1DozGL(#|v>v~|xue1{{t_g$Wefxsdn1`5k;&C-O5nY;q4j7^_4)&9g&-jb zlwCoH=EDIHnGFjaBDMn=)LH41K8^nrtWJjjm4XYpCshc!o7fhfxn!B!nNpcb_XUKv zGg9Vp18Jx50^CXGmssAoGpPm6%gQUk@}$Xk%u;iF9N@^ z1^fh99P?HnpWHFe!AQ# zs5)QzuY%w~3hMWa+ubzibePx%h<33WwC`Z=K)n$eqbtniWE>i0bRqEp#AKa`+R!(7 z0e^cM%7+6ydoJ_(7cu8)gTlwLpo~uB$xr699jaQdRWh}cnF$^>f_}C}6Zv-nWd#eD z8uN!cXlrMbMVaYB=Lpu!_Y5Wgt1)}lG#-=>CKP;*X7?EN%Bn0MuZbKQdTn#&ZsBi;ann zJjE4MS@{Z1?v$m_8OM`t4K&)u+{`jD56&D!uNJEmQmQ4bvw51&n5dGgg6)H;xi=`i=!fW{I?MRv_RbH^Qbn66#B z#;}ie?hpG%U>_q8<1G6~@xSnR%a$!gKm4$alEFmtIPnPL;Y6XWVAn?}qpuR-9MKM| z#9DD`591<6ZxYWZ=7-PYW$?%v5<-BjV0Jp(4Xmm=NG}Mnw8GYH-@pvOXzL)UD10AF zCw&iuGc`Jb)%PQPe-DOIW*dZ(>NuvdqJx@DsL+&gm;z3Q3jEe2TDRAmWav&GWvX=$ z%%f2mGzM({g0{$m?>WD+tKx|aCr~AsCZ@4gAQeU8FCOXwdE#5T)+BB@%`TAzFHSN6 z=hhN9H>qwVJZavG$KM;enM4PPc@oZ`u!M9*(=zgxUu=8@CSPc-8eT{Zo$yI8c(AqWc|X3BQ!$`SWS==#1r!w_^^NpD?;5sTRB} zQ@eG9hyn2Z5ad>!^Slc_Ssyv?9+*(H;~F+8y$&hCAAae~d$pR`8)3>hZ3?W(jXz6j zj{t>X34M6tEf$n}aMq(QL>}I#a&23Z$&%^eq3;7?a>jJYDXwikovb)3$X`|u=7}6B z=SIuWsa~cJM;y(XiR56-uL7C6AHq)P>gcCk5&dKW3*7W!z(rthel-nnSuMuNAJKZ+ z(*S+2{dp(`v3{vdY$jXLKxwV%9A)qR)a`)OplqE#&FGnFcK$#1&O5%UBJJaIlaSDR zk)F_tN)eDf<-}LV5Z@-zKlP3zbUILiR&9i$y#V8f;5H_B(G^s_ z`e_vZH!gtH88d2i>*>WT>(i0CRJO7{D-*y)D(bhBqQG-)80WqE-;ASPzcR?TbIep3 z03m2XDpLva+AHTsDRzUo9}0GI{_(f|bB44}*S;W~K&ce%sl{DAUV=WzVZ}9PoM+nH z8<_aIb}O5pib}4$vap!={_X;^VP=7;f=tuoV$NCCYMhPW7bnONc@Qk;o5>>>Piy`MqQ@zyvG&I> zP@Ol8OW%4hbd**FBr6Xsmp_AQe+Y`?dz^xr>Ax2uh^-;e`FZeL1F~)o??BYU2-f}- zpRdr0je*BDI0ZEaY544GX=u<=c>_Wqw5zEzf%~%t_$&4rqwerpXR>b1nsotR3Q|x< zf`}Y7Vl53g3)4R{RRu~>Ri6;#;q+aI$DdlpE2#D(Bj2(fFb;f=1;#ehmTRd?aXdoO z?lj5=^^V~2cV|i|Q{sf(=HSeHQwBEXf>1~+s7K%-;yp#BLv!{%=PL)P zS>dmtXV+C!aX)hgRzVHo%4|IqJ?}8=Jp&RDu0tLQYCb5GOhGNA?T6@3?U_H!y|6ba z?*Nx8Fle{Xf4^5jwYUg0-`X5`MLd~4ZeQA z{F9+eC~dOLupV$Vd3P6bM$FL zN62Vi4l|vj*cb_JbjPeW3XeetdGkN zS+hL-Ib;m|$bd>F!mGY--W$kJu8iOwqy#v?KY8#i!I)?aWsTJtLGV)mrz5xnT&ID+ zm9UM~-h6eB6jbej)>Zyak~Z*ZlN=Z(EKkbM=Pkufm=FKW)ttU=k$A6PA}S4i8g2gTaJ>n z;@S!HpGbYAsJ5W%wX%AUy+2Pr^}M<8!V3ck^4oOm|FIr8S`QQ>*&Qv(fBx;zp+l>G z`)wl`L1+xpt5q)HP;sIJSZl^|N%;ig?KfRuiVa|onI2r%aaSJ6U?0L_-r%au1*6t1 zTPnhv^?C{6k5XKIZ-)c!`i`hDd#j*^f-Aln@3b#r>k@>KT(FUuyyIZzPAFB9==45` zR753++1tE@zy%?URFn+#;aZQI11`( zrKX}mPLn*%j4waTF*a3A$!_GIwBJK%Sqa^bU|NWP+KH9WN;EaR@6^RCMc?|rhVbTS z2-2=ziO1jPJ<}TAb>_LO`iKefEgzxrz;W;-fg<4H7=@J0eg@$mHY&#tx6x1_MVcG^z&^sHSE1%&%3`5L^x5{gr3Q|Tfv^p_&k-S3d}|O zc;UBZBg*?bulRG*XWon822*nV;i{s$pk_OXSLUz?@H%M3m{y?A!wRY}4_+2E@0Hvx z^Spvh#JwN%q#rP1H+#Ku=Af3nWHu;|mM-K_$}7O2Tn3(sfK;6DE5)z_Z zt){FIAP>$`j3%9&f*K+3dOIKkND(=t!zw~StJP)_gRq2tbqcEg#hR^^kL*EYC9Q2g zf%}makUuk*m%n5I}oos(Kwb%K?7gT*(S5h+Tm}3J2G}>EziEoSF-tf0T4Omd1tf z7)TPHLfI>5)b)%g@FRxz4sv?Mm%d_x7#DVm-{1)wHsI|H(PvhlpqN>nrTOK9IOYuQ0Fb*-(pgp#>RJCmu z_%5Za1O4&O6jW7IXP~|e{vM(4Zf)&bgZRaufq+f3Q2dv}c$x!GE~uP2(5SJwnBC&Q zs4>hUtYivQ6FMP+Ev9z{3{Pgivdg^x5)?k@i}m?&lpa%F1Z!$LbOiLbd(?rWcSe8f z&0Oc47EwBth*?o@CuMyKvHu47=KkAFF{P?Hmaa9 z1eU+5PBxK!lc4B z(&da-qb_DB6KFbIP{Qt$4+SPLK|PA3+X3UG9>)uj4W0 zT?zxrA~lpm|3ztLZzc_rCaWwFW@zJ;MwlQWT&i7ZS&F&R6Rg1W!ZYAC5bV_)9dL@I zrs9LnKinOxgf?U)v~rP^&{$g4p*Hf|IvgGCguri_>Y0mBY8y1CE=3d(QQBBqDUS2u zdkb*hbjqcSc4rjSKylRSX|H~m41edLq{fsSywiH-+>03^(j=CXU)D1R&|xx= zwX}#7_TGC|4+uQWAgZ7yc7y82wG#8*myiY8(vHDB8Cq<9LRGh^1VSCrDVF9i3C>W- zIg%9GJ1+7a9Js9G(gi%3^uN{o;QQJ4&(cDBU>V61$rT~z3X|-DX&KsZr zy5HT8fIUKkaK^!Ny-ZLA@S2m&!XovlP5n<`e9|N|CXoZ^3bT&)tEc)*x7k%Nzg!p; z%(T`iehbLXDyQ&cTciZaeWQ2)x5{2gKTyxu{!?DogYnO&q6&gr>%kY8y9VLAfrN%I zl={(pNumlFRi`3w*gX{T=W}T&I29LCDG;2qrV-@hj+m)+93FFNs1(dhxU3u@*AY7_{ZHm>4OhYX~M9t@xyBQ-=& z#rc={2klVWJA)NeMkWpAw;al8Y1V{n4P7<4OF`ZJB2JBPn3PU2`gUk8M>Nf%Cn1Sa zPH8bZSCA-BP`Cet&h$`VK@pd!3WyI!5O5a!t-#dj!Q|9_oT_oGP2USsSAk{>Hiu@%&41$Y3Dq}6FML<(x}6KRTIlb~Zc<}lz^NkvM{gMUq2>no_4q$@7u zFo1h0za*ENMM#V*e3pW`462}&R!vB`P=)n-2+givQ%$)xz-n&3J%=>9f*Oh%&bAPg z*!L=6-i5BD*-~t^w>?=XPC<2X)1k-vKd1Y0XhJ4Up9t(P@fFkvXe~OG2Zlry)36)> z(m*Z0pten*GMe~#8UidF8^EAp0$gm^4`dI8_ttFyqu{d6-a&>EfN^Chso2Knak$4w*)`kGjraKVL4+7hg$dToHo=fEGC z5^390R6$h&$so{qYvvn50*g-k{vN;?JBQ=?&VhG)2a{R{Z4`nAbW>R;9dYfnd@qDDDH0opFSP%RQJpfq#uYw37f~2KV z?owU8<(kQL6<59Bo8E_m;t2IG=Yk5vrFT>>hxhMr4dQAWi&GP9`CC~403ZNKL_t)> znwJH(Nn9rG5eW6BQD7*-XjS4`1vOkBek$lyDwJp8+Xx?|Z+<3H(L4kN1lWc>g9y3> z<%=4ufMBnm%uM42U@QkjhlSE;5&nZE{x$0xGx|klP!UcB^@|bzpbF7?*wWZXx*s8G z>~v<@S7E9r;RLkq1_1-%_Y~CAAAqfkr5(-*r@xI{b zna}r|l>1<~+K;h~71bfzOxn4$lYEN=sM*0;p4sy%t1YaAmSH8-o_+dHg3Mnwlddv6 zq%%rwMU>j2sVI{_7Y-t9PQX<6Ak{wS{)nlDsqQYmL;Is^AZ^=4%yUm7NVBRcrPZ1D z>gd7S*iTyr@4eA16CPw9tKr>Lge24_!;$ z0AHE(He%*;9q$^~CX%WaB$CcH_C4evP^<4iKfbHC%~18`hUjRvkY2jgrlG9v4giEt z4P;!^*+%w*FljTF9O>o&^7~2C0*34MpKgN@Dn8w1a)P^39^r>P9%gi=9^|dT^3Olj zNw*ZPfv>=8^=#(q*BjB=*n0bxJyD7B>%7Xm&#|1hmqRs)} zRL}-GU0x+x(s8|e#DsaRe#$IYXZlFtbRie+uRT$HiQ6ZLpQxZZO{z5muf2dWQ9GeU zQ3X})vJr6B{)I{fa=km#_LO;ybb`JNMD>@hDj~$9_7qa%z(>r%#F^jj6*)E;uO>h zx1cOGQN;<|Dj=^OddV{_J2IBS^MDS@BX2ed#x4JZ{8>{ zUD=ab7gJ*GPb~>ZoqBbuRa6^6FKRaV3MWeElB7W_zvz?tbsCpCzGuy3n*WCUM-b~13}b6;OScg`EtO8J*I-|u>^Ei4 z!oH$(0Pl%;@!L*#y$Y((gmiTkMds0M^0FIll9Ec9O}2s>&Q`7{N<;Vdi@wqnZC5FC z6N)JwkF{#5)l*IoFIp4zw^LAWrk`Xw-ys9D7z#Zq1o1eG)&nMqB80MqNmzzn42Vbu*b^de;vI~AUG<3>Bal@%K ze%eU+G3jn$yuu!QqY>Go4{Cc4(wB&Wn!k~PDhEl@^`)T7dWaD+bx2d3g1To7=kSSV&u+0}`A3Rg|8(!lrVSNyulcZBpk#nn}t^!ZdJ6||GTzi;LS3M%lM!MIAi zR6J2F-L)<=a~9+whrO?K$&au_5>uRnn|C7F{wVKI14CBaK?o*Yu!+gP^N9hkmRAGpT)PjN}<{OL6 z0xnoSYa-Vt)CHlrV`z5L#tZt#brWyAwQG&{+BH zo!RGFQb)q@T@a!R6~l%q)fj$;?59P5KxN;&SI(5qz`R!um7?W@AN0(na=wFKef%D? zos=`MlR$;CGH^9dx35LEXoOxAM7QN>#r2b^Kr`Jg^WJ(mN3!1&@^`;A;kzEWV|g}u zPX~B$H^0kVbeGosR{WJPq!-?2lD8{qPJv;-D5aYfz?7;q1DrsCUN9-koVc=AV#)dj zmb1MQ_Mh4s`}IFaJh6M78^3Ti?O^D8-w4Rl?!=(FAdcFVQ7u+3LuZqDrabsM^WJpy z!+gGNLq^#M1CvN0hM5mK?WaHGcqhFL^`k%cG22n({8PJK>LcxEyB}BoH4st?W^BUTuSKAsszbo#2*OrGap^-|*=`bE z)hEvf(4;s6S?4eco+WxqIn7`*lZ|Kp#qP-zR4tN85W``kSq6^nn1cY*!%vo|pjwAV z33<9Y>9xFGsw;karoeP)jZ-5ORC|^&-QVZhRP*7Z1?GxpaHzy_F|K~18?!zvG}(Cl zJr}RPVFlHnBT&pxx%_eps#Z*EHw%q5-%6t3_C`_t>Xm$R(&>B6)|@vulI9`42(}c| z+4QAVP!)Ox_k^1eL;93#RW-|}$N4U% z`w;5Dljg5xV5nc`M(`2fGjK|iSfo`@ohfid@U$B^xL_k}SmQu`cHjsyH($l271Trp z)n(ceV)Dj5;{jxcFRNg7(uE~Z4RtPeNnlm0S1!A-f+`QHYK9yrnJ*XysvY+1Yn>#) zo@LH^G>^aPhP1YrAH$Ol>?>)~hLkbeS>22(rmk>TU)@D$6BSgw*M!icyZn1}HC6QI zI2Z`@YBU6~H3&4Q-qCrbfO>G2?+|S={h9{$4LJivm^^+*@Q;|8#AMkiOg8kT1E2#{ zzD4O>$TAo+Og0p4m~~(@ak9T6?@ky<26I|X{SG3q1P!P1iNG9+>jr4h=P-xHz?aTW ztq+|O+9`dqJc3$SB~#87G*c=M!f^_!B8gt|Ev%ph`Pp{9^d+($ah|w{$qnHzoUJ`D zHx|ht8^+cEx=j4IDp(J`*`PPf@=w6NQ&3f05Yc+@h4YoFl4tfd0d;<&8GTSLy24j}U>e!2aB5kp<#<}gaFB-lNuf$(U*xl1a?`&rxtZ#;H6-^c3MsGT>RissJk73QC?k6`6C3q0Us2X zP`V0v!C3Zf^_5gHkON@p4YP#?7o+o1m32%(jpeUmWv=_#bcP)!l|??a0V#E-t4?BCjm;#` zWg?922EaTMaLxl|wAa*yCNMMYIX#SQp>k(T;WskI^|!!40O4p|_$KD1=^wV_**=pa z!|9{JN*GX+PUInw2nD6(lU+T951C!rDA&Y4t_yWPH9(~xzRn!nLto{Rhn3eU>;PzY z5OgX>-P1CK{b~4%tzhplTnRF;Xh~<}B3%E8hK9X}22uQ*XhIgkFB3+?KlM!(<@iM* z3qkIP1R8=>P>ClRBV1ZT<=^`R!wu+85f8pZOQ+J}^ea{a(BS)`#r_$nmt8=7IJ3<& ziqNs&4ivN3GIKvMn0#VZB&q-tL93vV4Wt2}oFuc0&ez`Z7Im3@XdR2M{JH@g<7U$~ zw0f1PcLEM6s7n~Rzak)76G45T(<3=tX%rY&+z*C4{ar;J!Q8 zFHEvDW_jarDn>IZ-s!KPs)UOCqegb8qVTKH`7G{X(NLXLNVRA6`_KZa7F|KL6;V*? z*ptLZWFF&TuKU@8tZt&5b~-OmP=k0i8l;$Z13fckB>PS8;fO5C)8x_Y4*~`C&+!VX zlEq4Kr6EZE=9wAq_$IxH3aX1GMYZGLRP)yT`KEl;ug#7P{rS{cHRKYu&=D2`&fs!` z;8F*7hSuyAu)jkGbpr_&AmyRJrK-0SlvgP1%K>&l>NaP^6jb*)l^&`Oa;=-|BkrQn z9CUaE2&BBoCm}1FOp5Gx6F_+2v^p?x97JUSu-l8exL_63>F|?PD2x4Q3UHV#uhyBy z{2fAjbua4InAGsQI1l?lh8sb0r=V)ZPvJx)-6wN_Gs+K+G&9-s-7J)k!7zzr3aT5p zZQ!hwcPVwmQ`HWmqRJuBexQ{DU97@d0;_{OEOw+QI0aQjYb8{QXdbk<0(4IynS$z% zs#M+-OM~EE)`VAak9@%v7wref)AbRZ8GE#_pZcgBp?y=!0+8gYPhy!l{F- z(&x-{?P}$S(Z*|!Gok1?qp^(aUQn%OD%^QfU~23CwEsge6G_Q1UY~O*hjUJEXa$p4 zjePSg=mQS*W;L@G%&r)e3FYXof{sI()~YS$z2=)4^eY|f+IlnvRn{gi)6Tl|Ge;;z z6;$NQ2ouX*dthkdD<_7BS(Pm$AI6!H$}LOQ3aL5cSV9rb_cazp-HeV zDW|$LPhOuy<;lD_1$7>3oo27VWQ{{g18eMm!k@mTFYRX#fBR|=}EqfTMC z-FM5w0fQ3EeWXMFbw2yskR~}=mWi+1gK8B}#ieWDOD^@{W%eQB^#2^Q9IVz{SgMWyhd5voY z*Y#XrSeRlf8noS#gF|4Ol+;>Rg4s=orfvx5rFaC{1Z{zG>_ZFbcx#}b2Ic7{fwLOv z*M9HE-%cC8yw9Kc?v8?5gPAy2y&%i*&7PO~()~~$sKwQHo5*o6wjOZR8MA#NZ6k-u zV>Z)6;PsvwW+Fodn3OYu71wAPMGLbYe}APM&2Zn)k~EnRxuWr+^@>38AU@v5`|bWy znfFG{iC0iv+zia|Jf_#QDkg#V;J1Zl7s_Qudx#b$w7*9|-G!s0*>@J2Josm4l-i1z z5LyRHI2PKr&|eMp%M+#bpZ2lOb?jq!35B0rH8f(HcSWF0Xp^GS5-Tt0c_(S+dbCceE@X)~)r-3r_ruS|-1laM}T4`p3&8z@^LtN5c8Gkm<=aj-sG45QSNAUP^p>CIUAV zv1g!C0bM${O|FJDb7F|+6jTX5%w z5mS1Z_^KBhaG?`el4?Y|G4W>G9c(jlXWQrSjkDqvRGW2>zs}u36gRa?8ALVHu^E(oHLkL5t(Tm+RLRM}ez(YXtnetcc% zI!Ec0E)m27C#2C?T;Ll=CwV$A+67HS3`Nd64#w&{__}Tg?(*PU83-vQ1yw}~l^~<} zkl=FgN~fS|bSsc1N{)DrWU^B)QnR6bUqyLKWAJOr3mp`Jf2gS3IhjhSoFIjD2!2hm-5|J{E$Vs5|lFXpn#E->Bl&-tL`32fE}?Z-E->Drw!4%+kZ&MZ=1Q(CE-=IrD6lcQPNsZDan<7L z&m}R+k%%BK?NgG|qxGZFTp-vbz^wG@#7hi8Iw`1fbRql2Cb#(ez--iTzWl7$nHg%z zUWV|ZL#w*n4(6h`mV{_a3QLU7E1AKW?}-2XSIjV9i0Msd6R8L#NP`(`|Jp~NpXBCcg*hM9cQ+6fG}Lqft6y=Ked-zG$QicGzNLXJ1zX4@bR+VA$S2165AV zY&69S#no^9)Zpq2RGGb9e+6WVL2ZptxpFlc*@?t~{zTM6aD1B&mlV`Drm}YmU~3Fu zMOR#*3lVT#X*lx9G@-5wdG1Oat-vVlt1Gww;d~oX-lSpX zTCy4=|LGo+b{9zn->xaa-6^Ptf2NDrPnv;M1kSe&@{7oWA6;=>8B|ZlNPYE(LUZD6 z5!0BH29&S;9K?|sTzP)h3GQM*8&Ocl{iD#Fd1p*{j4GL-#4`Que{-t&;E@8eHM;^!S|;9Qw3G{agf=dSsxadLARxv*&i=tTfto3BCuNp z^-o-a0mV!f1ohKFT)vm>!847hbPB9&nD6&Mnrnn$ zO;ynT)Jj?Y3=ndAkt%G3xJf}BcsY3zFAv1lSyQ!Y!aCuZYx$nZ2H8tUU9)yry9QZ*@~oj zlkzWzaMe~LiwWz=&nl?IlUe$F@MHt+$Vy0~`hCqLY%^Bx`k_=Z@G=CB28vF>+e~5W zJhSZ!#svM*>w<3v@=Qu|T*3pyeHlDyK|2S~H)_Ml5PW&HKTmy>5S)T4^W@X%t1vEE zz=ui5|3)R~QU`E(@)npE?Rk~{yrDT{DMWt~^R~a$Zu)K&4H!0=v1sj&$8+PYKMK>8 zJmP}JPvz3yLXdL8uS}kU#J95wYEKG?57E7!BSwc-Q<-#K#h5<+ob}!tJBu`wR$zXZ z{CCps-CPAcE95g?TON<2d>*LkW%^tb!VKkaPobgCmM!A&&RIY^TEbF-R|XO#zxJ5ChDjj-(JokV|50tYT?3?86yy|jRd6XFj9 z=G2TJuDjbKX2Aav^2VjlM72lEFa)J~Lh_+S>_V`XB_+dY-81j)8K|!T2C$$0H_{z| zie1Iz%AnYapviA^d1p|K9Z67QALaWy5=)f* zfD4Q?-MJvZmazK7)u$5Q@_QE7WnA^S6vV8>D1@zw3-;NgYFcs$lLJD@lOKZoD!_a< zz6l1`@&$r*FM(yuWTq;waJl?E2&LFC5^6%dsv3% z0P}0m=j`!Y~FwIO%g0s*@4jAvrg~mItA?elE@xglh#RSHCYqN>; zFKHsDvri4ae6%2Qs}u;@&POq!MQQrI=Di15)%anTTl7)-#WcVsWYy+x(tjC@}+; zWs(iV)r_YVK7-#!&PFq=_hK6iNeZpTZ8@kU<+JrYfVnS6*!oL7+Q1cv5Vle2t&n4pS4vZNG4y=) zSnfq|(@KZ!#Bi|OlERqyFjtaLLa&Zp(A8TafD396zYnAGO#79_LI>_2?63H^C^l>U zl_JipTxJ7kfIRrVM&%W*g|65$N`v6y$KLqyXZ=8>>4XbuK(PuciIiRn@Ymqo3M7ID zpa;rd@0&DYNqZE)i-4J~UZT?#G+--f+ndv|rZ|-qSCr3apso=FGOdWZZtBMOvDpk3 z(#8o0f~V03>GXv?f(8jeBc!-4e()GoQ2$s;gpY#&03ZNKL_t*Elx$qU^xiI0;^ZS{ z$2f#1vP-9WHU#N3k(LL%NkOfIiEkwo!A!oDQ55c>?EPfCkVoDnnEKa&4DVYTpPxpW z9qn2_vQvlwIHI5yas-SQub>7=RY=rrT2Q8hxk~Ks{^8RCbN44Dd<9jNNvx1xEBjw7 zs7^tx(>y3yz?w9Tub_VL$Pw%Hw<}(M+dwNGKl2H*Z+mAF-O7b@S!~d_PWQhS^q?as z#PR~hDjg+dFT!y7j{f(sf?BG9zgR1}k;s+h<6sFBmo3gj<_5Op6Jb9+Dka!;q;fn+ zy!q2&3aZ{oNjU_)*NRfBkXOFN!a9pSI>B^E7T3aXp~ z_NQ+gkHCqOc^ny{5AVVrdXp)rHb?al?Y7Fi?&@Fa+6RVtH-sPW`gR5Ns0ymmRN<=S zTZs&3%x*cI{sfEkX>bQ<3h!`^=*(clAng^>Utd5Qf26E?Zet}AMpIk}t)_aNPe$RJ zZ;z8Pciqe^WMlY82+#!L@*KS#7|f%cI_@Y4-T~m@t!MmSC%_PQLYF(z<}!`}7FPkF zPRH5|8^O$QH(%BXmst-wr>#+IkO>L5up6z$9^sKBTqD}HdZHRys+@gjZG zivE2AoWM7Q>BtzXnL%6|j~_bwG)_SUjCEw1Jz@raUkE8S?*UqnZ|%_!l11yN?5u)1 z95z5#v_n=3E2y?9{A=6}60j18fkos}_4h`j7!tQtTfUR8Q)qR(OuCvympTP?`C1n6 z&-0x$DxSSS84qTxT?RAO_zLO;pr6p!#St3S0!-wsS9OqyulRc5Ua|*e=D}8S$wvyR zCMI)f`v%ai6#dk-A|!|3+S7U>Ai0?|I!k@fA1*Y{K0hpS%u$ksgk#}9?14mf_#bBX zuOtT(Oe?PLTpmFhA@3NTQ8`D1gKy2v&4Y!f2j*1efwr97ieKJqIj&5$PM| zUZpReA+SkH0a?gsEVm- zXvra=9^Mux$vEPdgwb7k7p5p`3qh{mM8sV+#3VFpC?_tHzV=NFb@o^@n1#-*vore1 zgSU^F<&V&S=B>sg_zV+iA`+N`qaz5gJO?d;>U4xahl0lj0_*XYDYKM2Ifbz4KL-oR zIs2KN_E-tkVdo{g{d4o)3@D;jH5YRBY3*L@VZ+gp_4b)0q?czkwP(aE`--^TBW4D| zuLM+?_m;KeK~U2|A^cM&!Q(mmR59;(jEF?F%)FLBIo5Kw0$ z{9N9Q#s)&ERu2~_cNh3BnqWQnf*%UkAR$=i7=$QD0q=^}6wdp@SSn8=v?7YoW%uT3 zxj8O=0xU|Qef@3d2FgW~h9PuLh-ZKDPw|J-nfiU>mA*pjqSk@Sr-9?Ua>-9ZD?x+s z<&Rtp?(G9nP#s>XLjaV>dM+e_aHvb0f9BgY^v^&BAw_h9ct(Oh9j@|RnY#1J`++<# z-%t5tSyQfY9uzbW#~zfye(%y}_{wPdkXRvw980tRBgPJLRT~903p@~5i1NhxHh88C z6(a?8(NmtO3Q4a&FvZNdyU^@j3JxF72oOOEs*E0N^@95O3aVC6Q{z`RZKPN{`>ZmU zbXxQ!d(~0S`dpt1eixVv{+eb_X>lREimEj0m!Sl+f_gqHs97ke0l3BzBs}eB1@#>i z)b=Q-9Z^sZprkZFu>R2_Y!i4!SmwJQ74?M7fP zQ#?}>J}3*XFJRRQc~1tFGsJ_mTr-aL z$$?r$@^K2P2G}X6@i_&*h#)0$F7U5aQJetUpmfQCTS1kA>Q+!)yh`+8n+&u7>T!YU zPjCvV@^&kz7CtoK>LWKeL4m5bCfl^SElY@E6;#D9&jsz0qB%)4g7LU@0BK04@lq7+ zwXaINBCDw=<@*_vu`nm?CqdCnYNksTF4)yn9Vzqd%l<0++=VE_oYCG0x@QB0YDNA4 z{UGI(BV{bZ3I%Ty1mg=}x(P&}D|OupU7GZg@dh^s=L1?Bm%`82PLO{;*H?g)kk7lLA2IUV!4v=(2-P@BW z7v_HX>Au3Kcaj0pP#6mt`a*t(6;$m(RkPit)zH<{yE-5(ecgkN6euluZUk-Clin$) zio28dwHZo|F}8DLGwI^0)tGxDuFg|EzGX}E=ZF7t%#*Li^;r0S>46X@_BUv>fD+#WI zvJkwz5dVtZ{ok5C+JSVx>pQUUI^qUGDSRnTvT+jD_BCMW)6BRcT-HIE-2@Y9+}E$F zc)jCKJldJQwJWe6eFqk|4!#`79s^rMBG}q#1}=DZ)5B#4>_1D8-GN zBJ9rhOz#0fkCJBIY|ni3j`i(e&3mIW=t;`ZE3LSW|Cm`s!0Spt>kWAOUWTk9a$7XG zIs$S9l%bW);m=V9`D=AE9ofdRzJ#{40xecCY*I+ydJTpHmfrnvXwf4{5qh$BKEoic=KL6B05j~TNGSWZX&JV@RL zVYc$%t20k!jx9Ms^;f=RW%tXvV9lWb#e)LJ^I6PUz&NB}-ir{I)YMML%)A9&=Of78 z1#X5NBxz!19pB`Qp)A6M$)d3o_VzRcWE9XIEvY1(9K{FKg3h)3(#fv`1EX^yAAQC@ z#-Mi(##eNQkbpz}Oa9B_?6)WN9l0rfWZF>I6`>*z&wrIit(?L>z zEsm*E7>IQ8tBEwToSu@B>J-$a{C@NT07pba@g-nw<54|op(9qu_4I)p)3gA{(=duLU)dToJ+?WQp~bfINS8uRO@%jkxku&qf2Lc zX6Cy^6;v0`FV8iG?uF)j%&{~LampmeNh00e7fCvbW4g!m(bS59_qW0^G2K5g3 zwdmKFf+}w;3R-^A@iYs7Hz}!-a;I%#!UqYpH@}Oc+#^cBZ_rf~vA*=6)ihyMT`DMOv+(DkLhXp|P~zfo1a{1JDz^YeD+)@J%@{ zN>*2uFH?B8f*J)xzbN~^6KP*zfCj6+TqAh43M#mpBDw^vu`8c(Q08YK@R*Pb9fF8H z15NqIPskgLh4$>m1?p<)7Wr8GMOpkY2bu^otLHSJprN8+ajU7qfXXPS)Z@9)K7+Yk zCbOa~LC|<7_LKWom2`5Pq@%K4{Ci+(OM-k7;HB5>JBEN`3)z*VYIuPJBO|Qb22ElkKQZ%AdPZLJu{@M&59qQ?-2%UF%_Xo(R8R#u8u3(!mKKY(2lXmsin^Jx zxRS9lP*Amss`OGuM~%aZ8ZhY#IElu}kvey*%AM4HU1N+0cx6=Y9Nn zIrB4h_OWoR2mZ4jNJ35jvkd?B)S{T~0`ttPjuJ3s!p51@?lK(#I&rl19x{F$k2W_N^zJPNq{|Xbm zDG=V<5h$8K6=1YKe*^*F$BZ9SQV4sF5qd|!>{$pevmmBd++!kj8~b^={8gQDPzLd9 z7uG^KbYONDsLy?v>A*N*(aFy`@rVVh1kVo4dk5g5Z;kqk69|MFz(7 zS1YT`>UwWM`~#1_CY3Ue66|E+QoJ3$u-l}bT*6e6gOjrK9|~w8N<;pdh)HWyG=oA` zHFrPjS@FB;F!sW!fBs33$KQ?Lk}e1N=1B;=JLX2isw*MrmCj3@{SjV8=dpDP^WNIc zXfxDQP=$XcgX&|A%DeW8m~oi=_QH(sAVdEJX%@|A@r&VX0DXhV3X8a*|Z zzs3k&X#IDp-xNxKhAYRws6e}Bpi=ov|GnaF{y52@c`AZpgbe3dKFgRc}a9XoTlA}Q;meIOj_h?d?ba-9&5J2r0#dYQqU zj+XNe33NJgLB}k_DX2+cQ3|S#n9;EZa+;+0Qa%^|8VFlK8hhj41{(VQCv;?UICw8V zepEr-K^*W|$IG;$?u&B~b{XI)2&v09aAXY9juZhKUp>w{dt{8CbrkW}Af3Fpg#2r> zQh_uxlG%rzn~_|Co>y|$6y1fZD5#NN51BHLr<-zR_5yRhWr2&P_$lnw&*;EvD&tk= zERK$PmL8@{8*;XBX@JyLE0nK&484=%v!8}~rpYCk;A8Pnku->=rUJ+oX&*6*Clp#w zxh|O$)H!1d%_4?R%4XPsQMg{=XW{i&j-ScGDN`q$CzYTKiQNOwOf~O5oNsdJ+w;#& zwKye)rnD=Ud1k@nLUYaaY0PUxbF=kG7Mz0Gi(_dTyJKm)eDa)Y){Pfwmf?%V>x3s80-?KWRxlDg%RS9)ZwsxfN7CM+3NO*;|Sv!jbS7V5&(U zvIGW&^Y%EJ@gNw|;$9{@Du8TKQ0qhNnzjw+6nmDEu?N`tY8r%b08(qVKamowM#UwP zJ>M#@Un{6iL3I&M1b(0V6c}uc@Eq-&> zw^>V_63=Xvg6j65%EZ?Z+r;cux0=-ZQ`#_{{yZH#Je_u>RHqg^hsQl!FF81y1PxdU z9lH5=pBQ%_-DGh6f`&m%K`yv$&4a1$A%H+Ds7pvUWFTpvoykIUH5HoGmF+>Y%^dZb zzXv|#!8b0c;3%POo?NF-XTA;oJ(oA1x3Y5L>d2wLFnZ!1TOO#7fjjoJ++Gjz!MZxGqC5IYGFxKNMM zVlhGS9`{0<@qYarq7C+Uy@L%2_58fbR3#n^X5SVl1x#0GGZ5_YGVdbwDct&$iIlJ8 zKS%!)PxhTTjz342mN#CH*UWk@5KUx)=#AYigMx?|K9$x8U=DmYVq)DylH>N;& zrVoM;DaU@Cp0!y`MW~hl!GYkBJ6n-P!oRYo{9=NR`txA&-sk&G{&fCVrrbBvqjx_7E=(fci~87@pFZyEJXN(Tao2w zAtatc{ZzdqRn)6(xhR5xN${mlQ4We@G%63OX)aeL*9pj2pQ3}z|6XUGdZtz#-@LaB zX<|JaUzR28v`6N>AHRn(*w0rU?KzHw76|sUXT+3Lr*Q6Kh3fT}Z4~p+6TwPrxD7np zW(DtLsF+3o681w~W}^jhb(4%B^WGVN%+-HF7K0fAg;p*;2q>0C=Gl@B z4{oD`e*7O%5EgUwzXh4MzMq}ijYwxPOKDvh0(rUDKLAf}b1$+IV6Ji{4y+H-D7p*w zyh0eWqaidCov!g+tpFI>f8+hNe32%RLO!ijmwO5$9G7+Ab%s2#pocAK#D_6h|R_Y zfO-#La;mSOcIXp>ZJTeX5n6WnW;}L#C$sE>So{ctWe1h2ED<{t1j`f2?~3lgWfEkq zM9<44T_*N=zKrs1-NbW54MM>wsLm8v6TNb*v;ab4l~e_AB@c)hnFFCCKTNEP4RyhP zt&A?CUh=L4FkkL}?TZ_Z#PdK_g!Z#%mEvf@a~X^hekgl_&*?EhLg+$iw0730?*!H%vo z?HJG5v?FlJ6+L1G4kvlTZdsuUd*2Amdz*k7bVp;p*^v(laeQ$M76Ftr3mqLzXgW4Arm->X)#ssEIG{w1PU7 z{A<%yQd(Eg)!LV;eW-KDqp(C-Gi>NEbK!+}$~zX0^}zpg4-~^G|DQ`KHao$zE-=O_ zpIy1SbBVZy;a$%nRHM1X5T&3l;({?32@d2~UyhlEWy8?Om-h02Xf^N*bH(Dzm zB>2K8!l5C=`Q9JsntCSkbSKPvCGIJRgo#WQ4IX=Wyl0`7gqX+Q__(D{iHhjXV}SXPNjsKA1*EI@wdsPzQ^A~yIAFXh!xd6cn(goe^rX( zGP-@{TbL0eY@dXAuLMe!V?*@8Um+~b@9IE(MP#EF*h6>IUGTk5l6i_>K~*++2uR~T z_RV{*XLzz2#;1D z{dE{dAh{?mTJS@+JV54cKxQ9I>HM2{0l!DTw+zXJS}@hT0A#fPbSlhN=bxVYFtQJQ zV9j!gyon1w6j#OSv^&GM{=mkXi%mzZS9?E&3knegcT6Q z*|n!kd%F~@LJ0ShgQRQQpl|}0Nd-^Er{D@(5in5_Wz%#+KL&t_p=eNl>p}px3My&T zu&-wzfXwq1&Rm4(&2Ur&J3RJZET}$TPbWUOaplFnaOJ*A5U)mgT9Mt0pi`lOpI$=! z==X5wayjwq`?0OiE}YxI1-Exq)7Me}KtA=->c>T0=@$Ue&b$!M(m>L=_`0i3b7}Wy zlyf}-XhYf+LC8vHAUUJh%%Lx&q=w7T3es>^0r1oz1vLdSr7GDd`d3_l>>P)l5LHkW z-^C553(9f|YDW~*=BzTx;6#+fm8HaGk;1xPnqt0XBIxXUP*6W9G&w&Sa}HYsG?y2b zt^2`U&XUBKN??9F_OSxf2L<&k6x6gZd<5~eN;;Umqfh;{z})#zs`+IR9>cRebJZVz z-wNuAC57g_F$LzLD^uA903FwG6cZZS)ztN@rh@3^JTB3|NnDIcaSE#Pl5!>F-u^0` z0--3)SpJ3*Qs<8}HbIdP+%88!sLuOFJz|3vu9vo#EQH4?Zhd&z$=w*}a6X~P&J?&M zWy*1mqBY25sbmR~FzH+nEX#V}vh%4Qgu$%gO41n>0H|e1z}NQ;@Kpm*jZ6Fi+)xnQ zP6hs@p!NYD-MDE_>JtFKY1Bh}C#uLEhq6|Kwt`=AHXMF-HoqwVC>AM}mL#PUL0o%Q zX`rBT25?+lDJ0)O?RG-NM2DP$dNdPXo2{S`DSkESJ_qMcpsxF9+wW0OU-%VemUj2A zN8JP3rz|UxUx!RqQ_1rJ?hYHIpbiD5P9VO{NsgWiszfemTr`l3y;h^^kXJLxd2%Sq z^TUC>5XP=>+TZ{iLFB$!SrEl4s4u?33i~-|9moS~+0WV(d1&}wjMru$6YHX>MMIo} zq|5NHVO`BDka2a|PzEML&}5f)&LAcYMn_juZJAFz?^~)QUF{_gPc#vl?L43>XU)iJ z5C0nI_yt`|q;pfhJnNAM z{imfu3aazqTOK)~L<3(jO;k`-m{w1#!p63JPmLi5g+H;t%Or4Ru_M(-6$~k^%9pT5elpX0FcWME}ni-?sfzX z?Mc=C)5^rR#U_+3`Ya*xH;CTJU0nRRi4yY>xz|Dy5ApO2vXjeopMzYAeD z944J~Ml(pq<^gXtR6{eF?OP+k;S@l7Ncik^Y;U|-bA6^`ql?_Inki~zz4v~Lg9pre z2V&l99V&%`62xX8?XfrGauImx@2Yt3m6zYBf~s^-BfHl(7F3Ki?|ovYiJZw2LG3hbf^&0r*y_y}hCd5rbvJ!=a%h9ujM&`PsUID_pu_y@$ta2JkpvQ_Rm$@*lnvI$ChWS;kCq*6x zNPICT#7(OrY4pQkPc}vaFTzZzOCwNo`5XQM&w9Wt5JjWWEpuE*9VXH@_cR#phh>mQg*&9AU@kBvwgyI&=$;36+7DFb@f#+qjFps~V zlPzhoRZwkxW0|`rEw(Yrc7-9GNv@YsP)|WYJsSnpSuEJv1j${x%mxv2BS*#De`~%q z*MHzK6x1XWS~hJctibE<^Eg$y4W~+0K|NYvIHYG*(VseeJf0bZE`HkGNT2V1>?^3U7_fXsBawjVi`Kx3 zeRH#oga7rF;?d(Q% z@(|OdT~1jQ9!#d*@FDX6lJPLoItNO&>>vmj;uKVHI8m9cNIhFq2OTAY_xfV@pjy8b z;FlfKN?hRV8v1(#?Yj;ht?(YSq9gT9EW`gwUFZiXsMn zS5q0+ISY&@2U_wPeCJJ!eWQ5U$ilh)ZR4VhIEyi0;3evFn0_5`J&ODURuA{$t3&h_ zxD*qz>7zIQhv4Un9NGzLSF z3z0LW)_|M7se82dv_6emOg`F!S`EfD6WNZs2OfMLey7S`V$df=~cv%d4UUg?e`|Jv9dcdWIh-992a?FwAoD)Ybh? zsFd_zTL(fI~!`V3h%wVZ(Pf-Q_}ywkm0cp!yERqow<%Y($09l>>!Ud zCUQTFFfOPc{a~FV;dH{AdcdUI2jgS5IdRfIE-B2qR4=-7Xd(ODa5`|hJcrVV5EGB( z9!sg!)1B}S>+!cIGE5SWzjC0okUgYry5ig=$ZsR2hU3`_R|Sgi%zKqa&pJ|? z@VU=`{xk#`5)g=EXs+p`Q88jHQ{lZb**)`I^t+S&5*jr{kDKJ16f23VpA^f*$Ri)Y zuw)5%BC@B(C9eLi4DQ;OI~O@<(u>HcjF0x8%9Akao7qAl_)c69ua^Ue4bzaXK&A2x znHh#5$xql3ffEcW928#;k`B#6bh?5`ip*l1Bgt{eHsD>W7n8ujO(56Z2x-y%r-}Uv z%vle<+(sg}uiefxE`?hK)y36ah$0qVqZa3h3nU)eDc^whEh0P zP<%N&QdZYrkz7G_apmE63j&nRK>Y=vz3CbxjsX8`l_XpvO=$LCzwJBzY33iH%APfO z7HxX>I|hMzL`1{r+#p)CS&|$k@=bf#{z{rM>xluNhDW&ygV>ZlmHA_P?ty|@;dm5O zk+TrqMXM4jN4-`K1yxSZyWRt-Yfh3>x_Kh|OR-`Icd>1TN(a!hKgB|V;W%Gsnxde_ z+DQZ#(LVY=q_dPpmY(ಜ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

SB(fjYnHap3K0*ek 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Ʋ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

EkKdXLO_&mpW00eX#w@O`rm24 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 literal 77703 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

@7lEPg$2YB{gyWM1bd>ovmi&mG16lo~Be4ytz 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

7%Zo?hj_Gv@;;CqNWl` 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

xFgaTt^>q5y8q>&9dSFE3xiKQ)ZaY6v}4f%YV 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 literal 146712 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 Date - 2021-20-20 + 2021-04-20 diff --git a/thirdparty/xsddoc b/thirdparty/xsddoc deleted file mode 160000 index 7d767e7..0000000 --- a/thirdparty/xsddoc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7d767e7f74866ba9e81c364853d520b1319923c3 From fe12c2d8f2d8ee5393fc3a717b9ffdf03b24190e Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 20 Apr 2022 17:07:27 +0200 Subject: [PATCH 021/123] fix doc typo --- development/images/dataHierarchy.png | Bin 278234 -> 274314 bytes development/images/dataHierarchy.pptx | Bin 1163150 -> 1163054 bytes documentation/dataHierarchy.png | Bin 278234 -> 274314 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/development/images/dataHierarchy.png b/development/images/dataHierarchy.png index 1de32ccf795ea3ca13816da3536b2a76ea271e03..263a08436f25b427e1afea8e90d6d384fe7fea6c 100644 GIT binary patch literal 274314 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

#HMX$&3YL!^qi0e@ZB&+zNPQ)T~n} z%C#rqtW#^s)n2!AggaD#H_a*>T|Ghz^Z;~NM~zP6#exVnsp73D8+TC*71;-z(ylAF zg0O$$K1*b&g&$goRd(fGamo~an#C5nQM%*X`zm?aF)%V*dEELL3S;dV4I^UOYVOKY zLfOE2(U;`fUv$OsKR+ROts&sGGNc)WW0?b`$LknxS7GV&PMeeb-9X{k85r&=njuou!cnEqnaAN*fv!4?NR+* z-)}VjE9dyo1igB?!;?X7`eyZbFX;Lp3iH;cD_kq;OlX&R?(|G-GaBEy#UVG#3zViH za{jOq&8&B2V02{JD`g?M*1_QW=FEHXiO3z%XDG3w)qZ9J5-799=2p+1xO`ky^O8NQ z#npS%p75)^zmHM3moCodXR0Wf=)?&Pwj*uBu05=>WU3t#HxV8dtlt3h2;TQKmEL4tn1Dxcln< zx~$UqNdUy5@_sCdmIy$_qe$*JvPi4Z|pzBnh zY0(`{kQbS;l=C(g+=3s1!4wtVp80utpiNRrV35>1eIywbngYfgS)-=POTox-!p!ek zA^@?uSE=x@Q^j`4#tFZm2mnI10mTFiJ^NVl`fgQt32?A{g1#03dM57;!7Z#7w{1C6 zGJ&SWugE7>r$3L{$FvU*`cAiQzV1oLlR4}3pJzF+jK-e+_v`)Swlv9>l!ldwub~5J zSttAOC(l7f#TP1ozye(+B@} z^(s`7&cqQTu9 zASC@K`YPEeX$-$#iQp%wB#Jsi@TYF?(({9_^0R-kT2U@b-S?V6BLKiC{nRaf+rCf1 z42xL(f`Fs%5@lCDR=I!PD23Bi4gA@0EqH)9ONvZZ<#YTKr%f~E2t?jYdKxHHeJf#V z>5hK1S&I7Vo1;9gx}#Rq!l~chey`((SnYM2PeF;@t80@iuT9^p;h3c64H%*-itSi^P@YArAT~U$? zS5k~=J9fFX1{f)_di|e9oCP*oQ+h7>>i*}h=S&?bOdPokwv*bc1C@P(ANbi{h@oJ= zSO?I@-EbK^M5N@pnNuWmvcmWO;G>qRA}C3%CxoC$+FgG~oSD}B6?ncRMy;95JD&zv zJdVL+LYTrD$Z>uZKAGU}QcG&;Zt_Jc>xY|5TVo^@KN!YAkw23E zz-yJ7N6$WzPtx>dR7b~Orl(Bg(w-}wAw4xRiYA}ki;c$sOwNY`C{#aQPa0Yn7;h?v9;}y(gvd+LHHki&iiQ<)E&+V?Sd{$ zRN-j~UhC)YrgJ=X(}2RJcx!rjZn{J>;w1YiX}LM|Kx@KC@SwLm6Ejn)_NLILuhZ-4 zvDgpj19DbTEp+iDrBn3jUyfeC5OP$X+@aqnIZ9Ho?0sOrUp6_4PO0oJaW#{CuirvY zvjEb2Q&t0JIq&EIz8>oQ7im3^4Y&O&1I@b4Z#-d~-qvRdrZ3MwPT#d+0;kroYA&oA zZvYI7JpnVq>v+b2td-Uj%&2m5^#yIVt_?766(^(P`cUIFXhVE-2aO*Ya5hq1XScMp zJoU~4x<$V|@_E_7^Hn^uyLa!lZ>9rDXS=(cA$RRin>08xHPXLv0uqQRn8EGmI{W>5 zyvFYGR*p;i&osWLHB7p@*)qO|TDlntx+PwjVCF193Y6CE9A9kOzc~|joUd`xGEf#A zJu6R7PdA`O!_5bPnGedG`MZ0?b&e0@QBnhlaxj+xS?@Ug?u}4HTe(mi-(6grh8d6v zuYybE<>7h^n824!!BrD0WEU}F=Y2x1wbY+%RM0E_BI2y#G~NFHdss`MlqQeWK>9X( zcs~F&#V_`lgn7nv40c95?ZB5)IlpV2e$l)m_t*1pA|R`V8<4sLRg60gJGaCmpCSl2 za$)<^7D4)_$3LH>DO=2iV{`!VOeJX>CqwarPIz$D4)tz>?Kq{${M2!sE3==*aoeZj z;$oVI=$sR93C=qoErVQ_W!zE01%r8FbQYgQleT|>Z<8YkTX+s2SY`wm0`$iE`k;Ay zKOeEBk_&8~2=4WdAlO47G8)0FLgAF5gcjpwFk|qggZAcCR^@XzgX!o)`}c1Ea00m4 z6`?v;?~%KJZ08qoncWsILQO^|%rP;&G!1Jxun4*-2E!t#x;8*@2s;CWGyw*4QD%~Z zQHo9Z{p_ttQvUo2_0IZ+37L_}_~|>*$v!bxk>Wo%*r?q(5a0z(pkEMr&p(M7?;UGu zYRY9x1V0+MdDA9O0HC=`9E=ziiv#0CeJA}=I3FdlD&gvH@^ymdl?rI@0zx<`&RuZ8 zAy>M>Cc|!Ohvk&wX!#QXgvK`aKFoQp?w2fV-UX!fu1A}XsJXOn0f;J~`HD^W0<|^s zH51zEUrT1#_z$TqU(~VOvE3ncv>}n&LwmTq(w8+FRw{lxugd7=?l=IR2D;NHW=nD)&gR zZXU{__t;Fy;M`^Hj3+A0BYoyKm})F*cN>?Ltxog^AP2g^r$PfpXbO{9?qkxBOL=Z< zpH#iaC;0tGHA}eI`0w@6@Z^|j##tAbe@vZ^9vuv8UwfYy*bUC>M7D>7^%fw5PiqWa zBKIy9)K1IqS_2%Wl5Y)c4@MnzK{e)hXZ|*5_3HEwzLCByf4z?deDx8aqs0c470;2Y zBc1^9mMh~+38veD%20I@b_R0f6(|a-H9= zAybcj-5>I2+Z=0_guRX=VB<`k*~BXt^zsNw*Vm#(ea@T?o4;5xmFQa=yfl(%^CDGm z%PWh*W!${V)>agG{mg7qZptgY9$3Bs34F%F=?Un_oWT>wEn6Sp-n&=HLZ!aViqGAB zOBNp>h4sv21Ox<(z;$=%IznZ&>j5xFU`R0;nDJ~k9W^)PrM{#R@Aq@5twp$-q>Tx{ z-+DkVA`w)1>X|csE3y@N?k+s_75dTt`nCQigAYj}XkZaAz-t3^CJvL#J&UW&9G8ir zfEMo^-FdX*qtgLAf{!hc=G3^=K-{n0_PQJ&T4LPz!kIthZSsJ7MU54)|Asw-pFBV% zdy%XXzj-X8KM zvx;H9t>tdgXVtQ&<%iPwy~j0~UQ=UZvDg2uEI&Yxv5_H=g=T?z7K1=4IsW!WbcIzT zm9?=wU~$85k5U-}smE)LD{^(h7zeHxg|-`QGJ5s%#Ks6hRKwpWO2>~U+Oixqc_22c z31H^oNX>*(WDi;|e?);Fmim+#^$|Q#4s^H-j+$yYSk`+EU{FB~hvPwo)QFSQ#8x+#G5J0{Vz{K5CX|Oi>;W+o?km96bmlmB71hIn%bsCH!LOK=ZPDAyPz0K>0BPRcc=lAT*D(;0j4{V#4a8^3c7!F; zafsJW3)$~&*)59OSaY)k-Bmi*cIGQ-aryVXA?WV~YE$OcW84v=&1i;hf;MahTzVS5 zI0#B35$;2T`s;#NdRJ$KE$Tf>uKIGhjVw`{RTlccpZ)Lq|2Y+#!;{y6`$_5)2xR^| z%~uGK2M+J^XF#@MLCa^fzX8%<3vq|B2WcjC_6P3h4$U>7G<7Vr_*C+Y0}|S8({_Mm za|KoB@Ar5Cyz3jFd);gC{Q2%1z~cFS2GR?C0o|f613=_~&3pt3(<|=U+9LxXG5mB0 zTv8Tb_O3}97&?49HZY)(21HPlT+<4P@A{+Q56R(;1eFJQcUp|WuoPQst@g9WyOIED z1inVK(U-cQEHoh@;r+W`+c}^NvXkzZ9~HJlq8Lm--D-hP^S2kDwB*3tI_DXA|m zI&KpESJ?y2zK{x#S?bWL7yY^FlcTaeBWZ)$WyJC8T|c>M{81fF_HWVtzfW52BdCJD zO;Fda0iQ_klfk2`iN7(BO2;+8MDL~${oP&A82*;b{3t3lloFs7$G|CIj$Z2Mu@4At zot}_2a1{%ry3#I#9#|o`n4Z6D1147^i;JMIzGYA}@br0iJIGfQhRV%bg8sIjOiKJ1 zY;&9{19b6$RPJ%i$0N}7c5h0}F1BLr&5Nv&%4a7F`WIy>Y`nB06E6#zpF6|2Sy5l7)O<4}O0KpZQ^k12w%8@ zHW?3?PJ0gczN0{7q+bG9bOq@kgx4Pcun^<#bM(dmAVv=Z%ew%4oaaFTAoTB*I;P-d zLvpwtV`eQSlR+DVmS3NNl<08a-Y_Afr005Wo#evRtNe$b#O<~J-u3)7LJ;ukOeMc= zzKpKcb$$E5qmfyLizQ1&8hU?(uqz@cHI@MMWaiGW1 zWybY{d4ZSQHP41CPLqySz(18*bjXQ2%>+M|yTArvTQ^u-6DU0(nM?$ux51XfyJyk< z0Nl~3@56;H!?z^8eo+(B@!$7JA)Mw2NL^0yHCa;}mAy(IJ5lkWuhY`4F=vZgKW zG~kEz?z8p?x&7eCC6js;b9Wl7;jv5D|1IL*%{tmYe*B;mNDVImT2G!^YMFusUIS4n z&YE9A8>k$L1AS|?(VNNk)(nP?h1(kF%7xa1W(*kex9zU(;&#vs;P45o?Y2n+a5dqJ zh1PI9?Bw~g$-|*?>87A9f!!tF{8P!GpEBakbFoYnZTr@3k$?io$|U1gr6@-q=#Ad? z#?0vPA@``%XNr?%O0GDSKqu_4P^vaCoAdy4ot4>@s}vC75f&Az-BiYsP#(Fty4rIM z2wQ2=JYKO9t|R-!eX+50Z&n-+mo2E^-e}oFkEYXItm(jj(dF+XRLIAjKdIik?M*2y zwD7aI?@8@0b-bSU*&|9_c%VJvKoj-kEUFpiek@pF(O%NZsY1#SS^2v1w@+Nm5A@=$ zldD3n?gniu+~yKm4MX5+bG24ys|CBuTe+g3dWOtuIo3_Mjlt>|d$e}{zLk0rPae}u z$61L+9y9_mg$6sd;s&e^7DR+1kC9H2^*Qu?gG-R8fCb< zI`!S8iQ5~bW~Lq9G=`NHJ!u+-t_R&XPV;x7*HjYZ>f7Id6EA%V4}IjJQ^n$}_u*u_ z6Ck<-=Uy_0n!9mDK?MM5gZsIU>Yo|pgUEg%R+CxW25WIH!+M< zR84C*u*9x(r^Ug7c4b0`unQbtzj%2%pE7&+_IEmZd5v8v{NMWO@>L%z*6`V>kkJHh zGY%B{KIBh(M;-p4MOk06vG&o7^Cbhfh8!SDR;KRJo)fR<$SGRpwcuo1m zQnE9G`E&d{CYQuE#peK`xS~gGt+H-Mm(HdgeoAv&JOUORiMh9>qiXLz!%-djU^#|I z#tA^!rDuW%2l1jdfTbk6R9b$ z^ajNz{lj0XVXMkL^ZB-d5k}5&%jaxJcA?FO-e(s-c!7%iGrRZS_Oj)^op~P|xfg2! zEze)zBTQQo=rIMsM9$vH0YlpxPW0%uKR1_abM^F1?iXwVrp?hu&+e`M&Z>oZoFXuj zQ|@Z5d>Ji-`JD?YCoq&3JOBY33JV?W0kH5ss}>lb9s_BS&qRfpu`-wsbdG+3muaY4 zGZN@n#0n*ZPb=Ib-^;=OY#11HdewbkeYf2lC=7S;T^DFtRDc`&w$JWT&y7mWPC;>A95*4OBVz|}j)`s83OxrwhUU~04JbSz7y1IaqD;-37 z|NqC;SB6!&Zfh&uDV<7(go=PPD3a1Cjer8uEg>bKgdiy`(%nddga`;oNJxv6boVzV zy3g6?TR---_PP}2d}BOg+~W?U8y4S^TXNsA*v%dCLY32&=sG`p!Rz!(=3eaXf%xTz zyilDjL{V0ygADf4Owpj%K9eF={q5S23F+L@T&e6a8-GY=6Rb z#Zas}G|uQPN4ID4NvT4HB!}ajK3Gj?90B^o{>^Uz;*?)zc=eoFNAPxo2Kvbv1_KIy zE0M(O(i=ENe7*JjZmIDHL6g3}c9(A>HdZzmc0Ba)JRgv>V=R89_(i>NMU`2{i2qp| zPW316le1Lp4|{+=^qL%qe{fA-WBv4sgKVs7(f)kiL)-n_4!#-Goah9Y5Y+_P4gV2iT=% zt9N}v-(aaOQKTRI+FyHI^Q|TlVsYnxJL}cCBmXEeY=^+$UM7-e4??mcy_PY^|KU(> zO>Yc{od1(Yh#}~7$Yb8~KHMx{({y7>YLtnm%=Q5C)f%WKT-TxwCSQk9Ae>_3t$yxr%kJ&Jk*EIf{ZOt-t+imq(@CVnYU|d*Rad*!j>NQ)d}?FI7d%nNSbS=^~h1+#dVCuZ%w|DgGdZP5wz{4893%5erHHbCn(|oAiX(5i8?zeRU4_c znaE-m{8?d4e0r*xVO5-B%^ZFgQ3AieHbOj505K7!U)&JrMwNog?z4*iyPlK ze^y#)LEs+p`uh6UuW{T;;_01j3c;l5x$~Kn3w8VJuPHV1jo~jn-BP=aL&tkfk%~X& zcvot>f{jp20ttf4NJEHNB&w9k(yjVZAQ{|XfztT&ON@L#WOq#u<5OxCVkf-CZ{NSo zDfA~6QMx412zsNSqe|n^2?ijeu6tx2F1t?o?^&K=qO5K)S>)d(~Rq!iK=3d822k7BaL?fsDOPe@YB{9yNT~*Aq33 zKzZ96FVe457ybfPcXqH3uEd{bhIFJ4Uqg9kMUA_JU*TJ;0q5OJUyRta-|7bM6d9od z_m_!GN`CV@jYnBTu|?Xi6Vxn>f5j7SZtXo-)2&pgaZ`CBlS)f*`-x<%lBmSCdKUr9 zBVooz@z?oV)m-{xcW@4e|Mv!tW<73W4puCc z?7CA*0dUfbYqZgB?(QvGv|r0ow*#Jhd3$x*=c3^~IXAdO0JbgKmuX-%loRO}3?op^ z^PX=I`YWrRqb!k}IuXxww;<${{JwmGon+;+!B?Fmr1P7GqQSj_&;NLHQwumc0ClG@+T4l9|9xq$eJ)Jy~i07>kaoa{1udM zW$2l}O{a;etXE@4LB^Hx`REPx)QNfU#&X(i0ryh@01|wGFFz~bd;d?G_!nBR)c=z= z_Q@2z3M;h2dYF{zuB{(PP&f_iDDz{B{hBWB^&~f4d4c+;K;!Z_|NAH_C}BP<9Q{U= zbPfaVtjjckxaCleFJg`%6omD68(@URu%Xz69RM0@aRANS;GsE zYx+pyoo63jHN0X@d6(gM7xX8w6@bug>6ufyo2O(}2OJ<5ciBW$_vz<3>GY(E(CsYV zZ2cATj>q#Cf!pD6v*}BG-3psP7&jS;-eAwQ*+)94GRjBd1Y(m)u2vQH=h#b~Y8TUP zlX0-p&qkClp8Kfx<_0>=ri`n2&Q z%j{N1C{-ZDXthjsQ&r|^bZRll-Ozu3ja4I$bFRZ#qF}Ui3#P{m=Wflz{lpEPr-#a+ zo6?X$lc<#j^9%2O65Ugjlq7Zr`2 zUZ=?zS@ZZL!>e;&yVObW^hcrJ#rPHL@e0g36kQ+)w(a*LUXlN4aW$1NP47%$GR=ZH zx~@z#Yvgvys1)oM)b%MV$}RfXt@_iht{xX^tMC%b{Sigp9JSBjb!ubfe9uoo+!@xs z8ObnnyP524@;JjW2=8zuU-e6z5M7!1x7R=lU~r)(i{^ezYWS;{qZ7AdlkhXo(=T>7 zRKhrC4fV>^>k$HWOKHtt2&vz#j`?iT@85pw+(-LotnxAL&g6BTvR-g#d}ej!bfnOK zn$o9W-!Me8SJ!0kJ>Mwn+cNh-^U8=OpDS64$$9_P6Pf|>@c{RBwfX2L$HgWf#S@9J zsaF3s32R>o_G0LeJt%uUFlg$k6cQA~lGT?Kmdc{oK3bZ=>o&^c=I((NU6Zb#@4~88 zO0D`)E@X5|@2#-?Ek>n;Yl7vA;vuR`JPt#4s7#+&{l}npy>USsl}x#^=`K;(47s^IOiyJ2@|_pV3==WNy%>=TnI{=qGTEe1sMCb=EiO#z5lNf zk5ukZ+2YnMK1P9Cl9&%?WhPhN3=^2X<*-1?iVM(r>W=F|Ie?Y;i3@sX?4j4w7pIJOe|K_9C9p@n||BV(Gm&YNqD^fxSa~y zU@?a#2Sdz-X?&mZuIp+L2nWkSe;K9^>}=mIS6^vwlfwG#)VvfQr~pqWFBJJ^_}(@O!*{{@AF zTe%Lfb>h+jur3Bj1Mco^!Gw9#Ko~#}5?eZ9ZNgkr52-@kNOEx>Z7SQ?gCX5)On!N6 z_LSdTQ>*Ulj|p@LSZ^QYW#ApM;Q855kHFq`m!^=D@44PDCoLROo>9*o^!+58M4deP zN+yYw5DlNo_gVR((btb%`1^jzz7z1@9Okbax~wDph{_6HRVGPZ zak)Pez9%#2eGTC)sThBF%jL)BS@)Y#QNi}_uM$LEwMoo6Y@Q$wU>~UO0Pd2`X!N{|9hsaf1l%mbVSPJTTWTkq0>fY;h)Fpj*BUW zvvrn-oE9$8#d?$)>{>0cg-Dc%BSvfQuYhN=sm4pXQ_W&=@#cF4(c6F{fDOMGu2 z8b+UqdRbMkpzR?~BlmRb9{pRM@PL-Wf)@dk$S{ToPv=_k<52M-A=e8J^i3*4dqUP1d$`)jT?eo01$cvBkPJI}-44_n@NkavyUM>c4GEs}4Q1&QI4a-}8TwToI5 z(Y_Syz{XP|Ktx+Q7OYARaEcBao)_%CFFUSn z(0%PW_;pfFyZg4Jh?=j>CK2Q0ln&O zgp%LNZ)5fDeE;Ti;*0ZR*V!hWv;Lu#0q)G z+)@9@vBYv2ixUDJq%ZbH>)qdNr`YY{I!5qh%VZr-|QH7 zzFPBQj%iI5J`gcG=$fe*}zC>zcd`Onc%BPBkFOe z2ZX_y<%Pmpo2Rg2fAHg5@<5T4P{p$`wBAHMDR=;tKN=B6v+3h$SZVr~zhi*i)T>lo zzK1L7xhk`XuMee-n3PibREj)xI1S6MP29EVV7^LJp2)2HvTgS*fgI%g27e`KdSKzs z-Dp_-&2!pjX}l1dIXpEOoc!jyGSGdR+_pkzaxUL5U+~^KM@UY9eQ=+h6%z}~WHO#U zR9}|5RzXQNAhZUP&Hd!Hv*mDWvxI+tlaJ5t@+6gr$F6u#IF0&&Vz*}DK*gTY)9<@1 z(cFf3(_RNOWgnG_iSkIeb*L3rh8}V*j>v^urFv8w-)x6W{FLzCIx81vVM{qjPd#$k~hA0+$|7B##` z*J?7bTbs>`^+HjPPyJ}ybiTB)9-b*5JNNUGn%ntlwW&{oN9BRy^S|2;M8HEaq$RDe z8TUx%!Lc-oD%TN8k@36Wlgk<xno+LX zCJqiZ#l>{?9S_u%Z+VS7aq2YU)KzUXudN*OQoIhiEBm#+XUZ&ji?fP4e) zlDwv`PFIUxBeF>MAlE1_!B;6sz*p~+L(BBEp|d?g;Q=eGmZ^pp5Mg9qX$!;QK!MI} z4K8l{W!UWJJAi%$6In}x1nI{+eT(lXM~d;e4Gni!rl^wd zxu{O^uL)I11-Y#CmpNlsSPo$I>Q>x;gBI3bVjwk?J3%mPIigyQNp@42fP^Df!ZXfo zw8s559-Y8T5hSL%Wty$WZ*+&79wxdxADE~l^VnO?951%mNP#tIop?xg1X;b8@XY!G z9)5)PCe0m!{4=eYj>>$u^SNr-krhis@Ax1Mf$v)n-ZaT?J1tP2<0gf5%~UodBd1CD zml)FKz!cX4E&_;9sY(%GS6H$wDtCi*gAwpFzG5&TNVBl9Q28iBxNv5~g)b@p^hPvX ztOxGeU!&PFVnN&U0FZf`FGmUGj6vi0w^PRG`3m% z@DQgJ)O;Cp_iJ5NU)xO9<%X7`yb~4i0E_7CI2JUFw>$}nadFkRrX~DKjb??D1YD4s zz#%@`*>i83NlfZ;--U6xP}oIatdL^;4pw-uYHUqravLo%X4iTMgU=?&jBdbQ&a%$m zA32;>1tZ$&Xh2R)h3Qd}DABq3?M8IkI3`N}4_E?vHlYw3ID8_NBO{D-c) zYisO0b6K^|JnKbf)|Rm&t~PE`EWNopB}#t7=#JI60`+(kexIQ*3&!OW@D~9E17n$3 zMwsX7?%x76IKLjN@eG>?bx*NGZ;Hs{n`~DpPhr5!Q#eek_BUUb5+AF2p2&XNY8fyA z4Z)Ar=^uemHUf*z$EuxQfn8&Ei|;qYH8!sv(Zf@3(fF=IQ5^L7v+HYtQw<&&YKwSa zh;ZfEux@NG>Z6Z8tMsWVYzA<|&NoFg3v^%YuieZ2Q+)GrrRO`6D$^HE>q8WiLaq;8 zeIpGTj)MoJ=CaHgTy{1C>LOUs-0=f8=xuQ*g|8r^9nUPXy(=~S;c|L>!u?h$c;^b+ z+1d62rA0FLmCV^2-CJB0adaZ#`M>~rg{lPMmO+JRsJN--c2+`U3M<#{% zx4cXWx#wUnGramk?DTwM12BXu(xKF0M5@)_4ZXtfkjQLoyk^G}^|?g`${&(dtPbIc zd0sH&d1_HOuMR&5)8#`^9sgjOjkh$~h+ONk_L?hMDE)CY*V0Hf$1z6e?)uGHn*JE_z(S4rp#J_+TKDP2HH2L@I{w)bGS!gOC zn0Op_z;c>@*>!E)nOT_is2`Mx+^hTVw2{H$-K@Ql;C7v@8~6P~ug%l;op=02Q_Zz6 zamo2??s%ddnlzWR*sV>IIa~ga2)7n|%Or2^`F>3epf*x4S&`f-ew{w1)Qciso2C}@ zXsJI-lOC9FcUOa^&W_UzefarWJ0?HVq@*~UOZf9NJEn1> z&n%|;NY9Lj|7`Ff>pS;!+3RaMueBkZPvF4aiuLOwc; zJ~bt3=jf{DoXION+*>H-;j(&UUX=8RW}sB+q0`ckMEii#$`B@mg%OaKQXH@TzP`Bi zDkzBG(@gM->)ZFqZbR`ZfOSy7Lfs#NYxag$E&4`#_r;>JOsvBYbDSm$!iZpxG+JAP z3CBf|1{y^8pg37E9`@(Sw(SC@JQiGcgHU!-W-3SZw?|^dE>0agQ@`T{?bCJa3YO3C zDPL)m@9CuSpY)oYUBgtu#~av_Y&u`J6{bNVhc<1eSx5t7L|7cGMC85YI-8CFk{ zDITBfE(fMezGw)cu|H6sJYSdsv4UK{4qt0nKrjxV3UnJiluo5Y>8FIZX zl@Eg}4wf%N4nUajN05fse$C7f)TbbF`W(Q{r{>p-DiTxuMxt&8b1*TOWayFK{xJ>h z+3pOX%b)RATg1#cX=>bt@9{l_y=HGWV>hOx*b$pf5pajcZn+^d-O;-G&Y)rH7uE7e zIkty=PO+8Y>grkHl|jSi4rGI=smi{V>@L3phVK@Wuax)Q z%UyY-_}^Vdz!VXs2;rX_Z1j);YJq3|ayjTOm|#-YhQl@_PN;zqiMgkiy}u>B9!uf41}j**?&)#2 zi_2O~gD)xnSWqd0R6V*$P9HrE`BJ|0-811e3+stm+=KPW_MNyst;hMqMd#;PVD!10Qoi-hmfrr_Aeq<6 zUd#`LjV>x>_jk8adV$)aJxaHrZ94V6Dp%7uL5rLfwsG&@hDk*CQF=C_ZHc_bcAZj?07bQtlld;Rkn@YAOzVDLHvh@;HY=hv4=e85=G#lPYM8D_@_Bo%o{fIFf? zL#SmozBWqdKQD9)Pcv|O6FIfTGv*a_fl$P={I=r)hHw^=-0VS zo&dvF!yV*k2bMpI3crH3w3grV&`#t0PkGU<{Mlh{OHDjlXeDd=@vhn2Les(-HtiPb;o&}6D$OrYd~o>s(b z^GA8p`S^2@HL(#88s64UXweCgvBG{$1`_14L?zOd!Gw9*^v>a&5rFD zA}8#j+3{stEG8sX_>rQyBE3uZZ#mHo_|~%d^U`*(%&(H`{(BV|W5H zp~&U<=O=p$;&YTNQsziw%v+~Rq`zasUQx~3F@Wj6_c>vB8} zQ`6Z#m2Q=FZUJnHtmBwWcEnEpluMK`#`l{-!r*iAsWUPhrZUFE0V>HHd!|8bUnbq=I7aBtF$GB#SCu`2E13t4fpNR|^Jag`nnwIf%t>H0k z>x7k%{vC%9nn9 zgyi8>m7!+;?o9-GTatkNx9%od^ISeMk-)xcW+d}D=Q_;VTM=SlK z-weiSjPEkNL>+#8afGP=sD210f6se9d68YXthu%KYJ7~0=;6Kbqw_gcS>sq#lmC4L zLEGd-hE3r>fXjcr`%+mrmJ)mj5XrH?a$qEv!?*+QXb{Luz_U!w?HgdC>5y33vdF?H z;v3BVPKL!sE$=Awdz<5TzSAZVJXEnlz zp&xxfIFjlMMC_#0D&+Va0Ww;S4&ry>{=q6hv2`Z>8^?h>p~2J=$`OLqtX2>M+y== zxIOfiP{%$wX8YkuB4WNs!~sf@au>&=6D_E}38g?%TwI(d`lIYSX?GEU44$hWVW|At z-FgN@0UYpQ0xgPEvJcROSq&S75grW))8YB&B;nb=%IfKEPuxnU3Yz)8({i$zA=L%6 zqdeXJe&>OnH?;k?izQmwXu7D1P1`S>}; zn>rk}iFhIpe+3v#BlnG0P9#lsIe8nqCrlD@2q2k{az~EW!A_ME-^; zP?4rFnFe&~T|Bg&hB`;yP2jxC3-e%O*)Kg|1>e4!D4!L!5M@^Pt&gLt4BC5i4Od4mPBTS7uY;KhCcJBT@{5HhGu@2bwxSTN5B zfr&S78~$gA$0$}X>ec5!ohcZ2unPDhN=2rsdeYm3T>dC8K$z_;FdOrFR$== z>4^{dX+n*35~l6UE1G20NuSTwp>h)?%EUy0zpsYMLs&q5t8QHkmFaE@(LcKIWh(^U zUYu_0RJ?weLFkTHXPzbx+8aqZ7&^E@<4rQ#<4^o)iGDM8(RUE?qeLC}zJ9Cx;qMLp zaLJZVcb6ODY|&&$B2b9eOqLy9;xoQGxMYH(nYmTlTBc{R8&2?zd{oZv_Porf_XhBL zpx72Zy(EW1me2g1vt0~3SpnlXRKS8yDTl+R@C>kvLnhTj@iDuXc<1)YX?kqpTzg$j zIRHk^3u|{eKy=iacP|jP-nq6zI3M7M4B*fUF=5tc(~Tna z_4R(~j8d;~AQa-2AMsU69ICrG@PC2a@BqMXSzxLeN?;x=16vyj8CfMw{OZC@U>{?% zgPRd(xpH=JY3^Nv|6r>1<}1qT+#C|r&`=OOiJc!ZAe8L;Cy+le6t&sv2-^0=!h|=9 zW0GB3hF)ej*;sXM#u|o7r3lu(I=HsM@&be>OV?Wv9n=8gJ>nizYaL*!Do3#(Ajhaa zVTOBRc{FB`n#+X{gLocHy0Y_mf>LYPN`YIc1Ss7^i0livS_rEcx5Lf!mDcMrJYERD z=HXHW`Mz5S?;z+lq$M!>6rURZkWaqnJhTdzSW`YXUzf;1^ynAyf&?a;B&G=O?g%)l zYTXoEc^HlhI*ZUxGH#OrsD6GTnU|Ys4$6Ppl%UVd2t7;_!@HN_%5KUITXPRS%Ei34 zr?5N&#iayTAzZV@p}d0uc@@fz9qI+zDh-b!LNGZ|A`l)m1nG!K@h9JsblgQT1l1Go zKHr2)(0mw_lkc(hVFv9IDda$Joo5DxbEsqi&TR%Tu1+5r9#K;*(B`$0z1oXbx(!}6 zJU*Dd*Xt>KF2b&X8H@MuB>&}Ayfn}RQ+*1(+u(C4q{kW}2M(6^Y<||Hhw6*$4)t@A zV%HT3WcS9^oAV+eZ?M%#g@k3_|My-X3IY&%hhfS7QVH)}F9H1XJgrT$GlI^C>Bqr4 zZ7JSITwji!Hxih}YPCuRxXJx1CA$dHA%Y5Qc4O6FO|dNwN{VZEW5{cEl@BQCAOG@` zNyxg{KrKY=E2UhL{g?LlKniibSf~Fgyxs!z;Q=B!Xx8qt9;p<(Cbtmz-R2p}!fSE9 zaP~y0Gz^pO|1Vvjw&)scJl*bo4ptcTF+lI0K*y)8XIVHg!3Pf1zH;o>eV8|RK)IJE z44b4Nkj<(ufcjSS&(BZgh#Y~FSy)&4MF_swx3)V1l5op{^XiDm>92Q6>SL3WXT}Hz z@J|3Q;-lkIe*Btn%gmz&{=kfBkwF8co+udh*nw%y5q{I*9JYqdU{>#E@LtBg<=|M#ePs{FwmlhpK;8kb^37mJBto9LS-9rPNMtFdP^(gd^4n;sbY zC@7A%8iQ+t;F-#WHv1s#?+;+*LQFT>%2A#$x+$=B*d&^O8Z09&Jz6^fu8uv%%{qs# zg7@ylb|Vz=gSwTLBzm->o^E#T%`dOEETG|1qQn7ZU6)Jc!~K?3xTsiM2cW^Mf#9B{ znX>%+d>wNUfl&TJ@|KV(8p-H9A9Cq_6EYGQRPNTtVW1H%Fr~ZM{5!CFFVRD6xwgY* zO?*4wFttdpT}60XMl0_}po3TFZS9y8$l88a5_*8^J0tZ|NVsXe@v=;tBg!;vQmZEU z;aQ8MmHU`N{jFP}0EJj|v$u%cK+CP;q`e}TbQ(++E{_RfI%X(JVCR?PTLfwsOjpUq zFZ8)A$hH&}Uj+#LFzNOq*HV;~Z)A;YE4WTyN}MnIB}soGzU?fSST88#xb$nE+&n8r zLP9FYnzMTaiwMcY24duO*Y8cWIgp-bKEkU3gqX~B|U4u1(IC; zpE`b+4C>%pw%N_ylm?0|#MuBPfE0%bG>{ai@AY6MMd`*ORi0uuKeVc z{NLVB<)36^E`+HRju2dmze+5EJ2|k7_B|K~?8&WrSi> z-erS84>8WbX~f=)a5~(6Tl47?n*gTbtkX14*r}F@LQV%4tDojaU&Isf@5|G}ix^j! z9Z>#j+c@PB=U`phFH<%MOUY4A_q*j`{`3z~)IG;Xw33+Rb(WXS$@kZn&VJVEZGReP zJ$aVl15w(fSv`3>R34+vP`c56!}&jN`4SW2hhs8X%R9>OG~hg=p`l?AiEaz0sS6z1 zdsxbDVxGpK*7vYhT+>TU-+8PAY z#s4YR*m6rZ;RvAY-jyVHB+!Jz()31V{sqrn#`0kSY@VhA54s)-KZc2h z=HsRKzt1`|+>uLlYCMso>^2~41+s7HTPSpmjAjym@QDU6#6>|wMBf;kU8!cDK#68? zvbUQ36)urr9f&6ZBx~{(squtEYGxbkG5f%zK_dpxIiD&hA$fWr$}ESRoO{e0iv4Lp zul9_*4hdMC0`82&P1567E{L?C3m3DL{hziOHvC{v@yKgwfFEw0H}ghsXjuRev!iK0 zy9oVhQnD1U=#V0LNWsC&|9W4w;+2VDRKv$(g39!QYoqth7MzL-*do_Y>yIcBX9&OF zsMCIUdFB3ltb#^{my+#A;bYfhDe*4o^JdrAiwX>zynVV}L=aP*Lu+_OFONjDxR9NF`YHK_X3Yga$za=SRPA`G}!)2al+k{Ql^2ca^xTL|MruY zKY4+G+dx2o! z?{DOH1{i~C9~`2t!EXmq;V192dvHbv08;k>$Zc41Ij}!XhboHTv{CCddQyPry~;xW zH{$T@Cz<4n6@Z%)3VOc1UB#H^HIf%54p@S4m{U-=P{k;Q?Z z0q&H9}D1P&Qg5 z9$+4Y)jzVNf8NeUh$10lE|dA|DBUKB^CKJWyC(<<8p7FQxj$Vh&$Sm8#!H}scKS2Q ztKr*x=i1;M_B)3nSyEC`8n!eFV2Ur-9>28LGtH@6fx*8{r>&urTDs|CBK*it-mhMo zLdH^COO7$?J^{*g3i_C+#US_jHbr8F+}}pVH3t#ehGmWBEiF0Sc?Z<$L3<+DBt%ZA zTs^I(R6oB&F3R$yW~$!6@Oz6BDc800`M4vblZo8soJRBN2n%PZp{j3SCwok)fBzX7 zFJq?m1Dz$b(1$cjMM=>++L<@87c|5gTe8*V5ch+}J~w)1a4Py*v-kTLA{>7FY80t& zp9{bAwbGko+zWKv-f|>Bvy(DIiJ@1QDZ%$}JNg(EUM2o%ca{pb57`E2US1QWhkSSaXBrGaa6k%ZKgr!3NT4-8D3 zoX(jaT)$AGis<xb@$ZqW>ChqpBD z+P*AY1{i7pJQ9X?A>Q*DEIKSbK)HU6i0DI>7PM;~IZM+^(>vbRWr(l7cRPKFg|$Cz zz?)3;Q^48mey7+Bb6%i(pZuukcN{#-@4W>-nI0^Ewbzv&{~+n-6eAZxk0D9K(jkXg zZa9qgCm2FR(}Xy5&)sm0H;Sht@}jkEQgn7J7ETg1rw7FrH%WiYMH}7QgM~fVm4V@=1cdFlYa+%ra0SuGQ^`Ps zlRG(2J=ZVx7CUnd#qvmLgNA}rCdzV1CreJSk&pfD_KKyk0H^yNk~trn1*HNh7sT0_ z{OB=c3G~?{u!)QO!-Zbr>8_yiI&A-v-3#$;zH#Hm&?4YUL(K*V2oWi#;=Z(W-f~F^ z58u)cP;TdfVV))JoT|wO#l*X@Y^oDzfQUYjtC z{{cdQ;Jo}jkd#aB>6n942@S5_ldJ4v^%3Or$Po^kXa+yyojAr)`fV`biaq<_@PUR+ zWe($6-dvjYe(VKY8cE^)N0?mePrK%S7wPT-$+#4)cFz7QXol1SO@aB8ry2#;#FaP^ zI*4e`X8@$;wfbT``1}f2g9&9&+Xp_H6X@Aiz`Vk1f6QWqe*{=(DPWM0A0US-x<#rt z^)OUbH!5&Tl;H8p#CIZ7(aO9n-suj0RN1U(I!M~jx!ydG(fVlXw>`C;3ZKW1#z<36 z;f?Sh@NvAqsB)KJ>V^BEV$a>I$iwEIT8sjzd1V3g8tRaPwHvE4Eg#J)0djuT2s^}9 ziJi&q+B>kS0&Pynu{A*Wx<4p)wiLz1UmjNoHy*_XrjPSF-9uya4~(FSo-`h|LWzmC z_&!)=%H=b1;kn{-_MUBM#535Z?#GDdMjA`CkoS@J7 z4nAnBJad+uEW)OyLzgWC7bSz4G^b$ZffE5Os_`k&8#O=I+Gx{RLOitVgCh2S@VXT> zjUTZ@XFq4)J(t=Uy716rE5*DZB?%EQK94B82<@wy`}}SCmd|w(VhIA2ljefx`!77p zVU>iUC6_{0Z}?n0Oh>HTvg~UakGhaFXQfqk+bs&dFr^)Ha=z5X=NC6kiTMV_xq~tY zp1+8dlc;dNo3%wTQG5D{jDP9rj+>XGe%MwbOI663Kj+Q|cA|O%!|o?TwamYTMQGLz zgz=X@uoK1}#b;m8kzbrlSGj%Kv-ge9LWKu6E~qG)o)($k*(qN=6*#peopQ1-Mr=9j zb;!7rI9k4TN>(es2xAMWUDlZ_xu|2?#+@h#j_216D@8O3F|3p21!Op+0XOOA-xA&A3@0%4qGf2o!bPsSe!1wldFR_Y95c zLT?MJd*j0M2Q|K8TQ3^8W0ku9u)3ujEAbU_(Cg*43RgBPopesP>&>bTMv!QX^&2&s z-Lf3lQ?i{N@t|xtwQuio$!znum{Yxe4ROzLs@R!w-ipUd7ogdk+cEJlV^Cu`4V z#VUcnUpw<5YWqXL#pessC&p=aaBfC;wKk6JJoXE8Gg`AQf7=mj@{eDK#x#(4FzzO_?)w-eL5ox`f+N$$r9twImun~X4)!) z{Scx=&8MHQdGoZdv%nS697aU(IB=NA%)B)c%anv(h909UfSiMAp*t?ZIsS-D0zl^C z?Zz}$+$6$!H+=or(qgwK{$6pNcM%owtwJ!IuI$h$b2q5of~}@iJ-6EvWKY#vYWn>I!{rtIWaB%R}ffyk9oN5s*9!eP?YEYN#ICais?JjW|Q^bnuMJ+betq;!3mEOJMl6LL5UpmEEVkbT#0L zUR$h;mJ!?)2^r}$)v}PvK3y0N8w)K_cmYBdM@GX*1Kcz+KcB)_xLYqooEHPgXZWDt<9r!YCL+!hcZpUC+l z89^PI=+`M==hSu+QF;QN__@fU6r>#-EsuRm`!0J* z#Bb1HlQ2UueJP$`;B&Uu+4sogO3WMRHwIu24{p7tLz(hqwf6I9fNs73h1>~m7D zL^z29aUV?8UJPX^Qf=?=Ywi?;ENu1S7i@Fl0*TGL~?mq1DrEaBJ6pR??S94Jk~@+L=Nu`GHF+>Mix117~Rmr zy(vx*+45gn!Lh#uq!a^8^>YpmG2jPJO>G4=X<9JMD# zD((D$zNm)r^0n(J(Et;qp7Kpr^inGFk^;tjqF zFgLio%oMyDa+^;PUrR=ZYXrR@LdOjsS6cJt9#X(-0u!1331&KM62`MpX+1=Rf{Ck5 zovnpnef*}ckgw~v=G!n+1ii z+Zo^Qpt5z_sc`*Kr0<1bUC^cMvuWf-<2Ra)!|k$w2i}tMp6j~a&@MbhAF{|ewP$t^ zZRRqJY-M#frjnD89epM#>%!=06Gx#+H65zdEN>F z8MPgVxRV9adj^mgqU!2|VCD@6^y?v1u`+AEdv3_QfXXBtqku}Lv#MX8yuq=ov}Agl z{Nd%z7pPTL4bd1@hZXmu$17Lw!T{sz;cp9%W3-wdY&@;<%?u0-@>Eq30j_LE%h{<< z;j%+}B&{LHrddEv!lf4vZL>ULlT`HjCZe=J^PdG~OZUAbp~!UJ<#|ihq1a+dT|Z17 zk@T-TF@_dJH`BBjHwe@GUvf<6vD8mM9;fty<~ijV+XZD8zL2>eUru?Ifbm{nuAVcx+zR zCn^0cCFYqZTNG}^IP6Rbunct^RmBgE{PINx3m+emUNQhiu1mmJvOI^$L>}BRBXq;v z2!y9v>H$;9TQD{@ULg*6^-4D@1tsFem8y*8;e0Y^+PRfQkv=Fsh9#RHM4hmuAIN!3U%muH54GfaS_a{`OoUzid=Ae2`}cEdA`u(w8bXCt zazX`D!AnfUL>`thAF}{6dH@;=^+CW;G)3HZJ$~EvEQ4Kd!SA!YcFDd(C2cnedOy9= zrsDF;@fikG^2aem3Q`!Jfy7rIB7M7$JA%(CEPAvB&5l;k9!>r&`3M!igP9qXcmHY= z&i~Y=#hawHldTEj?H_OCf0ZZbP+{wo3`EKJ^xNb*y_SjW<(ry7pq7auRXtydVRI^| zofF^8+w#&ZC$0V|L@j*rliJ4X_OxdB`@Yj>$zjrlq?!0_kk_F^$SG5N>6PR}4@lwW zmOSJ><(9VfN({up)T4G^4Ey`eniNF4xw$1#i+Kx6U`WGODDORR?&x4=m-ozbPAIFC z+PC1CUtEddt%edhD(V32poey0v>xu?iSNKZJ3Tua-UXW65^&g5ny%I>z0-F4fy*vC zsstWz2%O|!s|1^{QFmEaO9 zw2K=J%Ea5T9xoN4Qb_V}!L&7MNvDs>J38J1pFAYsW9-ODLWdt7ZZYVb_+I%zFO_Z7>(R{=(T zTK^fETNv~jsX$c=UX*cbrB^BI8qyFm5NbFZh_gB7*hJ+I?C zVKhRTy&Sp~tY-iy?)HgYC<7L?3}(M-t2&M|%~uhm09=Y&P_%NIH}CS4Sz(gaVrTG& z*C2oxzqf6?9MIMqmE2)91!AwMmwXAV(9EDd13fOi5svVjhrG7+TWDr|Df%K+2(Q!k zk3c+{Ea)ihyb)L)1;hQyKn8jkP%qBb!B zpe?v@#zcT75rXrkZlQ^HdswIsoa*7sDBX zM@_Z_U(0d!%(C@3A&@-2PiLciCi+YKzb`TnLnMHUK_1wT%%Tq$%FrXTE#ROlVfbYr zKgm3*mm3S-tJJuE)dmf!O}YFgqSm-uLamVn*hFi``|Qi{`#`rSKhFAh5C7GgTjE-B z1?WohY86ihq}+;o!B<8J7LA(vUa;lJ$%4CCIHlpgY}Q4 zy7{VY4P%dxaiUat_ek1tu*>J%nVsYpK>OE760txbr>S#rluSMPRyl#%hfYo2K%3rU z-fMnFnGTor#N|ODXKutuc*fp2czeV4x4*TN{OZ|?TZ^T;!!us zUXlx;Um%!!p<5TXeR z0xQa6YM@69)mJ^A$lE~B?WVUz47s_v`9z+N->JlbVt1$r4A-aKu{RL_GCLK*e7gI& z{mK6GJkV& zR7+g^5J1CdC=M`Kr2+kQ05IxY;0{2I0$kAJ;_RRcWR)65ZWGr?NwY)&Kb3{US##ng z)%P+pdEJVqk>iixZD6}|CmNchhY*914qN*{U_8kJIY_Ii998;dJ8KzYvz@98(CDTi z`6=#X!ay?lWK#R(jD{kF9DdcNA4cLh6n<;gGawq8dR^(9Mj+wp5I@#I0$cPAq?7dgW zDl?;GZ?dC|tU`pcM++%4zx(O+{(L^~?|;ARa$T?M)uqlk&+~jf?)Up`-AVWM_v4MP z!r^wQ5pYYe4d}u(Edr1gGo>0jT!e?58I*Dbu$o~KSS%ilMeqYOvH}mt8P6o&EG$?C zhG8}YcJbD0)sR_VY{u~vUCzWjEMbfnnz6zYKXWDeQvAH3_>|-C0QMri`$7c-X<}5+ zFQ*3P=gmh4S8}1aUDtsOThqX0SqTrB27^gRZJ4XSm3%Ym_vR+Xek)oI0irH+8Ch_K z!G#-s4U*ZHl=!=xu(3q{+?nX?5O2qoKlx6lZI3{YQ%#J3BB%Dh!-LJOEce(X0nPI{ z*Xma{uWIsm7(StiF;NU4`bcFMPynK5t^YJo1RmGDU*XvMb&GitkdOolW~9;dz}cfu zeiZ&b#3YSP=w8KMlb>iP9hx`)<%O|mGJJ`mW)b2m5>wid=aP631 zyYh?Z#N@G2XynQ(&w*8}m=1X~a#8XKv#6NA`+#2ltV=G_V<>4<9TALC5MrVCD z=g6USEPe#2k$>M#gh|>AjA%5IRhHNMsSZGFGv5Ba^IF&xtL%;r^< zF<@Gdl(k<4%Uw1eEIw*Bm0Z{6N2p1nL7|W2Wt+cho5x#{yF;eh`;3fZBVnzeldlrT zKd1DHw}Q`4n4w8KGX^ZBSD@|nr4wjQm7saLkv_%E&BsSX&Na5D!o2hH9yCXSebJ=B zE;yS1{KK)^HsO7C?9=!Kj4bb7KDZB5Q|=A;YPO(mctaI}9Z*UQOA*o04}BJ+qM~lV zWd42^1L*vmP-jMmUc?1Kl9EO=(zsle6@Y|GS1nq8a4p^!ox>?j^_eMYDaD;uo_h*C z<7lYKdmbszWgJ*lvKPB|2o{^-ol(wA!FZY_zm3Ppx49X4j^Ar->>M1Ov4^GSu2!v~ z|M%HID%f8l;d4vRyG~rZ3e$@B`Jcey=0QuD@s`1+iI%PhzpEVH1b>9263_@a9#J#$ z*Ed>&A+5IcMOkPR&o6etfTOiXq*87}HJ9q{){hGe&LM^KH*-mhT({OtgJZxLvu1r8 zyKe%&;uF9V_Q=jj zC%dKRR-G-qZ$G^-9omy74sa%Z{wtmjEuO{FK{PZp2Mfm8-5r>Iqw@@Zh-)a-%t}ns zG5sN&_LCSv(~A+{9s5KM5T{HI3=>lN7NKYep%)!)K6hH|kix~mG3}J)LL$iqTQhK1 zbk(y8;t?Z!2(DPFuN;4C8{8H@hKlH`oGhOD85jQpHv0ZVt7EWM^FV=5=hkD|`~ABN z96$zOt>-Z))qd9V1o|_o3!X=N4wxyT(QQ6+d!||sW*q~PML4-D)SLm%yb6$zVe4Io zgA)K=3{+HbpwEx8dhk{37^(t@%GI8sW7YnFH%l?I0_t2LX4q{1_F3PvH%j+oE>+g? zC$OUPj1nRRuQ_!W&FkLg%>i#Kslih%F?PX~)K6LV7bn<(Vo^^=hoSmq%vlzMtU8>I zeq|jZIFW9k*7M6bFB2!)(oZx>J>cB&GS-~tu1szvE|^b~HXbe$D7^kg{d>p0Zmq<+m%dd{!187Ip0P9aWE+xCh-iRnZ?dPMY8xO7seqnD{C)EsYll4; zKMB>|NbqN|H_??Ny80RVl<%u6dPg?a5bv;Dv>ylVOW?szW?-;m=b`~6(Z?i5eg#18 zB?bm_u`FS}!>tv=)6)TR(~2{R;ApkL=f*FJI_=43z!f^FCx4~_3hWYqyVcE?t_XPT5_gT%Ia|nD?if~!7^)B?(K=7QFqZ&RNP&nBXt1BPv9pG$x?xY-bcamr;XJAEp;hC|nHN;^8A;@pf2SJd+{VQ|YVxON$bz58ZXvd_5Nt#pCn zejGJQD@uC$m`jSqozS$qNOOU{Vo${+3CH`T)T@)k8AA4)5{BnjhEdm%<2;jgL_7A> zbYCT{43O$9k1uCK|Kzo4mPnB<1ulvMMm55s#F{b03N9DH(4`TKXfPG#(#JA>H!`qK zFYn8p{!r$%?(8@w(I!gg%Mv<-NS=xc44$D4%X>6Om8GI~!=yD2SjK1gJpJl}&I!@tQ zpB>}(`e!HKy9B(f1f5t0Ghj67;c?dx6C`|7rZ9?Kc<76 zhc*9qol7mKo+_0L3EL!D&ur%k8Hy@n(f`|mq+nUapu=j}kiV2IiY1>&Z1#pXcW2$~ z@D-*j+%bD$_QF)aG`Q|Z+ec>8IR=H_^a+|p`1jveyQ=nC=dwG}Pha4Np zA3L#IVh&=uscf&RPmdUfrHgRv)3V4pky4^@bk@}-J6u7-PIhrhY`XizJI zw@~JnW1&pbKVtT0?r*Re(RMlaDE{j+5p4I8JN=tq=B30S zk0MUww|m8dks%j~2Duddm%j>4_li`8NAU+eY=w-BR)~`72mtEMg*fg}C}{iXs-J>B zr`|8$hFHw5uzf;^zvM!ZhW8`-ELFtoUk228HIbTOGw*Zk(+hS;GPk~o&mn4)T6(;r zOg`|$5_;>bG;H-NS)pvsMtVbf9se=VhF?r5BpyQiMR@*pKD#Oj6hzd;{i(R&pSY<< zE)Xx@%#N&Ou^}!%AIlL{JG|HXK5?ktK%h;Q#d_?<-W1_5hYU3fTVlJ&zVQIgj6Z;d zKZc}-;(_+=L)J0#&0|rU?vN7@@Z`KY(a*>AA{exKgd0vUc;_sW8KJtlU0AF!zA(_X zlZsEYlNA*suHoHJB4X5uvtaY_J9zNOAP;xSg}SWN!l#$f%MB-LArV*v5lb3gIU3*WG5ETpz8uI(-rC!= z_Yjl=b2ahT&92ztZIzB01$Hho(7ZHdUGOo>+~fbZ8RnH%d_je}w1@eOp(-=hMpGdt`+nZbf|2NpwA) z#XH0!ti-1Acv1-rj8YdL5;(&m%`)tWl^*T{iZAkX-%JOutbdkBp*1TWW=uewQmA7-&C9cq2ykiwrl zb=R$E+cl!IDaQ6c=R*flf9su|Hd?AN$)o$Z^@Nk!3T>ho%4(uOt&fgG61Dj7S2e>3JIoIQmT)0iMj!jJIU9522R}kVH<_;&N zeLk5^$Z1II#ll?%>#ZfbYh-P2y07#FcVAKJ?CKLKR`dAc)bC`kA~EE%f;+k9B+4gV zjI&i1`L%F27OzY2KJvQ$H;+o5`!U;!t;%wRA3qEYud-P(+3GI0*rv0Nr945tND+!* zn}}kZq&(WKTtnBS+ZRtHHK=}2`7qeshup7>3nfRQLum4_8>OMC0Xrd zRVBBv>VovyE;I7V$N+5uB`T>_KBi6Ki2@>b*{q~F+|6$O^&JMGKL*TR+KE?oRwR;@ z={b*0?L@R{bf7la4+O86)&{@Ew_LB0MW~V`FcPR~-A$7dWMEIC8FU+NQEDCcE7p0Q zwYR2PbbhXSRk-Ju_mOJ$yBWp6%WMmtK~9AU%aj{j5o<+*QFYXl0)j)gvkcbn)evu0 z7tj0@!#={1CE3~A>o}+r{;gUz@tjMPpRqr_IBrajJzVHr87aG$A^ zm$1e)#uH6YS1R*Mi}vEQ`04N*i&>>KB<^|S`PLB@E6CT*P1S|Dd>-bj(SUJ@_>FeMec= zQ7Rh`kJG0Q^|xpc``#a7nwW-1+9O{3pZEtqc~qIK_%8P&oiR=@4 z^HzWK7Ur;+C9hpLOq(1PEUfEP?5xZ!{=@v3#_@@aUiSIZ->g-G&wta*$38+&0`sC= zy*;0~JPg#UGmNLok_+Q0?-KPO_W{Dek&0u(2ZJu>0Ht(zS8((fq&(=jlm~z zc`wTrTwX~)yw#ZnQJ5nRAHclr4IB6pIRD91-`UCa(+OnSSpE*XtPE!&O;RDm!lrxY zW!~ksyetQuHC*emPO#Cltc~U8V^-BZ*~`mBEc{;e)yyHi(|jDO;2MU=1pfgaO>?HwFE z1r(*92iijz`x=I-OH?p;!65=&I`W{hb7S*lbYHp|bcQ(B)R!z+14V17-TU7tHYMo{ zYvZ%t^EOk=8ED)g;bo|RR6pwzTwzkZ>z!{x0fSy8b==6_Cv zXap?~(%?#SxYVK1Vyocv1E|TrgI6+r1OeVcidr~pliK#wB-ZdQy=yTJl>_Q{$$uqL zBFPf^sv#CdI#A@ox{=@37`s13LZyigKn!iKx5BI95mSVgC~_*?DV(G5pQ7}%(!t~7 z`Wx~@`?U-^tU|l=3x|yk>6=SkZ%O7GF{-3+eA1g*L-7~BEbHERBpd5W!Y&EcF zx0j_isJN#p*(^Uk_Ji-MJGGCOj?Q5?+78|S(Kut(KCtzPkc!`QJaP=Jva(h82-g4B zdT3~9d3R+8o2UBM)}4HIaFS^~l|Jy_yBEC-Lm zS`?2uNdLI7P!CRUzjF}4fXB}(Q`TR&n*|s}2EZCPd|}57Vv}K=BWZ^JfuzYuU0HSH z*v&sbuBESh2Ac@#-WOA)n`X~ptQ9(CO3mtktr@HV369MsCBomZHLL@x73a97WsNcI zcf>ylRUO64KTyRu`xBo+Cs!fzs2k)G0!CL@#ar$s;hjomGI=BHb3RpYYg3}g^v$L% zsZ!oflQbNL99Td2xrwfTiFgTelN&_vDB|2r<%wd}5kPYu9UgwMX!E{0iACaNncC=H zvK`f`i!I7nIdyRfuK)Jk_^&n(c#BqHsg`_H48;`3#QJOa0yY6t(uzs)&oG4f9Kq?^ zn;04`tbrN`QewwGx~NR#813G%wa>IwnK3k!r2+EI&S6qj8T@3&Q^U=|f ztRO;&Tu#CXkSLyqiGJtE0jdOV#;q^VXuhXa2;DsGG``H%3$m>{e`*O5sJvVID;XlKeTI z3IA|B_$t}X{IS++E)fGyU zclr8Y(g(SbAyU`70hjJVTiWd$T*o!Z(xJyznMIx}1C-;42Xj+B0CbGQPF)>PuHATc zv+>!bc8q?$5YYKT@=DBv*C?md44KAE2lNDmYe+V2@HT4$BI?(GG6ijl+sBsOSZ~wz zdjdcZPb8nK%c32#CkWc?;u{pCP0J!hv=Y>=O_C;(+}`;Lya1zmwxS6=YEnN*`yof6 z1Hw7}$4`)Hny$+*k0blead2?Tzt3(QrdzB0ETB&}V`5#6^pPWGlF3>GJ(O^sJF;%v zRF$qs(PhCY{DwI#=WEd^{vOnN*>m`}gWS6(L$UEG@)lziK`!VF(f-?qfL^>9veVvJ z2a-0qp?ki~LwDO=c#5@ZgKK@ul|N|a-C_bo`e(?=f40xgm2wBvFV7eT#7H3)RwHH+ zIm|d22wGqCk}VtiOY=q-RZLzRoHZBf$hXp);dyI6JbgJb+TGOT`vD``qHdX(c<&h&jO*w4K){mfT#HF74yulZf9T z^b^7p)LtZ4iDPKNVQo+_vjYp7A?@gWNAW|S&sf_>#r(iuv`;l3;sKQUp|26i>Oi`) za=+Ln9bE0Ayk|PCZEeqX{<*;kbPIVvf|2Q(88X!Kj;dLhS=b5RP;_VW_D{{R zCkqlOP&f^mMNbncUr4mp`63G~@94Mo8;Dt6RWA02w1uJ93hW+WB|t%-7BGQmL*<{~ z9)6Y<_rt*u1>$N1m0aS05F7V+489XVu~O0{k)}eDaLl#^H;hl?d-?eC7TvEkKt^1c zLbk%rdcLF4NqQ;+uz#0sBdQ;y3x7g><0lHsoGHCR=ux}Lj?O^9U28ojf1kfof6_Z= za(ZwqmVqSBv{My-feltTAl^&DTZneqoV!R80Z1EwzF(HQ^0%j7xE@hoLyEw*zS{hA zd_633akmArH(!dv?NL*GZ4*fcyVp?Zci|!Yg|jz5#}oTpGc3@&&AWn^h>}ZN-+?M3 zB4QkN&Kb4#OJlgqok9zLKfekeGAZGpQ(vWKZiF}1gc#fo#lX0!xsj6Sqdr9w(-sXC z3C^^205(gx@=_nfe(&$2mRF>su$n>x676{)H$V_uEsXo{wK3}9i=E3w5h=~J=qd}TOC%(X0r8BeJ-@Cl$85b* zA4JzdYsGN!i+zg8wJTfGU(Dd<4JT(;E7!9in)sw9UHGLik5NA8V;vXT*S94uk5>G4 zmdmVl`@PY+h<8VEd+}8oJSKpTUWPy}b%DM{vNf{#K|f*-OUQ|m3j}4m=eH-jAVsS< zOCW+;sOtaQ=5xk*%-zW-!m4wOPE0jE?6+ztg`BPXZNAjZE5$2c7m25OlY{P zpLmF?YN4t7pcu}N?T_I=pC|)B-pHSLxr$Q5z_rHhRNVrwX5w!|F><%OipuJP(d< z#)v$v4sRM_jHrwCL0hTc`B3+2PskJdB1gh1hfS-P zx^R)O2ZY4jB}9{d1%Ws{T%~BxD@U){Pu$~E9p!`VzrO%(U5ay!{6J^;Mbu%agl=oI z-4c?pi08_9Z#a2_sK`RrtxqA@*Z)2k?I3zN{aFc{3W8)Dp3{m0{m<%sgu^f_7xB7) zGp`JGXIH4*hUU*mnbHye5B5&s1qhJ7l`vI+=bHzFHc+lg*u`?uol;9TXQ}Bt zfSYT1b?z1Nbn1e`#G}ZD@vWLOfRUH}01ch(TsS%4)L?H}vQPyN@Au`q$E0kD6fWrn z%SpAy<5;Sz+Hl7k`6;|&Uc=|Y={>@@e84!mhf=F~f=*6-xyPdr~Dsc$3voF<}-u1&QD|{hf}&Klp2`uw|Wh z;X>6+e!!k)M`Bvpn#AP1UAoPuY4%EGehZ?MZ^t)78fMn?K_we;aC)1T^H9%=*~6_{ z>h|048m217mS~ny-v`@^kqsB7XOv4si7$H5niEw_x@Z>XBWJW)9Ntas|bt z7T?Ecn*y6-IAcqpRDC|&1jPm#PqgYGk9`YipJWsv?vxPgkC&ti4coPyw^-|NO6iHY zJL;IDD78^;DCgpSV~)Sl5`tbza!%i{Xl^~-c!2^+5PqgNGDbP2fBefXW zu8()o>D}1H8A%XSoZH!DdN&n7-zy^Xb+FBTg#sPc%v_-8M5H1u2`aUpVF1D_MPL5# z_HLH>v?IlI;w_ao!hiBz_#<>4fxs!=Q}l-lvmQ1%YgohVkkTq;5|wk&@YBofGkOnG zgZ#i%;X^U6SB?%7i7I<@$VitCGW;fyxynR}EDq#0R#RdW){w-s>QBNaZSM0;I<)%0 zWEr9_upp5se|~qJe-=Oup?YBdSw#`Cinq_Qy*~OXmKs&3z4>8sOG-#gnpEXB|Cx$$ zboI_A#beU-ozMe=0GT84$RpD(jQ}>S@fTtAA={>`C8SA=rB9yVv);J4Moc0hOS=2wS#@iavpp_|i z@O?(whpqMohT06<1PzLGOO?!SZ?zJ}k!yMLF#+9T6f;_>^6YTF^@ z4xyOVa@Z>#+JW8{#?2f1R6C-XN$!&qR528abLQ#~vnEqHc^)kFa~9!rr_|$4(k&49 znWJ+g?mTgD_V)fKQmjR&|LK=-aIDI#o-6zlA^0Gsrk2VlW^c8Z_m$F79cQ4BI%;S( z0?0k_A2t`&NQ;o@d&o{wZHlaPB)=y~zuzTMoPx?vIWbEt6y(22(tXwjof{fd@S4T4j?)}`J9o`FV5qBZ<2u772r1fBzPJc@l+GW@4FgrA;- z-U|HMICHu1^AUdmMe=JB1S_54p9v(tWn05D?ZR9V-sAGq;<~u9eJnH!2wY4^(1yQu z8xVT!SiSx*{uDkT>m^gf#`;w8p2j+$kghNWsVFHtu-0u55K&m1OUiqXKuqlw8PzSr zPhK~4V8TTD=TvcTwKLCgCUoY+I$)k z({8C6mUnc21g&Tme9$=0iqsNR`tEbnw|3m-y~7QkBP88dr;$F>o;!O`IrdiTRnog< z`uH*?uoT!SGXj{InT;HU6RSvP|3F(sYxDBY9CPZkR7xUAo?&>TF;JUa+;c0rDA9ahz3vre`FOKkj*|S?L>=33VJxNa@NSURrf4e&(u?#(#;}GahZJWKpHDn#| zb~F>t+fSNuBjkCaEmpQzx_M<9Ch3gnng}l}M{eyau;zn+eNrv_+hs`qi;qhSLtmu4 zV`){W32q&48+HxlM zYjyLW8yd|@puh?*1mnarBDNxy5qE7a$t0Ccf9&E_6Y9wej+(U83HFaKw|(j1Hyb_< zixhFXek>j9GdMWI)8j+zK%APLHSqGvZ-;d9kM}1Qh&HH-K8{;b!;9cewQwzG*45VHhFHnxuDOQotN?m_VT2Jn{6Wi#LfKl#Fjgx+C z6Luz{Q*a_HLgN(LhL;^-Ig;Pu)AH?2j_OKMn&=80_Xr`k4O62_(kr`A#4@g+@^n_3 z(FR!piDDtp0;7cmap*K-cqf4Nqt!0PA-TW6qlDdkyTM)-wV8qLJvq}>)4YL?HguB7 zT_X<@c6v;TbODyVHDZb+DnnfBhavM;A`kZzkMQVKnbv0U>pv>iy_B~xj;%v`JL* z8<^sVDn*3GEJ};)YG@2amN()Dor6~L`_KlJ9HkcP>|U9V?IJ;-OBD0GY)aqSq>x_Z zXBj?jc^QwQXwdfoTFDP@^T`n~hw3j#i?J52R|XfK?_sU*;dy`D z8wH6(ihU-x>x3d&X%zqa-I&sI`Xf#Dua*lqTp}d&E3J~Krr1=%3~Xz8?!h%bq$lwz ztxbK*)~6mU@Vx(g=H#^ehG&w&FRY`dJD{m#QLVqXjkZIs+#Sma{!jKR@=(tde+>(cRt6mnXM*b28$6Ok~GlYNT4!3+@ld=P6BXp`}yS z@~wjbS)4at3!z*xT6%I^L7zcH{<#SMd0=*d>rkax{U0~bdRQ;YKgM&)TkhzW#Mi(_ z8QR(u(Z|r5?elLq#+$t2sl{ar<25X|IVvTN$j#%@2riMOYeio7lvT+oZhz>kU6@z+ z(b?dVb5cVi^}4;(H(Oc=_sf3(<1bT8oW`d4v++iVH!KiGvP>B z!dL1abPO^Lj>8uc)pWkODv(BKa<^>@?<%jC@7-tgc5Nb+`5$+p5WLMA!3zY+z|lBd zH;wY~{!>W)2=ty?M%+3%S3(A8iNk0J>G}y&H_n%a*Kh~jbJ*L2#(+Z?OB&0OKm z!y|tkw=@{2Y~7@?JZu6<7BVIL&-IYL_mn@~*o)!Yrb$Y|ups00Ytu)&U;Ho3?ao z6Ia%qZO?p@(P`<(1PX)>Vgv6tWl8>jnAQGVI7p|igd)cbr8}4;s{*U6ea0nnr-;cp z%deQLr)H7dI9t6!qGR|im9+fJ4qj;0?1!|s>IZEW)Vzb``hBR^Q{Xd-vp{!YL}3ep zH%bV8CTD!(D22t9p0@y->BLwM?HL9WFY(hU#V{z^6Hu8&%&`08tP@OPC8A|&)%z?Y zE{$W&Bwj4R$MaHsMYDE80!svuc#rWzNK~L;2a_qA){_W&Dx}s355;P%4=UMtu8@CA zMqlq+B1(dUZ4v{(q4N_7(M(C++*Jp=)|`3F`}Sr z=kf!=$WdvOzAf43L))7!UN{4sLpedJ$hVvbxwamrM-ZpUS{Z$C{to*_SDel1C3-c& z5$SYg3wm#CnyqA4wziL-0@RK$*H}PsM(OeTTtV-5^smJi08P~bo8S-9v!h50qIfF4 zd-xN9)&aY?1053%q`xn?79$);*9np=yO?MlNY%(E73ee8Wj|y`E`35AoY8Gul@rz@ z+8?k9c)EJYdg_P2O%a1TmwuH+%4XvG?U@b`ww@%>eqW zo_pSd&)gz??OHns>m=p^oIti%1-frPJGp5{Tz}zOs1#W=8Vv0DyWme5-1#cGV;RU9U|(7x`B!8vpd0|Xs*i`BI*$Y`8;-zSy|lT# z-IhA#f*t&QY|`FicH62b@q!_s%&IwkKaupfddeGR?&*bf314m7oi+lS64+W%_O({#DN5HfiA#a}(S%skFM;7(fZkc%My3C*7mx84>p4vwd(@y`mFOzCH zIHwQqJTZZ9!=xbqW6HDyrfCOs-(ybug>Z4&1wjjV@S=G!P8mmwR@zV?#UoJBr_y8BF*?F;;eh>!BnMayVRyPRBF2ZgOB}p zD|4km=;cJLXFvMSi#L$mNXK$uM2`1KoZW?AjWEG*r&iPBaj%b}x=10z=Tr4IcG;D* z_2b1Tk@x`R4}Aw0j^gT~U!znQx)GTFC3GNNTk%Vm4HQ5PGkwF3;p+E`u8Vd>y_Ge0 z&|8X5y?ku(PK_{g%S$_#BdcsJ1vWh*!g(Iln|hhGFbO)mu#u{*5wIYdsrMKQTJCf! z>kV@E@bFML!`_hC8~-vCcekY7oz?Bv8Q3az!GzveT43D z*`aJx_-Wt0+Q7#q<&tdG=vWoy3w}`p7e^?+Fz=C)wA~_a3U%wbqNvKWo{&UW8>E#y z5bsW0!1jDfL1IY9uWmd`KO@*!Ta7S@YF;fIn~RuEP2&!#dt@N>#oZi>Vcw+c67M`l zr2Cnj3zbg~C~udr?)A6X+OFfS+qa5qHE7z=aqRq?K2Iv?*9TLfzBEdt?!;YNL zchtW}(JoVzu;S}^dHId(TV+(15BB>^v*^Hq&Ye93^FGC<7e&`#lXv*p4#ZulysX_Y zGK4hDZ+E3xE@7=v&SPwjwn6mmD>r}EsO#KLI9%x{6)CiGl~LKZYuDj)iq z(7!wqTK?py0ar9D^o4mS=0#oEFmr@+7JW;Qy=)2jTXl`4=7aCMjPuGjx9tbdT~-)Q zqE9IIuzvG>Z2ofA`J(#$x){k|2x`XCY*aYXV^mT4(;`Lw-M^BSUcQ(rjiN~m-;_bL z;QNYueM^g*m(|IlFx5f48+}2U^KynVN>~3VfGWa1(&J;BU4j~I0tX6jf=6YAEK$Vp z<_r3g*QBe%^#$|{hlDu;*N|@6E`4(#N&I?^AmB8g3YFrAXr9Dvsa>TTY$LCtm#Yr@ zxvL}@w7{eMlqAEz@T0!ewAzJ9ld>089h`V=H_G_lAClJhCIs}!v3wu5>6UXYW)+Tb zvu&U4beCE2&7Vdfg_AGr$O;sxFyqq|rifopSwDQYW*`xlA}_r(o-(1-$JMIIOrK=* z==y?9z2HM0_TxPDww-`DUUjvcox2e-({~HA54wl^dz3VdqM<*a=?~k}Eq$H#>-_Hor7wDs~WO zd|`n9zOj+gF20TV18uRU+XCS=AG6esrV|wi)~p`+qzzC#4|-Y)-!!8a>c^pC*z0V&LL$hG2)@27ui``2?oPglsK@7 z*-+jS`s&y;4wP%JQJS|i@*@iNjW-%GM?;Ly2S4L%hq38KWYu8VZ|1J}dh{M7&us&j z$S^X6Xm;jtMYv)>J~d3btvA%qfgitXsT27inx_S5g~aEO&ny`r(FpyRC-5l`?1I4S zHux3HWfq{^EglszEFW(H$THCtCYgq#aR8t*DmP}Tt*y^WHB#9o*6ruPYKfQuX5DGu z%-%15Kw3)bv!t3iDo(5pMqhT_d^y<;0C4+`t|ggY1uCEq%=)sGkobV&prad3ymR%7cI2Gq}LN)KtFEnH4cIU~obK#778!HK`+udbKXIFuj7G)Am;a{D% zzS=SF6ABJ>2;w&(hoi676LXeUo^PlYB@;P^HB30rI>&nh89K7;EKe+i;PKtg{}{2- zyZc$vvqRE7{c5^s3I4ZhEsoo+Yx^VI_54|DtA1}zyAF$flW$SnDqaPopSd>hwgzZDV`?L2d zy~F(wG`-r`FXbkY;%0Z~=W86&Y!GOAEy=n+}(l)+*Mhs z>A~pp1T*(#m-J6wC1AIPyoWe2|NV*pk)#sF(}6mRJk+nXd&Qz_{Vsp}4Bs+%{3Yc8 zVO8`Ta$@afRrudS5C_R;5o?=H(7WHwU)GdB0n)K@0@39j)J3~AXFR7@P1<}-Zv9RC zRdHW`>&-V=RS{Ff*HJ&4?bOdmn*Y8b@Q0pv-@o&P+beNBBIoB%XWpms9Jkr#aNHfO zA(>QtLF71pO*cKp`;-S6?etN*$xa8k0!aTX2CN8ziSMtKW zfYq9Vmt|M+m{Xl_7k{g?I$D^PbB;f>W~9*Lb8j&u+ud=V<0e*l3`v%;kdADdy?=@T z{mE#a)YP7Uqs_OGC$hPiD1hIcW7Q|0=3)XK)(K&HHq5z5QLIv9GIG}iF#kPg@pnFc@0D5u-$$%8=`the=E&aY z7mk+x$(ZwhTR$?h6}7~H8f_4^vtnPBW+jMC_LBty;euxdZSQ1hjh{}0#}m?}I*0hD z&dd@RInXf(OE7u|SeT}OiRif-Aa^LEFh*8 z8OLW1P&f{Tl*|f*8ne1>Un2b1@W^QSbp-EvBvzq8G?f7SHO&5v%&F^6$1 z&G9v#fFcnM$GXdjC;#p z%bgN|&YS?>s2XOk!}}^r^K3SNJxgKJC>rpl3dkoJ`UkwWm%*B>c_s%D3mD0|SfZP+ zpC4LZKSe|fVsdpc$=AaQ(2$lxNQetvS7>%&4@(15E+jsl2qxkrKoOsILIBCwkbdaZ z@G;1>)f~l#DqwIDxe}_0ZI5?ODw$Xgb-+cs6aEFxJjkZnc|dIyoLHU)0Uf!NkkW+E zZTYr*Gv2kb(-`Aq1xt4pl^}Qx9=zf&gGa99*Bza z%LtOqZx{)JL;BC1nPlKqR4}P5AlxgzU<;Ai&LBKN1^)@43JsIkE@;<V(nQ`hV8hb=^1C2emPh1!M@q=7e>C;XxXc)4L4Ibryy3t&I6IhM(A z3aJYEfMPa-d*41*6se*}ndLAGOe@^%j$m;Xp?xhl0=k23&TCG=m;~aHitqyu;#oYr z`o_hXmOAiI{_7}V%`W7#zB>69u>w!fU^bdrX*m^!+y8lMw#F^} zJmg=f>ht2z6u~1u!wHK<(|C$;p1lj2KaO(~msoM$L0!S=2||wD+CS(%wov;gHjY{p zr~aSH=;-LD&O#hq;B~KK8aW`!WEwI0&zlVUzgyfcorCyslm@-|N=A8<(OS}?;#!VW z;b+b*9)e%7ezGXQzx~UrV{b}!4cakWX5G~U+y$rXJ85N3r5690|EG(U7W@h1;WFJm zCiMSWDrSWpBd;e=^jHZGS0FeE)yvo?@wfhQ%alxaK{lIaB*{JEA0FA&;t;^?kwgA1 zBFFyaYbgTe;wmT`o0(>_R##WVgmuE&BJ+$AOg z(-QoQI(t{2^Y97r;q!?S9fj>Y>y-FAs@M$vKc9|4lu@U?Ut2x;u7CvU*~gyYzB=sz zK60FsUYX<-AeLkXxYzANOjINac9Ya(M$+u~6THGa#fIv6>&HJ0n$qk0r0TG`J*!Kx zqB7NxS4k@vCecnig;x*rp83tanrm?#Q(gZyGXMKv_=%4+ymO4r&U{9s`|6kZfT2sX z55L}Z|4U(kwom%tRQdUGevV%;0-NnRGDuC18jn$R<&QEo=+=LcyWLQ_Qk)_OpK?Z> zzl3>PAE~iu-;*%Z+k1$7O)9FSS5^G?nA-U7PbqWF(LX1=J!fl6zoPijgID6Ybh`~D z6)dx)>qqn^#VXgAmV6`_RIdGVi*@fpDPh|x%OuV^VT4*2Pn-9gf(Bm+Z31}->qzQt zegp@y#72glnM35?EGWc(f0?o2x&|dwyt|TvsX@}R8NBy@#Gck|-5}N~pE8;>B(oA+ zKR~`!d$YSTs1EJQV_5P4TaTOF(_vx7RVZU1cDdsA2b@8eARrW|1fBi{2X?GQViGZ6 zYoK|912l~o$@DfTzZ;G~mt6*0=J7Pn>qVn?W@}g(W&P7nPfsx}(TU76DA<@>S}-;$ zG#p_996$*;4pGZRqvz0@!m^@3%q~DoL|lUd;BCf(A_0d#oc29OK7alU{YRO8+E@tJ}zdKaied{fyvJzXcFbXW znc{x@amIODzx2)C*fZ}v!Y2Ou%Z!g2s3K^R{k{!w7yT1~F#^j9^wy^UM2FPXQ+c?l zL6ODjiwmf^$_~p}>aX>e8kp)F!4dJlEe@}m=CW<+bMfnyQ|}7{c1DAZzkO;9EvvOq zdX4*e&F)FFC+!H;hQPPa?5}t<89=9SH+70K^&a98&Psa${pB{nLi&eNg0Y>t~0lCvHRK-*y7&MfUD zqXC#w9U$01F#A!p<-_>%u#&QJrP3b0B>9`LwD4Zu^!J)^Ds}ZoEU>xsZ=fGX)c^BQ z>`R4sf6nnwI6q&EFla4qzW>U&N`AK?d*JXzNi9o<9t(zyQ2$+8%#@`GC3#NT^kqf%B2i38BX%W^=1-ewuyb}M} zkwwh>#aw$B)6@+ce#FF&30QT^?tPU9IrQ!9<7DVRDav+vsI6KP+@&_t!oNw7uuE=}=B&B$$MdbBxOxEY*hfjyf3k0OPfL#Oq-U%lWVr{Ck)(jKUHo~(9G~`Q)JE=EO_jpb=o>f2d{we2b#`SqM?8mb3n9(g` z;Y>Nb3B=$bqVz}3oHlfMw2{rPIba)OlRi{&XXpgCA3$)k2)B*nC(7Z);Pb$_HlOGI z@g&6Ym~aIUif1UM!P0sMQ=0|YIhj&lFAC~J3tA@VmyPBlj>5i!F4}NM5foH}jF9~T z(OQK?hL@RS%BNxM5H)&n(@4kuWVVTrO+Qo6@>$a(&g;~T3@4@-X(Sm59%wXxCIGHPjo1Ip zQo>qKm>s2Ep~l>zGP}_^x-OnEf5&ok%2d!XmZih=r(c}c6*WROgh$fy>AQg#>bAgw z&?m2YdTcwIo10%D5Zyu6ICp`Tp`CG)%cxAo4K z;32&V6Ryi5%vmo+=vB&CTyQ7&vP@tz+j}a4>feccO`sLBELVx80QahGEKm0EaTIQS z35qC{leq>t?rKcEhcjasxRCBziUFu*uR8W={BM09qY-`Kmd&X}HUHpk)%bKhGn6@^ z-gwpgV$9sCS(HFAjiVAt;8_MXax^)Lt7#oZAZoQYGSl}fpH&K(#_%e>ykzNtv?AQY z^@Drs?<+_-7XQ~PFpIuK7tT0prlT(!ZGU=MX5l*X-S6h41(_AY@o9rYdY0v#2HT4c z?jP#b4nfU(z1}K@2yq7&Ed(=IVkzt~vsyuYeY-udJ+j^H0?xy@kfb=;L*b>xSE&Br%Set3vxGzlIo_&rh8DvVCvH z`P5YDdTHKQ^p)H6qMVVO;_30L7^QG^;KATj5QkyTkM-H?5VZQ$9yx#By7Y%hg*Au1 zcieK9KopnYT<^M|4v~Ky-Hq=${xf?-|95%mK#ZW&{n;$@k=Hw&whbG#)bs6S64$2T zw!%!a?gPL4Z48_Wk~69#VwJ&hBk1KXZgbZAY*^`jt_vi@?ldoUb12SmuU^>GRDZ}q z`Y#G#@ZWc?6@z12E;K6NE>q3hPmGcJb5# z0<>luBh^6D3w;&7nJ9XJsGQUdd zI~&%x|BtP=j;bnc|A$qO5Rh(Z5LCJw=>`#zkVZ{rMW)0(EpS|~eU7rLCvrq3a9nK#%*Sen0PkKDz`|UN_X+28< zBTX7>TLt_T9DFbBnu9svuQcnH6MfQ#$zKh?Nvmc{)X>jdYY79E4DS{4=SKep9BwQ0 zy!xW{{K0Nqi`8`AdPJ89Hw&b_ci<|Vj@S=_{{DGqLqT+!9VpKf;@r-$q)#TFbvDolZLpm=RiSB$@fmk!qIwjM8MuAQJ=8_Pq!Mu^ zobl{sa`S+9*932Pvd&|j${O4smY#X4I*}pB)-z>N7UU?56l(9<4fQG1`0v~i!-+Z)FTKJpC!O7h#mKlV`pA{;R?jDQ zp1IJKidb4DaxAnOMyh4mhlCTD>@Zt5;xW2!hf+tX2J$OTFLKCrV`}lfHcR*}HYijj z8F-TK#r3)V&L0`ns1*3ue9_a_-j9~gHKK2F$CXyt=P0?aE>YBz?gM*O8U3}u?O!R& zxiwn3k%W0W1$adK(+JNn<-kz!$oM~co=mEKWK_o#J|qR$ROj*>fdP!(>=`!+Mz9Z9 z@~Jl!l@#+?M@SWTM)cEIRyKph37SPed0{T1|B*XHb#B&C!wW;foM17^gITt24c>aC4Z2LZEbXx1@!gjZl z9u09lbntdKkj3G)+dnO`eYG!Gis+2K^_1_*jP}fTJA-luI}+RKxczx=M2ygF8n5RS z8zl#oMQ&^A_!XsKg(i6a*UXXp>J53(;a7gu+ip{}l`>*6zr{I@;JUr?x<1XT!n>j( zr3ofsX?en*+=LGK0k)TjWzwhs_eZS}MRniwa2)b09zN?Eu;h7fQIO$f1Apo`JWqPx2S}iPpL~g=c-{23>}z zpZrp5ER*~u0`(qQ+MP<0?$+Kj3J z$bQ!$C$}2+5>7vnTq6C(`@C!PMp;BG>I@gTn;tfgWyPa}ZZNdkQL^Zfw?=(stKgr4 zl{zJkB1s?dLfMq+O3Y-9S@CD57LG+3i)OBg3p?}Xvh!%o8qghCMHz4j>ergB*HQJg z$n)L%Ksy0^JOTQne;t87u6}o6ZAetipu3(m_GVl9r-o$Ro~~{5HRcIKqFfKTw36`B z!SFO&gW0g0WRnAR&y5L+=B9Dk@j7H(g|pD}9b) zigea7_WYQ%{rEh;Jmi=*kzk>Y=S&g;8RE{*s-8*J+A+Jnc{erja$V3|Tdj3+FV26O zUwRhp=#>k;*L(GNPfC^wf$jG%drXJ*9J+ST>M2-6b7iUVP8(VKv7!zdP?X3LNT zVjqFksiKzyr+2httN3I^d9g_O?=RW0fD&+vFL!Mk- zoiz^nb6$=29s~xdTLeCikRWi^e7_9N%7_DcGq-M$wCl9XEBhUQr2rrK^g4AiO)!(1=Obd`%l>2yW7ZNe= zgKgXP*HlF>^DT(T;gv8nG(_<^uBV4i2U37r=K*bo0A#`j%0kxuaC6@Ul@tn~y*~>1 zNqMjhk3tez5qN?gd@z+J#pZKaQnQ>;%MeWzbeJnWuR;~mhp&FEVuj4M4A|21f1{zQ z)9R-m0)tuv>;!USLme{0-vTy$Am!Aaq;*9WW2UOpJfYe=(Q4tKy-3?ER=3F(D-Od( z4aP!4wAZwV&F7ut`l%nBzaJoa+q+R$_I|iC z@2aNiIo7ADoFS2P#lcb{_H+lE;PqjDi5GV|d++iq&!OUuq!Z+2B8l2sbrpgI1yQBO zO%SKRriX#{xIcyG$)l;84G2>;5(=7dGKl@XaRv~70<3P3cpkzlh=P#@*p5&&yVYH& zHCXCw|26MjSf207N04ZZ!kzOLI_-ub6n|{$Hj01HDY_@kA)BuXWM2`e>7L90WAPBd za(qbeveI+M+_J$mi<^tn28erUau%#k0!Ed653Cso|H{zU(KGoFE99BT4R63d**lR> z&ExI(aS)qc0QNzIphZ7U%m228U-%hPN*<%^FL_n6duf`ve0Buw zzBjzheR!h)xQ^b_7l;>Ihxo1wV9TTM1#8!u2ZTy#mCsxazjuVn?-I&}h5nrzsAvlt zPEBW4Duc>Ixn(}gf}Ii-;rtHnui`YkXiTl!usuEu?R#+<4PFmsP4ri;YH`AkzJ+`1 zRvt?kbN0Hr$AnO61iRsuq?K9hq#=6~wxVJp{RQ$kd4G7BZquY&_S?|C3#Ejze^R&4 zOpUj{{1>P;_g^^;i2cp2y6?u^%XaIl>0nr*n77G-Es}VG=T20-W*~vk{!!?jA~lQf zB-om4(k;?)DOg5L6Ta)TVe_c`3P9Ouv4~tRJ3BgNgAlgZUVMl+g&$(>|8Y)YFGA#X zTw2;A{`M(ls7vP3SVy7JVE$$r#AHWa#qbzcz%C1Lj#2Sm+0&$C>8$_9$sxnr(e(Y5 z7UR?%D-qJX&yqZQSgSEU+`OYp3=K|5*T&7z>omh);sveK}>#+k$_N zTM&b4#S1DK_yu@*dD{tDWLyh0G8(c*5AYunlVQxACLRE>^w5pWI4U~8{i3UPNXGd4 zcttns*t>j0I{!=ea=t+UWXV4yN)Oh*9-lA$tjK^G{oDujXA^OxGxl%VM&UizL=^nd zBGY=pp;@{E*9w~oc|6``lg(88IO5=u!)G>S3TbI+8w$F|3wT0!dY&wfG^ll&-7emz zTc(aWUuqZaC}^Fb%(q(#`PT4HJQ-rs|O56cj9T9v$Uc!_`yUEOYKp}B$_ohm4o*^UAaWL=6`gvcun>xqu}ZijmRfke@fQL za;xL^;O$Q`$*lR!pf*+Ak2Uk;f>1fWdFrRkSNT<$#eXp@gYP@`pnMG z`ii-(5ZFob+kX?Dhg0eZU?ZOCQvg+tKs_>Ahk6Syp^|7@z_Pywy%ZiGA%Qj+AJ}m> z(jbV|X0HTHS+zQ#zqHw#_g?2Pfkxta2qI8S!$0`-b<_jy)E4mmM+;s+=Ip(hV(mhW z>LW_t$J?m1GGCPI*-ml{{sSYQ(^p;%f;bRd$RT7>2|8rl+>&|Mye^jZ8jVeLW$L}t z*MLF<@`@7Kpx!r4&;Gt@@fb?avAhDr5tF1DCaW#anvkRL+UfWYy)uN(VAa2FW(XK_ z;!1^za}~ES1_t?;DN3+vQLx$|Ew;7z4+$v)>S}$S5;nXJKUc-4U{cC^!k+(Cmpz{W z!|qGTi@nNi1FNP51;x1URE6aZ&QYrHotosjH6zNupXG0kRVL{RGTn|CPn&ym#_Dfi zwc}8@)xJfiDRp$)#JHvN$(exWDY-*Or+7`~k-yeVU8#eGWSO#-+?g@Q^QM?X{JsW+ z8sWNEZS?q|-Ppy{vBRU*FSQ4f@QZ%F`qx7epC9nX8WeZ0-dNwR%r`Gl_kXbV{b%o} zp1oa?(j4}u*D1?M>UqH-3I$idUaSBjjQ_m?x`|XuDdoGY>4%zl;vCCr$tJT3m2^oX*;X4?>tI?&^upmE#peMs5BOm+#7GvqhzG-{l=|MU*cx>h9=1^ z_YKe8@{%ZmW-gw$uK`Xl1nJ2C_#tJ{lp`_#-`~wnyd<5mqip}@ktYsL;TgJ2VG&V`&j78y)LaJNg(18)MB{X5P%l z53ZI;W!Q)fRnpAoqw4BLGh8GZ<0gwo@7DA+8FgC%2a#)aaLq>qon?Ye>10iRbZEU{ z8u|3ydw0aIHrpHG5}H1hY}q@7OsnRL9UhfuXG^v#^EUcc@T`8u{(IHP4;d6gV#7Nl z#(qrx4NIb!r`?_TX*`GM*i+)*DW38$CqWhHXex%BhbAUXSsL~%8Ze5@^o)Bh9eLhCv> z^ySj@ zLosAp=IRMvZLM|v-dFmZE$>c6Aj7enH4Anw|KOvWAHUFd^LlA()ST5e&30KY+AFEt z=_cnY=v7Ul{(>cxM__jj_6g9>E$0#48nNtqxIb{4#yc zmq9@to*o{5bbmvNg7Z(&FRPdG&=WzT2HUze!Bp5*IpTJCnc za}?Ah@5lONlG={eroF#S{9yuwJ)I&Zs(2YnlV{fa0_~*iB$}n1c;sHZKRS#)nmDoR zE2=1^F44;6sk1yX;^({d&u8A|{~HpFr?om~aEMhb(9fk}GZ8d8mj_b#a*}1k4ucmP z7J_GpHBA8<7REFEoQo4htBJ0~qQsQK^6~oDhA=&x zRR`5iC6{-hs&jV8l_|YY%P+Hs4Hc643+G>t`O7z9-E_#;ZnUBgo;B86zWqIu4!zev zmrGugaqV|mwS{0pSzb>56%`NTtQKU*LZGRDHFN*u zJ>Q+$S>6|gEL>L?l>7HqY!$H8h$7qLs-WNaHE7y)45Q+Khd>?g(nTGGH3vTq^=gNe7bR!{wr`}f zUzJ~`6g5ZFH2d_`%pIa>rX{NOXiA6sU2kVQ3J-C?!sDf2p^WNG^P9m_dx7rJES;bL zM^F(AZfj!wu^_k;gc4WvYQ04%+` zXumkvoK35=8c;!n5yQA?hD(UjI8B#>3=#n+tvd8UW&@Tq3gGVeMP~>!eij1+2W!Zo|!8g_J<4+-0CFE@;kA#03ikTNd~-5pvA$|y!k56ClB*d$nV zb#*}j7Hz=A3653>tO3|L3x5BC;EO@fFO7NFz}^Py?hSs&ohQz&UvBjr$A<8zarqh5x}0L_dO#tw(H;1{Lhyj`L8d%t6vjIx~pd5k=q~7b)lzI@2t2*oMbr>)Tq*O zt^D@!Y5UQO9Uqkn$4&Zux}bO~9x8|M=(~AR^We`F*#MAYXzZW>R+_1ss8nI7#mmDb z^4XeiZ8d6+EsTFTK7YGqG;*K-5b_(dzgB{Haqc~mqYxjyJ(5IKn6_s{b=E%EiD+8X zN0QTHU1W#}JAf^oe-K7)Bl|fEGu-Ia@O>1f5EvB?tbXk4*ThEvJZzo(+0vbTMv!xb z)3~XKQDArjW7f!2Z^aD=hvHn>?beo-7F3M(TPDTmB72D@e=RGlTn&QuD;+G7v-Wq@ zj2v1Hf8am@Hh8^XL-|Q@Ws7MJ_4PFwB_Z6L1U$YZSxXw|EBy{?XvXQ~rI^ z_F(dvSllRwmxCS7?b?~Z%j7H$R~K6MI+L`BEaa5o5*C7Ya^X#6{AYBuK9Fb{ykVx8 zN583N4kB1Rs1uDDOJOzuwWi$T-XMrLG2$h81EPR#Ky;&i>>nlRgyotvKASmqjTkUuPMd7 zA~avC+4G^J@O-rD)dR}QFbS`hc4Y>I-+)kL{gEmi&xi`LbN?~ z;4?rVft&0AL>&{*@LV<0H zc$Plmy&T}Rr_y5}T4?=fO7da|{!L14;w|k01yBh1oBKih!!x@Qh7xIbxc#3)I=Is_ zZl&$ev z51o*lo3uqE_fyLv1wHQAH5YV3=uZ{4YQi`~duUHKq8OtXSe>xxE2AdYsQFLEajXvy z*Wv#+^UkGsMRi69ssbfkgnG;UeAJk$#d^fi^dx1udz4XyyXa0o5yfTDMIq5U*`GExr?MglH>>~a;ib!%?^cANoj+b^ZC}Uf#AduhFPGkSSK1>1$#?@l8mBAF;)@d#9{jn(jI*vm4<|kL z-M%zsbqgqP4@td5O*TrMDdaxz8Bi)xkl6Y6pDGwLY66qnE8y`C1Te{5n(GQt$olQu zrkQjwFr(ZB_6KX@_;Bo;ds98fZ zF`36~a=?cMH8Q)eFu2e`&X%MNlpW0XD8aOVDK#Tyn*r;F!N!0)EBN(K3IoKtkl$_rXV&6-wo^Cg2 zR`K3G;$l|pcVXmIc_58Ik`_gF3r)ru1~N%-CY56- z2*oQy;CL@vz1N-BWZpEeYoV<(8CXu#jU1YrgBBX%g4ucbJWY zkyD5ss(M8_o3*E4d7#x3=5Lend%!GODtjCl$MQy zraTFFSK~k<<;YCT1X@geCefXsynyKfFqq25f1 z##BIQv&OwqB5!`%k$V6@q3WejMSdt>!O`*Y2&x4OHIBm!HVR2g8nm>uYeG(DKmqW3 z?LLNCSI*vnJ!;W2EFI+CoO7l`j3E3qeL1n(501rRw$Mpf2(b(X{ z)Jxx!aEsV-FkPRL{Ll!H>(vf?seD+@5Rj6a;KT#S=`~#32ccb1134xLEJi^;(OEMH zbWrC0cL$~kZ7-xfC}N>h#L~y~1TuEDXWISOE)6jG?|5h01NB zX9>Yjwh>M!7uweL0>-0meW&ld6i)~^-opcY@m~p{s ztr2ii+%~8#;#C2cKt7`~IDpEMP$6Tt1F!a{ix4k{4nw_2Zmu#)O$drs=&MjP@jXaP zH35~NN`|Pw!Rn~u*-g&RBwF_?A1hlPr$F98QdNtYZB;%6XuGy53BCjs(SCcyT+Hkh zzG05}#h~x;p~u$OC_y_t)#zvqxG;Dk?+q1XG4S)YQMn)R*0ATMrv2Zs?&T(J zyjJ-_T)_f;^5!VJRvZ9AN5OvM{qN85g+d1q&F>`)(CjTBB3j1Sl~_vJ zXLB0aGv29vj*y}?w$W@)*;Mg&q zzE+TqG|YY2r!S*$B(YMSgNMp*8kDgnMOwM_K1aMzN|e^vl=%Wf2?EX+kTv&lMo{G-83?u9SS+hPKFJKvkJ~(jlAHNNmJlQk~>z1*N5VHr8H{Q9(WvY8&AIxhi}FI($G4dn>Ctdrs~-^uR(|v4U6e~>X;5R++5EntUvW?{?`hB*8heAgubCr{ISAn?>p^gkYHIZmcv_V1eC?pk zCja{YkLP+H)cTE?zP;4PqYy@hp%2hQ@mc{dYQpN{cDw@#xW3g#hu1%ROOKhi5c532 zt9{DZad8D#_~~HRohY*(>Ed1xdJ)MHs7uzd-=4y{R0-5&v7MK=)=FyaU$WTa$8$ZpCI~P$VC>nwEXa5$&{o>9D8J;rftnqzd*lNq)9cj9XQim{_Jc>^)#`H#fx&DgP9x2XjnxqxO?Ed--Hxlek31=ha&{BhnXG6%B#H&*~ zi^zpd4H$Rd@?Ex0-DX7c47TbHvR#JO&L{3a4tY`q?RxVNOr66&q*LtMkZ@PXx-B z)fKPP z`z=1(<9ze5=o{NOA05fI&J<_?#}z02i=rTEr>gRy-_pV;?F*AVnke(vvEQmmDy;a{ z;KYQbe6^}cYJjb$cLd~Jssz}V&H9O4X##Aopk-ge`QuM-IPdq*z!!dJxueb(Q z7d{#`f=P)yMFng!bWlCBI5}~4vm&Hvg2`Nh!s+E2H0@K1JahtLnh=WioXP?nF^`Dy(-jgq9OZyqZvZu8Azwp*KL>4J@H z!t~)~hAk=!X5_binX_HZkW##S*?RTcn=04iU$&x4%Zg$6v;}A<*N1;^NWu-pOC{tk zK42&wvox5cSXD5TZ>w!Ra@h0Q=5)%5-?<+>RnkpVJwqVP>MoxZBE7!KcJ7-OzeCTJ z)Ye}P1})D*sQx@&yeZ`TXG+FcQnK2jOXEOFL!(5(|8TYN;pEHgstb&rj^{rsiC{-_~Y&&K4#RqwdWEs9G!7pJIu%&9p(g z`st2CjcF0H^_#8;3q>T>$Q3PNC8m4^H6nh$xK5i>#^$(9gCbUm5=SH6w|VpXZYpIu zTm<&_mPHq~=tO+Ru$+z8)r7d_v%~w6*_at48976=KYvlWCQhdWSRktqzL2w%0h#l! zu~nD4t#7}7WU+eX$x&asm}`|{XBHOz>{~Un>b5>9HQnsON+aQu5O_s))m#s2oiQXh zR7>d|eMUWj+A>#q9u5Hc`V*_8)~la)h+X%)wM0Ev=xM|q@4dM-(^MDN*D%iSHO(yg z(?9hhBDHGH(w878)*i+QuD{i}L<~1wMWoL`I>X6S?4 z(U-rc^dF%*%=dW0OGKo&x$iaOVVSn+xlm%{UZwaBKd_HR!A{mHl)SJZbLql*u+{lz zM5;fKC`DdSq56f|Bi5fHPdbgafwmxuxZb$g6vkP}EOA?z!zt{=7390ut{cZXiOV_R zso!~tym=x&F)^-Azg0zg>|@zExfJ423k~;-cG(U^(-?vI<>U)QjzyeS%{0Ag@@pP$ zu?TAw^*{f_BGuY~{IMdJHY%uIx$(ee0UZ!jx+p;bTS>1DU#T*BX-g}rHL8r?)L|0y2L)JP7YR^ zA5k?pZBWU}$=%meq5x(}ThE5#YFKE|)WaRoZX5X-!4w1STSI zG`nUkwDyfFYLPVt|M&0d24q`+M77K0_37rPLPsiebyzUtT z{+|KR^NAYN`OyrdOGf>s6TiYr62t~9?-a-1RzI0%E0tGrZe)wEJWb`ibKUa7u~hGE zUQDay8-CH?{9rGM$UW0CC|FH>p$pbj^ZBMfbI+4STDd=Nva&}e2TFVF6wtV$$@qQZ zmNtIcA-CzqMdo(y^srgXs(-i_4HG}Roe5*KzG``;_ovb|ydX0om7ImRQ%bpo90n39 zA{oLsGjXoqPfSc+$3z(-ZlS+7zRIpo)DK5z%+P@XF>J41_?my)jDnveUlR>(WopFG zQE6Nd8A`GrFSj;np6aq2DL^QLr2QKftWPeVOC13S{g2#8 z&XdZ@3t{zA-}u2}<&cTA8C~%6#e<)Z>W0kycJ_HE9+fd+X0TbL2HP|Lehh79*bSA; z`>lw9pG29{d+x*UF=owvT#2S^Md?Z`2VYtL`26xg%@dt9Fv#%(b&iU&P(Wp)+y_z& zm00pxm~KFqIPVqduHpRNy_@t4M?@RvfqSI~!!^~eUnagVyz+*Nroo{MLgv z%;dM&8G}CsGTverPhpgiSv9v2Hfq9JWKQ_RX`J7!x=^a>irgl2cALFhmL`aj*U{Po z*)h{M$*H^iBd|R&>sq<)!f=nQ$?@?frO(nYO6S=RnXv3@HvZYj`R*d^y0Ip3P0=GK zmf+eoxdbJ8Bdlu$p!6E8e^Eu^NEX^HBIE3l3K%AZFTTO20iU$X`q;Tq?j}sSu@KDv%C*>-{!TQ z?;}yF&E#ALYA)7;vt3?6E+z!QCAq=$$V}h5c?BI9OhHz%O zi!WXBAdSrjC2j^P_dz91kOT0W=uaITnVxX+kr?CtiBYouUh?9~>K81>!kP8q}XG1XJ7-xJ5I4S|R z*vVE;6N;VbJU~{?g-m?>IQ)cF(b=%s0P3CSntYpj>_%@=4f}IPQ3|CBmd!dk?scj& z4P}Z-?q$sgS?`?3Ao;boUurLdyA+4%Q-@VBI>z8fuf5Jw#hCN6j>^NtrKP;IuU+bt zt#)H6JR}qZAHzr0)rh1$1OA4Xv7F?SsS_~&qXh-84nBBweAP3PDw&wC_B(HM8w{jc zAPgsb@^)&wb6fTOY(6vd=jMYLKLMKYsKnga@#rMed94T4pun%rAT%740zW*yjki?D zq7(N(>a9v*E|llK&dXy0_E3$ITDu_oz2bu$nXARd%?-yFpaS>@Rs?Zq4$n6>CGhgX z+N=78ltm>W8^UuRoS6V?y$W?!Iw$zAugt(#dIKtd9G*OaH~Rfn*=i-QT)hJUz!M{i zTi}*`IBIjL0P;2fwk^a6_)^jKSbqSo8BE+L(%6<5BKE>hp*3~owWeea+`IR{Mmc`b z?%LjvVn13C#e2`Rw+;F74#dSk_sAQ|H7Rz5o@Wm!A3Bj4o218tYzlLKHjQ09$uevO z z?u*-bo;Y}}!F5h6Q;SaW*J*_F)d+DL8Z5f5Lte$hK%UAkE;#j#4h2!`83}|xkkzT_ zH!^I-cN38xd*fQgZV``m%m&pu%xILArP&FFR2IFy<}1Ip*)Kvg4VqGkn3HfI`CZ)H3J2^TIXF1ac$&>v4bf|IWo2(P z)qm<27%b7IvonM0@1HIVRi`8tvvN5lw<6r^wdL61j@FKz^u_Ay`Xz)AoCNL2T zJftFVU7pCu7Q2|UJfl9{KJU;@FBF#gMLQ_fn#3_PoS>{Nq;G{CxE+Wf<@~1iKY=gf zXG|maYLGQKGC6Z289s)Z@Q! zs|?2~>`NQd(Pb%zV+HKQ66B%0O}!L{pj=)Bi}Zt~ZqUAuRTikHjX(!M(Hw11cPx

m8iclflcknVlcHn~Qy>N~89`tPVLVE+Rm}%|z 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 z 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ⅈ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

7%Zo?hj_Gv@;;CqNWl` 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

xFgaTt^>q5y8q>&9dSFE3xiKQ)ZaY6v}4f%YV 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 diff --git a/development/images/dataHierarchy.pptx b/development/images/dataHierarchy.pptx index 840823e8757bb9493817146d8336d41c3bf52389..b88032975264191af938e1c63dab3d859be375d2 100644 GIT binary patch delta 6203 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 delta 6315 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 diff --git a/documentation/dataHierarchy.png b/documentation/dataHierarchy.png index 1de32ccf795ea3ca13816da3536b2a76ea271e03..263a08436f25b427e1afea8e90d6d384fe7fea6c 100644 GIT binary patch literal 274314 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

m8iclflcknVlcHn~Qy>N~89`tPVLVE+Rm}%|z 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 z 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ⅈ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

7%Zo?hj_Gv@;;CqNWl` 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

#HMX$&3YL!^qi0e@ZB&+zNPQ)T~n} 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 z z?u*-bo;Y}}!F5h6Q;SaW*J*_F)d+DL8Z5f5Lte$hK%UAkE;#j#4h2!`83}|xkkzT_ zH!^I-cN38xd*fQgZV``m%m&pu%xILArP&FFR2IFy<}1Ip*)Kvg4VqGkn3HfI`CZ)H3J2^TIXF1ac$&>v4bf|IWo2(P z)qm<27%b7IvonM0@1HIVRi`8tvvN5lw<6r^wdL61j@FKz^u_Ay`Xz)AoCNL2T zJftFVU7pCu7Q2|UJfl9{KJU;@FBF#gMLQ_fn#3_PoS>{Nq;G{CxE+Wf<@~1iKY=gf zXG|maYLGQKGC6Z289s)Z@Q! zs|?2~>`NQd(Pb%zV+HKQ66B%0O}!L{pj=)Bi}Zt~ZqUAuRTikHjX(!M(Hw11cPx

xFgaTt^>q5y8q>&9dSFE3xiKQ)ZaY6v}4f%YV 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 From 305c944a904d0994574bf094af289a858ae82a3a Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 22 Jun 2022 09:23:57 +0200 Subject: [PATCH 022/123] schema/cpacs_schema.xsd --- schema/cpacs_schema.xsd | 177 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 176 insertions(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index cd49e27..388aa34 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -13320,6 +13320,12 @@ The fuel tank volume type should also be used for the wing fuel tank + + + UID of the geometric description of the component. + + + Mass [kg] @@ -16690,7 +16696,7 @@ The fuel tank volume type should also be used for the wing fuel tank - mIFESystemsType + In-flight entertainment systems @@ -17166,6 +17172,13 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + + @@ -35881,4 +35894,166 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Additional Center Tanks + + + + + + + + + + + + + + Additional center tank + + + + + + + + + + + + + Engine APU oils + + + + + + + + + + + + + + Engine APU oil + + + + + + + + + + + + + Removable crew rests + + + + + + + + + + + + + + Removable crew rest + + + + + + + + + + + + + Toilet fluids + + + + + + + + + + + + + + Toilet fluid + + + + + + + + + + + + + UnusableFuels + + + + + + + + + + + + + + Unusable fuel + + + + + + + + + + + + + Water reservoirs + + + + + + + + + + + + + + Water reservoir + + + + + + + From f003bc21bb5d2105a3674eeb404efdc2c803e997 Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 30 Jun 2022 14:09:49 +0200 Subject: [PATCH 023/123] add energy carriers and propulsion architecture node --- schema/cpacs_schema.xsd | 366 ++++++++++++++++++++++++---------------- 1 file changed, 221 insertions(+), 145 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 72dd768..6d79fd6 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -3073,16 +3073,15 @@ marko.alder@dlr.de - - + @@ -12108,66 +12107,6 @@ marko.alder@dlr.de - - - - - - Fuels - - - fuelType containing data for fuels - Can be used as a catalog for different (liquid) fuel - types - - - - - - - - - - - - - at 15deg C - - - - - - - - - - - - - - - - - - - - Fuels - - - fuelType containing data for fuels - - - - - - - - - - - - - @@ -26162,7 +26101,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35112,13 +35051,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + @@ -35131,9 +35070,28 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + + + + + Battery + + + + + + + + - Battery + UID of an electric energy carrier @@ -35196,84 +35154,11 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - Properties - - - - - - - - - - - - - - - - - - - - Parameters - - - - - - - - - - - - - - - - - - - Parameter - - - - - - - - - - Name - - - - - Description - - - - - UID of a pre-defined system assumption parameter - - - - - - @@ -35370,8 +35255,7 @@ The fuel tank volume type should also be used for the wing fuel tank - - + @@ -36925,6 +36809,7 @@ The fuel tank volume type should also be used for the wing fuel tank + @@ -36974,13 +36859,33 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - Propulsion system + Propulsion architecture + + + + + + + + + + + + + + + + + + + + Propulsion components @@ -37323,5 +37228,176 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + + Energy Carriers + + + + + + + + + + + + + + + + + + + + Electrical energy carriers + + + + + + + + + + + + + + + + + + + Chemical energy carriers + + + + + + + + + + + + + + + + + + + Electrical energy carrier + + + + + + + + + + Name + + + + + Description + + + + + Ratio of mass flow per energy flow + + + + + Specific energy + + + + + Density at 15deg C + + + + + Nominal C-Rate + + + + + Maximum C-Rate + + + + + + + + + + + + + + Chemical energy carrier + + + + + + + + + + Name + + + + + Description + + + + + Lower heating value + + + + + Density at 15deg C + + + + + CO2 emission index + + + + + H2O emission index + + + + + Energy specific cost + + + + + Freezing point + + + + + + + From 8719882f8d6b0a86f26bb40cdc5bb91d7ccf24e7 Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 30 Jun 2022 16:40:13 +0200 Subject: [PATCH 024/123] add type element to chemicalEnergyCarrier (#606) --- schema/cpacs_schema.xsd | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 6d79fd6..976d41c 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -37364,6 +37364,19 @@ The fuel tank volume type should also be used for the wing fuel tankDescription + + + Type of energy carrier + + + + + + + + + + Lower heating value From 10cf0399d79f760ba9bad725b632120729a4b7a5 Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 30 Jun 2022 18:34:42 +0200 Subject: [PATCH 025/123] mark isLink attribute as deprecated (#616) --- schema/cpacs_schema.xsd | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 20aa856..05f27ad 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1131,7 +1131,11 @@ marko.alder@dlr.de - + + + DEPRECATED: The isLink attribute is set to optional to ensure the compatibility of older data records. However, since the linking character is explicitly defined by the stringUIDBaseType, the attribute is superfluous and will therefore be completely omitted in future versions. + + From 006becae1ea4024bb954da4e0761d6b0a95ee25e Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 1 Jul 2022 08:40:36 +0200 Subject: [PATCH 026/123] rename geometryUID to componentUID (#771) --- schema/cpacs_schema.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 388aa34..7911332 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -13320,7 +13320,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + UID of the geometric description of the component. From 33bfffdf6251e0a4dc142eb47bc23d1e162f7cb6 Mon Sep 17 00:00:00 2001 From: Alder Date: Mon, 4 Jul 2022 12:41:23 +0200 Subject: [PATCH 027/123] add syntax cleanup script and batch script --- clean.bat | 1 + cleanNamespaces.bat | 2 - converter/ElementBuilder.py | 144 ------------ converter/convert.py | 231 ------------------- converter/namespace-cleanup.xsl | 377 -------------------------------- scripts/.vscode/launch.json | 19 ++ scripts/.vscode/settings.json | 17 ++ scripts/license.txt | 22 ++ scripts/syntaxCleanUp.py | 207 ++++++++++++++++++ scripts/syntaxCleanUp.zip | Bin 0 -> 2357 bytes scripts/syntax_cleanup.py | 264 ++++++++++++++++++++++ 11 files changed, 530 insertions(+), 754 deletions(-) create mode 100644 clean.bat delete mode 100644 cleanNamespaces.bat delete mode 100644 converter/ElementBuilder.py delete mode 100644 converter/convert.py delete mode 100644 converter/namespace-cleanup.xsl create mode 100644 scripts/.vscode/launch.json create mode 100644 scripts/.vscode/settings.json create mode 100644 scripts/license.txt create mode 100644 scripts/syntaxCleanUp.py create mode 100644 scripts/syntaxCleanUp.zip create mode 100644 scripts/syntax_cleanup.py diff --git a/clean.bat b/clean.bat new file mode 100644 index 0000000..d90712e --- /dev/null +++ b/clean.bat @@ -0,0 +1 @@ +python .\scripts\syntax_cleanup.py .\schema\cpacs_schema.xsd .\schema\cpacs_schema.xsd diff --git a/cleanNamespaces.bat b/cleanNamespaces.bat deleted file mode 100644 index c4dc8a6..0000000 --- a/cleanNamespaces.bat +++ /dev/null @@ -1,2 +0,0 @@ -python .\converter\convert.py -java -jar D:\Projekte\CPACS\Tools\SaxonHE9-6-0-8J\saxon9he.jar -s:.\schema\cpacs_schema.xsd -xsl:.\converter\namespace-cleanup.xsl -o:.\schema\cpacs_schema.xsd \ No newline at end of file diff --git a/converter/ElementBuilder.py b/converter/ElementBuilder.py deleted file mode 100644 index ffba929..0000000 --- a/converter/ElementBuilder.py +++ /dev/null @@ -1,144 +0,0 @@ -""" ElementBuilder.py - construct ElementTrees with friendly syntax - -(C) 2005 Oren Tirosh. Released under the terms of the MIT License. - http://www.opensource.org/licenses/mit-license.php - -* Extended Element factory - -Backward-compatible with the standard ElementTree Element factory with -the following extensions: - -Sub-elements may be supplied as arguments: - Element('tag', {'a': '5'}, Element('othertag')) - -Attribute dictionary is optional: - Element('tag', Element('othertag')) - -Element text may be supplied as an argument: - Element('tag', 'some text') - -Element text and sub-elements: - Element('tag', 'some text', Element('othertag')) - -Element text, sub-elements and sub-element tails: - Element('tag', 'some text', Element('othertag'), 'tail') - - -* Namespaces - -A namespace is a factory for QNames. - -ns.tag == ns+'tag' == QName('http://namespace/uri', 'tag') -where: -ns = Namespace('http://namespace/uri') - -Namespace(None) or LocalNamespace generates LocalName objects instead -of QNames but is otherwise similar. - -A second optional argument to Namespace is prefix which will be used -when generating XML instead of automatically-generated numeric namespace -prefixes unless it collides with another defined prefix or uri. - - -* Callable names - -QName and LocalName objects are callable, taking the same arguments as -the Element factory, except the tag argument which is implicitly set to -the QName/LocalName itself. - -ns.tag(a='5') == Element(QName('http://namespace/uri', 'tag', a='5') - -""" - -from xml.etree import ElementTree -basefactory = ElementTree.Element -if 0: - from cElementTree import Element as basefactory - -__all__ = 'Element', 'Namespace', 'LocalNamespace' - - -def Element(tag, attrib={}, *children, **extra): - """ Element(tag (,attrdict)? (,subelement|string)* ) -> Element """ - - if isinstance(attrib, dict): - attrib = attrib.copy() - else: - children = (attrib,) + children - attrib = {} - attrib.update(extra) - - element = basefactory(tag, attrib) - - prevelem = None - for arg in children: - if ElementTree.iselement(arg): - element.append(arg) - prevelem = arg - else: - if isinstance(arg, basestring): - if prevelem is None: - element.text = (element.text or '') + arg - else: - prevelem.tail = (prevelem.tail or '') + arg - else: - try: - it = iter(arg) - except: - raise TypeError, "argument type to Element" - for item in it: - if not ElementTree.iselement(item): - raise TypeError, "invalid argument type to Element" - element.append(item) - return element - - -class QName(unicode, ElementTree.QName): - """ Calling a QName creates an Element with the name as its tag """ - def __new__(cls, *args): - tmp = ElementTree.QName(*args) - new = unicode.__new__(cls, tmp.text) - new.text = new - return new - - # Use Python's binding of first argument as self - __call__ = Element - - -class LocalName(unicode): - """ Calling LocalName creates an Element with the name as its tag """ - # Use Python's binding of first argument as self - __call__ = Element - - -class Namespace: - """ Namespace(uri [, prefix hint]) -> Namespace object """ - - def __init__(self, uri=None, prefix=None): - self.uri = uri or None - - if prefix is None: - return - map = ElementTree._namespace_map - if uri in map or prefix in map.values(): - # prefix or URI already used - return - if prefix.startswith("ns") and prefix[2:].isdigit(): - # names in this form may collide with autogenerated prefixes - return - map[uri] = prefix - - def __add__(self, tag): - if self.uri is None: - return LocalName(tag) - else: - return QName(self.uri, tag) - - def __getattr__(self, tag): - if tag[0] == '_': - raise AttributeError(tag) - qname = self+tag - self.__dict__[tag] = qname # cache for faster access next time - return qname - -LocalNamespace = Namespace(None) diff --git a/converter/convert.py b/converter/convert.py deleted file mode 100644 index 7aaa072..0000000 --- a/converter/convert.py +++ /dev/null @@ -1,231 +0,0 @@ -''' -This is a small script for cleaning up CPACS files after editing them in Eclipse -It will do some basic things! - - 1. If the new type does not have a complexContent and the extension to - complexBaseType this will be added automagically - - 2. If the documentation is not according to the MAML notation for CPACS - the existing documentation will be translated into MAML notation or - default values will be applied - - 3. All Elements are sorted in a alphabetical order and CPACS is put on top of the list - - 4. Some namespace mishaps are cleaned up - - 5. Finally, the script will sort through all the files and look for obsolete - types. These types will not be deleted and hence attention should be paid to the output. - -@author: boeh_da -''' - -from xml.etree.ElementTree import Element, SubElement, parse, Comment,tostring -import ElementBuilder - - -def newDoc(app,doc): - ''' - Creates a new xml documentation element according to MAML notation - app and doc are included in the summary and remarks section - ''' - docElement = Element("xsd:annotation") - - appElement = SubElement(docElement,"xsd:appinfo") - schemaDoc = SubElement(appElement,"schemaDoc") - - summary = SubElement(schemaDoc,"ddue:summary") - sumpara = SubElement(summary,"ddue:para") - sumpara.text = app - - remarks = SubElement(schemaDoc,"ddue:remarks") - rempara = SubElement(remarks,"ddue:para") - rempara.text = doc - - return docElement - -def addcomplexContent(type): - ''' - If a complex type is found that has no complex Content, complex Content - will be added here. This is essential to clean up Eclipse Editor output - ''' - complexContent = Element("xsd:complexContent") - extensionBase = SubElement(complexContent, "xsd:extension") - extensionBase.set('base','complexBaseType') - - for node in type: - if node.tag.find('annotation')==-1: - extensionBase.insert(0,node) - type.remove(node) - - for node in type: - if cmp(node.tag.find,'{http://www.w3.org/2001/XMLSchema}attribute'): - extensionBase.insert(-1,node) - type.remove(node) - - type.insert(1,complexContent) - return type - -def getTypeList(root): - ''' - This function provides a list of all types included in CPACS - ''' - typeList = [] - for type in root: - if type.tag.find('complexType')!=-1: - if not type.attrib['name'].find('Base') != -1: - typeList.append(type.attrib['name']) - return typeList - - -if __name__ == '__main__': - # Read CPACS schema file - cpacs_file = "./schema/cpacs_schema.xsd" - tree = parse(cpacs_file) - ElementBuilder.Namespace('', 'xsd') - elem = tree.getroot() - - print "1. Add complex content" - for type in elem: - if type.tag.find('complexType')!=-1: - complexContentFound = False - #Exclude stuff like stringBaseType - if not type.attrib['name'].find('Base') != -1: - #search for complex Content - for part in type: - if part.tag.find('complexContent') !=-1 and not part.tag.find('annotation')!=-1: - complexContentFound = True - - if not complexContentFound: - print "adding complex Content to: %s" %type.attrib['name'] - type = addcomplexContent(type) - - print - print "2. Add documentation stubs" - for type in elem: - if type.tag.find('complexType')!=-1: - annotationFound = False - for part in type: - doc="" - app="" - if part.tag.find('annotation')!=-1: - annotationFound = True - newStyleDoc = False - for item in part: - if item.tag.find('appinfo')!=-1: - app = str(item.text) - for subitem in item : - if subitem.tag.find('schemaDoc') != -1: - newStyleDoc = True - - if item.tag.find('documentation')!=-1: - doc = str(item.text) - - if not newStyleDoc: - type.remove(part) - print ("adding documentation to: %s") %type.attrib['name'] - type.insert(0,newDoc(app,doc)) - - if not annotationFound: - print ("adding annotation to: %s") %type.attrib['name'] - type.insert(0,newDoc(type.attrib["name"],'')) - - print - print "3. Alphabetical sorting" - bla = list(elem) - bla.sort(key=lambda name: name.attrib["name"]) - - - elem.clear() - for item in bla: - elem.append(item) - - # CPACS as top type - for type in elem: - #type.insert(0,Comment("****************************************************\n")) - if type.tag.find('element')!=-1: - elem.remove(type) - elem.insert(0,type) - - # Export file - tree.write(cpacs_file) - - print - print "4. Some basic cleaning up after the export" - myCPACS = open(cpacs_file,"r") - lines = myCPACS.readlines() - myCPACS.close() - - res = [] - for line in lines: - # Replacing some of the mislead namespace settings. - # Please note, this part of code is probably very fragile as the sorting order of the - # namespaces may change at random - line = line.replace('xs:','xsd:') - line = line.replace('ns0','xsd') - line = line.replace('ns1:','sd:') - line = line.replace('ns2','ddue') - line = line.replace('ns3','xlink') - line = line.replace('xsd:schemaDoc','schemaDoc') - line = line.replace('xsd:summary','ddue:summary') - line = line.replace('xsd:remarks','ddue:remarks') - line = line.replace('xsd:para','ddue:para') - line = line.replace('xsd:content','ddue:content') - line = line.replace('xsd:section','ddue:section') - line = line.replace('xsd:definitionTable','ddue:definitionTable') - line = line.replace('xsd:mediaLink','ddue:mediaLink') - line = line.replace('xsd:image','ddue:image') - line = line.replace('xsd:title','ddue:title') - line = line.replace('xsd:definition','ddue:definition') - line = line.replace('xsd:definedTerm','ddue:definedTerm') - line = line.replace('xsd:entry','ddue:entry') - line = line.replace('xsd:legacyBold','ddue:legacyBold') - line = line.replace('xsd:legacyItalic','ddue:legacyItalic') - line = line.replace('xsd:table','ddue:table') - line = line.replace('xsd:row','ddue:row') - line = line.replace('xsd:code','ddue:code') - line = line.replace('xsd:href','xlink:href') - line = line.replace('xsd:list','ddue:list') - line = line.replace('xsd:listItem','ddue:listItem') - #These tow lines represent default values and are not necessary in the CPACS file - line = line.replace('minOccurs="1"',' ') - line = line.replace('maxOccurs="1"',' ') - - - - line = line.replace(' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ns - - - - - - - - - - - - - - - Can't declare more than one namespace - as default="yes" in the control set. - - - - - Can't assign namespace " - - " as the default (with no prefix) because elements exist - in the source with no namespace (and so must be unprefixed). - - - - - - - Repeat declaration for namespace " - - " in the control set. - - - - - Repeat assignment of prefix " - - " in the control set. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ERROR: - - - - - - - ERROR: - - - - - - - - Namespaces are retained from source data. - - - - - - - - - - - - - - - - - - - - Namespaces mapping from source - - : - - xmlns - - : - - - =" - - " - prefixed in source: - - - - - - - - - - , - ' - - ' - - - - , - [none] - - - - - - - \ No newline at end of file diff --git a/scripts/.vscode/launch.json b/scripts/.vscode/launch.json new file mode 100644 index 0000000..38aecc0 --- /dev/null +++ b/scripts/.vscode/launch.json @@ -0,0 +1,19 @@ +{ + // Verwendet IntelliSense zum Ermitteln möglicher Attribute. + // Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen. + // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Aktuelle Datei", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "justMyCode": true, + "args": ["../schema/cpacs_schema.xsd","../schema/cpacs_schema_pretty.xsd"] + } + ] +} + + diff --git a/scripts/.vscode/settings.json b/scripts/.vscode/settings.json new file mode 100644 index 0000000..236a244 --- /dev/null +++ b/scripts/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "editor.formatOnSave": true, + "python.pythonPath": "D:\\Programme\\Mambaforge\\envs\\cpacs.exe", + "python.formatting.provider": "black", + "python.formatting.blackArgs": [ + "--line-length=88" + ], + "python.sortImports.args": [ + "--profile", + "black" + ], + "[python]": { + "editor.codeActionsOnSave": { + "source.organizeImports": true + } + } +} \ No newline at end of file diff --git a/scripts/license.txt b/scripts/license.txt new file mode 100644 index 0000000..960a5cf --- /dev/null +++ b/scripts/license.txt @@ -0,0 +1,22 @@ + diff --git a/scripts/syntaxCleanUp.py b/scripts/syntaxCleanUp.py new file mode 100644 index 0000000..11701c0 --- /dev/null +++ b/scripts/syntaxCleanUp.py @@ -0,0 +1,207 @@ +import shutil +import sys +import time + +from lxml.etree import XMLParser, indent, parse, register_namespace, tostring + +if __name__ == "__main__": + + # Console output: + print("\n\n%s\nCPACS Syntax formatting" % ("=" * 70)) + + def printout(text): + print("\n> %s ..." % (text)) + + # ====================================================== + # Specify input/output file names: + # 1) Input schema file + # 2) Output schema file (optional; backup file will be created) + # + if len(sys.argv) >= 2: + schema_file = sys.argv[1] + if len(sys.argv) >= 3: + schema_file_new = sys.argv[2] + else: + shutil.copy(schema_file, "backup_%s.xsd" % time.strftime("%Y%m%d_%H%M%S")) + schema_file_new = schema_file + else: + print( + "Please specify the following arguments:" + + " (1) Input schema file (obligatory) and" + + " (2) Output schema file (optional).\n" + + " If not output file is defined, the input file will be overwritten and a" + + " backup file will be created" + ) + exit() + + parser = XMLParser(strip_cdata=False) + tree = parse(schema_file, parser=parser) + root = tree.getroot() + + # ====================================================== + # Set name-spaces + # + printout("Set namespaces") + + namespaces = { + "xsd": "http://www.w3.org/2001/XMLSchema", + "ddue": "http://ddue.schemas.microsoft.com/authoring/2003/5", + "sd": "http://schemas.xsddoc.codeplex.com/schemaDoc/2009/3", + "xlink": "http://www.w3.org/1999/xlink", + } + for key in namespaces.keys(): + register_namespace(key, namespaces[key]) + + # ====================================================== + # Sort types + # Sorts types in alphabetic order, but puts cpacs + # root element and cpacsType in front. Comments at the + # highest hierarchy level must be deleted as it is not + # clear from the schema where to place it. Furthermore, + # the license text should be imported from a separate file + # to ensure easy and consistent maintenance of the licence + # agreement. + # + printout("Alphabetic sorting") + + cpacs_element = [el for el in root if el.get("name") == "cpacs"][-1] + cpacs_type = [el for el in root if el.get("name") == "cpacsType"][-1] + root.remove(cpacs_element) + root.remove(cpacs_type) + for comment in [el for el in root if not el.get("name")]: + root.remove(comment) + + root[:] = sorted(root, key=lambda elem: elem.get("name").lower()) + + root.insert(0, cpacs_element) + root.insert(1, cpacs_type) + + # ====================================================== + # Naming conventions + # + printout("Check for naming conventions") + + for elem in root: + name = elem.get("name") + new_name = None + + # Lowercase first letter: + if name[0].isupper(): + new_name = name[0].lower() + name[1:] + + # Name ends with "Type" + if name[-4:] != "Type" and name != "cpacs": + new_name = name + "Type" + + # Apply new name and inform user about changes: + if new_name != None: + print(' Renaming "%s" to "%s".' % (name, new_name)) + elem.set("name", new_name) + # Elements using this type: + for t in set([el for el in list(root.iter()) if el.get("type") == name]): + t.attrib["type"] = new_name + # Derived types (restritions/extensions): + for t in set([el for el in list(root.iter()) if el.get("base") == name]): + t.attrib["base"] = new_name + + # ====================================================== + # Arranging attributes + # Affects xsd:elements, xsd:choice and xsd:attribute + # + printout("Arrange attributes") + + def elemType(elem): + try: + return elem.tag.split("}")[-1] + except: + return None + + attributes_order = { + key: i + for i, key in enumerate( + ["name", "minOccurs", "maxOccurs", "default", "use", "fixed", "type"] + ) + } + for elem in root: + childs = [ + child + for child in list(elem.iter()) + if elemType(child) == "element" + or elemType(child) == "choice" + or elemType(child) == "attribute" + ] + for child in childs: + attributes = [ + {"name": key, "value": child.attrib[key]} for key in child.keys() + ] + attributes_new = sorted( + attributes, key=lambda d: attributes_order[d["name"]] + ) + for attribute in attributes: + del child.attrib[attribute["name"]] + for attribute in attributes_new: + if not ( + ( + attribute["name"] == "minOccurs" + or attribute["name"] == "maxOccurs" + ) + and attribute["value"] == "1" + ): + child.attrib[attribute["name"]] = attribute["value"] + + # ====================================================== + # Remove unused types + # + printout("Removing unused types") + + def unused_types(): + types_exist = [el for el in root if el.get("name") != "cpacs"] + types_used = set( + [el.attrib["type"] for el in list(root.iter()) if "type" in el.keys()] + + [el.attrib["base"] for el in list(root.iter()) if "base" in el.keys()] + ) + return [t for t in types_exist if not t.attrib["name"] in types_used] + + types_unused = unused_types() + while len(types_unused) > 0: + for t in types_unused: + print(' Removing type "%s"' % t.attrib["name"]) + root.remove(t) + types_unused = unused_types() + + # ====================================================== + # Pretty print + # + printout("Pretty print") + + indent(root, space=" " * 4) + + # Empty line between types: + for elem in root: + elem.tail = "\n\n" + + # Convert to string to allow for manual string operations: + root_str = tostring(root).decode("utf-8") + + # Replace tab with empty spaces: + root_str = root_str.replace("\t", " " * 4) + + # Remove trailing empty spaces: + root_str = "".join([line.rstrip() + "\n" for line in root_str.splitlines()]) + + # Fix indent of complexType: + root_str = root_str.replace("R3(U!B##IH0LmHw01yBG0CRb6bYXZyY-M3?Rd6nF zd94{~%hNFUyWoF_mC;sfUr*F&74bm93lCK07+ITb(Ox8}+YtY|&y%E0yUvrh;JY?? z?mLkebtM#$dl?bAX%x>RqIkj1o>_^iAo;GyW2OXS#6s3oNEQ*n)?6wk79}m1tZ52s zs*+0Zavc#~W~@{Z`S{}bYlIhP&zwEOS7f2V7YmXk#9u55%FD&VpW-fo=RA2>m9oki zsTx%`YHF5iAgTiIbNRWP$j{}&*AE`PC2#koqC2vxL_w7TuHGc@67Ryz%VB8HGPW|P zKrB#fr$S3_K=U4%ND{{}plg`W36uQS(_+7^S;|*?umxyxViY1P4$5hhO^F4Be^)~C zti)}ZZdgGzl-s=;l2?E|+$KR)D_)f}zeAQZ{o2%KdCT*hEE!1!ql#srC1ZZT134=L zaCS_^`ddiuCFH6zilx8Mgc8z%&92N_kTHpS$+ecin8>1J+diSIJwhy(Y=~*&FHWm^ zAM~h1#5Wo)CNkd1%%5O@#t>^OdyB4HUj!I1;n_V`WFqRdwddTkB(io%=wzCO6)^I%j_uTAG{sLpG%({ zL439%Wu-_z&bY)J;3dlLij^o4p+{u;U3~dr&!ao8f-Ze(o%bYh zH6Xz1P%qMqDw;f@U~`MC%S&P~29CEx67yrBMFnam8Yx~gg`dHxB`tZ&l+Mpfx~9o~ z`nY1^wNM7g>)5+Bknp=RjgMhF^*2h@)030!b{lW6#g$l}T)lkx$_ZHLt=8I)dMH`e zFo%O*v9XPe3!aKfRx1U$Qk>96Z7L8=Q@eI@V?d?Pw?zkGvML4KjMX{YArZUxs7jH@ z?UQQ*BD?6sT+VvL8cb73q_VQECiT72H+h~LPF3$ zOBF*)D_|e6snS{4!{6}rhDim#Oi+<-_E1~Dv78hQEJBiHKwB}$N)SvzI%9_S&{HT- z0@)NuxUCo44HFD{F{yK~ARxx%Nh1`j7L{O;!`DbTPgx074tpOI;Ht?p;B1;bur|~w zkqmMW68@kyAsaw%fFab%y|DqbaBwP`1p7O@&=TaRR*qjfumW8RrcD_CBHJD~k4TUT zBE8EvWAR1ngM`dju7eMLcxfEOSMY_UBJeS={4hy;jpom1m#)nFbTA11kqCObM@U1* zf)!9%gMo12c;7J%UD~83UV!s)IWPzgWSQHPI;0PzEN91iHl1S&)ZPtnA;LsWa#}1i zs)Ko||7!Xk()Yp`njX~ea6l;L5H~^vm!qMYV~8t}Q}onw`6VqN5HQ-l0axgazpB*_ zH!S_C%~+05x;Vmpt#)f@XHi6hpcomY2f(%q3-q!oSxeH$`5aA`Qi-V}Agv*zq2Nsi z6BQ!QF3)2wo4Q6r+wC!f7PR#UxoB3dOy@(kFAlVmdvGA|pbFVHoZ=BbY6%?-gT{%nb7ItSv~W&|$0nR5$c&uShU*^D7paXKovTQ6 zn6Eih!NBB!(%I85B0x$P5#&90{&tUwse*ZFIWwS;w4JPnqCR4Re`A?#VS!*cXzBPq zfvOJm8DGOGIUUKDRQ|2x06LWXw37dU5D-1+7sIMigO2`SwPGo_4hEemvwn>9SGuWq zszXwLcG$nD9fl8cTy({7$4exR2@v2*-xf;j?Ux&MR3l0gfQqhTS?3(A`NI!Q?{HIe z%4&5Kc~D)PNDDot;J^umd`h@>B#+wpixp zyg{PE-xc4n41P@nhClvTD$@K z-mMRsel{IN(=4;WGM|T|vf-dn4u^WA7GzLR25NNB9sR#1kGhOmv=dPfj7TR*FVcx7 zJce-bug~N?80`iFbj8=nJ%0YA97&E4JgqADMo)R9DI3{V|6kNG4T zD8n<=HP60vY$SI5uMGkObLzL=Z0XALJKvQyT^v z){acx(KoH!&2Zp_98C-0!Pb>Atx6r>xzz=ZPXm6j~Q4IbJFW$pL+a2sj{?=K~S!j#Y zO^CD_9=G66P)h*Y literal 0 HcmV?d00001 diff --git a/scripts/syntax_cleanup.py b/scripts/syntax_cleanup.py new file mode 100644 index 0000000..67a0519 --- /dev/null +++ b/scripts/syntax_cleanup.py @@ -0,0 +1,264 @@ +import argparse +import logging +import os +import shutil +import sys +import time + +from lxml.etree import XMLParser, indent, parse, register_namespace, tostring + +log = logging.getLogger(__name__) +log.addHandler(logging.StreamHandler(sys.stdout)) + + +def printout(text): + log.debug("\n> %s ..." % text) + + +class CPACSXSDSyntaxCleaner(object): + NAMESPACES = { + "xsd": "https://www.w3.org/2001/XMLSchema", + "ddue": "http://ddue.schemas.microsoft.com/authoring/2003/5", + "sd": "http://schemas.xsddoc.codeplex.com/schemaDoc/2009/3", + "xlink": "https://www.w3.org/1999/xlink", + } + LICENSE_FILE = "license.txt" + + def __init__(self, schema_file, schema_file_new): + self.schema_file = schema_file + if schema_file_new is None: + shutil.copy(schema_file, "backup_%s.xsd" % time.strftime("%Y%m%d_%H%M%S")) + self.schema_file_new = schema_file + else: + self.schema_file_new = schema_file_new + + def get_root_tree(self): + parser = XMLParser(strip_cdata=False) + tree = parse(self.schema_file, parser=parser) + root = tree.getroot() + return root + + def set_namespaces(self): + """ + Set name-spaces + """ + printout("Set namespaces") + + for k, v in self.NAMESPACES.items(): + register_namespace(k, v) + + @staticmethod + def sort_alphabetic(root): + """ + Sort types + Sorts types in alphabetic order, but puts cpacs + root element and cpacsType in front. Comments at the + highest hierarchy level must be deleted as it is not + clear from the schema where to place it. Furthermore, + the license text should be imported from a separate file + to ensure easy and consistent maintenance of the licence + agreement. + """ + printout("Alphabetic sorting") + + cpacs_element = [el for el in root if el.get("name") == "cpacs"][-1] + cpacs_type = [el for el in root if el.get("name") == "cpacsType"][-1] + root.remove(cpacs_element) + root.remove(cpacs_type) + for comment in [el for el in root if not el.get("name")]: + root.remove(comment) + + root[:] = sorted(root, key=lambda elem: elem.get("name").lower()) + + root.insert(0, cpacs_element) + root.insert(1, cpacs_type) + + return root + + @staticmethod + def check_naming_conventions(root): + """ + Naming conventions + """ + printout("Check for naming conventions") + + for elem in root: + name = elem.get("name") + new_name = None + + # Lowercase first letter: + if name[0].isupper(): + new_name = name[0].lower() + name[1:] + + # Name ends with "Type": + if name[-4:] != "Type" and name != "cpacs": + new_name = name + "Type" + + # Apply new name and inform user about changes: + if new_name is not None: + log.debug(' Renaming "%s" to "%s".' % (name, new_name)) + elem.set("name", new_name) + # Elements using this type: + for t in set( + [el for el in list(root.iter()) if el.get("type") == name] + ): + t.attrib["type"] = new_name + # Derived types (restritions/extensions): + for t in set( + [el for el in list(root.iter()) if el.get("base") == name] + ): + t.attrib["base"] = new_name + return root + + @staticmethod + def get_elem_type(elem): + try: + return elem.tag.split("}")[-1] + except Exception as e: + log.debug(e) + return None + + @classmethod + def arrange_attributes(cls, root): + """ + Arranging attributes + Affects xsd:elements, xsd:choice and xsd:attribute + """ + printout("Arrange attributes") + + attributes_order = { + key: i + for i, key in enumerate( + ["name", "minOccurs", "maxOccurs", "default", "use", "fixed", "type"] + ) + } + for elem in root: + children = [ + child + for child in list(elem.iter()) + if cls.get_elem_type(child) in {"element", "choice", "attribute"} + ] + for child in children: + attributes = [ + {"name": key, "value": child.attrib[key]} for key in child.keys() + ] + attributes_new = sorted( + attributes, key=lambda d: attributes_order[d["name"]] + ) + for attribute in attributes: + del child.attrib[attribute["name"]] + for attribute in attributes_new: + if not ( + (attribute["name"] in {"minOccurs", "maxOccurs"}) + and attribute["value"] == "1" + ): + child.attrib[attribute["name"]] = attribute["value"] + return root + + @staticmethod + def find_unused_types(root): + types_exist = [el for el in root if el.get("name") != "cpacs"] + types_used = set( + [el.attrib["type"] for el in list(root.iter()) if "type" in el.keys()] + + [el.attrib["base"] for el in list(root.iter()) if "base" in el.keys()] + ) + return [t for t in types_exist if not t.attrib["name"] in types_used] + + @classmethod + def remove_unused_types(cls, root): + """ + Remove unused types + """ + printout("Removing unused types") + + while len(types_unused := cls.find_unused_types(root)): + for t in types_unused: + log.debug(' Removing type "%s"' % t.attrib["name"]) + root.remove(t) + return root + + def get_cleaned_root_tree(self): + root = self.get_root_tree() + self.set_namespaces() + root = self.sort_alphabetic(root) + root = self.check_naming_conventions(root) + root = self.arrange_attributes(root) + root = self.remove_unused_types(root) + return root + + def read_license_information(self): + __location__ = os.path.realpath( + os.path.join(os.getcwd(), os.path.dirname(__file__)) + ) + with open(os.path.join(__location__, self.LICENSE_FILE), "r") as f: + return f.read() + + def pretty_print(self, root): + """ + Pretty print + """ + printout("Pretty print") + + indent(root, space=" " * 4) + + # Empty line between types: + for elem in root: + elem.tail = "\n\n" + + # Convert to string to allow for manual string operations: + root_str = tostring(root).decode("utf-8") + + # Replace tab with empty spaces: + root_str = root_str.replace("\t", " " * 4) + + # Remove trailing empty spaces: + root_str = "".join([line.rstrip() + "\n" for line in root_str.splitlines()]) + + # Fix indent of complexType: + root_str = root_str.replace("\n' + cpacs_license + root_str + + def write_cleaned_schema_file(self, root_str): + """ + Output schema file + """ + printout('Write schema to "%s"' % self.schema_file_new) + with open(self.schema_file_new, "w") as f: + f.writelines(root_str) + + def run(self): + log.debug("\n\n%s\nCPACS Syntax formatting" % ("=" * 70)) + + root = self.get_cleaned_root_tree() + root_str = self.pretty_print(root) + self.write_cleaned_schema_file(root_str) + + +def parse_args(): + """ + Specify input/output file names: + 1) Input schema file + 2) Output schema file (optional; backup file will be created) + """ + + parser = argparse.ArgumentParser( + prog="syntax_cleanup", description="Syntax cleaner for CPACS XSD Schema" + ) + parser.add_argument("schema_input", help="Path to input schema file") + parser.add_argument( + "schema_output", nargs="?", default=None, help="Path to output schema file" + ) + parser.add_argument("--log", default="DEBUG") + args = parser.parse_args() + + log.setLevel(args.log.upper()) + return args.schema_input, args.schema_output + + +if __name__ == "__main__": + schema_input, schema_output = parse_args() + cleaner = CPACSXSDSyntaxCleaner(schema_input, schema_output) + cleaner.run() From 42b2dc822dc0f72e0558d0c6f26be67dd44a03ad Mon Sep 17 00:00:00 2001 From: Alder Date: Mon, 4 Jul 2022 12:45:23 +0200 Subject: [PATCH 028/123] delete old script versions --- scripts/.vscode/launch.json | 19 ---- scripts/.vscode/settings.json | 17 --- scripts/syntaxCleanUp.py | 207 ---------------------------------- scripts/syntaxCleanUp.zip | Bin 2357 -> 0 bytes 4 files changed, 243 deletions(-) delete mode 100644 scripts/.vscode/launch.json delete mode 100644 scripts/.vscode/settings.json delete mode 100644 scripts/syntaxCleanUp.py delete mode 100644 scripts/syntaxCleanUp.zip diff --git a/scripts/.vscode/launch.json b/scripts/.vscode/launch.json deleted file mode 100644 index 38aecc0..0000000 --- a/scripts/.vscode/launch.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - // Verwendet IntelliSense zum Ermitteln möglicher Attribute. - // Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen. - // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Python: Aktuelle Datei", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "integratedTerminal", - "justMyCode": true, - "args": ["../schema/cpacs_schema.xsd","../schema/cpacs_schema_pretty.xsd"] - } - ] -} - - diff --git a/scripts/.vscode/settings.json b/scripts/.vscode/settings.json deleted file mode 100644 index 236a244..0000000 --- a/scripts/.vscode/settings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "editor.formatOnSave": true, - "python.pythonPath": "D:\\Programme\\Mambaforge\\envs\\cpacs.exe", - "python.formatting.provider": "black", - "python.formatting.blackArgs": [ - "--line-length=88" - ], - "python.sortImports.args": [ - "--profile", - "black" - ], - "[python]": { - "editor.codeActionsOnSave": { - "source.organizeImports": true - } - } -} \ No newline at end of file diff --git a/scripts/syntaxCleanUp.py b/scripts/syntaxCleanUp.py deleted file mode 100644 index 11701c0..0000000 --- a/scripts/syntaxCleanUp.py +++ /dev/null @@ -1,207 +0,0 @@ -import shutil -import sys -import time - -from lxml.etree import XMLParser, indent, parse, register_namespace, tostring - -if __name__ == "__main__": - - # Console output: - print("\n\n%s\nCPACS Syntax formatting" % ("=" * 70)) - - def printout(text): - print("\n> %s ..." % (text)) - - # ====================================================== - # Specify input/output file names: - # 1) Input schema file - # 2) Output schema file (optional; backup file will be created) - # - if len(sys.argv) >= 2: - schema_file = sys.argv[1] - if len(sys.argv) >= 3: - schema_file_new = sys.argv[2] - else: - shutil.copy(schema_file, "backup_%s.xsd" % time.strftime("%Y%m%d_%H%M%S")) - schema_file_new = schema_file - else: - print( - "Please specify the following arguments:" - + " (1) Input schema file (obligatory) and" - + " (2) Output schema file (optional).\n" - + " If not output file is defined, the input file will be overwritten and a" - + " backup file will be created" - ) - exit() - - parser = XMLParser(strip_cdata=False) - tree = parse(schema_file, parser=parser) - root = tree.getroot() - - # ====================================================== - # Set name-spaces - # - printout("Set namespaces") - - namespaces = { - "xsd": "http://www.w3.org/2001/XMLSchema", - "ddue": "http://ddue.schemas.microsoft.com/authoring/2003/5", - "sd": "http://schemas.xsddoc.codeplex.com/schemaDoc/2009/3", - "xlink": "http://www.w3.org/1999/xlink", - } - for key in namespaces.keys(): - register_namespace(key, namespaces[key]) - - # ====================================================== - # Sort types - # Sorts types in alphabetic order, but puts cpacs - # root element and cpacsType in front. Comments at the - # highest hierarchy level must be deleted as it is not - # clear from the schema where to place it. Furthermore, - # the license text should be imported from a separate file - # to ensure easy and consistent maintenance of the licence - # agreement. - # - printout("Alphabetic sorting") - - cpacs_element = [el for el in root if el.get("name") == "cpacs"][-1] - cpacs_type = [el for el in root if el.get("name") == "cpacsType"][-1] - root.remove(cpacs_element) - root.remove(cpacs_type) - for comment in [el for el in root if not el.get("name")]: - root.remove(comment) - - root[:] = sorted(root, key=lambda elem: elem.get("name").lower()) - - root.insert(0, cpacs_element) - root.insert(1, cpacs_type) - - # ====================================================== - # Naming conventions - # - printout("Check for naming conventions") - - for elem in root: - name = elem.get("name") - new_name = None - - # Lowercase first letter: - if name[0].isupper(): - new_name = name[0].lower() + name[1:] - - # Name ends with "Type" - if name[-4:] != "Type" and name != "cpacs": - new_name = name + "Type" - - # Apply new name and inform user about changes: - if new_name != None: - print(' Renaming "%s" to "%s".' % (name, new_name)) - elem.set("name", new_name) - # Elements using this type: - for t in set([el for el in list(root.iter()) if el.get("type") == name]): - t.attrib["type"] = new_name - # Derived types (restritions/extensions): - for t in set([el for el in list(root.iter()) if el.get("base") == name]): - t.attrib["base"] = new_name - - # ====================================================== - # Arranging attributes - # Affects xsd:elements, xsd:choice and xsd:attribute - # - printout("Arrange attributes") - - def elemType(elem): - try: - return elem.tag.split("}")[-1] - except: - return None - - attributes_order = { - key: i - for i, key in enumerate( - ["name", "minOccurs", "maxOccurs", "default", "use", "fixed", "type"] - ) - } - for elem in root: - childs = [ - child - for child in list(elem.iter()) - if elemType(child) == "element" - or elemType(child) == "choice" - or elemType(child) == "attribute" - ] - for child in childs: - attributes = [ - {"name": key, "value": child.attrib[key]} for key in child.keys() - ] - attributes_new = sorted( - attributes, key=lambda d: attributes_order[d["name"]] - ) - for attribute in attributes: - del child.attrib[attribute["name"]] - for attribute in attributes_new: - if not ( - ( - attribute["name"] == "minOccurs" - or attribute["name"] == "maxOccurs" - ) - and attribute["value"] == "1" - ): - child.attrib[attribute["name"]] = attribute["value"] - - # ====================================================== - # Remove unused types - # - printout("Removing unused types") - - def unused_types(): - types_exist = [el for el in root if el.get("name") != "cpacs"] - types_used = set( - [el.attrib["type"] for el in list(root.iter()) if "type" in el.keys()] - + [el.attrib["base"] for el in list(root.iter()) if "base" in el.keys()] - ) - return [t for t in types_exist if not t.attrib["name"] in types_used] - - types_unused = unused_types() - while len(types_unused) > 0: - for t in types_unused: - print(' Removing type "%s"' % t.attrib["name"]) - root.remove(t) - types_unused = unused_types() - - # ====================================================== - # Pretty print - # - printout("Pretty print") - - indent(root, space=" " * 4) - - # Empty line between types: - for elem in root: - elem.tail = "\n\n" - - # Convert to string to allow for manual string operations: - root_str = tostring(root).decode("utf-8") - - # Replace tab with empty spaces: - root_str = root_str.replace("\t", " " * 4) - - # Remove trailing empty spaces: - root_str = "".join([line.rstrip() + "\n" for line in root_str.splitlines()]) - - # Fix indent of complexType: - root_str = root_str.replace("R3(U!B##IH0LmHw01yBG0CRb6bYXZyY-M3?Rd6nF zd94{~%hNFUyWoF_mC;sfUr*F&74bm93lCK07+ITb(Ox8}+YtY|&y%E0yUvrh;JY?? z?mLkebtM#$dl?bAX%x>RqIkj1o>_^iAo;GyW2OXS#6s3oNEQ*n)?6wk79}m1tZ52s zs*+0Zavc#~W~@{Z`S{}bYlIhP&zwEOS7f2V7YmXk#9u55%FD&VpW-fo=RA2>m9oki zsTx%`YHF5iAgTiIbNRWP$j{}&*AE`PC2#koqC2vxL_w7TuHGc@67Ryz%VB8HGPW|P zKrB#fr$S3_K=U4%ND{{}plg`W36uQS(_+7^S;|*?umxyxViY1P4$5hhO^F4Be^)~C zti)}ZZdgGzl-s=;l2?E|+$KR)D_)f}zeAQZ{o2%KdCT*hEE!1!ql#srC1ZZT134=L zaCS_^`ddiuCFH6zilx8Mgc8z%&92N_kTHpS$+ecin8>1J+diSIJwhy(Y=~*&FHWm^ zAM~h1#5Wo)CNkd1%%5O@#t>^OdyB4HUj!I1;n_V`WFqRdwddTkB(io%=wzCO6)^I%j_uTAG{sLpG%({ zL439%Wu-_z&bY)J;3dlLij^o4p+{u;U3~dr&!ao8f-Ze(o%bYh zH6Xz1P%qMqDw;f@U~`MC%S&P~29CEx67yrBMFnam8Yx~gg`dHxB`tZ&l+Mpfx~9o~ z`nY1^wNM7g>)5+Bknp=RjgMhF^*2h@)030!b{lW6#g$l}T)lkx$_ZHLt=8I)dMH`e zFo%O*v9XPe3!aKfRx1U$Qk>96Z7L8=Q@eI@V?d?Pw?zkGvML4KjMX{YArZUxs7jH@ z?UQQ*BD?6sT+VvL8cb73q_VQECiT72H+h~LPF3$ zOBF*)D_|e6snS{4!{6}rhDim#Oi+<-_E1~Dv78hQEJBiHKwB}$N)SvzI%9_S&{HT- z0@)NuxUCo44HFD{F{yK~ARxx%Nh1`j7L{O;!`DbTPgx074tpOI;Ht?p;B1;bur|~w zkqmMW68@kyAsaw%fFab%y|DqbaBwP`1p7O@&=TaRR*qjfumW8RrcD_CBHJD~k4TUT zBE8EvWAR1ngM`dju7eMLcxfEOSMY_UBJeS={4hy;jpom1m#)nFbTA11kqCObM@U1* zf)!9%gMo12c;7J%UD~83UV!s)IWPzgWSQHPI;0PzEN91iHl1S&)ZPtnA;LsWa#}1i zs)Ko||7!Xk()Yp`njX~ea6l;L5H~^vm!qMYV~8t}Q}onw`6VqN5HQ-l0axgazpB*_ zH!S_C%~+05x;Vmpt#)f@XHi6hpcomY2f(%q3-q!oSxeH$`5aA`Qi-V}Agv*zq2Nsi z6BQ!QF3)2wo4Q6r+wC!f7PR#UxoB3dOy@(kFAlVmdvGA|pbFVHoZ=BbY6%?-gT{%nb7ItSv~W&|$0nR5$c&uShU*^D7paXKovTQ6 zn6Eih!NBB!(%I85B0x$P5#&90{&tUwse*ZFIWwS;w4JPnqCR4Re`A?#VS!*cXzBPq zfvOJm8DGOGIUUKDRQ|2x06LWXw37dU5D-1+7sIMigO2`SwPGo_4hEemvwn>9SGuWq zszXwLcG$nD9fl8cTy({7$4exR2@v2*-xf;j?Ux&MR3l0gfQqhTS?3(A`NI!Q?{HIe z%4&5Kc~D)PNDDot;J^umd`h@>B#+wpixp zyg{PE-xc4n41P@nhClvTD$@K z-mMRsel{IN(=4;WGM|T|vf-dn4u^WA7GzLR25NNB9sR#1kGhOmv=dPfj7TR*FVcx7 zJce-bug~N?80`iFbj8=nJ%0YA97&E4JgqADMo)R9DI3{V|6kNG4T zD8n<=HP60vY$SI5uMGkObLzL=Z0XALJKvQyT^v z){acx(KoH!&2Zp_98C-0!Pb>Atx6r>xzz=ZPXm6j~Q4IbJFW$pL+a2sj{?=K~S!j#Y zO^CD_9=G66P)h*Y From 0b40001bb28e080a5aec2a703949b2005de249b3 Mon Sep 17 00:00:00 2001 From: Alder Date: Tue, 5 Jul 2022 18:04:41 +0200 Subject: [PATCH 029/123] add test scripts and github action --- .github/workflows/run_tests.yml | 24 + .gitignore | 1 + schema/cpacs_schema.xsd | 37130 +++++++++++++++--------------- scripts/tests/test_examples.py | 41 + scripts/tests/test_schema.py | 152 + tests/test_exampleValidation.py | 24 - 6 files changed, 18685 insertions(+), 18687 deletions(-) create mode 100644 .github/workflows/run_tests.yml create mode 100644 scripts/tests/test_examples.py create mode 100644 scripts/tests/test_schema.py delete mode 100644 tests/test_exampleValidation.py diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml new file mode 100644 index 0000000..50534ff --- /dev/null +++ b/.github/workflows/run_tests.yml @@ -0,0 +1,24 @@ +name: run_examples_validation.yml +on: [push] +jobs: + build-linux: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.9 + uses: actions/setup-python@v3 + with: + python-version: 3.9 + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install tixi + run: | + conda install lxml tixi3 -c dlr-sc + - name: Test with pytest + run: | + conda install pytest + pwd + pytest -q ./scripts/tests/ diff --git a/.gitignore b/.gitignore index 99a4d70..809c140 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.project *.pyc +*.vscode build \ No newline at end of file diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 05f27ad..10c9fe7 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1,6 +1,5 @@ - - + @@ -56,7 +49,10 @@ marko.alder@dlr.de The Common Parametric Aircraft Configuration Scheme (CPACS) is an XML-based data format for describing aircraft configurations and their corresponding data. This XML-Schema document (XSD) serves two purposes: (1) it defines the CPACS data structure used in the XML file (e.g., aircraft.xml) and - (2) it provides the corresponding documentation (see picture below). An XML processor (e.g., TiXIhttps://github.com/DLR-SC/tixi or + (2) it provides the corresponding documentation (see picture below). An XML processor (e.g., + TiXI + https://github.com/DLR-SC/tixi + or XML tools in Eclipse) parses the XSD and XML files and validates whether the data set defined by the user (or tool) conforms to the given structure defined by the schema. @@ -74,7 +70,13 @@ marko.alder@dlr.de ]]> - CPACS is an open source project published by the German Aerospace Center (DLR e.V.)https://www.dlr.de/. For further information please visit www.cpacs.dehttps://www.cpacs.de. + CPACS is an open source project published by the + German Aerospace Center (DLR e.V.) + https://www.dlr.de/ + . For further information please visit + www.cpacs.de + https://www.cpacs.de + . @@ -91,9 +93,14 @@ marko.alder@dlr.de 3. Coordinate Systems - 3.1. CPACS coordinate system + + 3.1. CPACS coordinate system + Coordinate systems are a regular cause for ambiguous interpretation of data. In CPACS, the reference coordinate system is the CPACS-coordinate system. This coordinate system is used for most of the data. A single exception is made in order to keep aerodynamic data in an aerodynamic coordinate system. The following paragraphs outline the determination to known coordinate systems. - The CPACS coordinate system is the coordinate system identified by TiGLhttps://dlr-sc.github.io/tigl, CPACS's geometric library. It is a right-handed coordinate system. If an aircraft is defined in the CPACS coordinate system it will usually follow the directions listed in the table below. + The CPACS coordinate system is the coordinate system identified by + TiGL + https://dlr-sc.github.io/tigl + , CPACS's geometric library. It is a right-handed coordinate system. If an aircraft is defined in the CPACS coordinate system it will usually follow the directions listed in the table below. Therefore, the CPACS coordinate system can be confused with the body-fixed coordinate system. While often the CPACS coordinate system and the body-fixed coordinate system overlap, this must not always be true. Several definitions for body-fixed coordinate systems exist (x-axis through nose and tail, x-axis perpendicular to nose plane). For non-symmetric aircraft, body-fixed coordinate systems become even more complicated. Hence, analysis tools should stick to the CPACS-Coordinate system. It remains to the designer to model the geometry accordingly. The CPACS coordinate system does not rotate with flow. Hence, aerodynamic calculations do rotate their flow relative to the CPACS-coordinate system. If not stated explicitly different, e.g. for target lift-coefficients, results are returned in the CPACS coordinate system, i.e. the cfx-coefficient is parallel to the CPACS x-Coordinate, regardless of the way the geometry is defined. The following table gives a "best-practice" advice on how to locate a geometry within CPACS. Different approaches are, of course, valid as well. @@ -152,7 +159,8 @@ marko.alder@dlr.de parentUID: An individual data hierarchy can be set up using the optional parentUID element. - Here it is important that exactly one element does not contain the parentUID in order to identify the top element of this user-specific hierarchy. + Here it is important that exactly one element does not contain the parentUID + in order to identify the top element of this user-specific hierarchy. As soon as the parentUID (which refers to the uID of the parent element) is set, a local coordinate system of the corresponding node is instantiated. @@ -167,27 +175,36 @@ marko.alder@dlr.de The following table summarizes the possible combinations of parentUID and transformation and the resulting coordinate system (local or global): - - parentUID not set - parentUID set + + + parentUID not set + + parentUID set - transformation without refType + + transformation without refType + global local - transformation with refType="absLocal" + + transformation with refType="absLocal" + global local - transformation with refType="absGlobal" + + transformation with refType="absGlobal" + global global - Note: The combination of transformation with refType="absLocal" and no parentUID is global, because the local coordinate system to which the transformation is referring to via refType equals the global coordinate system (see fuselage in the following example). + + Note: The combination of transformation with refType="absLocal" and no parentUID is global, because the local coordinate system to which the transformation is referring to via refType equals the global coordinate system (see fuselage in the following example). An exemplary use case further illustrates the concept of the coordinate system hierarchy. The CPACS schema shall not specify in advance that a wing is always be part of the fuselage and engines must always be part of the wing. @@ -250,11 +267,11 @@ marko.alder@dlr.de Energy - The only non SI unit used throughout CPACS is the angle in degrees [°]. + The only non SI unit used throughout CPACS is the angle in degrees [°]. For the sake of an intuitive use the angles are given in degrees rather than in radian [rad]. - [°] + [°] Angle @@ -301,15 +318,29 @@ marko.alder@dlr.de The file would be included completely, except for its title line <?xml version="1.0" encoding="utf-8"?> . This concept can also be used recursively (external files of external files), but it is important to prevent circle connections (file "A" loading file "B" loading file "C" loading again file "A" ...). For path URI addresses, the trailing file separator "/" may be omitted. Below, some examples for path URIs are given: - Absolute local path: file:///tmp or file:///c:/windows/tmp - Relative local direcotry: file://relativeDirectory or file://../anotherRelativeDirectory - Remote net ressource: http://www.someurl.de + Absolute local path: file:///tmp or file:///c:/windows/tmp + + Relative local direcotry: file://relativeDirectory or file://../anotherRelativeDirectory + + Remote net ressource: http://www.someurl.de + - With the help of the TiXI XML Interface TiXIhttps://github.com/DLR-SC/tixi, a CPACS dataset that is split into multiple files can be reassembled into a single tree structure for subsequent validation against the CPACS schema. The following commands are used to link external data sets: + With the help of the TiXI XML Interface + + TiXI + https://github.com/DLR-SC/tixi + + , a CPACS dataset that is split into multiple files can be reassembled into a single tree structure for subsequent validation against the CPACS schema. The following commands are used to link external data sets: - <externalFileName>: Name of the external data file - <externalDataDirectory>: Directory of the external data file. Its content is analogous to the externaldata's path-element described above. - <externalDataNodePath>: XPathhttps://www.w3schools.com/xml/xpath_intro.asp of the node which is replaced with the content of the external file. In case that it is an external file of an external file, then it is the XPath in the outer external file. If, e.g., in the example above the pointList element would have also been loaded from an external file, then the entry would just be: externalDataNodePath="/airfoil". This is used primarily for loop-detection. + + <externalFileName>: Name of the external data file + + <externalDataDirectory>: Directory of the external data file. Its content is analogous to the externaldata's path-element described above. + + <externalDataNodePath>: + XPath + https://www.w3schools.com/xml/xpath_intro.asp + of the node which is replaced with the content of the external file. In case that it is an external file of an external file, then it is the XPath in the outer external file. If, e.g., in the example above the pointList element would have also been loaded from an external file, then the entry would just be: externalDataNodePath="/airfoil". This is used primarily for loop-detection. The merged data tree for the example above would look like: @@ -361,42 +392,50 @@ marko.alder@dlr.de In previous CPACS versions, referencing elements were identified via the isLink="True" attribute. Since this is superfluous due to the explicit definition of the element properties via the CPACS schema, this attribute no longer needs to be listed. It is nevertheless a valid optional attribute to ensure compatibility with older datasets, but might be removed in future versions. - Since uIDs are only used to link nodes within the XML file, no naming convention is required. The characters only have to conform to the conventions of the xsd:IDhttp://books.xmlschemata.org/relaxng/ch19-77151.html type standardized by the W3Chttps://www.w3.org/. UIDs, however, must be unique! + Since uIDs are only used to link nodes within the XML file, no naming convention is required. The characters only have to conform to the conventions of the + xsd:ID + http://books.xmlschemata.org/relaxng/ch19-77151.html + type standardized by the + W3C + https://www.w3.org/ + . UIDs, however, must be unique! Although a common practice for naming uIDs is their position in the data hierarchy (e.g. uID="mainWingSection3"), uIDs as shown in the above example are absolutely valid as well. It is therefore recommended to use the name element to convey human-readable meanings. - 7. Usage of name, description and uID + 7. Usage of name, description and uID + CPACS is designed to serve as a central data exchange format in fully automated process chains. A key requirement is therefore that tools can automatically read and process an incoming CPACS file. A second requirement is that users can interpret the data set. To address both requirements, the following usage of the name and description elements in combination with the uID attribute is proposed: - - - name: A specification of the name element is usually mandatory for sequences of elements (e.g., if max occurence is unbounded [1..*]). + + + + name: A specification of the name element is usually mandatory for sequences of elements (e.g., if max occurence is unbounded [1..*]). Typical examples are wings/wing, aeroPerformance/aeroMap or missions/mission. Such elements must be able to be listed by tools, especially for visualization and reporting purposes, where the name element serves as a concise and human-readable indicator of the actual meaning of the corresponding element in the list (e.g., which wing, which aeroMap, which mission). This is usually a single word or a small number of words. - - - - description: This element is usually optional and is used to add comprehensive and human-readable explanations. This is usually at least one explanatory sentence. + + + + description: This element is usually optional and is used to add comprehensive and human-readable explanations. This is usually at least one explanatory sentence. - - - - uID: As described in more detail in Section 6, the uID attribute is mainly used for internal referencing of CPACS elements. + + + + uID: As described in more detail in Section 6, the uID attribute is mainly used for internal referencing of CPACS elements. Further processing software, e.g. TiXI and TiGL, also use the uIDs to improve the robustness of the data query. Consequently, the uID attribute serves as a machine-readable indicator and does not claim to be interpretable by human users. In some practical use cases, the same string is chosen for uID and name. However, restrictions on the choice of characters for the uID attribute must be considered, for example that no spaces may be used and the uID must be unique. - - + + @@ -410,7 +449,9 @@ marko.alder@dlr.de 8. Symmetry - 8.1. Specification of symmetric elements + + 8.1. Specification of symmetric elements + Sometimes it might be useful to specify a part of the aircraft as symmetric instead of holding all the data twice in nearly identical form in the dataset (e.g. left and right wing are usually identical, except for the sign of the y-coordinate). Hence, some parts offer the option to set a symmetry attribute: @@ -420,11 +461,16 @@ marko.alder@dlr.de There are six possible attribute values: - x-y-plane: Symmetry w.r.t. the x-y plane of the CPACS coordinate system - x-z-plane: Symmetry w.r.t. the x-z plane of the CPACS coordinate system - y-z-plane: Symmetry w.r.t. the y-z plane of the CPACS coordinate system - inherit: Symmetry inherited from parent element (default behavior, i.e. also applies if attribute not set) - none: Symmetry inheritance from parent element disabled + + x-y-plane: Symmetry w.r.t. the x-y plane of the CPACS coordinate system + + x-z-plane: Symmetry w.r.t. the x-z plane of the CPACS coordinate system + + y-z-plane: Symmetry w.r.t. the y-z plane of the CPACS coordinate system + + inherit: Symmetry inherited from parent element (default behavior, i.e. also applies if attribute not set) + + none: Symmetry inheritance from parent element disabled Note: It must be taken from the documentation of the respective element which of these attribute values may be set. @@ -433,13 +479,20 @@ marko.alder@dlr.de - Wing 1 is mirrored on the x-z plane. - Wing 2 has wing 1 as parent element, but suppresses its symmetry inheritance. - Wing 3 has wing 2 as parent element and sets a new symmetry at the x-y plane. - Wing 4 has wing 3 as parent element and no symmetry attribute specified. Thus, it inherits the symmetry at the x-y plane from wing 3. + + Wing 1 is mirrored on the x-z plane. + + Wing 2 has wing 1 as parent element, but suppresses its symmetry inheritance. + + Wing 3 has wing 2 as parent element and sets a new symmetry at the x-y plane. + + Wing 4 has wing 3 as parent element and no symmetry attribute specified. Thus, it inherits the symmetry at the x-y plane from wing 3. - Note: The corresponding transformations are not shown here. - 8.2. Referencing symmetric elements + + Note: The corresponding transformations are not shown here. + + 8.2. Referencing symmetric elements + All nodes (e.g., parentUID) in CPACS that refer to a component holding the symmetry attribute (e.g., wing) might also have a symmetry attribute to specify how symmetry is propagated through the resulting element hierarchy. The symmetry attribute of a referencing element may take three values: symm, def, full: @@ -462,7 +515,9 @@ marko.alder@dlr.de wing ]]> - Note: This feature is not implemented in TiGL. The upper figure is manually processed to illustrate the principle. In addition, there is an ongoing debate whether the approach is suitable for CPACS due to rapidly increasing complexity and unresolved implicit assumptions as to whether it is one or two components after mirroring. Therefore, it is advised to avoid using the symmetry attribute if possible. + + Note: This feature is not implemented in TiGL. The upper figure is manually processed to illustrate the principle. In addition, there is an ongoing debate whether the approach is suitable for CPACS due to rapidly increasing complexity and unresolved implicit assumptions as to whether it is one or two components after mirroring. Therefore, it is advised to avoid using the symmetry attribute if possible. + @@ -542,8 +597,8 @@ marko.alder@dlr.de <path>. The control parameter values for each step are arbitrary floating point values. However, it is strongly recommended to use values between -1. and +1., or between 0. And +1. (depending on the type of control surface). The smallest and the largest value implicitly - define the maximum deflection limits. It is mandatory, that the value “0.” is within the specified range, as this value is treated as - undeflected and used to specify a “clean” aircraft configuration (e.g. used in the clean aero performance map). It is recommended, but not + define the maximum deflection limits. It is mandatory, that the value “0.” is within the specified range, as this value is treated as + undeflected and used to specify a “clean” aircraft configuration (e.g. used in the clean aero performance map). It is recommended, but not mandatory to specify a <step> with a <controlParameter> of 0. Consequently, no <controlParameter> must be used twice within a single <path> definition. Deflection values between two specified steps are handled by linear interpolation. The following example shows the usage of control parameters within a control surface deflection path definition: @@ -598,12 +653,15 @@ marko.alder@dlr.de Release in April 2022 Revision of decks definition (compatibility break) - Mass breakdown: add mSparSkins and mSparCells to mSpar + Mass breakdown: add mSparSkins and mSparCells to mSpar + Mass breakdown: fix hierarchical error in mMiscellaneous (compatibility break) Mass breakdown: fix typo in mPylon (compatibility break) Nacelle guide curves: set description optional - Mission definition: add uID to elements in geographicPointConstraintType - Mission definition: add powerFraction, powerRemaining and powerConsumed to missionSegmentEndConditionType + Mission definition: add uID to elements in geographicPointConstraintType + + Mission definition: add powerFraction, powerRemaining and powerConsumed to missionSegmentEndConditionType + Mission definition: rename referenceEndCondition to referenceEndConditionUID in constraintSettingsType (compatibility break) Mission definition: rename reqClassification to requirementClassification in flightPerformanceRequirementType (compatibility break) Add contour coordinates for cell definition @@ -964,25 +1022,24 @@ marko.alder@dlr.de - - - - - - + + + + + + - + - CPACS header + Actuator attachment - Header type, containing CPACS dataset description - + @@ -990,659 +1047,644 @@ marko.alder@dlr.de - - - Name of CPACS dataset - - - - - Description of CPACS dataset - - - - - - Creator of initial CPACS dataset - - - - - - Timestamp of initial CPACS dataset creation - - - - - - Version of initial CPACS dataset - - - - + - CPACS version that the dataset is valid to. The element is optional, since data sets - can be valid for several CPACS versions. However, we strongly recommend to assign data sets to a - specific CPACS version as far as possible, especially since some tools and libraries (e.g. TiGL) - require this specification. + Relative spanwise position of the actuator. + Eta refers to the dimensions of the control surface. - - - - - - + + - + - updatesType + Definition of the position and material properties of + the control surface actuator attachment. - Updates type, containing update data for the CPACS - dataset + + Definition of the position and material properties of + the control surface actuator attachment. + Please refer to the picture below for the definition + of the parameters: + + + + - - - + + + + Definition of the relative chordwise position + of the parent actuator attachment. Xsi refers to the parents + dimensions. + + + + + Definition of the relative height position of + the parent actuator attachment. relHeight refers to the parents + dimensions. + + + + + Definition of the material properties of the + actuator attachment at the parent. + + + - - - - - - - - complexBaseType - - - Base type for complex nodes (including external data - attributes) - - - - - - - - - - + - stringBaseType + actuatorFuselageWingAttachmentType - Base type for string nodes (including external data - attributes) + - - - - - + + + + + + - + - + - stringUIDBaseType + actuatorFuselageWingType - This is the base type that links to other components. It should always contain a UID. - This node has an additional attribute isLink that will be used if a stringBaseType refers to a uID. TIXI can then - perform automatic validation for the existence of the referenced uID. - Furthermore this node contains an additional attribute symmetry. The symmetry attribute may take three values: symm, def, full - def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. - symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) - full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) + - - - - - DEPRECATED: The isLink attribute is set to optional to ensure the compatibility of older data records. However, since the linking character is explicitly defined by the stringUIDBaseType, the attribute is superfluous and will therefore be completely omitted in future versions. - - - - - - - - - - - + + + + + + Reference to the actuator. + + + + + Definition of the actuator to fuselage + attachment. + + + + + Definition of the actuator to wing attachment. + + + + + - + - + - stringVectorBaseType + Definition of the position and material properties of + the parent actuator attachment. - Base type for string vector nodes - The vector base type can include optional uncertainty - information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute that - describes the type of uncertainty function called functionName. - The functionName attribute includes the tag name of the - distribution function which is listened in the table shown below. - Each uncertainty function is further describes by a set of - parameters that are described in the table below. - If the uncertainty values change for the elements of - the vector than the attribute may be written as a list of values - separated by semicolons - DEPRECATED: As of CPACS - version 3.3, the mapType - attribute is set to optional to ensure the compatibility of older data sets. - However, since the type is uniquely defined via the XSD, the attribute is superfluous - and will therefore be completely omitted in the next major release (Note: requires - TiXI >= 3.3). Please contact the CPACS team - if for any reason you see a long-term need for the mapType - attribute. + Definition of the position and material properties of + the parent actuator attachment. + Please refer to the picture below for the definition + of the parameters: - + - - - - - - - - - - - + + + + + + Definition of the relative chordwise position + of the parent actuator attachment. Xsi refers to the parents + dimensions. + + + + + Definition of the relative height position of + the parent actuator attachment. relHeight refers to the parents + dimensions. + + + + + Definition of the material properties of the + actuator attachment at the parent. + + + - + - + - Vector with semicolon separated values of type double + actuatorsFuselageWingType - - Any entries of type double separated by semicolons are permitted, e.g.: - -<doubleVectorTest>123.456;+123.456;-1.234e56;-.45E-6;NaN</doubleVectorTest> - - -<doubleVectorTest>123.456</doubleVectorTest> - - -<doubleVectorTest>123.456,+1234.456</doubleVectorTest> - - -<doubleVectorTest>123.456;mainWingUID</doubleVectorTest> - - -<doubleVectorTest>123.456;1234.4E 56;-1.234e5.6</doubleVectorTest> - - + - - - - - + + + + + + Definition of one actuator (e.g. trim actuator + of an HTP) of the attachment. + + + + + - + - doubleVectorConstraintBaseType + Aerodynamic loads - - Base type for double vectors including a relational operator attribute indicating valid constraint region. - The doubleVectorConstraintBaseType extends the doubleVectorBaseType and thus inherits all its attributes. - + + Description of the aerodynamic loads + - - - - - - - - - - - - - - + + + + + + + Angle of attack [deg] + + + + + + + Angle of sideslip [deg] + + + + + + - + - + - Vector with semicolon separated positive integer values + Aerodynamic coefficients - - Any positive integer values separated by semicolons are permitted, e.g.: - -<intVectorTest>0;1;2;3;4;5</intVectorTest> - - -<intVectorTest>1</intVectorTest> - - -<intVectorTest>0,1,2,3,4,5</intVectorTest> - - -<intVectorTest>0.;1.;2.</intVectorTest> - - -<intVectorTest>-1;0;1</intVectorTest> - - + + A set of aerodynamic coefficients in the aerodynamic coordinate system + - - - - - + + + + + + + Drag coefficient in aerodynamic + coordinates + + + + + + + Coefficient of the side force vector in + aerodynamic coordinates (perpendicular + to lift and drag) + + + + + + + Lift coefficient in aerodynamic + coordinates + + + + + + + Aerodynamic moment around d-axis of the aerodynamic coordinate system + + + + + + + Aerodynamic moment around s-axis of the aerodynamic coordinate system + + + + + + + Aerodynamic moment around l-axis of the aerodynamic coordinate system + + + + + + + - + - stringArrayBaseType + Specification - Base type for string array nodes (including maptype - array attribute) - DEPRECATED: As of CPACCS version 3.3, the mapType attribute is set to optional to ensure the compatibility of older data records. However, since the type is uniquely defined via the XSD, the attribute is superfluous and will therefore be completely omitted in future versions. + + Specification of the vehicle properties and dynamics + - - - - - - - - - - - - - Array with semicolon separated values of type double - - - - In CPACS arrays are used to exchange values - in full-factorial parameter spaces, for example to describe the aerodynamic coefficients depending - on Mach number and altitude. - - Thus, the dimensions of the array are spanned by the input vectors. See the following - example where two input vectors are defined. For clarification the entries of the array result from - the multiplication of the index values of the corresponding input vectors: - -<inputVector1>1;2;3</inputVector1> -<inputVector2>4;5;6;7</inputVector2> - - -<array>4;5;6;7;8;10;12;14;12;15;18;21</array> - - Any entries of type double separated by semicolons are valid, e.g.: - -<doubleArrayTest>123.456;+123.456;-1.234e56;-.45E-6;NaN;0</doubleArrayTest> - - -<doubleArrayTest>123.456</doubleArrayTest> - - -<doubleArrayTest>123.456,+1234.456</doubleArrayTest> - - -<doubleArrayTest>123.456;mainWingUID</doubleArrayTest> - - -<doubleArrayTest>1234.4E 56;-1.234e5.6</doubleArrayTest> - - - Please note that the syntax of arrays in the current CPACS - version correspond exactly to the syntax of vectors. There is no special character indicating - the dimensions. Thus, the input vectors have to be determined from the documentation of the - corresponding elements and splitting of the one-dimensional vector has to be done manually. - - - - - - - - - - - + + + + + + Altitude + + + + + + + Mach number + + + + + + + Angle of sideslip [deg] + + + + + + + + Angle of attack [deg] + + + + + + + Target lift coefficient + + + + + + + + Normalized roll rate [rad/sec]. It is specified around the global x-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: pStar = p * reference length / flow speed. + + + + + + + Normalized pitch rate [rad/sec]. It is specified around the global y-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: qStar = q * reference length / flow speed. + + + + + + + Normalized yaw rate [rad/sec]. It is specified around the global z-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: rStar = r * reference length / flow speed. + + + + + + + + Reference to a weight and balance description + + + + - + - doubleBaseType + Aerodynamic load cases - - Base type for double nodes (including external data - attributes) - The double base type can include optional uncertainty - information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute - that describes the type of uncertainty function called - functionName. The functionName attribute includes the tag name - of the distribution function which is listened in the table - shown below. Each uncertainty function is further describes by a - set of parameters that are described in the table below. - - - - - + + Combines a set of aerodynamic load cases + - - - - - - - - - - - - - + + + + + - + - + - doubleConstraintBaseType + Aerodynamic load case - - Base type for double nodes including a relational operator attribute indicating valid constraint region - The doubleConstraintBaseType extends the doubleBaseType and thus inherits all its attributes. - + + Specification of an aerodynamic load case + - - - - - - - - - - - - - + + + + + + + Name + + + + + + + Description + + + + + + + - + - + - timeConstraintBaseType + Aerodynamic loads of components - - Base type for time nodes including a relational operator attribute indicating valid constraint region - The timeConstraintBaseType extends the timeBaseType and thus inherits all its attributes. - + + Specification of the aerodynamic loads of components + - - - - - - - - - - - - - - + + + + + - + - + - integerBaseType + Aerodynamic data of components - Base type for integer nodes (including external data - attributes) + + Aerodynamic data of individual components of the aircraft (e.g. control surface loads and hinge moments) + - - - - - + + + + + + + Reference to a component uID + + + + + - + - + - booleanBaseType + Aerodynamic loads of the vehicle - Base type for boolean nodes (including external data - attributes) + + Description of the aerodynamic loads of the vehicle + - - - - - + + + + + + - + - + - dateTimeBaseType + aeroelasticDivergenceType - Base type for dateTime nodes (including external data - attributes) + AeroelasticDivergence type, containing the results from + aeroelastic analysis - - - - - + + + + + - + - + - timeBaseType + aeroelasticStaticMaxDisplacementType - Base type for time nodes (including external data attributes) - This time type is based on the xsd:time definition. - "To specify a time zone, you can either enter a time in UTC time by adding a "Z" behind the time - like this: 09:30:10Z - or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this: - 09:30:10-06:00 - or - 09:30:10+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) + AeroelasticStaticMaxDisplacement type, containing the + Maximum static displacement from aeroelastic analysis - - - - - + + + + + + Maximum translation + + + + + Maximum rotation + + + - + - + - dateBaseType + Aeroelasticity - Base type for date nodes (including external data attributes). - This date type is based on the xsd:date definition. - "To specify a time zone, you can either enter a date in UTC time by adding a "Z" behind the date - like this: 2002-09-24Z - or you can specify an offset from the UTC time by adding a positive or negative time behind the date - like this: - 2002-09-24-06:00 - or - 2002-09-24+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) - + Aeroelastics type, containing the results from + aeroelastic analysis - - - - - + + + + + + - + - - - + - Positionings of the wing. + Increment maps for limitation values due to movable device deflections - Positionings type, containing all the positionings of - the wing sections. + Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control + surfaces or landing gears). @@ -1650,132 +1692,99 @@ marko.alder@dlr.de - + - + - Positioning of the wing section + Increment maps for limitation values due to movable device deflections - - The positionings describe an additional translation of - sections. Basically, the positioning is a vector having the - length 'length' and an orientation that is described by the - parameters 'sweepAngle' and 'dihedralAngle'. If the 'sweepAngle' - and the 'dihedralAngle' are set to zero (or left blank) the - positioning vector equals the positive y-axis of the coordinate - system (in case of a positive 'length'). - If the parameter 'fromSectionUID' is set, the - positioning describes the translation between the 'from' towards - the 'to' section. If the parameter 'fromSectionUID' is left - blank the orgin of the positioning vector is the origin of the - parent coordinate syste. - The orgin of the section coordinate system is the - position which is described by the positioning vector PLUS the - translation which is described in the section. - Please note: If the orgin of the positioning vector is - defined by using another section, i.e. fromSection is defined, - the orgin of this vector equals the end of the positioning - vector of the previous section. This means that the section - translation of the from-section has no influence on the - positioning of the to-section. Therefore the total translation, - which is described by positionings, is the sum of the current - positioning and all positionings that are defined 'before'. - - An example for this is given at positioning 3 and 4 at - the picture below. Please note, that any other combination of - positionings would be possible. - Application of the sweepangle does not lead to a - rotation of the section. Application of the dihedral does not - lead to a rotation of the section. - - - - + Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control + surfaces or landing gears). - - - - Name of the positioning. - - - - - Description of the positioning. - - - - - - Distance between inner and outer section - (length of the positioning vector). - - - - - Sweepangle between inner and outer section. - This angle equals a positive rotation of the positioing vector - around the z-axis of the wing coordinate system. - - - - - - Dihedralangle between inner and outer section. - This angle equals a positive rotation of the positioing vector - around the x-axis of the wing coordinate system - - - - - - Reference to starting section of the - positioning vector. If missing, the positioning is made from the - orgin of the wing coordinate system. - - - + + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + Reference to a control distributor uID + + + + + Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + Reference to an increment map of the aeroPerformanceMap + + + + - Reference to ending section (section to be - positioned) of the positioning vector. + Increments of the vehicle operation limits - - + + - + - Transformation + Aerodynamic limitations - Transformation type, containing a set of - transformations. The order of the transformations is scaling - -> rotation -> translation, and they are executed in this - order. Any of them can be omitted; it will be replaced by its - defaults. - Transformations are always executed relative to the - child not the parent. I.e. a scaling does not have an influence - on the parent item. For example in the outer geometry of a wing - the element scaling does not influence the section. Scaling does - also not effect rotation and translation. + + This map explicitly specifies limitations of a vehicle in terms of angles of attack and sideslip angles. + All vectors, i.e. altitude, machNumber, + angleOfSideslip and angleOfAttack, must have the + same length. To avoid redundancy with the aeroPerformanceMap, this type does not contain + any aerodynamic coefficients. + Since angleOfSideslip and angleOfAttack + are closely interdependent for a given machNumber and altitude + combination, a positive and negative maximum angleOfAttack is defined for a given combination of + machNumber, altitude and + angleOfSideslip. The limits of angleOfSideslip + can be determined by evaluating the nominal decrease of angleOfAttack values or by + agreeint with the data supplier that the minimum and maximum value of the angleOfSideslip + vector corresponds with physical limits. + In order to avoid data redundancy, the operational limits should not reflect the extrema of aerodynamic + coefficients as these can be extracted from the performanceMap via interpolation. + + Note: In future CPACS versions, a revision of the aeroLimitsMap + will be targeted, since operational limits are not a purely aerodynamic issue. + @@ -1783,47 +1792,47 @@ marko.alder@dlr.de - + - Scaling data default: 1,1,1. Those parameters - describe the scaling of the x-, y-, and z-axis. + + Altitude [m] - + - Rotation data default: 0,0,0. The rotation - angles are the three Euler angles to describe the orientation of - the coordinate system. The order is allways xyz in CPACS. - Therefore the first rotation is around the x-axis, the second - rotation is around the rotated y-axis (y') and the third - rotation is around the two times rotated z-axis (z''). + + Mach number - + - Translation data default: 0,0,0. Translations - can either be made absolute in the global coordinate system - (absGlobal) or absolute in the local Coordinate system (absLocal). - + + Angle of sideslip + + + - - + - 2D transformation + Vehicle operation limit - + Vehicle operation limit defined by sets of minimum and maximum angleOfSideslip + and minimum and maximum angleOfAttack for a given altitude and Mach number. + This might be, e.g., a safety margin to the angle of attack at maximum lift or the flight + attitude a fighter aircraft is capable to fly in stalled conditions. The corresponding aerodynamic coefficients must + be extracted from the aeroPerformanceMap. @@ -1831,39 +1840,40 @@ marko.alder@dlr.de - - - Scaling of the structural profile - - - - + - rotation around z-axis of profile definition - + Minimum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - + - translation of profile definition - + Maximum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - - + - Point: x,y,z + Aerodynamic map - Point type, containing an xyz data triplet. + + + The aeroMap contains aerodynamic coefficients and derivatives for a specific set of aerodynamic + and configurative boundary conditions. + + The aeroMap allows for the simultaneous specification of multiple + controlDevice settings. + In this case, it is assumed that a cumulative setting is built by summing up the individual settings. The correct + sequence of this summation is described in the controlDistributorType documentation. + + @@ -1871,20 +1881,21 @@ marko.alder@dlr.de - + - X-Component + Name - + - Y-Component + Description - - - Z-Component - + + + + + @@ -1892,15 +1903,15 @@ marko.alder@dlr.de - + - Point: x + Boundary conditions - Point type, containing a x data. + Specification of boundary conditions. @@ -1908,80 +1919,143 @@ marko.alder@dlr.de - + + + + - X-Component + + Offset from temperature of the + atmospheric model [K]. For more details + on atmospheric models, please refer to + documentation of the <CPACS> root + element. + + + + + + + Configuration settings + - - + - Point: y + Increment maps for aerodynamic coefficients - - Point type, containing a y data. - - - - - Y-Component - - - - + + + - + - Point: z + Increment map from aerodynamic coefficients - Point type, containing a z data. + The increment map is composed of two-dimensional arrays. The first dimension is given by the + length of the input vectors of the baseline aeroPerformanceMap and the second dimension by the vector of relative + deflections (or command inputs) of control surfaces (or control distributors). An example is described in the <CPACS> + root element. - - + + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + Reference to a control distributor uID + + + + + Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + - Z-Component + Increment of drag coefficient in aerodynamic coordinates - + + + Increment of coefficient of the side force vector in aerodynamic coordinates (perpendicular to lift and drag) + + + + + Increment of lift coefficient in aerodynamic coordinates + + + + + Increment of cmd + + + + + Increment of cms + + + + + Increment of cml + + + - + - Point: x,y + aeroPerformanceMapRCType - Point type, containing an xy data doublet. + AeroPerformanceMapRC type, containing a perfomance map + with aerodynamic data. Array order is: angleOfAttack min->max + then angleOfSideslip then altitude then machNumber @@ -1989,63 +2063,132 @@ marko.alder@dlr.de - + - X-Component + Atmospheric model and temperature offset - + - Y-Component + Mach number + + + + + Altitude + + + + + Sideslip angle + + + + + Angle of attack + + + + + Name and version of the tool used to compute + the aerodynamic performance + + + + + Modeling level of the methods used to compute + the aerodynamic performance. The higher the analysisLevel, the + higher the quality of the results. Possible use of + analysisLevel: 0- 9 = Statistical models, 10-19 = Analytic + models, 20-29 = Lifting line method, 30-39 = Panel method, 40-49 + = Panel-BL-coupled method, 50-59 = Full potential method, 60-69 + = Full potential-BL coupled method, 70-79 = CFD euler method, + 80-89 = CFD euler-bl coupled method, 99-99 = CFD RANS method, + >=100 = Experimental data. + + + + + + + - - + - Point: x, z + aeroPerformanceMapsRCType - Point type, containing an xz data doublet. + aeroPerformanceMapsRC type, containing multiple + aeroPerformanceMapRC nodes for different cases - - - - X-Component - - - - - Z-Component - - - - + + + - + - Point: y, z + Aerodynamic coefficients and derivatives - Point type, containing an yz data doublet. + + + Description + + The aeroPerformanceMap contains a map + with aerodynamic data of the complete aircraft in the form of + nondimensional coefficients. The force coefficients in + i-direction (ci) + are nondimensionalized by dynamic pressure and reference area, + the moment coefficients (cmi) by dynamic pressure, reference + area and reference length. + + All coefficients in the aeroPerformanceMap relate to + the aerodynamic coordinate system which is deducted from the CPACS coordinate system by + the transformations of angle of attack and angle of yaw. See the documentation of the + CPACS element for further details. + + The dependend parameters of the aeroPerformanceMap are altitude, + machNumber, angleOfSideslip and + angleOfAttack. These elements are vectors of equal length, where values + with identical indices belong together. The solution vectors ci and + cmi have the same length as the input vectors. Shown below is an example where + with 10 values per vector: + + <altitude mapType="vector">12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02</altitude> +<machNumber mapType="vector">0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2</machNumber> +<angleOfSideslip mapType="vector">0;0;0;0;0;2;2;2;2;2</angleOfSideslip> +<angleOfAttack mapType="vector">-2;0;2;4;6;-2;0;2;4;6</angleOfAttack> +<cd mapType="vector">0.056;0.094;0.132;0.17;0.208;0.072;0.11;0.148;0.186;0.224</cd> +<cs mapType="vector">0.;0.;0.;0.;0.;0.01;0.015;0.02;0.025;0.03</cs> +<cl mapType="vector">-0.1;0.04;0.18;0.32;0.46;-0.08;0.03;0.14;0.25;0.36</cl> + + The aerodynamic coefficients for altitude=1200m, machNumber=0.2, + angleOfSideslip=0° and angleOfAttack=6° can be found at the 5th index: + cd=0.208, cs=0 and cl=0.46. + + + + @@ -2053,31 +2196,79 @@ marko.alder@dlr.de - + - Y-Component + + Altitude [m] + - + - Z-Component + + Mach number + + + + + + + Sideslip angle [deg] + + + + + + + Angle of attack [deg] + + + + + + + Drag coefficient in aerodynamic + coordinates + + + + + + + Coefficient of the side force vector in + aerodynamic coordinates (perpendicular + to lift and drag) + + + + + + + Lift coefficient in aerodynamic + coordinates + + + + + + - - + - Point: x,y,z + aeroPerformanceType - Point type, containing an obligatory xyz data triplet. + aeroPerformance type, containing perfomance maps with + aerodynamic data of an airfoil. @@ -2085,94 +2276,76 @@ marko.alder@dlr.de - + - X-Component + Aerodynamic performance map of the full + configuration - + - Y-Component + Aerodynamic performance maps of isolated + fuselages - + - Z-Component + Aerodynamic performance maps of isolated wings + + + + + + Aerodynamic performance maps of control + surfaces + + + + + Aerodynamic performance maps of isolated + airfoils - - + - Point with global/local reference + Aerodynamic performance - PointAbsRel type, containing an xyz data triplet. Each - of the components is optional. The refType attribute defines, - whether coordinates are absolute in the global ccordinate system - [absGlobal], absolute in the parent element's local coordinate - system [absLocal]. If the object does not have a - parent, only [absGlobal] is permitted. + + The aerodynamic coefficients and derivatives are stored in aerodynamic maps. Individual maps can be used to + gather the aerodynamic characteristics for specific boundary conditions. + - - - - X-Component - - - - - Y-Component - - - - - Z-Component - + + - - - - - - - - Absolute values in global coordinate system - - - - - Absolute values in local coordinate system (default) - - - - - + - + - Point with constraints + Global analysis information - Point constraint type, containing an xyz data triplet. + @@ -2180,50 +2353,29 @@ marko.alder@dlr.de - - - X-Component - - - - - Y-Component - - - - - Z-Component - + - + - List of 3D points, kept in three relative coordinate - vecors (rX, rY, rZ) + Results from several analysis + modules connected to CPACS - - This set of vectors contains an ordered list of points - for rX, rY, and rZ coordinates in the form of stringBased - Vectors. The x, y and z vector elements with the same index - specify a 3D point relative to a geometric segment. - - - - - - - - - - + AircraftAnalyses type, containing detailed analysis + data of the aircraft + Within this element results from analysis modules are + stored that rely to the overall definition of the aircraft. These + include e.g. aerodynamic data or loadCases + For further documentation please refer to the + respective elements. @@ -2231,41 +2383,33 @@ marko.alder@dlr.de - - - Vector of rX coordinates. Relative - circumferential coordinate on wing, fuselage or nacelle profile - - - - - - Vector of rY coordinates. Relative span - coordinate along a segment - - - - - Vector of rZ coordinates. Relative coordinate - normal to the linear strake (normalised with chordlength / - diameter c*) - - + + + + + + + + + + + + - + - List of points + Control elements - PointList type, containing an ordered list of points - + Specification of control element settings. Control elements can be controlDistributors + or individual control devices, such as control surfaces or landing gears. @@ -2273,96 +2417,118 @@ marko.alder@dlr.de - - - Data point - + - + - List of points in x,y + Control element - PointList type, containing an ordered list of points - + Specification of an control element setting. A control element can be a controlDistributor + or an individual control device, such as a control surface or a landing gear. - - - - Data points in x-y-space. - - - + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Control parameter of the control device + + + + + + + Reference to a control distributor uID + + + + + Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + - + - List of 3D points, kept in three coordinate vecors (x, - y, z) + Global data - - This set of vectors contains an ordered list of points - for x, y and z coordinates in the form of stringBased Vectors. - The x, y and z vector elements with the same index specify a 3D - point. - + AircraftGlobal type, containing global data of the + aircraft - - + + - Vector of x coordinates + + designRange equals the full payload max + range, i.e. point B in payload range + diagramm + - - - Vector of y coordinates - - - - - Vector of z coordinates - + + - + + + - + - Maps points (actually the index in the point list) to a curve parameter. + Aircraft model - Which parameters are allowed depends on the context. - For exampple in a wing profile, values between -1 and 1 are valid. + The aircraftModelType contains the geometric aircraft + model and associated data. + Elements specifying the geometry of the aircraft are fuselages, + wings, + engines (referenced via uID), + enginePylons, landingGear, + systems (to some extend) and genericGeometryComponents. + + Other elements are dedicated to additional data associated to this aircraft model. Brief and concise analysis results are stored + in the global node. The analysis node contains + extensive results from multidisciplinary analysis modules. + In the current CPACS version requirements only refer to the aircraft performance and are therefore specified in the + performanceRequirements node. + @@ -2370,98 +2536,76 @@ marko.alder@dlr.de - - + + - List of indices of points to be mapped. Each index must be in the range [1, npoints]. + Name of the aircraft model + - + - List of parameters on the curve, that is mapped to the points defined by their index. + Description of the aircraft model + - + + + + + + + + + + + + + + - + - A curve that interpolates a list of points. + Aircraft - The curve interpolates the list of points, typically with a b-spline. - In theory, the interpolation is somewhat ambiguous as it is not defined at which - curve parameter a point will be interpolated. - - To solve is ambiguity, an optional parameter map can be defined - that maps point indices with curve parameters. - - Kinks can also be modeled by populating the "kinks" array with the - indices of points that should be on a kink. As an example, look at the following image: + The aircraftType contains a list of aircraft models. - - - - In this example, the kinks array will be "3;7". - Optionally, the parameters of the kinks can be set in the parameter map. - The whole profile looks as follows: + + Note: Since there is no distinction between plural and singular in English, aircraft + refers to plural form, while a single aircraft itself is referened as model. - -<pointList> - <x>...</x> - <y>...</y> - <z>...</z> - <kinks>3;7</kinks> - <parameterMap> - <pointIndex>3;5;7</pointIndex> - <paramOnCurve>0.2;0.5;0.8</paramOnCurve> - </parameterMap> -</pointList> - - + - - - Indices of points at which the curve has a kink. Each index is in the range [1, npoints]. - - - - - - Map between point index and curve parameter. - - + - + - List of 2D points, kept in two coordinate vecors (x, y) + airfoilAeroPerformanceType - - This set of vectors contains an ordered list of points - for x and y coordinates in the form of stringBased Vectors. - The x and y vector elements with the same index specify a 2D - point. The coordinates of the x vector of [0, 1]. - + airfoilAeroPerformance type, containing perfomance maps + with aerodynamic data of an airfoil. @@ -2469,14 +2613,23 @@ marko.alder@dlr.de - + - Vector of x coordinates + Reference to the uID of the analysed airfoil + - + - Vector of y coordinates + References used for the calculation of the + force and moment coefficients of the airfoil (in the airfoil + axis system!) + + + + + Calculated aerodynamic performance maps of the + airfoil @@ -2484,57 +2637,38 @@ marko.alder@dlr.de - + - Point in eta and xsi coordinates + airfoilsAeroPerformanceType - Point described by eta-xsi coordinates. - Can be either segment or component segment coordinates. + airfoilsAeroPerformance type, containing + airfoilsAeroPerformance - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - - + + + - + - Relative height at eta, xsi position + airframeMaintenanceCostType - Point described by eta-xsi and a relative height coordinate. - Can be either segment or component segment coordinates. - If relHeight is not given, the point has no offset from the eta-xsi plane + @@ -2542,133 +2676,74 @@ marko.alder@dlr.de - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative height position. - relHeight is relative to the local airfoil thickness. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - + + - - - - - - Positive double values larger than 0 - - - - - - - - - - - - - - - - - Positive integer values larger than 0 - - - - - - - - - - - - + - List of uIDs + Airlines + + Contains a list of different airlines + - - - - Reference to a uID - - - + - - - + - UIDGroupDefinitionType + airlineType - + Describes a specific airline and their fleet - - - - - - - - + + + + Name of the airline + + + + + Description of the airline + + + + + - + - UIDGroupDefinitionsType + airportCompatabilityGlobalType @@ -2678,63 +2753,49 @@ marko.alder@dlr.de - - - - + + + + + + + - + - Actuator attachment + Airports - + Airports type, containing data of the airports + - - - - Relative spanwise position of the actuator. - Eta refers to the dimensions of the control surface. - - - - - - + + + - - + - Definition of the position and material properties of - the control surface actuator attachment. + airportType - - Definition of the position and material properties of - the control surface actuator attachment. - Please refer to the picture below for the definition - of the parameters: - - - - + Airport type, containing data of an airport @@ -2742,37 +2803,54 @@ marko.alder@dlr.de - + - Definition of the relative chordwise position - of the parent actuator attachment. Xsi refers to the parents - dimensions. + Name of airport - + - Definition of the relative height position of - the parent actuator attachment. relHeight refers to the parents - dimensions. + Description of airport - + - Definition of the material properties of the - actuator attachment at the parent. + IATA 3-letter-code + + + + + ICAO 4-letter-code + + + + + Position in degrees north + + + + + Position in degrees east + + + + + Airport elevation + + - + - actuatorFuselageWingAttachmentType + alignmentCrossBeamType @@ -2783,19 +2861,48 @@ marko.alder@dlr.de - - + + + Offset in direction of extrusion, first side + (absolute value) + + + + + Offset in direction of extrusion, second side + (absolute value) + + + + + Rotation around local x axis (extrusion axis) + + + + + + Translation along local y axis (perpendicular + to extrusion axis) + + + + + Translation along local z axis (perpendicular + to x ynd y axes) + + + - + - actuatorFuselageWingType + alignmentFloorPanelType @@ -2806,47 +2913,42 @@ marko.alder@dlr.de - + - Reference to the actuator. + Offset from seat rail 1 reference Position in + local y direction (in plane of panel, absolute value) + - + - Definition of the actuator to fuselage - attachment. + Offset from seat rail 2 refernce position in + local y direction (in plane of panel, absolute value) + - + - Definition of the actuator to wing attachment. + Offset from seat rail 1 refernce position in + local z direction (in plane of panel, absolute value)) - + - + - Definition of the position and material properties of - the parent actuator attachment. + alignmentStringFrameType - - Definition of the position and material properties of - the parent actuator attachment. - Please refer to the picture below for the definition - of the parameters: - - - - + @@ -2854,37 +2956,36 @@ marko.alder@dlr.de - + - Definition of the relative chordwise position - of the parent actuator attachment. Xsi refers to the parents - dimensions. + Rotation around local x axis (extrusion axis) + - + - Definition of the relative height position of - the parent actuator attachment. relHeight refers to the parents - dimensions. + Translation along local y axis (perpendicular + to extrusion axis) - + - Definition of the material properties of the - actuator attachment at the parent. + Translation along local z axis (perpendicular + to x ynd y axes) + - + - actuatorsFuselageWingType + alignmentStructMemberType @@ -2894,29 +2995,58 @@ marko.alder@dlr.de - - + + - Definition of one actuator (e.g. trim actuator - of an HTP) of the attachment. + Offset in direction of extrusion (absolute + value) - + + + Rotation around local x axis (extrusion axis) + + + + + + Translation along local y axis (perpendicular + to extrusion axis) + + + + + Translation along local z axis (perpendicular + to x ynd y axes) + + + + - + - aeroPerformanceMapRCType + + Anisotropic material properties for 2D materials + - AeroPerformanceMapRC type, containing a perfomance map - with aerodynamic data. Array order is: angleOfAttack min->max - then angleOfSideslip then altitude then machNumber + + Defines the material properties for a linear anisotropic material in the plane stress state (i.e., shell). The stress-strain relationship is defined as: + + + + The terminology of this complex type refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. + + @@ -2924,130 +3054,127 @@ marko.alder@dlr.de - + - Atmospheric model and temperature offset + Coefficient 11 of reduced stiffness matrix [N/m^2] - + - Mach number + Coefficient 12 of reduced stiffness matrix [N/m^2] - + - Altitude + Coefficient 13 of reduced stiffness matrix [N/m^2] - + - Sideslip angle + Coefficient 22 of reduced stiffness matrix [N/m^2] - + - Angle of attack + Coefficient 23 of reduced stiffness matrix [N/m^2] - + - Name and version of the tool used to compute - the aerodynamic performance + Coefficient 33 of reduced stiffness matrix [N/m^2] - + - Modeling level of the methods used to compute - the aerodynamic performance. The higher the analysisLevel, the - higher the quality of the results. Possible use of - analysisLevel: 0- 9 = Statistical models, 10-19 = Analytic - models, 20-29 = Lifting line method, 30-39 = Panel method, 40-49 - = Panel-BL-coupled method, 50-59 = Full potential method, 60-69 - = Full potential-BL coupled method, 70-79 = CFD euler method, - 80-89 = CFD euler-bl coupled method, 99-99 = CFD RANS method, - >=100 = Experimental data. + Thermal expansion coefficient in material direction + 1 [1/K] - - - - - - - - - - - - - - - - - - aeroPerformanceMapsRCType - - - aeroPerformanceMapsRC type, containing multiple - aeroPerformanceMapRC nodes for different cases - - - - - - - - - - - - - - - - - - - aeroPerformanceType - - - aeroPerformance type, containing perfomance maps with - aerodynamic data of an airfoil. - - - - - - - - + - Aerodynamic performance map of the full - configuration + Thermal expansion coefficient in material direction + 2 [1/K] - + - Aerodynamic performance maps of isolated - fuselages + Thermal expansion coefficient in material direction + 12 [1/K] - + - Aerodynamic performance maps of isolated wings + Thermal conductivity of the material in material direction 1 [W/(m*K)] - + - Aerodynamic performance maps of control - surfaces + Thermal conductivity of the material in material direction 2 [W/(m*K)] + - + - Aerodynamic performance maps of isolated - airfoils + Thermal conductivity of the material in material direction 3 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 [N/m^2] + + + + + + Allowable stress for compression in material direction 1 [N/m^2] + + + + + + Allowable stress for tension in material direction 2 [N/m^2] + + + + + + Allowable stress for compression in material direction 2 [N/m^2] + + + + + + Allowable stress for shear [N/m^2] + + + + + + Allowable strain for tension in material direction 1 + + + + + Allowable strain for compression in material direction 1 + + + + + + Allowable strain for tension in material direction 2 + + + + + Allowable strain for compression in material direction 2 + + + + + + Allowable strain for shear @@ -3055,16 +3182,27 @@ marko.alder@dlr.de - + - aeroelasticDivergenceType + + Anisotropic material properties for 3D materials + - AeroelasticDivergence type, containing the results from - aeroelastic analysis + + Defines the material properties for a linear anisotropic material in three spatial directions (i.e., solid). The stress-strain relationship is defined as: + + + + The terminology of this complex type refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. + + @@ -3072,22 +3210,307 @@ marko.alder@dlr.de - + + + Coefficient 11 of stiffness matrix [N/m^2] + + + + + Coefficient 12 of stiffness matrix [N/m^2] + + + + + Coefficient 13 of stiffness matrix [N/m^2] + + + + + Coefficient 14 of stiffness matrix [N/m^2] + + + + + Coefficient 15 of stiffness matrix [N/m^2] + + + + + Coefficient 16 of stiffness matrix [N/m^2] + + + + + Coefficient 22 of stiffness matrix [N/m^2] + + + + + Coefficient 23 of stiffness matrix [N/m^2] + + + + + Coefficient 24 of stiffness matrix [N/m^2] + + + + + Coefficient 25 of stiffness matrix [N/m^2] + + + + + Coefficient 26 of stiffness matrix [N/m^2] + + + + + Coefficient 33 of stiffness matrix [N/m^2] + + + + + Coefficient 34 of stiffness matrix [N/m^2] + + + + + Coefficient 35 of stiffness matrix [N/m^2] + + + + + Coefficient 36 of stiffness matrix [N/m^2]2] + + + + + Coefficient 44 of stiffness matrix [N/m^2]] + + + + + Coefficient 45 of stiffness matrix [N/m^2] + + + + + Coefficient 46 of stiffness matrix [N/m^2] + + + + + Coefficient 55 of stiffness matrix [N/m^2] + + + + + Coefficient 56 of stiffness matrix [N/m^2] + + + + + Coefficient 66 of stiffness matrix [N/m^2] + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal expansion coefficient in material direction + 3 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 23 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 31 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 12 [1/K] + + + + + Thermal conductivity of the material in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material in material direction 2 [W/(m*K)] + + + + + + Thermal conductivity of the material in material direction 3 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for tension in material direction 3 + [N/m^2] + + + + + Allowable stress for compression in material + direction 3 [N/m^2] + + + + + Allowable stress for shear in 2-3 plane [N/m^2] + + + + + Allowable stress for shear in 3-1 plane [N/m^2] + + + + + + Allowable stress for shear in 1-2 plane [N/m^2] + + + + + Allowable strain for tension in material direction 1 + + + + + + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for tension in material direction 3 + + + + + + Allowable strain for compression in material + direction 3 + + + + + Allowable strain for shear in 2-3 plane + + + + + + Allowable strain for shear in 3-1 plane + + + + + + Allowable strain for shear in 1-2 plane + + + - + - aeroelasticStaticMaxDisplacementType + atmosphericModelType - AeroelasticStaticMaxDisplacement type, containing the - Maximum static displacement from aeroelastic analysis + Defines the the athmospheric model which should be used. + Currently there is only a single option which is ISA for ICAO Standard + atmosphere (ISA) from 1993. For more details on atmospheric + models, please refer to documentation of the <CPACS> root + element. @@ -3095,14 +3518,24 @@ marko.alder@dlr.de - + - Maximum translation + Atmospheric model (e.g. ISA for ICAO Standard + atmosphere (ISA) from 1993). + + + + + + + - + - Maximum rotation + Offset from temperature of the atmospheric model [K]. + For more details on atmospheric models, please refer to documentation + of the <CPACS> root element. @@ -3110,80 +3543,62 @@ marko.alder@dlr.de - + - Aeroelasticity + Atmospheric model - Aeroelastics type, containing the results from - aeroelastic analysis + Available options: ISA. See documentation of <CPACS> root element for further details. + - - - - - - - - + + + + + - + - Results from several analysis - modules connected to CPACS + Definition of attachment pins for the wing-fuselage + attachment. - AircraftAnalyses type, containing detailed analysis - data of the aircraft - Within this element results from analysis modules are - stored that rely to the overall definition of the aircraft. These - include e.g. aerodynamic data or loadCases - For further documentation please refer to the - respective elements. + Definition of attachment pins for the wing-fuselage + attachment. - - - - - - - - - - - - - - + + + - + - Global data + Attachment pin of the wing-fuselage-attachment. + - AircraftGlobal type, containing global data of the - aircraft + Attachment pin of the wing-fuselage-attachment. + @@ -3191,103 +3606,58 @@ marko.alder@dlr.de - + + + - - designRange equals the full payload max - range, i.e. point B in payload range - diagramm - + Definition which translation degrees of + freedom are blocked. Default x=0 (free); y=1 (blocked); z=1 + (blocked). - - - - - + + + - + - Aircraft model + Bogie axle assemblies + - - The aircraftModelType contains the geometric aircraft - model and associated data. - Elements specifying the geometry of the aircraft are fuselages, - wings, - engines (referenced via uID), - enginePylons, landingGear, - systems (to some extend) and genericGeometryComponents. - - Other elements are dedicated to additional data associated to this aircraft model. Brief and concise analysis results are stored - in the global node. The analysis node contains - extensive results from multidisciplinary analysis modules. - In the current CPACS version requirements only refer to the aircraft performance and are therefore specified in the - performanceRequirements node. - - + A list of axles that are attached to the bogie + and their relative position to it + - - - - Name of the aircraft model - - - - - - Description of the aircraft model - - - - - - - - - - - - - - - - - + + + - + - Aircraft + Bogie axle assembly - - The aircraftType contains a list of aircraft models. - - - Note: Since there is no distinction between plural and singular in English, aircraft - refers to plural form, while a single aircraft itself is referened as model. - - + Description of an axle installed on the bogie and its + relative position to it @@ -3295,22 +3665,33 @@ marko.alder@dlr.de - + + + + Relative position of the axle to the bogie (if more than one axle is defined; 0 = forward end of bogie; 1 = rear end of bogie) + + + + + + + + - + - airfoilAeroPerformanceType + Axle - airfoilAeroPerformance type, containing perfomance maps - with aerodynamic data of an airfoil. + Geometric description and material properties of the + landing gear axle @@ -3318,62 +3699,54 @@ marko.alder@dlr.de - + - Reference to the uID of the analysed airfoil - + Length of the axle. For a single wheel, the length is equal to the distance between the center of the piston and the center of the wheel. For two wheels, the length is equal to the distance between the centers of the wheels with the axis being centered w.r.t. to the Piston. - + - References used for the calculation of the - force and moment coefficients of the airfoil (in the airfoil - axis system!) + Axle shaft properties - + - Calculated aerodynamic performance maps of the - airfoil + Number of wheels attached to this axle - - - - - - - - - - - airfoilsAeroPerformanceType - - - airfoilsAeroPerformance type, containing - airfoilsAeroPerformance - - - - - - - - - + + + Defines the side of the first wheel (inboard or outboard; inboard corresponds to the negative y-direction or in flight direction left) for odd number of wheels on this axis. Each additional wheel is the added on the opposite site of the previous wheel. + + + + + + + + + + + + Properties of the wheel(s) attached to this axle. If more than one wheel is attached, all wheels on a single axis have the same properties. + + + + - + - airframeMaintenanceCostType + beamCrossSectionType - + beamCrossSectionType, containing the beam geometrical + properties @@ -3381,22 +3754,27 @@ marko.alder@dlr.de - - + + + + + + - + - airlineType + beamStiffnessType - Describes a specific airline and their fleet + globalBeamStiffnessType, containing the beam + stiffnesses such as EA, EI @@ -3404,55 +3782,52 @@ marko.alder@dlr.de - - - Name of the airline - - - - - Description of the airline - - - + + + + + + + - + - - + - Airlines + blockedDOFType - Contains a list of different airlines + - - - + + + + - + - airportCompatabilityGlobalType + Bogie - + Geometric description and material properties of the + landing gear axle bogie (including the axle configuration) @@ -3460,84 +3835,127 @@ marko.alder@dlr.de - - - - - + + + Length of the bogie + + + + + Tilt angle of the bogie in airborne conditions + + + + + - + - airportType + booleanBaseType - Airport type, containing data of an airport + Base type for boolean nodes (including external data + attributes) + + + + + + + + + + + + + + + Bounding Box + + + + - - - Name of airport - - - - - Description of airport - - - + - IATA 3-letter-code + Length in x - + - ICAO 4-letter-code + Length in y - + - Position in degrees north + Length in z - + - Position in degrees east + Origin - + + + + + + + + + A list of uIDs referencing other structural/geometric + elements that shall serve as a boundary of the wall + element. Possible references are floor, wall or + genericGeometryComponent. A major requirement is that + the referenced element has an intersection with the wall + for at least the distance between two wall positions. So + that a full geometric face of the wall is bounded by it. + Neighbouring wall faces that are not completely bounded + by the reference element are not affected. + + + + + + - Airport elevation + + UID referencing another + structural/geometric element that shall + serve as a boundary of the wall element. + Possible references are floor, wall or + genericGeometryComponent. + - - - + - + - Airports + Cabin aisles - Airports type, containing data of the airports - + @@ -3545,21 +3963,23 @@ marko.alder@dlr.de - + - + - alignmentCrossBeamType + Aisle - + Aisles has as many entries as there are aisles in the + cabin. In a normal single aisle there are two aisles: the cabin + aisle and the aisle leading to the cockpit. @@ -3567,51 +3987,79 @@ marko.alder@dlr.de - + - Offset in direction of extrusion, first side - (absolute value) + Name - + - Offset in direction of extrusion, second side - (absolute value) + Description - + - Rotation around local x axis (extrusion axis) + Longitudinal coordinates. The + number of coordinates can be chosen as appropriate, the minimum + number is two. The coordinates are relative to the cabin origin. - + - Translation along local y axis (perpendicular - to extrusion axis) + Center points of the aisle. The + y-vector has to have same length as the x-vector. The aisle + stretches equally left and right of the provided y-coordinate. + - + - Translation along local z axis (perpendicular - to x ynd y axes) + Width of the aisle at floor level at each + y-coordinate - + - + - alignmentFloorPanelType + Cabin geometry contours - + Cabin geometry contour line collection type. By providing more than one entry, + a 3D cabin space can be described. + + + + + + + + + + + + + + + + + + + + Cabin geometry contour + + + Type to define a lateral position value "y" at a given height "z" (in the parent deck coordinate system) + for each entry "x" in the parent cabin geometry definition. + @@ -3619,42 +4067,46 @@ marko.alder@dlr.de - - - Offset from seat rail 1 reference Position in - local y direction (in plane of panel, absolute value) - - - - + - Offset from seat rail 2 refernce position in - local y direction (in plane of panel, absolute value) - + Vector with y-coordinates - + - Offset from seat rail 1 refernce position in - local z direction (in plane of panel, absolute value)) - + Height z - - + - alignmentStringFrameType + Geometry - + + [WARNING: This type is known to be susceptible to + inconsistencies and might therefore be removed in a future version of CPACS] + + + The geometry of the cabin roughly corresponds to the available design space in the cabin. + It is given in terms of constant height contour lines. + The lines all share a common x-vector. + The y vector provides the lateral + contour at Z-coordinate provided by the constant value z. + One or more contour lines can be given. + The cabin geometry is assumed to be symmetric. + + + + + @@ -3662,36 +4114,33 @@ marko.alder@dlr.de - + - Rotation around local x axis (extrusion axis) - + Name - + - Translation along local y axis (perpendicular - to extrusion axis) + Description - + + - Translation along local z axis (perpendicular - to x ynd y axes) + Vector of x coordinates - - + - alignmentStructMemberType + Cabin spaces @@ -3701,50 +4150,26 @@ marko.alder@dlr.de - - - - Offset in direction of extrusion (absolute - value) - - - - - Rotation around local x axis (extrusion axis) - - - - - - Translation along local y axis (perpendicular - to extrusion axis) - - - - - Translation along local z axis (perpendicular - to x ynd y axes) - - - - + + + - + - atmosphericModelType + Space - Defines the the athmospheric model which should be used. - Currently there is only a single option which is ISA for ICAO Standard - atmosphere (ISA) from 1993. For more details on atmospheric - models, please refer to documentation of the <CPACS> root - element. + spaces describe areas in the cabin that need to be + clear for use as emergency area. Depending on the type of area, + it can have a height limit. The spaces are required for + downstream cabin design, for example to describe an empty cabin. + @@ -3752,77 +4177,87 @@ marko.alder@dlr.de - + - Atmospheric model (e.g. ISA for ICAO Standard - atmosphere (ISA) from 1993). + Name - - - - - - - - + - Offset from temperature of the atmospheric model [K]. - For more details on atmospheric models, please refer to documentation - of the <CPACS> root element. + Description + + + + + Vector with x-coordinates. These describe an area, so they + are not monotonous ascending. + + + + + Vector with y-coordinates at given x-coordinates. Warning: + x-y do not represent a function as single x-positions can have + multiple y-coordinates. Hence, no interpolation is possible. + + + + + + Height above the floor that is required to + be empty of any objects + - + - Attachment pin of the wing-fuselage-attachment. - + Cap - Attachment pin of the wing-fuselage-attachment. - + + SparCap type, containing the cross section area of the + spar cap and the material properties. + Pleas find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + - - - - + + - Definition which translation degrees of - freedom are blocked. Default x=0 (free); y=1 (blocked); z=1 - (blocked). + Area of the cap - - - - + + - + - Definition of attachment pins for the wing-fuselage - attachment. + Cargo container elements - Definition of attachment pins for the wing-fuselage - attachment. + Cargo container element collection type @@ -3830,22 +4265,25 @@ marko.alder@dlr.de - + - + - Axle + Cargo container element for use in the decks - Geometric description and material properties of the - landing gear axle + + + + + @@ -3853,292 +4291,92 @@ marko.alder@dlr.de - - - Length of the axle. For a single wheel, the length is equal to the distance between the center of the piston and the center of the wheel. For two wheels, the length is equal to the distance between the centers of the wheels with the axis being centered w.r.t. to the Piston. - - - + - Axle shaft properties + Description - + + - Number of wheels attached to this axle + Contour: single or double + + + + + + + + - + - Defines the side of the first wheel (inboard or outboard; inboard corresponds to the negative y-direction or in flight direction left) for odd number of wheels on this axis. Each additional wheel is the added on the opposite site of the previous wheel. + Delta x + - - - - - - - - + - Properties of the wheel(s) attached to this axle. If more than one wheel is attached, all wheels on a single axis have the same properties. + Delta y + - - - - - - - - - - - - Definition of the landing gear wheel. - - - The center plane of the wheel is located on the end point of the axle. - - - - - - - - + - Wheel radius + Delta y of the base + - + - With of the wheel + Delta z + - + - Brake: false = - not braked; true = braked. + Delta z kink + - + - + - beamCrossSectionType + Cargo containers - beamCrossSectionType, containing the beam geometrical - properties + Cargo container instance collection type. - - - - - - - - + + + - + - beamStiffnessType + Cargo container - globalBeamStiffnessType, containing the beam - stiffnesses such as EA, EI - - - - - - - - - - - - - - - - - - - - - - - - - - blockedDOFType - - - - - - - - - - - - - - - - - - - - - - - Bogie - - - Geometric description and material properties of the - landing gear axle bogie (including the axle configuration) - - - - - - - - - - Length of the bogie - - - - - Tilt angle of the bogie in airborne conditions - - - - - - - - - - - - - - - - Bogie axle assembly - - - Description of an axle installed on the bogie and its - relative position to it - - - - - - - - - - - Relative position of the axle to the bogie (if more than one axle is defined; 0 = forward end of bogie; 1 = rear end of bogie) - - - - - - - - - - - - - - - - - - - Bogie axle assemblies - - - - A list of axles that are attached to the bogie - and their relative position to it - - - - - - - - - - - - - - - - - - - - Cabin aisles - - - - - - - - - - - - - - - - - - - - - - Space - - - spaces describe areas in the cabin that need to be - clear for use as emergency area. Depending on the type of area, - it can have a height limit. The spaces are required for - downstream cabin design, for example to describe an empty cabin. - + Cargo container type for placing an instance of a cargo container in the parent deck. @@ -4146,51 +4384,47 @@ marko.alder@dlr.de - + Name - + Description - + - Vector with x-coordinates. These describe an area, so they - are not monotonous ascending. + UID of the cargo container element in the cpacs/vehicles/deckElements node - + - Vector with y-coordinates at given x-coordinates. Warning: - x-y do not represent a function as single x-positions can have - multiple y-coordinates. Hence, no interpolation is possible. - + Position in x - + - Height above the floor that is required to - be empty of any objects + Position in y - + - + - Cabin spaces + cargoCrossBeamsAssemblyType - + CargoCrossBeamsAssembly type, containing cargo + crossBeam assemblys @@ -4198,30 +4432,22 @@ marko.alder@dlr.de - + - + - Cap + cargoCrossBeamStrutsAssemblyType - - SparCap type, containing the cross section area of the - spar cap and the material properties. - Pleas find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: - - - - + CargoCrossBeamStrutsAssembly type, containing cargo + crossBeam strut assemblys @@ -4229,27 +4455,22 @@ marko.alder@dlr.de - - - Area of the cap - - - + - + - cargoCrossBeamStrutsAssemblyType + cargoDoorsAssemblyType - CargoCrossBeamStrutsAssembly type, containing cargo - crossBeam strut assemblys + CargoDoorsAssembly type, containing cargo door + assemblys @@ -4257,22 +4478,21 @@ marko.alder@dlr.de - + - + - cargoCrossBeamsAssemblyType + Ceiling panel - CargoCrossBeamsAssembly type, containing cargo - crossBeam assemblys + Ceiling panel element collection type @@ -4280,22 +4500,25 @@ marko.alder@dlr.de - + + + Ceiling panel element for use in the decks + + - + - cargoDoorsAssemblyType + Ceiling panels - CargoDoorsAssembly type, containing cargo door - assemblys + Ceiling panel instance collection type. @@ -4303,7 +4526,12 @@ marko.alder@dlr.de - + + + Ceiling panel + + + @@ -4406,6 +4634,29 @@ marko.alder@dlr.de + + + + + + centerFuselageAreasAssemblyType + + + centerFuselageAreasAssembly type, containing center + fuselage area assembly + + + + + + + + + + + + + @@ -4472,30 +4723,7 @@ marko.alder@dlr.de - - - - - - - - - - - centerFuselageAreasAssemblyType - - - centerFuselageAreasAssembly type, containing center - fuselage area assembly - - - - - - - - - + @@ -4514,10 +4742,10 @@ marko.alder@dlr.de - - + + - + @@ -4556,7 +4784,7 @@ marko.alder@dlr.de - + @@ -4586,7 +4814,7 @@ marko.alder@dlr.de - + @@ -4610,7 +4838,7 @@ marko.alder@dlr.de - + @@ -4635,7 +4863,7 @@ marko.alder@dlr.de - + @@ -4663,7 +4891,7 @@ marko.alder@dlr.de - + @@ -4691,7 +4919,7 @@ marko.alder@dlr.de - + @@ -4716,7 +4944,7 @@ marko.alder@dlr.de - + @@ -4737,7 +4965,7 @@ marko.alder@dlr.de - + @@ -4760,25 +4988,25 @@ marko.alder@dlr.de - - - - + + + + - + - cockpitControlType + Aerodynamic contributions of a chrordwise part within a wing segment strip - single cockpitControl is defined by a pilotInput and a - commandOutput. The commandOutput is linked to the commandCase + + Contains a list of chordwise parts within a wing segment strip for which aerodynamic coefficients are specified @@ -4787,55 +5015,70 @@ marko.alder@dlr.de - - - - - + - - + - cockpitControlsType + Aerodynamic contributions of a chordwise part within a within a wing segment strip - Cockpit controls type, containing the cockpit controls - - Some controls are mandatory, others can be added via - cockpitControl elements + + + Describes the contributions of a specific par within a wing segment to the total aerodynamic coefficients of a wing segment strip + + + A chordwisePart aescribes the contributions of a specific chordwise part within a wing strip + to the total aerodynamic coefficients of this strip. It extends spatially between the two eta + positions of the parent strip (see strip documentation) and four xsi positions in the segment coordinate system. + As with the parent stips, only the trailing border (..ToSegmentXsi) of a chordwisePart is defined, while the leading border always equals the trailing border of the preceding chordwisePart (or 0 for the first part). + To account for oblique trailing borders (e.g., to match the aileron on a tapered wing) two different toSegmentXsi positions can be defined, one at the inner border (innerBorderToSegmentXsi) and one at the outer border (innerBorderToSegmentXsi) of the parent strip. + The innerBorderToSegmentXsi and outerBorderToSegmentXsi of the last chordwisePart must be equal to 1. + + - - - - - - + + + + + Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the inner eta border + + + + + + + Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the outer eta border + + + + + + - + - commandCaseCommandType + Class divider - single commandCaseCommand can either hold a - controlFunction or a controlDistributor + Class divider element collection type @@ -4843,26 +5086,25 @@ marko.alder@dlr.de - - - - - + + + Class divider element for use in the decks + + - + - commandCaseType + Class dividers - single commandCase Containing several - commandCaseCommands + Class divider instance collection type. @@ -4870,25 +5112,29 @@ marko.alder@dlr.de - - - + + + Class divider + + + - - + - commandCasesType + cockpitControlsType - plural Element for commandCase, some fixed dp, dq, dr - and dx, dy, dz + Cockpit controls type, containing the cockpit controls + + Some controls are mandatory, others can be added via + cockpitControl elements @@ -4896,27 +5142,26 @@ marko.alder@dlr.de - - - - - - - + + + + - + - componentCostType + cockpitControlType - + single cockpitControl is defined by a pilotInput and a + commandOutput. The commandOutput is linked to the commandCase + @@ -4924,21 +5169,27 @@ marko.alder@dlr.de - + + + + + + - + - Load envelope + Reference values for aerodynamic coefficients - List of load cases defining a load envelope + + Specification of reference values for aerodynamic coefficients. @@ -4946,42 +5197,58 @@ marko.alder@dlr.de - - + + - Name + + Reference area + - + - Description + + Reference lengt + - + - UID of the corresponding point set + + Reference point - + - List of uIDs defining the loads envelope + + Reference translation + - + + + + Reference rotation + + + + - + - componentSegmentPathType + Aerodynamic contributions of the components - + + Contains a list of components for which aerodynamic coefficients are specified + @@ -4989,41 +5256,23 @@ marko.alder@dlr.de - - - Definition of hingePoint of the - componentSegment. The hingePoint is used as reference point for - the deflection definition. - - - - - Definition of the orientation of the hinge - line with three Euler-rotation angles. The hinge line is - oriented along the global y-axis if all rotations are 0. - - - - - - Definition of all steps of the deflection - path. - - + - + - componentSegmentStepType + Aerodynamic contributions of a component - + + Describes the contributions of a specific component to the total aerodynamic coefficients + @@ -5031,40 +5280,38 @@ marko.alder@dlr.de - - - The control parameter is used to reference the - state of a control device, e.g. in the load - case description. Can have any value and is NOT limited to the - range of -1 to 1. - - - - - Translation along the x-, y- and z-Coordinate - of the rotated hinge coordinate system. - - - + - Rotation around the hinge line. + + Reference to a component + - + - componentSegmentStepsType + Aerodynamic contributions of a wing segment - + + + Describes the contributions of a specific wing segment to the total aerodynamic coefficients of a wing + + + It is obligatory to reference a segment via its uID and to provide its + coefficients. The breakdown of the coefficients comprises the strips + and remainingContributions. The latter must only be specified if strips + is given. + + @@ -5072,82 +5319,72 @@ marko.alder@dlr.de - + - Definition of one step of the deflection path. + + Reference to a wing segment uID + + + + + - + - ComponentSegment of the wing. + Aerodynamic contributions of strips within a wing segment + + + + Contains a list of strips within a wing segment for which aerodynamic coefficients are specified + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of a strip within a wing segment - Within componentSegments the wing structure, the - control surfaces, the wing fuel tanks and the - wingFuselageAttachment is defined by using relative coordinates. - - A componentSegment is defined in the same way as - segments: from one cross section (sections->elements) to - another. Compared to segments one componentSegment can can start - and end at elements that are not consecutive. Therefore that one - componentSegment can be the combination of several segments. - Each wing has at least one componentSegment (from root to tip). - The maximal number of componentSegments equals the number of - segments (each segment is defined as one componentSegment). - This also implies that each segment can only be part of one componentSegment. - - In principal a componentSegment can combine any number - of segments. But if in one section two elements are defined, the - componentSegment has to start/end there as no well-defined - relative coordinats can be defined if steps in the wing occure. - - An example for wing componentSegments can be found in - the picture below: - - - - Within componentSegments a relative spanwise - coordinate (eta) and a relative chordwise coordinate (xsi) is - defined. Those coordinates are used for the definition of e.g. - wing structures and control surfaces. there are two types of eta xsi coordinates. - Segment (eta, xsi) coordinates define the relative local coordinate system for a segment ranging from (0,0) to (1,1). - - - - - The eta xsi coordinates for a component segment are based on the segment eta xsi planes. - As a reference length for the component segment eta coordinate the - mid chord lines of all the segments are used. - The beginning of this line at from-element equals eta = 0, while the end of this line - at the to-element equals eta = 1. All wing positions that lie on the same - element (segment border) have the same eta coordinate. The points inbetween - two elements are defined by the iso xsi lines of the segment eta xsi space. - An example for the definition of the relative axes can - be found in the picture below: - - - + Describes the contributions of a specific strip within a wing segment to the total aerodynamic coefficients of a wing segment + - In order to calculate the global coordinates of a component segment eta xsi point - one first has to calculate the eta point on the xsi iso line of (xsi=0.5), - and then walk along the iso eta lineof the segment. - - An example for determining the a component - eta xsi point can be found in the picture below: - - - + The strip extends spatially between two eta coordinates (i.e., from an inner border to an outer border). + In order to avoid redundancy, the inner border (denoted as from) is always identical to the outer border of the previous strip (denoted by to). + Accordingly, only the to-border can be specified explicitly, while the from-border equals implicitly either to 0 + (for the first strip) or the toSegmentEta value of the previous element. The toSegmentEta of the last strip + must be equal to 1! + + + It is obligatory to provide the coefficients of the strip. The breakdown comprises the chordwiseParts + and remainingContributions. The latter must only be specified if the breakdown into chordwiseParts + is given. This breakdown is optional. If it is specified, but the sum of all chordwiseParts does not match the strip coefficients, one or more remainingContributions may be applied + to ensure consistency (sum of all chordwiseParts + sum of all remainingContributions must be equal to total strip coefficients). + @@ -5155,194 +5392,137 @@ marko.alder@dlr.de - - - - - - - - - - - - - - Name of the wing componentSegment. - - - - - - - Description of the componentSegment. - - - - - - - Reference to the element from which the - componentSegment shall start. - - - - - - - Reference to the element from which the - componentSegment shall end. - - - - - - + + - Description of deflection path of - componentSegments (e.g. used for - trimmable HTPs). + Spanwise coordinate eta in the segment coordinate system to define the end of the strip - - - - - - + + + + + + + - + - ComponentSegments of the wing. + Aerodynamic coefficients breakdown - ComponentSegments type, containing all the - componentSegments of the wing. + + + Breakdown of the total aerodynamic coefficients into contributions + from the various vehicle componenents. A detailed breakdown is only specified + for the wing. Other components, such as the fuselage, are more generically + referred to as otherComponents. Since + the sum of the contributions within a breakdown must equal the total + coefficients, the remaining contributions must be listed in + remainingContributions. + + + The remainingContributions cannot be defined alone. Either the + definition of a wing, otherComponents + or both together is valid and can be combined with remainingContributions. + + - - - + + + + + + + + + + + - + - compositeLayerType + Aerodynamic contributions of wing segments - CompositeLayer type, conatining data of a composite - layer + + Contains a list of wing segments for which aerodynamic coefficients are specified + - This type defines single composite layers by - giving a ply thickness, ply reference angle and a materialUID. - - - - - Name of layer - - - - - Description of layer - - - - - Thickness of layer - - - - - Angle of layer in degree - - - - - Material UID of the layer - - - + + + - + - compositeType + Aerodynamic contributions of the wings - Composite type, conatining data of a composite + + Contains a list of wings for which aerodynamic coefficients are specified - Within this type individual stackings of - composites can be introduced by defining an offset and a set of - composite layers. The order of the composite layers defines the - stacking order. - - - Name of composite - - - - - Description of composite - - - - - offset of the laminate. The reference plane of - the laminate is the arithmetic mean of the laminate thickness. - - - - + - - + - compositesType + Aerodynamic contributions of a wing - + + + Describes the contributions of a specific wing to the total aerodynamic coefficients of a vehicle + + + It is obligatory to reference a wing via its uID and to provide its + coefficients. The breakdown of the coefficients comprises the segments + and remainingContributions. The latter must only be specified if segments + is given. + + @@ -5350,21 +5530,33 @@ marko.alder@dlr.de - + + + + Reference to a wing uID + + + + + + + + - + - connectivitiesType + commandCaseCommandType - + single commandCaseCommand can either hold a + controlFunction or a controlDistributor @@ -5372,441 +5564,188 @@ marko.alder@dlr.de - + + + + + - + - connectivityType + commandCasesType - + plural Element for commandCase, some fixed dp, dq, dr + and dx, dy, dz - - - - - - + + + + + + + + + - + - - Constraints - + commandCaseType - Constraint settings for the point performance definition + single commandCase Containing several + commandCaseCommands - - - - - Calibrated airspeed [m/s] - - - - - - - Mach number [-] - - - - - - - Climb angle [deg] - - - - - - - Rate of climb [m/s] - - - - - - - Rate of turn [deg/s] - - - - - - Thrust setting for derated engine as fraction of max. thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres) - - - - - - - Rate of velocity [m/s^2] - - - - - - - Duration [s] - - - - - - - Angle of attack [deg] - - - - + + + + + + + + + + + + + + + - Constant altitude [m] + UIDs of 2d structural fuselage elements + (e.g., pressure bulkheads, walls or + floors). The compartment will be + enclosed with the fuselage skin - + - + - - - - Constraint - - - - - Specification of performance constraints. - - Constraints allow vectors of double values to define parameter lapses within a mission segment. The example below illustrates this by means of an exemplary climb profile of a conventional airliner, in which multiple physical and regulatory speed constraints are simultaneously specified over several altitudes (e.g., to account for the crossover altitude): - <endCondition> - <positionGeo> - <altitude relationalOperator="ge" uID="altClimb">10058.4</altitude> <!-- FL330 --> - </positionGeo> -</endCondition> -<constraint> - <referenceEndConditionUID>altClimb</referenceEndConditionUID> - <endConditionRatio>0.0;0.303</endConditionRatio> <!-- FL0, FL100 --> - <continuitySetting>discrete</continuitySetting> - <CAS relationalOperator="le">128.61;154.33</CAS> <!-- 250 [kt], 300 [kt]--> - <machNumber relationalOperator="le">0.78;0.78</machNumber> - <prioritySetting>velocity</prioritySetting> -</constraint> - - - From FL0 until FL100, the vehicle should fly at a velocity less than or equal to CAS = 250 kt or M = 0.78. In this first segment at low altitudes, the constraint on CAS is triggered. - - - From FL100 until FL330, the vehicle should fly at a velocity less than or equal to CAS = 300 kt or M = 0.78. In this second segment, the vehicle starts by increasing velocity until 300 kt, the constraint on maximum machNumber triggers from the crossover altitude onwards - - - - - + - - - - Reference to the uID of the segment end condition variable to which a profile of constraintSettings is provided - - - - - - - Vector indicating the ratios of the constraintSettings profile with respect to the provided referenceEndCondition, ranging from 0 to 1. If this vector is defined, the provided constraintSettings are expected to be vectors with the same length providing ratio-value pairs. Example: for referenceEndCondition <range><z> (i.e.: flown distance in z direction of the segment), a vector of <CAS> and <machNumber> is provided to define a climb profile. - - - - - - Defines how to interpret the parameter lapses within the segment: discrete steps (C0 continuity) or linear interpolation (C1 continuity) - - - - - - - - - - - - - - - Calibrated airspeed within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Mach number within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Climb angle within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Rate of climb within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Specific excess power within the segment - (e.g.: for defining minimum SEP to - remain after step climbs have been - performed). - - - - - - - Altitude difference of each step climb - - - - - - - - Flight heading at the end of the segment in compassAngle with reference to true North [deg]. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Total change of heading angle during segment (a full turn is 360 degrees) [deg]. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - - Rate of turn within the segment [deg/s]. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Thrust setting for derated engine as fraction of max. Thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres). If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Rate of velocity within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - + - - Load factor experienced during segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Constant altitude of the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - - - - - - - Priority setting indicating which constraint is preferred within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. - + The compartment defines an enclosed volume within the fuselage. It is defined by a set of border geometries. This could be pressureBulkheads, walls or floors and they are referred by their uIDs. The volume is closed with the fuselage skin. The geometry tool has to check, if the compartment definition gives a closed geometry. - - - - - - - - + - - - - Airfoil definition of an control surface at the - inner/outer border. - - - - Optional definition of the exact airfoil shape at the - inner/outer border of the control surface. - The airfoil shape is defined via referencing to the - airfoilUID. As the leading and trailing edge point is fix due to - the outer shape definition of the control surface the airfoil - can only be rotated around the x-axis (axis going from leading - to trailing edge of the inner/outer border of the control - surface). Scaling in x-direction is also defined by the outer - shape, wherefore only scaling in y and z direction is allowed. - - - - - + + The compartment defines an enclosed volume in the + fuselage. It is defined by a set of border geometries. + This could be pressureBulkheads, walls or floors and + they are referenced by their uIDs. The volume is closed + with the fuselage skin. The geometry tool has to check, + if the compartment definition gives a closed geometry. + - + - Reference to the airfoil uID. + + Compartment geometry uIDs list. - + - Rotation around an axis, going from the - leading edge point to the trailing edge point of the inner/outer - border of the control surface. Defaults to 90°, which is - equivalent to perpendicular on the control surface middle plane. + + Name of the compartment. - + - Scaling of the airfoil in spanwise direction - (not used for 2D airfoils). + + Description of the compartment. + - + - Scaling in thickness direction of the airfoil. - + Ideal design volume of the compartment. + + + + + + + + - + - controlDistributorType + complexBaseType - - single controlDistributor bundling several - controlElements - Within some analyses, it might occur that overlapping control element settings are specified. In this case, - it is assumed that a cumulative setting is built by summing up the individual settings. As the behavior of these settings - is not necessarily linear, a certain order of summation has to be followed: - - The command inputs for each controlDistributor, coming from the configurationUID, as well as from separate settings have to be summed up to a total commandInput. - With this total commandInput, each corresponding controlDistributor definition has to be evaluated, in order to get controlParameter settings for a number of controlDevices. - All controlParameter settings for a controlDevice, coming from the configurationUID, from the controlDistributors and from separate controlDevice settings have to be summed up to get a total controlParameter for each controlDevice. - With this total controlParameter, each corresponding controlDevice definition has to be evaluated, in order to find out what the control device finally is doing. - During the summation process (depending on the order of processing within step 1 to 4), commandInputs or controlParameters might exceed the specified limits for that controlDistributor or controlDevices. As an intermediate result, this should be accepted – however, when it comes to evaluation in step 2 and 4, all commandInputs and controlParameters have to be within the specified limits. - - + Base type for complex nodes (including external data + attributes) - - - - - - - - Vector of command inputs. The minimum and maximum value is given by the lowest and highest entry of the vector, respectively. - - - - - - - + + + - + - controlDistributorsType + componentCostType - plural Element for controlDistributor + @@ -5814,55 +5753,63 @@ marko.alder@dlr.de - + - + - controlElementType + componentSegmentPathType - Single controlElement linking the inputs of a controlDistributor via a gain - table to a contol device by using its uID. Controls can be ControlSurfaces and in the - future thrust. + - - + + - UID of the control device, e.g. a control surface. It is not allowed to reference another control distributor. + Definition of hingePoint of the + componentSegment. The hingePoint is used as reference point for + the deflection definition. - + - Vector of control device states resulting from the input commands. It must be of the same length as the inputCommands element. - The minimum and maximum values are defined according to the minimum and maximum values of the input commands. + Definition of the orientation of the hinge + line with three Euler-rotation angles. The hinge line is + oriented along the global y-axis if all rotations are 0. + - + + + Definition of all steps of the deflection + path. + + + - + - controlElementsType + componentSegmentStepsType - plural Element for controlElement + @@ -5870,22 +5817,26 @@ marko.alder@dlr.de - + + + Definition of one step of the deflection path. + + + - + - controlFunctionType + componentSegmentStepType - single controlFunction containing the controller's - parameters + @@ -5893,28 +5844,41 @@ marko.alder@dlr.de - - - - - - - + + + The control parameter is used to reference the + state of a control device, e.g. in the load + case description. Can have any value and is NOT limited to the + range of -1 to 1. + + + + + Translation along the x-, y- and z-Coordinate + of the rotated hinge coordinate system. + + + + + Rotation around the hinge line. + + + - - + - controlFunctionsType + ComponentSegments of the wing. - plural Element for controlFuntion + ComponentSegments type, containing all the + componentSegments of the wing. @@ -5922,22 +5886,78 @@ marko.alder@dlr.de - + - + - controlLawModeType + ComponentSegment of the wing. - Control Laws type, containing the aircraft's control - law mode + + Within componentSegments the wing structure, the + control surfaces, the wing fuel tanks and the + wingFuselageAttachment is defined by using relative coordinates. + + A componentSegment is defined in the same way as + segments: from one cross section (sections->elements) to + another. Compared to segments one componentSegment can can start + and end at elements that are not consecutive. Therefore that one + componentSegment can be the combination of several segments. + Each wing has at least one componentSegment (from root to tip). + The maximal number of componentSegments equals the number of + segments (each segment is defined as one componentSegment). + This also implies that each segment can only be part of one componentSegment. + + In principal a componentSegment can combine any number + of segments. But if in one section two elements are defined, the + componentSegment has to start/end there as no well-defined + relative coordinats can be defined if steps in the wing occure. + + An example for wing componentSegments can be found in + the picture below: + + + + Within componentSegments a relative spanwise + coordinate (eta) and a relative chordwise coordinate (xsi) is + defined. Those coordinates are used for the definition of e.g. + wing structures and control surfaces. there are two types of eta xsi coordinates. + Segment (eta, xsi) coordinates define the relative local coordinate system for a segment ranging from (0,0) to (1,1). + + + + + + The eta xsi coordinates for a component segment are based on the segment eta xsi planes. + As a reference length for the component segment eta coordinate the + mid chord lines of all the segments are used. + The beginning of this line at from-element equals eta = 0, while the end of this line + at the to-element equals eta = 1. All wing positions that lie on the same + element (segment border) have the same eta coordinate. The points inbetween + two elements are defined by the iso xsi lines of the segment eta xsi space. + An example for the definition of the relative axes can + be found in the picture below: + + + + + In order to calculate the global coordinates of a component segment eta xsi point + one first has to calculate the eta point on the xsi iso line of (xsi=0.5), + and then walk along the iso eta lineof the segment. + + An example for determining the a component + eta xsi point can be found in the picture below: + + + + @@ -5945,183 +5965,109 @@ marko.alder@dlr.de - - - - - - - - - - - - controlLawModesType - - - Control Laws type, containing the aircraft's control - law modes - - - - - - - - - - - - - - - - - - - controlLawsType - - - Control Laws type, containing the aircraft's control - laws - - - - - - - - - - - - - - - - - - - - Definition of an actuator of the control surface, that - is not placed within a track. - - - Definition of an actuator of the control surface, that - is not placed within a track. - - - - - - - - + - Reference to the actuator (actuator definition - currently not available in CPCAS, status 1.6). + + + + + + + + + + + Name of the wing componentSegment. - + + + + Description of the componentSegment. + + + + + + + Reference to the element from which the + componentSegment shall start. + + + + + + + Reference to the element from which the + componentSegment shall end. + + + + + + + + + Description of deflection path of + componentSegments (e.g. used for + trimmable HTPs). + + + + + + + - - - - - - - - - - - Definition of actuators of the control surface, that - are not placed within a track. - - - Definition of actuators of the control surface, that - are not placed within a track. - - - - - - - - - + - + - Airfoil definition of an control surface between inner - and outer border. + compositeLayerType - - Optional definition of the exact airfoil shape between - the inner and outer border of the control surface. - The airfoil shape is defined via referencing to the - airfoilUID. As the leading and trailing edge point is fix due to - the outer shape definition of the control surface the airfoil - can be rotated around the x-axis (axis going from leading to - trailing edge of the control surface) and around the z-axis - (normal axis on the control surface middle plane). Scaling in - x-direction is also defined by the outer shape, wherefore only - scaling in y and z direction is allowed. - + CompositeLayer type, conatining data of a composite + layer + This type defines single composite layers by + giving a ply thickness, ply reference angle and a materialUID. + - - - Relative spanwise coordinate (eta) of the - control surface, where the leading edge of the airfoil is - placed. - - - + - Reference to the airfoil uID. - + Name of layer - + - Rotation around an axis, going from the - leading edge point to the trailing edge point of the control - surface. Defaults to 90°, which is equivalent to perpendicular - on the control surface middle plane. + Description of layer - + - Rotation of the airfoil around the control - surface middle plane normal direciotn. Reference point is the - most forward point of the airfoil. Defaults to 90°, which is - equivalent to the airfoilplacement in flight direction (along - wings-x axis). + Thickness of layer - + - Scaling of the airfoil in spanwise direction - (not used for 2D airfoils). + Angle of layer in degree - + - Scaling in thickness direction of the airfoil. - + Material UID of the layer @@ -6129,35 +6075,15 @@ marko.alder@dlr.de - + - Inner/outer border of the control surface. + compositesType - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the leading edge - devices 'hollow'. If an exact control surface airfoil definition - should be used, outerShape->airfoils can be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - + @@ -6165,152 +6091,68 @@ marko.alder@dlr.de - - - Relative spanwise inner/outer position of the - leading edge of the control surface. - - - - - Relative spanwise inner/outer position of the - trailing edge of the control surface. Defaults to 'etaLE'. - - - - - - Relative chordwise inner/outer position of - the trailing edge of the control surface. Reference is eta/xsi - from the parent. - - - - - - - - - - - - + - + - Inner/outer border of the control surface. + compositeType - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the - spoiler'relHeightLE' is used. If an exact control surface - airfoil definition should be used, outerShape->airfoils can - be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - + Composite type, conatining data of a composite + + Within this type individual stackings of + composites can be introduced by defining an offset and a set of + composite layers. The order of the composite layers defines the + stacking order. - - - Relative spanwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - + - Relative spanwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. Defaults to 'etaLE'. + Name of composite - + - Relative chordwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. + Description of composite - + - Relative chordwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. + offset of the laminate. The reference plane of + the laminate is the arithmetic mean of the laminate thickness. + - - - - Defines the relative high of lowest point of - the spoiler leading edge, relative to the airfoil height of the - parent at this position. See picture below. - - - - - + + - + - Inner/outer border of the control surface. + Configuration - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the trailing edge - device this is done at 'leadingEdgeShape', for the spoiler - 'relHeightLE' is used and for the leading edge devices 'hollow'. - If an exact control surface airfoil definition should be used, - outerShape->airfoils can be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - + Contains references to control control devices and (or) the global aircraft configuration node. + @@ -6319,42 +6161,31 @@ marko.alder@dlr.de - - - Relative spanwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - + - Relative spanwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. Defaults to 'etaLE'. + + Reference to the aircraft configuration node (aircraft/model/configurations/configuration) + - + - Relative chordwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. + + State description of the control elements + - - - - + - Optional definition of the exact airfoil shape of the - control surface. + connectivitiesType @@ -6365,51 +6196,21 @@ marko.alder@dlr.de - + - + - This type contains a vector of deflection values for a - single control surface + connectivityType - - - 0. General overview - - In this type, a vector of deflections of a single - control surface is specified. - - - - 1. - <controlSurfaceUID> - (mandatory) - - - A reference to a control surface from the aircraft - model - - - - 2. - <controlParameters> - (mandatory) - - - A vector of controlParameters of the selected - control surface (with respect to the defined deflection path). - - - - + @@ -6417,50 +6218,48 @@ marko.alder@dlr.de - - - Reference to a control surface - - - - - - Control parameters of the control surface - - - + + + + - + - This type contains a list of control surfaces and their - deflection vectors + Constraint - - 0. General overview - - In this type, a list of control surfaces is defined. - - - - - 1. - <controlSurface> - (mandatory) - - - One of these nodes per deflected control surface is - required here. - - + + Specification of performance constraints. + + Constraints allow vectors of double values to define parameter lapses within a mission segment. The example below illustrates this by means of an exemplary climb profile of a conventional airliner, in which multiple physical and regulatory speed constraints are simultaneously specified over several altitudes (e.g., to account for the crossover altitude): + <endCondition> + <positionGeo> + <altitude relationalOperator="ge" uID="altClimb">10058.4</altitude> <!-- FL330 --> + </positionGeo> +</endCondition> +<constraint> + <referenceEndConditionUID>altClimb</referenceEndConditionUID> + <endConditionRatio>0.0;0.303</endConditionRatio> <!-- FL0, FL100 --> + <continuitySetting>discrete</continuitySetting> + <CAS relationalOperator="le">128.61;154.33</CAS> <!-- 250 [kt], 300 [kt]--> + <machNumber relationalOperator="le">0.78;0.78</machNumber> + <prioritySetting>velocity</prioritySetting> +</constraint> + + + From FL0 until FL100, the vehicle should fly at a velocity less than or equal to CAS = 250 kt or M = 0.78. In this first segment at low altitudes, the constraint on CAS is triggered. + + + From FL100 until FL330, the vehicle should fly at a velocity less than or equal to CAS = 300 kt or M = 0.78. In this second segment, the vehicle starts by increasing velocity until 300 kt, the constraint on maximum machNumber triggers from the crossover altitude onwards + @@ -6469,187 +6268,191 @@ marko.alder@dlr.de - - - - - - - - - - - - controlSurfaceHingeMomentMapType - - - controlSurfaceHingeMomentMap type, containing a moment - map with aerodynamic data for a control surface. Array order is: - controlParameters min->max then angleOfAttack then angleOfSideslip - then reynoldsNumber then machNumber. AngleOfAttack, angleOfSideslip, - reynoldsNumber and machNumber are taken from the basic - performance map one level above. - - - - - - - - + - Reference to the control surface + + Reference to the uID of the segment end condition variable to which a profile of constraintSettings is provided - + - Control parameters of the control surface + + Vector indicating the ratios of the constraintSettings profile with respect to the provided referenceEndCondition, ranging from 0 to 1. If this vector is defined, the provided constraintSettings are expected to be vectors with the same length providing ratio-value pairs. Example: for referenceEndCondition <range><z> (i.e.: flown distance in z direction of the segment), a vector of <CAS> and <machNumber> is provided to define a climb profile. - - - - - - - - - - - - - - - - - controlSurfaceHingeMomentMapsType - - - controlSurfaceHingeMomentMapsType type, containing the - aerodynamic moment maps for one or more control surfaces. - - - - - - - - - - - - - - - - - - - - controlSurfaceHingePointType - - - - The deflection path of a control surface is described - with respect to two hinge points - one at the inner border of - the control surface and one at the outer border of the control - surface. Those two points are defined using the xsi and relative - height coordinates of the parent. Therefore those points can also - lay outbound of the control surface. Those two points defined - the hinge line, which is a straight line between the two points. - - An example can be found below: - - - - - - - - - - - - + - Relative chordwise coordinate (xsi) of the - hinge line point. Reference is the parent chord. + Defines how to interpret the parameter lapses within the segment: discrete steps (C0 continuity) or linear interpolation (C1 continuity) + + + + + + + + - + - Relative height of the hinge line point. - Reference is the parent airfoil height. + + Calibrated airspeed within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + - + + + + Mach number within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Climb angle within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Rate of climb within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Specific excess power within the segment + (e.g.: for defining minimum SEP to + remain after step climbs have been + performed). + + + + + + + Altitude difference of each step climb + + + + + + + + Flight heading at the end of the segment in compassAngle with reference to true North [deg]. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Total change of heading angle during segment (a full turn is 360 degrees) [deg]. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + + Rate of turn within the segment [deg/s]. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Thrust setting for derated engine as fraction of max. Thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres). If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Rate of velocity within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Load factor experienced during segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Constant altitude of the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + Priority setting indicating which constraint is preferred within the segment. If a vector is provided, a constraint profile is defined with respect to the <referenceEndCondition> using the <endConditionRatio> vector. + + + + + + + + + + + - + - Outer shape definition of the control surface. - + Mission segment constraints - - Definition of the outer shape of the leading edge - control surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - + Contains a set of constraints for the segment - - - - - + + + - + - Outer shape definition of the spoiler control surface. - + Airfoil definition of an control surface at the + inner/outer border. - Definition of the outer shape of the control surface. + Optional definition of the exact airfoil shape at the + inner/outer border of the control surface. + The airfoil shape is defined via referencing to the + airfoilUID. As the leading and trailing edge point is fix due to + the outer shape definition of the control surface the airfoil + can only be rotated around the x-axis (axis going from leading + to trailing edge of the inner/outer border of the control + surface). Scaling in x-direction is also defined by the outer + shape, wherefore only scaling in y and z direction is allowed. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - @@ -6658,91 +6461,81 @@ marko.alder@dlr.de - - - + + + Reference to the airfoil uID. + + + + + + Rotation around an axis, going from the + leading edge point to the trailing edge point of the inner/outer + border of the control surface. Defaults to 90°, which is + equivalent to perpendicular on the control surface middle plane. + + + + + + Scaling of the airfoil in spanwise direction + (not used for 2D airfoils). + + + + + Scaling in thickness direction of the airfoil. + + + - + - Outer shape definition of the control surface. - + controlDistributorsType - - Definition of the outer shape of the trailing Edge - control surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - + plural Element for controlDistributor - - - - - + + + - + - Definition of the deflection path of the control - surface. + controlDistributorType - The deflection path of a control surface is described - with respect to two hinge points - one at the inner border of - the control surface and one at the outer border of the control - surface. Those two points are defined using the xsi and relative - height coordinates of the parent. Therefore those points can also - lay outbound of the control surface. Those two points defined - the hinge line, which is a straight line between the two points. - - The deflection path of the control surface is defined - within the hinge line coordinat system. This is defined as - follows: The x-hinge coordinate equals the wing x-axis. The - y-hinge coordinate equals the hinge line axis (see above; - positive from inner to outer hinge point). The z-hinge line is - perpendicular on the x-hinge and y-hinge coordinate according to - the right hand rule. The rotation of the control surface is - defined as rotation around the positive y-hinge line. - - The deflection of the is defined in any number of - steps. The deflection of the control surface is done as follows: - First the x-deflection at the inner and outer border; afterwards - the z-deflection of the inner and outer border; last the - y-deflection of the inner border. The y-deflection is only - defined at the inner border, as it is identical to the outer - border. If no values for the outer border deflection are given, - they default to the values of the inner border. - An example can be found below: - - - + single controlDistributor bundling several + controlElements + Within some analyses, it might occur that overlapping control element settings are specified. In this case, + it is assumed that a cumulative setting is built by summing up the individual settings. As the behavior of these settings + is not necessarily linear, a certain order of summation has to be followed: + + The command inputs for each controlDistributor, coming from the configurationUID, as well as from separate settings have to be summed up to a total commandInput. + With this total commandInput, each corresponding controlDistributor definition has to be evaluated, in order to get controlParameter settings for a number of controlDevices. + All controlParameter settings for a controlDevice, coming from the configurationUID, from the controlDistributors and from separate controlDevice settings have to be summed up to get a total controlParameter for each controlDevice. + With this total controlParameter, each corresponding controlDevice definition has to be evaluated, in order to find out what the control device finally is doing. + During the summation process (depending on the order of processing within step 1 to 4), commandInputs or controlParameters might exceed the specified limits for that controlDistributor or controlDevices. As an intermediate result, this should be accepted – however, when it comes to evaluation in step 2 and 4, all commandInputs and controlParameters have to be within the specified limits. + @@ -6751,28 +6544,29 @@ marko.alder@dlr.de - - - + + + + + Vector of command inputs. The minimum and maximum value is given by the lowest and highest entry of the vector, respectively. + + + + - + - controlSurfacePerformanceMapType + controlElementsType - ControlSurfacePerformanceMap type, containing a delta - performance map with aerodynamic data for a control surface. Array - order is: relativeDeflection min->max then angleOfAttack then - angleOfSideslip then altitude then machNumber. AngleOfAttack, - angleOfSideslip, altitude and machNumber are taken from the - basic performance map one level above. + plural Element for controlElement @@ -6780,40 +6574,55 @@ marko.alder@dlr.de - + + + + + + + + + + + + controlElementType + + + Single controlElement linking the inputs of a controlDistributor via a gain + table to a contol device by using its uID. Controls can be ControlSurfaces and in the + future thrust. + + + + + + + + - Reference to the control surface - + UID of the control device, e.g. a control surface. It is not allowed to reference another control distributor. - + - Relative deflection of the control surface - + Vector of control device states resulting from the input commands. It must be of the same length as the inputCommands element. + The minimum and maximum values are defined according to the minimum and maximum values of the input commands. - - - - - - - + - + - controlSurfacePerformanceMaps + controlFunctionsType - controlSurfacePerformanceMaps type, containing the - aerodynamic delta performance maps for one or more control - surfaces. + plural Element for controlFuntion @@ -6821,209 +6630,117 @@ marko.alder@dlr.de - + - + - Border type for the inner and outer border of a wing - cut out + controlFunctionType - - Maybe applied to specifiy inner and outer border of - the cutout either via eta or rib references - - - - + single controlFunction containing the controller's + parameters - - - - - Link to a rib definition - - - - - - Rib number in the corresponding - ribDefinitionUID - - - - - - - Spanwise location of the border at the - leading edge of the cut out - - - - - Spanwise location of the border at the - trailing edge of the cut out - - - - + + + + + + + + + + - + - Cut out of the parents upper/lower skin due to a - control surface. + Controllability requirements - - Optional. Definition of the skin cut out due to a - control surface. The cut out of the skin can either be defined - by referencing to a spar uID or by defining the relative chord - values (xsi) of the cut at the inner and outer border of the - control surface. The xsi value is based on the parents chord. - For leading edge devices additional parameters can be defined. - - An example for wing cut outs can be found in the - picture below: - - - - + Contains a list of controllability requirements + - - - - - Xsi value of the inner border, where the cut - out begins. - - - - - Xsi value of the outer border, where the cut - out begins. - - - - - - Reference to a spar, defining the skin cut - out. - - - + + + - + - controlSurfaceStepType + Controllability requirement - - - The deflection path of the control surface is defined - within the hinge line coordinat system. This is defined as - follows: The x-hinge coordinate equals the wing x-axis. The - y-hinge coordinate equals the hinge line axis (see above; - positive from inner to outer hinge point). The z-hinge line is - perpendicular on the x-hinge and y-hinge coordinate according to - the right hand rule. The rotation of the control surface is - defined as rotation around the positive y-hinge line. - - The deflection of the is defined in any number of - steps. The deflection of the control surface is done as follows: - First the x-deflection at the inner and outer border; afterwards - the z-deflection of the inner and outer border; last the - y-deflection of the inner border. The y-deflection is only - defined at the inner border, as it is identical to the outer - border. If no values for the outer border deflection are given, - they default to the values of the inner border. - An example can be found below: - - - - - - + - The control parameter links a generic floating point value to - a certain status of a control device (e.g. control surface, landing gear, suction - system, brake parachute, ...). See the documentation of the global CPACS-Element for - further information. - + Name - + - Translation of the inner hinge line point - within the hinge line coordinate system. Defaults to zero. Not - allowed for spoilers! + Description - + - Translation of the outer hinge line point - within the hinge line coordinate system. Defaults to the values - of the inner hinge line point. Not allowed for spoilers! - + UID of point performance definition - + - Positve rotation around the hinge line, - heading from the inner to the outer border. Defaults to zero. - + UID of weight and balance description + + + + - + - Definition of the steps of the control surface - deflection path. + controlLawModesType - - List of steps. - + Control Laws type, containing the aircraft's control + law modes @@ -7031,170 +6748,22 @@ marko.alder@dlr.de - + - + - Control surface tracks (mechnaical link between control - surface and parent). + controlLawModeType - - A track generally describes the structural connection between a control surface and a wing (or parent element). For example, a track can be a flap track, a revolute joint connecting an aileron or spoiler, or the kinematics of slats on a wing. - The spanwise position of the track is defined by - etaPosition, which refers to the control surface dimensions. - - The structural properties of the track (e.g. - materials) are defined in trackStructure. - If an actuator is included into the the track, a - reference is given in actuator. - The principal kinematic of the track is defined by - setting the trackType and trackSubType. Please refer to the - tables below for setting the trackType and trackSubType - parameter. Note, those tables are not final - they are extended - continuously. - - - - Trailing edge track types - - - trackType - picture - description - trackSubType - picture - description - - - 1 - - - - - - Revolute joint; no actuators; the revolute joint is on TED hinge line. - 1 - - - - - - Revolute attached at the wings rear spar and the TEDs front spar respectively the load - carrying ribs of the TED. - - - 2 - - - - - - Revolute joint; dropped hinge; linear or rotary actuator (subtype-dependent) included. - The drive strut (if any) is defined as strut1. - 1 - - - - - - Box beam design as wing attachment; rotary drive attached at wing rear spar. - - - - - - 2 - - - - - - Wing attachment at wing rear spar; rotary drive attached at wing rear spar - - - - - - 3 - - Track mounted inside the fuselage at wing root. - - - 3 - - - - - - Upside-down, forward link in conjunction with a straight track on a fixed structure - as aft. support; including rotary drive. - 1 - - - - - - Wing attachment using a box beam design where track is mounted; rotary actuator mounted - at the wing rear spar. - - - - - - 2 - - Track mounted inside the fuselage at wing root. - - - 4 - - - - - - Straight and sloped track on a fixed structure as forward support and an upright link as - aft. support; linear or rotary actuator (subtype-dependent) included. - 1 - - - - - - Wing attachment using a box beam design where the track is mounted; rotary actuator at - the wing rear spar. - - - - - - 2 - - - - - - Wing attachment using a box beam design where track is mounted; rotary actuator mounted - on the track. - - - - - - 3 - - Track mounted inside the fuselage at wing root. - - - - + Control Laws type, containing the aircraft's control + law mode @@ -7202,129 +6771,71 @@ marko.alder@dlr.de - - - Relative chordwise position of the track. Eta - refers to the control surface. - - - - - Type of the track. Please refer to the remarks - of the controlSrufaceTrackTypeType for details. - - - - - - - - - - - - - - - - Type of the track. Please refer to the remarks - of the controlSrufaceTrackTypeType for details. - - - - - - - - - - - - - - + - - + - Control surface tracks (mechnaical link between control - surface and parent). + controlLawsType - + Control Laws type, containing the aircraft's control + laws - - - + + + + - + - Cut out of the parents structure due to a control - surface. + Definition of actuators of the control surface, that + are not placed within a track. - - Optional. Definition of the parents structure cut out - due to a control surface. The cut out is split into three parts: - cut out of the upper and lower skin and the definition of an - profile conecting the cut out of the upper and lower skin. - - An example for wing cut outs can be found in the - picture below: - - - - In the default configuration the cut out is as wide as - the control surface. If additional spacing is necessary inner - and outer border may be set. - + Definition of actuators of the control surface, that + are not placed within a track. - - - - - - - - + + + - + - controlSurfacesType + Definition of an actuator of the control surface, that + is not placed within a track. - Definition of the outer shape, structure and deflection - of all control surfaces (flaps, slats, soiler, ailerons...) of - the wing. + Definition of an actuator of the control surface, that + is not placed within a track. @@ -7332,48 +6843,124 @@ marko.alder@dlr.de - - - + + + Reference to the actuator (actuator definition + currently not available in CPCAS, status 1.6). + + + + + - + - costAirConditioningSystemsType + Airfoil definition of an control surface between inner + and outer border. - + + Optional definition of the exact airfoil shape between + the inner and outer border of the control surface. + The airfoil shape is defined via referencing to the + airfoilUID. As the leading and trailing edge point is fix due to + the outer shape definition of the control surface the airfoil + can be rotated around the x-axis (axis going from leading to + trailing edge of the control surface) and around the z-axis + (normal axis on the control surface middle plane). Scaling in + x-direction is also defined by the outer shape, wherefore only + scaling in y and z direction is allowed. + - - + + + + Relative spanwise coordinate (eta) of the + control surface, where the leading edge of the airfoil is + placed. + - + + + Reference to the airfoil uID. + + - + + + Rotation around an axis, going from the + leading edge point to the trailing edge point of the control + surface. Defaults to 90°, which is equivalent to perpendicular + on the control surface middle plane. + + + + + Rotation of the airfoil around the control + surface middle plane normal direciotn. Reference point is the + most forward point of the airfoil. Defaults to 90°, which is + equivalent to the airfoilplacement in flight direction (along + wings-x axis). + + + + + Scaling of the airfoil in spanwise direction + (not used for 2D airfoils). + + + + + Scaling in thickness direction of the airfoil. + + + + - + - costAutomaticFlightSystemsType + Inner/outer border of the control surface. - + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the leading edge + devices 'hollow'. If an exact control surface airfoil definition + should be used, outerShape->airfoils can be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + @@ -7381,24 +6968,71 @@ marko.alder@dlr.de - + + + Relative spanwise inner/outer position of the + leading edge of the control surface. + - + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Defaults to 'etaLE'. + + + + + Relative chordwise inner/outer position of + the trailing edge of the control surface. Reference is eta/xsi + from the parent. + + + + + + + + + + + + - + - costAuxilaryPowerUnitsType + Inner/outer border of the control surface. - + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the + spoiler'relHeightLE' is used. If an exact control surface + airfoil definition should be used, outerShape->airfoils can + be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + @@ -7406,46 +7040,124 @@ marko.alder@dlr.de - + + + Relative spanwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. Defaults to 'etaLE'. + + + + + Relative chordwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + - + + + Relative chordwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. + + + + + Defines the relative high of lowest point of + the spoiler leading edge, relative to the airfoil height of the + parent at this position. See picture below. + + + + + - + - costBleedAirSystemsType + Inner/outer border of the control surface. - + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the trailing edge + device this is done at 'leadingEdgeShape', for the spoiler + 'relHeightLE' is used and for the leading edge devices 'hollow'. + If an exact control surface airfoil definition should be used, + outerShape->airfoils can be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + - - + + + + Relative spanwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + - + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. Defaults to 'etaLE'. + - + + + Relative chordwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + + - + - costCommunicationSystemsType + Optional definition of the exact airfoil shape of the + control surface. @@ -7456,106 +7168,127 @@ marko.alder@dlr.de - - - - + - + - costComponentsType + This type contains a list of control surfaces and their + deflection vectors - + + + 0. General overview + + In this type, a list of control surfaces is defined. + + + + + 1. + <controlSurface> + (mandatory) + + + One of these nodes per deflected control surface is + required here. + + + - - - - - - - - - - - - - + + + - + - costDeIcingSystemsType + This type contains a vector of deflection values for a + single control surface - - - - - - - - - - - - - - - - - - - - - - - costElectricalSystemsType - - - + + + 0. General overview + + In this type, a vector of deflections of a single + control surface is specified. + + + + 1. + <controlSurfaceUID> + (mandatory) + + + A reference to a control surface from the aircraft + model + + + + 2. + <controlParameters> + (mandatory) + + + A vector of controlParameters of the selected + control surface (with respect to the defined deflection path). + + + + - - + + + + Reference to a control surface + + - + + + Control parameters of the control surface + + - + - + - costEnginePylonsType + controlSurfaceHingeMomentMapsType - + controlSurfaceHingeMomentMapsType type, containing the + aerodynamic moment maps for one or more control surfaces. + @@ -7563,208 +7296,327 @@ marko.alder@dlr.de - - - - + - + - costEquippedEnginesType + controlSurfaceHingeMomentMapType - + controlSurfaceHingeMomentMap type, containing a moment + map with aerodynamic data for a control surface. Array order is: + controlParameters min->max then angleOfAttack then angleOfSideslip + then reynoldsNumber then machNumber. AngleOfAttack, angleOfSideslip, + reynoldsNumber and machNumber are taken from the basic + performance map one level above. - - + + + + Reference to the control surface + + - + + + Control parameters of the control surface + + - + + + + + + + - + - costFireProtectionSystemsType + controlSurfaceHingePointType - + + The deflection path of a control surface is described + with respect to two hinge points - one at the inner border of + the control surface and one at the outer border of the control + surface. Those two points are defined using the xsi and relative + height coordinates of the parent. Therefore those points can also + lay outbound of the control surface. Those two points defined + the hinge line, which is a straight line between the two points. + + An example can be found below: + + + + - - + + + + Relative chordwise coordinate (xsi) of the + hinge line point. Reference is the parent chord. + + - + + + Relative height of the hinge line point. + Reference is the parent airfoil height. + - + - + - costFixedEmergencyOxygenSystemsType + Outer shape definition of the control surface. + - + + Definition of the outer shape of the leading edge + control surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + - - - - - - - + + + + + - + - costFlightControlSystemsType + Outer shape definition of the spoiler control surface. + - + + Definition of the outer shape of the control surface. + + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + - - - - - - + + + + + - + - costFuelSystemsType + Outer shape definition of the control surface. + - + + Definition of the outer shape of the trailing Edge + control surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + - - - - - - + + + + + - + - costFurnishingElementsType + Definition of the deflection path of the control + surface. - + + The deflection path of a control surface is described + with respect to two hinge points - one at the inner border of + the control surface and one at the outer border of the control + surface. Those two points are defined using the xsi and relative + height coordinates of the parent. Therefore those points can also + lay outbound of the control surface. Those two points defined + the hinge line, which is a straight line between the two points. + + The deflection path of the control surface is defined + within the hinge line coordinat system. This is defined as + follows: The x-hinge coordinate equals the wing x-axis. The + y-hinge coordinate equals the hinge line axis (see above; + positive from inner to outer hinge point). The z-hinge line is + perpendicular on the x-hinge and y-hinge coordinate according to + the right hand rule. The rotation of the control surface is + defined as rotation around the positive y-hinge line. + + The deflection of the is defined in any number of + steps. The deflection of the control surface is done as follows: + First the x-deflection at the inner and outer border; afterwards + the z-deflection of the inner and outer border; last the + y-deflection of the inner border. The y-deflection is only + defined at the inner border, as it is identical to the outer + border. If no values for the outer border deflection are given, + they default to the values of the inner border. + An example can be found below: + + + + - - - - - - - - + + + + + - + - costFurnishingsType + controlSurfacePerformanceMapType - + ControlSurfacePerformanceMap type, containing a delta + performance map with aerodynamic data for a control surface. Array + order is: relativeDeflection min->max then angleOfAttack then + angleOfSideslip then altitude then machNumber. AngleOfAttack, + angleOfSideslip, altitude and machNumber are taken from the + basic performance map one level above. - - - - - - - - + + + + Reference to the control surface + + - + + + Relative deflection of the control surface + + - + + + + + + + - + - costFuselagesType + controlSurfacePerformanceMaps - + controlSurfacePerformanceMaps type, containing the + aerodynamic delta performance maps for one or more control + surfaces. @@ -7772,74 +7624,135 @@ marko.alder@dlr.de - - - - + - + - costHydraulicSystemsType + Border type for the inner and outer border of a wing + cut out - + + Maybe applied to specifiy inner and outer border of + the cutout either via eta or rib references + + + + - - - - - - + + + + + Link to a rib definition + + + + + + Rib number in the corresponding + ribDefinitionUID + + + + + + + Spanwise location of the border at the + leading edge of the cut out + + + + + Spanwise location of the border at the + trailing edge of the cut out + + + + - + - costInstrumentSystemsType + Cut out of the parents upper/lower skin due to a + control surface. - + + Optional. Definition of the skin cut out due to a + control surface. The cut out of the skin can either be defined + by referencing to a spar uID or by defining the relative chord + values (xsi) of the cut at the inner and outer border of the + control surface. The xsi value is based on the parents chord. + For leading edge devices additional parameters can be defined. + + An example for wing cut outs can be found in the + picture below: + + + + - - - - + + + + + Xsi value of the inner border, where the cut + out begins. + + + + + Xsi value of the outer border, where the cut + out begins. + + + + + + Reference to a spar, defining the skin cut + out. + - + - + - costLandingGearType + Definition of the steps of the control surface + deflection path. - + + List of steps. + @@ -7847,71 +7760,119 @@ marko.alder@dlr.de - - - - + - + - costLightingSystemsType + controlSurfaceStepType - + + The deflection path of the control surface is defined + within the hinge line coordinat system. This is defined as + follows: The x-hinge coordinate equals the wing x-axis. The + y-hinge coordinate equals the hinge line axis (see above; + positive from inner to outer hinge point). The z-hinge line is + perpendicular on the x-hinge and y-hinge coordinate according to + the right hand rule. The rotation of the control surface is + defined as rotation around the positive y-hinge line. + + The deflection of the is defined in any number of + steps. The deflection of the control surface is done as follows: + First the x-deflection at the inner and outer border; afterwards + the z-deflection of the inner and outer border; last the + y-deflection of the inner border. The y-deflection is only + defined at the inner border, as it is identical to the outer + border. If no values for the outer border deflection are given, + they default to the values of the inner border. + An example can be found below: + + + + - - + + + + The control parameter links a generic floating point value to + a certain status of a control device (e.g. control surface, landing gear, suction + system, brake parachute, ...). See the documentation of the global CPACS-Element for + further information. + + - + + + Translation of the inner hinge line point + within the hinge line coordinate system. Defaults to zero. Not + allowed for spoilers! + - + + + Translation of the outer hinge line point + within the hinge line coordinate system. Defaults to the values + of the inner hinge line point. Not allowed for spoilers! + + + + + + Positve rotation around the hinge line, + heading from the inner to the outer border. Defaults to zero. + + + + - + - costNacellesType + controlSurfacesType - + Definition of the outer shape, structure and deflection + of all control surfaces (flaps, slats, soiler, ailerons...) of + the wing. - - - - - - + + + + + - + - costNavigationSystemsType + Control surface tracks (mechnaical link between control + surface and parent). @@ -7922,55 +7883,248 @@ marko.alder@dlr.de - - - - + - + - costPowerUnitsType + Control surface tracks (mechnaical link between control + surface and parent). - - - - - - - - - - - - - + + A track generally describes the structural connection between a control surface and a wing (or parent element). For example, a track can be a flap track, a revolute joint connecting an aileron or spoiler, or the kinematics of slats on a wing. + The spanwise position of the track is defined by + etaPosition, which refers to the control surface dimensions. + + The structural properties of the track (e.g. + materials) are defined in trackStructure. + If an actuator is included into the the track, a + reference is given in actuator. + The principal kinematic of the track is defined by + setting the trackType and trackSubType. Please refer to the + tables below for setting the trackType and trackSubType + parameter. Note, those tables are not final - they are extended + continuously. + + + + Trailing edge track types + + + trackType + picture + description + trackSubType + picture + description + + + 1 + + + + + + Revolute joint; no actuators; the revolute joint is on TED hinge line. + 1 + + + + + + Revolute attached at the wings rear spar and the TEDs front spar respectively the load + carrying ribs of the TED. + + + 2 + + + + + + Revolute joint; dropped hinge; linear or rotary actuator (subtype-dependent) included. + The drive strut (if any) is defined as strut1. + 1 + + + + + + Box beam design as wing attachment; rotary drive attached at wing rear spar. + + + + + + 2 + + + + + + Wing attachment at wing rear spar; rotary drive attached at wing rear spar + + + + + + 3 + + Track mounted inside the fuselage at wing root. + + + 3 + + + + + + Upside-down, forward link in conjunction with a straight track on a fixed structure + as aft. support; including rotary drive. + 1 + + + + + + Wing attachment using a box beam design where track is mounted; rotary actuator mounted + at the wing rear spar. + + + + + + 2 + + Track mounted inside the fuselage at wing root. + + + 4 + + + + + + Straight and sloped track on a fixed structure as forward support and an upright link as + aft. support; linear or rotary actuator (subtype-dependent) included. + 1 + + + + + + Wing attachment using a box beam design where the track is mounted; rotary actuator at + the wing rear spar. + + + + + + 2 + + + + + + Wing attachment using a box beam design where track is mounted; rotary actuator mounted + on the track. + + + + + + 3 + + Track mounted inside the fuselage at wing root. + + + + + + + + + + + + + + Relative chordwise position of the track. Eta + refers to the control surface. + - + + + Type of the track. Please refer to the remarks + of the controlSrufaceTrackTypeType for details. + + + + + + + + + + + + - + + + Type of the track. Please refer to the remarks + of the controlSrufaceTrackTypeType for details. + + + + + + + + + + + + + + - + - costSystemsType + Cut out of the parents structure due to a control + surface. - + + Optional. Definition of the parents structure cut out + due to a control surface. The cut out is split into three parts: + cut out of the upper and lower skin and the definition of an + profile conecting the cut out of the upper and lower skin. + + An example for wing cut outs can be found in the + picture below: + + + + In the default configuration the cut out is as wide as + the control surface. If additional spacing is necessary inner + and outer border may be set. + @@ -7978,41 +8132,23 @@ marko.alder@dlr.de - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + - costWaterInstallationSystemsType + costAirConditioningSystemsType @@ -8025,19 +8161,19 @@ marko.alder@dlr.de - + - + - costWingsType + costAutomaticFlightSystemsType @@ -8050,21 +8186,19 @@ marko.alder@dlr.de - - - + - + - crashLoadCasesType + costAuxilaryPowerUnitsType @@ -8075,99 +8209,46 @@ marko.alder@dlr.de - + + + + - + - crashLoadcaseType + costBleedAirSystemsType - CrashLoadcase type, containing a crash loadcase - + - - - - - - Optional start of crash section: Default: - first frame of model - - - - - Optional end of crash section: Default: last - frame of model - - - - - Initial velocities - - - - - Initial rotations around axes, roll, pitch, - yaw - - - - - Initial rotational velocities aroud axes - - - - - - Definition of reference point to consider - rotation - - - - - AccelerationFields, usually gravity in z - - + + - - - Definition of impact Surface for crash - simulation - - - - - - - - - - + - - + - + - crewCostType + costCommunicationSystemsType @@ -8177,25 +8258,25 @@ marko.alder@dlr.de - - - - - + + + + + + - + - crossBeamAssemblyPositionType + costComponentsType - CrossBeamAssemblyPosition type, containing the position - of a crossBeam assembly + @@ -8203,91 +8284,52 @@ marko.alder@dlr.de - - - UID of profile based structural element to be - used as crossbeam - + - - - UID of the frame to which the crossbeam is - attached - + - - - Referenze z position of the crossbeam - - + + + + + - - - + - crossBeamStrutAssemblyPositionType + costDeIcingSystemsType - CrossBeamStrutAssemblyPosition type, containing a - crossBeam strut assembly position + - - - - UID of profile based structural element to be - used as crossbeam strut - - - - - UID of the frame to which the crossbeam strut - is attached - - - - - UID of the crossbeam to which the crossbeam - strut is attached - - - - - Referenze y position of the strut at the - crossbeam intersection - + + - - - angle of the strut in global yz plane - - + - - - + - + - cruiseRollerType + costElectricalSystemsType @@ -8297,47 +8339,22 @@ marko.alder@dlr.de - - - - Definition of the position of the mid point of - the roll of the cruise roller. - - - - - Definition of the attachment of the cruise - roller to the parent of the flap. This is the track on which the - roll rolls during retracted flap position - - - - - Definition of the attachment of the cruise - roller to the flap. - + + - - - Degree of freedom that is blocked by the - cruise roller if the flap is in retracted position. Positive = - cruise roller blockes bending in the direction of the upper skin - of the parent. Negative = cruise roller blockes bending in the - direction of the lower skin of the parent. - + - - + - + - cruiseRollersType + costEnginePylonsType @@ -8348,23 +8365,21 @@ marko.alder@dlr.de - - - Definition of one cruise rollers/mid-span - stops. - + + + - + - cst2DType + costEquippedEnginesType @@ -8374,195 +8389,122 @@ marko.alder@dlr.de - - A 2D impelmentation for Class shape - transformations. For more details look at AIAA Journal of Aircraft - Vol.45 No.1 2008 - - - - - The psi vector for definition of the class and - shape function, i.e. the points at which the CST functions will - be evaluated - - - - - N1 for the class function for the upper side - of the profile - - - - - N2 for the class function for the upper side - of the profile - - - - - B Coefficients for the Bernstein polynominal - on the upper side - - - - - N1 for the class function for the lower side - of the profile - - - - - N2 for the class function for the lower side - of the profile - - - - - B Coefficients for the Bernstein polynominal - on the lower side - + + - - - Optionally, the trailingEdgeThickness of the - profile - + - + - + + + + + + costFireProtectionSystemsType + + + + + + + - + + + + - + - curvePointType + costFixedEmergencyOxygenSystemsType - Point on a curve in normalized curve coordinates. - The referenceUID must reference a one-dimensional curve such as spars. + - - - - Relative position on the referenced line/curve. - + + - - - This reference uID determines the reference curve. - If it points to a spar, then the eta value is considered to be a spar coordinate - between start (eta=0) and end (eta=1) of the spar. - + - + - + - cutLoadIntegrationPointsType + costFlightControlSystemsType - cutLoadIntegrationPoints are defined in a vector - notation, due to the high amounts of data. Usually they well be - defined inbetween the ribs. Each point must have an id. - Optionally it is possible to rotate the orientation within a - cutloadIntegrationPoint to obtain meaningful results. The - orientation is optional and relative to the CPACS coordinate - system + - - - - - - - - - + + + + + + - + - Additional definition of the leading edge cut out. - + costFuelSystemsType - - Optional. Definition of additional parameters, - describing the shape of the parents leading edge of the cut out - due to leading edge devices. - The parameters are described in the picture below: - - - - - + - - - - Relative height of the most forward position of - the parents leading edge, relative to the airfoil height without - cut out. - + + - - - Relative chordwise position of the most - forward position of the parents leading edge, relative to the - parents chord without cut out. - + - + - + - cutOutControlPointsType + costFurnishingElementsType @@ -8572,37 +8514,25 @@ marko.alder@dlr.de - - - - + + + + + + - + - Definition of cut out profiles. + costFurnishingsType - - Optional, the exact shape between the upper and lower - skin cut out can be given by using cutOutProfiles. In general - cut out profiles are open profiles and not closed profiles as - e.g. wing airfoils. The placement, scaling and (partly) rotation - of the cut out profiles is fixed as the beginning and ending - point of the profile is fixed as can be seen in the two pictures - below. - - - - - - - + @@ -8610,40 +8540,27 @@ marko.alder@dlr.de - - - Reference to the profile uID. Profiles should - be linked in profiles/structuralProfiles - + - - - Relative spanwise position of the cut out - profile. The eta coordinate refers to the control surface and - desribes the cut out profile at the leading edge of the control - surface. - + - - - Rotation of the airfoil around the control - surface middle plane normal direciotn. Reference point is the - most forward point of the airfoil. Defaults to 90°, which is - equivalent to the airfoilplacement in flight direction (along - wings-x axis). - + + + + + - + - Definition of cut out profiles. + costFuselagesType @@ -8654,257 +8571,99 @@ marko.alder@dlr.de - - - + + + + - + - cutOutType + costHydraulicSystemsType - CutOut type, containing cut-outs + - - - - Name of the cut out element - - - - - - Description of the cut out element - - - - - - Width of the cut element (absolute value) - - - - - - Height of the cut element (absolute value) - - - - - - Fillet radius of the cut element (absolute - value) - + + - - - UID of a structural element that reinforces - the cut out - + - - + - + - Damping derivatives for positive and negative rotation - rates + costInstrumentSystemsType - - - 0. General overview - - This type contains the damping derivatives. They are - split up into those derivatives for positive rotation rates, - and those for negative rotation rates. - - - - 1. <positiveRates> (optional) - - Damping derivatives, calculated by positive rotation - rates. - - - - 2. <negativeRates> (optional) - - Damping derivatives, calculated by negative rotation - rates. - - - + - - - - - + + + + + + - + - Deck + costLandingGearType - Data of an aircraft or rotorcraft deck + - - - - Name - - - - - Description - - - - - UID of the object used as parent coordinate system (typically the fuselage uID) - - - - - UID of the floor structure which supports this deck - - - - - The reference point of the deck/cabin. In a - conventional aircraft like the A320, it would be the rear wall - of the cockpit. The transformation is relative to the parent object - defined by “parentUID”, which should be the fuselage. - - - - - - Deck type: passanger, VIP, cargo or livestock - - - - - - - - - - - - - - - - Seat modules - - - - - Aisles - - - - - Spaces - - - - - Sidewall panels - - - - - Luggage compartments - - - - - Ceiling panels - - - - - Galleys - - - - - Generic floor modules - - - - - Lavatories - - - - - Class dividers - - - - - Cargo containers - + + - - - Doors - + - - + - + - Decks + costLightingSystemsType - List of decks - + @@ -8912,18 +8671,21 @@ marko.alder@dlr.de - + + + + - + - deltaTemperatureType + costNacellesType @@ -8933,72 +8695,50 @@ marko.alder@dlr.de - - - - - - - - - + + + + + + - + - Design masses + costNavigationSystemsType - The design mases are requerments wich can com form the - TLARs + - - - - Take off mass - - - - - Zero Fuel mass - - - - - Maximum landing mass - + + - - - Maximum ramp mass (the maximum weight - authorised for the ground handling) - + - + - + - Design parameter definition + costPowerUnitsType - Contains a the values of a parameter and its uid as reference. - + @@ -9006,73 +8746,100 @@ marko.alder@dlr.de - - + + + + + + + + + + - - + - Design parameters list + costSystemsType - Contains a list of all design parameters. - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - Design space definition + costWaterInstallationSystemsType - Contains the definition of the design space. - + - - - - - - + + + + + + - + - Design study definitions + costWingsType - Contains the data of design studies definitions. - + @@ -9080,18 +8847,21 @@ marko.alder@dlr.de - + + + + - + - directOperatingCostType + crashLoadCasesType @@ -9101,29 +8871,23 @@ marko.alder@dlr.de - - - - - - - - - + + + - + - divergenceCaseType + crashLoadcaseType - DivergenceCase type, containing a case for aeroelastic - divergence analysis + CrashLoadcase type, containing a crash loadcase + @@ -9131,56 +8895,104 @@ marko.alder@dlr.de - + + + - Mach number of divergence case + Optional start of crash section: Default: + first frame of model + + + + + Optional end of crash section: Default: last + frame of model + + + + + Initial velocities + + + + + Initial rotations around axes, roll, pitch, + yaw + + + + + Initial rotational velocities aroud axes - + - Divergence stagnation pressure + Definition of reference point to consider + rotation + + + + + AccelerationFields, usually gravity in z + + + Definition of impact Surface for crash + simulation + + + + + + + + + + + + - + - divergenceCasesType + crewCostType - DivergenceCases type, containing the cases for - aeroelastic divergence analysis + - - - + + + + + - + - doorAssemblyPositionType + crossBeamAssemblyPositionType - DoorAssemblyPosition type, containing the position of a door - assembly + CrossBeamAssemblyPosition type, containing the position + of a crossBeam assembly @@ -9188,95 +9000,121 @@ marko.alder@dlr.de - - - + - optional definition of door type (restricted to pax, - service, emergency, cargo) - - - - - - - - - - - - - - - UID of the door element - description + UID of profile based structural element to be + used as crossbeam - + - UID of the forward door frame + UID of the frame to which the crossbeam is + attached - + - UID of the backward door frame + Referenze z position of the crossbeam + - + + + + + + + + + + + + + crossBeamStrutAssemblyPositionType + + + CrossBeamStrutAssemblyPosition type, containing a + crossBeam strut assembly position + + + + + + + + - UID of the stringer at the upper door - edge + UID of profile based structural element to be + used as crossbeam strut - + - UID of the stringer at the lower door - edge + UID of the frame to which the crossbeam strut + is attached - + - Lower height of the door with respect to the floor. - (Information necessary for boarding and evacuation analysis not - necessarily linked to structures) + UID of the crossbeam to which the crossbeam + strut is attached - + - Minimum widh of the door element. (Information - necessary for boarding and evacuation analysis not necessarily - linked to structures) + Referenze y position of the strut at the + crossbeam intersection - + - Minimum height of the door element. (Information - necessary for boarding and evacuation analysis not necessarily - linked to structures) + angle of the strut in global yz plane + - + + + + + + + + + + + + + cruiseRollersType + + + + + + + + + + + - Door on right side of the fuselage = 1; on the left = - -1. (Information necessary for boarding and evacuation analysis not - necessarily linked to structures) + Definition of one cruise rollers/mid-span + stops. - - + - + - doorCutOutType + cruiseRollerType - CutOut type, containing cut-outs + @@ -9284,92 +9122,127 @@ marko.alder@dlr.de - + - Name of door cutout element + Definition of the position of the mid point of + the roll of the cruise roller. - + - Description of door cutout - element + Definition of the attachment of the cruise + roller to the parent of the flap. This is the track on which the + roll rolls during retracted flap position - + - Fillet radius of door cutout - element + Definition of the attachment of the cruise + roller to the flap. - + - Reference UID to the description of a DSS (door - surround structure) + Degree of freedom that is blocked by the + cruise roller if the flap is in retracted position. Positive = + cruise roller blockes bending in the direction of the upper skin + of the parent. Negative = cruise roller blockes bending in the + direction of the lower skin of the parent. - + - + - doorSurroundStructurePositionType + cst2DType - DoorSurroundStructurePosition type, containing the position of a - door surround structure + + + A 2D impelmentation for Class shape + transformations. For more details look at AIAA Journal of Aircraft + Vol.45 No.1 2008 + - - - + - number of bays effected by DSS in front of - door + The psi vector for definition of the class and + shape function, i.e. the points at which the CST functions will + be evaluated - + - number of bays effected by DSS in behind of - door + N1 for the class function for the upper side + of the profile - + - number of bays effected by DSS + N2 for the class function for the upper side + of the profile - + - number of bays effected by DSS + B Coefficients for the Bernstein polynominal + on the upper side + + + + + N1 for the class function for the lower side + of the profile + + + + + N2 for the class function for the lower side + of the profile + + + + + B Coefficients for the Bernstein polynominal + on the lower side + + + + + Optionally, the trailingEdgeThickness of the + profile - - + - doorSurroundStructuresAssemblyType + Maps points (actually the index in the point list) to a curve parameter. - doorSurroundStructuresAssembly type, containing - dorrSurroundStructure definitions + + Which parameters are allowed depends on the context. + For exampple in a wing profile, values between -1 and 1 are valid. + @@ -9377,45 +9250,93 @@ marko.alder@dlr.de - + + + List of indices of points to be mapped. Each index must be in the range [1, npoints]. + + + + + List of parameters on the curve, that is mapped to the points defined by their index. + + - + - doorsType + A curve that interpolates a list of points. - Doors type, containing doors + + The curve interpolates the list of points, typically with a b-spline. + In theory, the interpolation is somewhat ambiguous as it is not defined at which + curve parameter a point will be interpolated. + + To solve is ambiguity, an optional parameter map can be defined + that maps point indices with curve parameters. + + Kinks can also be modeled by populating the "kinks" array with the + indices of points that should be on a kink. As an example, look at the following image: + + + + + In this example, the kinks array will be "3;7". + Optionally, the parameters of the kinks can be set in the parameter map. + The whole profile looks as follows: + + +<pointList> + <x>...</x> + <y>...</y> + <z>...</z> + <kinks>3;7</kinks> + <parameterMap> + <pointIndex>3;5;7</pointIndex> + <paramOnCurve>0.2;0.5;0.8</paramOnCurve> + </parameterMap> +</pointList> + + - + - + + + Indices of points at which the curve has a kink. Each index is in the range [1, npoints]. + + + + + + Map between point index and curve parameter. + + - + - driveSystemType + curvePointType - DriveSystem Type, defining a drive system (combination - of transmissions/gearboxes and shafts and their links to engines - and rotors) of a rotorcraft model. + Point on a curve in normalized curve coordinates. + The referenceUID must reference a one-dimensional curve such as spars. @@ -9423,69 +9344,48 @@ marko.alder@dlr.de - - - + + + Relative position on the referenced line/curve. + + + + + This reference uID determines the reference curve. + If it points to a spar, then the eta value is considered to be a spar coordinate + between start (eta=0) and end (eta=1) of the spar. + + - - - - - - driveSystemsType - - - DriveSystems Type, containing all the drive systems - (combination of transmissions/gearboxes and shafts and their - links to engines and rotors) of a rotorcraft model. - - - - + - + - - - - - - dynamicAircraftModelAnalysisType - - - - - - - - - - - - - - - - - + - dynamicAircraftModelCoordinatesType + cutLoadIntegrationPointsType - + cutLoadIntegrationPoints are defined in a vector + notation, due to the high amounts of data. Usually they well be + defined inbetween the ribs. Each point must have an id. + Optionally it is possible to rotate the orientation within a + cutloadIntegrationPoint to obtain meaningful results. The + orientation is optional and relative to the CPACS coordinate + system @@ -9497,23 +9397,23 @@ marko.alder@dlr.de + + + - + - Emissivity map, containing the diffuse emissivity of a material at different spectral lengths. + cutOutControlPointsType - The emissivity of a material can vary with the spectral wave length. - The vectors diffuseEmissivity and waveLength must have the same size to be valid. - The data should be linearly interpolated. - + @@ -9521,30 +9421,32 @@ marko.alder@dlr.de - - - Wave length in [m] - - - - - Diffuse emissivity of the material - - + + - + - engineAnalysisType + Additional definition of the leading edge cut out. + - + + Optional. Definition of additional parameters, + describing the shape of the parents leading edge of the cut out + due to leading edge devices. + The parameters are described in the picture below: + + + + + @@ -9552,64 +9454,31 @@ marko.alder@dlr.de - - - Thrust at takeoff - - - - - Fan pressure ratio at takeoff - - - - - - Bypass ratio at takeoff - - - - - overall pressure ratio at takeoff - - - - - - Maximum rotations per second, shaft 1 - - - - - - Maximum rotations per second, shaft 2 - - - - + - Design tip relative mach number (FAN) - + Relative height of the most forward position of + the parents leading edge, relative to the airfoil height without + cut out. - + - DryMass of engine + Relative chordwise position of the most + forward position of the parents leading edge, relative to the + parents chord without cut out. - - + - Definition of global geometry parameters of the engine - fan. + Definition of cut out profiles. @@ -9619,36 +9488,37 @@ marko.alder@dlr.de - - - - Inner radius of the fan. - - - - - Outer radius of the fan. - - - + + + + + - + - Definition of the global engine geometry. + Definition of cut out profiles. - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. + Optional, the exact shape between the upper and lower + skin cut out can be given by using cutOutProfiles. In general + cut out profiles are open profiles and not closed profiles as + e.g. wing airfoils. The placement, scaling and (partly) rotation + of the cut out profiles is fixed as the beginning and ending + point of the profile is fixed as can be seen in the two pictures + below. + + + + + + @@ -9657,45 +9527,43 @@ marko.alder@dlr.de - - - length of engine - - - + - diameter of engine + Reference to the profile uID. Profiles should + be linked in profiles/structuralProfiles - + - dProp + Relative spanwise position of the cut out + profile. The eta coordinate refers to the control surface and + desribes the cut out profile at the leading edge of the control + surface. - + - Chordlength of a fan blade + Rotation of the airfoil around the control + surface middle plane normal direciotn. Reference point is the + most forward point of the airfoil. Defaults to 90°, which is + equivalent to the airfoilplacement in flight direction (along + wings-x axis). - - - - - + - engineGlobalType + cutOutType - EngineGlobal type, containing global engine data - + CutOut type, containing cut-outs @@ -9703,79 +9571,81 @@ marko.alder@dlr.de - - - Concept of engine - - - - - - - - - - - - - + - Year of first certification + Name of the cut out element - + - Rotation direction of the engine if looking at - it from the front, i.e. from propeller/fan to exhaust + Description of the cut out element - - - - - - - - - + - Hub to tip ratio + Width of the cut element (absolute value) + - + - Number of rotor blades of fan + Height of the cut element (absolute value) - + - Number of outlet guiding vanes - + Fillet radius of the cut element (absolute + value) - + - Rotor stator spacing (relative to chordlength) - + UID of a structural element that reinforces + the cut out + - + - Definition of one engine mount. + Damping derivatives for positive and negative rotation + rates - + + + 0. General overview + + This type contains the damping derivatives. They are + split up into those derivatives for positive rotation rates, + and those for negative rotation rates. + + + + 1. <positiveRates> (optional) + + Damping derivatives, calculated by positive rotation + rates. + + + + 2. <negativeRates> (optional) + + Damping derivatives, calculated by negative rotation + rates. + + + @@ -9783,81 +9653,45 @@ marko.alder@dlr.de - - - Name of the engine mount. - - - - - Description of the engine mount. - - - - - - position of the engine mount refering to the - engine coordinate system. - - + + - - - UID of the engine mount. - - - - - - - - - - - - List of all engine mounts. - - - - - - - - - - - - + - + - Engine nacelle + Damping derivatives for positive and negative rotation rates - The engine nacelle is part of an engine. - It allows to define the outer geometry of the following engine components: - - Fan cowl - Core cowl - Center cowl - - - All geometric values refer to the fan position. - - - The common use case for this definition includes bypass engines. - In the case of non-bypass engines, the core cowl should be omitted. - - - - + + 0. General overview + + This type contains the damping derivatives. They are + split up into those derivatives for positive rotation rates, + and those for negative rotation rates. + + + + 1. <positiveRates> (optional) + + Damping derivatives, calculated by positive rotation + rates. + + + + 2. <negativeRates> (optional) + + Damping derivatives, calculated by negative rotation + rates. + + @@ -9866,33 +9700,31 @@ marko.alder@dlr.de - - - Fan cowl - - - - - Core cowl - - - + + - - + - enginePerformanceMapType + Damping derivatives - EnginePerformanceMap type, containing a perfomance map - with engine data + This type contains aerodynamic performance maps with + the damping derivatives. The derivatives are calculated using + rotational rates [rad/s], normalized by: + Rate*ReferenceLength/flow speed. The rotations are performed + around the global axis directions with the aircraft model's + global reference point as origin. The damping derivative + performance maps are vectors of the same length as the input + vectors of the baseline aerodynamic performance maps, consisting of + semicolon separated values. + @@ -9900,154 +9732,107 @@ marko.alder@dlr.de - - - - - - - Flight Level - - - - - Mach number - - - - - Absolute thrust [N] - - - - - Fuel mass flow - - - - - Speed at core engine nozzle - - - - + - Total temperature at core engine nozzle - - - - - - Mass flow through core engine nozzle - + Change of cd by normalized roll rate - + - Speed at bypass nozzle + Change of cd by normalized pitch rate - + - Total temperature at bypass nozzle - + Change of cd by normalized yaw rate - + - Mass flow through bypass nozzle - + Change of cs by normalized roll rate - + - Percent of n1Max, shaft 1 + Change of cs by normalized pitch rate - + - Percent of n2Max, shaft 2 + Change of cs by normalized yaw rate - + - Fan pressure ratio + Change of cl by normalized roll rate - + - Fan efficiency + Change of cl by normalized pitch rate - + - Turbine entry total temperature - + Change of cl by normalized yaw rate - + - Emission index Carbon Monoxide - + Change of cmd by normalized roll rate - + - Emission index Nitrogen Oxide - + Change of cmd by normalized pitch rate - + - Emission index Sulfur Oxide - + Change of cmd by normalized yaw rate - + - Emission index Soot + Change of cms by normalized roll rate - + - Emission index unburned hydrocarbon - + Change of cms by normalized pitch rate - + - air density at core outlet 8 - + Change of cms by normalized yaw rate - + - air density at bypass outlet 18 - + Change of cml by normalized roll rate - + - area at core outlet + Change of cml by normalized pitch rate - + - area at bypass outlet + Change of cml by normalized yaw rate - - + - enginePerformanceMapsType + damTolBehaviourType @@ -10057,23 +9842,31 @@ marko.alder@dlr.de - - - + + + + Damage tolerance law, Walker approach + + + + + Damage tolerance law, Forman approach + + + - + - enginePositionType + damTolFormanType - EnginePosition type, containing data for a single - engine + @@ -10081,65 +9874,32 @@ marko.alder@dlr.de - - - Name of the engine - - - + - Description of the engine + Parameter Kc [Pa m^0.5] - + - Reference to the used engine - + Parameter C2 [m/cycle] - + - Component, to which the engine is mounted - + Parameter m2 [-] - - - - - - - - - - - - - Engine references - - - EnginePositions type, containing a reference to the - used engines and their positions at the configuration - - - - - - - - - - + - Definition of one engine pylon. + damTolWalkerType @@ -10150,110 +9910,126 @@ marko.alder@dlr.de - + - Name of the engine pylon. + Fracture toughness KIc [Pa m^0.5] - + - Description of the engine pylon. - + Parameter C0 [m/cycle] - + - UID of the parent (normaly wing or fuselage). - + Parameter m [-] + + + + + Parameter gamma [-] - - - - - - - - UID of the engine pylon. - - - - + - Engine pylons + dateBaseType - + Base type for date nodes (including external data attributes). + This date type is based on the xsd:date definition. + "To specify a time zone, you can either enter a date in UTC time by adding a "Z" behind the date - like this: 2002-09-24Z + or you can specify an offset from the UTC time by adding a positive or negative time behind the date - like this: + 2002-09-24-06:00 + or + 2002-09-24+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) + - - - - - + + + + + - + - + - Definition of the engine spinner geometry. + dateTimeBaseType - + Base type for dateTime nodes (including external data + attributes) + + + + + + + + + + + + + + + Deck component + + + + - + - Most forward x-position of the spinner. - + Name - + - X-position of the spinner base. - + Description - + - Radius of the spinner at the base position. - + UID of the corresponding element in the cpacs/vehicles/deckElemets node + + + - + - engineType + Deck component - - Engine type, containing engine data. - @@ -10262,40 +10038,36 @@ marko.alder@dlr.de - Name of engine + Name - + - Description of engine + Description - + - Scaling of engine take-off thrust - + UID of the corresponding element in the cpacs/vehicles/deckElemets node - - - - + + - + - + - Engines + Deck doors - Engines type, containing complete engine configurations - + @@ -10303,22 +10075,27 @@ marko.alder@dlr.de - + - + - etaIsoLineType + Deck door - Iso line described by point of the same eta coordinate. - Can be either segment or component segment coordinates. + doors describe all doors of the cabin. They are linked + to a structural door description. The cabin door is usually equal + in size to the door, but does not need to be. The structural door + might describe a wider cut-out, while the cabin door is primarily + intended for evacuation modeling and cabin layout. In order to + obtain a 3-dimensional door representation, the local cabin + geometry shall be used. @@ -10326,93 +10103,107 @@ marko.alder@dlr.de - + - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + Name - + - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta value is considered to be in segment - eta coordinate; if it points to a componentSegment, - then componentSegment eta coordinate is used. + Description + + + + + Number of passengers this door adds to the + overall exit capacity limit of the aircraft. + + + + + Opening geometry of the door + + + + + Door type (boarding, cargo, evacuation or service) + + + + + + + + + + + - + - fleetType + Deck element - - Each fleet can be divided into sub fleet groups - - - - Name of fleet - - - - - Description of the fleet - - - + - Description of sub-fleets. + Description + + - + - + - flightAnalysisType + Geometry - + Description of the deck element geometry. This might be either a bounding box definition or a link to a generic geometry component. - - - - + + + + - + - Flight dynamics + Mass - + Description of mass, center of gravity and inertia + @@ -10420,79 +10211,82 @@ marko.alder@dlr.de - - - + + + Mass value + + + + + Center of gravity (x,y,z) + + + + - + - Linear model parameters + Deck elements + + A list of predefined elements which can be linked in the actual deck of the aircraft or rotorcraft model via referencing its uID. + - - - - - - - - - - - - - - - - - - - Trim result - - - - - - - - + - - Mach number - + Ceiling panel elements for use in the decks - + - - True airspeed - + Class divider elements for use in the decks - + - - Angle of attack - + Galley elements for use in the decks - + - - Altitude - + Generic floor elements for use in the decks + + + + + Lavatory elements for use in the decks + + + + + Luggage compartment elements for use in the decks + + + + + Seat elements for use in the decks + + + + + Sidewall panel elements for use in the decks + + + + + Cargo container elements for use in the decks @@ -10500,53 +10294,37 @@ marko.alder@dlr.de - + - Load case + Structural mounts - This node defines the load case + Structural mount type containing the structural connections of cabin elements - - - - - Name of the load case - - - - - - - Description of the load case - - - - - - - + + + - + - Load case specification + Structural mount - Input values defining a load case + Structural mount type containing the structural connections of cabin elements @@ -10554,73 +10332,37 @@ marko.alder@dlr.de - - - - Environment - - - - - - - Altitude above sea level - - - - - - - Mach number - - - - + - - UID of the aerodynamic loads (aeroCase) - + Name - - + - - Controller description. Note: Since there is no controller description in CPACS yet, the expected content of this string element has to be defined individually for each project. - + Description - - - - - + - - UID referencing the mass state of aircraft for this load case - + UID of the component to connect to + - + - Flight load cases + Decks - + List of decks + @@ -10628,49 +10370,21 @@ marko.alder@dlr.de - + - - - - - - Flight loads - - - Loads resulting from the load case analysis - - - - - - - - - - - - - - - - + - Load conditions + Deck - Inertia load conditions acting on the aircraft + Data of an aircraft or rotorcraft deck @@ -10678,117 +10392,126 @@ marko.alder@dlr.de - + - - Description - + Name - + - - Safety factor applied on the loads - + Description - - + - - Rotational rates around centre of gravity - + UID of the object used as parent coordinate system (typically the fuselage uID) - + - - Enumeration flag stating the typ of the load - case (i.e. limit or ultimate loads) - + UID of the floor structure which supports this deck - - - - - - - + - - Angle of sideslip [deg] + The reference point of the deck/cabin. In a + conventional aircraft like the A320, it would be the rear wall + of the cockpit. The transformation is relative to the parent object + defined by “parentUID”, which should be the fuselage. - + - - Angle of attack [deg] - + Deck type: passanger, VIP, cargo or livestock + + + + + + + + + + - - - - - - - - - - - - - Flight point definition for load case analysis - - - Description of the aircraft's flight state for - this load case. - - - - - - - - - + + - - Environmental conditions - + Seat modules - + - - Altitude above sea level - + Aisles - + - - Mach number - + Spaces + + + + + Sidewall panels + + + + + Luggage compartments + + + + + Ceiling panels + + + + + Galleys + + + + + Generic floor modules + + + + + Lavatories + + + + + Class dividers + + + + + Cargo containers + + + + + Doors + - + - Accelerations + deltaTemperatureType - Translational or rotational accelerations acting - on the aircraft + @@ -10796,26 +10519,28 @@ marko.alder@dlr.de - - - - Rotational accelerations acting around aircraft centre of gravity [deg/s^2] - - + + + + + + + - + - Load factors + Design masses - + The design mases are requerments wich can com form the + TLARs @@ -10823,25 +10548,25 @@ marko.alder@dlr.de - + - - Load factor in x-direction - + Take off mass - + - - Load factor in y-direction - + Zero Fuel mass - + - - Load factor in z-direction - + Maximum landing mass + + + + + Maximum ramp mass (the maximum weight + authorised for the ground handling) @@ -10849,15 +10574,15 @@ marko.alder@dlr.de - + - Load case superposition + Design parameters list - List of uIDs referencing load cases that are superimposed to the current load case + Contains a list of all design parameters. @@ -10866,27 +10591,22 @@ marko.alder@dlr.de - - - - UID reference to another load case to be superimposed - - - + - + - Gust definition + Design parameter definition - The coordinate system of the gust corresponds to the CPACS coordinate system. + Contains a the values of a parameter and its uid as reference. + @@ -10894,57 +10614,24 @@ marko.alder@dlr.de - - - Parameters describing the shape of the gust - - - - - - - - - - - - - - - - - Angle between gust and vehicle [deg] (e.g., 0deg: from right to left; 90 deg: downwards; 180deg: from left to right; 270/-90deg: upwards) - - - - - - - Gust length: length of ramp or gradient distance of 1-cos gust - - - - - - - Gust velocity - - - + + + - + - Flight path + Design space definition - Definition of a flight path by points of longitude, latitude and a descriptive waypoint code. + Contains the definition of the design space. + @@ -10952,47 +10639,25 @@ marko.alder@dlr.de - - - Vector of waypoint codes. If waypoint codes are not available put empty items into the waypoint string - - - - - Vector of waypoint latitude values in [deg] - - - - - Vector of waypoint longitude values in [deg] - - - - - Indicates the type of the way point. - - - - - - - - - + + + + - + - Performance case + Design study definitions - + Contains the data of design studies definitions. + @@ -11000,106 +10665,73 @@ marko.alder@dlr.de - - - - Name - - - - - - - Description - - - - - - - UID of flight performance requirement - - - - - - - - - - - + - - + - Performance cases + directOperatingCostType - List of performance cases + - - - - + + + + + + + + + - + - Results of the landing analysis + divergenceCasesType - + DivergenceCases type, containing the cases for + aeroelastic divergence analysis - - - - Determined landing distance. - - - - - - Determined ground phase distance. - - - - + + + - + - Results of the take-off analysis + divergenceCaseType - + DivergenceCase type, containing a case for aeroelastic + divergence analysis @@ -11107,17 +10739,15 @@ marko.alder@dlr.de - + - Main element containing the results for - take-off calculations optimized for min-imum liftoff speed - VLOFmin. + Mach number of divergence case + - + - Main element containing the results for - take-off calculations optimized for min-imum safety speed V2min. + Divergence stagnation pressure @@ -11126,72 +10756,112 @@ marko.alder@dlr.de - + - flightPointType + doorAssemblyPositionType - + DoorAssemblyPosition type, containing the position of a door + assembly - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + optional definition of door type (restricted to pax, + service, emergency, cargo) + + + + + + + + + + + + + + + UID of the door element + description + + + + + UID of the forward door frame + + + + + UID of the backward door frame + + + + + UID of the stringer at the upper door + edge + + + + + UID of the stringer at the lower door + edge + + + + + Lower height of the door with respect to the floor. + (Information necessary for boarding and evacuation analysis not + necessarily linked to structures) + + + + + Minimum widh of the door element. (Information + necessary for boarding and evacuation analysis not necessarily + linked to structures) + + + + + Minimum height of the door element. (Information + necessary for boarding and evacuation analysis not necessarily + linked to structures) + + + + + Door on right side of the fuselage = 1; on the left = + -1. (Information necessary for boarding and evacuation analysis not + necessarily linked to structures) + + + + - + - Flight systems + doorCutOutType - + CutOut type, containing cut-outs @@ -11199,21 +10869,50 @@ marko.alder@dlr.de - + + + Name of door cutout element + + + + + Description of door cutout + element + + + + + Fillet radius of door cutout + element + + + + + Reference UID to the description of a DSS (door + surround structure) + + + - + - flightType + doorOpeningLegacyType - Flight type, containing data of a scheduled flight + doors describe all doors of the cabin. They are linked + to a structural door description. The cabin door is usually equal + in size to the door, but does not need to be. The structural door + might describe a wider cut-out, while the cabin door is primarily + intended for evacuation modeling and cabin layout. In order to + obtain a 3-dimensional door representation, the local cabin + geometry shall be used. @@ -11221,58 +10920,77 @@ marko.alder@dlr.de - - - MissionUID for the flights mission definition - - - - - ModelUID of the aircraft appointed to perform the flight - - - + - Departure day of the flight + This is the forward x-coordinate of the door + relative to the cabin origin. - + - Time of departure - the time is defined as SOBT (Scheduled Off-Block Time) / STD (Scheduled Time of Departure) + the door sill height relative to cabin origin. + - + - Arrival day of the flight + The width of the door in x-direction. + - + - Time of arrival - the time is defined as SIBT (Scheduled In-Block Time) / STA (Scheduled Time of Arrival) + the effective height of the door. + - - - Reference to the operating airline of a flight - + + + + + + + + + - - - + - Flights + "doorOpeningType" - Flighs type, containing all flight definitions - + Ceiling panel instance collection type. + + + + + + + + + + + + + + + + + + + + doorsType + + + Doors type, containing doors @@ -11280,22 +10998,22 @@ marko.alder@dlr.de - + - + - floorPanelAssemblyPositionType + doorSurroundStructurePositionType - FloorPanelAssemblyPosition type, containing a floor - panel assembly position + DoorSurroundStructurePosition type, containing the position of a + door surround structure @@ -11303,53 +11021,46 @@ marko.alder@dlr.de - - - x coordinate of the begin of the floor panel - (absolute value) - - - + + + - x coordinate of the end of the floor panel - (absolute value) + number of bays effected by DSS in front of + door - + - UID of the first long. floor beam to be - connected to the floor panel + number of bays effected by DSS in behind of + door - + - UID of the second long. floor beam to be - connected to the floor panel + number of bays effected by DSS - + - UID of structural sheet element used for the - floor panel + number of bays effected by DSS - - + - + - floorPanelsType + doorSurroundStructuresAssemblyType - FloorPanels type, containing floor panel definitions - + doorSurroundStructuresAssembly type, containing + dorrSurroundStructure definitions @@ -11357,45 +11068,230 @@ marko.alder@dlr.de - + - + - Flying qualities + Array with semicolon separated values of type double - Provides a list of flying qualities cases - + + In CPACS arrays are used to exchange values + in full-factorial parameter spaces, for example to describe the aerodynamic coefficients depending + on Mach number and altitude. + + Thus, the dimensions of the array are spanned by the input vectors. See the following + example where two input vectors are defined. For clarification the entries of the array result from + the multiplication of the index values of the corresponding input vectors: + +<inputVector1>1;2;3</inputVector1> +<inputVector2>4;5;6;7</inputVector2> + + +<array>4;5;6;7;8;10;12;14;12;15;18;21</array> + + Any entries of type double separated by semicolons are valid, e.g.: + +<doubleArrayTest>123.456;+123.456;-1.234e56;-.45E-6;NaN;0</doubleArrayTest> + + +<doubleArrayTest>123.456</doubleArrayTest> + + +<doubleArrayTest>123.456,+1234.456</doubleArrayTest> + + +<doubleArrayTest>123.456;mainWingUID</doubleArrayTest> + + +<doubleArrayTest>1234.4E 56;-1.234e5.6</doubleArrayTest> + + + Please note that the syntax of arrays in the current CPACS + version correspond exactly to the syntax of vectors. There is no special character indicating + the dimensions. Thus, the input vectors have to be determined from the documentation of the + corresponding elements and splitting of the one-dimensional vector has to be done manually. + + - - - - - - + + + + + + + + + + + + + doubleBaseType + + + + Base type for double nodes (including external data + attributes) + The double base type can include optional uncertainty + information. The description of uncertainties is placed in + addtional attributes. First, it is described by an attribute + that describes the type of uncertainty function called + functionName. The functionName attribute includes the tag name + of the distribution function which is listened in the table + shown below. Each uncertainty function is further describes by a + set of parameters that are described in the table below. + + + + + + + + + + + + + + + + + + + + + + - + - + - Flying qualities case + doubleConstraintBaseType - + + Base type for double nodes including a relational operator attribute indicating valid constraint region + The doubleConstraintBaseType extends the doubleBaseType and thus inherits all its attributes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vector with semicolon separated values of type double + + + + Any entries of type double separated by semicolons are permitted, e.g.: + +<doubleVectorTest>123.456;+123.456;-1.234e56;-.45E-6;NaN</doubleVectorTest> + + +<doubleVectorTest>123.456</doubleVectorTest> + + +<doubleVectorTest>123.456,+1234.456</doubleVectorTest> + + +<doubleVectorTest>123.456;mainWingUID</doubleVectorTest> + + +<doubleVectorTest>123.456;1234.4E 56;-1.234e5.6</doubleVectorTest> + + + + + + + + + + + + + + + + + + + doubleVectorConstraintBaseType + + + + Base type for double vectors including a relational operator attribute indicating valid constraint region. + The doubleVectorConstraintBaseType extends the doubleVectorBaseType and thus inherits all its attributes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Drag contributions + + + + The drag contributions relate to different physical mechanisms. The sum of the contributions does not have to be equal to the total drag. + @@ -11403,77 +11299,95 @@ marko.alder@dlr.de - - - Name - - - + - Description + + Drag contributions due to the displacement of the flow around a component. Zero for irrotational two-dimensional flows. + - + - Aircraft Class; Class 1 small light aircraft; - Class 2 medium weight aircraft, low to medium maneuverability; - Class 3 large, heavy aircraft, low to medium maneuverability; - Class 4 high maneuverability aircraft + + Drag contributions due to shear forces on surfaces + - + - Flight Phase Category; Category A Non-terminal - flight phases requiring maneuvering, precision tracking, or - precise flight-path control (e.g. air-to-air combat, terrain - following). Category B Non-terminal Flight Phases with gradual - maneuvers and without precision tracking, although accurate - flight-path control may be required (e.g. climb, cruise). - Category C Terminal Flight Phases are normally accomplished - using gradual maneuvers and usually require accurate flight-path - control (takeoff, approach and landing). + + Drag contributions due to friction + - + - main element containing longitudinal transfer - functions + + Drag contributions due to energy loss through vortex structures caused by the pressure difference between the upper and lower sides of three-dimensional lifting surfaces. + - + - main element containing lateral directional - transfer functions + + Drag contributions due to mixing of streamlines between airframe components (e.g., interaction between wing and fuselage or pylon and wing). + - + - main element containing characteristic - parameters of the handling qualities criteria + + Drag contributions due to energy dissipation in shock waves - + - main element containing handling qualities - ratings + + Drag contributions due to trimmed aircraft configuration + - - + - fqCharParametersType + driveSystemsType - + DriveSystems Type, containing all the drive systems + (combination of transmissions/gearboxes and shafts and their + links to engines and rotors) of a rotorcraft model. + + + + + + + + + + + + + + + + + + + driveSystemType + + + DriveSystem Type, defining a drive system (combination + of transmissions/gearboxes and shafts and their links to engines + and rotors) of a rotorcraft model. @@ -11481,66 +11395,20 @@ marko.alder@dlr.de - - - static margin [-] - - - - - main element containing characteristic - parameter of phugoid damping - - - - - main element containing characteristic - parameters of short period mode criteria - - - - - main element containing characteristic - parameters of roll oscillation criterion - - - - - coupling of roll and spiral mode: normal = no - coupling of roll and spiral mode coupled = coupling of roll and - spiral mode - - - - - main element containing characteristic - parameters of lateral eigenvalues - - - - - main element containing characteristic - parameters of effective roll time constant criterion - - - - - - main element containing characteristic - parameters of roll performance criterion - - + + + - + - fqEiglatType + dynamicAircraftModelAnalysisType @@ -11551,63 +11419,39 @@ marko.alder@dlr.de - - - natural frequency of dutch roll mode [rad/s] - - - - - - damping of dutch roll mode [-] - - - - - - roll time constant [s] - - - - - time to double of spiral mode [s] - - - - - - ratio of bank to sideslip angle [-] - - - - - - natural frequency of coupled rollspiral motion - [rad/s] - - - - - damping ratio of coupled roll-spiral motion - - - - - - product of roll-spiral damping and natural - frequency [rad/s] - - - + + + + + + + + + + + + Emissivity map, containing the diffuse emissivity of a material at different spectral lengths. + + + The emissivity of a material can vary with the spectral wave length. + The vectors diffuseEmissivity and waveLength must have the same size to be valid. + The data should be linearly interpolated. + + + + + + + + + - handling qualities level of roll time constant - + Wave length in [m] - + - handling qualities level of roll spiral mode - + Diffuse emissivity of the material @@ -11615,12 +11459,12 @@ marko.alder@dlr.de - + - fqLateralType + engineAnalysisType @@ -11631,121 +11475,64 @@ marko.alder@dlr.de - + - numerator of transfer function roll control - surface deflection to bank angle + Thrust at takeoff - + - numerator of transfer function roll control - surface deflection to yaw rate + Fan pressure ratio at takeoff + - + - numerator of transfer function roll control - surface deflection to sideslip angle + Bypass ratio at takeoff - + - numerator of transfer function roll control - surface deflection to bank angle of reduced 4th order system + overall pressure ratio at takeoff - + - numerator of transfer function roll control - surface deflection to sideslip angle of reduced 4th order system + Maximum rotations per second, shaft 1 - - - numerator of transfer function yaw control - surface deflection to yaw rate - - - - - numerator of transfer function yaw control - surface deflection to sideslip angle - - - - - numerator of transfer function roll stick - input to roll rate - - - - - numerator of transfer function roll stick - input to yaw rate - - - - - numerator of transfer function roll stick - input to bank angle - - - - - numerator of transfer function roll stick - input to sideslip angle - - - - - numerator of transfer function pedal input to - roll rate - - - - - numerator of transfer function pedal input to - yaw rate - - - - - numerator of transfer function pedal input to - bank angle - - - + - numerator of transfer function pedal input to - sideslip angle + Maximum rotations per second, shaft 2 + - + - denominator of lateral motion + Design tip relative mach number (FAN) - + - denominator of lateral motion of reduced 4th - order system + DryMass of engine + - + - fqLongitudinalType + Definition of global geometry parameters of the engine + fan. @@ -11756,40 +11543,14 @@ marko.alder@dlr.de - - - numerator of transfer function pitch stick - input to pitch rate - - - - - numerator of transfer function pitch control - surface deflection to pitch angle - - - - - numerator of transfer function pitch stick - input to pitch angle - - - - - numerator of transfer function pitch stick - input to angle of attack - - - + - numerator of transfer function pitch stick - input to vertical load factor + Inner radius of the fan. - + - denominator of longitudinal motion - + Outer radius of the fan. @@ -11797,15 +11558,21 @@ marko.alder@dlr.de - + - fqPhugoidType + Definition of the global engine geometry. - + + All engine geometry definitions refer to the engine + coordinate system. The engine coordinate system has its orgine + in the middle of the fan plan. The positive x-axis is heading to + the rear, the positive z-axis to the top and the y-axis + according to the right hand rule. + @@ -11813,32 +11580,45 @@ marko.alder@dlr.de - + - damping ratio of phugoid mode [-] - + length of engine - + - time to double amplitude of unstable phugoid - mode [s] + diameter of engine + + + + + dProp + + + + + Chordlength of a fan blade + + + + - + - fqRatingsType + engineGlobalType - + EngineGlobal type, containing global engine data + @@ -11846,79 +11626,63 @@ marko.alder@dlr.de - + - handling qualities level of phugoid damping - + Concept of engine + + + + + + + + + + - + - handling qualities level of C* criterion + Year of first certification - - - main element containing handling qualities - levels of short period mode - - - - - main element containing handling qualities - levels of roll oscillation criterion - - - + - main element containing handling qualities - levels of lateral eigenvalues + Rotation direction of the engine if looking at + it from the front, i.e. from propeller/fan to exhaust + + + + + + + + + - + - handling qualities level of effective roll - time constant + Hub to tip ratio - + - handling qualities level of roll performance + Number of rotor blades of fan - - - - - - - - - - - fqRollPerfType - - - - - - - - - - - + - time to reach critical bank angle [s] + Number of outlet guiding vanes - + - critical bank angle that has to be reached - [deg] + Rotor stator spacing (relative to chordlength) + @@ -11926,12 +11690,12 @@ marko.alder@dlr.de - + - fqRoloscType + List of all engine mounts. @@ -11941,49 +11705,19 @@ marko.alder@dlr.de - - - - ratio of oscillatory component of the roll - rate to the average roll rate [-] - - - - - phase angle of dutch roll oscillation in - sideslip [deg] - - - - - phase angle between roll rate and sideslip in - dutch roll mode [deg] - - - - - ratio of first minimum roll rate to first - maximum [-] - - - - - handling qualities level of ratio of - oscillatory component of roll rate to average roll rate - - - - + + + - + - fqShortPeriodType + Definition of one engine mount. @@ -11994,50 +11728,60 @@ marko.alder@dlr.de - - - steady state normal acceleration change with - angle of attack [g/rad] - - - + - short period natural frequency of reduced - order system [rad/s] - - - - - short period damping ratio of reduced order - system [-] + Name of the engine mount. - + - equivalent pitch time delay of reduced order - system [s] + Description of the engine mount. + - + - handling qualities level of CAP criterion - + position of the engine mount refering to the + engine coordinate system. + + + UID of the engine mount. + + - + - fqTreffType + Engine nacelle - + + The engine nacelle is part of an engine. + It allows to define the outer geometry of the following engine components: + + Fan cowl + Core cowl + Center cowl + + + All geometric values refer to the fan position. + + + The common use case for this definition includes bypass engines. + In the case of non-bypass engines, the core cowl should be omitted. + + + + + @@ -12045,33 +11789,32 @@ marko.alder@dlr.de - + - effective roll time constant [s] - + Fan cowl - + - time where tangent of bank angle step response - is placed [s] + Core cowl + + - + - frameType + enginePerformanceMapsType - frame type, containing frame definition (V1.5+) - + @@ -12079,92 +11822,22 @@ marko.alder@dlr.de - + - - + - framesAssemblyType + enginePerformanceMapType - FramesAssembly type, containing frames assembly - - - - - - - - - - - - - - - - - - - - freePathType - - - - - - - - - - - - - - - - - - - - - - - mass - - - - - - - - - - - - - - - - - - - - - - Fuels - - - fuelType containing data for fuels - Can be used as a catalog for different (liquid) fuel - types + EnginePerformanceMap type, containing a perfomance map + with engine data @@ -12173,219 +11846,157 @@ marko.alder@dlr.de - - - + + + + - at 15deg C + Flight Level - - - - - - - - - - - - - - - - - - Fuels - - - fuelType containing data for fuels - - - - - - - - - - - - - - - - - - - fuselageAeroPerformanceType - - - fuselageAeroPerformance type, containing perfomance - maps with aerodynamic data of a fuselage. - - - - - - - - + - Reference to the uID of the analysed fuselage - + Mach number - + - References used for the calculation of the - force and moment coefficients of the fuselage (in the fuselage - axis system!) + Absolute thrust [N] - + - Calculated aerodynamic performance maps of the - fuselage + Fuel mass flow - - - - - - - - - - - fuselageCutOutType - - - fuselageCutOut type, containing a fuselage cutout - definition - - - - - - - - + - Name of the cutout + Speed at core engine nozzle + - + - Description of the cutout + Total temperature at core engine nozzle + - + - X position of the cutout center point + Mass flow through core engine nozzle - + - Y offset of the cutout reference point + Speed at bypass nozzle + + + + + Total temperature at bypass nozzle - + - Z offset of the cutout reference point + Mass flow through bypass nozzle - + - Angle in degrees of the vector pointing from - the cutout reference point to the cutout center point, measured - relative to the direction of the fuselage z axis. + Percent of n1Max, shaft 1 + + + + + Percent of n2Max, shaft 2 + + + + + Fan pressure ratio + + + + + Fan efficiency + + + + + Turbine entry total temperature - + - Coordinates of the unit vector defining the - direction of extrusion + Emission index Carbon Monoxide + - + - Coordinates of the unit vector defining the - y-axis of the local cutout coordinate system. Must be normal to - the orientationVector. + Emission index Nitrogen Oxide + - + - This value is used to define the width of the - cutout + Emission index Sulfur Oxide + - + - This value is used to define the height of the - cutout + Emission index Soot - + - This value is used to define the width of the - cutout + Emission index unburned hydrocarbon + - + - This value is used to define the height of the - cutout + air density at core outlet 8 + - + - Fillet radius of the cut element (absolute - value) + air density at bypass outlet 18 + - + - Cutout type. Determines the type of the cutout - and how it is treated by the tools. Possible values: - ("window"|"door"|"ramp") + area at core outlet + + + + + area at bypass outlet - - - - - - - - - - - - - + - + - fuselageCutOutsType + Engine references - fuselageCutOuts type, containing fuselage cutouts - + EnginePositions type, containing a reference to the + used engines and their positions at the configuration @@ -12393,22 +12004,22 @@ marko.alder@dlr.de - + - + - fuselageElementType + enginePositionType - FuselageElement type, containing fuselage element data - + EnginePosition type, containing data for a single + engine @@ -12418,38 +12029,43 @@ marko.alder@dlr.de - Name of fuselage element + Name of the engine - + - Description of fuselage element + Description of the engine + + + + + Reference to the used engine - + - Reference to a fuselage profile + Component, to which the engine is mounted - + + - + - fuselageElementsType + Engine pylons - FuselageElements type, containing the elements of a - fuselage section + @@ -12457,23 +12073,21 @@ marko.alder@dlr.de - + - + - Definition of one fuselage fuel tank. + Definition of one engine pylon. - The definition of fuselage tanks is still preliminary. - Currently, there is no link to any structural elements - + @@ -12481,40 +12095,45 @@ marko.alder@dlr.de - + - Name of the fuselage fuel tank. - + Name of the engine pylon. - + - Description of the fuselage fuel tank. + Description of the engine pylon. - - - Link to the tank geometry defined by a compartment. - - - + - + UID of the parent (normaly wing or fuselage). + + + + + + - + + + UID of the engine pylon. + + + - + - List of fuselage fuel tanks. + Definition of the engine spinner geometry. @@ -12524,28 +12143,39 @@ marko.alder@dlr.de - - + + - The fuselage fuel tank geometry is defined by a link to a fuselage geometry compartment. -The fuel tank volume type should also be used for the wing fuel tank + Most forward x-position of the spinner. + - + + + X-position of the spinner base. + + + + + + Radius of the spinner at the base position. + + + + - + - fuselageProfilesType + Engines - FuselageProfiles type, containing fuselage profile - geometries. See profileGeometryType for further documentation + Engines type, containing complete engine configurations @@ -12554,23 +12184,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - + - fuselageSectionType + engineType - FuselageSection type, containing fusleage section and - element data + Engine type, containing engine data. @@ -12580,56 +12208,71 @@ The fuel tank volume type should also be used for the wing fuel tank - Name of fuselage section + Name of engine - + - Description of fuselage section + Description of engine + + + + + Scaling of engine take-off thrust - - + + + + - + - + - fuselageSectionsType + + Environmental conditions + - FuselageSections type, containing fuselage sections - + Specification of environmental conditions - - - + + + + + + Delta temperature with respect to the standard temperature of the selected atmosphere [K] + + + + - + - fuselageSegmentType + etaIsoLineType - FuselageSegment type, containing data of a fuselage - segment + Iso line described by point of the same eta coordinate. + Can be either segment or component segment coordinates. @@ -12637,74 +12280,120 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of fuselage segment + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - + - Description of fuselage segment - + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta value is considered to be in segment + eta coordinate; if it points to a componentSegment, + then componentSegment eta coordinate is used. - + + + + + + + + + + + Point in eta and xsi coordinates + + + Point described by eta-xsi coordinates. + Can be either segment or component segment coordinates. + + + + + + + + - Reference to element from which the segment - shall start + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - + - Reference to element at which the segment - shall end + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - + - Optional and additional guidecurves to shape - the outer geometry. + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. - - + - fuselageSegmentsType + Relative height at eta, xsi position - FuselageSegments type, containing fuselage segment - definitions (from sections and elements) + Point described by eta-xsi and a relative height coordinate. + Can be either segment or component segment coordinates. + If relHeight is not given, the point has no offset from the eta-xsi plane - - - + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative height position. + relHeight is relative to the local airfoil thickness. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. + + + - + - fuselageStructureType + fatigueBehaviourType - FuselageStructure type, containing data of the fuselage's - structure + @@ -12712,46 +12401,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - - - - - + + + Fatigue law, stress based Brown Miller approach [N/m^2] + + - + - fuselageType + fatigueStressBasedBrownMillerType - - Fuselage type, containing all data related to a - fuselage - - - - + @@ -12759,128 +12427,100 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Name of fuselage - + Parameter sigma_f [N/m^2] - + - - Description of fuselage - + Parameter b [-] - + - - UID of part to which the fuselage is - mounted (if any) - + Parameter epsilon_f [-] + + + + + Parameter c [-] - - - - - - - - - - - - + - fuselagesAeroPerformanceType + fleetType - fuselagesAeroPerformance type, containing - fuselagesAeroPerformance + Each fleet can be divided into sub fleet groups - - - + + + + Name of fleet + + + + + Description of the fleet + + + + + Description of sub-fleets. + + + + - + - Fuselages + flightAnalysisType - Fuselages type, containing the fuselages of the - configuration + - - - + + + + - + - This type contains a vector of deflection values for a - single gear + Flight dynamics - - - 0. General overview - - In this type, a vector of deflections of a single - gear is specified. - - - - 1. - <gearUID> - (mandatory) - - - A reference to a gear from the aircraft model - - - - - 2. - <controlParameters> - (mandatory) - - - A vector of control parameters of the selected - gear - - - + @@ -12888,73 +12528,97 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Reference to a gear - - - - - Control parameters of the gear - - - + + + - + - This type contains a list of gears and their deflection - vectors + Linear model parameters - - - - 0. General overview - - In this type, a list of gears is defined. - - - - - 1. - <gear> - (mandatory) - - - One of these nodes per deflected gear is required - here. - - - - - - - + + + + + + + + + + - + - stringerFramePositionType + Trim result + + + + + + + + + + + Mach number + + + + + + + True airspeed + + + + + + + Angle of attack + + + + + + + Altitude + + + + + + + + + + + + + + Flight envelope speed - stringerFramePosition type, containing individual - stringer / frame postion definition (CPACS V2.1+) + + Specification of the V-speed + @@ -12962,62 +12626,37 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - + + - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) + + Vector with altitudes + - - - - - - - - - + - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile + + Vector with True Airspeeds + - - - - - - - - - - + - generalStructuralMemberType + Flight Envelopes - + + Specification of flight envelopes + @@ -13025,24 +12664,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - - + - generalStructuralMembersAssemblyType + Flight Envelope - generalStructuralMembersAssembly type, containing - structural member assemblys + + Specification of a flight envelope + @@ -13050,18 +12689,25 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Offset from temperature of the atmospheric model [K] + + + + - + - genericCostType + Flight load cases @@ -13071,35 +12717,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + - + - genericGeometricComponentType + Load conditions - - In some cases additional geometric components need to - be linked to a CPACS, but these components are not yet handled by - CPACS explicitly. For example, a belly fairing and/or external - tanks. - A generic geometric component may be applied to include - such a geometry from an external file (preferably STEP) in the - context of the overall aircraft. - - - - + Inertia load conditions acting on the aircraft @@ -13107,263 +12740,144 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of genericGeometricComponent + + Description - + - Description of genericGeometricComponent + + Safety factor applied on the loads - + + - UID of part to which the component is mounted - (if any) + + Rotational rates around centre of gravity + - - + + + + Enumeration flag stating the typ of the load + case (i.e. limit or ultimate loads) + + + + + + + + + + + + + Angle of sideslip [deg] + + + + + + + Angle of attack [deg] + + + + + - - - + - Generic geometric components + Flight loads - + Loads resulting from the load case analysis + - - - + + + + - + - Mass description + Flight path - - - - - parentUID not set - parentUID set - - - location without refType - global - local - - - location with refType="absLocal" - global - local - - - location with refType="absGlobal" - global - global - - - Note: The combination of location with refType="absLocal" and no parentUID is global, because the local coordinate system to which the location is referring to via refType equals the global coordinate system. - - - - ... - - - ... - - - ... - - - ... - - - ]]> - - - - - ... - - - ... - - - ... - - - ... - - - ]]> - - - - - ... - - - ... - - - ... - - - ... - - - ]]> - - - - wingUID - - ... - - - ... - - - ... - - - ... - - - ]]> - - - - wingUID - - ... - - - ... - - - ... - - - ... - - - ]]> - - - - wingUID - - ... - - - ... - - - ... - - - ... - - - ]]> - - + Definition of a flight path by points of longitude, latitude and a descriptive waypoint code. - - - - Name - - - - - Description - - - - - UID of the component which serves as parent element, i.e. whose coordinate system is to be used as a reference for the mass properties (CoG location, orientation and massInertia). Thus, two cases can occur: (1) - it is set: local coordinate system of the parent; (2) it is not set: global CPACS coordinate system. - - - - + + - Mass [kg] + Vector of waypoint codes. If waypoint codes are not available put empty items into the waypoint string - + - Mass location. - If the optional refType attribute is set, it explicitly specifies whether the location of the mass refers to the global CPACS coordinate system (absGobal) or the local coordinate system of the parent element (absLocal, given by the CPACS hierarchy OR by parentUID). - If it is not set, the global CPACS coordinate system is considered as default. - To ensure consistency, the same settings apply as well to orientation and massInertia. - + Vector of waypoint latitude values in [deg] - + - Orientation. The reference coordinate system (absGlobal or absLocal) is identical to location. + Vector of waypoint longitude values in [deg] - + - Mass intertia. The reference coordinate system (absGlobal or absLocal) is identical to location. + Indicates the type of the way point. + + + + + + + - - + - + - genericSystemsType + Performance cases - Node for geometrical layout of system components - based on simple geometric shapes + List of performance cases @@ -13371,76 +12885,73 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Generic system type containing describing the basic dimensions of a system component using simple geometric shapes + Performance case - - The generic base types must be one of the following cone|sphere|cube|cylinder. The origin of the shapes is at the center of volume for cube, sphere and cylinder. Since the cone is constructued from a cylindric shape, its origin is at the same location as the origin of the basic cylinder, although not any longer the center of volume due to scaling of one side. While cube and sphere are symmetrical in all three axis, cylinder and cone are standing upright in the direction of cpacs z-axis. The tip of the cone is located in direction of the positive z-axis. The figure below illustrates the default position and orientation of the different shapes. Note that the cube, cylinder and sphere were moved along the x-axis for demonstration by 2, 4 and 6 meters respectively. - For spheres the default diameter is 1m. Cubes have a length of 1m in all three dimensions. Cylinders have a length of 1m and a diameter of 1m for the circular cross section. The cone is a cylinder with the top face scaled down to zero. - - - - - + - + - Name of the system component. - - - + + Name + + + + - Description of the system component. + + Description + - + - Enum for selecting the basic shape of the - component + + UID of flight performance requirement + - - - - - - - - - - - - + + + + + + + + + + - + - geographicPointConstraintType + Results of the landing analysis - Geographic point constraint, containing a longitude, latitude, altitude data triplet. + @@ -13448,56 +12959,34 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Longitude coordinate 0-360 - - - - - - - - - - - - Latitude coordinate 0-360 - - - - - - - + + + Determined landing distance. + + - - - - Altitude in meters - - - - - - - + + + Determined ground phase distance. + + - + - geographicPointType + + Level flight + - Geographic point type, containing a longitude, latitude, altitude data triplet. + @@ -13505,71 +12994,48 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Longitude coordinate 0-360 - - - - - Latitude coordinate 0-360 - - - + - Altitude in meters + Specific excess power - - + - airfoilAeroPerformanceType + Flight performance requirements - airfoilAeroPerformance type, containing perfomance maps - with aerodynamic data of an airfoil. + Contains a list of flight performance requirements + - - - - References used for the calculation of the - force and moment coefficients - - - - - Calculated aerodynamic performance maps of the - full configuration - - - + + + - + - globalBeamPropertiesType + Flight performance requirement - globalBeamPropertiesType, containing the global beam - properties such as EA, EI, mass + @@ -13577,26 +13043,46 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - + + + Name of the performance case + + + + + Description of the performance case + + + + + + Reference to the considered weightAndBalance case + + + + + The UID of the mission to be flown + + + + + List of point performance uIDs constraining the mission + + + + - + - + - Ground load Cases + Results of the take-off analysis @@ -13606,49 +13092,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Main element containing the results for + take-off calculations optimized for min-imum liftoff speed + VLOFmin. + + + + + Main element containing the results for + take-off calculations optimized for min-imum safety speed V2min. + + + + - + - guideCurveProfileGeometryType + Turn - - A guide curve profile is defined by a profile name, an - optional description and a 3-dimensional relative pointlist with - all three coordinates mandatory. For typical profiles, one of - the coordinate vectors contains only "0" entries. All point - coordinates are transferred to the global coordinate system. - First and last point may, but need not to, be identical. - - The points have to be ordered in a mathematical - positive sense. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - Curves have to go continuously over the whole wing or - fuselage - Connection of guide curves from segment to segment - - - - - - - - Please note, currently it is not possible to apply any - means of class based transformation in the description. However, - this may be an addition for the future. - + @@ -13656,36 +13128,32 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of profile + ... - + - Description of profile + ... - - - - + - guideCurveProfilesType + Flight Cases - Guide Curve Profiles type. This type is used to - describe guide curves that enable designers to create a geometry - that deviates from a standard loft. - + + + @@ -13693,30 +13161,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Guide Curve Type + flightPointType - - A guide curve may be used to alter the shape of the - outer geometry and "guide" the loft. - The guide curve profiles are defined in the guideCurveProfileGeometryType. - Their use on wing and fuselage components is illustrated in the image below. - - - - - + @@ -13724,114 +13183,57 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of guide curve - - - - - Description of guide curve - - - - - Reference to a guide curve profile - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - For the first segment fromGuideCurveUID is not - a valid entry! For the first guideCurve - fromRelativeCircumference must be applied! fromGuideCurveUID is - exclusive. - - - - - Reference to the previous guide curve from - which this guide curve shall start. - - - - - - Continuity definition for geometry - generation. Possible options: C0, C1 from previous, C2 from - previous, C1 to previous, C2 to previous - - - - - - - - - - - - - - + + - - - Reference to the relative circumference - position from which the guide curve shall start. Valid values - are in the interval -1.0...1.0. - - - - - - Tangent at first point - - + + + - - - - The relative circumference - position at which the guide curve shall end. Valid values - are in the interval -1,..,1. - - - - - - Tangent at last point - - - - - - Local direction along which the relative x-coordinates of - the guide curve points are defined. For the wing the default is - the wing's local x-axis, for the fuselage its the fuselage's local z-axis. - - - - - + - Guide Curves Type + Flights - Guide Curve type. This type is used to describe guide - curves that enable designers to create a geometry that deviates - from a standard loft. + Flighs type, containing all flight definitions + @@ -13839,26 +13241,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - hingeMomentsMapType + Flight systems - hingeMomentsMap type, containing a hinge moments map - with aerodynamic data. Array order is: angleOfAttack min->max - then angleOfSideslip then reynoldsNumber then machNumber. - All coefficients in the aeroperformanceMap relate to - the CPACS coordinate system. See documentation of the - CPACS-Element for further information. + @@ -13866,222 +13263,258 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + + + + + flightType + + + Flight type, containing data of a scheduled flight + + + + + + + + - Name of the AeroPerformanceMap. - + MissionUID for the flights mission definition - + - Description of the AeroPerformanceMap. - + ModelUID of the aircraft appointed to perform the flight - + - Mach number + Departure day of the flight - + - Reynolds Number + Time of departure - the time is defined as SOBT (Scheduled Off-Block Time) / STD (Scheduled Time of Departure) - + - Sideslip angle + Arrival day of the flight - + - Angle of attack + Time of arrival - the time is defined as SIBT (Scheduled In-Block Time) / STA (Scheduled Time of Arrival) - + + + Reference to the operating airline of a flight + + + + - + - htpFwdInterfaceDefType + floorPanelsType - Definition of the interface of forward HTP attachment + FloorPanels type, containing floor panel definitions + + + + + + + + + + + + + + + floorPanelAssemblyPositionType + + + FloorPanelAssemblyPosition type, containing a floor + panel assembly position + + + + - - Definition of the forward HTP attachment - interface - - - - relative width of reinforcement at fwd HTP - attachment, between 0.0 and 1.0 - - - + - relative width of plate at fwd HTP attachment - (only applicable for Type1 model), between 0.0 and 1.0, smaller - than htpPlateWidth + x coordinate of the begin of the floor panel + (absolute value) - + - UID of panel element at HTP forward attachment - in x-direction (shell elements) + x coordinate of the end of the floor panel + (absolute value) - + - UID of panel element at HTP forward attachment - in z-direction (shell elements) + UID of the first long. floor beam to be + connected to the floor panel - + - UID of reinforcements for panel element at HTP - forward attachment in z-direction (beam elements) - + UID of the second long. floor beam to be + connected to the floor panel - + - UID of the element to fix HTP to fuselage - (beam elements) + UID of structural sheet element used for the + floor panel + - + - + - htpInterfaceDefType + Flying qualities - Definition of the interface of HTP + Provides a list of flying qualities cases + - - - Definition of the HTP interface - - - - - UID of the fuselage frame at the forward HTP - attchment - - - - - - UID of the fuselage frame at the backward HTP - attchment - - + + - - - maximum HTP deflection (nose up in - degrees) - + + + + + + + + + + + Flying qualities case + + + + + + + + + + + + + Name - + - maximum HTP deflection (nose down in - degrees) - + Description - + - angle of the reinforcements at backward HTP - attchment - (in degrees) - + Aircraft Class; Class 1 small light aircraft; + Class 2 medium weight aircraft, low to medium maneuverability; + Class 3 large, heavy aircraft, low to medium maneuverability; + Class 4 high maneuverability aircraft - + - Defines area (absolute) in x-direction around - htpFrame2UID where the HTP attachmentpoint has correct position - ==> check and potentially warning message + Flight Phase Category; Category A Non-terminal + flight phases requiring maneuvering, precision tracking, or + precise flight-path control (e.g. air-to-air combat, terrain + following). Category B Non-terminal Flight Phases with gradual + maneuvers and without precision tracking, although accurate + flight-path control may be required (e.g. climb, cruise). + Category C Terminal Flight Phases are normally accomplished + using gradual maneuvers and usually require accurate flight-path + control (takeoff, approach and landing). - + - Defines area (absolute) in y-direction around - the - outer edge of htpFrame2UID where the HTP attachmentpoint has correct - y-position ==> check and potentially warning - message - + main element containing longitudinal transfer + functions - + - Defines allowed z-position for rear HTP - attachment - relativ to total frame height ==> check and potentially warning - message ==> check and potentially warning - message - + main element containing lateral directional + transfer functions - + - Definition of HTP structural - elements + main element containing characteristic + parameters of the handling qualities criteria - + - Definition of HTP forward attachment to - structure - + main element containing handling qualities + ratings - + - + - htpStructElemDefType + fqCharParametersType - definition of structural elements in HTP attachment - + @@ -14089,59 +13522,66 @@ The fuel tank volume type should also be used for the wing fuel tank - - Definition of tailplane attachment area - (Standard Configuration) - - + - UID of structural element for HTP front - crossbeams + static margin [-] - + - UID of structural element for HTP rear - crossbeams + main element containing characteristic + parameter of phugoid damping - + - UID of structural element for HTP diagonal - beams + main element containing characteristic + parameters of short period mode criteria - + - UID of structural element for HTP side beams - + main element containing characteristic + parameters of roll oscillation criterion - + - UID of structural element for upper HTP cutout - reinforcement beams, also used for lower cutout reinforcement, - when not explicitely defined + coupling of roll and spiral mode: normal = no + coupling of roll and spiral mode coupled = coupling of roll and + spiral mode - + - UID of structural element for lower HTP cutout - reinforcement beams (optional) + main element containing characteristic + parameters of lateral eigenvalues + + + + + main element containing characteristic + parameters of effective roll time constant criterion + + + + + + main element containing characteristic + parameters of roll performance criterion - - + - indirectOperatingCostType + fqEiglatType @@ -14152,18 +13592,76 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + natural frequency of dutch roll mode [rad/s] + + + + + + damping of dutch roll mode [-] + + + + + + roll time constant [s] + + + + + time to double of spiral mode [s] + + + + + + ratio of bank to sideslip angle [-] + + + + + + natural frequency of coupled rollspiral motion + [rad/s] + + + + + damping ratio of coupled roll-spiral motion + + + + + + product of roll-spiral damping and natural + frequency [rad/s] + + + + + handling qualities level of roll time constant + + + + + + handling qualities level of roll spiral mode + + + - + - interConnectionStrutAttachmentType + fqLateralType @@ -14174,29 +13672,121 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Definition of the position of the attachment - joint in relative coordinates. + numerator of transfer function roll control + surface deflection to bank angle - + - Material settings of the attachment. + numerator of transfer function roll control + surface deflection to yaw rate + + + + + numerator of transfer function roll control + surface deflection to sideslip angle + + + + + numerator of transfer function roll control + surface deflection to bank angle of reduced 4th order system + + + + + + numerator of transfer function roll control + surface deflection to sideslip angle of reduced 4th order system + + + + + + numerator of transfer function yaw control + surface deflection to yaw rate + + + + + numerator of transfer function yaw control + surface deflection to sideslip angle + + + + + numerator of transfer function roll stick + input to roll rate + + + + + numerator of transfer function roll stick + input to yaw rate + + + + + numerator of transfer function roll stick + input to bank angle + + + + + numerator of transfer function roll stick + input to sideslip angle + + + + + numerator of transfer function pedal input to + roll rate + + + + + numerator of transfer function pedal input to + yaw rate + + + + + numerator of transfer function pedal input to + bank angle + + + + + numerator of transfer function pedal input to + sideslip angle + + + + + denominator of lateral motion + + + denominator of lateral motion of reduced 4th + order system + + - + - interconnectionStrutType + fqLongitudinalType @@ -14207,49 +13797,53 @@ The fuel tank volume type should also be used for the wing fuel tank - + - uID of control surface where this flap is - attached to by the interconnection strut. + numerator of transfer function pitch stick + input to pitch rate - + - Material settings of the strut (if strut is - moddeled as a simple strut). + numerator of transfer function pitch control + surface deflection to pitch angle - + - Definition of the attachment on this control - surface. + numerator of transfer function pitch stick + input to pitch angle - + - Definition of the attachment on the other - control surface + numerator of transfer function pitch stick + input to angle of attack - + - Free path in positive (tensil) and negative - (compression) direction before interconnection strut blocks. + numerator of transfer function pitch stick + input to vertical load factor + + + + + denominator of longitudinal motion - - + - interconnectionStrutsType + fqPhugoidType @@ -14259,28 +13853,33 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - Definition of one interconnection strut. + damping ratio of phugoid mode [-] - + + + time to double amplitude of unstable phugoid + mode [s] + + + - + - intercostalPositionType + fqRatingsType - intercostalPosition type, containing the position of intercostals - in DSS + @@ -14288,75 +13887,95 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + - UID of the frame at which intercostal - starts + handling qualities level of phugoid damping + - + - UID of the forward door frame + handling qualities level of C* criterion + - + - UID of the door + main element containing handling qualities + levels of short period mode - + - non-dimensional value ranging between 0 and 1 - + main element containing handling qualities + levels of roll oscillation criterion - + - UID of profileBasedStructuralElement used for - intercostal + main element containing handling qualities + levels of lateral eigenvalues + + + + + handling qualities level of effective roll + time constant + + + + + handling qualities level of roll performance + - - + - IntercostalsAssemblyType + fqRollPerfType - IntercostalsAssembly type, containing intercostal - definitions + - - - + + + + time to reach critical bank angle [s] + + + + + + critical bank angle that has to be reached + [deg] + + + - + - structuralElementsConnectionsType + fqRoloscType - StructuralElementsConnections type, containing - connections between structural elements + @@ -14364,29 +13983,51 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Flag for automatic generation of interface - definitions (draft version) + ratio of oscillatory component of the roll + rate to the average roll rate [-] + + + + + phase angle of dutch roll oscillation in + sideslip [deg] + + + + + phase angle between roll rate and sideslip in + dutch roll mode [deg] + + + + + ratio of first minimum roll rate to first + maximum [-] + + + + + handling qualities level of ratio of + oscillatory component of roll rate to average roll rate + - - - + - landingGearInterfaceDefinitionsType + fqShortPeriodType - CenterFuselage landing gear interface definitions - + @@ -14394,28 +14035,50 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - + + + steady state normal acceleration change with + angle of attack [g/rad] + + + + + short period natural frequency of reduced + order system [rad/s] + + + + + short period damping ratio of reduced order + system [-] + + + + + equivalent pitch time delay of reduced order + system [s] + + + + + handling qualities level of CAP criterion + + + - - + - keelbeamType + fqTreffType - HighWingCenterFuselage / Keelbeam definition between - mainframe1 und mainframe2 + @@ -14423,64 +14086,55 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - - - - - - + + + effective roll time constant [s] + + + + + + time where tangent of bank angle step response + is placed [s] + + + + + + + + + - lateralPanelsType + framesAssemblyType - HighWingCenterFuselage / lateral Panel definition - between mainframe1 und mainframe2 + FramesAssembly type, containing frames assembly + - - - - - - - - - - + + + - + - longFloorBeamConnectionType + frameType - HighWingCenterFuselage / Long. floor beam connection + frame type, containing frame definition (V1.5+) @@ -14488,24 +14142,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + - + - centerFuselageMainFramesType + freePathType - High wing main frame definition, containing mainframe - UIDs + @@ -14513,26 +14166,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + - - + - pressureFloorType + mass - High Wing Center Fuselage / pressure floor definition - between mainframe1 und mainframe2 + @@ -14540,26 +14189,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + - - + - sideboxType + Fuel Mass Fraction - HighWingCenterFuselage / side box definition between - mainframe1 und mainframe2 + Describing the mass fraction considered for a mission segment sequence @@ -14567,74 +14211,59 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + Reference to the segment from which the fuel fraction should be considered + + + + + Reference to the segment to which the fuel fraction should be considered + + + + + Float value of the mass fraction defined as + fraction = m_end / m_start + + - - + - Landing gear position safety margins + Fuels - LandingGearPositionSafetyMargins type, containing the - safety margins of the gear due to its position + fuelType containing data for fuels - - - - Safety margin for landing gear x position - regarding tail clearance at takeoff pitch angle - - - - - - Safety margin for landing gear x position to - avoid tail dropping down during touchDown and ground maneuvering - - - - - - Safety margin for landing gear y position to - avoid wing tip dropping down during ground maneuvering - - - - - - Safety margin for landing gear y position - regarding wingtip or engine nacelle clearance at a certein roll - angle - - - + + + - + - Landing gears + Definition of different volumes of the fuel tank. + - Contains a list of landing gears. + @@ -14642,22 +14271,59 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Theoretical volume if material thicknesses + (ribs, spars, skins, stringers) and systems (fuel pumps, + pipes...) are neglected. + + + + + + + Usable fuel volume aircraft operations. + + + + + + Total real fuel tank volume. + + + + + + + + Factor between the usalbe fuel volume and + the real fuel volume. + + + + + Factor between the real fuel volume and the + theoretical optimum fuel volume. + + + + - + - Landing gears + Fuels - LandingGear type, containing the definition of nose, - main and skid gears. + fuelType containing data for fuels + Can be used as a catalog for different (liquid) fuel + types @@ -14665,39 +14331,36 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + + + at 15deg C + + + + + + + + + - + - Trailing edge device of the wing. + fuselageAeroPerformanceType - A leadingEdgeDevice (LED) is defined via its outerShape - relative to the componentSegment. The WingCutOut defines the area - of the skin that is removed by the LED. Structure is similar to - the wing structure. The mechanical links between the LED and the - parrent are defined in tracks. The deflection path is described - in path. Additional actuators, that are not included into a - track, can be defined in actuators. - Leading and trailing edge are defined by the outer - shape of the wing segments, i.e. the trailing edge of a - trailingEdgeDevice is the trailing edge of the wing. This is also - valid for kinks that are present in the wing but not explicitly - modeled in the control surface. - The edges of the control surface within the wing are a - straight line in absolute coordinates! Hence, there needs to be a - straight connection between the eta-wise outer and inner points - of the edge that is within the wing in absolute coordinates. - + fuselageAeroPerformance type, containing perfomance + maps with aerodynamic data of a fuselage. @@ -14705,47 +14368,39 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the leading edge device. + Reference to the uID of the analysed fuselage - + - Description of the leading edge device. - + References used for the calculation of the + force and moment coefficients of the fuselage (in the fuselage + axis system!) - + - UID of the parent of the LED. The parent is - the componentSegment, where it is attached to. - + Calculated aerodynamic performance maps of the + fuselage - - - - - - - - + - Definition of the wings leading edge devices. - + fuselageCutOutsType - Definition of the wings leading edge devices. + fuselageCutOuts type, containing fuselage cutouts @@ -14754,30 +14409,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Optional definition of the airfoil inner shape of - leading edge devices (LED). + fuselageCutOutType - - All parameters are optional. For the definition of the - parameters, please refer to the picture below. Parameters from - the outer border default to the parameters of the inner border. - - - - - + fuselageCutOut type, containing a fuselage cutout + definition @@ -14785,91 +14432,143 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Relative height of the most forward point of - the LED's rear part, based on the airfoil height of the parent - at this position. Optional. + Name of the cutout - + - Relative chordwise position of the most - forward point of the LED's rear part, based on the chord of the - parent at this position. Optional. + Description of the cutout + + + + + X position of the cutout center point + + + + + + Y offset of the cutout reference point + + + + + + Z offset of the cutout reference point + + + + + + Angle in degrees of the vector pointing from + the cutout reference point to the cutout center point, measured + relative to the direction of the fuselage z axis. + + + + + + Coordinates of the unit vector defining the + direction of extrusion + + + + + Coordinates of the unit vector defining the + y-axis of the local cutout coordinate system. Must be normal to + the orientationVector. + + + + + This value is used to define the width of the + cutout + + + + + This value is used to define the height of the + cutout + + + + + This value is used to define the width of the + cutout + + + + + This value is used to define the height of the + cutout + + + + + Fillet radius of the cut element (absolute + value) + + + + + Cutout type. Determines the type of the cutout + and how it is treated by the tools. Possible values: + ("window"|"door"|"ramp") + + + + + + + + + + + + + - + - Optional definition of the leading edge shape of - trailing edge devices (TED). + fuselageElementsType - - All parameters are optional. For the definition of the - parameters, please refer to the picture below. Parameters from - the outer border default to the parameters of the inner border. - - - - - + FuselageElements type, containing the elements of a + fuselage section - - - - Relative height of the leading edge of the TED, - based on the airfoil height of the parent at this position. - Optional. - - - - - Relative chordwise upper skin position, of the - border, where the airfoil of the TED is equivalent of the - airfoil from the parent. Measured from the rear to the front (0 - = TED trailing edge; 1 = TED leading edge). Values form the - outer border default to the value of the inner border. Optional. - - - - - - Relative chordwise lower skin position, of the - border, where the airfoil of the TED is equivalent of the - airfoil from the parent. Measured from the rear to the front (0 - = TED trailing edge; 1 = TED leading edge). Values form the - outer border default to the value of the inner border. Optional. - - - - + + + - + - linerType + fuselageElementType - Liner type, containing liner data + FuselageElement type, containing fuselage element data + @@ -14877,75 +14576,68 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Type of liner + Name of fuselage element - - - - - - - - - + - % of fan diameter + Description of fuselage element + - + - % of fan diameter + Reference to a fuselage profile + + + - + - Link to file (Step, Iges or Stl) + List of fuselage fuel tanks. - Please provide a link to the additional file that shall - be loaded by the TIGL library. Furthermore it is necessary to - provide the format attribute so that the file type can be - identified. Several CAD formats provide multiple endings, and - hence, this measure seems necessary. + - - - - - - - - - - - + + + + + + The fuselage fuel tank geometry is defined by a link to a fuselage geometry compartment. +The fuel tank volume type should also be used for the wing fuel tank + + + - + - + - Load analysis + Definition of one fuselage fuel tank. - + The definition of fuselage tanks is still preliminary. + Currently, there is no link to any structural elements + @@ -14953,149 +14645,150 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Name of the fuselage fuel tank. + + + + + + Description of the fuselage fuel tank. + + + + + + Link to the tank geometry defined by a compartment. + + + + + + + + - + - loadBreakdownType + fuselageProfilesType - + FuselageProfiles type, containing fuselage profile + geometries. See profileGeometryType for further documentation + - - - - - - - + + + - + - Load cases + fuselagesAeroPerformanceType - + fuselagesAeroPerformance type, containing + fuselagesAeroPerformance - - - - - - + + + - + - loadReferenceAxisPointType + fuselageSectionsType - + FuselageSections type, containing fuselage sections + - - - - - - - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative height position. - relHeight is relative to the local airfoil thickness. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - - - + + + - + - loadReferenceAxisPointsType + fuselageSectionType - + FuselageSection type, containing fusleage section and + element data - - - + + + + Name of fuselage section + + + + + Description of fuselage section + + + + + + + - + - Load envelopes + fuselageSegmentsType - The loads envelope is the results of the loadsAnalysis - and lists those loadcases that are limiting for the design - + FuselageSegments type, containing fuselage segment + definitions (from sections and elements) @@ -15103,25 +14796,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - logFloorBeamPositionType + fuselageSegmentType - longFloorBeamPosition type, containing individual - position definition + FuselageSegment type, containing data of a fuselage + segment @@ -15129,93 +14819,93 @@ The fuel tank volume type should also be used for the wing fuel tank - + - UID of structural element + Name of fuselage segment - + - UID of crossbeam to which the long. beam is - attached + Description of fuselage segment + - + - y position of long. beam + Reference to element from which the segment + shall start - - + - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) + Reference to element at which the segment + shall end - - - - - - - - - + - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile + Optional and additional guidecurves to shape + the outer geometry. - - - - - - - - - + - + - longFloorBeamType + fuselageStructureType - longFloorBeam type, containing a long. floor beam - definition + FuselageStructure type, containing data of the fuselage's + structure - - - - + + + + + + + + + + + + + + + + + + + + + + - + - longFloorBeamsAssemblyType + Fuselages - longFloorBeamsAssembly type, containing long. floor - beam assemblys + Fuselages type, containing the fuselages of the + configuration @@ -15223,21 +14913,27 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - mAirConditioningType + fuselageType - + + Fuselage type, containing all data related to a + fuselage + + + + @@ -15245,80 +14941,53 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Air conditioning mass description + + Name of fuselage - - - - - - - - - - - mAutomaticFlightSystemType - - - - - - - - - - - + - Automatic flight system mass description + + Description of fuselage - - - - - - - - - - - mAuxillaryPowerUnitType - - - - - - - - - - - + - Auxillary power unit masse description + + UID of part to which the fuselage is + mounted (if any) + + + + + + + + + + + - + - mBellyFairingsType + Galley elements - + Galley element collection type @@ -15326,22 +14995,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Galley element for use in the decks + + - + - mBleedAirSystemType + Galley element - + Galley element type, containing the base elements of the cabin @@ -15349,48 +15021,33 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Bleed air system mass description - + Description + + + + + + + Number of trolleys + - - - - - - mBulkCargoType - - - - - - - - - - - - - - - - - + - mBulkCargosType + Galleys - + Galley instance collection type. @@ -15398,22 +15055,44 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Galley + + - + - mBulkheadsType + This type contains a list of gears and their deflection + vectors - + + + 0. General overview + + In this type, a list of gears is defined. + + + + + 1. + <gear> + (mandatory) + + + One of these nodes per deflected gear is required + here. + + + @@ -15421,68 +15100,147 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCabinFloorsType + This type contains a vector of deflection values for a + single gear - + + + 0. General overview + + In this type, a vector of deflections of a single + gear is specified. + + + + 1. + <gearUID> + (mandatory) + + + A reference to a gear from the aircraft model + + + + + 2. + <controlParameters> + (mandatory) + + + A vector of control parameters of the selected + gear + + + - - - - + + + + Reference to a gear + + + + + Control parameters of the gear + + + + - + - mCabinLightingsType + stringerFramePositionType - + stringerFramePosition type, containing individual + stringer / frame postion definition (CPACS V2.1+) - - - - + + + + + + + + + + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + + - + - mCargoFloorsType + generalStructuralMembersAssemblyType - + generalStructuralMembersAssembly type, containing + structural member assemblys @@ -15490,19 +15248,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCargoLiningsType + generalStructuralMemberType @@ -15513,19 +15270,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + - + - mCargoLoadingsType + genericCostType @@ -15535,57 +15293,50 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + - + - Cargo masses + Generic floor elements - + Generic floor element collection type - - - - Cargo masses description - - - + + - Cargo mass description + Generic floor element for use in the decks - - - + - - + - mCarriagesType + Generic floor modules - + Generic floor module instance collection type. @@ -15593,22 +15344,36 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Generic floor module + + - + - mCarryOnType + genericGeometricComponentType - + + In some cases additional geometric components need to + be linked to a CPACS, but these components are not yet handled by + CPACS explicitly. For example, a belly fairing and/or external + tanks. + A generic geometric component may be applied to include + such a geometry from an external file (preferably STEP) in the + context of the overall aircraft. + + + + @@ -15616,18 +15381,39 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name of genericGeometricComponent + + + + + + Description of genericGeometricComponent + + + + + + UID of part to which the component is mounted + (if any) + + + + + + - + - mCarryOnsType + Generic geometric components @@ -15638,19 +15424,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCateringsType + Generic geometry component @@ -15660,46 +15445,167 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + - + - mCellsType + Mass description - - - - - - - - - - - - - - - - - - - - - mSparCellsType - - - + + + + + + parentUID not set + + parentUID set + + + + location without refType + + global + local + + + + location with refType="absLocal" + + global + local + + + + location with refType="absGlobal" + + global + global + + + + Note: The combination of location with refType="absLocal" and no parentUID is global, because the local coordinate system to which the location is referring to via refType equals the global coordinate system. + + + + ... + + + ... + + + ... + + + ... + + + ]]> + + + + + ... + + + ... + + + ... + + + ... + + + ]]> + + + + + ... + + + ... + + + ... + + + ... + + + ]]> + + + + wingUID + + ... + + + ... + + + ... + + + ... + + + ]]> + + + + wingUID + + ... + + + ... + + + ... + + + ... + + + ]]> + + + + wingUID + + ... + + + ... + + + ... + + + ... + + + ]]> + + @@ -15707,22 +15613,63 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Name + + + + + Description + + + + + UID of the component which serves as parent element, i.e. whose coordinate system is to be used as a reference for the mass properties (CoG location, orientation and massInertia). Thus, two cases can occur: (1) + it is set: local coordinate system of the parent; (2) it is not set: global CPACS coordinate system. + + + + + + Mass [kg] + + + + + Mass location. + If the optional refType attribute is set, it explicitly specifies whether the location of the mass refers to the global CPACS coordinate system (absGobal) or the local coordinate system of the parent element (absLocal, given by the CPACS hierarchy OR by parentUID). + If it is not set, the global CPACS coordinate system is considered as default. + To ensure consistency, the same settings apply as well to orientation and massInertia. + + + + + + Orientation. The reference coordinate system (absGlobal or absLocal) is identical to location. + + + + + Mass intertia. The reference coordinate system (absGlobal or absLocal) is identical to location. + + + - + - mCockpitLightingsType + genericSystemsType - + Node for geometrical layout of system components + based on simple geometric shapes @@ -15730,22 +15677,28 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCommunicationType + Generic system type containing describing the basic dimensions of a system component using simple geometric shapes - + + The generic base types must be one of the following cone|sphere|cube|cylinder. The origin of the shapes is at the center of volume for cube, sphere and cylinder. Since the cone is constructued from a cylindric shape, its origin is at the same location as the origin of the basic cylinder, although not any longer the center of volume due to scaling of one side. While cube and sphere are symmetrical in all three axis, cylinder and cone are standing upright in the direction of cpacs z-axis. The tip of the cone is located in direction of the positive z-axis. The figure below illustrates the default position and orientation of the different shapes. Note that the cube, cylinder and sphere were moved along the x-axis for demonstration by 2, 4 and 6 meters respectively. + For spheres the default diameter is 1m. Cubes have a length of 1m in all three dimensions. Cylinders have a length of 1m and a diameter of 1m for the circular cross section. The cone is a cylinder with the top face scaled down to zero. + + + + + @@ -15753,26 +15706,47 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Communication mass description - + Name of the system component. + + + + + Description of the system component. + + + + + Enum for selecting the basic shape of the + component + + + + + + + + + + + - + - mComponentSegmentType + geographicPointConstraintType - + Geographic point constraint, containing a longitude, latitude, altitude data triplet. @@ -15780,51 +15754,56 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - + + + + Longitude coordinate 0-360 + + + + + + + + + + + + Latitude coordinate 0-360 + + + + + + + + + + + + Altitude in meters + + + + + + + + - - - - - - mComponentSegmentsType - - - - - - - - - - - - - - - - - - + - mControlSurfaceSupportType + geographicPointType - + Geographic point type, containing a longitude, latitude, altitude data triplet. @@ -15832,70 +15811,103 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + Longitude coordinate 0-360 + + + + + Latitude coordinate 0-360 + + + + + Altitude in meters + + + - + - mControlSurfaceSupportsType + airfoilAeroPerformanceType - + airfoilAeroPerformance type, containing perfomance maps + with aerodynamic data of an airfoil. - - - - + + + + References used for the calculation of the + force and moment coefficients + + + + + Calculated aerodynamic performance maps of the + full configuration + + + - + - mCrewMembersType + globalBeamPropertiesType - + globalBeamPropertiesType, containing the global beam + properties such as EA, EI, mass - - - - + + + + + + + + + + + - + - mCrewSeatsType + Flight point - + + + @@ -15903,22 +15915,51 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + + + + Mach number + + + + + + + Calibrated air speed + + + + + + + True air speed + + + + + + - + - mDeIcingType + Performance Cases - + + Specification of performance cases required for the performance evaluation of air vehicles (aircraft, rotorcraft, etc.). + The information in this node is generally applicable to any kind of vehicle. Vehicle-specific information is provided through the performanceRequirements node found under: /cpacs/vehicles/../model/performanceCases. + @@ -15926,45 +15967,19 @@ The fuel tank volume type should also be used for the wing fuel tank - - - De-icing mass description - - + + - - - - - - mDocumentsToolsType - - - - - - - - - - - - - - - - - - + - mDoorsType + Ground load Cases @@ -15975,22 +15990,47 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mElectricalDistributionType + guideCurveProfileGeometryType - + + A guide curve profile is defined by a profile name, an + optional description and a 3-dimensional relative pointlist with + all three coordinates mandatory. For typical profiles, one of + the coordinate vectors contains only "0" entries. All point + coordinates are transferred to the global coordinate system. + First and last point may, but need not to, be identical. + + The points have to be ordered in a mathematical + positive sense. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + Curves have to go continuously over the whole wing or + fuselage + Connection of guide curves from segment to segment + + + + + + + + Please note, currently it is not possible to apply any + means of class based transformation in the description. However, + this may be an addition for the future. + @@ -15998,53 +16038,60 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Electrical distribution mass description - + Name of profile + + + + + Description of profile + + + - + - mElectricalGenerationType + guideCurveProfilesType - + Guide Curve Profiles type. This type is used to + describe guide curves that enable designers to create a geometry + that deviates from a standard loft. + - - - - Electrical generation mass description - - - - + + + - + - mEmergencyEquipmentsType + Guide Curves Type - + Guide Curve type. This type is used to describe guide + curves that enable designers to create a geometry that deviates + from a standard loft. @@ -16052,22 +16099,30 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mEmergencyOxygenSystemsType + Guide Curve Type - + + A guide curve may be used to alter the shape of the + outer geometry and "guide" the loft. + The guide curve profiles are defined in the guideCurveProfileGeometryType. + Their use on wing and fuselage components is illustrated in the image below. + + + + + @@ -16075,67 +16130,113 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - mEmptyULDType - - - - - - - - - - - - - - - - - - - - - - mEmptyULDsType - - - - - - - - - - - - + + + Name of guide curve + + + + + Description of guide curve + + + + + Reference to a guide curve profile + + + + + + For the first segment fromGuideCurveUID is not + a valid entry! For the first guideCurve + fromRelativeCircumference must be applied! fromGuideCurveUID is + exclusive. + + + + + + Reference to the previous guide curve from + which this guide curve shall start. + + + + + + Continuity definition for geometry + generation. Possible options: C0, C1 from previous, C2 from + previous, C1 to previous, C2 to previous + + + + + + + + + + + + + + + + + + + Reference to the relative circumference + position from which the guide curve shall start. Valid values + are in the interval -1.0...1.0. + + + + + + Tangent at first point + + + + + + + + The relative circumference + position at which the guide curve shall end. Valid values + are in the interval -1,..,1. + + + + + + Tangent at last point + + + + + + Local direction along which the relative x-coordinates of + the guide curve points are defined. For the wing the default is + the wing's local x-axis, for the fuselage its the fuselage's local z-axis. + + + + - + - mEngineControlType + CPACS header - + Header type, containing CPACS dataset description + @@ -16143,78 +16244,188 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Engine control mass description + Name of CPACS dataset + + + + + Description of CPACS dataset + + + + + + Creator of initial CPACS dataset + + + + + + Timestamp of initial CPACS dataset creation + + + + + + Version of initial CPACS dataset + + + + + + CPACS version that the dataset is valid to. The element is optional, since data sets + can be valid for several CPACS versions. However, we strongly recommend to assign data sets to a + specific CPACS version as far as possible, especially since some tools and libraries (e.g. TiGL) + require this specification. + + + + + + - + - mEquippedEnginesType + hingeMomentsMapType - + hingeMomentsMap type, containing a hinge moments map + with aerodynamic data. Array order is: angleOfAttack min->max + then angleOfSideslip then reynoldsNumber then machNumber. + All coefficients in the aeroperformanceMap relate to + the CPACS coordinate system. See documentation of the + CPACS-Element for further information. - - + + - - Equipped engines mass description + Name of the AeroPerformanceMap. - - + + + Description of the AeroPerformanceMap. + + + + + + Mach number + + + + + Reynolds Number + + + + + Sideslip angle + + + + + Angle of attack + + + + - + - mExtLightingsType + htpFwdInterfaceDefType - + Definition of the interface of forward HTP attachment + - - - - + + + Definition of the forward HTP attachment + interface + + + + relative width of reinforcement at fwd HTP + attachment, between 0.0 and 1.0 + + + + + relative width of plate at fwd HTP attachment + (only applicable for Type1 model), between 0.0 and 1.0, smaller + than htpPlateWidth + + + + + UID of panel element at HTP forward attachment + in x-direction (shell elements) + + + + + UID of panel element at HTP forward attachment + in z-direction (shell elements) + + + + + UID of reinforcements for panel element at HTP + forward attachment in z-direction (beam elements) + + + + + + UID of the element to fix HTP to fuselage + (beam elements) + + + + - + - mFireProtectionType + htpInterfaceDefType - + Definition of the interface of HTP @@ -16222,46 +16433,163 @@ The fuel tank volume type should also be used for the wing fuel tank - + + Definition of the HTP interface + + + - Fire protection mass description + UID of the fuselage frame at the forward HTP + attchment + + + + + + UID of the fuselage frame at the backward HTP + attchment + + + + + + maximum HTP deflection (nose up in + degrees) + + + + + + maximum HTP deflection (nose down in + degrees) + + + + + + angle of the reinforcements at backward HTP + attchment + (in degrees) + + + + + + Defines area (absolute) in x-direction around + htpFrame2UID where the HTP attachmentpoint has correct position + ==> check and potentially warning message + + + + + Defines area (absolute) in y-direction around + the + outer edge of htpFrame2UID where the HTP attachmentpoint has correct + y-position ==> check and potentially warning + message + + + + + + Defines allowed z-position for rear HTP + attachment + relativ to total frame height ==> check and potentially warning + message ==> check and potentially warning + message + + + + + + Definition of HTP structural + elements + + + + + + Definition of HTP forward attachment to + structure + - + - mFixedGalleysType + htpStructElemDefType - + definition of structural elements in HTP attachment + - - - - + + + Definition of tailplane attachment area + (Standard Configuration) + + + + UID of structural element for HTP front + crossbeams + + + + + UID of structural element for HTP rear + crossbeams + + + + + UID of structural element for HTP diagonal + beams + + + + + UID of structural element for HTP side beams + + + + + + UID of structural element for upper HTP cutout + reinforcement beams, also used for lower cutout reinforcement, + when not explicitely defined + + + + + UID of structural element for lower HTP cutout + reinforcement beams (optional) + + + + - + - mFixedLeadingEdgeType + indirectOperatingCostType @@ -16272,42 +16600,41 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - mFixedLeadingEdgesType + integerBaseType - + Base type for integer nodes (including external data + attributes) - - - - - - + + + + + - + - - + - mFixedTrailingEdgeType + interConnectionStrutAttachmentType @@ -16318,20 +16645,29 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + Definition of the position of the attachment + joint in relative coordinates. + + + + + Material settings of the attachment. + + + - + - mFixedTrailingEdgesType + interconnectionStrutsType @@ -16342,19 +16678,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Definition of one interconnection strut. + + + - + - mFlightControlsType + interconnectionStrutType @@ -16365,74 +16705,106 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Flight controls mass description + uID of control surface where this flap is + attached to by the interconnection strut. + + + + + Material settings of the strut (if strut is + moddeled as a simple strut). + + + + + Definition of the attachment on this control + surface. + + + + + Definition of the attachment on the other + control surface + + + + + Free path in positive (tensil) and negative + (compression) direction before interconnection strut blocks. + - + - mFloorCoveringsType + intercostalPositionType - + intercostalPosition type, containing the position of intercostals + in DSS - - - - - - - - - - - - - - mFramesType - - - - - - - - - - - + + + + + + UID of the frame at which intercostal + starts + + + + + UID of the forward door frame + - + + + UID of the door + - + + + non-dimensional value ranging between 0 and 1 + + + + + + UID of profileBasedStructuralElement used for + intercostal + + + + - + - mFreshWaterSystemsType + IntercostalsAssemblyType - + IntercostalsAssembly type, containing intercostal + definitions @@ -16440,22 +16812,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mFuelSystemType + structuralElementsConnectionsType - + StructuralElementsConnections type, containing + connections between structural elements @@ -16463,53 +16835,55 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Fuel system mass description - + Flag for automatic generation of interface + definitions (draft version) + + - + - Fuel mass + Internal pressure of a deck - - - - + - Fuel mass description + + Internal pressure of a fuselage, deck or compartment + - - + - Mass + Cabin pressure - + + Internal pressure of a fuselage, deck or compartment + @@ -16517,43 +16891,41 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Furnishing mass description + + UID of a fuselage, deck or compartment + + + + + + + Internal pressure [Pa] - - - - - - - - - - - - - - - - - - + - mFuselageStructureType + Isotropic material properties - + + Defines the material properties for an isotropic material. Note that the shear modulus G + is defined in terms of the elastic modulus E and the Poisson's ratio nu as: + + + + Specifying a value for all three properties E, G and nu therefore results in an overdetermined material definition and must be avoided. + @@ -16561,38 +16933,149 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Fuselage structure mass description + + Young's modulus [N/m^2] + + + + + + + Shear modulus [N/m^2] + + + + + + + Poisson's ratio + + + + + + + Thermal expansion coefficient [1/K] + + + + + + + Thermal conductivity of the material in + [W/(m*K)] + + + + + + + Allowable stress for tension [N/m^2] + + + + + + + Allowable stress for compression [N/m^2] + + + + + + + Allowable stress for shear [N/m^2] + + + + + + + Allowable strain for tension + + + + + + + Allowable strain for compression + + + + + + + Allowable strain for shear + + + + + + + Yield strength, tension [N/m^2] + + + + + + + Yield strength, compression [N/m^2] + + + + + + + Plastification curves for isotropic + materials incl. element elimination + + + + + + + Optional knockdown factor for fatiuqe + (defaults to 1) + + + + + + + Fatigue behaviour of the material + + + + + + + Damage tolerance behaviour of the + material - - - - - - - - - - - - - + - mWallsType + Landing gear base - + + Base type for landing gears (i.e. nose gear, main gear and skid gear). + An example of a nose and main gear is shown below: + + + + @@ -16600,77 +17083,174 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Name + + + + + Description + + + + + UID of the parent component. If set, the position of the main strut is defined relative to the parent coordinate system. + + + + + + + + + Total length of landing gear, equals the distance from the middle of the bogie/axles to the axis of rotation of the pintle strut. Distance is measured while landing gear is fully extended and in airborne condition (i.e., if a spring is present, the totalLength includes the springDeflectionLength) + + + + + Static suspension travel means the positive distance between the total length in airborne condition and the reduced length due to compression on the ground. + + + + + Compressed suspension travel means the positive distance between the total length in airborne condition and the maximum reduced length due to maximum compression on the ground (e.g., landing shock). + + + + + + + Transformation with respect to the uppermost point of the main strut. From this point the landing gear is oriented in negative z-direction by default. + + + + - + - mFuselagesStructureType + Braking function - + + + Describes the braking state of the landing gear. + + - - - - - - Fuselages structure mass description - - - - - - - + + + + Control parameter indicating that the brake is set + + + + + Control parameter indicating that the brake is released + + + + - + - mHydraulicDistributionType + Assembly of landing gear components - + + + Describes an assembly of the various landing gear components + + + + - - - - - - Hydraulic distribution mass description - - - - - - + + + + Main strut + + + + + + + + + + Drag strut (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + + - + - mHydraulicGenerationType + Landing gear control functions - + + + A list of functions which can be addressed by the controlDistributor. + + + + + + + + + + Extension path + + + + + Steering path + + + + + Braking state + + + + + + + + + + + Landing gear control parameters + + + + Parameters of a landing gear control such as extraction or steering. + @@ -16678,9 +17258,28 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Hydraulic generation mass description + + Retraction angle of the main landing + gear. Equals a rotation around the + global z-axis in degrees. 0 = retraction + to the front; 90 = retraction to the + left; 180 = retraction to the rear; 270 + = retraction to the right. + + + + + + + + Distance of the center of rotation to the top of the main strut + for retracting and extending the landing gear. I.e., a value of + 0 means that the landing gear will rotate around the upper end + of the main strut during retraction. If this value is greater + than 0, the center of rotation is shifted by this value above + the main strut end point (translation along the main strut axis). @@ -16689,88 +17288,115 @@ The fuel tank volume type should also be used for the wing fuel tank - + - mIFESystemsType + Extension step - + + + Describes a step with the extension path of the landing gear. Make sure to provide a least one step with stepType=extracted! + + - - - - - - - - + + + + Step type (retracted or extracted) + + + + + + + + + + + + Control parameter + + + + + Extension angle of the main strut [deg] + + + - + - mInstrumentPanelType + Extension path - + + + Describes the extension path of the landing gears via a list of steps. + + - - - - - - Instrument panel mass description - - - - - - + + + + Step within the extension path + + + + - + - mInsulationsType + landingGearInterfaceDefinitionsType - + CenterFuselage landing gear interface definitions + - - - - + + + + + + + + + - + - mIntegratedModularAvionicsType + keelbeamType - + HighWingCenterFuselage / Keelbeam definition between + mainframe1 und mainframe2 @@ -16778,26 +17404,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Integrated modular avionics mass description - - - + + + + + + + + + + + + + + - + - mInterGasSystemType + lateralPanelsType - + HighWingCenterFuselage / lateral Panel definition + between mainframe1 und mainframe2 @@ -16805,49 +17440,29 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Inter gas system mass description - - - - - - - - - - - - - - mLandingGearSupportsType - - - - - - - - - - - - - + + + + + + + + + - + - mLandingGearsType + longFloorBeamConnectionType - + HighWingCenterFuselage / Long. floor beam connection + @@ -16855,98 +17470,103 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Landing Gears mass description - - - - - + + - + - mLavatoriesType + centerFuselageMainFramesType - + High wing main frame definition, containing mainframe + UIDs - - - - + + + + + + + - + - mLiningsType + pressureFloorType - + High Wing Center Fuselage / pressure floor definition + between mainframe1 und mainframe2 - - - - + + + + + + + - + - mMainGearsType + sideboxType - + HighWingCenterFuselage / side box definition between + mainframe1 und mainframe2 - - - - + + + + + + - + - Mass + Landing gear position safety margins - + LandingGearPositionSafetyMargins type, containing the + safety margins of the gear due to its position @@ -16954,81 +17574,126 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Manufacturer empty mass description + Safety margin for landing gear x position + regarding tail clearance at takeoff pitch angle + + + + + + Safety margin for landing gear x position to + avoid tail dropping down during touchDown and ground maneuvering + + + + + + Safety margin for landing gear y position to + avoid wing tip dropping down during ground maneuvering - - - - + + + Safety margin for landing gear y position + regarding wingtip or engine nacelle clearance at a certein roll + angle + + - + - mMillitarySystemsType + Steering step - + + + Describes a step with the steering path of the landing gear. + + - - - - - - Millitary systems mass description - - - - - - + + + + Step type (centered, fullBackboard or fullStarboard) + + + + + + + + + + + + Control parameter + + + + + Steering angle [deg] + + + - + - mMoveableLeadingEdgeType + Steering path - + + + Describes the steering path of the landing gears via a list of steps. + + - - - - - - - - - + + + + Step within the steering path + + + + - + - mMoveableLeadingEdgesType + + Definition of the wing attachment + - + + Definition of the wing attachment, if + attached to the wing. The definition + includes the position of the landing gear as + well as the information to which spars resp. + supportBeam the gear is attached. + @@ -17036,70 +17701,110 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + UID of the second spar, where the landing gear is attached to. Only used, if the landing gear is attached between two spars. + + + + + + UID of a set of ribs (ribDefinition) + + + + + Number of the rib in the rib set (ribDefinition) + + + + + + + + UID of the structural mount + + + + - + - mMoveableTrailingEdgeType + Landing gears - + Contains a list of landing gears. - - - - - + + + - + - mMoveablesType + Definition of the main landing gear support beam + position - + Definition of the main landing gear support beam + position - - - - - + + + + Relative chordwise coordinate (xsi) of the + inner end of the support beam. The eta + position of the inner end is defined by the eta position of the + wing root (=wing-fuselage attachment). + + + + + Relative spanwise coordinate (eta) of the + outer end of the support beam. The xsi + coordinate of the outer end is defined by the spar position + (first spar), where the support beam is attached to. + + + + - + - mNavigationType + Landing gears - + LandingGear type, containing the definition of nose, + main and skid gears. @@ -17107,83 +17812,68 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Navigation mass description - - - + + + - - - - - - mNoseGearsType - - - - - - - + - + - - + + + + + + + + + + - + - Mass + Lavatories - + Lavatory instance collection type. - - + + - Operator items mass description - + Lavatory - - - - - - - - + - + - mOverheadBinsType + Lavatory elements - + Lavatory element collection type @@ -17191,22 +17881,27 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Lavatory element for use in the decks + + - + - mPartStowDoorsType + Definition of the wings leading edge devices. + - + Definition of the wings leading edge devices. + @@ -17214,22 +17909,37 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mPassengerType + Trailing edge device of the wing. - + A leadingEdgeDevice (LED) is defined via its outerShape + relative to the componentSegment. The WingCutOut defines the area + of the skin that is removed by the LED. Structure is similar to + the wing structure. The mechanical links between the LED and the + parrent are defined in tracks. The deflection path is described + in path. Additional actuators, that are not included into a + track, can be defined in actuators. + Leading and trailing edge are defined by the outer + shape of the wing segments, i.e. the trailing edge of a + trailingEdgeDevice is the trailing edge of the wing. This is also + valid for kinks that are present in the wing but not explicitly + modeled in the control surface. + The edges of the control surface within the wing are a + straight line in absolute coordinates! Hence, there needs to be a + straight connection between the eta-wise outer and inner points + of the edge that is within the wing in absolute coordinates. + @@ -17237,44 +17947,55 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name of the leading edge device. + + + + + + Description of the leading edge device. + + + + + + UID of the parent of the LED. The parent is + the componentSegment, where it is attached to. + + + + + + + + + + - - - - - - mPassengersType - - - - - - - - - - - - - - - - - - + - Passengers masses + Optional definition of the airfoil inner shape of + leading edge devices (LED). - + + All parameters are optional. For the definition of the + parameters, please refer to the picture below. Parameters from + the outer border default to the parameters of the inner border. + + + + + @@ -17282,32 +18003,43 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Passanger masses Description - + Relative height of the most forward point of + the LED's rear part, based on the airfoil height of the parent + at this position. Optional. - + - Passanger mass Description + Relative chordwise position of the most + forward point of the LED's rear part, based on the chord of the + parent at this position. Optional. - - + - Payload mass + Optional definition of the leading edge shape of + trailing edge devices (TED). - + + All parameters are optional. For the definition of the + parameters, please refer to the picture below. Parameters from + the outer border default to the parameters of the inner border. + + + + + @@ -17315,27 +18047,47 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Payload mass description + Relative height of the leading edge of the TED, + based on the airfoil height of the parent at this position. + Optional. + + + + + Relative chordwise upper skin position, of the + border, where the airfoil of the TED is equivalent of the + airfoil from the parent. Measured from the rear to the front (0 + = TED trailing edge; 1 = TED leading edge). Values form the + outer border default to the value of the inner border. Optional. + + + + + + Relative chordwise lower skin position, of the + border, where the airfoil of the TED is equivalent of the + airfoil from the parent. Measured from the rear to the front (0 + = TED trailing edge; 1 = TED leading edge). Values form the + outer border default to the value of the inner border. Optional. + - - - + - Mass + linerType - + Liner type, containing liner data @@ -17343,103 +18095,72 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Power units mass description - + Type of liner + + + + + + + + + + + + + % of fan diameter + + + + + % of fan diameter - - - - - - - + - mPylonAttachmentsType + Link to file (Step, Iges or Stl) - - - - - - - - - - - - - - - - - - - - - mPylonsType - - - - - - - - - - - - - - Pylons mass description - - - - - - - - - - - - - - - mRibType - - - + Please provide a link to the additional file that shall + be loaded by the TIGL library. Furthermore it is necessary to + provide the format attribute so that the file type can be + identified. Several CAD formats provide multiple endings, and + hence, this measure seems necessary. - - - - - + + + + + + + + + + + - + - + - mRibsType + Load analysis @@ -17449,23 +18170,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + - + - mSeatsType + Load application points - + + Multiple sets of scattered load application points can be defined. However, no specific information about the corresponding loads (e.g. whether aerodynamic or structural loads are involved) or mesh topologies are specified here, as such assumptions are tool-specific. + @@ -17473,22 +18196,37 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - mShellType + Load application point set - + + + A point set contains discrete spatial points at which loads are applied (e.g., aerodynamic or structural loads). A typical procedure in CPACS is as follows: + + + + Reference a wing, fuselage or control surface by its uID using the componentUID node. + Define a reference axis through the above component with the loadReferenceLine element to specify where a load distribution shall be applied. + Compute the intersections with (e.g.) ribs of the referenced component (wing, fuselage or control surface) and write the results into loadApplicationPoints. This procedure results from common practice where the forces in structural analyses are typically introduced at structural elements such as ribs and spars. With respect to preliminary aircraft design a two-dimensional load distribution is preferred. However, an arbitrary distribution of the load application points is possible (without the intersection of structural elements with a reference axis in the previous step), for example to define discrete load distributions on the wing surface in streamwise and spanwise direction. + Specify the location and orientation of cut loads in the cutLoadIntegrationPoints element and the corresponding connectivity information in the connectivities node. + + + + + + @@ -17496,21 +18234,54 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + UID of a wing, fuselage or control surface + + + + + + + Reference axis (line) for load distribution + + + + + + + List of points at which load vectors are + applied to + + + + + + + List of points at which cut loads are applied to + + + + + + + Specification of connectivity properties between points + + + + - + - mShellsType + dynamicAircraftModelCoordinatesType @@ -17521,43 +18292,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + - - - - - - mSkinPanelsType - - - - - - - - - - - - - - - - - - + - mSkinsType + loadBreakdownType @@ -17567,66 +18316,109 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + + + - + - mSparSkinsType + Accelerations - + Translational or rotational accelerations acting + on the aircraft - - - - + + + + + Rotational accelerations acting around aircraft centre of gravity [deg/s^2] + + + - + - mSparsType + Gust definition - + The coordinate system of the gust corresponds to the CPACS coordinate system. - - - - + + + + Parameters describing the shape of the gust + + + + + + + + + + + + + + + + + Angle between gust and vehicle [deg] (e.g., 0deg: from right to left; 90 deg: downwards; 180deg: from left to right; 270/-90deg: upwards) + + + + + + + Gust length: length of ramp or gradient distance of 1-cos gust + + + + + + + Gust velocity + + + + - + - mSparType + Load factors @@ -17637,43 +18429,112 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Load factor in x-direction + + + + + + + Load factor in y-direction + + + + + + + Load factor in z-direction + + + - + - mSpecialStructuresType + Load case specification - + Input values defining a load case - - - - + + + + + Environment + + + + + + + Altitude above sea level + + + + + + + Mach number + + + + + + + UID of the aerodynamic loads (aeroCase) + + + + + + + + Controller description. Note: Since there is no controller description in CPACS yet, the expected content of this string element has to be defined individually for each project. + + + + + + + + + + + UID referencing the mass state of aircraft for this load case + + + + - + - mSpoilersType + Load cases @@ -17683,23 +18544,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + + - + - mStringersType + Load case superposition - + List of uIDs referencing load cases that are superimposed to the current load case + @@ -17707,24 +18571,27 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + UID reference to another load case to be superimposed + + - + - Mass + Load case - + This node defines the load case @@ -17732,95 +18599,39 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Structure mass description + + Name of the load case + - - - - - - - - - - - - - - - Mass - - - - - - - - - - - + - Systems mass description + + Description of the load case + - - - - - - - - - - - - - - - - - - - - - - - - - - - mTrailingEdgeDeviceType - - - - - - - - - - - - - + + + - + - mTrailingEdgeDevicesType + Load envelopes - + The loads envelope is the results of the loadsAnalysis + and lists those loadcases that are limiting for the design + @@ -17828,22 +18639,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - mULDContentType + Load envelope - + List of load cases defining a load envelope + @@ -17851,18 +18663,38 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name + + + + + Description + + + + + UID of the corresponding point set + + + + + + List of uIDs defining the loads envelope + + - + - mULDContentsType + loadReferenceAxisPointsType @@ -17873,19 +18705,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mVacuumWasteSystemsType + loadReferenceAxisPointType @@ -17895,23 +18726,54 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + + + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative height position. + relHeight is relative to the local airfoil thickness. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. + + + + - + - mWasteWaterSystemsType + Load sets - + + A list of load sets + @@ -17919,45 +18781,150 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - mWindowsType + Load set - + A set of forces and moments - - - - - - + + + + + Description + + + + + + + UID of load application point set (analysis/global/loadApplicationPoints) + + + + + + + Force in x-direction [N] + + + + + + + Force in y-direction [N] + + + + + + + Force in z-direction [N] + + + + + + + Moment around x-axis [Nm] + + + + + + + Moment around y-axis [Nm] + + + + + + + Moment around z-axis [Nm] + + + + + + + Nodal displacement in x-direction [m] + + + + + + + Nodal displacement in y-direction [m] + + + + + + + Nodal displacement in z-direction [m] + + + + + + + Nodal rotation around x-axis [deg] + + + + + + + Nodal rotation around y-axis [deg] + + + + + + + Nodal rotation around z-axis [deg] + + + + + + + Load brake-down + + + + + + + - + - mWingBoxType + logFloorBeamPositionType - + longFloorBeamPosition type, containing individual + position definition @@ -17965,66 +18932,151 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + UID of structural element + + + + + UID of crossbeam to which the long. beam is + attached + + + + + y position of long. beam + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + - + - mWingStructureType + longFloorBeamsAssemblyType - + longFloorBeamsAssembly type, containing long. floor + beam assemblys - - + + + + + + + + + + + + + longFloorBeamType + + + longFloorBeam type, containing a long. floor beam + definition + + + + + + + + + + + + + + + + + + + + Luggage compartment elements + + + Luggage compartment element collection type + + + + + + + + - Wing structure mass description - + Luggage compartment element for use in the decks - - + - + - mWingsStructureType + Luggage compartments - - - - + - Wings structure mass description + Luggage compartment - @@ -18055,7 +19107,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -18076,7 +19128,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -18100,9 +19152,9 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + @@ -18127,13 +19179,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + reference to the structural element that comprises this connection. - + @@ -18155,8 +19207,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + + + + + + + + + mAirConditioningType + + + + + + + + + + + + + Air conditioning mass description + + + @@ -18210,11 +19289,11 @@ The fuel tank volume type should also be used for the wing fuel tank The operation empty mass structure is based on the Airbus Mass Standard brake down [AIRBUS MASS STANDARD 2008]. The - operator’s mass empty (OME) is defined by the sum of the + operator’s mass empty (OME) is defined by the sum of the following component masses: - operator’s items - manufacturer’s mass empty (MME) + operator’s items + manufacturer’s mass empty (MME) @@ -18276,43 +19355,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Fuel Mass Fraction - - - Describing the mass fraction considered for a mission segment sequence - - - - - - - - - - Reference to the segment from which the fuel fraction should be considered - - - - - Reference to the segment to which the fuel fraction should be considered - - - - - Float value of the mass fraction defined as - fraction = m_end / m_start - - - - - - - @@ -18332,9 +19374,9 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + @@ -18359,9 +19401,9 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + @@ -18385,7 +19427,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + uID of the profile point to which the additional stiffness shall be applied. @@ -18403,13 +19445,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + optional auxiliary parameter for special use (no physical meaning) - + optional auxiliary parameter for special use (no physical meaning) @@ -18451,7 +19493,7 @@ The fuel tank volume type should also be used for the wing fuel tank Predefined ID of the sheet of a standard profile - + @@ -18480,13 +19522,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + Orthoropy direction of the composite. - + Scaling factor of the composite thickness. @@ -18541,13 +19583,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + Orthotropy direction of the composite. - + Scaling factor of the composite thickness. Absolute thicknesses are defined in each composite material @@ -18562,7 +19604,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Absolute thickness of the material. @@ -18574,6 +19616,32 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Materials + + + Materials type, containing material and composite data. + A material describes the properties of a certain material. + Several materials can be combined within one composite. + + + + + + + + + + + + + + + @@ -18606,22 +19674,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + Name of the material - + Description of the material - + Material density [kg/m^3] - + @@ -18633,37 +19701,30 @@ The fuel tank volume type should also be used for the wing fuel tank - + Reference temperature for thermal expansion coefficient [K] - - + + - + - Isotropic material properties + mAutomaticFlightSystemType - - Defines the material properties for an isotropic material. Note that the shear modulus G - is defined in terms of the elastic modulus E and the Poisson's ratio nu as: - - - - Specifying a value for all three properties E, G and nu therefore results in an overdetermined material definition and must be avoided. - + @@ -18671,150 +19732,9 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Young's modulus [N/m^2] - - - - - - - Shear modulus [N/m^2] - - - - - - - Poisson's ratio - - - - - - - Thermal expansion coefficient [1/K] - - - - - - - Thermal conductivity of the material in - [W/(m*K)] - - - - - - - Allowable stress for tension [N/m^2] - - - - - - - Allowable stress for compression [N/m^2] - - - - - - - Allowable stress for shear [N/m^2] - - - - - - - Allowable strain for tension - - - - - - - Allowable strain for compression - - - - - - - Allowable strain for shear - - - - - - - Yield strength, tension [N/m^2] - - - - - - - Yield strength, compression [N/m^2] - - - - - - - Plastification curves for isotropic - materials incl. element elimination - - - - - - - Optional knockdown factor for fatiuqe - (defaults to 1) - - - - - - - Fatigue behaviour of the material - - - - + - - Damage tolerance behaviour of the - material + Automatic flight system mass description @@ -18823,27 +19743,15 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Anisotropic material properties for 2D materials - + mAuxillaryPowerUnitType - - Defines the material properties for a linear anisotropic material in the plane stress state (i.e., shell). The stress-strain relationship is defined as: - - - - The terminology of this complex type refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. - - + @@ -18851,165 +19759,49 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Coefficient 11 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 12 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 13 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 22 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 23 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 33 of reduced stiffness matrix [N/m^2] - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 12 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 3 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 [N/m^2] - - - - - - Allowable stress for compression in material direction 1 [N/m^2] - - - - - - Allowable stress for tension in material direction 2 [N/m^2] - - - - - - Allowable stress for compression in material direction 2 [N/m^2] - - - - - - Allowable stress for shear [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - Allowable strain for compression in material direction 1 - - - - - - Allowable strain for tension in material direction 2 - - - + - Allowable strain for compression in material direction 2 + Auxillary power unit masse description - - - Allowable strain for shear - - - + - - Orthotropic material properties for 2D materials - + mBellyFairingsType - - Defines the material properties for an orthotropic material in the plane stress state (i.e., shell). The strain-stress relationship is defined as: - - - - Inverting the strain-stress relation and introducing thermal expansion yields: - - - - with: - - - - The terminology refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - - + + + + + + + + + + + + + + + + + + + + + mBleedAirSystemType + + + @@ -19017,147 +19809,49 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Young's modulus in material direction 1 [N/m^2] - - - - - Young's modulus in material direction 2 [N/m^2] - - - - - Shear modulus in material in 2-3 plane [N/m^2] - - - - - Shear modulus in material in 3-1 plane [N/m^2] - - - - - Shear modulus in material in 1-2 plane [N/m^2] - - - - - Poisson's ratio - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for shear [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - + - Allowable strain for tension in material direction 2 + Bleed air system mass description - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for shear - - - + - - Anisotropic material properties for 3D materials - + mBulkCargosType - - Defines the material properties for a linear anisotropic material in three spatial directions (i.e., solid). The stress-strain relationship is defined as: - - - - The terminology of this complex type refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. - - + + + + + + + + + + + + + + + + + + + + + mBulkCargoType + + + @@ -19165,324 +19859,159 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Coefficient 11 of stiffness matrix [N/m^2] - - - - - Coefficient 12 of stiffness matrix [N/m^2] - - - - - Coefficient 13 of stiffness matrix [N/m^2] - - - - - Coefficient 14 of stiffness matrix [N/m^2] - - - - - Coefficient 15 of stiffness matrix [N/m^2] - - - - - Coefficient 16 of stiffness matrix [N/m^2] - - - - - Coefficient 22 of stiffness matrix [N/m^2] - - - - - Coefficient 23 of stiffness matrix [N/m^2] - - - - - Coefficient 24 of stiffness matrix [N/m^2] - - - - - Coefficient 25 of stiffness matrix [N/m^2] - - - - - Coefficient 26 of stiffness matrix [N/m^2] - - - - - Coefficient 33 of stiffness matrix [N/m^2] - - - - - Coefficient 34 of stiffness matrix [N/m^2] - - - - - Coefficient 35 of stiffness matrix [N/m^2] - - - - - Coefficient 36 of stiffness matrix [N/m^2]2] - - - - - Coefficient 44 of stiffness matrix [N/m^2]] - - - - - Coefficient 45 of stiffness matrix [N/m^2] - - - - - Coefficient 46 of stiffness matrix [N/m^2] - - - - - Coefficient 55 of stiffness matrix [N/m^2] - - - - - Coefficient 56 of stiffness matrix [N/m^2] - - - - - Coefficient 66 of stiffness matrix [N/m^2] - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 3 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 23 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 31 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 12 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 3 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for tension in material direction 3 - [N/m^2] - - - - - Allowable stress for compression in material - direction 3 [N/m^2] - - - - - Allowable stress for shear in 2-3 plane [N/m^2] - - - - - Allowable stress for shear in 3-1 plane [N/m^2] - - - - - - Allowable stress for shear in 1-2 plane [N/m^2] - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for tension in material direction 3 - - - - - - Allowable strain for compression in material - direction 3 - - - - - Allowable strain for shear in 2-3 plane - - - - - - Allowable strain for shear in 3-1 plane - - - - - - Allowable strain for shear in 1-2 plane - - - + - + - - Orthotropic material properties for 3D materials - + mBulkheadsType - - Defines the material properties for an elastic orthotropic material in three spatial directions (i.e., solid). The strain-stress relationship is defined as: - - - - Note that nuij is related to nuji by: - - - - The terminology refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - - + + + + + + + + + + + + + + + + + + + + + mCabinFloorsType + + + + + + + + + + + + + + + + + + + + + + + mCabinLightingsType + + + + + + + + + + + + + + + + + + + + + + + mCargoFloorsType + + + + + + + + + + + + + + + + + + + + + + + mCargoLiningsType + + + + + + + + + + + + + + + + + + + + + + + mCargoLoadingsType + + + + + + + + + + + + + + + + + + + + + + + Cargo masses + + + @@ -19490,219 +20019,32 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Young's modulus in material direction 1 [N/m^2] - - - - - Young's modulus in material direction 2 [N/m^2] - - - - - Young's modulus in material direction 3 [N/m^2] - - - - - Shear modulus in the 2-3 plane [N/m^2] - - - - - Shear modulus in the 3-1 plane [N/m^2] - - - - - - Shear modulus in the 1-2 plane [N/m^2] - - - - - Poisson's ratio in in 2-3 plane - - - - - Poisson's ratio in in 3-1 plane - - - - - Poisson's ratio in in 1-2 plane - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 3 [1/K] - - - - - Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] - - - - - Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for tension in material direction 3 - [N/m^2] - - - - - Allowable stress for compression in material - direction 3 [N/m^2] - - - - - Allowable stress for shear in 2-3 plane [N/m^2] - - - - - - Allowable stress for shear in 3-1 plane [N/m^2] - - - - - Allowable stress for shear in 1-2 plane [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for tension in material direction 3 - - - - - - Allowable strain for compression in material - direction 3 - - - - - Allowable strain for shear in 1-3 plane - - - - + - Allowable strain for shear in 1-3 plane - + Cargo masses description - + - Allowable strain for shear in 1-2 plane - + Cargo mass description + + - + - Materials + mCarriagesType - Materials type, containing material and composite data. - A material describes the properties of a certain material. - Several materials can be combined within one composite. - + @@ -19710,289 +20052,45 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - Mission definitions + mCarryOnsType - - - General description - Specifies mission profiles required for the performance evaluation of air vehicles (aircraft, rotorcraft, etc.). The missionDefininitions node is constructed in such a way, that all civil aircraft missions and missions from MIL-STD-3013A can be specified.> - - - Hierarchical buildup of the mission definition - - The mission definition is built-up in a hierarchical way. As the topmost element of the hierarchical mission definition, missions are created within the missions node. Here, one or more segmentBlocks are referenced. These again link to a sequence of segments, making up parts of the missions: - - - - - - <missions> - containing the <startCondition> and a sequence of <segmentBlockUIDs> - - - <segmentBlocks> - - - grouping multiple <segments> and providing overall information concerning the block of segments: - - - - constraints in the form of an endCondition or given flightPath, - variableSegments and the corresponding variableConditions in case a segment should be adjusted such to meet the segmentBlock's endCondition, - fuelPlanningType (designFuel, reserveFuel, additionalFuel), - segmentDirection and numberOfRepetitions. - - - - - - <segments> - - - containing detailed information per segment: - - - EITHER - - - - segmentType, - endConditions, - constraints, - environmentalConditions - - - - OR massFraction - - - OR mass - - - - - - - - startConditions, constraints, endConditions and the relationalOperator attribute - - the startCondition is provided at the mission node. Each subsequent segmentBlock/segment ends by the provided endCondition. - - - <startCondition> - start condition of the mission (can be an airfield or mid-air condition) - - - <endCondition> - specific end condition for a segmentBlock or segment (e.g.: an altitude or velocity) - - - <constraint> - specific performance settings for a segmentBlock or segment (e.g.: a cruise Mach number) - - - attribute @relationalOperator - - Indicate how conditions should be interpreted: - - - enum: „lt“, „le“, „eq“, „ne“, „ge“, „gt“, - - Examples: - - - 0.78 -1800 - ]]> - - - - - - - - - - - - - Example implementation for a civil transport mission - - - - - - In the figure above, an example for a civil aircraft transport mission is provided. - - - The mission starts at a position of 0, 0, 0 with 0 velocity, as provided by the startCondition of the mission node. Furthermore, the environmental conditions are provided: ISA atmosphere with a deltaTemperature of 0 [K]. The mission consists of three segmentBlocks: a designMission, reserves and the taxiIn segmentBlock. - - - - example mission - this is an example mission - - 0.0 - - 0.0 - 0.0 - 0.0 - - - ISA - 0.0 - - - - designMission - reserves - endPhase - - - ]]> - - - The designMission segmentBlock is shown below. It provides a set of five segments, together making up a mission with a range of 1000 [nm] or 1852 [km]. The “cruise” segment is the variable segment, which thereby should have a range of: 1852000 – range(climb) – range(descent), provided the taxiOut and takeOff segments are not providing any range credit. The fuel burned during this segmentBlock should be added to the designFuel, the segmentDirection is provided for illustration purposes. - - - - - design mission - segment block for the design mission - - - 1852000 - - - - - cruise - range - - - designFuel - outbound - - taxiOut - takeOff - climb - cruise - descent - - - + + + + + + + + + + + + + + - ]]> - - - The first and second segment are providing input for the part of the segmentBlock that doesn’t need simulation. During the taxiOut phase, 50 [kg] of fuel is burned. The takeOff phase has a duration of 30 [sec]. - - - - taxi out - taxi out segment - massFraction - 50 - - - take off - take off segment - takeOff - - 00:00:30 - - - ]]> - - The rest of the segments make-up the flying part of the designMission. The climb phase, ending at an altitude of FL330 or 10058.4 [m], provides a constraint-lapse having discrete steps, typical for transport aircraft (a 250 kt / 300 kt / M 0.78 climb profile). Through the referenceEndconditionUID “altClimb”, a link to the altitude endCondition of the segment at the basis of this climb profile is provided. - - - - Altitude from - Altitude to - calibratedAirspeed - machNumber - - - 0.0 [m] - 0.303 * 10058.4 = 3047.7 [m] - ≤ 128.61 [m/s] - ≤ 0.78 [-] - - - 0.303 * 10058.4 = 3047.7 [m] - 10058.4 [m] - ≤ 154.33 [m/s] - ≤ 0.78 [-] - - - - - The cruise phase is not fixed to a certain altitude and has no endCondition, since its range is determined by the segmentBlock information. The descent phase makes sure the vehicle lands at an altitude of 0 [m]. In this case, since the values are not explicitly provided, it is up to the mission simulation software to determine, when the cruise phase ends and the descent phase starts. - - - - climb - climb with: speed @ MFCS (set to machNumber le 0.78 [-]), altitude @ FL330 - climb - - - 10058.4 - - - - - altitude - 0.0;0.303 - discrete - 128.61;154.33 - 0.78;0.78 - velocity - - - - - cruise - cruise with: speed @ optimum cruise speed, altitude @ optimum cruise altitude - cruise - - - - descent to MSL - descent to MSL altitude - descent - - - 0 - - - - ]]> - - - Two more segmentBlocks make up the mission. The “reserves” segmentBlock provides information for the cruise to alternate airport and loitering phase and the corresponding burnt fuel is considered reserveFuel. The mission ends with a landing and taxiIn phase within the “endPhase” segmentBlock, of which the burnt fuel is considered additionalFuel. The following then holds: blockFuel = designFuel + additionalFuel. - - - - + + + + + + mCarryOnType + + + @@ -20000,36 +20098,101 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + - + - Setting default and specific performance maps to be used for a model + mCateringsType + + + + + + + + + + + + + + + + + + + + + + + mCellsType + + + + + + + + + + + + + + + + + + + + + + + mCockpitLightingsType + + + + + + + + + + + + + + + + + + + + + + mCommunicationType + + + + - - - Default performance map which is used if no other performance map - is assigned through the specificPerformanceMap node - - - + - List of specific performance maps used on dedicated mission segments or pointPerformance requirements + Communication mass description + @@ -20037,19 +20200,15 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - End condition - + mComponentSegmentsType - - Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths avaible within the segmentBlock). - + @@ -20057,322 +20216,244 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Calibrated airspeed at the end of the segment [m/s] - - - - - - - - - - - - - - Mach number at the end of the segment - - - - - - - - - - - - - - - Position at the end of the segment in xyz coordinates - - - - - - - Position at the end of the segment in geo coordinates - - - - - - - - Reference to the runway on which the segment ends - - - - - - - - - - - - - - - - massFraction ending the segment [-] - - - - - - - - - - - - - - massFraction of remaining fuel ending the segment [-] - - - - - - - - - - - - - - Absolute mass of remaining fuel ending the segment [kg] - - - - - - - - - - - - - - Consumed fuel ending the segment [kg] - - - - - - - - - - - - - - Power fraction of remaining at the end of the segment - - - - - - - - - - - - - - Absolute power left ending the segment [W] - - - - - - - - - - - - - - Consumed power ending the segment [W] - - - - - - - - - - - - - - - - Flight heading at the end of the segment in compassAngle with reference to true North [deg] - - - - - - - - - - - - - - Total change of heading angle during segment (a full turn is 360 degrees) [deg] - - - - - - - - - - - - - - - Flown distance ending the segment - - - - - - - - - - - - - - - Duration of the segment [hh:mm:ss] - - - - - - - - - - - - - - UTC time at end of segment [hh:mm:ss] - - - - - - - - - - - - - - - Specific excess power at the end of the segment - - - - - - - - - - - - - - Rate of climb ending the segment [m/s] - - - - - - - - - - - - - - Achieved flightPathAngle ending the segment [deg] - - - - - - - - - - + + + + + + + + + + + + + mComponentSegmentType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mControlSurfaceSupportsType + + + + + + + + + + + + + + + + + + + + + + + mControlSurfaceSupportType + + + + + + + + + + + + + + + + + + + + + + + + + mCrewMembersType + + + + + + + + + + + + + + + + + + + + + + + mCrewSeatsType + + + + + + + + + + + + + + + + + + + + + + + mDeIcingType + + + + + + + + + + + - List of stores released in the segment. The corresponding weightAndBalance vector for retrieving the new state as well as a potential change in aerodynamicPerformanceMap (if external stores are released) should be reflected within the configuration node at model level. - + De-icing mass description + + + + + + + + + + + mDocumentsToolsType + + + + + + + + + + + + + + + + + + + + + + + mDoorsType + + + + + + + + + + + + - + - Specific performance settings for the segmentBlock (e.g.: a cruise Mach number) + mElectricalDistributionType + + + - - - - + + + + Electrical distribution mass description + + + + - + - Segment block + mElectricalGenerationType - A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). + @@ -20380,78 +20461,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - - - Segment direction. Either 'outbound' or 'inbound'. Only needed for radiusOfAction kind of missions. - - - - - - - - - - - - - - List of segment uID's making up the segmentBlock. These should be ordered, such that the segment connections are correct. - - - - - - - Specifies to which type of mass the segment fuel mass - should be added (blockFuel = designFuel + additionalFuel; Total fuel requirement - = blockFuel + reserveFuel; designFuel = the fuel of the segmentBlock is part of the design mission) - - - - - - - - - - - - - - + - Number of repetitions of this segment block, e.g. to perform repeated holding patterns + Electrical generation mass description - - + - Segment blocks + mEmergencyEquipmentsType - A list of segment blocks. A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). + @@ -20459,21 +20488,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Segment + mEmergencyOxygenSystemsType - Definition of a mission segment which can be used to define missions. + @@ -20481,87 +20511,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - - Type of the mission segment (takeOff, clime, cruse, ...) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indication whether the distance flown during the segment is to be taken into account in the segmentBlock's distance calculation. - - - - - - Environmental conditions. If the environmentalCondition is not provided at segment level, the conditions of the - previous segment are inherited (this inhertance can continue until the startCondition, where the initial - environmentalConditions are provided). - - - - - - - Fuel mass - - - - - - - - + + - - + - Mission segment constraints + mEmptyULDsType - Contains a set of constraints for the segment + @@ -20569,151 +20534,100 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Mission segments + mEmptyULDType - A collection of mission segments which can be reused to define missions. + - - - + + + - + - Start conditions + mEngineControlType - Conditions which define the start of a mission + - - - - - Calibrated airspeed at the start of the mission [m/s] - - - - - Mach number at the start of the mission - - - - - - - Global coordinate at the start of the mission in xyz coordinates - - - - - Global coordinate at the start of the mission in geographic coordinates (longitude, latitude, altitude) - - - - - - UID of the runway at which the - mission starts - - - - - + + - - Flight heading at the start of the mission, in compassAngle with reference to true North + Engine control mass description - - - UTC time at start of mission - - - - + - + - Mission + mEquippedEnginesType - Contains a list of segmentBlock uID's forming the mission along with additional mission information. + - - - - Name - - - - - Description - - - - + + - List of segmentBlock uID's forming the mission. Segments must first be grouped in segmentBlocks to be assigned to a mission. + Equipped engines mass description - - + + - + - Missions + mExtLightingsType - A list of missions. + @@ -20721,18 +20635,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Monetary values + mFireProtectionType @@ -20743,155 +20658,94 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + Fire protection mass description + + - + - Guide curve + mFixedGalleysType - - - The following figure shows the basic setup of the guide curves. - They always start at a given ζ-position (fromZeta) on the profile of the specified start section (startSectionUID) and end at the ζ-position (toZeta) on the profile of the subsequent section. - The relative coordinates of the guide curves are specified in cpacs/vehicles/profiles/guideCurves and referenced via its uID. - - - - - - Note: Guide curves and profiles must result in a valid curve network. - - - The guide curve points are interpreted as (Δr and Δx) offsets from a cubic polynomial. - This polynomial serves as a baseline for guide curves between segments located on different radial positions with smooth transitions: - - - - - - Note: Currently, the nacelles do not have an explicit guide curve type but employ the standard guide curve definition, which is used in wings and profiles. - Therefore, the parameters have a different meaning: - - - - Standard guide curve parameter - Nacelle guide curve equivalent - Description - - - rX - φ - Independent variable normalized to [0,1] - - - rY - Δx - Orthogonal offset (translation in x-direction) - - - rZ - Δr - Radial offset - - - + - - - - - Name - - - - - - - Description - - - - - - - UID of the guide curve profile - - - - - - - UID of the start section - - - - - - - Curve coordinate of the referenced section profile at which the guide curve shall start. - Valid values are in the interval -1,..,1. - - - - - - - Curve coordinate of the profile following the referenced section profile. - It defines where the guide curve ends. - Valid values are in the interval -1,..,1. - - - - + + + + - + - Guide curves + mFixedLeadingEdgesType + + + - + + - + - nacelleProfilesType + mFixedLeadingEdgeType - Nacelle profiles type, containing nacelle profile geometries. - See profileGeometryType for further documentation + + + + + + + + + + + + + + + + + + + + mFixedTrailingEdgesType + + + @@ -20899,133 +20753,46 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Section + mFixedTrailingEdgeType - - - An engine nacelle is defined by sections, where at least one and up to an infinite number of sections can be specified. - Lofting of the nacelle surface along the sections is done in cylindrical coordinates. - The coordinate origin refers to the center of the fan, i.e. the sections and their profiles are typically shifted in negative x-direction. - - - Note: In the current CPACS release, transformations are still labeled as Cartesian coordinates. - It is current work in progress to explicitly introduce cylindrical coordinates. - Until this is implemented in a future CPACS release, the implicit conventions listed below apply: - - - - Translation component - Cylindrical coordinate equivalent - Description - - - x - ϑ - Rotation angle around x - - - y - h - Horizontal translation - - - z - r - Radial translation - - - - The following example illustrates the setup of a nacelle with 4 sections. - These are rotated by 0, 120, 180 and 240 degrees around the x-axis (given by translation/x). - To illustrate the possible transformations, the profile of the upper section is shifted slightly further in the negative x-direction (translation/y), while the lower section has a smaller radial distance from the rotation axis (translation/z). - In addition, the sections are scaled differently (transformation/scaling; not shown in the example figures) in order to create a straight trailing edge and to realize a flattened profile near the ground. - - - The following example also shows the profile cut-outs due to the radially symmetric inner region of the nacelle defined by the rotationCurve. For detailed information, please refer to the documentation of the rotationCurve element. - - - - - The first section is not rotated (x=ϑ=0), but shifted vertically in negative direction (y=h=-0.257). - The radial distance is given by z=r=0.365: - - - - Upper section - - - 1.055 - 1 - 1 - - - 0.0 - -0.257 - 0.365 - - - fanCowlUpperSectionProfile - - ]]> - - The second section is rotated around the x-axis (x=ϑ=120) as well as scaled by a factor of 1.1 in its profile height: - - - - Inboard section - - - 1 - 1 - 1.1 - - - 120.0 - -0.2 - 0.365 - - - fanCowlUpperSectionProfile - - ]]> - - The third section is rotated around the x-axis by 180° and scaled by a factor of 0.8 in its profile height: - - - - Lower section - - - 1 - 1 - 0.8 - - - 180.0 - -0.2 - 0.33 - - - fanCowlUpperSectionProfile - - ]]> - - + + + + + + + + + + + + + + + + + + + + + + mFlightControlsType + + + @@ -21033,34 +20800,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - + - UID of the profile + Flight controls mass description + - - + - Sections + mFloorCoveringsType @@ -21071,18 +20827,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Noise + mFramesType @@ -21092,36 +20849,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - FAR approach noise level - - - - - FAR sideline noise level - + + - - - FAR take-off noise level - + - + - + - Nose landing gears + mFreshWaterSystemsType - List of nose gears + @@ -21129,18 +20875,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Operating empty mass + mFuelSystemType @@ -21153,23 +20900,48 @@ The fuel tank volume type should also be used for the wing fuel tank - Operating empty mass description + Fuel system mass description - - - + - operationalCaseType + Fuel mass + + + + + + + + + + + + + Fuel mass description + + + + + + + + + + + + + + Mass @@ -21180,25 +20952,40 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - + + + Furnishing mass description + + + + + + + + + + + + + + + + + + + + - - + - operationalCasesType + mFuselagesStructureType @@ -21209,18 +20996,24 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Fuselages structure mass description + + + + - + - outerCutOutProfileType + mFuselageStructureType @@ -21231,23 +21024,38 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Fuselage structure mass description + + + + + + + + + + + + + + + - + - Parameter definition for design studies. + mHydraulicDistributionType - Contains a name for the design parameter to give semantic meaning to parameters used in design studies. - + @@ -21255,50 +21063,53 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of parameter + Hydraulic distribution mass description + - - + - Container for parameter definitions + mHydraulicGenerationType - Contains a of the design parameter definitions. - + - - - + + + + Hydraulic generation mass description + + + + - + - paxCrossBeamStrutsAssemblyType + mIFESystemsType - PaxCrossBeamStrutsAssembly type, containing pax - crossBeam strut assemblys + @@ -21306,45 +21117,49 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - paxCrossBeamsAssemblyType + mInstrumentPanelType - PaxCrossBeamsAssembly type, containing pax crossBeam - assemblys + - - - + + + + Instrument panel mass description + + + + - + - paxDoorsAssemblyType + mInsulationsType - PaxDoorsAssembly type, containing pax door assemblys - + @@ -21352,18 +21167,46 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - payloadGlobalType + mIntegratedModularAvionicsType + + + + + + + + + + + + + Integrated modular avionics mass description + + + + + + + + + + + + + + mInterGasSystemType @@ -21374,92 +21217,370 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Inter gas system mass description + + + + + + + + + + + + + + Mission definitions + + + + + General description + Specifies mission profiles required for the performance evaluation of air vehicles (aircraft, rotorcraft, etc.). The missionDefininitions node is constructed in such a way, that all civil aircraft missions and missions from MIL-STD-3013A can be specified.> + + + Hierarchical buildup of the mission definition + + The mission definition is built-up in a hierarchical way. As the topmost element of the hierarchical mission definition, missions are created within the missions node. Here, one or more segmentBlocks are referenced. These again link to a sequence of segments, making up parts of the missions: + + + + + + + <missions> + + containing the <startCondition> and a sequence of <segmentBlockUIDs> + + + + + <segmentBlocks> + + + + grouping multiple <segments> and providing overall information concerning the block of segments: + + + + constraints in the form of an endCondition or given flightPath, + + variableSegments and the corresponding variableConditions in case a segment should be adjusted such to meet the segmentBlock's endCondition, + + fuelPlanningType (designFuel, reserveFuel, additionalFuel), + + segmentDirection and numberOfRepetitions. + + + + + + + <segments> + + + + containing detailed information per segment: + + + EITHER + + + + + segmentType, + + endConditions, + + constraints, + + environmentalConditions + + + + + OR + massFraction + + + OR + mass + + + + + + + + startConditions, constraints, endConditions and the relationalOperator attribute + + the startCondition is provided at the mission node. Each subsequent segmentBlock/segment ends by the provided endCondition. + + + + <startCondition> + + start condition of the mission (can be an airfield or mid-air condition) + + + + <endCondition> + + specific end condition for a segmentBlock or segment (e.g.: an altitude or velocity) + + + + <constraint> + + specific performance settings for a segmentBlock or segment (e.g.: a cruise Mach number) + + + attribute @relationalOperator + + + Indicate how conditions should be interpreted: + + + + enum: „lt“, „le“, „eq“, „ne“, „ge“, „gt“, + + Examples: + + + 0.78 +1800 + ]]> + + + + + + + + + + + + + Example implementation for a civil transport mission + + + + + + In the figure above, an example for a civil aircraft transport mission is provided. + + + The mission starts at a position of 0, 0, 0 with 0 velocity, as provided by the startCondition of the mission node. Furthermore, the environmental conditions are provided: ISA atmosphere with a deltaTemperature of 0 [K]. The mission consists of three segmentBlocks: a designMission, reserves and the taxiIn segmentBlock. + + + + example mission + this is an example mission + + 0.0 + + 0.0 + 0.0 + 0.0 + + + ISA + 0.0 + + + + designMission + reserves + endPhase + + + ]]> + + + The designMission segmentBlock is shown below. It provides a set of five segments, together making up a mission with a range of 1000 [nm] or 1852 [km]. The “cruise” segment is the variable segment, which thereby should have a range of: 1852000 – range(climb) – range(descent), provided the taxiOut and takeOff segments are not providing any range credit. The fuel burned during this segmentBlock should be added to the designFuel, the segmentDirection is provided for illustration purposes. + + + + + design mission + segment block for the design mission + + + 1852000 + + + + + cruise + range + + + designFuel + outbound + + taxiOut + takeOff + climb + cruise + descent + + + + + ]]> + + + The first and second segment are providing input for the part of the segmentBlock that doesn’t need simulation. During the taxiOut phase, 50 [kg] of fuel is burned. The takeOff phase has a duration of 30 [sec]. + + + + taxi out + taxi out segment + massFraction + 50 + + + take off + take off segment + takeOff + + 00:00:30 + + + ]]> + + The rest of the segments make-up the flying part of the designMission. The climb phase, ending at an altitude of FL330 or 10058.4 [m], provides a constraint-lapse having discrete steps, typical for transport aircraft (a 250 kt / 300 kt / M 0.78 climb profile). Through the referenceEndconditionUID “altClimb”, a link to the altitude endCondition of the segment at the basis of this climb profile is provided. + + + + + Altitude from + + + Altitude to + + + calibratedAirspeed + + + machNumber + + + + 0.0 [m] + 0.303 * 10058.4 = 3047.7 [m] + ≤ 128.61 [m/s] + ≤ 0.78 [-] + + + 0.303 * 10058.4 = 3047.7 [m] + 10058.4 [m] + ≤ 154.33 [m/s] + ≤ 0.78 [-] + + + + + The cruise phase is not fixed to a certain altitude and has no endCondition, since its range is determined by the segmentBlock information. The descent phase makes sure the vehicle lands at an altitude of 0 [m]. In this case, since the values are not explicitly provided, it is up to the mission simulation software to determine, when the cruise phase ends and the descent phase starts. + + + + climb + climb with: speed @ MFCS (set to machNumber le 0.78 [-]), altitude @ FL330 + climb + + + 10058.4 + + + + + altitude + 0.0;0.303 + discrete + 128.61;154.33 + 0.78;0.78 + velocity + + + + + cruise + cruise with: speed @ optimum cruise speed, altitude @ optimum cruise altitude + cruise + + + + descent to MSL + descent to MSL altitude + descent + + + 0 + + + + ]]> + + + Two more segmentBlocks make up the mission. The “reserves” segmentBlock provides information for the cruise to alternate airport and loitering phase and the corresponding burnt fuel is considered reserveFuel. The mission ends with a landing and taxiIn phase within the “endPhase” segmentBlock, of which the burnt fuel is considered additionalFuel. The following then holds: blockFuel = designFuel + additionalFuel. + + + + + + + + + + + + + + - - - - - - Flight performance requirements - - - Contains a list of flight performance requirements - - - - - - - - - - - - - - - - - - - - Flight performance requirement - - - - - - - + - - - Name of the performance case - - - - - Description of the performance case - - - - - - Reference to the considered weightAndBalance case - - - + - The UID of the mission to be flown + + UID of the runway + - + - List of point performance uIDs constraining the mission + + Offset from runway threshold in cartesian coordinates in the runway coordinate system + - - - - + - Selection of performance maps + Setting default and specific performance maps to be used for a model @@ -21467,14 +21588,15 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Engine performance map selection + Default performance map which is used if no other performance map + is assigned through the specificPerformanceMap node - + - Aerodynamic performance map selection + List of specific performance maps used on dedicated mission segments or pointPerformance requirements @@ -21482,167 +21604,139 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Performance requirements + Specific performance settings for the segmentBlock (e.g.: a cruise Mach number) - - - - - - - - - - + + + + - + - performanceTargetsGlobalType + Segment blocks - + A list of segment blocks. A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). - - - - - - - - - - - - - + + + - - - + + + - Piston + Segment block - - Geometric description and material properties of the - landing gear piston. The figure below shows the condition of the - uncompressed piston, where the length of the exposed part is the - sum of the maxSpringDeflection - and the compressedExternalLength: - - - - - + A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). - + - + - Length of the piston + Name - - + - Maximum spring deflection of the piston (difference between minimum and maximum deflection) + Description - + + - Length of the piston that remains outside of the main strut in fully compressed state + Segment direction. Either 'outbound' or 'inbound'. Only needed for radiusOfAction kind of missions. + + + + + + + + + - - - - - - - - - - - - plasticityCurvePointType - - - - - - - - - - - + - Tangent modulus [N/m^2] + List of segment uID's making up the segmentBlock. These should be ordered, such that the segment connections are correct. + - + + - True stress [N/m^2] + Specifies to which type of mass the segment fuel mass + should be added (blockFuel = designFuel + additionalFuel; Total fuel requirement + = blockFuel + reserveFuel; designFuel = the fuel of the segmentBlock is part of the design mission) + + + + + + + + + + + + + + + + Number of repetitions of this segment block, e.g. to perform repeated holding patterns + + - - - - - - Points on plasticity curve of material - (min. 1 point) - - - - - - - + - pointPerformanceType + + End condition + - Specific performance settings for the point performance calculation (e.g.: a cruise Mach number) + + Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths avaible within the segmentBlock). + @@ -21650,99 +21744,302 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - + + + + + + Calibrated airspeed at the end of the segment [m/s] + + + + + + + + + + + + + + Mach number at the end of the segment + + + + + + + + + + + + - Defines at which part of the mission - the point performance should be - considered - after indicated segment - of the mission as defined in - performanceCase + Position at the end of the segment in xyz coordinates - + - Defines at which part of the mission - the point performance should be - considered - at the defined - massFraction within the mission as - defined in performanceCase - (mCurrent/mTO) + Position at the end of the segment in geo coordinates - + + + + + Reference to the runway on which the segment ends + + + + + + + + + + + + + + + + massFraction ending the segment [-] + + + + + + + + + + + + + + massFraction of remaining fuel ending the segment [-] + + + + + + + + + + + + + + Absolute mass of remaining fuel ending the segment [kg] + + + + + + + + + + + + + + Consumed fuel ending the segment [kg] + + + + + + + + + + + + + + Power fraction of remaining at the end of the segment + + + + + + + + + + + + + + Absolute power left ending the segment [W] + + + + + + + + + + + + + + Consumed power ending the segment [W] + + + + + + + + + + + + + + + + Flight heading at the end of the segment in compassAngle with reference to true North [deg] + + + + + + + + + + + + + + Total change of heading angle during segment (a full turn is 360 degrees) [deg] + + + + + + + + + + + + - Defines at which part of the mission - the point performance should be - considered - at the defined - fuelFraction within the mission as - defined in performanceCase - (mFuelCurrent/mFuelTO) + Flown distance ending the segment + + + + + + + + + + + + + Duration of the segment [hh:mm:ss] + + + + + + + + + + + + + + UTC time at end of segment [hh:mm:ss] + + + + + + + + - - - - Indicates the type of point performance - - - - - - - - - - - - - - - - - - + + + + + Specific excess power at the end of the segment + + + + + + + - - - + + + + + Rate of climb ending the segment [m/s] + + + + + + + + + + + + + + Achieved flightPathAngle ending the segment [deg] + + + + + + + + + + + + List of stores released in the segment. The corresponding weightAndBalance vector for retrieving the new state as well as a potential change in aerodynamicPerformanceMap (if external stores are released) should be reflected within the configuration node at model level. + + + - - + - Point performance definitions + Mission segments - List of point performance definitions + A collection of mission segments which can be reused to define missions. @@ -21750,80 +22047,109 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - pressureBulkheadAssemblyPositionType + Segment - PressureBulkheadAssemblyPosition type, containing a - pressure bulkhead assembly position + Definition of a mission segment which can be used to define missions. - - + + - Frame to which bulkhead is attached to + Name + + + + + Description + + + + + Type of the mission segment (takeOff, clime, cruse, ...) + + + + + + + + + + + + + + + + + + + + + + + + - + - UID of bulkhead element desription + Indication whether the distance flown during the segment is to be taken into account in the segmentBlock's distance calculation. - - - - - - - - - - - - pressureBulkheadAssemblyType - - - PressureBulkheadAssembly type, containing pressure - bulkhead assemblys - - - - - - - - + + + Environmental conditions. If the environmentalCondition is not provided at segment level, the conditions of the + previous segment are inherited (this inhertance can continue until the startCondition, where the initial + environmentalConditions are provided). + + + + + + + Fuel mass + + + + + + + + + - + - pressureBulkheadType + Start conditions - PressureBulkhead type, containing data of a pressure - bulkhead + Conditions which define the start of a mission @@ -21831,106 +22157,88 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Calibrated airspeed at the start of the mission [m/s] + + + + + Mach number at the start of the mission + + + + + + + Global coordinate at the start of the mission in xyz coordinates + + + + + Global coordinate at the start of the mission in geographic coordinates (longitude, latitude, altitude) + + + + + + UID of the runway at which the + mission starts + + + + + - Name of the pressure bulkhead structural - element + + Flight heading at the start of the mission, in compassAngle with reference to true North + - + - Description of the pressure bulkhead - structural element + UTC time at start of mission - + + + + + + + + + + + - UID of structural sheet element used for the - bulkhead + + UID of the runway + - + - Choice between flat and curved bulkhead types + + Offset from runway threshold in the runway coordinate system - - - additional data for flat (forward) pressure - bulkhead - - - - Number of vertical reinforcements on flat - bulhhead - - - - - UID of structural elements used as vertical - reinforcements - - - - - Number of horizontal reinforcements on flat - bulhhead - - - - - UID of structural elements used as - horizontal reinforcements - - - - - - additional data for curved (rear) pressure - bulkhead - - - - Radius of bulkhead calotte in the plane of - the adjacent frame - - - - - maximum flection of the pressure bulkhaed - calotte - - - - - Number of radial reinforcements (equally - distributed) on curved bulhhead - - - - - UID of structural elements used as radial - reinforcements on curved bulkheads - - - - - - + + - + - pressureBulkheadsType + Missions - PressureBulkheads type, conteining pressure bulkheads - + A list of missions. @@ -21938,292 +22246,91 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Structural elements based on profiles + Mission - - - Short description - - The ProfileBasedStructuralElement type containins the - data of a structural element, that are based on 2-dimensional profiles. - There are three approaches to model profile based structural elements: - - by specifying global beam properties - by referencing a structuralProfile2D element - by choosing one of the prescribed standard profiles - - - - - - 1. Global beam properties - - In the section globalBeamProperties the properties - of the structural profile in an equivalent beam representation - are defined. - - - - 2. Structural 2D profile - - The structuralProfileUID element refers to the uID of the structuralProfile2D element. - As described in the corresponding documentation, this profile is defined by several points in the x-y-space. - Two points always form a sheet. - The properties of each sheet are defined in the sheetProperties element. - The orthotropy direction of composite materials equals the sheets' x-axis. - The orthotropy direction angle equals a positive rotation around the sheets' z-axis as indicated in the picture below (part 3), which shows an example of a wing stringer.: - - - - - - - 3. Standard structural 2D profile - - Instead of referencing a structuralProfile2D element, it is also possible to select a predefined standard profile. - These profiles are listed in the figure below. - Under sheetProperties, only the standardProfileSheetID (equals S1, S2, ...) must now be specified along with a corresponding length. - - - - - - + Contains a list of segmentBlock uID's forming the mission along with additional mission information. - - + + - Name of the profile based structural element - + Name - + - Description of the profile based structural - element + Description - + + - Choice between global beam properties and sheet properties + + List of segmentBlock uID's forming the mission. Segments must first be grouped in segmentBlocks to be assigned to a mission. + - - - - - Choice between general profile element - description (referencing a structuralProfile) and predefined - standard profiles - - - - Definition based on structuralProfile - definition - - - - Reference to the structural profile profile - uID - - - - - - Reference point in structural profile - definition for structural element definition - - - - - - - Standard Profile Type, see picture below for - further information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - structuralElementType - - - profileBasedStructuralElements type, containing a list - of profile based structural elements - - - - - - - - - + + + - + - profileGeometryType + mLandingGearsType - - A profile is defined by a profile name, an optional - description and a 3-dimensional pointlist with all three - coordinates mandatory. For typical profiles, one of the - coordinate vectors contains only "0" entries. All point - coordinates are transferred to the global coordinate system. The - points have to be ordered in a mathematical positive sense. - Normalized coordinates are not required. First and last point - may, but need not to, be identical. Hence, it is possible to - include "open" profiles. However, the trailing edge position of - the upper and lower point need to be identical. No crooked - trailing edges are possible. - Example 1: For a conventional wing, the airfoil - coordinates are defined in x and z with all the y-coordinates - set to "0". The points have to be ordered from the trailing edge - along the lower side to the leading edge and then along the - upper side back to the trailing edge. - Example 2: For a fuselage, the coordinates are - typically given in y and z with x set to "0". Starting point of - the profile sould be the lowest point (typically in the symmetry - plane), then upwards on the positive y-side up to the highest - point (again, typically in the symmetry plane). Depending on, - whether the fuselage shall be specified with symmetry condition - or not, the profile either ends there, or continues on the - negative y-side back down to the lowest point. - Alternatively, it is possible to specify the - coordinates of a profile via the CST (class function /shape - function transformation technique) notation. Please see the - cst2DType for further information. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - + - - - - Name of profile - - - + + - Description of profile + + Landing Gears mass description + - - - - - - - - + + + - + - profileGeometry2DType + mLandingGearSupportsType - - A profile is defined by a profile name, an optional - description and a 2-dimensional pointlist with both - coordinates mandatory. All point coordinates are transferred - to the global coordinate system depending on the context they - are used in. The points have to be ordered in a mathematical - positive sense. The x-coordinates of the profile has to be - normalized between 0 and 1. First and last point - may, but need not to, be identical. Hence, it is possible to - include "open" profiles. However, the trailing edge position of - the upper and lower point need to be identical. No crooked - trailing edges are possible. - Example 1: For a conventional nacelle profile, the airfoil - coordinates are defined in x and y. The points have to be ordered - from the trailing edge along the lower side to the leading - edge and then along the upper side back to the trailing edge. - When used for a nacelle the profile axis align - with the global axes as follows: - +x_profile -> +x_global; - +y-profile -> -z_global - Example 2: For a fuselage, the coordinates are - also given in x and z with x as the normalized fuselage height. - Starting point of the profile sould be the lowest point - (typically in the symmetry plane), then upwards on the positive x-side up to the highest - point (again, typically in the symmetry plane). Depending on, - whether the fuselage shall be specified with symmetry condition - or not, the profile either ends there, or continues on the - negative x-side back down to the lowest point. - Alternatively, it is possible to specify the - coordinates of a profile via the CST (class function /shape - function transformation technique) notation. Please see the - cst2DType for further information. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - + @@ -22231,72 +22338,42 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of profile - - - - - Description of profile - - - - - - + + - - - - - - - - - - - - - + - Profiles + mLavatoriesType - Profiles type, containing profile geometries - + - - - - - - - - - + + + + - + - Attachment of the pylon to the parent. + mLiningsType @@ -22306,35 +22383,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Material properties of the attachment. - - - - - - Link to the structural profile of the - attachment. - - - - - - UID of the attachment. - - + + + + - + - Attachments of the pylon to the parent. + mMainGearsType @@ -22345,20 +22407,19 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - Structural properties of the pylon box (ribs, upper, - lower and side panels). + Mass @@ -22369,27 +22430,27 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + Manufacturer empty mass description + + + + + + + - - - UID of the pylon box. - - - + - Definition of one pylon pin. + mMillitarySystemsType @@ -22400,49 +22461,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - First element (parentAttachmentUID, engineUID - or uID of a pylon structure. - - - - - Second element (parentAttachmentUID, engineUID - or uID of a pylon structure. - - - - - Position of the pylon pin related to the pylon - coordinate system. - - - - + - Blocked DOFs. Referes to the rotated - coordinate system that is defined in 'orientation'. + Millitary systems mass description - - - - UID of the pin. - - - + - Definition of pylon pins. + mMoveableLeadingEdgesType @@ -22453,60 +22488,43 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Definition of a rib set. + mMoveableLeadingEdgeType - - RibDefinitionType, containing the definition for ribs. - Ribs are defined in sets of one or more ribs. The positions of - the rib, as well as the orientation of the ribs are defined in - 'ribPositioing'. The cross section properties, as e.g. - materials, are defined in 'ribCrossSection'. - + - - - - Name of the rib set. - - - - - Description of the rib set. - - - - - - - + + + + + - + - Structural properties of all tibs of the engine pylon - box. + mMoveablesType @@ -22517,103 +22535,44 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + - + - pylonRibsPositioningType + mMoveableTrailingEdgeType - - Within the ribsPositioning type the position and the - orientation of the ribs of the rib set are defined. - The forward and the rear beginning of the rib set is - defined using relDepthStart and relDepthEnd. The orientation of - the ribs is defined in ribRotaton. The number of ribs of the - current rib set is either defined by ribNumber or by spacing. - - + - - - - relDepthStart defines the forward location of - the beginning of the rib set. 0 equals the forward end of the - pylon box, while 1 equals the rear end of the pylon box. - - - - - - relDepthEnd defines the rear end. 0 equals the - forward end of the pylon box, while 1 equals the rear end of the - pylon box. - - - - - Ribs can be rotated in the side view. The - defaults to 90°, which equals an orientation along the pylons - z-axis. The angle is meassured around the positive y-direction - of the pylon. - - - - - - The spacing of the ribs defines the distance - between two ribs, measured along the pylons x-axis. First rib - is placed at relDepthStart. - - - - - RibNumber defines the number of ribs in this - ribSet. First rib is at relDepthStart along the pylons x-axis, - last rib is at relDepthEnd. The spacing is constant. - - - - - - - - RibCrossingBehaviour can either be "cross" or - "end". If it is end then ribs will end it they intersect - another rib. It it is cross ribs are placed uncut. - - - - - - - - - - - + + + + + - + - Structural properties of a pylon shackle. + mNavigationType @@ -22624,35 +22583,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Material properties of the shackle. - - - - + - Link to the structural profile of the shackle. + Navigation mass description - - - UID of the shackle. - - - + - Structural properties of pylon shackles (for pylon to - parent attachment), if existing. + mNoseGearsType @@ -22663,19 +22610,19 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - Structural properties of the pylon shells. + Monetary values @@ -22686,35 +22633,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - UID of the structural profile. - - + - - - Material settings. - + - - - UID of the structure. - - - + - Definition of the load carrying structure of the engine - pylon. + Mass @@ -22725,25 +22658,30 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - + + + Operator items mass description + + + + + + + + + + - + - Structural properties of struts (drag struts, upper - links and tangent links), if existing. + mOverheadBinsType @@ -22753,21 +22691,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + + - + - radiativeForcingType + mPartStowDoorsType @@ -22777,25 +22714,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - + + + + - + - recurringCostType + mPassengersType @@ -22805,38 +22737,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - - - + + + + - + - Reference values + mPassengerType - Reference type, containing the reference values of the - aircraft model + @@ -22844,44 +22761,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Reference area (typically planform area) - - - - - - Reference length (typically Mean Aerodynamic - Chord MAC). In CPACS, only one reference length exists (and is - used, e.g. for all three moment coefficients. Coordinates given - relative to MAC shall always use this length as MAC. - - - - - - Moment reference point (in global coordinate - system). The x-coordinate is typically chosen same as of the - leading edge of the wing in the spanwise section having a - chordlength identical to MAC. Coordinates given as %MAC shall - always use this x-coordinate and length (e.g. 0%MAC = x, 100%MAC - = x + length). The y coordinate is typically 0. The z coordinate - is often chosen either as 0., or as z of fueselage nose or as z - of middle of center fuselage part. - - + - + - requirementType + Passengers masses @@ -22892,19 +22783,29 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Passanger masses Description + + + + + + Passanger mass Description + + + - + - RibIdentificationType, defining one rib. + Payload mass @@ -22915,35 +22816,27 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of the rib definition set. - - - - + - Number of the rib of the rib definition set. - + Payload mass description + + - + - Definition of the rib rotation + Mass - The rotation around z describes the rotation around the - wings midplane normal axis. The defaults to 90°. The reference - for the 'zero-angle' of the z-rotation is defined in - ribRotationReference. + @@ -22951,43 +22844,32 @@ The fuel tank volume type should also be used for the wing fuel tank - - - RotationReference defines the reference for - the z-rotation it is either sparUID, „LeadingEdge“, - „TrailingEdge“, "globalX", "globalY" or "globalZ". - If it is not defined the rotation reference is - the eta-axis (=leading edge, that is projected on the wings - y-z-plane). A z-rotation angle of 90 degrees means, that the rib - is perpendicular on the ribRotationReference (e.g. spar, leading - edge...). The rib itself is always straight, and the rotation - is defined with respect of the intersection point of the rib - with the ribRotationReference. - - - + - The rotation around z describes the rotation - around the wings midplane normal axis. The defaults to 90°. The - reference for the 'zero-angle' of the z-rotation is defined in - ribRotationReference. + Power units mass description + + + + + + + - + - rivetJointAreaAssemblyPositionType + mPylonAttachmentsType - RivetJointAreaAssemblyPosition type, containing a rivet - joint area assembly position + @@ -22995,24 +22877,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + - + - rivetJointAreasAssemblyType + mPylonsType - RivetJointAreasAssembly type, containing rivet joint - area assemblys + @@ -23020,90 +22900,73 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Pylons mass description + + + + - + - rivetType + mRibsType - Rivet type, containing a rivet + - - - - Name of the rivet type - - - - - Description of the rivet type - - - - - - Tensile Strength of the rivet type - - - - - - Shear Strength of the rivet type - - - - - + + + + - + - rivetsType + mRibType - Rivets type, containing rivets + - + - + - + - rotorAirfoilsType + mSeatsType - RotorAirfoils type, containing rotor airfoil - geometries. See profileGeometryType for further documentation - + @@ -23111,144 +22974,71 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - rotorBladeAttachmentType + mShellsType - RotorBladeAttachment type, defining the elements used - to attach one or more rotor blades to the rotor head. + - - - - Name of the blade attachment. - - - - - - Description of the blade attachment. - - - - - - - The azimuthAngles element is used to specify - a list of discrete azimuth angles (in deg) at which instances - of attached blades are to be created. The number of blades will - equal to the number of elements of the vector. E.g. - <azimuthAngles>0;90;180;270</azimuthAngles> for a - four blade rotor with equal equiangularly distributed blades. - The transformation of the respective rotor blade corresponds to - a rotation by azimuthAngle around the z axis of the rotor - coordinate system in mathematically positive sense of rotation. - - - - - - If only the number of blades is specified, - the attached blades will be distributed equiangularly and the - first blade will be attached at azimuth angle 0. (Formula: - azimuthAngle[i] = i*360deg/numberOfBlades, - i=0..numberOfBlades-1) - - - - - - Definition of all hinges used to attach the - rotor blade. - - - - - UID of the rotorBlade which should be attached - to the rotor hub. - - - - + + + + + - + - rotorBladeAttachmentsType + mShellType - RotorBladeAttachments type, containing all hinges and - blade UIDs attached to the current rotor hub. + - - - + + + + + + - + - rotorBladesType + mSkinPanelsType - - RotorBlades type, containing all the rotor blade - gometry definitions of an rotorcraft model. - Rotor blade geometries are defined using the same data - structure as wings (wingType). But in order to be compatible - with the other rotor blade related types (e.g. rotorType, - rotorHubType, rotorHubHingeType) there are some additional - conventions/requirements regarding the definition and - orientation of rotorBlade geometries: - - Rotor blades should be positioned relative to the - global z-axis the way they will be positioned to the rotor - shaft (when blade azimuth=0deg). - The global x-axis should be used as radial axis - (usually the quarter chord line of the rotor blade coincides to - a great extent with the x-axis of the rotor blade coordinate - system). - All sections should be positioned in the positive - x halfspace. - Segments should connect sections with ascending x - coordinates. - Airfoils defined in the rotorAirfoils node should - be used instead airfoils from the wingAirfoils node. - - - - - - + @@ -23256,113 +23046,45 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Rotor blade geometries are defined using the - same data structure as wings (wingType). But in order to be - compatible with the other rotor blade related types (e.g. - rotorType, rotorHubType, rotorHubHingeType) there are some - additional conventions/requirements regarding the definition and - orientation of rotorBlade geometries: see remarks. - - - + + - + - rotorHubHinge type, containing a rotor hub hinge - (flap/leadLag/pitch). + mSkinsType - - RotorHubHinge type, containing a rotor hub hinge - (flap/leadLag/pitch) of a rotorcraft model. - + - - - - Name of the hinge. - - - - - Description of the hinge. - - - - - - Hinge type. Possible values: "flap", "pitch" - "leadLag". This is used to define the rotation axis of the hinge - (flap = y-axis in blade cs, pitch = x-axis in blade cs, lead-lag - = z-axis in blade cs). - - - - - - - - - - - - The angle (in deg) at which the hinge is in - neutral position. This element is normally used to define - precone or prelag angles of the attached blade. Defaults to 0. - - - - - - Static stiffness of the hinge in (N/m) for - linear hinges and (N.m/deg) for angular hinges. Default value: - +inf (statically rigid hinge) - - - - - Dynamic stiffness of the hinge in (N/m) for - linear hinges and (N.m/deg) for angular hinges. Default value: - +inf (statically rigid hinge) - - - - - Damping of the hinge in (N/(m/s)) for linear - hinges and (N.m/(deg/s)) for angular hinges. Default value: +inf - - - - - + + + + - + - rotorHubHingesType + mSparCellsType - RotorHubHinges type, defining hinges used to attach a - rotor blade to the rotor head. + @@ -23370,214 +23092,68 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Definition of a flap, lead-lag or pitch hinge. - - - + + - + - rotorHubType + mSparSkinsType - RotorHub type, containing definitions for the rotor hub - and attached hinges and blades. + - - - - Name of the rotor hub. - - - - - Description of the rotor hub. - - - - - - Rotor head type. Possible values: "semiRigid", - "rigid", "articulated", "hingeless" - - - - - - - - - - - - - Rotor blade attachments are used to define how - many rotor blades are attached at which azimuth positions of the - rotor hub and the used hinges. - - - - + + + + - + - Rotor type, containing a rotor (main rotor, tail rotor, - fenestron, propeller,...) of an rotorcraft model. + mSparsType - - Rotor type, containing a rotor (e.g. main rotor, tail - rotor, fenestron, propeller,...) definition of a rotorcraft - model. - The position and attitude of the rotor is defined - using the transformation element. The following image shows the - CPACS conventions for the orientation of rotors and rotor axis - systems: - - - - - The origin coincides with the center of rotation. - - The z-axis corresponds to the axis of rotation - and thus coincides with the rotor shaft centerline. It Points - in the main thrust direction of the rotor (usually upwards for - a main rotor, forwards for a propeller). - The x-axis points from nose to tail (usually - rearwards for main and tail rotors, upwards for a propeller). - - The y-axis completes the right-handed orthogonal - coordinate system. - - Rotor hub attributes, hinges and references to - attached rotor blades are defined in the rotorHub element. - - - Note that rotor blade geometries are only referenced and not - defined in the child nodes of the rotor element. Refer to the - documentation of rotorBladesType ( - Empty#T/rotorBladesType - ) and wingType ( - Empty#T/wingType - ) for information on the definition of rotor blade geometries. - - The following figure shows the transformations to be - applied to rotorBlade geometries to visualize them in the rotor - frames for a given state (each rotor: rotorAzimuth given, each - hinge: hingeDeflection given): - - - - + - - - - Name of the rotor. - - - - - Description of the rotor. - - - - - UID of the part to which the rotor is mounted - (if any). The parent of the rotor can e.g. be the fuselage. In - each rotorcraft model, there is exactly one part without a - parent part (The root of the connection hierarchy). - - - - - - Rotor type. Possible values: "mainRotor" - (default), "tailRotor", "fenestron" or "propeller".. - - - - - - - - - - - - - - Nominal value of the angular rotation speed in - rotations per minute (rpm). - - - - - Transformation (scaling, rotation, - translation). This element is used to define the position and - attitude of the rotor relative to the global or the parent - component's axis system. Note that an anisotropical scaling - transformation should not be applied to the rotor. - - - - - - The rotorHub element contains the definition - of the rotor hub type and number and azimuth angles of the - attached blades and their hinges. The rotor hub position and - attitude coincides with the rotor axis system's origin and z - axis. - - - - - + + + + - + - rotorcraftAnalysesType, results from several analysis - modules connected to CPACS + mSparType - RotorcraftAnalyses type, containing detailed analysis - data of the rotorcraft - Within this element results from analysis modules are - stored that rely to the overall definition of the rotorcraft. - These include e.g. aerodynamic data or loadCases - For further documentation please refer to the - respective elements. + @@ -23585,186 +23161,66 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - + + + - + - rotorcraftGlobalType + mSpecialStructuresType - RotorcraftGlobalType type, containing global data of - the rotorcraft + - - - - Number of passenger seats - - - - - Cargo transport capacity [kg] - - - - - - Cruise Mach Number - - - - - Configuration of the rotorcraft: - standard(single main rotor, single tail rotor) / tandem / - coaxial/intermeshing / sideBySide/tiltRotor/tiltWing - - - - + + + + - + - massBreakdownType + mSpoilersType - - - 1. General - - - The - massBreakeDown - is subdivided in - designMasses - , - fuel - , - payload - and - mOME - (operating empty mass). - - - designMass - - The design mass is a description from TLARs and can - be understand as design criteria. - - fuel - and - payload - - The fuel and payload mass are the maximum masses - which can be achieved. Full fuel tanks, all passengers on - board and full cargo holding. - - mOEM - - - The operation empty mass structure is based on the Airbus Mass - Standard brake down [AIRBUS MASS STANDARD 2008]. The - operator’s mass empty (OME) is defined by the sum of the - following component masses: - - operator’s items - manufacturer’s mass empty (MME) - - - - - - - 2. massDescription - - - Each sub component has the following - massDescription - which include a: - - Name - Description - parentUID - Mass value - Mass location - Mass orientation - Mass Inertia. - - - - That - massdescription - can be found at the - designMasses - direct under each item. At the - fuel - , - payload - and - mOME - under massDescription in each item and sub item. - - - - For the clean up the - mOME - there is consisting a script witch is programmed in Matlab but - also as standalone vision available. Setting for that tool can - be done under - toolspesifics/cmu - . - - - + - - - - - - + + + + - + - Mass + mStringersType @@ -23774,22 +23230,17 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Manufacturer empty mass description - - - - - - + + + - + @@ -23804,20 +23255,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Group mass of hierarchy level 1 - + Structure mass description - - + + + + + - + @@ -23832,25 +23285,39 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Group mass of hierarchy level 2 - + Systems mass description - - + + + + + + + + + + + + + + + + + - + - Operating empty mass + mTrailingEdgeDevicesType @@ -23860,35 +23327,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Operating empty mass description - - - - - - + + + + - + - rotorcraftModelType + mTrailingEdgeDeviceType - RotorCraftModel type, containing a complete rotorcraft - model (Geometry and all specific data). The rotorcraftModelType - is basically a copy of the aircraftModelType with the following - additional elements: rotors, rotorBlades, driveSystems. - Furthermore the folowing elements have been adapted for - rotorcraft: global and analyses (aeroPerformance and - massBreakdown). + @@ -23896,51 +23351,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of rotorcraft model - - - - - Description of rotorcraft model - - - - - - - - - - - - - - + + + - - + - Rotorcraft + mULDContentsType - Rotorcraft type, containing all the rotorcraft models. - - Most of the extensions used in the rotorcraft type have - been defined as part of the work in the DLR project RIDE - (Rotorcraft Integrated Design and Evaluation, 2009-2012). - Therefore some of the definitions and conventions are tightly - coupled to the RIDE toolchain and tools. Further generalization - and assimilation of these parts to the definitions for fixed-wing - aircraft is planned for the near future. + @@ -23948,46 +23375,44 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - rotorsType + mULDContentType - Rotors type, containing all the rotors (mainRotors, - tailRotors, fenestrons, propellers, ...) of an rotorcraft model. - + - - - + + + - + - runwayILSType + mVacuumWasteSystemsType - RunwayILS type, containing ILS data of a runway - + @@ -23995,108 +23420,45 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Position of the localizer antenna - - - - - - - Position of the glide slope antenna - - - - - - Angle of the glide path - - - + + - + - runwayType + mWallsType - Runway type, containing data of a runway + - - - - Name of runway - - - - - Description of runway - - - - - Position in degrees north - - - - - Position in degrees east - - - - - Threshold elevation - - - - - Runway heading - - - - - Takeoff run available - - - - - Landing distance available - - - - - Conditions of the runway - - - - - + + + + - + - runwaysType + mWasteWaterSystemsType - Runways type, containing data of the airport's runways - + @@ -24104,22 +23466,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - shaftLinkedComponentsType + mWindowsType - ShaftLinkedComponents type, containing UIDs of engines, - transmissions and rotors linked by a shaft. + @@ -24127,45 +23489,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - UID of a linked engine. - - - - - UID of a linked transmission shaft input. - - - - - - UID of a linked transmission shaft output. - - - - - - UID of a linked rotor. - - - + + - + - shaftType + mWingBoxType - Shaft type defining a shaft used as a link between - drive system components. + @@ -24173,25 +23512,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + - - + - shaftsType + mWingsStructureType - Shafts type, containing all the shafts of a drive - system. + @@ -24199,18 +23537,24 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Wings structure mass description + + + + - + - sheet3DType + mWingStructureType @@ -24221,26 +23565,34 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + Wing structure mass description + + + + - - - + - sheetBasedStructuralElementType + Center cowl - sheetBasedStructuralElementType type, sheet definition - for use in fuselage/structure + + + The centerCowl is defined by the rotation of a given curve profile (referenced via curveUID) around the x-axis. + + + + + @@ -24248,74 +23600,198 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Material definition of the skin segment - (Material, thickness, (lay-up)) + Offset of the rotation curve in x-direction + + + + + UID of the curve profile (vehicles/profiles/curveProfiles/..) - + - + - sheetBasedStrcuturalElementsType + Nacelle cowl - sheetBasedStrcuturalElementsType, containing sheet - based structural element definitions + + Describes the cowl geometry for nacelles + using sections positioned around the + rotational center of the engine. + + + + + + + + + + + + + + + + + + + Guide curves + + + + - + - + - sheetList3DType + Guide curve - + + + The following figure shows the basic setup of the guide curves. + They always start at a given ζ-position (fromZeta) on the profile of the specified start section (startSectionUID) and end at the ζ-position (toZeta) on the profile of the subsequent section. + The relative coordinates of the guide curves are specified in cpacs/vehicles/profiles/guideCurves and referenced via its uID. + + + + + + Note: Guide curves and profiles must result in a valid curve network. + + + The guide curve points are interpreted as (Δr and Δx) offsets from a cubic polynomial. + This polynomial serves as a baseline for guide curves between segments located on different radial positions with smooth transitions: + + + + + + Note: Currently, the nacelles do not have an explicit guide curve type but employ the standard guide curve definition, which is used in wings and profiles. + Therefore, the parameters have a different meaning: + + + + Standard guide curve parameter + Nacelle guide curve equivalent + Description + + + rX + + φ + + Independent variable normalized to [0,1] + + + + rY + + Δx + + Orthogonal offset (translation in x-direction) + + + rZ + + Δr + + Radial offset + + + - - - + + + + + Name + + + + + + + Description + + + + + + + UID of the guide curve profile + + + + + + + UID of the start section + + + + + + + Curve coordinate of the referenced section profile at which the guide curve shall start. + Valid values are in the interval -1,..,1. + + + + + + + Curve coordinate of the profile following the referenced section profile. + It defines where the guide curve ends. + Valid values are in the interval -1,..,1. + + + + - + - List of sheets, connecting 2-dimensional profile - points. + nacelleProfilesType - SheetList type, containing a list of sheets. Each sheet - combines two points to one sheet. + Nacelle profiles type, containing nacelle profile geometries. + See profileGeometryType for further documentation @@ -24323,18 +23799,18 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - sheetPointsType + Sections @@ -24345,22 +23821,146 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - sheetType + Section - Sheet type, containing connection data of a sheet - + + + An engine nacelle is defined by sections, where at least one and up to an infinite number of sections can be specified. + Lofting of the nacelle surface along the sections is done in cylindrical coordinates. + The coordinate origin refers to the center of the fan, i.e. the sections and their profiles are typically shifted in negative x-direction. + + + Note: In the current CPACS release, transformations are still labeled as Cartesian coordinates. + It is current work in progress to explicitly introduce cylindrical coordinates. + Until this is implemented in a future CPACS release, the implicit conventions listed below apply: + + + + Translation component + Cylindrical coordinate equivalent + Description + + + + x + + + ϑ + + Rotation angle around x + + + + + y + + + h + + Horizontal translation + + + + z + + + r + + Radial translation + + + + The following example illustrates the setup of a nacelle with 4 sections. + These are rotated by 0, 120, 180 and 240 degrees around the x-axis (given by translation/x). + To illustrate the possible transformations, the profile of the upper section is shifted slightly further in the negative x-direction (translation/y), while the lower section has a smaller radial distance from the rotation axis (translation/z). + In addition, the sections are scaled differently (transformation/scaling; not shown in the example figures) in order to create a straight trailing edge and to realize a flattened profile near the ground. + + + The following example also shows the profile cut-outs due to the radially symmetric inner region of the nacelle defined by the rotationCurve. For detailed information, please refer to the documentation of the rotationCurve element. + + + + + The first section is not rotated (x=ϑ=0), but shifted vertically in negative direction (y=h=-0.257). + The radial distance is given by z=r=0.365: + + + + Upper section + + + 1.055 + 1 + 1 + + + 0.0 + -0.257 + 0.365 + + + fanCowlUpperSectionProfile + + ]]> + + The second section is rotated around the x-axis (x=ϑ=120) as well as scaled by a factor of 1.1 in its profile height: + + + + Inboard section + + + 1 + 1 + 1.1 + + + 120.0 + -0.2 + 0.365 + + + fanCowlUpperSectionProfile + + ]]> + + The third section is rotated around the x-axis by 180° and scaled by a factor of 0.8 in its profile height: + + + + Lower section + + + 1 + 1 + 0.8 + + + 180.0 + -0.2 + 0.33 + + + fanCowlUpperSectionProfile + + ]]> + + @@ -24368,88 +23968,34 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of sheet within the profile definition - - - - - - Description of sheet within the profile - definition - - - - - Point from which the sheet definition starts - start - - - - - Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines - tangential continuity), 2= C2 (defines curvature continuity) - 2=all - - - - - - - - - - - - - - Definition of an orientation vector at P1 - - - - + - Point at which the sheet definition ends - + Name - + - Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines - tangential continuity), 2= C2 (defines curvature continuity) - 2=all + Description - - - - - - - - - - + + - Definition of an orientation vector at P2 - + UID of the profile - + - + - singleGenericMassType + Noise @@ -24460,21 +24006,35 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + FAR approach noise level + + + + + FAR sideline noise level + + + + + FAR take-off noise level + + - + - Skid landing gears + Nose landing gears - List of skid gears + List of nose gears @@ -24482,22 +24042,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - fuselagePanelType + Operating empty mass - FuselagePanel type, panel of the fuselage between - stringers/ frames (new in V1.5) + @@ -24505,52 +24064,28 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of sheetBasedStructuralElement used for - the panel - - - - - UID of frame at start of the skin segment - - - - - - UID of frame at end of the skin segment - - - - - - UID of stringer at start of the skin segment - - - - + - UID of stringer at end of the skin segment + Operating empty mass description + + - - + - fuselageSkinSegmentType + operationalCasesType - FuselageSkinSegment type, containing material on skin - over circumference + @@ -24558,21 +24093,51 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - skinType + operationalCaseType - Containing data defining the skin + + + + + + + + + + + + + + + + + + + + + + + + + + + Operation Limit Increments + + + Changes of the deltas of operation limit angles with respect to the corresponding increment aeroPerformanceMaps. + Values are specified as an array with same indices like the corresponding increment map. @@ -24580,35 +24145,48 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Default UID of sheetBasedStructuralElement - used for the fuselage skin not covered by individual panels - + Minimum delta angle of attack [deg] + + + + + Maximum delta angle of attack [deg] - - + - Spar cell of the spar. + + Orthotropic material properties for 2D materials + - Within spar cells a special area of the spar is - defined where different cross section and material properties - shall be defined. - The area of the spar is defined by using the - parameters 'fromEta' and 'toEta'. The definition of the caps, - webs and rotation is equivalent to the cross section definition - of the complete spar. + Defines the material properties for an orthotropic material in the plane stress state (i.e., shell). The strain-stress relationship is defined as: + + + + Inverting the strain-stress relation and introducing thermal expansion yields: + + + + with: + + + + The terminology refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + @@ -24617,99 +24195,147 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Beginning (= inner border) of the spar cell. - + Young's modulus in material direction 1 [N/m^2] - + - Ending (= outer border) of the spar cell. - + Young's modulus in material direction 2 [N/m^2] - + - Upper Cap + Shear modulus in material in 2-3 plane [N/m^2] + + + + + Shear modulus in material in 3-1 plane [N/m^2] + + + + + Shear modulus in material in 1-2 plane [N/m^2] + + + + + Poisson's ratio + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal conductivity of the material in material direction 1 [W/(m*K)] - + - Lower Cap + Thermal conductivity of the material in material direction 2 [W/(m*K)] - + - Web 1 + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for shear [N/m^2] - + - Web 2 + Allowable strain for tension in material direction 1 - + - The angle between the wing middle plane and - web 1 [deg]. Default is 90 degrees. Positive rotation is around the - spar axis heading along with the positive eta-axis. + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for shear + + - - - - - - - - - - - SparCells of current spar. - - - sparCells are an optional Element. They are defined via - the etaCoordinates and define a region of special cross section - and material properties. - - - - - - - - - - + - Definition of the spar cross section. + + Orthotropic material properties for 3D materials + - Spar type, containing the cross section definition of - a spar. The spar middle point is defined by the intersection of - the wing middle plane and web1. This equals the coordinate - defined within the sparPosition. - Please find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: + Defines the material properties for an elastic orthotropic material in three spatial directions (i.e., solid). The strain-stress relationship is defined as: - + + Note that nuij is related to nuji by: + + + + The terminology refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + @@ -24718,135 +24344,232 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - + - The angle between the wing middle plane and - web1. Default is 90 degrees. Positive rotation is around the - intersection axis of the spar and the wing middle plane. The - positive heading of this axis is inline with the positive - heading of the componentSegment eta-axis. + Young's modulus in material direction 1 [N/m^2] - - - - - - - - - - - Spar position on the wing - - - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Eta and xsi - are relative to the componentSegment. - Please find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - As an alternative to the relative eta coordinate it is - possible to specify an elementUID so that the spar position is - relative to the outer geometry, e.g. kink, of the wing. - - - - - - - - - - + - Defines a spar position on an existing rib using a relative xsi coordinate - to determine the chord wise position on that rib + Young's modulus in material direction 2 [N/m^2] - + - Defines a spar position using relative eta/xsi coordinates + Young's modulus in material direction 3 [N/m^2] - - + + + Shear modulus in the 2-3 plane [N/m^2] + + + + + Shear modulus in the 3-1 plane [N/m^2] + + + + + + Shear modulus in the 1-2 plane [N/m^2] + + + + + Poisson's ratio in in 2-3 plane + + + + + Poisson's ratio in in 3-1 plane + + + + + Poisson's ratio in in 1-2 plane + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal expansion coefficient in material direction + 3 [1/K] + + + + + Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] + + + + + Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for tension in material direction 3 + [N/m^2] + + + + + Allowable stress for compression in material + direction 3 [N/m^2] + + + + + Allowable stress for shear in 2-3 plane [N/m^2] + + + + + + Allowable stress for shear in 3-1 plane [N/m^2] + + + + + Allowable stress for shear in 1-2 plane [N/m^2] + + + + + + Allowable strain for tension in material direction 1 + + + + + + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for tension in material direction 3 + + + + + + Allowable strain for compression in material + direction 3 + + + + + Allowable strain for shear in 1-3 plane + + + + + + Allowable strain for shear in 1-3 plane + + + + + + Allowable strain for shear in 1-2 plane + + + + - + - sparPositionUIDs of the spar. + outerCutOutProfileType - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Those - positions are combined to spars by using a list of spar position - uIDs. The order of the sparPositionUIDs must be the same as the - order of the points on the real spar (from root to tip or from - tip to root). - Pleas note: orientation of a spar must be allways - outbound or allways inbound. A zigzag spar orientation where - e.g. the spar starts at the root, goes to the tip and goes back - to another point at the root is not allowed. - Pleas find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - + - - - - List of spar position uIDs. - - - - + + + + - + - Spar definition points on the wing. + Container for parameter definitions - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Eta and xsi - are relative to the componentSegment. - Please find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - + Contains a of the design parameter definitions. + @@ -24854,23 +24577,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - SparSegments (=spars) of the wing. + Parameter definition for design studies. - SparSegmentType, each spar is defined by multiple - sparPositions that are referenced via their uID. The spar cross - section is defined in 'sparCrossSection'. + Contains a name for the design parameter to give semantic meaning to parameters used in design studies. + @@ -24880,34 +24602,25 @@ The fuel tank volume type should also be used for the wing fuel tank - Name of the spar segment (=spar). - - - - - - Description of the spar segment (spar). - + Name of parameter - - - + - + - Spar segments of the wing. + paxCrossBeamsAssemblyType - sparSegmentsType, containing multiple sparSegment - (=spars) of the wing. + PaxCrossBeamsAssembly type, containing pax crossBeam + assemblys @@ -24915,56 +24628,45 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Specific heat map, containing the specific heat capacity of a material at different temperatures. + paxCrossBeamStrutsAssemblyType - The specific heat of a material can vary with the temperature. The vectors specificHeat and temperature - must have the same size to be valid. The data should be linearly interpolated. - + PaxCrossBeamStrutsAssembly type, containing pax + crossBeam strut assemblys - - - - Temperature in [K] - - - - - Specific heat capacity of the material in [J/(kg*K)] - - - + + + - + - Specific performance map + paxDoorsAssemblyType - - Applying a specific performance map to selected mission segments. In addition to the obligatory defaultPerformanceMapUID at least a segmentUID or pointPerformanceUID must be given. - + PaxDoorsAssembly type, containing pax door assemblys + @@ -24972,141 +24674,103 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of performance map to be used for mission segments - - - - - - - List of all mission segment UIDs to which the performance map is to be applied - - - - - List of point performance UIDs to which the performance map is to be applied - - - - - - List of point performance UIDs to which the performance map is to be applied - - - + - + - specificPerformanceMapsType + payloadGlobalType - Collection of all assignments of specific performance maps to selected mission segments + - - - + + + + - + - Spoilers of the wing. + Selection of performance maps - - A spoiler is defined via its outerShape relative to the - componentSegment. The WingCutOut defines the area of the upper - skin that is removed by the spoiler. Structure is similar to the - wing structure. The mechanical links between the spoiler and the - parrent are defined in tracks. The deflection path is described - in path. Additional actuators, that are not included into a - track, can be defined in actuators. - - - - Name of the spoiler. - - - + - Description of the spoiler. - + Engine performance map selection - + - UID of the parent of the spoiler. The parent - is the componentSegment, where the spoiler is attached. - + Aerodynamic performance map selection - - - - - - - - + - Definition of the wings spoilers. + Configurations which apply for this performance requirement - Definition of the wings spoilers. + + + - - - + + + + + Default configuration uID + + + + + - + - State parameter definition + Performance requirements - Contains the values of a parameter and its uid as reference. - + @@ -25114,78 +24778,78 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + - - + - State parameters list + performanceTargetsGlobalType - Contains a list of all state parameters. - + - - - + + + + + + + + + + + + + - + - - - - stiffnessType - - - - - - + Pintle strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - - - - - - - - + + + + Pintle strut (one or two pintle struts are supported) + + + - + - stringerFramePositionType + Piston - Description of individual stringer / frame postions + Geometric description and material properties of the + landing gear piston. The figure below shows the condition of the + uncompressed piston, where the length of the exposed part is the + sum of the maxSpringDeflection + and the compressedExternalLength: + - + @@ -25194,139 +24858,127 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - UID of profile based structural element - - - - - - - x position in absolute value - - - - - - UID reference to a fuselageSectionElement - - - - - - - y coordinate of reference system - - - - - - z coordinate of reference system - - - - + + - angle definition to calculate intersection - with loft + Length of the piston - - + + - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) + Maximum spring deflection of the piston (difference between minimum and maximum deflection) - - - - - - - - - + - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile + Length of the piston that remains outside of the main strut in fully compressed state - - - - - - - - - - + + - + + + + + + Points on plasticity curve of material + (min. 1 point) + + + + + + + - arbitraryStringerType + plasticityCurvePointType - ArbitraryStringer type, containing stringer definition - (CPACS V1.5+) + - - - - + + + + Tangent modulus [N/m^2] + + + + + True stress [N/m^2] + + + - + - stringersAssemblyType + plasticityCurvesType - StringersAssembly type, containing an assembly of - stringers (new V1.5) + + Plastification curve incl. element elimination (isotropic + materials). The data may be used to describe the plastic behavior of isotropic + materials in non-linear analysis, such as crash simulations. The input is defined + according to the needs of Material 103 (single stress strain option) in the + PAM-CRASH explicit Finite Element code, but can also be used for equivalent material + laws in alternative simulation environment (see PAM-CRASH Solver Reference Manual., + Material 103). - + - + - Structural elements + This type describes the plasticity curve of isotropic + materials - structuralElements Type, containing the different structural - elements + + ... + + Plastification curve incl. element elimination + (isotropic materials) + + Plastification curve incl. element elimination (isotropic + materials) The data may be used to describe the plastic behavior of + isotropic materials in non-linear analysis, such as crash + simulations. The input is defined according to the needs of Material + 103 (single stress strain option) in the PAM-CRASH explicit Finite + Element code, but can also be used for equivalent material laws in + alternative simulation environment (see PAM-CRASH Solver Reference + Manual., Material 103) + Source: PAM-CRASH V2010 - Notes Manual + @@ -25334,34 +24986,59 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - + - Seat elements (Deprecation warning: This element will soon be removed from the official CPACS. Use the new seat modules located at cpacs/vehicles/deckElements!) + + Name of the post failure definition + + + + + + + Description of the post failure + definition + + + + + + + Strain rate for following plastcity + curve [1/s] + + + + + + + + + plasticEliminationStrain [-]; Plastic + strain for element elimination during + the non-linear analysis - - + - structuralMountType + Point with global/local reference - + PointAbsRel type, containing an xyz data triplet. Each + of the components is optional. The refType attribute defines, + whether coordinates are absolute in the global ccordinate system + [absGlobal], absolute in the parent element's local coordinate + system [absLocal]. If the object does not have a + parent, only [absGlobal] is permitted. @@ -25369,52 +25046,52 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - If this value is set to true then only the end points of the intersection shall be included as nodes in the model. - - - - - - The UID for the first connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. - - - - + - Optional counter to specify numbered items, e.g. ribs in a ribSet. - + X-Component - + - The UID for the second connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. - + Y-Component - + - Optional counter to specify numbered items, e.g. ribs in a ribSet. - + Z-Component - + + + + + + + Absolute values in global coordinate system + + + + + Absolute values in local coordinate system (default) + + + + + - + - structuralProfile3DType + Point with constraints - + Point constraint type, containing an xyz data triplet. @@ -25422,42 +25099,48 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + X-Component + + + + + Y-Component + + + + + Z-Component + + - - + - 2-dimensional cross sections of structural profiles. - + List of 3D points, kept in three relative coordinate + vecors (rX, rY, rZ) - StructureProfile type, containing data of a structure - profile cross sections. The cross section profile is defined by - several points (->pointList) in the x-y-space. Two points are - combined to one sheet (->sheetList) by using the pointUIDs. - - This profile is defined by several points in the - x-y-space. Allways two points are combined to one sheet. The - properties of each sheet are defined in the 'sheetProperties' - section by referencing on the sheetUID and the material - properties. The orthotropy direction of composite materials equals - the x-sheet axis. The orthotropy direction angle equals a positive - rotation around the z-sheet axis as indicated in the picture below - (part 3.), where a wing stringer is defined as an example: - + This set of vectors contains an ordered list of points + for rX, rY, and rZ coordinates in the form of stringBased + Vectors. The x, y and z vector elements with the same index + specify a 3D point relative to a geometric segment. - + + + + + + + @@ -25467,42 +25150,68 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the structure profile. + Vector of rX coordinates. Relative + circumferential coordinate on wing, fuselage or nacelle profile - + - Description of the structure profile. - + Vector of rY coordinates. Relative span + coordinate along a segment - + - List of structural profile points, only x and - y. + Vector of rZ coordinates. Relative coordinate + normal to the linear strake (normalised with chordlength / + diameter c*) - - - + - Definition cross sections of structural profiles. + List of points + + + PointList type, containing an ordered list of points + + + + + + + + + + Data point + + + + + + + + + + + + + List of points in x,y - Structuralprofiles type, containing cross section - information of structural profiles. + PointList type, containing an ordered list of points + @@ -25510,51 +25219,66 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Data points in x-y-space. + + - + - Geometric description and material properties of a strut + List of 2D points, kept in two coordinate vecors (x, y) + + + This set of vectors contains an ordered list of points + for x and y coordinates in the form of stringBased Vectors. + The x and y vector elements with the same index specify a 2D + point. The coordinates of the x vector of [0, 1]. + + - - - + + + - Length of the strut + Vector of x coordinates - - + + + Vector of y coordinates + + + - + - Design study parameters and results + List of 3D points, kept in three coordinate vecors (x, + y, z) - Contains optimization data such as definitions of design parameters and design studies. - - - - + This set of vectors contains an ordered list of points + for x, y and z coordinates in the form of stringBased Vectors. + The x, y and z vector elements with the same index specify a 3D + point. @@ -25562,23 +25286,38 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + Vector of x coordinates + + + + + Vector of y coordinates + + + + + Vector of z coordinates + + + - + - subFleetType + + Constraints + - Each fleet can be divided into sub fleet groups + Constraint settings for the point performance definition @@ -25586,36 +25325,89 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of fleet + + Calibrated airspeed [m/s] + - + - Description of the fleet + + Mach number [-] + - + - A ; separated list of all tailsign strings + + Climb angle [deg] + + + + + + + Rate of climb [m/s] + + + + + + + Rate of turn [deg/s] + + + + + + Thrust setting for derated engine as fraction of max. thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres) + + + + + + + Rate of velocity [m/s^2] + + + + + + + Duration [s] + + + + + + + Angle of attack [deg] + + + + + + + Constant altitude [m] + - - + - subFleetsType + Point performance definitions - Contains a list of different sub fleets + List of point performance definitions @@ -25623,58 +25415,119 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - subLoadType + pointPerformanceType - + Specific performance settings for the point performance calculation (e.g.: a cruise Mach number) - - - - - - - - - - + + + + Name + + + + + Description + + + + + + + Defines at which part of the mission + the point performance should be + considered - after indicated segment + of the mission as defined in + performanceCase + + + + + + + Defines at which part of the mission + the point performance should be + considered - at the defined + massFraction within the mission as + defined in performanceCase + (mCurrent/mTO) + + + + + + + Defines at which part of the mission + the point performance should be + considered - at the defined + fuelFraction within the mission as + defined in performanceCase + (mFuelCurrent/mFuelTO) + + + + + + + + Indicates the type of point performance + + + + + + + + + + + + + + + + + + + + + + + + + - + - Systems + + Requirements + - - Systems type, containing the aircraft's control system - data - Please see the attached picture for further - documentation - - - - + Requirement settings for the point performance definition @@ -25682,35 +25535,45 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Node for geometrical layout of system components - based on simple geometric shapes + + Sustained load factor to be achieved - + - Cockpit controls, e.g. stickRoll, pedals + + Instantaneous load factor to be achieved - + - Different commandCases that are commanded, - e.g. roll, accelerate + + Specific excess power to be achieved [m/s] + - + - Control Distributors, deliver inputs to the - control actuators. E.g. different angles of different ailerons. + + Roll rate to be achieved [deg/s] - + - Control laws, for regulated actuation + + Roll acceleration to be achieved upon control onset [deg/s^2] + + + + + + + Roll acceleration to be achieved upon control stop [deg/s^2] @@ -25719,18 +25582,15 @@ The fuel tank volume type should also be used for the wing fuel tank - + - tailplaneAttachmentAreaType + Point: x,y,z - tailplaneAttachmentArea type, containing dat on - fuselage - structure to attach tailplaine - + Point type, containing an xyz data triplet. @@ -25738,55 +25598,36 @@ The fuel tank volume type should also be used for the wing fuel tank - - Definition of tailplane attachment area - (Standard - Configuration) - - - + - type of tailplane attachment: Currently - restricted to - 'Type1' and 'Type2' (see documentation) - + X-Component - - - - - - - - - + - Definitions of VTP interface - + Y-Component - + - Definitions of VTP interface - + Z-Component - + - + - takeoffPerformanceParametersType + Point: x - + Point type, containing a x data. @@ -25794,188 +25635,154 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Take-off distance at liftoff speed VLOF. - - - - - - Take-off distance at safety speed V2. - - - - - - Optimal speed Velev at point of initiating - take-off rotation by elevator deflection for a minimum take-off - distance. - - - - - Optimal rotation speed VR for a mini-mum - take-off distance - - - - - Liftoff speed VLOF. - - - - - Safety speed V2. - - - - - Take-off decision speed V1 - - - - - Minimum control speed ground VMCG. - - - - + - Flight path angle being achieved at V2 with - one engine failure in 400 ft height above ground. This is the - result of a post trim calculation using the deter-mined V2. If - the trim calculation fails the entry is set to -90. - + X-Component + - + - Structural properties of the tangent links, if - existing. The tangent links do connect the engine pylon with the - engine to carry the thrust forces. + Point: x,y - + Point type, containing an xy data doublet. - - - + + + + X-Component + + + + + Y-Component + + + + - + - simpleConnectionType + Point: x,y,z - SimpleConnection type, containing a simple connection - + Point type, containing an obligatory xyz data triplet. - - + + - Can be each structural member (skinSegment, - stringer, frame, paxCrossBeam, cargoCrossBeam, - paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, - floorPanel, seatModule) + X-Component - + - Can be each structural member (skinSegment, - stringer, frame, paxCrossBeam, cargoCrossBeam, - paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, - floorPanel, seatModule) + Y-Component - - + + + Z-Component + + + + - - + - simpleConnectionsType + Point: x, z - SimpleConnections type, containing simple connections - + Point type, containing an xz data doublet. - - - + + + + X-Component + + + + + Z-Component + + + + - + - topologyEntriesType + Point: y - + Point type, containing a y data. - - - + + + + Y-Component + + + + - + - topologyEntryType + Point: y, z - A topology entry is used to combine the dynamic aicraft - models of several components, e.g. wing and fuselage. By default - these will be stiff. If desired stiffness and rotation with - respect to the CPACS coordinate system may be specified. - + Point type, containing an yz data doublet. @@ -25983,24 +25790,31 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + Y-Component + + + + + Z-Component + + + - + - totalOperatingCostType + Point: z - + Point type, containing a z data. @@ -26008,102 +25822,98 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + Z-Component + + + - + - trackActuatorType + Positive double values larger than 0 - - - - - - - - - Reference to the uID of the actuator of the - track. - - - - - Definition of the material properties of the - actuator to track attachment. - - - - - - + + + + + + + + + + + + + Positive integer values larger than 0 + + + + + + + + + - + - wingSparsType + Vector with semicolon separated positive integer values - Spars type, a spar is defined by sparSegments that - stretch between multiple sparPositions + + Any positive integer values separated by semicolons are permitted, e.g.: + +<intVectorTest>0;1;2;3;4;5</intVectorTest> + + +<intVectorTest>1</intVectorTest> + + +<intVectorTest>0,1,2,3,4,5</intVectorTest> + + +<intVectorTest>0.;1.;2.</intVectorTest> + + +<intVectorTest>-1;0;1</intVectorTest> + + - - - - - - - - - - - - - - - - - + + + + + - + - Definition of the struts of a control surface track. - + Positionings of the wing. - Definition of the struts of a control surface track. - + Positionings type, containing all the positionings of + the wing sections. @@ -26111,23 +25921,55 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Definition of a strut of a control surface track. - + Positioning of the wing section - Definition of a strut of a control surface track. - + + The positionings describe an additional translation of + sections. Basically, the positioning is a vector having the + length 'length' and an orientation that is described by the + parameters 'sweepAngle' and 'dihedralAngle'. If the 'sweepAngle' + and the 'dihedralAngle' are set to zero (or left blank) the + positioning vector equals the positive y-axis of the coordinate + system (in case of a positive 'length'). + If the parameter 'fromSectionUID' is set, the + positioning describes the translation between the 'from' towards + the 'to' section. If the parameter 'fromSectionUID' is left + blank the orgin of the positioning vector is the origin of the + parent coordinate syste. + The orgin of the section coordinate system is the + position which is described by the positioning vector PLUS the + translation which is described in the section. + Please note: If the orgin of the positioning vector is + defined by using another section, i.e. fromSection is defined, + the orgin of this vector equals the end of the positioning + vector of the previous section. This means that the section + translation of the from-section has no influence on the + positioning of the to-section. Therefore the total translation, + which is described by positionings, is the sum of the current + positioning and all positionings that are defined 'before'. + + An example for this is given at positioning 3 and 4 at + the picture below. Please note, that any other combination of + positionings would be possible. + Application of the sweepangle does not lead to a + rotation of the section. Application of the dihedral does not + lead to a rotation of the section. + + + + @@ -26135,251 +25977,256 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - + + + Name of the positioning. + + + + + Description of the positioning. + + + + + + Distance between inner and outer section + (length of the positioning vector). + + + + + Sweepangle between inner and outer section. + This angle equals a positive rotation of the positioing vector + around the z-axis of the wing coordinate system. + + + + + + Dihedralangle between inner and outer section. + This angle equals a positive rotation of the positioing vector + around the x-axis of the wing coordinate system + + + + + + Reference to starting section of the + positioning vector. If missing, the positioning is made from the + orgin of the wing coordinate system. + + + + + Reference to ending section (section to be + positioned) of the positioning vector. + - - + - + - Specification of joint coordinates. - + pressureBulkheadAssemblyPositionType - Specification of joint coordinates. - + PressureBulkheadAssemblyPosition type, containing a + pressure bulkhead assembly position - - - + + + + Frame to which bulkhead is attached to + + + + + + UID of bulkhead element desription + + + + + - + - Set of joint coordinates - + pressureBulkheadAssemblyType - Definition of a set of joint coordinates. - + PressureBulkheadAssembly type, containing pressure + bulkhead assemblys - - - - Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - + + + - + - Joint coordinates - + pressureBulkheadsType - Definition of a joint coordinates. + PressureBulkheads type, conteining pressure bulkheads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - Trailing edge device of the wing. + pressureBulkheadType - A trailingEdgeDevice (TED) is defined via its - outerShape relative to the componentSegment. The WingCutOut - defines the area of the skin that is removed by the TED. - Structure is similar to the wing structure. The mechanical links - between the TED and the parrent are defined in tracks. The - deflection path is described in path. Additional actuators, that - are not included into a track, can be defined in actuators. - - Leading and trailing edge are defined by the outer - shape of the wing segments, i.e. the trailing edge of a - trailingEdgeDevice is the trailing edge of the wing. This is also - valid for kinks that are present in the wing but not explicitly - modeled in the control surface. - The edges of the control surface within the wing are a - straight line in absolute coordinates! Hence, there needs to be a - straight connection between the eta-wise outer and inner points - of the edge that is within the wing in absolute coordinates. - + PressureBulkhead type, containing data of a pressure + bulkhead - - - - Name of the trailing edge device. - - - - - - Description of the trailing edge device. - - - - + + - UID of the parent of the TED. The parent can - either be the uID of the componentSegment of the wing, or the - uID of another TED. In the second case this TED is placed within - the other TED (double slotted flap). In this way n-slotted TEDs - can be created. + Name of the pressure bulkhead structural + element - - - - - - - + - Definition of cruise rollers/mid-span stops. - Those features are small rolls at the leading edge of a flap - that keep the flap within the bending wing at cruise - configuration. + Description of the pressure bulkhead + structural element - + - Definition of interconnection struts. Those - struts connect two neighbouring flaps and are load carrying in - case of an actuator of flap track failour. + UID of structural sheet element used for the + bulkhead - + - Definiton of z-couplings. Those elements - couple two neighbouring flaps in z-direction. + Choice between flat and curved bulkhead types - - - - - - - - - - - - - Definition of the wings trailing edge devices. - - - - Definition of the wings trailing edge devices. - - - - - - - - - + + + additional data for flat (forward) pressure + bulkhead + + + + Number of vertical reinforcements on flat + bulhhead + + + + + UID of structural elements used as vertical + reinforcements + + + + + Number of horizontal reinforcements on flat + bulhhead + + + + + UID of structural elements used as + horizontal reinforcements + + + + + + additional data for curved (rear) pressure + bulkhead + + + + Radius of bulkhead calotte in the plane of + the adjacent frame + + + + + maximum flection of the pressure bulkhaed + calotte + + + + + Number of radial reinforcements (equally + distributed) on curved bulhhead + + + + + UID of structural elements used as radial + reinforcements on curved bulkheads + + + + + - + - Trajectories + structuralElementType - + profileBasedStructuralElements type, containing a list + of profile based structural elements @@ -26387,112 +26234,316 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - trajectoryGlobalType + Structural elements based on profiles - + + + Short description + + The ProfileBasedStructuralElement type containins the + data of a structural element, that are based on 2-dimensional profiles. + There are three approaches to model profile based structural elements: + + by specifying global beam properties + by referencing a structuralProfile2D element + by choosing one of the prescribed standard profiles + + + + + + 1. Global beam properties + + In the section globalBeamProperties the properties + of the structural profile in an equivalent beam representation + are defined. + + + + 2. Structural 2D profile + + The structuralProfileUID element refers to the uID of the structuralProfile2D element. + As described in the corresponding documentation, this profile is defined by several points in the x-y-space. + Two points always form a sheet. + The properties of each sheet are defined in the sheetProperties element. + The orthotropy direction of composite materials equals the sheets' x-axis. + The orthotropy direction angle equals a positive rotation around the sheets' z-axis as indicated in the picture below (part 3), which shows an example of a wing stringer.: + + + + + + + 3. Standard structural 2D profile + + Instead of referencing a structuralProfile2D element, it is also possible to select a predefined standard profile. + These profiles are listed in the figure below. + Under sheetProperties, only the standardProfileSheetID (equals S1, S2, ...) must now be specified along with a corresponding length. + + + + + + - - - - - - - - - - - - - - - - + + + + Name of the profile based structural element + + - + + + Description of the profile based structural + element + - + + + Choice between global beam properties and sheet properties + + + + + + Choice between general profile element + description (referencing a structuralProfile) and predefined + standard profiles + + + + Definition based on structuralProfile + definition + + + + Reference to the structural profile profile + uID + + + + + + Reference point in structural profile + definition for structural element definition + + + + + + + Standard Profile Type, see picture below for + further information. + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - trajectoryType + profileGeometry2DType - + + A profile is defined by a profile name, an optional + description and a 2-dimensional pointlist with both + coordinates mandatory. All point coordinates are transferred + to the global coordinate system depending on the context they + are used in. The points have to be ordered in a mathematical + positive sense. The x-coordinates of the profile has to be + normalized between 0 and 1. First and last point + may, but need not to, be identical. Hence, it is possible to + include "open" profiles. However, the trailing edge position of + the upper and lower point need to be identical. No crooked + trailing edges are possible. + Example 1: For a conventional nacelle profile, the airfoil + coordinates are defined in x and y. The points have to be ordered + from the trailing edge along the lower side to the leading + edge and then along the upper side back to the trailing edge. + When used for a nacelle the profile axis align + with the global axes as follows: + +x_profile -> +x_global; + +y-profile -> -z_global + Example 2: For a fuselage, the coordinates are + also given in x and z with x as the normalized fuselage height. + Starting point of the profile sould be the lowest point + (typically in the symmetry plane), then upwards on the positive x-side up to the highest + point (again, typically in the symmetry plane). Depending on, + whether the fuselage shall be specified with symmetry condition + or not, the profile either ends there, or continues on the + negative x-side back down to the lowest point. + Alternatively, it is possible to specify the + coordinates of a profile via the CST (class function /shape + function transformation technique) notation. Please see the + cst2DType for further information. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + - - - - - - - - + + + + Name of profile + + + + + Description of profile + + + + + + + + + + + + + + + + + + - + - transmissionGearRatioType + profileGeometryType - TransmissionGearRatio type, defining the ratio of - output rotation velocity to input rotation velocity. + + A profile is defined by a profile name, an optional + description and a 3-dimensional pointlist with all three + coordinates mandatory. For typical profiles, one of the + coordinate vectors contains only "0" entries. All point + coordinates are transferred to the global coordinate system. The + points have to be ordered in a mathematical positive sense. + Normalized coordinates are not required. First and last point + may, but need not to, be identical. Hence, it is possible to + include "open" profiles. However, the trailing edge position of + the upper and lower point need to be identical. No crooked + trailing edges are possible. + Example 1: For a conventional wing, the airfoil + coordinates are defined in x and z with all the y-coordinates + set to "0". The points have to be ordered from the trailing edge + along the lower side to the leading edge and then along the + upper side back to the trailing edge. + Example 2: For a fuselage, the coordinates are + typically given in y and z with x set to "0". Starting point of + the profile sould be the lowest point (typically in the symmetry + plane), then upwards on the positive y-side up to the highest + point (again, typically in the symmetry plane). Depending on, + whether the fuselage shall be specified with symmetry condition + or not, the profile either ends there, or continues on the + negative y-side back down to the lowest point. + Alternatively, it is possible to specify the + coordinates of a profile via the CST (class function /shape + function transformation technique) notation. Please see the + cst2DType for further information. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + - - - - + + + + Name of profile + + + + + Description of profile + + + + + + + + + + - + - transmissionShaftInputType + Profiles - TransmissionShaftInput type, defining a shaft input for - a transmission. + Profiles type, containing profile geometries + @@ -26500,23 +26551,27 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + - - + - transmissionShaftInputsType + Attachments of the pylon to the parent. - TransmissionShaftInputs type, defining the shaft inputs - of a transmission. + @@ -26524,70 +26579,61 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - - - - - - transmissionShaftOutputType - - - TransmissionShaftOutput type, defining a shaft output - for a transmission. - - - - - - - - - - - - - - - - + - transmissionShaftOutputsType + Attachment of the pylon to the parent. - TransmissionShaftOutputs type, defining the shaft - outputs of a transmission. + - - - + + + + Material properties of the attachment. + + + + + + Link to the structural profile of the + attachment. + + + + + + UID of the attachment. + + - + - transmissionType + Structural properties of the pylon box (ribs, upper, + lower and side panels). - Transmission type, defining a transmission/gearbox. - + @@ -26595,27 +26641,30 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + + + - + + + UID of the pylon box. + + - + - transmissionsType + Definition of pylon pins. - Transmissions type, containing all the - transmissions/gearboxes of a rotorcraft model. + @@ -26623,30 +26672,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - - - - - - - - + - updateType + Definition of one pylon pin. - Update type, containing a datablock for each update of - the CPACS dataset + @@ -26654,49 +26694,50 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Description of Modification of CPACS data - - - - + - Creator of CPACS modification - + First element (parentAttachmentUID, engineUID + or uID of a pylon structure. - + - Timestamp of CPACS modification - + Second element (parentAttachmentUID, engineUID + or uID of a pylon structure. - + - New version number of CPACS dataset after - modification + Position of the pylon pin related to the pylon + coordinate system. - + + - CPACS version that the dataset is valid to + Blocked DOFs. Referes to the rotated + coordinate system that is defined in 'orientation'. + + + + UID of the pin. + + - + - Structural properties of the upper links, if existing. - The upper links do connect the upper forward part of the pylon - box with the forward wing attachment. + Structural properties of all tibs of the engine pylon + box. @@ -26706,23 +26747,27 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + - + - variableSegmentType + Definition of a rib set. - Containing the definition of variable segments for a segment block + RibDefinitionType, containing the definition for ribs. + Ribs are defined in sets of one or more ribs. The positions of + the rib, as well as the orientation of the ribs are defined in + 'ribPositioing'. The cross section properties, as e.g. + materials, are defined in 'ribCrossSection'. @@ -26731,43 +26776,42 @@ The fuel tank volume type should also be used for the wing fuel tank - + - defines uID of the segment having variable conditions + Name of the rib set. - + - defines which condition(s) are variable within the segment (must be one of the defined - endConditions for the segmentBlock) + Description of the rib set. + - - - - - - - + + + - + - List of segments that are allowed to be varied within a mission optimization. + pylonRibsPositioningType - - Provides a list of segments having variable conditions within the segmentBlock. - Example: a segmentBlock containing takeOff, climb, cruise, decent, landing segments has a cruise segment for which the range is variable. - The range of this segment is then to be calculated using the range defined for the segmentBlock while concerning the known ranges of all - other segments within the segmentBlock. - This concept needs to be practically tested. Does it suffice to mention (a list of) segments that are free to change to fit the overall block constraints? What happens if a segment is variable, though it has some constraints? When to define a segment as variable (climb until endPosition z, then endPosition x should be left free. Is the segment then variable? Probably not.). Somehow the 'free' segment should be in between fully defined segments (i.e.: a cruise+descent in between endPosition z == ICA and endPosition z == 0 for landing to define max range. How to define this exactly?) + + Within the ribsPositioning type the position and the + orientation of the ribs of the rib set are defined. + The forward and the rear beginning of the rib set is + defined using relDepthStart and relDepthEnd. The orientation of + the ribs is defined in ribRotaton. The number of ribs of the + current rib set is either defined by ribNumber or by spacing. + + @@ -26775,62 +26819,100 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + relDepthStart defines the forward location of + the beginning of the rib set. 0 equals the forward end of the + pylon box, while 1 equals the rear end of the pylon box. + + + + + + relDepthEnd defines the rear end. 0 equals the + forward end of the pylon box, while 1 equals the rear end of the + pylon box. + + + + + Ribs can be rotated in the side view. The + defaults to 90°, which equals an orientation along the pylons + z-axis. The angle is meassured around the positive y-direction + of the pylon. + + + + + + The spacing of the ribs defines the distance + between two ribs, measured along the pylons x-axis. First rib + is placed at relDepthStart. + + + + + RibNumber defines the number of ribs in this + ribSet. First rib is at relDepthStart along the pylons x-axis, + last rib is at relDepthEnd. The spacing is constant. + + + + + + + + RibCrossingBehaviour can either be "cross" or + "end". If it is end then ribs will end it they intersect + another rib. It it is cross ribs are placed uncut. + + + + + + + + + + - + - Vehicles + Structural properties of pylon shackles (for pylon to + parent attachment), if existing. - - The vehiclesType contains all vehicle-specific - data. - This includes the vehicle itself (i.e. aircraft - and rotorcraft). Furhtermore, components - (e.g. engines, structuralElements, etc.) - as well as physical properties of materials and - fuels can be predefined for easy and consistent reuse via - uID-references. - + - - - - - - - - - - - - + + + + - + - vtpFrameDefType + Structural properties of a pylon shackle. - Definition of the individual VTP attachments - + @@ -26838,155 +26920,37 @@ The fuel tank volume type should also be used for the wing fuel tank - - Definition of tailplane attachment area - (Standard Configuration) - - - - UID of the fuselage frame at this VTP - attchment - - - - - Flag for option for VTP attachment between - defined FrameUID and the next one - - - - - UID of panel element at VTP attachment (shell - elements) - - - - - UID of structural element at VTP attachment - (base, beams) - - - + - UID of structural element at VTP attachment - (horizontal, beams) + Material properties of the shackle. + - + - UID of structural element at VTP attachment - (radial, beams) + Link to the structural profile of the shackle. + - - - - - - - - - - - vtpInterfaceDefType - - - Definition of the interface of the VTP - - - - - - - + - Definition of the VTP interface - + UID of the shackle. - - - Definition of the VTP attachment frames and - their - reinforcement - - - - - - Defines area for valid x-position of VTP (just - used - if attachmentpoint is directly based on frame) ==> check and - potentially warning message - - - - - - Definition of the max. distance between - fuselage and - the defined VTP pins ==> check and potentially warning - message - - - - - - Definition of reinforcement area at VTP frame - positions (relative coordinate, smaller than - 1.0) - - - - - - Definition of vertical reinforcements at VTP - frame - positions (relative coordinate, smaller than - 1.0) - - - - - - value to change from horizontal to radial - reinforcements for VTP frame plates - - - - - - UID of elements to connect VTP pins with - fuselage - (beam elements) - - - - - + - - - - - - - - webType - - - - SparWeb type, containing the cross section area of the - spar web and the material properties. - Pleas find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: - - - - + + + + + + + Structural properties of the pylon shells. + + + @@ -26994,34 +26958,38 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - Material definition of the spar web. + UID of the structural profile. - + - relPos ranges from 0 to 1 It defines the - position of the web relative to the caps (see picture below).. - + Material settings. + + + UID of the structure. + + - + - weightAndBalanceCaseType + Definition of the load carrying structure of the engine + pylon. - WeightAndBalanceCase type, containing weight and - balance data for one case + @@ -27029,23 +26997,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + + + + + - - + - weightAndBalanceFuelInTankType + Structural properties of struts (drag struts, upper + links and tangent links), if existing. @@ -27056,28 +27026,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - Ranges from 0 for empty tank to 1 - - - + + + - + - weightAndBalanceFuelInTanksType + radiativeForcingType @@ -27087,22 +27049,39 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + + + + + + - + - weightAndBalanceFuelType + Rectangle - + + The width of the profile is always 1, since scaling is performed after referencing it (e.g., in the fuselage). + The resulting profile is defined by the following equation: + + + + with c = cornerRadius and r = heightToWidthRatio. + Example: Rectangle with cornerRadius=0.125 and heightToWidthRatio=0.5 + + + + @@ -27110,21 +27089,47 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + + + Corner radius + + + + + + + + + + + + + + + + + + Height-to-width ratio + + + + + - + - weightAndBalancePayloadType + recurringCostType @@ -27135,26 +27140,37 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + + + + + + + + + + + + + + - + - Weight and balance + Reference values - WeightAndBalance type, containing weight and balance - datasets + Reference type, containing the reference values of the + aircraft model @@ -27162,26 +27178,63 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Reference area (typically planform area) + + + + + + Reference length (typically Mean Aerodynamic + Chord MAC). In CPACS, only one reference length exists (and is + used, e.g. for all three moment coefficients. Coordinates given + relative to MAC shall always use this length as MAC. + + + + + + Moment reference point (in global coordinate + system). The x-coordinate is typically chosen same as of the + leading edge of the wing in the spanwise section having a + chordlength identical to MAC. Coordinates given as %MAC shall + always use this x-coordinate and length (e.g. 0%MAC = x, 100%MAC + = x + length). The y coordinate is typically 0. The z coordinate + is often chosen either as 0., or as z of fueselage nose or as z + of middle of center fuselage part. + + - + + + + + + + + + + + + + + + - weightAndBalancemCargosType + Released stores - For a higher ganularity it is possible to add more - information on the actual Cargo that are included in the - operational case. Please note that the information needs to be - identical with the massBreakdown. Hence, only links via uIDs can - be specified. + + + @@ -27189,28 +27242,60 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + - + - weightAndBalancemPaxxType + Released store - For a higher ganularity it is possible to add more - information on the actual Pax that are included in the - operational case. Please note that the information needs to be - identical with the massBreakdown. Hence, only links via uIDs can - be specified. + + + + + + + + + + + + + + uID of the released store(s). + + + + + + + Quantity of released stores + + + + + + + + + + + + + + Remaining contributions to aerodynamic coefficients + + + + This node lists the remaining contributions which were not specified so that the sum of the coefficients are equal to the total coefficients. + @@ -27218,25 +27303,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + - + - windowAssemblyPositionType + Remaining contribution to aerodynamic coefficients - WindowAssembly type, containing an the position of a - windows assembly + + This node lists a remaining contribution which was not specified so that the sum of the coefficients are equal to the total coefficients. + @@ -27244,93 +27327,96 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of the window element to be used - - - - + - x position of window elemment on global x axis + + Name - + - z position of window elemment refernce point + + Description - + - angle around global x axis to define window - position with respect to positionX and postionZ + Type (numerical/unspecified): "numerical", for example, describes rounding errors to clearly + separate them from other effects currently labeld as "unspecified". + The latter usually summarizes physical effects such as viscosity and should be further described via "description". + The approach is currently being tested in practice in order to derive a robust definition of categories in the future. + + + + + + + + + - + - + - windowsAssemblyType + Requirement classification based on the MoSCoW method (must, should, could or wont) - - WindowsAssembly type, containing an assembly of windows - - - - - - - - - + + + + + + + + - + - windowsType + requirementType - Windows type, containing windows + - - - - + + + + - + - wingAeroPerformanceType + RibIdentificationType, defining one rib. - wingAeroPerformance type, containing perfomance maps - with aerodynamic data of a wing. + @@ -27338,23 +27424,16 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Reference to the uID of the analysed wing + UID of the rib definition set. - - - References used for the calculation of the - force and moment coefficients of the wing (in the wing axis - system!) - - - + - Calculated aerodynamic performance maps of the - wing + Number of the rib of the rib definition set. + @@ -27362,94 +27441,87 @@ The fuel tank volume type should also be used for the wing fuel tank - + - wingAirfoilsType + Definition of the rib rotation - WingAirfoils type, containing wing airfoil geometries. - See profileGeometryType for further documentation + The rotation around z describes the rotation around the + wings midplane normal axis. The defaults to 90°. The reference + for the 'zero-angle' of the z-rotation is defined in + ribRotationReference. - - - + + + + RotationReference defines the reference for + the z-rotation it is either sparUID, „LeadingEdge“, + „TrailingEdge“, "globalX", "globalY" or "globalZ". + If it is not defined the rotation reference is + the eta-axis (=leading edge, that is projected on the wings + y-z-plane). A z-rotation angle of 90 degrees means, that the rib + is perpendicular on the ribRotationReference (e.g. spar, leading + edge...). The rib itself is always straight, and the rotation + is defined with respect of the intersection point of the rib + with the ribRotationReference. + + + + + The rotation around z describes the rotation + around the wings midplane normal axis. The defaults to 90°. The + reference for the 'zero-angle' of the z-rotation is defined in + ribRotationReference. + + + - + - Cell of the wing + rivetJointAreaAssemblyPositionType - - A cell defines a special region of the wing. Within - this region skin and stringer properties can be defined that - differer from the properties of the rest of the wing. In general - a cell is defined by defining four borders – the cell leading - and trailing edge and the inner border and the outer border. - Those borders can either be defined by using eta/xsi coordinates - or by referencing to spars and ribs. Mixed definitions (e.g. - forward border is defined due to a spar, side borders due to eta - coordinates) is allowed. In general a cell is quadrilateral. But - if e.g. the spar, which is used for the definition of the - trailing edge, has a kink, the cell can have more than four - corners. - The cell leading and trailing edge (= forward and rear - border) can either be defined by referencing to a spar - (->sparUID) or by the defining the xsi (=relative chord) - coordinates of the border (xsi1 = inner end; xsi2 = outer end). - - The cell inner and outer border can either be defined - by referencing to a rib (->ribDefinitionUID and ribNumber) or - by the defining the eta (=relative spanwise) coordinates of the - border (eta1 = forward end; eta2 = rear end). - Some examples for wing cells can be found in the - picture below: - - - - + RivetJointAreaAssemblyPosition type, containing a rivet + joint area assembly position - - - - - - - - - + + + + + - + - Cells of the wing. + rivetJointAreasAssemblyType - WingCells type, containing all the cells of the wing. - + RivetJointAreasAssembly type, containing rivet joint + area assemblys @@ -27457,67 +27529,43 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Structure of the wing + rivetsType - wingComponentSegmentStructure type, containing the - whole structue (skins, ribs, spars...) of the wing. + Rivets type, containing rivets - - - - - - - + + + - + - Element of the section. + rivetType - - Within elements the airfoils of the wing are defined. - Each section can have one or more elements. Within each element - one airfoil have to be defined. If e.g. the wing should have a - step at this section, two elements can be defined for the two - airfoils. - Mathematically spoken a element is a coordinate system - that is translated, rotated and scaled relative to the section - coordinate system. This transformation parameters are defined - withing the transformation section. The wirfoil, which is linked - by using the parameter airfoilUID is directly 'copied' in the - element coordinate system. If e.g. the airfoil is defined from 0 - to 1 in x-direction and the total scaling of the elements x-axis - equals 3.5 the wing chord is 3.5 m long. - An example for wing element can be found in the - picture below: - - - - + Rivet type, containing a rivet @@ -27525,105 +27573,163 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the wing element. + Name of the rivet type - + - Description of the wing element. + Description of the rivet type - + - Reference to a wing airfoil. + Tensile Strength of the rivet type + + + + + + Shear Strength of the rivet type - - + - + - Elements of the wing. + Rotation curve - WingElements type, containing the elements of a wing - section. + + + The figure below shows an example of a rotation curve. + Together with the corresponding XML code, the definition is explained in more detail. + + + + + + First, the reference system is defined via referenceSectionUID, for which in this example the section with uID="engine_nacelle_fanCowl_section1" is referenced. + This in turn contains a transformation (not shown here), for example a translation by z=0.4 and a scaling, where the x-direction is stretched by a factor of two. + + + The rotation curve is now described in this reference system. + It is predefined in the profile library and referenced via a its uID. + Note that the curve is defined in the range x=[0,..,1] in order to be reasonably transformed by the reference system. + + + Next, the blending from the rotated profile of the nacelle segment to the rotation curve is defined. + The corresponding start and end points are given in curve coordinates zeta of the corresponding profiles. + Note that the lower part of the segment profile counts from zeta=[-1,..,0] and the upper part counts from zeta=[0,..,1]. + In between, the blending is linear. + + + + engine_nacelle_fanCowl_section1 + fanCowl_upperSection + -0.6 + -0.5 + -0.2s + -0.1 + + ]]> + + + + Fan cowl rotation curve profile + + 0;0.5;1 + -0.1;-0.2;-0.05 + + + ]]> + + - - - - - - - + + + + UID of the section which serves as reference + + + + + Start zeta [-1,..,1]; relative curve coordante along the rotation curve from which it will be inserted in the nacelle. + + + + + End zeta [-1,..,1]; relative curve coordante along the rotation curve up to which it will be inserted in the nacelle. + + + + + Start zeta for blending [-1..1]; relative curve coordinate along the nacelle profile at which blending from the nacelle profile to the rotation curve will begin. + + + + + End zeta for blending; relative curve coordinate along the nacelle profile at which blending from the rotation curve to the nacelle profile will end. + + + + + UID of the rotation curve profile; the profile should be defined in x=[0..1] to be transformed by the section which is referenced by referenceSectionUID. + + + + - + - Border of the fuel tank (either rib or spar). - + rotorAirfoilsType - + RotorAirfoils type, containing rotor airfoil + geometries. See profileGeometryType for further documentation + - - - - Spar uID of the bordering spar. - - - - - - - UID of the rib set of the bordering rib. - - - - - - RibNumber of the rib set of the bordering - rib. - - - - + + + - + - Definition of the geometry of the wing fuel tank by - defining a continouse list of borders. + rotorBladeAttachmentsType - + RotorBladeAttachments type, containing all hinges and + blade UIDs attached to the current rotor hub. @@ -27631,58 +27737,121 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Definition of one wing fuel tank. + rotorBladeAttachmentType - + RotorBladeAttachment type, defining the elements used + to attach one or more rotor blades to the rotor head. - - + + - Name of the wing fuel tank. + Name of the blade attachment. - + - Description of the wing fuel tank. + Description of the blade attachment. - - - - + + + + The azimuthAngles element is used to specify + a list of discrete azimuth angles (in deg) at which instances + of attached blades are to be created. The number of blades will + equal to the number of elements of the vector. E.g. + <azimuthAngles>0;90;180;270</azimuthAngles> for a + four blade rotor with equal equiangularly distributed blades. + The transformation of the respective rotor blade corresponds to + a rotation by azimuthAngle around the z axis of the rotor + coordinate system in mathematically positive sense of rotation. + + + + + + If only the number of blades is specified, + the attached blades will be distributed equiangularly and the + first blade will be attached at azimuth angle 0. (Formula: + azimuthAngle[i] = i*360deg/numberOfBlades, + i=0..numberOfBlades-1) + + + + + + Definition of all hinges used to attach the + rotor blade. + + + + + UID of the rotorBlade which should be attached + to the rotor hub. + + + + - + - Definition of different volumes of the fuel tank. - + rotorBladesType - + + RotorBlades type, containing all the rotor blade + gometry definitions of an rotorcraft model. + Rotor blade geometries are defined using the same data + structure as wings (wingType). But in order to be compatible + with the other rotor blade related types (e.g. rotorType, + rotorHubType, rotorHubHingeType) there are some additional + conventions/requirements regarding the definition and + orientation of rotorBlade geometries: + + Rotor blades should be positioned relative to the + global z-axis the way they will be positioned to the rotor + shaft (when blade azimuth=0deg). + The global x-axis should be used as radial axis + (usually the quarter chord line of the rotor blade coincides to + a great extent with the x-axis of the rotor blade coordinate + system). + All sections should be positioned in the positive + x halfspace. + Segments should connect sections with ascending x + coordinates. + Airfoils defined in the rotorAirfoils node should + be used instead airfoils from the wingAirfoils node. + + + + + + @@ -27690,91 +27859,71 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Theoretical volume if material thicknesses - (ribs, spars, skins, stringers) and systems (fuel pumps, - pipes...) are neglected. + Rotor blade geometries are defined using the + same data structure as wings (wingType). But in order to be + compatible with the other rotor blade related types (e.g. + rotorType, rotorHubType, rotorHubHingeType) there are some + additional conventions/requirements regarding the definition and + orientation of rotorBlade geometries: see remarks. + - - - - - Usable fuel volume aircraft operations. - - - - - - Total real fuel tank volume. - - - - - - - - Factor between the usalbe fuel volume and - the real fuel volume. - - - - - Factor between the real fuel volume and the - theoretical optimum fuel volume. - - - - - + - List of wing fuel tanks. + rotorcraftAnalysesType, results from several analysis + modules connected to CPACS - + RotorcraftAnalyses type, containing detailed analysis + data of the rotorcraft + Within this element results from analysis modules are + stored that rely to the overall definition of the rotorcraft. + These include e.g. aerodynamic data or loadCases + For further documentation please refer to the + respective elements. - - - + + + + + + + + + + + + + - + - Definition of the wing-fuselage attachment + rotorcraftGlobalType - - Definition of the wing-fuselage attachment. The area - of the fuselage attachment (resp. center wing box, CWB) is - defined by defining one resp. two ribs from the rib definition. - If one rib is defined (rib1) the CWB goes from the closer end of - the componentSegment (e.g. wing symetry plane) to the defined - rib. If two ribs are defined (rib1 and rib2), the CWB is between - both ribs. - Additionally attachment pins can be defined. At those - positions the wing is attached to the fuselage. This can be e.g. - used for defining the wing-attachment of high wing - configurations, HTPs or VTPs. - + RotorcraftGlobalType type, containing global data of + the rotorcraft @@ -27782,29 +27931,28 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Definition of first (=inner) rib of the - fuselage attachment. + Number of passenger seats - + - Definition of the second (=outer) rib of the - fuselage attachment. Optional. Only to be used if attachment is - defined over two ribs. + Cargo transport capacity [kg] + - + - Definition of position, orientation, materials - and blocked DOFs of attachment pins. + Cruise Mach Number - + - Definition of actuators (e.g. trim actuator of - an HTP) of the attachment. + Configuration of the rotorcraft: + standard(single main rotor, single tail rotor) / tandem / + coaxial/intermeshing / sideBySide/tiltRotor/tiltWing + @@ -27812,38 +27960,127 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Definition of the wing-fuselage attachment. + massBreakdownType - Definition of the wing-fuselage attachment + + + 1. General + + + The + massBreakeDown + is subdivided in + designMasses + , + fuel + , + payload + and + mOME + (operating empty mass). + + + designMass + + The design mass is a description from TLARs and can + be understand as design criteria. + + fuel + and + payload + + The fuel and payload mass are the maximum masses + which can be achieved. Full fuel tanks, all passengers on + board and full cargo holding. + + mOEM + + + The operation empty mass structure is based on the Airbus Mass + Standard brake down [AIRBUS MASS STANDARD 2008]. The + operator’s mass empty (OME) is defined by the sum of the + following component masses: + + operator’s items + manufacturer’s mass empty (MME) + + + + + + + 2. massDescription + + + Each sub component has the following + massDescription + which include a: + + Name + Description + parentUID + Mass value + Mass location + Mass orientation + Mass Inertia. + + + + That + massdescription + can be found at the + designMasses + direct under each item. At the + fuel + , + payload + and + mOME + under massDescription in each item and sub item. + + + + For the clean up the + mOME + there is consisting a script witch is programmed in Matlab but + also as standalone vision available. Setting for that tool can + be done under + toolspesifics/cmu + . + + + - - - + + + + + + - + - wingInterfaceDefinitionsType + Mass - CenterFuselage high wing interface definitions - + @@ -27851,208 +28088,172 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + Manufacturer empty mass description + + + + + + - - + - centerFuselageMainFramesType + Mass - High wing main frame definition, containing mainframe - UIDs + - - - - - + + + + Group mass of hierarchy level 1 + + + + + - + - wingInterfaceSupportStrutType + Mass - wingInterfaceSupportStrut type, containing support - strut definition + - - - - Name of support strut. - - - + + - Type description: lateral or longitudinal - support strut. + Group mass of hierarchy level 2 + - - - - - - + + - + - wingInterfaceSupportStrutsAssemblyType + Operating empty mass - wingInterfaceSupportStrutsAssembly type, containing - support struts assembly + - - - - + + + + Operating empty mass description + + + + + + - + - Definition of the cell of the intermediateStructure - + rotorcraftModelType - - IntermediateStructure: - It defines the filling materials between the upper and - lower shell (e.g. honeycombe structures in a smeared - representation). IntermediateStructure is optional.The position - of the intermediateStructure is defined in so called cells (= - special areas on the wing). Default is no intermediateStructure. - - Material Definition of intermediateStructure: - - The material of the intermediateStructure is reference - by 'material'. The material orientation is defined by 'rotX' and - 'rotZ'. 'rotZ' is defined equivalent to the stringer angle resp. - the skin orthotropyDirection. 'rotX' equals a positive rotation - around the wings x-axis, while a rotation of zero is equivalent - to the wing middle plane. - A picture to clarify the reference direction of rotZ - (equivalent to orthothropy direction of the wing) can be found - in the picture below: - - - - Position definition by using cells: - A cell defines a special region of the wing. Within - this region the cell properties are defined. In general a cell - is defined by defining four borders – the cell leading and - trailing edge and the inner border and the outer border. Those - borders can either be defined by using eta/xsi coordinates or by - referencing to spars and ribs. Mixed definitions (e.g. forward - border is defined due to a spar, side borders due to eta - coordinates) is allowed. In general a cell is quadrilateral. But - if e.g. the spar, which is used for the definition of the - trailing edge, has a kink, the cell can have more than four - corners. - The cell leading and trailing edge (= forward and rear - border) can either be defined by referencing to a spar - (->sparUID) or by the defining the xsi (=relative chord) - coordinates of the border (xsi1 = inner end; xsi2 = outer end). - - The cell inner and outer border can either be defined - by referencing to a rib (->ribDefinitionUID and ribNumber) or - by the defining the eta (=relative spanwise) coordinates of the - border (eta1 = forward end; eta2 = rear end). - Some examples for wing cells can be found in the - picture below: - - - - - - - - - - - - - - - - - - Reference to the material of the intermediate - structure. - - - + RotorCraftModel type, containing a complete rotorcraft + model (Geometry and all specific data). The rotorcraftModelType + is basically a copy of the aircraftModelType with the following + additional elements: rotors, rotorBlades, driveSystems. + Furthermore the folowing elements have been adapted for + rotorcraft: global and analyses (aeroPerformance and + massBreakdown). + + + + + + + + - 'rotX' equals a positive rotation around the - wings x-axis, while a rotation of zero is equivalent to the wing - middle plane direction. + Name of rotorcraft model - + - 'rotZ' is defined equivalent to the stringer - angle resp. the skin orthotropyDirection. + Description of rotorcraft model + + + + + + + + + + + + - + - + - IntermediateStructure cells + Rotorcraft - Definition of the intermediateStructure of the - componentSegment of the wing. + Rotorcraft type, containing all the rotorcraft models. + + Most of the extensions used in the rotorcraft type have + been defined as part of the work in the DLR project RIDE + (Rotorcraft Integrated Design and Evaluation, 2009-2012). + Therefore some of the definitions and conventions are tightly + coupled to the RIDE toolchain and tools. Further generalization + and assimilation of these parts to the definitions for fixed-wing + aircraft is planned for the near future. @@ -28060,23 +28261,53 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Definition of a ribCell + rotorHubHingesType - RibCells are optional elements. They are defined via a - fromRib and a toRib. The enumeration is within the ribSet. - RibNumber 1 starts at etaStart. + RotorHubHinges type, defining hinges used to attach a + rotor blade to the rotor head. + + + + + + + + + + Definition of a flap, lead-lag or pitch hinge. + + + + + + + + + + + + + + rotorHubHinge type, containing a rotor hub hinge + (flap/leadLag/pitch). + + + + RotorHubHinge type, containing a rotor hub hinge + (flap/leadLag/pitch) of a rotorcraft model. + @@ -28084,61 +28315,77 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Defines the beginning of the ribCell. The - enumeration is within the ribSet. + Name of the hinge. - + - Defines the ending of the ribCell. The - enumeration is within the ribSet. + Description of the hinge. - + + - WING: The Rotation along the x describes a - rotation around a line, that is defined by the intersection of - the rib with the wing middle plane (orientated from leading to - trailing edge). This angle defaults to 90° which means, that the - rib is perpendicular on the wings middle plane. PYLON: The - Rotation along the z describes a rotation around the pylons - z-axis (= rotation in top view). This angle defaults to 90° - which means, that the rib is perpendicular to the pylons x-axis. + Hinge type. Possible values: "flap", "pitch" + "leadLag". This is used to define the rotation axis of the hinge + (flap = y-axis in blade cs, pitch = x-axis in blade cs, lead-lag + = z-axis in blade cs). + + + + + + + + + + + + The angle (in deg) at which the hinge is in + neutral position. This element is normally used to define + precone or prelag angles of the attached blade. Defaults to 0. - + - The orthotropyDirection is defined as rotation - around the ribs z-axis. The rib coordinate system is defined as - follows: x-axis is from leading to trailingeEdge of the - componentSegment in the direction of the rib elongation. z-axis - is normal to the rib in the direction of positive eta. y is - defined by right hand rule. Rotation is around the z-axis. Zero - degrees are at the x-axis positive direction. + Static stiffness of the hinge in (N/m) for + linear hinges and (N.m/deg) for angular hinges. Default value: + +inf (statically rigid hinge) + + + + + Dynamic stiffness of the hinge in (N/m) for + linear hinges and (N.m/deg) for angular hinges. Default value: + +inf (statically rigid hinge) + + + + + Damping of the hinge in (N/(m/s)) for linear + hinges and (N.m/(deg/s)) for angular hinges. Default value: +inf - - - + - + - Cross section properties of a wing rib + rotorHubType - wingRibCrossSectionType, containing the definition of - ribsCrossSection + RotorHub type, containing definitions for the rotor hub + and attached hinges and blades. @@ -28146,59 +28393,55 @@ The fuel tank volume type should also be used for the wing fuel tank - + - The orthotropyDirection is defined as rotation - around the ribs z-axis. The rib coordinate system is defined as - follows: x-axis is from leading to trailingeEdge of the - componentSegment in the direction of the rib elongation. z-axis - is normal to the rib in the direction of positive eta. y is - defined by right hand rule. Rotation is around the z-axis. Zero - degrees are at the x-axis positive direction. + Name of the rotor hub. + + + + + Description of the rotor hub. - + - WING: The Rotation along the x describes a - rotation around a line, that is defined by the intersection of - the rib with the wing middle plane (orientated from leading to - trailing edge). This angle defaults to 90° which means, that the - rib is perpendicular on the wings middle plane. The rotation - angle is defined at the intersection point of the rib with the - ribReference line. The rib itself is allways straight and not - twisted. PYLON: The Rotation along the z describes a rotation - around the pylons z-axis (= rotation in top view). This angle - defaults to 90° which means, that the rib is perpendicular to - the pylons x-axis. + Rotor head type. Possible values: "semiRigid", + "rigid", "articulated", "hingeless" + + + + + + + + - - - - + - Post element definition applied to all vertical intersections with spars + Rotor blade attachments are used to define how + many rotor blades are attached at which azimuth positions of the + rotor hub and the used hinges. + - + - Explicit positioning of a wing rib + rotorsType - - Use this type for an explicit positioning of a rib. As opposed to - ribsPositioning, this defines a single rib connecting a specified start - and end point. - + Rotors type, containing all the rotors (mainRotors, + tailRotors, fenestrons, propellers, ...) of an rotorcraft model. + @@ -28206,87 +28449,64 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Defines the start of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the start of the rib defined by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the beginning of the rib using a specific sparPosition. - - - - - - - - - Defines the end of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the end of the rib given by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the end of the rib using a specific sparPosition. - - - - - - - - Defines the forward beginning of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - - - RibEnd defines the backward ending of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - + - + - wingRibPointType + Rotor type, containing a rotor (main rotor, tail rotor, + fenestron, propeller,...) of an rotorcraft model. - The wingRibPointType is used to define reference points on ribs. - It can be used for rib set definitions (wingRibsPositioningType) as - well as explicit rib definitions (wingRibExplicitPositioningType). + Rotor type, containing a rotor (e.g. main rotor, tail + rotor, fenestron, propeller,...) definition of a rotorcraft + model. + The position and attitude of the rotor is defined + using the transformation element. The following image shows the + CPACS conventions for the orientation of rotors and rotor axis + systems: + + + + + The origin coincides with the center of rotation. + + The z-axis corresponds to the axis of rotation + and thus coincides with the rotor shaft centerline. It Points + in the main thrust direction of the rotor (usually upwards for + a main rotor, forwards for a propeller). + The x-axis points from nose to tail (usually + rearwards for main and tail rotors, upwards for a propeller). + + The y-axis completes the right-handed orthogonal + coordinate system. + + Rotor hub attributes, hinges and references to + attached rotor blades are defined in the rotorHub element. + + + Note that rotor blade geometries are only referenced and not + defined in the child nodes of the rotor element. Refer to the + documentation of rotorBladesType ( + Empty#T/rotorBladesType + ) and wingType ( + Empty#T/wingType + ) for information on the definition of rotor blade geometries. + + The following figure shows the transformations to be + applied to rotorBlade geometries to visualize them in the rotor + frames for a given state (each rotor: rotorAzimuth given, each + hinge: hingeDeflection given): + + + @@ -28295,89 +28515,82 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - The UID of the rib definition. Can be a reference to nodes - of either wingRibsPositioningType or wingRibExplicitPositioningType. - + Name of the rotor. - + - - For references of type wingRibsPositioningType this node indicates the rib number of the rib set. - If not given it defaults to 1. + Description of the rotor. + + + + + UID of the part to which the rotor is mounted + (if any). The parent of the rotor can e.g. be the fuselage. In + each rotorcraft model, there is exactly one part without a + parent part (The root of the connection hierarchy). - + - - Normalized xsi coordinate of the rib point which is measured along the rib - from the start point [0] towards the end point [1]. + Rotor type. Possible values: "mainRotor" + (default), "tailRotor", "fenestron" or "propeller".. + + + + + + + + - - - - - - - - - - - Definition of a set of ribs - - - - RibDefinitionType, containing the definition for ribs. - Ribs are defined in sets of one or more ribs. The positions of - the rib, as well as the orientation of the ribs are defined in - 'ribPositioing'. The cross section properties, as e.g. - materials, are defined in 'ribCrossSection'. - - - - - - - - - + - Name of the rib set + Nominal value of the angular rotation speed in + rotations per minute (rpm). - + - Description of the rib set + Transformation (scaling, rotation, + translation). This element is used to define the position and + attitude of the rotor relative to the global or the parent + component's axis system. Note that an anisotropical scaling + transformation should not be applied to the rotor. - - - - - - - + + + The rotorHub element contains the definition + of the rotor hub type and number and azimuth angles of the + attached blades and their hinges. The rotor hub position and + attitude coincides with the rotor axis system's origin and z + axis. + + + + + - + - Wing ribs + runwayILSType - RibDefinitions type, containing the definition of all - ribs of the wing. + RunwayILS type, containing ILS data of a runway + @@ -28385,36 +28598,42 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Position of the localizer antenna + + + + + + + Position of the glide slope antenna + + + + + + Angle of the glide path + + + - + - Positioning of a set of wing ribs + Runway start position - The ribsPositioning type allows the definition of a set - of ribs which is distributed over a specified spanwise area. - The positions of the ribs are defined by placing the - ribs on a reference line on the wing (ribReference). The inner - and the outer beginning of the rib set is defined using etaStart - and etaEnd. The position of the forward and rear end of the ribs - is defined by ribStart and ribEnd. The orientation of the ribs - is defined in ribRotation. The number of ribs of the current rib - set is either defined by ribNumber or by spacing. - Three examples how ribs can be placed on the wing are - illustrated in the picture below. For more detailed information, - please refer to the description of each parameter. - - - + + Description of the vehicle on the runway relative to the runway threshold. + @@ -28422,154 +28641,83 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Defines the start of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the start of the rib by a point on a reference curve, - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the beginning of the rib using a specific sparPosition - - - - - - - - - Defines the end of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the end of the rib defined by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - + + + - - Defines the location of the end of the rib using a specific sparPosition - - - - - - - - Defines the forward beginning of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - - - Defines the backward ending of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - + + X-position in cartesian coordinates in the runway coordinate system + + + + - The spacing of the ribs defines the distance between two ribs, - measured on the - ribReferenceLine. First rib is placed at etaStart. + Y-position in cartesian coordinates in the runway coordinate system - + - Defines the number of ribs in this ribSet. First rib is at - etaStart on the - referenceLine, last rib is at etaEnd. The spacing is constant on the - ribReferenceLine. + Z-position in cartesian coordinates in the runway coordinate system - - - - - The ribReference is the reference line for the computation of the rib set spacing. - It can either be a sparUID or "trailingEdge" or "leadingEdge" - - - - - + + + - RibCrossingBehaviour can either be 'cross' or 'end'. If it is set to'end' the ribs - of this rib set will end at the intersection with another rib. - If it is set to - 'cross' the ribs of this rib set will continue at the intersection - with another rib. + Lengthwise distance along the runway centerline from the runway threshold - - - - - - - - - + + + + + Lateral offset from the runway centerline. Positive values on the starboard side. + + + + + + + + + + + + + + + runwaysType + + + Runways type, containing data of the airport's runways + + + + + + + + + - + - Section of the wing. + runwayType - - WingSection type, containing a wing section. The - sections contains elements, where the airfoils are defined. For - the definition of a wing at least two sections (root and tip) - have to be defined, but any number greater than 2 is also - possible. - Mathematically spoken a section is a coordinate system - that is translated, rotated and scaled relative to the wing - coordinate system. This transformation parameters are defined - withing the transformation section. - In addition to the translation, which is defined in - the transformation part, the section can be translated by using - the positionings vectors (wing->positiongs). Translation of - the positionings vectors is added to the translation of the - section. - An example for wing sections can be found in the - picture below: - - - - + Runway type, containing data of a runway @@ -28579,34 +28727,65 @@ The fuel tank volume type should also be used for the wing fuel tank - Name of wing the wing section. - + Name of runway - + - Description of the wing section. - + Description of runway - - + + + Position in degrees north + + + + + Position in degrees east + + + + + Threshold elevation + + + + + Runway heading + + + + + Takeoff run available + + + + + Landing distance available + + + + + Conditions of the runway + + + - + - + - Sections of the wing. + Seat elements - WingSections type, containing all the sections of the - wing. + Seat element collection type @@ -28614,29 +28793,25 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Seat element for use in the decks + + - + - Segment of the wing. + Seat element - - A segment defines which two wing elements (=cross - sections) are linked to one wing segment. - An example for wing segments can be found in the - picture below: - - - - + Seat element type, containing the base elements of the cabin @@ -28644,52 +28819,33 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of wing the wing segment. - - - - - - Description of the wing segment. - - - - - - Reference to the element from which the - segment shall start. - - - + - Reference to the element at which the segment - shall end. + Description - + + + - Optional and additional guidecurves to shape - the outer geometry. + Number of seats - + - + - Segments of the wing. + Seat modules - WingSegments type, containing all the segments of the - wing. + Seat module instance collection type. @@ -28697,120 +28853,95 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Seat module + + - + - Shells of the wing + shaftLinkedComponentsType - Within the wingShellType the upper and lower skin of a - and the skin stringers are defined. At 'skin' and 'stringer' the - skin and stringer properties of the complete componentSegment are - defined. If different skin or stringer properties should be - defined in a special region of the wing this can be done within - 'cells'. - If the stringer should not be defined explicite, they - can be defined implizite by defining an equivalent material layer - and using a composite as material. + ShaftLinkedComponents type, containing UIDs of engines, + transmissions and rotors linked by a shaft. - - - - - - + + + + + UID of a linked engine. + + + + + UID of a linked transmission shaft input. + + + + + + UID of a linked transmission shaft output. + + + + + + UID of a linked rotor. + + + + - + - Material properties of the wing skin. + shaftsType - - The wingSkinType describes the material properties of - the wing. - For composites materials: the positive z-direction is - from the outer side to the inner side. - For composites materials: the reference axis for the - orthotropyDirection is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - orthotropyDirection equals the rotation around the z-reference - axis. For details, please refer to the picture below: - - - - - + Shafts type, containing all the shafts of a drive + system. - - - - Material properties of the wing skin. - - - - + + + - + - Wing spars + shaftType - - Spars type, a spar is defined by sparSegments that - stretch between multiple sparPositions. The spar definition is - very flexible in CPACS. Spars can start and end at any position - of the wing, spars can have kinks at any position of the wing - and spars can cross each other or merge. - At first the spar points (->sparPositions) have to - be defined. Spar points are defined using the relative - coordinates eta and xsi. Spar points do lay on wing middle - plane. - Two or more spar points are connected to on spar - segment (->sparSegments). Each spar segment can be seen as - one spar. The spar geometry between two spar points is defined - as a direct/straight connection in global coordinate system - and not in eta xsi coordinates of the component segment. - One spar point can be used by more than one spar, if - e.g. two spars are merging. The detailed cross section of the - spar is also defined with sparSegments. - Pleas find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - + Shaft type defining a shaft used as a link between + drive system components. @@ -28818,153 +28949,50 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + - + - Definition of the wing stringers. + sheet3DType - - Within the wingStringerType wing stringers are - defined. The stringer are defined by referencing on the - stringerStructureUID, where the shape and material settings of - one single stringer is defined. In addition the orientaion and - the stringer pitch have to be defined: - One stringer intersects the point at the given xsi and - eta position. - - - - Alternatively, an exlicit stringer definition can be - applied if the stringers shall be tapered. - + - - - - - - This is the simple and default stringer - definition - - - - The pitch describes the distance between to - adjacent stringers in the plane rectangular to the stringer - elongation direction. - - - - - - Stringer angle: the reference axis for the - stringer angle is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - stringers equals the rotation around the z-reference axis. For - details, please refer to the picture below. - - - - - - If the reference of the stringer angle shall - be different from the default implementation then this - parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to - provide the UID of a spar. - - - - - - This is the explicit stringer definition. - Please note that for a consistent definition two out of the - possible three elements innerBorder (xsiLE, xsiTE), outerBorder - (xsiLE, xsiTE) and stringer angle (and angle reference) must be - defined. Any combination of two of the three is valid - - - - - The number of stringers; default is 0 - - - - - - Stringer angle: the reference axis for the - stringer angle is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - stringers equals the rotation around the z-reference axis. For - details, please refer to the picture below. - - - - - - If the reference of the stringer angle shall - be different from the default implementation then this - parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to - provide the UID of a spar. - - - - - Inner border xsi coordinate at the leading - edge of the stringer definition - - - - - Outer border xsi coordinate at the leading - edge of the stringer definition - - - - - Inner border xsi coordinate at the trailing - edge of the stringer definition - - - - - Outer border xsi coordinate at the trailing - edge of the stringer definition - - - - - + + + + + + - + - wingStructuralMountsType + sheetBasedStrcuturalElementsType - + sheetBasedStrcuturalElementsType, containing sheet + based structural element definitions @@ -28972,53 +29000,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Wing type, containing all a lifting surface (wing, HTP, - VTP, canard...) of an aircraft model. + sheetBasedStructuralElementType - - Wing type, containing all a lifting surface (wing, - HTP, VTP, canard...) of an aircraft model. - Position of the wing: The position of the wing is - defined using the transformation parameters. Using those - parameters, the wing coordinate system is translated, rotated - and scaled. - Definition of the wings outer shape: The outer shape - of the wing is defined by airfoils that are placed within the 3D - space. Two airfoils are combined to one wing segment within the - segments. For the definition of the positions of the airfoils, - differnt sections are defined. Within each section one or more - elements are defined. The airfoil shape is defined within the - elements. If the wings outer shape should e.g. have a step it is - possible to define two different airfoils in one section by - using two elements. In most cases each section will only include - one element. Positionings are vectors that are used for an - additional translation of the sections by using 'user friendly - paramaters' as e.g. sweep and dihedral. Please note, the first - positioning may be non-zero. Often it will be zero just to - locate the wing at the position stated by the translation, but - this is not necessary. Finally the wing segments are defined by - combining two consecutive elements. A more detailed description - is given within the different parameters. - Definition of control surfaces, wing structures, wing - fuel tank and wing fuselage attachment: those parts are defined - within componentSegments. Please refer to the documentation - there. - - - - + sheetBasedStructuralElementType type, sheet definition + for use in fuselage/structure @@ -29026,78 +29023,70 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of the wing. - - - - - Description of the wing. - - - + - UID of part to which the wing is mounted (if - any). The parent of the wing can e.g. be the fuselage. In each - aircraft model, there is exactly one part without a parent part - (The root of the connection hierarchy). + Material definition of the skin segment + (Material, thickness, (lay-up)) - - - - - - - + + + + + + + + + + + sheetList3DType + + + + + + + + + + + + - + - The two elements that where the structural connection - is placed. + List of sheets, connecting 2-dimensional profile + points. - + SheetList type, containing a list of sheets. Each sheet + combines two points to one sheet. - - - - Element uID of the element of the CURRENT - componentSegment where the structural connection is placed. - - - - - - Element uID of the element of the second - componentSegment where the structural connection is placed. - - - - + + + - + - Two spars that are structurally connected. + sheetPointsType @@ -29107,37 +29096,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Spar uID of the CURRENT componentSegment. - - - - - - Spar uID of the second componentSegment. - - - - + + + - + - wingWingAttachmentType + sheetType - Definition of the structural connection between two - wings resp. two componentSegments. Note: All structural - connections between two wings/componetSegments have to be defined - using wingWingAttachments. The wingWingAttachment has only be - defined in one of the two componentSegments, that are connected. + Sheet type, containing connection data of a sheet @@ -29146,44 +29120,100 @@ The fuel tank volume type should also be used for the wing fuel tank - + - UID of the componentSegment, that is connected - with the current one. + Name of sheet within the profile definition + - - - + - Defines if the upper shell of the current - componentSegment is structurally connected to the upper or lower - shell of the second componentSegment. Can have the values - 'upperShell' or 'lowerShell'. + Description of sheet within the profile + definition - + - Defines if the lower shell of the current - componentSegment is structurally connected to the upper or lower - shell of the second componentSegment. Can have the values - 'upperShell' or 'lowerShell'. + Point from which the sheet definition starts + start + + + + + Continuity definition for profile geometry + generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + tangential continuity), 2= C2 (defines curvature continuity) + 2=all + + + + + + + + + + + + + + Definition of an orientation vector at P1 + + + + + + Point at which the sheet definition ends + + + + + + Continuity definition for profile geometry + generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + tangential continuity), 2= C2 (defines curvature continuity) + 2=all + + + + + + + + + + + + + + Definition of an orientation vector at P2 + + - + + + Side strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + + + - wingWingAttachmentsSparsType + Sidewall panel elements - + Sidewall panel element collection type @@ -29191,21 +29221,25 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Sidewall panel element for use in the decks + + - + - List of wingWingAttachments. + Sidewall panels - + Sidewall panel instance collection type. @@ -29213,45 +29247,48 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Sidewall panel + + + - + - wingsAeroPerformanceType + singleGenericMassType - wingsAeroPerformance type, containing - wingsAeroPerformance + - - - + + + - + - Wings + Skid landing gears - Wings type, containing all the lifting surfaces (wings, - HTPs, VTPs, canards...) of an aircraft model. + List of skid gears @@ -29259,56 +29296,45 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - xsiIsoLineType + fuselageSkinSegmentType - Iso line described by point of same xsi coordinate. - Can be either segment or component segment coordinates. + FuselageSkinSegment type, containing material on skin + over circumference - - - - Relative spanwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta value is considered to be in segment - eta coordinate; if it points to a componentSegment, - then componentSegment eta coordinate is used. - - - + + + - + - zCouplingType + fuselagePanelType - + FuselagePanel type, panel of the fuselage between + stringers/ frames (new in V1.5) @@ -29316,104 +29342,112 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Reference to the control surface that is - connected to this controll surface by the z-coupling.. + UID of sheetBasedStructuralElement used for + the panel + + + + + UID of frame at start of the skin segment - + - Material of the movable part of the - z-coupling. + UID of frame at end of the skin segment + - + - Definition of the attachment of the z-coupling - to this control surface. + UID of stringer at start of the skin segment + - + - Definition of the attachment of the z-coupling - to the other control surface. + UID of stringer at end of the skin segment + - + - + - zCouplingsType + skinType - + Containing data defining the skin - - + + - Definiton of one z-coupling. + Default UID of sheetBasedStructuralElement + used for the fuselage skin not covered by individual panels - + + - + - damTolBehaviourType + SparCells of current spar. - + sparCells are an optional Element. They are defined via + the etaCoordinates and define a region of special cross section + and material properties. - - - - Damage tolerance law, Walker approach - - - - - Damage tolerance law, Forman approach - - - + + + - + - fatigueStressBasedBrownMillerType + Spar cell of the spar. - + + Within spar cells a special area of the spar is + defined where different cross section and material properties + shall be defined. + The area of the spar is defined by using the + parameters 'fromEta' and 'toEta'. The definition of the caps, + webs and rotation is equivalent to the cross section definition + of the complete spar. + @@ -29421,81 +29455,76 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Parameter sigma_f [N/m^2] - - - + - Parameter b [-] + Beginning (= inner border) of the spar cell. + - + - Parameter epsilon_f [-] + Ending (= outer border) of the spar cell. + - + - Parameter c [-] + Upper Cap + - - - - - - - - - - - damTolWalkerType - - - - - - - - - - - + - Fracture toughness KIc [Pa m^0.5] + Lower Cap + - + - Parameter C0 [m/cycle] + Web 1 + - + - Parameter m [-] + Web 2 + - + - Parameter gamma [-] + The angle between the wing middle plane and + web 1 [deg]. Default is 90 degrees. Positive rotation is around the + spar axis heading along with the positive eta-axis. + + - + - damTolFormanType + Definition of the spar cross section. - + + Spar type, containing the cross section definition of + a spar. The spar middle point is defined by the intersection of + the wing middle plane and web1. This equals the coordinate + defined within the sparPosition. + Please find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + @@ -29503,19 +29532,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Parameter Kc [Pa m^0.5] - - - - - Parameter C2 [m/cycle] - - - + + + + + + - Parameter m2 [-] + The angle between the wing middle plane and + web1. Default is 90 degrees. Positive rotation is around the + intersection axis of the spar and the wing middle plane. The + positive heading of this axis is inline with the positive + heading of the componentSegment eta-axis. @@ -29523,187 +29551,163 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + + + + Spar definition points on the wing. + + + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Eta and xsi + are relative to the componentSegment. + Please find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + + + + - - - The compartment defines an enclosed volume within the fuselage. It is defined by a set of border geometries. This could be pressureBulkheads, walls or floors and they are referred by their uIDs. The volume is closed with the fuselage skin. The geometry tool has to check, if the compartment definition gives a closed geometry. - - + - + - - The compartment defines an enclosed volume in the - fuselage. It is defined by a set of border geometries. - This could be pressureBulkheads, walls or floors and - they are referenced by their uIDs. The volume is closed - with the fuselage skin. The geometry tool has to check, - if the compartment definition gives a closed geometry. - + + + + Spar position on the wing + + + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Eta and xsi + are relative to the componentSegment. + Please find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + As an alternative to the relative eta coordinate it is + possible to specify an elementUID so that the spar position is + relative to the outer geometry, e.g. kink, of the wing. + + + + + - - - - - Compartment geometry uIDs list. - - - - - - - Name of the compartment. - - - - - - - Description of the compartment. - - - - - + + - Ideal design volume of the compartment. + Defines a spar position on an existing rib using a relative xsi coordinate + to determine the chord wise position on that rib - - - - - - - - - - - - - - - - - - + - - UIDs of 2d structural fuselage elements - (e.g., pressure bulkheads, walls or - floors). The compartment will be - enclosed with the fuselage skin - + Defines a spar position using relative eta/xsi coordinates - + + - + - fatigueBehaviourType + sparPositionUIDs of the spar. - + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Those + positions are combined to spars by using a list of spar position + uIDs. The order of the sparPositionUIDs must be the same as the + order of the points on the real spar (from root to tip or from + tip to root). + Pleas note: orientation of a spar must be allways + outbound or allways inbound. A zigzag spar orientation where + e.g. the spar starts at the root, goes to the tip and goes back + to another point at the root is not allowed. + Pleas find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + - - + + - Fatigue law, stress based Brown Miller approach [N/m^2] + List of spar position uIDs. + - + - + - plasticityCurvesType + Spar segments of the wing. - + sparSegmentsType, containing multiple sparSegment + (=spars) of the wing. - Plastification curve incl. element elimination (isotropic - materials). The data may be used to describe the plastic behavior of isotropic - materials in non-linear analysis, such as crash simulations. The input is defined - according to the needs of Material 103 (single stress strain option) in the - PAM-CRASH explicit Finite Element code, but can also be used for equivalent material - laws in alternative simulation environment (see PAM-CRASH Solver Reference Manual., - Material 103). - + - + - This type describes the plasticity curve of isotropic - materials + SparSegments (=spars) of the wing. - - ... - - Plastification curve incl. element elimination - (isotropic materials) - - Plastification curve incl. element elimination (isotropic - materials) The data may be used to describe the plastic behavior of - isotropic materials in non-linear analysis, such as crash - simulations. The input is defined according to the needs of Material - 103 (single stress strain option) in the PAM-CRASH explicit Finite - Element code, but can also be used for equivalent material laws in - alternative simulation environment (see PAM-CRASH Solver Reference - Manual., Material 103) - Source: PAM-CRASH V2010 - Notes Manual - + SparSegmentType, each spar is defined by multiple + sparPositions that are referenced via their uID. The spar cross + section is defined in 'sparCrossSection'. @@ -29711,532 +29715,160 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Name of the post failure definition - - - - - - - Description of the post failure - definition - - - - - - - Strain rate for following plastcity - curve [1/s] - - - - - - - - - - plasticEliminationStrain [-]; Plastic - strain for element elimination during - the non-linear analysis - - - - - - - - - - - - - + - - Definition of wall positions to place - walls inside fuselage. + Name of the spar segment (=spar). - + - - List of wall segments. + Description of the spar segment (spar). + + - + - + - Definition of wall positions to place walls inside fuselage. + + + + List of segment uIDs to which the configuration is to be applied + + + + + + + + - - - Wall position definition specifying a point in the fuselage to be connected to a wall segment. - - - - - - - - - - - - - - Wall segment definition. - - + - - - Definition of a wall position to place walls inside fuselage. - - - - - - - UID of a bulkhead determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - - UID of a wall segment determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - - UID of fuselage section determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - Absolute x-coordinate of wall position in fuselage coordinate system. - - - - - - Absolute y-coordinate of wall position in fuselage coordinate system. - - - - - Absolute z-coordinate of wall position in fuselage coordinate system. - - - - - - - - - - - - Defines extrusion direction. Rotation angle - around fuselage x-axis of extrusion direction. A - value of 0deg means fuselage z-axis as extrusion - direction. Default: 0.0deg. - - - - - - - - - - - - - - By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionaly extruded in negative direction as well. Default: false. - - - - - Rotates the first edge of the wall segment so that it is adjacent with the structural element defined in the first wall position (bulkhead, fuselage section or another plane wall). Default: false. - - - - - Rotates the last edge of the wall segment so that it is adjacent with the structural element defined in the last wall position (bulkhead, fuselage section or another plane wall). Default: false. - - - - - - A list of uIDs referencing other - structural/geometric elements that shall serve - as a boundary of the wall element. Possible - references are floor, wall or - genericGeometryComponent. A major requirement is - that the referenced element has an intersection - with the wall for at least the distance between - two wall positions. So that a full geometric - face of the wall is bounded by it. Neighbouring - wall faces that are not completely bounded by - the reference element are not affected. - - - - - - - Reference to the structural property definition - of this wall segment. - - - - - - - List of wall position uIDs that are used for - this wall segment. At least two positions must - be defined (for start and end position of wall). - If more than two positions are referenced here, - the wall is constructed out of several planar - faces that connect two consecutive positions - (Note: Order of position uIDs defines - connectivity). - - - - - - - - + - - A list of uIDs referencing other structural/geometric - elements that shall serve as a boundary of the wall - element. Possible references are floor, wall or - genericGeometryComponent. A major requirement is that - the referenced element has an intersection with the wall - for at least the distance between two wall positions. So - that a full geometric face of the wall is bounded by it. - Neighbouring wall faces that are not completely bounded - by the reference element are not affected. - + + + + Specification of a segment uID and index of the parameter lapses + + + + + + + + - - - - - - - UID referencing another - structural/geometric element that shall - serve as a boundary of the wall element. - Possible references are floor, wall or - genericGeometryComponent. - - - - - - - - - - - - - - - Structural wall reinforcement definition specifying physical properties of a fuselage wall segment. - - - - - - - - - - - Reference to a sheet element definition specifying the physical properties of the wall's shell. - - - - - Reinforcements running along the position polygon of the wall positions. - - - - - Reinforcements running in lateral/radial direction in the wall segment plane. - - - - - Reinforcement at inner side of wall. This is either, depending on the extrusion direction flag, the edge of the wall that connects the positions ("positiveDirection") or the edge of the wall where the wall intersects with the fuselage skin in the opposite direction of the extrusion direction. - - - - + - Reinforcement at outer side of wall. The outer side of the wall is defined as the edge of the wall at the intersection of the wall with the fuselage skin running along the main direction of the wall. + + UID of the segment for which the specific configuration holds. - + - Lateral caps are the reinforcements of - the wall at the edges lateral to the - main direction of the wall. These caps - can be either defined at start, end, - start and end or at all wall positions - according to the placement flag. + Vector with semicolon separated indices of the parts of the respective segment within the mission definition for which the specific configuration setting holds. Example: scheduling configurations for a climb or descent segment (different settings of moveables and gears) on altitudes/velocities - - - - - - - - - - - - - - - - - - - - - - - - - - Reference to wall position uID. - - - - - - - + - Nacelle cowl + Specific configuration uIDs - - Describes the cowl geometry for nacelles - using sections positioned around the - rotational center of the engine. - + + + - - - - - - + + + - - + + - Rotation curve + Connection between segments, pointPerformances and a configurationUID - - The figure below shows an example of a rotation curve. - Together with the corresponding XML code, the definition is explained in more detail. - - - - - - First, the reference system is defined via referenceSectionUID, for which in this example the section with uID="engine_nacelle_fanCowl_section1" is referenced. - This in turn contains a transformation (not shown here), for example a translation by z=0.4 and a scaling, where the x-direction is stretched by a factor of two. - - - The rotation curve is now described in this reference system. - It is predefined in the profile library and referenced via a its uID. - Note that the curve is defined in the range x=[0,..,1] in order to be reasonably transformed by the reference system. - - - Next, the blending from the rotated profile of the nacelle segment to the rotation curve is defined. - The corresponding start and end points are given in curve coordinates zeta of the corresponding profiles. - Note that the lower part of the segment profile counts from zeta=[-1,..,0] and the upper part counts from zeta=[0,..,1]. - In between, the blending is linear. - - - - engine_nacelle_fanCowl_section1 - fanCowl_upperSection - -0.6 - -0.5 - -0.2s - -0.1 - - ]]> - - - - Fan cowl rotation curve profile - - 0;0.5;1 - -0.1;-0.2;-0.05 - - - ]]> - + - - - - UID of the section which serves as reference - - - - - Start zeta [-1,..,1]; relative curve coordante along the rotation curve from which it will be inserted in the nacelle. - - - - - End zeta [-1,..,1]; relative curve coordante along the rotation curve up to which it will be inserted in the nacelle. - - - - - Start zeta for blending [-1..1]; relative curve coordinate along the nacelle profile at which blending from the nacelle profile to the rotation curve will begin. - - - - - End zeta for blending; relative curve coordinate along the nacelle profile at which blending from the rotation curve to the nacelle profile will end. - - - - - UID of the rotation curve profile; the profile should be defined in x=[0..1] to be transformed by the section which is referenced by referenceSectionUID. - - - - + + + + + + + Configuration uID + + + + + + + + List of pointPerformanceUIDs + + + + + + - + - Center cowl + Specific heat map, containing the specific heat capacity of a material at different temperatures. - - - The centerCowl is defined by the rotation of a given curve profile (referenced via curveUID) around the x-axis. - - - - - + The specific heat of a material can vary with the temperature. The vectors specificHeat and temperature + must have the same size to be valid. The data should be linearly interpolated. + @@ -30244,34 +29876,30 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Offset of the rotation curve in x-direction + Temperature in [K] - + - UID of the curve profile (vehicles/profiles/curveProfiles/..) + Specific heat capacity of the material in [J/(kg*K)] - - + - Aerodynamic performance + specificPerformanceMapsType - - The aerodynamic coefficients and derivatives are stored in aerodynamic maps. Individual maps can be used to - gather the aerodynamic characteristics for specific boundary conditions. - + Collection of all assignments of specific performance maps to selected mission segments @@ -30279,32 +29907,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Aerodynamic map + Specific performance map - - The aeroMap contains aerodynamic coefficients and derivatives for a specific set of aerodynamic - and configurative boundary conditions. - - The aeroMap allows for the simultaneous specification of multiple - controlDevice settings. - In this case, it is assumed that a cumulative setting is built by summing up the individual settings. The correct - sequence of this summation is described in the controlDistributorType documentation. - + Applying a specific performance map to selected mission segments. In addition to the obligatory defaultPerformanceMapUID at least a segmentUID or pointPerformanceUID must be given. @@ -30312,200 +29930,264 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Name - - - + + - Description + UID of performance map to be used for mission segments - - - - - - - - + + + + + List of all mission segment UIDs to which the performance map is to be applied + + + + + List of point performance UIDs to which the performance map is to be applied + + + + + + List of point performance UIDs to which the performance map is to be applied + + + + - + - Boundary conditions + Speed designators - Specification of boundary conditions. + + Provides an enumerated list of V-speeds as defined by regulations. + + + + + + + + + + + Design maneuvering speed + + + + + + + Design speed for maximum gust intensity + + + + + + + Design cruise speed, used to show compliance with gust intensity loading + + + + + + + Design diving speed, the highest speed planned to be achieved in testing + + + + + + + Designed flap speed + + + + + + + Stall speed or minimum steady flight speed for which the aircraft is still controllable + + + + + + + Stall speed or minimum flight speed in landing configuration + + + + + + + Stall speed or minimum steady flight speed for which the aircraft is still controllable in a specific configuration + + + + + + + Minimum control speed + + + + + + + Never exceed speed + + + + + + + Maximum operating limit speed + + + + + + + + + + + + + Definition of the wings spoilers. + + + Definition of the wings spoilers. - - + + + + + + + + + + + + Spoilers of the wing. + + + A spoiler is defined via its outerShape relative to the + componentSegment. The WingCutOut defines the area of the upper + skin that is removed by the spoiler. Structure is similar to the + wing structure. The mechanical links between the spoiler and the + parrent are defined in tracks. The deflection path is described + in path. Additional actuators, that are not included into a + track, can be defined in actuators. + + + + + + + + + + Name of the spoiler. + - + - - Offset from temperature of the - atmospheric model [K]. For more details - on atmospheric models, please refer to - documentation of the <CPACS> root - element. + Description of the spoiler. - + - - Configuration settings + UID of the parent of the spoiler. The parent + is the componentSegment, where the spoiler is attached. + + + + + + + - + - Control elements + Standard profile - Specification of control element settings. Control elements can be controlDistributors - or individual control devices, such as control surfaces or landing gears. + - - - - + + + + - + - Control element + State parameters list - Specification of an control element setting. A control element can be a controlDistributor - or an individual control device, such as a control surface or a landing gear. + Contains a list of all state parameters. + - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Control parameter of the control device - - - - - - - Reference to a control distributor uID - - - - - Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - + + + - + - Aerodynamic coefficients and derivatives + State parameter definition - - - Description - - The aeroPerformanceMap contains a map - with aerodynamic data of the complete aircraft in the form of - nondimensional coefficients. The force coefficients in - i-direction (ci) - are nondimensionalized by dynamic pressure and reference area, - the moment coefficients (cmi) by dynamic pressure, reference - area and reference length. - - All coefficients in the aeroPerformanceMap relate to - the aerodynamic coordinate system which is deducted from the CPACS coordinate system by - the transformations of angle of attack and angle of yaw. See the documentation of the - CPACS element for further details. - - The dependend parameters of the aeroPerformanceMap are altitude, - machNumber, angleOfSideslip and - angleOfAttack. These elements are vectors of equal length, where values - with identical indices belong together. The solution vectors ci and - cmi have the same length as the input vectors. Shown below is an example where - with 10 values per vector: - - <altitude mapType="vector">12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02</altitude> -<machNumber mapType="vector">0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2</machNumber> -<angleOfSideslip mapType="vector">0;0;0;0;0;2;2;2;2;2</angleOfSideslip> -<angleOfAttack mapType="vector">-2;0;2;4;6;-2;0;2;4;6</angleOfAttack> -<cd mapType="vector">0.056;0.094;0.132;0.17;0.208;0.072;0.11;0.148;0.186;0.224</cd> -<cs mapType="vector">0.;0.;0.;0.;0.;0.01;0.015;0.02;0.025;0.03</cs> -<cl mapType="vector">-0.1;0.04;0.18;0.32;0.46;-0.08;0.03;0.14;0.25;0.36</cl> - - The aerodynamic coefficients for altitude=1200m, machNumber=0.2, - angleOfSideslip=0° and angleOfAttack=6° can be found at the 5th index: - cd=0.208, cs=0 and cl=0.46. - - - - + Contains the values of a parameter and its uid as reference. + @@ -30513,115 +30195,102 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Altitude [m] - - - - - - - Mach number - - - - - - - Sideslip angle [deg] - - - - - - - Angle of attack [deg] - - - - - - - Drag coefficient in aerodynamic - coordinates - - - - - - - Coefficient of the side force vector in - aerodynamic coordinates (perpendicular - to lift and drag) - - - - - - - Lift coefficient in aerodynamic - coordinates - - - - - - - - + + + + + - + - Increment maps for aerodynamic coefficients + stiffnessType + + + - - - + + + + + + + + - + - Increment map from aerodynamic coefficients + stringArrayBaseType - The increment map is composed of two-dimensional arrays. The first dimension is given by the - length of the input vectors of the baseline aeroPerformanceMap and the second dimension by the vector of relative - deflections (or command inputs) of control surfaces (or control distributors). An example is described in the <CPACS> - root element. + Base type for string array nodes (including maptype + array attribute) + DEPRECATED: As of CPACCS version 3.3, the mapType attribute is set to optional to ensure the compatibility of older data records. However, since the type is uniquely defined via the XSD, the attribute is superfluous and will therefore be completely omitted in future versions. + + + + + + + + + + + + + + + + + stringBaseType + + + Base type for string nodes (including external data + attributes) + + + + + + + + + + + + + + + + + + + stringerFramePositionType + + + + Description of individual stringer / frame postions + + + + @@ -30629,156 +30298,122 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - + - Increment of drag coefficient in aerodynamic coordinates + UID of profile based structural element + - + + + + x position in absolute value + + + + + + UID reference to a fuselageSectionElement + + + + + - Increment of coefficient of the side force vector in aerodynamic coordinates (perpendicular to lift and drag) + y coordinate of reference system + - + - Increment of lift coefficient in aerodynamic coordinates + z coordinate of reference system + - + - Increment of cmd + angle definition to calculate intersection + with loft - + + - Increment of cms + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + - + - Increment of cml + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + - + - + - Aerodynamic limitations + + framePositionUIDs of the frame + - - This map explicitly specifies limitations of a vehicle in terms of angles of attack and sideslip angles. - All vectors, i.e. altitude, machNumber, - angleOfSideslip and angleOfAttack, must have the - same length. To avoid redundancy with the aeroPerformanceMap, this type does not contain - any aerodynamic coefficients. - Since angleOfSideslip and angleOfAttack - are closely interdependent for a given machNumber and altitude - combination, a positive and negative maximum angleOfAttack is defined for a given combination of - machNumber, altitude and - angleOfSideslip. The limits of angleOfSideslip - can be determined by evaluating the nominal decrease of angleOfAttack values or by - agreeint with the data supplier that the minimum and maximum value of the angleOfSideslip - vector corresponds with physical limits. - In order to avoid data redundancy, the operational limits should not reflect the extrema of aerodynamic - coefficients as these can be extracted from the performanceMap via interpolation. - Note: In future CPACS versions, a revision of the aeroLimitsMap - will be targeted, since operational limits are not a purely aerodynamic issue. - + + A framePostion defines a location where a frame in mounted. + - - - - - Altitude [m] - - - - - - - Mach number - - - - + + - - Angle of sideslip - + framePositionUID of the frame, where the landing gear + is attached to. - - - + - + - Increment maps for limitation values due to movable device deflections + stringersAssemblyType - Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control - surfaces or landing gears). + StringersAssembly type, containing an assembly of + stringers (new V1.5) @@ -30786,22 +30421,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Increment maps for limitation values due to movable device deflections + arbitraryStringerType - Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control - surfaces or landing gears). + ArbitraryStringer type, containing stringer definition + (CPACS V1.5+) @@ -30809,119 +30444,150 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - Reference to an increment map of the aeroPerformanceMap - - - - - - Increments of the vehicle operation limits - - + - + - + - Damping derivatives for positive and negative rotation rates + stringUIDBaseType + + + This is the base type that links to other components. It should always contain a UID. + This node has an additional attribute isLink that will be used if a stringBaseType refers to a uID. TIXI can then + perform automatic validation for the existence of the referenced uID. + Furthermore this node contains an additional attribute symmetry. The symmetry attribute may take three values: symm, def, full + def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. + symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) + full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) + + + + + + + + + + DEPRECATED: The isLink attribute is set to optional to ensure the compatibility of older data records. However, since the linking character is explicitly defined by the stringUIDBaseType, the attribute is superfluous and will therefore be completely omitted in future versions. + + + + + + + + + + + + + + + + + + + + + stringVectorBaseType - - 0. General overview - - This type contains the damping derivatives. They are - split up into those derivatives for positive rotation rates, - and those for negative rotation rates. - - - - 1. <positiveRates> (optional) - - Damping derivatives, calculated by positive rotation - rates. - - - - 2. <negativeRates> (optional) - - Damping derivatives, calculated by negative rotation - rates. - - + Base type for string vector nodes + The vector base type can include optional uncertainty + information. The description of uncertainties is placed in + addtional attributes. First, it is described by an attribute that + describes the type of uncertainty function called functionName. + The functionName attribute includes the tag name of the + distribution function which is listened in the table shown below. + Each uncertainty function is further describes by a set of + parameters that are described in the table below. + If the uncertainty values change for the elements of + the vector than the attribute may be written as a list of values + separated by semicolons + DEPRECATED: As of CPACS + version 3.3, the mapType + attribute is set to optional to ensure the compatibility of older data sets. + However, since the type is uniquely defined via the XSD, the attribute is superfluous + and will therefore be completely omitted in the next major release (Note: requires + TiXI >= 3.3). Please contact the CPACS team + if for any reason you see a long-term need for the mapType + attribute. + + + + + + + + + + + + + + + + + + + + + + + + Structural elements + + + structuralElements Type, containing the different structural + elements + + + + - - + + + + + + + + + + Seat elements (Deprecation warning: This element will soon be removed from the official CPACS. Use the new seat modules located at cpacs/vehicles/deckElements!) + + + + - + - Damping derivatives + structuralMountType - This type contains aerodynamic performance maps with - the damping derivatives. The derivatives are calculated using - rotational rates [rad/s], normalized by: - Rate*ReferenceLength/flow speed. The rotations are performed - around the global axis directions with the aircraft model's - global reference point as origin. The damping derivative - performance maps are vectors of the same length as the input - vectors of the baseline aerodynamic performance maps, consisting of - semicolon separated values. - + @@ -30929,114 +30595,52 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Change of cd by normalized roll rate - - - - - Change of cd by normalized pitch rate - - - - - Change of cd by normalized yaw rate - - - - - Change of cs by normalized roll rate - - - - - Change of cs by normalized pitch rate - - - - - Change of cs by normalized yaw rate - - - - - Change of cl by normalized roll rate - - - - - Change of cl by normalized pitch rate - - - - - Change of cl by normalized yaw rate - - - - - Change of cmd by normalized roll rate - - - - - Change of cmd by normalized pitch rate - - - - - Change of cmd by normalized yaw rate - - - - - Change of cms by normalized roll rate - - - + + - Change of cms by normalized pitch rate + If this value is set to true then only the end points of the intersection shall be included as nodes in the model. + - + - Change of cms by normalized yaw rate + The UID for the first connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. + - + - Change of cml by normalized roll rate + Optional counter to specify numbered items, e.g. ribs in a ribSet. + - + - Change of cml by normalized pitch rate + The UID for the second connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. + - + - Change of cml by normalized yaw rate + Optional counter to specify numbered items, e.g. ribs in a ribSet. + + - + - Vehicle operation limit + structuralProfile3DType - Vehicle operation limit defined by sets of minimum and maximum angleOfSideslip - and minimum and maximum angleOfAttack for a given altitude and Mach number. - This might be, e.g., a safety margin to the angle of attack at maximum lift or the flight - attitude a fighter aircraft is capable to fly in stalled conditions. The corresponding aerodynamic coefficients must - be extracted from the aeroPerformanceMap. + @@ -31044,112 +30648,173 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Minimum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - - - - - Maximum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - - + + + + + - + - Operation Limit Increments + Definition cross sections of structural profiles. + - Changes of the deltas of operation limit angles with respect to the corresponding increment aeroPerformanceMaps. - Values are specified as an array with same indices like the corresponding increment map. + Structuralprofiles type, containing cross section + information of structural profiles. - - - - Minimum delta angle of attack [deg] - - - - - Maximum delta angle of attack [deg] - - - + + + + - + - Toolspecific data + 2-dimensional cross sections of structural profiles. + - - This type contains a list of tools each specifying some basic tool information as well as the actual toolspecific part. - - The toolspecific elements must be defined in a separate namespace which can be specified and linked with the corresponding XSD file - in the CPACS header: - <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd" - xsi:schemaLocation="http://www.cpacs.de/myTool pathToToolspecificSchemaFile/toolspecific_myTool.xsd"> - - A simple example could look like this: - <toolspecific> - <tool> - <name>myToolName</name> - <version>1.2.3</version> - <myTool xmlns="http://www.cpacs.de/myTool" schemaVersion="1.0"> - <parentElement> - <childElement1>stringValue</childElement1> - <childElement2>1.0</childElement2> - </parentElement> - </myTool> - </tool> -</toolspecific> - + + StructureProfile type, containing data of a structure + profile cross sections. The cross section profile is defined by + several points (->pointList) in the x-y-space. Two points are + combined to one sheet (->sheetList) by using the pointUIDs. + + This profile is defined by several points in the + x-y-space. Allways two points are combined to one sheet. The + properties of each sheet are defined in the 'sheetProperties' + section by referencing on the sheetUID and the material + properties. The orthotropy direction of composite materials equals + the x-sheet axis. The orthotropy direction angle equals a positive + rotation around the z-sheet axis as indicated in the picture below + (part 3.), where a wing stringer is defined as an example: + + + + + + + + + + + Name of the structure profile. + + + + + + Description of the structure profile. + + + + + + List of structural profile points, only x and + y. + + + + + + + + + + - + + + Structural wall reinforcement definition specifying physical properties of a fuselage wall segment. + + - + + + + + + + Reference to a sheet element definition specifying the physical properties of the wall's shell. + + + + + Reinforcements running along the position polygon of the wall positions. + + + + + Reinforcements running in lateral/radial direction in the wall segment plane. + + + + + Reinforcement at inner side of wall. This is either, depending on the extrusion direction flag, the edge of the wall that connects the positions ("positiveDirection") or the edge of the wall where the wall intersects with the fuselage skin in the opposite direction of the extrusion direction. + + + + + + Reinforcement at outer side of wall. The outer side of the wall is defined as the edge of the wall at the intersection of the wall with the fuselage skin running along the main direction of the wall. + + + + + + + Lateral caps are the reinforcements of + the wall at the edges lateral to the + main direction of the wall. These caps + can be either defined at start, end, + start and end or at all wall positions + according to the placement flag. + + + + + + + + + + - Tool identification + Strut assembly - - Tool information as described in the toolspecificType. - + Geometric description, spatial placement and specification of material parameters @@ -31157,106 +30822,147 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Name of the tool - + Strut properties - + - - Version of the tool - + The starting point of the support strut must connect to the main strut. This element specifies the relative position on the main strut (0 -> top end, 1 -> bottom end). + + + + + + - + + + + End position in absolute coordinates. Coordinates are relative to parent if it has a parentUID reference (otherwise global). + + + + + End position in eta/xsi/relHeight coordinates + + + + + End position as a relative position on another strut of this landing gear + + + + - - Wildcard for the root element of a toolspecific namespace - + Attachment to an aircraft wing or fuselage component - + + + + Reference to an actuator uID + + + - + - Global analysis information + + Strut properties + - + + Geometric description and material properties + of a strut + - - - - + + + + + + (Outer) radius of the strut + + + + + + Material of the strut + + + + + Inner radius of the strut + + + + + + + + Reference to structural element for a more + detailed cross section definition + + + + + - + - Load application points + Geometric description and material properties of a strut - - - Multiple sets of scattered load application points can be defined. However, no specific information about the corresponding loads (e.g. whether aerodynamic or structural loads are involved) or mesh topologies are specified here, as such assumptions are tool-specific. - - - + - + + + Length of the strut + + - + - Load application point set + Design study parameters and results - - A point set contains discrete spatial points at which loads are applied (e.g., aerodynamic or structural loads). A typical procedure in CPACS is as follows: - - - - Reference a wing, fuselage or control surface by its uID using the componentUID node. - Define a reference axis through the above component with the loadReferenceLine element to specify where a load distribution shall be applied. - Compute the intersections with (e.g.) ribs of the referenced component (wing, fuselage or control surface) and write the results into loadApplicationPoints. This procedure results from common practice where the forces in structural analyses are typically introduced at structural elements such as ribs and spars. With respect to preliminary aircraft design a two-dimensional load distribution is preferred. However, an arbitrary distribution of the load application points is possible (without the intersection of structural elements with a reference axis in the previous step), for example to define discrete load distributions on the wing surface in streamwise and spanwise direction. - Specify the location and orientation of cut loads in the cutLoadIntegrationPoints element and the corresponding connectivity information in the connectivities node. - + Contains optimization data such as definitions of design parameters and design studies. - + @@ -31266,67 +30972,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - UID of a wing, fuselage or control surface - - - - - - - Reference axis (line) for load distribution - - - - - - - List of points at which load vectors are - applied to - - - - - - - List of points at which cut loads are applied to - - - - - - - Specification of connectivity properties between points - - - + + - - + - Vehicle configurations + subFleetsType - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - + Contains a list of different sub fleets @@ -31334,24 +30995,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Vehicle configurations + subFleetType - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - + Each fleet can be divided into sub fleet groups @@ -31361,69 +31019,34 @@ The fuel tank volume type should also be used for the wing fuel tank - - Name - + Name of fleet - + - - Description - + Description of the fleet - - - + - - Deck configurations - + A ; separated list of all tailsign strings - - - - - - - - - - - Internal pressure of a deck - - - - - - - - - - - Internal pressure of a fuselage, deck or compartment - - - - + - + - Cabin pressure + subLoadType - - Internal pressure of a fuselage, deck or compartment - + @@ -31431,34 +31054,60 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - UID of a fuselage, deck or compartment - - - - - - - Internal pressure [Pa] - - - + + + + + + + + - + - Load set + Superellipse - A set of forces and moments + + A profile based on superellipses is composed of an upper and a lower semi-ellipse, which may differ from each other in their parameterization. The total width and height of the profile is always 1, since scaling is performed after referencing (e.g., in the fuselage). + This lowerHeightFraction describes the portion of the lower semi-ellipse on the total height. + The resulting profile is defined by the following set of equations: + + + + + + + with + + + + The following examples indicate the various possibilities of parametric profiles: + + Example 1: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (0.5; 2; 5; 3; 0.25) + + + + + Example 2: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (2; 2; 2; 2; 0.5) = a circle + + + + + Example 3: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (1; 1; 1; 1; 0.5) = a square / diamond + + + + + Note: For exponents that are infinitely large, the superellipse converges to a rectangle. However, the value Inf is not a valid entry at this point. Use the square element instead. + @@ -31466,128 +31115,57 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Description - - - - - - - UID of load application point set (analysis/global/loadApplicationPoints) - - - - - - - Force in x-direction [N] - - - - - - - Force in y-direction [N] - - - - - - - Force in z-direction [N] - - - - - - - Moment around x-axis [Nm] - - - - - - - Moment around y-axis [Nm] - - - - - - - Moment around z-axis [Nm] - - - - - - - Nodal displacement in x-direction [m] - - - - - - - Nodal displacement in y-direction [m] - - - - + - - Nodal displacement in z-direction [m] - + Exponent m for upper semi-ellipse - + - - Nodal rotation around x-axis [deg] - + Exponent n for upper semi-ellipse - + - - Nodal rotation around y-axis [deg] - + Exponent m for lower semi-ellipse - + - - Nodal rotation around z-axis [deg] - + Exponent n for lower semi-ellipse - - - - Load brake-down - - + + + + Fraction of height of the lower semi-ellipse relative to the total height + + + + + + + + - - + - Load sets + Main landing gear support beam + - - A list of load sets - + Definition of the main landing gear support beam, if a + support beam is used for the attachment. The defintion includes + cross section properties as well as the position of the support + beam. @@ -31595,48 +31173,69 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - Aerodynamic load cases + Symmetry (see CPACS root node documentation for details) - - - Combines a set of aerodynamic load cases - - - - - - - - - - + + + + Symmetry inheritance from parent element disabled + + + + + Symmetry inherited from parent element (default behavior, i.e. also applies if attribute not set) + + + + + Symmetry w.r.t. the x-y plane of the CPACS coordinate system + + + + + Symmetry w.r.t. the x-z plane of the CPACS coordinate system + + + + + Symmetry w.r.t. the y-z plane of the CPACS coordinate system + + + + - + - Aerodynamic load case + Systems - - Specification of an aerodynamic load case - + + Systems type, containing the aircraft's control system + data + Please see the attached picture for further + documentation + + + + @@ -31644,131 +31243,54 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Name + Node for geometrical layout of system components + based on simple geometric shapes - + - - Description + Cockpit controls, e.g. stickRoll, pedals - - - - - - - - - - - - - - - Specification - - - - Specification of the vehicle properties and dynamics - - - - - - - - - - - Altitude - - - - - - - Mach number - - - - - - - Angle of sideslip [deg] - - - - - - - - Angle of attack [deg] - - - - - - - Target lift coefficient - - - - - - - - Normalized roll rate [rad/sec]. It is specified around the global x-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: pStar = p * reference length / flow speed. - - - - - - - Normalized pitch rate [rad/sec]. It is specified around the global y-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: qStar = q * reference length / flow speed. - - - - - - - Normalized yaw rate [rad/sec]. It is specified around the global z-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: rStar = r * reference length / flow speed. - - - - - - - - Reference to a weight and balance description - - - - + + + Different commandCases that are commanded, + e.g. roll, accelerate + + + + + Control Distributors, deliver inputs to the + control actuators. E.g. different angles of different ailerons. + + + + + + Control laws, for regulated actuation + + + + + + - + - Aerodynamic loads + tailplaneAttachmentAreaType - - Description of the aerodynamic loads + tailplaneAttachmentArea type, containing dat on + fuselage + structure to attach tailplaine @@ -31777,92 +31299,155 @@ The fuel tank volume type should also be used for the wing fuel tank - + + Definition of tailplane attachment area + (Standard + Configuration) + + + - - Angle of attack [deg] + type of tailplane attachment: Currently + restricted to + 'Type1' and 'Type2' (see documentation) + + + + + + + + + + + + + + Definitions of VTP interface - + - - Angle of sideslip [deg] + Definitions of VTP interface - - + - + - Aerodynamic loads of components + takeoffPerformanceParametersType - - Specification of the aerodynamic loads of components - + - - - + + + + Take-off distance at liftoff speed VLOF. + + + + + + Take-off distance at safety speed V2. + + + + + + Optimal speed Velev at point of initiating + take-off rotation by elevator deflection for a minimum take-off + distance. + + + + + Optimal rotation speed VR for a mini-mum + take-off distance + + + + + Liftoff speed VLOF. + + + + + Safety speed V2. + + + + + Take-off decision speed V1 + + + + + Minimum control speed ground VMCG. + + + + + + Flight path angle being achieved at V2 with + one engine failure in 400 ft height above ground. This is the + result of a post trim calculation using the deter-mined V2. If + the trim calculation fails the entry is set to -90. + + + + - + - Aerodynamic data of components + Structural properties of the tangent links, if + existing. The tangent links do connect the engine pylon with the + engine to carry the thrust forces. - - Aerodynamic data of individual components of the aircraft (e.g. control surface loads and hinge moments) - + - - - - - Reference to a component uID - - - - - + + + - + - Aerodynamic loads of the vehicle + simpleConnectionsType - - Description of the aerodynamic loads of the vehicle + SimpleConnections type, containing simple connections @@ -31870,24 +31455,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + - + - Aerodynamic coefficients + simpleConnectionType - - A set of aerodynamic coefficients in the aerodynamic coordinate system + SimpleConnection type, containing a simple connection @@ -31895,186 +31478,121 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Drag coefficient in aerodynamic - coordinates - - - - - - - Coefficient of the side force vector in - aerodynamic coordinates (perpendicular - to lift and drag) - - - - - - - Lift coefficient in aerodynamic - coordinates - - - - - - - Aerodynamic moment around d-axis of the aerodynamic coordinate system - - - - + + - - Aerodynamic moment around s-axis of the aerodynamic coordinate system - + Can be each structural member (skinSegment, + stringer, frame, paxCrossBeam, cargoCrossBeam, + paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, + floorPanel, seatModule) - + - - Aerodynamic moment around l-axis of the aerodynamic coordinate system - + Can be each structural member (skinSegment, + stringer, frame, paxCrossBeam, cargoCrossBeam, + paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, + floorPanel, seatModule) - - + + - + - Drag contributions + timeBaseType - - The drag contributions relate to different physical mechanisms. The sum of the contributions does not have to be equal to the total drag. - + Base type for time nodes (including external data attributes) + This time type is based on the xsd:time definition. + "To specify a time zone, you can either enter a time in UTC time by adding a "Z" behind the time - like this: 09:30:10Z + or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this: + 09:30:10-06:00 + or + 09:30:10+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) - - - - - - - Drag contributions due to the displacement of the flow around a component. Zero for irrotational two-dimensional flows. - - - - - - - Drag contributions due to shear forces on surfaces - - - - - - - Drag contributions due to friction - - - - - - - Drag contributions due to energy loss through vortex structures caused by the pressure difference between the upper and lower sides of three-dimensional lifting surfaces. - - - - - - - Drag contributions due to mixing of streamlines between airframe components (e.g., interaction between wing and fuselage or pylon and wing). - - - - - - - Drag contributions due to energy dissipation in shock waves - - - - - - - Drag contributions due to trimmed aircraft configuration - - - - + + + + + - + - + - Aerodynamic coefficients breakdown + timeConstraintBaseType - - Breakdown of the total aerodynamic coefficients into contributions - from the various vehicle componenents. A detailed breakdown is only specified - for the wing. Other components, such as the fuselage, are more generically - referred to as otherComponents. Since - the sum of the contributions within a breakdown must equal the total - coefficients, the remaining contributions must be listed in - remainingContributions. - - - The remainingContributions cannot be defined alone. Either the - definition of a wing, otherComponents - or both together is valid and can be combined with remainingContributions. - + Base type for time nodes including a relational operator attribute indicating valid constraint region + The timeConstraintBaseType extends the timeBaseType and thus inherits all its attributes. - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - Aerodynamic contributions of the wings + Toolspecific data - Contains a list of wings for which aerodynamic coefficients are specified + This type contains a list of tools each specifying some basic tool information as well as the actual toolspecific part. + + The toolspecific elements must be defined in a separate namespace which can be specified and linked with the corresponding XSD file + in the CPACS header: + <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd" + xsi:schemaLocation="http://www.cpacs.de/myTool pathToToolspecificSchemaFile/toolspecific_myTool.xsd"> + + A simple example could look like this: + <toolspecific> + <tool> + <name>myToolName</name> + <version>1.2.3</version> + <myTool xmlns="http://www.cpacs.de/myTool" schemaVersion="1.0"> + <parentElement> + <childElement1>stringValue</childElement1> + <childElement2>1.0</childElement2> + </parentElement> + </myTool> + </tool> +</toolspecific> @@ -32083,31 +31601,23 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Aerodynamic contributions of a wing + Tool identification - - - Describes the contributions of a specific wing to the total aerodynamic coefficients of a vehicle - - - It is obligatory to reference a wing via its uID and to provide its - coefficients. The breakdown of the coefficients comprises the segments - and remainingContributions. The latter must only be specified if segments - is given. - - + + Tool information as described in the toolspecificType. + @@ -32115,34 +31625,41 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Reference to a wing uID + Name of the tool - - - - - + + + + Version of the tool + + + + + + + Wildcard for the root element of a toolspecific namespace + + + - + - Aerodynamic contributions of wing segments + topologyEntriesType - - Contains a list of wing segments for which aerodynamic coefficients are specified - + @@ -32150,65 +31667,109 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Aerodynamic contributions of a wing segment + topologyEntryType - - - Describes the contributions of a specific wing segment to the total aerodynamic coefficients of a wing - - - It is obligatory to reference a segment via its uID and to provide its - coefficients. The breakdown of the coefficients comprises the strips - and remainingContributions. The latter must only be specified if strips - is given. - - + A topology entry is used to combine the dynamic aicraft + models of several components, e.g. wing and fuselage. By default + these will be stiff. If desired stiffness and rotation with + respect to the CPACS coordinate system may be specified. + - - + + + + + + + + + + + + + + + + totalOperatingCostType + + + + + + + + + + + + + + + + + + + + + + + + trackActuatorType + + + + + + + + + + + - - Reference to a wing segment uID - + Reference to the uID of the actuator of the + track. - - - - - - + + + Definition of the material properties of the + actuator to track attachment. + + + + - + - Aerodynamic contributions of strips within a wing segment + Joint coordinates + - - Contains a list of strips within a wing segment for which aerodynamic coefficients are specified + Definition of a joint coordinates. @@ -32216,39 +31777,41 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + + + + + + + + + + + + + + + + + - + - Aerodynamic contributions of a strip within a wing segment - - - - - Describes the contributions of a specific strip within a wing segment to the total aerodynamic coefficients of a wing segment - - - The strip extends spatially between two eta coordinates (i.e., from an inner border to an outer border). - In order to avoid redundancy, the inner border (denoted as from) is always identical to the outer border of the previous strip (denoted by to). - Accordingly, only the to-border can be specified explicitly, while the from-border equals implicitly either to 0 - (for the first strip) or the toSegmentEta value of the previous element. The toSegmentEta of the last strip - must be equal to 1! + Specification of joint coordinates. - - It is obligatory to provide the coefficients of the strip. The breakdown comprises the chordwiseParts - and remainingContributions. The latter must only be specified if the breakdown into chordwiseParts - is given. This breakdown is optional. If it is specified, but the sum of all chordwiseParts does not match the strip coefficients, one or more remainingContributions may be applied - to ensure consistency (sum of all chordwiseParts + sum of all remainingContributions must be equal to total strip coefficients). + + + Specification of joint coordinates. - @@ -32256,69 +31819,62 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Spanwise coordinate eta in the segment coordinate system to define the end of the strip - - - - - - - - - + - + - Aerodynamic contributions of a chrordwise part within a wing segment strip + Set of joint coordinates + - - Contains a list of chordwise parts within a wing segment strip for which aerodynamic coefficients are specified + Definition of a set of joint coordinates. + + + + + + Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + + + - + + - + - Aerodynamic contributions of a chordwise part within a within a wing segment strip + wingSparsType - - - Describes the contributions of a specific par within a wing segment to the total aerodynamic coefficients of a wing segment strip - - - A chordwisePart aescribes the contributions of a specific chordwise part within a wing strip - to the total aerodynamic coefficients of this strip. It extends spatially between the two eta - positions of the parent strip (see strip documentation) and four xsi positions in the segment coordinate system. - As with the parent stips, only the trailing border (..ToSegmentXsi) of a chordwisePart is defined, while the leading border always equals the trailing border of the preceding chordwisePart (or 0 for the first part). - To account for oblique trailing borders (e.g., to match the aileron on a tapered wing) two different toSegmentXsi positions can be defined, one at the inner border (innerBorderToSegmentXsi) and one at the outer border (innerBorderToSegmentXsi) of the parent strip. - The innerBorderToSegmentXsi and outerBorderToSegmentXsi of the last chordwisePart must be equal to 1. - - + Spars type, a spar is defined by sparSegments that + stretch between multiple sparPositions @@ -32326,37 +31882,32 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the inner eta border - - - - - - - Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the outer eta border - - + + - - + + + + + + + + - + - Remaining contributions to aerodynamic coefficients + Definition of the struts of a control surface track. + - - This node lists the remaining contributions which were not specified so that the sum of the coefficients are equal to the total coefficients. + Definition of the struts of a control surface track. @@ -32365,22 +31916,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Remaining contribution to aerodynamic coefficients + Definition of a strut of a control surface track. + - - This node lists a remaining contribution which was not specified so that the sum of the coefficients are equal to the total coefficients. + Definition of a strut of a control surface track. @@ -32389,54 +31940,34 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Name - - - - - - - Description - - - - - - Type (numerical/unspecified): "numerical", for example, describes rounding errors to clearly - separate them from other effects currently labeld as "unspecified". - The latter usually summarizes physical effects such as viscosity and should be further described via "description". - The approach is currently being tested in practice in order to derive a robust definition of categories in the future. - - - + + - - + + + - + + - - + - Reference values for aerodynamic coefficients + Definition of the wings trailing edge devices. + - - Specification of reference values for aerodynamic coefficients. + Definition of the wings trailing edge devices. @@ -32445,57 +31976,109 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + + + + + Trailing edge device of the wing. + + + A trailingEdgeDevice (TED) is defined via its + outerShape relative to the componentSegment. The WingCutOut + defines the area of the skin that is removed by the TED. + Structure is similar to the wing structure. The mechanical links + between the TED and the parrent are defined in tracks. The + deflection path is described in path. Additional actuators, that + are not included into a track, can be defined in actuators. + + Leading and trailing edge are defined by the outer + shape of the wing segments, i.e. the trailing edge of a + trailingEdgeDevice is the trailing edge of the wing. This is also + valid for kinks that are present in the wing but not explicitly + modeled in the control surface. + The edges of the control surface within the wing are a + straight line in absolute coordinates! Hence, there needs to be a + straight connection between the eta-wise outer and inner points + of the edge that is within the wing in absolute coordinates. + + + + + + + + + - - Reference area + Name of the trailing edge device. - + - - Reference lengt + Description of the trailing edge device. - + - - Reference point - + UID of the parent of the TED. The parent can + either be the uID of the componentSegment of the wing, or the + uID of another TED. In the second case this TED is placed within + the other TED (double slotted flap). In this way n-slotted TEDs + can be created. - + + + + + + + - - Reference translation - + Definition of cruise rollers/mid-span stops. + Those features are small rolls at the leading edge of a flap + that keep the flap within the bending wing at cruise + configuration. - + - - Reference rotation + Definition of interconnection struts. Those + struts connect two neighbouring flaps and are load carrying in + case of an actuator of flap track failour. + + + + + Definiton of z-couplings. Those elements + couple two neighbouring flaps in z-direction. - + + - + - Aerodynamic contributions of the components + Trajectories - - Contains a list of components for which aerodynamic coefficients are specified - + @@ -32503,23 +32086,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Aerodynamic contributions of a component + trajectoryGlobalType - - Describes the contributions of a specific component to the total aerodynamic coefficients - + @@ -32527,107 +32108,163 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Reference to a component - - + + + + + + + + + + + + + + + + + - - + - Atmospheric model + trajectoryType - Available options: ISA. See documentation of <CPACS> root element for further details. - + - - - - - + + + + + + + + + + + + - + - Flight Envelopes + 2D transformation - - Specification of flight envelopes - + - - + + + + Scaling of the structural profile + + - + + + rotation around z-axis of profile definition + + + + + + translation of profile definition + + + + + - + - Flight Envelope + Transformation - - Specification of a flight envelope - + Transformation type, containing a set of + transformations. The order of the transformations is scaling + -> rotation -> translation, and they are executed in this + order. Any of them can be omitted; it will be replaced by its + defaults. + Transformations are always executed relative to the + child not the parent. I.e. a scaling does not have an influence + on the parent item. For example in the outer geometry of a wing + the element scaling does not influence the section. Scaling does + also not effect rotation and translation. - - - + + - Offset from temperature of the atmospheric model [K] + Scaling data default: 1,1,1. Those parameters + describe the scaling of the x-, y-, and z-axis. - - + + + Rotation data default: 0,0,0. The rotation + angles are the three Euler angles to describe the orientation of + the coordinate system. The order is allways xyz in CPACS. + Therefore the first rotation is around the x-axis, the second + rotation is around the rotated y-axis (y') and the third + rotation is around the two times rotated z-axis (z''). + + + + + + Translation data default: 0,0,0. Translations + can either be made absolute in the global coordinate system + (absGlobal) or absolute in the local Coordinate system (absLocal). + + + + + - + - Flight envelope speed + transmissionGearRatioType - - Specification of the V-speed - + TransmissionGearRatio type, defining the ratio of + output rotation velocity to input rotation velocity. @@ -32635,609 +32272,384 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Vector with altitudes - - - - - - - Vector with True Airspeeds - - - + + - + - Speed designators + transmissionShaftInputsType - - Provides an enumerated list of V-speeds as defined by regulations. - + TransmissionShaftInputs type, defining the shaft inputs + of a transmission. - - - - - - Design maneuvering speed - - - - - - - Design speed for maximum gust intensity - - - - - - - Design cruise speed, used to show compliance with gust intensity loading - - - - - - - Design diving speed, the highest speed planned to be achieved in testing - - - - - - - Designed flap speed - - - - - - - Stall speed or minimum steady flight speed for which the aircraft is still controllable - - - - - - - Stall speed or minimum flight speed in landing configuration - - - - - - - Stall speed or minimum steady flight speed for which the aircraft is still controllable in a specific configuration - - - - - - - Minimum control speed - - - - - - - Never exceed speed - - - - - - - Maximum operating limit speed - - - - - + + + + + + + - + - Landing gear base + transmissionShaftInputType - - Base type for landing gears (i.e. nose gear, main gear and skid gear). - An example of a nose and main gear is shown below: - - - - + TransmissionShaftInput type, defining a shaft input for + a transmission. - - - - Name - - - - - Description - - - - - UID of the parent component. If set, the position of the main strut is defined relative to the parent coordinate system. - - - - - - - - - Total length of landing gear, equals the distance from the middle of the bogie/axles to the axis of rotation of the pintle strut. Distance is measured while landing gear is fully extended and in airborne condition (i.e., if a spring is present, the totalLength includes the springDeflectionLength) - - - - - Static suspension travel means the positive distance between the total length in airborne condition and the reduced length due to compression on the ground. - - - - - Compressed suspension travel means the positive distance between the total length in airborne condition and the maximum reduced length due to maximum compression on the ground (e.g., landing shock). - - - - - - - Transformation with respect to the uppermost point of the main strut. From this point the landing gear is oriented in negative z-direction by default. - - + + + + + + + + + + + + + + transmissionShaftOutputsType + + + TransmissionShaftOutputs type, defining the shaft + outputs of a transmission. + + + + + + + + - - - + - Landing gear control parameters + transmissionShaftOutputType - - Parameters of a landing gear control such as extraction or steering. - + TransmissionShaftOutput type, defining a shaft output + for a transmission. - - - - - Retraction angle of the main landing - gear. Equals a rotation around the - global z-axis in degrees. 0 = retraction - to the front; 90 = retraction to the - left; 180 = retraction to the rear; 270 - = retraction to the right. - - - - - - - - Distance of the center of rotation to the top of the main strut - for retracting and extending the landing gear. I.e., a value of - 0 means that the landing gear will rotate around the upper end - of the main strut during retraction. If this value is greater - than 0, the center of rotation is shifted by this value above - the main strut end point (translation along the main strut axis). - - - - + + + + + - + - Landing gear control functions + transmissionsType - - - A list of functions which can be addressed by the controlDistributor. - - + Transmissions type, containing all the + transmissions/gearboxes of a rotorcraft model. - - - - Extension path - - - - - Steering path - - - - - Braking state - - - + + + + + + + - + - Braking function + transmissionType - - - Describes the braking state of the landing gear. - - + Transmission type, defining a transmission/gearbox. + - - - - Control parameter indicating that the brake is set - - - - - Control parameter indicating that the brake is released - - - - + + + + + + + + + + + + - + - Steering path + + Trim case + - - - Describes the steering path of the landing gears via a list of steps. - - + - - - - Step within the steering path - - - - + + + + + + Name + + + + + Description + + + + + UID of trim requirement + + + + + + + Description of the linear model + + + + + + - + - Steering step + Trim requirements - - - Describes a step with the steering path of the landing gear. - - + Contains a list of trim requirements + + + + + + + + + + + + + + + + + Trim requirement + + + + - + - Step type (centered, fullBackboard or fullStarboard) + Name - - - - - - - - + - Control parameter + Description - + - Steering angle [deg] + UID of a predefined flight point + + + + + UID of weight and balance description + + + - + - Extension path + + Trim + - - - Describes the extension path of the landing gears via a list of steps. - - + Provides a list of trim cases + - - - - Step within the extension path - - - - + + + + + + + + - + - Extension step + UIDGroupDefinitionsType - - - Describes a step with the extension path of the landing gear. Make sure to provide a least one step with stepType=extracted! - - + - - - - Step type (retracted or extracted) - - - - - - - - - - - - Control parameter - - - - - Extension angle of the main strut [deg] - - - + + + + + + + + - + - Assembly of landing gear components + UIDGroupDefinitionType - - - Describes an assembly of the various landing gear components - - - - + - - - - Main strut - - - - - - - - - - Drag strut (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - - - - - - - Pintle strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - Pintle strut (one or two pintle struts are supported) - - - - - - - - Side strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - + + + + + + + + + + + + - + - Strut assembly + List of uIDs - - Geometric description, spatial placement and specification of material parameters - - - - Strut properties - - - - - The starting point of the support strut must connect to the main strut. This element specifies the relative position on the main strut (0 -> top end, 1 -> bottom end). - - - - - - - - - - - - End position in absolute coordinates. Coordinates are relative to parent if it has a parentUID reference (otherwise global). - - - - - End position in eta/xsi/relHeight coordinates - - - - - End position as a relative position on another strut of this landing gear - - - - + - Attachment to an aircraft wing or fuselage component - - - - - Reference to an actuator uID + + Reference to a uID + - - - - - - - - - - - - - - + + + + + + - + - - Strut properties - + updatesType - - Geometric description and material properties - of a strut - + Updates type, containing update data for the CPACS + dataset @@ -33245,109 +32657,75 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - (Outer) radius of the strut - - - - - - Material of the strut - - - - - Inner radius of the strut - - - - - - - - Reference to structural element for a more - detailed cross section definition - - - - + - + - - Definition of the wing attachment - + updateType - - Definition of the wing attachment, if - attached to the wing. The definition - includes the position of the landing gear as - well as the information to which spars resp. - supportBeam the gear is attached. - + Update type, containing a datablock for each update of + the CPACS dataset - - - - - UID of the second spar, where the landing gear is attached to. Only used, if the landing gear is attached between two spars. - - - - - - UID of a set of ribs (ribDefinition) - - - - - Number of the rib in the rib set (ribDefinition) - - - - - - - - UID of the structural mount - - - - - + + + + Description of Modification of CPACS data + + + + + + Creator of CPACS modification + + + + + + Timestamp of CPACS modification + + + + + + New version number of CPACS dataset after + modification + + + + + CPACS version that the dataset is valid to + + + + - + - Main landing gear support beam - + Structural properties of the upper links, if existing. + The upper links do connect the upper forward part of the pylon + box with the forward wing attachment. - - Definition of the main landing gear support beam, if a - support beam is used for the attachment. The defintion includes - cross section properties as well as the position of the support - beam. + + @@ -33355,26 +32733,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - - framePositionUIDs of the frame - + List of segments that are allowed to be varied within a mission optimization. - - A framePostion defines a location where a frame in mounted. - + + Provides a list of segments having variable conditions within the segmentBlock. + Example: a segmentBlock containing takeOff, climb, cruise, decent, landing segments has a cruise segment for which the range is variable. + The range of this segment is then to be calculated using the range defined for the segmentBlock while concerning the known ranges of all + other segments within the segmentBlock. + This concept needs to be practically tested. Does it suffice to mention (a list of) segments that are free to change to fit the overall block constraints? What happens if a segment is variable, though it has some constraints? When to define a segment as variable (climb until endPosition z, then endPosition x should be left free. Is the segment then variable? Probably not.). Somehow the 'free' segment should be in between fully defined segments (i.e.: a cruise+descent in between endPosition z == ICA and endPosition z == 0 for landing to define max range. How to define this exactly?) @@ -33382,29 +32760,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - framePositionUID of the frame, where the landing gear - is attached to. - - + - + - Position of the landing gear on a wing - + variableSegmentType - Definition of the position of the landing gear - (intersection point of main strut and pintle sturt) on a wing, - using relative componentSegment coordinates + + Containing the definition of variable segments for a segment block + @@ -33412,38 +32784,40 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Relative height of spar or rib at which landing gear is attached. - - - - + - Relative spanwise position (eta) of spar at which landing gear is attached. + defines uID of the segment having variable conditions - + - Relative chordwise position (xsi) of the rib at which landing gear is attached. + defines which condition(s) are variable within the segment (must be one of the defined + endConditions for the segmentBlock) + + + + + + + - + - Definition of the main landing gear support beam - position + Vehicle configurations - Definition of the main landing gear support beam - position + + List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) + @@ -33451,40 +32825,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Relative chordwise coordinate (xsi) of the - inner end of the support beam. The eta - position of the inner end is defined by the eta position of the - wing root (=wing-fuselage attachment). - - - - - Relative spanwise coordinate (eta) of the - outer end of the support beam. The xsi - coordinate of the outer end is defined by the spar position - (first spar), where the support beam is attached to. - - + - + - Configuration + Vehicle configurations - - Contains references to control control devices and (or) the global aircraft configuration node. - - + + List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) + @@ -33492,67 +32850,52 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Reference to the aircraft configuration node (aircraft/model/configurations/configuration) + Name + + + + + + + Description - + + + - State description of the control elements + Deck configurations + - - - - - - Standard profile - - - - - - - - - - - - - - - - - - + - Rectangle + Vehicles - The width of the profile is always 1, since scaling is performed after referencing it (e.g., in the fuselage). - The resulting profile is defined by the following equation: - - - - with c = cornerRadius and r = heightToWidthRatio. - Example: Rectangle with cornerRadius=0.125 and heightToWidthRatio=0.5 - - - + The vehiclesType contains all vehicle-specific + data. + This includes the vehicle itself (i.e. aircraft + and rotorcraft). Furhtermore, components + (e.g. engines, structuralElements, etc.) + as well as physical properties of materials and + fuels can be predefined for easy and consistent reuse via + uID-references. @@ -33561,78 +32904,31 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - Corner radius - - - - - - - - - - - - - - - - - - Height-to-width ratio - - - - - + + + + + + + + + + - + - Superellipse + vtpFrameDefType - - A profile based on superellipses is composed of an upper and a lower semi-ellipse, which may differ from each other in their parameterization. The total width and height of the profile is always 1, since scaling is performed after referencing (e.g., in the fuselage). - This lowerHeightFraction describes the portion of the lower semi-ellipse on the total height. - The resulting profile is defined by the following set of equations: - - - - - - - with - - - - The following examples indicate the various possibilities of parametric profiles: - Example 1: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (0.5; 2; 5; 3; 0.25) - - - - Example 2: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (2; 2; 2; 2; 0.5) = a circle - - - - Example 3: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (1; 1; 1; 1; 0.5) = a square / diamond - - - - Note: For exponents that are infinitely large, the superellipse converges to a rectangle. However, the value Inf is not a valid entry at this point. Use the square element instead. - + Definition of the individual VTP attachments + @@ -33640,173 +32936,369 @@ The fuel tank volume type should also be used for the wing fuel tank - + + Definition of tailplane attachment area + (Standard Configuration) + + - Exponent m for upper semi-ellipse + UID of the fuselage frame at this VTP + attchment - + - Exponent n for upper semi-ellipse + Flag for option for VTP attachment between + defined FrameUID and the next one - + - Exponent m for lower semi-ellipse + UID of panel element at VTP attachment (shell + elements) - + - Exponent n for lower semi-ellipse + UID of structural element at VTP attachment + (base, beams) - - - - Fraction of height of the lower semi-ellipse relative to the total height - - - - - - - - + + + UID of structural element at VTP attachment + (horizontal, beams) + + + + + UID of structural element at VTP attachment + (radial, beams) + + - + - Performance Cases + vtpInterfaceDefType - - Specification of performance cases required for the performance evaluation of air vehicles (aircraft, rotorcraft, etc.). - The information in this node is generally applicable to any kind of vehicle. Vehicle-specific information is provided through the performanceRequirements node found under: /cpacs/vehicles/../model/performanceCases. - + Definition of the interface of the VTP - - - - - - - - - - - - - + + + Definition of the VTP interface + + + - - UID of the runway + Definition of the VTP attachment frames and + their + reinforcement - + - - Offset from runway threshold in the runway coordinate system + Defines area for valid x-position of VTP (just + used + if attachmentpoint is directly based on frame) ==> check and + potentially warning message - - - - - - - - - - + - - UID of the runway + Definition of the max. distance between + fuselage and + the defined VTP pins ==> check and potentially warning + message + + + + + + Definition of reinforcement area at VTP frame + positions (relative coordinate, smaller than + 1.0) - + - - Offset from runway threshold in cartesian coordinates in the runway coordinate system + Definition of vertical reinforcements at VTP + frame + positions (relative coordinate, smaller than + 1.0) - + + + value to change from horizontal to radial + reinforcements for VTP frame plates + + + + + + UID of elements to connect VTP pins with + fuselage + (beam elements) + + + + + - + - - - - - Requirements - - - - Requirement settings for the point performance definition - - - + Definition of wall positions to place walls inside fuselage. - - + + - - Sustained load factor to be achieved - + Wall position definition specifying a point in the fuselage to be connected to a wall segment. - + + + + + + + + Definition of a wall position to place walls inside fuselage. + + + + + + + UID of a bulkhead determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + + UID of a wall segment determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + + UID of fuselage section determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + Absolute x-coordinate of wall position in fuselage coordinate system. + + + + + + Absolute y-coordinate of wall position in fuselage coordinate system. + + + + + Absolute z-coordinate of wall position in fuselage coordinate system. + + + + + + + + + + + + Reference to wall position uID. + + + + + + + + + + + - - Instantaneous load factor to be achieved - + Wall segment definition. - + + + + + + + + + + + Defines extrusion direction. Rotation angle + around fuselage x-axis of extrusion direction. A + value of 0deg means fuselage z-axis as extrusion + direction. Default: 0.0deg. + + + + + + + + + + + + + + By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionaly extruded in negative direction as well. Default: false. + + + + + Rotates the first edge of the wall segment so that it is adjacent with the structural element defined in the first wall position (bulkhead, fuselage section or another plane wall). Default: false. + + + + + Rotates the last edge of the wall segment so that it is adjacent with the structural element defined in the last wall position (bulkhead, fuselage section or another plane wall). Default: false. + + + + + + A list of uIDs referencing other + structural/geometric elements that shall serve + as a boundary of the wall element. Possible + references are floor, wall or + genericGeometryComponent. A major requirement is + that the referenced element has an intersection + with the wall for at least the distance between + two wall positions. So that a full geometric + face of the wall is bounded by it. Neighbouring + wall faces that are not completely bounded by + the reference element are not affected. + + + + + + + Reference to the structural property definition + of this wall segment. + + + + + + + List of wall position uIDs that are used for + this wall segment. At least two positions must + be defined (for start and end position of wall). + If more than two positions are referenced here, + the wall is constructed out of several planar + faces that connect two consecutive positions + (Note: Order of position uIDs defines + connectivity). + + + + + + + + + + + + - Specific excess power to be achieved [m/s] + Definition of wall positions to place + walls inside fuselage. - + - Roll rate to be achieved [deg/s] + List of wall segments. - + + + + + + + + + + + webType + + + + SparWeb type, containing the cross section area of the + spar web and the material properties. + Pleas find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + + + + + + + + + - - Roll acceleration to be achieved upon control onset [deg/s^2] + Material definition of the spar web. - + - - Roll acceleration to be achieved upon control stop [deg/s^2] + relPos ranges from 0 to 1 It defines the + position of the web relative to the caps (see picture below).. @@ -33815,39 +33307,43 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Controllability requirements + weightAndBalanceCaseType - Contains a list of controllability requirements - + WeightAndBalanceCase type, containing weight and + balance data for one case - - - + + + + + + + + - - + + - Trim requirements + weightAndBalanceFuelInTanksType - Contains a list of trim requirements - + @@ -33855,203 +33351,133 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Controllability requirement + weightAndBalanceFuelInTankType + + + - - - Name - - - - - Description - - - - - UID of point performance definition - - - + + + + + + - UID of weight and balance description + Ranges from 0 for empty tank to 1 + - - - - - - - - - - Trim requirement - - - - - - - - Name - - - - - Description - - - - - UID of a predefined flight point - - - - - UID of weight and balance description - - - - - - - - - + - - Trim - + weightAndBalanceFuelType - Provides a list of trim cases - + - - - - + + + + + + - + - - Trim case - + weightAndBalancemCargosType - + For a higher ganularity it is possible to add more + information on the actual Cargo that are included in the + operational case. Please note that the information needs to be + identical with the massBreakdown. Hence, only links via uIDs can + be specified. - - - - Name - - - - - Description - - - - - UID of trim requirement - - - - - - - Description of the linear model - - - - + + + + + + - + - Turn + weightAndBalancemPaxxType - + For a higher ganularity it is possible to add more + information on the actual Pax that are included in the + operational case. Please note that the information needs to be + identical with the massBreakdown. Hence, only links via uIDs can + be specified. - - - - ... - - - - - ... - - - + + + + + + - + - - Level flight - + weightAndBalancePayloadType @@ -34062,67 +33488,88 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Specific excess power - - + + + + + - + - - Climb - + Weight and balance - + WeightAndBalance type, containing weight and balance + datasets - + + + + + + - + - - Descent - + Definition of the landing gear wheel. - - - + + The center plane of the wheel is located on the end point of the axle. + - + + + + + Wheel radius + + + + + With of the wheel + + + + + Brake: false = + not braked; true = braked. + + + + + - + - - Environmental conditions - + windowAssemblyPositionType - Specification of environmental conditions + WindowAssembly type, containing an the position of a + windows assembly @@ -34130,30 +33577,47 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - - Delta temperature with respect to the standard temperature of the selected atmosphere [K] + UID of the window element to be used + + + + + + x position of window elemment on global x axis + + + + + + z position of window elemment refernce point + + + + + + angle around global x axis to define window + position with respect to positionX and postionZ + - + - Flight Cases + windowsAssemblyType - - - + WindowsAssembly type, containing an assembly of windows + @@ -34161,23 +33625,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Flight point + windowsType - - - + Windows type, containing windows @@ -34185,50 +33647,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - Mach number - - - - - - - Calibrated air speed - - - - - - - True air speed - - - - - + - + - + - Configurations which apply for this performance requirement + wingAeroPerformanceType - - - + wingAeroPerformance type, containing perfomance maps + with aerodynamic data of a wing. @@ -34236,30 +33671,40 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Default configuration uID + Reference to the uID of the analysed wing - + + + References used for the calculation of the + force and moment coefficients of the wing (in the wing axis + system!) + + + + + Calculated aerodynamic performance maps of the + wing + + - + - Specific configuration uIDs + wingAirfoilsType - - - + WingAirfoils type, containing wing airfoil geometries. + See profileGeometryType for further documentation @@ -34267,23 +33712,24 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Connection between segments, pointPerformances and a configurationUID + Position of the landing gear on a wing + - - - + Definition of the position of the landing gear + (intersection point of main strut and pintle sturt) on a wing, + using relative componentSegment coordinates @@ -34291,19 +33737,20 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Configuration uID + Relative height of spar or rib at which landing gear is attached. - - + - - List of pointPerformanceUIDs - + Relative spanwise position (eta) of spar at which landing gear is attached. + + + + + Relative chordwise position (xsi) of the rib at which landing gear is attached. @@ -34311,17 +33758,16 @@ The fuel tank volume type should also be used for the wing fuel tank - + - List of segment uIDs to which the configuration is to be applied + Cells of the wing. - - - + WingCells type, containing all the cells of the wing. + @@ -34329,22 +33775,47 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Specification of a segment uID and index of the parameter lapses + Cell of the wing - + A cell defines a special region of the wing. Within + this region skin and stringer properties can be defined that + differer from the properties of the rest of the wing. In general + a cell is defined by defining four borders – the cell leading + and trailing edge and the inner border and the outer border. + Those borders can either be defined by using eta/xsi coordinates + or by referencing to spars and ribs. Mixed definitions (e.g. + forward border is defined due to a spar, side borders due to eta + coordinates) is allowed. In general a cell is quadrilateral. But + if e.g. the spar, which is used for the definition of the + trailing edge, has a kink, the cell can have more than four + corners. + The cell leading and trailing edge (= forward and rear + border) can either be defined by referencing to a spar + (->sparUID) or by the defining the xsi (=relative chord) + coordinates of the border (xsi1 = inner end; xsi2 = outer end). + + The cell inner and outer border can either be defined + by referencing to a rib (->ribDefinitionUID and ribNumber) or + by the defining the eta (=relative spanwise) coordinates of the + border (eta1 = forward end; eta2 = rear end). + Some examples for wing cells can be found in the + picture below: + + + @@ -34353,60 +33824,28 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - UID of the segment for which the specific configuration holds. - - - - - - - Vector with semicolon separated indices of the parts of the respective segment within the mission definition for which the specific configuration setting holds. Example: scheduling configurations for a climb or descent segment (different settings of moveables and gears) on altitudes/velocities - - - + + + + + + + - - - - - - Released stores - - - - - - - - - - - - - - - - - - - + - Released store + Structure of the wing - - - + wingComponentSegmentStructure type, containing the + whole structue (skins, ribs, spars...) of the wing. @@ -34414,112 +33853,65 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - uID of the released store(s). - - - - - - - Quantity of released stores - - - + + + + + - + - Runway start position + Elements of the wing. - - - Description of the vehicle on the runway relative to the runway threshold. - - + WingElements type, containing the elements of a wing + section. - - - - - - X-position in cartesian coordinates in the runway coordinate system - - - - - - - Y-position in cartesian coordinates in the runway coordinate system - - - - - - - Z-position in cartesian coordinates in the runway coordinate system - - - - - - - - - Lengthwise distance along the runway centerline from the runway threshold - - - - - - - Lateral offset from the runway centerline. Positive values on the starboard side. - - - - - + + + - + - Geometry + Element of the section. - [WARNING: This type is known to be susceptible to - inconsistencies and might therefore be removed in a future version of CPACS] - - - The geometry of the cabin roughly corresponds to the available design space in the cabin. - It is given in terms of constant height contour lines. - The lines all share a common x-vector. - The y vector provides the lateral - contour at Z-coordinate provided by the constant value z. - One or more contour lines can be given. - The cabin geometry is assumed to be symmetric. - + Within elements the airfoils of the wing are defined. + Each section can have one or more elements. Within each element + one airfoil have to be defined. If e.g. the wing should have a + step at this section, two elements can be defined for the two + airfoils. + Mathematically spoken a element is a coordinate system + that is translated, rotated and scaled relative to the section + coordinate system. This transformation parameters are defined + withing the transformation section. The wirfoil, which is linked + by using the parameter airfoilUID is directly 'copied' in the + element coordinate system. If e.g. the airfoil is defined from 0 + to 1 in x-direction and the total scaling of the elements x-axis + equals 3.5 the wing chord is 3.5 m long. + An example for wing element can be found in the + picture below: - + @@ -34531,153 +33923,124 @@ The fuel tank volume type should also be used for the wing fuel tank - Name + Name of the wing element. - + - Description + Description of the wing element. + - - + - Vector of x coordinates + Reference to a wing airfoil. + + + - + - Cabin geometry contours + Border of the fuel tank (either rib or spar). + - Cabin geometry contour line collection type. By providing more than one entry, - a 3D cabin space can be described. - + - - - + + + + Spar uID of the bordering spar. + + + + + + + UID of the rib set of the bordering rib. + + + + + + RibNumber of the rib set of the bordering + rib. + + + + - + - Cabin geometry contour + Definition of the geometry of the wing fuel tank by + defining a continouse list of borders. - Type to define a lateral position value "y" at a given height "z" (in the parent deck coordinate system) - for each entry "x" in the parent cabin geometry definition. - + - - - - Vector with y-coordinates - - - - - Height z - - - + + + - + - Aisle + List of wing fuel tanks. - Aisles has as many entries as there are aisles in the - cabin. In a normal single aisle there are two aisles: the cabin - aisle and the aisle leading to the cockpit. + - - - - Name - - - - - Description - - - - - Longitudinal coordinates. The - number of coordinates can be chosen as appropriate, the minimum - number is two. The coordinates are relative to the cabin origin. - - - - - - Center points of the aisle. The - y-vector has to have same length as the x-vector. The aisle - stretches equally left and right of the provided y-coordinate. - - - - - - Width of the aisle at floor level at each - y-coordinate - - - - + + + - + - doorOpeningLegacyType + Definition of one wing fuel tank. - doors describe all doors of the cabin. They are linked - to a structural door description. The cabin door is usually equal - in size to the door, but does not need to be. The structural door - might describe a wider cut-out, while the cabin door is primarily - intended for evacuation modeling and cabin layout. In order to - obtain a 3-dimensional door representation, the local cabin - geometry shall be used. + @@ -34685,83 +34048,69 @@ The fuel tank volume type should also be used for the wing fuel tank - - - This is the forward x-coordinate of the door - relative to the cabin origin. - - - - - the door sill height relative to cabin origin. - - - - + - The width of the door in x-direction. + Name of the wing fuel tank. - + - the effective height of the door. + Description of the wing fuel tank. - - - - - - - - - - + + + - + - "doorOpeningType" + Definition of the wing-fuselage attachment. - Ceiling panel instance collection type. + Definition of the wing-fuselage attachment - - - - + + + - + - Deck door + Definition of the wing-fuselage attachment - doors describe all doors of the cabin. They are linked - to a structural door description. The cabin door is usually equal - in size to the door, but does not need to be. The structural door - might describe a wider cut-out, while the cabin door is primarily - intended for evacuation modeling and cabin layout. In order to - obtain a 3-dimensional door representation, the local cabin - geometry shall be used. + + Definition of the wing-fuselage attachment. The area + of the fuselage attachment (resp. center wing box, CWB) is + defined by defining one resp. two ribs from the rib definition. + If one rib is defined (rib1) the CWB goes from the closer end of + the componentSegment (e.g. wing symetry plane) to the defined + rib. If two ribs are defined (rib1 and rib2), the CWB is between + both ribs. + Additionally attachment pins can be defined. At those + positions the wing is attached to the fuselage. This can be e.g. + used for defining the wing-attachment of high wing + configurations, HTPs or VTPs. + @@ -34769,174 +34118,161 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - + - Description + Definition of first (=inner) rib of the + fuselage attachment. - + - Number of passengers this door adds to the - overall exit capacity limit of the aircraft. + Definition of the second (=outer) rib of the + fuselage attachment. Optional. Only to be used if attachment is + defined over two ribs. - + - Opening geometry of the door + Definition of position, orientation, materials + and blocked DOFs of attachment pins. - + - Door type (boarding, cargo, evacuation or service) + Definition of actuators (e.g. trim actuator of + an HTP) of the attachment. - - - - - - - - - - - - + - Deck doors + wingInterfaceDefinitionsType - + CenterFuselage high wing interface definitions + - - - + + + + + + + + - + - Cargo containers + centerFuselageMainFramesType - Cargo container instance collection type. + High wing main frame definition, containing mainframe + UIDs - - - + + + + + - + - Cargo container + wingInterfaceSupportStrutsAssemblyType - Cargo container type for placing an instance of a cargo container in the parent deck. + wingInterfaceSupportStrutsAssembly type, containing + support struts assembly - - - - Name - - - - - Description - - - - - UID of the cargo container element in the cpacs/vehicles/deckElements node - - - - - Position in x - - - - - Position in y - - - - + + + + - + - Seat modules + wingInterfaceSupportStrutType - Seat module instance collection type. + wingInterfaceSupportStrut type, containing support + strut definition - - + + - Seat module + Name of support strut. - + + + Type description: lateral or longitudinal + support strut. + + + + + + + + - + - Galleys + IntermediateStructure cells - Galley instance collection type. + Definition of the intermediateStructure of the + componentSegment of the wing. @@ -34944,104 +34280,239 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Galley - - + - + - Generic floor modules + Definition of the cell of the intermediateStructure + - Generic floor module instance collection type. + + IntermediateStructure: + It defines the filling materials between the upper and + lower shell (e.g. honeycombe structures in a smeared + representation). IntermediateStructure is optional.The position + of the intermediateStructure is defined in so called cells (= + special areas on the wing). Default is no intermediateStructure. + + Material Definition of intermediateStructure: + + The material of the intermediateStructure is reference + by 'material'. The material orientation is defined by 'rotX' and + 'rotZ'. 'rotZ' is defined equivalent to the stringer angle resp. + the skin orthotropyDirection. 'rotX' equals a positive rotation + around the wings x-axis, while a rotation of zero is equivalent + to the wing middle plane. + A picture to clarify the reference direction of rotZ + (equivalent to orthothropy direction of the wing) can be found + in the picture below: + + + + Position definition by using cells: + A cell defines a special region of the wing. Within + this region the cell properties are defined. In general a cell + is defined by defining four borders – the cell leading and + trailing edge and the inner border and the outer border. Those + borders can either be defined by using eta/xsi coordinates or by + referencing to spars and ribs. Mixed definitions (e.g. forward + border is defined due to a spar, side borders due to eta + coordinates) is allowed. In general a cell is quadrilateral. But + if e.g. the spar, which is used for the definition of the + trailing edge, has a kink, the cell can have more than four + corners. + The cell leading and trailing edge (= forward and rear + border) can either be defined by referencing to a spar + (->sparUID) or by the defining the xsi (=relative chord) + coordinates of the border (xsi1 = inner end; xsi2 = outer end). + + The cell inner and outer border can either be defined + by referencing to a rib (->ribDefinitionUID and ribNumber) or + by the defining the eta (=relative spanwise) coordinates of the + border (eta1 = forward end; eta2 = rear end). + Some examples for wing cells can be found in the + picture below: + + + + - - + + + + + + - Generic floor module + Reference to the material of the intermediate + structure. - + + + 'rotX' equals a positive rotation around the + wings x-axis, while a rotation of zero is equivalent to the wing + middle plane direction. + + + + + 'rotZ' is defined equivalent to the stringer + angle resp. the skin orthotropyDirection. + + + + - + - Lavatories + Definition of a ribCell - Lavatory instance collection type. + RibCells are optional elements. They are defined via a + fromRib and a toRib. The enumeration is within the ribSet. + RibNumber 1 starts at etaStart. - - + + - Lavatory + Defines the beginning of the ribCell. The + enumeration is within the ribSet. + + + + + Defines the ending of the ribCell. The + enumeration is within the ribSet. + + + + + WING: The Rotation along the x describes a + rotation around a line, that is defined by the intersection of + the rib with the wing middle plane (orientated from leading to + trailing edge). This angle defaults to 90° which means, that the + rib is perpendicular on the wings middle plane. PYLON: The + Rotation along the z describes a rotation around the pylons + z-axis (= rotation in top view). This angle defaults to 90° + which means, that the rib is perpendicular to the pylons x-axis. + + + + + + The orthotropyDirection is defined as rotation + around the ribs z-axis. The rib coordinate system is defined as + follows: x-axis is from leading to trailingeEdge of the + componentSegment in the direction of the rib elongation. z-axis + is normal to the rib in the direction of positive eta. y is + defined by right hand rule. Rotation is around the z-axis. Zero + degrees are at the x-axis positive direction. + - + + + + - + - Class dividers + Cross section properties of a wing rib - Class divider instance collection type. + wingRibCrossSectionType, containing the definition of + ribsCrossSection - - + + - Class divider + The orthotropyDirection is defined as rotation + around the ribs z-axis. The rib coordinate system is defined as + follows: x-axis is from leading to trailingeEdge of the + componentSegment in the direction of the rib elongation. z-axis + is normal to the rib in the direction of positive eta. y is + defined by right hand rule. Rotation is around the z-axis. Zero + degrees are at the x-axis positive direction. - + + + WING: The Rotation along the x describes a + rotation around a line, that is defined by the intersection of + the rib with the wing middle plane (orientated from leading to + trailing edge). This angle defaults to 90° which means, that the + rib is perpendicular on the wings middle plane. The rotation + angle is defined at the intersection point of the rib with the + ribReference line. The rib itself is allways straight and not + twisted. PYLON: The Rotation along the z describes a rotation + around the pylons z-axis (= rotation in top view). This angle + defaults to 90° which means, that the rib is perpendicular to + the pylons x-axis. + + + + + + + + Post element definition applied to all vertical intersections with spars + + + - + - Sidewall panels + Explicit positioning of a wing rib - Sidewall panel instance collection type. + + Use this type for an explicit positioning of a rib. As opposed to + ribsPositioning, this defines a single rib connecting a specified start + and end point. + @@ -35049,9 +34520,67 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + Defines the start of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the start of the rib defined by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the beginning of the rib using a specific sparPosition. + + + + + + + + + Defines the end of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the end of the rib given by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the end of the rib using a specific sparPosition. + + + + + - Sidewall panel + + Defines the forward beginning of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + + + + + + + RibEnd defines the backward ending of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". @@ -35060,39 +34589,65 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Luggage compartments + wingRibPointType + + + The wingRibPointType is used to define reference points on ribs. + It can be used for rib set definitions (wingRibsPositioningType) as + well as explicit rib definitions (wingRibExplicitPositioningType). + + - - + + - Luggage compartment + + The UID of the rib definition. Can be a reference to nodes + of either wingRibsPositioningType or wingRibExplicitPositioningType. - + + + + For references of type wingRibsPositioningType this node indicates the rib number of the rib set. + If not given it defaults to 1. + + + + + + + Normalized xsi coordinate of the rib point which is measured along the rib + from the start point [0] towards the end point [1]. + + + + - + - Ceiling panels + Wing ribs - Ceiling panel instance collection type. + RibDefinitions type, containing the definition of all + ribs of the wing. @@ -35100,26 +34655,27 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Ceiling panel - - - + - + - Structural mounts + Definition of a set of ribs - Structural mount type containing the structural connections of cabin elements + + RibDefinitionType, containing the definition for ribs. + Ribs are defined in sets of one or more ribs. The positions of + the rib, as well as the orientation of the ribs are defined in + 'ribPositioing'. The cross section properties, as e.g. + materials, are defined in 'ribCrossSection'. + @@ -35127,121 +34683,251 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name of the rib set + + + + + Description of the rib set + + + + + + + + + - + - Structural mount + Positioning of a set of wing ribs - Structural mount type containing the structural connections of cabin elements + + The ribsPositioning type allows the definition of a set + of ribs which is distributed over a specified spanwise area. + The positions of the ribs are defined by placing the + ribs on a reference line on the wing (ribReference). The inner + and the outer beginning of the rib set is defined using etaStart + and etaEnd. The position of the forward and rear end of the ribs + is defined by ribStart and ribEnd. The orientation of the ribs + is defined in ribRotation. The number of ribs of the current rib + set is either defined by ribNumber or by spacing. + Three examples how ribs can be placed on the wing are + illustrated in the picture below. For more detailed information, + please refer to the description of each parameter. + + + + - - + + + + + + Defines the start of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the start of the rib by a point on a reference curve, + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the beginning of the rib using a specific sparPosition + + + + + + + + + Defines the end of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the end of the rib defined by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the end of the rib using a specific sparPosition + + + + + - Name + + Defines the forward beginning of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + - + - Description + + Defines the backward ending of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + - + + + + + The spacing of the ribs defines the distance between two ribs, + measured on the + ribReferenceLine. First rib is placed at etaStart. + + + + + + + Defines the number of ribs in this ribSet. First rib is at + etaStart on the + referenceLine, last rib is at etaEnd. The spacing is constant on the + ribReferenceLine. + + + + + - UID of the component to connect to + + The ribReference is the reference line for the computation of the rib set spacing. + It can either be a sparUID or "trailingEdge" or "leadingEdge" + - - + + + + + RibCrossingBehaviour can either be 'cross' or 'end'. If it is set to'end' the ribs + of this rib set will end at the intersection with another rib. + If it is set to + 'cross' the ribs of this rib set will continue at the intersection + with another rib. + + + + + + + + + + + + - + - Bounding Box + wingsAeroPerformanceType + + wingsAeroPerformance type, containing + wingsAeroPerformance + - - - - Length in x - - - - - Length in y - - - - - Length in z - - - - - Origin - - - + + + - + - Geometry + Sections of the wing. - Description of the deck element geometry. This might be either a bounding box definition or a link to a generic geometry component. + WingSections type, containing all the sections of the + wing. - - - - + + + - + - Cargo container element for use in the decks + Section of the wing. + WingSection type, containing a wing section. The + sections contains elements, where the airfoils are defined. For + the definition of a wing at least two sections (root and tip) + have to be defined, but any number greater than 2 is also + possible. + Mathematically spoken a section is a coordinate system + that is translated, rotated and scaled relative to the wing + coordinate system. This transformation parameters are defined + withing the transformation section. + In addition to the translation, which is defined in + the transformation part, the section can be translated by using + the positionings vectors (wing->positiongs). Translation of + the positionings vectors is added to the translation of the + section. + An example for wing sections can be found in the + picture below: - + @@ -35251,70 +34937,36 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Description - - - - - - Contour: single or double - - - - - - - - - - - - - Delta x - - - - - - Delta y - - - - - - Delta y of the base - - - - + - Delta z + Name of wing the wing section. - + - Delta z kink + Description of the wing section. + + - + - + - Cargo container elements + Segments of the wing. - Cargo container element collection type + WingSegments type, containing all the segments of the + wing. @@ -35322,73 +34974,129 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Ceiling panel + Segment of the wing. - Ceiling panel element collection type + + A segment defines which two wing elements (=cross + sections) are linked to one wing segment. + An example for wing segments can be found in the + picture below: + + + + - - + + - Ceiling panel element for use in the decks + Name of wing the wing segment. + - + + + Description of the wing segment. + + + + + + Reference to the element from which the + segment shall start. + + + + + Reference to the element at which the segment + shall end. + + + + + Optional and additional guidecurves to shape + the outer geometry. + + + + - + - Class divider + Shells of the wing - Class divider element collection type + Within the wingShellType the upper and lower skin of a + and the skin stringers are defined. At 'skin' and 'stringer' the + skin and stringer properties of the complete componentSegment are + defined. If different skin or stringer properties should be + defined in a special region of the wing this can be done within + 'cells'. + If the stringer should not be defined explicite, they + can be defined implizite by defining an equivalent material layer + and using a composite as material. - - - - - - - - - Class divider element for use in the decks - - - + + + + + + + + + + + - + - Deck elements + Material properties of the wing skin. - A list of predefined elements which can be linked in the actual deck of the aircraft or rotorcraft model via referencing its uID. + + The wingSkinType describes the material properties of + the wing. + For composites materials: the positive z-direction is + from the outer side to the inner side. + For composites materials: the reference axis for the + orthotropyDirection is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + orthotropyDirection equals the rotation around the z-reference + axis. For details, please refer to the picture below: + + + + + @@ -35396,49 +35104,10 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Ceiling panel elements for use in the decks - - - - - Class divider elements for use in the decks - - - - - Galley elements for use in the decks - - - - - Generic floor elements for use in the decks - - - - - Lavatory elements for use in the decks - - - - - Luggage compartment elements for use in the decks - - - - - Seat elements for use in the decks - - - - - Sidewall panel elements for use in the decks - - - + - Cargo container elements for use in the decks + Material properties of the wing skin. + @@ -35446,15 +35115,39 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Galley element + Wing spars - Galley element type, containing the base elements of the cabin + + Spars type, a spar is defined by sparSegments that + stretch between multiple sparPositions. The spar definition is + very flexible in CPACS. Spars can start and end at any position + of the wing, spars can have kinks at any position of the wing + and spars can cross each other or merge. + At first the spar points (->sparPositions) have to + be defined. Spar points are defined using the relative + coordinates eta and xsi. Spar points do lay on wing middle + plane. + Two or more spar points are connected to on spar + segment (->sparSegments). Each spar segment can be seen as + one spar. The spar geometry between two spar points is defined + as a direct/straight connection in global coordinate system + and not in eta xsi coordinates of the component segment. + One spar point can be used by more than one spar, if + e.g. two spars are merging. The detailed cross section of the + spar is also defined with sparSegments. + Pleas find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + @@ -35462,33 +35155,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Description - - - - - - - Number of trolleys - - + + - - + - Galley elements + Definition of the wing stringers. - Galley element collection type + + Within the wingStringerType wing stringers are + defined. The stringer are defined by referencing on the + stringerStructureUID, where the shape and material settings of + one single stringer is defined. In addition the orientaion and + the stringer pitch have to be defined: + One stringer intersects the point at the given xsi and + eta position. + + + + Alternatively, an exlicit stringer definition can be + applied if the stringers shall be tapered. + @@ -35496,25 +35191,117 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Galley element for use in the decks - - + + + + + This is the simple and default stringer + definition + + + + The pitch describes the distance between to + adjacent stringers in the plane rectangular to the stringer + elongation direction. + + + + + + Stringer angle: the reference axis for the + stringer angle is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + stringers equals the rotation around the z-reference axis. For + details, please refer to the picture below. + + + + + + If the reference of the stringer angle shall + be different from the default implementation then this + parameter may be set. Allowed values include: leadingEdge, + trailingEdge and globalY. Furthremore, it is possible to + provide the UID of a spar. + + + + + + This is the explicit stringer definition. + Please note that for a consistent definition two out of the + possible three elements innerBorder (xsiLE, xsiTE), outerBorder + (xsiLE, xsiTE) and stringer angle (and angle reference) must be + defined. Any combination of two of the three is valid + + + + + The number of stringers; default is 0 + + + + + + Stringer angle: the reference axis for the + stringer angle is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + stringers equals the rotation around the z-reference axis. For + details, please refer to the picture below. + + + + + + If the reference of the stringer angle shall + be different from the default implementation then this + parameter may be set. Allowed values include: leadingEdge, + trailingEdge and globalY. Furthremore, it is possible to + provide the UID of a spar. + + + + + Inner border xsi coordinate at the leading + edge of the stringer definition + + + + + Outer border xsi coordinate at the leading + edge of the stringer definition + + + + + Inner border xsi coordinate at the trailing + edge of the stringer definition + + + + + Outer border xsi coordinate at the trailing + edge of the stringer definition + + + + - + - Lavatory elements + wingStructuralMountsType - Lavatory element collection type + @@ -35522,25 +35309,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Lavatory element for use in the decks - - + - + - Luggage compartment elements + Wings - Luggage compartment element collection type + Wings type, containing all the lifting surfaces (wings, + HTPs, VTPs, canards...) of an aircraft model. @@ -35548,25 +35332,53 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Luggage compartment element for use in the decks - - + - + - Seat element + Wing type, containing all a lifting surface (wing, HTP, + VTP, canard...) of an aircraft model. - Seat element type, containing the base elements of the cabin + + Wing type, containing all a lifting surface (wing, + HTP, VTP, canard...) of an aircraft model. + Position of the wing: The position of the wing is + defined using the transformation parameters. Using those + parameters, the wing coordinate system is translated, rotated + and scaled. + Definition of the wings outer shape: The outer shape + of the wing is defined by airfoils that are placed within the 3D + space. Two airfoils are combined to one wing segment within the + segments. For the definition of the positions of the airfoils, + differnt sections are defined. Within each section one or more + elements are defined. The airfoil shape is defined within the + elements. If the wings outer shape should e.g. have a step it is + possible to define two different airfoils in one section by + using two elements. In most cases each section will only include + one element. Positionings are vectors that are used for an + additional translation of the sections by using 'user friendly + paramaters' as e.g. sweep and dihedral. Please note, the first + positioning may be non-zero. Often it will be zero just to + locate the wing at the position stated by the translation, but + this is not necessary. Finally the wing segments are defined by + combining two consecutive elements. A more detailed description + is given within the different parameters. + Definition of control surfaces, wing structures, wing + fuel tank and wing fuselage attachment: those parts are defined + within componentSegments. Please refer to the documentation + there. + + + + @@ -35574,85 +35386,114 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Description + Name of the wing. - - - + - Number of seats + Description of the wing. + + + + + UID of part to which the wing is mounted (if + any). The parent of the wing can e.g. be the fuselage. In each + aircraft model, there is exactly one part without a parent part + (The root of the connection hierarchy). + + + + + - + + - + - Seat elements + The two elements that where the structural connection + is placed. - Seat element collection type + - - + + - Seat element for use in the decks + Element uID of the element of the CURRENT + componentSegment where the structural connection is placed. + - + + + Element uID of the element of the second + componentSegment where the structural connection is placed. + + + + - + - Generic floor elements + Two spars that are structurally connected. - Generic floor element collection type + - - + + - Generic floor element for use in the decks + Spar uID of the CURRENT componentSegment. + - + + + Spar uID of the second componentSegment. + + + + - + - Sidewall panel elements + wingWingAttachmentsSparsType - Sidewall panel element collection type + @@ -35660,22 +35501,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Sidewall panel element for use in the decks - - + - + - Generic geometry component + List of wingWingAttachments. @@ -35685,122 +35522,134 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + - + - Deck component + wingWingAttachmentType + + Definition of the structural connection between two + wings resp. two componentSegments. Note: All structural + connections between two wings/componetSegments have to be defined + using wingWingAttachments. The wingWingAttachment has only be + defined in one of the two componentSegments, that are connected. + + - + - Name + UID of the componentSegment, that is connected + with the current one. - + + + - Description + Defines if the upper shell of the current + componentSegment is structurally connected to the upper or lower + shell of the second componentSegment. Can have the values + 'upperShell' or 'lowerShell'. - + - UID of the corresponding element in the cpacs/vehicles/deckElemets node + Defines if the lower shell of the current + componentSegment is structurally connected to the upper or lower + shell of the second componentSegment. Can have the values + 'upperShell' or 'lowerShell'. - - - - + - Deck component + xsiIsoLineType + + Iso line described by point of same xsi coordinate. + Can be either segment or component segment coordinates. + - - - Name - - - + - Description + Relative spanwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - + - UID of the corresponding element in the cpacs/vehicles/deckElemets node + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta value is considered to be in segment + eta coordinate; if it points to a componentSegment, + then componentSegment eta coordinate is used. - - - - + - Deck element + zCouplingsType + + + - - + + - Description + Definiton of one z-coupling. + - - - - + - + - Mass + zCouplingType - Description of mass, center of gravity and inertia - + @@ -35808,80 +35657,35 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Mass value + Reference to the control surface that is + connected to this controll surface by the z-coupling.. + - + - Center of gravity (x,y,z) + Material of the movable part of the + z-coupling. + + + + + Definition of the attachment of the z-coupling + to this control surface. + + + + + Definition of the attachment of the z-coupling + to the other control surface. - - + - - - - - - Symmetry (see CPACS root node documentation for details) - - - - - - - - Symmetry inheritance from parent element disabled - - - - - Symmetry inherited from parent element (default behavior, i.e. also applies if attribute not set) - - - - - Symmetry w.r.t. the x-y plane of the CPACS coordinate system - - - - - Symmetry w.r.t. the x-z plane of the CPACS coordinate system - - - - - Symmetry w.r.t. the y-z plane of the CPACS coordinate system - - - - - - - - - - - Requirement classification based on the MoSCoW method (must, should, could or wont) - - - - - - - - - - - - - - diff --git a/scripts/tests/test_examples.py b/scripts/tests/test_examples.py new file mode 100644 index 0000000..bb6f5e4 --- /dev/null +++ b/scripts/tests/test_examples.py @@ -0,0 +1,41 @@ +import os + +import pytest +from tixi3 import tixi3wrapper + + +def rel_location(): + __location__ = os.path.realpath( + os.path.join(os.getcwd(), os.path.dirname(__file__)) + ) + return __location__ + + +@pytest.fixture +def cpacs_examples(): + xml_dir = os.path.join(rel_location(), "../../examples/") + xml_files = [ + os.path.join(xml_dir, f) + for f in os.listdir(xml_dir) + if not "toolspecific.xml" in f and not "seat.stp" in f + ] + return xml_files + + +@pytest.fixture +def cpacs_schema(): + xsd_file = os.path.join(rel_location(), "../../schema/cpacs_schema.xsd") + return xsd_file + + +def test_exampleFiles(cpacs_examples, cpacs_schema): + + tixi_h = tixi3wrapper.Tixi3() + + for xml in cpacs_examples: + tixi_h.open(xml) + if not tixi_h.schemaValidateFromFile(cpacs_schema): + validationResult = True + tixi_h.close() + + assert validationResult diff --git a/scripts/tests/test_schema.py b/scripts/tests/test_schema.py new file mode 100644 index 0000000..2cfe515 --- /dev/null +++ b/scripts/tests/test_schema.py @@ -0,0 +1,152 @@ +import logging +import os +import sys + +import pytest +from lxml.etree import XMLParser, indent, parse, register_namespace, tostring + +log = logging.getLogger(__name__) +log.addHandler(logging.StreamHandler(sys.stdout)) + + +def get_elem_type(elem): + try: + return elem.tag.split("}")[-1] + except Exception as e: + log.debug(e) + return None + + +@pytest.fixture +def rel_location(): + __location__ = os.path.realpath( + os.path.join(os.getcwd(), os.path.dirname(__file__)) + ) + return __location__ + + +@pytest.fixture +def cpacs_schema_file(rel_location): + return os.path.join(rel_location, "../../schema/cpacs_schema.xsd") + + +@pytest.fixture +def get_root_tree(cpacs_schema_file): + """ + Returns all elements of the schema + """ + parser = XMLParser(strip_cdata=False) + try: + tree = parse(cpacs_schema_file, parser=parser) + root = tree.getroot() + return root + except: + pytest.fail( + 'Failed loading "%s"! Maybe it is not well formed schema file...' + % cpacs_schema_file + ) + + +def test_alphabetic_sorting(get_root_tree): + """ + The list of types should be ordered alphabetically. The only exception is that the + first tag is always the root element "cpacs" followed by "cpacsType". + """ + root = get_root_tree + elements = [el.get("name") for el in root if el.get("name")] + elements_sorted = elements.copy() + elements_sorted.sort(key=lambda el: el.lower()) + elements_sorted = ["cpacs", "cpacsType"] + [ + el for el in elements_sorted if el != "cpacs" and el != "cpacsType" + ] + assert elements == elements_sorted + + +def test_lowerCase_typeNames(get_root_tree): + """ + Types names must begin with lower case letter. The following list parses for the first + letter of each element and returns True if it starts with lower case. + """ + root = get_root_tree + + lower_case_letters = [el.get("name")[0].islower() for el in root if el.get("name")] + assert all(lower_case_letters) + + +def test_typeNames_endingWithType(get_root_tree): + """ + Types must end with "None" + """ + root = get_root_tree + + ends_with_type = [el.get("name")[-4:] == "Type" for el in root if el.get("name")] + assert True + + +def test_attribute_arrangement(get_root_tree): + """ + Attributes must occur in the following sequence: + elements: name, minOccurs, maxOccurs, default, type + attributes: name, default, use, fixed + choice: minOccurs, maxOccurs + """ + root = get_root_tree + + attributes_order = { + key: i + for i, key in enumerate( + ["name", "minOccurs", "maxOccurs", "default", "use", "fixed", "type"] + ) + } + + for elem in root: + children = [ + child + for child in list(elem.iter()) + if get_elem_type(child) in {"element", "choice", "attribute"} + ] + for child in children: + attributes = child.keys() + attributes_sorted = sorted(attributes, key=lambda d: attributes_order[d]) + assert attributes == attributes_sorted + + +def test_default_attributes(get_root_tree): + """ + Attributes with default values should not be specified in the schema, for example: + minOccurs="1", maxOccurs="1" + """ + root = get_root_tree + + for elem in root: + children = [ + child + for child in list(elem.iter()) + if get_elem_type(child) in {"element", "choice", "attribute"} + ] + for child in children: + attributes = child.keys() + if "minOccurs" in child.keys(): + if child.attrib["minOccurs"] == "1": + assert False + if "maxOccurs" in child.keys(): + if child.attrib["maxOccurs"] == "1": + assert False + + +def test_unused_types(get_root_tree): + """ + There must not be unused types in the schema + """ + root = get_root_tree + + types_exist = [el for el in root if el.get("name") != "cpacs" and el.get("name")] + types_used = set( + [el.attrib["type"] for el in list(root.iter()) if "type" in el.keys()] + + [el.attrib["base"] for el in list(root.iter()) if "base" in el.keys()] + ) + types_unused = [ + t.attrib["name"] for t in types_exist if not t.attrib["name"] in types_used + ] + + assert len(types_unused) == 0 diff --git a/tests/test_exampleValidation.py b/tests/test_exampleValidation.py deleted file mode 100644 index 7ed9bb7..0000000 --- a/tests/test_exampleValidation.py +++ /dev/null @@ -1,24 +0,0 @@ -import unittest -import os -from tixi3 import tixi3wrapper - -class schemaCheck(unittest.TestCase): - - def test_exampleFiles(self): - - xml_dir = "../examples/" - xml_files = [os.path.join(xml_dir,f) for f in os.listdir(xml_dir) - if f != "toolspecific.xml" and f != "seat.stp"] - xsd = "../schema/cpacs_schema.xsd" - - for xml in xml_files: - print("Opening %s ..."%xml) - tixi_h.open(xml) - if not tixi_h.schemaValidateFromFile(xsd): - validationResult = True - self.assertTrue(validationResult) - tixi_h.close() - -if __name__ == '__main__': - tixi_h = tixi3wrapper.Tixi3() - unittest.main() From 28d3a3ed70a817fc903cc08029ce5bcb6ac52f67 Mon Sep 17 00:00:00 2001 From: luz paz Date: Fri, 9 Sep 2022 08:40:53 -0400 Subject: [PATCH 030/123] Fix typos Found via `codespell -q 3 -S *.svg -L globaly,te,warmup,wont` --- converter/convert.py | 2 +- development/developmentGuidelines.md | 10 +- development/developmentProcess.md | 2 +- development/project_developments.md | 2 +- development/tools.md | 2 +- examples/nacelles.xml | 2 +- schema/cpacs_schema.xsd | 256 +++++++++++++-------------- schema/toolspecific_template.xsd | 2 +- 8 files changed, 139 insertions(+), 139 deletions(-) diff --git a/converter/convert.py b/converter/convert.py index 7aaa072..59958f1 100644 --- a/converter/convert.py +++ b/converter/convert.py @@ -226,6 +226,6 @@ def getTypeList(root): for item in toomuch: print item else: - print "No unsused types could be identified" + print "No unused types could be identified" diff --git a/development/developmentGuidelines.md b/development/developmentGuidelines.md index 0ff63fa..471c29f 100644 --- a/development/developmentGuidelines.md +++ b/development/developmentGuidelines.md @@ -37,7 +37,7 @@ Furthermore, we should avoid using mathematical symbols or abbreviations as thei ## Units and coordinate systems - **§6: Always use SI and accepted derived units.*** -- **§7: Use the CPACS coordinate system for describing data (do not introduce new coordinate systems if not absolutely neccessary).** +- **§7: Use the CPACS coordinate system for describing data (do not introduce new coordinate systems if not absolutely necessary).** ## Development Guidelines by Example @@ -45,7 +45,7 @@ Furthermore, we should avoid using mathematical symbols or abbreviations as thei The figure below shows an example of a typical analysis node. A complete analysis case is summarized with `case`. There is no need for a plural parent element `..Cases` if there exists no alternatives. In other words, if `myDiscipline` groups different analysis cases, a plural parent element should be applied (e.g., `flightDynamics`, `trimCases`, `controllabilityCases`, etc.). In addition to a `uID` attribute as well as the usual `name` (obligatory) and `description` (optinoal) elements, a `case` consists of two parts. -The first part should be labeld as `specification` and contains the input parameters for the corresponding analysis (since these may represent an output for other disciplines, the name `input` should be avoided at this point; also the term `definition` is a bit too imprecise). There are a few typical elements which should be reused for the specification if it makes sense. This includes an `environment` element of type `environmentType`, which provides an `atmosphericModel` and a corresponding `deltaTemperature`. A node named `configuration` of type `configurationType` provides a `uID` reference to predefined configurations as well as additional individual control devices that can be superposed to this configuration. This set of inputs might be further enriched by own parameters such as `uID` references to existing components or individual parameters based on the simple `baseTypes`. +The first part should be labelled as `specification` and contains the input parameters for the corresponding analysis (since these may represent an output for other disciplines, the name `input` should be avoided at this point; also the term `definition` is a bit too imprecise). There are a few typical elements which should be reused for the specification if it makes sense. This includes an `environment` element of type `environmentType`, which provides an `atmosphericModel` and a corresponding `deltaTemperature`. A node named `configuration` of type `configurationType` provides a `uID` reference to predefined configurations as well as additional individual control devices that can be superposed to this configuration. This set of inputs might be further enriched by own parameters such as `uID` references to existing components or individual parameters based on the simple `baseTypes`. The second part contains the actual analysis data and its name should distinguish between `Data` (e.g., `aeroData`, `loadData`) and `Map` (e.g., `aeroPerformanceMap`, `enginePerformanceMap`). @@ -55,9 +55,9 @@ The second part contains the actual analysis data and its name should distinguis The `name` and `description` elements as well as the `uID` attribute are available for referencing and describing new CPACS nodes. The basic meaning of these elements is as follows: -- **name**: A specification of a mandatory name element should be used for sequences of elements (e.g., if max occurence is unbounded [1..\*]). Typical examples are `wings/wing`, `aeroPerformance/aeroMap` or `missions/mission`. Tools should be able to list these nodes, especially for visualization and reporting purposes. Here, the `name` element serves as a **concise and human-readable** indicator of the actual meaning of the corresponding element in the list (e.g., which `wing`, which `aeroMap`, which `mission`). This is usually a single word or a small number of words. +- **name**: A specification of a mandatory name element should be used for sequences of elements (e.g., if max occurrence is unbounded [1..\*]). Typical examples are `wings/wing`, `aeroPerformance/aeroMap` or `missions/mission`. Tools should be able to list these nodes, especially for visualization and reporting purposes. Here, the `name` element serves as a **concise and human-readable** indicator of the actual meaning of the corresponding element in the list (e.g., which `wing`, which `aeroMap`, which `mission`). This is usually a single word or a small number of words. -- **description**: This element should be used as optional occurence to allow users to add **comprehensive and human-readable** explanations. This is usually at least one explanatory sentence. +- **description**: This element should be used as optional occurrence to allow users to add **comprehensive and human-readable** explanations. This is usually at least one explanatory sentence. - Example 1: The `loadCases` are an indefinite sequence of elements and should therefore contain a `name` and `description` element. A tool might parse and generate a human-readable list from this: @@ -78,7 +78,7 @@ CPACS is a hierarchical data model. There are two approaches to setting up this | (1) XML hierarchy | (2) Hierarchy via `parentUID` | | ---------- | ---------- | | | | -|
  • (+) exlicit and clear data structure
  • (+) user-friendly, intuitive
  • (-) difficult to realize varying hierarchies, e.g. via choice elements
|
  • (+) flexibility for the user
  • (-) high risk of incorrect use, since there must always be a top-level main element in a hierarchy. Consequently, the user must specify exactly one element without parentUID, but all others with parentUID. This condition cannot be checked via XSD.
| +|
  • (+) explicit and clear data structure
  • (+) user-friendly, intuitive
  • (-) difficult to realize varying hierarchies, e.g. via choice elements
|
  • (+) flexibility for the user
  • (-) high risk of incorrect use, since there must always be a top-level main element in a hierarchy. Consequently, the user must specify exactly one element without parentUID, but all others with parentUID. This condition cannot be checked via XSD.
| | **prefer if**: the hierarchy is clear in advance and should not be changed by the user | **prefer if**: the hierarchy cannot be defined in advance and the flexibility should be left to the user | #### Combination of `parentUID` and `transformation` diff --git a/development/developmentProcess.md b/development/developmentProcess.md index 83ee511..fef8e13 100644 --- a/development/developmentProcess.md +++ b/development/developmentProcess.md @@ -28,7 +28,7 @@ In general the inclusion of new items should work more or less in this order: 6. Issue closed and feature marked for target version of CPACS -Incoming issues from outside the development team should be checked before beeing accepted. +Incoming issues from outside the development team should be checked before being accepted. The following questions should be answered: - What is the driver for the requested change? diff --git a/development/project_developments.md b/development/project_developments.md index c9576de..817b69f 100644 --- a/development/project_developments.md +++ b/development/project_developments.md @@ -16,4 +16,4 @@ When CPACS is used in research projects you might find that you need to store ad ## Unsuitable Data Structure -If you discover that a data structure is not suitable for your task/project you can take the same approach as for missing data, but when finding a new structure try to reduce the required changes to a minimum. If this is not possible or this would not lead to a feasible result, you might aswell redesign the concerning CPACS nodes. In such a case the integration process to the main development branch is much more difficult sinca all parties which use the existing nodes should be allowed to make their case. This will trigger a discussion which need to be resolved within the CPACS community. +If you discover that a data structure is not suitable for your task/project you can take the same approach as for missing data, but when finding a new structure try to reduce the required changes to a minimum. If this is not possible or this would not lead to a feasible result, you might as well redesign the concerning CPACS nodes. In such a case the integration process to the main development branch is much more difficult sinca all parties which use the existing nodes should be allowed to make their case. This will trigger a discussion which need to be resolved within the CPACS community. diff --git a/development/tools.md b/development/tools.md index 3bae0ca..ba85fed 100644 --- a/development/tools.md +++ b/development/tools.md @@ -19,7 +19,7 @@ The (public) version management is via GitHub. All handling of XML and hence XSD files is taken care of in "Eclipse" and the "Web Tools Platform". This has proven to be the most reliable and free method to edit XML files. As the CSD file tends to be lengthy and formatting operations are cumbersome one should restrict to one XML tool. Different formatting algorithms will result in different file layouts and make diff operations horrible. ## Scripting -Several smaller tools have been developed to aid in the development of CPACS. Mostly, these scripts aid in cleaning up the file after changes have been commited. On the on hand a reasonable Python distribution <3.0 is necessary to run the converter script in the same folder on the repository. On the other hand, namespace corrections are taken care of by xslt transformations. Saxon is the xslt transformator of choice. +Several smaller tools have been developed to aid in the development of CPACS. Mostly, these scripts aid in cleaning up the file after changes have been committed. On the on hand a reasonable Python distribution <3.0 is necessary to run the converter script in the same folder on the repository. On the other hand, namespace corrections are taken care of by xslt transformations. Saxon is the xslt transformator of choice. ## Libraries CPACS shall be released with two software bindings: Python and Java diff --git a/examples/nacelles.xml b/examples/nacelles.xml index ac1b548..922a82d 100644 --- a/examples/nacelles.xml +++ b/examples/nacelles.xml @@ -277,7 +277,7 @@ Mid guide curve part 2 - This curve defines the secod part of the mid guide curve + This curve defines the second part of the mid guide curve clean_guideCurve guideCurvesEngine_fanCowl_inboardSection 0.5 diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 05f27ad..bdc7b44 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -263,7 +263,7 @@ marko.alder@dlr.de 5. Splitting up a CPACS dataset into several files - To provide a better overview, it is possible to split up a CPACS dataset into several files. This can be done by inserting an <externaldata> node at an arbitrary position into the datatset. This node contains a <path> node with a URI to the external file(s), followed by one or more <filename> nodes, containing each a name of a file to be included at that position. Below, an example of such external data is given: + To provide a better overview, it is possible to split up a CPACS dataset into several files. This can be done by inserting an <externaldata> node at an arbitrary position into the dataset. This node contains a <path> node with a URI to the external file(s), followed by one or more <filename> nodes, containing each a name of a file to be included at that position. Below, an example of such external data is given: @@ -302,8 +302,8 @@ marko.alder@dlr.de For path URI addresses, the trailing file separator "/" may be omitted. Below, some examples for path URIs are given: Absolute local path: file:///tmp or file:///c:/windows/tmp - Relative local direcotry: file://relativeDirectory or file://../anotherRelativeDirectory - Remote net ressource: http://www.someurl.de + Relative local directory: file://relativeDirectory or file://../anotherRelativeDirectory + Remote net resource: http://www.someurl.de With the help of the TiXI XML Interface TiXIhttps://github.com/DLR-SC/tixi, a CPACS dataset that is split into multiple files can be reassembled into a single tree structure for subsequent validation against the CPACS schema. The following commands are used to link external data sets: @@ -376,7 +376,7 @@ marko.alder@dlr.de To address both requirements, the following usage of the name and description elements in combination with the uID attribute is proposed: - name: A specification of the name element is usually mandatory for sequences of elements (e.g., if max occurence is unbounded [1..*]). + name: A specification of the name element is usually mandatory for sequences of elements (e.g., if max occurrence is unbounded [1..*]). Typical examples are wings/wing, aeroPerformance/aeroMap or missions/mission. Such elements must be able to be listed by tools, especially for visualization and reporting purposes, where the name element serves as a concise and human-readable indicator of the actual meaning of the corresponding element in the list (e.g., which wing, which aeroMap, which mission). This is usually a single word or a small number of words. @@ -785,7 +785,7 @@ marko.alder@dlr.de CPACS 2.2 is the third public release of CPACS. Major changes include Additions and changes to the loadCaseType. Included additional genericGeometricEntities for bellyfairings etc. - The mass breakdown is extended for a more detailed fuselage strucuture. + The mass breakdown is extended for a more detailed fuselage structure. Steadiness information on the geometry is excluded from CPACS 2.2. CPACS 2.3 will include optional guidelines for smoother surfaces. Uncertainties can now be specified (CPACS 2.2alpha doubleBaseType, CPACS 2.2 also in vector notations) all issues can be found online @@ -801,7 +801,7 @@ marko.alder@dlr.de CPACS 2.1 is the second public release of CPACS. Most of the implementation was already included in CPACS 2.01 included fuselage structure and cabin definition all data is defined according to the CPACS coordinate system. That is the initial coordinate system in which geometries are defined. Therefore, it can but must not meet your body axis. - the mass breakdown is extended for a more detailed wing strucuture + the mass breakdown is extended for a more detailed wing structure profiles can now be included based on a two-dimensional class shape transformation. The old parametrization will still be available. TIGL will learn CST asap. all issues can be found online http://code.google.com/p/cpacs/issues/list @@ -868,7 +868,7 @@ marko.alder@dlr.de uID for transformation extended stringUIDBaseType with optional attribute isLink all elements xxxUID are now of Type stringUIDBaseType - added new material definition from FA to distinguish between diffent material types + added new material definition from FA to distinguish between different material types changed fuselage structure definition due to input from BK changed rib definition in cells in component segments cleaned up material definition in component segments @@ -932,9 +932,9 @@ marko.alder@dlr.de xEnd: end of the wingbox area zStart: upper limit of the wingbox area - Damping Derivaties are added in the form of dcfxdp, dcfxdq, dcfxdr, dcfydp, etc. The data will be stored in the model/global/aeroperformaneMap under a new dampingDerivatives element. Unit is deg/sec. + Damping Derivatives are added in the form of dcfxdp, dcfxdq, dcfxdr, dcfydp, etc. The data will be stored in the model/global/aeroperformaneMap under a new dampingDerivatives element. Unit is deg/sec. StructureProfiles are defined in the profiles element. They are referenced in structuralElements for several entities such as stringer, frame etc. Currently they are referenced via 'structuralProfileUID' for name consistency it should be either only 'structure' or only 'structural' - Control Commmands. The chain between pilot inputs and controlsurface deflections is now closed. + Control Commands. The chain between pilot inputs and controlsurface deflections is now closed. Parameters located at cpacs\vehicles\aircraft\model\systems cockpitControl: links from pilotInput to commandCase @@ -1161,7 +1161,7 @@ marko.alder@dlr.de Base type for string vector nodes The vector base type can include optional uncertainty information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute that + additional attributes. First, it is described by an attribute that describes the type of uncertainty function called functionName. The functionName attribute includes the tag name of the distribution function which is listened in the table shown below. @@ -1401,7 +1401,7 @@ marko.alder@dlr.de attributes) The double base type can include optional uncertainty information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute + additional attributes. First, it is described by an attribute that describes the type of uncertainty function called functionName. The functionName attribute includes the tag name of the distribution function which is listened in the table @@ -1675,14 +1675,14 @@ marko.alder@dlr.de If the parameter 'fromSectionUID' is set, the positioning describes the translation between the 'from' towards the 'to' section. If the parameter 'fromSectionUID' is left - blank the orgin of the positioning vector is the origin of the - parent coordinate syste. - The orgin of the section coordinate system is the + blank the origin of the positioning vector is the origin of the + parent coordinate system. + The origin of the section coordinate system is the position which is described by the positioning vector PLUS the translation which is described in the section. - Please note: If the orgin of the positioning vector is + Please note: If the origin of the positioning vector is defined by using another section, i.e. fromSection is defined, - the orgin of this vector equals the end of the positioning + the origin of this vector equals the end of the positioning vector of the previous section. This means that the section translation of the from-section has no influence on the positioning of the to-section. Therefore the total translation, @@ -1743,7 +1743,7 @@ marko.alder@dlr.de Reference to starting section of the positioning vector. If missing, the positioning is made from the - orgin of the wing coordinate system. + origin of the wing coordinate system.
@@ -1794,7 +1794,7 @@ marko.alder@dlr.de Rotation data default: 0,0,0. The rotation angles are the three Euler angles to describe the orientation of - the coordinate system. The order is allways xyz in CPACS. + the coordinate system. The order is always xyz in CPACS. Therefore the first rotation is around the x-axis, the second rotation is around the rotated y-axis (y') and the third rotation is around the two times rotated z-axis (z''). @@ -2116,7 +2116,7 @@ marko.alder@dlr.de PointAbsRel type, containing an xyz data triplet. Each of the components is optional. The refType attribute defines, - whether coordinates are absolute in the global ccordinate system + whether coordinates are absolute in the global coordinate system [absGlobal], absolute in the parent element's local coordinate system [absLocal]. If the object does not have a parent, only [absGlobal] is permitted. @@ -2362,7 +2362,7 @@ marko.alder@dlr.de Which parameters are allowed depends on the context. - For exampple in a wing profile, values between -1 and 1 are valid. + For example in a wing profile, values between -1 and 1 are valid. @@ -2914,7 +2914,7 @@ marko.alder@dlr.de aeroPerformanceMapRCType - AeroPerformanceMapRC type, containing a perfomance map + AeroPerformanceMapRC type, containing a performance map with aerodynamic data. Array order is: angleOfAttack min->max then angleOfSideslip then altitude then machNumber @@ -3011,7 +3011,7 @@ marko.alder@dlr.de aeroPerformanceType - aeroPerformance type, containing perfomance maps with + aeroPerformance type, containing performance maps with aerodynamic data of an airfoil. @@ -3197,7 +3197,7 @@ marko.alder@dlr.de designRange equals the full payload max range, i.e. point B in payload range - diagramm + diagram @@ -3285,7 +3285,7 @@ marko.alder@dlr.de Note: Since there is no distinction between plural and singular in English, aircraft - refers to plural form, while a single aircraft itself is referened as model. + refers to plural form, while a single aircraft itself is referenced as model. @@ -3309,7 +3309,7 @@ marko.alder@dlr.de airfoilAeroPerformanceType - airfoilAeroPerformance type, containing perfomance maps + airfoilAeroPerformance type, containing performance maps with aerodynamic data of an airfoil. @@ -3628,14 +3628,14 @@ marko.alder@dlr.de
- Offset from seat rail 2 refernce position in + Offset from seat rail 2 reference position in local y direction (in plane of panel, absolute value) - Offset from seat rail 1 refernce position in + Offset from seat rail 1 reference position in local z direction (in plane of panel, absolute value)) @@ -4215,8 +4215,8 @@ marko.alder@dlr.de SparCap type, containing the cross section area of the spar cap and the material properties. - Pleas find below a picture where all spar cross - section parameters as well as the orientation refereneces for + Please find below a picture where all spar cross + section parameters as well as the orientation references for the material definition can be found: @@ -4249,7 +4249,7 @@ marko.alder@dlr.de CargoCrossBeamStrutsAssembly type, containing cargo - crossBeam strut assemblys + crossBeam strut assemblies @@ -4272,7 +4272,7 @@ marko.alder@dlr.de CargoCrossBeamsAssembly type, containing cargo - crossBeam assemblys + crossBeam assemblies @@ -4295,7 +4295,7 @@ marko.alder@dlr.de CargoDoorsAssembly type, containing cargo door - assemblys + assemblies @@ -4415,7 +4415,7 @@ marko.alder@dlr.de CenterFuselageAssembly type, containing wing box - assemblys + assemblies @@ -4424,7 +4424,7 @@ marko.alder@dlr.de - Choise between diffent center fuselage + Choice between different center fuselage modelling options @@ -4459,14 +4459,14 @@ marko.alder@dlr.de - Detailled low wing center fuselage definition + Detailed low wing center fuselage definition (draft definition) - Detailled high wing center fuselage definition + Detailed high wing center fuselage definition (draft definition) @@ -5109,7 +5109,7 @@ marko.alder@dlr.de In principal a componentSegment can combine any number of segments. But if in one section two elements are defined, the componentSegment has to start/end there as no well-defined - relative coordinats can be defined if steps in the wing occure. + relative coordinates can be defined if steps in the wing occur. An example for wing componentSegments can be found in the picture below: @@ -5131,7 +5131,7 @@ marko.alder@dlr.de mid chord lines of all the segments are used. The beginning of this line at from-element equals eta = 0, while the end of this line at the to-element equals eta = 1. All wing positions that lie on the same - element (segment border) have the same eta coordinate. The points inbetween + element (segment border) have the same eta coordinate. The points in between two elements are defined by the iso xsi lines of the segment eta xsi space. An example for the definition of the relative axes can be found in the picture below: @@ -5247,7 +5247,7 @@ marko.alder@dlr.de compositeLayerType - CompositeLayer type, conatining data of a composite + CompositeLayer type, containing data of a composite layer @@ -5297,7 +5297,7 @@ marko.alder@dlr.de compositeType - Composite type, conatining data of a composite + Composite type, containing data of a composite @@ -5829,7 +5829,7 @@ marko.alder@dlr.de Single controlElement linking the inputs of a controlDistributor via a gain - table to a contol device by using its uID. Controls can be ControlSurfaces and in the + table to a control device by using its uID. Controls can be ControlSurfaces and in the future thrust. @@ -6837,7 +6837,7 @@ marko.alder@dlr.de - Maybe applied to specifiy inner and outer border of + Maybe applied to specify inner and outer border of the cutout either via eta or rib references @@ -7002,7 +7002,7 @@ marko.alder@dlr.de - Positve rotation around the hinge line, + Positive rotation around the hinge line, heading from the inner to the outer border. Defaults to zero. @@ -7285,7 +7285,7 @@ marko.alder@dlr.de Optional. Definition of the parents structure cut out due to a control surface. The cut out is split into three parts: cut out of the upper and lower skin and the definition of an - profile conecting the cut out of the upper and lower skin. + profile connecting the cut out of the upper and lower skin. An example for wing cut outs can be found in the picture below: @@ -8125,7 +8125,7 @@ marko.alder@dlr.de - Initial rotational velocities aroud axes + Initial rotational velocities around axes @@ -8321,8 +8321,8 @@ marko.alder@dlr.de Degree of freedom that is blocked by the cruise roller if the flap is in retracted position. Positive = - cruise roller blockes bending in the direction of the upper skin - of the parent. Negative = cruise roller blockes bending in the + cruise roller blocks bending in the direction of the upper skin + of the parent. Negative = cruise roller blocks bending in the direction of the lower skin of the parent. @@ -8375,7 +8375,7 @@ marko.alder@dlr.de - A 2D impelmentation for Class shape + A 2D implementation for Class shape transformations. For more details look at AIAA Journal of Aircraft Vol.45 No.1 2008 @@ -8488,7 +8488,7 @@ marko.alder@dlr.de cutLoadIntegrationPoints are defined in a vector notation, due to the high amounts of data. Usually they well be - defined inbetween the ribs. Each point must have an id. + defined in between the ribs. Each point must have an id. Optionally it is possible to rotate the orientation within a cutloadIntegrationPoint to obtain meaningful results. The orientation is optional and relative to the CPACS coordinate @@ -8620,7 +8620,7 @@ marko.alder@dlr.de Relative spanwise position of the cut out profile. The eta coordinate refers to the control surface and - desribes the cut out profile at the leading edge of the control + describes the cut out profile at the leading edge of the control surface.
@@ -8954,7 +8954,7 @@ marko.alder@dlr.de Design masses - The design mases are requerments wich can com form the + The design mases are requerments which can com form the TLARs @@ -9796,7 +9796,7 @@ marko.alder@dlr.de
- position of the engine mount refering to the + position of the engine mount referring to the engine coordinate system. @@ -9891,7 +9891,7 @@ marko.alder@dlr.de enginePerformanceMapType - EnginePerformanceMap type, containing a perfomance map + EnginePerformanceMap type, containing a performance map with engine data @@ -10163,7 +10163,7 @@ marko.alder@dlr.de
- UID of the parent (normaly wing or fuselage). + UID of the parent (normally wing or fuselage). @@ -10909,7 +10909,7 @@ marko.alder@dlr.de
- + @@ -12222,7 +12222,7 @@ marko.alder@dlr.de fuselageAeroPerformanceType - fuselageAeroPerformance type, containing perfomance + fuselageAeroPerformance type, containing performance maps with aerodynamic data of a fuselage. @@ -12954,7 +12954,7 @@ The fuel tank volume type should also be used for the wing fuel tank stringerFramePosition type, containing individual - stringer / frame postion definition (CPACS V2.1+) + stringer / frame position definition (CPACS V2.1+) @@ -12991,7 +12991,7 @@ The fuel tank volume type should also be used for the wing fuel tank Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural + profiles: 0= no interpolation 1= interpolation of structural profile @@ -13042,7 +13042,7 @@ The fuel tank volume type should also be used for the wing fuel tank generalStructuralMembersAssembly type, containing - structural member assemblys + structural member assemblies @@ -13345,7 +13345,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Mass intertia. The reference coordinate system (absGlobal or absLocal) is identical to location. + Mass inertia. The reference coordinate system (absGlobal or absLocal) is identical to location. @@ -13386,7 +13386,7 @@ The fuel tank volume type should also be used for the wing fuel tank - The generic base types must be one of the following cone|sphere|cube|cylinder. The origin of the shapes is at the center of volume for cube, sphere and cylinder. Since the cone is constructued from a cylindric shape, its origin is at the same location as the origin of the basic cylinder, although not any longer the center of volume due to scaling of one side. While cube and sphere are symmetrical in all three axis, cylinder and cone are standing upright in the direction of cpacs z-axis. The tip of the cone is located in direction of the positive z-axis. The figure below illustrates the default position and orientation of the different shapes. Note that the cube, cylinder and sphere were moved along the x-axis for demonstration by 2, 4 and 6 meters respectively. + The generic base types must be one of the following cone|sphere|cube|cylinder. The origin of the shapes is at the center of volume for cube, sphere and cylinder. Since the cone is constructed from a cylindric shape, its origin is at the same location as the origin of the basic cylinder, although not any longer the center of volume due to scaling of one side. While cube and sphere are symmetrical in all three axis, cylinder and cone are standing upright in the direction of cpacs z-axis. The tip of the cone is located in direction of the positive z-axis. The figure below illustrates the default position and orientation of the different shapes. Note that the cube, cylinder and sphere were moved along the x-axis for demonstration by 2, 4 and 6 meters respectively. For spheres the default diameter is 1m. Cubes have a length of 1m in all three dimensions. Cylinders have a length of 1m and a diameter of 1m for the circular cross section. The cone is a cylinder with the top face scaled down to zero. @@ -13534,7 +13534,7 @@ The fuel tank volume type should also be used for the wing fuel tankairfoilAeroPerformanceType - airfoilAeroPerformance type, containing perfomance maps + airfoilAeroPerformance type, containing performance maps with aerodynamic data of an airfoil. @@ -13579,7 +13579,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -13992,14 +13992,14 @@ The fuel tank volume type should also be used for the wing fuel tank UID of the fuselage frame at the forward HTP - attchment + attachment UID of the fuselage frame at the backward HTP - attchment + attachment @@ -14020,7 +14020,7 @@ The fuel tank volume type should also be used for the wing fuel tank angle of the reinforcements at backward HTP - attchment + attachment (in degrees) @@ -14046,7 +14046,7 @@ The fuel tank volume type should also be used for the wing fuel tank Defines allowed z-position for rear HTP attachment - relativ to total frame height ==> check and potentially warning + relative to total frame height ==> check and potentially warning message ==> check and potentially warning message @@ -14121,7 +14121,7 @@ The fuel tank volume type should also be used for the wing fuel tank UID of structural element for upper HTP cutout reinforcement beams, also used for lower cutout reinforcement, - when not explicitely defined + when not explicitly defined @@ -14216,7 +14216,7 @@ The fuel tank volume type should also be used for the wing fuel tank Material settings of the strut (if strut is - moddeled as a simple strut). + modeled as a simple strut). @@ -14685,7 +14685,7 @@ The fuel tank volume type should also be used for the wing fuel tank Leading and trailing edge are defined by the outer @@ -15164,7 +15164,7 @@ The fuel tank volume type should also be used for the wing fuel tank Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural + profiles: 0= no interpolation 1= interpolation of structural profile @@ -15215,7 +15215,7 @@ The fuel tank volume type should also be used for the wing fuel tank longFloorBeamsAssembly type, containing long. floor - beam assemblys + beam assemblies @@ -15301,7 +15301,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Auxillary power unit masse description + Auxiliary power unit masse description @@ -16987,7 +16987,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Millitary systems mass description + Military systems mass description @@ -18318,7 +18318,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Mass intertia + Mass inertia massInertiaType @@ -18551,7 +18551,7 @@ The fuel tank volume type should also be used for the wing fuel tank Scaling factor of the composite thickness. Absolute thicknesses are defined in each composite material - seperatly + separately @@ -20048,7 +20048,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths avaible within the segmentBlock). + Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths available within the segmentBlock). @@ -20530,7 +20530,7 @@ The fuel tank volume type should also be used for the wing fuel tank Environmental conditions. If the environmentalCondition is not provided at segment level, the conditions of the - previous segment are inherited (this inhertance can continue until the startCondition, where the initial + previous segment are inherited (this inheritance can continue until the startCondition, where the initial environmentalConditions are provided). @@ -21298,7 +21298,7 @@ The fuel tank volume type should also be used for the wing fuel tank PaxCrossBeamStrutsAssembly type, containing pax - crossBeam strut assemblys + crossBeam strut assemblies @@ -21321,7 +21321,7 @@ The fuel tank volume type should also be used for the wing fuel tank PaxCrossBeamsAssembly type, containing pax crossBeam - assemblys + assemblies @@ -21343,7 +21343,7 @@ The fuel tank volume type should also be used for the wing fuel tankpaxDoorsAssemblyType - PaxDoorsAssembly type, containing pax door assemblys + PaxDoorsAssembly type, containing pax door assemblies @@ -21781,7 +21781,7 @@ The fuel tank volume type should also be used for the wing fuel tank - UID of bulkhead element desription + UID of bulkhead element description @@ -21800,7 +21800,7 @@ The fuel tank volume type should also be used for the wing fuel tank PressureBulkheadAssembly type, containing pressure - bulkhead assemblys + bulkhead assemblies @@ -21929,7 +21929,7 @@ The fuel tank volume type should also be used for the wing fuel tankpressureBulkheadsType - PressureBulkheads type, conteining pressure bulkheads + PressureBulkheads type, containing pressure bulkheads @@ -22137,7 +22137,7 @@ The fuel tank volume type should also be used for the wing fuel tank Example 2: For a fuselage, the coordinates are typically given in y and z with x set to "0". Starting point of - the profile sould be the lowest point (typically in the symmetry + the profile should be the lowest point (typically in the symmetry plane), then upwards on the positive y-side up to the highest point (again, typically in the symmetry plane). Depending on, whether the fuselage shall be specified with symmetry condition @@ -22210,7 +22210,7 @@ The fuel tank volume type should also be used for the wing fuel tank -z_global Example 2: For a fuselage, the coordinates are also given in x and z with x as the normalized fuselage height. - Starting point of the profile sould be the lowest point + Starting point of the profile should be the lowest point (typically in the symmetry plane), then upwards on the positive x-side up to the highest point (again, typically in the symmetry plane). Depending on, whether the fuselage shall be specified with symmetry condition @@ -22421,7 +22421,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Blocked DOFs. Referes to the rotated + Blocked DOFs. Refers to the rotated coordinate system that is defined in 'orientation'. @@ -22566,7 +22566,7 @@ The fuel tank volume type should also be used for the wing fuel tank Ribs can be rotated in the side view. The defaults to 90°, which equals an orientation along the pylons - z-axis. The angle is meassured around the positive y-direction + z-axis. The angle is measured around the positive y-direction of the pylon. @@ -23012,7 +23012,7 @@ The fuel tank volume type should also be used for the wing fuel tank RivetJointAreasAssembly type, containing rivet joint - area assemblys + area assemblies @@ -23886,7 +23886,7 @@ The fuel tank volume type should also be used for the wing fuel tank @@ -24389,7 +24389,7 @@ The fuel tank volume type should also be used for the wing fuel tank Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + generation. 0= C0 (allows sharp edges, default), 1= C1 (defines tangential continuity), 2= C2 (defines curvature continuity) 2=all @@ -24418,7 +24418,7 @@ The fuel tank volume type should also be used for the wing fuel tank Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + generation. 0= C0 (allows sharp edges, default), 1= C1 (defines tangential continuity), 2= C2 (defines curvature continuity) 2=all @@ -24705,7 +24705,7 @@ The fuel tank volume type should also be used for the wing fuel tank Please find below a picture where all spar cross - section parameters as well as the orientation refereneces for + section parameters as well as the orientation references for the material definition can be found: @@ -24799,11 +24799,11 @@ The fuel tank volume type should also be used for the wing fuel tank - Pleas note: orientation of a spar must be allways - outbound or allways inbound. A zigzag spar orientation where + Please note: orientation of a spar must be always + outbound or always inbound. A zigzag spar orientation where e.g. the spar starts at the root, goes to the tip and goes back to another point at the root is not allowed. - Pleas find below a picture for an example definition + Please find below a picture for an example definition of 3 spars in one wing, by using spar position points and spar segments: @@ -25035,7 +25035,7 @@ The fuel tank volume type should also be used for the wing fuel tank @@ -25183,7 +25183,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Description of individual stringer / frame postions + Description of individual stringer / frame positions @@ -25252,7 +25252,7 @@ The fuel tank volume type should also be used for the wing fuel tank Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural + profiles: 0= no interpolation 1= interpolation of structural profile @@ -25448,7 +25448,7 @@ The fuel tank volume type should also be used for the wing fuel tank This profile is defined by several points in the - x-y-space. Allways two points are combined to one sheet. The + x-y-space. Always two points are combined to one sheet. The properties of each sheet are defined in the 'sheetProperties' section by referencing on the sheetUID and the material properties. The orthotropy direction of composite materials equals @@ -25971,7 +25971,7 @@ The fuel tank volume type should also be used for the wing fuel tanktopologyEntryType - A topology entry is used to combine the dynamic aicraft + A topology entry is used to combine the dynamic aircraft models of several components, e.g. wing and fuselage. By default these will be stiff. If desired stiffness and rotation with respect to the CPACS coordinate system may be specified. @@ -26271,7 +26271,7 @@ The fuel tank volume type should also be used for the wing fuel tank @@ -26336,7 +26336,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Definiton of z-couplings. Those elements + Definition of z-couplings. Those elements couple two neighbouring flaps in z-direction. @@ -26793,7 +26793,7 @@ The fuel tank volume type should also be used for the wing fuel tankThe vehiclesType contains all vehicle-specific data. This includes the vehicle itself (i.e. aircraft - and rotorcraft). Furhtermore, components + and rotorcraft). Furthermore, components (e.g. engines, structuralElements, etc.) as well as physical properties of materials and fuels can be predefined for easy and consistent reuse via @@ -26845,7 +26845,7 @@ The fuel tank volume type should also be used for the wing fuel tank UID of the fuselage frame at this VTP - attchment + attachment
@@ -26980,8 +26980,8 @@ The fuel tank volume type should also be used for the wing fuel tank SparWeb type, containing the cross section area of the spar web and the material properties. - Pleas find below a picture where all spar cross - section parameters as well as the orientation refereneces for + Please find below a picture where all spar cross + section parameters as well as the orientation references for the material definition can be found: @@ -27258,7 +27258,7 @@ The fuel tank volume type should also be used for the wing fuel tank - z position of window elemment refernce point + z position of window elemment reference point @@ -27329,7 +27329,7 @@ The fuel tank volume type should also be used for the wing fuel tankwingAeroPerformanceType - wingAeroPerformance type, containing perfomance maps + wingAeroPerformance type, containing performance maps with aerodynamic data of a wing. @@ -27472,7 +27472,7 @@ The fuel tank volume type should also be used for the wing fuel tank wingComponentSegmentStructure type, containing the - whole structue (skins, ribs, spars...) of the wing. + whole structure (skins, ribs, spars...) of the wing. @@ -27507,7 +27507,7 @@ The fuel tank volume type should also be used for the wing fuel tankMathematically spoken a element is a coordinate system that is translated, rotated and scaled relative to the section coordinate system. This transformation parameters are defined - withing the transformation section. The wirfoil, which is linked + within the transformation section. The wirfoil, which is linked by using the parameter airfoilUID is directly 'copied' in the element coordinate system. If e.g. the airfoil is defined from 0 to 1 in x-direction and the total scaling of the elements x-axis @@ -27767,7 +27767,7 @@ The fuel tank volume type should also be used for the wing fuel tank Additionally attachment pins can be defined. At those @@ -28166,7 +28166,7 @@ The fuel tank volume type should also be used for the wing fuel tankMathematically spoken a section is a coordinate system that is translated, rotated and scaled relative to the wing coordinate system. This transformation parameters are defined - withing the transformation section. + within the transformation section. In addition to the translation, which is defined in the transformation part, the section can be translated by using the positionings vectors (wing->positiongs). Translation of @@ -28717,7 +28717,7 @@ The fuel tank volume type should also be used for the wing fuel tank - If the stringer should not be defined explicite, they + If the stringer should not be defined explicitly, they can be defined implizite by defining an equivalent material layer and using a composite as material. @@ -28804,7 +28804,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Pleas find below a picture for an example definition + Please find below a picture for an example definition of 3 spars in one wing, by using spar position points and spar segments: @@ -28837,14 +28837,14 @@ The fuel tank volume type should also be used for the wing fuel tankWithin the wingStringerType wing stringers are defined. The stringer are defined by referencing on the stringerStructureUID, where the shape and material settings of - one single stringer is defined. In addition the orientaion and + one single stringer is defined. In addition the orientation and the stringer pitch have to be defined: One stringer intersects the point at the given xsi and eta position. - Alternatively, an exlicit stringer definition can be + Alternatively, an explicit stringer definition can be applied if the stringers shall be tapered. @@ -28885,7 +28885,7 @@ The fuel tank volume type should also be used for the wing fuel tankIf the reference of the stringer angle shall be different from the default implementation then this parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to + trailingEdge and globalY. Furthermore, it is possible to provide the UID of a spar. @@ -28921,7 +28921,7 @@ The fuel tank volume type should also be used for the wing fuel tankIf the reference of the stringer angle shall be different from the default implementation then this parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to + trailingEdge and globalY. Furthermore, it is possible to provide the UID of a spar. @@ -28998,7 +28998,7 @@ The fuel tank volume type should also be used for the wing fuel tank Reference to the control surface that is - connected to this controll surface by the z-coupling.. + connected to this control surface by the z-coupling.. @@ -29365,7 +29365,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Definiton of one z-coupling. + Definition of one z-coupling. @@ -29893,7 +29893,7 @@ The fuel tank volume type should also be used for the wing fuel tank - By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionaly extruded in negative direction as well. Default: false. + By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionally extruded in negative direction as well. Default: false. - The dependend parameters of the aeroPerformanceMap are altitude, + The dependent parameters of the aeroPerformanceMap are altitude, machNumber, angleOfSideslip and angleOfAttack. These elements are vectors of equal length, where values with identical indices belong together. The solution vectors ci and @@ -32406,7 +32406,7 @@ The fuel tank volume type should also be used for the wing fuel tank Type (numerical/unspecified): "numerical", for example, describes rounding errors to clearly - separate them from other effects currently labeld as "unspecified". + separate them from other effects currently labelled as "unspecified". The latter usually summarizes physical effects such as viscosity and should be further described via "description". The approach is currently being tested in practice in order to derive a robust definition of categories in the future. @@ -32455,7 +32455,7 @@ The fuel tank volume type should also be used for the wing fuel tank - Reference lengt + Reference length @@ -33345,7 +33345,7 @@ The fuel tank volume type should also be used for the wing fuel tank Definition of the main landing gear support beam, if a - support beam is used for the attachment. The defintion includes + support beam is used for the attachment. The definition includes cross section properties as well as the position of the support beam. diff --git a/schema/toolspecific_template.xsd b/schema/toolspecific_template.xsd index 7fe8404..0ba7611 100644 --- a/schema/toolspecific_template.xsd +++ b/schema/toolspecific_template.xsd @@ -71,7 +71,7 @@ attributes) The double base type can include optional uncertainty information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute + additional attributes. First, it is described by an attribute that describes the type of uncertainty function called functionName. The functionName attribute includes the tag name of the distribution function which is listened in the table From 1f9c9d3d03e4f5ba673e1aabb2afbbc0803272ca Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Tue, 4 Oct 2022 18:06:40 +0200 Subject: [PATCH 031/123] implement new versioning approach (#796) --- examples/basicWing.xml | 19 +++-- schema/cpacs_schema.xsd | 156 +++++++++++++++++----------------------- 2 files changed, 81 insertions(+), 94 deletions(-) diff --git a/examples/basicWing.xml b/examples/basicWing.xml index 17a2ccf..3b2a023 100644 --- a/examples/basicWing.xml +++ b/examples/basicWing.xml @@ -3,10 +3,21 @@ xsi:noNamespaceSchemaLocation="../schema/cpacs_schema.xsd">
Basic Wing Model - Marko Alder - 2019-12-04T10:30:00 - 1.0 - 3.4 + 1.1 + + + Marko Alder + 2022-10-04T14:13:00 + Updated existing data set to CPACS 3.4 + 3.4 + + + DLR-SL + 2019-12-04T10:30:00 + Create initial data set + 3.3 + +
diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 05f27ad..c100109 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -29,7 +29,16 @@ marko.alder@dlr.de xmlns:sd="http://schemas.xsddoc.codeplex.com/schemaDoc/2009/3" xmlns:xlink="http://www.w3.org/1999/xlink"> - + + + + + + + + + + @@ -54,7 +63,7 @@ marko.alder@dlr.de 1. Overview The Common Parametric Aircraft Configuration Scheme (CPACS) is an XML-based data format for describing aircraft configurations and their corresponding data. - This XML-Schema document (XSD) serves two purposes: (1) it defines the CPACS + This XMfL-Schema document (XSD) serves two purposes: (1) it defines the CPACS data structure used in the XML file (e.g., aircraft.xml) and (2) it provides the corresponding documentation (see picture below). An XML processor (e.g., TiXIhttps://github.com/DLR-SC/tixi or XML tools in Eclipse) parses the XSD and XML files and validates whether the data set defined by the user (or tool) conforms to the given structure defined by the schema. @@ -1001,66 +1010,86 @@ marko.alder@dlr.de - - - Creator of initial CPACS dataset - - - - - - Timestamp of initial CPACS dataset creation - - - - + Version of initial CPACS dataset - - - CPACS version that the dataset is valid to. The element is optional, since data sets - can be valid for several CPACS versions. However, we strongly recommend to assign data sets to a - specific CPACS version as far as possible, especially since some tools and libraries (e.g. TiGL) - require this specification. - - - - - - - - - + - + - updatesType + Version Informations - - Updates type, containing update data for the CPACS - dataset - - + + + + + + + + Version Information + + + + + + + + + + CPACS version of the dataset + + + + + + Description of CPACS dataset + + + + + + Timestamp of initial CPACS dataset creation + + + + + + Creator of initial CPACS dataset + + + + + + + + + + + + + + + + + + DLR-SL + 2022-11-30T11:56:46.259694 + Some examples how to parametrize fuel tanks + 3.4 + + + + + + + Aircraft + + + Main fuselage + + +
+ Section1 + + + + Section 1 Element 1 + fuselageCircleProfile + + + +
+
+ Section2 + + + + Section 2 Element 1 + fuselageCircleProfile + + + +
+
+ + + Section 2 positioning + 10 + 90 + 0 + sec2 + + + + + Segment 1 + sec1el1 + sec2el1 + + + + + + Cryogenic fuel tank + + 3 + 0.9 + 1 + + 1. + 0. + 0. + + 1. + mat1 + + + + +
+
+
+
+ + + + Circle + Profile build up from set of Points on Circle where may Dimensions are 1..-1 + + 0.0;0.0;0.0;0.0;0.0 + 0.0;1.0;0.0;-1.0;0.0 + 1.0;0.0;-1.0;0.0;1.0 + + + + + + + Material 1 + This is a dummy material + 1.234 + + 1.234 + + + +
+ \ No newline at end of file diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index c704742..2c0adf6 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -9185,6 +9185,50 @@ cpacs@dlr.de
+ + + + + + Global design parameters + + + + + + + + + + Radius of the cylinder + + + + + Length of the cylinder + + + + + Height of the dome + + + + + Tangent at the transition from cylinder to dome (wrt. fuselage coordinate system) + + + + + Curvature of the dome at the transition from cylinder to dome + + + + + + + + @@ -9223,8 +9267,8 @@ cpacs@dlr.de - - + + Name @@ -9236,8 +9280,11 @@ cpacs@dlr.de - - + + + + + @@ -14703,7 +14750,7 @@ cpacs@dlr.de - + The fuselage fuel tank geometry is defined by a link to a fuselage geometry compartment. The fuel tank volume type should also be used for the wing fuel tank @@ -16727,6 +16774,7 @@ The fuel tank volume type should also be used for the wing fuel tank + @@ -16778,6 +16826,33 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + List of fuselage fuel tanks integrated in compartments. + + + + + + + + + + + + + The integral fuel tank geometry is defined by a link to a fuselage geometry compartment. +The fuel tank volume type should also be used for the wing fuel tank + + + + + + + @@ -18304,33 +18379,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - List of fuselage fuel tanks integrated in compartments. - - - - - - - - - - - - - The liquid fuel tank geometry is defined by a link to a fuselage geometry compartment. -The fuel tank volume type should also be used for the wing fuel tank - - - - - - - @@ -29752,7 +29800,7 @@ The fuel tank volume type should also be used for the wing fuel tank - UID of frame at start of the skin segment + UID of (virtual) frame at start of the skin segment @@ -29766,7 +29814,7 @@ The fuel tank volume type should also be used for the wing fuel tank - UID of frame at end of the skin segment + UID of (virtual) frame at end of the skin segment @@ -29777,15 +29825,15 @@ The fuel tank volume type should also be used for the wing fuel tank
- + - UID of stringer at start of the skin segment + UID of (virtual) stringer at start of the skin segment - UID of stringer at end of the skin segment + UID of (virtual) stringer at end of the skin segment From 2d6544228b6cd238894be12869fba3f1451ee3fd Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Wed, 30 Nov 2022 11:05:06 +0100 Subject: [PATCH 040/123] indentation to spaces --- examples/cryogenicFuelTanks.xml | 216 ++++++++++++++++---------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/examples/cryogenicFuelTanks.xml b/examples/cryogenicFuelTanks.xml index 73a082b..a1f9cdb 100644 --- a/examples/cryogenicFuelTanks.xml +++ b/examples/cryogenicFuelTanks.xml @@ -1,110 +1,110 @@ -
- Fuel tank examples - 1.0.0 - - - - DLR-SL - 2022-11-30T11:56:46.259694 - Some examples how to parametrize fuel tanks - 3.4 - - -
- - - - Aircraft - - - Main fuselage - - -
- Section1 - - - - Section 1 Element 1 - fuselageCircleProfile - - - -
-
- Section2 - - - - Section 2 Element 1 - fuselageCircleProfile - - - -
-
- - - Section 2 positioning - 10 - 90 - 0 - sec2 - - - - - Segment 1 - sec1el1 - sec2el1 - - - - - - Cryogenic fuel tank - - 3 - 0.9 - 1 - - 1. - 0. - 0. - - 1. - mat1 - - - - -
-
-
-
- - - - Circle - Profile build up from set of Points on Circle where may Dimensions are 1..-1 - - 0.0;0.0;0.0;0.0;0.0 - 0.0;1.0;0.0;-1.0;0.0 - 1.0;0.0;-1.0;0.0;1.0 - - - - - - - Material 1 - This is a dummy material - 1.234 - - 1.234 - - - -
+
+ Fuel tank examples + 1.0.0 + + + + DLR-SL + 2022-11-30T11:56:46.259694 + Some examples how to parametrize fuel tanks + 3.4 + + +
+ + + + Aircraft + + + Main fuselage + + +
+ Section1 + + + + Section 1 Element 1 + fuselageCircleProfile + + + +
+
+ Section2 + + + + Section 2 Element 1 + fuselageCircleProfile + + + +
+
+ + + Section 2 positioning + 10 + 90 + 0 + sec2 + + + + + Segment 1 + sec1el1 + sec2el1 + + + + + + Cryogenic fuel tank + + 3 + 0.9 + 1 + + 1. + 0. + 0. + + 1. + mat1 + + + + +
+
+
+
+ + + + Circle + Profile build up from set of Points on Circle where may Dimensions are 1..-1 + + 0.0;0.0;0.0;0.0;0.0 + 0.0;1.0;0.0;-1.0;0.0 + 1.0;0.0;-1.0;0.0;1.0 + + + + + + + Material 1 + This is a dummy material + 1.234 + + 1.234 + + + +
\ No newline at end of file From 6f6d3c9c062d0c0a1115d21385201c340e4d2492 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Fri, 2 Dec 2022 10:37:35 +0100 Subject: [PATCH 041/123] apply new schema formatting script --- schema/cpacs_schema.backup.xsd | 37267 +++++++++++++++++++++++++++++++ 1 file changed, 37267 insertions(+) create mode 100644 schema/cpacs_schema.backup.xsd diff --git a/schema/cpacs_schema.backup.xsd b/schema/cpacs_schema.backup.xsd new file mode 100644 index 0000000..5e21c47 --- /dev/null +++ b/schema/cpacs_schema.backup.xsd @@ -0,0 +1,37267 @@ + + + + + + + + + + + + CPACS root element + + + + + Version + + V3.3 + + Date + + 2020-06-03 + + + + 1. Overview + + The Common Parametric Aircraft Configuration Scheme (CPACS) is an XML-based data format for describing aircraft configurations and their corresponding data. + This XML-Schema document (XSD) serves two purposes: (1) it defines the CPACS + data structure used in the XML file (e.g., aircraft.xml) and + (2) it provides the corresponding documentation (see picture below). An XML processor (e.g., Tixi or + XML tools in Eclipse) parses the XSD and XML files and validates whether the data set defined by the user (or tool) conforms to the given structure defined by the schema. + + + + This documentation explains the elements defined in CPACS and its corresponding data types. + Data types can either be simple types (string, double, boolean, etc.) or + complex types (definition of attributes and sub-elements to build a hierarchical + structure). In addition, the sequence of the elements and their occurrence is documented. + To link the XML file to the XSD file, the header of the XML file should specify the path of the schema file. + An example could look like this: + <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd"> + + CPACS is an open source project published by the German Aerospace Center (DLR e.V.). For further information please visit www.cpacs.de. + + + + + 2. Data hierarchy + + CPACS data is modeled in a hierarchical structure whose underlying concept follows a top-down description of a system-of-systems which decomposes a generic concept (e.g., an aircraft or rotorcraft) into a more detailed description of its components. This originates from the conceptual and preliminary design of aircraft, where the level of detail is initially low and continues to increase as the design process progresses. + For some concepts within CPACS, however, a bottom-up approach is applied where the components are first defined in detail (sometimes referred to as library) and then linked within an instantiated higher-level concept. This is advantageous when used multiple times within complex systems, such as engines, which only have to be defined once in order to be referenced several times on the aircraft. The combination of these two methodologies is known as middle-out approach and enables the goal to fully parametrize aeronautical systems. + + + + + + + 3. Coordinate Systems + + Coordinate systems are a regular cause for ambiguous interpretation of data. In CPACS, the reference coordinate system is the CPACS-coordinate system. This coordinate system is used for most of the data. A single exception is made in order to keep aerodynamic data in an aerodynamic coordinate system. The following paragraphs outline the determination to known coordinate systems. + The CPACS coordinate system is the coordinate system identified by TIGL, CPACS's geometric library. It is a right-handed coordinate system. If an aircraft is defined in the CPACS coordinate system it will usually follow the directions listed in the table below. + Therefore, the CPACS coordinate system can be confused with the body-fixed coordinate system. While often the CPACS coordinate system and the body-fixed coordinate system overlap, this must not always be true. Several definitions for body-fixed coordinate systems exist (x-axis through nose and tail, x-axis perpendicular to nose plane). For non-symmetric aircraft, body-fixed coordinate systems become even more complicated. Hence, analysis tools should stick to the CPACS-Coordinate system. It remains to the designer to model the geometry accordingly. + The CPACS coordinate system does not rotate with flow. Hence, aerodynamic calculations do rotate their flow relative to the CPACS-coordinate system. If not stated explicitly different, e.g. for target lift-coefficients, results are returned in the CPACS coordinate system, i.e. the cfx-coefficient is parallel to the CPACS x-Coordinate, regardless of the way the geometry is defined. + The following table gives a "best-practice" advice on how to locate a geometry within CPACS. Different approaches are, of course, valid as well. + + + + Axis + + + Direction + + + Description + + + + x + tailwards + from nose to tail + + + y + spanwise + from symmetry plane to the right wingtip + + + z + upwards + from landing gear to tip of vertical tailplane + + + The following figures show an example of a geometry that is aligned with the CPACS coordinate system, i.e. the body-fixed coordinate system corresponds to the CPACS coordinate system. + + + + The aerodynamic analysis is relative to the CPACS coordinate system. That is, the angle of attack is represented by the dashed orange line. Results of the aerodynamic calculation are given in the CPACS coordinate system. + + + + The following figures give an example of a geometry that is not defined in alignment with the CPACS coordinate system. It is a valid CPACS file, but only used in this example for demonstrative purposes. + + + + The body axes and the CPACS coordinate system do not align. That is, the origin of the geometry is not at CPACS (0,0,0) but at a point in positive x- and z-direction. + + + + Again, the aerodynamic analysis is relative to the CPACS coordinate system. That is, the angle of attack is represented by the dashed orange line. Results of the aerodynamic calculation are given in the CPACS coordinate system. + + + + 4. Units + + There are no explicit attributes describing units in CPACS. The general convention is that all values must be given in the following SI-units: + + + [m] + Position, Distance + + + [m^2] + Area + + + [m^3] + Volume + + + [kg] + Mass + + + [s] + Time + + + [K] + Temperature + + + or in derived units, e.g.: + + + [N] + Force + + + [Nm] + Moment + + + [W] + Power + + + [J] + Energy + + + The only non SI unit used throughout CPACS is the angle in degrees [°]. + For the sake of an intuitive use the angles are given in degrees rather than in radian [rad]. + + + [°] + Angle + + + + + + 5. Splitting up a CPACS dataset into several files + + To provide a better overview, it is possible to split up a CPACS dataset into several files. This can be done by inserting an <externaldata> node at an arbitrary position into the datatset. This node contains a <path> node with a URI to the external file(s), followed by one or more <filename> nodes, containing each a name of a file to be included at that position. Below, an example of such external data is given: + <?xml version="1.0" encoding="utf-8"?> +<cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd"> + <vehicles> + <profiles> + <wingAirfoils> + <externaldata> + <path>file:://airfoils</path> + <filename>NACA0010.xml</filename> + <filename>NACA2412.xml</filename> + </externaldata> + <airfoil uID="NACA0012"> + <name>NACA 0012 Airfoil</name> + <pointList>...</pointList> + </airfoil> + </wingAirfoils> + </profiles> + </vehicles> +<cpacs> + Such an external file would look like: + <?xml version="1.0" encoding="utf-8"?> +<airfoil uID="NACA0010"> + <name>NACA 0010 Airfoil</name> + <pointList>...</pointList> +</airfoil> + The file would be included completely, except for its title line <?xml version="1.0" encoding="utf-8"?> . This concept can also be used recursively (external files of external files), then it is important to prevent circle connections (file "A" loading file "B" loading file "C" loading again file "A" ...). + For path URI addresses, the trailing file separator "/" may be omitted. Below, some examples for path URIs are given: + + Absolute local path: "file:///tmp" or "file:///c:/windows/tmp" + Relative local direcotry: "file://relativeDirectory" or "file://../anotherRelativeDirectory" + Remote net ressource: "http://www.someurl.de" + + A CPACS dataset with external files, being loaded by a special library like the TIVA XML Interface TIXI, shall collect all its external datafiles and build up a single tree from them. A validation against this schema is only possible for such a single tree file; the <externaldata>nodes are not recognized by it. To preserve the information, necessary to split the file up into external files again later, externaldata information is maintained within three attributes of the former external top node: + + externalFileName - Name of the file where the external data shall be saved + externalDataDirectory - Directory of the external data file. Its content is analogous to the <externaldata>'s <path>node described above. + externalDataNodePath - XPATH of the node which is replaced with the content of the external file. In case that it is an external file of an external file, then it is the XPATH in the outer external file. If, e.g., in the example above the <pointList>node would have also been loaded from an external file, then the entry would just be: externalDataNodePath="/airfoil". This is used primarily for loop-detection. + + The single tree for the example above would look like: + <?xml version="1.0" encoding="utf-8"?> +<cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd"> + <vehicles> + <profiles> + <wingAirfoils> + <airfoil uID="NACA0010" externalFileName="NACA0010.xml" externalDataDirectory="file://airfoils" externalDataNodePath="/cpacs/vehicles/profiles/wingAirfoils"> + <name>NACA 0010 Airfoil</name> + <pointList>...</pointList> + </airfoil> + ... + <airfoil uID="NACA0012"> + <name>NACA 0012 Airfoil</name> + <pointList>...</pointList> + </airfoil> + </wingAirfoils> + </profiles> + </vehicles> +<cpacs> + + + + 6. UIDs and references + + The CPACS-dataset often uses references between nodes. Typically, these + references define connections between elements which are located somewhere else in the hierarchical dataset (e.g. a wing is connected to a + fuselage; a specific engine is connected to a pylon; etc.). These connections are defined by + unique identifiers (uID) which are specified as attributes. Thus, there are elements which can be referenced via a uID attribute, e.g. a fuselage: + <fuselage uID="ATTAS_fuselage">... + + as well as elements which refer to the former, e.g. a wing pointing to its geometrical parent: + <wing uID="e382bf5j"> + <name>ATTAS main wing</name> + <parentUID isLink="True">ATTAS_fuselage</parentUID> + ... + Such referencing elements must carry the isLink="True" attribute. + + Since uIDs are only used to link nodes within the XML file, no naming convention is required. UIDs, however, must be unique! + Although a common practice for naming uIDs is their position in the data hierarchy (e.g. uID="mainWingSection3"), + uIDs as shown in the above example are absolutely valid as well. It is therefore recommended to use the name element + to convey human-readable meanings. + + + + 7. Symmetry + + Sometimes it might be useful to specify a part of the aircraft as symmetric instead of holding all the data twice in nearly identical form in the dataset (e.g. left and right wing are usually identical, except for the sign of the y-coordinate). Hence, some parts offer the option to set a symmetry attribute for them, like: + <wing symmetry="x-z-plane">... + This attribute explains that the whole part with all its subnodes is symmetric to the given plane. Possible planes are: + x-y-plane + x-z-plane + y-z-plane + + + + + + UIDs, references and symmetry + + All nodes, e.g. parentUID, in CPACS that refer to a component that holds symmetry attribute, e.g. wing, have to carry the symmetry attribute as well. + The symmetry attribute may take three values: symm, def, full: + + + def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. + + symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) + + full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) + + + <wing uID="ATTAS_main_wing" symmetry="x-z-plane"> + ... + <segments> + <segment uID="ATTAS_main_wing_innersegment"> + ... + In the example above, to refer to the "other" side of the wing on must use the definition as such: + <loadcase> + ... + <segments> + <segment> + <segmentUID isLink="True" symmetry="symm">ATTAS_main_wing_inner_segment</segmentUID> + <strip>... + + + + 8. Vectors and arrays + + For large data sets (e.g. increments of aerodynamic coefficients due to control surface deflections) it is advantageous + to map them via vectors and arrays instead of using a sequence of nodes for each data value. Therefore vectors and arrays are defined as semicolon-separated lists in CPACS. Via the documentation (derived from the XSD) of the corresponding nodes it has to be checked whether it is a vector or an array. + + Vector + The vector is meant as a one-dimensional-array. In such a node, the values are given in a semicolon separated list: + <angleOfAttack>0.;1.5;3.;4.5;6;7.5;9.</angleOfAttack> + + Array + + As for vectors, multi-dimensional arrays provide values in a semicolon separated list. An array is always preceded by a sequence of vectors, containing the dimensions and index values. Which vectors of an array are dimensioning is specified in the respective documentation of the array. + + <altitude>1000.;2000.;3000.</altitude> <!-- vector element --> + <incrementMaps> + <incrementMap uID="incMap_b3ac2"> + <controlSurfaceUID>InnerWingFlap</controlSurfaceUID> + <controlParameters>-1;-0.5;0;1</controlParameters> <!-- vector element --> + <!-- array of dimension length(altitude) x length(controlParameters): --> + <dcl>11.;12.;13.;14.;21.;22.;23.;24.;31.;32.;33.;34.</dcl> + + + + Values for cl increments: + + + + Control parameter = -1 + Control parameter = -0.5 + Control parameter = 0 + Control parameter = 1 + + + Altitude = 1000m + 11. + 12. + 13. + 14. + + + Altitude = 2000m + 21. + 22. + 23. + 24. + + + Altitude = 3000m + 31. + 32. + 33. + 34. + + + + + + + + + + 9. Control Parameters + + Control parameters are abstract parameters, linking a generic floating point value to a certain status of a control device + (e.g. control surface, landing gear, suction system, brake parachute, ...). For control surfaces, such a data pair (control parameter + and control surface deflection status) is called a <step> and the ordered list of all steps for a control surface forms its deflection + <path>. + The control parameter values for each step are arbitrary floating point values. However, it is strongly recommended to use + values between -1. and +1., or between 0. And +1. (depending on the type of control surface). The smallest and the largest value implicitly + define the maximum deflection limits. It is mandatory, that the value “0.” is within the specified range, as this value is treated as + undeflected and used to specify a “clean” aircraft configuration (e.g. used in the clean aero performance map). It is recommended, but not + mandatory to specify a <step> with a <controlParameter> of 0. Consequently, no <controlParameter> must be used twice within + a single <path> definition. Deflection values between two specified steps are handled by linear interpolation. + The following example shows the usage of control parameters within a control surface deflection path definition: + <controlSurfaces> + <trailingEdgeDevices> + <trailingEdgeDevice uID="InnerWingFlap"> + ... + <path> + ... + <steps> + <step> + <controlParameter>-1</controlParameter> + <hingeLineRotation>-20.</hingeLineRotation> + </step> + <step> + <controlParameter>-0.5</controlParameter> + <hingeLineRotation>-10.</hingeLineRotation> + </step> + <step> + <controlParameter>0</controlParameter> + <hingeLineRotation>0.</hingeLineRotation> + </step> + <step> + <controlParameter>1</controlParameter> + <hingeLineRotation>5.</hingeLineRotation> + </step> + </steps> + ... + + + + + 10. Atmosphere + + At some places in CPACS, an atmosphere has to be selected (e.g. for connecting an altitude with a certain pressure or density). + Currently, CPACS does only support a single atmospheric model: The ICAO Standard Atmosphere (ISA) from 1993 (see ICAO Doc 7488/3 'MANUAL OF THE ICAO STANDARD ATMOSPHERE', third edition, 1993) + It covers temperature, pressure, density, speed of sound, dynamic viscosity and kinematic viscosity with respect to altitude. + In CPACS, 'altitude' means what is called 'geopotential altitude' (H) in the ISA reference document and is given in [m]. + For details, see ISA manual, section 2.3, page E-viii f. + ISA covers a range from -5000 m to 80000 m. + Temperature offsets are introduced on top of the definitions in the ISA manual (which does not cover such variations). The offset model + is based upon the idea that the pressure at a fixed geopotential altitude is independent from temperature offset (pressure altitude). + The temperature offset changes only the density (following rho = p / Gas Constant / T) (and viscosity, of course) + + + + CPACS 3.3 + + Release in June 2021 + + Revision of the mission definition including parameter lapses within segments (compatibility break) + Revision of the point performance definition (compatibility break) + Revision of performance requirements (compatibility break) + Revision of landing gears (compatibility break) + Revision of control surface tracks definition (compatibility break) + Load analysis: Revision of flightLoadCasesType (compatibility break) + Load analysis: Revision of aeroCasesType (compatibility break) + Load analysis: loadEnvelopesType relocated and envelope simplified to a single uID-Sequence (compatibility break) + Load analysis: Replaced dynamicAircraftModel elements by loadApplicationPointSets (compatibility break) + Flight dynamics: Group flightPerformance, flyingQualities and trim under flightDynamics parent node (compatibility break) + Introduced a configuration node to describe aircraft and payload configurations + Fuselage profiles: Introduced rectangle and super ellipse as standard profiles + Fuselage profiles: Added vector to specify curve parameters for profiles with kinks + Internal structure: Added standard profiles to profile based structural elements + Internal structure: Added ribPosts element to wingRibCrossSectionType + Internal structure: Upper and lowerCap now optional in sparCellType + Internal structure: Stringers and frames can reference sections + MassBreakdown: Set mass inertia Jxy, Jxz and Jyz optional + MassBreakdown: Added mMiscellaneous element + MassBreakdown: Added fuselage walls + Added flight envelope to aircraft global element + Added new base types: doubleVectorBaseType, posIntVectorBaseType, doubleArrayBaseType + Added 'none' and 'inherit' to list of symmetry flags + Set mapType attribute of vector and array elements to optional (requires TiXI>=3.1) + AeroMaps: Defined angleOfSideslip as input and added distinction between minimum and maximum angleOfAttack in aeroLimitMaps (compatibility break) + AeroMaps: Added missing singular incrementMap element to incrementMaps in aeroLimitsMap (compatibility break) + AeroMaps: Adopted the camelCase style for damping derivatives (compatibility break) + Introduced common nomenclature for speeds and altitudes (compatibility break) + Control distributors are set to optional + Added instructions for superposition of control surface deflections + Further elaboration of development standards + General improvements of the documentation + + + + + CPACS 3.2 + + Release in February 2020 + + Replaced tool-specific elements with xsd:any element and strict schema request for validation + UIDs adapted to type xsd:ID and xsd:IDREF + UIDs optional for transformationType and pointTypes + Replaced xsd:sequence elements with xsd:all elements where possible + CpacsVersion element set to optional + GuideCurves are now optional for nacelleCowlType + Documentation adaptions + + + + + CPACS 3.1 + + Release in August 2019 + + Redefinition of aeroPerformanceMaps + Added nodes for detailed engine pylons and nacelles + Added nodes to model generic walls + Extension of material definition + Added fuselage compartment definition + Added fuselage fuel tank definition + Explicit wing stringer definition integrated into wing stringer definition + RelativeDeflections renamed to control parameters + Control distributors modified to only have a single command input vector + "cpacsVersion" restricted to current schema version + Code cleanup + Cpacs_schema.xml removed + Documentation adaptions + + + + + CPACS 3.0 + + Release in Jul 2018 + + New component segment definition; this is affecting all structural components of wings + Renamed angleOfYaw into angleOfSideslip + Fixes in documentation + Made all uID attributes required + Minor fixes in choices and typos + Added nodes for the geometry of generic system components + Added performance requirements for aircraft models + Redefined the whole mission definition including point performances + Made link to missionUID in trajectory optional + Added new parameters to enginePerformanceMap + Relocated mFixedLeadingEdge and mFixedTrailingEdge within the massBReakdown structure + Changed aeroPerformanceMap to use altitude and standard atmosphere instead of reynolds number + Added an optional local direction for guide curves and an illustration image + Announced toolspecifics definitions as deprecated; will be removed from CPACS in next release and should be managed in separate namespace by tool maintainers + Added an option for aerodynamic performance maps of elastic aircraft + Enabled the definition of multiple aeroPerformanceMaps + Enabled the use of spar points for rib placement and rib points for spar placement + Added explicit stringer definitions for wing cells + All issues for this release can be found online + https://github.com/DLR-LY/CPACS/issues + + + + + CPACS 2.3.1 + + Release in Jul 2016 + + CPACS 2.3.1 is a beta release, all parameters may be subject to change. + Added a branch for the definition of design studies. + Added thermal properties for materials. + Revised the definition of flights/flightplans. + Added an airline definition. + Added structure for skid gear components. + Changed the units for material density to SI units. + Revised the top level fleets node and put it into the new airline node. + All issues for this release can be found online + https://github.com/DLR-LY/CPACS/issues + + + + + CPACS 2.3 + + Release in Nov 2015 + CPACS 2.3 is the fourth public release of CPACS. Major changes include: + + Included vector notation for weight and balance. + Included flight system and flight dynamic information. + Included top level aircraft requirements. + Included a prototype for detailed nacelle geometries. + Included structural mounts. + Extended aero data set for loads. + Extended the mass breakdown. + Updated the symmetry definition, please take a look at the documentation point 5 and 6. + All issues for this release can be found online + https://github.com/DLR-LY/CPACS/issues + + + + + CPACS 2.2.1 + + Release in Feb 2015 + + CPACS 2.2.1 is a beta release, all parameters may be subject to change. + Included preliminary definition of guidecurves. + Included additional means to describe the wing structure. + Included preliminary fuselage fuel tanks. + Included preliminary load envelope. + Included preliminary flight performance and flight qualities. (flight dynamics will follow) + Updated toolspecifics + Updated uncertainty definition + all issues can be found online + http://code.google.com/p/cpacs/issues/list + + + + + CPACS 2.2 + + Release in May 2014 + + CPACS 2.2 is the third public release of CPACS. Major changes include + Additions and changes to the loadCaseType. + Included additional genericGeometricEntities for bellyfairings etc. + The mass breakdown is extended for a more detailed fuselage strucuture. + Steadiness information on the geometry is excluded from CPACS 2.2. CPACS 2.3 will include optional guidelines for smoother surfaces. + Uncertainties can now be specified (CPACS 2.2alpha doubleBaseType, CPACS 2.2 also in vector notations) + all issues can be found online + http://code.google.com/p/cpacs/issues/list + + + + + CPACS 2.1 + + Release in May 2013 + + CPACS 2.1 is the second public release of CPACS. Most of the implementation was already included in CPACS 2.01 + included fuselage structure and cabin definition + all data is defined according to the CPACS coordinate system. That is the initial coordinate system in which geometries are defined. Therefore, it can but must not meet your body axis. + the mass breakdown is extended for a more detailed wing strucuture + profiles can now be included based on a two-dimensional class shape transformation. The old parametrization will still be available. TIGL will learn CST asap. + all issues can be found online + http://code.google.com/p/cpacs/issues/list + + + + + CPACS 2.01 + + Release in Nov 2012 + + CPACS 2.01 is an internal release for the VAMP project. It is the testbed for CPACS 2.1 + included fuselage structure + additions to the load case definition + all issues can be found online + http://code.google.com/p/cpacs/issues/list + + + + + CPACS 2.0 + + Release in Mar 2012 + + CPACS 2.0 is the first public release + large impacts on the documentation + all issues can be found online + http://code.google.com/p/cpacs/issues/list + compatible with TIGL 2.0 + excluded fuselage structure, reintegration in CPACS 2.1 + + + + + CPACS 1.6 + + Release in Jul 2011 + + Thanks for the input on the documentation to Felix Dorbath, Till Pfeiffer, Alexander Koch, Falk Heinecke and Tom Otten + preliminary added enginePylons + deleted seatAssemblyPositionType + updated toolspecific blocks from handbook aero and cpacs mass updater + added weight and balance definition + added loads reference axis and dynamic aircraft model + added wing documentation + added weights documentation + added fleet documentation + added paramam toolspecific documentation + added wing tank definition + changed some names in the massBreakdown + deleted old loadCaseDefinitions + no more plural element for loadAnalyses + shifted groundforces to groundloadcases, this will need an update + added noseLandingGear + mainLandingGear can now have plural SideStruts + + + + + CPACS 1.5 + + Release in Feb 2011 + + uID for transformation + extended stringUIDBaseType with optional attribute isLink + all elements xxxUID are now of Type stringUIDBaseType + added new material definition from FA to distinguish between diffent material types + changed fuselage structure definition due to input from BK + changed rib definition in cells in component segments + cleaned up material definition in component segments + added cpacsVersion information to the header and updates types + added area and length to the loadCase reference on wing strips + added wingFuselageAttachment + + + + + CPACS 1.4 + + Release in Nov 2010 + + Geometry definition for engine and nacelle added + Trailing Edge Devices, Leading Edge Devices and Spoilers added + Rotorcraft added, similar to aircraft + Splitted up multiple Point Types + sparCell added uID + new inline Documentation introduced in CPACS type + + + + + CPACS 1.3 + + Release in Aug 2010 + + Fuel definition added + Introduced component segments for the wing structure + Mission definition was updated + VSAero toolspecific data updated + + + + + CPACS 1.2 + + Release in May 2010 + + Fuselage Structure Elements are updated following the input from BK + + stringers>arbitrary additional parameters: yBezugAtStartX, zBezugAtStartX, yBezugAtEndX, zBezugAtEndX + paxCrossBeams additional parameters: startX, endX + cargoCrossBeams additional parameters: startX, endX + paxCrossBeamStruts additional parameters: startX, endX + cargoCrossBeamStruts additional parameters: startX, endX + structure>pressureBulkhead: positionX instead of positionZ + reinforcementNumberVertical: number of vertical reinforcements + reinforcementNumberHorizontal: number of horizontal reinforcements + maxFlectionDepth: max camber of pressure bulkhead + reinforcementNumber: number of reinforcements rear pressure bulkhead + sheetProperties: definition of sheet properties + innerRadius: inner radius of the pressure bulkhead + + Dummy Wingbox element is included. This definition needs further enhancements + + cpacs>vehicles>aircraft>model>fuselage>fuselage>structure + Wingbox: + xStart: start of the wingbox area + xEnd: end of the wingbox area + zStart: upper limit of the wingbox area + + Damping Derivaties are added in the form of dcfxdp, dcfxdq, dcfxdr, dcfydp, etc. The data will be stored in the model/global/aeroperformaneMap under a new dampingDerivatives element. Unit is deg/sec. + StructureProfiles are defined in the profiles element. They are referenced in structuralElements for several entities such as stringer, frame etc. Currently they are referenced via 'structuralProfileUID' for name consistency it should be either only 'structure' or only 'structural' + Control Commmands. The chain between pilot inputs and controlsurface deflections is now closed. + + Parameters located at cpacs\vehicles\aircraft\model\systems + cockpitControl: links from pilotInput to commandCase + commandCase: links from commandCase to controlDistributor or controlFunction + controlDistributor links to the controlSurface + controlLaws includes controlModes automatic and manual + controlModes contain controlFunctions + + TraFuMo toolspecific data added + + + + + CPACS 1.1 + + Release in Feb 2010 + + Fleets model added. The fleets modeling from CATS is introduced to CPACS 1.1 + Reference changed. The reference type in wingSegmentStripCoefficientsType was changed from referenceType to pointType + + + + + + + + + + + + + + + + + + + + + + + + + CPACS header + + + Header type, containing CPACS dataset description + + + + + + + + + + + Name of CPACS dataset + + + + + Description of CPACS dataset + + + + + + Creator of initial CPACS dataset + + + + + + Timestamp of initial CPACS dataset creation + + + + + + Version of initial CPACS dataset + + + + + + CPACS version that the dataset is valid to. The element is optional, since data sets + can be valid for several CPACS versions. However, we strongly recommend to assign data sets to a + specific CPACS version as far as possible, especially since some tools and libraries (e.g. TiGL) + require this specification. + + + + + + + + + + + + + + + + + + + + updatesType + + + Updates type, containing update data for the CPACS + dataset + + + + + + + + + + + + + + + + + + + + + complexBaseType + + + Base type for complex nodes (including external data + attributes) + + + + + + + + + + + + + + + stringBaseType + + + Base type for string nodes (including external data + attributes) + + + + + + + + + + + + + + + + + + + stringUIDBaseType + + + This is the base type that links to other components. It should always contain a UID. + This node has an additional attribute isLink that will be used if a stringBaseType refers to a uID. TIXI can then + perform automatic validation for the existence of the referenced uID. + Furthermore this node contains an additional attribute symmetry. The symmetry attribute may take three values: symm, def, full + def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. + symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) + full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) + + + + + + + + + + + + + + + + + + + + + + + + + + stringVectorBaseType + + + + Base type for string vector nodes + The vector base type can include optional uncertainty + information. The description of uncertainties is placed in + addtional attributes. First, it is described by an attribute that + describes the type of uncertainty function called functionName. + The functionName attribute includes the tag name of the + distribution function which is listened in the table shown below. + Each uncertainty function is further describes by a set of + parameters that are described in the table below. + If the uncertainty values change for the elements of + the vector than the attribute may be written as a list of values + separated by semicolons + DEPRECATED: As of CPACS + version 3.3, the mapType + attribute is set to optional to ensure the compatibility of older data sets. + However, since the type is uniquely defined via the XSD, the attribute is superfluous + and will therefore be completely omitted in the next major release (Note: requires + TiXI >= 3.3). Please contact the CPACS team + if for any reason you see a long-term need for the mapType + attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vector with semicolon separated values of type double + + + + Any entries of type double separated by semicolons are permitted, e.g.: + +<doubleVectorTest>123.456;+123.456;-1.234e56;-.45E-6;NaN</doubleVectorTest> + + +<doubleVectorTest>123.456</doubleVectorTest> + + +<doubleVectorTest>123.456,+1234.456</doubleVectorTest> + + +<doubleVectorTest>123.456;mainWingUID</doubleVectorTest> + + +<doubleVectorTest>123.456;1234.4E 56;-1.234e5.6</doubleVectorTest> + + + + + + + + + + + + + + + + + + + doubleVectorConstraintBaseType + + + + Base type for double vectors including a relational operator attribute indicating valid constraint region. + The doubleVectorConstraintBaseType extends the doubleVectorBaseType and thus inherits all its attributes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vector with semicolon separated positive integer values + + + + Any positive integer values separated by semicolons are permitted, e.g.: + +<intVectorTest>0;1;2;3;4;5</intVectorTest> + + +<intVectorTest>1</intVectorTest> + + +<intVectorTest>0,1,2,3,4,5</intVectorTest> + + +<intVectorTest>0.;1.;2.</intVectorTest> + + +<intVectorTest>-1;0;1</intVectorTest> + + + + + + + + + + + + + + + + + + + stringArrayBaseType + + + Base type for string array nodes (including maptype + array attribute) + DEPRECATED: As of CPACCS version 3.3, the mapType attribute is set to optional to ensure the compatibility of older data records. However, since the type is uniquely defined via the XSD, the attribute is superfluous and will therefore be completely omitted in future versions. + + + + + + + + + + + + + + + + + Array with semicolon separated values of type double + + + + In CPACS arrays are used to exchange values + in full-factorial parameter spaces, for example to describe the aerodynamic coefficients depending + on Mach number and altitude. + + Thus, the dimensions of the array are spanned by the input vectors. See the following + example where two input vectors are defined. For clarification the entries of the array result from + the multiplication of the index values of the corresponding input vectors: + +<inputVector1>1;2;3</inputVector1> +<inputVector2>4;5;6;7</inputVector2> + + +<array>4;5;6;7;8;10;12;14;12;15;18;21</array> + + Any entries of type double separated by semicolons are valid, e.g.: + +<doubleArrayTest>123.456;+123.456;-1.234e56;-.45E-6;NaN;0</doubleArrayTest> + + +<doubleArrayTest>123.456</doubleArrayTest> + + +<doubleArrayTest>123.456,+1234.456</doubleArrayTest> + + +<doubleArrayTest>123.456;mainWingUID</doubleArrayTest> + + +<doubleArrayTest>1234.4E 56;-1.234e5.6</doubleArrayTest> + + + Please note that the syntax of arrays in the current CPACS + version correspond exactly to the syntax of vectors. There is no special character indicating + the dimensions. Thus, the input vectors have to be determined from the documentation of the + corresponding elements and splitting of the one-dimensional vector has to be done manually. + + + + + + + + + + + + + + + + + + + doubleBaseType + + + + Base type for double nodes (including external data + attributes) + The double base type can include optional uncertainty + information. The description of uncertainties is placed in + addtional attributes. First, it is described by an attribute + that describes the type of uncertainty function called + functionName. The functionName attribute includes the tag name + of the distribution function which is listened in the table + shown below. Each uncertainty function is further describes by a + set of parameters that are described in the table below. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + doubleConstraintBaseType + + + + Base type for double nodes including a relational operator attribute indicating valid constraint region + The doubleConstraintBaseType extends the doubleBaseType and thus inherits all its attributes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + timeConstraintBaseType + + + + Base type for time nodes including a relational operator attribute indicating valid constraint region + The timeConstraintBaseType extends the timeBaseType and thus inherits all its attributes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + integerBaseType + + + Base type for integer nodes (including external data + attributes) + + + + + + + + + + + + + + + + + + + booleanBaseType + + + Base type for boolean nodes (including external data + attributes) + + + + + + + + + + + + + + + + + + + dateTimeBaseType + + + Base type for dateTime nodes (including external data + attributes) + + + + + + + + + + + + + + + + + + + timeBaseType + + + Base type for time nodes (including external data attributes) + This time type is based on the xsd:time definition. + "To specify a time zone, you can either enter a time in UTC time by adding a "Z" behind the time - like this: 09:30:10Z + or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this: + 09:30:10-06:00 + or + 09:30:10+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) + + + + + + + + + + + + + + + + + + + dateBaseType + + + Base type for date nodes (including external data attributes). + This date type is based on the xsd:date definition. + "To specify a time zone, you can either enter a date in UTC time by adding a "Z" behind the date - like this: 2002-09-24Z + or you can specify an offset from the UTC time by adding a positive or negative time behind the date - like this: + 2002-09-24-06:00 + or + 2002-09-24+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) + + + + + + + + + + + + + + + + + + + + + + Positionings of the wing. + + + Positionings type, containing all the positionings of + the wing sections. + + + + + + + + + + + + + + + + + + + Positioning of the wing section + + + + The positionings describe an additional translation of + sections. Basically, the positioning is a vector having the + length 'length' and an orientation that is described by the + parameters 'sweepAngle' and 'dihedralAngle'. If the 'sweepAngle' + and the 'dihedralAngle' are set to zero (or left blank) the + positioning vector equals the positive y-axis of the coordinate + system (in case of a positive 'length'). + If the parameter 'fromSectionUID' is set, the + positioning describes the translation between the 'from' towards + the 'to' section. If the parameter 'fromSectionUID' is left + blank the orgin of the positioning vector is the origin of the + parent coordinate syste. + The orgin of the section coordinate system is the + position which is described by the positioning vector PLUS the + translation which is described in the section. + Please note: If the orgin of the positioning vector is + defined by using another section, i.e. fromSection is defined, + the orgin of this vector equals the end of the positioning + vector of the previous section. This means that the section + translation of the from-section has no influence on the + positioning of the to-section. Therefore the total translation, + which is described by positionings, is the sum of the current + positioning and all positionings that are defined 'before'. + + An example for this is given at positioning 3 and 4 at + the picture below. Please note, that any other combination of + positionings would be possible. + Application of the sweepangle does not lead to a + rotation of the section. Application of the dihedral does not + lead to a rotation of the section. + + + + + + + + + + + + + + Name of the positioning. + + + + + Description of the positioning. + + + + + + Distance between inner and outer section + (length of the positioning vector). + + + + + Sweepangle between inner and outer section. + This angle equals a positive rotation of the positioing vector + around the z-axis of the wing coordinate system. + + + + + + Dihedralangle between inner and outer section. + This angle equals a positive rotation of the positioing vector + around the x-axis of the wing coordinate system + + + + + + Reference to starting section of the + positioning vector. If missing, the positioning is made from the + orgin of the wing coordinate system. + + + + + Reference to ending section (section to be + positioned) of the positioning vector. + + + + + + + + + + + + + + Transformation + + + Transformation type, containing a set of + transformations. The order of the transformations is scaling + -> rotation -> translation, and they are executed in this + order. Any of them can be omitted; it will be replaced by its + defaults. + Transformations are always executed relative to the + child not the parent. I.e. a scaling does not have an influence + on the parent item. For example in the outer geometry of a wing + the element scaling does not influence the section. Scaling does + also not effect rotation and translation. + + + + + + + + + + Scaling data default: 1,1,1. Those parameters + describe the scaling of the x-, y-, and z-axis. + + + + + + Rotation data default: 0,0,0. The rotation + angles are the three Euler angles to describe the orientation of + the coordinate system. The order is allways xyz in CPACS. + Therefore the first rotation is around the x-axis, the second + rotation is around the rotated y-axis (y') and the third + rotation is around the two times rotated z-axis (z''). + + + + + + Translation data default: 0,0,0. Translations + can either be made absolute in the global coordinate system + (absGlobal), absolute in the local Coordinate system (absLocal) + or relative (relative), normalized with the maximum dimensions + of the parent. + + + + + + + + + + + + + + 2D transformation + + + + + + + + + + + + + Scaling of the structural profile + + + + + + rotation around z-axis of profile definition + + + + + + translation of profile definition + + + + + + + + + + + + + + + Point: x,y,z + + + Point type, containing an xyz data triplet. + + + + + + + + + + X-Component + + + + + Y-Component + + + + + Z-Component + + + + + + + + + + + + + + Point: x + + + Point type, containing a x data. + + + + + + + + + + X-Component + + + + + + + + + + + + + + Point: y + + + Point type, containing a y data. + + + + + + + + + + Y-Component + + + + + + + + + + + + + + Point: z + + + Point type, containing a z data. + + + + + + + + + + Z-Component + + + + + + + + + + + + + + Point: x,y + + + Point type, containing an xy data doublet. + + + + + + + + + + X-Component + + + + + Y-Component + + + + + + + + + + + + + + Point: x, z + + + Point type, containing an xz data doublet. + + + + + + + + + + X-Component + + + + + Z-Component + + + + + + + + + + + + + + Point: y, z + + + Point type, containing an yz data doublet. + + + + + + + + + + Y-Component + + + + + Z-Component + + + + + + + + + + + + + + Point: x,y,z + + + Point type, containing an obligatory xyz data triplet. + + + + + + + + + + X-Component + + + + + Y-Component + + + + + Z-Component + + + + + + + + + + + + + + Point with global/local reference + + + PointAbsRel type, containing an xyz data triplet. Each + of the components is optional. The refType attribute defines, + whether coordinates are absolute in the global ccordinate system + [absGlobal], absolute in the parent element's local coordinate + system [absLocal]. If the object does not have a + parent, only [absGlobal] is permitted. + + + + + + + + + + X-Component + + + + + Y-Component + + + + + Z-Component + + + + + + + + + + + + + + + + + + + + + + Point with constraints + + + Point constraint type, containing an xyz data triplet. + + + + + + + + + + X-Component + + + + + Y-Component + + + + + Z-Component + + + + + + + + + + + + + List of 3D points, kept in three relative coordinate + vecors (rX, rY, rZ) + + + + This set of vectors contains an ordered list of points + for rX, rY, and rZ coordinates in the form of stringBased + Vectors. The x, y and z vector elements with the same index + specify a 3D point relative to a geometric segment. + + + + + + + + + + + + + + + + + + + + Vector of rX coordinates. Relative + circumferential coordinate on wing / fuselage profile + + + + + + Vector of rY coordinates. Relative span + coordinate along a segment + + + + + Vector of rZ coordinates. Relative coordinate + normal to the linear strake (normalised with chordlength / + diameter c*) + + + + + + + + + + + + + List of points + + + PointList type, containing an ordered list of points + + + + + + + + + + + Data point + + + + + + + + + + + + + List of points in x,y + + + PointList type, containing an ordered list of points + + + + + + + + + + + Data points in x-y-space. + + + + + + + + + + + + + List of 3D points, kept in three coordinate vecors (x, + y, z) + + + + This set of vectors contains an ordered list of points + for x, y and z coordinates in the form of stringBased Vectors. + The x, y and z vector elements with the same index specify a 3D + point. + + + + + + + + + + + Vector of x coordinates + + + + + Vector of y coordinates + + + + + Vector of z coordinates + + + + + + + + + + + + + Maps points (actually the index in the point list) to a curve parameter. + + + + Which parameters are allowed depends on the context. + For exampple in a wing profile, values between -1 and 1 are valid. + + + + + + + + + + + List of indices of points to be mapped. Each index must be in the range [1, npoints]. + + + + + List of parameters on the curve, that is mapped to the points defined by their index. + + + + + + + + + + + + + A curve that interpolates a list of points. + + + + The curve interpolates the list of points, typically with a b-spline. + In theory, the interpolation is somewhat ambiguous as it is not defined at which + curve parameter a point will be interpolated. + + To solve is ambiguity, an optional parameter map can be defined + that maps point indices with curve parameters. + + Kinks can also be modeled by populating the "kinks" array with the + indices of points that should be on a kink. As an example, look at the following image: + + + + + In this example, the kinks array will be "3;7". + Optionally, the parameters of the kinks can be set in the parameter map. + The whole profile looks as follows: + + +<pointList> + <x>...</x> + <y>...</y> + <z>...</z> + <kinks>3;7</kinks> + <parameterMap> + <pointIndex>3;5;7</pointIndex> + <paramOnCurve>0.2;0.5;0.8</paramOnCurve> + </parameterMap> +</pointList> + + + + + + + + + + + + Indices of points at which the curve has a kink. Each index is in the range [1, npoints]. + + + + + + Map between point index and curve parameter. + + + + + + + + + + + + + List of 2D points, kept in two coordinate vecors (x, y) + + + + This set of vectors contains an ordered list of points + for x and y coordinates in the form of stringBased Vectors. + The x and y vector elements with the same index specify a 2D + point. The coordinates of the x vector of [0, 1]. + + + + + + + + + + + Vector of x coordinates + + + + + Vector of y coordinates + + + + + + + + + + + + + Point in eta and xsi coordinates + + + Point described by eta-xsi coordinates. + Can be either segment or component segment coordinates. + + + + + + + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. + + + + + + + + + + + + + Relative height at eta, xsi position + + + Point described by eta-xsi and a relative height coordinate. + Can be either segment or component segment coordinates. + If relHeight is not given, the point has no offset from the eta-xsi plane + + + + + + + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative height position. + relHeight is relative to the local airfoil thickness. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. + + + + + + + + + + + + + Positive double values larger than 0 + + + + + + + + + + + + + + + + + Positive integer values larger than 0 + + + + + + + + + + + + + + + + + List of uIDs + + + + + + + + + + + Reference to a uID + + + + + + + + + + + + + + + + UIDGroupDefinitionType + + + + + + + + + + + + + + + + + + + + + + + + + + + UIDGroupDefinitionsType + + + + + + + + + + + + + + + + + + + + + + + Actuator attachment + + + + + + + + + + + + + Relative spanwise position of the actuator. + Eta refers to the dimensions of the control surface. + + + + + + + + + + + + + + + + + Definition of the position and material properties of + the control surface actuator attachment. + + + + Definition of the position and material properties of + the control surface actuator attachment. + Please refer to the picture below for the definition + of the parameters: + + + + + + + + + + + + + + Definition of the relative chordwise position + of the parent actuator attachment. Xsi refers to the parents + dimensions. + + + + + Definition of the relative height position of + the parent actuator attachment. relHeight refers to the parents + dimensions. + + + + + Definition of the material properties of the + actuator attachment at the parent. + + + + + + + + + + + + + actuatorFuselageWingAttachmentType + + + + + + + + + + + + + + + + + + + + + + + actuatorFuselageWingType + + + + + + + + + + + + + Reference to the actuator. + + + + + Definition of the actuator to fuselage + attachment. + + + + + Definition of the actuator to wing attachment. + + + + + + + + + + + + + + + Definition of the position and material properties of + the parent actuator attachment. + + + + Definition of the position and material properties of + the parent actuator attachment. + Please refer to the picture below for the definition + of the parameters: + + + + + + + + + + + + + + Definition of the relative chordwise position + of the parent actuator attachment. Xsi refers to the parents + dimensions. + + + + + Definition of the relative height position of + the parent actuator attachment. relHeight refers to the parents + dimensions. + + + + + Definition of the material properties of the + actuator attachment at the parent. + + + + + + + + + + + + + actuatorsFuselageWingType + + + + + + + + + + + + + Definition of one actuator (e.g. trim actuator + of an HTP) of the attachment. + + + + + + + + + + + + + aeroPerformanceMapRCType + + + AeroPerformanceMapRC type, containing a perfomance map + with aerodynamic data. Array order is: angleOfAttack min->max + then angleOfSideslip then altitude then machNumber + + + + + + + + + + Atmospheric model and temperature offset + + + + + Mach number + + + + + Altitude + + + + + Sideslip angle + + + + + Angle of attack + + + + + Name and version of the tool used to compute + the aerodynamic performance + + + + + Modeling level of the methods used to compute + the aerodynamic performance. The higher the analysisLevel, the + higher the quality of the results. Possible use of + analysisLevel: 0- 9 = Statistical models, 10-19 = Analytic + models, 20-29 = Lifting line method, 30-39 = Panel method, 40-49 + = Panel-BL-coupled method, 50-59 = Full potential method, 60-69 + = Full potential-BL coupled method, 70-79 = CFD euler method, + 80-89 = CFD euler-bl coupled method, 99-99 = CFD RANS method, + >=100 = Experimental data. + + + + + + + + + + + + + + + + + + + + aeroPerformanceMapsRCType + + + aeroPerformanceMapsRC type, containing multiple + aeroPerformanceMapRC nodes for different cases + + + + + + + + + + + + + + + + + + + aeroPerformanceType + + + aeroPerformance type, containing perfomance maps with + aerodynamic data of an airfoil. + + + + + + + + + + Aerodynamic performance map of the full + configuration + + + + + Aerodynamic performance maps of isolated + fuselages + + + + + Aerodynamic performance maps of isolated wings + + + + + + Aerodynamic performance maps of control + surfaces + + + + + Aerodynamic performance maps of isolated + airfoils + + + + + + + + + + + + + aeroelasticDivergenceType + + + AeroelasticDivergence type, containing the results from + aeroelastic analysis + + + + + + + + + + + + + + + + + + + aeroelasticStaticMaxDisplacementType + + + AeroelasticStaticMaxDisplacement type, containing the + Maximum static displacement from aeroelastic analysis + + + + + + + + + + Maximum translation + + + + + Maximum rotation + + + + + + + + + + + + + Aeroelasticity + + + Aeroelastics type, containing the results from + aeroelastic analysis + + + + + + + + + + + + + + + + + + + + Results from several analysis + modules connected to CPACS + + + AircraftAnalyses type, containing detailed analysis + data of the aircraft + Within this element results from analysis modules are + stored that rely to the overall definition of the aircraft. These + include e.g. aerodynamic data or loadCases + For further documentation please refer to the + respective elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Global data + + + AircraftGlobal type, containing global data of the + aircraft + + + + + + + + + + + designRange equals the full payload max + range, i.e. point B in payload range + diagramm + + + + + + + + + + + + + + + + + + + Aircraft model + + + + The aircraftModelType contains the geometric aircraft + model and associated data. + Elements specifying the geometry of the aircraft are fuselages, + wings, + engines (referenced via uID), + enginePylons, landingGear, + systems (to some extend) and genericGeometryComponents. + + Other elements are dedicated to additional data associated to this aircraft model. Brief and concise analysis results are stored + in the global node. The analysis node contains + extensive results from multidisciplinary analysis modules. + In the current CPACS version requirements only refer to the aircraft performance and are therefore specified in the + performanceRequirements node. + + + + + + + + + + + + Name of the aircraft model + + + + + + Description of the aircraft model + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aircraft + + + + The aircraftType contains a list of aircraft models. + + + Note: Since there is no distinction between plural and singular in English, aircraft + refers to plural form, while a single aircraft itself is referened as model. + + + + + + + + + + + + + + + + + + + + + airfoilAeroPerformanceType + + + airfoilAeroPerformance type, containing perfomance maps + with aerodynamic data of an airfoil. + + + + + + + + + + Reference to the uID of the analysed airfoil + + + + + + References used for the calculation of the + force and moment coefficients of the airfoil (in the airfoil + axis system!) + + + + + Calculated aerodynamic performance maps of the + airfoil + + + + + + + + + + + + + airfoilsAeroPerformanceType + + + airfoilsAeroPerformance type, containing + airfoilsAeroPerformance + + + + + + + + + + + + + + + + + + + airframeMaintenanceCostType + + + + + + + + + + + + + + + + + + + + + + + airlineType + + + Describes a specific airline and their fleet + + + + + + + + + + Name of the airline + + + + + Description of the airline + + + + + + + + + + + + + + + + Airlines + + + Contains a list of different airlines + + + + + + + + + + + + + + + + + + + airportCompatabilityGlobalType + + + + + + + + + + + + + + + + + + + + + + + + + + airportType + + + Airport type, containing data of an airport + + + + + + + + + + Name of airport + + + + + Description of airport + + + + + IATA 3-letter-code + + + + + ICAO 4-letter-code + + + + + Position in degrees north + + + + + Position in degrees east + + + + + Airport elevation + + + + + + + + + + + + + + + Airports + + + Airports type, containing data of the airports + + + + + + + + + + + + + + + + + + + + alignmentCrossBeamType + + + + + + + + + + + + + Offset in direction of extrusion, first side + (absolute value) + + + + + Offset in direction of extrusion, second side + (absolute value) + + + + + Rotation around local x axis (extrusion axis) + + + + + + Translation along local y axis (perpendicular + to extrusion axis) + + + + + Translation along local z axis (perpendicular + to x ynd y axes) + + + + + + + + + + + + + + alignmentFloorPanelType + + + + + + + + + + + + + Offset from seat rail 1 reference Position in + local y direction (in plane of panel, absolute value) + + + + + + Offset from seat rail 2 refernce position in + local y direction (in plane of panel, absolute value) + + + + + + Offset from seat rail 1 refernce position in + local z direction (in plane of panel, absolute value)) + + + + + + + + + + + + + + + alignmentStringFrameType + + + + + + + + + + + + + Rotation around local x axis (extrusion axis) + + + + + + Translation along local y axis (perpendicular + to extrusion axis) + + + + + Translation along local z axis (perpendicular + to x ynd y axes) + + + + + + + + + + + + + + alignmentStructMemberType + + + + + + + + + + + + + Offset in direction of extrusion (absolute + value) + + + + + Rotation around local x axis (extrusion axis) + + + + + + Translation along local y axis (perpendicular + to extrusion axis) + + + + + Translation along local z axis (perpendicular + to x ynd y axes) + + + + + + + + + + + + + + atmosphericModelType + + + Defines the the athmospheric model which should be used. + Currently there is only a single option which is ISA for ICAO Standard + atmosphere (ISA) from 1993. For more details on atmospheric + models, please refer to documentation of the <CPACS> root + element. + + + + + + + + + + Atmospheric model (e.g. ISA for ICAO Standard + atmosphere (ISA) from 1993). + + + + + + + + + + + + Offset from temperature of the atmospheric model [K]. + For more details on atmospheric models, please refer to documentation + of the <CPACS> root element. + + + + + + + + + + + + + Attachment pin of the wing-fuselage-attachment. + + + + Attachment pin of the wing-fuselage-attachment. + + + + + + + + + + + + + Definition which translation degrees of + freedom are blocked. Default x=0 (free); y=1 (blocked); z=1 + (blocked). + + + + + + + + + + + + + + + + Definition of attachment pins for the wing-fuselage + attachment. + + + Definition of attachment pins for the wing-fuselage + attachment. + + + + + + + + + + + + + + + + + + + Axle + + + Geometric description and material properties of the + landing gear axle + + + + + + + + + + Length of the axle. For a single wheel, the length is equal to the distance between the center of the piston and the center of the wheel. For two wheels, the length is equal to the distance between the centers of the wheels with the axis being centered w.r.t. to the Piston. + + + + + Axle shaft properties + + + + + Number of wheels attached to this axle + + + + + Defines the side of the first wheel (inboard or outboard; inboard corresponds to the negative y-direction or in flight direction left) for odd number of wheels on this axis. Each additional wheel is the added on the opposite site of the previous wheel. + + + + + + + + + + + + Properties of the wheel(s) attached to this axle. If more than one wheel is attached, all wheels on a single axis have the same properties. + + + + + + + + + + + + + + Definition of the landing gear wheel. + + + The center plane of the wheel is located on the end point of the axle. + + + + + + + + + + Wheel radius + + + + + With of the wheel + + + + + Brake: false = + not braked; true = braked. + + + + + + + + + + + + + + beamCrossSectionType + + + beamCrossSectionType, containing the beam geometrical + properties + + + + + + + + + + + + + + + + + + + + + + + + beamStiffnessType + + + globalBeamStiffnessType, containing the beam + stiffnesses such as EA, EI + + + + + + + + + + + + + + + + + + + + + + + + + + blockedDOFType + + + + + + + + + + + + + + + + + + + + + + + Bogie + + + Geometric description and material properties of the + landing gear axle bogie (including the axle configuration) + + + + + + + + + + Length of the bogie + + + + + Tilt angle of the bogie in airborne conditions + + + + + + + + + + + + + + + + Bogie axle assembly + + + Description of an axle installed on the bogie and its + relative position to it + + + + + + + + + + + Relative position of the axle to the bogie (if more than one axle is defined; 0 = forward end of bogie; 1 = rear end of bogie) + + + + + + + + + + + + + + + + + + + Bogie axle assemblies + + + + A list of axles that are attached to the bogie + and their relative position to it + + + + + + + + + + + + + + + + + + + + Cabin aisles + + + + + + + + + + + + + + + + + + + + + + Space + + + spaces describe areas in the cabin that need to be + clear for use as emergency area. Depending on the type of area, + it can have a height limit. The spaces are required for + downstream cabin design, for example to describe an empty cabin. + + + + + + + + + + + Name + + + + + Description + + + + + Vector with x-coordinates. These describe an area, so they + are not monotonous ascending. + + + + + Vector with y-coordinates at given x-coordinates. Warning: + x-y do not represent a function as single x-positions can have + multiple y-coordinates. Hence, no interpolation is possible. + + + + + + Height above the floor that is required to + be empty of any objects + + + + + + + + + + + + + + Cabin spaces + + + + + + + + + + + + + + + + + + + + + + Cap + + + + SparCap type, containing the cross section area of the + spar cap and the material properties. + Pleas find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + + + + + + + + + + + Area of the cap + + + + + + + + + + + + + + cargoCrossBeamStrutsAssemblyType + + + CargoCrossBeamStrutsAssembly type, containing cargo + crossBeam strut assemblys + + + + + + + + + + + + + + + + + + + cargoCrossBeamsAssemblyType + + + CargoCrossBeamsAssembly type, containing cargo + crossBeam assemblys + + + + + + + + + + + + + + + + + + + cargoDoorsAssemblyType + + + CargoDoorsAssembly type, containing cargo door + assemblys + + + + + + + + + + + + + + + + + + + Chordwise positioning of wing cells. + + + CellPositioningChordwise defines the chordwise direction of a wing cell either in two xsi + (xsi1 at innerBorder and xsi2 at outerBorder) coordinates, via referencing a spar-uID or via a + contour coordinate in chordwise direction. + + + + + + + + + + + Relative chordwise position of the inner end. + + + + + Relative chordwise position of the outer end. + + + + + + Reference to a spar as chordwise border. + + + + + Chordwise contour coordinate as chordwise border. 0 equals LE, 1 equals TE. + + + + + + + + + + + + + Spanwise positioning of wing cells. + + + CellPositioningSpanwise defines the chordwise direction of a wing cell either in two eta + (eta1 at leadingEdge and eta2 at trailingEdge) coordinates, via referencing a rib-uID or via a contour + coordinate in chordwise direction. + + + + + + + + + + + Relative spanwise position of the forward end. + + + + + Relative spanwise position of the rear end. + + + + + + + RibNumber is the reference to the rib number of the rib set which is referenced by 'ribDefinitionUID'. + + + + + Reference to a ribDefinition set. The single rib of this ribDefinition set is defined by using 'ribNumber'. + + + + + + Spanwise contour coordinate as spanwise border. 0 equals root, 1 equals tip. + + + + + + + + + + + + + centerFuselageAssemblyType + + + CenterFuselageAssembly type, containing wing box + assemblys + + + + + + + + + Choise between diffent center fuselage + modelling options + + + + Simplified center fuselage definition (rigid + body) + + + + UID of first frame in rigid center fuselage + area + + + + + UID of last frame in rigid center fuselage + area + + + + + UID of start stringer to define center + fuselage area + + + + + UID of end stringer to define center fuselage + area + + + + + + Detailled low wing center fuselage definition + (draft definition) + + + + + + Detailled high wing center fuselage definition + (draft definition) + + + + + + + + + + + + + + + centerFuselageAreasAssemblyType + + + centerFuselageAreasAssembly type, containing center + fuselage area assembly + + + + + + + + + + + + + + + + + + + centerFuselageHighWingConfiguration + + + + + + + + + + + + + + + + + + + + + + centerFuselageKeelbeamType + + + CenterFuselage / Keelbeam definition between mainframe1 + und mainframe3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + centerFuselageLateralPanelsType + + + CenterFuselage / lateral Panel definition between + mainframe2 und mainframe3 + + + + + + + + + + + + + + + + + + + + + + + + + + centerFuselageLongFloorBeamConnectionType + + + CenterFuselage / Long. floor beam connection + + + + + + + + + + + + + + + + + + + + + centerFuselageLowWingConfiguration + + + + + + + + + + + + + + + + + + + + + + + + + centerFuselageMainFramesType + + + CenterFuselage / main frame definition, containing + mainframe and pressure Bulkhead definitions + + + + + + + + + + + + + + + + + + + + + + + + centerFuselagePressureFloorType + + + CenterFuselage / pressure floor definition between + mainframe2 und mainframe3 + + + + + + + + + + + + + + + + + + + + + + + + centerFuselagePressureFloorType + + + CenterFuselage / side box definition between mainframe2 + und mainframe3 + + + + + + + + + + + + + + + + + + + + + certificationCasesType + + + + + + + + + + + + + + + + + + + + + + chargesCostType + + + + + + + + + + + + + + + + + + + + + + + + + + cockpitControlType + + + single cockpitControl is defined by a pilotInput and a + commandOutput. The commandOutput is linked to the commandCase + + + + + + + + + + + + + + + + + + + + + + + + + cockpitControlsType + + + Cockpit controls type, containing the cockpit controls + + Some controls are mandatory, others can be added via + cockpitControl elements + + + + + + + + + + + + + + + + + + + + + + commandCaseCommandType + + + single commandCaseCommand can either hold a + controlFunction or a controlDistributor + + + + + + + + + + + + + + + + + + + + + + + commandCaseType + + + single commandCase Containing several + commandCaseCommands + + + + + + + + + + + + + + + + + + + + + + commandCasesType + + + plural Element for commandCase, some fixed dp, dq, dr + and dx, dy, dz + + + + + + + + + + + + + + + + + + + + + + + + + componentCostType + + + + + + + + + + + + + + + + + + + + + + Load envelope + + + List of load cases defining a load envelope + + + + + + + + + + + Name + + + + + Description + + + + + UID of the corresponding point set + + + + + + List of uIDs defining the loads envelope + + + + + + + + + + + + + componentSegmentPathType + + + + + + + + + + + + + Definition of hingePoint of the + componentSegment. The hingePoint is used as reference point for + the deflection definition. + + + + + Definition of the orientation of the hinge + line with three Euler-rotation angles. The hinge line is + oriented along the global y-axis if all rotations are 0. + + + + + + Definition of all steps of the deflection + path. + + + + + + + + + + + + + componentSegmentStepType + + + + + + + + + + + + + The control parameter is used to reference the + state of a control device, e.g. in the load + case description. Can have any value and is NOT limited to the + range of -1 to 1. + + + + + Translation along the x-, y- and z-Coordinate + of the rotated hinge coordinate system. + + + + + Rotation around the hinge line. + + + + + + + + + + + + + + componentSegmentStepsType + + + + + + + + + + + + + Definition of one step of the deflection path. + + + + + + + + + + + + + + ComponentSegment of the wing. + + + + Within componentSegments the wing structure, the + control surfaces, the wing fuel tanks and the + wingFuselageAttachment is defined by using relative coordinates. + + A componentSegment is defined in the same way as + segments: from one cross section (sections->elements) to + another. Compared to segments one componentSegment can can start + and end at elements that are not consecutive. Therefore that one + componentSegment can be the combination of several segments. + Each wing has at least one componentSegment (from root to tip). + The maximal number of componentSegments equals the number of + segments (each segment is defined as one componentSegment). + This also implies that each segment can only be part of one componentSegment. + + In principal a componentSegment can combine any number + of segments. But if in one section two elements are defined, the + componentSegment has to start/end there as no well-defined + relative coordinats can be defined if steps in the wing occure. + + An example for wing componentSegments can be found in + the picture below: + + + + Within componentSegments a relative spanwise + coordinate (eta) and a relative chordwise coordinate (xsi) is + defined. Those coordinates are used for the definition of e.g. + wing structures and control surfaces. there are two types of eta xsi coordinates. + Segment (eta, xsi) coordinates define the relative local coordinate system for a segment ranging from (0,0) to (1,1). + + + + + + The eta xsi coordinates for a component segment are based on the segment eta xsi planes. + As a reference length for the component segment eta coordinate the + mid chord lines of all the segments are used. + The beginning of this line at from-element equals eta = 0, while the end of this line + at the to-element equals eta = 1. All wing positions that lie on the same + element (segment border) have the same eta coordinate. The points inbetween + two elements are defined by the iso xsi lines of the segment eta xsi space. + An example for the definition of the relative axes can + be found in the picture below: + + + + + In order to calculate the global coordinates of a component segment eta xsi point + one first has to calculate the eta point on the xsi iso line of (xsi=0.5), + and then walk along the iso eta lineof the segment. + + An example for determining the a component + eta xsi point can be found in the picture below: + + + + + + + + + + + + + + + + + + + + + + + + Name of the wing componentSegment. + + + + + + + Description of the componentSegment. + + + + + + + Reference to the element from which the + componentSegment shall start. + + + + + + + Reference to the element from which the + componentSegment shall end. + + + + + + + + + Description of deflection path of + componentSegments (e.g. used for + trimmable HTPs). + + + + + + + + + + + + + + + + + + + ComponentSegments of the wing. + + + ComponentSegments type, containing all the + componentSegments of the wing. + + + + + + + + + + + + + + + + + + + compositeLayerType + + + CompositeLayer type, conatining data of a composite + layer + + + + This type defines single composite layers by + giving a ply thickness, ply reference angle and a materialUID. + + + + + + + + Name of layer + + + + + Description of layer + + + + + Thickness of layer + + + + + Angle of layer in degree + + + + + Material UID of the layer + + + + + + + + + + + + + compositeType + + + Composite type, conatining data of a composite + + + + + Within this type individual stackings of + composites can be introduced by defining an offset and a set of + composite layers. The order of the composite layers defines the + stacking order. + + + + + + + Name of composite + + + + + Description of composite + + + + + offset of the laminate. The reference plane of + the laminate is the arithmetic mean of the laminate thickness. + + + + + + + + + + + + + + + + compositesType + + + + + + + + + + + + + + + + + + + + + + connectivitiesType + + + + + + + + + + + + + + + + + + + + + + connectivityType + + + + + + + + + + + + + + + + + + + + + + + + + + Constraints + + + + Constraint settings for the point performance definition + + + + + + + + + + + Calibrated airspeed [m/s] + + + + + + + Mach number [-] + + + + + + + Climb angle [deg] + + + + + + + Rate of climb [m/s] + + + + + + + Rate of turn [deg/s] + + + + + + Thrust setting for derated engine as fraction of max. thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres) + + + + + + + Rate of velocity [m/s^2] + + + + + + + Duration [s] + + + + + + + Angle of attack [deg] + + + + + + + Constant altitude [m] + + + + + + + + + + + + + + Constraint + + + + + Specification of performance constraints. + + Constraints allow vectors of double values to define parameter lapses within a mission segment. The example below illustrates this by means of an exemplary climb profile of a conventional airliner, in which multiple physical and regulatory speed constraints are simultaneously specified over several altitudes (e.g., to account for the crossover altitude): + <endCondition> + <positionGeo> + <altitude relationalOperator="ge" uID="altClimb">10058.4</altitude> <!-- FL330 --> + </positionGeo> +</endCondition> +<constraint> + <referenceEndConditionUID>altClimb</referenceEndConditionUID> + <endConditionRatio>0.0;0.303</endConditionRatio> <!-- FL0, FL100 --> + <continuitySetting>discrete</continuitySetting> + <CAS relationalOperator="le">128.61;154.33</CAS> <!-- 250 [kt], 300 [kt]--> + <machNumber relationalOperator="le">0.78;0.78</machNumber> + <prioritySetting>velocity</prioritySetting> +</constraint> + + + From FL0 until FL100, the vehicle should fly at a velocity less than or equal to CAS = 250 kt or M = 0.78. In this first segment at low altitudes, the constraint on CAS is triggered. + + + From FL100 until FL330, the vehicle should fly at a velocity less than or equal to CAS = 300 kt or M = 0.78. In this second segment, the vehicle starts by increasing velocity until 300 kt, the constraint on maximum machNumber triggers from the crossover altitude onwards + + + + + + + + + + + + + Reference to the uID of the segment end condition variable + + + + + + + Vector indicating the ratios of the constraintSettings profile with respect to the provided referenceEndCondition, ranging from 0 to 1. If this vector is defined, the provided constraintSettings are expected to be vectors with the same length providing ratio-value pairs. Example: for referenceEndCondition <range><z> (i.e.: flown distance in z direction of the segment), a vector of <CAS> and <machNumber> is provided to define a climb profile. + + + + + + Defines how to interpret the parameter lapses within the segment: discrete steps (C0 continuity) or linear interpolation (C1 continuity) + + + + + + + + + + + + + + + Calibrated airspeed within the + segment + + + + + + + Mach number within the segment + + + + + + + Climb angle within the segment + + + + + + + Climb angle within the segment + + + + + + + Specific excess power within the segment + (e.g.: for defining minimum SEP to + remain after step climbs have been + performed). + + + + + + + Altitude difference of each step climb + + + + + + + + Flight heading at the end of the + segment in compassAngle with + reference to true North [deg] + + + + + + + Total change of heading angle during + segment (a full turn is 360 degrees) + [deg] + + + + + + + + Rate of turn within the segment + + + + + + + Thrust setting for derated engine as + fraction of max. Thrust (e.g.: for + powered descents, deceleration not at + IDLE, manoevres). + + + + + + + Rate of velocity within the segment + + + + + + + Load factor experienced during segment + + + + + + + Constant altitude for the segment. + + + + + + + priority setting indicating which + constraint is preferred within the + segment + + + + + + + + + + + + + + + + + + + + + + Airfoil definition of an control surface at the + inner/outer border. + + + + Optional definition of the exact airfoil shape at the + inner/outer border of the control surface. + The airfoil shape is defined via referencing to the + airfoilUID. As the leading and trailing edge point is fix due to + the outer shape definition of the control surface the airfoil + can only be rotated around the x-axis (axis going from leading + to trailing edge of the inner/outer border of the control + surface). Scaling in x-direction is also defined by the outer + shape, wherefore only scaling in y and z direction is allowed. + + + + + + + + + + + + Reference to the airfoil uID. + + + + + + Rotation around an axis, going from the + leading edge point to the trailing edge point of the inner/outer + border of the control surface. Defaults to 90°, which is + equivalent to perpendicular on the control surface middle plane. + + + + + + Scaling of the airfoil in spanwise direction + (not used for 2D airfoils). + + + + + Scaling in thickness direction of the airfoil. + + + + + + + + + + + + + + controlDistributorType + + + + single controlDistributor bundling several + controlElements + Within some analyses, it might occur that overlapping control element settings are specified. In this case, + it is assumed that a cumulative setting is built by summing up the individual settings. As the behavior of these settings + is not necessarily linear, a certain order of summation has to be followed: + + (1) The command inputs for each controlDistributor, coming from the configurationUID, as well as from separate settings have to be summed up to a total commandInput. + (2) With this total commandInput, each corresponding controlDistributor definition has to be evaluated, in order to get controlParameter settings for a number of controlDevices. + (3) All controlParameter settings for a controlDevice, coming from the configurationUID, from the controlDistributors and from separate controlDevice settings have to be summed up to get a total controlParameter for each controlDevice. + (4) With this total controlParameter, each corresponding controlDevice definition has to be evaluated, in order to find out what the control device finally is doing. + (5) During the summation process (depending on the order of processing within step 1 to 4), commandInputs or controlParameters might exceed the specified limits for that controlDistributor or controlDevices. As an intermediate result, this should be accepted – however, when it comes to evaluation in step 2 and 4, all commandInputs and controlParameters have to be within the specified limits. + + + + + + + + + + + + + + Vector of command inputs. The minimum and maximum value is given by the lowest and highest entry of the vector, respectively. + + + + + + + + + + + + + + + controlDistributorsType + + + plural Element for controlDistributor + + + + + + + + + + + + + + + + + + + controlElementType + + + Single controlElement linking the inputs of a controlDistributor via a gain + table to a contol device by using its uID. Controls can be ControlSurfaces and in the + future thrust. + + + + + + + + + + UID of the control device, e.g. a control surface. It is not allowed to reference another control distributor. + + + + + Vector of control device states resulting from the input commands. It must be of the same length as the inputCommands element. + The minimum and maximum values are defined according to the minimum and maximum values of the input commands. + + + + + + + + + + + + + controlElementsType + + + plural Element for controlElement + + + + + + + + + + + + + + + + + + + controlFunctionType + + + single controlFunction containing the controller's + parameters + + + + + + + + + + + + + + + + + + + + + + + + + + controlFunctionsType + + + plural Element for controlFuntion + + + + + + + + + + + + + + + + + + + controlLawModeType + + + Control Laws type, containing the aircraft's control + law mode + + + + + + + + + + + + + + + + + + + controlLawModesType + + + Control Laws type, containing the aircraft's control + law modes + + + + + + + + + + + + + + + + + + + controlLawsType + + + Control Laws type, containing the aircraft's control + laws + + + + + + + + + + + + + + + + + + + + Definition of an actuator of the control surface, that + is not placed within a track. + + + Definition of an actuator of the control surface, that + is not placed within a track. + + + + + + + + + + Reference to the actuator (actuator definition + currently not available in CPCAS, status 1.6). + + + + + + + + + + + + + + + + Definition of actuators of the control surface, that + are not placed within a track. + + + Definition of actuators of the control surface, that + are not placed within a track. + + + + + + + + + + + + + + + + + + + Airfoil definition of an control surface between inner + and outer border. + + + + Optional definition of the exact airfoil shape between + the inner and outer border of the control surface. + The airfoil shape is defined via referencing to the + airfoilUID. As the leading and trailing edge point is fix due to + the outer shape definition of the control surface the airfoil + can be rotated around the x-axis (axis going from leading to + trailing edge of the control surface) and around the z-axis + (normal axis on the control surface middle plane). Scaling in + x-direction is also defined by the outer shape, wherefore only + scaling in y and z direction is allowed. + + + + + + + + + + + Relative spanwise coordinate (eta) of the + control surface, where the leading edge of the airfoil is + placed. + + + + + Reference to the airfoil uID. + + + + + + Rotation around an axis, going from the + leading edge point to the trailing edge point of the control + surface. Defaults to 90°, which is equivalent to perpendicular + on the control surface middle plane. + + + + + Rotation of the airfoil around the control + surface middle plane normal direciotn. Reference point is the + most forward point of the airfoil. Defaults to 90°, which is + equivalent to the airfoilplacement in flight direction (along + wings-x axis). + + + + + Scaling of the airfoil in spanwise direction + (not used for 2D airfoils). + + + + + Scaling in thickness direction of the airfoil. + + + + + + + + + + + + + + Inner/outer border of the control surface. + + + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the leading edge + devices 'hollow'. If an exact control surface airfoil definition + should be used, outerShape->airfoils can be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + + + + + + + + + + + Relative spanwise inner/outer position of the + leading edge of the control surface. + + + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Defaults to 'etaLE'. + + + + + + Relative chordwise inner/outer position of + the trailing edge of the control surface. Reference is eta/xsi + from the parent. + + + + + + + + + + + + + + + + + + + + + + + Inner/outer border of the control surface. + + + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the + spoiler'relHeightLE' is used. If an exact control surface + airfoil definition should be used, outerShape->airfoils can + be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + + + + + + + + + + + Relative spanwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. Defaults to 'etaLE'. + + + + + Relative chordwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + Relative chordwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. + + + + + + Defines the relative high of lowest point of + the spoiler leading edge, relative to the airfoil height of the + parent at this position. See picture below. + + + + + + + + + + + + + + + + Inner/outer border of the control surface. + + + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the trailing edge + device this is done at 'leadingEdgeShape', for the spoiler + 'relHeightLE' is used and for the leading edge devices 'hollow'. + If an exact control surface airfoil definition should be used, + outerShape->airfoils can be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + + + + + + + + + + + Relative spanwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. Defaults to 'etaLE'. + + + + + Relative chordwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + + + + + + + + + + + + Optional definition of the exact airfoil shape of the + control surface. + + + + + + + + + + + + + + + + + + + + + + This type contains a vector of deflection values for a + single control surface + + + + + 0. General overview + + In this type, a vector of deflections of a single + control surface is specified. + + + + 1. + <controlSurfaceUID> + (mandatory) + + + A reference to a control surface from the aircraft + model + + + + 2. + <controlParameters> + (mandatory) + + + A vector of controlParameters of the selected + control surface (with respect to the defined deflection path). + + + + + + + + + + + + + + Reference to a control surface + + + + + + Control parameters of the control surface + + + + + + + + + + + + + + This type contains a list of control surfaces and their + deflection vectors + + + + + 0. General overview + + In this type, a list of control surfaces is defined. + + + + + 1. + <controlSurface> + (mandatory) + + + One of these nodes per deflected control surface is + required here. + + + + + + + + + + + + + + + + + + + + + + controlSurfaceHingeMomentMapType + + + controlSurfaceHingeMomentMap type, containing a moment + map with aerodynamic data for a control surface. Array order is: + controlParameters min->max then angleOfAttack then angleOfSideslip + then reynoldsNumber then machNumber. AngleOfAttack, angleOfSideslip, + reynoldsNumber and machNumber are taken from the basic + performance map one level above. + + + + + + + + + + Reference to the control surface + + + + + + Control parameters of the control surface + + + + + + + + + + + + + + + + + + + + controlSurfaceHingeMomentMapsType + + + controlSurfaceHingeMomentMapsType type, containing the + aerodynamic moment maps for one or more control surfaces. + + + + + + + + + + + + + + + + + + + + controlSurfaceHingePointType + + + + The deflection path of a control surface is described + with respect to two hinge points - one at the inner border of + the control surface and one at the outer border of the control + surface. Those two points are defined using the xsi and relative + height coordinates of the parent. Therefore those points can also + lay outbound of the control surface. Those two points defined + the hinge line, which is a straight line between the two points. + + An example can be found below: + + + + + + + + + + + + + + Relative chordwise coordinate (xsi) of the + hinge line point. Reference is the parent chord. + + + + + + Relative height of the hinge line point. + Reference is the parent airfoil height. + + + + + + + + + + + + + Outer shape definition of the control surface. + + + + + Definition of the outer shape of the leading edge + control surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + + + + + + + + + + + + + + + + + + + Outer shape definition of the spoiler control surface. + + + + + Definition of the outer shape of the control surface. + + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + + + + + + + + + + + + + + + + + + + Outer shape definition of the control surface. + + + + + Definition of the outer shape of the trailing Edge + control surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + + + + + + + + + + + + + + + + + + + Definition of the deflection path of the control + surface. + + + + The deflection path of a control surface is described + with respect to two hinge points - one at the inner border of + the control surface and one at the outer border of the control + surface. Those two points are defined using the xsi and relative + height coordinates of the parent. Therefore those points can also + lay outbound of the control surface. Those two points defined + the hinge line, which is a straight line between the two points. + + The deflection path of the control surface is defined + within the hinge line coordinat system. This is defined as + follows: The x-hinge coordinate equals the wing x-axis. The + y-hinge coordinate equals the hinge line axis (see above; + positive from inner to outer hinge point). The z-hinge line is + perpendicular on the x-hinge and y-hinge coordinate according to + the right hand rule. The rotation of the control surface is + defined as rotation around the positive y-hinge line. + + The deflection of the is defined in any number of + steps. The deflection of the control surface is done as follows: + First the x-deflection at the inner and outer border; afterwards + the z-deflection of the inner and outer border; last the + y-deflection of the inner border. The y-deflection is only + defined at the inner border, as it is identical to the outer + border. If no values for the outer border deflection are given, + they default to the values of the inner border. + An example can be found below: + + + + + + + + + + + + + + + + + + + + + + + + + controlSurfacePerformanceMapType + + + ControlSurfacePerformanceMap type, containing a delta + performance map with aerodynamic data for a control surface. Array + order is: relativeDeflection min->max then angleOfAttack then + angleOfSideslip then altitude then machNumber. AngleOfAttack, + angleOfSideslip, altitude and machNumber are taken from the + basic performance map one level above. + + + + + + + + + + Reference to the control surface + + + + + + Relative deflection of the control surface + + + + + + + + + + + + + + + + + + + + controlSurfacePerformanceMaps + + + controlSurfacePerformanceMaps type, containing the + aerodynamic delta performance maps for one or more control + surfaces. + + + + + + + + + + + + + + + + + + + Border type for the inner and outer border of a wing + cut out + + + + Maybe applied to specifiy inner and outer border of + the cutout either via eta or rib references + + + + + + + + + + + + + + + Link to a rib definition + + + + + + Rib number in the corresponding + ribDefinitionUID + + + + + + + Spanwise location of the border at the + leading edge of the cut out + + + + + Spanwise location of the border at the + trailing edge of the cut out + + + + + + + + + + + + + + Cut out of the parents upper/lower skin due to a + control surface. + + + + Optional. Definition of the skin cut out due to a + control surface. The cut out of the skin can either be defined + by referencing to a spar uID or by defining the relative chord + values (xsi) of the cut at the inner and outer border of the + control surface. The xsi value is based on the parents chord. + For leading edge devices additional parameters can be defined. + + An example for wing cut outs can be found in the + picture below: + + + + + + + + + + + + + + + Xsi value of the inner border, where the cut + out begins. + + + + + Xsi value of the outer border, where the cut + out begins. + + + + + + Reference to a spar, defining the skin cut + out. + + + + + + + + + + + + + controlSurfaceStepType + + + + The deflection path of the control surface is defined + within the hinge line coordinat system. This is defined as + follows: The x-hinge coordinate equals the wing x-axis. The + y-hinge coordinate equals the hinge line axis (see above; + positive from inner to outer hinge point). The z-hinge line is + perpendicular on the x-hinge and y-hinge coordinate according to + the right hand rule. The rotation of the control surface is + defined as rotation around the positive y-hinge line. + + The deflection of the is defined in any number of + steps. The deflection of the control surface is done as follows: + First the x-deflection at the inner and outer border; afterwards + the z-deflection of the inner and outer border; last the + y-deflection of the inner border. The y-deflection is only + defined at the inner border, as it is identical to the outer + border. If no values for the outer border deflection are given, + they default to the values of the inner border. + An example can be found below: + + + + + + + + + + + + + + The control parameter links a generic floating point value to + a certain status of a control device (e.g. control surface, landing gear, suction + system, brake parachute, ...). See the documentation of the global CPACS-Element for + further information. + + + + + + Translation of the inner hinge line point + within the hinge line coordinate system. Defaults to zero. Not + allowed for spoilers! + + + + + Translation of the outer hinge line point + within the hinge line coordinate system. Defaults to the values + of the inner hinge line point. Not allowed for spoilers! + + + + + + Positve rotation around the hinge line, + heading from the inner to the outer border. Defaults to zero. + + + + + + + + + + + + + + Definition of the steps of the control surface + deflection path. + + + + List of steps. + + + + + + + + + + + + + + + + + + + + Control surface tracks (mechnaical link between control + surface and parent). + + + + A track generally describes the structural connection between a control surface and a wing (or parent element). For example, a track can be a flap track, a revolute joint connecting an aileron or spoiler, or the kinematics of slats on a wing. + The spanwise position of the track is defined by + etaPosition, which refers to the control surface dimensions. + + The structural properties of the track (e.g. + materials) are defined in trackStructure. + If an actuator is included into the the track, a + reference is given in actuator. + The principal kinematic of the track is defined by + setting the trackType and trackSubType. Please refer to the + tables below for setting the trackType and trackSubType + parameter. Note, those tables are not final - they are extended + continuously. + + + + Trailing edge track types + + + trackType + picture + description + trackSubType + picture + description + + + 1 + + + + + + Revolute joint; no actuators; the revolute joint is on TED hinge line. + 1 + + + + + + Revolute attached at the wings rear spar and the TEDs front spar respectively the load + carrying ribs of the TED. + + + 2 + + + + + + Revolute joint; dropped hinge; linear or rotary actuator (subtype-dependent) included. + The drive strut (if any) is defined as strut1. + 1 + + + + + + Box beam design as wing attachment; rotary drive attached at wing rear spar. + + + + + + 2 + + + + + + Wing attachment at wing rear spar; rotary drive attached at wing rear spar + + + + + + 3 + + Track mounted inside the fuselage at wing root. + + + 3 + + + + + + Upside-down, forward link in conjunction with a straight track on a fixed structure + as aft. support; including rotary drive. + 1 + + + + + + Wing attachment using a box beam design where track is mounted; rotary actuator mounted + at the wing rear spar. + + + + + + 2 + + Track mounted inside the fuselage at wing root. + + + 4 + + + + + + Straight and sloped track on a fixed structure as forward support and an upright link as + aft. support; linear or rotary actuator (subtype-dependent) included. + 1 + + + + + + Wing attachment using a box beam design where the track is mounted; rotary actuator at + the wing rear spar. + + + + + + 2 + + + + + + Wing attachment using a box beam design where track is mounted; rotary actuator mounted + on the track. + + + + + + 3 + + Track mounted inside the fuselage at wing root. + + + + + + + + + + + + + + Relative chordwise position of the track. Eta + refers to the control surface. + + + + + Type of the track. Please refer to the remarks + of the controlSrufaceTrackTypeType for details. + + + + + + + + + + + + + + + + Type of the track. Please refer to the remarks + of the controlSrufaceTrackTypeType for details. + + + + + + + + + + + + + + + + + + + + + + + + + + Control surface tracks (mechnaical link between control + surface and parent). + + + + + + + + + + + + + + + + + + + + + + Cut out of the parents structure due to a control + surface. + + + + Optional. Definition of the parents structure cut out + due to a control surface. The cut out is split into three parts: + cut out of the upper and lower skin and the definition of an + profile conecting the cut out of the upper and lower skin. + + An example for wing cut outs can be found in the + picture below: + + + + In the default configuration the cut out is as wide as + the control surface. If additional spacing is necessary inner + and outer border may be set. + + + + + + + + + + + + + + + + + + + + + + + + + controlSurfacesType + + + Definition of the outer shape, structure and deflection + of all control surfaces (flaps, slats, soiler, ailerons...) of + the wing. + + + + + + + + + + + + + + + + + + + + + costAirConditioningSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costAutomaticFlightSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costAuxilaryPowerUnitsType + + + + + + + + + + + + + + + + + + + + + + + + + costBleedAirSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costCommunicationSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costComponentsType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + costDeIcingSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costElectricalSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costEnginePylonsType + + + + + + + + + + + + + + + + + + + + + + + + + costEquippedEnginesType + + + + + + + + + + + + + + + + + + + + + + + + + costFireProtectionSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costFixedEmergencyOxygenSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + + costFlightControlSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costFuelSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costFurnishingElementsType + + + + + + + + + + + + + + + + + + + + + + + + + + + costFurnishingsType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + costFuselagesType + + + + + + + + + + + + + + + + + + + + + + + + + costHydraulicSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costInstrumentSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costLandingGearType + + + + + + + + + + + + + + + + + + + + + + + + + costLightingSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costNacellesType + + + + + + + + + + + + + + + + + + + + + + + + + costNavigationSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costPowerUnitsType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + costSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + costWaterInstallationSystemsType + + + + + + + + + + + + + + + + + + + + + + + + + costWingsType + + + + + + + + + + + + + + + + + + + + + + + + + + + crashLoadCasesType + + + + + + + + + + + + + + + + + + + + + + crashLoadcaseType + + + CrashLoadcase type, containing a crash loadcase + + + + + + + + + + + + + Optional start of crash section: Default: + first frame of model + + + + + Optional end of crash section: Default: last + frame of model + + + + + Initial velocities + + + + + Initial rotations around axes, roll, pitch, + yaw + + + + + Initial rotational velocities aroud axes + + + + + + Definition of reference point to consider + rotation + + + + + AccelerationFields, usually gravity in z + + + + + + Definition of impact Surface for crash + simulation + + + + + + + + + + + + + + + + + + + + + + + crewCostType + + + + + + + + + + + + + + + + + + + + + + + + crossBeamAssemblyPositionType + + + CrossBeamAssemblyPosition type, containing the position + of a crossBeam assembly + + + + + + + + + + UID of profile based structural element to be + used as crossbeam + + + + + UID of the frame to which the crossbeam is + attached + + + + + Referenze z position of the crossbeam + + + + + + + + + + + + + + + + crossBeamStrutAssemblyPositionType + + + CrossBeamStrutAssemblyPosition type, containing a + crossBeam strut assembly position + + + + + + + + + + UID of profile based structural element to be + used as crossbeam strut + + + + + UID of the frame to which the crossbeam strut + is attached + + + + + UID of the crossbeam to which the crossbeam + strut is attached + + + + + Referenze y position of the strut at the + crossbeam intersection + + + + + angle of the strut in global yz plane + + + + + + + + + + + + + + + + cruiseRollerType + + + + + + + + + + + + + Definition of the position of the mid point of + the roll of the cruise roller. + + + + + Definition of the attachment of the cruise + roller to the parent of the flap. This is the track on which the + roll rolls during retracted flap position + + + + + Definition of the attachment of the cruise + roller to the flap. + + + + + Degree of freedom that is blocked by the + cruise roller if the flap is in retracted position. Positive = + cruise roller blockes bending in the direction of the upper skin + of the parent. Negative = cruise roller blockes bending in the + direction of the lower skin of the parent. + + + + + + + + + + + + + + cruiseRollersType + + + + + + + + + + + + + Definition of one cruise rollers/mid-span + stops. + + + + + + + + + + + + + cst2DType + + + + + + + + + + + A 2D impelmentation for Class shape + transformations. For more details look at AIAA Journal of Aircraft + Vol.45 No.1 2008 + + + + + The psi vector for definition of the class and + shape function, i.e. the points at which the CST functions will + be evaluated + + + + + N1 for the class function for the upper side + of the profile + + + + + N2 for the class function for the upper side + of the profile + + + + + B Coefficients for the Bernstein polynominal + on the upper side + + + + + N1 for the class function for the lower side + of the profile + + + + + N2 for the class function for the lower side + of the profile + + + + + B Coefficients for the Bernstein polynominal + on the lower side + + + + + Optionally, the trailingEdgeThickness of the + profile + + + + + + + + + + + + + + + + + + + + + + + curvePointType + + + Point on a curve in normalized curve coordinates. + The referenceUID must reference a one-dimensional curve such as spars. + + + + + + + + + + Relative position on the referenced line/curve. + + + + + This reference uID determines the reference curve. + If it points to a spar, then the eta value is considered to be a spar coordinate + between start (eta=0) and end (eta=1) of the spar. + + + + + + + + + + + + + cutLoadIntegrationPointsType + + + cutLoadIntegrationPoints are defined in a vector + notation, due to the high amounts of data. Usually they well be + defined inbetween the ribs. Each point must have an id. + Optionally it is possible to rotate the orientation within a + cutloadIntegrationPoint to obtain meaningful results. The + orientation is optional and relative to the CPACS coordinate + system + + + + + + + + + + + + + + + + + + + + + + + + + Additional definition of the leading edge cut out. + + + + + Optional. Definition of additional parameters, + describing the shape of the parents leading edge of the cut out + due to leading edge devices. + The parameters are described in the picture below: + + + + + + + + + + + + + + + Relative height of the most forward position of + the parents leading edge, relative to the airfoil height without + cut out. + + + + + Relative chordwise position of the most + forward position of the parents leading edge, relative to the + parents chord without cut out. + + + + + + + + + + + + + cutOutControlPointsType + + + + + + + + + + + + + + + + + + + + + + + Definition of cut out profiles. + + + + Optional, the exact shape between the upper and lower + skin cut out can be given by using cutOutProfiles. In general + cut out profiles are open profiles and not closed profiles as + e.g. wing airfoils. The placement, scaling and (partly) rotation + of the cut out profiles is fixed as the beginning and ending + point of the profile is fixed as can be seen in the two pictures + below. + + + + + + + + + + + + + + + + + Reference to the profile uID. Profiles should + be linked in profiles/structuralProfiles + + + + + Relative spanwise position of the cut out + profile. The eta coordinate refers to the control surface and + desribes the cut out profile at the leading edge of the control + surface. + + + + + Rotation of the airfoil around the control + surface middle plane normal direciotn. Reference point is the + most forward point of the airfoil. Defaults to 90°, which is + equivalent to the airfoilplacement in flight direction (along + wings-x axis). + + + + + + + + + + + + + Definition of cut out profiles. + + + + + + + + + + + + + + + + + + + + + + + + cutOutType + + + CutOut type, containing cut-outs + + + + + + + + + + Name of the cut out element + + + + + + Description of the cut out element + + + + + + Width of the cut element (absolute value) + + + + + + Height of the cut element (absolute value) + + + + + + Fillet radius of the cut element (absolute + value) + + + + + UID of a structural element that reinforces + the cut out + + + + + + + + + + + + + + Damping derivatives for positive and negative rotation + rates + + + + + 0. General overview + + This type contains the damping derivatives. They are + split up into those derivatives for positive rotation rates, + and those for negative rotation rates. + + + + 1. <positiveRates> (optional) + + Damping derivatives, calculated by positive rotation + rates. + + + + 2. <negativeRates> (optional) + + Damping derivatives, calculated by negative rotation + rates. + + + + + + + + + + + + + + + + + + + + + + + + Deck + + + Data of an aircraft or rotorcraft deck + + + + + + + + + + Name + + + + + Description + + + + + UID of the object used as parent coordinate system (typically the fuselage uID) + + + + + UID of the floor structure which supports this deck + + + + + The reference point of the deck/cabin. In a + conventional aircraft like the A320, it would be the rear wall + of the cockpit. The transformation is relative to the parent object + defined by “parentUID”, which should be the fuselage. + + + + + + Deck type: passanger, VIP, cargo or livestock + + + + + + + + + + + + + + + + Seat modules + + + + + Aisles + + + + + Spaces + + + + + Sidewall panels + + + + + Luggage compartments + + + + + Ceiling panels + + + + + Galleys + + + + + Generic floor modules + + + + + Lavatories + + + + + Class dividers + + + + + Cargo containers + + + + + Doors + + + + + + + + + + + + + + Decks + + + List of decks + + + + + + + + + + + + + + + + + + + + deltaTemperatureType + + + + + + + + + + + + + + + + + + + + + + + + + + + + Design masses + + + The design mases are requerments wich can com form the + TLARs + + + + + + + + + + Take off mass + + + + + Zero Fuel mass + + + + + Maximum landing mass + + + + + Maximum ramp mass (the maximum weight + authorised for the ground handling) + + + + + + + + + + + + + Design parameter definition + + + Contains a the values of a parameter and its uid as reference. + + + + + + + + + + + + + + + + + + + + + + Design parameters list + + + Contains a list of all design parameters. + + + + + + + + + + + + + + + + + + + + Design space definition + + + Contains the definition of the design space. + + + + + + + + + + + + + + + + + + + + + + + Design study definitions + + + Contains the data of design studies definitions. + + + + + + + + + + + + + + + + + + + + directOperatingCostType + + + + + + + + + + + + + + + + + + + + + + + + + + + + divergenceCaseType + + + DivergenceCase type, containing a case for aeroelastic + divergence analysis + + + + + + + + + + Mach number of divergence case + + + + + + Divergence stagnation pressure + + + + + + + + + + + + + + divergenceCasesType + + + DivergenceCases type, containing the cases for + aeroelastic divergence analysis + + + + + + + + + + + + + + + + + + + doorAssemblyPositionType + + + DoorAssemblyPosition type, containing the position of a door + assembly + + + + + + + + + + + + optional definition of door type (restricted to pax, + service, emergency, cargo) + + + + + + + + + + + + + + + UID of the door element + description + + + + + UID of the forward door frame + + + + + UID of the backward door frame + + + + + UID of the stringer at the upper door + edge + + + + + UID of the stringer at the lower door + edge + + + + + Lower height of the door with respect to the floor. + (Information necessary for boarding and evacuation analysis not + necessarily linked to structures) + + + + + Minimum widh of the door element. (Information + necessary for boarding and evacuation analysis not necessarily + linked to structures) + + + + + Minimum height of the door element. (Information + necessary for boarding and evacuation analysis not necessarily + linked to structures) + + + + + Door on right side of the fuselage = 1; on the left = + -1. (Information necessary for boarding and evacuation analysis not + necessarily linked to structures) + + + + + + + + + + + + + + doorCutOutType + + + CutOut type, containing cut-outs + + + + + + + + + + Name of door cutout element + + + + + Description of door cutout + element + + + + + Fillet radius of door cutout + element + + + + + Reference UID to the description of a DSS (door + surround structure) + + + + + + + + + + + + + + doorSurroundStructurePositionType + + + DoorSurroundStructurePosition type, containing the position of a + door surround structure + + + + + + + + + + + + number of bays effected by DSS in front of + door + + + + + number of bays effected by DSS in behind of + door + + + + + number of bays effected by DSS + + + + + number of bays effected by DSS + + + + + + + + + + + + + + doorSurroundStructuresAssemblyType + + + doorSurroundStructuresAssembly type, containing + dorrSurroundStructure definitions + + + + + + + + + + + + + + + + + + + doorsType + + + Doors type, containing doors + + + + + + + + + + + + + + + + + + + driveSystemType + + + DriveSystem Type, defining a drive system (combination + of transmissions/gearboxes and shafts and their links to engines + and rotors) of a rotorcraft model. + + + + + + + + + + + + + + + + + + + + + driveSystemsType + + + DriveSystems Type, containing all the drive systems + (combination of transmissions/gearboxes and shafts and their + links to engines and rotors) of a rotorcraft model. + + + + + + + + + + + + + + + + + + + dynamicAircraftModelAnalysisType + + + + + + + + + + + + + + + + + + + + + + dynamicAircraftModelCoordinatesType + + + + + + + + + + + + + + + + + + + + + + + + + Emissivity map, containing the diffuse emissivity of a material at different spectral lengths. + + + The emissivity of a material can vary with the spectral wave length. + The vectors diffuseEmissivity and waveLength must have the same size to be valid. + The data should be linearly interpolated. + + + + + + + + + + + Wave length in [m] + + + + + Diffuse emissivity of the material + + + + + + + + + + + + + Turbofan engine analysis + + + + + + + + + + + + + Thrust at takeoff + + + + + Fan pressure ratio at takeoff + + + + + + Bypass ratio at takeoff + + + + + overall pressure ratio at takeoff + + + + + + Maximum rotations per second, shaft 1 + + + + + + Maximum rotations per second, shaft 2 + + + + + + Design tip relative mach number (FAN) + + + + + + DryMass of engine + + + + + + + + + + + + + + Turboprop engine analysis + + + + + + + + + + + + + Thrust at takeoff + + + + + Design tip relative mach number (FAN) + + + + + + Dry-mass of engine + + + + + + + + + + + + + + Definition of global geometry parameters of the engine + fan. + + + + + + + + + + + + + Inner radius of the fan. + + + + + Outer radius of the fan. + + + + + Chord length of a fan blade + + + + + Hub to tip ratio + + + + + Number of rotor blades of fan + + + + + + + + + + + + + + Definition of the global engine geometry. + + + + All engine geometry definitions refer to the engine + coordinate system. The engine coordinate system has its orgine + in the middle of the fan plan. The positive x-axis is heading to + the rear, the positive z-axis to the top and the y-axis + according to the right hand rule. + + + + + + + + + + + + + length of engine + + + + + diameter of engine + + + + + + + + + + + + + + + + + Number of outlet guiding vanes + + + + + + Rotor stator spacing (relative to chordlength) + + + + + + Rotation direction of the engine if looking at + it from the front, i.e. from propeller/fan to exhaust + + + + + + + + + + + + + + + + + + + + + + Definition of one engine mount. + + + + + + + + + + + + + Name of the engine mount. + + + + + Description of the engine mount. + + + + + + position of the engine mount refering to the + engine coordinate system. + + + + + + UID of the engine mount. + + + + + + + + + + + + List of all engine mounts. + + + + + + + + + + + + + + + + + + + + + + Definition of the engine nacelle type. + + + + The engine nacelle is currently located together with + the engine. It gives a simple description of the outer shell of + the engine. All values are defined according to the base area, + center point of the fan(i.e. negative values can occur in the + definition) In most cases there will be a bypass engine. For + non-bypass or mixed engines ignore the bypass nozzle. For further + information on the geometric setup, please refer to the picture + below. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Turbofan engine performance map + + + + + + + + + + + + + + Flight Level + + + + + Mach number + + + + + Absolute thrust [N] + + + + + Fuel mass flow + + + + + Speed at core engine nozzle + + + + + + Total temperature at core engine nozzle + + + + + + Mass flow through core engine nozzle + + + + + + Speed at bypass nozzle + + + + + Total temperature at bypass nozzle + + + + + + Mass flow through bypass nozzle + + + + + + Percent of n1Max, shaft 1 + + + + + Percent of n2Max, shaft 2 + + + + + Fan pressure ratio + + + + + Fan efficiency + + + + + Turbine entry total temperature + + + + + + Emission index Carbon Monoxide + + + + + + Emission index Nitrogen Oxide + + + + + + Emission index Sulfur Oxide + + + + + + Emission index Soot + + + + + Emission index unburned hydrocarbon + + + + + + air density at core outlet 8 + + + + + + air density at bypass outlet 18 + + + + + + area at core outlet + + + + + area at bypass outlet + + + + + + + + + + + + + + Turbofan engine performance map + + + + + + + + + + Name of the engine + + + + + Description of the engine + + + + + + + Flight Level + + + + + Mach number + + + + + Absolute thrust [N] + + + + + Fuel mass flow + + + + + Turbine entry total temperature + + + + + + Emission index Carbon Monoxide + + + + + + Emission index Nitrogen Oxide + + + + + + Emission index Sulfur Oxide + + + + + + Emission index Soot + + + + + Emission index unburned hydrocarbon + + + + + + air density at core outlet 8 + + + + + + air density at bypass outlet 18 + + + + + + area at core outlet + + + + + area at bypass outlet + + + + + + + + + + + + + + Turbofan engine performance maps + + + + + + + + + + + + + + + + + + + + + + Turboprop engine performance maps + + + + + + + + + + + + + + + + + + + + + + enginePositionType + + + EnginePosition type, containing data for a single + engine + + + + + + + + + + Name of the engine + + + + + Description of the engine + + + + + Reference to the used engine + + + + + + Component, to which the engine is mounted + + + + + + + + + + + + + + + + + + + + + + + + + + + Engine references + + + EnginePositions type, containing a reference to the + used engines and their positions at the configuration + + + + + + + + + + + + + + + + + + + Definition of one engine pylon. + + + + + + + + + + + + + Name of the engine pylon. + + + + + Description of the engine pylon. + + + + + + UID of the parent (normaly wing or fuselage). + + + + + + + + + + + + UID of the engine pylon. + + + + + + + + + + + + + + + + + + + + + + + Engine pylons + + + + + + + + + + + + + + + + + + + + + + Definition of the engine spinner geometry. + + + + + + + + + + + + + Most forward x-position of the spinner. + + + + + + X-position of the spinner base. + + + + + + Radius of the spinner at the base position. + + + + + + + + + + + + + + Turbofan engine + + + Engine type, containing engine data. + + + + + + + + + + Name of engine + + + + + Description of engine + + + + + + Concept of engine + + + + + + + + + + + + + + Year of first certification + + + + + + + + + + + + + + + + etaIsoLineType + + + Iso line described by point of the same eta coordinate. + Can be either segment or component segment coordinates. + + + + + + + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta value is considered to be in segment + eta coordinate; if it points to a componentSegment, + then componentSegment eta coordinate is used. + + + + + + + + + + + + + fleetType + + + Each fleet can be divided into sub fleet groups + + + + + + + + + + Name of fleet + + + + + Description of the fleet + + + + + Description of sub-fleets. + + + + + + + + + + + + + + flightAnalysisType + + + + + + + + + + + + + + + + + + + + + + + Flight dynamics + + + + + + + + + + + + + + + + + + + + + + + + Linear model parameters + + + + + + + + + + + + + + + + + + + + + + + + + + Trim result + + + + + + + + + + + Mach number + + + + + + + True airspeed + + + + + + + Angle of attack + + + + + + + Altitude + + + + + + + + + + + + + + Load case + + + This node defines the load case + + + + + + + + + + + Name of the load case + + + + + + + Description of the load case + + + + + + + + + + + + + + + + + Load case specification + + + Input values defining a load case + + + + + + + + + + + Environment + + + + + + + Altitude above sea level + + + + + + + Mach number + + + + + + + UID of the aerodynamic loads (aeroCase) + + + + + + + + Controller description. Note: Since there is no controller description in CPACS yet, the expected content of this string element has to be defined individually for each project. + + + + + + + + + + + UID referencing the mass state of aircraft for this load case + + + + + + + + + + + + + + Flight load cases + + + + + + + + + + + + + + + + + + + + + + Flight loads + + + Loads resulting from the load case analysis + + + + + + + + + + + + + + + + + + + + + Load conditions + + + Inertia load conditions acting on the aircraft + + + + + + + + + + + Description + + + + + + + Safety factor applied on the loads + + + + + + + + Rotational rates around centre of gravity + + + + + + + Enumeration flag stating the typ of the load + case (i.e. limit or ultimate loads) + + + + + + + + + + + + + Angle of sideslip [deg] + + + + + + + Angle of attack [deg] + + + + + + + + + + + + + + + + Flight point definition for load case analysis + + + Description of the aircraft's flight state for + this load case. + + + + + + + + + + + + Environmental conditions + + + + + + + Altitude above sea level + + + + + + + Mach number + + + + + + + + + + + + + + Accelerations + + + Translational or rotational accelerations acting + on the aircraft + + + + + + + + + + + Rotational accelerations acting around aircraft centre of gravity [deg/s^2] + + + + + + + + + + + + + Load factors + + + + + + + + + + + + + + Load factor in x-direction + + + + + + + Load factor in y-direction + + + + + + + Load factor in z-direction + + + + + + + + + + + + + + Load case superposition + + + List of uIDs referencing load cases that are superimposed to the current load case + + + + + + + + + + + + UID reference to another load case to be superimposed + + + + + + + + + + + + + + Gust definition + + + The coordinate system of the gust corresponds to the CPACS coordinate system. + + + + + + + + + + Parameters describing the shape of the gust + + + + + + + + + + + + + + + + + Angle between gust and vehicle [deg] (e.g., 0deg: from right to left; 90 deg: downwards; 180deg: from left to right; 270/-90deg: upwards) + + + + + + + Gust length: length of ramp or gradient distance of 1-cos gust + + + + + + + Gust velocity + + + + + + + + + + + + + + Flight path + + + Definition of a flight path by points of longitude, latitude and a descriptive waypoint code. + + + + + + + + + + Vector of waypoint codes. If waypoint codes are not available put empty items into the waypoint string + + + + + Vector of waypoint latitude values in [deg] + + + + + Vector of waypoint longitude values in [deg] + + + + + Indicates the type of the way point. + + + + + + + + + + + + + + + + + + + + Performance case + + + + + + + + + + + + + + Name + + + + + + + Description + + + + + + + UID of flight performance requirement + + + + + + + + + + + + + + + + + + + + + + + Performance cases + + + List of performance cases + + + + + + + + + + + + + + + + + + + + Results of the landing analysis + + + + + + + + + + + + + Determined landing distance. + + + + + + Determined ground phase distance. + + + + + + + + + + + + + + Results of the take-off analysis + + + + + + + + + + + + + Main element containing the results for + take-off calculations optimized for min-imum liftoff speed + VLOFmin. + + + + + Main element containing the results for + take-off calculations optimized for min-imum safety speed V2min. + + + + + + + + + + + + + + flightPointType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flight systems + + + + + + + + + + + + + + + + + + + + + + flightType + + + Flight type, containing data of a scheduled flight + + + + + + + + + + MissionUID for the flights mission definition + + + + + ModelUID of the aircraft appointed to perform the flight + + + + + Departure day of the flight + + + + + Time of departure - the time is defined as SOBT (Scheduled Off-Block Time) / STD (Scheduled Time of Departure) + + + + + Arrival day of the flight + + + + + Time of arrival - the time is defined as SIBT (Scheduled In-Block Time) / STA (Scheduled Time of Arrival) + + + + + Reference to the operating airline of a flight + + + + + + + + + + + + + + + Flights + + + Flighs type, containing all flight definitions + + + + + + + + + + + + + + + + + + + + floorPanelAssemblyPositionType + + + FloorPanelAssemblyPosition type, containing a floor + panel assembly position + + + + + + + + + + x coordinate of the begin of the floor panel + (absolute value) + + + + + x coordinate of the end of the floor panel + (absolute value) + + + + + UID of the first long. floor beam to be + connected to the floor panel + + + + + UID of the second long. floor beam to be + connected to the floor panel + + + + + UID of structural sheet element used for the + floor panel + + + + + + + + + + + + + + + floorPanelsType + + + FloorPanels type, containing floor panel definitions + + + + + + + + + + + + + + + + + + + + Flying qualities + + + Provides a list of flying qualities cases + + + + + + + + + + + + + + + + + + + + + Flying qualities case + + + + + + + + + + + + + Name + + + + + Description + + + + + Aircraft Class; Class 1 small light aircraft; + Class 2 medium weight aircraft, low to medium maneuverability; + Class 3 large, heavy aircraft, low to medium maneuverability; + Class 4 high maneuverability aircraft + + + + + Flight Phase Category; Category A Non-terminal + flight phases requiring maneuvering, precision tracking, or + precise flight-path control (e.g. air-to-air combat, terrain + following). Category B Non-terminal Flight Phases with gradual + maneuvers and without precision tracking, although accurate + flight-path control may be required (e.g. climb, cruise). + Category C Terminal Flight Phases are normally accomplished + using gradual maneuvers and usually require accurate flight-path + control (takeoff, approach and landing). + + + + + main element containing longitudinal transfer + functions + + + + + main element containing lateral directional + transfer functions + + + + + main element containing characteristic + parameters of the handling qualities criteria + + + + + + main element containing handling qualities + ratings + + + + + + + + + + + + + + fqCharParametersType + + + + + + + + + + + + + static margin [-] + + + + + main element containing characteristic + parameter of phugoid damping + + + + + main element containing characteristic + parameters of short period mode criteria + + + + + main element containing characteristic + parameters of roll oscillation criterion + + + + + coupling of roll and spiral mode: normal = no + coupling of roll and spiral mode coupled = coupling of roll and + spiral mode + + + + + main element containing characteristic + parameters of lateral eigenvalues + + + + + main element containing characteristic + parameters of effective roll time constant criterion + + + + + + main element containing characteristic + parameters of roll performance criterion + + + + + + + + + + + + + fqEiglatType + + + + + + + + + + + + + natural frequency of dutch roll mode [rad/s] + + + + + + damping of dutch roll mode [-] + + + + + + roll time constant [s] + + + + + time to double of spiral mode [s] + + + + + + ratio of bank to sideslip angle [-] + + + + + + natural frequency of coupled rollspiral motion + [rad/s] + + + + + damping ratio of coupled roll-spiral motion + + + + + + product of roll-spiral damping and natural + frequency [rad/s] + + + + + handling qualities level of roll time constant + + + + + + handling qualities level of roll spiral mode + + + + + + + + + + + + + + fqLateralType + + + + + + + + + + + + + numerator of transfer function roll control + surface deflection to bank angle + + + + + numerator of transfer function roll control + surface deflection to yaw rate + + + + + numerator of transfer function roll control + surface deflection to sideslip angle + + + + + numerator of transfer function roll control + surface deflection to bank angle of reduced 4th order system + + + + + + numerator of transfer function roll control + surface deflection to sideslip angle of reduced 4th order system + + + + + + numerator of transfer function yaw control + surface deflection to yaw rate + + + + + numerator of transfer function yaw control + surface deflection to sideslip angle + + + + + numerator of transfer function roll stick + input to roll rate + + + + + numerator of transfer function roll stick + input to yaw rate + + + + + numerator of transfer function roll stick + input to bank angle + + + + + numerator of transfer function roll stick + input to sideslip angle + + + + + numerator of transfer function pedal input to + roll rate + + + + + numerator of transfer function pedal input to + yaw rate + + + + + numerator of transfer function pedal input to + bank angle + + + + + numerator of transfer function pedal input to + sideslip angle + + + + + denominator of lateral motion + + + + + + denominator of lateral motion of reduced 4th + order system + + + + + + + + + + + + + fqLongitudinalType + + + + + + + + + + + + + numerator of transfer function pitch stick + input to pitch rate + + + + + numerator of transfer function pitch control + surface deflection to pitch angle + + + + + numerator of transfer function pitch stick + input to pitch angle + + + + + numerator of transfer function pitch stick + input to angle of attack + + + + + numerator of transfer function pitch stick + input to vertical load factor + + + + + denominator of longitudinal motion + + + + + + + + + + + + + + fqPhugoidType + + + + + + + + + + + + + damping ratio of phugoid mode [-] + + + + + + time to double amplitude of unstable phugoid + mode [s] + + + + + + + + + + + + + fqRatingsType + + + + + + + + + + + + + handling qualities level of phugoid damping + + + + + + handling qualities level of C* criterion + + + + + + main element containing handling qualities + levels of short period mode + + + + + main element containing handling qualities + levels of roll oscillation criterion + + + + + main element containing handling qualities + levels of lateral eigenvalues + + + + + handling qualities level of effective roll + time constant + + + + + handling qualities level of roll performance + + + + + + + + + + + + + + fqRollPerfType + + + + + + + + + + + + + time to reach critical bank angle [s] + + + + + + critical bank angle that has to be reached + [deg] + + + + + + + + + + + + + fqRoloscType + + + + + + + + + + + + + ratio of oscillatory component of the roll + rate to the average roll rate [-] + + + + + phase angle of dutch roll oscillation in + sideslip [deg] + + + + + phase angle between roll rate and sideslip in + dutch roll mode [deg] + + + + + ratio of first minimum roll rate to first + maximum [-] + + + + + handling qualities level of ratio of + oscillatory component of roll rate to average roll rate + + + + + + + + + + + + + + fqShortPeriodType + + + + + + + + + + + + + steady state normal acceleration change with + angle of attack [g/rad] + + + + + short period natural frequency of reduced + order system [rad/s] + + + + + short period damping ratio of reduced order + system [-] + + + + + equivalent pitch time delay of reduced order + system [s] + + + + + handling qualities level of CAP criterion + + + + + + + + + + + + + + fqTreffType + + + + + + + + + + + + + effective roll time constant [s] + + + + + + time where tangent of bank angle step response + is placed [s] + + + + + + + + + + + + + frameType + + + frame type, containing frame definition (V1.5+) + + + + + + + + + + + + + + + + + + + + + framesAssemblyType + + + FramesAssembly type, containing frames assembly + + + + + + + + + + + + + + + + + + + + freePathType + + + + + + + + + + + + + + + + + + + + + + + mass + + + + + + + + + + + + + + + + + + + + + + Fuels + + + fuelType containing data for fuels + Can be used as a catalog for different (liquid) fuel + types + + + + + + + + + + + + + at 15deg C + + + + + + + + + + + + + + + + + + + + Fuels + + + fuelType containing data for fuels + + + + + + + + + + + + + + + + + + + fuselageAeroPerformanceType + + + fuselageAeroPerformance type, containing perfomance + maps with aerodynamic data of a fuselage. + + + + + + + + + + Reference to the uID of the analysed fuselage + + + + + + References used for the calculation of the + force and moment coefficients of the fuselage (in the fuselage + axis system!) + + + + + Calculated aerodynamic performance maps of the + fuselage + + + + + + + + + + + + + fuselageCutOutType + + + fuselageCutOut type, containing a fuselage cutout + definition + + + + + + + + + + Name of the cutout + + + + + Description of the cutout + + + + + X position of the cutout center point + + + + + + Y offset of the cutout reference point + + + + + + Z offset of the cutout reference point + + + + + + Angle in degrees of the vector pointing from + the cutout reference point to the cutout center point, measured + relative to the direction of the fuselage z axis. + + + + + + Coordinates of the unit vector defining the + direction of extrusion + + + + + Coordinates of the unit vector defining the + y-axis of the local cutout coordinate system. Must be normal to + the orientationVector. + + + + + This value is used to define the width of the + cutout + + + + + This value is used to define the height of the + cutout + + + + + This value is used to define the width of the + cutout + + + + + This value is used to define the height of the + cutout + + + + + Fillet radius of the cut element (absolute + value) + + + + + Cutout type. Determines the type of the cutout + and how it is treated by the tools. Possible values: + ("window"|"door"|"ramp") + + + + + + + + + + + + + + + + + + + + + + + + + + fuselageCutOutsType + + + fuselageCutOuts type, containing fuselage cutouts + + + + + + + + + + + + + + + + + + + + fuselageElementType + + + FuselageElement type, containing fuselage element data + + + + + + + + + + + Name of fuselage element + + + + + Description of fuselage element + + + + + + Reference to a fuselage profile + + + + + + + + + + + + + + + + fuselageElementsType + + + FuselageElements type, containing the elements of a + fuselage section + + + + + + + + + + + + + + + + + + + Definition of one fuselage fuel tank. + + + The definition of fuselage tanks is still preliminary. + Currently, there is no link to any structural elements + + + + + + + + + + + Name of the fuselage fuel tank. + + + + + + Description of the fuselage fuel tank. + + + + + + Link to the tank geometry defined by a compartment. + + + + + + + + + + + + + + + + + + + List of fuselage fuel tanks. + + + + + + + + + + + + + The fuselage fuel tank geometry is defined by a link to a fuselage geometry compartment. +The fuel tank volume type should also be used for the wing fuel tank + + + + + + + + + + + + + fuselageProfilesType + + + FuselageProfiles type, containing fuselage profile + geometries. See profileGeometryType for further documentation + + + + + + + + + + + + + + + + + + + + + fuselageSectionType + + + FuselageSection type, containing fusleage section and + element data + + + + + + + + + + Name of fuselage section + + + + + Description of fuselage section + + + + + + + + + + + + + + + + + fuselageSectionsType + + + FuselageSections type, containing fuselage sections + + + + + + + + + + + + + + + + + + + + fuselageSegmentType + + + FuselageSegment type, containing data of a fuselage + segment + + + + + + + + + + Name of fuselage segment + + + + + Description of fuselage segment + + + + + + Reference to element from which the segment + shall start + + + + + Reference to element at which the segment + shall end + + + + + Optional and additional guidecurves to shape + the outer geometry. + + + + + + + + + + + + + + fuselageSegmentsType + + + FuselageSegments type, containing fuselage segment + definitions (from sections and elements) + + + + + + + + + + + + + + + + + + + fuselageStructureType + + + FuselageStructure type, containing data of the fuselage's + structure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fuselageType + + + + Fuselage type, containing all data related to a + fuselage + + + + + + + + + + + + + + + Name of fuselage + + + + + + + Description of fuselage + + + + + + + UID of part to which the fuselage is + mounted (if any) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fuselagesAeroPerformanceType + + + fuselagesAeroPerformance type, containing + fuselagesAeroPerformance + + + + + + + + + + + + + + + + + + + Fuselages + + + Fuselages type, containing the fuselages of the + configuration + + + + + + + + + + + + + + + + + + + This type contains a vector of deflection values for a + single gear + + + + + 0. General overview + + In this type, a vector of deflections of a single + gear is specified. + + + + 1. + <gearUID> + (mandatory) + + + A reference to a gear from the aircraft model + + + + + 2. + <controlParameters> + (mandatory) + + + A vector of control parameters of the selected + gear + + + + + + + + + + + + + Reference to a gear + + + + + Control parameters of the gear + + + + + + + + + + + + + + This type contains a list of gears and their deflection + vectors + + + + + 0. General overview + + In this type, a list of gears is defined. + + + + + 1. + <gear> + (mandatory) + + + One of these nodes per deflected gear is required + here. + + + + + + + + + + + + + + + + + + + + + + stringerFramePositionType + + + stringerFramePosition type, containing individual + stringer / frame postion definition (CPACS V2.1+) + + + + + + + + + + + + + + + + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + + + + + + + + + + + + generalStructuralMemberType + + + + + + + + + + + + + + + + + + + + + + + + generalStructuralMembersAssemblyType + + + generalStructuralMembersAssembly type, containing + structural member assemblys + + + + + + + + + + + + + + + + + + + genericCostType + + + + + + + + + + + + + + + + + + + + + + + + genericGeometricComponentType + + + + In some cases additional geometric components need to + be linked to a CPACS, but these components are not yet handled by + CPACS explicitly. For example, a belly fairing and/or external + tanks. + A generic geometric component may be applied to include + such a geometry from an external file (preferably STEP) in the + context of the overall aircraft. + + + + + + + + + + + + + + Name of genericGeometricComponent + + + + + + Description of genericGeometricComponent + + + + + + UID of part to which the component is mounted + (if any) + + + + + + + + + + + + + + + + + + + + + + + + + + + Generic geometric components + + + + + + + + + + + + + + + + + + + + + + mass + + + genericMassType, describing mass, inertia and CoG data. + + + + + + + + + + + name + + + + + description + + + + + parentUID + + + + + mass value + + + + + mass loaction values (x,y,z) + + + + + + mass orientation values + + + + + + + + + + + + + + + Generic Systems + + + Node for geometrical layout of systems + + + + + + + + + + + + + + + + + + + + Generic System + + + + + + + + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + + geographicPointConstraintType + + + Geographic point constraint, containing a longitude, latitude, altitude data triplet. + + + + + + + + + + Longitude coordinate 0-360 + + + + + Latitude coordinate 0-360 + + + + + Altitude in meters + + + + + + + + + + + + + geographicPointType + + + Geographic point type, containing a longitude, latitude, altitude data triplet. + + + + + + + + + + Longitude coordinate 0-360 + + + + + Latitude coordinate 0-360 + + + + + Altitude in meters + + + + + + + + + + + + + + airfoilAeroPerformanceType + + + airfoilAeroPerformance type, containing perfomance maps + with aerodynamic data of an airfoil. + + + + + + + + + + References used for the calculation of the + force and moment coefficients + + + + + Calculated aerodynamic performance maps of the + full configuration + + + + + + + + + + + + + globalBeamPropertiesType + + + globalBeamPropertiesType, containing the global beam + properties such as EA, EI, mass + + + + + + + + + + + + + + + + + + + + + + + + + + + Ground load Cases + + + + + + + + + + + + + + + + + + + + + + guideCurveProfileGeometryType + + + + A guide curve profile is defined by a profile name, an + optional description and a 3-dimensional relative pointlist with + all three coordinates mandatory. For typical profiles, one of + the coordinate vectors contains only "0" entries. All point + coordinates are transferred to the global coordinate system. + First and last point may, but need not to, be identical. + + The points have to be ordered in a mathematical + positive sense. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + Curves have to go continuously over the whole wing or + fuselage + Connection of guide curves from segment to segment + + + + + + + + Please note, currently it is not possible to apply any + means of class based transformation in the description. However, + this may be an addition for the future. + + + + + + + + + + + Name of profile + + + + + Description of profile + + + + + + + + + + + + + + + + + + + + + + + + + + guideCurveProfilesType + + + Guide Curve Profiles type. This type is used to + describe guide curves that enable designers to create a geometry + that deviates from a standard loft. + + + + + + + + + + + + + + + + + + + + Guide Curve Type + + + + A guide curve may be used to alter the shape of the + outer geometry and "guide" the loft. + The guide curve profiles are defined in the guideCurveProfileGeometryType. + Their use on wing and fuselage components is illustrated in the image below. + + + + + + + + + + + + + + + Name of guide curve + + + + + Description of guide curve + + + + + Reference to a guide curve profile + + + + + + For the first segment fromGuideCurveUID is not + a valid entry! For the first guideCurve + fromRelativeCircumference must be applied! fromGuideCurveUID is + exclusive. + + + + + + Reference to the previous guide curve from + which this guide curve shall start. + + + + + + Continuity definition for geometry + generation. Possible options: C0, C1 from previous, C2 from + previous, C1 to previous, C2 to previous + + + + + + + + + + + + + + + + + + + Reference to the relative circumference + position from which the guide curve shall start. Valid values + are in the interval -1.0...1.0. + + + + + + Tangent at first point + + + + + + + + The relative circumference + position at which the guide curve shall end. Valid values + are in the interval -1.0...1.0. + + + + + + Tangent at last point + + + + + + Local direction along which the relative x-coordinates of + the guide curve points are defined. For the wing the default is + the wing's local x-axis, for the fuselage its the fuselage's local z-axis. + + + + + + + + + + + + + + + Guide Curves Type + + + Guide Curve type. This type is used to describe guide + curves that enable designers to create a geometry that deviates + from a standard loft. + + + + + + + + + + + + + + + + + + + hingeMomentsMapType + + + hingeMomentsMap type, containing a hinge moments map + with aerodynamic data. Array order is: angleOfAttack min->max + then angleOfSideslip then reynoldsNumber then machNumber. + All coefficients in the aeroperformanceMap relate to + the CPACS coordinate system. See documentation of the + CPACS-Element for further information. + + + + + + + + + + Name of the AeroPerformanceMap. + + + + + + Description of the AeroPerformanceMap. + + + + + + Mach number + + + + + Reynolds Number + + + + + Sideslip angle + + + + + Angle of attack + + + + + + + + + + + + + + htpFwdInterfaceDefType + + + Definition of the interface of forward HTP attachment + + + + + + + + + + Definition of the forward HTP attachment + interface + + + + relative width of reinforcement at fwd HTP + attachment, between 0.0 and 1.0 + + + + + relative width of plate at fwd HTP attachment + (only applicable for Type1 model), between 0.0 and 1.0, smaller + than htpPlateWidth + + + + + UID of panel element at HTP forward attachment + in x-direction (shell elements) + + + + + UID of panel element at HTP forward attachment + in z-direction (shell elements) + + + + + UID of reinforcements for panel element at HTP + forward attachment in z-direction (beam elements) + + + + + + UID of the element to fix HTP to fuselage + (beam elements) + + + + + + + + + + + + + + htpInterfaceDefType + + + Definition of the interface of HTP + + + + + + + + + Definition of the HTP interface + + + + + UID of the fuselage frame at the forward HTP + attchment + + + + + + UID of the fuselage frame at the backward HTP + attchment + + + + + + maximum HTP deflection (nose up in + degrees) + + + + + + maximum HTP deflection (nose down in + degrees) + + + + + + angle of the reinforcements at backward HTP + attchment + (in degrees) + + + + + + Defines area (absolute) in x-direction around + htpFrame2UID where the HTP attachmentpoint has correct position + ==> check and potentially warning message + + + + + Defines area (absolute) in y-direction around + the + outer edge of htpFrame2UID where the HTP attachmentpoint has correct + y-position ==> check and potentially warning + message + + + + + + Defines allowed z-position for rear HTP + attachment + relativ to total frame height ==> check and potentially warning + message ==> check and potentially warning + message + + + + + + Definition of HTP structural + elements + + + + + + Definition of HTP forward attachment to + structure + + + + + + + + + + + + + + + htpStructElemDefType + + + definition of structural elements in HTP attachment + + + + + + + + + + Definition of tailplane attachment area + (Standard Configuration) + + + + UID of structural element for HTP front + crossbeams + + + + + UID of structural element for HTP rear + crossbeams + + + + + UID of structural element for HTP diagonal + beams + + + + + UID of structural element for HTP side beams + + + + + + UID of structural element for upper HTP cutout + reinforcement beams, also used for lower cutout reinforcement, + when not explicitely defined + + + + + UID of structural element for lower HTP cutout + reinforcement beams (optional) + + + + + + + + + + + + + + indirectOperatingCostType + + + + + + + + + + + + + + + + + + + + + + interConnectionStrutAttachmentType + + + + + + + + + + + + + Definition of the position of the attachment + joint in relative coordinates. + + + + + Material settings of the attachment. + + + + + + + + + + + + + + interconnectionStrutType + + + + + + + + + + + + + uID of control surface where this flap is + attached to by the interconnection strut. + + + + + Material settings of the strut (if strut is + moddeled as a simple strut). + + + + + Definition of the attachment on this control + surface. + + + + + Definition of the attachment on the other + control surface + + + + + Free path in positive (tensil) and negative + (compression) direction before interconnection strut blocks. + + + + + + + + + + + + + + + interconnectionStrutsType + + + + + + + + + + + + + Definition of one interconnection strut. + + + + + + + + + + + + + + intercostalPositionType + + + intercostalPosition type, containing the position of intercostals + in DSS + + + + + + + + + + + + UID of the frame at which intercostal + starts + + + + + UID of the forward door frame + + + + + UID of the door + + + + + non-dimensional value ranging between 0 and 1 + + + + + + UID of profileBasedStructuralElement used for + intercostal + + + + + + + + + + + + + + IntercostalsAssemblyType + + + IntercostalsAssembly type, containing intercostal + definitions + + + + + + + + + + + + + + + + + + + structuralElementsConnectionsType + + + StructuralElementsConnections type, containing + connections between structural elements + + + + + + + + + + Flag for automatic generation of interface + definitions (draft version) + + + + + + + + + + + + + + + landingGearInterfaceDefinitionsType + + + CenterFuselage landing gear interface definitions + + + + + + + + + + + + + + + + + + + + + + + + + + keelbeamType + + + HighWingCenterFuselage / Keelbeam definition between + mainframe1 und mainframe2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lateralPanelsType + + + HighWingCenterFuselage / lateral Panel definition + between mainframe1 und mainframe2 + + + + + + + + + + + + + + + + + + + + + + + + + + longFloorBeamConnectionType + + + HighWingCenterFuselage / Long. floor beam connection + + + + + + + + + + + + + + + + + + + + + centerFuselageMainFramesType + + + High wing main frame definition, containing mainframe + UIDs + + + + + + + + + + + + + + + + + + + + + + + pressureFloorType + + + High Wing Center Fuselage / pressure floor definition + between mainframe1 und mainframe2 + + + + + + + + + + + + + + + + + + + + + + + sideboxType + + + HighWingCenterFuselage / side box definition between + mainframe1 und mainframe2 + + + + + + + + + + + + + + + + + + + + + + Landing gear position safety margins + + + LandingGearPositionSafetyMargins type, containing the + safety margins of the gear due to its position + + + + + + + + + + Safety margin for landing gear x position + regarding tail clearance at takeoff pitch angle + + + + + + Safety margin for landing gear x position to + avoid tail dropping down during touchDown and ground maneuvering + + + + + + Safety margin for landing gear y position to + avoid wing tip dropping down during ground maneuvering + + + + + + Safety margin for landing gear y position + regarding wingtip or engine nacelle clearance at a certein roll + angle + + + + + + + + + + + + + Landing gears + + + Contains a list of landing gears. + + + + + + + + + + + + + + + + + + + Landing gears + + + LandingGear type, containing the definition of nose, + main and skid gears. + + + + + + + + + + + + + + + + + + + + + Trailing edge device of the wing. + + + A leadingEdgeDevice (LED) is defined via its outerShape + relative to the componentSegment. The WingCutOut defines the area + of the skin that is removed by the LED. Structure is similar to + the wing structure. The mechanical links between the LED and the + parrent are defined in tracks. The deflection path is described + in path. Additional actuators, that are not included into a + track, can be defined in actuators. + Leading and trailing edge are defined by the outer + shape of the wing segments, i.e. the trailing edge of a + trailingEdgeDevice is the trailing edge of the wing. This is also + valid for kinks that are present in the wing but not explicitly + modeled in the control surface. + The edges of the control surface within the wing are a + straight line in absolute coordinates! Hence, there needs to be a + straight connection between the eta-wise outer and inner points + of the edge that is within the wing in absolute coordinates. + + + + + + + + + + + Name of the leading edge device. + + + + + + Description of the leading edge device. + + + + + + UID of the parent of the LED. The parent is + the componentSegment, where it is attached to. + + + + + + + + + + + + + + + + + + + + + Definition of the wings leading edge devices. + + + + Definition of the wings leading edge devices. + + + + + + + + + + + + + + + + + + + + Optional definition of the airfoil inner shape of + leading edge devices (LED). + + + + All parameters are optional. For the definition of the + parameters, please refer to the picture below. Parameters from + the outer border default to the parameters of the inner border. + + + + + + + + + + + + + + + Relative height of the most forward point of + the LED's rear part, based on the airfoil height of the parent + at this position. Optional. + + + + + Relative chordwise position of the most + forward point of the LED's rear part, based on the chord of the + parent at this position. Optional. + + + + + + + + + + + + + Optional definition of the leading edge shape of + trailing edge devices (TED). + + + + All parameters are optional. For the definition of the + parameters, please refer to the picture below. Parameters from + the outer border default to the parameters of the inner border. + + + + + + + + + + + + + + + Relative height of the leading edge of the TED, + based on the airfoil height of the parent at this position. + Optional. + + + + + Relative chordwise upper skin position, of the + border, where the airfoil of the TED is equivalent of the + airfoil from the parent. Measured from the rear to the front (0 + = TED trailing edge; 1 = TED leading edge). Values form the + outer border default to the value of the inner border. Optional. + + + + + + Relative chordwise lower skin position, of the + border, where the airfoil of the TED is equivalent of the + airfoil from the parent. Measured from the rear to the front (0 + = TED trailing edge; 1 = TED leading edge). Values form the + outer border default to the value of the inner border. Optional. + + + + + + + + + + + + + + linerType + + + Liner type, containing liner data + + + + + + + + + + Type of liner + + + + + + + + + + + + + % of fan diameter + + + + + % of fan diameter + + + + + + + + + + + + + Link to file (Step, Iges or Stl) + + + Please provide a link to the additional file that shall + be loaded by the TIGL library. Furthermore it is necessary to + provide the format attribute so that the file type can be + identified. Several CAD formats provide multiple endings, and + hence, this measure seems necessary. + + + + + + + + + + + + + + + + + + + + + + + + + Load analysis + + + + + + + + + + + + + + + + + + + + + + + loadBreakdownType + + + + + + + + + + + + + + + + + + + + + + + + + + Load cases + + + + + + + + + + + + + + + + + + + + + + + + + loadReferenceAxisPointType + + + + + + + + + + + + + + + + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative height position. + relHeight is relative to the local airfoil thickness. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. + + + + + + + + + + + + + + loadReferenceAxisPointsType + + + + + + + + + + + + + + + + + + + + + + Load envelopes + + + The loads envelope is the results of the loadsAnalysis + and lists those loadcases that are limiting for the design + + + + + + + + + + + + + + + + + + + + + logFloorBeamPositionType + + + longFloorBeamPosition type, containing individual + position definition + + + + + + + + + + UID of structural element + + + + + UID of crossbeam to which the long. beam is + attached + + + + + y position of long. beam + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + + + + + + + + + + + + longFloorBeamType + + + longFloorBeam type, containing a long. floor beam + definition + + + + + + + + + + + + + + + + + + + + longFloorBeamsAssemblyType + + + longFloorBeamsAssembly type, containing long. floor + beam assemblys + + + + + + + + + + + + + + + + + + + mAirConditioningType + + + + + + + + + + + + + Air conditioning mass description + + + + + + + + + + + + + + mAutomaticFlightSystemType + + + + + + + + + + + + + Automatic flight system mass description + + + + + + + + + + + + + + mAuxillaryPowerUnitType + + + + + + + + + + + + + Auxillary power unit masse description + + + + + + + + + + + + + + mBellyFairingsType + + + + + + + + + + + + + + + + + + + + + + + mBleedAirSystemType + + + + + + + + + + + + + Bleed air system mass description + + + + + + + + + + + + + + mBulkCargoType + + + + + + + + + + + + + + + + + + + + + + mBulkCargosType + + + + + + + + + + + + + + + + + + + + + + + mBulkheadsType + + + + + + + + + + + + + + + + + + + + + + + mCabinFloorsType + + + + + + + + + + + + + + + + + + + + + + + mCabinLightingsType + + + + + + + + + + + + + + + + + + + + + + + mCargoFloorsType + + + + + + + + + + + + + + + + + + + + + + + mCargoLiningsType + + + + + + + + + + + + + + + + + + + + + + + mCargoLoadingsType + + + + + + + + + + + + + + + + + + + + + + + Cargo masses + + + + + + + + + + + + + Cargo masses description + + + + + Cargo mass description + + + + + + + + + + + + + + + + mCarriagesType + + + + + + + + + + + + + + + + + + + + + + + mCarryOnType + + + + + + + + + + + + + + + + + + + + + + mCarryOnsType + + + + + + + + + + + + + + + + + + + + + + + mCateringsType + + + + + + + + + + + + + + + + + + + + + + + mCellsType + + + + + + + + + + + + + + + + + + + + + + + mSparCellsType + + + + + + + + + + + + + + + + + + + + + + + mCockpitLightingsType + + + + + + + + + + + + + + + + + + + + + + + mCommunicationType + + + + + + + + + + + + + Communication mass description + + + + + + + + + + + + + + mComponentSegmentType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mComponentSegmentsType + + + + + + + + + + + + + + + + + + + + + + + mControlSurfaceSupportType + + + + + + + + + + + + + + + + + + + + + + + + + mControlSurfaceSupportsType + + + + + + + + + + + + + + + + + + + + + + + mCrewMembersType + + + + + + + + + + + + + + + + + + + + + + + mCrewSeatsType + + + + + + + + + + + + + + + + + + + + + + + mDeIcingType + + + + + + + + + + + + + De-icing mass description + + + + + + + + + + + + + mDocumentsToolsType + + + + + + + + + + + + + + + + + + + + + + + mDoorsType + + + + + + + + + + + + + + + + + + + + + + + mElectricalDistributionType + + + + + + + + + + + + + Electrical distribution mass description + + + + + + + + + + + + + + mElectricalGenerationType + + + + + + + + + + + + + Electrical generation mass description + + + + + + + + + + + + + + mEmergencyEquipmentsType + + + + + + + + + + + + + + + + + + + + + + + mEmergencyOxygenSystemsType + + + + + + + + + + + + + + + + + + + + + + + mEmptyULDType + + + + + + + + + + + + + + + + + + + + + + mEmptyULDsType + + + + + + + + + + + + + + + + + + + + + + + mEngineControlType + + + + + + + + + + + + + Engine control mass description + + + + + + + + + + + + + + mEquippedEnginesType + + + + + + + + + + + + + + Equipped engines mass description + + + + + + + + + + + + + + + mExtLightingsType + + + + + + + + + + + + + + + + + + + + + + + mFireProtectionType + + + + + + + + + + + + + Fire protection mass description + + + + + + + + + + + + + + mFixedGalleysType + + + + + + + + + + + + + + + + + + + + + + + mFixedLeadingEdgeType + + + + + + + + + + + + + + + + + + + + + + mFixedLeadingEdgesType + + + + + + + + + + + + + + + + + + + + + + + + mFixedTrailingEdgeType + + + + + + + + + + + + + + + + + + + + + + + + mFixedTrailingEdgesType + + + + + + + + + + + + + + + + + + + + + + + mFlightControlsType + + + + + + + + + + + + + Flight controls mass description + + + + + + + + + + + + + + mFloorCoveringsType + + + + + + + + + + + + + + + + + + + + + + + mFramesType + + + + + + + + + + + + + + + + + + + + + + + + + mFreshWaterSystemsType + + + + + + + + + + + + + + + + + + + + + + + mFuelSystemType + + + + + + + + + + + + + Fuel system mass description + + + + + + + + + + + + + + Fuel mass + + + + + + + + + + + + + Fuel mass description + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Furnishing mass description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mFuselageStructureType + + + + + + + + + + + + + Fuselage structure mass description + + + + + + + + + + + + + + + + + + + + + + + + + + mWallsType + + + + + + + + + + + + + + + + + + + + + + + mFuselagesStructureType + + + + + + + + + + + + + Fuselages structure mass description + + + + + + + + + + + + + + + mHydraulicDistributionType + + + + + + + + + + + + + Hydraulic distribution mass description + + + + + + + + + + + + + + mHydraulicGenerationType + + + + + + + + + + + + + Hydraulic generation mass description + + + + + + + + + + + + + + mIFESystemsType + + + + + + + + + + + + + + + + + + + + + + + mInstrumentPanelType + + + + + + + + + + + + + Instrument panel mass description + + + + + + + + + + + + + + mInsulationsType + + + + + + + + + + + + + + + + + + + + + + + mIntegratedModularAvionicsType + + + + + + + + + + + + + Integrated modular avionics mass description + + + + + + + + + + + + + + mInterGasSystemType + + + + + + + + + + + + + Inter gas system mass description + + + + + + + + + + + + + + mLandingGearSupportsType + + + + + + + + + + + + + + + + + + + + + + + mLandingGearsType + + + + + + + + + + + + + + Landing Gears mass description + + + + + + + + + + + + + + + + mLavatoriesType + + + + + + + + + + + + + + + + + + + + + + + mLiningsType + + + + + + + + + + + + + + + + + + + + + + + mMainGearsType + + + + + + + + + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Manufacturer empty mass description + + + + + + + + + + + + + + + + + + mMillitarySystemsType + + + + + + + + + + + + + Millitary systems mass description + + + + + + + + + + + + + + mMiscellaneousType + + + Miscellaneous masses must only specify componenent masses for which NO DEDICATED ELEMENT EXISTS in the mass breakdown list! + + + + + + + + + + + + + + + + + + + mMoveableLeadingEdgeType + + + + + + + + + + + + + + + + + + + + + + + + mMoveableLeadingEdgesType + + + + + + + + + + + + + + + + + + + + + + + mMoveableTrailingEdgeType + + + + + + + + + + + + + + + + + + + + + + + + mMoveablesType + + + + + + + + + + + + + + + + + + + + + + + + mNavigationType + + + + + + + + + + + + + Navigation mass description + + + + + + + + + + + + + + mNoseGearsType + + + + + + + + + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Operator items mass description + + + + + + + + + + + + + + + + + + + + + mOverheadBinsType + + + + + + + + + + + + + + + + + + + + + + + mPartStowDoorsType + + + + + + + + + + + + + + + + + + + + + + + mPassengerType + + + + + + + + + + + + + + + + + + + + + + mPassengersType + + + + + + + + + + + + + + + + + + + + + + + Passengers masses + + + + + + + + + + + + + Passanger masses Description + + + + + + Passanger mass Description + + + + + + + + + + + + + + Payload mass + + + + + + + + + + + + + Payload mass description + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Power units mass description + + + + + + + + + + + + + + + + + + + + mPylonAttachmentsType + + + + + + + + + + + + + + + + + + + + + + + mPylonsType + + + + + + + + + + + + + + Pylons mass description + + + + + + + + + + + + + + + mRibType + + + + + + + + + + + + + + + + + + + + + + mRibsType + + + + + + + + + + + + + + + + + + + + + + + mSeatsType + + + + + + + + + + + + + + + + + + + + + + + mShellType + + + + + + + + + + + + + + + + + + + + + + + + + mShellsType + + + + + + + + + + + + + + + + + + + + + + + + mSkinPanelsType + + + + + + + + + + + + + + + + + + + + + + + mSkinsType + + + + + + + + + + + + + + + + + + + + + + + mSparSkinsType + + + + + + + + + + + + + + + + + + + + + + + mSparsType + + + + + + + + + + + + + + + + + + + + + + + mSparType + + + + + + + + + + + + + + + + + + + + + + + + mSpecialStructuresType + + + + + + + + + + + + + + + + + + + + + + + mSpoilersType + + + + + + + + + + + + + + + + + + + + + + + mStringersType + + + + + + + + + + + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Structure mass description + + + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Systems mass description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mTrailingEdgeDeviceType + + + + + + + + + + + + + + + + + + + + + + + + mTrailingEdgeDevicesType + + + + + + + + + + + + + + + + + + + + + + + mULDContentType + + + + + + + + + + + + + + + + + + + + + + mULDContentsType + + + + + + + + + + + + + + + + + + + + + + + mVacuumWasteSystemsType + + + + + + + + + + + + + + + + + + + + + + + mWasteWaterSystemsType + + + + + + + + + + + + + + + + + + + + + + + mWindowsType + + + + + + + + + + + + + + + + + + + + + + + mWingBoxType + + + + + + + + + + + + + + + + + + + + + + + + + mWingStructureType + + + + + + + + + + + + + Wing structure mass description + + + + + + + + + + + + + + + mWingsStructureType + + + + + + + + + + + + + Wings structure mass description + + + + + + + + + + + + + + + Main actuator + + + + Definition of the landing gear main actuator. + + + + + + + + + + + Reference to the main actuator uID of the + landing gear + + + + + + + + + + + + + + Main landing gear + + + List of main gears + + + + + + + + + + + + + + + + + + + mainStrutInterfaceDefinitionsType + + + HighWingCenterFuselage main strut interface definitions + + + + + + + + + + + + + + + + + + + + + + mainStrutFuselageAttachmentType + + + HighWingCenterFuselage / main strut attachment to + fuselage frame and stringer + + + + + + + + + + + + + reference to the structural element that comprises this connection. + + + + + + + + + + + + + + maintenanceCostType + + + + + + + + + + + + + + + + + + + + + + + + Mass breakdown + + + + + 1. General + + + The + massBreakeDown + is subdivided in + designMasses + , + fuel + , + payload + and + mOME + (operating empty mass). + + + designMass + + The design masses contain the overall values for + mTOM and so forth. These should be listed as specified by the + TLAR or found from initial sizing. + + fuel + and + payload + + The fuel and payload nodes should contain maximum + values, i.e. full fuel tanks, all passengers on board and full + cargo holding. These values may exceed the maximum allowable + take-off mass as the actual loading of the aircraft should be + specified in the weight and balance section of the aircraft. + + + mOEM + + + The operation empty mass structure is based on the Airbus Mass + Standard brake down [AIRBUS MASS STANDARD 2008]. The + operator’s mass empty (OME) is defined by the sum of the + following component masses: + + operator’s items + manufacturer’s mass empty (MME) + + + + + + + 2. massDescription + + + Each sub component has the following + massDescription + which include a: + + Name + Description + parentUID + Mass value + Mass location + Mass orientation + Mass Inertia. + + + + The + massdescription + can be found at the + designMasses + direct under each item. At the + fuel + , + payload + and + mOME + under massDescription in each item and sub item. + + Concerning symmetry please note that any item + referenced by its UID, e.g. wingUID, accounts for the complete + component, e.g. right and left side. Hence for these items + their complete mass needs to be specified. If the mass of + geometricallly symmetrical components is different, please use + the symmetry modifyers for UIDs: _symm and _mirror. See also + the overall CPACS definition section on symmetry + + + + + + + + + + + + + + + + + + + + + + + + + Fuel Mass Fraction + + + Describing the mass fraction considered for a mission segment sequence + + + + + + + + + + Reference to the segment from which the fuel fraction should be considered + + + + + Reference to the segment to which the fuel fraction should be considered + + + + + Float value of the mass fraction defined as + fraction = m_end / m_start + + + + + + + + + + + + + Mass intertia + + + massInertiaType + + + + + + + + + + + + + + + + + + + + + + + + massInertiaVectorType + + + + + + + + + + + + + + + + + + + + + + + + + + + materialDefinitionForProfileBasedPointType + + + MaterialDefinitionForProfileBased type, containing a + material definition (Reference to material and thickness) for + profile based objects, addition point reinforcements + + + + + + + + + + uID of the profile point to which the + additional stiffness shall be applied. + + + + + uID of a material definition. + + + + + + cross sectional area of additional long. + stiffener at strctural element point + + + + + optional auxiliary parameter for special use + (no physical meaning) + + + + + optional auxiliary parameter for special use + (no physical meaning) + + + + + + + + + + + + + Definition of the properties of the structural + profile sheet + + + MaterialDefinitionForProfileBased type, containing a + material definition (Reference to material and thickness) for + profile based objects. + + + + + + + + + + + UID of the sheet to which the material + properties shall be applied + + + + + + Predefined ID of the sheet of a standard profile + + + + + + + + + + + + + + + + + + Length of the sheet of a standard profile [m] + + + + + + + + + uID of a composite definition. + + + + + + Orthoropy direction of the composite. + + + + + + Scaling factor of the composite thickness. + + + + + + + + uID of a material definition. + + + + + + Absolute thickness of the material [m] + + + + + + + + + + + + + + + + Material Definition + + + MaterialDefinition type, containing a material + definition (Reference to material and thickness) + + + + + + + + + choice between composite / isotropic material + definition + + + + + uID of a composite definition. + + + + + + Orthotropy direction of the composite. + + + + + + Scaling factor of the composite thickness. + Absolute thicknesses are defined in each composite material + seperatly + + + + + + + uID of a material definition. + + + + + + Absolute thickness of the material. + + + + + + + + + + + + + + + Material + + + + Definition of the material properties for one of the following + material types: + + isotropic materials + anisotropic 2D and 3D materials + orthotropic 2D and 3D materials + + The nonemclature is adopted from [1] to define the material properties in an orthotogonal 1-2-3 + coordinate system. This may be illustrated by the stresses of a three-dimensional cube: + + + + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + + + + + + + + + + + + Name of the material + + + + + Description of the material + + + + + Material density [kg/m^3] + + + + + + + + + + + + + + + + + Reference temperature for thermal expansion + coefficient [K] + + + + + + + + + + + + + + + + + Isotropic material properties + + + + Defines the material properties for an isotropic material. Note that the shear modulus G + is defined in terms of the elastic modulus E and the Poisson's ratio nu as: + + + + Specifying a value for all three properties E, G and nu therefore results in an overdetermined material definition and must be avoided. + + + + + + + + + + + + Young's modulus [N/m^2] + + + + + + + Shear modulus [N/m^2] + + + + + + + Poisson's ratio + + + + + + + Thermal expansion coefficient [1/K] + + + + + + + Thermal conductivity of the material in + [W/(m*K)] + + + + + + + Allowable stress for tension [N/m^2] + + + + + + + Allowable stress for compression [N/m^2] + + + + + + + Allowable stress for shear [N/m^2] + + + + + + + Allowable strain for tension + + + + + + + Allowable strain for compression + + + + + + + Allowable strain for shear + + + + + + + Yield strength, tension [N/m^2] + + + + + + + Yield strength, compression [N/m^2] + + + + + + + Plastification curves for isotropic + materials incl. element elimination + + + + + + + Optional knockdown factor for fatiuqe + (defaults to 1) + + + + + + + Fatigue behaviour of the material + + + + + + + Damage tolerance behaviour of the + material + + + + + + + + + + + + + + + Anisotropic material properties for 2D materials + + + + + Defines the material properties for a linear anisotropic material in the plane stress state (i.e., shell). The stress-strain relationship is defined as: + + + + The terminology of this complex type refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. + + + + + + + + + + + + Coefficient 11 of reduced stiffness matrix [N/m^2] + + + + + Coefficient 12 of reduced stiffness matrix [N/m^2] + + + + + Coefficient 13 of reduced stiffness matrix [N/m^2] + + + + + Coefficient 22 of reduced stiffness matrix [N/m^2] + + + + + Coefficient 23 of reduced stiffness matrix [N/m^2] + + + + + Coefficient 33 of reduced stiffness matrix [N/m^2] + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal expansion coefficient in material direction + 12 [1/K] + + + + + Thermal conductivity of the material in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material in material direction 2 [W/(m*K)] + + + + + + Thermal conductivity of the material in material direction 3 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 [N/m^2] + + + + + + Allowable stress for compression in material direction 1 [N/m^2] + + + + + + Allowable stress for tension in material direction 2 [N/m^2] + + + + + + Allowable stress for compression in material direction 2 [N/m^2] + + + + + + Allowable stress for shear [N/m^2] + + + + + + Allowable strain for tension in material direction 1 + + + + + Allowable strain for compression in material direction 1 + + + + + + Allowable strain for tension in material direction 2 + + + + + Allowable strain for compression in material direction 2 + + + + + + Allowable strain for shear + + + + + + + + + + + + + + Orthotropic material properties for 2D materials + + + + + Defines the material properties for an orthotropic material in the plane stress state (i.e., shell). The strain-stress relationship is defined as: + + + + Inverting the strain-stress relation and introducing thermal expansion yields: + + + + with: + + + + The terminology refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + + + + + + + + + + + + Young's modulus in material direction 1 [N/m^2] + + + + + Young's modulus in material direction 2 [N/m^2] + + + + + Shear modulus in material in 2-3 plane [N/m^2] + + + + + Shear modulus in material in 3-1 plane [N/m^2] + + + + + Shear modulus in material in 1-2 plane [N/m^2] + + + + + Poisson's ratio + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal conductivity of the material in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material in material direction 2 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for shear [N/m^2] + + + + + + Allowable strain for tension in material direction 1 + + + + + + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for shear + + + + + + + + + + + + + + Anisotropic material properties for 3D materials + + + + + Defines the material properties for a linear anisotropic material in three spatial directions (i.e., solid). The stress-strain relationship is defined as: + + + + The terminology of this complex type refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. + + + + + + + + + + + + Coefficient 11 of stiffness matrix [N/m^2] + + + + + Coefficient 12 of stiffness matrix [N/m^2] + + + + + Coefficient 13 of stiffness matrix [N/m^2] + + + + + Coefficient 14 of stiffness matrix [N/m^2] + + + + + Coefficient 15 of stiffness matrix [N/m^2] + + + + + Coefficient 16 of stiffness matrix [N/m^2] + + + + + Coefficient 22 of stiffness matrix [N/m^2] + + + + + Coefficient 23 of stiffness matrix [N/m^2] + + + + + Coefficient 24 of stiffness matrix [N/m^2] + + + + + Coefficient 25 of stiffness matrix [N/m^2] + + + + + Coefficient 26 of stiffness matrix [N/m^2] + + + + + Coefficient 33 of stiffness matrix [N/m^2] + + + + + Coefficient 34 of stiffness matrix [N/m^2] + + + + + Coefficient 35 of stiffness matrix [N/m^2] + + + + + Coefficient 36 of stiffness matrix [N/m^2]2] + + + + + Coefficient 44 of stiffness matrix [N/m^2]] + + + + + Coefficient 45 of stiffness matrix [N/m^2] + + + + + Coefficient 46 of stiffness matrix [N/m^2] + + + + + Coefficient 55 of stiffness matrix [N/m^2] + + + + + Coefficient 56 of stiffness matrix [N/m^2] + + + + + Coefficient 66 of stiffness matrix [N/m^2] + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal expansion coefficient in material direction + 3 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 23 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 31 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 12 [1/K] + + + + + Thermal conductivity of the material in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material in material direction 2 [W/(m*K)] + + + + + + Thermal conductivity of the material in material direction 3 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for tension in material direction 3 + [N/m^2] + + + + + Allowable stress for compression in material + direction 3 [N/m^2] + + + + + Allowable stress for shear in 2-3 plane [N/m^2] + + + + + Allowable stress for shear in 3-1 plane [N/m^2] + + + + + + Allowable stress for shear in 1-2 plane [N/m^2] + + + + + Allowable strain for tension in material direction 1 + + + + + + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for tension in material direction 3 + + + + + + Allowable strain for compression in material + direction 3 + + + + + Allowable strain for shear in 2-3 plane + + + + + + Allowable strain for shear in 3-1 plane + + + + + + Allowable strain for shear in 1-2 plane + + + + + + + + + + + + + + + Orthotropic material properties for 3D materials + + + + + Defines the material properties for an elastic orthotropic material in three spatial directions (i.e., solid). The strain-stress relationship is defined as: + + + + Note that nuij is related to nuji by: + + + + The terminology refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + + + + + + + + + + + + Young's modulus in material direction 1 [N/m^2] + + + + + Young's modulus in material direction 2 [N/m^2] + + + + + Young's modulus in material direction 3 [N/m^2] + + + + + Shear modulus in the 2-3 plane [N/m^2] + + + + + Shear modulus in the 3-1 plane [N/m^2] + + + + + + Shear modulus in the 1-2 plane [N/m^2] + + + + + Poisson's ratio in in 2-3 plane + + + + + Poisson's ratio in in 3-1 plane + + + + + Poisson's ratio in in 1-2 plane + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal expansion coefficient in material direction + 3 [1/K] + + + + + Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] + + + + + Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for tension in material direction 3 + [N/m^2] + + + + + Allowable stress for compression in material + direction 3 [N/m^2] + + + + + Allowable stress for shear in 2-3 plane [N/m^2] + + + + + + Allowable stress for shear in 3-1 plane [N/m^2] + + + + + Allowable stress for shear in 1-2 plane [N/m^2] + + + + + + Allowable strain for tension in material direction 1 + + + + + + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for tension in material direction 3 + + + + + + Allowable strain for compression in material + direction 3 + + + + + Allowable strain for shear in 1-3 plane + + + + + + Allowable strain for shear in 1-3 plane + + + + + + Allowable strain for shear in 1-2 plane + + + + + + + + + + + + + + Materials + + + Materials type, containing material and composite data. + A material describes the properties of a certain material. + Several materials can be combined within one composite. + + + + + + + + + + + + + + + + + + + + + Mission definitions + + + + Specifies missions for performance evaluation of aircraft. + As the topmost element of the hierarchical mission definition, individual missions are grouped together + in the missions node. Here, segmentBlocks + are referenced. These again link to a list of segments. + + + + + + + + + + + + + + + + + + + + + + Setting default and specific performance maps to be used for a model + + + + + + + + + + Default performance map which is used if no other performance map + is assigned through the specificPerformanceMap node + + + + + List of specific performance maps used on dedicated mission segments + + + + + + + + + + + + + + End condition + + + + + Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths avaible within the segmentBlock). + + + + + + + + + + + + + + Calibrated airspeed [m/s] + + + + + + + + + + + + + + Mach number + + + + + + + + + + + + + + + + Global coordinate in xyz coordinates + + + + + + + + + + + + + + Global coordinate in geographic + coordinates (longitude, latitude, + altitude) + + + + + + + + + + + + + + Runway + + + + + + + + + + + + + + + + MassFraction ending the segment + + + + + + + + + + + + + + Fuel mass fraction ending the + segment, as remaining fuel mass with + respect to initial segment fuel mass + + + + + + + + + + + + + + Remaining absolute fuel ending the + segment + + + + + + + + + + + + + + Consumed fuel mass ending the + segment + + + + + + + + + + + + + + + + Flight heading at the end of the + segment in compassAngle with + reference to true North [deg] + + + + + + + + + + + + + + Total change of heading angle during + segment (a full turn is 360 degrees) + [deg] + + + + + + + + + + + + + + + Flown distance in the segment (x, y, z) + + + + + + + + + + + + + + + Duration of the segment [hh:mm:ss] + + + + + + + + + + + + + + UTC time at end of mission + + + + + + + + + + + + + + + Specific excess power at the end of the + segment + + + + + + + + + + + + + + Rate of climb ending the segment + + + + + + + + + + + + + + Achieved flightPathAngle ending the segment + + + + + + + + + + + + + + + + + + + + + Mission block constraints + + + Definition of constraints for the mission segment block + + + + + + + + + + + + + + + + + + + + Segment block + + + A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). + + + + + + + + + + Name + + + + + Description + + + + + + Segment direction. Either 'outbound' or 'inbound'. Only needed for radiusOfAction kind of missions. + + + + + + + + + + + + + + + + Specifies to which type of mass the segment fuel mass + should be added (blockFuel = designFuel + additionalFuel; Total fuel requirement + = blockFuel + reserveFuel; designFuel = the fuel of the segmentBlock is part of the design mission) + + + + + + + + + + + + + + + + Number of repetitions of this segment block, e.g. to perform repeated holding patterns + + + + + + + + + + + + + + + Segment blocks + + + A list of segment blocks. A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). + + + + + + + + + + + + + + + + + + + Segment + + + Definition of a mission segment which can be used to define missions. + + + + + + + + + + Name + + + + + Description + + + + + Type of the mission segment (takeOff, clime, cruse, ...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indication whether the distance flown during the segment is to be taken into account in the segmentBlock's distance calculation. + + + + + + Environmental conditions. If the environmentalCondition is not provided at segment level, the conditions of the + previous segment are inherited (this inhertance can continue until the startCondition, where the initial + environmentalConditions are provided). + + + + + + + Fuel mass + + + + + + + + + + + + + + + + + + + + Mission segment constraints + + + Contains a set of constraints for the segment + + + + + + + + + + + + + + + + + + + Mission segments + + + A collection of mission segments which can be reused to define missions. + + + + + + + + + + + + + + + + + + + Start conditions + + + Conditions which define the start of a mission + + + + + + + + + + + Calibrated airspeed at the start of the mission [m/s] + + + + + Mach number at the start of the mission + + + + + + + Global coordinate at the start of the mission in xyz coordinates + + + + + Global coordinate at the start of the mission in geographic coordinates (longitude, latitude, altitude) + + + + + + UID of the runway at which the + mission starts + + + + + + + + Flight heading at the start of the mission, in compassAngle with reference to true North + + + + + + UTC time at start of mission + + + + + + + + + + + + + + Mission + + + Contains a list of segmentBlock uID's forming the mission along with additional mission information. + + + + + + + + + + Name + + + + + Description + + + + + + + List of segmentBlock uID's forming the mission. Segments must first be grouped in segmentBlocks to be assigned to a mission. + + + + + + + + + + + + + + + Missions + + + A list of missions. + + + + + + + + + + + + + + + + + + + Monetary values + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nacelleProfilesType + + + Nacelle profiles type, containing nacelle profile geometries. + See profileGeometryType for further documentation + + + + + + + + + + + + + + + + + + + nacelleSectionType + + + + + + + + + + + + + + + + + + + + + + + + + + nacelleSectionsType + + + + + + + + + + + + + + + + + + + + + + Noise + + + + + + + + + + + + + FAR approach noise level + + + + + FAR sideline noise level + + + + + FAR take-off noise level + + + + + + + + + + + + + Nose landing gears + + + List of nose gears + + + + + + + + + + + + + + + + + + + Operating empty mass + + + + + + + + + + + + + Operating empty mass description + + + + + + + + + + + + + + + + operationalCaseType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + operationalCasesType + + + + + + + + + + + + + + + + + + + + + + outerCutOutProfileType + + + + + + + + + + + + + + + + + + + + + + + Parameter definition for design studies. + + + Contains a name for the design parameter to give semantic meaning to parameters used in design studies. + + + + + + + + + + + Name of parameter + + + + + + + + + + + + + + Container for parameter definitions + + + Contains a of the design parameter definitions. + + + + + + + + + + + + + + + + + + + + paxCrossBeamStrutsAssemblyType + + + PaxCrossBeamStrutsAssembly type, containing pax + crossBeam strut assemblys + + + + + + + + + + + + + + + + + + + paxCrossBeamsAssemblyType + + + PaxCrossBeamsAssembly type, containing pax crossBeam + assemblys + + + + + + + + + + + + + + + + + + + paxDoorsAssemblyType + + + PaxDoorsAssembly type, containing pax door assemblys + + + + + + + + + + + + + + + + + + + + payloadGlobalType + + + + + + + + + + + + + + + + + + + + + + + Flight performance requirements + + + Contains a list of flight performance requirements + + + + + + + + + + + + + + + + + + + + Flight performance requirement + + + + + + + + + + + + + Name of the performance case + + + + + Description of the performance case + + + + + Requirement classification based on the MoSCoW method (must, should, could or wont) + + + + + + + + + + + + + + + Reference to the considered weightAndBalance case + + + + + The UID of the mission to be flown + + + + + List of point performance uIDs constraining the mission + + + + + + + + + + + + + + + + Selection of performance maps + + + + + + + + + + Engine performance map selection + + + + + Aerodynamic performance map selection + + + + + + + + + + + + + Performance requirements + + + + + + + + + + + + + + + + + + + + + + + + + + performanceTargetsGlobalType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Piston + + + + Geometric description and material properties of the + landing gear piston. The figure below shows the condition of the + uncompressed piston, where the length of the exposed part is the + sum of the maxSpringDeflection + and the compressedExternalLength: + + + + + + + + + + + + + + + Length of the piston + + + + + + Maximum spring deflection of the piston (difference between minimum and maximum deflection) + + + + + Length of the piston that remains outside of the main strut in fully compressed state + + + + + + + + + + + + + + plasticityCurvePointType + + + + + + + + + + + + + Tangent modulus [N/m^2] + + + + + True stress [N/m^2] + + + + + + + + + + + + + Points on plasticity curve of material + (min. 1 point) + + + + + + + + + + + + pointPerformanceType + + + Specific performance settings for the point performance calculation (e.g.: a cruise Mach number) + + + + + + + + + + Name + + + + + Description + + + + + + + Defines at which part of the mission + the point performance should be + considered - after indicated segment + of the mission as defined in + performanceCase + + + + + + + Defines at which part of the mission + the point performance should be + considered - at the defined + massFraction within the mission as + defined in performanceCase + (mCurrent/mTO) + + + + + + + Defines at which part of the mission + the point performance should be + considered - at the defined + fuelFraction within the mission as + defined in performanceCase + (mFuelCurrent/mFuelTO) + + + + + + + + Indicates the type of point performance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Point performance definitions + + + List of point performance definitions + + + + + + + + + + + + + + + + + + + pressureBulkheadAssemblyPositionType + + + PressureBulkheadAssemblyPosition type, containing a + pressure bulkhead assembly position + + + + + + + + + + Frame to which bulkhead is attached to + + + + + + UID of bulkhead element desription + + + + + + + + + + + + + + + pressureBulkheadAssemblyType + + + PressureBulkheadAssembly type, containing pressure + bulkhead assemblys + + + + + + + + + + + + + + + + + + + pressureBulkheadType + + + PressureBulkhead type, containing data of a pressure + bulkhead + + + + + + + + + + Name of the pressure bulkhead structural + element + + + + + Description of the pressure bulkhead + structural element + + + + + UID of structural sheet element used for the + bulkhead + + + + + Choice between flat and curved bulkhead types + + + + + additional data for flat (forward) pressure + bulkhead + + + + Number of vertical reinforcements on flat + bulhhead + + + + + UID of structural elements used as vertical + reinforcements + + + + + Number of horizontal reinforcements on flat + bulhhead + + + + + UID of structural elements used as + horizontal reinforcements + + + + + + additional data for curved (rear) pressure + bulkhead + + + + Radius of bulkhead calotte in the plane of + the adjacent frame + + + + + maximum flection of the pressure bulkhaed + calotte + + + + + Number of radial reinforcements (equally + distributed) on curved bulhhead + + + + + UID of structural elements used as radial + reinforcements on curved bulkheads + + + + + + + + + + + + + + + + pressureBulkheadsType + + + PressureBulkheads type, conteining pressure bulkheads + + + + + + + + + + + + + + + + + + + + Structural elements based on profiles + + + + + Short description + + The ProfileBasedStructuralElement type containins the + data of a structural element, that are based on 2-dimensional profiles. + There are three approaches to model profile based structural elements: + + by specifying global beam properties + by referencing a structuralProfile2D element + by choosing one of the prescribed standard profiles + + + + + + 1. Global beam properties + + In the section globalBeamProperties the properties + of the structural profile in an equivalent beam representation + are defined. + + + + 2. Structural 2D profile + + The structuralProfileUID element refers to the uID of the structuralProfile2D element. + As described in the corresponding documentation, this profile is defined by several points in the x-y-space. + Two points always form a sheet. + The properties of each sheet are defined in the sheetProperties element. + The orthotropy direction of composite materials equals the sheets' x-axis. + The orthotropy direction angle equals a positive rotation around the sheets' z-axis as indicated in the picture below (part 3), which shows an example of a wing stringer.: + + + + + + + 3. Standard structural 2D profile + + Instead of referencing a structuralProfile2D element, it is also possible to select a predefined standard profile. + These profiles are listed in the figure below. + Under sheetProperties, only the standardProfileSheetID (equals S1, S2, ...) must now be specified along with a corresponding length. + + + + + + + + + + + + + + + + Name of the profile based structural element + + + + + + Description of the profile based structural + element + + + + + Choice between global beam properties and sheet properties + + + + + + Choice between general profile element + description (referencing a structuralProfile) and predefined + standard profiles + + + + Definition based on structuralProfile + definition + + + + Reference to the structural profile profile + uID + + + + + + Reference point in structural profile + definition for structural element definition + + + + + + + Standard Profile Type, see picture below for + further information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + structuralElementType + + + profileBasedStructuralElements type, containing a list + of profile based structural elements + + + + + + + + + + + + + + + + + + + profileGeometryType + + + + A profile is defined by a profile name, an optional + description and a 3-dimensional pointlist with all three + coordinates mandatory. For typical profiles, one of the + coordinate vectors contains only "0" entries. All point + coordinates are transferred to the global coordinate system. The + points have to be ordered in a mathematical positive sense. + Normalized coordinates are not required. First and last point + may, but need not to, be identical. Hence, it is possible to + include "open" profiles. However, the trailing edge position of + the upper and lower point need to be identical. No crooked + trailing edges are possible. + Example 1: For a conventional wing, the airfoil + coordinates are defined in x and z with all the y-coordinates + set to "0". The points have to be ordered from the trailing edge + along the lower side to the leading edge and then along the + upper side back to the trailing edge. + Example 2: For a fuselage, the coordinates are + typically given in y and z with x set to "0". Starting point of + the profile sould be the lowest point (typically in the symmetry + plane), then upwards on the positive y-side up to the highest + point (again, typically in the symmetry plane). Depending on, + whether the fuselage shall be specified with symmetry condition + or not, the profile either ends there, or continues on the + negative y-side back down to the lowest point. + Alternatively, it is possible to specify the + coordinates of a profile via the CST (class function /shape + function transformation technique) notation. Please see the + cst2DType for further information. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + + + + + + + + + + + Name of profile + + + + + Description of profile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + profileGeometry2DType + + + + A profile is defined by a profile name, an optional + description and a 2-dimensional pointlist with both + coordinates mandatory. All point coordinates are transferred + to the global coordinate system depending on the context they + are used in. The points have to be ordered in a mathematical + positive sense. The x-coordinates of the profile has to be + normalized between 0 and 1. First and last point + may, but need not to, be identical. Hence, it is possible to + include "open" profiles. However, the trailing edge position of + the upper and lower point need to be identical. No crooked + trailing edges are possible. + Example 1: For a conventional nacelle profile, the airfoil + coordinates are defined in x and y. The points have to be ordered + from the trailing edge along the lower side to the leading + edge and then along the upper side back to the trailing edge. + When used for a nacelle the profile axis align + with the global axes as follows: + +x_profile -> +x_global; + +y-profile -> -z_global + Example 2: For a fuselage, the coordinates are + also given in x and z with x as the normalized fuselage height. + Starting point of the profile sould be the lowest point + (typically in the symmetry plane), then upwards on the positive x-side up to the highest + point (again, typically in the symmetry plane). Depending on, + whether the fuselage shall be specified with symmetry condition + or not, the profile either ends there, or continues on the + negative x-side back down to the lowest point. + Alternatively, it is possible to specify the + coordinates of a profile via the CST (class function /shape + function transformation technique) notation. Please see the + cst2DType for further information. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + + + + + + + + + + + Name of profile + + + + + Description of profile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Profiles + + + Profiles type, containing profile geometries + + + + + + + + + + + + + + + + + + + + + + + + + + Attachment of the pylon to the parent. + + + + + + + + + + + + + Material properties of the attachment. + + + + + + Link to the structural profile of the + attachment. + + + + + + UID of the attachment. + + + + + + + + + + + + Attachments of the pylon to the parent. + + + + + + + + + + + + + + + + + + + + + + + Structural properties of the pylon box (ribs, upper, + lower and side panels). + + + + + + + + + + + + + + + + + + + UID of the pylon box. + + + + + + + + + + + + Definition of one pylon pin. + + + + + + + + + + + + + First element (parentAttachmentUID, engineUID + or uID of a pylon structure. + + + + + Second element (parentAttachmentUID, engineUID + or uID of a pylon structure. + + + + + Position of the pylon pin related to the pylon + coordinate system. + + + + + + Blocked DOFs. Referes to the rotated + coordinate system that is defined in 'orientation'. + + + + + + + + UID of the pin. + + + + + + + + + + + + Definition of pylon pins. + + + + + + + + + + + + + + + + + + + + + + Definition of a rib set. + + + + RibDefinitionType, containing the definition for ribs. + Ribs are defined in sets of one or more ribs. The positions of + the rib, as well as the orientation of the ribs are defined in + 'ribPositioing'. The cross section properties, as e.g. + materials, are defined in 'ribCrossSection'. + + + + + + + + + + + Name of the rib set. + + + + + Description of the rib set. + + + + + + + + + + + + + + + + + Structural properties of all tibs of the engine pylon + box. + + + + + + + + + + + + + + + + + + + + + + pylonRibsPositioningType + + + + Within the ribsPositioning type the position and the + orientation of the ribs of the rib set are defined. + The forward and the rear beginning of the rib set is + defined using relDepthStart and relDepthEnd. The orientation of + the ribs is defined in ribRotaton. The number of ribs of the + current rib set is either defined by ribNumber or by spacing. + + + + + + + + + + + + relDepthStart defines the forward location of + the beginning of the rib set. 0 equals the forward end of the + pylon box, while 1 equals the rear end of the pylon box. + + + + + + relDepthEnd defines the rear end. 0 equals the + forward end of the pylon box, while 1 equals the rear end of the + pylon box. + + + + + Ribs can be rotated in the side view. The + defaults to 90°, which equals an orientation along the pylons + z-axis. The angle is meassured around the positive y-direction + of the pylon. + + + + + + The spacing of the ribs defines the distance + between two ribs, measured along the pylons x-axis. First rib + is placed at relDepthStart. + + + + + RibNumber defines the number of ribs in this + ribSet. First rib is at relDepthStart along the pylons x-axis, + last rib is at relDepthEnd. The spacing is constant. + + + + + + + + RibCrossingBehaviour can either be "cross" or + "end". If it is end then ribs will end it they intersect + another rib. It it is cross ribs are placed uncut. + + + + + + + + + + + + + + + + + + + + + Structural properties of a pylon shackle. + + + + + + + + + + + + + Material properties of the shackle. + + + + + + Link to the structural profile of the shackle. + + + + + + + UID of the shackle. + + + + + + + + + + + + Structural properties of pylon shackles (for pylon to + parent attachment), if existing. + + + + + + + + + + + + + + + + + + + + + + + Structural properties of the pylon shells. + + + + + + + + + + + + + + UID of the structural profile. + + + + + + Material settings. + + + + + + UID of the structure. + + + + + + + + + + + + Definition of the load carrying structure of the engine + pylon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structural properties of struts (drag struts, upper + links and tangent links), if existing. + + + + + + + + + + + + + + + + + + + + + + + + radiativeForcingType + + + + + + + + + + + + + + + + + + + + + + + + + + + + recurringCostType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference values + + + Reference type, containing the reference values of the + aircraft model + + + + + + + + + + Reference area (typically planform area) + + + + + + Reference length (typically Mean Aerodynamic + Chord MAC). In CPACS, only one reference length exists (and is + used, e.g. for all three moment coefficients. Coordinates given + relative to MAC shall always use this length as MAC. + + + + + + Moment reference point (in global coordinate + system). The x-coordinate is typically chosen same as of the + leading edge of the wing in the spanwise section having a + chordlength identical to MAC. Coordinates given as %MAC shall + always use this x-coordinate and length (e.g. 0%MAC = x, 100%MAC + = x + length). The y coordinate is typically 0. The z coordinate + is often chosen either as 0., or as z of fueselage nose or as z + of middle of center fuselage part. + + + + + + + + + + + + + requirementType + + + + + + + + + + + + + + + + + + + + + + + RibIdentificationType, defining one rib. + + + + + + + + + + + + + UID of the rib definition set. + + + + + + Number of the rib of the rib definition set. + + + + + + + + + + + + + + Definition of the rib rotation + + + The rotation around z describes the rotation around the + wings midplane normal axis. The defaults to 90°. The reference + for the 'zero-angle' of the z-rotation is defined in + ribRotationReference. + + + + + + + + + + RotationReference defines the reference for + the z-rotation it is either sparUID, „LeadingEdge“, + „TrailingEdge“, "globalX", "globalY" or "globalZ". + If it is not defined the rotation reference is + the eta-axis (=leading edge, that is projected on the wings + y-z-plane). A z-rotation angle of 90 degrees means, that the rib + is perpendicular on the ribRotationReference (e.g. spar, leading + edge...). The rib itself is always straight, and the rotation + is defined with respect of the intersection point of the rib + with the ribRotationReference. + + + + + The rotation around z describes the rotation + around the wings midplane normal axis. The defaults to 90°. The + reference for the 'zero-angle' of the z-rotation is defined in + ribRotationReference. + + + + + + + + + + + + + rivetJointAreaAssemblyPositionType + + + RivetJointAreaAssemblyPosition type, containing a rivet + joint area assembly position + + + + + + + + + + + + + + + + + + + + + rivetJointAreasAssemblyType + + + RivetJointAreasAssembly type, containing rivet joint + area assemblys + + + + + + + + + + + + + + + + + + + rivetType + + + Rivet type, containing a rivet + + + + + + + + + + Name of the rivet type + + + + + Description of the rivet type + + + + + + Tensile Strength of the rivet type + + + + + + Shear Strength of the rivet type + + + + + + + + + + + + + + + rivetsType + + + Rivets type, containing rivets + + + + + + + + + + + + + + + + + + + rotorAirfoilsType + + + RotorAirfoils type, containing rotor airfoil + geometries. See profileGeometryType for further documentation + + + + + + + + + + + + + + + + + + + + rotorBladeAttachmentType + + + RotorBladeAttachment type, defining the elements used + to attach one or more rotor blades to the rotor head. + + + + + + + + + + Name of the blade attachment. + + + + + + Description of the blade attachment. + + + + + + + The azimuthAngles element is used to specify + a list of discrete azimuth angles (in deg) at which instances + of attached blades are to be created. The number of blades will + equal to the number of elements of the vector. E.g. + <azimuthAngles>0;90;180;270</azimuthAngles> for a + four blade rotor with equal equiangularly distributed blades. + The transformation of the respective rotor blade corresponds to + a rotation by azimuthAngle around the z axis of the rotor + coordinate system in mathematically positive sense of rotation. + + + + + + If only the number of blades is specified, + the attached blades will be distributed equiangularly and the + first blade will be attached at azimuth angle 0. (Formula: + azimuthAngle[i] = i*360deg/numberOfBlades, + i=0..numberOfBlades-1) + + + + + + Definition of all hinges used to attach the + rotor blade. + + + + + UID of the rotorBlade which should be attached + to the rotor hub. + + + + + + + + + + + + + + rotorBladeAttachmentsType + + + RotorBladeAttachments type, containing all hinges and + blade UIDs attached to the current rotor hub. + + + + + + + + + + + + + + + + + + + rotorBladesType + + + + RotorBlades type, containing all the rotor blade + gometry definitions of an rotorcraft model. + Rotor blade geometries are defined using the same data + structure as wings (wingType). But in order to be compatible + with the other rotor blade related types (e.g. rotorType, + rotorHubType, rotorHubHingeType) there are some additional + conventions/requirements regarding the definition and + orientation of rotorBlade geometries: + + Rotor blades should be positioned relative to the + global z-axis the way they will be positioned to the rotor + shaft (when blade azimuth=0deg). + The global x-axis should be used as radial axis + (usually the quarter chord line of the rotor blade coincides to + a great extent with the x-axis of the rotor blade coordinate + system). + All sections should be positioned in the positive + x halfspace. + Segments should connect sections with ascending x + coordinates. + Airfoils defined in the rotorAirfoils node should + be used instead airfoils from the wingAirfoils node. + + + + + + + + + + + + + + + + Rotor blade geometries are defined using the + same data structure as wings (wingType). But in order to be + compatible with the other rotor blade related types (e.g. + rotorType, rotorHubType, rotorHubHingeType) there are some + additional conventions/requirements regarding the definition and + orientation of rotorBlade geometries: see remarks. + + + + + + + + + + + + + + rotorHubHinge type, containing a rotor hub hinge + (flap/leadLag/pitch). + + + + RotorHubHinge type, containing a rotor hub hinge + (flap/leadLag/pitch) of a rotorcraft model. + + + + + + + + + + + Name of the hinge. + + + + + Description of the hinge. + + + + + + Hinge type. Possible values: "flap", "pitch" + "leadLag". This is used to define the rotation axis of the hinge + (flap = y-axis in blade cs, pitch = x-axis in blade cs, lead-lag + = z-axis in blade cs). + + + + + + + + + + + + The angle (in deg) at which the hinge is in + neutral position. This element is normally used to define + precone or prelag angles of the attached blade. Defaults to 0. + + + + + + Static stiffness of the hinge in (N/m) for + linear hinges and (N.m/deg) for angular hinges. Default value: + +inf (statically rigid hinge) + + + + + Dynamic stiffness of the hinge in (N/m) for + linear hinges and (N.m/deg) for angular hinges. Default value: + +inf (statically rigid hinge) + + + + + Damping of the hinge in (N/(m/s)) for linear + hinges and (N.m/(deg/s)) for angular hinges. Default value: +inf + + + + + + + + + + + + + + + rotorHubHingesType + + + RotorHubHinges type, defining hinges used to attach a + rotor blade to the rotor head. + + + + + + + + + + Definition of a flap, lead-lag or pitch hinge. + + + + + + + + + + + + + + rotorHubType + + + RotorHub type, containing definitions for the rotor hub + and attached hinges and blades. + + + + + + + + + + Name of the rotor hub. + + + + + Description of the rotor hub. + + + + + + Rotor head type. Possible values: "semiRigid", + "rigid", "articulated", "hingeless" + + + + + + + + + + + + + Rotor blade attachments are used to define how + many rotor blades are attached at which azimuth positions of the + rotor hub and the used hinges. + + + + + + + + + + + + + + Rotor type, containing a rotor (main rotor, tail rotor, + fenestron, propeller,...) of an rotorcraft model. + + + + Rotor type, containing a rotor (e.g. main rotor, tail + rotor, fenestron, propeller,...) definition of a rotorcraft + model. + The position and attitude of the rotor is defined + using the transformation element. The following image shows the + CPACS conventions for the orientation of rotors and rotor axis + systems: + + + + + The origin coincides with the center of rotation. + + The z-axis corresponds to the axis of rotation + and thus coincides with the rotor shaft centerline. It Points + in the main thrust direction of the rotor (usually upwards for + a main rotor, forwards for a propeller). + The x-axis points from nose to tail (usually + rearwards for main and tail rotors, upwards for a propeller). + + The y-axis completes the right-handed orthogonal + coordinate system. + + Rotor hub attributes, hinges and references to + attached rotor blades are defined in the rotorHub element. + + + Note that rotor blade geometries are only referenced and not + defined in the child nodes of the rotor element. Refer to the + documentation of rotorBladesType ( + Empty#T/rotorBladesType + ) and wingType ( + Empty#T/wingType + ) for information on the definition of rotor blade geometries. + + The following figure shows the transformations to be + applied to rotorBlade geometries to visualize them in the rotor + frames for a given state (each rotor: rotorAzimuth given, each + hinge: hingeDeflection given): + + + + + + + + + + + + + + Name of the rotor. + + + + + Description of the rotor. + + + + + UID of the part to which the rotor is mounted + (if any). The parent of the rotor can e.g. be the fuselage. In + each rotorcraft model, there is exactly one part without a + parent part (The root of the connection hierarchy). + + + + + + Rotor type. Possible values: "mainRotor" + (default), "tailRotor", "fenestron" or "propeller".. + + + + + + + + + + + + + + Nominal value of the angular rotation speed in + rotations per minute (rpm). + + + + + Transformation (scaling, rotation, + translation). This element is used to define the position and + attitude of the rotor relative to the global or the parent + component's axis system. Note that an anisotropical scaling + transformation should not be applied to the rotor. + + + + + + The rotorHub element contains the definition + of the rotor hub type and number and azimuth angles of the + attached blades and their hinges. The rotor hub position and + attitude coincides with the rotor axis system's origin and z + axis. + + + + + + + + + + + + + + + + + + + + + + + + + rotorcraftAnalysesType, results from several analysis + modules connected to CPACS + + + RotorcraftAnalyses type, containing detailed analysis + data of the rotorcraft + Within this element results from analysis modules are + stored that rely to the overall definition of the rotorcraft. + These include e.g. aerodynamic data or loadCases + For further documentation please refer to the + respective elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rotorcraftGlobalType + + + RotorcraftGlobalType type, containing global data of + the rotorcraft + + + + + + + + + + Number of passenger seats + + + + + Cargo transport capacity [kg] + + + + + + Cruise Mach Number + + + + + Configuration of the rotorcraft: + standard(single main rotor, single tail rotor) / tandem / + coaxial/intermeshing / sideBySide/tiltRotor/tiltWing + + + + + + + + + + + + + + massBreakdownType + + + + + 1. General + + + The + massBreakeDown + is subdivided in + designMasses + , + fuel + , + payload + and + mOME + (operating empty mass). + + + designMass + + The design mass is a description from TLARs and can + be understand as design criteria. + + fuel + and + payload + + The fuel and payload mass are the maximum masses + which can be achieved. Full fuel tanks, all passengers on + board and full cargo holding. + + mOEM + + + The operation empty mass structure is based on the Airbus Mass + Standard brake down [AIRBUS MASS STANDARD 2008]. The + operator’s mass empty (OME) is defined by the sum of the + following component masses: + + operator’s items + manufacturer’s mass empty (MME) + + + + + + + 2. massDescription + + + Each sub component has the following + massDescription + which include a: + + Name + Description + parentUID + Mass value + Mass location + Mass orientation + Mass Inertia. + + + + That + massdescription + can be found at the + designMasses + direct under each item. At the + fuel + , + payload + and + mOME + under massDescription in each item and sub item. + + + + For the clean up the + mOME + there is consisting a script witch is programmed in Matlab but + also as standalone vision available. Setting for that tool can + be done under + toolspesifics/cmu + . + + + + + + + + + + + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Manufacturer empty mass description + + + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Group mass of hierarchy level 1 + + + + + + + + + + + + + + + Mass + + + + + + + + + + + + + Group mass of hierarchy level 2 + + + + + + + + + + + + + + + Operating empty mass + + + + + + + + + + + + + Operating empty mass description + + + + + + + + + + + + + + + + rotorcraftModelType + + + RotorCraftModel type, containing a complete rotorcraft + model (Geometry and all specific data). The rotorcraftModelType + is basically a copy of the aircraftModelType with the following + additional elements: rotors, rotorBlades, driveSystems. + Furthermore the folowing elements have been adapted for + rotorcraft: global and analyses (aeroPerformance and + massBreakdown). + + + + + + + + + + Name of rotorcraft model + + + + + Description of rotorcraft model + + + + + + + + + + + + + + + + + + + + + + + + + + Rotorcraft + + + Rotorcraft type, containing all the rotorcraft models. + + Most of the extensions used in the rotorcraft type have + been defined as part of the work in the DLR project RIDE + (Rotorcraft Integrated Design and Evaluation, 2009-2012). + Therefore some of the definitions and conventions are tightly + coupled to the RIDE toolchain and tools. Further generalization + and assimilation of these parts to the definitions for fixed-wing + aircraft is planned for the near future. + + + + + + + + + + + + + + + + + + + rotorsType + + + Rotors type, containing all the rotors (mainRotors, + tailRotors, fenestrons, propellers, ...) of an rotorcraft model. + + + + + + + + + + + + + + + + + + + + runwayILSType + + + RunwayILS type, containing ILS data of a runway + + + + + + + + + + + Position of the localizer antenna + + + + + + + Position of the glide slope antenna + + + + + + Angle of the glide path + + + + + + + + + + + + + + runwayType + + + Runway type, containing data of a runway + + + + + + + + + + Name of runway + + + + + Description of runway + + + + + Position in degrees north + + + + + Position in degrees east + + + + + Threshold elevation + + + + + Runway heading + + + + + Takeoff run available + + + + + Landing distance available + + + + + Conditions of the runway + + + + + + + + + + + + + + + runwaysType + + + Runways type, containing data of the airport's runways + + + + + + + + + + + + + + + + + + + + shaftLinkedComponentsType + + + ShaftLinkedComponents type, containing UIDs of engines, + transmissions and rotors linked by a shaft. + + + + + + + + + + + UID of a linked engine. + + + + + UID of a linked transmission shaft input. + + + + + + UID of a linked transmission shaft output. + + + + + + UID of a linked rotor. + + + + + + + + + + + + + + shaftType + + + Shaft type defining a shaft used as a link between + drive system components. + + + + + + + + + + + + + + + + + + + + + + shaftsType + + + Shafts type, containing all the shafts of a drive + system. + + + + + + + + + + + + + + + + + + + sheet3DType + + + + + + + + + + + + + + + + + + + + + + + + + + sheetBasedStructuralElementType + + + sheetBasedStructuralElementType type, sheet definition + for use in fuselage/structure + + + + + + + + + + Material definition of the skin segment + (Material, thickness, (lay-up)) + + + + + + + + + + + + + + sheetBasedStrcuturalElementsType + + + sheetBasedStrcuturalElementsType, containing sheet + based structural element definitions + + + + + + + + + + + + + + + + + + + sheetList3DType + + + + + + + + + + + + + + + + + + + + + + List of sheets, connecting 2-dimensional profile + points. + + + SheetList type, containing a list of sheets. Each sheet + combines two points to one sheet. + + + + + + + + + + + + + + + + + + + sheetPointsType + + + + + + + + + + + + + + + + + + + + + + sheetType + + + Sheet type, containing connection data of a sheet + + + + + + + + + + + Name of sheet within the profile definition + + + + + + Description of sheet within the profile + definition + + + + + Point from which the sheet definition starts + start + + + + + Continuity definition for profile geometry + generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + tangential continuity), 2= C2 (defines curvature continuity) + 2=all + + + + + + + + + + + + + + Definition of an orientation vector at P1 + + + + + + Point at which the sheet definition ends + + + + + + Continuity definition for profile geometry + generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + tangential continuity), 2= C2 (defines curvature continuity) + 2=all + + + + + + + + + + + + + + Definition of an orientation vector at P2 + + + + + + + + + + + + + + + singleGenericMassType + + + + + + + + + + + + + + + + + + + + + + Skid landing gears + + + List of skid gears + + + + + + + + + + + + + + + + + + + fuselagePanelType + + + FuselagePanel type, panel of the fuselage between + stringers/ frames (new in V1.5) + + + + + + + + + + UID of sheetBasedStructuralElement used for + the panel + + + + + UID of frame at start of the skin segment + + + + + + UID of frame at end of the skin segment + + + + + + UID of stringer at start of the skin segment + + + + + + UID of stringer at end of the skin segment + + + + + + + + + + + + + + + fuselageSkinSegmentType + + + FuselageSkinSegment type, containing material on skin + over circumference + + + + + + + + + + + + + + + + + + + skinType + + + Containing data defining the skin + + + + + + + + + + Default UID of sheetBasedStructuralElement + used for the fuselage skin not covered by individual panels + + + + + + + + + + + + + + + Spar cell of the spar. + + + + Within spar cells a special area of the spar is + defined where different cross section and material properties + shall be defined. + The area of the spar is defined by using the + parameters 'fromEta' and 'toEta'. The definition of the caps, + webs and rotation is equivalent to the cross section definition + of the complete spar. + + + + + + + + + + + Beginning (= inner border) of the spar cell. + + + + + + Ending (= outer border) of the spar cell. + + + + + + Upper Cap + + + + + + Lower Cap + + + + + + Web 1 + + + + + + Web 2 + + + + + + The angle between the wing middle plane and + web 1 [deg]. Default is 90 degrees. Positive rotation is around the + spar axis heading along with the positive eta-axis. + + + + + + + + + + + + + + + SparCells of current spar. + + + sparCells are an optional Element. They are defined via + the etaCoordinates and define a region of special cross section + and material properties. + + + + + + + + + + + + + + + + + + + Definition of the spar cross section. + + + + Spar type, containing the cross section definition of + a spar. The spar middle point is defined by the intersection of + the wing middle plane and web1. This equals the coordinate + defined within the sparPosition. + Please find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + + + + + + + + + + + + + + + + The angle between the wing middle plane and + web1. Default is 90 degrees. Positive rotation is around the + intersection axis of the spar and the wing middle plane. The + positive heading of this axis is inline with the positive + heading of the componentSegment eta-axis. + + + + + + + + + + + + + Spar position on the wing + + + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Eta and xsi + are relative to the componentSegment. + Please find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + As an alternative to the relative eta coordinate it is + possible to specify an elementUID so that the spar position is + relative to the outer geometry, e.g. kink, of the wing. + + + + + + + + + + + + Defines a spar position on an existing rib using a relative xsi coordinate + to determine the chord wise position on that rib + + + + + Defines a spar position using relative eta/xsi coordinates + + + + + + + + + + + + + + sparPositionUIDs of the spar. + + + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Those + positions are combined to spars by using a list of spar position + uIDs. The order of the sparPositionUIDs must be the same as the + order of the points on the real spar (from root to tip or from + tip to root). + Pleas note: orientation of a spar must be allways + outbound or allways inbound. A zigzag spar orientation where + e.g. the spar starts at the root, goes to the tip and goes back + to another point at the root is not allowed. + Pleas find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + + + + + + + + + + + List of spar position uIDs. + + + + + + + + + + + + + + Spar definition points on the wing. + + + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Eta and xsi + are relative to the componentSegment. + Please find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + + + + + + + + + + + + + + + + + + + + SparSegments (=spars) of the wing. + + + SparSegmentType, each spar is defined by multiple + sparPositions that are referenced via their uID. The spar cross + section is defined in 'sparCrossSection'. + + + + + + + + + + Name of the spar segment (=spar). + + + + + + Description of the spar segment (spar). + + + + + + + + + + + + + + + + + Spar segments of the wing. + + + sparSegmentsType, containing multiple sparSegment + (=spars) of the wing. + + + + + + + + + + + + + + + + + + + Specific heat map, containing the specific heat capacity of a material at different temperatures. + + + The specific heat of a material can vary with the temperature. The vectors specificHeat and temperature + must have the same size to be valid. The data should be linearly interpolated. + + + + + + + + + + + Temperature in [K] + + + + + Specific heat capacity of the material in [J/(kg*K)] + + + + + + + + + + + + + Specific performance map + + + + Applying a specific performance map to selected mission segments. In addition to the obligatory defaultPerformanceMapUID at least a segmentUID or pointPerformanceUID must be given. + + + + + + + + + + + UID of performance map to be used for mission segments + + + + + + + List of all mission segment UIDs to which the performance map is to be applied + + + + + List of point performance UIDs to which the performance map is to be applied + + + + + + List of point performance UIDs to which the performance map is to be applied + + + + + + + + + + + + + + specificPerformanceMapsType + + + Collection of all assignments of specific performance maps to selected mission segments + + + + + + + + + + + + + + + + + + + Spoilers of the wing. + + + A spoiler is defined via its outerShape relative to the + componentSegment. The WingCutOut defines the area of the upper + skin that is removed by the spoiler. Structure is similar to the + wing structure. The mechanical links between the spoiler and the + parrent are defined in tracks. The deflection path is described + in path. Additional actuators, that are not included into a + track, can be defined in actuators. + + + + + + + + + + Name of the spoiler. + + + + + Description of the spoiler. + + + + + + UID of the parent of the spoiler. The parent + is the componentSegment, where the spoiler is attached. + + + + + + + + + + + + + + + + + + + + + Definition of the wings spoilers. + + + Definition of the wings spoilers. + + + + + + + + + + + + + + + + + + + State parameter definition + + + Contains the values of a parameter and its uid as reference. + + + + + + + + + + + + + + + + + + + + + + + + State parameters list + + + Contains a list of all state parameters. + + + + + + + + + + + + + + + + + + + + stiffnessType + + + + + + + + + + + + + + + + + + + + + + + + + + + stringerFramePositionType + + + + Description of individual stringer / frame postions + + + + + + + + + + + + + + UID of profile based structural element + + + + + + + x position in absolute value + + + + + + UID reference to a fuselageSectionElement + + + + + + + y coordinate of reference system + + + + + + z coordinate of reference system + + + + + + angle definition to calculate intersection + with loft + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + + + + + + + + + + + + arbitraryStringerType + + + ArbitraryStringer type, containing stringer definition + (CPACS V1.5+) + + + + + + + + + + + + + + + + + + + + stringersAssemblyType + + + StringersAssembly type, containing an assembly of + stringers (new V1.5) + + + + + + + + + + + + + + + + + + + Structural elements + + + structuralElements Type, containing the different structural + elements + + + + + + + + + + + + + + + + + Seat elements (Deprecation warning: This element will soon be removed from the official CPACS. Use the new seat modules located at cpacs/vehicles/deckElements!) + + + + + + + + + + + + + + + structuralMountType + + + + + + + + + + + + + + If this value is set to true then only the end points of the intersection shall be included as nodes in the model. + + + + + + The UID for the first connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. + + + + + + Optional counter to specify numbered items, e.g. ribs in a ribSet. + + + + + + The UID for the second connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. + + + + + + Optional counter to specify numbered items, e.g. ribs in a ribSet. + + + + + + + + + + + + + + + structuralProfile3DType + + + + + + + + + + + + + + + + + + + + + + + + + + 2-dimensional cross sections of structural profiles. + + + + + StructureProfile type, containing data of a structure + profile cross sections. The cross section profile is defined by + several points (->pointList) in the x-y-space. Two points are + combined to one sheet (->sheetList) by using the pointUIDs. + + This profile is defined by several points in the + x-y-space. Allways two points are combined to one sheet. The + properties of each sheet are defined in the 'sheetProperties' + section by referencing on the sheetUID and the material + properties. The orthotropy direction of composite materials equals + the x-sheet axis. The orthotropy direction angle equals a positive + rotation around the z-sheet axis as indicated in the picture below + (part 3.), where a wing stringer is defined as an example: + + + + + + + + + + + + + + + Name of the structure profile. + + + + + + Description of the structure profile. + + + + + + List of structural profile points, only x and + y. + + + + + + + + + + + + + + + Definition cross sections of structural profiles. + + + + Structuralprofiles type, containing cross section + information of structural profiles. + + + + + + + + + + + + + + + + + + + + Geometric description and material properties of a strut + + + + + + + + + + Length of the strut + + + + + + + + + + + + + + Design study parameters and results + + + + Contains optimization data such as definitions of design parameters and design studies. + + + + + + + + + + + + + + + + + + + + + + + + + subFleetType + + + Each fleet can be divided into sub fleet groups + + + + + + + + + + Name of fleet + + + + + Description of the fleet + + + + + A ; separated list of all tailsign strings + + + + + + + + + + + + + + subFleetsType + + + Contains a list of different sub fleets + + + + + + + + + + + + + + + + + + + subLoadType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Systems + + + + Systems type, containing the aircraft's control system + data + Please see the attached picture for further + documentation + + + + + + + + + + + + + + Node for geometrical layout of system components + based on simple geometric shapes + + + + + + Cockpit controls, e.g. stickRoll, pedals + + + + + + Different commandCases that are commanded, + e.g. roll, accelerate + + + + + Control Distributors, deliver inputs to the + control actuators. E.g. different angles of different ailerons. + + + + + + Control laws, for regulated actuation + + + + + + + + + + + + + + tailplaneAttachmentAreaType + + + tailplaneAttachmentArea type, containing dat on + fuselage + structure to attach tailplaine + + + + + + + + + + Definition of tailplane attachment area + (Standard + Configuration) + + + + + type of tailplane attachment: Currently + restricted to + 'Type1' and 'Type2' (see documentation) + + + + + + + + + + + + + + Definitions of VTP interface + + + + + + Definitions of VTP interface + + + + + + + + + + + + + + + takeoffPerformanceParametersType + + + + + + + + + + + + + Take-off distance at liftoff speed VLOF. + + + + + + Take-off distance at safety speed V2. + + + + + + Optimal speed Velev at point of initiating + take-off rotation by elevator deflection for a minimum take-off + distance. + + + + + Optimal rotation speed VR for a mini-mum + take-off distance + + + + + Liftoff speed VLOF. + + + + + Safety speed V2. + + + + + Take-off decision speed V1 + + + + + Minimum control speed ground VMCG. + + + + + + Flight path angle being achieved at V2 with + one engine failure in 400 ft height above ground. This is the + result of a post trim calculation using the deter-mined V2. If + the trim calculation fails the entry is set to -90. + + + + + + + + + + + + + + Structural properties of the tangent links, if + existing. The tangent links do connect the engine pylon with the + engine to carry the thrust forces. + + + + + + + + + + + + + + + + + + + + + + simpleConnectionType + + + SimpleConnection type, containing a simple connection + + + + + + + + + + + Can be each structural member (skinSegment, + stringer, frame, paxCrossBeam, cargoCrossBeam, + paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, + floorPanel, seatModule) + + + + + Can be each structural member (skinSegment, + stringer, frame, paxCrossBeam, cargoCrossBeam, + paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, + floorPanel, seatModule) + + + + + + + + + + + + + + + simpleConnectionsType + + + SimpleConnections type, containing simple connections + + + + + + + + + + + + + + + + + + + + topologyEntriesType + + + + + + + + + + + + + + + + + + + + + + topologyEntryType + + + A topology entry is used to combine the dynamic aicraft + models of several components, e.g. wing and fuselage. By default + these will be stiff. If desired stiffness and rotation with + respect to the CPACS coordinate system may be specified. + + + + + + + + + + + + + + + + + + + + + + + totalOperatingCostType + + + + + + + + + + + + + + + + + + + + + + + + trackActuatorType + + + + + + + + + + + + + Reference to the uID of the actuator of the + track. + + + + + Definition of the material properties of the + actuator to track attachment. + + + + + + + + + + + + + + wingSparsType + + + Spars type, a spar is defined by sparSegments that + stretch between multiple sparPositions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Definition of the struts of a control surface track. + + + + Definition of the struts of a control surface track. + + + + + + + + + + + + + + + + + + + + Definition of a strut of a control surface track. + + + + Definition of a strut of a control surface track. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specification of joint coordinates. + + + + Specification of joint coordinates. + + + + + + + + + + + + + + + + + + + + Set of joint coordinates + + + + Definition of a set of joint coordinates. + + + + + + + + + + + Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + + + + + + + + Joint coordinates + + + + Definition of a joint coordinates. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Trailing edge device of the wing. + + + A trailingEdgeDevice (TED) is defined via its + outerShape relative to the componentSegment. The WingCutOut + defines the area of the skin that is removed by the TED. + Structure is similar to the wing structure. The mechanical links + between the TED and the parrent are defined in tracks. The + deflection path is described in path. Additional actuators, that + are not included into a track, can be defined in actuators. + + Leading and trailing edge are defined by the outer + shape of the wing segments, i.e. the trailing edge of a + trailingEdgeDevice is the trailing edge of the wing. This is also + valid for kinks that are present in the wing but not explicitly + modeled in the control surface. + The edges of the control surface within the wing are a + straight line in absolute coordinates! Hence, there needs to be a + straight connection between the eta-wise outer and inner points + of the edge that is within the wing in absolute coordinates. + + + + + + + + + + + Name of the trailing edge device. + + + + + + Description of the trailing edge device. + + + + + + UID of the parent of the TED. The parent can + either be the uID of the componentSegment of the wing, or the + uID of another TED. In the second case this TED is placed within + the other TED (double slotted flap). In this way n-slotted TEDs + can be created. + + + + + + + + + + + Definition of cruise rollers/mid-span stops. + Those features are small rolls at the leading edge of a flap + that keep the flap within the bending wing at cruise + configuration. + + + + + Definition of interconnection struts. Those + struts connect two neighbouring flaps and are load carrying in + case of an actuator of flap track failour. + + + + + Definiton of z-couplings. Those elements + couple two neighbouring flaps in z-direction. + + + + + + + + + + + + + + + Definition of the wings trailing edge devices. + + + + Definition of the wings trailing edge devices. + + + + + + + + + + + + + + + + + + + + Trajectories + + + + + + + + + + + + + + + + + + + + + + trajectoryGlobalType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trajectoryType + + + + + + + + + + + + + + + + + + + + + + + + + + + transmissionGearRatioType + + + TransmissionGearRatio type, defining the ratio of + output rotation velocity to input rotation velocity. + + + + + + + + + + + + + + + + + + + + transmissionShaftInputType + + + TransmissionShaftInput type, defining a shaft input for + a transmission. + + + + + + + + + + + + + + + + + + + + transmissionShaftInputsType + + + TransmissionShaftInputs type, defining the shaft inputs + of a transmission. + + + + + + + + + + + + + + + + + + + transmissionShaftOutputType + + + TransmissionShaftOutput type, defining a shaft output + for a transmission. + + + + + + + + + + + + + + + + + + + + + transmissionShaftOutputsType + + + TransmissionShaftOutputs type, defining the shaft + outputs of a transmission. + + + + + + + + + + + + + + + + + + + transmissionType + + + Transmission type, defining a transmission/gearbox. + + + + + + + + + + + + + + + + + + + + + + + + + transmissionsType + + + Transmissions type, containing all the + transmissions/gearboxes of a rotorcraft model. + + + + + + + + + + + + + + + + + + + + + + + + + + + updateType + + + Update type, containing a datablock for each update of + the CPACS dataset + + + + + + + + + + Description of Modification of CPACS data + + + + + + Creator of CPACS modification + + + + + + Timestamp of CPACS modification + + + + + + New version number of CPACS dataset after + modification + + + + + CPACS version that the dataset is valid to + + + + + + + + + + + + + + Structural properties of the upper links, if existing. + The upper links do connect the upper forward part of the pylon + box with the forward wing attachment. + + + + + + + + + + + + + + + + + + + + + + variableSegmentType + + + + Containing the definition of variable segments for a segment block + + + + + + + + + + + defines uID of the segment having variable conditions + + + + + defines which condition(s) are variable within the segment (must be one of the defined + endConditions for the segmentBlock) + + + + + + + + + + + + + + + + + + + + List of segments that are allowed to be varied within a mission optimization. + + + + Provides a list of segments having variable conditions within the segmentBlock. + Example: a segmentBlock containing takeOff, climb, cruise, decent, landing segments has a cruise segment for which the range is variable. + The range of this segment is then to be calculated using the range defined for the segmentBlock while concerning the known ranges of all + other segments within the segmentBlock. + This concept needs to be practically tested. Does it suffice to mention (a list of) segments that are free to change to fit the overall block constraints? What happens if a segment is variable, though it has some constraints? When to define a segment as variable (climb until endPosition z, then endPosition x should be left free. Is the segment then variable? Probably not.). Somehow the 'free' segment should be in between fully defined segments (i.e.: a cruise+descent in between endPosition z == ICA and endPosition z == 0 for landing to define max range. How to define this exactly?) + + + + + + + + + + + + + + + + + + + Vehicles + + + + The vehiclesType contains all vehicle-specific + data. + This includes the vehicle itself (i.e. aircraft + and rotorcraft). Furhtermore, components + (e.g. engines, structuralElements, etc.) + as well as physical properties of materials and + fuels can be predefined for easy and consistent reuse via + uID-references. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vtpFrameDefType + + + Definition of the individual VTP attachments + + + + + + + + + + Definition of tailplane attachment area + (Standard Configuration) + + + + UID of the fuselage frame at this VTP + attchment + + + + + Flag for option for VTP attachment between + defined FrameUID and the next one + + + + + UID of panel element at VTP attachment (shell + elements) + + + + + UID of structural element at VTP attachment + (base, beams) + + + + + UID of structural element at VTP attachment + (horizontal, beams) + + + + + UID of structural element at VTP attachment + (radial, beams) + + + + + + + + + + + + + + vtpInterfaceDefType + + + Definition of the interface of the VTP + + + + + + + + + Definition of the VTP interface + + + + + Definition of the VTP attachment frames and + their + reinforcement + + + + + + Defines area for valid x-position of VTP (just + used + if attachmentpoint is directly based on frame) ==> check and + potentially warning message + + + + + + Definition of the max. distance between + fuselage and + the defined VTP pins ==> check and potentially warning + message + + + + + + Definition of reinforcement area at VTP frame + positions (relative coordinate, smaller than + 1.0) + + + + + + Definition of vertical reinforcements at VTP + frame + positions (relative coordinate, smaller than + 1.0) + + + + + + value to change from horizontal to radial + reinforcements for VTP frame plates + + + + + + UID of elements to connect VTP pins with + fuselage + (beam elements) + + + + + + + + + + + + + + + + webType + + + + SparWeb type, containing the cross section area of the + spar web and the material properties. + Pleas find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + + + + + + + + + + + Material definition of the spar web. + + + + + + relPos ranges from 0 to 1 It defines the + position of the web relative to the caps (see picture below).. + + + + + + + + + + + + + + weightAndBalanceCaseType + + + WeightAndBalanceCase type, containing weight and + balance data for one case + + + + + + + + + + + + + + + + + + + + + + + + weightAndBalanceFuelInTankType + + + + + + + + + + + + + + + + + + Ranges from 0 for empty tank to 1 + + + + + + + + + + + + + + weightAndBalanceFuelInTanksType + + + + + + + + + + + + + + + + + + + + + + weightAndBalanceFuelType + + + + + + + + + + + + + + + + + + + + + + + + + weightAndBalancePayloadType + + + + + + + + + + + + + + + + + + + + + + + + + + Weight and balance + + + WeightAndBalance type, containing weight and balance + datasets + + + + + + + + + + + + + + + + + + + + weightAndBalancemCargosType + + + For a higher ganularity it is possible to add more + information on the actual Cargo that are included in the + operational case. Please note that the information needs to be + identical with the massBreakdown. Hence, only links via uIDs can + be specified. + + + + + + + + + + + + + + + + + + + + + + weightAndBalancemPaxxType + + + For a higher ganularity it is possible to add more + information on the actual Pax that are included in the + operational case. Please note that the information needs to be + identical with the massBreakdown. Hence, only links via uIDs can + be specified. + + + + + + + + + + + + + + + + + + + + + + windowAssemblyPositionType + + + WindowAssembly type, containing an the position of a + windows assembly + + + + + + + + + + UID of the window element to be used + + + + + + x position of window elemment on global x axis + + + + + + z position of window elemment refernce point + + + + + + angle around global x axis to define window + position with respect to positionX and postionZ + + + + + + + + + + + + + + + windowsAssemblyType + + + WindowsAssembly type, containing an assembly of windows + + + + + + + + + + + + + + + + + + + + windowsType + + + Windows type, containing windows + + + + + + + + + + + + + + + + + + + + wingAeroPerformanceType + + + wingAeroPerformance type, containing perfomance maps + with aerodynamic data of a wing. + + + + + + + + + + Reference to the uID of the analysed wing + + + + + + References used for the calculation of the + force and moment coefficients of the wing (in the wing axis + system!) + + + + + Calculated aerodynamic performance maps of the + wing + + + + + + + + + + + + + wingAirfoilsType + + + WingAirfoils type, containing wing airfoil geometries. + See profileGeometryType for further documentation + + + + + + + + + + + + + + + + + + + Cell of the wing + + + + A cell defines a special region of the wing. Within + this region skin and stringer properties can be defined that + differer from the properties of the rest of the wing. In general + a cell is defined by defining four borders – the cell leading + and trailing edge and the inner border and the outer border. + Those borders can either be defined by using eta/xsi coordinates + or by referencing to spars and ribs. Mixed definitions (e.g. + forward border is defined due to a spar, side borders due to eta + coordinates) is allowed. In general a cell is quadrilateral. But + if e.g. the spar, which is used for the definition of the + trailing edge, has a kink, the cell can have more than four + corners. + The cell leading and trailing edge (= forward and rear + border) can either be defined by referencing to a spar + (->sparUID) or by the defining the xsi (=relative chord) + coordinates of the border (xsi1 = inner end; xsi2 = outer end). + + The cell inner and outer border can either be defined + by referencing to a rib (->ribDefinitionUID and ribNumber) or + by the defining the eta (=relative spanwise) coordinates of the + border (eta1 = forward end; eta2 = rear end). + Some examples for wing cells can be found in the + picture below: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cells of the wing. + + + WingCells type, containing all the cells of the wing. + + + + + + + + + + + + + + + + + + + + Structure of the wing + + + wingComponentSegmentStructure type, containing the + whole structue (skins, ribs, spars...) of the wing. + + + + + + + + + + + + + + + + + + + + + + + Element of the section. + + + + Within elements the airfoils of the wing are defined. + Each section can have one or more elements. Within each element + one airfoil have to be defined. If e.g. the wing should have a + step at this section, two elements can be defined for the two + airfoils. + Mathematically spoken a element is a coordinate system + that is translated, rotated and scaled relative to the section + coordinate system. This transformation parameters are defined + withing the transformation section. The wirfoil, which is linked + by using the parameter airfoilUID is directly 'copied' in the + element coordinate system. If e.g. the airfoil is defined from 0 + to 1 in x-direction and the total scaling of the elements x-axis + equals 3.5 the wing chord is 3.5 m long. + An example for wing element can be found in the + picture below: + + + + + + + + + + + + + + Name of the wing element. + + + + + Description of the wing element. + + + + + + Reference to a wing airfoil. + + + + + + + + + + + + + + + + Elements of the wing. + + + WingElements type, containing the elements of a wing + section. + + + + + + + + + + + + + + + + + + + Border of the fuel tank (either rib or spar). + + + + + + + + + + + + + + Spar uID of the bordering spar. + + + + + + + UID of the rib set of the bordering rib. + + + + + + RibNumber of the rib set of the bordering + rib. + + + + + + + + + + + + + + Definition of the geometry of the wing fuel tank by + defining a continouse list of borders. + + + + + + + + + + + + + + + + + + + + + + Definition of one wing fuel tank. + + + + + + + + + + + + + Name of the wing fuel tank. + + + + + + Description of the wing fuel tank. + + + + + + + + + + + + + + + + + Definition of different volumes of the fuel tank. + + + + + + + + + + + + + + Theoretical volume if material thicknesses + (ribs, spars, skins, stringers) and systems (fuel pumps, + pipes...) are neglected. + + + + + + + Usable fuel volume aircraft operations. + + + + + + Total real fuel tank volume. + + + + + + + + Factor between the usalbe fuel volume and + the real fuel volume. + + + + + Factor between the real fuel volume and the + theoretical optimum fuel volume. + + + + + + + + + + + + + + + List of wing fuel tanks. + + + + + + + + + + + + + + + + + + + + + + Definition of the wing-fuselage attachment + + + + Definition of the wing-fuselage attachment. The area + of the fuselage attachment (resp. center wing box, CWB) is + defined by defining one resp. two ribs from the rib definition. + If one rib is defined (rib1) the CWB goes from the closer end of + the componentSegment (e.g. wing symetry plane) to the defined + rib. If two ribs are defined (rib1 and rib2), the CWB is between + both ribs. + Additionally attachment pins can be defined. At those + positions the wing is attached to the fuselage. This can be e.g. + used for defining the wing-attachment of high wing + configurations, HTPs or VTPs. + + + + + + + + + + + Definition of first (=inner) rib of the + fuselage attachment. + + + + + Definition of the second (=outer) rib of the + fuselage attachment. Optional. Only to be used if attachment is + defined over two ribs. + + + + + Definition of position, orientation, materials + and blocked DOFs of attachment pins. + + + + + Definition of actuators (e.g. trim actuator of + an HTP) of the attachment. + + + + + + + + + + + + + Definition of the wing-fuselage attachment. + + + Definition of the wing-fuselage attachment + + + + + + + + + + + + + + + + + + + wingInterfaceDefinitionsType + + + CenterFuselage high wing interface definitions + + + + + + + + + + + + + + + + + + + + + + + + + centerFuselageMainFramesType + + + High wing main frame definition, containing mainframe + UIDs + + + + + + + + + + + + + + + + + + + + + wingInterfaceSupportStrutType + + + wingInterfaceSupportStrut type, containing support + strut definition + + + + + + + + + + Name of support strut. + + + + + Type description: lateral or longitudinal + support strut. + + + + + + + + + + + + + + + + + + wingInterfaceSupportStrutsAssemblyType + + + wingInterfaceSupportStrutsAssembly type, containing + support struts assembly + + + + + + + + + + + + + + + + + + + + Definition of the cell of the intermediateStructure + + + + + IntermediateStructure: + It defines the filling materials between the upper and + lower shell (e.g. honeycombe structures in a smeared + representation). IntermediateStructure is optional.The position + of the intermediateStructure is defined in so called cells (= + special areas on the wing). Default is no intermediateStructure. + + Material Definition of intermediateStructure: + + The material of the intermediateStructure is reference + by 'material'. The material orientation is defined by 'rotX' and + 'rotZ'. 'rotZ' is defined equivalent to the stringer angle resp. + the skin orthotropyDirection. 'rotX' equals a positive rotation + around the wings x-axis, while a rotation of zero is equivalent + to the wing middle plane. + A picture to clarify the reference direction of rotZ + (equivalent to orthothropy direction of the wing) can be found + in the picture below: + + + + Position definition by using cells: + A cell defines a special region of the wing. Within + this region the cell properties are defined. In general a cell + is defined by defining four borders – the cell leading and + trailing edge and the inner border and the outer border. Those + borders can either be defined by using eta/xsi coordinates or by + referencing to spars and ribs. Mixed definitions (e.g. forward + border is defined due to a spar, side borders due to eta + coordinates) is allowed. In general a cell is quadrilateral. But + if e.g. the spar, which is used for the definition of the + trailing edge, has a kink, the cell can have more than four + corners. + The cell leading and trailing edge (= forward and rear + border) can either be defined by referencing to a spar + (->sparUID) or by the defining the xsi (=relative chord) + coordinates of the border (xsi1 = inner end; xsi2 = outer end). + + The cell inner and outer border can either be defined + by referencing to a rib (->ribDefinitionUID and ribNumber) or + by the defining the eta (=relative spanwise) coordinates of the + border (eta1 = forward end; eta2 = rear end). + Some examples for wing cells can be found in the + picture below: + + + + + + + + + + + + + + + + + + Reference to the material of the intermediate + structure. + + + + + 'rotX' equals a positive rotation around the + wings x-axis, while a rotation of zero is equivalent to the wing + middle plane direction. + + + + + 'rotZ' is defined equivalent to the stringer + angle resp. the skin orthotropyDirection. + + + + + + + + + + + + + + IntermediateStructure cells + + + Definition of the intermediateStructure of the + componentSegment of the wing. + + + + + + + + + + + + + + + + + + + Definition of a ribCell + + + RibCells are optional elements. They are defined via a + fromRib and a toRib. The enumeration is within the ribSet. + RibNumber 1 starts at etaStart. + + + + + + + + + + Defines the beginning of the ribCell. The + enumeration is within the ribSet. + + + + + Defines the ending of the ribCell. The + enumeration is within the ribSet. + + + + + WING: The Rotation along the x describes a + rotation around a line, that is defined by the intersection of + the rib with the wing middle plane (orientated from leading to + trailing edge). This angle defaults to 90° which means, that the + rib is perpendicular on the wings middle plane. PYLON: The + Rotation along the z describes a rotation around the pylons + z-axis (= rotation in top view). This angle defaults to 90° + which means, that the rib is perpendicular to the pylons x-axis. + + + + + + The orthotropyDirection is defined as rotation + around the ribs z-axis. The rib coordinate system is defined as + follows: x-axis is from leading to trailingeEdge of the + componentSegment in the direction of the rib elongation. z-axis + is normal to the rib in the direction of positive eta. y is + defined by right hand rule. Rotation is around the z-axis. Zero + degrees are at the x-axis positive direction. + + + + + + + + + + + + + + + + + Cross section properties of a wing rib + + + wingRibCrossSectionType, containing the definition of + ribsCrossSection + + + + + + + + + + The orthotropyDirection is defined as rotation + around the ribs z-axis. The rib coordinate system is defined as + follows: x-axis is from leading to trailingeEdge of the + componentSegment in the direction of the rib elongation. z-axis + is normal to the rib in the direction of positive eta. y is + defined by right hand rule. Rotation is around the z-axis. Zero + degrees are at the x-axis positive direction. + + + + + + WING: The Rotation along the x describes a + rotation around a line, that is defined by the intersection of + the rib with the wing middle plane (orientated from leading to + trailing edge). This angle defaults to 90° which means, that the + rib is perpendicular on the wings middle plane. The rotation + angle is defined at the intersection point of the rib with the + ribReference line. The rib itself is allways straight and not + twisted. PYLON: The Rotation along the z describes a rotation + around the pylons z-axis (= rotation in top view). This angle + defaults to 90° which means, that the rib is perpendicular to + the pylons x-axis. + + + + + + + + Post element definition applied to all vertical intersections with spars + + + + + + + + + + + + + Explicit positioning of a wing rib + + + + Use this type for an explicit positioning of a rib. As opposed to + ribsPositioning, this defines a single rib connecting a specified start + and end point. + + + + + + + + + + + + + Defines the start of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the start of the rib defined by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the beginning of the rib using a specific sparPosition. + + + + + + + + + Defines the end of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the end of the rib given by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the end of the rib using a specific sparPosition. + + + + + + + + Defines the forward beginning of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + + + + + + + RibEnd defines the backward ending of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + + + + + + + + + + + + + + wingRibPointType + + + + The wingRibPointType is used to define reference points on ribs. + It can be used for rib set definitions (wingRibsPositioningType) as + well as explicit rib definitions (wingRibExplicitPositioningType). + + + + + + + + + + + + The UID of the rib definition. Can be a reference to nodes + of either wingRibsPositioningType or wingRibExplicitPositioningType. + + + + + + + For references of type wingRibsPositioningType this node indicates the rib number of the rib set. + If not given it defaults to 1. + + + + + + + Normalized xsi coordinate of the rib point which is measured along the rib + from the start point [0] towards the end point [1]. + + + + + + + + + + + + + + Definition of a set of ribs + + + + RibDefinitionType, containing the definition for ribs. + Ribs are defined in sets of one or more ribs. The positions of + the rib, as well as the orientation of the ribs are defined in + 'ribPositioing'. The cross section properties, as e.g. + materials, are defined in 'ribCrossSection'. + + + + + + + + + + + Name of the rib set + + + + + Description of the rib set + + + + + + + + + + + + + + + + + + + + Wing ribs + + + RibDefinitions type, containing the definition of all + ribs of the wing. + + + + + + + + + + + + + + + + + + + Positioning of a set of wing ribs + + + + The ribsPositioning type allows the definition of a set + of ribs which is distributed over a specified spanwise area. + The positions of the ribs are defined by placing the + ribs on a reference line on the wing (ribReference). The inner + and the outer beginning of the rib set is defined using etaStart + and etaEnd. The position of the forward and rear end of the ribs + is defined by ribStart and ribEnd. The orientation of the ribs + is defined in ribRotation. The number of ribs of the current rib + set is either defined by ribNumber or by spacing. + Three examples how ribs can be placed on the wing are + illustrated in the picture below. For more detailed information, + please refer to the description of each parameter. + + + + + + + + + + + + + + + + Defines the start of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the start of the rib by a point on a reference curve, + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the beginning of the rib using a specific sparPosition + + + + + + + + + Defines the end of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the end of the rib defined by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the end of the rib using a specific sparPosition + + + + + + + + Defines the forward beginning of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + + + + + + + Defines the backward ending of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + + + + + + + + The spacing of the ribs defines the distance between two ribs, + measured on the + ribReferenceLine. First rib is placed at etaStart. + + + + + + + Defines the number of ribs in this ribSet. First rib is at + etaStart on the + referenceLine, last rib is at etaEnd. The spacing is constant on the + ribReferenceLine. + + + + + + + + The ribReference is the reference line for the computation of the rib set spacing. + It can either be a sparUID or "trailingEdge" or "leadingEdge" + + + + + + + + RibCrossingBehaviour can either be 'cross' or 'end'. If it is set to'end' the ribs + of this rib set will end at the intersection with another rib. + If it is set to + 'cross' the ribs of this rib set will continue at the intersection + with another rib. + + + + + + + + + + + + + + + + + + + + + + Section of the wing. + + + + WingSection type, containing a wing section. The + sections contains elements, where the airfoils are defined. For + the definition of a wing at least two sections (root and tip) + have to be defined, but any number greater than 2 is also + possible. + Mathematically spoken a section is a coordinate system + that is translated, rotated and scaled relative to the wing + coordinate system. This transformation parameters are defined + withing the transformation section. + In addition to the translation, which is defined in + the transformation part, the section can be translated by using + the positionings vectors (wing->positiongs). Translation of + the positionings vectors is added to the translation of the + section. + An example for wing sections can be found in the + picture below: + + + + + + + + + + + + + + Name of wing the wing section. + + + + + + Description of the wing section. + + + + + + + + + + + + + + + + + Sections of the wing. + + + WingSections type, containing all the sections of the + wing. + + + + + + + + + + + + + + + + + + + Segment of the wing. + + + + A segment defines which two wing elements (=cross + sections) are linked to one wing segment. + An example for wing segments can be found in the + picture below: + + + + + + + + + + + + + + Name of wing the wing segment. + + + + + + Description of the wing segment. + + + + + + Reference to the element from which the + segment shall start. + + + + + Reference to the element at which the segment + shall end. + + + + + Optional and additional guidecurves to shape + the outer geometry. + + + + + + + + + + + + + + Segments of the wing. + + + WingSegments type, containing all the segments of the + wing. + + + + + + + + + + + + + + + + + + + Shells of the wing + + + Within the wingShellType the upper and lower skin of a + and the skin stringers are defined. At 'skin' and 'stringer' the + skin and stringer properties of the complete componentSegment are + defined. If different skin or stringer properties should be + defined in a special region of the wing this can be done within + 'cells'. + If the stringer should not be defined explicite, they + can be defined implizite by defining an equivalent material layer + and using a composite as material. + + + + + + + + + + + + + + + + + + + + + + Material properties of the wing skin. + + + + The wingSkinType describes the material properties of + the wing. + For composites materials: the positive z-direction is + from the outer side to the inner side. + For composites materials: the reference axis for the + orthotropyDirection is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + orthotropyDirection equals the rotation around the z-reference + axis. For details, please refer to the picture below: + + + + + + + + + + + + + + + Material properties of the wing skin. + + + + + + + + + + + + + + Wing spars + + + + Spars type, a spar is defined by sparSegments that + stretch between multiple sparPositions. The spar definition is + very flexible in CPACS. Spars can start and end at any position + of the wing, spars can have kinks at any position of the wing + and spars can cross each other or merge. + At first the spar points (->sparPositions) have to + be defined. Spar points are defined using the relative + coordinates eta and xsi. Spar points do lay on wing middle + plane. + Two or more spar points are connected to on spar + segment (->sparSegments). Each spar segment can be seen as + one spar. The spar geometry between two spar points is defined + as a direct/straight connection in global coordinate system + and not in eta xsi coordinates of the component segment. + One spar point can be used by more than one spar, if + e.g. two spars are merging. The detailed cross section of the + spar is also defined with sparSegments. + Pleas find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + + + + + + + + + + + + + + + + + + + + + Definition of the wing stringers. + + + + Within the wingStringerType wing stringers are + defined. The stringer are defined by referencing on the + stringerStructureUID, where the shape and material settings of + one single stringer is defined. In addition the orientaion and + the stringer pitch have to be defined: + One stringer intersects the point at the given xsi and + eta position. + + + + Alternatively, an exlicit stringer definition can be + applied if the stringers shall be tapered. + + + + + + + + + + + + + This is the simple and default stringer + definition + + + + The pitch describes the distance between to + adjacent stringers in the plane rectangular to the stringer + elongation direction. + + + + + + Stringer angle: the reference axis for the + stringer angle is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + stringers equals the rotation around the z-reference axis. For + details, please refer to the picture below. + + + + + + If the reference of the stringer angle shall + be different from the default implementation then this + parameter may be set. Allowed values include: leadingEdge, + trailingEdge and globalY. Furthremore, it is possible to + provide the UID of a spar. + + + + + + This is the explicit stringer definition. + Please note that for a consistent definition two out of the + possible three elements innerBorder (xsiLE, xsiTE), outerBorder + (xsiLE, xsiTE) and stringer angle (and angle reference) must be + defined. Any combination of two of the three is valid + + + + + The number of stringers; default is 0 + + + + + + Stringer angle: the reference axis for the + stringer angle is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + stringers equals the rotation around the z-reference axis. For + details, please refer to the picture below. + + + + + + If the reference of the stringer angle shall + be different from the default implementation then this + parameter may be set. Allowed values include: leadingEdge, + trailingEdge and globalY. Furthremore, it is possible to + provide the UID of a spar. + + + + + Inner border xsi coordinate at the leading + edge of the stringer definition + + + + + Outer border xsi coordinate at the leading + edge of the stringer definition + + + + + Inner border xsi coordinate at the trailing + edge of the stringer definition + + + + + Outer border xsi coordinate at the trailing + edge of the stringer definition + + + + + + + + + + + + + + + wingStructuralMountsType + + + + + + + + + + + + + + + + + + + + + + Wing type, containing all a lifting surface (wing, HTP, + VTP, canard...) of an aircraft model. + + + + Wing type, containing all a lifting surface (wing, + HTP, VTP, canard...) of an aircraft model. + Position of the wing: The position of the wing is + defined using the transformation parameters. Using those + parameters, the wing coordinate system is translated, rotated + and scaled. + Definition of the wings outer shape: The outer shape + of the wing is defined by airfoils that are placed within the 3D + space. Two airfoils are combined to one wing segment within the + segments. For the definition of the positions of the airfoils, + differnt sections are defined. Within each section one or more + elements are defined. The airfoil shape is defined within the + elements. If the wings outer shape should e.g. have a step it is + possible to define two different airfoils in one section by + using two elements. In most cases each section will only include + one element. Positionings are vectors that are used for an + additional translation of the sections by using 'user friendly + paramaters' as e.g. sweep and dihedral. Please note, the first + positioning may be non-zero. Often it will be zero just to + locate the wing at the position stated by the translation, but + this is not necessary. Finally the wing segments are defined by + combining two consecutive elements. A more detailed description + is given within the different parameters. + Definition of control surfaces, wing structures, wing + fuel tank and wing fuselage attachment: those parts are defined + within componentSegments. Please refer to the documentation + there. + + + + + + + + + + + + + + Name of the wing. + + + + + Description of the wing. + + + + + UID of part to which the wing is mounted (if + any). The parent of the wing can e.g. be the fuselage. In each + aircraft model, there is exactly one part without a parent part + (The root of the connection hierarchy). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The two elements that where the structural connection + is placed. + + + + + + + + + + + + + Element uID of the element of the CURRENT + componentSegment where the structural connection is placed. + + + + + + Element uID of the element of the second + componentSegment where the structural connection is placed. + + + + + + + + + + + + + + Two spars that are structurally connected. + + + + + + + + + + + + + Spar uID of the CURRENT componentSegment. + + + + + + Spar uID of the second componentSegment. + + + + + + + + + + + + + + wingWingAttachmentType + + + Definition of the structural connection between two + wings resp. two componentSegments. Note: All structural + connections between two wings/componetSegments have to be defined + using wingWingAttachments. The wingWingAttachment has only be + defined in one of the two componentSegments, that are connected. + + + + + + + + + + + UID of the componentSegment, that is connected + with the current one. + + + + + + + Defines if the upper shell of the current + componentSegment is structurally connected to the upper or lower + shell of the second componentSegment. Can have the values + 'upperShell' or 'lowerShell'. + + + + + Defines if the lower shell of the current + componentSegment is structurally connected to the upper or lower + shell of the second componentSegment. Can have the values + 'upperShell' or 'lowerShell'. + + + + + + + + + + + + + wingWingAttachmentsSparsType + + + + + + + + + + + + + + + + + + + + + + List of wingWingAttachments. + + + + + + + + + + + + + + + + + + + + + + wingsAeroPerformanceType + + + wingsAeroPerformance type, containing + wingsAeroPerformance + + + + + + + + + + + + + + + + + + + Wings + + + Wings type, containing all the lifting surfaces (wings, + HTPs, VTPs, canards...) of an aircraft model. + + + + + + + + + + + + + + + + + + + xsiIsoLineType + + + Iso line described by point of same xsi coordinate. + Can be either segment or component segment coordinates. + + + + + + + + + + Relative spanwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta value is considered to be in segment + eta coordinate; if it points to a componentSegment, + then componentSegment eta coordinate is used. + + + + + + + + + + + + + zCouplingType + + + + + + + + + + + + + Reference to the control surface that is + connected to this controll surface by the z-coupling.. + + + + + + Material of the movable part of the + z-coupling. + + + + + Definition of the attachment of the z-coupling + to this control surface. + + + + + Definition of the attachment of the z-coupling + to the other control surface. + + + + + + + + + + + + + + zCouplingsType + + + + + + + + + + + + + Definiton of one z-coupling. + + + + + + + + + + + + + + damTolBehaviourType + + + + + + + + + + + + + Damage tolerance law, Walker approach + + + + + Damage tolerance law, Forman approach + + + + + + + + + + + + + fatigueStressBasedBrownMillerType + + + + + + + + + + + + + Parameter sigma_f [N/m^2] + + + + + Parameter b [-] + + + + + Parameter epsilon_f [-] + + + + + Parameter c [-] + + + + + + + + + + + + + damTolWalkerType + + + + + + + + + + + + + Fracture toughness KIc [Pa m^0.5] + + + + + Parameter C0 [m/cycle] + + + + + Parameter m [-] + + + + + Parameter gamma [-] + + + + + + + + + + + + + damTolFormanType + + + + + + + + + + + + + Parameter Kc [Pa m^0.5] + + + + + Parameter C2 [m/cycle] + + + + + Parameter m2 [-] + + + + + + + + + + + + + + + + + The compartment defines an enclosed volume within the fuselage. It is defined by a set of border geometries. This could be pressureBulkheads, walls or floors and they are referred by their uIDs. The volume is closed with the fuselage skin. The geometry tool has to check, if the compartment definition gives a closed geometry. + + + + + + + + + + + The compartment defines an enclosed volume in the + fuselage. It is defined by a set of border geometries. + This could be pressureBulkheads, walls or floors and + they are referenced by their uIDs. The volume is closed + with the fuselage skin. The geometry tool has to check, + if the compartment definition gives a closed geometry. + + + + + + + + + Compartment geometry uIDs list. + + + + + + + Name of the compartment. + + + + + + + Description of the compartment. + + + + + + + Ideal design volume of the compartment. + + + + + + + + + + + + + + + + + + + + + + + UIDs of 2d structural fuselage elements + (e.g., pressure bulkheads, walls or + floors). The compartment will be + enclosed with the fuselage skin + + + + + + + + + + + + + + fatigueBehaviourType + + + + + + + + + + + + + Fatigue law, stress based Brown Miller approach [N/m^2] + + + + + + + + + + + + + plasticityCurvesType + + + + + + + Plastification curve incl. element elimination (isotropic + materials). The data may be used to describe the plastic behavior of isotropic + materials in non-linear analysis, such as crash simulations. The input is defined + according to the needs of Material 103 (single stress strain option) in the + PAM-CRASH explicit Finite Element code, but can also be used for equivalent material + laws in alternative simulation environment (see PAM-CRASH Solver Reference Manual., + Material 103). + + + + + + + + + + + + + + + + This type describes the plasticity curve of isotropic + materials + + + + ... + + Plastification curve incl. element elimination + (isotropic materials) + + Plastification curve incl. element elimination (isotropic + materials) The data may be used to describe the plastic behavior of + isotropic materials in non-linear analysis, such as crash + simulations. The input is defined according to the needs of Material + 103 (single stress strain option) in the PAM-CRASH explicit Finite + Element code, but can also be used for equivalent material laws in + alternative simulation environment (see PAM-CRASH Solver Reference + Manual., Material 103) + Source: PAM-CRASH V2010 - Notes Manual + + + + + + + + + + + + Name of the post failure definition + + + + + + + Description of the post failure + definition + + + + + + + Strain rate for following plastcity + curve [1/s] + + + + + + + + + + plasticEliminationStrain [-]; Plastic + strain for element elimination during + the non-linear analysis + + + + + + + + + + + + + + + + Definition of wall positions to place + walls inside fuselage. + + + + + + + List of wall segments. + + + + + + + + + + + + Definition of wall positions to place walls inside fuselage. + + + + + + + Wall position definition specifying a point in the fuselage to be connected to a wall segment. + + + + + + + + + + + + + + Wall segment definition. + + + + + + + + + + Definition of a wall position to place walls inside fuselage. + + + + + + + UID of a bulkhead determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + + UID of a wall segment determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + + UID of fuselage section determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + Absolute x-coordinate of wall position in fuselage coordinate system. + + + + + + Absolute y-coordinate of wall position in fuselage coordinate system. + + + + + Absolute z-coordinate of wall position in fuselage coordinate system. + + + + + + + + + + + + Defines extrusion direction. Rotation angle + around fuselage x-axis of extrusion direction. A + value of 0deg means fuselage z-axis as extrusion + direction. Default: 0.0deg. + + + + + + + + + + + + + + By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionaly extruded in negative direction as well. Default: false. + + + + + Rotates the first edge of the wall segment so that it is adjacent with the structural element defined in the first wall position (bulkhead, fuselage section or another plane wall). Default: false. + + + + + Rotates the last edge of the wall segment so that it is adjacent with the structural element defined in the last wall position (bulkhead, fuselage section or another plane wall). Default: false. + + + + + + A list of uIDs referencing other + structural/geometric elements that shall serve + as a boundary of the wall element. Possible + references are floor, wall or + genericGeometryComponent. A major requirement is + that the referenced element has an intersection + with the wall for at least the distance between + two wall positions. So that a full geometric + face of the wall is bounded by it. Neighbouring + wall faces that are not completely bounded by + the reference element are not affected. + + + + + + + Reference to the structural property definition + of this wall segment. + + + + + + + List of wall position uIDs that are used for + this wall segment. At least two positions must + be defined (for start and end position of wall). + If more than two positions are referenced here, + the wall is constructed out of several planar + faces that connect two consecutive positions + (Note: Order of position uIDs defines + connectivity). + + + + + + + + + + + A list of uIDs referencing other structural/geometric + elements that shall serve as a boundary of the wall + element. Possible references are floor, wall or + genericGeometryComponent. A major requirement is that + the referenced element has an intersection with the wall + for at least the distance between two wall positions. So + that a full geometric face of the wall is bounded by it. + Neighbouring wall faces that are not completely bounded + by the reference element are not affected. + + + + + + + + + UID referencing another + structural/geometric element that shall + serve as a boundary of the wall element. + Possible references are floor, wall or + genericGeometryComponent. + + + + + + + + + + + + + + + Structural wall reinforcement definition specifying physical properties of a fuselage wall segment. + + + + + + + + + + + + + + Reference to a sheet element definition specifying the physical properties of the wall's shell. + + + + + Reinforcements running along the position polygon of the wall positions. + + + + + Reinforcements running in lateral/radial direction in the wall segment plane. + + + + + Reinforcement at inner side of wall. This is either, depending on the extrusion direction flag, the edge of the wall that connects the positions ("positiveDirection") or the edge of the wall where the wall intersects with the fuselage skin in the opposite direction of the extrusion direction. + + + + + + Reinforcement at outer side of wall. The outer side of the wall is defined as the edge of the wall at the intersection of the wall with the fuselage skin running along the main direction of the wall. + + + + + + + Lateral caps are the reinforcements of + the wall at the edges lateral to the + main direction of the wall. These caps + can be either defined at start, end, + start and end or at all wall positions + according to the placement flag. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference to wall position uID. + + + + + + + + + + + + nacelleCowlType + + + + Describes the cowl geometry for nacelles + using sections positioned around the + rotational center of the engine. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nacelleCenterCowlType + + + + Describes the curve for defining rotational center of the engine. + + + + + + + + + + + + + + + + + + + + + + Aerodynamic performance + + + + The aerodynamic coefficients and derivatives are stored in aerodynamic maps. Individual maps can be used to + gather the aerodynamic characteristics for specific boundary conditions. + + + + + + + + + + + + + + + + + + + + + Aerodynamic map + + + + + The aeroMap contains aerodynamic coefficients and derivatives for a specific set of aerodynamic + and configurative boundary conditions. + + The aeroMap allows for the simultaneous specification of multiple + controlDevice settings. + In this case, it is assumed that a cumulative setting is built by summing up the individual settings. The correct + sequence of this summation is described in the controlDistributorType documentation. + + + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + + + + + + Boundary conditions + + + Specification of boundary conditions. + + + + + + + + + + + + + + Offset from temperature of the + atmospheric model [K]. For more details + on atmospheric models, please refer to + documentation of the <CPACS> root + element. + + + + + + + Configuration settings + + + + + + + + + + + + + + Control elements + + + Specification of control element settings. Control elements can be controlDistributors + or individual control devices, such as control surfaces or landing gears. + + + + + + + + + + + + + + + + + + + + Control element + + + Specification of an control element setting. A control element can be a controlDistributor + or an individual control device, such as a control surface or a landing gear. + + + + + + + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Control parameter of the control device + + + + + + + Reference to a control distributor uID + + + + + Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + + + + + + + + Aerodynamic coefficients and derivatives + + + + + Description + + The aeroPerformanceMap contains a map + with aerodynamic data of the complete aircraft in the form of + nondimensional coefficients. The force coefficients in + i-direction (ci) + are nondimensionalized by dynamic pressure and reference area, + the moment coefficients (cmi) by dynamic pressure, reference + area and reference length. + + All coefficients in the aeroPerformanceMap relate to + the aerodynamic coordinate system which is deducted from the CPACS coordinate system by + the transformations of angle of attack and angle of yaw. See the documentation of the + CPACS element for further details. + + The dependend parameters of the aeroPerformanceMap are altitude, + machNumber, angleOfSideslip and + angleOfAttack. These elements are vectors of equal length, where values + with identical indices belong together. The solution vectors ci and + cmi have the same length as the input vectors. Shown below is an example where + with 10 values per vector: + + <altitude mapType="vector">12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02</altitude> +<machNumber mapType="vector">0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2</machNumber> +<angleOfSideslip mapType="vector">0;0;0;0;0;2;2;2;2;2</angleOfSideslip> +<angleOfAttack mapType="vector">-2;0;2;4;6;-2;0;2;4;6</angleOfAttack> +<cd mapType="vector">0.056;0.094;0.132;0.17;0.208;0.072;0.11;0.148;0.186;0.224</cd> +<cs mapType="vector">0.;0.;0.;0.;0.;0.01;0.015;0.02;0.025;0.03</cs> +<cl mapType="vector">-0.1;0.04;0.18;0.32;0.46;-0.08;0.03;0.14;0.25;0.36</cl> + + The aerodynamic coefficients for altitude=1200m, machNumber=0.2, + angleOfSideslip=0° and angleOfAttack=6° can be found at the 5th index: + cd=0.208, cs=0 and cl=0.46. + + + + + + + + + + + + + + + Altitude [m] + + + + + + + Mach number + + + + + + + Sideslip angle [deg] + + + + + + + Angle of attack [deg] + + + + + + + Drag coefficient in aerodynamic + coordinates + + + + + + + Coefficient of the side force vector in + aerodynamic coordinates (perpendicular + to lift and drag) + + + + + + + Lift coefficient in aerodynamic + coordinates + + + + + + + + + + + + + + + + + + + Increment maps for aerodynamic coefficients + + + + + + + + + + + + + + + + + + + Increment map from aerodynamic coefficients + + + The increment map is composed of two-dimensional arrays. The first dimension is given by the + length of the input vectors of the baseline aeroPerformanceMap and the second dimension by the vector of relative + deflections (or command inputs) of control surfaces (or control distributors). An example is described in the <CPACS> + root element. + + + + + + + + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + Reference to a control distributor uID + + + + + Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + Increment of drag coefficient in aerodynamic coordinates + + + + + Increment of coefficient of the side force vector in aerodynamic coordinates (perpendicular to lift and drag) + + + + + Increment of lift coefficient in aerodynamic coordinates + + + + + Increment of cmd + + + + + Increment of cms + + + + + Increment of cml + + + + + + + + + + + + + + Aerodynamic limitations + + + + This map explicitly specifies limitations of a vehicle in terms of angles of attack and sideslip angles. + All vectors, i.e. altitude, machNumber, + angleOfSideslip and angleOfAttack, must have the + same length. To avoid redundancy with the aeroPerformanceMap, this type does not contain + any aerodynamic coefficients. + Since angleOfSideslip and angleOfAttack + are closely interdependent for a given machNumber and altitude + combination, a positive and negative maximum angleOfAttack is defined for a given combination of + machNumber, altitude and + angleOfSideslip. The limits of angleOfSideslip + can be determined by evaluating the nominal decrease of angleOfAttack values or by + agreeint with the data supplier that the minimum and maximum value of the angleOfSideslip + vector corresponds with physical limits. + In order to avoid data redundancy, the operational limits should not reflect the extrema of aerodynamic + coefficients as these can be extracted from the performanceMap via interpolation. + Note: In future CPACS versions, a revision of the aeroLimitsMap + will be targeted, since operational limits are not a purely aerodynamic issue. + + + + + + + + + + + + Altitude [m] + + + + + + + Mach number + + + + + + + Angle of sideslip + + + + + + + + + + + + + + + + Increment maps for limitation values due to movable device deflections + + + Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control + surfaces or landing gears). + + + + + + + + + + + + + + + + + + + Increment maps for limitation values due to movable device deflections + + + Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control + surfaces or landing gears). + + + + + + + + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + Reference to a control distributor uID + + + + + Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + Reference to an increment map of the aeroPerformanceMap + + + + + + Increments of the vehicle operation limits + + + + + + + + + + + + + + Damping derivatives for positive and negative rotation rates + + + + + 0. General overview + + This type contains the damping derivatives. They are + split up into those derivatives for positive rotation rates, + and those for negative rotation rates. + + + + 1. <positiveRates> (optional) + + Damping derivatives, calculated by positive rotation + rates. + + + + 2. <negativeRates> (optional) + + Damping derivatives, calculated by negative rotation + rates. + + + + + + + + + + + + + + + + + + + + + + + Damping derivatives + + + This type contains aerodynamic performance maps with + the damping derivatives. The derivatives are calculated using + rotational rates [rad/s], normalized by: + Rate*ReferenceLength/flow speed. The rotations are performed + around the global axis directions with the aircraft model's + global reference point as origin. The damping derivative + performance maps are vectors of the same length as the input + vectors of the baseline aerodynamic performance maps, consisting of + semicolon separated values. + + + + + + + + + + + Change of cd by normalized roll rate + + + + + Change of cd by normalized pitch rate + + + + + Change of cd by normalized yaw rate + + + + + Change of cs by normalized roll rate + + + + + Change of cs by normalized pitch rate + + + + + Change of cs by normalized yaw rate + + + + + Change of cl by normalized roll rate + + + + + Change of cl by normalized pitch rate + + + + + Change of cl by normalized yaw rate + + + + + Change of cmd by normalized roll rate + + + + + Change of cmd by normalized pitch rate + + + + + Change of cmd by normalized yaw rate + + + + + Change of cms by normalized roll rate + + + + + Change of cms by normalized pitch rate + + + + + Change of cms by normalized yaw rate + + + + + Change of cml by normalized roll rate + + + + + Change of cml by normalized pitch rate + + + + + Change of cml by normalized yaw rate + + + + + + + + + + + + + Vehicle operation limit + + + Vehicle operation limit defined by sets of minimum and maximum angleOfSideslip + and minimum and maximum angleOfAttack for a given altitude and Mach number. + This might be, e.g., a safety margin to the angle of attack at maximum lift or the flight + attitude a fighter aircraft is capable to fly in stalled conditions. The corresponding aerodynamic coefficients must + be extracted from the aeroPerformanceMap. + + + + + + + + + + Minimum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] + + + + + Maximum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] + + + + + + + + + + + + + Operation Limit Increments + + + Changes of the deltas of operation limit angles with respect to the corresponding increment aeroPerformanceMaps. + Values are specified as an array with same indices like the corresponding increment map. + + + + + + + + + + Minimum delta angle of attack [deg] + + + + + Maximum delta angle of attack [deg] + + + + + + + + + + + + + Toolspecific data + + + + This type contains a list of tools each specifying some basic tool information as well as the actual toolspecific part. + + The toolspecific elements must be defined in a separate namespace which can be specified and linked with the corresponding XSD file + in the CPACS header: + <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd" + xsi:schemaLocation="http://www.cpacs.de/myTool pathToToolspecificSchemaFile/toolspecific_myTool.xsd"> + + A simple example could look like this: + <toolspecific> + <tool> + <name>myToolName</name> + <version>1.2.3</version> + <myTool xmlns="http://www.cpacs.de/myTool" schemaVersion="1.0"> + <parentElement> + <childElement1>stringValue</childElement1> + <childElement2>1.0</childElement2> + </parentElement> + </myTool> + </tool> +</toolspecific> + + + + + + + + + + + + + + + + + + + + Tool identification + + + + Tool information as described in the toolspecificType. + + + + + + + + + + + + Name of the tool + + + + + + + Version of the tool + + + + + + + Wildcard for the root element of a toolspecific namespace + + + + + + + + + + + + + + Global analysis information + + + + + + + + + + + + + + + + + + + + + + + Load application points + + + + Multiple sets of scattered load application points can be defined. However, no specific information about the corresponding loads (e.g. whether aerodynamic or structural loads are involved) or mesh topologies are specified here, as such assumptions are tool-specific. + + + + + + + + + + + + + + + + + + + + + Load application point set + + + + + A point set contains discrete spatial points at which loads are applied (e.g., aerodynamic or structural loads). A typical procedure in CPACS is as follows: + + + + Reference a wing, fuselage or control surface by its uID using the componentUID node. + Define a reference axis through the above component with the loadReferenceLine element to specify where a load distribution shall be applied. + Compute the intersections with (e.g.) ribs of the referenced component (wing, fuselage or control surface) and write the results into loadApplicationPoints. This procedure results from common practice where the forces in structural analyses are typically introduced at structural elements such as ribs and spars. With respect to preliminary aircraft design a two-dimensional load distribution is preferred. However, an arbitrary distribution of the load application points is possible (without the intersection of structural elements with a reference axis in the previous step), for example to define discrete load distributions on the wing surface in streamwise and spanwise direction. + Specify the location and orientation of cut loads in the cutLoadIntegrationPoints element and the corresponding connectivity information in the connectivities node. + + + + + + + + + + + + + + + + + UID of a wing, fuselage or control surface + + + + + + + Reference axis (line) for load distribution + + + + + + + List of points at which load vectors are + applied to + + + + + + + List of points at which cut loads are applied to + + + + + + + Specification of connectivity properties between points + + + + + + + + + + + + + + + Vehicle configurations + + + + List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) + + + + + + + + + + + + + + + + + + + + + Vehicle configurations + + + + List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) + + + + + + + + + + + + Name + + + + + + + Description + + + + + + + + + Deck configurations + + + + + + + + + + + + + + + Internal pressure of a deck + + + + + + + + + + + Internal pressure of a fuselage, deck or compartment + + + + + + + + + + + + + + Cabin pressure + + + + Internal pressure of a fuselage, deck or compartment + + + + + + + + + + + + UID of a fuselage, deck or compartment + + + + + + + Internal pressure [Pa] + + + + + + + + + + + + + + Load set + + + A set of forces and moments + + + + + + + + + + + Description + + + + + + + UID of load application point set (analysis/global/loadApplicationPoints) + + + + + + + Force in x-direction [N] + + + + + + + Force in y-direction [N] + + + + + + + Force in z-direction [N] + + + + + + + Moment around x-axis [Nm] + + + + + + + Moment around y-axis [Nm] + + + + + + + Moment around z-axis [Nm] + + + + + + + Nodal displacement in x-direction [m] + + + + + + + Nodal displacement in y-direction [m] + + + + + + + Nodal displacement in z-direction [m] + + + + + + + Nodal rotation around x-axis [deg] + + + + + + + Nodal rotation around y-axis [deg] + + + + + + + Nodal rotation around z-axis [deg] + + + + + + + Load brake-down + + + + + + + + + + + + + + + Load sets + + + + A list of load sets + + + + + + + + + + + + + + + + + + + + + Aerodynamic load cases + + + + Combines a set of aerodynamic load cases + + + + + + + + + + + + + + + + + + + + Aerodynamic load case + + + + Specification of an aerodynamic load case + + + + + + + + + + + + Name + + + + + + + Description + + + + + + + + + + + + + + + + + + Specification + + + + Specification of the vehicle properties and dynamics + + + + + + + + + + + Altitude + + + + + + + Mach number + + + + + + + Angle of sideslip [deg] + + + + + + + + Angle of attack [deg] + + + + + + + Target lift coefficient + + + + + + + + Normalized roll rate [rad/sec]. It is specified around the global x-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: pStar = p * reference length / flow speed. + + + + + + + Normalized pitch rate [rad/sec]. It is specified around the global y-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: qStar = q * reference length / flow speed. + + + + + + + Normalized yaw rate [rad/sec]. It is specified around the global z-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: rStar = r * reference length / flow speed. + + + + + + + + Reference to a weight and balance description + + + + + + + + + + + + Aerodynamic loads + + + + Description of the aerodynamic loads + + + + + + + + + + + + Angle of attack [deg] + + + + + + + Angle of sideslip [deg] + + + + + + + + + + + + + + + + Aerodynamic loads of components + + + + Specification of the aerodynamic loads of components + + + + + + + + + + + + + + + + + + + + Aerodynamic data of components + + + + Aerodynamic data of individual components of the aircraft (e.g. control surface loads and hinge moments) + + + + + + + + + + + + Reference to a component uID + + + + + + + + + + + + + + + Aerodynamic loads of the vehicle + + + + Description of the aerodynamic loads of the vehicle + + + + + + + + + + + + + + + + + + + + + Aerodynamic coefficients + + + + A set of aerodynamic coefficients in the aerodynamic coordinate system + + + + + + + + + + + + Drag coefficient in aerodynamic + coordinates + + + + + + + Coefficient of the side force vector in + aerodynamic coordinates (perpendicular + to lift and drag) + + + + + + + Lift coefficient in aerodynamic + coordinates + + + + + + + Aerodynamic moment around d-axis of the aerodynamic coordinate system + + + + + + + Aerodynamic moment around s-axis of the aerodynamic coordinate system + + + + + + + Aerodynamic moment around l-axis of the aerodynamic coordinate system + + + + + + + + + + + + + + + Drag contributions + + + + The drag contributions relate to different physical mechanisms. The sum of the contributions does not have to be equal to the total drag. + + + + + + + + + + + + Drag contributions due to the displacement of the flow around a component. Zero for irrotational two-dimensional flows. + + + + + + + Drag contributions due to shear forces on surfaces + + + + + + + Drag contributions due to friction + + + + + + + Drag contributions due to energy loss through vortex structures caused by the pressure difference between the upper and lower sides of three-dimensional lifting surfaces. + + + + + + + Drag contributions due to mixing of streamlines between airframe components (e.g., interaction between wing and fuselage or pylon and wing). + + + + + + + Drag contributions due to energy dissipation in shock waves + + + + + + + Drag contributions due to trimmed aircraft configuration + + + + + + + + + + + + + + Aerodynamic coefficients breakdown + + + + + Breakdown of the total aerodynamic coefficients into contributions + from the various vehicle componenents. A detailed breakdown is only specified + for the wing. Other components, such as the fuselage, are more generically + referred to as otherComponents. Since + the sum of the contributions within a breakdown must equal the total + coefficients, the remaining contributions must be listed in + remainingContributions. + + + The remainingContributions cannot be defined alone. Either the + definition of a wing, otherComponents + or both together is valid and can be combined with remainingContributions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of the wings + + + + Contains a list of wings for which aerodynamic coefficients are specified + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of a wing + + + + + Describes the contributions of a specific wing to the total aerodynamic coefficients of a vehicle + + + It is obligatory to reference a wing via its uID and to provide its + coefficients. The breakdown of the coefficients comprises the segments + and remainingContributions. The latter must only be specified if segments + is given. + + + + + + + + + + + + + Reference to a wing uID + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of wing segments + + + + Contains a list of wing segments for which aerodynamic coefficients are specified + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of a wing segment + + + + + Describes the contributions of a specific wing segment to the total aerodynamic coefficients of a wing + + + It is obligatory to reference a segment via its uID and to provide its + coefficients. The breakdown of the coefficients comprises the strips + and remainingContributions. The latter must only be specified if strips + is given. + + + + + + + + + + + + + Reference to a wing segment uID + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of strips within a wing segment + + + + Contains a list of strips within a wing segment for which aerodynamic coefficients are specified + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of a strip within a wing segment + + + + + Describes the contributions of a specific strip within a wing segment to the total aerodynamic coefficients of a wing segment + + + The strip extends spatially between two eta coordinates (i.e., from an inner border to an outer border). + In order to avoid redundancy, the inner border (denoted as from) is always identical to the outer border of the previous strip (denoted by to). + Accordingly, only the to-border can be specified explicitly, while the from-border equals implicitly either to 0 + (for the first strip) or the toSegmentEta value of the previous element. The toSegmentEta of the last strip + must be equal to 1! + + + It is obligatory to provide the coefficients of the strip. The breakdown comprises the chordwiseParts + and remainingContributions. The latter must only be specified if the breakdown into chordwiseParts + is given. This breakdown is optional. If it is specified, but the sum of all chordwiseParts does not match the strip coefficients, one or more remainingContributions may be applied + to ensure consistency (sum of all chordwiseParts + sum of all remainingContributions must be equal to total strip coefficients). + + + + + + + + + + + + + Spanwise coordinate eta in the segment coordinate system to define the end of the strip + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of a chrordwise part within a wing segment strip + + + + Contains a list of chordwise parts within a wing segment strip for which aerodynamic coefficients are specified + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of a chordwise part within a within a wing segment strip + + + + + Describes the contributions of a specific par within a wing segment to the total aerodynamic coefficients of a wing segment strip + + + A chordwisePart aescribes the contributions of a specific chordwise part within a wing strip + to the total aerodynamic coefficients of this strip. It extends spatially between the two eta + positions of the parent strip (see strip documentation) and four xsi positions in the segment coordinate system. + As with the parent stips, only the trailing border (..ToSegmentXsi) of a chordwisePart is defined, while the leading border always equals the trailing border of the preceding chordwisePart (or 0 for the first part). + To account for oblique trailing borders (e.g., to match the aileron on a tapered wing) two different toSegmentXsi positions can be defined, one at the inner border (innerBorderToSegmentXsi) and one at the outer border (innerBorderToSegmentXsi) of the parent strip. + The innerBorderToSegmentXsi and outerBorderToSegmentXsi of the last chordwisePart must be equal to 1. + + + + + + + + + + + + + Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the inner eta border + + + + + + + Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the outer eta border + + + + + + + + + + + + + + + + Remaining contributions to aerodynamic coefficients + + + + This node lists the remaining contributions which were not specified so that the sum of the coefficients are equal to the total coefficients. + + + + + + + + + + + + + + + + + + + + Remaining contribution to aerodynamic coefficients + + + + This node lists a remaining contribution which was not specified so that the sum of the coefficients are equal to the total coefficients. + + + + + + + + + + + + Name + + + + + + + Description + + + + + + Type (numerical/unspecified): "numerical", for example, describes rounding errors to clearly + separate them from other effects currently labeld as "unspecified". + The latter usually summarizes physical effects such as viscosity and should be further described via "description". + The approach is currently being tested in practice in order to derive a robust definition of categories in the future. + + + + + + + + + + + + + + + + + + + + + + + + Reference values for aerodynamic coefficients + + + + Specification of reference values for aerodynamic coefficients. + + + + + + + + + + + + Reference area + + + + + + + Reference lengt + + + + + + + Reference point + + + + + + + Reference translation + + + + + + + Reference rotation + + + + + + + + + + + + + + Aerodynamic contributions of the components + + + + Contains a list of components for which aerodynamic coefficients are specified + + + + + + + + + + + + + + + + + + + + Aerodynamic contributions of a component + + + + Describes the contributions of a specific component to the total aerodynamic coefficients + + + + + + + + + + + + Reference to a component + + + + + + + + + + + + + + + Atmospheric model + + + Available options: ISA. See documentation of <CPACS> root element for further details. + + + + + + + + + + + + + + + + + + Flight Envelopes + + + + Specification of flight envelopes + + + + + + + + + + + + + + + + + + + + + Flight Envelope + + + + Specification of a flight envelope + + + + + + + + + + + + Offset from temperature of the atmospheric model [K] + + + + + + + + + + + + + + + Flight envelope speed + + + + Specification of the V-speed + + + + + + + + + + + + + Vector with altitudes + + + + + + + Vector with True Airspeeds + + + + + + + + + + + + + + Speed designators + + + + Provides an enumerated list of V-speeds as defined by regulations. + + + + + + + + + + + Design maneuvering speed + + + + + + + Design speed for maximum gust intensity + + + + + + + Design cruise speed, used to show compliance with gust intensity loading + + + + + + + Design diving speed, the highest speed planned to be achieved in testing + + + + + + + Designed flap speed + + + + + + + Stall speed or minimum steady flight speed for which the aircraft is still controllable + + + + + + + Stall speed or minimum flight speed in landing configuration + + + + + + + Stall speed or minimum steady flight speed for which the aircraft is still controllable in a specific configuration + + + + + + + Minimum control speed + + + + + + + Never exceed speed + + + + + + + Maximum operating limit speed + + + + + + + + + + + + + Landing gear base + + + + Base type for landing gears (i.e. nose gear, main gear and skid gear). + An example of a nose and main gear is shown below: + + + + + + + + + + + + + + Name + + + + + Description + + + + + UID of the parent component. If set, the position of the main strut is defined relative to the parent coordinate system. + + + + + + + + + Total length of landing gear, equals the distance from the middle of the bogie/axles to the axis of rotation of the pintle strut. Distance is measured while landing gear is fully extended and in airborne condition (i.e., if a spring is present, the totalLength includes the springDeflectionLength) + + + + + Static suspension travel means the positive distance between the total length in airborne condition and the reduced length due to compression on the ground. + + + + + Compressed suspension travel means the positive distance between the total length in airborne condition and the maximum reduced length due to maximum compression on the ground (e.g., landing shock). + + + + + + + Transformation with respect to the uppermost point of the main strut. From this point the landing gear is oriented in negative z-direction by default. + + + + + + + + + + + + + + + + + + + + + + + Landing gear control parameters + + + + Parameters of a landing gear control such as extraction or steering. + + + + + + + + + + + + Retraction angle of the main landing + gear. Equals a rotation around the + global z-axis in degrees. 0 = retraction + to the front; 90 = retraction to the + left; 180 = retraction to the rear; 270 + = retraction to the right. + + + + + + + + Distance of the center of rotation to the top of the main strut + for retracting and extending the landing gear. I.e., a value of + 0 means that the landing gear will rotate around the upper end + of the main strut during retraction. If this value is greater + than 0, the center of rotation is shifted by this value above + the main strut end point (translation along the main strut axis). + + + + + + + + + + + + + + Landing gear control functions + + + + + A list of functions which can be addressed by the controlDistributor. + + + + + + + + + + Extension path + + + + + Steering path + + + + + Braking state + + + + + + + + + + + Braking function + + + + + Describes the braking state of the landing gear. + + + + + + + + + + Control parameter indicating that the brake is set + + + + + Control parameter indicating that the brake is released + + + + + + + + + + + + Steering path + + + + + Describes the steering path of the landing gears via a list of steps. + + + + + + + + + + Step within the steering path + + + + + + + + + + + + Steering step + + + + + Describes a step with the steering path of the landing gear. + + + + + + + + + + Step type (centered, fullBackboard or fullStarboard) + + + + + + + + + + + + Control parameter + + + + + Steering angle [deg] + + + + + + + + + + + Extension path + + + + + Describes the extension path of the landing gears via a list of steps. + + + + + + + + + + Step within the extension path + + + + + + + + + + + + Extension step + + + + + Describes a step with the extension path of the landing gear. Make sure to provide a least one step with stepType=extracted! + + + + + + + + + + Step type (retracted or extracted) + + + + + + + + + + + + Control parameter + + + + + Extension angle of the main strut [deg] + + + + + + + + + + + Assembly of landing gear components + + + + + Describes an assembly of the various landing gear components + + + + + + + + + + + + Main strut + + + + + + + + + + Drag strut (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + + + + + + + Pintle strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + Pintle strut (one or two pintle struts are supported) + + + + + + + + Side strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + + + + + + + + Strut assembly + + + Geometric description, spatial placement and specification of material parameters + + + + + + + + + + Strut properties + + + + + The starting point of the support strut must connect to the main strut. This element specifies the relative position on the main strut (0 -> top end, 1 -> bottom end). + + + + + + + + + + + + End position in absolute coordinates. Coordinates are relative to parent if it has a parentUID reference (otherwise global). + + + + + End position in eta/xsi/relHeight coordinates + + + + + End position as a relative position on another strut of this landing gear + + + + + + Attachment to an aircraft wing or fuselage component + + + + + Reference to an actuator uID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Strut properties + + + + + Geometric description and material properties + of a strut + + + + + + + + + + + + + (Outer) radius of the strut + + + + + + Material of the strut + + + + + Inner radius of the strut + + + + + + + + Reference to structural element for a more + detailed cross section definition + + + + + + + + + + + + + + + + Definition of the wing attachment + + + + + Definition of the wing attachment, if + attached to the wing. The definition + includes the position of the landing gear as + well as the information to which spars resp. + supportBeam the gear is attached. + + + + + + + + + + + + UID of the second spar, where the landing gear is attached to. Only used, if the landing gear is attached between two spars. + + + + + + UID of a set of ribs (ribDefinition) + + + + + Number of the rib in the rib set (ribDefinition) + + + + + + + + UID of the structural mount + + + + + + + + + + + + + + + Main landing gear support beam + + + + Definition of the main landing gear support beam, if a + support beam is used for the attachment. The defintion includes + cross section properties as well as the position of the support + beam. + + + + + + + + + + + + + + + + + + + + + framePositionUIDs of the frame + + + + + A framePostion defines a location where a frame in mounted. + + + + + + + + + + + framePositionUID of the frame, where the landing gear + is attached to. + + + + + + + + + + + + + Position of the landing gear on a wing + + + + Definition of the position of the landing gear + (intersection point of main strut and pintle sturt) on a wing, + using relative componentSegment coordinates + + + + + + + + + + Relative height of spar or rib at which landing gear is attached. + + + + + + Relative spanwise position (eta) of spar at which landing gear is attached. + + + + + Relative chordwise position (xsi) of the rib at which landing gear is attached. + + + + + + + + + + + + + Definition of the main landing gear support beam + position + + + Definition of the main landing gear support beam + position + + + + + + + + + + Relative chordwise coordinate (xsi) of the + inner end of the support beam. The eta + position of the inner end is defined by the eta position of the + wing root (=wing-fuselage attachment). + + + + + Relative spanwise coordinate (eta) of the + outer end of the support beam. The xsi + coordinate of the outer end is defined by the spar position + (first spar), where the support beam is attached to. + + + + + + + + + + + + + + Configuration + + + + Contains references to control control devices and (or) the global aircraft configuration node. + + + + + + + + + + + + + Reference to the aircraft configuration node (aircraft/model/configurations/configuration) + + + + + + + State description of the control elements + + + + + + + + + + + + + + Standard profile + + + + + + + + + + + + + + + + + + + + + + + Rectangle + + + + The width of the profile is always 1, since scaling is performed after referencing it (e.g., in the fuselage). + The resulting profile is defined by the following equation: + + + + with c = cornerRadius and r = heightToWidthRatio. + Example: Rectangle with cornerRadius=0.125 and heightToWidthRatio=0.5 + + + + + + + + + + + + + + + + + + Corner radius + + + + + + + + + + + + + + + + + + Height-to-width ratio + + + + + + + + + + + + + + + + Superellipse + + + + A profile based on superellipses is composed of an upper and a lower semi-ellipse, which may differ from each other in their parameterization. The total width and height of the profile is always 1, since scaling is performed after referencing (e.g., in the fuselage). + This lowerHeightFraction describes the portion of the lower semi-ellipse on the total height. + The resulting profile is defined by the following set of equations: + + + + + + + with + + + + The following examples indicate the various possibilities of parametric profiles: + Example 1: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (0.5; 2; 5; 3; 0.25) + + + + Example 2: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (2; 2; 2; 2; 0.5) = a circle + + + + Example 3: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (1; 1; 1; 1; 0.5) = a square / diamond + + + + Note: For exponents that are infinitely large, the superellipse converges to a rectangle. However, the value Inf is not a valid entry at this point. Use the square element instead. + + + + + + + + + + + Exponent m for upper semi-ellipse + + + + + Exponent n for upper semi-ellipse + + + + + Exponent m for lower semi-ellipse + + + + + Exponent n for lower semi-ellipse + + + + + + Fraction of height of the lower semi-ellipse relative to the total height + + + + + + + + + + + + + + + + + + + + Performance Cases + + + + Definition of missions and point performance events to evaluate the performance of a vehicle. + The definition of performance cases is independent from a specific vehicle. + + + + + + + + + + + + + + + + + + + + + + + + UID of the runway + + + + + + + Offset from runway threshold in cartesian coordinates in the runway coordinate system + + + + + + + + + + + + + + + + UID of the runway + + + + + + + Offset from runway threshold in cartesian coordinates in the runway coordinate system + + + + + + + + + + + + + + + Requirements + + + + Requirement settings for the point performance definition + + + + + + + + + + + Sustained load factor to be achieved + + + + + + + Instantaneous load factor to be achieved + + + + + + + Specific excess power to be achieved [m/s] + + + + + + + Roll rate to be achieved [deg/s] + + + + + + + Roll acceleration to be achieved upon control onset [deg/s^2] + + + + + + + Roll acceleration to be achieved upon control stop [deg/s^2] + + + + + + + + + + + + + + Controllability requirements + + + Contains a list of controllability requirements + + + + + + + + + + + + + + + + + + + + Trim requirements + + + Contains a list of trim requirements + + + + + + + + + + + + + + + + + + + + + Controllability requirement + + + + + + + + + + Name + + + + + Description + + + + + UID of point performance definition + + + + + UID of weight and balance description + + + + + + + + + + + + + + + + + Trim requirement + + + + + + + + Name + + + + + Description + + + + + UID of a predefined flight point + + + + + UID of weight and balance description + + + + + + + + + + + + + + + Trim + + + + Provides a list of trim cases + + + + + + + + + + + + + + + + + + + + + + Trim case + + + + + + + + + + + + + + Name + + + + + Description + + + + + UID of trim requirement + + + + + + + Description of the linear model + + + + + + + + + + + + + + Turn + + + + + + + + + + + + + ... + + + + + ... + + + + + + + + + + + + + + Level flight + + + + + + + + + + + + + + Specific excess power + + + + + + + + + + + + + + Climb + + + + + + + + + + + + + + + + + + + + Descent + + + + + + + + + + + + + + + + + + + + Environmental conditions + + + + Specification of environmental conditions + + + + + + + + + + + + Delta temperature + + + + + + + + + + + + + + Flight Cases + + + + + + + + + + + + + + + + + + + + + + + + Flight point + + + + + + + + + + + + + + + + + + + + Mach number + + + + + + + Calibrated air speed + + + + + + + True air speed + + + + + + + + + + + + + + + + + Configurations which apply for this performance requirement + + + + + + + + + + + + + + + + Default configuration uID + + + + + + + + + + + + + + + Specific configuration uIDs + + + + + + + + + + + + + + + + + + + + + + + + Connection between segments, pointPerformances and a configurationUID + + + + + + + + + + + + + + + + Configuration uID + + + + + + + + List of pointPerformanceUIDs + + + + + + + + + + + + + + Segments + + + + + + + + + + + + + + + + + + + + + + + + Specification of a segment uID and index of the parameter lapses + + + + + + + + + + + + + + + + + Vector with semicolon separated indices of the parameters within a segment. If not given then the complete segment is applied. + + + + + + + + + + + + + + Released stores + + + + + + + + + + + + + + + + + + + + + + + + Released store + + + + + + + + + + + + + + + + UID of the released store. + + + + + + + Quantity of the released store. + + + + + + + + + + + + + + Runway start position + + + + + Description of the vehicle on the runway relative to the runway threshold. + + + + + + + + + + + + + + X-position in cartesian coordinates in the runway coordinate system + + + + + + + Y-position in cartesian coordinates in the runway coordinate system + + + + + + + Z-position in cartesian coordinates in the runway coordinate system + + + + + + + + + Lengthwise distance along the runway centerline from the runway threshold + + + + + + + Lateral offset from the runway centerline. Positive values on the starboard side. + + + + + + + + + + + + + + + Geometry + + + + [WARNING: This type is known to be susceptible to + inconsistencies and might therefore be removed in a future version of CPACS] + + + The geometry of the cabin roughly corresponds to the available design space in the cabin. + It is given in terms of constant height contour lines. + The lines all share a common x-vector. + The y vector provides the lateral + contour at Z-coordinate provided by the constant value z. + One or more contour lines can be given. + The cabin geometry is assumed to be symmetric. + + + + + + + + + + + + + + + + Name + + + + + Description + + + + + + Vector of x coordinates + + + + + + + + + + + + + Cabin geometry contours + + + Cabin geometry contour line collection type. By providing more than one entry, + a 3D cabin space can be described. + + + + + + + + + + + + + + + + + + + + Cabin geometry contour + + + Type to define a lateral position value "y" at a given height "z" (in the parent deck coordinate system) + for each entry "x" in the parent cabin geometry definition. + + + + + + + + + + + Vector with y-coordinates + + + + + Height z + + + + + + + + + + + + + Aisle + + + Aisles has as many entries as there are aisles in the + cabin. In a normal single aisle there are two aisles: the cabin + aisle and the aisle leading to the cockpit. + + + + + + + + + + Name + + + + + Description + + + + + Longitudinal coordinates. The + number of coordinates can be chosen as appropriate, the minimum + number is two. The coordinates are relative to the cabin origin. + + + + + + Center points of the aisle. The + y-vector has to have same length as the x-vector. The aisle + stretches equally left and right of the provided y-coordinate. + + + + + + Width of the aisle at floor level at each + y-coordinate + + + + + + + + + + + + + + doorOpeningLegacyType + + + doors describe all doors of the cabin. They are linked + to a structural door description. The cabin door is usually equal + in size to the door, but does not need to be. The structural door + might describe a wider cut-out, while the cabin door is primarily + intended for evacuation modeling and cabin layout. In order to + obtain a 3-dimensional door representation, the local cabin + geometry shall be used. + + + + + + + + + + This is the forward x-coordinate of the door + relative to the cabin origin. + + + + + the door sill height relative to cabin origin. + + + + + + The width of the door in x-direction. + + + + + + the effective height of the door. + + + + + + + + + + + + + + + + + + + + + + + + "doorOpeningType" + + + Ceiling panel instance collection type. + + + + + + + + + + + + + + + + + + + + Deck door + + + doors describe all doors of the cabin. They are linked + to a structural door description. The cabin door is usually equal + in size to the door, but does not need to be. The structural door + might describe a wider cut-out, while the cabin door is primarily + intended for evacuation modeling and cabin layout. In order to + obtain a 3-dimensional door representation, the local cabin + geometry shall be used. + + + + + + + + + + Name + + + + + Description + + + + + Number of passengers this door adds to the + overall exit capacity limit of the aircraft. + + + + + Opening geometry of the door + + + + + Door type (boarding, cargo, evacuation or service) + + + + + + + + + + + + + + + + + + + + + + + + Deck doors + + + + + + + + + + + + + + + + + + + + + + Cargo containers + + + Cargo container instance collection type. + + + + + + + + + + + + + + + + + + + Cargo container + + + Cargo container type for placing an instance of a cargo container in the parent deck. + + + + + + + + + + Name + + + + + Description + + + + + UID of the cargo container element in the cpacs/vehicles/deckElements node + + + + + Position in x + + + + + Position in y + + + + + + + + + + + + + + Seat modules + + + Seat module instance collection type. + + + + + + + + + + Seat module + + + + + + + + + + + + + Galleys + + + Galley instance collection type. + + + + + + + + + + Galley + + + + + + + + + + + + + Generic floor modules + + + Generic floor module instance collection type. + + + + + + + + + + Generic floor module + + + + + + + + + + + + + Lavatories + + + Lavatory instance collection type. + + + + + + + + + + Lavatory + + + + + + + + + + + + + Class dividers + + + Class divider instance collection type. + + + + + + + + + + Class divider + + + + + + + + + + + + + + Sidewall panels + + + Sidewall panel instance collection type. + + + + + + + + + + Sidewall panel + + + + + + + + + + + + + + Luggage compartments + + + + + + + + + + Luggage compartment + + + + + + + + + + + + + + Ceiling panels + + + Ceiling panel instance collection type. + + + + + + + + + + Ceiling panel + + + + + + + + + + + + + + Structural mounts + + + Structural mount type containing the structural connections of cabin elements + + + + + + + + + + + + + + + + + + + Structural mount + + + Structural mount type containing the structural connections of cabin elements + + + + + + + + + + Name + + + + + Description + + + + + UID of the component to connect to + + + + + + + + + + + + + + Bounding Box + + + + + + + + + + Length in x + + + + + Length in y + + + + + Length in z + + + + + Origin + + + + + + + + + + + + + Geometry + + + Description of the deck element geometry. This might be either a bounding box definition or a link to a generic geometry component. + + + + + + + + + + + + + + + + + + + + Cargo container element for use in the decks + + + + + + + + + + + + + + + + + Description + + + + + + Contour: single or double + + + + + + + + + + + + + Delta x + + + + + + Delta y + + + + + + Delta y of the base + + + + + + Delta z + + + + + + Delta z kink + + + + + + + + + + + + + + + Cargo container elements + + + Cargo container element collection type + + + + + + + + + + + + + + + + + + + Ceiling panel + + + Ceiling panel element collection type + + + + + + + + + + Ceiling panel element for use in the decks + + + + + + + + + + + + + Class divider + + + Class divider element collection type + + + + + + + + + + Class divider element for use in the decks + + + + + + + + + + + + + Deck elements + + + A list of predefined elements which can be linked in the actual deck of the aircraft or rotorcraft model via referencing its uID. + + + + + + + + + + Ceiling panel elements for use in the decks + + + + + Class divider elements for use in the decks + + + + + Galley elements for use in the decks + + + + + Generic floor elements for use in the decks + + + + + Lavatory elements for use in the decks + + + + + Luggage compartment elements for use in the decks + + + + + Seat elements for use in the decks + + + + + Sidewall panel elements for use in the decks + + + + + Cargo container elements for use in the decks + + + + + + + + + + + + + Galley element + + + Galley element type, containing the base elements of the cabin + + + + + + + + + + Description + + + + + + + Number of trolleys + + + + + + + + + + + + + + Galley elements + + + Galley element collection type + + + + + + + + + + Galley element for use in the decks + + + + + + + + + + + + + Lavatory elements + + + Lavatory element collection type + + + + + + + + + + Lavatory element for use in the decks + + + + + + + + + + + + + Luggage compartment elements + + + Luggage compartment element collection type + + + + + + + + + + Luggage compartment element for use in the decks + + + + + + + + + + + + + Seat element + + + Seat element type, containing the base elements of the cabin + + + + + + + + + + Description + + + + + + + Number of seats + + + + + + + + + + + + + + Seat elements + + + Seat element collection type + + + + + + + + + + Seat element for use in the decks + + + + + + + + + + + + + Generic floor elements + + + Generic floor element collection type + + + + + + + + + + Generic floor element for use in the decks + + + + + + + + + + + + + Sidewall panel elements + + + Sidewall panel element collection type + + + + + + + + + + Sidewall panel element for use in the decks + + + + + + + + + + + + + Generic geometry component + + + + + + + + + + + + + + + + + + + + + + + Deck component + + + + + + + + + + Name + + + + + Description + + + + + UID of the corresponding element in the cpacs/vehicles/deckElemets node + + + + + + + + + + + + + + + + Deck component + + + + + + + + + + Name + + + + + Description + + + + + UID of the corresponding element in the cpacs/vehicles/deckElemets node + + + + + + + + + + + + + + + + Deck element + + + + + + + + + + Description + + + + + + + + + + + + + + + + Mass + + + Description of mass, center of gravity and inertia + + + + + + + + + + + Mass value + + + + + Center of gravity (x,y,z) + + + + + + + + + + + + + + + System elements + + + + + + + + + + + + + + + + + + + Batteries + + + + + + + + + + Battery + + + + + + + + + + + + + System element + + + + + + + + + + Name + + + + + Description + + + + + + List of basic component shapes + + + + + + + + + + + + + Volume + + + + + + + Density + + + + + Mass + + + + + + + + + + + + + + + + Properties + + + + + + + + + + + + + + + + + + + + Parameters + + + + + + + + + + + + + + + + + + + Parameter + + + + + + + + + + Name + + + + + Description + + + + + UID of a pre-defined system assumption parameter + + + + + + + + + + + + + Components + + + + + + + + + + + + + + + + + + + Component + + + + + + + + + + Name + + + + + Description + + + + + UID of a system element (vehicles/systemElements) + + + + + Geometric (!) transformation + + + + + UIDs of the structural mounts + + + + + + + + + + + + + + System analyses + + + + + + + + + + + + + + + + + + + System architectures + + + + + + + + + + + + + + + + + + + + Energy storages + + + + + + + + + + + + + + + + + + + Energy storage + + + + + + + + + + + + + + + + + + + + + Generic system architectures + + + + + + + + + + + + + + + + + + + Generic system architecture + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + Graph description + + + + + + + + + + + + + + + + + + + + Blocks + + + + + + + + + + + + + + + + + + + Block + + + + + + + + + + Name + + + + + Description + + + + + + Reference to uID of a geometric component installed in the vehicle (e.g., .../vehicles/aircraft/model/systems/genericSystems/genericSystem/components/component) + + + + + + + + + + + + + + + + Edges + + + + + + + + + + + + + + + + + + + Edge + + + + + + + + + + UID of the block from which the edge begins + + + + + UID of the block to which the edge goes + + + + + + + + + + + + + System assumptions + + + + + + + + + + + + + + + + + + + System assumption + + + + Examples: + <systemAssumption uID="someRandomUID1"> + <name>Draft lumped cooling system mass penalty</name> + <technologyStage>all</technologyStage> + <origin> + <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> + </origin> + <parameters> + <parameter uID="someRandomUID2"> + <name>powerSpecificMassPenalty</name> + <value>680</value> + <unit>W_{th}/kg</unit> + </parameter> + </parameters> +</systemAssumption> + + + + + + + + + + + Name + + + + + Description + + + + + Description of the technology stage + + + + + Origin of the assumption + + + + + + + + + + + + + + + Origin + + + + + + + + + + Link to external file + + + + + + + + + + + + Name of a tool which was applied to derive this assumption + + + + + + + + + + + + + + + + + + + + + Parameters + + + + + + + + + + + + + + + + + + + Parameter + + + + + + + + + + Name + + + + + Description + + + + + + + Value + + + + + Unit + + + + + + UID of another assumption parameter + + + + + + + + + + + + + + + Power breakdowns + + + + + + + + + + + + + + + + + + + + Power breakdowns + + + + + + + + + + + + + + + + + + + Power breakdowns + + + + + + + + + + + + + + + + + + + Power breakdown case + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + + Power breakdown case along a trajectory + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + + Specification of the power breakdown case + + + + + + + + + + + Altitude [m] + + + + + Mach number + + + + + + + + + + + + + Specification of the power breakdown case + + + + + + + + + + UID of the corresponding trajectory + + + + + + + + + + + + + System breakdown data + + + + + + + + + + + + + + + + + + + System breakdown data + + + + + + + + + + + + + + + + + + + Power flow + + + + + + + + + + + + + + + + + + + + + + Power flow + + + + + + + + + + + + + + + + + + + + + + Power flow + + + + + + + + + + + Name + + + + + + + Description + + + + + + + + UID of the source element + + + + + + + Source system according to ATA chapter + + + + + + + + + + UID of the sink element + + + + + + + Sink system according to ATA chapter + + + + + + + + + + + + + + + + Source / Sink + + + + + + + + + + + + + + + + Mass flow + + + + + + + + + + + Mass flow value + + + + + + + + + + + + + + + Mass flow + + + + + + + + + + + Mass flow value + + + + + + + + + + + + + + + Heat flow + + + + + + + + + + + Heat flow value + + + + + + + + + + + + + + + Heat flow + + + + + + + + + + + Heat flow value + + + + + + + + + + + + + + + Mechanical power + + + + + + + + + + + Mechanical power value [W] + + + + + + + + + + + + + + + Mechanical power + + + + + + + + + + + Mechanical power value [W] + + + + + + + + + + + + + + + Mechanical power specification + + + + + + + + + + + Torque [Nm] + + + + + + + Force [N] + + + + + + + + + + + + + + Mechanical power specification + + + + + + + + + + + Torque [Nm] + + + + + + + Force [N] + + + + + + + + + + + + + + Electric power + + + + + + + + + + + Electric power value + + + + + + + + + + + + + + + Electric power + + + + + + + + + + + Electric power values + + + + + + + + + + + + + + + Electric power specification + + + + + + + + + + + Direct current voltage [V] + + + + + + + + + + + + + + + Electric power specification + + + + + + + + + + + Direct current voltage [V] + + + + + + + + + + + + + + + Alternating current + + + + + + + + + + + Effective voltage (also peak voltage) [V] + + + + + + + Frequency [Hz] + + + + + + + Frequency [Rad] + + + + + + + + + + + + + + Alternating current + + + + + + + + + + + Effective voltage (also peak voltage) [V] + + + + + + + Frequency [Hz] + + + + + + + Frequency [Rad] + + + + + + + + + + + + + + Mass flow specification + + + + + + + + + + + + + + + + + + + + Mass flow specification + + + + + + + + + + + + + + + + + + + + Single-phase mass flow + + + + + + + + + + + Pressure + + + + + + + Temperature + + + + + + + + + + + + + + + Multi-phase mass flow + + + + + + + + + + + Pressure + + + + + + + Enthalpy + + + + + + + + + + + + + + + Single-phase mass flow + + + + + + + + + + + Pressure + + + + + + + Temperature + + + + + + + + + + + + + + + Multi-phase mass flow + + + + + + + + + + + Pressure + + + + + + + Enthalpy + + + + + + + + + + + + + + + Heat flow specification + + + + + + + + + + + + + + + + + + + + Heat flow specification + + + + + + + + + + + + + + + + + + + + Mass composition + + + + + + + + + + + Fluid type + + + + + + + + + + + + + + + + + + + + + Category (ATA chapters) + + + + + + + + Environmental control + + + + + Auto flight + + + + + Communications + + + + + Electrical power + + + + + Equipment/furnishings + + + + + Fire protection + + + + + Flight controls + + + + + Fuel + + + + + Hydraulic power + + + + + Ice and rain protection + + + + + Landing gear + + + + + Lights + + + + + Water/waste + + + + + Cabin system + + + + + Cargo and accessory compartment + + + + + + + + + + + Propulsion elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Turbofan engines + + + + + + + + + + + + + + + + + + + Turboprop engines + + + + + + + + + + + + + + + + + + + Propulsion system + + + + + + + + + + + + + + + + + + + Propulsion system component + + + + + + + + + + Name + + + + + Description + + + + + Reference to the pre-defined propulsion element + + + + + UID of the parent element + + + + + + + + + + + + + + + Performance of propulsion system + + + + + + + + + + + + + + + + + + + Propulsion map + + + + + + + + + + Name + + + + + Description + + + + + + + + + + + + + + + + Propulsion performance map + + + + + + + + + + + + + + + + + + + + + Propulsion performance map + + + + + + + + + + + + + + + + + + Turbofan engine + + + Engine type, containing engine data. + + + + + + + + + + Name + + + + + Description + + + + + + Year of first certification + + + + + + + + + + + + + + + + Definition of the global engine geometry. + + + + All engine geometry definitions refer to the engine + coordinate system. The engine coordinate system has its orgine + in the middle of the fan plan. The positive x-axis is heading to + the rear, the positive z-axis to the top and the y-axis + according to the right hand rule. + + + + + + + + + + + Length of engine + + + + + Rotation direction of the engine if looking at + it from the front, i.e. from propeller/fan to exhaust + + + + + + + + + + + + + + + + Length of engine + + + + + Length of engine + + + + + Length of engine + + + + + + + + + + Propeller diameter + + + + + Number of propeller blades + + + + + Hub to tip ratio + + + + + + + + + + + + + + + + + + + + Turboprop nacelle + + + + Turboprop nacelle + + + + + + + + + + + + + + + + + + + + + + + + + + + Tanks + + + + + + + + + + + + + + + + + + + Tank + + + + + + + + + + + + + + + From fc626d7934f4435edf7e963129bc6e3badcda427 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Fri, 2 Dec 2022 10:40:15 +0100 Subject: [PATCH 042/123] apply new schema formatting script to the correct schema file... --- schema/cpacs_schema.backup.xsd | 37267 ------------------------------ schema/cpacs_schema.xsd | 38116 +++++++++++++++---------------- 2 files changed, 18675 insertions(+), 56708 deletions(-) delete mode 100644 schema/cpacs_schema.backup.xsd diff --git a/schema/cpacs_schema.backup.xsd b/schema/cpacs_schema.backup.xsd deleted file mode 100644 index 5e21c47..0000000 --- a/schema/cpacs_schema.backup.xsd +++ /dev/null @@ -1,37267 +0,0 @@ - - - - - - - - - - - - CPACS root element - - - - - Version - - V3.3 - - Date - - 2020-06-03 - - - - 1. Overview - - The Common Parametric Aircraft Configuration Scheme (CPACS) is an XML-based data format for describing aircraft configurations and their corresponding data. - This XML-Schema document (XSD) serves two purposes: (1) it defines the CPACS - data structure used in the XML file (e.g., aircraft.xml) and - (2) it provides the corresponding documentation (see picture below). An XML processor (e.g., Tixi or - XML tools in Eclipse) parses the XSD and XML files and validates whether the data set defined by the user (or tool) conforms to the given structure defined by the schema. - - - - This documentation explains the elements defined in CPACS and its corresponding data types. - Data types can either be simple types (string, double, boolean, etc.) or - complex types (definition of attributes and sub-elements to build a hierarchical - structure). In addition, the sequence of the elements and their occurrence is documented. - To link the XML file to the XSD file, the header of the XML file should specify the path of the schema file. - An example could look like this: - <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd"> - - CPACS is an open source project published by the German Aerospace Center (DLR e.V.). For further information please visit www.cpacs.de. - - - - - 2. Data hierarchy - - CPACS data is modeled in a hierarchical structure whose underlying concept follows a top-down description of a system-of-systems which decomposes a generic concept (e.g., an aircraft or rotorcraft) into a more detailed description of its components. This originates from the conceptual and preliminary design of aircraft, where the level of detail is initially low and continues to increase as the design process progresses. - For some concepts within CPACS, however, a bottom-up approach is applied where the components are first defined in detail (sometimes referred to as library) and then linked within an instantiated higher-level concept. This is advantageous when used multiple times within complex systems, such as engines, which only have to be defined once in order to be referenced several times on the aircraft. The combination of these two methodologies is known as middle-out approach and enables the goal to fully parametrize aeronautical systems. - - - - - - - 3. Coordinate Systems - - Coordinate systems are a regular cause for ambiguous interpretation of data. In CPACS, the reference coordinate system is the CPACS-coordinate system. This coordinate system is used for most of the data. A single exception is made in order to keep aerodynamic data in an aerodynamic coordinate system. The following paragraphs outline the determination to known coordinate systems. - The CPACS coordinate system is the coordinate system identified by TIGL, CPACS's geometric library. It is a right-handed coordinate system. If an aircraft is defined in the CPACS coordinate system it will usually follow the directions listed in the table below. - Therefore, the CPACS coordinate system can be confused with the body-fixed coordinate system. While often the CPACS coordinate system and the body-fixed coordinate system overlap, this must not always be true. Several definitions for body-fixed coordinate systems exist (x-axis through nose and tail, x-axis perpendicular to nose plane). For non-symmetric aircraft, body-fixed coordinate systems become even more complicated. Hence, analysis tools should stick to the CPACS-Coordinate system. It remains to the designer to model the geometry accordingly. - The CPACS coordinate system does not rotate with flow. Hence, aerodynamic calculations do rotate their flow relative to the CPACS-coordinate system. If not stated explicitly different, e.g. for target lift-coefficients, results are returned in the CPACS coordinate system, i.e. the cfx-coefficient is parallel to the CPACS x-Coordinate, regardless of the way the geometry is defined. - The following table gives a "best-practice" advice on how to locate a geometry within CPACS. Different approaches are, of course, valid as well. - - - - Axis - - - Direction - - - Description - - - - x - tailwards - from nose to tail - - - y - spanwise - from symmetry plane to the right wingtip - - - z - upwards - from landing gear to tip of vertical tailplane - - - The following figures show an example of a geometry that is aligned with the CPACS coordinate system, i.e. the body-fixed coordinate system corresponds to the CPACS coordinate system. - - - - The aerodynamic analysis is relative to the CPACS coordinate system. That is, the angle of attack is represented by the dashed orange line. Results of the aerodynamic calculation are given in the CPACS coordinate system. - - - - The following figures give an example of a geometry that is not defined in alignment with the CPACS coordinate system. It is a valid CPACS file, but only used in this example for demonstrative purposes. - - - - The body axes and the CPACS coordinate system do not align. That is, the origin of the geometry is not at CPACS (0,0,0) but at a point in positive x- and z-direction. - - - - Again, the aerodynamic analysis is relative to the CPACS coordinate system. That is, the angle of attack is represented by the dashed orange line. Results of the aerodynamic calculation are given in the CPACS coordinate system. - - - - 4. Units - - There are no explicit attributes describing units in CPACS. The general convention is that all values must be given in the following SI-units: - - - [m] - Position, Distance - - - [m^2] - Area - - - [m^3] - Volume - - - [kg] - Mass - - - [s] - Time - - - [K] - Temperature - - - or in derived units, e.g.: - - - [N] - Force - - - [Nm] - Moment - - - [W] - Power - - - [J] - Energy - - - The only non SI unit used throughout CPACS is the angle in degrees [°]. - For the sake of an intuitive use the angles are given in degrees rather than in radian [rad]. - - - [°] - Angle - - - - - - 5. Splitting up a CPACS dataset into several files - - To provide a better overview, it is possible to split up a CPACS dataset into several files. This can be done by inserting an <externaldata> node at an arbitrary position into the datatset. This node contains a <path> node with a URI to the external file(s), followed by one or more <filename> nodes, containing each a name of a file to be included at that position. Below, an example of such external data is given: - <?xml version="1.0" encoding="utf-8"?> -<cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd"> - <vehicles> - <profiles> - <wingAirfoils> - <externaldata> - <path>file:://airfoils</path> - <filename>NACA0010.xml</filename> - <filename>NACA2412.xml</filename> - </externaldata> - <airfoil uID="NACA0012"> - <name>NACA 0012 Airfoil</name> - <pointList>...</pointList> - </airfoil> - </wingAirfoils> - </profiles> - </vehicles> -<cpacs> - Such an external file would look like: - <?xml version="1.0" encoding="utf-8"?> -<airfoil uID="NACA0010"> - <name>NACA 0010 Airfoil</name> - <pointList>...</pointList> -</airfoil> - The file would be included completely, except for its title line <?xml version="1.0" encoding="utf-8"?> . This concept can also be used recursively (external files of external files), then it is important to prevent circle connections (file "A" loading file "B" loading file "C" loading again file "A" ...). - For path URI addresses, the trailing file separator "/" may be omitted. Below, some examples for path URIs are given: - - Absolute local path: "file:///tmp" or "file:///c:/windows/tmp" - Relative local direcotry: "file://relativeDirectory" or "file://../anotherRelativeDirectory" - Remote net ressource: "http://www.someurl.de" - - A CPACS dataset with external files, being loaded by a special library like the TIVA XML Interface TIXI, shall collect all its external datafiles and build up a single tree from them. A validation against this schema is only possible for such a single tree file; the <externaldata>nodes are not recognized by it. To preserve the information, necessary to split the file up into external files again later, externaldata information is maintained within three attributes of the former external top node: - - externalFileName - Name of the file where the external data shall be saved - externalDataDirectory - Directory of the external data file. Its content is analogous to the <externaldata>'s <path>node described above. - externalDataNodePath - XPATH of the node which is replaced with the content of the external file. In case that it is an external file of an external file, then it is the XPATH in the outer external file. If, e.g., in the example above the <pointList>node would have also been loaded from an external file, then the entry would just be: externalDataNodePath="/airfoil". This is used primarily for loop-detection. - - The single tree for the example above would look like: - <?xml version="1.0" encoding="utf-8"?> -<cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd"> - <vehicles> - <profiles> - <wingAirfoils> - <airfoil uID="NACA0010" externalFileName="NACA0010.xml" externalDataDirectory="file://airfoils" externalDataNodePath="/cpacs/vehicles/profiles/wingAirfoils"> - <name>NACA 0010 Airfoil</name> - <pointList>...</pointList> - </airfoil> - ... - <airfoil uID="NACA0012"> - <name>NACA 0012 Airfoil</name> - <pointList>...</pointList> - </airfoil> - </wingAirfoils> - </profiles> - </vehicles> -<cpacs> - - - - 6. UIDs and references - - The CPACS-dataset often uses references between nodes. Typically, these - references define connections between elements which are located somewhere else in the hierarchical dataset (e.g. a wing is connected to a - fuselage; a specific engine is connected to a pylon; etc.). These connections are defined by - unique identifiers (uID) which are specified as attributes. Thus, there are elements which can be referenced via a uID attribute, e.g. a fuselage: - <fuselage uID="ATTAS_fuselage">... - - as well as elements which refer to the former, e.g. a wing pointing to its geometrical parent: - <wing uID="e382bf5j"> - <name>ATTAS main wing</name> - <parentUID isLink="True">ATTAS_fuselage</parentUID> - ... - Such referencing elements must carry the isLink="True" attribute. - - Since uIDs are only used to link nodes within the XML file, no naming convention is required. UIDs, however, must be unique! - Although a common practice for naming uIDs is their position in the data hierarchy (e.g. uID="mainWingSection3"), - uIDs as shown in the above example are absolutely valid as well. It is therefore recommended to use the name element - to convey human-readable meanings. - - - - 7. Symmetry - - Sometimes it might be useful to specify a part of the aircraft as symmetric instead of holding all the data twice in nearly identical form in the dataset (e.g. left and right wing are usually identical, except for the sign of the y-coordinate). Hence, some parts offer the option to set a symmetry attribute for them, like: - <wing symmetry="x-z-plane">... - This attribute explains that the whole part with all its subnodes is symmetric to the given plane. Possible planes are: - x-y-plane - x-z-plane - y-z-plane - - - - - - UIDs, references and symmetry - - All nodes, e.g. parentUID, in CPACS that refer to a component that holds symmetry attribute, e.g. wing, have to carry the symmetry attribute as well. - The symmetry attribute may take three values: symm, def, full: - - - def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. - - symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) - - full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) - - - <wing uID="ATTAS_main_wing" symmetry="x-z-plane"> - ... - <segments> - <segment uID="ATTAS_main_wing_innersegment"> - ... - In the example above, to refer to the "other" side of the wing on must use the definition as such: - <loadcase> - ... - <segments> - <segment> - <segmentUID isLink="True" symmetry="symm">ATTAS_main_wing_inner_segment</segmentUID> - <strip>... - - - - 8. Vectors and arrays - - For large data sets (e.g. increments of aerodynamic coefficients due to control surface deflections) it is advantageous - to map them via vectors and arrays instead of using a sequence of nodes for each data value. Therefore vectors and arrays are defined as semicolon-separated lists in CPACS. Via the documentation (derived from the XSD) of the corresponding nodes it has to be checked whether it is a vector or an array. - - Vector - The vector is meant as a one-dimensional-array. In such a node, the values are given in a semicolon separated list: - <angleOfAttack>0.;1.5;3.;4.5;6;7.5;9.</angleOfAttack> - - Array - - As for vectors, multi-dimensional arrays provide values in a semicolon separated list. An array is always preceded by a sequence of vectors, containing the dimensions and index values. Which vectors of an array are dimensioning is specified in the respective documentation of the array. - - <altitude>1000.;2000.;3000.</altitude> <!-- vector element --> - <incrementMaps> - <incrementMap uID="incMap_b3ac2"> - <controlSurfaceUID>InnerWingFlap</controlSurfaceUID> - <controlParameters>-1;-0.5;0;1</controlParameters> <!-- vector element --> - <!-- array of dimension length(altitude) x length(controlParameters): --> - <dcl>11.;12.;13.;14.;21.;22.;23.;24.;31.;32.;33.;34.</dcl> - - - - Values for cl increments: - - - - Control parameter = -1 - Control parameter = -0.5 - Control parameter = 0 - Control parameter = 1 - - - Altitude = 1000m - 11. - 12. - 13. - 14. - - - Altitude = 2000m - 21. - 22. - 23. - 24. - - - Altitude = 3000m - 31. - 32. - 33. - 34. - - - - - - - - - - 9. Control Parameters - - Control parameters are abstract parameters, linking a generic floating point value to a certain status of a control device - (e.g. control surface, landing gear, suction system, brake parachute, ...). For control surfaces, such a data pair (control parameter - and control surface deflection status) is called a <step> and the ordered list of all steps for a control surface forms its deflection - <path>. - The control parameter values for each step are arbitrary floating point values. However, it is strongly recommended to use - values between -1. and +1., or between 0. And +1. (depending on the type of control surface). The smallest and the largest value implicitly - define the maximum deflection limits. It is mandatory, that the value “0.” is within the specified range, as this value is treated as - undeflected and used to specify a “clean” aircraft configuration (e.g. used in the clean aero performance map). It is recommended, but not - mandatory to specify a <step> with a <controlParameter> of 0. Consequently, no <controlParameter> must be used twice within - a single <path> definition. Deflection values between two specified steps are handled by linear interpolation. - The following example shows the usage of control parameters within a control surface deflection path definition: - <controlSurfaces> - <trailingEdgeDevices> - <trailingEdgeDevice uID="InnerWingFlap"> - ... - <path> - ... - <steps> - <step> - <controlParameter>-1</controlParameter> - <hingeLineRotation>-20.</hingeLineRotation> - </step> - <step> - <controlParameter>-0.5</controlParameter> - <hingeLineRotation>-10.</hingeLineRotation> - </step> - <step> - <controlParameter>0</controlParameter> - <hingeLineRotation>0.</hingeLineRotation> - </step> - <step> - <controlParameter>1</controlParameter> - <hingeLineRotation>5.</hingeLineRotation> - </step> - </steps> - ... - - - - - 10. Atmosphere - - At some places in CPACS, an atmosphere has to be selected (e.g. for connecting an altitude with a certain pressure or density). - Currently, CPACS does only support a single atmospheric model: The ICAO Standard Atmosphere (ISA) from 1993 (see ICAO Doc 7488/3 'MANUAL OF THE ICAO STANDARD ATMOSPHERE', third edition, 1993) - It covers temperature, pressure, density, speed of sound, dynamic viscosity and kinematic viscosity with respect to altitude. - In CPACS, 'altitude' means what is called 'geopotential altitude' (H) in the ISA reference document and is given in [m]. - For details, see ISA manual, section 2.3, page E-viii f. - ISA covers a range from -5000 m to 80000 m. - Temperature offsets are introduced on top of the definitions in the ISA manual (which does not cover such variations). The offset model - is based upon the idea that the pressure at a fixed geopotential altitude is independent from temperature offset (pressure altitude). - The temperature offset changes only the density (following rho = p / Gas Constant / T) (and viscosity, of course) - - - - CPACS 3.3 - - Release in June 2021 - - Revision of the mission definition including parameter lapses within segments (compatibility break) - Revision of the point performance definition (compatibility break) - Revision of performance requirements (compatibility break) - Revision of landing gears (compatibility break) - Revision of control surface tracks definition (compatibility break) - Load analysis: Revision of flightLoadCasesType (compatibility break) - Load analysis: Revision of aeroCasesType (compatibility break) - Load analysis: loadEnvelopesType relocated and envelope simplified to a single uID-Sequence (compatibility break) - Load analysis: Replaced dynamicAircraftModel elements by loadApplicationPointSets (compatibility break) - Flight dynamics: Group flightPerformance, flyingQualities and trim under flightDynamics parent node (compatibility break) - Introduced a configuration node to describe aircraft and payload configurations - Fuselage profiles: Introduced rectangle and super ellipse as standard profiles - Fuselage profiles: Added vector to specify curve parameters for profiles with kinks - Internal structure: Added standard profiles to profile based structural elements - Internal structure: Added ribPosts element to wingRibCrossSectionType - Internal structure: Upper and lowerCap now optional in sparCellType - Internal structure: Stringers and frames can reference sections - MassBreakdown: Set mass inertia Jxy, Jxz and Jyz optional - MassBreakdown: Added mMiscellaneous element - MassBreakdown: Added fuselage walls - Added flight envelope to aircraft global element - Added new base types: doubleVectorBaseType, posIntVectorBaseType, doubleArrayBaseType - Added 'none' and 'inherit' to list of symmetry flags - Set mapType attribute of vector and array elements to optional (requires TiXI>=3.1) - AeroMaps: Defined angleOfSideslip as input and added distinction between minimum and maximum angleOfAttack in aeroLimitMaps (compatibility break) - AeroMaps: Added missing singular incrementMap element to incrementMaps in aeroLimitsMap (compatibility break) - AeroMaps: Adopted the camelCase style for damping derivatives (compatibility break) - Introduced common nomenclature for speeds and altitudes (compatibility break) - Control distributors are set to optional - Added instructions for superposition of control surface deflections - Further elaboration of development standards - General improvements of the documentation - - - - - CPACS 3.2 - - Release in February 2020 - - Replaced tool-specific elements with xsd:any element and strict schema request for validation - UIDs adapted to type xsd:ID and xsd:IDREF - UIDs optional for transformationType and pointTypes - Replaced xsd:sequence elements with xsd:all elements where possible - CpacsVersion element set to optional - GuideCurves are now optional for nacelleCowlType - Documentation adaptions - - - - - CPACS 3.1 - - Release in August 2019 - - Redefinition of aeroPerformanceMaps - Added nodes for detailed engine pylons and nacelles - Added nodes to model generic walls - Extension of material definition - Added fuselage compartment definition - Added fuselage fuel tank definition - Explicit wing stringer definition integrated into wing stringer definition - RelativeDeflections renamed to control parameters - Control distributors modified to only have a single command input vector - "cpacsVersion" restricted to current schema version - Code cleanup - Cpacs_schema.xml removed - Documentation adaptions - - - - - CPACS 3.0 - - Release in Jul 2018 - - New component segment definition; this is affecting all structural components of wings - Renamed angleOfYaw into angleOfSideslip - Fixes in documentation - Made all uID attributes required - Minor fixes in choices and typos - Added nodes for the geometry of generic system components - Added performance requirements for aircraft models - Redefined the whole mission definition including point performances - Made link to missionUID in trajectory optional - Added new parameters to enginePerformanceMap - Relocated mFixedLeadingEdge and mFixedTrailingEdge within the massBReakdown structure - Changed aeroPerformanceMap to use altitude and standard atmosphere instead of reynolds number - Added an optional local direction for guide curves and an illustration image - Announced toolspecifics definitions as deprecated; will be removed from CPACS in next release and should be managed in separate namespace by tool maintainers - Added an option for aerodynamic performance maps of elastic aircraft - Enabled the definition of multiple aeroPerformanceMaps - Enabled the use of spar points for rib placement and rib points for spar placement - Added explicit stringer definitions for wing cells - All issues for this release can be found online - https://github.com/DLR-LY/CPACS/issues - - - - - CPACS 2.3.1 - - Release in Jul 2016 - - CPACS 2.3.1 is a beta release, all parameters may be subject to change. - Added a branch for the definition of design studies. - Added thermal properties for materials. - Revised the definition of flights/flightplans. - Added an airline definition. - Added structure for skid gear components. - Changed the units for material density to SI units. - Revised the top level fleets node and put it into the new airline node. - All issues for this release can be found online - https://github.com/DLR-LY/CPACS/issues - - - - - CPACS 2.3 - - Release in Nov 2015 - CPACS 2.3 is the fourth public release of CPACS. Major changes include: - - Included vector notation for weight and balance. - Included flight system and flight dynamic information. - Included top level aircraft requirements. - Included a prototype for detailed nacelle geometries. - Included structural mounts. - Extended aero data set for loads. - Extended the mass breakdown. - Updated the symmetry definition, please take a look at the documentation point 5 and 6. - All issues for this release can be found online - https://github.com/DLR-LY/CPACS/issues - - - - - CPACS 2.2.1 - - Release in Feb 2015 - - CPACS 2.2.1 is a beta release, all parameters may be subject to change. - Included preliminary definition of guidecurves. - Included additional means to describe the wing structure. - Included preliminary fuselage fuel tanks. - Included preliminary load envelope. - Included preliminary flight performance and flight qualities. (flight dynamics will follow) - Updated toolspecifics - Updated uncertainty definition - all issues can be found online - http://code.google.com/p/cpacs/issues/list - - - - - CPACS 2.2 - - Release in May 2014 - - CPACS 2.2 is the third public release of CPACS. Major changes include - Additions and changes to the loadCaseType. - Included additional genericGeometricEntities for bellyfairings etc. - The mass breakdown is extended for a more detailed fuselage strucuture. - Steadiness information on the geometry is excluded from CPACS 2.2. CPACS 2.3 will include optional guidelines for smoother surfaces. - Uncertainties can now be specified (CPACS 2.2alpha doubleBaseType, CPACS 2.2 also in vector notations) - all issues can be found online - http://code.google.com/p/cpacs/issues/list - - - - - CPACS 2.1 - - Release in May 2013 - - CPACS 2.1 is the second public release of CPACS. Most of the implementation was already included in CPACS 2.01 - included fuselage structure and cabin definition - all data is defined according to the CPACS coordinate system. That is the initial coordinate system in which geometries are defined. Therefore, it can but must not meet your body axis. - the mass breakdown is extended for a more detailed wing strucuture - profiles can now be included based on a two-dimensional class shape transformation. The old parametrization will still be available. TIGL will learn CST asap. - all issues can be found online - http://code.google.com/p/cpacs/issues/list - - - - - CPACS 2.01 - - Release in Nov 2012 - - CPACS 2.01 is an internal release for the VAMP project. It is the testbed for CPACS 2.1 - included fuselage structure - additions to the load case definition - all issues can be found online - http://code.google.com/p/cpacs/issues/list - - - - - CPACS 2.0 - - Release in Mar 2012 - - CPACS 2.0 is the first public release - large impacts on the documentation - all issues can be found online - http://code.google.com/p/cpacs/issues/list - compatible with TIGL 2.0 - excluded fuselage structure, reintegration in CPACS 2.1 - - - - - CPACS 1.6 - - Release in Jul 2011 - - Thanks for the input on the documentation to Felix Dorbath, Till Pfeiffer, Alexander Koch, Falk Heinecke and Tom Otten - preliminary added enginePylons - deleted seatAssemblyPositionType - updated toolspecific blocks from handbook aero and cpacs mass updater - added weight and balance definition - added loads reference axis and dynamic aircraft model - added wing documentation - added weights documentation - added fleet documentation - added paramam toolspecific documentation - added wing tank definition - changed some names in the massBreakdown - deleted old loadCaseDefinitions - no more plural element for loadAnalyses - shifted groundforces to groundloadcases, this will need an update - added noseLandingGear - mainLandingGear can now have plural SideStruts - - - - - CPACS 1.5 - - Release in Feb 2011 - - uID for transformation - extended stringUIDBaseType with optional attribute isLink - all elements xxxUID are now of Type stringUIDBaseType - added new material definition from FA to distinguish between diffent material types - changed fuselage structure definition due to input from BK - changed rib definition in cells in component segments - cleaned up material definition in component segments - added cpacsVersion information to the header and updates types - added area and length to the loadCase reference on wing strips - added wingFuselageAttachment - - - - - CPACS 1.4 - - Release in Nov 2010 - - Geometry definition for engine and nacelle added - Trailing Edge Devices, Leading Edge Devices and Spoilers added - Rotorcraft added, similar to aircraft - Splitted up multiple Point Types - sparCell added uID - new inline Documentation introduced in CPACS type - - - - - CPACS 1.3 - - Release in Aug 2010 - - Fuel definition added - Introduced component segments for the wing structure - Mission definition was updated - VSAero toolspecific data updated - - - - - CPACS 1.2 - - Release in May 2010 - - Fuselage Structure Elements are updated following the input from BK - - stringers>arbitrary additional parameters: yBezugAtStartX, zBezugAtStartX, yBezugAtEndX, zBezugAtEndX - paxCrossBeams additional parameters: startX, endX - cargoCrossBeams additional parameters: startX, endX - paxCrossBeamStruts additional parameters: startX, endX - cargoCrossBeamStruts additional parameters: startX, endX - structure>pressureBulkhead: positionX instead of positionZ - reinforcementNumberVertical: number of vertical reinforcements - reinforcementNumberHorizontal: number of horizontal reinforcements - maxFlectionDepth: max camber of pressure bulkhead - reinforcementNumber: number of reinforcements rear pressure bulkhead - sheetProperties: definition of sheet properties - innerRadius: inner radius of the pressure bulkhead - - Dummy Wingbox element is included. This definition needs further enhancements - - cpacs>vehicles>aircraft>model>fuselage>fuselage>structure - Wingbox: - xStart: start of the wingbox area - xEnd: end of the wingbox area - zStart: upper limit of the wingbox area - - Damping Derivaties are added in the form of dcfxdp, dcfxdq, dcfxdr, dcfydp, etc. The data will be stored in the model/global/aeroperformaneMap under a new dampingDerivatives element. Unit is deg/sec. - StructureProfiles are defined in the profiles element. They are referenced in structuralElements for several entities such as stringer, frame etc. Currently they are referenced via 'structuralProfileUID' for name consistency it should be either only 'structure' or only 'structural' - Control Commmands. The chain between pilot inputs and controlsurface deflections is now closed. - - Parameters located at cpacs\vehicles\aircraft\model\systems - cockpitControl: links from pilotInput to commandCase - commandCase: links from commandCase to controlDistributor or controlFunction - controlDistributor links to the controlSurface - controlLaws includes controlModes automatic and manual - controlModes contain controlFunctions - - TraFuMo toolspecific data added - - - - - CPACS 1.1 - - Release in Feb 2010 - - Fleets model added. The fleets modeling from CATS is introduced to CPACS 1.1 - Reference changed. The reference type in wingSegmentStripCoefficientsType was changed from referenceType to pointType - - - - - - - - - - - - - - - - - - - - - - - - - CPACS header - - - Header type, containing CPACS dataset description - - - - - - - - - - - Name of CPACS dataset - - - - - Description of CPACS dataset - - - - - - Creator of initial CPACS dataset - - - - - - Timestamp of initial CPACS dataset creation - - - - - - Version of initial CPACS dataset - - - - - - CPACS version that the dataset is valid to. The element is optional, since data sets - can be valid for several CPACS versions. However, we strongly recommend to assign data sets to a - specific CPACS version as far as possible, especially since some tools and libraries (e.g. TiGL) - require this specification. - - - - - - - - - - - - - - - - - - - - updatesType - - - Updates type, containing update data for the CPACS - dataset - - - - - - - - - - - - - - - - - - - - - complexBaseType - - - Base type for complex nodes (including external data - attributes) - - - - - - - - - - - - - - - stringBaseType - - - Base type for string nodes (including external data - attributes) - - - - - - - - - - - - - - - - - - - stringUIDBaseType - - - This is the base type that links to other components. It should always contain a UID. - This node has an additional attribute isLink that will be used if a stringBaseType refers to a uID. TIXI can then - perform automatic validation for the existence of the referenced uID. - Furthermore this node contains an additional attribute symmetry. The symmetry attribute may take three values: symm, def, full - def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. - symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) - full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) - - - - - - - - - - - - - - - - - - - - - - - - - - stringVectorBaseType - - - - Base type for string vector nodes - The vector base type can include optional uncertainty - information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute that - describes the type of uncertainty function called functionName. - The functionName attribute includes the tag name of the - distribution function which is listened in the table shown below. - Each uncertainty function is further describes by a set of - parameters that are described in the table below. - If the uncertainty values change for the elements of - the vector than the attribute may be written as a list of values - separated by semicolons - DEPRECATED: As of CPACS - version 3.3, the mapType - attribute is set to optional to ensure the compatibility of older data sets. - However, since the type is uniquely defined via the XSD, the attribute is superfluous - and will therefore be completely omitted in the next major release (Note: requires - TiXI >= 3.3). Please contact the CPACS team - if for any reason you see a long-term need for the mapType - attribute. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vector with semicolon separated values of type double - - - - Any entries of type double separated by semicolons are permitted, e.g.: - -<doubleVectorTest>123.456;+123.456;-1.234e56;-.45E-6;NaN</doubleVectorTest> - - -<doubleVectorTest>123.456</doubleVectorTest> - - -<doubleVectorTest>123.456,+1234.456</doubleVectorTest> - - -<doubleVectorTest>123.456;mainWingUID</doubleVectorTest> - - -<doubleVectorTest>123.456;1234.4E 56;-1.234e5.6</doubleVectorTest> - - - - - - - - - - - - - - - - - - - doubleVectorConstraintBaseType - - - - Base type for double vectors including a relational operator attribute indicating valid constraint region. - The doubleVectorConstraintBaseType extends the doubleVectorBaseType and thus inherits all its attributes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vector with semicolon separated positive integer values - - - - Any positive integer values separated by semicolons are permitted, e.g.: - -<intVectorTest>0;1;2;3;4;5</intVectorTest> - - -<intVectorTest>1</intVectorTest> - - -<intVectorTest>0,1,2,3,4,5</intVectorTest> - - -<intVectorTest>0.;1.;2.</intVectorTest> - - -<intVectorTest>-1;0;1</intVectorTest> - - - - - - - - - - - - - - - - - - - stringArrayBaseType - - - Base type for string array nodes (including maptype - array attribute) - DEPRECATED: As of CPACCS version 3.3, the mapType attribute is set to optional to ensure the compatibility of older data records. However, since the type is uniquely defined via the XSD, the attribute is superfluous and will therefore be completely omitted in future versions. - - - - - - - - - - - - - - - - - Array with semicolon separated values of type double - - - - In CPACS arrays are used to exchange values - in full-factorial parameter spaces, for example to describe the aerodynamic coefficients depending - on Mach number and altitude. - - Thus, the dimensions of the array are spanned by the input vectors. See the following - example where two input vectors are defined. For clarification the entries of the array result from - the multiplication of the index values of the corresponding input vectors: - -<inputVector1>1;2;3</inputVector1> -<inputVector2>4;5;6;7</inputVector2> - - -<array>4;5;6;7;8;10;12;14;12;15;18;21</array> - - Any entries of type double separated by semicolons are valid, e.g.: - -<doubleArrayTest>123.456;+123.456;-1.234e56;-.45E-6;NaN;0</doubleArrayTest> - - -<doubleArrayTest>123.456</doubleArrayTest> - - -<doubleArrayTest>123.456,+1234.456</doubleArrayTest> - - -<doubleArrayTest>123.456;mainWingUID</doubleArrayTest> - - -<doubleArrayTest>1234.4E 56;-1.234e5.6</doubleArrayTest> - - - Please note that the syntax of arrays in the current CPACS - version correspond exactly to the syntax of vectors. There is no special character indicating - the dimensions. Thus, the input vectors have to be determined from the documentation of the - corresponding elements and splitting of the one-dimensional vector has to be done manually. - - - - - - - - - - - - - - - - - - - doubleBaseType - - - - Base type for double nodes (including external data - attributes) - The double base type can include optional uncertainty - information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute - that describes the type of uncertainty function called - functionName. The functionName attribute includes the tag name - of the distribution function which is listened in the table - shown below. Each uncertainty function is further describes by a - set of parameters that are described in the table below. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - doubleConstraintBaseType - - - - Base type for double nodes including a relational operator attribute indicating valid constraint region - The doubleConstraintBaseType extends the doubleBaseType and thus inherits all its attributes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - timeConstraintBaseType - - - - Base type for time nodes including a relational operator attribute indicating valid constraint region - The timeConstraintBaseType extends the timeBaseType and thus inherits all its attributes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - integerBaseType - - - Base type for integer nodes (including external data - attributes) - - - - - - - - - - - - - - - - - - - booleanBaseType - - - Base type for boolean nodes (including external data - attributes) - - - - - - - - - - - - - - - - - - - dateTimeBaseType - - - Base type for dateTime nodes (including external data - attributes) - - - - - - - - - - - - - - - - - - - timeBaseType - - - Base type for time nodes (including external data attributes) - This time type is based on the xsd:time definition. - "To specify a time zone, you can either enter a time in UTC time by adding a "Z" behind the time - like this: 09:30:10Z - or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this: - 09:30:10-06:00 - or - 09:30:10+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) - - - - - - - - - - - - - - - - - - - dateBaseType - - - Base type for date nodes (including external data attributes). - This date type is based on the xsd:date definition. - "To specify a time zone, you can either enter a date in UTC time by adding a "Z" behind the date - like this: 2002-09-24Z - or you can specify an offset from the UTC time by adding a positive or negative time behind the date - like this: - 2002-09-24-06:00 - or - 2002-09-24+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) - - - - - - - - - - - - - - - - - - - - - - Positionings of the wing. - - - Positionings type, containing all the positionings of - the wing sections. - - - - - - - - - - - - - - - - - - - Positioning of the wing section - - - - The positionings describe an additional translation of - sections. Basically, the positioning is a vector having the - length 'length' and an orientation that is described by the - parameters 'sweepAngle' and 'dihedralAngle'. If the 'sweepAngle' - and the 'dihedralAngle' are set to zero (or left blank) the - positioning vector equals the positive y-axis of the coordinate - system (in case of a positive 'length'). - If the parameter 'fromSectionUID' is set, the - positioning describes the translation between the 'from' towards - the 'to' section. If the parameter 'fromSectionUID' is left - blank the orgin of the positioning vector is the origin of the - parent coordinate syste. - The orgin of the section coordinate system is the - position which is described by the positioning vector PLUS the - translation which is described in the section. - Please note: If the orgin of the positioning vector is - defined by using another section, i.e. fromSection is defined, - the orgin of this vector equals the end of the positioning - vector of the previous section. This means that the section - translation of the from-section has no influence on the - positioning of the to-section. Therefore the total translation, - which is described by positionings, is the sum of the current - positioning and all positionings that are defined 'before'. - - An example for this is given at positioning 3 and 4 at - the picture below. Please note, that any other combination of - positionings would be possible. - Application of the sweepangle does not lead to a - rotation of the section. Application of the dihedral does not - lead to a rotation of the section. - - - - - - - - - - - - - - Name of the positioning. - - - - - Description of the positioning. - - - - - - Distance between inner and outer section - (length of the positioning vector). - - - - - Sweepangle between inner and outer section. - This angle equals a positive rotation of the positioing vector - around the z-axis of the wing coordinate system. - - - - - - Dihedralangle between inner and outer section. - This angle equals a positive rotation of the positioing vector - around the x-axis of the wing coordinate system - - - - - - Reference to starting section of the - positioning vector. If missing, the positioning is made from the - orgin of the wing coordinate system. - - - - - Reference to ending section (section to be - positioned) of the positioning vector. - - - - - - - - - - - - - - Transformation - - - Transformation type, containing a set of - transformations. The order of the transformations is scaling - -> rotation -> translation, and they are executed in this - order. Any of them can be omitted; it will be replaced by its - defaults. - Transformations are always executed relative to the - child not the parent. I.e. a scaling does not have an influence - on the parent item. For example in the outer geometry of a wing - the element scaling does not influence the section. Scaling does - also not effect rotation and translation. - - - - - - - - - - Scaling data default: 1,1,1. Those parameters - describe the scaling of the x-, y-, and z-axis. - - - - - - Rotation data default: 0,0,0. The rotation - angles are the three Euler angles to describe the orientation of - the coordinate system. The order is allways xyz in CPACS. - Therefore the first rotation is around the x-axis, the second - rotation is around the rotated y-axis (y') and the third - rotation is around the two times rotated z-axis (z''). - - - - - - Translation data default: 0,0,0. Translations - can either be made absolute in the global coordinate system - (absGlobal), absolute in the local Coordinate system (absLocal) - or relative (relative), normalized with the maximum dimensions - of the parent. - - - - - - - - - - - - - - 2D transformation - - - - - - - - - - - - - Scaling of the structural profile - - - - - - rotation around z-axis of profile definition - - - - - - translation of profile definition - - - - - - - - - - - - - - - Point: x,y,z - - - Point type, containing an xyz data triplet. - - - - - - - - - - X-Component - - - - - Y-Component - - - - - Z-Component - - - - - - - - - - - - - - Point: x - - - Point type, containing a x data. - - - - - - - - - - X-Component - - - - - - - - - - - - - - Point: y - - - Point type, containing a y data. - - - - - - - - - - Y-Component - - - - - - - - - - - - - - Point: z - - - Point type, containing a z data. - - - - - - - - - - Z-Component - - - - - - - - - - - - - - Point: x,y - - - Point type, containing an xy data doublet. - - - - - - - - - - X-Component - - - - - Y-Component - - - - - - - - - - - - - - Point: x, z - - - Point type, containing an xz data doublet. - - - - - - - - - - X-Component - - - - - Z-Component - - - - - - - - - - - - - - Point: y, z - - - Point type, containing an yz data doublet. - - - - - - - - - - Y-Component - - - - - Z-Component - - - - - - - - - - - - - - Point: x,y,z - - - Point type, containing an obligatory xyz data triplet. - - - - - - - - - - X-Component - - - - - Y-Component - - - - - Z-Component - - - - - - - - - - - - - - Point with global/local reference - - - PointAbsRel type, containing an xyz data triplet. Each - of the components is optional. The refType attribute defines, - whether coordinates are absolute in the global ccordinate system - [absGlobal], absolute in the parent element's local coordinate - system [absLocal]. If the object does not have a - parent, only [absGlobal] is permitted. - - - - - - - - - - X-Component - - - - - Y-Component - - - - - Z-Component - - - - - - - - - - - - - - - - - - - - - - Point with constraints - - - Point constraint type, containing an xyz data triplet. - - - - - - - - - - X-Component - - - - - Y-Component - - - - - Z-Component - - - - - - - - - - - - - List of 3D points, kept in three relative coordinate - vecors (rX, rY, rZ) - - - - This set of vectors contains an ordered list of points - for rX, rY, and rZ coordinates in the form of stringBased - Vectors. The x, y and z vector elements with the same index - specify a 3D point relative to a geometric segment. - - - - - - - - - - - - - - - - - - - - Vector of rX coordinates. Relative - circumferential coordinate on wing / fuselage profile - - - - - - Vector of rY coordinates. Relative span - coordinate along a segment - - - - - Vector of rZ coordinates. Relative coordinate - normal to the linear strake (normalised with chordlength / - diameter c*) - - - - - - - - - - - - - List of points - - - PointList type, containing an ordered list of points - - - - - - - - - - - Data point - - - - - - - - - - - - - List of points in x,y - - - PointList type, containing an ordered list of points - - - - - - - - - - - Data points in x-y-space. - - - - - - - - - - - - - List of 3D points, kept in three coordinate vecors (x, - y, z) - - - - This set of vectors contains an ordered list of points - for x, y and z coordinates in the form of stringBased Vectors. - The x, y and z vector elements with the same index specify a 3D - point. - - - - - - - - - - - Vector of x coordinates - - - - - Vector of y coordinates - - - - - Vector of z coordinates - - - - - - - - - - - - - Maps points (actually the index in the point list) to a curve parameter. - - - - Which parameters are allowed depends on the context. - For exampple in a wing profile, values between -1 and 1 are valid. - - - - - - - - - - - List of indices of points to be mapped. Each index must be in the range [1, npoints]. - - - - - List of parameters on the curve, that is mapped to the points defined by their index. - - - - - - - - - - - - - A curve that interpolates a list of points. - - - - The curve interpolates the list of points, typically with a b-spline. - In theory, the interpolation is somewhat ambiguous as it is not defined at which - curve parameter a point will be interpolated. - - To solve is ambiguity, an optional parameter map can be defined - that maps point indices with curve parameters. - - Kinks can also be modeled by populating the "kinks" array with the - indices of points that should be on a kink. As an example, look at the following image: - - - - - In this example, the kinks array will be "3;7". - Optionally, the parameters of the kinks can be set in the parameter map. - The whole profile looks as follows: - - -<pointList> - <x>...</x> - <y>...</y> - <z>...</z> - <kinks>3;7</kinks> - <parameterMap> - <pointIndex>3;5;7</pointIndex> - <paramOnCurve>0.2;0.5;0.8</paramOnCurve> - </parameterMap> -</pointList> - - - - - - - - - - - - Indices of points at which the curve has a kink. Each index is in the range [1, npoints]. - - - - - - Map between point index and curve parameter. - - - - - - - - - - - - - List of 2D points, kept in two coordinate vecors (x, y) - - - - This set of vectors contains an ordered list of points - for x and y coordinates in the form of stringBased Vectors. - The x and y vector elements with the same index specify a 2D - point. The coordinates of the x vector of [0, 1]. - - - - - - - - - - - Vector of x coordinates - - - - - Vector of y coordinates - - - - - - - - - - - - - Point in eta and xsi coordinates - - - Point described by eta-xsi coordinates. - Can be either segment or component segment coordinates. - - - - - - - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - - - - - - - - - - - - Relative height at eta, xsi position - - - Point described by eta-xsi and a relative height coordinate. - Can be either segment or component segment coordinates. - If relHeight is not given, the point has no offset from the eta-xsi plane - - - - - - - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative height position. - relHeight is relative to the local airfoil thickness. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - - - - - - - - - - - - Positive double values larger than 0 - - - - - - - - - - - - - - - - - Positive integer values larger than 0 - - - - - - - - - - - - - - - - - List of uIDs - - - - - - - - - - - Reference to a uID - - - - - - - - - - - - - - - - UIDGroupDefinitionType - - - - - - - - - - - - - - - - - - - - - - - - - - - UIDGroupDefinitionsType - - - - - - - - - - - - - - - - - - - - - - - Actuator attachment - - - - - - - - - - - - - Relative spanwise position of the actuator. - Eta refers to the dimensions of the control surface. - - - - - - - - - - - - - - - - - Definition of the position and material properties of - the control surface actuator attachment. - - - - Definition of the position and material properties of - the control surface actuator attachment. - Please refer to the picture below for the definition - of the parameters: - - - - - - - - - - - - - - Definition of the relative chordwise position - of the parent actuator attachment. Xsi refers to the parents - dimensions. - - - - - Definition of the relative height position of - the parent actuator attachment. relHeight refers to the parents - dimensions. - - - - - Definition of the material properties of the - actuator attachment at the parent. - - - - - - - - - - - - - actuatorFuselageWingAttachmentType - - - - - - - - - - - - - - - - - - - - - - - actuatorFuselageWingType - - - - - - - - - - - - - Reference to the actuator. - - - - - Definition of the actuator to fuselage - attachment. - - - - - Definition of the actuator to wing attachment. - - - - - - - - - - - - - - - Definition of the position and material properties of - the parent actuator attachment. - - - - Definition of the position and material properties of - the parent actuator attachment. - Please refer to the picture below for the definition - of the parameters: - - - - - - - - - - - - - - Definition of the relative chordwise position - of the parent actuator attachment. Xsi refers to the parents - dimensions. - - - - - Definition of the relative height position of - the parent actuator attachment. relHeight refers to the parents - dimensions. - - - - - Definition of the material properties of the - actuator attachment at the parent. - - - - - - - - - - - - - actuatorsFuselageWingType - - - - - - - - - - - - - Definition of one actuator (e.g. trim actuator - of an HTP) of the attachment. - - - - - - - - - - - - - aeroPerformanceMapRCType - - - AeroPerformanceMapRC type, containing a perfomance map - with aerodynamic data. Array order is: angleOfAttack min->max - then angleOfSideslip then altitude then machNumber - - - - - - - - - - Atmospheric model and temperature offset - - - - - Mach number - - - - - Altitude - - - - - Sideslip angle - - - - - Angle of attack - - - - - Name and version of the tool used to compute - the aerodynamic performance - - - - - Modeling level of the methods used to compute - the aerodynamic performance. The higher the analysisLevel, the - higher the quality of the results. Possible use of - analysisLevel: 0- 9 = Statistical models, 10-19 = Analytic - models, 20-29 = Lifting line method, 30-39 = Panel method, 40-49 - = Panel-BL-coupled method, 50-59 = Full potential method, 60-69 - = Full potential-BL coupled method, 70-79 = CFD euler method, - 80-89 = CFD euler-bl coupled method, 99-99 = CFD RANS method, - >=100 = Experimental data. - - - - - - - - - - - - - - - - - - - - aeroPerformanceMapsRCType - - - aeroPerformanceMapsRC type, containing multiple - aeroPerformanceMapRC nodes for different cases - - - - - - - - - - - - - - - - - - - aeroPerformanceType - - - aeroPerformance type, containing perfomance maps with - aerodynamic data of an airfoil. - - - - - - - - - - Aerodynamic performance map of the full - configuration - - - - - Aerodynamic performance maps of isolated - fuselages - - - - - Aerodynamic performance maps of isolated wings - - - - - - Aerodynamic performance maps of control - surfaces - - - - - Aerodynamic performance maps of isolated - airfoils - - - - - - - - - - - - - aeroelasticDivergenceType - - - AeroelasticDivergence type, containing the results from - aeroelastic analysis - - - - - - - - - - - - - - - - - - - aeroelasticStaticMaxDisplacementType - - - AeroelasticStaticMaxDisplacement type, containing the - Maximum static displacement from aeroelastic analysis - - - - - - - - - - Maximum translation - - - - - Maximum rotation - - - - - - - - - - - - - Aeroelasticity - - - Aeroelastics type, containing the results from - aeroelastic analysis - - - - - - - - - - - - - - - - - - - - Results from several analysis - modules connected to CPACS - - - AircraftAnalyses type, containing detailed analysis - data of the aircraft - Within this element results from analysis modules are - stored that rely to the overall definition of the aircraft. These - include e.g. aerodynamic data or loadCases - For further documentation please refer to the - respective elements. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Global data - - - AircraftGlobal type, containing global data of the - aircraft - - - - - - - - - - - designRange equals the full payload max - range, i.e. point B in payload range - diagramm - - - - - - - - - - - - - - - - - - - Aircraft model - - - - The aircraftModelType contains the geometric aircraft - model and associated data. - Elements specifying the geometry of the aircraft are fuselages, - wings, - engines (referenced via uID), - enginePylons, landingGear, - systems (to some extend) and genericGeometryComponents. - - Other elements are dedicated to additional data associated to this aircraft model. Brief and concise analysis results are stored - in the global node. The analysis node contains - extensive results from multidisciplinary analysis modules. - In the current CPACS version requirements only refer to the aircraft performance and are therefore specified in the - performanceRequirements node. - - - - - - - - - - - - Name of the aircraft model - - - - - - Description of the aircraft model - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aircraft - - - - The aircraftType contains a list of aircraft models. - - - Note: Since there is no distinction between plural and singular in English, aircraft - refers to plural form, while a single aircraft itself is referened as model. - - - - - - - - - - - - - - - - - - - - - airfoilAeroPerformanceType - - - airfoilAeroPerformance type, containing perfomance maps - with aerodynamic data of an airfoil. - - - - - - - - - - Reference to the uID of the analysed airfoil - - - - - - References used for the calculation of the - force and moment coefficients of the airfoil (in the airfoil - axis system!) - - - - - Calculated aerodynamic performance maps of the - airfoil - - - - - - - - - - - - - airfoilsAeroPerformanceType - - - airfoilsAeroPerformance type, containing - airfoilsAeroPerformance - - - - - - - - - - - - - - - - - - - airframeMaintenanceCostType - - - - - - - - - - - - - - - - - - - - - - - airlineType - - - Describes a specific airline and their fleet - - - - - - - - - - Name of the airline - - - - - Description of the airline - - - - - - - - - - - - - - - - Airlines - - - Contains a list of different airlines - - - - - - - - - - - - - - - - - - - airportCompatabilityGlobalType - - - - - - - - - - - - - - - - - - - - - - - - - - airportType - - - Airport type, containing data of an airport - - - - - - - - - - Name of airport - - - - - Description of airport - - - - - IATA 3-letter-code - - - - - ICAO 4-letter-code - - - - - Position in degrees north - - - - - Position in degrees east - - - - - Airport elevation - - - - - - - - - - - - - - - Airports - - - Airports type, containing data of the airports - - - - - - - - - - - - - - - - - - - - alignmentCrossBeamType - - - - - - - - - - - - - Offset in direction of extrusion, first side - (absolute value) - - - - - Offset in direction of extrusion, second side - (absolute value) - - - - - Rotation around local x axis (extrusion axis) - - - - - - Translation along local y axis (perpendicular - to extrusion axis) - - - - - Translation along local z axis (perpendicular - to x ynd y axes) - - - - - - - - - - - - - - alignmentFloorPanelType - - - - - - - - - - - - - Offset from seat rail 1 reference Position in - local y direction (in plane of panel, absolute value) - - - - - - Offset from seat rail 2 refernce position in - local y direction (in plane of panel, absolute value) - - - - - - Offset from seat rail 1 refernce position in - local z direction (in plane of panel, absolute value)) - - - - - - - - - - - - - - - alignmentStringFrameType - - - - - - - - - - - - - Rotation around local x axis (extrusion axis) - - - - - - Translation along local y axis (perpendicular - to extrusion axis) - - - - - Translation along local z axis (perpendicular - to x ynd y axes) - - - - - - - - - - - - - - alignmentStructMemberType - - - - - - - - - - - - - Offset in direction of extrusion (absolute - value) - - - - - Rotation around local x axis (extrusion axis) - - - - - - Translation along local y axis (perpendicular - to extrusion axis) - - - - - Translation along local z axis (perpendicular - to x ynd y axes) - - - - - - - - - - - - - - atmosphericModelType - - - Defines the the athmospheric model which should be used. - Currently there is only a single option which is ISA for ICAO Standard - atmosphere (ISA) from 1993. For more details on atmospheric - models, please refer to documentation of the <CPACS> root - element. - - - - - - - - - - Atmospheric model (e.g. ISA for ICAO Standard - atmosphere (ISA) from 1993). - - - - - - - - - - - - Offset from temperature of the atmospheric model [K]. - For more details on atmospheric models, please refer to documentation - of the <CPACS> root element. - - - - - - - - - - - - - Attachment pin of the wing-fuselage-attachment. - - - - Attachment pin of the wing-fuselage-attachment. - - - - - - - - - - - - - Definition which translation degrees of - freedom are blocked. Default x=0 (free); y=1 (blocked); z=1 - (blocked). - - - - - - - - - - - - - - - - Definition of attachment pins for the wing-fuselage - attachment. - - - Definition of attachment pins for the wing-fuselage - attachment. - - - - - - - - - - - - - - - - - - - Axle - - - Geometric description and material properties of the - landing gear axle - - - - - - - - - - Length of the axle. For a single wheel, the length is equal to the distance between the center of the piston and the center of the wheel. For two wheels, the length is equal to the distance between the centers of the wheels with the axis being centered w.r.t. to the Piston. - - - - - Axle shaft properties - - - - - Number of wheels attached to this axle - - - - - Defines the side of the first wheel (inboard or outboard; inboard corresponds to the negative y-direction or in flight direction left) for odd number of wheels on this axis. Each additional wheel is the added on the opposite site of the previous wheel. - - - - - - - - - - - - Properties of the wheel(s) attached to this axle. If more than one wheel is attached, all wheels on a single axis have the same properties. - - - - - - - - - - - - - - Definition of the landing gear wheel. - - - The center plane of the wheel is located on the end point of the axle. - - - - - - - - - - Wheel radius - - - - - With of the wheel - - - - - Brake: false = - not braked; true = braked. - - - - - - - - - - - - - - beamCrossSectionType - - - beamCrossSectionType, containing the beam geometrical - properties - - - - - - - - - - - - - - - - - - - - - - - - beamStiffnessType - - - globalBeamStiffnessType, containing the beam - stiffnesses such as EA, EI - - - - - - - - - - - - - - - - - - - - - - - - - - blockedDOFType - - - - - - - - - - - - - - - - - - - - - - - Bogie - - - Geometric description and material properties of the - landing gear axle bogie (including the axle configuration) - - - - - - - - - - Length of the bogie - - - - - Tilt angle of the bogie in airborne conditions - - - - - - - - - - - - - - - - Bogie axle assembly - - - Description of an axle installed on the bogie and its - relative position to it - - - - - - - - - - - Relative position of the axle to the bogie (if more than one axle is defined; 0 = forward end of bogie; 1 = rear end of bogie) - - - - - - - - - - - - - - - - - - - Bogie axle assemblies - - - - A list of axles that are attached to the bogie - and their relative position to it - - - - - - - - - - - - - - - - - - - - Cabin aisles - - - - - - - - - - - - - - - - - - - - - - Space - - - spaces describe areas in the cabin that need to be - clear for use as emergency area. Depending on the type of area, - it can have a height limit. The spaces are required for - downstream cabin design, for example to describe an empty cabin. - - - - - - - - - - - Name - - - - - Description - - - - - Vector with x-coordinates. These describe an area, so they - are not monotonous ascending. - - - - - Vector with y-coordinates at given x-coordinates. Warning: - x-y do not represent a function as single x-positions can have - multiple y-coordinates. Hence, no interpolation is possible. - - - - - - Height above the floor that is required to - be empty of any objects - - - - - - - - - - - - - - Cabin spaces - - - - - - - - - - - - - - - - - - - - - - Cap - - - - SparCap type, containing the cross section area of the - spar cap and the material properties. - Pleas find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: - - - - - - - - - - - - - - Area of the cap - - - - - - - - - - - - - - cargoCrossBeamStrutsAssemblyType - - - CargoCrossBeamStrutsAssembly type, containing cargo - crossBeam strut assemblys - - - - - - - - - - - - - - - - - - - cargoCrossBeamsAssemblyType - - - CargoCrossBeamsAssembly type, containing cargo - crossBeam assemblys - - - - - - - - - - - - - - - - - - - cargoDoorsAssemblyType - - - CargoDoorsAssembly type, containing cargo door - assemblys - - - - - - - - - - - - - - - - - - - Chordwise positioning of wing cells. - - - CellPositioningChordwise defines the chordwise direction of a wing cell either in two xsi - (xsi1 at innerBorder and xsi2 at outerBorder) coordinates, via referencing a spar-uID or via a - contour coordinate in chordwise direction. - - - - - - - - - - - Relative chordwise position of the inner end. - - - - - Relative chordwise position of the outer end. - - - - - - Reference to a spar as chordwise border. - - - - - Chordwise contour coordinate as chordwise border. 0 equals LE, 1 equals TE. - - - - - - - - - - - - - Spanwise positioning of wing cells. - - - CellPositioningSpanwise defines the chordwise direction of a wing cell either in two eta - (eta1 at leadingEdge and eta2 at trailingEdge) coordinates, via referencing a rib-uID or via a contour - coordinate in chordwise direction. - - - - - - - - - - - Relative spanwise position of the forward end. - - - - - Relative spanwise position of the rear end. - - - - - - - RibNumber is the reference to the rib number of the rib set which is referenced by 'ribDefinitionUID'. - - - - - Reference to a ribDefinition set. The single rib of this ribDefinition set is defined by using 'ribNumber'. - - - - - - Spanwise contour coordinate as spanwise border. 0 equals root, 1 equals tip. - - - - - - - - - - - - - centerFuselageAssemblyType - - - CenterFuselageAssembly type, containing wing box - assemblys - - - - - - - - - Choise between diffent center fuselage - modelling options - - - - Simplified center fuselage definition (rigid - body) - - - - UID of first frame in rigid center fuselage - area - - - - - UID of last frame in rigid center fuselage - area - - - - - UID of start stringer to define center - fuselage area - - - - - UID of end stringer to define center fuselage - area - - - - - - Detailled low wing center fuselage definition - (draft definition) - - - - - - Detailled high wing center fuselage definition - (draft definition) - - - - - - - - - - - - - - - centerFuselageAreasAssemblyType - - - centerFuselageAreasAssembly type, containing center - fuselage area assembly - - - - - - - - - - - - - - - - - - - centerFuselageHighWingConfiguration - - - - - - - - - - - - - - - - - - - - - - centerFuselageKeelbeamType - - - CenterFuselage / Keelbeam definition between mainframe1 - und mainframe3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - centerFuselageLateralPanelsType - - - CenterFuselage / lateral Panel definition between - mainframe2 und mainframe3 - - - - - - - - - - - - - - - - - - - - - - - - - - centerFuselageLongFloorBeamConnectionType - - - CenterFuselage / Long. floor beam connection - - - - - - - - - - - - - - - - - - - - - centerFuselageLowWingConfiguration - - - - - - - - - - - - - - - - - - - - - - - - - centerFuselageMainFramesType - - - CenterFuselage / main frame definition, containing - mainframe and pressure Bulkhead definitions - - - - - - - - - - - - - - - - - - - - - - - - centerFuselagePressureFloorType - - - CenterFuselage / pressure floor definition between - mainframe2 und mainframe3 - - - - - - - - - - - - - - - - - - - - - - - - centerFuselagePressureFloorType - - - CenterFuselage / side box definition between mainframe2 - und mainframe3 - - - - - - - - - - - - - - - - - - - - - certificationCasesType - - - - - - - - - - - - - - - - - - - - - - chargesCostType - - - - - - - - - - - - - - - - - - - - - - - - - - cockpitControlType - - - single cockpitControl is defined by a pilotInput and a - commandOutput. The commandOutput is linked to the commandCase - - - - - - - - - - - - - - - - - - - - - - - - - cockpitControlsType - - - Cockpit controls type, containing the cockpit controls - - Some controls are mandatory, others can be added via - cockpitControl elements - - - - - - - - - - - - - - - - - - - - - - commandCaseCommandType - - - single commandCaseCommand can either hold a - controlFunction or a controlDistributor - - - - - - - - - - - - - - - - - - - - - - - commandCaseType - - - single commandCase Containing several - commandCaseCommands - - - - - - - - - - - - - - - - - - - - - - commandCasesType - - - plural Element for commandCase, some fixed dp, dq, dr - and dx, dy, dz - - - - - - - - - - - - - - - - - - - - - - - - - componentCostType - - - - - - - - - - - - - - - - - - - - - - Load envelope - - - List of load cases defining a load envelope - - - - - - - - - - - Name - - - - - Description - - - - - UID of the corresponding point set - - - - - - List of uIDs defining the loads envelope - - - - - - - - - - - - - componentSegmentPathType - - - - - - - - - - - - - Definition of hingePoint of the - componentSegment. The hingePoint is used as reference point for - the deflection definition. - - - - - Definition of the orientation of the hinge - line with three Euler-rotation angles. The hinge line is - oriented along the global y-axis if all rotations are 0. - - - - - - Definition of all steps of the deflection - path. - - - - - - - - - - - - - componentSegmentStepType - - - - - - - - - - - - - The control parameter is used to reference the - state of a control device, e.g. in the load - case description. Can have any value and is NOT limited to the - range of -1 to 1. - - - - - Translation along the x-, y- and z-Coordinate - of the rotated hinge coordinate system. - - - - - Rotation around the hinge line. - - - - - - - - - - - - - - componentSegmentStepsType - - - - - - - - - - - - - Definition of one step of the deflection path. - - - - - - - - - - - - - - ComponentSegment of the wing. - - - - Within componentSegments the wing structure, the - control surfaces, the wing fuel tanks and the - wingFuselageAttachment is defined by using relative coordinates. - - A componentSegment is defined in the same way as - segments: from one cross section (sections->elements) to - another. Compared to segments one componentSegment can can start - and end at elements that are not consecutive. Therefore that one - componentSegment can be the combination of several segments. - Each wing has at least one componentSegment (from root to tip). - The maximal number of componentSegments equals the number of - segments (each segment is defined as one componentSegment). - This also implies that each segment can only be part of one componentSegment. - - In principal a componentSegment can combine any number - of segments. But if in one section two elements are defined, the - componentSegment has to start/end there as no well-defined - relative coordinats can be defined if steps in the wing occure. - - An example for wing componentSegments can be found in - the picture below: - - - - Within componentSegments a relative spanwise - coordinate (eta) and a relative chordwise coordinate (xsi) is - defined. Those coordinates are used for the definition of e.g. - wing structures and control surfaces. there are two types of eta xsi coordinates. - Segment (eta, xsi) coordinates define the relative local coordinate system for a segment ranging from (0,0) to (1,1). - - - - - - The eta xsi coordinates for a component segment are based on the segment eta xsi planes. - As a reference length for the component segment eta coordinate the - mid chord lines of all the segments are used. - The beginning of this line at from-element equals eta = 0, while the end of this line - at the to-element equals eta = 1. All wing positions that lie on the same - element (segment border) have the same eta coordinate. The points inbetween - two elements are defined by the iso xsi lines of the segment eta xsi space. - An example for the definition of the relative axes can - be found in the picture below: - - - - - In order to calculate the global coordinates of a component segment eta xsi point - one first has to calculate the eta point on the xsi iso line of (xsi=0.5), - and then walk along the iso eta lineof the segment. - - An example for determining the a component - eta xsi point can be found in the picture below: - - - - - - - - - - - - - - - - - - - - - - - - Name of the wing componentSegment. - - - - - - - Description of the componentSegment. - - - - - - - Reference to the element from which the - componentSegment shall start. - - - - - - - Reference to the element from which the - componentSegment shall end. - - - - - - - - - Description of deflection path of - componentSegments (e.g. used for - trimmable HTPs). - - - - - - - - - - - - - - - - - - - ComponentSegments of the wing. - - - ComponentSegments type, containing all the - componentSegments of the wing. - - - - - - - - - - - - - - - - - - - compositeLayerType - - - CompositeLayer type, conatining data of a composite - layer - - - - This type defines single composite layers by - giving a ply thickness, ply reference angle and a materialUID. - - - - - - - - Name of layer - - - - - Description of layer - - - - - Thickness of layer - - - - - Angle of layer in degree - - - - - Material UID of the layer - - - - - - - - - - - - - compositeType - - - Composite type, conatining data of a composite - - - - - Within this type individual stackings of - composites can be introduced by defining an offset and a set of - composite layers. The order of the composite layers defines the - stacking order. - - - - - - - Name of composite - - - - - Description of composite - - - - - offset of the laminate. The reference plane of - the laminate is the arithmetic mean of the laminate thickness. - - - - - - - - - - - - - - - - compositesType - - - - - - - - - - - - - - - - - - - - - - connectivitiesType - - - - - - - - - - - - - - - - - - - - - - connectivityType - - - - - - - - - - - - - - - - - - - - - - - - - - Constraints - - - - Constraint settings for the point performance definition - - - - - - - - - - - Calibrated airspeed [m/s] - - - - - - - Mach number [-] - - - - - - - Climb angle [deg] - - - - - - - Rate of climb [m/s] - - - - - - - Rate of turn [deg/s] - - - - - - Thrust setting for derated engine as fraction of max. thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres) - - - - - - - Rate of velocity [m/s^2] - - - - - - - Duration [s] - - - - - - - Angle of attack [deg] - - - - - - - Constant altitude [m] - - - - - - - - - - - - - - Constraint - - - - - Specification of performance constraints. - - Constraints allow vectors of double values to define parameter lapses within a mission segment. The example below illustrates this by means of an exemplary climb profile of a conventional airliner, in which multiple physical and regulatory speed constraints are simultaneously specified over several altitudes (e.g., to account for the crossover altitude): - <endCondition> - <positionGeo> - <altitude relationalOperator="ge" uID="altClimb">10058.4</altitude> <!-- FL330 --> - </positionGeo> -</endCondition> -<constraint> - <referenceEndConditionUID>altClimb</referenceEndConditionUID> - <endConditionRatio>0.0;0.303</endConditionRatio> <!-- FL0, FL100 --> - <continuitySetting>discrete</continuitySetting> - <CAS relationalOperator="le">128.61;154.33</CAS> <!-- 250 [kt], 300 [kt]--> - <machNumber relationalOperator="le">0.78;0.78</machNumber> - <prioritySetting>velocity</prioritySetting> -</constraint> - - - From FL0 until FL100, the vehicle should fly at a velocity less than or equal to CAS = 250 kt or M = 0.78. In this first segment at low altitudes, the constraint on CAS is triggered. - - - From FL100 until FL330, the vehicle should fly at a velocity less than or equal to CAS = 300 kt or M = 0.78. In this second segment, the vehicle starts by increasing velocity until 300 kt, the constraint on maximum machNumber triggers from the crossover altitude onwards - - - - - - - - - - - - - Reference to the uID of the segment end condition variable - - - - - - - Vector indicating the ratios of the constraintSettings profile with respect to the provided referenceEndCondition, ranging from 0 to 1. If this vector is defined, the provided constraintSettings are expected to be vectors with the same length providing ratio-value pairs. Example: for referenceEndCondition <range><z> (i.e.: flown distance in z direction of the segment), a vector of <CAS> and <machNumber> is provided to define a climb profile. - - - - - - Defines how to interpret the parameter lapses within the segment: discrete steps (C0 continuity) or linear interpolation (C1 continuity) - - - - - - - - - - - - - - - Calibrated airspeed within the - segment - - - - - - - Mach number within the segment - - - - - - - Climb angle within the segment - - - - - - - Climb angle within the segment - - - - - - - Specific excess power within the segment - (e.g.: for defining minimum SEP to - remain after step climbs have been - performed). - - - - - - - Altitude difference of each step climb - - - - - - - - Flight heading at the end of the - segment in compassAngle with - reference to true North [deg] - - - - - - - Total change of heading angle during - segment (a full turn is 360 degrees) - [deg] - - - - - - - - Rate of turn within the segment - - - - - - - Thrust setting for derated engine as - fraction of max. Thrust (e.g.: for - powered descents, deceleration not at - IDLE, manoevres). - - - - - - - Rate of velocity within the segment - - - - - - - Load factor experienced during segment - - - - - - - Constant altitude for the segment. - - - - - - - priority setting indicating which - constraint is preferred within the - segment - - - - - - - - - - - - - - - - - - - - - - Airfoil definition of an control surface at the - inner/outer border. - - - - Optional definition of the exact airfoil shape at the - inner/outer border of the control surface. - The airfoil shape is defined via referencing to the - airfoilUID. As the leading and trailing edge point is fix due to - the outer shape definition of the control surface the airfoil - can only be rotated around the x-axis (axis going from leading - to trailing edge of the inner/outer border of the control - surface). Scaling in x-direction is also defined by the outer - shape, wherefore only scaling in y and z direction is allowed. - - - - - - - - - - - - Reference to the airfoil uID. - - - - - - Rotation around an axis, going from the - leading edge point to the trailing edge point of the inner/outer - border of the control surface. Defaults to 90°, which is - equivalent to perpendicular on the control surface middle plane. - - - - - - Scaling of the airfoil in spanwise direction - (not used for 2D airfoils). - - - - - Scaling in thickness direction of the airfoil. - - - - - - - - - - - - - - controlDistributorType - - - - single controlDistributor bundling several - controlElements - Within some analyses, it might occur that overlapping control element settings are specified. In this case, - it is assumed that a cumulative setting is built by summing up the individual settings. As the behavior of these settings - is not necessarily linear, a certain order of summation has to be followed: - - (1) The command inputs for each controlDistributor, coming from the configurationUID, as well as from separate settings have to be summed up to a total commandInput. - (2) With this total commandInput, each corresponding controlDistributor definition has to be evaluated, in order to get controlParameter settings for a number of controlDevices. - (3) All controlParameter settings for a controlDevice, coming from the configurationUID, from the controlDistributors and from separate controlDevice settings have to be summed up to get a total controlParameter for each controlDevice. - (4) With this total controlParameter, each corresponding controlDevice definition has to be evaluated, in order to find out what the control device finally is doing. - (5) During the summation process (depending on the order of processing within step 1 to 4), commandInputs or controlParameters might exceed the specified limits for that controlDistributor or controlDevices. As an intermediate result, this should be accepted – however, when it comes to evaluation in step 2 and 4, all commandInputs and controlParameters have to be within the specified limits. - - - - - - - - - - - - - - Vector of command inputs. The minimum and maximum value is given by the lowest and highest entry of the vector, respectively. - - - - - - - - - - - - - - - controlDistributorsType - - - plural Element for controlDistributor - - - - - - - - - - - - - - - - - - - controlElementType - - - Single controlElement linking the inputs of a controlDistributor via a gain - table to a contol device by using its uID. Controls can be ControlSurfaces and in the - future thrust. - - - - - - - - - - UID of the control device, e.g. a control surface. It is not allowed to reference another control distributor. - - - - - Vector of control device states resulting from the input commands. It must be of the same length as the inputCommands element. - The minimum and maximum values are defined according to the minimum and maximum values of the input commands. - - - - - - - - - - - - - controlElementsType - - - plural Element for controlElement - - - - - - - - - - - - - - - - - - - controlFunctionType - - - single controlFunction containing the controller's - parameters - - - - - - - - - - - - - - - - - - - - - - - - - - controlFunctionsType - - - plural Element for controlFuntion - - - - - - - - - - - - - - - - - - - controlLawModeType - - - Control Laws type, containing the aircraft's control - law mode - - - - - - - - - - - - - - - - - - - controlLawModesType - - - Control Laws type, containing the aircraft's control - law modes - - - - - - - - - - - - - - - - - - - controlLawsType - - - Control Laws type, containing the aircraft's control - laws - - - - - - - - - - - - - - - - - - - - Definition of an actuator of the control surface, that - is not placed within a track. - - - Definition of an actuator of the control surface, that - is not placed within a track. - - - - - - - - - - Reference to the actuator (actuator definition - currently not available in CPCAS, status 1.6). - - - - - - - - - - - - - - - - Definition of actuators of the control surface, that - are not placed within a track. - - - Definition of actuators of the control surface, that - are not placed within a track. - - - - - - - - - - - - - - - - - - - Airfoil definition of an control surface between inner - and outer border. - - - - Optional definition of the exact airfoil shape between - the inner and outer border of the control surface. - The airfoil shape is defined via referencing to the - airfoilUID. As the leading and trailing edge point is fix due to - the outer shape definition of the control surface the airfoil - can be rotated around the x-axis (axis going from leading to - trailing edge of the control surface) and around the z-axis - (normal axis on the control surface middle plane). Scaling in - x-direction is also defined by the outer shape, wherefore only - scaling in y and z direction is allowed. - - - - - - - - - - - Relative spanwise coordinate (eta) of the - control surface, where the leading edge of the airfoil is - placed. - - - - - Reference to the airfoil uID. - - - - - - Rotation around an axis, going from the - leading edge point to the trailing edge point of the control - surface. Defaults to 90°, which is equivalent to perpendicular - on the control surface middle plane. - - - - - Rotation of the airfoil around the control - surface middle plane normal direciotn. Reference point is the - most forward point of the airfoil. Defaults to 90°, which is - equivalent to the airfoilplacement in flight direction (along - wings-x axis). - - - - - Scaling of the airfoil in spanwise direction - (not used for 2D airfoils). - - - - - Scaling in thickness direction of the airfoil. - - - - - - - - - - - - - - Inner/outer border of the control surface. - - - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the leading edge - devices 'hollow'. If an exact control surface airfoil definition - should be used, outerShape->airfoils can be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - - - - - - - - - - - Relative spanwise inner/outer position of the - leading edge of the control surface. - - - - - Relative spanwise inner/outer position of the - trailing edge of the control surface. Defaults to 'etaLE'. - - - - - - Relative chordwise inner/outer position of - the trailing edge of the control surface. Reference is eta/xsi - from the parent. - - - - - - - - - - - - - - - - - - - - - - - Inner/outer border of the control surface. - - - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the - spoiler'relHeightLE' is used. If an exact control surface - airfoil definition should be used, outerShape->airfoils can - be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - - - - - - - - - - - Relative spanwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - - - Relative spanwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. Defaults to 'etaLE'. - - - - - Relative chordwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - - - Relative chordwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. - - - - - - Defines the relative high of lowest point of - the spoiler leading edge, relative to the airfoil height of the - parent at this position. See picture below. - - - - - - - - - - - - - - - - Inner/outer border of the control surface. - - - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the trailing edge - device this is done at 'leadingEdgeShape', for the spoiler - 'relHeightLE' is used and for the leading edge devices 'hollow'. - If an exact control surface airfoil definition should be used, - outerShape->airfoils can be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - - - - - - - - - - - Relative spanwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - - - Relative spanwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. Defaults to 'etaLE'. - - - - - Relative chordwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - - - - - - - - - - - - - - Optional definition of the exact airfoil shape of the - control surface. - - - - - - - - - - - - - - - - - - - - - - This type contains a vector of deflection values for a - single control surface - - - - - 0. General overview - - In this type, a vector of deflections of a single - control surface is specified. - - - - 1. - <controlSurfaceUID> - (mandatory) - - - A reference to a control surface from the aircraft - model - - - - 2. - <controlParameters> - (mandatory) - - - A vector of controlParameters of the selected - control surface (with respect to the defined deflection path). - - - - - - - - - - - - - - Reference to a control surface - - - - - - Control parameters of the control surface - - - - - - - - - - - - - - This type contains a list of control surfaces and their - deflection vectors - - - - - 0. General overview - - In this type, a list of control surfaces is defined. - - - - - 1. - <controlSurface> - (mandatory) - - - One of these nodes per deflected control surface is - required here. - - - - - - - - - - - - - - - - - - - - - - controlSurfaceHingeMomentMapType - - - controlSurfaceHingeMomentMap type, containing a moment - map with aerodynamic data for a control surface. Array order is: - controlParameters min->max then angleOfAttack then angleOfSideslip - then reynoldsNumber then machNumber. AngleOfAttack, angleOfSideslip, - reynoldsNumber and machNumber are taken from the basic - performance map one level above. - - - - - - - - - - Reference to the control surface - - - - - - Control parameters of the control surface - - - - - - - - - - - - - - - - - - - - controlSurfaceHingeMomentMapsType - - - controlSurfaceHingeMomentMapsType type, containing the - aerodynamic moment maps for one or more control surfaces. - - - - - - - - - - - - - - - - - - - - controlSurfaceHingePointType - - - - The deflection path of a control surface is described - with respect to two hinge points - one at the inner border of - the control surface and one at the outer border of the control - surface. Those two points are defined using the xsi and relative - height coordinates of the parent. Therefore those points can also - lay outbound of the control surface. Those two points defined - the hinge line, which is a straight line between the two points. - - An example can be found below: - - - - - - - - - - - - - - Relative chordwise coordinate (xsi) of the - hinge line point. Reference is the parent chord. - - - - - - Relative height of the hinge line point. - Reference is the parent airfoil height. - - - - - - - - - - - - - Outer shape definition of the control surface. - - - - - Definition of the outer shape of the leading edge - control surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - - - - - - - - - - - - - - - - - - - Outer shape definition of the spoiler control surface. - - - - - Definition of the outer shape of the control surface. - - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - - - - - - - - - - - - - - - - - - - Outer shape definition of the control surface. - - - - - Definition of the outer shape of the trailing Edge - control surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - - - - - - - - - - - - - - - - - - - Definition of the deflection path of the control - surface. - - - - The deflection path of a control surface is described - with respect to two hinge points - one at the inner border of - the control surface and one at the outer border of the control - surface. Those two points are defined using the xsi and relative - height coordinates of the parent. Therefore those points can also - lay outbound of the control surface. Those two points defined - the hinge line, which is a straight line between the two points. - - The deflection path of the control surface is defined - within the hinge line coordinat system. This is defined as - follows: The x-hinge coordinate equals the wing x-axis. The - y-hinge coordinate equals the hinge line axis (see above; - positive from inner to outer hinge point). The z-hinge line is - perpendicular on the x-hinge and y-hinge coordinate according to - the right hand rule. The rotation of the control surface is - defined as rotation around the positive y-hinge line. - - The deflection of the is defined in any number of - steps. The deflection of the control surface is done as follows: - First the x-deflection at the inner and outer border; afterwards - the z-deflection of the inner and outer border; last the - y-deflection of the inner border. The y-deflection is only - defined at the inner border, as it is identical to the outer - border. If no values for the outer border deflection are given, - they default to the values of the inner border. - An example can be found below: - - - - - - - - - - - - - - - - - - - - - - - - - controlSurfacePerformanceMapType - - - ControlSurfacePerformanceMap type, containing a delta - performance map with aerodynamic data for a control surface. Array - order is: relativeDeflection min->max then angleOfAttack then - angleOfSideslip then altitude then machNumber. AngleOfAttack, - angleOfSideslip, altitude and machNumber are taken from the - basic performance map one level above. - - - - - - - - - - Reference to the control surface - - - - - - Relative deflection of the control surface - - - - - - - - - - - - - - - - - - - - controlSurfacePerformanceMaps - - - controlSurfacePerformanceMaps type, containing the - aerodynamic delta performance maps for one or more control - surfaces. - - - - - - - - - - - - - - - - - - - Border type for the inner and outer border of a wing - cut out - - - - Maybe applied to specifiy inner and outer border of - the cutout either via eta or rib references - - - - - - - - - - - - - - - Link to a rib definition - - - - - - Rib number in the corresponding - ribDefinitionUID - - - - - - - Spanwise location of the border at the - leading edge of the cut out - - - - - Spanwise location of the border at the - trailing edge of the cut out - - - - - - - - - - - - - - Cut out of the parents upper/lower skin due to a - control surface. - - - - Optional. Definition of the skin cut out due to a - control surface. The cut out of the skin can either be defined - by referencing to a spar uID or by defining the relative chord - values (xsi) of the cut at the inner and outer border of the - control surface. The xsi value is based on the parents chord. - For leading edge devices additional parameters can be defined. - - An example for wing cut outs can be found in the - picture below: - - - - - - - - - - - - - - - Xsi value of the inner border, where the cut - out begins. - - - - - Xsi value of the outer border, where the cut - out begins. - - - - - - Reference to a spar, defining the skin cut - out. - - - - - - - - - - - - - controlSurfaceStepType - - - - The deflection path of the control surface is defined - within the hinge line coordinat system. This is defined as - follows: The x-hinge coordinate equals the wing x-axis. The - y-hinge coordinate equals the hinge line axis (see above; - positive from inner to outer hinge point). The z-hinge line is - perpendicular on the x-hinge and y-hinge coordinate according to - the right hand rule. The rotation of the control surface is - defined as rotation around the positive y-hinge line. - - The deflection of the is defined in any number of - steps. The deflection of the control surface is done as follows: - First the x-deflection at the inner and outer border; afterwards - the z-deflection of the inner and outer border; last the - y-deflection of the inner border. The y-deflection is only - defined at the inner border, as it is identical to the outer - border. If no values for the outer border deflection are given, - they default to the values of the inner border. - An example can be found below: - - - - - - - - - - - - - - The control parameter links a generic floating point value to - a certain status of a control device (e.g. control surface, landing gear, suction - system, brake parachute, ...). See the documentation of the global CPACS-Element for - further information. - - - - - - Translation of the inner hinge line point - within the hinge line coordinate system. Defaults to zero. Not - allowed for spoilers! - - - - - Translation of the outer hinge line point - within the hinge line coordinate system. Defaults to the values - of the inner hinge line point. Not allowed for spoilers! - - - - - - Positve rotation around the hinge line, - heading from the inner to the outer border. Defaults to zero. - - - - - - - - - - - - - - Definition of the steps of the control surface - deflection path. - - - - List of steps. - - - - - - - - - - - - - - - - - - - - Control surface tracks (mechnaical link between control - surface and parent). - - - - A track generally describes the structural connection between a control surface and a wing (or parent element). For example, a track can be a flap track, a revolute joint connecting an aileron or spoiler, or the kinematics of slats on a wing. - The spanwise position of the track is defined by - etaPosition, which refers to the control surface dimensions. - - The structural properties of the track (e.g. - materials) are defined in trackStructure. - If an actuator is included into the the track, a - reference is given in actuator. - The principal kinematic of the track is defined by - setting the trackType and trackSubType. Please refer to the - tables below for setting the trackType and trackSubType - parameter. Note, those tables are not final - they are extended - continuously. - - - - Trailing edge track types - - - trackType - picture - description - trackSubType - picture - description - - - 1 - - - - - - Revolute joint; no actuators; the revolute joint is on TED hinge line. - 1 - - - - - - Revolute attached at the wings rear spar and the TEDs front spar respectively the load - carrying ribs of the TED. - - - 2 - - - - - - Revolute joint; dropped hinge; linear or rotary actuator (subtype-dependent) included. - The drive strut (if any) is defined as strut1. - 1 - - - - - - Box beam design as wing attachment; rotary drive attached at wing rear spar. - - - - - - 2 - - - - - - Wing attachment at wing rear spar; rotary drive attached at wing rear spar - - - - - - 3 - - Track mounted inside the fuselage at wing root. - - - 3 - - - - - - Upside-down, forward link in conjunction with a straight track on a fixed structure - as aft. support; including rotary drive. - 1 - - - - - - Wing attachment using a box beam design where track is mounted; rotary actuator mounted - at the wing rear spar. - - - - - - 2 - - Track mounted inside the fuselage at wing root. - - - 4 - - - - - - Straight and sloped track on a fixed structure as forward support and an upright link as - aft. support; linear or rotary actuator (subtype-dependent) included. - 1 - - - - - - Wing attachment using a box beam design where the track is mounted; rotary actuator at - the wing rear spar. - - - - - - 2 - - - - - - Wing attachment using a box beam design where track is mounted; rotary actuator mounted - on the track. - - - - - - 3 - - Track mounted inside the fuselage at wing root. - - - - - - - - - - - - - - Relative chordwise position of the track. Eta - refers to the control surface. - - - - - Type of the track. Please refer to the remarks - of the controlSrufaceTrackTypeType for details. - - - - - - - - - - - - - - - - Type of the track. Please refer to the remarks - of the controlSrufaceTrackTypeType for details. - - - - - - - - - - - - - - - - - - - - - - - - - - Control surface tracks (mechnaical link between control - surface and parent). - - - - - - - - - - - - - - - - - - - - - - Cut out of the parents structure due to a control - surface. - - - - Optional. Definition of the parents structure cut out - due to a control surface. The cut out is split into three parts: - cut out of the upper and lower skin and the definition of an - profile conecting the cut out of the upper and lower skin. - - An example for wing cut outs can be found in the - picture below: - - - - In the default configuration the cut out is as wide as - the control surface. If additional spacing is necessary inner - and outer border may be set. - - - - - - - - - - - - - - - - - - - - - - - - - controlSurfacesType - - - Definition of the outer shape, structure and deflection - of all control surfaces (flaps, slats, soiler, ailerons...) of - the wing. - - - - - - - - - - - - - - - - - - - - - costAirConditioningSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costAutomaticFlightSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costAuxilaryPowerUnitsType - - - - - - - - - - - - - - - - - - - - - - - - - costBleedAirSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costCommunicationSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costComponentsType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - costDeIcingSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costElectricalSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costEnginePylonsType - - - - - - - - - - - - - - - - - - - - - - - - - costEquippedEnginesType - - - - - - - - - - - - - - - - - - - - - - - - - costFireProtectionSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costFixedEmergencyOxygenSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - - costFlightControlSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costFuelSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costFurnishingElementsType - - - - - - - - - - - - - - - - - - - - - - - - - - - costFurnishingsType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - costFuselagesType - - - - - - - - - - - - - - - - - - - - - - - - - costHydraulicSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costInstrumentSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costLandingGearType - - - - - - - - - - - - - - - - - - - - - - - - - costLightingSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costNacellesType - - - - - - - - - - - - - - - - - - - - - - - - - costNavigationSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costPowerUnitsType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - costSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - costWaterInstallationSystemsType - - - - - - - - - - - - - - - - - - - - - - - - - costWingsType - - - - - - - - - - - - - - - - - - - - - - - - - - - crashLoadCasesType - - - - - - - - - - - - - - - - - - - - - - crashLoadcaseType - - - CrashLoadcase type, containing a crash loadcase - - - - - - - - - - - - - Optional start of crash section: Default: - first frame of model - - - - - Optional end of crash section: Default: last - frame of model - - - - - Initial velocities - - - - - Initial rotations around axes, roll, pitch, - yaw - - - - - Initial rotational velocities aroud axes - - - - - - Definition of reference point to consider - rotation - - - - - AccelerationFields, usually gravity in z - - - - - - Definition of impact Surface for crash - simulation - - - - - - - - - - - - - - - - - - - - - - - crewCostType - - - - - - - - - - - - - - - - - - - - - - - - crossBeamAssemblyPositionType - - - CrossBeamAssemblyPosition type, containing the position - of a crossBeam assembly - - - - - - - - - - UID of profile based structural element to be - used as crossbeam - - - - - UID of the frame to which the crossbeam is - attached - - - - - Referenze z position of the crossbeam - - - - - - - - - - - - - - - - crossBeamStrutAssemblyPositionType - - - CrossBeamStrutAssemblyPosition type, containing a - crossBeam strut assembly position - - - - - - - - - - UID of profile based structural element to be - used as crossbeam strut - - - - - UID of the frame to which the crossbeam strut - is attached - - - - - UID of the crossbeam to which the crossbeam - strut is attached - - - - - Referenze y position of the strut at the - crossbeam intersection - - - - - angle of the strut in global yz plane - - - - - - - - - - - - - - - - cruiseRollerType - - - - - - - - - - - - - Definition of the position of the mid point of - the roll of the cruise roller. - - - - - Definition of the attachment of the cruise - roller to the parent of the flap. This is the track on which the - roll rolls during retracted flap position - - - - - Definition of the attachment of the cruise - roller to the flap. - - - - - Degree of freedom that is blocked by the - cruise roller if the flap is in retracted position. Positive = - cruise roller blockes bending in the direction of the upper skin - of the parent. Negative = cruise roller blockes bending in the - direction of the lower skin of the parent. - - - - - - - - - - - - - - cruiseRollersType - - - - - - - - - - - - - Definition of one cruise rollers/mid-span - stops. - - - - - - - - - - - - - cst2DType - - - - - - - - - - - A 2D impelmentation for Class shape - transformations. For more details look at AIAA Journal of Aircraft - Vol.45 No.1 2008 - - - - - The psi vector for definition of the class and - shape function, i.e. the points at which the CST functions will - be evaluated - - - - - N1 for the class function for the upper side - of the profile - - - - - N2 for the class function for the upper side - of the profile - - - - - B Coefficients for the Bernstein polynominal - on the upper side - - - - - N1 for the class function for the lower side - of the profile - - - - - N2 for the class function for the lower side - of the profile - - - - - B Coefficients for the Bernstein polynominal - on the lower side - - - - - Optionally, the trailingEdgeThickness of the - profile - - - - - - - - - - - - - - - - - - - - - - - curvePointType - - - Point on a curve in normalized curve coordinates. - The referenceUID must reference a one-dimensional curve such as spars. - - - - - - - - - - Relative position on the referenced line/curve. - - - - - This reference uID determines the reference curve. - If it points to a spar, then the eta value is considered to be a spar coordinate - between start (eta=0) and end (eta=1) of the spar. - - - - - - - - - - - - - cutLoadIntegrationPointsType - - - cutLoadIntegrationPoints are defined in a vector - notation, due to the high amounts of data. Usually they well be - defined inbetween the ribs. Each point must have an id. - Optionally it is possible to rotate the orientation within a - cutloadIntegrationPoint to obtain meaningful results. The - orientation is optional and relative to the CPACS coordinate - system - - - - - - - - - - - - - - - - - - - - - - - - - Additional definition of the leading edge cut out. - - - - - Optional. Definition of additional parameters, - describing the shape of the parents leading edge of the cut out - due to leading edge devices. - The parameters are described in the picture below: - - - - - - - - - - - - - - - Relative height of the most forward position of - the parents leading edge, relative to the airfoil height without - cut out. - - - - - Relative chordwise position of the most - forward position of the parents leading edge, relative to the - parents chord without cut out. - - - - - - - - - - - - - cutOutControlPointsType - - - - - - - - - - - - - - - - - - - - - - - Definition of cut out profiles. - - - - Optional, the exact shape between the upper and lower - skin cut out can be given by using cutOutProfiles. In general - cut out profiles are open profiles and not closed profiles as - e.g. wing airfoils. The placement, scaling and (partly) rotation - of the cut out profiles is fixed as the beginning and ending - point of the profile is fixed as can be seen in the two pictures - below. - - - - - - - - - - - - - - - - - Reference to the profile uID. Profiles should - be linked in profiles/structuralProfiles - - - - - Relative spanwise position of the cut out - profile. The eta coordinate refers to the control surface and - desribes the cut out profile at the leading edge of the control - surface. - - - - - Rotation of the airfoil around the control - surface middle plane normal direciotn. Reference point is the - most forward point of the airfoil. Defaults to 90°, which is - equivalent to the airfoilplacement in flight direction (along - wings-x axis). - - - - - - - - - - - - - Definition of cut out profiles. - - - - - - - - - - - - - - - - - - - - - - - - cutOutType - - - CutOut type, containing cut-outs - - - - - - - - - - Name of the cut out element - - - - - - Description of the cut out element - - - - - - Width of the cut element (absolute value) - - - - - - Height of the cut element (absolute value) - - - - - - Fillet radius of the cut element (absolute - value) - - - - - UID of a structural element that reinforces - the cut out - - - - - - - - - - - - - - Damping derivatives for positive and negative rotation - rates - - - - - 0. General overview - - This type contains the damping derivatives. They are - split up into those derivatives for positive rotation rates, - and those for negative rotation rates. - - - - 1. <positiveRates> (optional) - - Damping derivatives, calculated by positive rotation - rates. - - - - 2. <negativeRates> (optional) - - Damping derivatives, calculated by negative rotation - rates. - - - - - - - - - - - - - - - - - - - - - - - - Deck - - - Data of an aircraft or rotorcraft deck - - - - - - - - - - Name - - - - - Description - - - - - UID of the object used as parent coordinate system (typically the fuselage uID) - - - - - UID of the floor structure which supports this deck - - - - - The reference point of the deck/cabin. In a - conventional aircraft like the A320, it would be the rear wall - of the cockpit. The transformation is relative to the parent object - defined by “parentUID”, which should be the fuselage. - - - - - - Deck type: passanger, VIP, cargo or livestock - - - - - - - - - - - - - - - - Seat modules - - - - - Aisles - - - - - Spaces - - - - - Sidewall panels - - - - - Luggage compartments - - - - - Ceiling panels - - - - - Galleys - - - - - Generic floor modules - - - - - Lavatories - - - - - Class dividers - - - - - Cargo containers - - - - - Doors - - - - - - - - - - - - - - Decks - - - List of decks - - - - - - - - - - - - - - - - - - - - deltaTemperatureType - - - - - - - - - - - - - - - - - - - - - - - - - - - - Design masses - - - The design mases are requerments wich can com form the - TLARs - - - - - - - - - - Take off mass - - - - - Zero Fuel mass - - - - - Maximum landing mass - - - - - Maximum ramp mass (the maximum weight - authorised for the ground handling) - - - - - - - - - - - - - Design parameter definition - - - Contains a the values of a parameter and its uid as reference. - - - - - - - - - - - - - - - - - - - - - - Design parameters list - - - Contains a list of all design parameters. - - - - - - - - - - - - - - - - - - - - Design space definition - - - Contains the definition of the design space. - - - - - - - - - - - - - - - - - - - - - - - Design study definitions - - - Contains the data of design studies definitions. - - - - - - - - - - - - - - - - - - - - directOperatingCostType - - - - - - - - - - - - - - - - - - - - - - - - - - - - divergenceCaseType - - - DivergenceCase type, containing a case for aeroelastic - divergence analysis - - - - - - - - - - Mach number of divergence case - - - - - - Divergence stagnation pressure - - - - - - - - - - - - - - divergenceCasesType - - - DivergenceCases type, containing the cases for - aeroelastic divergence analysis - - - - - - - - - - - - - - - - - - - doorAssemblyPositionType - - - DoorAssemblyPosition type, containing the position of a door - assembly - - - - - - - - - - - - optional definition of door type (restricted to pax, - service, emergency, cargo) - - - - - - - - - - - - - - - UID of the door element - description - - - - - UID of the forward door frame - - - - - UID of the backward door frame - - - - - UID of the stringer at the upper door - edge - - - - - UID of the stringer at the lower door - edge - - - - - Lower height of the door with respect to the floor. - (Information necessary for boarding and evacuation analysis not - necessarily linked to structures) - - - - - Minimum widh of the door element. (Information - necessary for boarding and evacuation analysis not necessarily - linked to structures) - - - - - Minimum height of the door element. (Information - necessary for boarding and evacuation analysis not necessarily - linked to structures) - - - - - Door on right side of the fuselage = 1; on the left = - -1. (Information necessary for boarding and evacuation analysis not - necessarily linked to structures) - - - - - - - - - - - - - - doorCutOutType - - - CutOut type, containing cut-outs - - - - - - - - - - Name of door cutout element - - - - - Description of door cutout - element - - - - - Fillet radius of door cutout - element - - - - - Reference UID to the description of a DSS (door - surround structure) - - - - - - - - - - - - - - doorSurroundStructurePositionType - - - DoorSurroundStructurePosition type, containing the position of a - door surround structure - - - - - - - - - - - - number of bays effected by DSS in front of - door - - - - - number of bays effected by DSS in behind of - door - - - - - number of bays effected by DSS - - - - - number of bays effected by DSS - - - - - - - - - - - - - - doorSurroundStructuresAssemblyType - - - doorSurroundStructuresAssembly type, containing - dorrSurroundStructure definitions - - - - - - - - - - - - - - - - - - - doorsType - - - Doors type, containing doors - - - - - - - - - - - - - - - - - - - driveSystemType - - - DriveSystem Type, defining a drive system (combination - of transmissions/gearboxes and shafts and their links to engines - and rotors) of a rotorcraft model. - - - - - - - - - - - - - - - - - - - - - driveSystemsType - - - DriveSystems Type, containing all the drive systems - (combination of transmissions/gearboxes and shafts and their - links to engines and rotors) of a rotorcraft model. - - - - - - - - - - - - - - - - - - - dynamicAircraftModelAnalysisType - - - - - - - - - - - - - - - - - - - - - - dynamicAircraftModelCoordinatesType - - - - - - - - - - - - - - - - - - - - - - - - - Emissivity map, containing the diffuse emissivity of a material at different spectral lengths. - - - The emissivity of a material can vary with the spectral wave length. - The vectors diffuseEmissivity and waveLength must have the same size to be valid. - The data should be linearly interpolated. - - - - - - - - - - - Wave length in [m] - - - - - Diffuse emissivity of the material - - - - - - - - - - - - - Turbofan engine analysis - - - - - - - - - - - - - Thrust at takeoff - - - - - Fan pressure ratio at takeoff - - - - - - Bypass ratio at takeoff - - - - - overall pressure ratio at takeoff - - - - - - Maximum rotations per second, shaft 1 - - - - - - Maximum rotations per second, shaft 2 - - - - - - Design tip relative mach number (FAN) - - - - - - DryMass of engine - - - - - - - - - - - - - - Turboprop engine analysis - - - - - - - - - - - - - Thrust at takeoff - - - - - Design tip relative mach number (FAN) - - - - - - Dry-mass of engine - - - - - - - - - - - - - - Definition of global geometry parameters of the engine - fan. - - - - - - - - - - - - - Inner radius of the fan. - - - - - Outer radius of the fan. - - - - - Chord length of a fan blade - - - - - Hub to tip ratio - - - - - Number of rotor blades of fan - - - - - - - - - - - - - - Definition of the global engine geometry. - - - - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. - - - - - - - - - - - - - length of engine - - - - - diameter of engine - - - - - - - - - - - - - - - - - Number of outlet guiding vanes - - - - - - Rotor stator spacing (relative to chordlength) - - - - - - Rotation direction of the engine if looking at - it from the front, i.e. from propeller/fan to exhaust - - - - - - - - - - - - - - - - - - - - - - Definition of one engine mount. - - - - - - - - - - - - - Name of the engine mount. - - - - - Description of the engine mount. - - - - - - position of the engine mount refering to the - engine coordinate system. - - - - - - UID of the engine mount. - - - - - - - - - - - - List of all engine mounts. - - - - - - - - - - - - - - - - - - - - - - Definition of the engine nacelle type. - - - - The engine nacelle is currently located together with - the engine. It gives a simple description of the outer shell of - the engine. All values are defined according to the base area, - center point of the fan(i.e. negative values can occur in the - definition) In most cases there will be a bypass engine. For - non-bypass or mixed engines ignore the bypass nozzle. For further - information on the geometric setup, please refer to the picture - below. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Turbofan engine performance map - - - - - - - - - - - - - - Flight Level - - - - - Mach number - - - - - Absolute thrust [N] - - - - - Fuel mass flow - - - - - Speed at core engine nozzle - - - - - - Total temperature at core engine nozzle - - - - - - Mass flow through core engine nozzle - - - - - - Speed at bypass nozzle - - - - - Total temperature at bypass nozzle - - - - - - Mass flow through bypass nozzle - - - - - - Percent of n1Max, shaft 1 - - - - - Percent of n2Max, shaft 2 - - - - - Fan pressure ratio - - - - - Fan efficiency - - - - - Turbine entry total temperature - - - - - - Emission index Carbon Monoxide - - - - - - Emission index Nitrogen Oxide - - - - - - Emission index Sulfur Oxide - - - - - - Emission index Soot - - - - - Emission index unburned hydrocarbon - - - - - - air density at core outlet 8 - - - - - - air density at bypass outlet 18 - - - - - - area at core outlet - - - - - area at bypass outlet - - - - - - - - - - - - - - Turbofan engine performance map - - - - - - - - - - Name of the engine - - - - - Description of the engine - - - - - - - Flight Level - - - - - Mach number - - - - - Absolute thrust [N] - - - - - Fuel mass flow - - - - - Turbine entry total temperature - - - - - - Emission index Carbon Monoxide - - - - - - Emission index Nitrogen Oxide - - - - - - Emission index Sulfur Oxide - - - - - - Emission index Soot - - - - - Emission index unburned hydrocarbon - - - - - - air density at core outlet 8 - - - - - - air density at bypass outlet 18 - - - - - - area at core outlet - - - - - area at bypass outlet - - - - - - - - - - - - - - Turbofan engine performance maps - - - - - - - - - - - - - - - - - - - - - - Turboprop engine performance maps - - - - - - - - - - - - - - - - - - - - - - enginePositionType - - - EnginePosition type, containing data for a single - engine - - - - - - - - - - Name of the engine - - - - - Description of the engine - - - - - Reference to the used engine - - - - - - Component, to which the engine is mounted - - - - - - - - - - - - - - - - - - - - - - - - - - - Engine references - - - EnginePositions type, containing a reference to the - used engines and their positions at the configuration - - - - - - - - - - - - - - - - - - - Definition of one engine pylon. - - - - - - - - - - - - - Name of the engine pylon. - - - - - Description of the engine pylon. - - - - - - UID of the parent (normaly wing or fuselage). - - - - - - - - - - - - UID of the engine pylon. - - - - - - - - - - - - - - - - - - - - - - - Engine pylons - - - - - - - - - - - - - - - - - - - - - - Definition of the engine spinner geometry. - - - - - - - - - - - - - Most forward x-position of the spinner. - - - - - - X-position of the spinner base. - - - - - - Radius of the spinner at the base position. - - - - - - - - - - - - - - Turbofan engine - - - Engine type, containing engine data. - - - - - - - - - - Name of engine - - - - - Description of engine - - - - - - Concept of engine - - - - - - - - - - - - - - Year of first certification - - - - - - - - - - - - - - - - etaIsoLineType - - - Iso line described by point of the same eta coordinate. - Can be either segment or component segment coordinates. - - - - - - - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta value is considered to be in segment - eta coordinate; if it points to a componentSegment, - then componentSegment eta coordinate is used. - - - - - - - - - - - - - fleetType - - - Each fleet can be divided into sub fleet groups - - - - - - - - - - Name of fleet - - - - - Description of the fleet - - - - - Description of sub-fleets. - - - - - - - - - - - - - - flightAnalysisType - - - - - - - - - - - - - - - - - - - - - - - Flight dynamics - - - - - - - - - - - - - - - - - - - - - - - - Linear model parameters - - - - - - - - - - - - - - - - - - - - - - - - - - Trim result - - - - - - - - - - - Mach number - - - - - - - True airspeed - - - - - - - Angle of attack - - - - - - - Altitude - - - - - - - - - - - - - - Load case - - - This node defines the load case - - - - - - - - - - - Name of the load case - - - - - - - Description of the load case - - - - - - - - - - - - - - - - - Load case specification - - - Input values defining a load case - - - - - - - - - - - Environment - - - - - - - Altitude above sea level - - - - - - - Mach number - - - - - - - UID of the aerodynamic loads (aeroCase) - - - - - - - - Controller description. Note: Since there is no controller description in CPACS yet, the expected content of this string element has to be defined individually for each project. - - - - - - - - - - - UID referencing the mass state of aircraft for this load case - - - - - - - - - - - - - - Flight load cases - - - - - - - - - - - - - - - - - - - - - - Flight loads - - - Loads resulting from the load case analysis - - - - - - - - - - - - - - - - - - - - - Load conditions - - - Inertia load conditions acting on the aircraft - - - - - - - - - - - Description - - - - - - - Safety factor applied on the loads - - - - - - - - Rotational rates around centre of gravity - - - - - - - Enumeration flag stating the typ of the load - case (i.e. limit or ultimate loads) - - - - - - - - - - - - - Angle of sideslip [deg] - - - - - - - Angle of attack [deg] - - - - - - - - - - - - - - - - Flight point definition for load case analysis - - - Description of the aircraft's flight state for - this load case. - - - - - - - - - - - - Environmental conditions - - - - - - - Altitude above sea level - - - - - - - Mach number - - - - - - - - - - - - - - Accelerations - - - Translational or rotational accelerations acting - on the aircraft - - - - - - - - - - - Rotational accelerations acting around aircraft centre of gravity [deg/s^2] - - - - - - - - - - - - - Load factors - - - - - - - - - - - - - - Load factor in x-direction - - - - - - - Load factor in y-direction - - - - - - - Load factor in z-direction - - - - - - - - - - - - - - Load case superposition - - - List of uIDs referencing load cases that are superimposed to the current load case - - - - - - - - - - - - UID reference to another load case to be superimposed - - - - - - - - - - - - - - Gust definition - - - The coordinate system of the gust corresponds to the CPACS coordinate system. - - - - - - - - - - Parameters describing the shape of the gust - - - - - - - - - - - - - - - - - Angle between gust and vehicle [deg] (e.g., 0deg: from right to left; 90 deg: downwards; 180deg: from left to right; 270/-90deg: upwards) - - - - - - - Gust length: length of ramp or gradient distance of 1-cos gust - - - - - - - Gust velocity - - - - - - - - - - - - - - Flight path - - - Definition of a flight path by points of longitude, latitude and a descriptive waypoint code. - - - - - - - - - - Vector of waypoint codes. If waypoint codes are not available put empty items into the waypoint string - - - - - Vector of waypoint latitude values in [deg] - - - - - Vector of waypoint longitude values in [deg] - - - - - Indicates the type of the way point. - - - - - - - - - - - - - - - - - - - - Performance case - - - - - - - - - - - - - - Name - - - - - - - Description - - - - - - - UID of flight performance requirement - - - - - - - - - - - - - - - - - - - - - - - Performance cases - - - List of performance cases - - - - - - - - - - - - - - - - - - - - Results of the landing analysis - - - - - - - - - - - - - Determined landing distance. - - - - - - Determined ground phase distance. - - - - - - - - - - - - - - Results of the take-off analysis - - - - - - - - - - - - - Main element containing the results for - take-off calculations optimized for min-imum liftoff speed - VLOFmin. - - - - - Main element containing the results for - take-off calculations optimized for min-imum safety speed V2min. - - - - - - - - - - - - - - flightPointType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flight systems - - - - - - - - - - - - - - - - - - - - - - flightType - - - Flight type, containing data of a scheduled flight - - - - - - - - - - MissionUID for the flights mission definition - - - - - ModelUID of the aircraft appointed to perform the flight - - - - - Departure day of the flight - - - - - Time of departure - the time is defined as SOBT (Scheduled Off-Block Time) / STD (Scheduled Time of Departure) - - - - - Arrival day of the flight - - - - - Time of arrival - the time is defined as SIBT (Scheduled In-Block Time) / STA (Scheduled Time of Arrival) - - - - - Reference to the operating airline of a flight - - - - - - - - - - - - - - - Flights - - - Flighs type, containing all flight definitions - - - - - - - - - - - - - - - - - - - - floorPanelAssemblyPositionType - - - FloorPanelAssemblyPosition type, containing a floor - panel assembly position - - - - - - - - - - x coordinate of the begin of the floor panel - (absolute value) - - - - - x coordinate of the end of the floor panel - (absolute value) - - - - - UID of the first long. floor beam to be - connected to the floor panel - - - - - UID of the second long. floor beam to be - connected to the floor panel - - - - - UID of structural sheet element used for the - floor panel - - - - - - - - - - - - - - - floorPanelsType - - - FloorPanels type, containing floor panel definitions - - - - - - - - - - - - - - - - - - - - Flying qualities - - - Provides a list of flying qualities cases - - - - - - - - - - - - - - - - - - - - - Flying qualities case - - - - - - - - - - - - - Name - - - - - Description - - - - - Aircraft Class; Class 1 small light aircraft; - Class 2 medium weight aircraft, low to medium maneuverability; - Class 3 large, heavy aircraft, low to medium maneuverability; - Class 4 high maneuverability aircraft - - - - - Flight Phase Category; Category A Non-terminal - flight phases requiring maneuvering, precision tracking, or - precise flight-path control (e.g. air-to-air combat, terrain - following). Category B Non-terminal Flight Phases with gradual - maneuvers and without precision tracking, although accurate - flight-path control may be required (e.g. climb, cruise). - Category C Terminal Flight Phases are normally accomplished - using gradual maneuvers and usually require accurate flight-path - control (takeoff, approach and landing). - - - - - main element containing longitudinal transfer - functions - - - - - main element containing lateral directional - transfer functions - - - - - main element containing characteristic - parameters of the handling qualities criteria - - - - - - main element containing handling qualities - ratings - - - - - - - - - - - - - - fqCharParametersType - - - - - - - - - - - - - static margin [-] - - - - - main element containing characteristic - parameter of phugoid damping - - - - - main element containing characteristic - parameters of short period mode criteria - - - - - main element containing characteristic - parameters of roll oscillation criterion - - - - - coupling of roll and spiral mode: normal = no - coupling of roll and spiral mode coupled = coupling of roll and - spiral mode - - - - - main element containing characteristic - parameters of lateral eigenvalues - - - - - main element containing characteristic - parameters of effective roll time constant criterion - - - - - - main element containing characteristic - parameters of roll performance criterion - - - - - - - - - - - - - fqEiglatType - - - - - - - - - - - - - natural frequency of dutch roll mode [rad/s] - - - - - - damping of dutch roll mode [-] - - - - - - roll time constant [s] - - - - - time to double of spiral mode [s] - - - - - - ratio of bank to sideslip angle [-] - - - - - - natural frequency of coupled rollspiral motion - [rad/s] - - - - - damping ratio of coupled roll-spiral motion - - - - - - product of roll-spiral damping and natural - frequency [rad/s] - - - - - handling qualities level of roll time constant - - - - - - handling qualities level of roll spiral mode - - - - - - - - - - - - - - fqLateralType - - - - - - - - - - - - - numerator of transfer function roll control - surface deflection to bank angle - - - - - numerator of transfer function roll control - surface deflection to yaw rate - - - - - numerator of transfer function roll control - surface deflection to sideslip angle - - - - - numerator of transfer function roll control - surface deflection to bank angle of reduced 4th order system - - - - - - numerator of transfer function roll control - surface deflection to sideslip angle of reduced 4th order system - - - - - - numerator of transfer function yaw control - surface deflection to yaw rate - - - - - numerator of transfer function yaw control - surface deflection to sideslip angle - - - - - numerator of transfer function roll stick - input to roll rate - - - - - numerator of transfer function roll stick - input to yaw rate - - - - - numerator of transfer function roll stick - input to bank angle - - - - - numerator of transfer function roll stick - input to sideslip angle - - - - - numerator of transfer function pedal input to - roll rate - - - - - numerator of transfer function pedal input to - yaw rate - - - - - numerator of transfer function pedal input to - bank angle - - - - - numerator of transfer function pedal input to - sideslip angle - - - - - denominator of lateral motion - - - - - - denominator of lateral motion of reduced 4th - order system - - - - - - - - - - - - - fqLongitudinalType - - - - - - - - - - - - - numerator of transfer function pitch stick - input to pitch rate - - - - - numerator of transfer function pitch control - surface deflection to pitch angle - - - - - numerator of transfer function pitch stick - input to pitch angle - - - - - numerator of transfer function pitch stick - input to angle of attack - - - - - numerator of transfer function pitch stick - input to vertical load factor - - - - - denominator of longitudinal motion - - - - - - - - - - - - - - fqPhugoidType - - - - - - - - - - - - - damping ratio of phugoid mode [-] - - - - - - time to double amplitude of unstable phugoid - mode [s] - - - - - - - - - - - - - fqRatingsType - - - - - - - - - - - - - handling qualities level of phugoid damping - - - - - - handling qualities level of C* criterion - - - - - - main element containing handling qualities - levels of short period mode - - - - - main element containing handling qualities - levels of roll oscillation criterion - - - - - main element containing handling qualities - levels of lateral eigenvalues - - - - - handling qualities level of effective roll - time constant - - - - - handling qualities level of roll performance - - - - - - - - - - - - - - fqRollPerfType - - - - - - - - - - - - - time to reach critical bank angle [s] - - - - - - critical bank angle that has to be reached - [deg] - - - - - - - - - - - - - fqRoloscType - - - - - - - - - - - - - ratio of oscillatory component of the roll - rate to the average roll rate [-] - - - - - phase angle of dutch roll oscillation in - sideslip [deg] - - - - - phase angle between roll rate and sideslip in - dutch roll mode [deg] - - - - - ratio of first minimum roll rate to first - maximum [-] - - - - - handling qualities level of ratio of - oscillatory component of roll rate to average roll rate - - - - - - - - - - - - - - fqShortPeriodType - - - - - - - - - - - - - steady state normal acceleration change with - angle of attack [g/rad] - - - - - short period natural frequency of reduced - order system [rad/s] - - - - - short period damping ratio of reduced order - system [-] - - - - - equivalent pitch time delay of reduced order - system [s] - - - - - handling qualities level of CAP criterion - - - - - - - - - - - - - - fqTreffType - - - - - - - - - - - - - effective roll time constant [s] - - - - - - time where tangent of bank angle step response - is placed [s] - - - - - - - - - - - - - frameType - - - frame type, containing frame definition (V1.5+) - - - - - - - - - - - - - - - - - - - - - framesAssemblyType - - - FramesAssembly type, containing frames assembly - - - - - - - - - - - - - - - - - - - - freePathType - - - - - - - - - - - - - - - - - - - - - - - mass - - - - - - - - - - - - - - - - - - - - - - Fuels - - - fuelType containing data for fuels - Can be used as a catalog for different (liquid) fuel - types - - - - - - - - - - - - - at 15deg C - - - - - - - - - - - - - - - - - - - - Fuels - - - fuelType containing data for fuels - - - - - - - - - - - - - - - - - - - fuselageAeroPerformanceType - - - fuselageAeroPerformance type, containing perfomance - maps with aerodynamic data of a fuselage. - - - - - - - - - - Reference to the uID of the analysed fuselage - - - - - - References used for the calculation of the - force and moment coefficients of the fuselage (in the fuselage - axis system!) - - - - - Calculated aerodynamic performance maps of the - fuselage - - - - - - - - - - - - - fuselageCutOutType - - - fuselageCutOut type, containing a fuselage cutout - definition - - - - - - - - - - Name of the cutout - - - - - Description of the cutout - - - - - X position of the cutout center point - - - - - - Y offset of the cutout reference point - - - - - - Z offset of the cutout reference point - - - - - - Angle in degrees of the vector pointing from - the cutout reference point to the cutout center point, measured - relative to the direction of the fuselage z axis. - - - - - - Coordinates of the unit vector defining the - direction of extrusion - - - - - Coordinates of the unit vector defining the - y-axis of the local cutout coordinate system. Must be normal to - the orientationVector. - - - - - This value is used to define the width of the - cutout - - - - - This value is used to define the height of the - cutout - - - - - This value is used to define the width of the - cutout - - - - - This value is used to define the height of the - cutout - - - - - Fillet radius of the cut element (absolute - value) - - - - - Cutout type. Determines the type of the cutout - and how it is treated by the tools. Possible values: - ("window"|"door"|"ramp") - - - - - - - - - - - - - - - - - - - - - - - - - - fuselageCutOutsType - - - fuselageCutOuts type, containing fuselage cutouts - - - - - - - - - - - - - - - - - - - - fuselageElementType - - - FuselageElement type, containing fuselage element data - - - - - - - - - - - Name of fuselage element - - - - - Description of fuselage element - - - - - - Reference to a fuselage profile - - - - - - - - - - - - - - - - fuselageElementsType - - - FuselageElements type, containing the elements of a - fuselage section - - - - - - - - - - - - - - - - - - - Definition of one fuselage fuel tank. - - - The definition of fuselage tanks is still preliminary. - Currently, there is no link to any structural elements - - - - - - - - - - - Name of the fuselage fuel tank. - - - - - - Description of the fuselage fuel tank. - - - - - - Link to the tank geometry defined by a compartment. - - - - - - - - - - - - - - - - - - - List of fuselage fuel tanks. - - - - - - - - - - - - - The fuselage fuel tank geometry is defined by a link to a fuselage geometry compartment. -The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - fuselageProfilesType - - - FuselageProfiles type, containing fuselage profile - geometries. See profileGeometryType for further documentation - - - - - - - - - - - - - - - - - - - - - fuselageSectionType - - - FuselageSection type, containing fusleage section and - element data - - - - - - - - - - Name of fuselage section - - - - - Description of fuselage section - - - - - - - - - - - - - - - - - fuselageSectionsType - - - FuselageSections type, containing fuselage sections - - - - - - - - - - - - - - - - - - - - fuselageSegmentType - - - FuselageSegment type, containing data of a fuselage - segment - - - - - - - - - - Name of fuselage segment - - - - - Description of fuselage segment - - - - - - Reference to element from which the segment - shall start - - - - - Reference to element at which the segment - shall end - - - - - Optional and additional guidecurves to shape - the outer geometry. - - - - - - - - - - - - - - fuselageSegmentsType - - - FuselageSegments type, containing fuselage segment - definitions (from sections and elements) - - - - - - - - - - - - - - - - - - - fuselageStructureType - - - FuselageStructure type, containing data of the fuselage's - structure - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fuselageType - - - - Fuselage type, containing all data related to a - fuselage - - - - - - - - - - - - - - - Name of fuselage - - - - - - - Description of fuselage - - - - - - - UID of part to which the fuselage is - mounted (if any) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fuselagesAeroPerformanceType - - - fuselagesAeroPerformance type, containing - fuselagesAeroPerformance - - - - - - - - - - - - - - - - - - - Fuselages - - - Fuselages type, containing the fuselages of the - configuration - - - - - - - - - - - - - - - - - - - This type contains a vector of deflection values for a - single gear - - - - - 0. General overview - - In this type, a vector of deflections of a single - gear is specified. - - - - 1. - <gearUID> - (mandatory) - - - A reference to a gear from the aircraft model - - - - - 2. - <controlParameters> - (mandatory) - - - A vector of control parameters of the selected - gear - - - - - - - - - - - - - Reference to a gear - - - - - Control parameters of the gear - - - - - - - - - - - - - - This type contains a list of gears and their deflection - vectors - - - - - 0. General overview - - In this type, a list of gears is defined. - - - - - 1. - <gear> - (mandatory) - - - One of these nodes per deflected gear is required - here. - - - - - - - - - - - - - - - - - - - - - - stringerFramePositionType - - - stringerFramePosition type, containing individual - stringer / frame postion definition (CPACS V2.1+) - - - - - - - - - - - - - - - - - - - - - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) - - - - - - - - - - - - - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile - - - - - - - - - - - - - - - - - - - - - - generalStructuralMemberType - - - - - - - - - - - - - - - - - - - - - - - - generalStructuralMembersAssemblyType - - - generalStructuralMembersAssembly type, containing - structural member assemblys - - - - - - - - - - - - - - - - - - - genericCostType - - - - - - - - - - - - - - - - - - - - - - - - genericGeometricComponentType - - - - In some cases additional geometric components need to - be linked to a CPACS, but these components are not yet handled by - CPACS explicitly. For example, a belly fairing and/or external - tanks. - A generic geometric component may be applied to include - such a geometry from an external file (preferably STEP) in the - context of the overall aircraft. - - - - - - - - - - - - - - Name of genericGeometricComponent - - - - - - Description of genericGeometricComponent - - - - - - UID of part to which the component is mounted - (if any) - - - - - - - - - - - - - - - - - - - - - - - - - - - Generic geometric components - - - - - - - - - - - - - - - - - - - - - - mass - - - genericMassType, describing mass, inertia and CoG data. - - - - - - - - - - - name - - - - - description - - - - - parentUID - - - - - mass value - - - - - mass loaction values (x,y,z) - - - - - - mass orientation values - - - - - - - - - - - - - - - Generic Systems - - - Node for geometrical layout of systems - - - - - - - - - - - - - - - - - - - - Generic System - - - - - - - - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - - geographicPointConstraintType - - - Geographic point constraint, containing a longitude, latitude, altitude data triplet. - - - - - - - - - - Longitude coordinate 0-360 - - - - - Latitude coordinate 0-360 - - - - - Altitude in meters - - - - - - - - - - - - - geographicPointType - - - Geographic point type, containing a longitude, latitude, altitude data triplet. - - - - - - - - - - Longitude coordinate 0-360 - - - - - Latitude coordinate 0-360 - - - - - Altitude in meters - - - - - - - - - - - - - - airfoilAeroPerformanceType - - - airfoilAeroPerformance type, containing perfomance maps - with aerodynamic data of an airfoil. - - - - - - - - - - References used for the calculation of the - force and moment coefficients - - - - - Calculated aerodynamic performance maps of the - full configuration - - - - - - - - - - - - - globalBeamPropertiesType - - - globalBeamPropertiesType, containing the global beam - properties such as EA, EI, mass - - - - - - - - - - - - - - - - - - - - - - - - - - - Ground load Cases - - - - - - - - - - - - - - - - - - - - - - guideCurveProfileGeometryType - - - - A guide curve profile is defined by a profile name, an - optional description and a 3-dimensional relative pointlist with - all three coordinates mandatory. For typical profiles, one of - the coordinate vectors contains only "0" entries. All point - coordinates are transferred to the global coordinate system. - First and last point may, but need not to, be identical. - - The points have to be ordered in a mathematical - positive sense. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - Curves have to go continuously over the whole wing or - fuselage - Connection of guide curves from segment to segment - - - - - - - - Please note, currently it is not possible to apply any - means of class based transformation in the description. However, - this may be an addition for the future. - - - - - - - - - - - Name of profile - - - - - Description of profile - - - - - - - - - - - - - - - - - - - - - - - - - - guideCurveProfilesType - - - Guide Curve Profiles type. This type is used to - describe guide curves that enable designers to create a geometry - that deviates from a standard loft. - - - - - - - - - - - - - - - - - - - - Guide Curve Type - - - - A guide curve may be used to alter the shape of the - outer geometry and "guide" the loft. - The guide curve profiles are defined in the guideCurveProfileGeometryType. - Their use on wing and fuselage components is illustrated in the image below. - - - - - - - - - - - - - - - Name of guide curve - - - - - Description of guide curve - - - - - Reference to a guide curve profile - - - - - - For the first segment fromGuideCurveUID is not - a valid entry! For the first guideCurve - fromRelativeCircumference must be applied! fromGuideCurveUID is - exclusive. - - - - - - Reference to the previous guide curve from - which this guide curve shall start. - - - - - - Continuity definition for geometry - generation. Possible options: C0, C1 from previous, C2 from - previous, C1 to previous, C2 to previous - - - - - - - - - - - - - - - - - - - Reference to the relative circumference - position from which the guide curve shall start. Valid values - are in the interval -1.0...1.0. - - - - - - Tangent at first point - - - - - - - - The relative circumference - position at which the guide curve shall end. Valid values - are in the interval -1.0...1.0. - - - - - - Tangent at last point - - - - - - Local direction along which the relative x-coordinates of - the guide curve points are defined. For the wing the default is - the wing's local x-axis, for the fuselage its the fuselage's local z-axis. - - - - - - - - - - - - - - - Guide Curves Type - - - Guide Curve type. This type is used to describe guide - curves that enable designers to create a geometry that deviates - from a standard loft. - - - - - - - - - - - - - - - - - - - hingeMomentsMapType - - - hingeMomentsMap type, containing a hinge moments map - with aerodynamic data. Array order is: angleOfAttack min->max - then angleOfSideslip then reynoldsNumber then machNumber. - All coefficients in the aeroperformanceMap relate to - the CPACS coordinate system. See documentation of the - CPACS-Element for further information. - - - - - - - - - - Name of the AeroPerformanceMap. - - - - - - Description of the AeroPerformanceMap. - - - - - - Mach number - - - - - Reynolds Number - - - - - Sideslip angle - - - - - Angle of attack - - - - - - - - - - - - - - htpFwdInterfaceDefType - - - Definition of the interface of forward HTP attachment - - - - - - - - - - Definition of the forward HTP attachment - interface - - - - relative width of reinforcement at fwd HTP - attachment, between 0.0 and 1.0 - - - - - relative width of plate at fwd HTP attachment - (only applicable for Type1 model), between 0.0 and 1.0, smaller - than htpPlateWidth - - - - - UID of panel element at HTP forward attachment - in x-direction (shell elements) - - - - - UID of panel element at HTP forward attachment - in z-direction (shell elements) - - - - - UID of reinforcements for panel element at HTP - forward attachment in z-direction (beam elements) - - - - - - UID of the element to fix HTP to fuselage - (beam elements) - - - - - - - - - - - - - - htpInterfaceDefType - - - Definition of the interface of HTP - - - - - - - - - Definition of the HTP interface - - - - - UID of the fuselage frame at the forward HTP - attchment - - - - - - UID of the fuselage frame at the backward HTP - attchment - - - - - - maximum HTP deflection (nose up in - degrees) - - - - - - maximum HTP deflection (nose down in - degrees) - - - - - - angle of the reinforcements at backward HTP - attchment - (in degrees) - - - - - - Defines area (absolute) in x-direction around - htpFrame2UID where the HTP attachmentpoint has correct position - ==> check and potentially warning message - - - - - Defines area (absolute) in y-direction around - the - outer edge of htpFrame2UID where the HTP attachmentpoint has correct - y-position ==> check and potentially warning - message - - - - - - Defines allowed z-position for rear HTP - attachment - relativ to total frame height ==> check and potentially warning - message ==> check and potentially warning - message - - - - - - Definition of HTP structural - elements - - - - - - Definition of HTP forward attachment to - structure - - - - - - - - - - - - - - - htpStructElemDefType - - - definition of structural elements in HTP attachment - - - - - - - - - - Definition of tailplane attachment area - (Standard Configuration) - - - - UID of structural element for HTP front - crossbeams - - - - - UID of structural element for HTP rear - crossbeams - - - - - UID of structural element for HTP diagonal - beams - - - - - UID of structural element for HTP side beams - - - - - - UID of structural element for upper HTP cutout - reinforcement beams, also used for lower cutout reinforcement, - when not explicitely defined - - - - - UID of structural element for lower HTP cutout - reinforcement beams (optional) - - - - - - - - - - - - - - indirectOperatingCostType - - - - - - - - - - - - - - - - - - - - - - interConnectionStrutAttachmentType - - - - - - - - - - - - - Definition of the position of the attachment - joint in relative coordinates. - - - - - Material settings of the attachment. - - - - - - - - - - - - - - interconnectionStrutType - - - - - - - - - - - - - uID of control surface where this flap is - attached to by the interconnection strut. - - - - - Material settings of the strut (if strut is - moddeled as a simple strut). - - - - - Definition of the attachment on this control - surface. - - - - - Definition of the attachment on the other - control surface - - - - - Free path in positive (tensil) and negative - (compression) direction before interconnection strut blocks. - - - - - - - - - - - - - - - interconnectionStrutsType - - - - - - - - - - - - - Definition of one interconnection strut. - - - - - - - - - - - - - - intercostalPositionType - - - intercostalPosition type, containing the position of intercostals - in DSS - - - - - - - - - - - - UID of the frame at which intercostal - starts - - - - - UID of the forward door frame - - - - - UID of the door - - - - - non-dimensional value ranging between 0 and 1 - - - - - - UID of profileBasedStructuralElement used for - intercostal - - - - - - - - - - - - - - IntercostalsAssemblyType - - - IntercostalsAssembly type, containing intercostal - definitions - - - - - - - - - - - - - - - - - - - structuralElementsConnectionsType - - - StructuralElementsConnections type, containing - connections between structural elements - - - - - - - - - - Flag for automatic generation of interface - definitions (draft version) - - - - - - - - - - - - - - - landingGearInterfaceDefinitionsType - - - CenterFuselage landing gear interface definitions - - - - - - - - - - - - - - - - - - - - - - - - - - keelbeamType - - - HighWingCenterFuselage / Keelbeam definition between - mainframe1 und mainframe2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lateralPanelsType - - - HighWingCenterFuselage / lateral Panel definition - between mainframe1 und mainframe2 - - - - - - - - - - - - - - - - - - - - - - - - - - longFloorBeamConnectionType - - - HighWingCenterFuselage / Long. floor beam connection - - - - - - - - - - - - - - - - - - - - - centerFuselageMainFramesType - - - High wing main frame definition, containing mainframe - UIDs - - - - - - - - - - - - - - - - - - - - - - - pressureFloorType - - - High Wing Center Fuselage / pressure floor definition - between mainframe1 und mainframe2 - - - - - - - - - - - - - - - - - - - - - - - sideboxType - - - HighWingCenterFuselage / side box definition between - mainframe1 und mainframe2 - - - - - - - - - - - - - - - - - - - - - - Landing gear position safety margins - - - LandingGearPositionSafetyMargins type, containing the - safety margins of the gear due to its position - - - - - - - - - - Safety margin for landing gear x position - regarding tail clearance at takeoff pitch angle - - - - - - Safety margin for landing gear x position to - avoid tail dropping down during touchDown and ground maneuvering - - - - - - Safety margin for landing gear y position to - avoid wing tip dropping down during ground maneuvering - - - - - - Safety margin for landing gear y position - regarding wingtip or engine nacelle clearance at a certein roll - angle - - - - - - - - - - - - - Landing gears - - - Contains a list of landing gears. - - - - - - - - - - - - - - - - - - - Landing gears - - - LandingGear type, containing the definition of nose, - main and skid gears. - - - - - - - - - - - - - - - - - - - - - Trailing edge device of the wing. - - - A leadingEdgeDevice (LED) is defined via its outerShape - relative to the componentSegment. The WingCutOut defines the area - of the skin that is removed by the LED. Structure is similar to - the wing structure. The mechanical links between the LED and the - parrent are defined in tracks. The deflection path is described - in path. Additional actuators, that are not included into a - track, can be defined in actuators. - Leading and trailing edge are defined by the outer - shape of the wing segments, i.e. the trailing edge of a - trailingEdgeDevice is the trailing edge of the wing. This is also - valid for kinks that are present in the wing but not explicitly - modeled in the control surface. - The edges of the control surface within the wing are a - straight line in absolute coordinates! Hence, there needs to be a - straight connection between the eta-wise outer and inner points - of the edge that is within the wing in absolute coordinates. - - - - - - - - - - - Name of the leading edge device. - - - - - - Description of the leading edge device. - - - - - - UID of the parent of the LED. The parent is - the componentSegment, where it is attached to. - - - - - - - - - - - - - - - - - - - - - Definition of the wings leading edge devices. - - - - Definition of the wings leading edge devices. - - - - - - - - - - - - - - - - - - - - Optional definition of the airfoil inner shape of - leading edge devices (LED). - - - - All parameters are optional. For the definition of the - parameters, please refer to the picture below. Parameters from - the outer border default to the parameters of the inner border. - - - - - - - - - - - - - - - Relative height of the most forward point of - the LED's rear part, based on the airfoil height of the parent - at this position. Optional. - - - - - Relative chordwise position of the most - forward point of the LED's rear part, based on the chord of the - parent at this position. Optional. - - - - - - - - - - - - - Optional definition of the leading edge shape of - trailing edge devices (TED). - - - - All parameters are optional. For the definition of the - parameters, please refer to the picture below. Parameters from - the outer border default to the parameters of the inner border. - - - - - - - - - - - - - - - Relative height of the leading edge of the TED, - based on the airfoil height of the parent at this position. - Optional. - - - - - Relative chordwise upper skin position, of the - border, where the airfoil of the TED is equivalent of the - airfoil from the parent. Measured from the rear to the front (0 - = TED trailing edge; 1 = TED leading edge). Values form the - outer border default to the value of the inner border. Optional. - - - - - - Relative chordwise lower skin position, of the - border, where the airfoil of the TED is equivalent of the - airfoil from the parent. Measured from the rear to the front (0 - = TED trailing edge; 1 = TED leading edge). Values form the - outer border default to the value of the inner border. Optional. - - - - - - - - - - - - - - linerType - - - Liner type, containing liner data - - - - - - - - - - Type of liner - - - - - - - - - - - - - % of fan diameter - - - - - % of fan diameter - - - - - - - - - - - - - Link to file (Step, Iges or Stl) - - - Please provide a link to the additional file that shall - be loaded by the TIGL library. Furthermore it is necessary to - provide the format attribute so that the file type can be - identified. Several CAD formats provide multiple endings, and - hence, this measure seems necessary. - - - - - - - - - - - - - - - - - - - - - - - - - Load analysis - - - - - - - - - - - - - - - - - - - - - - - loadBreakdownType - - - - - - - - - - - - - - - - - - - - - - - - - - Load cases - - - - - - - - - - - - - - - - - - - - - - - - - loadReferenceAxisPointType - - - - - - - - - - - - - - - - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative height position. - relHeight is relative to the local airfoil thickness. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - - - - - - - - - - - - - loadReferenceAxisPointsType - - - - - - - - - - - - - - - - - - - - - - Load envelopes - - - The loads envelope is the results of the loadsAnalysis - and lists those loadcases that are limiting for the design - - - - - - - - - - - - - - - - - - - - - logFloorBeamPositionType - - - longFloorBeamPosition type, containing individual - position definition - - - - - - - - - - UID of structural element - - - - - UID of crossbeam to which the long. beam is - attached - - - - - y position of long. beam - - - - - - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) - - - - - - - - - - - - - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile - - - - - - - - - - - - - - - - - - - - - - longFloorBeamType - - - longFloorBeam type, containing a long. floor beam - definition - - - - - - - - - - - - - - - - - - - - longFloorBeamsAssemblyType - - - longFloorBeamsAssembly type, containing long. floor - beam assemblys - - - - - - - - - - - - - - - - - - - mAirConditioningType - - - - - - - - - - - - - Air conditioning mass description - - - - - - - - - - - - - - mAutomaticFlightSystemType - - - - - - - - - - - - - Automatic flight system mass description - - - - - - - - - - - - - - mAuxillaryPowerUnitType - - - - - - - - - - - - - Auxillary power unit masse description - - - - - - - - - - - - - - mBellyFairingsType - - - - - - - - - - - - - - - - - - - - - - - mBleedAirSystemType - - - - - - - - - - - - - Bleed air system mass description - - - - - - - - - - - - - - mBulkCargoType - - - - - - - - - - - - - - - - - - - - - - mBulkCargosType - - - - - - - - - - - - - - - - - - - - - - - mBulkheadsType - - - - - - - - - - - - - - - - - - - - - - - mCabinFloorsType - - - - - - - - - - - - - - - - - - - - - - - mCabinLightingsType - - - - - - - - - - - - - - - - - - - - - - - mCargoFloorsType - - - - - - - - - - - - - - - - - - - - - - - mCargoLiningsType - - - - - - - - - - - - - - - - - - - - - - - mCargoLoadingsType - - - - - - - - - - - - - - - - - - - - - - - Cargo masses - - - - - - - - - - - - - Cargo masses description - - - - - Cargo mass description - - - - - - - - - - - - - - - - mCarriagesType - - - - - - - - - - - - - - - - - - - - - - - mCarryOnType - - - - - - - - - - - - - - - - - - - - - - mCarryOnsType - - - - - - - - - - - - - - - - - - - - - - - mCateringsType - - - - - - - - - - - - - - - - - - - - - - - mCellsType - - - - - - - - - - - - - - - - - - - - - - - mSparCellsType - - - - - - - - - - - - - - - - - - - - - - - mCockpitLightingsType - - - - - - - - - - - - - - - - - - - - - - - mCommunicationType - - - - - - - - - - - - - Communication mass description - - - - - - - - - - - - - - mComponentSegmentType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mComponentSegmentsType - - - - - - - - - - - - - - - - - - - - - - - mControlSurfaceSupportType - - - - - - - - - - - - - - - - - - - - - - - - - mControlSurfaceSupportsType - - - - - - - - - - - - - - - - - - - - - - - mCrewMembersType - - - - - - - - - - - - - - - - - - - - - - - mCrewSeatsType - - - - - - - - - - - - - - - - - - - - - - - mDeIcingType - - - - - - - - - - - - - De-icing mass description - - - - - - - - - - - - - mDocumentsToolsType - - - - - - - - - - - - - - - - - - - - - - - mDoorsType - - - - - - - - - - - - - - - - - - - - - - - mElectricalDistributionType - - - - - - - - - - - - - Electrical distribution mass description - - - - - - - - - - - - - - mElectricalGenerationType - - - - - - - - - - - - - Electrical generation mass description - - - - - - - - - - - - - - mEmergencyEquipmentsType - - - - - - - - - - - - - - - - - - - - - - - mEmergencyOxygenSystemsType - - - - - - - - - - - - - - - - - - - - - - - mEmptyULDType - - - - - - - - - - - - - - - - - - - - - - mEmptyULDsType - - - - - - - - - - - - - - - - - - - - - - - mEngineControlType - - - - - - - - - - - - - Engine control mass description - - - - - - - - - - - - - - mEquippedEnginesType - - - - - - - - - - - - - - Equipped engines mass description - - - - - - - - - - - - - - - mExtLightingsType - - - - - - - - - - - - - - - - - - - - - - - mFireProtectionType - - - - - - - - - - - - - Fire protection mass description - - - - - - - - - - - - - - mFixedGalleysType - - - - - - - - - - - - - - - - - - - - - - - mFixedLeadingEdgeType - - - - - - - - - - - - - - - - - - - - - - mFixedLeadingEdgesType - - - - - - - - - - - - - - - - - - - - - - - - mFixedTrailingEdgeType - - - - - - - - - - - - - - - - - - - - - - - - mFixedTrailingEdgesType - - - - - - - - - - - - - - - - - - - - - - - mFlightControlsType - - - - - - - - - - - - - Flight controls mass description - - - - - - - - - - - - - - mFloorCoveringsType - - - - - - - - - - - - - - - - - - - - - - - mFramesType - - - - - - - - - - - - - - - - - - - - - - - - - mFreshWaterSystemsType - - - - - - - - - - - - - - - - - - - - - - - mFuelSystemType - - - - - - - - - - - - - Fuel system mass description - - - - - - - - - - - - - - Fuel mass - - - - - - - - - - - - - Fuel mass description - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Furnishing mass description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mFuselageStructureType - - - - - - - - - - - - - Fuselage structure mass description - - - - - - - - - - - - - - - - - - - - - - - - - - mWallsType - - - - - - - - - - - - - - - - - - - - - - - mFuselagesStructureType - - - - - - - - - - - - - Fuselages structure mass description - - - - - - - - - - - - - - - mHydraulicDistributionType - - - - - - - - - - - - - Hydraulic distribution mass description - - - - - - - - - - - - - - mHydraulicGenerationType - - - - - - - - - - - - - Hydraulic generation mass description - - - - - - - - - - - - - - mIFESystemsType - - - - - - - - - - - - - - - - - - - - - - - mInstrumentPanelType - - - - - - - - - - - - - Instrument panel mass description - - - - - - - - - - - - - - mInsulationsType - - - - - - - - - - - - - - - - - - - - - - - mIntegratedModularAvionicsType - - - - - - - - - - - - - Integrated modular avionics mass description - - - - - - - - - - - - - - mInterGasSystemType - - - - - - - - - - - - - Inter gas system mass description - - - - - - - - - - - - - - mLandingGearSupportsType - - - - - - - - - - - - - - - - - - - - - - - mLandingGearsType - - - - - - - - - - - - - - Landing Gears mass description - - - - - - - - - - - - - - - - mLavatoriesType - - - - - - - - - - - - - - - - - - - - - - - mLiningsType - - - - - - - - - - - - - - - - - - - - - - - mMainGearsType - - - - - - - - - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Manufacturer empty mass description - - - - - - - - - - - - - - - - - - mMillitarySystemsType - - - - - - - - - - - - - Millitary systems mass description - - - - - - - - - - - - - - mMiscellaneousType - - - Miscellaneous masses must only specify componenent masses for which NO DEDICATED ELEMENT EXISTS in the mass breakdown list! - - - - - - - - - - - - - - - - - - - mMoveableLeadingEdgeType - - - - - - - - - - - - - - - - - - - - - - - - mMoveableLeadingEdgesType - - - - - - - - - - - - - - - - - - - - - - - mMoveableTrailingEdgeType - - - - - - - - - - - - - - - - - - - - - - - - mMoveablesType - - - - - - - - - - - - - - - - - - - - - - - - mNavigationType - - - - - - - - - - - - - Navigation mass description - - - - - - - - - - - - - - mNoseGearsType - - - - - - - - - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Operator items mass description - - - - - - - - - - - - - - - - - - - - - mOverheadBinsType - - - - - - - - - - - - - - - - - - - - - - - mPartStowDoorsType - - - - - - - - - - - - - - - - - - - - - - - mPassengerType - - - - - - - - - - - - - - - - - - - - - - mPassengersType - - - - - - - - - - - - - - - - - - - - - - - Passengers masses - - - - - - - - - - - - - Passanger masses Description - - - - - - Passanger mass Description - - - - - - - - - - - - - - Payload mass - - - - - - - - - - - - - Payload mass description - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Power units mass description - - - - - - - - - - - - - - - - - - - - mPylonAttachmentsType - - - - - - - - - - - - - - - - - - - - - - - mPylonsType - - - - - - - - - - - - - - Pylons mass description - - - - - - - - - - - - - - - mRibType - - - - - - - - - - - - - - - - - - - - - - mRibsType - - - - - - - - - - - - - - - - - - - - - - - mSeatsType - - - - - - - - - - - - - - - - - - - - - - - mShellType - - - - - - - - - - - - - - - - - - - - - - - - - mShellsType - - - - - - - - - - - - - - - - - - - - - - - - mSkinPanelsType - - - - - - - - - - - - - - - - - - - - - - - mSkinsType - - - - - - - - - - - - - - - - - - - - - - - mSparSkinsType - - - - - - - - - - - - - - - - - - - - - - - mSparsType - - - - - - - - - - - - - - - - - - - - - - - mSparType - - - - - - - - - - - - - - - - - - - - - - - - mSpecialStructuresType - - - - - - - - - - - - - - - - - - - - - - - mSpoilersType - - - - - - - - - - - - - - - - - - - - - - - mStringersType - - - - - - - - - - - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Structure mass description - - - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Systems mass description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mTrailingEdgeDeviceType - - - - - - - - - - - - - - - - - - - - - - - - mTrailingEdgeDevicesType - - - - - - - - - - - - - - - - - - - - - - - mULDContentType - - - - - - - - - - - - - - - - - - - - - - mULDContentsType - - - - - - - - - - - - - - - - - - - - - - - mVacuumWasteSystemsType - - - - - - - - - - - - - - - - - - - - - - - mWasteWaterSystemsType - - - - - - - - - - - - - - - - - - - - - - - mWindowsType - - - - - - - - - - - - - - - - - - - - - - - mWingBoxType - - - - - - - - - - - - - - - - - - - - - - - - - mWingStructureType - - - - - - - - - - - - - Wing structure mass description - - - - - - - - - - - - - - - mWingsStructureType - - - - - - - - - - - - - Wings structure mass description - - - - - - - - - - - - - - - Main actuator - - - - Definition of the landing gear main actuator. - - - - - - - - - - - Reference to the main actuator uID of the - landing gear - - - - - - - - - - - - - - Main landing gear - - - List of main gears - - - - - - - - - - - - - - - - - - - mainStrutInterfaceDefinitionsType - - - HighWingCenterFuselage main strut interface definitions - - - - - - - - - - - - - - - - - - - - - - mainStrutFuselageAttachmentType - - - HighWingCenterFuselage / main strut attachment to - fuselage frame and stringer - - - - - - - - - - - - - reference to the structural element that comprises this connection. - - - - - - - - - - - - - - maintenanceCostType - - - - - - - - - - - - - - - - - - - - - - - - Mass breakdown - - - - - 1. General - - - The - massBreakeDown - is subdivided in - designMasses - , - fuel - , - payload - and - mOME - (operating empty mass). - - - designMass - - The design masses contain the overall values for - mTOM and so forth. These should be listed as specified by the - TLAR or found from initial sizing. - - fuel - and - payload - - The fuel and payload nodes should contain maximum - values, i.e. full fuel tanks, all passengers on board and full - cargo holding. These values may exceed the maximum allowable - take-off mass as the actual loading of the aircraft should be - specified in the weight and balance section of the aircraft. - - - mOEM - - - The operation empty mass structure is based on the Airbus Mass - Standard brake down [AIRBUS MASS STANDARD 2008]. The - operator’s mass empty (OME) is defined by the sum of the - following component masses: - - operator’s items - manufacturer’s mass empty (MME) - - - - - - - 2. massDescription - - - Each sub component has the following - massDescription - which include a: - - Name - Description - parentUID - Mass value - Mass location - Mass orientation - Mass Inertia. - - - - The - massdescription - can be found at the - designMasses - direct under each item. At the - fuel - , - payload - and - mOME - under massDescription in each item and sub item. - - Concerning symmetry please note that any item - referenced by its UID, e.g. wingUID, accounts for the complete - component, e.g. right and left side. Hence for these items - their complete mass needs to be specified. If the mass of - geometricallly symmetrical components is different, please use - the symmetry modifyers for UIDs: _symm and _mirror. See also - the overall CPACS definition section on symmetry - - - - - - - - - - - - - - - - - - - - - - - - - Fuel Mass Fraction - - - Describing the mass fraction considered for a mission segment sequence - - - - - - - - - - Reference to the segment from which the fuel fraction should be considered - - - - - Reference to the segment to which the fuel fraction should be considered - - - - - Float value of the mass fraction defined as - fraction = m_end / m_start - - - - - - - - - - - - - Mass intertia - - - massInertiaType - - - - - - - - - - - - - - - - - - - - - - - - massInertiaVectorType - - - - - - - - - - - - - - - - - - - - - - - - - - - materialDefinitionForProfileBasedPointType - - - MaterialDefinitionForProfileBased type, containing a - material definition (Reference to material and thickness) for - profile based objects, addition point reinforcements - - - - - - - - - - uID of the profile point to which the - additional stiffness shall be applied. - - - - - uID of a material definition. - - - - - - cross sectional area of additional long. - stiffener at strctural element point - - - - - optional auxiliary parameter for special use - (no physical meaning) - - - - - optional auxiliary parameter for special use - (no physical meaning) - - - - - - - - - - - - - Definition of the properties of the structural - profile sheet - - - MaterialDefinitionForProfileBased type, containing a - material definition (Reference to material and thickness) for - profile based objects. - - - - - - - - - - - UID of the sheet to which the material - properties shall be applied - - - - - - Predefined ID of the sheet of a standard profile - - - - - - - - - - - - - - - - - - Length of the sheet of a standard profile [m] - - - - - - - - - uID of a composite definition. - - - - - - Orthoropy direction of the composite. - - - - - - Scaling factor of the composite thickness. - - - - - - - - uID of a material definition. - - - - - - Absolute thickness of the material [m] - - - - - - - - - - - - - - - - Material Definition - - - MaterialDefinition type, containing a material - definition (Reference to material and thickness) - - - - - - - - - choice between composite / isotropic material - definition - - - - - uID of a composite definition. - - - - - - Orthotropy direction of the composite. - - - - - - Scaling factor of the composite thickness. - Absolute thicknesses are defined in each composite material - seperatly - - - - - - - uID of a material definition. - - - - - - Absolute thickness of the material. - - - - - - - - - - - - - - - Material - - - - Definition of the material properties for one of the following - material types: - - isotropic materials - anisotropic 2D and 3D materials - orthotropic 2D and 3D materials - - The nonemclature is adopted from [1] to define the material properties in an orthotogonal 1-2-3 - coordinate system. This may be illustrated by the stresses of a three-dimensional cube: - - - - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - - - - - - - - - - - - Name of the material - - - - - Description of the material - - - - - Material density [kg/m^3] - - - - - - - - - - - - - - - - - Reference temperature for thermal expansion - coefficient [K] - - - - - - - - - - - - - - - - - Isotropic material properties - - - - Defines the material properties for an isotropic material. Note that the shear modulus G - is defined in terms of the elastic modulus E and the Poisson's ratio nu as: - - - - Specifying a value for all three properties E, G and nu therefore results in an overdetermined material definition and must be avoided. - - - - - - - - - - - - Young's modulus [N/m^2] - - - - - - - Shear modulus [N/m^2] - - - - - - - Poisson's ratio - - - - - - - Thermal expansion coefficient [1/K] - - - - - - - Thermal conductivity of the material in - [W/(m*K)] - - - - - - - Allowable stress for tension [N/m^2] - - - - - - - Allowable stress for compression [N/m^2] - - - - - - - Allowable stress for shear [N/m^2] - - - - - - - Allowable strain for tension - - - - - - - Allowable strain for compression - - - - - - - Allowable strain for shear - - - - - - - Yield strength, tension [N/m^2] - - - - - - - Yield strength, compression [N/m^2] - - - - - - - Plastification curves for isotropic - materials incl. element elimination - - - - - - - Optional knockdown factor for fatiuqe - (defaults to 1) - - - - - - - Fatigue behaviour of the material - - - - - - - Damage tolerance behaviour of the - material - - - - - - - - - - - - - - - Anisotropic material properties for 2D materials - - - - - Defines the material properties for a linear anisotropic material in the plane stress state (i.e., shell). The stress-strain relationship is defined as: - - - - The terminology of this complex type refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. - - - - - - - - - - - - Coefficient 11 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 12 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 13 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 22 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 23 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 33 of reduced stiffness matrix [N/m^2] - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 12 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 3 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 [N/m^2] - - - - - - Allowable stress for compression in material direction 1 [N/m^2] - - - - - - Allowable stress for tension in material direction 2 [N/m^2] - - - - - - Allowable stress for compression in material direction 2 [N/m^2] - - - - - - Allowable stress for shear [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - Allowable strain for compression in material direction 1 - - - - - - Allowable strain for tension in material direction 2 - - - - - Allowable strain for compression in material direction 2 - - - - - - Allowable strain for shear - - - - - - - - - - - - - - Orthotropic material properties for 2D materials - - - - - Defines the material properties for an orthotropic material in the plane stress state (i.e., shell). The strain-stress relationship is defined as: - - - - Inverting the strain-stress relation and introducing thermal expansion yields: - - - - with: - - - - The terminology refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - - - - - - - - - - - - Young's modulus in material direction 1 [N/m^2] - - - - - Young's modulus in material direction 2 [N/m^2] - - - - - Shear modulus in material in 2-3 plane [N/m^2] - - - - - Shear modulus in material in 3-1 plane [N/m^2] - - - - - Shear modulus in material in 1-2 plane [N/m^2] - - - - - Poisson's ratio - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for shear [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for shear - - - - - - - - - - - - - - Anisotropic material properties for 3D materials - - - - - Defines the material properties for a linear anisotropic material in three spatial directions (i.e., solid). The stress-strain relationship is defined as: - - - - The terminology of this complex type refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. - - - - - - - - - - - - Coefficient 11 of stiffness matrix [N/m^2] - - - - - Coefficient 12 of stiffness matrix [N/m^2] - - - - - Coefficient 13 of stiffness matrix [N/m^2] - - - - - Coefficient 14 of stiffness matrix [N/m^2] - - - - - Coefficient 15 of stiffness matrix [N/m^2] - - - - - Coefficient 16 of stiffness matrix [N/m^2] - - - - - Coefficient 22 of stiffness matrix [N/m^2] - - - - - Coefficient 23 of stiffness matrix [N/m^2] - - - - - Coefficient 24 of stiffness matrix [N/m^2] - - - - - Coefficient 25 of stiffness matrix [N/m^2] - - - - - Coefficient 26 of stiffness matrix [N/m^2] - - - - - Coefficient 33 of stiffness matrix [N/m^2] - - - - - Coefficient 34 of stiffness matrix [N/m^2] - - - - - Coefficient 35 of stiffness matrix [N/m^2] - - - - - Coefficient 36 of stiffness matrix [N/m^2]2] - - - - - Coefficient 44 of stiffness matrix [N/m^2]] - - - - - Coefficient 45 of stiffness matrix [N/m^2] - - - - - Coefficient 46 of stiffness matrix [N/m^2] - - - - - Coefficient 55 of stiffness matrix [N/m^2] - - - - - Coefficient 56 of stiffness matrix [N/m^2] - - - - - Coefficient 66 of stiffness matrix [N/m^2] - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 3 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 23 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 31 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 12 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 3 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for tension in material direction 3 - [N/m^2] - - - - - Allowable stress for compression in material - direction 3 [N/m^2] - - - - - Allowable stress for shear in 2-3 plane [N/m^2] - - - - - Allowable stress for shear in 3-1 plane [N/m^2] - - - - - - Allowable stress for shear in 1-2 plane [N/m^2] - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for tension in material direction 3 - - - - - - Allowable strain for compression in material - direction 3 - - - - - Allowable strain for shear in 2-3 plane - - - - - - Allowable strain for shear in 3-1 plane - - - - - - Allowable strain for shear in 1-2 plane - - - - - - - - - - - - - - - Orthotropic material properties for 3D materials - - - - - Defines the material properties for an elastic orthotropic material in three spatial directions (i.e., solid). The strain-stress relationship is defined as: - - - - Note that nuij is related to nuji by: - - - - The terminology refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - - - - - - - - - - - - Young's modulus in material direction 1 [N/m^2] - - - - - Young's modulus in material direction 2 [N/m^2] - - - - - Young's modulus in material direction 3 [N/m^2] - - - - - Shear modulus in the 2-3 plane [N/m^2] - - - - - Shear modulus in the 3-1 plane [N/m^2] - - - - - - Shear modulus in the 1-2 plane [N/m^2] - - - - - Poisson's ratio in in 2-3 plane - - - - - Poisson's ratio in in 3-1 plane - - - - - Poisson's ratio in in 1-2 plane - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 3 [1/K] - - - - - Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] - - - - - Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for tension in material direction 3 - [N/m^2] - - - - - Allowable stress for compression in material - direction 3 [N/m^2] - - - - - Allowable stress for shear in 2-3 plane [N/m^2] - - - - - - Allowable stress for shear in 3-1 plane [N/m^2] - - - - - Allowable stress for shear in 1-2 plane [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for tension in material direction 3 - - - - - - Allowable strain for compression in material - direction 3 - - - - - Allowable strain for shear in 1-3 plane - - - - - - Allowable strain for shear in 1-3 plane - - - - - - Allowable strain for shear in 1-2 plane - - - - - - - - - - - - - - Materials - - - Materials type, containing material and composite data. - A material describes the properties of a certain material. - Several materials can be combined within one composite. - - - - - - - - - - - - - - - - - - - - - Mission definitions - - - - Specifies missions for performance evaluation of aircraft. - As the topmost element of the hierarchical mission definition, individual missions are grouped together - in the missions node. Here, segmentBlocks - are referenced. These again link to a list of segments. - - - - - - - - - - - - - - - - - - - - - - Setting default and specific performance maps to be used for a model - - - - - - - - - - Default performance map which is used if no other performance map - is assigned through the specificPerformanceMap node - - - - - List of specific performance maps used on dedicated mission segments - - - - - - - - - - - - - - End condition - - - - - Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths avaible within the segmentBlock). - - - - - - - - - - - - - - Calibrated airspeed [m/s] - - - - - - - - - - - - - - Mach number - - - - - - - - - - - - - - - - Global coordinate in xyz coordinates - - - - - - - - - - - - - - Global coordinate in geographic - coordinates (longitude, latitude, - altitude) - - - - - - - - - - - - - - Runway - - - - - - - - - - - - - - - - MassFraction ending the segment - - - - - - - - - - - - - - Fuel mass fraction ending the - segment, as remaining fuel mass with - respect to initial segment fuel mass - - - - - - - - - - - - - - Remaining absolute fuel ending the - segment - - - - - - - - - - - - - - Consumed fuel mass ending the - segment - - - - - - - - - - - - - - - - Flight heading at the end of the - segment in compassAngle with - reference to true North [deg] - - - - - - - - - - - - - - Total change of heading angle during - segment (a full turn is 360 degrees) - [deg] - - - - - - - - - - - - - - - Flown distance in the segment (x, y, z) - - - - - - - - - - - - - - - Duration of the segment [hh:mm:ss] - - - - - - - - - - - - - - UTC time at end of mission - - - - - - - - - - - - - - - Specific excess power at the end of the - segment - - - - - - - - - - - - - - Rate of climb ending the segment - - - - - - - - - - - - - - Achieved flightPathAngle ending the segment - - - - - - - - - - - - - - - - - - - - - Mission block constraints - - - Definition of constraints for the mission segment block - - - - - - - - - - - - - - - - - - - - Segment block - - - A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). - - - - - - - - - - Name - - - - - Description - - - - - - Segment direction. Either 'outbound' or 'inbound'. Only needed for radiusOfAction kind of missions. - - - - - - - - - - - - - - - - Specifies to which type of mass the segment fuel mass - should be added (blockFuel = designFuel + additionalFuel; Total fuel requirement - = blockFuel + reserveFuel; designFuel = the fuel of the segmentBlock is part of the design mission) - - - - - - - - - - - - - - - - Number of repetitions of this segment block, e.g. to perform repeated holding patterns - - - - - - - - - - - - - - - Segment blocks - - - A list of segment blocks. A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). - - - - - - - - - - - - - - - - - - - Segment - - - Definition of a mission segment which can be used to define missions. - - - - - - - - - - Name - - - - - Description - - - - - Type of the mission segment (takeOff, clime, cruse, ...) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indication whether the distance flown during the segment is to be taken into account in the segmentBlock's distance calculation. - - - - - - Environmental conditions. If the environmentalCondition is not provided at segment level, the conditions of the - previous segment are inherited (this inhertance can continue until the startCondition, where the initial - environmentalConditions are provided). - - - - - - - Fuel mass - - - - - - - - - - - - - - - - - - - - Mission segment constraints - - - Contains a set of constraints for the segment - - - - - - - - - - - - - - - - - - - Mission segments - - - A collection of mission segments which can be reused to define missions. - - - - - - - - - - - - - - - - - - - Start conditions - - - Conditions which define the start of a mission - - - - - - - - - - - Calibrated airspeed at the start of the mission [m/s] - - - - - Mach number at the start of the mission - - - - - - - Global coordinate at the start of the mission in xyz coordinates - - - - - Global coordinate at the start of the mission in geographic coordinates (longitude, latitude, altitude) - - - - - - UID of the runway at which the - mission starts - - - - - - - - Flight heading at the start of the mission, in compassAngle with reference to true North - - - - - - UTC time at start of mission - - - - - - - - - - - - - - Mission - - - Contains a list of segmentBlock uID's forming the mission along with additional mission information. - - - - - - - - - - Name - - - - - Description - - - - - - - List of segmentBlock uID's forming the mission. Segments must first be grouped in segmentBlocks to be assigned to a mission. - - - - - - - - - - - - - - - Missions - - - A list of missions. - - - - - - - - - - - - - - - - - - - Monetary values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nacelleProfilesType - - - Nacelle profiles type, containing nacelle profile geometries. - See profileGeometryType for further documentation - - - - - - - - - - - - - - - - - - - nacelleSectionType - - - - - - - - - - - - - - - - - - - - - - - - - - nacelleSectionsType - - - - - - - - - - - - - - - - - - - - - - Noise - - - - - - - - - - - - - FAR approach noise level - - - - - FAR sideline noise level - - - - - FAR take-off noise level - - - - - - - - - - - - - Nose landing gears - - - List of nose gears - - - - - - - - - - - - - - - - - - - Operating empty mass - - - - - - - - - - - - - Operating empty mass description - - - - - - - - - - - - - - - - operationalCaseType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - operationalCasesType - - - - - - - - - - - - - - - - - - - - - - outerCutOutProfileType - - - - - - - - - - - - - - - - - - - - - - - Parameter definition for design studies. - - - Contains a name for the design parameter to give semantic meaning to parameters used in design studies. - - - - - - - - - - - Name of parameter - - - - - - - - - - - - - - Container for parameter definitions - - - Contains a of the design parameter definitions. - - - - - - - - - - - - - - - - - - - - paxCrossBeamStrutsAssemblyType - - - PaxCrossBeamStrutsAssembly type, containing pax - crossBeam strut assemblys - - - - - - - - - - - - - - - - - - - paxCrossBeamsAssemblyType - - - PaxCrossBeamsAssembly type, containing pax crossBeam - assemblys - - - - - - - - - - - - - - - - - - - paxDoorsAssemblyType - - - PaxDoorsAssembly type, containing pax door assemblys - - - - - - - - - - - - - - - - - - - - payloadGlobalType - - - - - - - - - - - - - - - - - - - - - - - Flight performance requirements - - - Contains a list of flight performance requirements - - - - - - - - - - - - - - - - - - - - Flight performance requirement - - - - - - - - - - - - - Name of the performance case - - - - - Description of the performance case - - - - - Requirement classification based on the MoSCoW method (must, should, could or wont) - - - - - - - - - - - - - - - Reference to the considered weightAndBalance case - - - - - The UID of the mission to be flown - - - - - List of point performance uIDs constraining the mission - - - - - - - - - - - - - - - - Selection of performance maps - - - - - - - - - - Engine performance map selection - - - - - Aerodynamic performance map selection - - - - - - - - - - - - - Performance requirements - - - - - - - - - - - - - - - - - - - - - - - - - - performanceTargetsGlobalType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Piston - - - - Geometric description and material properties of the - landing gear piston. The figure below shows the condition of the - uncompressed piston, where the length of the exposed part is the - sum of the maxSpringDeflection - and the compressedExternalLength: - - - - - - - - - - - - - - - Length of the piston - - - - - - Maximum spring deflection of the piston (difference between minimum and maximum deflection) - - - - - Length of the piston that remains outside of the main strut in fully compressed state - - - - - - - - - - - - - - plasticityCurvePointType - - - - - - - - - - - - - Tangent modulus [N/m^2] - - - - - True stress [N/m^2] - - - - - - - - - - - - - Points on plasticity curve of material - (min. 1 point) - - - - - - - - - - - - pointPerformanceType - - - Specific performance settings for the point performance calculation (e.g.: a cruise Mach number) - - - - - - - - - - Name - - - - - Description - - - - - - - Defines at which part of the mission - the point performance should be - considered - after indicated segment - of the mission as defined in - performanceCase - - - - - - - Defines at which part of the mission - the point performance should be - considered - at the defined - massFraction within the mission as - defined in performanceCase - (mCurrent/mTO) - - - - - - - Defines at which part of the mission - the point performance should be - considered - at the defined - fuelFraction within the mission as - defined in performanceCase - (mFuelCurrent/mFuelTO) - - - - - - - - Indicates the type of point performance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Point performance definitions - - - List of point performance definitions - - - - - - - - - - - - - - - - - - - pressureBulkheadAssemblyPositionType - - - PressureBulkheadAssemblyPosition type, containing a - pressure bulkhead assembly position - - - - - - - - - - Frame to which bulkhead is attached to - - - - - - UID of bulkhead element desription - - - - - - - - - - - - - - - pressureBulkheadAssemblyType - - - PressureBulkheadAssembly type, containing pressure - bulkhead assemblys - - - - - - - - - - - - - - - - - - - pressureBulkheadType - - - PressureBulkhead type, containing data of a pressure - bulkhead - - - - - - - - - - Name of the pressure bulkhead structural - element - - - - - Description of the pressure bulkhead - structural element - - - - - UID of structural sheet element used for the - bulkhead - - - - - Choice between flat and curved bulkhead types - - - - - additional data for flat (forward) pressure - bulkhead - - - - Number of vertical reinforcements on flat - bulhhead - - - - - UID of structural elements used as vertical - reinforcements - - - - - Number of horizontal reinforcements on flat - bulhhead - - - - - UID of structural elements used as - horizontal reinforcements - - - - - - additional data for curved (rear) pressure - bulkhead - - - - Radius of bulkhead calotte in the plane of - the adjacent frame - - - - - maximum flection of the pressure bulkhaed - calotte - - - - - Number of radial reinforcements (equally - distributed) on curved bulhhead - - - - - UID of structural elements used as radial - reinforcements on curved bulkheads - - - - - - - - - - - - - - - - pressureBulkheadsType - - - PressureBulkheads type, conteining pressure bulkheads - - - - - - - - - - - - - - - - - - - - Structural elements based on profiles - - - - - Short description - - The ProfileBasedStructuralElement type containins the - data of a structural element, that are based on 2-dimensional profiles. - There are three approaches to model profile based structural elements: - - by specifying global beam properties - by referencing a structuralProfile2D element - by choosing one of the prescribed standard profiles - - - - - - 1. Global beam properties - - In the section globalBeamProperties the properties - of the structural profile in an equivalent beam representation - are defined. - - - - 2. Structural 2D profile - - The structuralProfileUID element refers to the uID of the structuralProfile2D element. - As described in the corresponding documentation, this profile is defined by several points in the x-y-space. - Two points always form a sheet. - The properties of each sheet are defined in the sheetProperties element. - The orthotropy direction of composite materials equals the sheets' x-axis. - The orthotropy direction angle equals a positive rotation around the sheets' z-axis as indicated in the picture below (part 3), which shows an example of a wing stringer.: - - - - - - - 3. Standard structural 2D profile - - Instead of referencing a structuralProfile2D element, it is also possible to select a predefined standard profile. - These profiles are listed in the figure below. - Under sheetProperties, only the standardProfileSheetID (equals S1, S2, ...) must now be specified along with a corresponding length. - - - - - - - - - - - - - - - - Name of the profile based structural element - - - - - - Description of the profile based structural - element - - - - - Choice between global beam properties and sheet properties - - - - - - Choice between general profile element - description (referencing a structuralProfile) and predefined - standard profiles - - - - Definition based on structuralProfile - definition - - - - Reference to the structural profile profile - uID - - - - - - Reference point in structural profile - definition for structural element definition - - - - - - - Standard Profile Type, see picture below for - further information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - structuralElementType - - - profileBasedStructuralElements type, containing a list - of profile based structural elements - - - - - - - - - - - - - - - - - - - profileGeometryType - - - - A profile is defined by a profile name, an optional - description and a 3-dimensional pointlist with all three - coordinates mandatory. For typical profiles, one of the - coordinate vectors contains only "0" entries. All point - coordinates are transferred to the global coordinate system. The - points have to be ordered in a mathematical positive sense. - Normalized coordinates are not required. First and last point - may, but need not to, be identical. Hence, it is possible to - include "open" profiles. However, the trailing edge position of - the upper and lower point need to be identical. No crooked - trailing edges are possible. - Example 1: For a conventional wing, the airfoil - coordinates are defined in x and z with all the y-coordinates - set to "0". The points have to be ordered from the trailing edge - along the lower side to the leading edge and then along the - upper side back to the trailing edge. - Example 2: For a fuselage, the coordinates are - typically given in y and z with x set to "0". Starting point of - the profile sould be the lowest point (typically in the symmetry - plane), then upwards on the positive y-side up to the highest - point (again, typically in the symmetry plane). Depending on, - whether the fuselage shall be specified with symmetry condition - or not, the profile either ends there, or continues on the - negative y-side back down to the lowest point. - Alternatively, it is possible to specify the - coordinates of a profile via the CST (class function /shape - function transformation technique) notation. Please see the - cst2DType for further information. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - - - - - - - - - - - Name of profile - - - - - Description of profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - profileGeometry2DType - - - - A profile is defined by a profile name, an optional - description and a 2-dimensional pointlist with both - coordinates mandatory. All point coordinates are transferred - to the global coordinate system depending on the context they - are used in. The points have to be ordered in a mathematical - positive sense. The x-coordinates of the profile has to be - normalized between 0 and 1. First and last point - may, but need not to, be identical. Hence, it is possible to - include "open" profiles. However, the trailing edge position of - the upper and lower point need to be identical. No crooked - trailing edges are possible. - Example 1: For a conventional nacelle profile, the airfoil - coordinates are defined in x and y. The points have to be ordered - from the trailing edge along the lower side to the leading - edge and then along the upper side back to the trailing edge. - When used for a nacelle the profile axis align - with the global axes as follows: - +x_profile -> +x_global; - +y-profile -> -z_global - Example 2: For a fuselage, the coordinates are - also given in x and z with x as the normalized fuselage height. - Starting point of the profile sould be the lowest point - (typically in the symmetry plane), then upwards on the positive x-side up to the highest - point (again, typically in the symmetry plane). Depending on, - whether the fuselage shall be specified with symmetry condition - or not, the profile either ends there, or continues on the - negative x-side back down to the lowest point. - Alternatively, it is possible to specify the - coordinates of a profile via the CST (class function /shape - function transformation technique) notation. Please see the - cst2DType for further information. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - - - - - - - - - - - Name of profile - - - - - Description of profile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Profiles - - - Profiles type, containing profile geometries - - - - - - - - - - - - - - - - - - - - - - - - - - Attachment of the pylon to the parent. - - - - - - - - - - - - - Material properties of the attachment. - - - - - - Link to the structural profile of the - attachment. - - - - - - UID of the attachment. - - - - - - - - - - - - Attachments of the pylon to the parent. - - - - - - - - - - - - - - - - - - - - - - - Structural properties of the pylon box (ribs, upper, - lower and side panels). - - - - - - - - - - - - - - - - - - - UID of the pylon box. - - - - - - - - - - - - Definition of one pylon pin. - - - - - - - - - - - - - First element (parentAttachmentUID, engineUID - or uID of a pylon structure. - - - - - Second element (parentAttachmentUID, engineUID - or uID of a pylon structure. - - - - - Position of the pylon pin related to the pylon - coordinate system. - - - - - - Blocked DOFs. Referes to the rotated - coordinate system that is defined in 'orientation'. - - - - - - - - UID of the pin. - - - - - - - - - - - - Definition of pylon pins. - - - - - - - - - - - - - - - - - - - - - - Definition of a rib set. - - - - RibDefinitionType, containing the definition for ribs. - Ribs are defined in sets of one or more ribs. The positions of - the rib, as well as the orientation of the ribs are defined in - 'ribPositioing'. The cross section properties, as e.g. - materials, are defined in 'ribCrossSection'. - - - - - - - - - - - Name of the rib set. - - - - - Description of the rib set. - - - - - - - - - - - - - - - - - Structural properties of all tibs of the engine pylon - box. - - - - - - - - - - - - - - - - - - - - - - pylonRibsPositioningType - - - - Within the ribsPositioning type the position and the - orientation of the ribs of the rib set are defined. - The forward and the rear beginning of the rib set is - defined using relDepthStart and relDepthEnd. The orientation of - the ribs is defined in ribRotaton. The number of ribs of the - current rib set is either defined by ribNumber or by spacing. - - - - - - - - - - - - relDepthStart defines the forward location of - the beginning of the rib set. 0 equals the forward end of the - pylon box, while 1 equals the rear end of the pylon box. - - - - - - relDepthEnd defines the rear end. 0 equals the - forward end of the pylon box, while 1 equals the rear end of the - pylon box. - - - - - Ribs can be rotated in the side view. The - defaults to 90°, which equals an orientation along the pylons - z-axis. The angle is meassured around the positive y-direction - of the pylon. - - - - - - The spacing of the ribs defines the distance - between two ribs, measured along the pylons x-axis. First rib - is placed at relDepthStart. - - - - - RibNumber defines the number of ribs in this - ribSet. First rib is at relDepthStart along the pylons x-axis, - last rib is at relDepthEnd. The spacing is constant. - - - - - - - - RibCrossingBehaviour can either be "cross" or - "end". If it is end then ribs will end it they intersect - another rib. It it is cross ribs are placed uncut. - - - - - - - - - - - - - - - - - - - - - Structural properties of a pylon shackle. - - - - - - - - - - - - - Material properties of the shackle. - - - - - - Link to the structural profile of the shackle. - - - - - - - UID of the shackle. - - - - - - - - - - - - Structural properties of pylon shackles (for pylon to - parent attachment), if existing. - - - - - - - - - - - - - - - - - - - - - - - Structural properties of the pylon shells. - - - - - - - - - - - - - - UID of the structural profile. - - - - - - Material settings. - - - - - - UID of the structure. - - - - - - - - - - - - Definition of the load carrying structure of the engine - pylon. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Structural properties of struts (drag struts, upper - links and tangent links), if existing. - - - - - - - - - - - - - - - - - - - - - - - - radiativeForcingType - - - - - - - - - - - - - - - - - - - - - - - - - - - - recurringCostType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reference values - - - Reference type, containing the reference values of the - aircraft model - - - - - - - - - - Reference area (typically planform area) - - - - - - Reference length (typically Mean Aerodynamic - Chord MAC). In CPACS, only one reference length exists (and is - used, e.g. for all three moment coefficients. Coordinates given - relative to MAC shall always use this length as MAC. - - - - - - Moment reference point (in global coordinate - system). The x-coordinate is typically chosen same as of the - leading edge of the wing in the spanwise section having a - chordlength identical to MAC. Coordinates given as %MAC shall - always use this x-coordinate and length (e.g. 0%MAC = x, 100%MAC - = x + length). The y coordinate is typically 0. The z coordinate - is often chosen either as 0., or as z of fueselage nose or as z - of middle of center fuselage part. - - - - - - - - - - - - - requirementType - - - - - - - - - - - - - - - - - - - - - - - RibIdentificationType, defining one rib. - - - - - - - - - - - - - UID of the rib definition set. - - - - - - Number of the rib of the rib definition set. - - - - - - - - - - - - - - Definition of the rib rotation - - - The rotation around z describes the rotation around the - wings midplane normal axis. The defaults to 90°. The reference - for the 'zero-angle' of the z-rotation is defined in - ribRotationReference. - - - - - - - - - - RotationReference defines the reference for - the z-rotation it is either sparUID, „LeadingEdge“, - „TrailingEdge“, "globalX", "globalY" or "globalZ". - If it is not defined the rotation reference is - the eta-axis (=leading edge, that is projected on the wings - y-z-plane). A z-rotation angle of 90 degrees means, that the rib - is perpendicular on the ribRotationReference (e.g. spar, leading - edge...). The rib itself is always straight, and the rotation - is defined with respect of the intersection point of the rib - with the ribRotationReference. - - - - - The rotation around z describes the rotation - around the wings midplane normal axis. The defaults to 90°. The - reference for the 'zero-angle' of the z-rotation is defined in - ribRotationReference. - - - - - - - - - - - - - rivetJointAreaAssemblyPositionType - - - RivetJointAreaAssemblyPosition type, containing a rivet - joint area assembly position - - - - - - - - - - - - - - - - - - - - - rivetJointAreasAssemblyType - - - RivetJointAreasAssembly type, containing rivet joint - area assemblys - - - - - - - - - - - - - - - - - - - rivetType - - - Rivet type, containing a rivet - - - - - - - - - - Name of the rivet type - - - - - Description of the rivet type - - - - - - Tensile Strength of the rivet type - - - - - - Shear Strength of the rivet type - - - - - - - - - - - - - - - rivetsType - - - Rivets type, containing rivets - - - - - - - - - - - - - - - - - - - rotorAirfoilsType - - - RotorAirfoils type, containing rotor airfoil - geometries. See profileGeometryType for further documentation - - - - - - - - - - - - - - - - - - - - rotorBladeAttachmentType - - - RotorBladeAttachment type, defining the elements used - to attach one or more rotor blades to the rotor head. - - - - - - - - - - Name of the blade attachment. - - - - - - Description of the blade attachment. - - - - - - - The azimuthAngles element is used to specify - a list of discrete azimuth angles (in deg) at which instances - of attached blades are to be created. The number of blades will - equal to the number of elements of the vector. E.g. - <azimuthAngles>0;90;180;270</azimuthAngles> for a - four blade rotor with equal equiangularly distributed blades. - The transformation of the respective rotor blade corresponds to - a rotation by azimuthAngle around the z axis of the rotor - coordinate system in mathematically positive sense of rotation. - - - - - - If only the number of blades is specified, - the attached blades will be distributed equiangularly and the - first blade will be attached at azimuth angle 0. (Formula: - azimuthAngle[i] = i*360deg/numberOfBlades, - i=0..numberOfBlades-1) - - - - - - Definition of all hinges used to attach the - rotor blade. - - - - - UID of the rotorBlade which should be attached - to the rotor hub. - - - - - - - - - - - - - - rotorBladeAttachmentsType - - - RotorBladeAttachments type, containing all hinges and - blade UIDs attached to the current rotor hub. - - - - - - - - - - - - - - - - - - - rotorBladesType - - - - RotorBlades type, containing all the rotor blade - gometry definitions of an rotorcraft model. - Rotor blade geometries are defined using the same data - structure as wings (wingType). But in order to be compatible - with the other rotor blade related types (e.g. rotorType, - rotorHubType, rotorHubHingeType) there are some additional - conventions/requirements regarding the definition and - orientation of rotorBlade geometries: - - Rotor blades should be positioned relative to the - global z-axis the way they will be positioned to the rotor - shaft (when blade azimuth=0deg). - The global x-axis should be used as radial axis - (usually the quarter chord line of the rotor blade coincides to - a great extent with the x-axis of the rotor blade coordinate - system). - All sections should be positioned in the positive - x halfspace. - Segments should connect sections with ascending x - coordinates. - Airfoils defined in the rotorAirfoils node should - be used instead airfoils from the wingAirfoils node. - - - - - - - - - - - - - - - - Rotor blade geometries are defined using the - same data structure as wings (wingType). But in order to be - compatible with the other rotor blade related types (e.g. - rotorType, rotorHubType, rotorHubHingeType) there are some - additional conventions/requirements regarding the definition and - orientation of rotorBlade geometries: see remarks. - - - - - - - - - - - - - - rotorHubHinge type, containing a rotor hub hinge - (flap/leadLag/pitch). - - - - RotorHubHinge type, containing a rotor hub hinge - (flap/leadLag/pitch) of a rotorcraft model. - - - - - - - - - - - Name of the hinge. - - - - - Description of the hinge. - - - - - - Hinge type. Possible values: "flap", "pitch" - "leadLag". This is used to define the rotation axis of the hinge - (flap = y-axis in blade cs, pitch = x-axis in blade cs, lead-lag - = z-axis in blade cs). - - - - - - - - - - - - The angle (in deg) at which the hinge is in - neutral position. This element is normally used to define - precone or prelag angles of the attached blade. Defaults to 0. - - - - - - Static stiffness of the hinge in (N/m) for - linear hinges and (N.m/deg) for angular hinges. Default value: - +inf (statically rigid hinge) - - - - - Dynamic stiffness of the hinge in (N/m) for - linear hinges and (N.m/deg) for angular hinges. Default value: - +inf (statically rigid hinge) - - - - - Damping of the hinge in (N/(m/s)) for linear - hinges and (N.m/(deg/s)) for angular hinges. Default value: +inf - - - - - - - - - - - - - - - rotorHubHingesType - - - RotorHubHinges type, defining hinges used to attach a - rotor blade to the rotor head. - - - - - - - - - - Definition of a flap, lead-lag or pitch hinge. - - - - - - - - - - - - - - rotorHubType - - - RotorHub type, containing definitions for the rotor hub - and attached hinges and blades. - - - - - - - - - - Name of the rotor hub. - - - - - Description of the rotor hub. - - - - - - Rotor head type. Possible values: "semiRigid", - "rigid", "articulated", "hingeless" - - - - - - - - - - - - - Rotor blade attachments are used to define how - many rotor blades are attached at which azimuth positions of the - rotor hub and the used hinges. - - - - - - - - - - - - - - Rotor type, containing a rotor (main rotor, tail rotor, - fenestron, propeller,...) of an rotorcraft model. - - - - Rotor type, containing a rotor (e.g. main rotor, tail - rotor, fenestron, propeller,...) definition of a rotorcraft - model. - The position and attitude of the rotor is defined - using the transformation element. The following image shows the - CPACS conventions for the orientation of rotors and rotor axis - systems: - - - - - The origin coincides with the center of rotation. - - The z-axis corresponds to the axis of rotation - and thus coincides with the rotor shaft centerline. It Points - in the main thrust direction of the rotor (usually upwards for - a main rotor, forwards for a propeller). - The x-axis points from nose to tail (usually - rearwards for main and tail rotors, upwards for a propeller). - - The y-axis completes the right-handed orthogonal - coordinate system. - - Rotor hub attributes, hinges and references to - attached rotor blades are defined in the rotorHub element. - - - Note that rotor blade geometries are only referenced and not - defined in the child nodes of the rotor element. Refer to the - documentation of rotorBladesType ( - Empty#T/rotorBladesType - ) and wingType ( - Empty#T/wingType - ) for information on the definition of rotor blade geometries. - - The following figure shows the transformations to be - applied to rotorBlade geometries to visualize them in the rotor - frames for a given state (each rotor: rotorAzimuth given, each - hinge: hingeDeflection given): - - - - - - - - - - - - - - Name of the rotor. - - - - - Description of the rotor. - - - - - UID of the part to which the rotor is mounted - (if any). The parent of the rotor can e.g. be the fuselage. In - each rotorcraft model, there is exactly one part without a - parent part (The root of the connection hierarchy). - - - - - - Rotor type. Possible values: "mainRotor" - (default), "tailRotor", "fenestron" or "propeller".. - - - - - - - - - - - - - - Nominal value of the angular rotation speed in - rotations per minute (rpm). - - - - - Transformation (scaling, rotation, - translation). This element is used to define the position and - attitude of the rotor relative to the global or the parent - component's axis system. Note that an anisotropical scaling - transformation should not be applied to the rotor. - - - - - - The rotorHub element contains the definition - of the rotor hub type and number and azimuth angles of the - attached blades and their hinges. The rotor hub position and - attitude coincides with the rotor axis system's origin and z - axis. - - - - - - - - - - - - - - - - - - - - - - - - - rotorcraftAnalysesType, results from several analysis - modules connected to CPACS - - - RotorcraftAnalyses type, containing detailed analysis - data of the rotorcraft - Within this element results from analysis modules are - stored that rely to the overall definition of the rotorcraft. - These include e.g. aerodynamic data or loadCases - For further documentation please refer to the - respective elements. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rotorcraftGlobalType - - - RotorcraftGlobalType type, containing global data of - the rotorcraft - - - - - - - - - - Number of passenger seats - - - - - Cargo transport capacity [kg] - - - - - - Cruise Mach Number - - - - - Configuration of the rotorcraft: - standard(single main rotor, single tail rotor) / tandem / - coaxial/intermeshing / sideBySide/tiltRotor/tiltWing - - - - - - - - - - - - - - massBreakdownType - - - - - 1. General - - - The - massBreakeDown - is subdivided in - designMasses - , - fuel - , - payload - and - mOME - (operating empty mass). - - - designMass - - The design mass is a description from TLARs and can - be understand as design criteria. - - fuel - and - payload - - The fuel and payload mass are the maximum masses - which can be achieved. Full fuel tanks, all passengers on - board and full cargo holding. - - mOEM - - - The operation empty mass structure is based on the Airbus Mass - Standard brake down [AIRBUS MASS STANDARD 2008]. The - operator’s mass empty (OME) is defined by the sum of the - following component masses: - - operator’s items - manufacturer’s mass empty (MME) - - - - - - - 2. massDescription - - - Each sub component has the following - massDescription - which include a: - - Name - Description - parentUID - Mass value - Mass location - Mass orientation - Mass Inertia. - - - - That - massdescription - can be found at the - designMasses - direct under each item. At the - fuel - , - payload - and - mOME - under massDescription in each item and sub item. - - - - For the clean up the - mOME - there is consisting a script witch is programmed in Matlab but - also as standalone vision available. Setting for that tool can - be done under - toolspesifics/cmu - . - - - - - - - - - - - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Manufacturer empty mass description - - - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Group mass of hierarchy level 1 - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Group mass of hierarchy level 2 - - - - - - - - - - - - - - - Operating empty mass - - - - - - - - - - - - - Operating empty mass description - - - - - - - - - - - - - - - - rotorcraftModelType - - - RotorCraftModel type, containing a complete rotorcraft - model (Geometry and all specific data). The rotorcraftModelType - is basically a copy of the aircraftModelType with the following - additional elements: rotors, rotorBlades, driveSystems. - Furthermore the folowing elements have been adapted for - rotorcraft: global and analyses (aeroPerformance and - massBreakdown). - - - - - - - - - - Name of rotorcraft model - - - - - Description of rotorcraft model - - - - - - - - - - - - - - - - - - - - - - - - - - Rotorcraft - - - Rotorcraft type, containing all the rotorcraft models. - - Most of the extensions used in the rotorcraft type have - been defined as part of the work in the DLR project RIDE - (Rotorcraft Integrated Design and Evaluation, 2009-2012). - Therefore some of the definitions and conventions are tightly - coupled to the RIDE toolchain and tools. Further generalization - and assimilation of these parts to the definitions for fixed-wing - aircraft is planned for the near future. - - - - - - - - - - - - - - - - - - - rotorsType - - - Rotors type, containing all the rotors (mainRotors, - tailRotors, fenestrons, propellers, ...) of an rotorcraft model. - - - - - - - - - - - - - - - - - - - - runwayILSType - - - RunwayILS type, containing ILS data of a runway - - - - - - - - - - - Position of the localizer antenna - - - - - - - Position of the glide slope antenna - - - - - - Angle of the glide path - - - - - - - - - - - - - - runwayType - - - Runway type, containing data of a runway - - - - - - - - - - Name of runway - - - - - Description of runway - - - - - Position in degrees north - - - - - Position in degrees east - - - - - Threshold elevation - - - - - Runway heading - - - - - Takeoff run available - - - - - Landing distance available - - - - - Conditions of the runway - - - - - - - - - - - - - - - runwaysType - - - Runways type, containing data of the airport's runways - - - - - - - - - - - - - - - - - - - - shaftLinkedComponentsType - - - ShaftLinkedComponents type, containing UIDs of engines, - transmissions and rotors linked by a shaft. - - - - - - - - - - - UID of a linked engine. - - - - - UID of a linked transmission shaft input. - - - - - - UID of a linked transmission shaft output. - - - - - - UID of a linked rotor. - - - - - - - - - - - - - - shaftType - - - Shaft type defining a shaft used as a link between - drive system components. - - - - - - - - - - - - - - - - - - - - - - shaftsType - - - Shafts type, containing all the shafts of a drive - system. - - - - - - - - - - - - - - - - - - - sheet3DType - - - - - - - - - - - - - - - - - - - - - - - - - - sheetBasedStructuralElementType - - - sheetBasedStructuralElementType type, sheet definition - for use in fuselage/structure - - - - - - - - - - Material definition of the skin segment - (Material, thickness, (lay-up)) - - - - - - - - - - - - - - sheetBasedStrcuturalElementsType - - - sheetBasedStrcuturalElementsType, containing sheet - based structural element definitions - - - - - - - - - - - - - - - - - - - sheetList3DType - - - - - - - - - - - - - - - - - - - - - - List of sheets, connecting 2-dimensional profile - points. - - - SheetList type, containing a list of sheets. Each sheet - combines two points to one sheet. - - - - - - - - - - - - - - - - - - - sheetPointsType - - - - - - - - - - - - - - - - - - - - - - sheetType - - - Sheet type, containing connection data of a sheet - - - - - - - - - - - Name of sheet within the profile definition - - - - - - Description of sheet within the profile - definition - - - - - Point from which the sheet definition starts - start - - - - - Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines - tangential continuity), 2= C2 (defines curvature continuity) - 2=all - - - - - - - - - - - - - - Definition of an orientation vector at P1 - - - - - - Point at which the sheet definition ends - - - - - - Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines - tangential continuity), 2= C2 (defines curvature continuity) - 2=all - - - - - - - - - - - - - - Definition of an orientation vector at P2 - - - - - - - - - - - - - - - singleGenericMassType - - - - - - - - - - - - - - - - - - - - - - Skid landing gears - - - List of skid gears - - - - - - - - - - - - - - - - - - - fuselagePanelType - - - FuselagePanel type, panel of the fuselage between - stringers/ frames (new in V1.5) - - - - - - - - - - UID of sheetBasedStructuralElement used for - the panel - - - - - UID of frame at start of the skin segment - - - - - - UID of frame at end of the skin segment - - - - - - UID of stringer at start of the skin segment - - - - - - UID of stringer at end of the skin segment - - - - - - - - - - - - - - - fuselageSkinSegmentType - - - FuselageSkinSegment type, containing material on skin - over circumference - - - - - - - - - - - - - - - - - - - skinType - - - Containing data defining the skin - - - - - - - - - - Default UID of sheetBasedStructuralElement - used for the fuselage skin not covered by individual panels - - - - - - - - - - - - - - - Spar cell of the spar. - - - - Within spar cells a special area of the spar is - defined where different cross section and material properties - shall be defined. - The area of the spar is defined by using the - parameters 'fromEta' and 'toEta'. The definition of the caps, - webs and rotation is equivalent to the cross section definition - of the complete spar. - - - - - - - - - - - Beginning (= inner border) of the spar cell. - - - - - - Ending (= outer border) of the spar cell. - - - - - - Upper Cap - - - - - - Lower Cap - - - - - - Web 1 - - - - - - Web 2 - - - - - - The angle between the wing middle plane and - web 1 [deg]. Default is 90 degrees. Positive rotation is around the - spar axis heading along with the positive eta-axis. - - - - - - - - - - - - - - - SparCells of current spar. - - - sparCells are an optional Element. They are defined via - the etaCoordinates and define a region of special cross section - and material properties. - - - - - - - - - - - - - - - - - - - Definition of the spar cross section. - - - - Spar type, containing the cross section definition of - a spar. The spar middle point is defined by the intersection of - the wing middle plane and web1. This equals the coordinate - defined within the sparPosition. - Please find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: - - - - - - - - - - - - - - - - - - - The angle between the wing middle plane and - web1. Default is 90 degrees. Positive rotation is around the - intersection axis of the spar and the wing middle plane. The - positive heading of this axis is inline with the positive - heading of the componentSegment eta-axis. - - - - - - - - - - - - - Spar position on the wing - - - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Eta and xsi - are relative to the componentSegment. - Please find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - As an alternative to the relative eta coordinate it is - possible to specify an elementUID so that the spar position is - relative to the outer geometry, e.g. kink, of the wing. - - - - - - - - - - - - Defines a spar position on an existing rib using a relative xsi coordinate - to determine the chord wise position on that rib - - - - - Defines a spar position using relative eta/xsi coordinates - - - - - - - - - - - - - - sparPositionUIDs of the spar. - - - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Those - positions are combined to spars by using a list of spar position - uIDs. The order of the sparPositionUIDs must be the same as the - order of the points on the real spar (from root to tip or from - tip to root). - Pleas note: orientation of a spar must be allways - outbound or allways inbound. A zigzag spar orientation where - e.g. the spar starts at the root, goes to the tip and goes back - to another point at the root is not allowed. - Pleas find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - - - - - - - - - - - List of spar position uIDs. - - - - - - - - - - - - - - Spar definition points on the wing. - - - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Eta and xsi - are relative to the componentSegment. - Please find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - - - - - - - - - - - - - - - - - - - - SparSegments (=spars) of the wing. - - - SparSegmentType, each spar is defined by multiple - sparPositions that are referenced via their uID. The spar cross - section is defined in 'sparCrossSection'. - - - - - - - - - - Name of the spar segment (=spar). - - - - - - Description of the spar segment (spar). - - - - - - - - - - - - - - - - - Spar segments of the wing. - - - sparSegmentsType, containing multiple sparSegment - (=spars) of the wing. - - - - - - - - - - - - - - - - - - - Specific heat map, containing the specific heat capacity of a material at different temperatures. - - - The specific heat of a material can vary with the temperature. The vectors specificHeat and temperature - must have the same size to be valid. The data should be linearly interpolated. - - - - - - - - - - - Temperature in [K] - - - - - Specific heat capacity of the material in [J/(kg*K)] - - - - - - - - - - - - - Specific performance map - - - - Applying a specific performance map to selected mission segments. In addition to the obligatory defaultPerformanceMapUID at least a segmentUID or pointPerformanceUID must be given. - - - - - - - - - - - UID of performance map to be used for mission segments - - - - - - - List of all mission segment UIDs to which the performance map is to be applied - - - - - List of point performance UIDs to which the performance map is to be applied - - - - - - List of point performance UIDs to which the performance map is to be applied - - - - - - - - - - - - - - specificPerformanceMapsType - - - Collection of all assignments of specific performance maps to selected mission segments - - - - - - - - - - - - - - - - - - - Spoilers of the wing. - - - A spoiler is defined via its outerShape relative to the - componentSegment. The WingCutOut defines the area of the upper - skin that is removed by the spoiler. Structure is similar to the - wing structure. The mechanical links between the spoiler and the - parrent are defined in tracks. The deflection path is described - in path. Additional actuators, that are not included into a - track, can be defined in actuators. - - - - - - - - - - Name of the spoiler. - - - - - Description of the spoiler. - - - - - - UID of the parent of the spoiler. The parent - is the componentSegment, where the spoiler is attached. - - - - - - - - - - - - - - - - - - - - - Definition of the wings spoilers. - - - Definition of the wings spoilers. - - - - - - - - - - - - - - - - - - - State parameter definition - - - Contains the values of a parameter and its uid as reference. - - - - - - - - - - - - - - - - - - - - - - - - State parameters list - - - Contains a list of all state parameters. - - - - - - - - - - - - - - - - - - - - stiffnessType - - - - - - - - - - - - - - - - - - - - - - - - - - - stringerFramePositionType - - - - Description of individual stringer / frame postions - - - - - - - - - - - - - - UID of profile based structural element - - - - - - - x position in absolute value - - - - - - UID reference to a fuselageSectionElement - - - - - - - y coordinate of reference system - - - - - - z coordinate of reference system - - - - - - angle definition to calculate intersection - with loft - - - - - - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) - - - - - - - - - - - - - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile - - - - - - - - - - - - - - - - - - - - - - arbitraryStringerType - - - ArbitraryStringer type, containing stringer definition - (CPACS V1.5+) - - - - - - - - - - - - - - - - - - - - stringersAssemblyType - - - StringersAssembly type, containing an assembly of - stringers (new V1.5) - - - - - - - - - - - - - - - - - - - Structural elements - - - structuralElements Type, containing the different structural - elements - - - - - - - - - - - - - - - - - Seat elements (Deprecation warning: This element will soon be removed from the official CPACS. Use the new seat modules located at cpacs/vehicles/deckElements!) - - - - - - - - - - - - - - - structuralMountType - - - - - - - - - - - - - - If this value is set to true then only the end points of the intersection shall be included as nodes in the model. - - - - - - The UID for the first connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. - - - - - - Optional counter to specify numbered items, e.g. ribs in a ribSet. - - - - - - The UID for the second connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. - - - - - - Optional counter to specify numbered items, e.g. ribs in a ribSet. - - - - - - - - - - - - - - - structuralProfile3DType - - - - - - - - - - - - - - - - - - - - - - - - - - 2-dimensional cross sections of structural profiles. - - - - - StructureProfile type, containing data of a structure - profile cross sections. The cross section profile is defined by - several points (->pointList) in the x-y-space. Two points are - combined to one sheet (->sheetList) by using the pointUIDs. - - This profile is defined by several points in the - x-y-space. Allways two points are combined to one sheet. The - properties of each sheet are defined in the 'sheetProperties' - section by referencing on the sheetUID and the material - properties. The orthotropy direction of composite materials equals - the x-sheet axis. The orthotropy direction angle equals a positive - rotation around the z-sheet axis as indicated in the picture below - (part 3.), where a wing stringer is defined as an example: - - - - - - - - - - - - - - - Name of the structure profile. - - - - - - Description of the structure profile. - - - - - - List of structural profile points, only x and - y. - - - - - - - - - - - - - - - Definition cross sections of structural profiles. - - - - Structuralprofiles type, containing cross section - information of structural profiles. - - - - - - - - - - - - - - - - - - - - Geometric description and material properties of a strut - - - - - - - - - - Length of the strut - - - - - - - - - - - - - - Design study parameters and results - - - - Contains optimization data such as definitions of design parameters and design studies. - - - - - - - - - - - - - - - - - - - - - - - - - subFleetType - - - Each fleet can be divided into sub fleet groups - - - - - - - - - - Name of fleet - - - - - Description of the fleet - - - - - A ; separated list of all tailsign strings - - - - - - - - - - - - - - subFleetsType - - - Contains a list of different sub fleets - - - - - - - - - - - - - - - - - - - subLoadType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Systems - - - - Systems type, containing the aircraft's control system - data - Please see the attached picture for further - documentation - - - - - - - - - - - - - - Node for geometrical layout of system components - based on simple geometric shapes - - - - - - Cockpit controls, e.g. stickRoll, pedals - - - - - - Different commandCases that are commanded, - e.g. roll, accelerate - - - - - Control Distributors, deliver inputs to the - control actuators. E.g. different angles of different ailerons. - - - - - - Control laws, for regulated actuation - - - - - - - - - - - - - - tailplaneAttachmentAreaType - - - tailplaneAttachmentArea type, containing dat on - fuselage - structure to attach tailplaine - - - - - - - - - - Definition of tailplane attachment area - (Standard - Configuration) - - - - - type of tailplane attachment: Currently - restricted to - 'Type1' and 'Type2' (see documentation) - - - - - - - - - - - - - - Definitions of VTP interface - - - - - - Definitions of VTP interface - - - - - - - - - - - - - - - takeoffPerformanceParametersType - - - - - - - - - - - - - Take-off distance at liftoff speed VLOF. - - - - - - Take-off distance at safety speed V2. - - - - - - Optimal speed Velev at point of initiating - take-off rotation by elevator deflection for a minimum take-off - distance. - - - - - Optimal rotation speed VR for a mini-mum - take-off distance - - - - - Liftoff speed VLOF. - - - - - Safety speed V2. - - - - - Take-off decision speed V1 - - - - - Minimum control speed ground VMCG. - - - - - - Flight path angle being achieved at V2 with - one engine failure in 400 ft height above ground. This is the - result of a post trim calculation using the deter-mined V2. If - the trim calculation fails the entry is set to -90. - - - - - - - - - - - - - - Structural properties of the tangent links, if - existing. The tangent links do connect the engine pylon with the - engine to carry the thrust forces. - - - - - - - - - - - - - - - - - - - - - - simpleConnectionType - - - SimpleConnection type, containing a simple connection - - - - - - - - - - - Can be each structural member (skinSegment, - stringer, frame, paxCrossBeam, cargoCrossBeam, - paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, - floorPanel, seatModule) - - - - - Can be each structural member (skinSegment, - stringer, frame, paxCrossBeam, cargoCrossBeam, - paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, - floorPanel, seatModule) - - - - - - - - - - - - - - - simpleConnectionsType - - - SimpleConnections type, containing simple connections - - - - - - - - - - - - - - - - - - - - topologyEntriesType - - - - - - - - - - - - - - - - - - - - - - topologyEntryType - - - A topology entry is used to combine the dynamic aicraft - models of several components, e.g. wing and fuselage. By default - these will be stiff. If desired stiffness and rotation with - respect to the CPACS coordinate system may be specified. - - - - - - - - - - - - - - - - - - - - - - - totalOperatingCostType - - - - - - - - - - - - - - - - - - - - - - - - trackActuatorType - - - - - - - - - - - - - Reference to the uID of the actuator of the - track. - - - - - Definition of the material properties of the - actuator to track attachment. - - - - - - - - - - - - - - wingSparsType - - - Spars type, a spar is defined by sparSegments that - stretch between multiple sparPositions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Definition of the struts of a control surface track. - - - - Definition of the struts of a control surface track. - - - - - - - - - - - - - - - - - - - - Definition of a strut of a control surface track. - - - - Definition of a strut of a control surface track. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specification of joint coordinates. - - - - Specification of joint coordinates. - - - - - - - - - - - - - - - - - - - - Set of joint coordinates - - - - Definition of a set of joint coordinates. - - - - - - - - - - - Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - - - - - - - - Joint coordinates - - - - Definition of a joint coordinates. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Trailing edge device of the wing. - - - A trailingEdgeDevice (TED) is defined via its - outerShape relative to the componentSegment. The WingCutOut - defines the area of the skin that is removed by the TED. - Structure is similar to the wing structure. The mechanical links - between the TED and the parrent are defined in tracks. The - deflection path is described in path. Additional actuators, that - are not included into a track, can be defined in actuators. - - Leading and trailing edge are defined by the outer - shape of the wing segments, i.e. the trailing edge of a - trailingEdgeDevice is the trailing edge of the wing. This is also - valid for kinks that are present in the wing but not explicitly - modeled in the control surface. - The edges of the control surface within the wing are a - straight line in absolute coordinates! Hence, there needs to be a - straight connection between the eta-wise outer and inner points - of the edge that is within the wing in absolute coordinates. - - - - - - - - - - - Name of the trailing edge device. - - - - - - Description of the trailing edge device. - - - - - - UID of the parent of the TED. The parent can - either be the uID of the componentSegment of the wing, or the - uID of another TED. In the second case this TED is placed within - the other TED (double slotted flap). In this way n-slotted TEDs - can be created. - - - - - - - - - - - Definition of cruise rollers/mid-span stops. - Those features are small rolls at the leading edge of a flap - that keep the flap within the bending wing at cruise - configuration. - - - - - Definition of interconnection struts. Those - struts connect two neighbouring flaps and are load carrying in - case of an actuator of flap track failour. - - - - - Definiton of z-couplings. Those elements - couple two neighbouring flaps in z-direction. - - - - - - - - - - - - - - - Definition of the wings trailing edge devices. - - - - Definition of the wings trailing edge devices. - - - - - - - - - - - - - - - - - - - - Trajectories - - - - - - - - - - - - - - - - - - - - - - trajectoryGlobalType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - trajectoryType - - - - - - - - - - - - - - - - - - - - - - - - - - - transmissionGearRatioType - - - TransmissionGearRatio type, defining the ratio of - output rotation velocity to input rotation velocity. - - - - - - - - - - - - - - - - - - - - transmissionShaftInputType - - - TransmissionShaftInput type, defining a shaft input for - a transmission. - - - - - - - - - - - - - - - - - - - - transmissionShaftInputsType - - - TransmissionShaftInputs type, defining the shaft inputs - of a transmission. - - - - - - - - - - - - - - - - - - - transmissionShaftOutputType - - - TransmissionShaftOutput type, defining a shaft output - for a transmission. - - - - - - - - - - - - - - - - - - - - - transmissionShaftOutputsType - - - TransmissionShaftOutputs type, defining the shaft - outputs of a transmission. - - - - - - - - - - - - - - - - - - - transmissionType - - - Transmission type, defining a transmission/gearbox. - - - - - - - - - - - - - - - - - - - - - - - - - transmissionsType - - - Transmissions type, containing all the - transmissions/gearboxes of a rotorcraft model. - - - - - - - - - - - - - - - - - - - - - - - - - - - updateType - - - Update type, containing a datablock for each update of - the CPACS dataset - - - - - - - - - - Description of Modification of CPACS data - - - - - - Creator of CPACS modification - - - - - - Timestamp of CPACS modification - - - - - - New version number of CPACS dataset after - modification - - - - - CPACS version that the dataset is valid to - - - - - - - - - - - - - - Structural properties of the upper links, if existing. - The upper links do connect the upper forward part of the pylon - box with the forward wing attachment. - - - - - - - - - - - - - - - - - - - - - - variableSegmentType - - - - Containing the definition of variable segments for a segment block - - - - - - - - - - - defines uID of the segment having variable conditions - - - - - defines which condition(s) are variable within the segment (must be one of the defined - endConditions for the segmentBlock) - - - - - - - - - - - - - - - - - - - - List of segments that are allowed to be varied within a mission optimization. - - - - Provides a list of segments having variable conditions within the segmentBlock. - Example: a segmentBlock containing takeOff, climb, cruise, decent, landing segments has a cruise segment for which the range is variable. - The range of this segment is then to be calculated using the range defined for the segmentBlock while concerning the known ranges of all - other segments within the segmentBlock. - This concept needs to be practically tested. Does it suffice to mention (a list of) segments that are free to change to fit the overall block constraints? What happens if a segment is variable, though it has some constraints? When to define a segment as variable (climb until endPosition z, then endPosition x should be left free. Is the segment then variable? Probably not.). Somehow the 'free' segment should be in between fully defined segments (i.e.: a cruise+descent in between endPosition z == ICA and endPosition z == 0 for landing to define max range. How to define this exactly?) - - - - - - - - - - - - - - - - - - - Vehicles - - - - The vehiclesType contains all vehicle-specific - data. - This includes the vehicle itself (i.e. aircraft - and rotorcraft). Furhtermore, components - (e.g. engines, structuralElements, etc.) - as well as physical properties of materials and - fuels can be predefined for easy and consistent reuse via - uID-references. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vtpFrameDefType - - - Definition of the individual VTP attachments - - - - - - - - - - Definition of tailplane attachment area - (Standard Configuration) - - - - UID of the fuselage frame at this VTP - attchment - - - - - Flag for option for VTP attachment between - defined FrameUID and the next one - - - - - UID of panel element at VTP attachment (shell - elements) - - - - - UID of structural element at VTP attachment - (base, beams) - - - - - UID of structural element at VTP attachment - (horizontal, beams) - - - - - UID of structural element at VTP attachment - (radial, beams) - - - - - - - - - - - - - - vtpInterfaceDefType - - - Definition of the interface of the VTP - - - - - - - - - Definition of the VTP interface - - - - - Definition of the VTP attachment frames and - their - reinforcement - - - - - - Defines area for valid x-position of VTP (just - used - if attachmentpoint is directly based on frame) ==> check and - potentially warning message - - - - - - Definition of the max. distance between - fuselage and - the defined VTP pins ==> check and potentially warning - message - - - - - - Definition of reinforcement area at VTP frame - positions (relative coordinate, smaller than - 1.0) - - - - - - Definition of vertical reinforcements at VTP - frame - positions (relative coordinate, smaller than - 1.0) - - - - - - value to change from horizontal to radial - reinforcements for VTP frame plates - - - - - - UID of elements to connect VTP pins with - fuselage - (beam elements) - - - - - - - - - - - - - - - - webType - - - - SparWeb type, containing the cross section area of the - spar web and the material properties. - Pleas find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: - - - - - - - - - - - - - - Material definition of the spar web. - - - - - - relPos ranges from 0 to 1 It defines the - position of the web relative to the caps (see picture below).. - - - - - - - - - - - - - - weightAndBalanceCaseType - - - WeightAndBalanceCase type, containing weight and - balance data for one case - - - - - - - - - - - - - - - - - - - - - - - - weightAndBalanceFuelInTankType - - - - - - - - - - - - - - - - - - Ranges from 0 for empty tank to 1 - - - - - - - - - - - - - - weightAndBalanceFuelInTanksType - - - - - - - - - - - - - - - - - - - - - - weightAndBalanceFuelType - - - - - - - - - - - - - - - - - - - - - - - - - weightAndBalancePayloadType - - - - - - - - - - - - - - - - - - - - - - - - - - Weight and balance - - - WeightAndBalance type, containing weight and balance - datasets - - - - - - - - - - - - - - - - - - - - weightAndBalancemCargosType - - - For a higher ganularity it is possible to add more - information on the actual Cargo that are included in the - operational case. Please note that the information needs to be - identical with the massBreakdown. Hence, only links via uIDs can - be specified. - - - - - - - - - - - - - - - - - - - - - - weightAndBalancemPaxxType - - - For a higher ganularity it is possible to add more - information on the actual Pax that are included in the - operational case. Please note that the information needs to be - identical with the massBreakdown. Hence, only links via uIDs can - be specified. - - - - - - - - - - - - - - - - - - - - - - windowAssemblyPositionType - - - WindowAssembly type, containing an the position of a - windows assembly - - - - - - - - - - UID of the window element to be used - - - - - - x position of window elemment on global x axis - - - - - - z position of window elemment refernce point - - - - - - angle around global x axis to define window - position with respect to positionX and postionZ - - - - - - - - - - - - - - - windowsAssemblyType - - - WindowsAssembly type, containing an assembly of windows - - - - - - - - - - - - - - - - - - - - windowsType - - - Windows type, containing windows - - - - - - - - - - - - - - - - - - - - wingAeroPerformanceType - - - wingAeroPerformance type, containing perfomance maps - with aerodynamic data of a wing. - - - - - - - - - - Reference to the uID of the analysed wing - - - - - - References used for the calculation of the - force and moment coefficients of the wing (in the wing axis - system!) - - - - - Calculated aerodynamic performance maps of the - wing - - - - - - - - - - - - - wingAirfoilsType - - - WingAirfoils type, containing wing airfoil geometries. - See profileGeometryType for further documentation - - - - - - - - - - - - - - - - - - - Cell of the wing - - - - A cell defines a special region of the wing. Within - this region skin and stringer properties can be defined that - differer from the properties of the rest of the wing. In general - a cell is defined by defining four borders – the cell leading - and trailing edge and the inner border and the outer border. - Those borders can either be defined by using eta/xsi coordinates - or by referencing to spars and ribs. Mixed definitions (e.g. - forward border is defined due to a spar, side borders due to eta - coordinates) is allowed. In general a cell is quadrilateral. But - if e.g. the spar, which is used for the definition of the - trailing edge, has a kink, the cell can have more than four - corners. - The cell leading and trailing edge (= forward and rear - border) can either be defined by referencing to a spar - (->sparUID) or by the defining the xsi (=relative chord) - coordinates of the border (xsi1 = inner end; xsi2 = outer end). - - The cell inner and outer border can either be defined - by referencing to a rib (->ribDefinitionUID and ribNumber) or - by the defining the eta (=relative spanwise) coordinates of the - border (eta1 = forward end; eta2 = rear end). - Some examples for wing cells can be found in the - picture below: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cells of the wing. - - - WingCells type, containing all the cells of the wing. - - - - - - - - - - - - - - - - - - - - Structure of the wing - - - wingComponentSegmentStructure type, containing the - whole structue (skins, ribs, spars...) of the wing. - - - - - - - - - - - - - - - - - - - - - - - Element of the section. - - - - Within elements the airfoils of the wing are defined. - Each section can have one or more elements. Within each element - one airfoil have to be defined. If e.g. the wing should have a - step at this section, two elements can be defined for the two - airfoils. - Mathematically spoken a element is a coordinate system - that is translated, rotated and scaled relative to the section - coordinate system. This transformation parameters are defined - withing the transformation section. The wirfoil, which is linked - by using the parameter airfoilUID is directly 'copied' in the - element coordinate system. If e.g. the airfoil is defined from 0 - to 1 in x-direction and the total scaling of the elements x-axis - equals 3.5 the wing chord is 3.5 m long. - An example for wing element can be found in the - picture below: - - - - - - - - - - - - - - Name of the wing element. - - - - - Description of the wing element. - - - - - - Reference to a wing airfoil. - - - - - - - - - - - - - - - - Elements of the wing. - - - WingElements type, containing the elements of a wing - section. - - - - - - - - - - - - - - - - - - - Border of the fuel tank (either rib or spar). - - - - - - - - - - - - - - Spar uID of the bordering spar. - - - - - - - UID of the rib set of the bordering rib. - - - - - - RibNumber of the rib set of the bordering - rib. - - - - - - - - - - - - - - Definition of the geometry of the wing fuel tank by - defining a continouse list of borders. - - - - - - - - - - - - - - - - - - - - - - Definition of one wing fuel tank. - - - - - - - - - - - - - Name of the wing fuel tank. - - - - - - Description of the wing fuel tank. - - - - - - - - - - - - - - - - - Definition of different volumes of the fuel tank. - - - - - - - - - - - - - - Theoretical volume if material thicknesses - (ribs, spars, skins, stringers) and systems (fuel pumps, - pipes...) are neglected. - - - - - - - Usable fuel volume aircraft operations. - - - - - - Total real fuel tank volume. - - - - - - - - Factor between the usalbe fuel volume and - the real fuel volume. - - - - - Factor between the real fuel volume and the - theoretical optimum fuel volume. - - - - - - - - - - - - - - - List of wing fuel tanks. - - - - - - - - - - - - - - - - - - - - - - Definition of the wing-fuselage attachment - - - - Definition of the wing-fuselage attachment. The area - of the fuselage attachment (resp. center wing box, CWB) is - defined by defining one resp. two ribs from the rib definition. - If one rib is defined (rib1) the CWB goes from the closer end of - the componentSegment (e.g. wing symetry plane) to the defined - rib. If two ribs are defined (rib1 and rib2), the CWB is between - both ribs. - Additionally attachment pins can be defined. At those - positions the wing is attached to the fuselage. This can be e.g. - used for defining the wing-attachment of high wing - configurations, HTPs or VTPs. - - - - - - - - - - - Definition of first (=inner) rib of the - fuselage attachment. - - - - - Definition of the second (=outer) rib of the - fuselage attachment. Optional. Only to be used if attachment is - defined over two ribs. - - - - - Definition of position, orientation, materials - and blocked DOFs of attachment pins. - - - - - Definition of actuators (e.g. trim actuator of - an HTP) of the attachment. - - - - - - - - - - - - - Definition of the wing-fuselage attachment. - - - Definition of the wing-fuselage attachment - - - - - - - - - - - - - - - - - - - wingInterfaceDefinitionsType - - - CenterFuselage high wing interface definitions - - - - - - - - - - - - - - - - - - - - - - - - - centerFuselageMainFramesType - - - High wing main frame definition, containing mainframe - UIDs - - - - - - - - - - - - - - - - - - - - - wingInterfaceSupportStrutType - - - wingInterfaceSupportStrut type, containing support - strut definition - - - - - - - - - - Name of support strut. - - - - - Type description: lateral or longitudinal - support strut. - - - - - - - - - - - - - - - - - - wingInterfaceSupportStrutsAssemblyType - - - wingInterfaceSupportStrutsAssembly type, containing - support struts assembly - - - - - - - - - - - - - - - - - - - - Definition of the cell of the intermediateStructure - - - - - IntermediateStructure: - It defines the filling materials between the upper and - lower shell (e.g. honeycombe structures in a smeared - representation). IntermediateStructure is optional.The position - of the intermediateStructure is defined in so called cells (= - special areas on the wing). Default is no intermediateStructure. - - Material Definition of intermediateStructure: - - The material of the intermediateStructure is reference - by 'material'. The material orientation is defined by 'rotX' and - 'rotZ'. 'rotZ' is defined equivalent to the stringer angle resp. - the skin orthotropyDirection. 'rotX' equals a positive rotation - around the wings x-axis, while a rotation of zero is equivalent - to the wing middle plane. - A picture to clarify the reference direction of rotZ - (equivalent to orthothropy direction of the wing) can be found - in the picture below: - - - - Position definition by using cells: - A cell defines a special region of the wing. Within - this region the cell properties are defined. In general a cell - is defined by defining four borders – the cell leading and - trailing edge and the inner border and the outer border. Those - borders can either be defined by using eta/xsi coordinates or by - referencing to spars and ribs. Mixed definitions (e.g. forward - border is defined due to a spar, side borders due to eta - coordinates) is allowed. In general a cell is quadrilateral. But - if e.g. the spar, which is used for the definition of the - trailing edge, has a kink, the cell can have more than four - corners. - The cell leading and trailing edge (= forward and rear - border) can either be defined by referencing to a spar - (->sparUID) or by the defining the xsi (=relative chord) - coordinates of the border (xsi1 = inner end; xsi2 = outer end). - - The cell inner and outer border can either be defined - by referencing to a rib (->ribDefinitionUID and ribNumber) or - by the defining the eta (=relative spanwise) coordinates of the - border (eta1 = forward end; eta2 = rear end). - Some examples for wing cells can be found in the - picture below: - - - - - - - - - - - - - - - - - - Reference to the material of the intermediate - structure. - - - - - 'rotX' equals a positive rotation around the - wings x-axis, while a rotation of zero is equivalent to the wing - middle plane direction. - - - - - 'rotZ' is defined equivalent to the stringer - angle resp. the skin orthotropyDirection. - - - - - - - - - - - - - - IntermediateStructure cells - - - Definition of the intermediateStructure of the - componentSegment of the wing. - - - - - - - - - - - - - - - - - - - Definition of a ribCell - - - RibCells are optional elements. They are defined via a - fromRib and a toRib. The enumeration is within the ribSet. - RibNumber 1 starts at etaStart. - - - - - - - - - - Defines the beginning of the ribCell. The - enumeration is within the ribSet. - - - - - Defines the ending of the ribCell. The - enumeration is within the ribSet. - - - - - WING: The Rotation along the x describes a - rotation around a line, that is defined by the intersection of - the rib with the wing middle plane (orientated from leading to - trailing edge). This angle defaults to 90° which means, that the - rib is perpendicular on the wings middle plane. PYLON: The - Rotation along the z describes a rotation around the pylons - z-axis (= rotation in top view). This angle defaults to 90° - which means, that the rib is perpendicular to the pylons x-axis. - - - - - - The orthotropyDirection is defined as rotation - around the ribs z-axis. The rib coordinate system is defined as - follows: x-axis is from leading to trailingeEdge of the - componentSegment in the direction of the rib elongation. z-axis - is normal to the rib in the direction of positive eta. y is - defined by right hand rule. Rotation is around the z-axis. Zero - degrees are at the x-axis positive direction. - - - - - - - - - - - - - - - - - Cross section properties of a wing rib - - - wingRibCrossSectionType, containing the definition of - ribsCrossSection - - - - - - - - - - The orthotropyDirection is defined as rotation - around the ribs z-axis. The rib coordinate system is defined as - follows: x-axis is from leading to trailingeEdge of the - componentSegment in the direction of the rib elongation. z-axis - is normal to the rib in the direction of positive eta. y is - defined by right hand rule. Rotation is around the z-axis. Zero - degrees are at the x-axis positive direction. - - - - - - WING: The Rotation along the x describes a - rotation around a line, that is defined by the intersection of - the rib with the wing middle plane (orientated from leading to - trailing edge). This angle defaults to 90° which means, that the - rib is perpendicular on the wings middle plane. The rotation - angle is defined at the intersection point of the rib with the - ribReference line. The rib itself is allways straight and not - twisted. PYLON: The Rotation along the z describes a rotation - around the pylons z-axis (= rotation in top view). This angle - defaults to 90° which means, that the rib is perpendicular to - the pylons x-axis. - - - - - - - - Post element definition applied to all vertical intersections with spars - - - - - - - - - - - - - Explicit positioning of a wing rib - - - - Use this type for an explicit positioning of a rib. As opposed to - ribsPositioning, this defines a single rib connecting a specified start - and end point. - - - - - - - - - - - - - Defines the start of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the start of the rib defined by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the beginning of the rib using a specific sparPosition. - - - - - - - - - Defines the end of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the end of the rib given by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the end of the rib using a specific sparPosition. - - - - - - - - Defines the forward beginning of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - - - RibEnd defines the backward ending of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - - - - - - - - - - wingRibPointType - - - - The wingRibPointType is used to define reference points on ribs. - It can be used for rib set definitions (wingRibsPositioningType) as - well as explicit rib definitions (wingRibExplicitPositioningType). - - - - - - - - - - - - The UID of the rib definition. Can be a reference to nodes - of either wingRibsPositioningType or wingRibExplicitPositioningType. - - - - - - - For references of type wingRibsPositioningType this node indicates the rib number of the rib set. - If not given it defaults to 1. - - - - - - - Normalized xsi coordinate of the rib point which is measured along the rib - from the start point [0] towards the end point [1]. - - - - - - - - - - - - - - Definition of a set of ribs - - - - RibDefinitionType, containing the definition for ribs. - Ribs are defined in sets of one or more ribs. The positions of - the rib, as well as the orientation of the ribs are defined in - 'ribPositioing'. The cross section properties, as e.g. - materials, are defined in 'ribCrossSection'. - - - - - - - - - - - Name of the rib set - - - - - Description of the rib set - - - - - - - - - - - - - - - - - - - - Wing ribs - - - RibDefinitions type, containing the definition of all - ribs of the wing. - - - - - - - - - - - - - - - - - - - Positioning of a set of wing ribs - - - - The ribsPositioning type allows the definition of a set - of ribs which is distributed over a specified spanwise area. - The positions of the ribs are defined by placing the - ribs on a reference line on the wing (ribReference). The inner - and the outer beginning of the rib set is defined using etaStart - and etaEnd. The position of the forward and rear end of the ribs - is defined by ribStart and ribEnd. The orientation of the ribs - is defined in ribRotation. The number of ribs of the current rib - set is either defined by ribNumber or by spacing. - Three examples how ribs can be placed on the wing are - illustrated in the picture below. For more detailed information, - please refer to the description of each parameter. - - - - - - - - - - - - - - - - Defines the start of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the start of the rib by a point on a reference curve, - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the beginning of the rib using a specific sparPosition - - - - - - - - - Defines the end of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the end of the rib defined by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the end of the rib using a specific sparPosition - - - - - - - - Defines the forward beginning of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - - - Defines the backward ending of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - - - - The spacing of the ribs defines the distance between two ribs, - measured on the - ribReferenceLine. First rib is placed at etaStart. - - - - - - - Defines the number of ribs in this ribSet. First rib is at - etaStart on the - referenceLine, last rib is at etaEnd. The spacing is constant on the - ribReferenceLine. - - - - - - - - The ribReference is the reference line for the computation of the rib set spacing. - It can either be a sparUID or "trailingEdge" or "leadingEdge" - - - - - - - - RibCrossingBehaviour can either be 'cross' or 'end'. If it is set to'end' the ribs - of this rib set will end at the intersection with another rib. - If it is set to - 'cross' the ribs of this rib set will continue at the intersection - with another rib. - - - - - - - - - - - - - - - - - - - - - - Section of the wing. - - - - WingSection type, containing a wing section. The - sections contains elements, where the airfoils are defined. For - the definition of a wing at least two sections (root and tip) - have to be defined, but any number greater than 2 is also - possible. - Mathematically spoken a section is a coordinate system - that is translated, rotated and scaled relative to the wing - coordinate system. This transformation parameters are defined - withing the transformation section. - In addition to the translation, which is defined in - the transformation part, the section can be translated by using - the positionings vectors (wing->positiongs). Translation of - the positionings vectors is added to the translation of the - section. - An example for wing sections can be found in the - picture below: - - - - - - - - - - - - - - Name of wing the wing section. - - - - - - Description of the wing section. - - - - - - - - - - - - - - - - - Sections of the wing. - - - WingSections type, containing all the sections of the - wing. - - - - - - - - - - - - - - - - - - - Segment of the wing. - - - - A segment defines which two wing elements (=cross - sections) are linked to one wing segment. - An example for wing segments can be found in the - picture below: - - - - - - - - - - - - - - Name of wing the wing segment. - - - - - - Description of the wing segment. - - - - - - Reference to the element from which the - segment shall start. - - - - - Reference to the element at which the segment - shall end. - - - - - Optional and additional guidecurves to shape - the outer geometry. - - - - - - - - - - - - - - Segments of the wing. - - - WingSegments type, containing all the segments of the - wing. - - - - - - - - - - - - - - - - - - - Shells of the wing - - - Within the wingShellType the upper and lower skin of a - and the skin stringers are defined. At 'skin' and 'stringer' the - skin and stringer properties of the complete componentSegment are - defined. If different skin or stringer properties should be - defined in a special region of the wing this can be done within - 'cells'. - If the stringer should not be defined explicite, they - can be defined implizite by defining an equivalent material layer - and using a composite as material. - - - - - - - - - - - - - - - - - - - - - - Material properties of the wing skin. - - - - The wingSkinType describes the material properties of - the wing. - For composites materials: the positive z-direction is - from the outer side to the inner side. - For composites materials: the reference axis for the - orthotropyDirection is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - orthotropyDirection equals the rotation around the z-reference - axis. For details, please refer to the picture below: - - - - - - - - - - - - - - - Material properties of the wing skin. - - - - - - - - - - - - - - Wing spars - - - - Spars type, a spar is defined by sparSegments that - stretch between multiple sparPositions. The spar definition is - very flexible in CPACS. Spars can start and end at any position - of the wing, spars can have kinks at any position of the wing - and spars can cross each other or merge. - At first the spar points (->sparPositions) have to - be defined. Spar points are defined using the relative - coordinates eta and xsi. Spar points do lay on wing middle - plane. - Two or more spar points are connected to on spar - segment (->sparSegments). Each spar segment can be seen as - one spar. The spar geometry between two spar points is defined - as a direct/straight connection in global coordinate system - and not in eta xsi coordinates of the component segment. - One spar point can be used by more than one spar, if - e.g. two spars are merging. The detailed cross section of the - spar is also defined with sparSegments. - Pleas find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - - - - - - - - - - - - - - - - - - - - - Definition of the wing stringers. - - - - Within the wingStringerType wing stringers are - defined. The stringer are defined by referencing on the - stringerStructureUID, where the shape and material settings of - one single stringer is defined. In addition the orientaion and - the stringer pitch have to be defined: - One stringer intersects the point at the given xsi and - eta position. - - - - Alternatively, an exlicit stringer definition can be - applied if the stringers shall be tapered. - - - - - - - - - - - - - This is the simple and default stringer - definition - - - - The pitch describes the distance between to - adjacent stringers in the plane rectangular to the stringer - elongation direction. - - - - - - Stringer angle: the reference axis for the - stringer angle is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - stringers equals the rotation around the z-reference axis. For - details, please refer to the picture below. - - - - - - If the reference of the stringer angle shall - be different from the default implementation then this - parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to - provide the UID of a spar. - - - - - - This is the explicit stringer definition. - Please note that for a consistent definition two out of the - possible three elements innerBorder (xsiLE, xsiTE), outerBorder - (xsiLE, xsiTE) and stringer angle (and angle reference) must be - defined. Any combination of two of the three is valid - - - - - The number of stringers; default is 0 - - - - - - Stringer angle: the reference axis for the - stringer angle is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - stringers equals the rotation around the z-reference axis. For - details, please refer to the picture below. - - - - - - If the reference of the stringer angle shall - be different from the default implementation then this - parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to - provide the UID of a spar. - - - - - Inner border xsi coordinate at the leading - edge of the stringer definition - - - - - Outer border xsi coordinate at the leading - edge of the stringer definition - - - - - Inner border xsi coordinate at the trailing - edge of the stringer definition - - - - - Outer border xsi coordinate at the trailing - edge of the stringer definition - - - - - - - - - - - - - - - wingStructuralMountsType - - - - - - - - - - - - - - - - - - - - - - Wing type, containing all a lifting surface (wing, HTP, - VTP, canard...) of an aircraft model. - - - - Wing type, containing all a lifting surface (wing, - HTP, VTP, canard...) of an aircraft model. - Position of the wing: The position of the wing is - defined using the transformation parameters. Using those - parameters, the wing coordinate system is translated, rotated - and scaled. - Definition of the wings outer shape: The outer shape - of the wing is defined by airfoils that are placed within the 3D - space. Two airfoils are combined to one wing segment within the - segments. For the definition of the positions of the airfoils, - differnt sections are defined. Within each section one or more - elements are defined. The airfoil shape is defined within the - elements. If the wings outer shape should e.g. have a step it is - possible to define two different airfoils in one section by - using two elements. In most cases each section will only include - one element. Positionings are vectors that are used for an - additional translation of the sections by using 'user friendly - paramaters' as e.g. sweep and dihedral. Please note, the first - positioning may be non-zero. Often it will be zero just to - locate the wing at the position stated by the translation, but - this is not necessary. Finally the wing segments are defined by - combining two consecutive elements. A more detailed description - is given within the different parameters. - Definition of control surfaces, wing structures, wing - fuel tank and wing fuselage attachment: those parts are defined - within componentSegments. Please refer to the documentation - there. - - - - - - - - - - - - - - Name of the wing. - - - - - Description of the wing. - - - - - UID of part to which the wing is mounted (if - any). The parent of the wing can e.g. be the fuselage. In each - aircraft model, there is exactly one part without a parent part - (The root of the connection hierarchy). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The two elements that where the structural connection - is placed. - - - - - - - - - - - - - Element uID of the element of the CURRENT - componentSegment where the structural connection is placed. - - - - - - Element uID of the element of the second - componentSegment where the structural connection is placed. - - - - - - - - - - - - - - Two spars that are structurally connected. - - - - - - - - - - - - - Spar uID of the CURRENT componentSegment. - - - - - - Spar uID of the second componentSegment. - - - - - - - - - - - - - - wingWingAttachmentType - - - Definition of the structural connection between two - wings resp. two componentSegments. Note: All structural - connections between two wings/componetSegments have to be defined - using wingWingAttachments. The wingWingAttachment has only be - defined in one of the two componentSegments, that are connected. - - - - - - - - - - - UID of the componentSegment, that is connected - with the current one. - - - - - - - Defines if the upper shell of the current - componentSegment is structurally connected to the upper or lower - shell of the second componentSegment. Can have the values - 'upperShell' or 'lowerShell'. - - - - - Defines if the lower shell of the current - componentSegment is structurally connected to the upper or lower - shell of the second componentSegment. Can have the values - 'upperShell' or 'lowerShell'. - - - - - - - - - - - - - wingWingAttachmentsSparsType - - - - - - - - - - - - - - - - - - - - - - List of wingWingAttachments. - - - - - - - - - - - - - - - - - - - - - - wingsAeroPerformanceType - - - wingsAeroPerformance type, containing - wingsAeroPerformance - - - - - - - - - - - - - - - - - - - Wings - - - Wings type, containing all the lifting surfaces (wings, - HTPs, VTPs, canards...) of an aircraft model. - - - - - - - - - - - - - - - - - - - xsiIsoLineType - - - Iso line described by point of same xsi coordinate. - Can be either segment or component segment coordinates. - - - - - - - - - - Relative spanwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta value is considered to be in segment - eta coordinate; if it points to a componentSegment, - then componentSegment eta coordinate is used. - - - - - - - - - - - - - zCouplingType - - - - - - - - - - - - - Reference to the control surface that is - connected to this controll surface by the z-coupling.. - - - - - - Material of the movable part of the - z-coupling. - - - - - Definition of the attachment of the z-coupling - to this control surface. - - - - - Definition of the attachment of the z-coupling - to the other control surface. - - - - - - - - - - - - - - zCouplingsType - - - - - - - - - - - - - Definiton of one z-coupling. - - - - - - - - - - - - - - damTolBehaviourType - - - - - - - - - - - - - Damage tolerance law, Walker approach - - - - - Damage tolerance law, Forman approach - - - - - - - - - - - - - fatigueStressBasedBrownMillerType - - - - - - - - - - - - - Parameter sigma_f [N/m^2] - - - - - Parameter b [-] - - - - - Parameter epsilon_f [-] - - - - - Parameter c [-] - - - - - - - - - - - - - damTolWalkerType - - - - - - - - - - - - - Fracture toughness KIc [Pa m^0.5] - - - - - Parameter C0 [m/cycle] - - - - - Parameter m [-] - - - - - Parameter gamma [-] - - - - - - - - - - - - - damTolFormanType - - - - - - - - - - - - - Parameter Kc [Pa m^0.5] - - - - - Parameter C2 [m/cycle] - - - - - Parameter m2 [-] - - - - - - - - - - - - - - - - - The compartment defines an enclosed volume within the fuselage. It is defined by a set of border geometries. This could be pressureBulkheads, walls or floors and they are referred by their uIDs. The volume is closed with the fuselage skin. The geometry tool has to check, if the compartment definition gives a closed geometry. - - - - - - - - - - - The compartment defines an enclosed volume in the - fuselage. It is defined by a set of border geometries. - This could be pressureBulkheads, walls or floors and - they are referenced by their uIDs. The volume is closed - with the fuselage skin. The geometry tool has to check, - if the compartment definition gives a closed geometry. - - - - - - - - - Compartment geometry uIDs list. - - - - - - - Name of the compartment. - - - - - - - Description of the compartment. - - - - - - - Ideal design volume of the compartment. - - - - - - - - - - - - - - - - - - - - - - - UIDs of 2d structural fuselage elements - (e.g., pressure bulkheads, walls or - floors). The compartment will be - enclosed with the fuselage skin - - - - - - - - - - - - - - fatigueBehaviourType - - - - - - - - - - - - - Fatigue law, stress based Brown Miller approach [N/m^2] - - - - - - - - - - - - - plasticityCurvesType - - - - - - - Plastification curve incl. element elimination (isotropic - materials). The data may be used to describe the plastic behavior of isotropic - materials in non-linear analysis, such as crash simulations. The input is defined - according to the needs of Material 103 (single stress strain option) in the - PAM-CRASH explicit Finite Element code, but can also be used for equivalent material - laws in alternative simulation environment (see PAM-CRASH Solver Reference Manual., - Material 103). - - - - - - - - - - - - - - - - This type describes the plasticity curve of isotropic - materials - - - - ... - - Plastification curve incl. element elimination - (isotropic materials) - - Plastification curve incl. element elimination (isotropic - materials) The data may be used to describe the plastic behavior of - isotropic materials in non-linear analysis, such as crash - simulations. The input is defined according to the needs of Material - 103 (single stress strain option) in the PAM-CRASH explicit Finite - Element code, but can also be used for equivalent material laws in - alternative simulation environment (see PAM-CRASH Solver Reference - Manual., Material 103) - Source: PAM-CRASH V2010 - Notes Manual - - - - - - - - - - - - Name of the post failure definition - - - - - - - Description of the post failure - definition - - - - - - - Strain rate for following plastcity - curve [1/s] - - - - - - - - - - plasticEliminationStrain [-]; Plastic - strain for element elimination during - the non-linear analysis - - - - - - - - - - - - - - - - Definition of wall positions to place - walls inside fuselage. - - - - - - - List of wall segments. - - - - - - - - - - - - Definition of wall positions to place walls inside fuselage. - - - - - - - Wall position definition specifying a point in the fuselage to be connected to a wall segment. - - - - - - - - - - - - - - Wall segment definition. - - - - - - - - - - Definition of a wall position to place walls inside fuselage. - - - - - - - UID of a bulkhead determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - - UID of a wall segment determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - - UID of fuselage section determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - Absolute x-coordinate of wall position in fuselage coordinate system. - - - - - - Absolute y-coordinate of wall position in fuselage coordinate system. - - - - - Absolute z-coordinate of wall position in fuselage coordinate system. - - - - - - - - - - - - Defines extrusion direction. Rotation angle - around fuselage x-axis of extrusion direction. A - value of 0deg means fuselage z-axis as extrusion - direction. Default: 0.0deg. - - - - - - - - - - - - - - By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionaly extruded in negative direction as well. Default: false. - - - - - Rotates the first edge of the wall segment so that it is adjacent with the structural element defined in the first wall position (bulkhead, fuselage section or another plane wall). Default: false. - - - - - Rotates the last edge of the wall segment so that it is adjacent with the structural element defined in the last wall position (bulkhead, fuselage section or another plane wall). Default: false. - - - - - - A list of uIDs referencing other - structural/geometric elements that shall serve - as a boundary of the wall element. Possible - references are floor, wall or - genericGeometryComponent. A major requirement is - that the referenced element has an intersection - with the wall for at least the distance between - two wall positions. So that a full geometric - face of the wall is bounded by it. Neighbouring - wall faces that are not completely bounded by - the reference element are not affected. - - - - - - - Reference to the structural property definition - of this wall segment. - - - - - - - List of wall position uIDs that are used for - this wall segment. At least two positions must - be defined (for start and end position of wall). - If more than two positions are referenced here, - the wall is constructed out of several planar - faces that connect two consecutive positions - (Note: Order of position uIDs defines - connectivity). - - - - - - - - - - - A list of uIDs referencing other structural/geometric - elements that shall serve as a boundary of the wall - element. Possible references are floor, wall or - genericGeometryComponent. A major requirement is that - the referenced element has an intersection with the wall - for at least the distance between two wall positions. So - that a full geometric face of the wall is bounded by it. - Neighbouring wall faces that are not completely bounded - by the reference element are not affected. - - - - - - - - - UID referencing another - structural/geometric element that shall - serve as a boundary of the wall element. - Possible references are floor, wall or - genericGeometryComponent. - - - - - - - - - - - - - - - Structural wall reinforcement definition specifying physical properties of a fuselage wall segment. - - - - - - - - - - - - - - Reference to a sheet element definition specifying the physical properties of the wall's shell. - - - - - Reinforcements running along the position polygon of the wall positions. - - - - - Reinforcements running in lateral/radial direction in the wall segment plane. - - - - - Reinforcement at inner side of wall. This is either, depending on the extrusion direction flag, the edge of the wall that connects the positions ("positiveDirection") or the edge of the wall where the wall intersects with the fuselage skin in the opposite direction of the extrusion direction. - - - - - - Reinforcement at outer side of wall. The outer side of the wall is defined as the edge of the wall at the intersection of the wall with the fuselage skin running along the main direction of the wall. - - - - - - - Lateral caps are the reinforcements of - the wall at the edges lateral to the - main direction of the wall. These caps - can be either defined at start, end, - start and end or at all wall positions - according to the placement flag. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reference to wall position uID. - - - - - - - - - - - - nacelleCowlType - - - - Describes the cowl geometry for nacelles - using sections positioned around the - rotational center of the engine. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nacelleCenterCowlType - - - - Describes the curve for defining rotational center of the engine. - - - - - - - - - - - - - - - - - - - - - - Aerodynamic performance - - - - The aerodynamic coefficients and derivatives are stored in aerodynamic maps. Individual maps can be used to - gather the aerodynamic characteristics for specific boundary conditions. - - - - - - - - - - - - - - - - - - - - - Aerodynamic map - - - - - The aeroMap contains aerodynamic coefficients and derivatives for a specific set of aerodynamic - and configurative boundary conditions. - - The aeroMap allows for the simultaneous specification of multiple - controlDevice settings. - In this case, it is assumed that a cumulative setting is built by summing up the individual settings. The correct - sequence of this summation is described in the controlDistributorType documentation. - - - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - - - - - - Boundary conditions - - - Specification of boundary conditions. - - - - - - - - - - - - - - Offset from temperature of the - atmospheric model [K]. For more details - on atmospheric models, please refer to - documentation of the <CPACS> root - element. - - - - - - - Configuration settings - - - - - - - - - - - - - - Control elements - - - Specification of control element settings. Control elements can be controlDistributors - or individual control devices, such as control surfaces or landing gears. - - - - - - - - - - - - - - - - - - - - Control element - - - Specification of an control element setting. A control element can be a controlDistributor - or an individual control device, such as a control surface or a landing gear. - - - - - - - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Control parameter of the control device - - - - - - - Reference to a control distributor uID - - - - - Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - - - - - - - - Aerodynamic coefficients and derivatives - - - - - Description - - The aeroPerformanceMap contains a map - with aerodynamic data of the complete aircraft in the form of - nondimensional coefficients. The force coefficients in - i-direction (ci) - are nondimensionalized by dynamic pressure and reference area, - the moment coefficients (cmi) by dynamic pressure, reference - area and reference length. - - All coefficients in the aeroPerformanceMap relate to - the aerodynamic coordinate system which is deducted from the CPACS coordinate system by - the transformations of angle of attack and angle of yaw. See the documentation of the - CPACS element for further details. - - The dependend parameters of the aeroPerformanceMap are altitude, - machNumber, angleOfSideslip and - angleOfAttack. These elements are vectors of equal length, where values - with identical indices belong together. The solution vectors ci and - cmi have the same length as the input vectors. Shown below is an example where - with 10 values per vector: - - <altitude mapType="vector">12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02</altitude> -<machNumber mapType="vector">0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2</machNumber> -<angleOfSideslip mapType="vector">0;0;0;0;0;2;2;2;2;2</angleOfSideslip> -<angleOfAttack mapType="vector">-2;0;2;4;6;-2;0;2;4;6</angleOfAttack> -<cd mapType="vector">0.056;0.094;0.132;0.17;0.208;0.072;0.11;0.148;0.186;0.224</cd> -<cs mapType="vector">0.;0.;0.;0.;0.;0.01;0.015;0.02;0.025;0.03</cs> -<cl mapType="vector">-0.1;0.04;0.18;0.32;0.46;-0.08;0.03;0.14;0.25;0.36</cl> - - The aerodynamic coefficients for altitude=1200m, machNumber=0.2, - angleOfSideslip=0° and angleOfAttack=6° can be found at the 5th index: - cd=0.208, cs=0 and cl=0.46. - - - - - - - - - - - - - - - Altitude [m] - - - - - - - Mach number - - - - - - - Sideslip angle [deg] - - - - - - - Angle of attack [deg] - - - - - - - Drag coefficient in aerodynamic - coordinates - - - - - - - Coefficient of the side force vector in - aerodynamic coordinates (perpendicular - to lift and drag) - - - - - - - Lift coefficient in aerodynamic - coordinates - - - - - - - - - - - - - - - - - - - Increment maps for aerodynamic coefficients - - - - - - - - - - - - - - - - - - - Increment map from aerodynamic coefficients - - - The increment map is composed of two-dimensional arrays. The first dimension is given by the - length of the input vectors of the baseline aeroPerformanceMap and the second dimension by the vector of relative - deflections (or command inputs) of control surfaces (or control distributors). An example is described in the <CPACS> - root element. - - - - - - - - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Increment of drag coefficient in aerodynamic coordinates - - - - - Increment of coefficient of the side force vector in aerodynamic coordinates (perpendicular to lift and drag) - - - - - Increment of lift coefficient in aerodynamic coordinates - - - - - Increment of cmd - - - - - Increment of cms - - - - - Increment of cml - - - - - - - - - - - - - - Aerodynamic limitations - - - - This map explicitly specifies limitations of a vehicle in terms of angles of attack and sideslip angles. - All vectors, i.e. altitude, machNumber, - angleOfSideslip and angleOfAttack, must have the - same length. To avoid redundancy with the aeroPerformanceMap, this type does not contain - any aerodynamic coefficients. - Since angleOfSideslip and angleOfAttack - are closely interdependent for a given machNumber and altitude - combination, a positive and negative maximum angleOfAttack is defined for a given combination of - machNumber, altitude and - angleOfSideslip. The limits of angleOfSideslip - can be determined by evaluating the nominal decrease of angleOfAttack values or by - agreeint with the data supplier that the minimum and maximum value of the angleOfSideslip - vector corresponds with physical limits. - In order to avoid data redundancy, the operational limits should not reflect the extrema of aerodynamic - coefficients as these can be extracted from the performanceMap via interpolation. - Note: In future CPACS versions, a revision of the aeroLimitsMap - will be targeted, since operational limits are not a purely aerodynamic issue. - - - - - - - - - - - - Altitude [m] - - - - - - - Mach number - - - - - - - Angle of sideslip - - - - - - - - - - - - - - - - Increment maps for limitation values due to movable device deflections - - - Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control - surfaces or landing gears). - - - - - - - - - - - - - - - - - - - Increment maps for limitation values due to movable device deflections - - - Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control - surfaces or landing gears). - - - - - - - - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - Reference to an increment map of the aeroPerformanceMap - - - - - - Increments of the vehicle operation limits - - - - - - - - - - - - - - Damping derivatives for positive and negative rotation rates - - - - - 0. General overview - - This type contains the damping derivatives. They are - split up into those derivatives for positive rotation rates, - and those for negative rotation rates. - - - - 1. <positiveRates> (optional) - - Damping derivatives, calculated by positive rotation - rates. - - - - 2. <negativeRates> (optional) - - Damping derivatives, calculated by negative rotation - rates. - - - - - - - - - - - - - - - - - - - - - - - Damping derivatives - - - This type contains aerodynamic performance maps with - the damping derivatives. The derivatives are calculated using - rotational rates [rad/s], normalized by: - Rate*ReferenceLength/flow speed. The rotations are performed - around the global axis directions with the aircraft model's - global reference point as origin. The damping derivative - performance maps are vectors of the same length as the input - vectors of the baseline aerodynamic performance maps, consisting of - semicolon separated values. - - - - - - - - - - - Change of cd by normalized roll rate - - - - - Change of cd by normalized pitch rate - - - - - Change of cd by normalized yaw rate - - - - - Change of cs by normalized roll rate - - - - - Change of cs by normalized pitch rate - - - - - Change of cs by normalized yaw rate - - - - - Change of cl by normalized roll rate - - - - - Change of cl by normalized pitch rate - - - - - Change of cl by normalized yaw rate - - - - - Change of cmd by normalized roll rate - - - - - Change of cmd by normalized pitch rate - - - - - Change of cmd by normalized yaw rate - - - - - Change of cms by normalized roll rate - - - - - Change of cms by normalized pitch rate - - - - - Change of cms by normalized yaw rate - - - - - Change of cml by normalized roll rate - - - - - Change of cml by normalized pitch rate - - - - - Change of cml by normalized yaw rate - - - - - - - - - - - - - Vehicle operation limit - - - Vehicle operation limit defined by sets of minimum and maximum angleOfSideslip - and minimum and maximum angleOfAttack for a given altitude and Mach number. - This might be, e.g., a safety margin to the angle of attack at maximum lift or the flight - attitude a fighter aircraft is capable to fly in stalled conditions. The corresponding aerodynamic coefficients must - be extracted from the aeroPerformanceMap. - - - - - - - - - - Minimum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - - - - - Maximum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - - - - - - - - - - - - - Operation Limit Increments - - - Changes of the deltas of operation limit angles with respect to the corresponding increment aeroPerformanceMaps. - Values are specified as an array with same indices like the corresponding increment map. - - - - - - - - - - Minimum delta angle of attack [deg] - - - - - Maximum delta angle of attack [deg] - - - - - - - - - - - - - Toolspecific data - - - - This type contains a list of tools each specifying some basic tool information as well as the actual toolspecific part. - - The toolspecific elements must be defined in a separate namespace which can be specified and linked with the corresponding XSD file - in the CPACS header: - <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd" - xsi:schemaLocation="http://www.cpacs.de/myTool pathToToolspecificSchemaFile/toolspecific_myTool.xsd"> - - A simple example could look like this: - <toolspecific> - <tool> - <name>myToolName</name> - <version>1.2.3</version> - <myTool xmlns="http://www.cpacs.de/myTool" schemaVersion="1.0"> - <parentElement> - <childElement1>stringValue</childElement1> - <childElement2>1.0</childElement2> - </parentElement> - </myTool> - </tool> -</toolspecific> - - - - - - - - - - - - - - - - - - - - Tool identification - - - - Tool information as described in the toolspecificType. - - - - - - - - - - - - Name of the tool - - - - - - - Version of the tool - - - - - - - Wildcard for the root element of a toolspecific namespace - - - - - - - - - - - - - - Global analysis information - - - - - - - - - - - - - - - - - - - - - - - Load application points - - - - Multiple sets of scattered load application points can be defined. However, no specific information about the corresponding loads (e.g. whether aerodynamic or structural loads are involved) or mesh topologies are specified here, as such assumptions are tool-specific. - - - - - - - - - - - - - - - - - - - - - Load application point set - - - - - A point set contains discrete spatial points at which loads are applied (e.g., aerodynamic or structural loads). A typical procedure in CPACS is as follows: - - - - Reference a wing, fuselage or control surface by its uID using the componentUID node. - Define a reference axis through the above component with the loadReferenceLine element to specify where a load distribution shall be applied. - Compute the intersections with (e.g.) ribs of the referenced component (wing, fuselage or control surface) and write the results into loadApplicationPoints. This procedure results from common practice where the forces in structural analyses are typically introduced at structural elements such as ribs and spars. With respect to preliminary aircraft design a two-dimensional load distribution is preferred. However, an arbitrary distribution of the load application points is possible (without the intersection of structural elements with a reference axis in the previous step), for example to define discrete load distributions on the wing surface in streamwise and spanwise direction. - Specify the location and orientation of cut loads in the cutLoadIntegrationPoints element and the corresponding connectivity information in the connectivities node. - - - - - - - - - - - - - - - - - UID of a wing, fuselage or control surface - - - - - - - Reference axis (line) for load distribution - - - - - - - List of points at which load vectors are - applied to - - - - - - - List of points at which cut loads are applied to - - - - - - - Specification of connectivity properties between points - - - - - - - - - - - - - - - Vehicle configurations - - - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - - - - - - - - - - - - - - - - - - - - - Vehicle configurations - - - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - - - - - - - - - - - - Name - - - - - - - Description - - - - - - - - - Deck configurations - - - - - - - - - - - - - - - Internal pressure of a deck - - - - - - - - - - - Internal pressure of a fuselage, deck or compartment - - - - - - - - - - - - - - Cabin pressure - - - - Internal pressure of a fuselage, deck or compartment - - - - - - - - - - - - UID of a fuselage, deck or compartment - - - - - - - Internal pressure [Pa] - - - - - - - - - - - - - - Load set - - - A set of forces and moments - - - - - - - - - - - Description - - - - - - - UID of load application point set (analysis/global/loadApplicationPoints) - - - - - - - Force in x-direction [N] - - - - - - - Force in y-direction [N] - - - - - - - Force in z-direction [N] - - - - - - - Moment around x-axis [Nm] - - - - - - - Moment around y-axis [Nm] - - - - - - - Moment around z-axis [Nm] - - - - - - - Nodal displacement in x-direction [m] - - - - - - - Nodal displacement in y-direction [m] - - - - - - - Nodal displacement in z-direction [m] - - - - - - - Nodal rotation around x-axis [deg] - - - - - - - Nodal rotation around y-axis [deg] - - - - - - - Nodal rotation around z-axis [deg] - - - - - - - Load brake-down - - - - - - - - - - - - - - - Load sets - - - - A list of load sets - - - - - - - - - - - - - - - - - - - - - Aerodynamic load cases - - - - Combines a set of aerodynamic load cases - - - - - - - - - - - - - - - - - - - - Aerodynamic load case - - - - Specification of an aerodynamic load case - - - - - - - - - - - - Name - - - - - - - Description - - - - - - - - - - - - - - - - - - Specification - - - - Specification of the vehicle properties and dynamics - - - - - - - - - - - Altitude - - - - - - - Mach number - - - - - - - Angle of sideslip [deg] - - - - - - - - Angle of attack [deg] - - - - - - - Target lift coefficient - - - - - - - - Normalized roll rate [rad/sec]. It is specified around the global x-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: pStar = p * reference length / flow speed. - - - - - - - Normalized pitch rate [rad/sec]. It is specified around the global y-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: qStar = q * reference length / flow speed. - - - - - - - Normalized yaw rate [rad/sec]. It is specified around the global z-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: rStar = r * reference length / flow speed. - - - - - - - - Reference to a weight and balance description - - - - - - - - - - - - Aerodynamic loads - - - - Description of the aerodynamic loads - - - - - - - - - - - - Angle of attack [deg] - - - - - - - Angle of sideslip [deg] - - - - - - - - - - - - - - - - Aerodynamic loads of components - - - - Specification of the aerodynamic loads of components - - - - - - - - - - - - - - - - - - - - Aerodynamic data of components - - - - Aerodynamic data of individual components of the aircraft (e.g. control surface loads and hinge moments) - - - - - - - - - - - - Reference to a component uID - - - - - - - - - - - - - - - Aerodynamic loads of the vehicle - - - - Description of the aerodynamic loads of the vehicle - - - - - - - - - - - - - - - - - - - - - Aerodynamic coefficients - - - - A set of aerodynamic coefficients in the aerodynamic coordinate system - - - - - - - - - - - - Drag coefficient in aerodynamic - coordinates - - - - - - - Coefficient of the side force vector in - aerodynamic coordinates (perpendicular - to lift and drag) - - - - - - - Lift coefficient in aerodynamic - coordinates - - - - - - - Aerodynamic moment around d-axis of the aerodynamic coordinate system - - - - - - - Aerodynamic moment around s-axis of the aerodynamic coordinate system - - - - - - - Aerodynamic moment around l-axis of the aerodynamic coordinate system - - - - - - - - - - - - - - - Drag contributions - - - - The drag contributions relate to different physical mechanisms. The sum of the contributions does not have to be equal to the total drag. - - - - - - - - - - - - Drag contributions due to the displacement of the flow around a component. Zero for irrotational two-dimensional flows. - - - - - - - Drag contributions due to shear forces on surfaces - - - - - - - Drag contributions due to friction - - - - - - - Drag contributions due to energy loss through vortex structures caused by the pressure difference between the upper and lower sides of three-dimensional lifting surfaces. - - - - - - - Drag contributions due to mixing of streamlines between airframe components (e.g., interaction between wing and fuselage or pylon and wing). - - - - - - - Drag contributions due to energy dissipation in shock waves - - - - - - - Drag contributions due to trimmed aircraft configuration - - - - - - - - - - - - - - Aerodynamic coefficients breakdown - - - - - Breakdown of the total aerodynamic coefficients into contributions - from the various vehicle componenents. A detailed breakdown is only specified - for the wing. Other components, such as the fuselage, are more generically - referred to as otherComponents. Since - the sum of the contributions within a breakdown must equal the total - coefficients, the remaining contributions must be listed in - remainingContributions. - - - The remainingContributions cannot be defined alone. Either the - definition of a wing, otherComponents - or both together is valid and can be combined with remainingContributions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of the wings - - - - Contains a list of wings for which aerodynamic coefficients are specified - - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of a wing - - - - - Describes the contributions of a specific wing to the total aerodynamic coefficients of a vehicle - - - It is obligatory to reference a wing via its uID and to provide its - coefficients. The breakdown of the coefficients comprises the segments - and remainingContributions. The latter must only be specified if segments - is given. - - - - - - - - - - - - - Reference to a wing uID - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of wing segments - - - - Contains a list of wing segments for which aerodynamic coefficients are specified - - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of a wing segment - - - - - Describes the contributions of a specific wing segment to the total aerodynamic coefficients of a wing - - - It is obligatory to reference a segment via its uID and to provide its - coefficients. The breakdown of the coefficients comprises the strips - and remainingContributions. The latter must only be specified if strips - is given. - - - - - - - - - - - - - Reference to a wing segment uID - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of strips within a wing segment - - - - Contains a list of strips within a wing segment for which aerodynamic coefficients are specified - - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of a strip within a wing segment - - - - - Describes the contributions of a specific strip within a wing segment to the total aerodynamic coefficients of a wing segment - - - The strip extends spatially between two eta coordinates (i.e., from an inner border to an outer border). - In order to avoid redundancy, the inner border (denoted as from) is always identical to the outer border of the previous strip (denoted by to). - Accordingly, only the to-border can be specified explicitly, while the from-border equals implicitly either to 0 - (for the first strip) or the toSegmentEta value of the previous element. The toSegmentEta of the last strip - must be equal to 1! - - - It is obligatory to provide the coefficients of the strip. The breakdown comprises the chordwiseParts - and remainingContributions. The latter must only be specified if the breakdown into chordwiseParts - is given. This breakdown is optional. If it is specified, but the sum of all chordwiseParts does not match the strip coefficients, one or more remainingContributions may be applied - to ensure consistency (sum of all chordwiseParts + sum of all remainingContributions must be equal to total strip coefficients). - - - - - - - - - - - - - Spanwise coordinate eta in the segment coordinate system to define the end of the strip - - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of a chrordwise part within a wing segment strip - - - - Contains a list of chordwise parts within a wing segment strip for which aerodynamic coefficients are specified - - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of a chordwise part within a within a wing segment strip - - - - - Describes the contributions of a specific par within a wing segment to the total aerodynamic coefficients of a wing segment strip - - - A chordwisePart aescribes the contributions of a specific chordwise part within a wing strip - to the total aerodynamic coefficients of this strip. It extends spatially between the two eta - positions of the parent strip (see strip documentation) and four xsi positions in the segment coordinate system. - As with the parent stips, only the trailing border (..ToSegmentXsi) of a chordwisePart is defined, while the leading border always equals the trailing border of the preceding chordwisePart (or 0 for the first part). - To account for oblique trailing borders (e.g., to match the aileron on a tapered wing) two different toSegmentXsi positions can be defined, one at the inner border (innerBorderToSegmentXsi) and one at the outer border (innerBorderToSegmentXsi) of the parent strip. - The innerBorderToSegmentXsi and outerBorderToSegmentXsi of the last chordwisePart must be equal to 1. - - - - - - - - - - - - - Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the inner eta border - - - - - - - Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the outer eta border - - - - - - - - - - - - - - - - Remaining contributions to aerodynamic coefficients - - - - This node lists the remaining contributions which were not specified so that the sum of the coefficients are equal to the total coefficients. - - - - - - - - - - - - - - - - - - - - Remaining contribution to aerodynamic coefficients - - - - This node lists a remaining contribution which was not specified so that the sum of the coefficients are equal to the total coefficients. - - - - - - - - - - - - Name - - - - - - - Description - - - - - - Type (numerical/unspecified): "numerical", for example, describes rounding errors to clearly - separate them from other effects currently labeld as "unspecified". - The latter usually summarizes physical effects such as viscosity and should be further described via "description". - The approach is currently being tested in practice in order to derive a robust definition of categories in the future. - - - - - - - - - - - - - - - - - - - - - - - - Reference values for aerodynamic coefficients - - - - Specification of reference values for aerodynamic coefficients. - - - - - - - - - - - - Reference area - - - - - - - Reference lengt - - - - - - - Reference point - - - - - - - Reference translation - - - - - - - Reference rotation - - - - - - - - - - - - - - Aerodynamic contributions of the components - - - - Contains a list of components for which aerodynamic coefficients are specified - - - - - - - - - - - - - - - - - - - - Aerodynamic contributions of a component - - - - Describes the contributions of a specific component to the total aerodynamic coefficients - - - - - - - - - - - - Reference to a component - - - - - - - - - - - - - - - Atmospheric model - - - Available options: ISA. See documentation of <CPACS> root element for further details. - - - - - - - - - - - - - - - - - - Flight Envelopes - - - - Specification of flight envelopes - - - - - - - - - - - - - - - - - - - - - Flight Envelope - - - - Specification of a flight envelope - - - - - - - - - - - - Offset from temperature of the atmospheric model [K] - - - - - - - - - - - - - - - Flight envelope speed - - - - Specification of the V-speed - - - - - - - - - - - - - Vector with altitudes - - - - - - - Vector with True Airspeeds - - - - - - - - - - - - - - Speed designators - - - - Provides an enumerated list of V-speeds as defined by regulations. - - - - - - - - - - - Design maneuvering speed - - - - - - - Design speed for maximum gust intensity - - - - - - - Design cruise speed, used to show compliance with gust intensity loading - - - - - - - Design diving speed, the highest speed planned to be achieved in testing - - - - - - - Designed flap speed - - - - - - - Stall speed or minimum steady flight speed for which the aircraft is still controllable - - - - - - - Stall speed or minimum flight speed in landing configuration - - - - - - - Stall speed or minimum steady flight speed for which the aircraft is still controllable in a specific configuration - - - - - - - Minimum control speed - - - - - - - Never exceed speed - - - - - - - Maximum operating limit speed - - - - - - - - - - - - - Landing gear base - - - - Base type for landing gears (i.e. nose gear, main gear and skid gear). - An example of a nose and main gear is shown below: - - - - - - - - - - - - - - Name - - - - - Description - - - - - UID of the parent component. If set, the position of the main strut is defined relative to the parent coordinate system. - - - - - - - - - Total length of landing gear, equals the distance from the middle of the bogie/axles to the axis of rotation of the pintle strut. Distance is measured while landing gear is fully extended and in airborne condition (i.e., if a spring is present, the totalLength includes the springDeflectionLength) - - - - - Static suspension travel means the positive distance between the total length in airborne condition and the reduced length due to compression on the ground. - - - - - Compressed suspension travel means the positive distance between the total length in airborne condition and the maximum reduced length due to maximum compression on the ground (e.g., landing shock). - - - - - - - Transformation with respect to the uppermost point of the main strut. From this point the landing gear is oriented in negative z-direction by default. - - - - - - - - - - - - - - - - - - - - - - - Landing gear control parameters - - - - Parameters of a landing gear control such as extraction or steering. - - - - - - - - - - - - Retraction angle of the main landing - gear. Equals a rotation around the - global z-axis in degrees. 0 = retraction - to the front; 90 = retraction to the - left; 180 = retraction to the rear; 270 - = retraction to the right. - - - - - - - - Distance of the center of rotation to the top of the main strut - for retracting and extending the landing gear. I.e., a value of - 0 means that the landing gear will rotate around the upper end - of the main strut during retraction. If this value is greater - than 0, the center of rotation is shifted by this value above - the main strut end point (translation along the main strut axis). - - - - - - - - - - - - - - Landing gear control functions - - - - - A list of functions which can be addressed by the controlDistributor. - - - - - - - - - - Extension path - - - - - Steering path - - - - - Braking state - - - - - - - - - - - Braking function - - - - - Describes the braking state of the landing gear. - - - - - - - - - - Control parameter indicating that the brake is set - - - - - Control parameter indicating that the brake is released - - - - - - - - - - - - Steering path - - - - - Describes the steering path of the landing gears via a list of steps. - - - - - - - - - - Step within the steering path - - - - - - - - - - - - Steering step - - - - - Describes a step with the steering path of the landing gear. - - - - - - - - - - Step type (centered, fullBackboard or fullStarboard) - - - - - - - - - - - - Control parameter - - - - - Steering angle [deg] - - - - - - - - - - - Extension path - - - - - Describes the extension path of the landing gears via a list of steps. - - - - - - - - - - Step within the extension path - - - - - - - - - - - - Extension step - - - - - Describes a step with the extension path of the landing gear. Make sure to provide a least one step with stepType=extracted! - - - - - - - - - - Step type (retracted or extracted) - - - - - - - - - - - - Control parameter - - - - - Extension angle of the main strut [deg] - - - - - - - - - - - Assembly of landing gear components - - - - - Describes an assembly of the various landing gear components - - - - - - - - - - - - Main strut - - - - - - - - - - Drag strut (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - - - - - - - Pintle strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - Pintle strut (one or two pintle struts are supported) - - - - - - - - Side strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - - - - - - - - Strut assembly - - - Geometric description, spatial placement and specification of material parameters - - - - - - - - - - Strut properties - - - - - The starting point of the support strut must connect to the main strut. This element specifies the relative position on the main strut (0 -> top end, 1 -> bottom end). - - - - - - - - - - - - End position in absolute coordinates. Coordinates are relative to parent if it has a parentUID reference (otherwise global). - - - - - End position in eta/xsi/relHeight coordinates - - - - - End position as a relative position on another strut of this landing gear - - - - - - Attachment to an aircraft wing or fuselage component - - - - - Reference to an actuator uID - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Strut properties - - - - - Geometric description and material properties - of a strut - - - - - - - - - - - - - (Outer) radius of the strut - - - - - - Material of the strut - - - - - Inner radius of the strut - - - - - - - - Reference to structural element for a more - detailed cross section definition - - - - - - - - - - - - - - - - Definition of the wing attachment - - - - - Definition of the wing attachment, if - attached to the wing. The definition - includes the position of the landing gear as - well as the information to which spars resp. - supportBeam the gear is attached. - - - - - - - - - - - - UID of the second spar, where the landing gear is attached to. Only used, if the landing gear is attached between two spars. - - - - - - UID of a set of ribs (ribDefinition) - - - - - Number of the rib in the rib set (ribDefinition) - - - - - - - - UID of the structural mount - - - - - - - - - - - - - - - Main landing gear support beam - - - - Definition of the main landing gear support beam, if a - support beam is used for the attachment. The defintion includes - cross section properties as well as the position of the support - beam. - - - - - - - - - - - - - - - - - - - - - framePositionUIDs of the frame - - - - - A framePostion defines a location where a frame in mounted. - - - - - - - - - - - framePositionUID of the frame, where the landing gear - is attached to. - - - - - - - - - - - - - Position of the landing gear on a wing - - - - Definition of the position of the landing gear - (intersection point of main strut and pintle sturt) on a wing, - using relative componentSegment coordinates - - - - - - - - - - Relative height of spar or rib at which landing gear is attached. - - - - - - Relative spanwise position (eta) of spar at which landing gear is attached. - - - - - Relative chordwise position (xsi) of the rib at which landing gear is attached. - - - - - - - - - - - - - Definition of the main landing gear support beam - position - - - Definition of the main landing gear support beam - position - - - - - - - - - - Relative chordwise coordinate (xsi) of the - inner end of the support beam. The eta - position of the inner end is defined by the eta position of the - wing root (=wing-fuselage attachment). - - - - - Relative spanwise coordinate (eta) of the - outer end of the support beam. The xsi - coordinate of the outer end is defined by the spar position - (first spar), where the support beam is attached to. - - - - - - - - - - - - - - Configuration - - - - Contains references to control control devices and (or) the global aircraft configuration node. - - - - - - - - - - - - - Reference to the aircraft configuration node (aircraft/model/configurations/configuration) - - - - - - - State description of the control elements - - - - - - - - - - - - - - Standard profile - - - - - - - - - - - - - - - - - - - - - - - Rectangle - - - - The width of the profile is always 1, since scaling is performed after referencing it (e.g., in the fuselage). - The resulting profile is defined by the following equation: - - - - with c = cornerRadius and r = heightToWidthRatio. - Example: Rectangle with cornerRadius=0.125 and heightToWidthRatio=0.5 - - - - - - - - - - - - - - - - - - Corner radius - - - - - - - - - - - - - - - - - - Height-to-width ratio - - - - - - - - - - - - - - - - Superellipse - - - - A profile based on superellipses is composed of an upper and a lower semi-ellipse, which may differ from each other in their parameterization. The total width and height of the profile is always 1, since scaling is performed after referencing (e.g., in the fuselage). - This lowerHeightFraction describes the portion of the lower semi-ellipse on the total height. - The resulting profile is defined by the following set of equations: - - - - - - - with - - - - The following examples indicate the various possibilities of parametric profiles: - Example 1: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (0.5; 2; 5; 3; 0.25) - - - - Example 2: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (2; 2; 2; 2; 0.5) = a circle - - - - Example 3: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (1; 1; 1; 1; 0.5) = a square / diamond - - - - Note: For exponents that are infinitely large, the superellipse converges to a rectangle. However, the value Inf is not a valid entry at this point. Use the square element instead. - - - - - - - - - - - Exponent m for upper semi-ellipse - - - - - Exponent n for upper semi-ellipse - - - - - Exponent m for lower semi-ellipse - - - - - Exponent n for lower semi-ellipse - - - - - - Fraction of height of the lower semi-ellipse relative to the total height - - - - - - - - - - - - - - - - - - - - Performance Cases - - - - Definition of missions and point performance events to evaluate the performance of a vehicle. - The definition of performance cases is independent from a specific vehicle. - - - - - - - - - - - - - - - - - - - - - - - - UID of the runway - - - - - - - Offset from runway threshold in cartesian coordinates in the runway coordinate system - - - - - - - - - - - - - - - - UID of the runway - - - - - - - Offset from runway threshold in cartesian coordinates in the runway coordinate system - - - - - - - - - - - - - - - Requirements - - - - Requirement settings for the point performance definition - - - - - - - - - - - Sustained load factor to be achieved - - - - - - - Instantaneous load factor to be achieved - - - - - - - Specific excess power to be achieved [m/s] - - - - - - - Roll rate to be achieved [deg/s] - - - - - - - Roll acceleration to be achieved upon control onset [deg/s^2] - - - - - - - Roll acceleration to be achieved upon control stop [deg/s^2] - - - - - - - - - - - - - - Controllability requirements - - - Contains a list of controllability requirements - - - - - - - - - - - - - - - - - - - - Trim requirements - - - Contains a list of trim requirements - - - - - - - - - - - - - - - - - - - - - Controllability requirement - - - - - - - - - - Name - - - - - Description - - - - - UID of point performance definition - - - - - UID of weight and balance description - - - - - - - - - - - - - - - - - Trim requirement - - - - - - - - Name - - - - - Description - - - - - UID of a predefined flight point - - - - - UID of weight and balance description - - - - - - - - - - - - - - - Trim - - - - Provides a list of trim cases - - - - - - - - - - - - - - - - - - - - - - Trim case - - - - - - - - - - - - - - Name - - - - - Description - - - - - UID of trim requirement - - - - - - - Description of the linear model - - - - - - - - - - - - - - Turn - - - - - - - - - - - - - ... - - - - - ... - - - - - - - - - - - - - - Level flight - - - - - - - - - - - - - - Specific excess power - - - - - - - - - - - - - - Climb - - - - - - - - - - - - - - - - - - - - Descent - - - - - - - - - - - - - - - - - - - - Environmental conditions - - - - Specification of environmental conditions - - - - - - - - - - - - Delta temperature - - - - - - - - - - - - - - Flight Cases - - - - - - - - - - - - - - - - - - - - - - - - Flight point - - - - - - - - - - - - - - - - - - - - Mach number - - - - - - - Calibrated air speed - - - - - - - True air speed - - - - - - - - - - - - - - - - - Configurations which apply for this performance requirement - - - - - - - - - - - - - - - - Default configuration uID - - - - - - - - - - - - - - - Specific configuration uIDs - - - - - - - - - - - - - - - - - - - - - - - - Connection between segments, pointPerformances and a configurationUID - - - - - - - - - - - - - - - - Configuration uID - - - - - - - - List of pointPerformanceUIDs - - - - - - - - - - - - - - Segments - - - - - - - - - - - - - - - - - - - - - - - - Specification of a segment uID and index of the parameter lapses - - - - - - - - - - - - - - - - - Vector with semicolon separated indices of the parameters within a segment. If not given then the complete segment is applied. - - - - - - - - - - - - - - Released stores - - - - - - - - - - - - - - - - - - - - - - - - Released store - - - - - - - - - - - - - - - - UID of the released store. - - - - - - - Quantity of the released store. - - - - - - - - - - - - - - Runway start position - - - - - Description of the vehicle on the runway relative to the runway threshold. - - - - - - - - - - - - - - X-position in cartesian coordinates in the runway coordinate system - - - - - - - Y-position in cartesian coordinates in the runway coordinate system - - - - - - - Z-position in cartesian coordinates in the runway coordinate system - - - - - - - - - Lengthwise distance along the runway centerline from the runway threshold - - - - - - - Lateral offset from the runway centerline. Positive values on the starboard side. - - - - - - - - - - - - - - - Geometry - - - - [WARNING: This type is known to be susceptible to - inconsistencies and might therefore be removed in a future version of CPACS] - - - The geometry of the cabin roughly corresponds to the available design space in the cabin. - It is given in terms of constant height contour lines. - The lines all share a common x-vector. - The y vector provides the lateral - contour at Z-coordinate provided by the constant value z. - One or more contour lines can be given. - The cabin geometry is assumed to be symmetric. - - - - - - - - - - - - - - - - Name - - - - - Description - - - - - - Vector of x coordinates - - - - - - - - - - - - - Cabin geometry contours - - - Cabin geometry contour line collection type. By providing more than one entry, - a 3D cabin space can be described. - - - - - - - - - - - - - - - - - - - - Cabin geometry contour - - - Type to define a lateral position value "y" at a given height "z" (in the parent deck coordinate system) - for each entry "x" in the parent cabin geometry definition. - - - - - - - - - - - Vector with y-coordinates - - - - - Height z - - - - - - - - - - - - - Aisle - - - Aisles has as many entries as there are aisles in the - cabin. In a normal single aisle there are two aisles: the cabin - aisle and the aisle leading to the cockpit. - - - - - - - - - - Name - - - - - Description - - - - - Longitudinal coordinates. The - number of coordinates can be chosen as appropriate, the minimum - number is two. The coordinates are relative to the cabin origin. - - - - - - Center points of the aisle. The - y-vector has to have same length as the x-vector. The aisle - stretches equally left and right of the provided y-coordinate. - - - - - - Width of the aisle at floor level at each - y-coordinate - - - - - - - - - - - - - - doorOpeningLegacyType - - - doors describe all doors of the cabin. They are linked - to a structural door description. The cabin door is usually equal - in size to the door, but does not need to be. The structural door - might describe a wider cut-out, while the cabin door is primarily - intended for evacuation modeling and cabin layout. In order to - obtain a 3-dimensional door representation, the local cabin - geometry shall be used. - - - - - - - - - - This is the forward x-coordinate of the door - relative to the cabin origin. - - - - - the door sill height relative to cabin origin. - - - - - - The width of the door in x-direction. - - - - - - the effective height of the door. - - - - - - - - - - - - - - - - - - - - - - - - "doorOpeningType" - - - Ceiling panel instance collection type. - - - - - - - - - - - - - - - - - - - - Deck door - - - doors describe all doors of the cabin. They are linked - to a structural door description. The cabin door is usually equal - in size to the door, but does not need to be. The structural door - might describe a wider cut-out, while the cabin door is primarily - intended for evacuation modeling and cabin layout. In order to - obtain a 3-dimensional door representation, the local cabin - geometry shall be used. - - - - - - - - - - Name - - - - - Description - - - - - Number of passengers this door adds to the - overall exit capacity limit of the aircraft. - - - - - Opening geometry of the door - - - - - Door type (boarding, cargo, evacuation or service) - - - - - - - - - - - - - - - - - - - - - - - - Deck doors - - - - - - - - - - - - - - - - - - - - - - Cargo containers - - - Cargo container instance collection type. - - - - - - - - - - - - - - - - - - - Cargo container - - - Cargo container type for placing an instance of a cargo container in the parent deck. - - - - - - - - - - Name - - - - - Description - - - - - UID of the cargo container element in the cpacs/vehicles/deckElements node - - - - - Position in x - - - - - Position in y - - - - - - - - - - - - - - Seat modules - - - Seat module instance collection type. - - - - - - - - - - Seat module - - - - - - - - - - - - - Galleys - - - Galley instance collection type. - - - - - - - - - - Galley - - - - - - - - - - - - - Generic floor modules - - - Generic floor module instance collection type. - - - - - - - - - - Generic floor module - - - - - - - - - - - - - Lavatories - - - Lavatory instance collection type. - - - - - - - - - - Lavatory - - - - - - - - - - - - - Class dividers - - - Class divider instance collection type. - - - - - - - - - - Class divider - - - - - - - - - - - - - - Sidewall panels - - - Sidewall panel instance collection type. - - - - - - - - - - Sidewall panel - - - - - - - - - - - - - - Luggage compartments - - - - - - - - - - Luggage compartment - - - - - - - - - - - - - - Ceiling panels - - - Ceiling panel instance collection type. - - - - - - - - - - Ceiling panel - - - - - - - - - - - - - - Structural mounts - - - Structural mount type containing the structural connections of cabin elements - - - - - - - - - - - - - - - - - - - Structural mount - - - Structural mount type containing the structural connections of cabin elements - - - - - - - - - - Name - - - - - Description - - - - - UID of the component to connect to - - - - - - - - - - - - - - Bounding Box - - - - - - - - - - Length in x - - - - - Length in y - - - - - Length in z - - - - - Origin - - - - - - - - - - - - - Geometry - - - Description of the deck element geometry. This might be either a bounding box definition or a link to a generic geometry component. - - - - - - - - - - - - - - - - - - - - Cargo container element for use in the decks - - - - - - - - - - - - - - - - - Description - - - - - - Contour: single or double - - - - - - - - - - - - - Delta x - - - - - - Delta y - - - - - - Delta y of the base - - - - - - Delta z - - - - - - Delta z kink - - - - - - - - - - - - - - - Cargo container elements - - - Cargo container element collection type - - - - - - - - - - - - - - - - - - - Ceiling panel - - - Ceiling panel element collection type - - - - - - - - - - Ceiling panel element for use in the decks - - - - - - - - - - - - - Class divider - - - Class divider element collection type - - - - - - - - - - Class divider element for use in the decks - - - - - - - - - - - - - Deck elements - - - A list of predefined elements which can be linked in the actual deck of the aircraft or rotorcraft model via referencing its uID. - - - - - - - - - - Ceiling panel elements for use in the decks - - - - - Class divider elements for use in the decks - - - - - Galley elements for use in the decks - - - - - Generic floor elements for use in the decks - - - - - Lavatory elements for use in the decks - - - - - Luggage compartment elements for use in the decks - - - - - Seat elements for use in the decks - - - - - Sidewall panel elements for use in the decks - - - - - Cargo container elements for use in the decks - - - - - - - - - - - - - Galley element - - - Galley element type, containing the base elements of the cabin - - - - - - - - - - Description - - - - - - - Number of trolleys - - - - - - - - - - - - - - Galley elements - - - Galley element collection type - - - - - - - - - - Galley element for use in the decks - - - - - - - - - - - - - Lavatory elements - - - Lavatory element collection type - - - - - - - - - - Lavatory element for use in the decks - - - - - - - - - - - - - Luggage compartment elements - - - Luggage compartment element collection type - - - - - - - - - - Luggage compartment element for use in the decks - - - - - - - - - - - - - Seat element - - - Seat element type, containing the base elements of the cabin - - - - - - - - - - Description - - - - - - - Number of seats - - - - - - - - - - - - - - Seat elements - - - Seat element collection type - - - - - - - - - - Seat element for use in the decks - - - - - - - - - - - - - Generic floor elements - - - Generic floor element collection type - - - - - - - - - - Generic floor element for use in the decks - - - - - - - - - - - - - Sidewall panel elements - - - Sidewall panel element collection type - - - - - - - - - - Sidewall panel element for use in the decks - - - - - - - - - - - - - Generic geometry component - - - - - - - - - - - - - - - - - - - - - - - Deck component - - - - - - - - - - Name - - - - - Description - - - - - UID of the corresponding element in the cpacs/vehicles/deckElemets node - - - - - - - - - - - - - - - - Deck component - - - - - - - - - - Name - - - - - Description - - - - - UID of the corresponding element in the cpacs/vehicles/deckElemets node - - - - - - - - - - - - - - - - Deck element - - - - - - - - - - Description - - - - - - - - - - - - - - - - Mass - - - Description of mass, center of gravity and inertia - - - - - - - - - - - Mass value - - - - - Center of gravity (x,y,z) - - - - - - - - - - - - - - - System elements - - - - - - - - - - - - - - - - - - - Batteries - - - - - - - - - - Battery - - - - - - - - - - - - - System element - - - - - - - - - - Name - - - - - Description - - - - - - List of basic component shapes - - - - - - - - - - - - - Volume - - - - - - - Density - - - - - Mass - - - - - - - - - - - - - - - - Properties - - - - - - - - - - - - - - - - - - - - Parameters - - - - - - - - - - - - - - - - - - - Parameter - - - - - - - - - - Name - - - - - Description - - - - - UID of a pre-defined system assumption parameter - - - - - - - - - - - - - Components - - - - - - - - - - - - - - - - - - - Component - - - - - - - - - - Name - - - - - Description - - - - - UID of a system element (vehicles/systemElements) - - - - - Geometric (!) transformation - - - - - UIDs of the structural mounts - - - - - - - - - - - - - - System analyses - - - - - - - - - - - - - - - - - - - System architectures - - - - - - - - - - - - - - - - - - - - Energy storages - - - - - - - - - - - - - - - - - - - Energy storage - - - - - - - - - - - - - - - - - - - - - Generic system architectures - - - - - - - - - - - - - - - - - - - Generic system architecture - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - Graph description - - - - - - - - - - - - - - - - - - - - Blocks - - - - - - - - - - - - - - - - - - - Block - - - - - - - - - - Name - - - - - Description - - - - - - Reference to uID of a geometric component installed in the vehicle (e.g., .../vehicles/aircraft/model/systems/genericSystems/genericSystem/components/component) - - - - - - - - - - - - - - - - Edges - - - - - - - - - - - - - - - - - - - Edge - - - - - - - - - - UID of the block from which the edge begins - - - - - UID of the block to which the edge goes - - - - - - - - - - - - - System assumptions - - - - - - - - - - - - - - - - - - - System assumption - - - - Examples: - <systemAssumption uID="someRandomUID1"> - <name>Draft lumped cooling system mass penalty</name> - <technologyStage>all</technologyStage> - <origin> - <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> - </origin> - <parameters> - <parameter uID="someRandomUID2"> - <name>powerSpecificMassPenalty</name> - <value>680</value> - <unit>W_{th}/kg</unit> - </parameter> - </parameters> -</systemAssumption> - - - - - - - - - - - Name - - - - - Description - - - - - Description of the technology stage - - - - - Origin of the assumption - - - - - - - - - - - - - - - Origin - - - - - - - - - - Link to external file - - - - - - - - - - - - Name of a tool which was applied to derive this assumption - - - - - - - - - - - - - - - - - - - - - Parameters - - - - - - - - - - - - - - - - - - - Parameter - - - - - - - - - - Name - - - - - Description - - - - - - - Value - - - - - Unit - - - - - - UID of another assumption parameter - - - - - - - - - - - - - - - Power breakdowns - - - - - - - - - - - - - - - - - - - - Power breakdowns - - - - - - - - - - - - - - - - - - - Power breakdowns - - - - - - - - - - - - - - - - - - - Power breakdown case - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - - Power breakdown case along a trajectory - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - - Specification of the power breakdown case - - - - - - - - - - - Altitude [m] - - - - - Mach number - - - - - - - - - - - - - Specification of the power breakdown case - - - - - - - - - - UID of the corresponding trajectory - - - - - - - - - - - - - System breakdown data - - - - - - - - - - - - - - - - - - - System breakdown data - - - - - - - - - - - - - - - - - - - Power flow - - - - - - - - - - - - - - - - - - - - - - Power flow - - - - - - - - - - - - - - - - - - - - - - Power flow - - - - - - - - - - - Name - - - - - - - Description - - - - - - - - UID of the source element - - - - - - - Source system according to ATA chapter - - - - - - - - - - UID of the sink element - - - - - - - Sink system according to ATA chapter - - - - - - - - - - - - - - - - Source / Sink - - - - - - - - - - - - - - - - Mass flow - - - - - - - - - - - Mass flow value - - - - - - - - - - - - - - - Mass flow - - - - - - - - - - - Mass flow value - - - - - - - - - - - - - - - Heat flow - - - - - - - - - - - Heat flow value - - - - - - - - - - - - - - - Heat flow - - - - - - - - - - - Heat flow value - - - - - - - - - - - - - - - Mechanical power - - - - - - - - - - - Mechanical power value [W] - - - - - - - - - - - - - - - Mechanical power - - - - - - - - - - - Mechanical power value [W] - - - - - - - - - - - - - - - Mechanical power specification - - - - - - - - - - - Torque [Nm] - - - - - - - Force [N] - - - - - - - - - - - - - - Mechanical power specification - - - - - - - - - - - Torque [Nm] - - - - - - - Force [N] - - - - - - - - - - - - - - Electric power - - - - - - - - - - - Electric power value - - - - - - - - - - - - - - - Electric power - - - - - - - - - - - Electric power values - - - - - - - - - - - - - - - Electric power specification - - - - - - - - - - - Direct current voltage [V] - - - - - - - - - - - - - - - Electric power specification - - - - - - - - - - - Direct current voltage [V] - - - - - - - - - - - - - - - Alternating current - - - - - - - - - - - Effective voltage (also peak voltage) [V] - - - - - - - Frequency [Hz] - - - - - - - Frequency [Rad] - - - - - - - - - - - - - - Alternating current - - - - - - - - - - - Effective voltage (also peak voltage) [V] - - - - - - - Frequency [Hz] - - - - - - - Frequency [Rad] - - - - - - - - - - - - - - Mass flow specification - - - - - - - - - - - - - - - - - - - - Mass flow specification - - - - - - - - - - - - - - - - - - - - Single-phase mass flow - - - - - - - - - - - Pressure - - - - - - - Temperature - - - - - - - - - - - - - - - Multi-phase mass flow - - - - - - - - - - - Pressure - - - - - - - Enthalpy - - - - - - - - - - - - - - - Single-phase mass flow - - - - - - - - - - - Pressure - - - - - - - Temperature - - - - - - - - - - - - - - - Multi-phase mass flow - - - - - - - - - - - Pressure - - - - - - - Enthalpy - - - - - - - - - - - - - - - Heat flow specification - - - - - - - - - - - - - - - - - - - - Heat flow specification - - - - - - - - - - - - - - - - - - - - Mass composition - - - - - - - - - - - Fluid type - - - - - - - - - - - - - - - - - - - - - Category (ATA chapters) - - - - - - - - Environmental control - - - - - Auto flight - - - - - Communications - - - - - Electrical power - - - - - Equipment/furnishings - - - - - Fire protection - - - - - Flight controls - - - - - Fuel - - - - - Hydraulic power - - - - - Ice and rain protection - - - - - Landing gear - - - - - Lights - - - - - Water/waste - - - - - Cabin system - - - - - Cargo and accessory compartment - - - - - - - - - - - Propulsion elements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Turbofan engines - - - - - - - - - - - - - - - - - - - Turboprop engines - - - - - - - - - - - - - - - - - - - Propulsion system - - - - - - - - - - - - - - - - - - - Propulsion system component - - - - - - - - - - Name - - - - - Description - - - - - Reference to the pre-defined propulsion element - - - - - UID of the parent element - - - - - - - - - - - - - - - Performance of propulsion system - - - - - - - - - - - - - - - - - - - Propulsion map - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - - Propulsion performance map - - - - - - - - - - - - - - - - - - - - - Propulsion performance map - - - - - - - - - - - - - - - - - - Turbofan engine - - - Engine type, containing engine data. - - - - - - - - - - Name - - - - - Description - - - - - - Year of first certification - - - - - - - - - - - - - - - - Definition of the global engine geometry. - - - - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. - - - - - - - - - - - Length of engine - - - - - Rotation direction of the engine if looking at - it from the front, i.e. from propeller/fan to exhaust - - - - - - - - - - - - - - - - Length of engine - - - - - Length of engine - - - - - Length of engine - - - - - - - - - - Propeller diameter - - - - - Number of propeller blades - - - - - Hub to tip ratio - - - - - - - - - - - - - - - - - - - - Turboprop nacelle - - - - Turboprop nacelle - - - - - - - - - - - - - - - - - - - - - - - - - - - Tanks - - - - - - - - - - - - - - - - - - - Tank - - - - - - - - - - - - - - - diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 976d41c..12cb353 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1,6 +1,5 @@ - - + @@ -75,14 +68,14 @@ marko.alder@dlr.de - 2. Data hierarchy - - CPACS data is modeled in a hierarchical structure whose underlying concept follows a top-down description of a system-of-systems which decomposes a generic concept (e.g., an aircraft or rotorcraft) into a more detailed description of its components. This originates from the conceptual and preliminary design of aircraft, where the level of detail is initially low and continues to increase as the design process progresses. - For some concepts within CPACS, however, a bottom-up approach is applied where the components are first defined in detail (sometimes referred to as library) and then linked within an instantiated higher-level concept. This is advantageous when used multiple times within complex systems, such as engines, which only have to be defined once in order to be referenced several times on the aircraft. The combination of these two methodologies is known as middle-out approach and enables the goal to fully parametrize aeronautical systems. - + 2. Data hierarchy + + CPACS data is modeled in a hierarchical structure whose underlying concept follows a top-down description of a system-of-systems which decomposes a generic concept (e.g., an aircraft or rotorcraft) into a more detailed description of its components. This originates from the conceptual and preliminary design of aircraft, where the level of detail is initially low and continues to increase as the design process progresses. + For some concepts within CPACS, however, a bottom-up approach is applied where the components are first defined in detail (sometimes referred to as library) and then linked within an instantiated higher-level concept. This is advantageous when used multiple times within complex systems, such as engines, which only have to be defined once in order to be referenced several times on the aircraft. The combination of these two methodologies is known as middle-out approach and enables the goal to fully parametrize aeronautical systems. + - + 3. Coordinate Systems @@ -188,11 +181,11 @@ marko.alder@dlr.de Energy - The only non SI unit used throughout CPACS is the angle in degrees [°]. + The only non SI unit used throughout CPACS is the angle in degrees [°]. For the sake of an intuitive use the angles are given in degrees rather than in radian [rad]. - [°] + [°] Angle @@ -395,8 +388,8 @@ marko.alder@dlr.de <path>. The control parameter values for each step are arbitrary floating point values. However, it is strongly recommended to use values between -1. and +1., or between 0. And +1. (depending on the type of control surface). The smallest and the largest value implicitly - define the maximum deflection limits. It is mandatory, that the value “0.” is within the specified range, as this value is treated as - undeflected and used to specify a “clean” aircraft configuration (e.g. used in the clean aero performance map). It is recommended, but not + define the maximum deflection limits. It is mandatory, that the value “0.” is within the specified range, as this value is treated as + undeflected and used to specify a “clean” aircraft configuration (e.g. used in the clean aero performance map). It is recommended, but not mandatory to specify a <step> with a <controlParameter> of 0. Consequently, no <controlParameter> must be used twice within a single <path> definition. Deflection values between two specified steps are handled by linear interpolation. The following example shows the usage of control parameters within a control surface deflection path definition: @@ -788,25 +781,24 @@ marko.alder@dlr.de - - - - - - + + + + + + - + - CPACS header + Actuator attachment - Header type, containing CPACS dataset description - + @@ -814,655 +806,667 @@ marko.alder@dlr.de - - - Name of CPACS dataset - - - - - Description of CPACS dataset - - - - - - Creator of initial CPACS dataset - - - - - - Timestamp of initial CPACS dataset creation - - - - - - Version of initial CPACS dataset - - - - + - CPACS version that the dataset is valid to. The element is optional, since data sets - can be valid for several CPACS versions. However, we strongly recommend to assign data sets to a - specific CPACS version as far as possible, especially since some tools and libraries (e.g. TiGL) - require this specification. + Relative spanwise position of the actuator. + Eta refers to the dimensions of the control surface. - - - - - - + + - + - updatesType + Definition of the position and material properties of + the control surface actuator attachment. - Updates type, containing update data for the CPACS - dataset + + Definition of the position and material properties of + the control surface actuator attachment. + Please refer to the picture below for the definition + of the parameters: + + + + - - - + + + + Definition of the relative chordwise position + of the parent actuator attachment. Xsi refers to the parents + dimensions. + + + + + Definition of the relative height position of + the parent actuator attachment. relHeight refers to the parents + dimensions. + + + + + Definition of the material properties of the + actuator attachment at the parent. + + + - - - + - complexBaseType + actuatorFuselageWingAttachmentType - Base type for complex nodes (including external data - attributes) + - - - + + + + + + + + - + - stringBaseType + actuatorFuselageWingType - Base type for string nodes (including external data - attributes) + - - - - - + + + + + + Reference to the actuator. + + + + + Definition of the actuator to fuselage + attachment. + + + + + Definition of the actuator to wing attachment. + + + + + - + - + - stringUIDBaseType + Definition of the position and material properties of + the parent actuator attachment. - This is the base type that links to other components. It should always contain a UID. - This node has an additional attribute isLink that will be used if a stringBaseType refers to a uID. TIXI can then - perform automatic validation for the existence of the referenced uID. - Furthermore this node contains an additional attribute symmetry. The symmetry attribute may take three values: symm, def, full - def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. - symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) - full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) + + Definition of the position and material properties of + the parent actuator attachment. + Please refer to the picture below for the definition + of the parameters: + + + + - - - - - - - - - - - - + + + + + + Definition of the relative chordwise position + of the parent actuator attachment. Xsi refers to the parents + dimensions. + + + + + Definition of the relative height position of + the parent actuator attachment. relHeight refers to the parents + dimensions. + + + + + Definition of the material properties of the + actuator attachment at the parent. + + + - + - + - stringVectorBaseType + actuatorsFuselageWingType - - Base type for string vector nodes - The vector base type can include optional uncertainty - information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute that - describes the type of uncertainty function called functionName. - The functionName attribute includes the tag name of the - distribution function which is listened in the table shown below. - Each uncertainty function is further describes by a set of - parameters that are described in the table below. - If the uncertainty values change for the elements of - the vector than the attribute may be written as a list of values - separated by semicolons - DEPRECATED: As of CPACS - version 3.3, the mapType - attribute is set to optional to ensure the compatibility of older data sets. - However, since the type is uniquely defined via the XSD, the attribute is superfluous - and will therefore be completely omitted in the next major release (Note: requires - TiXI >= 3.3). Please contact the CPACS team - if for any reason you see a long-term need for the mapType - attribute. - - - - + - - - - - - - - - - - + + + + + + Definition of one actuator (e.g. trim actuator + of an HTP) of the attachment. + + + - + - + - Vector with semicolon separated values of type double + Aerodynamic loads - - Any entries of type double separated by semicolons are permitted, e.g.: - -<doubleVectorTest>123.456;+123.456;-1.234e56;-.45E-6;NaN</doubleVectorTest> - - -<doubleVectorTest>123.456</doubleVectorTest> - - -<doubleVectorTest>123.456,+1234.456</doubleVectorTest> - - -<doubleVectorTest>123.456;mainWingUID</doubleVectorTest> - - -<doubleVectorTest>123.456;1234.4E 56;-1.234e5.6</doubleVectorTest> - - + + Description of the aerodynamic loads + - - - - - + + + + + + + Angle of attack [deg] + + + + + + + Angle of sideslip [deg] + + + + + + + + - + - doubleVectorConstraintBaseType + Aerodynamic coefficients - - Base type for double vectors including a relational operator attribute indicating valid constraint region. - The doubleVectorConstraintBaseType extends the doubleVectorBaseType and thus inherits all its attributes. - + + A set of aerodynamic coefficients in the aerodynamic coordinate system + - - - - - - - - - - - - - - + + + + + + + Drag coefficient in aerodynamic + coordinates + + + + + + + Coefficient of the side force vector in + aerodynamic coordinates (perpendicular + to lift and drag) + + + + + + + Lift coefficient in aerodynamic + coordinates + + + + + + + Aerodynamic moment around d-axis of the aerodynamic coordinate system + + + + + + + Aerodynamic moment around s-axis of the aerodynamic coordinate system + + + + + + + Aerodynamic moment around l-axis of the aerodynamic coordinate system + + + + + - + - + - Vector with semicolon separated positive integer values + Specification - - Any positive integer values separated by semicolons are permitted, e.g.: - -<intVectorTest>0;1;2;3;4;5</intVectorTest> - - -<intVectorTest>1</intVectorTest> - - -<intVectorTest>0,1,2,3,4,5</intVectorTest> - - -<intVectorTest>0.;1.;2.</intVectorTest> - - -<intVectorTest>-1;0;1</intVectorTest> - - + + Specification of the vehicle properties and dynamics + - - - - - + + + + + + Altitude + + + + + + + Mach number + + + + + + + Angle of sideslip [deg] + + + + + + + + Angle of attack [deg] + + + + + + + Target lift coefficient + + + + + + + + Normalized roll rate [rad/sec]. It is specified around the global x-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: pStar = p * reference length / flow speed. + + + + + + + Normalized pitch rate [rad/sec]. It is specified around the global y-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: qStar = q * reference length / flow speed. + + + + + + + Normalized yaw rate [rad/sec]. It is specified around the global z-axis + with the aircraft model's global reference point as origin and + nondimensionalized by: rStar = r * reference length / flow speed. + + + + + + + + Reference to a weight and balance description + + + + - + - stringArrayBaseType + Aerodynamic load cases - Base type for string array nodes (including maptype - array attribute) - DEPRECATED: As of CPACCS version 3.3, the mapType attribute is set to optional to ensure the compatibility of older data records. However, since the type is uniquely defined via the XSD, the attribute is superfluous and will therefore be completely omitted in future versions. + + Combines a set of aerodynamic load cases + - - - + + + + + - + - + - Array with semicolon separated values of type double + Aerodynamic load case - - In CPACS arrays are used to exchange values - in full-factorial parameter spaces, for example to describe the aerodynamic coefficients depending - on Mach number and altitude. - - Thus, the dimensions of the array are spanned by the input vectors. See the following - example where two input vectors are defined. For clarification the entries of the array result from - the multiplication of the index values of the corresponding input vectors: - -<inputVector1>1;2;3</inputVector1> -<inputVector2>4;5;6;7</inputVector2> - - -<array>4;5;6;7;8;10;12;14;12;15;18;21</array> - - Any entries of type double separated by semicolons are valid, e.g.: - -<doubleArrayTest>123.456;+123.456;-1.234e56;-.45E-6;NaN;0</doubleArrayTest> - - -<doubleArrayTest>123.456</doubleArrayTest> - - -<doubleArrayTest>123.456,+1234.456</doubleArrayTest> - - -<doubleArrayTest>123.456;mainWingUID</doubleArrayTest> - - -<doubleArrayTest>1234.4E 56;-1.234e5.6</doubleArrayTest> - - - Please note that the syntax of arrays in the current CPACS - version correspond exactly to the syntax of vectors. There is no special character indicating - the dimensions. Thus, the input vectors have to be determined from the documentation of the - corresponding elements and splitting of the one-dimensional vector has to be done manually. - - - - - - - - - - - - - - - - - - - doubleBaseType - - - - Base type for double nodes (including external data - attributes) - The double base type can include optional uncertainty - information. The description of uncertainties is placed in - addtional attributes. First, it is described by an attribute - that describes the type of uncertainty function called - functionName. The functionName attribute includes the tag name - of the distribution function which is listened in the table - shown below. Each uncertainty function is further describes by a - set of parameters that are described in the table below. - - - - - + + Specification of an aerodynamic load case + - - - - - - - - - - - - - + + + + + + + Name + + + + + + + Description + + + + + + + + - + - + - doubleConstraintBaseType + Aerodynamic loads of components - - Base type for double nodes including a relational operator attribute indicating valid constraint region - The doubleConstraintBaseType extends the doubleBaseType and thus inherits all its attributes. - + + Specification of the aerodynamic loads of components + - - - - - - - - - - - - - - + + + + + - + - + - timeConstraintBaseType + Aerodynamic data of components - - Base type for time nodes including a relational operator attribute indicating valid constraint region - The timeConstraintBaseType extends the timeBaseType and thus inherits all its attributes. - + + Aerodynamic data of individual components of the aircraft (e.g. control surface loads and hinge moments) + - - - - - - - - - - - - - - + + + + + + + Reference to a component uID + + + + + - + - + - integerBaseType + Aerodynamic loads of the vehicle - Base type for integer nodes (including external data - attributes) + + Description of the aerodynamic loads of the vehicle + - - - - - + + + + + + - + - + - booleanBaseType + aeroelasticDivergenceType - Base type for boolean nodes (including external data - attributes) + AeroelasticDivergence type, containing the results from + aeroelastic analysis - - - - - + + + + + - + - + - dateTimeBaseType + aeroelasticStaticMaxDisplacementType - Base type for dateTime nodes (including external data - attributes) + AeroelasticStaticMaxDisplacement type, containing the + Maximum static displacement from aeroelastic analysis - - - - - + + + + + + Maximum translation + + + + + Maximum rotation + + + - + - + - timeBaseType + Aeroelasticity - Base type for time nodes (including external data attributes) - This time type is based on the xsd:time definition. - "To specify a time zone, you can either enter a time in UTC time by adding a "Z" behind the time - like this: 09:30:10Z - or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this: - 09:30:10-06:00 - or - 09:30:10+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) + Aeroelastics type, containing the results from + aeroelastic analysis - - - - - + + + + + + - + - + - dateBaseType + Increment maps for limitation values due to movable device deflections - Base type for date nodes (including external data attributes). - This date type is based on the xsd:date definition. - "To specify a time zone, you can either enter a date in UTC time by adding a "Z" behind the date - like this: 2002-09-24Z - or you can specify an offset from the UTC time by adding a positive or negative time behind the date - like this: - 2002-09-24-06:00 - or - 2002-09-24+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) - + Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control + surfaces or landing gears). - - - - - + + + + + - + - - - + - Positionings of the wing. + Increment maps for limitation values due to movable device deflections - Positionings type, containing all the positionings of - the wing sections. + Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control + surfaces or landing gears). @@ -1470,54 +1474,75 @@ marko.alder@dlr.de - + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + Reference to a control distributor uID + + + + + Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + Reference to an increment map of the aeroPerformanceMap + + + + + + Increments of the vehicle operation limits + + + - + - Positioning of the wing section + Aerodynamic limitations - The positionings describe an additional translation of - sections. Basically, the positioning is a vector having the - length 'length' and an orientation that is described by the - parameters 'sweepAngle' and 'dihedralAngle'. If the 'sweepAngle' - and the 'dihedralAngle' are set to zero (or left blank) the - positioning vector equals the positive y-axis of the coordinate - system (in case of a positive 'length'). - If the parameter 'fromSectionUID' is set, the - positioning describes the translation between the 'from' towards - the 'to' section. If the parameter 'fromSectionUID' is left - blank the orgin of the positioning vector is the origin of the - parent coordinate syste. - The orgin of the section coordinate system is the - position which is described by the positioning vector PLUS the - translation which is described in the section. - Please note: If the orgin of the positioning vector is - defined by using another section, i.e. fromSection is defined, - the orgin of this vector equals the end of the positioning - vector of the previous section. This means that the section - translation of the from-section has no influence on the - positioning of the to-section. Therefore the total translation, - which is described by positionings, is the sum of the current - positioning and all positionings that are defined 'before'. - - An example for this is given at positioning 3 and 4 at - the picture below. Please note, that any other combination of - positionings would be possible. - Application of the sweepangle does not lead to a - rotation of the section. Application of the dihedral does not - lead to a rotation of the section. - - - + This map explicitly specifies limitations of a vehicle in terms of angles of attack and sideslip angles. + All vectors, i.e. altitude, machNumber, + angleOfSideslip and angleOfAttack, must have the + same length. To avoid redundancy with the aeroPerformanceMap, this type does not contain + any aerodynamic coefficients. + Since angleOfSideslip and angleOfAttack + are closely interdependent for a given machNumber and altitude + combination, a positive and negative maximum angleOfAttack is defined for a given combination of + machNumber, altitude and + angleOfSideslip. The limits of angleOfSideslip + can be determined by evaluating the nominal decrease of angleOfAttack values or by + agreeint with the data supplier that the minimum and maximum value of the angleOfSideslip + vector corresponds with physical limits. + In order to avoid data redundancy, the operational limits should not reflect the extrema of aerodynamic + coefficients as these can be extracted from the performanceMap via interpolation. + + Note: In future CPACS versions, a revision of the aeroLimitsMap + will be targeted, since operational limits are not a purely aerodynamic issue. @@ -1526,76 +1551,47 @@ marko.alder@dlr.de - - - Name of the positioning. - - - + - Description of the positioning. + + Altitude [m] - - - Distance between inner and outer section - (length of the positioning vector). - - - + - Sweepangle between inner and outer section. - This angle equals a positive rotation of the positioing vector - around the z-axis of the wing coordinate system. + + Mach number - + - Dihedralangle between inner and outer section. - This angle equals a positive rotation of the positioing vector - around the x-axis of the wing coordinate system + + Angle of sideslip - - - Reference to starting section of the - positioning vector. If missing, the positioning is made from the - orgin of the wing coordinate system. - - - - - Reference to ending section (section to be - positioned) of the positioning vector. - - + + - - + - Transformation + Vehicle operation limit - Transformation type, containing a set of - transformations. The order of the transformations is scaling - -> rotation -> translation, and they are executed in this - order. Any of them can be omitted; it will be replaced by its - defaults. - Transformations are always executed relative to the - child not the parent. I.e. a scaling does not have an influence - on the parent item. For example in the outer geometry of a wing - the element scaling does not influence the section. Scaling does - also not effect rotation and translation. + Vehicle operation limit defined by sets of minimum and maximum angleOfSideslip + and minimum and maximum angleOfAttack for a given altitude and Mach number. + This might be, e.g., a safety margin to the angle of attack at maximum lift or the flight + attitude a fighter aircraft is capable to fly in stalled conditions. The corresponding aerodynamic coefficients must + be extracted from the aeroPerformanceMap. @@ -1603,48 +1599,40 @@ marko.alder@dlr.de - + - Scaling data default: 1,1,1. Those parameters - describe the scaling of the x-, y-, and z-axis. - - - - - - Rotation data default: 0,0,0. The rotation - angles are the three Euler angles to describe the orientation of - the coordinate system. The order is allways xyz in CPACS. - Therefore the first rotation is around the x-axis, the second - rotation is around the rotated y-axis (y') and the third - rotation is around the two times rotated z-axis (z''). - + Minimum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - + - Translation data default: 0,0,0. Translations - can either be made absolute in the global coordinate system - (absGlobal), absolute in the local Coordinate system (absLocal) - or relative (relative), normalized with the maximum dimensions - of the parent. + Maximum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] - - + - 2D transformation + Aerodynamic map - + + + The aeroMap contains aerodynamic coefficients and derivatives for a specific set of aerodynamic + and configurative boundary conditions. + + The aeroMap allows for the simultaneous specification of multiple + controlDevice settings. + In this case, it is assumed that a cumulative setting is built by summing up the individual settings. The correct + sequence of this summation is described in the controlDistributorType documentation. + + @@ -1652,23 +1640,21 @@ marko.alder@dlr.de - + - Scaling of the structural profile - + Name - + - rotation around z-axis of profile definition - + Description - - - translation of profile definition - - + + + + + @@ -1676,15 +1662,15 @@ marko.alder@dlr.de - + - Point: x,y,z + Boundary conditions - Point type, containing an xyz data triplet. + Specification of boundary conditions. @@ -1692,117 +1678,143 @@ marko.alder@dlr.de - + + + + - X-Component + + Offset from temperature of the + atmospheric model [K]. For more details + on atmospheric models, please refer to + documentation of the <CPACS> root + element. + - + - Y-Component - - - - - Z-Component + + Configuration settings + - - + - Point: x + Increment maps for aerodynamic coefficients - - Point type, containing a x data. - - - - - X-Component - - - - + + + - + - Point: y + Increment map from aerodynamic coefficients - Point type, containing a y data. + The increment map is composed of two-dimensional arrays. The first dimension is given by the + length of the input vectors of the baseline aeroPerformanceMap and the second dimension by the vector of relative + deflections (or command inputs) of control surfaces (or control distributors). An example is described in the <CPACS> + root element. - - + + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + + + Reference to a control distributor uID + + + + + Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + + - Y-Component + Increment of drag coefficient in aerodynamic coordinates - - - - - - - - - - - - Point: z - - - Point type, containing a z data. - - - - - - - - + - Z-Component + Increment of coefficient of the side force vector in aerodynamic coordinates (perpendicular to lift and drag) - + + + Increment of lift coefficient in aerodynamic coordinates + + + + + Increment of cmd + + + + + Increment of cms + + + + + Increment of cml + + + - + - Point: x,y + aeroPerformanceMapRCType - Point type, containing an xy data doublet. + AeroPerformanceMapRC type, containing a perfomance map + with aerodynamic data. Array order is: angleOfAttack min->max + then angleOfSideslip then altitude then machNumber @@ -1810,63 +1822,132 @@ marko.alder@dlr.de - + - X-Component + Atmospheric model and temperature offset - + - Y-Component + Mach number + + + + + Altitude + + + + + Sideslip angle + + + + + Angle of attack + + + + + Name and version of the tool used to compute + the aerodynamic performance + + + + + Modeling level of the methods used to compute + the aerodynamic performance. The higher the analysisLevel, the + higher the quality of the results. Possible use of + analysisLevel: 0- 9 = Statistical models, 10-19 = Analytic + models, 20-29 = Lifting line method, 30-39 = Panel method, 40-49 + = Panel-BL-coupled method, 50-59 = Full potential method, 60-69 + = Full potential-BL coupled method, 70-79 = CFD euler method, + 80-89 = CFD euler-bl coupled method, 99-99 = CFD RANS method, + >=100 = Experimental data. + + + + + + + - - + - Point: x, z + aeroPerformanceMapsRCType - Point type, containing an xz data doublet. + aeroPerformanceMapsRC type, containing multiple + aeroPerformanceMapRC nodes for different cases - - - - X-Component - - - - - Z-Component - - - - + + + - + - Point: y, z + Aerodynamic coefficients and derivatives - Point type, containing an yz data doublet. + + + Description + + The aeroPerformanceMap contains a map + with aerodynamic data of the complete aircraft in the form of + nondimensional coefficients. The force coefficients in + i-direction (ci) + are nondimensionalized by dynamic pressure and reference area, + the moment coefficients (cmi) by dynamic pressure, reference + area and reference length. + + All coefficients in the aeroPerformanceMap relate to + the aerodynamic coordinate system which is deducted from the CPACS coordinate system by + the transformations of angle of attack and angle of yaw. See the documentation of the + CPACS element for further details. + + The dependend parameters of the aeroPerformanceMap are altitude, + machNumber, angleOfSideslip and + angleOfAttack. These elements are vectors of equal length, where values + with identical indices belong together. The solution vectors ci and + cmi have the same length as the input vectors. Shown below is an example where + with 10 values per vector: + + <altitude mapType="vector">12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02</altitude> +<machNumber mapType="vector">0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2</machNumber> +<angleOfSideslip mapType="vector">0;0;0;0;0;2;2;2;2;2</angleOfSideslip> +<angleOfAttack mapType="vector">-2;0;2;4;6;-2;0;2;4;6</angleOfAttack> +<cd mapType="vector">0.056;0.094;0.132;0.17;0.208;0.072;0.11;0.148;0.186;0.224</cd> +<cs mapType="vector">0.;0.;0.;0.;0.;0.01;0.015;0.02;0.025;0.03</cs> +<cl mapType="vector">-0.1;0.04;0.18;0.32;0.46;-0.08;0.03;0.14;0.25;0.36</cl> + + The aerodynamic coefficients for altitude=1200m, machNumber=0.2, + angleOfSideslip=0° and angleOfAttack=6° can be found at the 5th index: + cd=0.208, cs=0 and cl=0.46. + + + + @@ -1874,31 +1955,79 @@ marko.alder@dlr.de - + - Y-Component + + Altitude [m] + - + - Z-Component + + Mach number + + + + + + + Sideslip angle [deg] + + + + + + + Angle of attack [deg] + + + + + + + Drag coefficient in aerodynamic + coordinates + + + + + + + Coefficient of the side force vector in + aerodynamic coordinates (perpendicular + to lift and drag) + + + + + + + Lift coefficient in aerodynamic + coordinates + + + + + + - - + - Point: x,y,z + aeroPerformanceType - Point type, containing an obligatory xyz data triplet. + aeroPerformance type, containing perfomance maps with + aerodynamic data of an airfoil. @@ -1906,86 +2035,76 @@ marko.alder@dlr.de - + - X-Component + Aerodynamic performance map of the full + configuration - + - Y-Component + Aerodynamic performance maps of isolated + fuselages - + - Z-Component + Aerodynamic performance maps of isolated wings + + + + + + Aerodynamic performance maps of control + surfaces + + + + + Aerodynamic performance maps of isolated + airfoils - - + - Point with global/local reference + Aerodynamic performance - PointAbsRel type, containing an xyz data triplet. Each - of the components is optional. The refType attribute defines, - whether coordinates are absolute in the global ccordinate system - [absGlobal], absolute in the parent element's local coordinate - system [absLocal]. If the object does not have a - parent, only [absGlobal] is permitted. + + The aerodynamic coefficients and derivatives are stored in aerodynamic maps. Individual maps can be used to + gather the aerodynamic characteristics for specific boundary conditions. + - - - - X-Component - - - - - Y-Component - - - - - Z-Component - + + - - - - - - - - - - + - + - Point with constraints + Global analysis information - Point constraint type, containing an xyz data triplet. + @@ -1993,50 +2112,29 @@ marko.alder@dlr.de - - - X-Component - - - - - Y-Component - - - - - Z-Component - + - + - List of 3D points, kept in three relative coordinate - vecors (rX, rY, rZ) + Results from several analysis + modules connected to CPACS - - This set of vectors contains an ordered list of points - for rX, rY, and rZ coordinates in the form of stringBased - Vectors. The x, y and z vector elements with the same index - specify a 3D point relative to a geometric segment. - - - - - - - - - - + AircraftAnalyses type, containing detailed analysis + data of the aircraft + Within this element results from analysis modules are + stored that rely to the overall definition of the aircraft. These + include e.g. aerodynamic data or loadCases + For further documentation please refer to the + respective elements. @@ -2044,41 +2142,36 @@ marko.alder@dlr.de - - - Vector of rX coordinates. Relative - circumferential coordinate on wing / fuselage profile - - - - - - Vector of rY coordinates. Relative span - coordinate along a segment - - - - - Vector of rZ coordinates. Relative coordinate - normal to the linear strake (normalised with chordlength / - diameter c*) - - + + + + + + + + + + + + + + + - + - List of points + Control elements - PointList type, containing an ordered list of points - + Specification of control element settings. Control elements can be controlDistributors + or individual control devices, such as control surfaces or landing gears. @@ -2086,96 +2179,118 @@ marko.alder@dlr.de - - - Data point - + - + - List of points in x,y + Control element - PointList type, containing an ordered list of points - + Specification of an control element setting. A control element can be a controlDistributor + or an individual control device, such as a control surface or a landing gear. - - - - Data points in x-y-space. - - - + + + + + Reference to the uID of a control device, e.g. a control surface or a landing gear + + + + + Control parameter of the control device + + + + + + + Reference to a control distributor uID + + + + + Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + + + + - + - List of 3D points, kept in three coordinate vecors (x, - y, z) + Global data - - This set of vectors contains an ordered list of points - for x, y and z coordinates in the form of stringBased Vectors. - The x, y and z vector elements with the same index specify a 3D - point. - + AircraftGlobal type, containing global data of the + aircraft - - - - Vector of x coordinates - - - + + - Vector of y coordinates + + designRange equals the full payload max + range, i.e. point B in payload range + diagramm + - - - Vector of z coordinates - + + - + + + - + - Maps points (actually the index in the point list) to a curve parameter. + Aircraft model - Which parameters are allowed depends on the context. - For exampple in a wing profile, values between -1 and 1 are valid. + The aircraftModelType contains the geometric aircraft + model and associated data. + Elements specifying the geometry of the aircraft are fuselages, + wings, + engines (referenced via uID), + enginePylons, landingGear, + systems (to some extend) and genericGeometryComponents. + + Other elements are dedicated to additional data associated to this aircraft model. Brief and concise analysis results are stored + in the global node. The analysis node contains + extensive results from multidisciplinary analysis modules. + In the current CPACS version requirements only refer to the aircraft performance and are therefore specified in the + performanceRequirements node. + @@ -2183,98 +2298,77 @@ marko.alder@dlr.de - - + + - List of indices of points to be mapped. Each index must be in the range [1, npoints]. + Name of the aircraft model + - + - List of parameters on the curve, that is mapped to the points defined by their index. + Description of the aircraft model + - + + + + + + + + + + + + + + + - + - A curve that interpolates a list of points. + Aircraft - The curve interpolates the list of points, typically with a b-spline. - In theory, the interpolation is somewhat ambiguous as it is not defined at which - curve parameter a point will be interpolated. - - To solve is ambiguity, an optional parameter map can be defined - that maps point indices with curve parameters. - - Kinks can also be modeled by populating the "kinks" array with the - indices of points that should be on a kink. As an example, look at the following image: + The aircraftType contains a list of aircraft models. - - - - In this example, the kinks array will be "3;7". - Optionally, the parameters of the kinks can be set in the parameter map. - The whole profile looks as follows: + + Note: Since there is no distinction between plural and singular in English, aircraft + refers to plural form, while a single aircraft itself is referened as model. - -<pointList> - <x>...</x> - <y>...</y> - <z>...</z> - <kinks>3;7</kinks> - <parameterMap> - <pointIndex>3;5;7</pointIndex> - <paramOnCurve>0.2;0.5;0.8</paramOnCurve> - </parameterMap> -</pointList> - - + - - - Indices of points at which the curve has a kink. Each index is in the range [1, npoints]. - - - - - - Map between point index and curve parameter. - - + - + - List of 2D points, kept in two coordinate vecors (x, y) + airfoilAeroPerformanceType - - This set of vectors contains an ordered list of points - for x and y coordinates in the form of stringBased Vectors. - The x and y vector elements with the same index specify a 2D - point. The coordinates of the x vector of [0, 1]. - + airfoilAeroPerformance type, containing perfomance maps + with aerodynamic data of an airfoil. @@ -2282,14 +2376,23 @@ marko.alder@dlr.de - + - Vector of x coordinates + Reference to the uID of the analysed airfoil + - + - Vector of y coordinates + References used for the calculation of the + force and moment coefficients of the airfoil (in the airfoil + axis system!) + + + + + Calculated aerodynamic performance maps of the + airfoil @@ -2297,57 +2400,38 @@ marko.alder@dlr.de - + - Point in eta and xsi coordinates + airfoilsAeroPerformanceType - Point described by eta-xsi coordinates. - Can be either segment or component segment coordinates. + airfoilsAeroPerformance type, containing + airfoilsAeroPerformance - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - - + + + - + - Relative height at eta, xsi position + airframeMaintenanceCostType - Point described by eta-xsi and a relative height coordinate. - Can be either segment or component segment coordinates. - If relHeight is not given, the point has no offset from the eta-xsi plane + @@ -2355,133 +2439,74 @@ marko.alder@dlr.de - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative height position. - relHeight is relative to the local airfoil thickness. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. - - + + - - - - - - Positive double values larger than 0 - - - - - - - - - - - - - - - - - Positive integer values larger than 0 - - - - - - - - - - - - + - List of uIDs + Airlines + + Contains a list of different airlines + - - - - Reference to a uID - - - + - - - + - UIDGroupDefinitionType + airlineType - + Describes a specific airline and their fleet - - - - - - - - + + + + Name of the airline + + + + + Description of the airline + + + + + - + - UIDGroupDefinitionsType + airportCompatabilityGlobalType @@ -2491,63 +2516,49 @@ marko.alder@dlr.de - - - - + + + + + + + - + - Actuator attachment + Airports - + Airports type, containing data of the airports + - - - - Relative spanwise position of the actuator. - Eta refers to the dimensions of the control surface. - - - - - - + + + - - + - Definition of the position and material properties of - the control surface actuator attachment. + airportType - - Definition of the position and material properties of - the control surface actuator attachment. - Please refer to the picture below for the definition - of the parameters: - - - - + Airport type, containing data of an airport @@ -2555,37 +2566,54 @@ marko.alder@dlr.de - + - Definition of the relative chordwise position - of the parent actuator attachment. Xsi refers to the parents - dimensions. + Name of airport - + - Definition of the relative height position of - the parent actuator attachment. relHeight refers to the parents - dimensions. + Description of airport - + - Definition of the material properties of the - actuator attachment at the parent. + IATA 3-letter-code + + + + + ICAO 4-letter-code + + + + + Position in degrees north + + + + + Position in degrees east + + + + + Airport elevation + + - + - actuatorFuselageWingAttachmentType + alignmentCrossBeamType @@ -2596,19 +2624,48 @@ marko.alder@dlr.de - - + + + Offset in direction of extrusion, first side + (absolute value) + + + + + Offset in direction of extrusion, second side + (absolute value) + + + + + Rotation around local x axis (extrusion axis) + + + + + + Translation along local y axis (perpendicular + to extrusion axis) + + + + + Translation along local z axis (perpendicular + to x ynd y axes) + + + - + - actuatorFuselageWingType + alignmentFloorPanelType @@ -2619,47 +2676,42 @@ marko.alder@dlr.de - + - Reference to the actuator. + Offset from seat rail 1 reference Position in + local y direction (in plane of panel, absolute value) + - + - Definition of the actuator to fuselage - attachment. + Offset from seat rail 2 refernce position in + local y direction (in plane of panel, absolute value) + - + - Definition of the actuator to wing attachment. + Offset from seat rail 1 refernce position in + local z direction (in plane of panel, absolute value)) - + - + - Definition of the position and material properties of - the parent actuator attachment. + alignmentStringFrameType - - Definition of the position and material properties of - the parent actuator attachment. - Please refer to the picture below for the definition - of the parameters: - - - - + @@ -2667,37 +2719,36 @@ marko.alder@dlr.de - + - Definition of the relative chordwise position - of the parent actuator attachment. Xsi refers to the parents - dimensions. + Rotation around local x axis (extrusion axis) + - + - Definition of the relative height position of - the parent actuator attachment. relHeight refers to the parents - dimensions. + Translation along local y axis (perpendicular + to extrusion axis) - + - Definition of the material properties of the - actuator attachment at the parent. + Translation along local z axis (perpendicular + to x ynd y axes) + - + - actuatorsFuselageWingType + alignmentStructMemberType @@ -2707,125 +2758,136 @@ marko.alder@dlr.de - - + + - Definition of one actuator (e.g. trim actuator - of an HTP) of the attachment. + Offset in direction of extrusion (absolute + value) - + + + Rotation around local x axis (extrusion axis) + + + + + + Translation along local y axis (perpendicular + to extrusion axis) + + + + + Translation along local z axis (perpendicular + to x ynd y axes) + + + + - + - aeroPerformanceMapRCType + Alternating current - - AeroPerformanceMapRC type, containing a perfomance map - with aerodynamic data. Array order is: angleOfAttack min->max - then angleOfSideslip then altitude then machNumber - - - - Atmospheric model and temperature offset - - - - - Mach number - - - - - Altitude - - - - - Sideslip angle - - - + - Angle of attack + + Effective voltage (also peak voltage) [V] + - + - Name and version of the tool used to compute - the aerodynamic performance + + Frequency [Hz] + - + - Modeling level of the methods used to compute - the aerodynamic performance. The higher the analysisLevel, the - higher the quality of the results. Possible use of - analysisLevel: 0- 9 = Statistical models, 10-19 = Analytic - models, 20-29 = Lifting line method, 30-39 = Panel method, 40-49 - = Panel-BL-coupled method, 50-59 = Full potential method, 60-69 - = Full potential-BL coupled method, 70-79 = CFD euler method, - 80-89 = CFD euler-bl coupled method, 99-99 = CFD RANS method, - >=100 = Experimental data. + + Frequency [Rad] + - - - - - - - - + - aeroPerformanceMapsRCType + Alternating current - - aeroPerformanceMapsRC type, containing multiple - aeroPerformanceMapRC nodes for different cases - - - - + + + + + Effective voltage (also peak voltage) [V] + + + + + + + Frequency [Hz] + + + + + + + Frequency [Rad] + + + + - + - aeroPerformanceType + + Anisotropic material properties for 2D materials + - aeroPerformance type, containing perfomance maps with - aerodynamic data of an airfoil. + + Defines the material properties for a linear anisotropic material in the plane stress state (i.e., shell). The stress-strain relationship is defined as: + + + + The terminology of this complex type refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. + + @@ -2833,550 +2895,155 @@ marko.alder@dlr.de - + - Aerodynamic performance map of the full - configuration + Coefficient 11 of reduced stiffness matrix [N/m^2] - + - Aerodynamic performance maps of isolated - fuselages + Coefficient 12 of reduced stiffness matrix [N/m^2] - + - Aerodynamic performance maps of isolated wings - + Coefficient 13 of reduced stiffness matrix [N/m^2] - + - Aerodynamic performance maps of control - surfaces + Coefficient 22 of reduced stiffness matrix [N/m^2] - + - Aerodynamic performance maps of isolated - airfoils + Coefficient 23 of reduced stiffness matrix [N/m^2] - - - - - - - - - - - aeroelasticDivergenceType - - - AeroelasticDivergence type, containing the results from - aeroelastic analysis - - - - - - - - - - - - - - - - - - - aeroelasticStaticMaxDisplacementType - - - AeroelasticStaticMaxDisplacement type, containing the - Maximum static displacement from aeroelastic analysis - - - - - - - - + - Maximum translation + Coefficient 33 of reduced stiffness matrix [N/m^2] - + - Maximum rotation + Thermal expansion coefficient in material direction + 1 [1/K] - - - - - - - - - - - Aeroelasticity - - - Aeroelastics type, containing the results from - aeroelastic analysis - - - - - - - - - - - - - - - - - - - - Results from several analysis - modules connected to CPACS - - - AircraftAnalyses type, containing detailed analysis - data of the aircraft - Within this element results from analysis modules are - stored that rely to the overall definition of the aircraft. These - include e.g. aerodynamic data or loadCases - For further documentation please refer to the - respective elements. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Global data - - - AircraftGlobal type, containing global data of the - aircraft - - - - - - - - + - - designRange equals the full payload max - range, i.e. point B in payload range - diagramm - + Thermal expansion coefficient in material direction + 2 [1/K] - - - - - - - - - - - - - - - - Aircraft model - - - - The aircraftModelType contains the geometric aircraft - model and associated data. - Elements specifying the geometry of the aircraft are fuselages, - wings, - engines (referenced via uID), - enginePylons, landingGear, - systems (to some extend) and genericGeometryComponents. - - Other elements are dedicated to additional data associated to this aircraft model. Brief and concise analysis results are stored - in the global node. The analysis node contains - extensive results from multidisciplinary analysis modules. - In the current CPACS version requirements only refer to the aircraft performance and are therefore specified in the - performanceRequirements node. - - - - - - - - - - + - Name of the aircraft model - + Thermal expansion coefficient in material direction + 12 [1/K] - + - Description of the aircraft model + Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - - - - - - - - - - - - - - - - - - - - Aircraft - - - - The aircraftType contains a list of aircraft models. - - - Note: Since there is no distinction between plural and singular in English, aircraft - refers to plural form, while a single aircraft itself is referened as model. - - - - - - - - - - - - - - - - - - - - - airfoilAeroPerformanceType - - - airfoilAeroPerformance type, containing perfomance maps - with aerodynamic data of an airfoil. - - - - - - - - + - Reference to the uID of the analysed airfoil + Thermal conductivity of the material in material direction 2 [W/(m*K)] - + - References used for the calculation of the - force and moment coefficients of the airfoil (in the airfoil - axis system!) + Thermal conductivity of the material in material direction 3 [W/(m*K)] + - + - Calculated aerodynamic performance maps of the - airfoil + Allowable stress for tension in material direction 1 [N/m^2] + - - - - - - - - - - - airfoilsAeroPerformanceType - - - airfoilsAeroPerformance type, containing - airfoilsAeroPerformance - - - - - - - - - - - - - - - - - - - airframeMaintenanceCostType - - - - - - - - - - - - - - - - - - - - - - - airlineType - - - Describes a specific airline and their fleet - - - - - - - - + - Name of the airline + Allowable stress for compression in material direction 1 [N/m^2] + - + - Description of the airline + Allowable stress for tension in material direction 2 [N/m^2] + - - - - - - - - - - - - - - Airlines - - - Contains a list of different airlines - - - - - - - - - - - - - - - - - - - airportCompatabilityGlobalType - - - - - - - - - - - - - - - - - - - - - - - - - - airportType - - - Airport type, containing data of an airport - - - - - - - - + - Name of airport + Allowable stress for compression in material direction 2 [N/m^2] + - + - Description of airport + Allowable stress for shear [N/m^2] + - + - IATA 3-letter-code + Allowable strain for tension in material direction 1 - + - ICAO 4-letter-code + Allowable strain for compression in material direction 1 + - + - Position in degrees north + Allowable strain for tension in material direction 2 - + - Position in degrees east + Allowable strain for compression in material direction 2 + - + - Airport elevation + Allowable strain for shear - - - + - Airports - - - Airports type, containing data of the airports + + Anisotropic material properties for 3D materials - - - - - - - - - - - - - - - - - - - alignmentCrossBeamType - + + Defines the material properties for a linear anisotropic material in three spatial directions (i.e., solid). The stress-strain relationship is defined as: + + + + The terminology of this complex type refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. + + @@ -3384,171 +3051,383 @@ marko.alder@dlr.de - + - Offset in direction of extrusion, first side - (absolute value) + Coefficient 11 of stiffness matrix [N/m^2] - + - Offset in direction of extrusion, second side - (absolute value) + Coefficient 12 of stiffness matrix [N/m^2] - + - Rotation around local x axis (extrusion axis) - + Coefficient 13 of stiffness matrix [N/m^2] - + - Translation along local y axis (perpendicular - to extrusion axis) + Coefficient 14 of stiffness matrix [N/m^2] - + - Translation along local z axis (perpendicular - to x ynd y axes) + Coefficient 15 of stiffness matrix [N/m^2] - - - - - - - - - - - - alignmentFloorPanelType - - - - - - - - - - - + - Offset from seat rail 1 reference Position in - local y direction (in plane of panel, absolute value) - + Coefficient 16 of stiffness matrix [N/m^2] - + - Offset from seat rail 2 refernce position in - local y direction (in plane of panel, absolute value) - + Coefficient 22 of stiffness matrix [N/m^2] - + - Offset from seat rail 1 refernce position in - local z direction (in plane of panel, absolute value)) - + Coefficient 23 of stiffness matrix [N/m^2] - - - - - - - - - - - - alignmentStringFrameType - - - - - - - - - - - + - Rotation around local x axis (extrusion axis) - + Coefficient 24 of stiffness matrix [N/m^2] - + - Translation along local y axis (perpendicular - to extrusion axis) + Coefficient 25 of stiffness matrix [N/m^2] - + - Translation along local z axis (perpendicular - to x ynd y axes) + Coefficient 26 of stiffness matrix [N/m^2] - - - - - - - - - - - - alignmentStructMemberType - - - - - - - - - - - + - Offset in direction of extrusion (absolute - value) + Coefficient 33 of stiffness matrix [N/m^2] - + - Rotation around local x axis (extrusion axis) + Coefficient 34 of stiffness matrix [N/m^2] + + + + + Coefficient 35 of stiffness matrix [N/m^2] + + + + + Coefficient 36 of stiffness matrix [N/m^2]2] + + + + + Coefficient 44 of stiffness matrix [N/m^2]] + + + + + Coefficient 45 of stiffness matrix [N/m^2] + + + + + Coefficient 46 of stiffness matrix [N/m^2] + + + + + Coefficient 55 of stiffness matrix [N/m^2] + + + + + Coefficient 56 of stiffness matrix [N/m^2] + + + + + Coefficient 66 of stiffness matrix [N/m^2] + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal expansion coefficient in material direction + 3 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 23 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 31 [1/K] + + + + + Thermal expansion coefficient affecting strain in material direction + 12 [1/K] + + + + + Thermal conductivity of the material in material direction 1 [W/(m*K)] - + - Translation along local y axis (perpendicular - to extrusion axis) + Thermal conductivity of the material in material direction 2 [W/(m*K)] + - + - Translation along local z axis (perpendicular - to x ynd y axes) + Thermal conductivity of the material in material direction 3 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] + + + + + + Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for tension in material direction 3 + [N/m^2] + + + + + Allowable stress for compression in material + direction 3 [N/m^2] + + + + + Allowable stress for shear in 2-3 plane [N/m^2] + + + + + Allowable stress for shear in 3-1 plane [N/m^2] + + + + + + Allowable stress for shear in 1-2 plane [N/m^2] + + + + + Allowable strain for tension in material direction 1 + + + + + + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for tension in material direction 3 + + + + + + Allowable strain for compression in material + direction 3 + + + + + Allowable strain for shear in 2-3 plane + + + + + + Allowable strain for shear in 3-1 plane + + + + + + Allowable strain for shear in 1-2 plane + - + + + + + + Category (ATA chapters) + + + + + + + + Environmental control + + + + + Auto flight + + + + + Communications + + + + + Electrical power + + + + + Equipment/furnishings + + + + + Fire protection + + + + + Flight controls + + + + + Fuel + + + + + Hydraulic power + + + + + Ice and rain protection + + + + + Landing gear + + + + + Lights + + + + + Water/waste + + + + + Cabin system + + + + + Cargo and accessory compartment + + + + + @@ -3574,7 +3453,7 @@ marko.alder@dlr.de Atmospheric model (e.g. ISA for ICAO Standard atmosphere (ISA) from 1993). - + @@ -3582,7 +3461,7 @@ marko.alder@dlr.de - + Offset from temperature of the atmospheric model [K]. For more details on atmospheric models, please refer to documentation @@ -3594,6 +3473,51 @@ marko.alder@dlr.de + + + + + + Atmospheric model + + + Available options: ISA. See documentation of <CPACS> root element for further details. + + + + + + + + + + + + + + + + + + Definition of attachment pins for the wing-fuselage + attachment. + + + Definition of attachment pins for the wing-fuselage + attachment. + + + + + + + + + + + + + @@ -3613,33 +3537,57 @@ marko.alder@dlr.de - - + + Definition which translation degrees of freedom are blocked. Default x=0 (free); y=1 (blocked); z=1 (blocked). - - + + - + - + - Definition of attachment pins for the wing-fuselage - attachment. + Bogie axle assemblies + - Definition of attachment pins for the wing-fuselage - attachment. + A list of axles that are attached to the bogie + and their relative position to it + + + + + + + + + + + + + + + + + + + + Bogie axle assembly + + + Description of an axle installed on the bogie and its + relative position to it @@ -3647,7 +3595,18 @@ marko.alder@dlr.de - + + + + Relative position of the axle to the bogie (if more than one axle is defined; 0 = forward end of bogie; 1 = rear end of bogie) + + + + + + + + @@ -3703,45 +3662,49 @@ marko.alder@dlr.de - + - + - Definition of the landing gear wheel. + Batteries - - The center plane of the wheel is located on the end point of the axle. - - - - - Wheel radius - - - - - With of the wheel - - - + + + + + + + + + + + + + Battery + + + + + + + + - Brake: false = - not braked; true = braked. + UID of an electric energy carrier - - + @@ -3769,7 +3732,7 @@ marko.alder@dlr.de - + @@ -3799,7 +3762,7 @@ marko.alder@dlr.de - + @@ -3857,105 +3820,176 @@ marko.alder@dlr.de - + - + - Bogie axle assembly + booleanBaseType - Description of an axle installed on the bogie and its - relative position to it + Base type for boolean nodes (including external data + attributes) + + + + + + + + + + + + + + + Bounding Box + + + + + + + + + + Length in x + + + + + Length in y + + + + + Length in z + + + + + Origin + + + + + + + + + + + A list of uIDs referencing other structural/geometric + elements that shall serve as a boundary of the wall + element. Possible references are floor, wall or + genericGeometryComponent. A major requirement is that + the referenced element has an intersection with the wall + for at least the distance between two wall positions. So + that a full geometric face of the wall is bounded by it. + Neighbouring wall faces that are not completely bounded + by the reference element are not affected. + + - - + - Relative position of the axle to the bogie (if more than one axle is defined; 0 = forward end of bogie; 1 = rear end of bogie) + + UID referencing another + structural/geometric element that shall + serve as a boundary of the wall element. + Possible references are floor, wall or + genericGeometryComponent. + - - - - - - - + - Bogie axle assemblies - + System breakdown data - - A list of axles that are attached to the bogie - and their relative position to it - - - + - + - Cabin aisles + System breakdown data - - - - + - + - Space + Cabin aisles - spaces describe areas in the cabin that need to be - clear for use as emergency area. Depending on the type of area, - it can have a height limit. The spaces are required for - downstream cabin design, for example to describe an empty cabin. - + + + + + + + + + + + + + + + + + + + + Aisle + + + Aisles has as many entries as there are aisles in the + cabin. In a normal single aisle there are two aisles: the cabin + aisle and the aisle leading to the cockpit. @@ -3968,33 +4002,145 @@ marko.alder@dlr.de Name - + Description - Vector with x-coordinates. These describe an area, so they - are not monotonous ascending. + Longitudinal coordinates. The + number of coordinates can be chosen as appropriate, the minimum + number is two. The coordinates are relative to the cabin origin. + - Vector with y-coordinates at given x-coordinates. Warning: - x-y do not represent a function as single x-positions can have - multiple y-coordinates. Hence, no interpolation is possible. + Center points of the aisle. The + y-vector has to have same length as the x-vector. The aisle + stretches equally left and right of the provided y-coordinate. - + - Height above the floor that is required to - be empty of any objects + Width of the aisle at floor level at each + y-coordinate + + + + + + + + + + + + + + Cabin geometry contours + + + Cabin geometry contour line collection type. By providing more than one entry, + a 3D cabin space can be described. + + + + + + + + + + + + + + + + + + + + Cabin geometry contour + + + Type to define a lateral position value "y" at a given height "z" (in the parent deck coordinate system) + for each entry "x" in the parent cabin geometry definition. + + + + + + + + + + + Vector with y-coordinates + + + + + Height z + + + + + + + + + + + + + Geometry + + + + [WARNING: This type is known to be susceptible to + inconsistencies and might therefore be removed in a future version of CPACS] + + + The geometry of the cabin roughly corresponds to the available design space in the cabin. + It is given in terms of constant height contour lines. + The lines all share a common x-vector. + The y vector provides the lateral + contour at Z-coordinate provided by the constant value z. + One or more contour lines can be given. + The cabin geometry is assumed to be symmetric. + + + + + + + + + + + + + + + Name + + + + + Description + + + + + + Vector of x coordinates - @@ -4015,12 +4161,68 @@ marko.alder@dlr.de - + + + + + + + Space + + + spaces describe areas in the cabin that need to be + clear for use as emergency area. Depending on the type of area, + it can have a height limit. The spaces are required for + downstream cabin design, for example to describe an empty cabin. + + + + + + + + + + + Name + + + + + Description + + + + + Vector with x-coordinates. These describe an area, so they + are not monotonous ascending. + + + + + Vector with y-coordinates at given x-coordinates. Warning: + x-y do not represent a function as single x-positions can have + multiple y-coordinates. Hence, no interpolation is possible. + + + + + + Height above the floor that is required to + be empty of any objects + + + + + + + + @@ -4057,16 +4259,112 @@ marko.alder@dlr.de - + - cargoCrossBeamStrutsAssemblyType + Cargo container elements - CargoCrossBeamStrutsAssembly type, containing cargo - crossBeam strut assemblys + Cargo container element collection type + + + + + + + + + + + + + + + + + + + Cargo container element for use in the decks + + + + + + + + + + + + + + + + + Description + + + + + + Contour: single or double + + + + + + + + + + + + + Delta x + + + + + + Delta y + + + + + + Delta y of the base + + + + + + Delta z + + + + + + Delta z kink + + + + + + + + + + + + + + + Cargo containers + + + Cargo container instance collection type. @@ -4074,12 +4372,59 @@ marko.alder@dlr.de - + + + + + + + Cargo container + + + Cargo container type for placing an instance of a cargo container in the parent deck. + + + + + + + + + + Name + + + + + Description + + + + + UID of the cargo container element in the cpacs/vehicles/deckElements node + + + + + Position in x + + + + + Position in y + + + + + + + + @@ -4097,7 +4442,30 @@ marko.alder@dlr.de - + + + + + + + + + + + + cargoCrossBeamStrutsAssemblyType + + + CargoCrossBeamStrutsAssembly type, containing cargo + crossBeam strut assemblys + + + + + + + + @@ -4120,7 +4488,60 @@ marko.alder@dlr.de - + + + + + + + + + + + + Ceiling panel + + + Ceiling panel element collection type + + + + + + + + + + Ceiling panel element for use in the decks + + + + + + + + + + + + + Ceiling panels + + + Ceiling panel instance collection type. + + + + + + + + + + Ceiling panel + + + @@ -4135,7 +4556,7 @@ marko.alder@dlr.de CellPositioningChordwise defines the chordwise direction of a wing cell either in two xsi - (xsi1 at innerBorder and xsi2 at outerBorder) coordinates, via referencing a spar-uID or via a + (xsi1 at innerBorder and xsi2 at outerBorder) coordinates, via referencing a spar-uID or via a contour coordinate in chordwise direction. @@ -4179,8 +4600,8 @@ marko.alder@dlr.de Spanwise positioning of wing cells. - CellPositioningSpanwise defines the chordwise direction of a wing cell either in two eta - (eta1 at leadingEdge and eta2 at trailingEdge) coordinates, via referencing a rib-uID or via a contour + CellPositioningSpanwise defines the chordwise direction of a wing cell either in two eta + (eta1 at leadingEdge and eta2 at trailingEdge) coordinates, via referencing a rib-uID or via a contour coordinate in chordwise direction. @@ -4223,6 +4644,29 @@ marko.alder@dlr.de + + + + + + centerFuselageAreasAssemblyType + + + centerFuselageAreasAssembly type, containing center + fuselage area assembly + + + + + + + + + + + + + @@ -4289,30 +4733,7 @@ marko.alder@dlr.de - - - - - - - - - - - centerFuselageAreasAssemblyType - - - centerFuselageAreasAssembly type, containing center - fuselage area assembly - - - - - - - - - + @@ -4331,10 +4752,10 @@ marko.alder@dlr.de - - + + - + @@ -4373,7 +4794,7 @@ marko.alder@dlr.de - + @@ -4403,7 +4824,7 @@ marko.alder@dlr.de - + @@ -4427,7 +4848,7 @@ marko.alder@dlr.de - + @@ -4452,7 +4873,7 @@ marko.alder@dlr.de - + @@ -4480,7 +4901,7 @@ marko.alder@dlr.de - + @@ -4508,7 +4929,7 @@ marko.alder@dlr.de - + @@ -4533,7 +4954,7 @@ marko.alder@dlr.de - + @@ -4554,7 +4975,7 @@ marko.alder@dlr.de - + @@ -4577,109 +4998,117 @@ marko.alder@dlr.de - - - - + + + + - - - - - - cockpitControlType - - - single cockpitControl is defined by a pilotInput and a - commandOutput. The commandOutput is linked to the commandCase - - - - - - - - - - - - - - - - - - - - + - cockpitControlsType + Chemical energy carriers - - Cockpit controls type, containing the cockpit controls - - Some controls are mandatory, others can be added via - cockpitControl elements - - - - - + - + - commandCaseCommandType + Chemical energy carrier - - single commandCaseCommand can either hold a - controlFunction or a controlDistributor - - - - - - - - + + + + Name + + + + + Description + + + + + Type of energy carrier + + + + + + + + + + + + + Lower heating value + + + + + Density at 15deg C + + + + + CO2 emission index + + + + + H2O emission index + + + + + Energy specific cost + + + + + Freezing point + + + + - + - commandCaseType + Aerodynamic contributions of a chrordwise part within a wing segment strip - single commandCase Containing several - commandCaseCommands + + Contains a list of chordwise parts within a wing segment strip for which aerodynamic coefficients are specified + @@ -4687,53 +5116,70 @@ marko.alder@dlr.de - - - + - - + - commandCasesType + Aerodynamic contributions of a chordwise part within a within a wing segment strip - plural Element for commandCase, some fixed dp, dq, dr - and dx, dy, dz + + + Describes the contributions of a specific par within a wing segment to the total aerodynamic coefficients of a wing segment strip + + + A chordwisePart aescribes the contributions of a specific chordwise part within a wing strip + to the total aerodynamic coefficients of this strip. It extends spatially between the two eta + positions of the parent strip (see strip documentation) and four xsi positions in the segment coordinate system. + As with the parent stips, only the trailing border (..ToSegmentXsi) of a chordwisePart is defined, while the leading border always equals the trailing border of the preceding chordwisePart (or 0 for the first part). + To account for oblique trailing borders (e.g., to match the aileron on a tapered wing) two different toSegmentXsi positions can be defined, one at the inner border (innerBorderToSegmentXsi) and one at the outer border (innerBorderToSegmentXsi) of the parent strip. + The innerBorderToSegmentXsi and outerBorderToSegmentXsi of the last chordwisePart must be equal to 1. + + - - - - - - - - - + + + + + Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the inner eta border + + + + + + + Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the outer eta border + + + + + + - + - componentCostType + Class divider - + Class divider element collection type @@ -4741,64 +5187,25 @@ marko.alder@dlr.de - - - - - - - - - - - - Load envelope - - - List of load cases defining a load envelope - - - - - - - - - - - Name - - - - - Description - - - - - UID of the corresponding point set - - - - + - List of uIDs defining the loads envelope + Class divider element for use in the decks - + - + - componentSegmentPathType + Class dividers - + Class divider instance collection type. @@ -4806,82 +5213,56 @@ marko.alder@dlr.de - - - Definition of hingePoint of the - componentSegment. The hingePoint is used as reference point for - the deflection definition. - - - + - Definition of the orientation of the hinge - line with three Euler-rotation angles. The hinge line is - oriented along the global y-axis if all rotations are 0. + Class divider - - - Definition of all steps of the deflection - path. - - - + - componentSegmentStepType + cockpitControlsType - + Cockpit controls type, containing the cockpit controls + + Some controls are mandatory, others can be added via + cockpitControl elements - - - - The control parameter is used to reference the - state of a control device, e.g. in the load - case description. Can have any value and is NOT limited to the - range of -1 to 1. - - - - - Translation along the x-, y- and z-Coordinate - of the rotated hinge coordinate system. - - - - - Rotation around the hinge line. - - - - + + + + + + - + - componentSegmentStepsType + cockpitControlType - + single cockpitControl is defined by a pilotInput and a + commandOutput. The commandOutput is linked to the commandCase + @@ -4889,160 +5270,86 @@ marko.alder@dlr.de - - - Definition of one step of the deflection path. - - - + + + + + + - + - ComponentSegment of the wing. + Reference values for aerodynamic coefficients - - Within componentSegments the wing structure, the - control surfaces, the wing fuel tanks and the - wingFuselageAttachment is defined by using relative coordinates. - - A componentSegment is defined in the same way as - segments: from one cross section (sections->elements) to - another. Compared to segments one componentSegment can can start - and end at elements that are not consecutive. Therefore that one - componentSegment can be the combination of several segments. - Each wing has at least one componentSegment (from root to tip). - The maximal number of componentSegments equals the number of - segments (each segment is defined as one componentSegment). - This also implies that each segment can only be part of one componentSegment. - - In principal a componentSegment can combine any number - of segments. But if in one section two elements are defined, the - componentSegment has to start/end there as no well-defined - relative coordinats can be defined if steps in the wing occure. - - An example for wing componentSegments can be found in - the picture below: - - - - Within componentSegments a relative spanwise - coordinate (eta) and a relative chordwise coordinate (xsi) is - defined. Those coordinates are used for the definition of e.g. - wing structures and control surfaces. there are two types of eta xsi coordinates. - Segment (eta, xsi) coordinates define the relative local coordinate system for a segment ranging from (0,0) to (1,1). - - - - - - The eta xsi coordinates for a component segment are based on the segment eta xsi planes. - As a reference length for the component segment eta coordinate the - mid chord lines of all the segments are used. - The beginning of this line at from-element equals eta = 0, while the end of this line - at the to-element equals eta = 1. All wing positions that lie on the same - element (segment border) have the same eta coordinate. The points inbetween - two elements are defined by the iso xsi lines of the segment eta xsi space. - An example for the definition of the relative axes can - be found in the picture below: - - - - - In order to calculate the global coordinates of a component segment eta xsi point - one first has to calculate the eta point on the xsi iso line of (xsi=0.5), - and then walk along the iso eta lineof the segment. - - An example for determining the a component - eta xsi point can be found in the picture below: - - - - + + Specification of reference values for aerodynamic coefficients. + - - + + - - - - - - - - - - Name of the wing componentSegment. + Reference area - + - Description of the componentSegment. + Reference lengt - + - Reference to the element from which the - componentSegment shall start. + Reference point - + - Reference to the element from which the - componentSegment shall end. + Reference translation - - - + - Description of deflection path of - componentSegments (e.g. used for - trimmable HTPs). + Reference rotation - - - - - - + - + - ComponentSegments of the wing. + Aerodynamic contributions of the components - ComponentSegments type, containing all the - componentSegments of the wing. + + Contains a list of components for which aerodynamic coefficients are specified + @@ -5050,116 +5357,97 @@ marko.alder@dlr.de - + - + - compositeLayerType + Aerodynamic contributions of a component - CompositeLayer type, conatining data of a composite - layer + + Describes the contributions of a specific component to the total aerodynamic coefficients + - This type defines single composite layers by - giving a ply thickness, ply reference angle and a materialUID. - - - - Name of layer - - - - - Description of layer - - - - - Thickness of layer - - - - - Angle of layer in degree - - - + - Material UID of the layer + + Reference to a component + + - + - compositeType + Aerodynamic contributions of a wing segment - Composite type, conatining data of a composite - + + + Describes the contributions of a specific wing segment to the total aerodynamic coefficients of a wing + + + It is obligatory to reference a segment via its uID and to provide its + coefficients. The breakdown of the coefficients comprises the strips + and remainingContributions. The latter must only be specified if strips + is given. + + - Within this type individual stackings of - composites can be introduced by defining an offset and a set of - composite layers. The order of the composite layers defines the - stacking order. - - - Name of composite - - - - - Description of composite - - - + - offset of the laminate. The reference plane of - the laminate is the arithmetic mean of the laminate thickness. + + Reference to a wing segment uID - + + + + + - - + - compositesType + Aerodynamic contributions of strips within a wing segment - + + Contains a list of strips within a wing segment for which aerodynamic coefficients are specified + @@ -5167,21 +5455,38 @@ marko.alder@dlr.de - + - + - connectivitiesType + Aerodynamic contributions of a strip within a wing segment - + + + Describes the contributions of a specific strip within a wing segment to the total aerodynamic coefficients of a wing segment + + + The strip extends spatially between two eta coordinates (i.e., from an inner border to an outer border). + In order to avoid redundancy, the inner border (denoted as from) is always identical to the outer border of the previous strip (denoted by to). + Accordingly, only the to-border can be specified explicitly, while the from-border equals implicitly either to 0 + (for the first strip) or the toSegmentEta value of the previous element. The toSegmentEta of the last strip + must be equal to 1! + + + It is obligatory to provide the coefficients of the strip. The breakdown comprises the chordwiseParts + and remainingContributions. The latter must only be specified if the breakdown into chordwiseParts + is given. This breakdown is optional. If it is specified, but the sum of all chordwiseParts does not match the strip coefficients, one or more remainingContributions may be applied + to ensure consistency (sum of all chordwiseParts + sum of all remainingContributions must be equal to total strip coefficients). + + @@ -5189,171 +5494,104 @@ marko.alder@dlr.de - + + + + Spanwise coordinate eta in the segment coordinate system to define the end of the strip + + + + + + + + + - + - connectivityType + Aerodynamic coefficients breakdown - + + + Breakdown of the total aerodynamic coefficients into contributions + from the various vehicle componenents. A detailed breakdown is only specified + for the wing. Other components, such as the fuselage, are more generically + referred to as otherComponents. Since + the sum of the contributions within a breakdown must equal the total + coefficients, the remaining contributions must be listed in + remainingContributions. + + + The remainingContributions cannot be defined alone. Either the + definition of a wing, otherComponents + or both together is valid and can be combined with remainingContributions. + + - - - - - - + + + + + + + + + + + - + - - Constraints - + Aerodynamic contributions of wing segments - Constraint settings for the point performance definition + + Contains a list of wing segments for which aerodynamic coefficients are specified + - - - - - Calibrated airspeed [m/s] - - - - - - - Mach number [-] - - - - - - - Climb angle [deg] - - - - - - - Rate of climb [m/s] - - - - - - - Rate of turn [deg/s] - - - - - - Thrust setting for derated engine as fraction of max. thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres) - - - - - - - Rate of velocity [m/s^2] - - - - - - - Duration [s] - - - - - - - Angle of attack [deg] - - - - - - - Constant altitude [m] - - - - + + + - + - Constraint + Aerodynamic contributions of the wings - - - Specification of performance constraints. - - Constraints allow vectors of double values to define parameter lapses within a mission segment. The example below illustrates this by means of an exemplary climb profile of a conventional airliner, in which multiple physical and regulatory speed constraints are simultaneously specified over several altitudes (e.g., to account for the crossover altitude): - <endCondition> - <positionGeo> - <altitude relationalOperator="ge" uID="altClimb">10058.4</altitude> <!-- FL330 --> - </positionGeo> -</endCondition> -<constraint> - <referenceEndConditionUID>altClimb</referenceEndConditionUID> - <endConditionRatio>0.0;0.303</endConditionRatio> <!-- FL0, FL100 --> - <continuitySetting>discrete</continuitySetting> - <CAS relationalOperator="le">128.61;154.33</CAS> <!-- 250 [kt], 300 [kt]--> - <machNumber relationalOperator="le">0.78;0.78</machNumber> - <prioritySetting>velocity</prioritySetting> -</constraint> - - - From FL0 until FL100, the vehicle should fly at a velocity less than or equal to CAS = 250 kt or M = 0.78. In this first segment at low altitudes, the constraint on CAS is triggered. - - - From FL100 until FL330, the vehicle should fly at a velocity less than or equal to CAS = 300 kt or M = 0.78. In this second segment, the vehicle starts by increasing velocity until 300 kt, the constraint on maximum machNumber triggers from the crossover altitude onwards - - + + Contains a list of wings for which aerodynamic coefficients are specified + @@ -5361,187 +5599,29 @@ marko.alder@dlr.de - - - - Reference to the uID of the segment end condition variable - - - - - - - Vector indicating the ratios of the constraintSettings profile with respect to the provided referenceEndCondition, ranging from 0 to 1. If this vector is defined, the provided constraintSettings are expected to be vectors with the same length providing ratio-value pairs. Example: for referenceEndCondition <range><z> (i.e.: flown distance in z direction of the segment), a vector of <CAS> and <machNumber> is provided to define a climb profile. - - - - - - Defines how to interpret the parameter lapses within the segment: discrete steps (C0 continuity) or linear interpolation (C1 continuity) - - - - - - - - - - - - - - - Calibrated airspeed within the - segment - - - - - - - Mach number within the segment - - - - - - - Climb angle within the segment - - - - - - - Climb angle within the segment - - - - - - - Specific excess power within the segment - (e.g.: for defining minimum SEP to - remain after step climbs have been - performed). - - - - - - - Altitude difference of each step climb - - - - - - - - Flight heading at the end of the - segment in compassAngle with - reference to true North [deg] - - - - - - - Total change of heading angle during - segment (a full turn is 360 degrees) - [deg] - - - - - - - - Rate of turn within the segment - - - - - - - Thrust setting for derated engine as - fraction of max. Thrust (e.g.: for - powered descents, deceleration not at - IDLE, manoevres). - - - - - - - Rate of velocity within the segment - - - - - - - Load factor experienced during segment - - - - - - - Constant altitude for the segment. - - - - - - - priority setting indicating which - constraint is preferred within the - segment - - - - - - - - - - - + - + - Airfoil definition of an control surface at the - inner/outer border. + Aerodynamic contributions of a wing - Optional definition of the exact airfoil shape at the - inner/outer border of the control surface. - The airfoil shape is defined via referencing to the - airfoilUID. As the leading and trailing edge point is fix due to - the outer shape definition of the control surface the airfoil - can only be rotated around the x-axis (axis going from leading - to trailing edge of the inner/outer border of the control - surface). Scaling in x-direction is also defined by the outer - shape, wherefore only scaling in y and z direction is allowed. + + Describes the contributions of a specific wing to the total aerodynamic coefficients of a vehicle + + + It is obligatory to reference a wing via its uID and to provide its + coefficients. The breakdown of the coefficients comprises the segments + and remainingContributions. The latter must only be specified if segments + is given. @@ -5550,91 +5630,61 @@ marko.alder@dlr.de - - - - Reference to the airfoil uID. - - - - - - Rotation around an axis, going from the - leading edge point to the trailing edge point of the inner/outer - border of the control surface. Defaults to 90°, which is - equivalent to perpendicular on the control surface middle plane. - - - - - - Scaling of the airfoil in spanwise direction - (not used for 2D airfoils). - - - + + - Scaling in thickness direction of the airfoil. + + Reference to a wing uID - + + + + + + - + - controlDistributorType + commandCaseCommandType - - single controlDistributor bundling several - controlElements - Within some analyses, it might occur that overlapping control element settings are specified. In this case, - it is assumed that a cumulative setting is built by summing up the individual settings. As the behavior of these settings - is not necessarily linear, a certain order of summation has to be followed: - - (1) The command inputs for each controlDistributor, coming from the configurationUID, as well as from separate settings have to be summed up to a total commandInput. - (2) With this total commandInput, each corresponding controlDistributor definition has to be evaluated, in order to get controlParameter settings for a number of controlDevices. - (3) All controlParameter settings for a controlDevice, coming from the configurationUID, from the controlDistributors and from separate controlDevice settings have to be summed up to get a total controlParameter for each controlDevice. - (4) With this total controlParameter, each corresponding controlDevice definition has to be evaluated, in order to find out what the control device finally is doing. - (5) During the summation process (depending on the order of processing within step 1 to 4), commandInputs or controlParameters might exceed the specified limits for that controlDistributor or controlDevices. As an intermediate result, this should be accepted – however, when it comes to evaluation in step 2 and 4, all commandInputs and controlParameters have to be within the specified limits. - - + single commandCaseCommand can either hold a + controlFunction or a controlDistributor - - - - - - Vector of command inputs. The minimum and maximum value is given by the lowest and highest entry of the vector, respectively. - - - - - + + + + + + + - + - controlDistributorsType + commandCasesType - plural Element for controlDistributor + plural Element for commandCase, some fixed dp, dq, dr + and dx, dy, dz @@ -5642,153 +5692,183 @@ marko.alder@dlr.de - + + + + + + + - + - controlElementType + commandCaseType - Single controlElement linking the inputs of a controlDistributor via a gain - table to a contol device by using its uID. Controls can be ControlSurfaces and in the - future thrust. + single commandCase Containing several + commandCaseCommands - - - - UID of the control device, e.g. a control surface. It is not allowed to reference another control distributor. - - - + + + + + + + + + + + + + + + - Vector of control device states resulting from the input commands. It must be of the same length as the inputCommands element. - The minimum and maximum values are defined according to the minimum and maximum values of the input commands. + + UIDs of 2d structural fuselage elements + (e.g., pressure bulkheads, walls or + floors). The compartment will be + enclosed with the fuselage skin + - + - + - - - - controlElementsType - - - plural Element for controlElement - - - + - + + + The compartment defines an enclosed volume within the fuselage. It is defined by a set of border geometries. This could be pressureBulkheads, walls or floors and they are referred by their uIDs. The volume is closed with the fuselage skin. The geometry tool has to check, if the compartment definition gives a closed geometry. + + - + - - - - controlFunctionType - - - single controlFunction containing the controller's - parameters - - - + + The compartment defines an enclosed volume in the + fuselage. It is defined by a set of border geometries. + This could be pressureBulkheads, walls or floors and + they are referenced by their uIDs. The volume is closed + with the fuselage skin. The geometry tool has to check, + if the compartment definition gives a closed geometry. + - - - - - - - + + + + Compartment geometry uIDs list. + + + + + + + Name of the compartment. + + + + + + + Description of the compartment. + + + + + + Ideal design volume of the compartment. + + + + + + + + + - + - + - controlFunctionsType + complexBaseType - plural Element for controlFuntion + Base type for complex nodes (including external data + attributes) - - - - - - - + + + - + - controlLawModeType + componentCostType - Control Laws type, containing the aircraft's control - law mode + - - - + + + - + - controlLawModesType + componentSegmentPathType - Control Laws type, containing the aircraft's control - law modes + @@ -5796,47 +5876,68 @@ marko.alder@dlr.de - + + + Definition of hingePoint of the + componentSegment. The hingePoint is used as reference point for + the deflection definition. + + + + + Definition of the orientation of the hinge + line with three Euler-rotation angles. The hinge line is + oriented along the global y-axis if all rotations are 0. + + + + + + Definition of all steps of the deflection + path. + + - + - controlLawsType + componentSegmentStepsType - Control Laws type, containing the aircraft's control - laws + - - - - + + + + Definition of one step of the deflection path. + + + + - + - Definition of an actuator of the control surface, that - is not placed within a track. + componentSegmentStepType - Definition of an actuator of the control surface, that - is not placed within a track. + @@ -5844,31 +5945,41 @@ marko.alder@dlr.de - + - Reference to the actuator (actuator definition - currently not available in CPCAS, status 1.6). - + The control parameter is used to reference the + state of a control device, e.g. in the load + case description. Can have any value and is NOT limited to the + range of -1 to 1. + + + + + Translation along the x-, y- and z-Coordinate + of the rotated hinge coordinate system. + + + + + Rotation around the hinge line. + - - - + - Definition of actuators of the control surface, that - are not placed within a track. + ComponentSegments of the wing. - Definition of actuators of the control surface, that - are not placed within a track. + ComponentSegments type, containing all the + componentSegments of the wing. @@ -5876,32 +5987,77 @@ marko.alder@dlr.de - + - + - Airfoil definition of an control surface between inner - and outer border. + ComponentSegment of the wing. - Optional definition of the exact airfoil shape between - the inner and outer border of the control surface. - The airfoil shape is defined via referencing to the - airfoilUID. As the leading and trailing edge point is fix due to - the outer shape definition of the control surface the airfoil - can be rotated around the x-axis (axis going from leading to - trailing edge of the control surface) and around the z-axis - (normal axis on the control surface middle plane). Scaling in - x-direction is also defined by the outer shape, wherefore only - scaling in y and z direction is allowed. + Within componentSegments the wing structure, the + control surfaces, the wing fuel tanks and the + wingFuselageAttachment is defined by using relative coordinates. + + A componentSegment is defined in the same way as + segments: from one cross section (sections->elements) to + another. Compared to segments one componentSegment can can start + and end at elements that are not consecutive. Therefore that one + componentSegment can be the combination of several segments. + Each wing has at least one componentSegment (from root to tip). + The maximal number of componentSegments equals the number of + segments (each segment is defined as one componentSegment). + This also implies that each segment can only be part of one componentSegment. + + In principal a componentSegment can combine any number + of segments. But if in one section two elements are defined, the + componentSegment has to start/end there as no well-defined + relative coordinats can be defined if steps in the wing occure. + + An example for wing componentSegments can be found in + the picture below: + + + + Within componentSegments a relative spanwise + coordinate (eta) and a relative chordwise coordinate (xsi) is + defined. Those coordinates are used for the definition of e.g. + wing structures and control surfaces. there are two types of eta xsi coordinates. + Segment (eta, xsi) coordinates define the relative local coordinate system for a segment ranging from (0,0) to (1,1). + + + + + + The eta xsi coordinates for a component segment are based on the segment eta xsi planes. + As a reference length for the component segment eta coordinate the + mid chord lines of all the segments are used. + The beginning of this line at from-element equals eta = 0, while the end of this line + at the to-element equals eta = 1. All wing positions that lie on the same + element (segment border) have the same eta coordinate. The points inbetween + two elements are defined by the iso xsi lines of the segment eta xsi space. + An example for the definition of the relative axes can + be found in the picture below: + + + + + In order to calculate the global coordinates of a component segment eta xsi point + one first has to calculate the eta point on the xsi iso line of (xsi=0.5), + and then walk along the iso eta lineof the segment. + + An example for determining the a component + eta xsi point can be found in the picture below: + + + @@ -5910,154 +6066,125 @@ marko.alder@dlr.de - - - Relative spanwise coordinate (eta) of the - control surface, where the leading edge of the airfoil is - placed. - - - + - Reference to the airfoil uID. + + + + + + + + + + + Name of the wing componentSegment. - + - Rotation around an axis, going from the - leading edge point to the trailing edge point of the control - surface. Defaults to 90°, which is equivalent to perpendicular - on the control surface middle plane. + + Description of the componentSegment. + - + - Rotation of the airfoil around the control - surface middle plane normal direciotn. Reference point is the - most forward point of the airfoil. Defaults to 90°, which is - equivalent to the airfoilplacement in flight direction (along - wings-x axis). + + Reference to the element from which the + componentSegment shall start. + - + - Scaling of the airfoil in spanwise direction - (not used for 2D airfoils). + + Reference to the element from which the + componentSegment shall end. + - + + + - Scaling in thickness direction of the airfoil. + + Description of deflection path of + componentSegments (e.g. used for + trimmable HTPs). + + + + + - + - Inner/outer border of the control surface. + compositeLayerType - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the leading edge - devices 'hollow'. If an exact control surface airfoil definition - should be used, outerShape->airfoils can be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - + CompositeLayer type, conatining data of a composite + layer + This type defines single composite layers by + giving a ply thickness, ply reference angle and a materialUID. + - - + + - Relative spanwise inner/outer position of the - leading edge of the control surface. + Name of layer - + - Relative spanwise inner/outer position of the - trailing edge of the control surface. Defaults to 'etaLE'. + Description of layer - - - - Relative chordwise inner/outer position of - the trailing edge of the control surface. Reference is eta/xsi - from the parent. - - - - - - - - - - - - - + + + Thickness of layer + + + + + Angle of layer in degree + + + + + Material UID of the layer + + + - + - Inner/outer border of the control surface. + compositesType - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the - spoiler'relHeightLE' is used. If an exact control surface - airfoil definition should be used, outerShape->airfoils can - be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - + @@ -6065,178 +6192,68 @@ marko.alder@dlr.de - - - Relative spanwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - - - Relative spanwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. Defaults to 'etaLE'. - - - - - Relative chordwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. - - - - - Relative chordwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. - - - - - - Defines the relative high of lowest point of - the spoiler leading edge, relative to the airfoil height of the - parent at this position. See picture below. - - - - - + - + - Inner/outer border of the control surface. + compositeType - - Definition of the inner/outer border of the control - surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - In addition, optionally, the airfoil shape of the - control surface can be defined closer. For the trailing edge - device this is done at 'leadingEdgeShape', for the spoiler - 'relHeightLE' is used and for the leading edge devices 'hollow'. - If an exact control surface airfoil definition should be used, - outerShape->airfoils can be used. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - - - - + Composite type, conatining data of a composite + + Within this type individual stackings of + composites can be introduced by defining an offset and a set of + composite layers. The order of the composite layers defines the + stacking order. - - + + - Relative spanwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. + Name of composite - + - Relative spanwise inner/outer position of the - trailing edge of the control surface. Reference is eta/xsi from - the parent. Defaults to 'etaLE'. + Description of composite - + - Relative chordwise inner/outer position of the - leading edge of the control surface. Reference is eta/xsi from - the parent. + offset of the laminate. The reference plane of + the laminate is the arithmetic mean of the laminate thickness. + - - - - - - - - - - - - - - Optional definition of the exact airfoil shape of the - control surface. - - - - - - - - - - - + + - + - This type contains a vector of deflection values for a - single control surface + Configuration - - 0. General overview - - In this type, a vector of deflections of a single - control surface is specified. - - - - 1. - <controlSurfaceUID> - (mandatory) - - - A reference to a control surface from the aircraft - model - - - - 2. - <controlParameters> - (mandatory) - - - A vector of controlParameters of the selected - control surface (with respect to the defined deflection path). - - - + Contains references to control control devices and (or) the global aircraft configuration node. + @@ -6245,15 +6262,17 @@ marko.alder@dlr.de - + - Reference to a control surface + + Reference to the aircraft configuration node (aircraft/model/configurations/configuration) - + - Control parameters of the control surface + + State description of the control elements @@ -6262,34 +6281,15 @@ marko.alder@dlr.de - + - This type contains a list of control surfaces and their - deflection vectors + connectivitiesType - - - 0. General overview - - In this type, a list of control surfaces is defined. - - - - - 1. - <controlSurface> - (mandatory) - - - One of these nodes per deflected control surface is - required here. - - - + @@ -6297,26 +6297,21 @@ marko.alder@dlr.de - + - + - controlSurfaceHingeMomentMapType + connectivityType - controlSurfaceHingeMomentMap type, containing a moment - map with aerodynamic data for a control surface. Array order is: - controlParameters min->max then angleOfAttack then angleOfSideslip - then reynoldsNumber then machNumber. AngleOfAttack, angleOfSideslip, - reynoldsNumber and machNumber are taken from the basic - performance map one level above. + @@ -6324,74 +6319,48 @@ marko.alder@dlr.de - - - Reference to the control surface - - - - - - Control parameters of the control surface - - - - - - - - - + + + + - - - - - - controlSurfaceHingeMomentMapsType - - - controlSurfaceHingeMomentMapsType type, containing the - aerodynamic moment maps for one or more control surfaces. - - - - - - - - - - - - - - - + - controlSurfaceHingePointType + Constraint - The deflection path of a control surface is described - with respect to two hinge points - one at the inner border of - the control surface and one at the outer border of the control - surface. Those two points are defined using the xsi and relative - height coordinates of the parent. Therefore those points can also - lay outbound of the control surface. Those two points defined - the hinge line, which is a straight line between the two points. + + Specification of performance constraints. + + Constraints allow vectors of double values to define parameter lapses within a mission segment. The example below illustrates this by means of an exemplary climb profile of a conventional airliner, in which multiple physical and regulatory speed constraints are simultaneously specified over several altitudes (e.g., to account for the crossover altitude): + <endCondition> + <positionGeo> + <altitude relationalOperator="ge" uID="altClimb">10058.4</altitude> <!-- FL330 --> + </positionGeo> +</endCondition> +<constraint> + <referenceEndConditionUID>altClimb</referenceEndConditionUID> + <endConditionRatio>0.0;0.303</endConditionRatio> <!-- FL0, FL100 --> + <continuitySetting>discrete</continuitySetting> + <CAS relationalOperator="le">128.61;154.33</CAS> <!-- 250 [kt], 300 [kt]--> + <machNumber relationalOperator="le">0.78;0.78</machNumber> + <prioritySetting>velocity</prioritySetting> +</constraint> + + + From FL0 until FL100, the vehicle should fly at a velocity less than or equal to CAS = 250 kt or M = 0.78. In this first segment at low altitudes, the constraint on CAS is triggered. + + + From FL100 until FL330, the vehicle should fly at a velocity less than or equal to CAS = 300 kt or M = 0.78. In this second segment, the vehicle starts by increasing velocity until 300 kt, the constraint on maximum machNumber triggers from the crossover altitude onwards - An example can be found below: - - - @@ -6399,85 +6368,203 @@ marko.alder@dlr.de - - + + - Relative chordwise coordinate (xsi) of the - hinge line point. Reference is the parent chord. + + Reference to the uID of the segment end condition variable - + - Relative height of the hinge line point. - Reference is the parent airfoil height. + + Vector indicating the ratios of the constraintSettings profile with respect to the provided referenceEndCondition, ranging from 0 to 1. If this vector is defined, the provided constraintSettings are expected to be vectors with the same length providing ratio-value pairs. Example: for referenceEndCondition <range><z> (i.e.: flown distance in z direction of the segment), a vector of <CAS> and <machNumber> is provided to define a climb profile. + - + + + Defines how to interpret the parameter lapses within the segment: discrete steps (C0 continuity) or linear interpolation (C1 continuity) + + + + + + + + + + + + + + + Calibrated airspeed within the + segment + + + + + + + Mach number within the segment + + + + + + + Climb angle within the segment + + + + + + + Climb angle within the segment + + + + + + + Specific excess power within the segment + (e.g.: for defining minimum SEP to + remain after step climbs have been + performed). + + + + + + + Altitude difference of each step climb + + + + + + + + Flight heading at the end of the + segment in compassAngle with + reference to true North [deg] + + + + + + + Total change of heading angle during + segment (a full turn is 360 degrees) + [deg] + + + + + + + + Rate of turn within the segment + + + + + + + Thrust setting for derated engine as + fraction of max. Thrust (e.g.: for + powered descents, deceleration not at + IDLE, manoevres). + + + + + + + Rate of velocity within the segment + + + + + + + Load factor experienced during segment + + + + + + + Constant altitude for the segment. + + + + + + + priority setting indicating which + constraint is preferred within the + segment + + + + + + + + + + + + - + - Outer shape definition of the control surface. - + Mission segment constraints - - Definition of the outer shape of the leading edge - control surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - + Contains a set of constraints for the segment - - - - - + + + - + - Outer shape definition of the spoiler control surface. - + Airfoil definition of an control surface at the + inner/outer border. - Definition of the outer shape of the control surface. + Optional definition of the exact airfoil shape at the + inner/outer border of the control surface. + The airfoil shape is defined via referencing to the + airfoilUID. As the leading and trailing edge point is fix due to + the outer shape definition of the control surface the airfoil + can only be rotated around the x-axis (axis going from leading + to trailing edge of the inner/outer border of the control + surface). Scaling in x-direction is also defined by the outer + shape, wherefore only scaling in y and z direction is allowed. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - @@ -6486,91 +6573,81 @@ marko.alder@dlr.de - - - + + + Reference to the airfoil uID. + + + + + + Rotation around an axis, going from the + leading edge point to the trailing edge point of the inner/outer + border of the control surface. Defaults to 90°, which is + equivalent to perpendicular on the control surface middle plane. + + + + + + Scaling of the airfoil in spanwise direction + (not used for 2D airfoils). + + + + + Scaling in thickness direction of the airfoil. + + + - + - Outer shape definition of the control surface. - + controlDistributorsType - - Definition of the outer shape of the trailing Edge - control surface. - The position on the planform of the control surface is - defined by defining the eta/xsi coordinates of the inner/outer - and forward/rear border. The eta/xsi coordinates refer to the - parent. - Please find below an example for the definition of the - planform of a trailing edge device. Other controlsurfaces are - similar. - - - - + plural Element for controlDistributor - - - - - + + + - + - Definition of the deflection path of the control - surface. + controlDistributorType - The deflection path of a control surface is described - with respect to two hinge points - one at the inner border of - the control surface and one at the outer border of the control - surface. Those two points are defined using the xsi and relative - height coordinates of the parent. Therefore those points can also - lay outbound of the control surface. Those two points defined - the hinge line, which is a straight line between the two points. - - The deflection path of the control surface is defined - within the hinge line coordinat system. This is defined as - follows: The x-hinge coordinate equals the wing x-axis. The - y-hinge coordinate equals the hinge line axis (see above; - positive from inner to outer hinge point). The z-hinge line is - perpendicular on the x-hinge and y-hinge coordinate according to - the right hand rule. The rotation of the control surface is - defined as rotation around the positive y-hinge line. - - The deflection of the is defined in any number of - steps. The deflection of the control surface is done as follows: - First the x-deflection at the inner and outer border; afterwards - the z-deflection of the inner and outer border; last the - y-deflection of the inner border. The y-deflection is only - defined at the inner border, as it is identical to the outer - border. If no values for the outer border deflection are given, - they default to the values of the inner border. - An example can be found below: - - - + single controlDistributor bundling several + controlElements + Within some analyses, it might occur that overlapping control element settings are specified. In this case, + it is assumed that a cumulative setting is built by summing up the individual settings. As the behavior of these settings + is not necessarily linear, a certain order of summation has to be followed: + + (1) The command inputs for each controlDistributor, coming from the configurationUID, as well as from separate settings have to be summed up to a total commandInput. + (2) With this total commandInput, each corresponding controlDistributor definition has to be evaluated, in order to get controlParameter settings for a number of controlDevices. + (3) All controlParameter settings for a controlDevice, coming from the configurationUID, from the controlDistributors and from separate controlDevice settings have to be summed up to get a total controlParameter for each controlDevice. + (4) With this total controlParameter, each corresponding controlDevice definition has to be evaluated, in order to find out what the control device finally is doing. + (5) During the summation process (depending on the order of processing within step 1 to 4), commandInputs or controlParameters might exceed the specified limits for that controlDistributor or controlDevices. As an intermediate result, this should be accepted – however, when it comes to evaluation in step 2 and 4, all commandInputs and controlParameters have to be within the specified limits. + @@ -6579,28 +6656,29 @@ marko.alder@dlr.de - - - + + + + + Vector of command inputs. The minimum and maximum value is given by the lowest and highest entry of the vector, respectively. + + + + - + - controlSurfacePerformanceMapType + controlElementsType - ControlSurfacePerformanceMap type, containing a delta - performance map with aerodynamic data for a control surface. Array - order is: relativeDeflection min->max then angleOfAttack then - angleOfSideslip then altitude then machNumber. AngleOfAttack, - angleOfSideslip, altitude and machNumber are taken from the - basic performance map one level above. + plural Element for controlElement @@ -6608,40 +6686,55 @@ marko.alder@dlr.de - + + + + + + + + + + + + controlElementType + + + Single controlElement linking the inputs of a controlDistributor via a gain + table to a contol device by using its uID. Controls can be ControlSurfaces and in the + future thrust. + + + + + + + + - Reference to the control surface - + UID of the control device, e.g. a control surface. It is not allowed to reference another control distributor. - + - Relative deflection of the control surface - + Vector of control device states resulting from the input commands. It must be of the same length as the inputCommands element. + The minimum and maximum values are defined according to the minimum and maximum values of the input commands. - - - - - - - + - + - controlSurfacePerformanceMaps + controlFunctionsType - controlSurfacePerformanceMaps type, containing the - aerodynamic delta performance maps for one or more control - surfaces. + plural Element for controlFuntion @@ -6649,209 +6742,117 @@ marko.alder@dlr.de - + - + - Border type for the inner and outer border of a wing - cut out + controlFunctionType - - Maybe applied to specifiy inner and outer border of - the cutout either via eta or rib references - - - - + single controlFunction containing the controller's + parameters - - - - - Link to a rib definition - - - - - - Rib number in the corresponding - ribDefinitionUID - - - - - - - Spanwise location of the border at the - leading edge of the cut out - - - - - Spanwise location of the border at the - trailing edge of the cut out - - - - + + + + + + + + + + - + - Cut out of the parents upper/lower skin due to a - control surface. + Controllability requirements - - Optional. Definition of the skin cut out due to a - control surface. The cut out of the skin can either be defined - by referencing to a spar uID or by defining the relative chord - values (xsi) of the cut at the inner and outer border of the - control surface. The xsi value is based on the parents chord. - For leading edge devices additional parameters can be defined. - - An example for wing cut outs can be found in the - picture below: - - - - + Contains a list of controllability requirements + - - - - - Xsi value of the inner border, where the cut - out begins. - - - - - Xsi value of the outer border, where the cut - out begins. - - - - - - Reference to a spar, defining the skin cut - out. - - - + + + - + - controlSurfaceStepType + Controllability requirement - - - The deflection path of the control surface is defined - within the hinge line coordinat system. This is defined as - follows: The x-hinge coordinate equals the wing x-axis. The - y-hinge coordinate equals the hinge line axis (see above; - positive from inner to outer hinge point). The z-hinge line is - perpendicular on the x-hinge and y-hinge coordinate according to - the right hand rule. The rotation of the control surface is - defined as rotation around the positive y-hinge line. - - The deflection of the is defined in any number of - steps. The deflection of the control surface is done as follows: - First the x-deflection at the inner and outer border; afterwards - the z-deflection of the inner and outer border; last the - y-deflection of the inner border. The y-deflection is only - defined at the inner border, as it is identical to the outer - border. If no values for the outer border deflection are given, - they default to the values of the inner border. - An example can be found below: - - - - - - + - The control parameter links a generic floating point value to - a certain status of a control device (e.g. control surface, landing gear, suction - system, brake parachute, ...). See the documentation of the global CPACS-Element for - further information. - + Name - + - Translation of the inner hinge line point - within the hinge line coordinate system. Defaults to zero. Not - allowed for spoilers! + Description - + - Translation of the outer hinge line point - within the hinge line coordinate system. Defaults to the values - of the inner hinge line point. Not allowed for spoilers! - + UID of point performance definition - + - Positve rotation around the hinge line, - heading from the inner to the outer border. Defaults to zero. - + UID of weight and balance description + + + + - + - Definition of the steps of the control surface - deflection path. + controlLawModesType - - List of steps. - + Control Laws type, containing the aircraft's control + law modes @@ -6859,170 +6860,22 @@ marko.alder@dlr.de - + - + - Control surface tracks (mechnaical link between control - surface and parent). + controlLawModeType - - A track generally describes the structural connection between a control surface and a wing (or parent element). For example, a track can be a flap track, a revolute joint connecting an aileron or spoiler, or the kinematics of slats on a wing. - The spanwise position of the track is defined by - etaPosition, which refers to the control surface dimensions. - - The structural properties of the track (e.g. - materials) are defined in trackStructure. - If an actuator is included into the the track, a - reference is given in actuator. - The principal kinematic of the track is defined by - setting the trackType and trackSubType. Please refer to the - tables below for setting the trackType and trackSubType - parameter. Note, those tables are not final - they are extended - continuously. - - - - Trailing edge track types - - - trackType - picture - description - trackSubType - picture - description - - - 1 - - - - - - Revolute joint; no actuators; the revolute joint is on TED hinge line. - 1 - - - - - - Revolute attached at the wings rear spar and the TEDs front spar respectively the load - carrying ribs of the TED. - - - 2 - - - - - - Revolute joint; dropped hinge; linear or rotary actuator (subtype-dependent) included. - The drive strut (if any) is defined as strut1. - 1 - - - - - - Box beam design as wing attachment; rotary drive attached at wing rear spar. - - - - - - 2 - - - - - - Wing attachment at wing rear spar; rotary drive attached at wing rear spar - - - - - - 3 - - Track mounted inside the fuselage at wing root. - - - 3 - - - - - - Upside-down, forward link in conjunction with a straight track on a fixed structure - as aft. support; including rotary drive. - 1 - - - - - - Wing attachment using a box beam design where track is mounted; rotary actuator mounted - at the wing rear spar. - - - - - - 2 - - Track mounted inside the fuselage at wing root. - - - 4 - - - - - - Straight and sloped track on a fixed structure as forward support and an upright link as - aft. support; linear or rotary actuator (subtype-dependent) included. - 1 - - - - - - Wing attachment using a box beam design where the track is mounted; rotary actuator at - the wing rear spar. - - - - - - 2 - - - - - - Wing attachment using a box beam design where track is mounted; rotary actuator mounted - on the track. - - - - - - 3 - - Track mounted inside the fuselage at wing root. - - - - + Control Laws type, containing the aircraft's control + law mode @@ -7030,129 +6883,71 @@ marko.alder@dlr.de - - - Relative chordwise position of the track. Eta - refers to the control surface. - - - - - Type of the track. Please refer to the remarks - of the controlSrufaceTrackTypeType for details. - - - - - - - - - - - - - - - - Type of the track. Please refer to the remarks - of the controlSrufaceTrackTypeType for details. - - - - - - - - - - - - - - + - - + - Control surface tracks (mechnaical link between control - surface and parent). + controlLawsType - + Control Laws type, containing the aircraft's control + laws - - - + + + + - + - Cut out of the parents structure due to a control - surface. + Definition of actuators of the control surface, that + are not placed within a track. - - Optional. Definition of the parents structure cut out - due to a control surface. The cut out is split into three parts: - cut out of the upper and lower skin and the definition of an - profile conecting the cut out of the upper and lower skin. - - An example for wing cut outs can be found in the - picture below: - - - - In the default configuration the cut out is as wide as - the control surface. If additional spacing is necessary inner - and outer border may be set. - + Definition of actuators of the control surface, that + are not placed within a track. - - - - - - - - + + + - + - controlSurfacesType + Definition of an actuator of the control surface, that + is not placed within a track. - Definition of the outer shape, structure and deflection - of all control surfaces (flaps, slats, soiler, ailerons...) of - the wing. + Definition of an actuator of the control surface, that + is not placed within a track. @@ -7160,48 +6955,124 @@ marko.alder@dlr.de - - - + + + Reference to the actuator (actuator definition + currently not available in CPCAS, status 1.6). + + + + + - + - costAirConditioningSystemsType + Airfoil definition of an control surface between inner + and outer border. - + + Optional definition of the exact airfoil shape between + the inner and outer border of the control surface. + The airfoil shape is defined via referencing to the + airfoilUID. As the leading and trailing edge point is fix due to + the outer shape definition of the control surface the airfoil + can be rotated around the x-axis (axis going from leading to + trailing edge of the control surface) and around the z-axis + (normal axis on the control surface middle plane). Scaling in + x-direction is also defined by the outer shape, wherefore only + scaling in y and z direction is allowed. + - - + + + + Relative spanwise coordinate (eta) of the + control surface, where the leading edge of the airfoil is + placed. + - + + + Reference to the airfoil uID. + + - + + + Rotation around an axis, going from the + leading edge point to the trailing edge point of the control + surface. Defaults to 90°, which is equivalent to perpendicular + on the control surface middle plane. + + + + + Rotation of the airfoil around the control + surface middle plane normal direciotn. Reference point is the + most forward point of the airfoil. Defaults to 90°, which is + equivalent to the airfoilplacement in flight direction (along + wings-x axis). + + + + + Scaling of the airfoil in spanwise direction + (not used for 2D airfoils). + + + + + Scaling in thickness direction of the airfoil. + + + + - + - costAutomaticFlightSystemsType + Inner/outer border of the control surface. - + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the leading edge + devices 'hollow'. If an exact control surface airfoil definition + should be used, outerShape->airfoils can be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + @@ -7209,24 +7080,71 @@ marko.alder@dlr.de - + + + Relative spanwise inner/outer position of the + leading edge of the control surface. + - + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Defaults to 'etaLE'. + + + + + Relative chordwise inner/outer position of + the trailing edge of the control surface. Reference is eta/xsi + from the parent. + + + + + + + + + + + + - + - costAuxilaryPowerUnitsType + Inner/outer border of the control surface. - + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the + spoiler'relHeightLE' is used. If an exact control surface + airfoil definition should be used, outerShape->airfoils can + be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + @@ -7234,46 +7152,124 @@ marko.alder@dlr.de - + + + Relative spanwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. Defaults to 'etaLE'. + + + + + Relative chordwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + - + + + Relative chordwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. + + + + + Defines the relative high of lowest point of + the spoiler leading edge, relative to the airfoil height of the + parent at this position. See picture below. + + + + + - + - costBleedAirSystemsType + Inner/outer border of the control surface. - + + Definition of the inner/outer border of the control + surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + In addition, optionally, the airfoil shape of the + control surface can be defined closer. For the trailing edge + device this is done at 'leadingEdgeShape', for the spoiler + 'relHeightLE' is used and for the leading edge devices 'hollow'. + If an exact control surface airfoil definition should be used, + outerShape->airfoils can be used. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + + + + - - + + + + Relative spanwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + - + + + Relative spanwise inner/outer position of the + trailing edge of the control surface. Reference is eta/xsi from + the parent. Defaults to 'etaLE'. + - + + + Relative chordwise inner/outer position of the + leading edge of the control surface. Reference is eta/xsi from + the parent. + + + + + + - + - costCommunicationSystemsType + Optional definition of the exact airfoil shape of the + control surface. @@ -7284,106 +7280,127 @@ marko.alder@dlr.de - - - - + - + - costComponentsType + This type contains a list of control surfaces and their + deflection vectors - + + + 0. General overview + + In this type, a list of control surfaces is defined. + + + + + 1. + <controlSurface> + (mandatory) + + + One of these nodes per deflected control surface is + required here. + + + - - - - - - - - - - - - - + + + - + - costDeIcingSystemsType + This type contains a vector of deflection values for a + single control surface - - - - - - - - - - - - - - - - - - - - - - - costElectricalSystemsType - - - + + + 0. General overview + + In this type, a vector of deflections of a single + control surface is specified. + + + + 1. + <controlSurfaceUID> + (mandatory) + + + A reference to a control surface from the aircraft + model + + + + 2. + <controlParameters> + (mandatory) + + + A vector of controlParameters of the selected + control surface (with respect to the defined deflection path). + + + + - - + + + + Reference to a control surface + + - + + + Control parameters of the control surface + + - + - + - costEnginePylonsType + controlSurfaceHingeMomentMapsType - + controlSurfaceHingeMomentMapsType type, containing the + aerodynamic moment maps for one or more control surfaces. + @@ -7391,208 +7408,327 @@ marko.alder@dlr.de - - - - + - + - costEquippedEnginesType + controlSurfaceHingeMomentMapType - + controlSurfaceHingeMomentMap type, containing a moment + map with aerodynamic data for a control surface. Array order is: + controlParameters min->max then angleOfAttack then angleOfSideslip + then reynoldsNumber then machNumber. AngleOfAttack, angleOfSideslip, + reynoldsNumber and machNumber are taken from the basic + performance map one level above. - - + + + + Reference to the control surface + + - + + + Control parameters of the control surface + + - + + + + + + + - + - costFireProtectionSystemsType + controlSurfaceHingePointType - + + The deflection path of a control surface is described + with respect to two hinge points - one at the inner border of + the control surface and one at the outer border of the control + surface. Those two points are defined using the xsi and relative + height coordinates of the parent. Therefore those points can also + lay outbound of the control surface. Those two points defined + the hinge line, which is a straight line between the two points. + + An example can be found below: + + + + - - + + + + Relative chordwise coordinate (xsi) of the + hinge line point. Reference is the parent chord. + + - + + + Relative height of the hinge line point. + Reference is the parent airfoil height. + - + - + - costFixedEmergencyOxygenSystemsType + Outer shape definition of the control surface. + - + + Definition of the outer shape of the leading edge + control surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + - - - - - - - + + + + + - + - costFlightControlSystemsType + Outer shape definition of the spoiler control surface. + - + + Definition of the outer shape of the control surface. + + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + - - - - - - + + + + + - + - costFuelSystemsType + Outer shape definition of the control surface. + - + + Definition of the outer shape of the trailing Edge + control surface. + The position on the planform of the control surface is + defined by defining the eta/xsi coordinates of the inner/outer + and forward/rear border. The eta/xsi coordinates refer to the + parent. + Please find below an example for the definition of the + planform of a trailing edge device. Other controlsurfaces are + similar. + + + + - - - - - - + + + + + - + - costFurnishingElementsType + Definition of the deflection path of the control + surface. - + + The deflection path of a control surface is described + with respect to two hinge points - one at the inner border of + the control surface and one at the outer border of the control + surface. Those two points are defined using the xsi and relative + height coordinates of the parent. Therefore those points can also + lay outbound of the control surface. Those two points defined + the hinge line, which is a straight line between the two points. + + The deflection path of the control surface is defined + within the hinge line coordinat system. This is defined as + follows: The x-hinge coordinate equals the wing x-axis. The + y-hinge coordinate equals the hinge line axis (see above; + positive from inner to outer hinge point). The z-hinge line is + perpendicular on the x-hinge and y-hinge coordinate according to + the right hand rule. The rotation of the control surface is + defined as rotation around the positive y-hinge line. + + The deflection of the is defined in any number of + steps. The deflection of the control surface is done as follows: + First the x-deflection at the inner and outer border; afterwards + the z-deflection of the inner and outer border; last the + y-deflection of the inner border. The y-deflection is only + defined at the inner border, as it is identical to the outer + border. If no values for the outer border deflection are given, + they default to the values of the inner border. + An example can be found below: + + + + - - - - - - - - + + + + + - + - costFurnishingsType + controlSurfacePerformanceMapType - + ControlSurfacePerformanceMap type, containing a delta + performance map with aerodynamic data for a control surface. Array + order is: relativeDeflection min->max then angleOfAttack then + angleOfSideslip then altitude then machNumber. AngleOfAttack, + angleOfSideslip, altitude and machNumber are taken from the + basic performance map one level above. - - - - - - - - + + + + Reference to the control surface + + - + + + Relative deflection of the control surface + + - + + + + + + + - + - costFuselagesType + controlSurfacePerformanceMaps - + controlSurfacePerformanceMaps type, containing the + aerodynamic delta performance maps for one or more control + surfaces. @@ -7600,74 +7736,135 @@ marko.alder@dlr.de - - - - + - + - costHydraulicSystemsType + Border type for the inner and outer border of a wing + cut out - + + Maybe applied to specifiy inner and outer border of + the cutout either via eta or rib references + + + + - - - - - - + + + + + Link to a rib definition + + + + + + Rib number in the corresponding + ribDefinitionUID + + + + + + + Spanwise location of the border at the + leading edge of the cut out + + + + + Spanwise location of the border at the + trailing edge of the cut out + + + + - + - costInstrumentSystemsType + Cut out of the parents upper/lower skin due to a + control surface. - + + Optional. Definition of the skin cut out due to a + control surface. The cut out of the skin can either be defined + by referencing to a spar uID or by defining the relative chord + values (xsi) of the cut at the inner and outer border of the + control surface. The xsi value is based on the parents chord. + For leading edge devices additional parameters can be defined. + + An example for wing cut outs can be found in the + picture below: + + + + - - - - + + + + + Xsi value of the inner border, where the cut + out begins. + + + + + Xsi value of the outer border, where the cut + out begins. + + + + + + Reference to a spar, defining the skin cut + out. + - + - + - costLandingGearType + Definition of the steps of the control surface + deflection path. - + + List of steps. + @@ -7675,71 +7872,119 @@ marko.alder@dlr.de - - - - + - + - costLightingSystemsType + controlSurfaceStepType - + + The deflection path of the control surface is defined + within the hinge line coordinat system. This is defined as + follows: The x-hinge coordinate equals the wing x-axis. The + y-hinge coordinate equals the hinge line axis (see above; + positive from inner to outer hinge point). The z-hinge line is + perpendicular on the x-hinge and y-hinge coordinate according to + the right hand rule. The rotation of the control surface is + defined as rotation around the positive y-hinge line. + + The deflection of the is defined in any number of + steps. The deflection of the control surface is done as follows: + First the x-deflection at the inner and outer border; afterwards + the z-deflection of the inner and outer border; last the + y-deflection of the inner border. The y-deflection is only + defined at the inner border, as it is identical to the outer + border. If no values for the outer border deflection are given, + they default to the values of the inner border. + An example can be found below: + + + + - - + + + + The control parameter links a generic floating point value to + a certain status of a control device (e.g. control surface, landing gear, suction + system, brake parachute, ...). See the documentation of the global CPACS-Element for + further information. + + - + + + Translation of the inner hinge line point + within the hinge line coordinate system. Defaults to zero. Not + allowed for spoilers! + - + + + Translation of the outer hinge line point + within the hinge line coordinate system. Defaults to the values + of the inner hinge line point. Not allowed for spoilers! + + + + + + Positve rotation around the hinge line, + heading from the inner to the outer border. Defaults to zero. + + + + - + - costNacellesType + controlSurfacesType - + Definition of the outer shape, structure and deflection + of all control surfaces (flaps, slats, soiler, ailerons...) of + the wing. - - - - - - + + + + + - + - costNavigationSystemsType + Control surface tracks (mechnaical link between control + surface and parent). @@ -7750,55 +7995,248 @@ marko.alder@dlr.de - - - - + - + - costPowerUnitsType + Control surface tracks (mechnaical link between control + surface and parent). - - - - - - - - - - - - - + + A track generally describes the structural connection between a control surface and a wing (or parent element). For example, a track can be a flap track, a revolute joint connecting an aileron or spoiler, or the kinematics of slats on a wing. + The spanwise position of the track is defined by + etaPosition, which refers to the control surface dimensions. + + The structural properties of the track (e.g. + materials) are defined in trackStructure. + If an actuator is included into the the track, a + reference is given in actuator. + The principal kinematic of the track is defined by + setting the trackType and trackSubType. Please refer to the + tables below for setting the trackType and trackSubType + parameter. Note, those tables are not final - they are extended + continuously. + + + + Trailing edge track types + + + trackType + picture + description + trackSubType + picture + description + + + 1 + + + + + + Revolute joint; no actuators; the revolute joint is on TED hinge line. + 1 + + + + + + Revolute attached at the wings rear spar and the TEDs front spar respectively the load + carrying ribs of the TED. + + + 2 + + + + + + Revolute joint; dropped hinge; linear or rotary actuator (subtype-dependent) included. + The drive strut (if any) is defined as strut1. + 1 + + + + + + Box beam design as wing attachment; rotary drive attached at wing rear spar. + + + + + + 2 + + + + + + Wing attachment at wing rear spar; rotary drive attached at wing rear spar + + + + + + 3 + + Track mounted inside the fuselage at wing root. + + + 3 + + + + + + Upside-down, forward link in conjunction with a straight track on a fixed structure + as aft. support; including rotary drive. + 1 + + + + + + Wing attachment using a box beam design where track is mounted; rotary actuator mounted + at the wing rear spar. + + + + + + 2 + + Track mounted inside the fuselage at wing root. + + + 4 + + + + + + Straight and sloped track on a fixed structure as forward support and an upright link as + aft. support; linear or rotary actuator (subtype-dependent) included. + 1 + + + + + + Wing attachment using a box beam design where the track is mounted; rotary actuator at + the wing rear spar. + + + + + + 2 + + + + + + Wing attachment using a box beam design where track is mounted; rotary actuator mounted + on the track. + + + + + + 3 + + Track mounted inside the fuselage at wing root. + + + + + + + + + + + + + + Relative chordwise position of the track. Eta + refers to the control surface. + - + + + Type of the track. Please refer to the remarks + of the controlSrufaceTrackTypeType for details. + + + + + + + + + + + + - + + + Type of the track. Please refer to the remarks + of the controlSrufaceTrackTypeType for details. + + + + + + + + + + + + + + - + - costSystemsType + Cut out of the parents structure due to a control + surface. - + + Optional. Definition of the parents structure cut out + due to a control surface. The cut out is split into three parts: + cut out of the upper and lower skin and the definition of an + profile conecting the cut out of the upper and lower skin. + + An example for wing cut outs can be found in the + picture below: + + + + In the default configuration the cut out is as wide as + the control surface. If additional spacing is necessary inner + and outer border may be set. + @@ -7806,41 +8244,23 @@ marko.alder@dlr.de - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + - costWaterInstallationSystemsType + costAirConditioningSystemsType @@ -7853,19 +8273,19 @@ marko.alder@dlr.de - + - + - costWingsType + costAutomaticFlightSystemsType @@ -7878,21 +8298,19 @@ marko.alder@dlr.de - - - + - + - crashLoadCasesType + costAuxilaryPowerUnitsType @@ -7903,99 +8321,46 @@ marko.alder@dlr.de - + + + + - + - crashLoadcaseType + costBleedAirSystemsType - CrashLoadcase type, containing a crash loadcase - + - - - - - - Optional start of crash section: Default: - first frame of model - - - - - Optional end of crash section: Default: last - frame of model - - - - - Initial velocities - - - - - Initial rotations around axes, roll, pitch, - yaw - - - - - Initial rotational velocities aroud axes - - - - - - Definition of reference point to consider - rotation - - - - - AccelerationFields, usually gravity in z - - + + - - - Definition of impact Surface for crash - simulation - - - - - - - - - - + - - + - + - crewCostType + costCommunicationSystemsType @@ -8005,25 +8370,25 @@ marko.alder@dlr.de - - - - - + + + + + + - + - crossBeamAssemblyPositionType + costComponentsType - CrossBeamAssemblyPosition type, containing the position - of a crossBeam assembly + @@ -8031,91 +8396,52 @@ marko.alder@dlr.de - - - UID of profile based structural element to be - used as crossbeam - + - - - UID of the frame to which the crossbeam is - attached - + - - - Referenze z position of the crossbeam - - + + + + + - - - + - crossBeamStrutAssemblyPositionType + costDeIcingSystemsType - CrossBeamStrutAssemblyPosition type, containing a - crossBeam strut assembly position + - - - - UID of profile based structural element to be - used as crossbeam strut - - - - - UID of the frame to which the crossbeam strut - is attached - - - - - UID of the crossbeam to which the crossbeam - strut is attached - - - - - Referenze y position of the strut at the - crossbeam intersection - + + - - - angle of the strut in global yz plane - - + - - - + - + - cruiseRollerType + costElectricalSystemsType @@ -8125,47 +8451,22 @@ marko.alder@dlr.de - - - - Definition of the position of the mid point of - the roll of the cruise roller. - - - - - Definition of the attachment of the cruise - roller to the parent of the flap. This is the track on which the - roll rolls during retracted flap position - - - - - Definition of the attachment of the cruise - roller to the flap. - + + - - - Degree of freedom that is blocked by the - cruise roller if the flap is in retracted position. Positive = - cruise roller blockes bending in the direction of the upper skin - of the parent. Negative = cruise roller blockes bending in the - direction of the lower skin of the parent. - + - - + - + - cruiseRollersType + costEnginePylonsType @@ -8176,23 +8477,21 @@ marko.alder@dlr.de - - - Definition of one cruise rollers/mid-span - stops. - + + + - + - cst2DType + costEquippedEnginesType @@ -8202,195 +8501,122 @@ marko.alder@dlr.de - - A 2D impelmentation for Class shape - transformations. For more details look at AIAA Journal of Aircraft - Vol.45 No.1 2008 - - - - - The psi vector for definition of the class and - shape function, i.e. the points at which the CST functions will - be evaluated - - - - - N1 for the class function for the upper side - of the profile - - - - - N2 for the class function for the upper side - of the profile - - - - - B Coefficients for the Bernstein polynominal - on the upper side - - - - - N1 for the class function for the lower side - of the profile - - - - - N2 for the class function for the lower side - of the profile - - - - - B Coefficients for the Bernstein polynominal - on the lower side - + + - - - Optionally, the trailingEdgeThickness of the - profile - + - + - + + + + + + costFireProtectionSystemsType + + + + + + + - + + + + - + - curvePointType + costFixedEmergencyOxygenSystemsType - Point on a curve in normalized curve coordinates. - The referenceUID must reference a one-dimensional curve such as spars. + - - - - Relative position on the referenced line/curve. - + + - - - This reference uID determines the reference curve. - If it points to a spar, then the eta value is considered to be a spar coordinate - between start (eta=0) and end (eta=1) of the spar. - + - + - + - cutLoadIntegrationPointsType + costFlightControlSystemsType - cutLoadIntegrationPoints are defined in a vector - notation, due to the high amounts of data. Usually they well be - defined inbetween the ribs. Each point must have an id. - Optionally it is possible to rotate the orientation within a - cutloadIntegrationPoint to obtain meaningful results. The - orientation is optional and relative to the CPACS coordinate - system + - - - - - - - - - + + + + + + - + - Additional definition of the leading edge cut out. - + costFuelSystemsType - - Optional. Definition of additional parameters, - describing the shape of the parents leading edge of the cut out - due to leading edge devices. - The parameters are described in the picture below: - - - - - + - - - - Relative height of the most forward position of - the parents leading edge, relative to the airfoil height without - cut out. - + + - - - Relative chordwise position of the most - forward position of the parents leading edge, relative to the - parents chord without cut out. - + - + - + - cutOutControlPointsType + costFurnishingElementsType @@ -8400,37 +8626,25 @@ marko.alder@dlr.de - - - - + + + + + + - + - Definition of cut out profiles. + costFurnishingsType - - Optional, the exact shape between the upper and lower - skin cut out can be given by using cutOutProfiles. In general - cut out profiles are open profiles and not closed profiles as - e.g. wing airfoils. The placement, scaling and (partly) rotation - of the cut out profiles is fixed as the beginning and ending - point of the profile is fixed as can be seen in the two pictures - below. - - - - - - - + @@ -8438,40 +8652,27 @@ marko.alder@dlr.de - - - Reference to the profile uID. Profiles should - be linked in profiles/structuralProfiles - + - - - Relative spanwise position of the cut out - profile. The eta coordinate refers to the control surface and - desribes the cut out profile at the leading edge of the control - surface. - + - - - Rotation of the airfoil around the control - surface middle plane normal direciotn. Reference point is the - most forward point of the airfoil. Defaults to 90°, which is - equivalent to the airfoilplacement in flight direction (along - wings-x axis). - + + + + + - + - Definition of cut out profiles. + costFuselagesType @@ -8482,257 +8683,99 @@ marko.alder@dlr.de - - - + + + + - + - cutOutType + costHydraulicSystemsType - CutOut type, containing cut-outs + - - - - Name of the cut out element - - - - - - Description of the cut out element - - - - - - Width of the cut element (absolute value) - - - - - - Height of the cut element (absolute value) - - - - - - Fillet radius of the cut element (absolute - value) - + + - - - UID of a structural element that reinforces - the cut out - + - - + - + - Damping derivatives for positive and negative rotation - rates + costInstrumentSystemsType - - - 0. General overview - - This type contains the damping derivatives. They are - split up into those derivatives for positive rotation rates, - and those for negative rotation rates. - - - - 1. <positiveRates> (optional) - - Damping derivatives, calculated by positive rotation - rates. - - - - 2. <negativeRates> (optional) - - Damping derivatives, calculated by negative rotation - rates. - - - + - - - - - + + + + + + - + - Deck + costLandingGearType - Data of an aircraft or rotorcraft deck + - - - - Name - - - - - Description - - - - - UID of the object used as parent coordinate system (typically the fuselage uID) - - - - - UID of the floor structure which supports this deck - - - - - The reference point of the deck/cabin. In a - conventional aircraft like the A320, it would be the rear wall - of the cockpit. The transformation is relative to the parent object - defined by “parentUID”, which should be the fuselage. - - - - - - Deck type: passanger, VIP, cargo or livestock - - - - - - - - - - - - - - - - Seat modules - - - - - Aisles - - - - - Spaces - - - - - Sidewall panels - - - - - Luggage compartments - - - - - Ceiling panels - - - - - Galleys - - - - - Generic floor modules - - - - - Lavatories - - - - - Class dividers - - - - - Cargo containers - + + - - - Doors - + - - + - + - Decks + costLightingSystemsType - List of decks - + @@ -8740,18 +8783,21 @@ marko.alder@dlr.de - + + + + - + - deltaTemperatureType + costNacellesType @@ -8761,72 +8807,50 @@ marko.alder@dlr.de - - - - - - - - - + + + + + + - + - Design masses + costNavigationSystemsType - The design mases are requerments wich can com form the - TLARs + - - - - Take off mass - - - - - Zero Fuel mass - - - - - Maximum landing mass - + + - - - Maximum ramp mass (the maximum weight - authorised for the ground handling) - + - + - + - Design parameter definition + costPowerUnitsType - Contains a the values of a parameter and its uid as reference. - + @@ -8834,73 +8858,100 @@ marko.alder@dlr.de - - + + + + + + + + + + - - + - Design parameters list + costSystemsType - Contains a list of all design parameters. - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - Design space definition + costWaterInstallationSystemsType - Contains the definition of the design space. - + - - - - - - + + + + + + - + - Design study definitions + costWingsType - Contains the data of design studies definitions. - + @@ -8908,18 +8959,21 @@ marko.alder@dlr.de - + + + + - + - directOperatingCostType + crashLoadCasesType @@ -8929,29 +8983,23 @@ marko.alder@dlr.de - - - - - - - - - + + + - + - divergenceCaseType + crashLoadcaseType - DivergenceCase type, containing a case for aeroelastic - divergence analysis + CrashLoadcase type, containing a crash loadcase + @@ -8959,56 +9007,104 @@ marko.alder@dlr.de - + + + - Mach number of divergence case + Optional start of crash section: Default: + first frame of model + + + + + Optional end of crash section: Default: last + frame of model + + + + + Initial velocities + + + + + Initial rotations around axes, roll, pitch, + yaw + + + + + Initial rotational velocities aroud axes - + - Divergence stagnation pressure + Definition of reference point to consider + rotation + + + + + AccelerationFields, usually gravity in z + + + Definition of impact Surface for crash + simulation + + + + + + + + + + + + - + - divergenceCasesType + crewCostType - DivergenceCases type, containing the cases for - aeroelastic divergence analysis + - - - + + + + + - + - doorAssemblyPositionType + crossBeamAssemblyPositionType - DoorAssemblyPosition type, containing the position of a door - assembly + CrossBeamAssemblyPosition type, containing the position + of a crossBeam assembly @@ -9016,95 +9112,121 @@ marko.alder@dlr.de - - - + - optional definition of door type (restricted to pax, - service, emergency, cargo) + UID of profile based structural element to be + used as crossbeam - - - - - - - - - - - - - UID of the door element - description - - - + - UID of the forward door frame + UID of the frame to which the crossbeam is + attached - + - UID of the backward door frame + Referenze z position of the crossbeam + - + + + + + + + + + + + + + crossBeamStrutAssemblyPositionType + + + CrossBeamStrutAssemblyPosition type, containing a + crossBeam strut assembly position + + + + + + + + - UID of the stringer at the upper door - edge + UID of profile based structural element to be + used as crossbeam strut - + - UID of the stringer at the lower door - edge + UID of the frame to which the crossbeam strut + is attached - + - Lower height of the door with respect to the floor. - (Information necessary for boarding and evacuation analysis not - necessarily linked to structures) + UID of the crossbeam to which the crossbeam + strut is attached - + - Minimum widh of the door element. (Information - necessary for boarding and evacuation analysis not necessarily - linked to structures) + Referenze y position of the strut at the + crossbeam intersection - + - Minimum height of the door element. (Information - necessary for boarding and evacuation analysis not necessarily - linked to structures) + angle of the strut in global yz plane + - + + + + + + + + + + + + + cruiseRollersType + + + + + + + + + + + - Door on right side of the fuselage = 1; on the left = - -1. (Information necessary for boarding and evacuation analysis not - necessarily linked to structures) + Definition of one cruise rollers/mid-span + stops. - - + - + - doorCutOutType + cruiseRollerType - CutOut type, containing cut-outs + @@ -9112,92 +9234,127 @@ marko.alder@dlr.de - + - Name of door cutout element + Definition of the position of the mid point of + the roll of the cruise roller. - + - Description of door cutout - element + Definition of the attachment of the cruise + roller to the parent of the flap. This is the track on which the + roll rolls during retracted flap position - + - Fillet radius of door cutout - element + Definition of the attachment of the cruise + roller to the flap. - + - Reference UID to the description of a DSS (door - surround structure) + Degree of freedom that is blocked by the + cruise roller if the flap is in retracted position. Positive = + cruise roller blockes bending in the direction of the upper skin + of the parent. Negative = cruise roller blockes bending in the + direction of the lower skin of the parent. - + - + - doorSurroundStructurePositionType + cst2DType - DoorSurroundStructurePosition type, containing the position of a - door surround structure + + + A 2D impelmentation for Class shape + transformations. For more details look at AIAA Journal of Aircraft + Vol.45 No.1 2008 + - - - + - number of bays effected by DSS in front of - door + The psi vector for definition of the class and + shape function, i.e. the points at which the CST functions will + be evaluated - + - number of bays effected by DSS in behind of - door + N1 for the class function for the upper side + of the profile - + - number of bays effected by DSS + N2 for the class function for the upper side + of the profile - + - number of bays effected by DSS + B Coefficients for the Bernstein polynominal + on the upper side + + + + + N1 for the class function for the lower side + of the profile + + + + + N2 for the class function for the lower side + of the profile + + + + + B Coefficients for the Bernstein polynominal + on the lower side + + + + + Optionally, the trailingEdgeThickness of the + profile - - + - doorSurroundStructuresAssemblyType + Maps points (actually the index in the point list) to a curve parameter. - doorSurroundStructuresAssembly type, containing - dorrSurroundStructure definitions + + Which parameters are allowed depends on the context. + For exampple in a wing profile, values between -1 and 1 are valid. + @@ -9205,45 +9362,93 @@ marko.alder@dlr.de - + + + List of indices of points to be mapped. Each index must be in the range [1, npoints]. + + + + + List of parameters on the curve, that is mapped to the points defined by their index. + + - + - doorsType + A curve that interpolates a list of points. - Doors type, containing doors + + The curve interpolates the list of points, typically with a b-spline. + In theory, the interpolation is somewhat ambiguous as it is not defined at which + curve parameter a point will be interpolated. + + To solve is ambiguity, an optional parameter map can be defined + that maps point indices with curve parameters. + + Kinks can also be modeled by populating the "kinks" array with the + indices of points that should be on a kink. As an example, look at the following image: + + + + + In this example, the kinks array will be "3;7". + Optionally, the parameters of the kinks can be set in the parameter map. + The whole profile looks as follows: + + +<pointList> + <x>...</x> + <y>...</y> + <z>...</z> + <kinks>3;7</kinks> + <parameterMap> + <pointIndex>3;5;7</pointIndex> + <paramOnCurve>0.2;0.5;0.8</paramOnCurve> + </parameterMap> +</pointList> + + - + - + + + Indices of points at which the curve has a kink. Each index is in the range [1, npoints]. + + + + + + Map between point index and curve parameter. + + - + - driveSystemType + curvePointType - DriveSystem Type, defining a drive system (combination - of transmissions/gearboxes and shafts and their links to engines - and rotors) of a rotorcraft model. + Point on a curve in normalized curve coordinates. + The referenceUID must reference a one-dimensional curve such as spars. @@ -9251,47 +9456,48 @@ marko.alder@dlr.de - - - + + + Relative position on the referenced line/curve. + + + + + This reference uID determines the reference curve. + If it points to a spar, then the eta value is considered to be a spar coordinate + between start (eta=0) and end (eta=1) of the spar. + + - - - - - - driveSystemsType - - - DriveSystems Type, containing all the drive systems - (combination of transmissions/gearboxes and shafts and their - links to engines and rotors) of a rotorcraft model. - - - - + - + - + - dynamicAircraftModelAnalysisType + cutLoadIntegrationPointsType - + cutLoadIntegrationPoints are defined in a vector + notation, due to the high amounts of data. Usually they well be + defined inbetween the ribs. Each point must have an id. + Optionally it is possible to rotate the orientation within a + cutloadIntegrationPoint to obtain meaningful results. The + orientation is optional and relative to the CPACS coordinate + system @@ -9299,18 +9505,24 @@ marko.alder@dlr.de - + + + + + + + - + - dynamicAircraftModelCoordinatesType + cutOutControlPointsType @@ -9321,27 +9533,32 @@ marko.alder@dlr.de - - - - + + - + - Emissivity map, containing the diffuse emissivity of a material at different spectral lengths. + Additional definition of the leading edge cut out. + - The emissivity of a material can vary with the spectral wave length. - The vectors diffuseEmissivity and waveLength must have the same size to be valid. - The data should be linearly interpolated. - + + Optional. Definition of additional parameters, + describing the shape of the parents leading edge of the cut out + due to leading edge devices. + The parameters are described in the picture below: + + + + + @@ -9349,14 +9566,18 @@ marko.alder@dlr.de - + - Wave length in [m] + Relative height of the most forward position of + the parents leading edge, relative to the airfoil height without + cut out. - + - Diffuse emissivity of the material + Relative chordwise position of the most + forward position of the parents leading edge, relative to the + parents chord without cut out. @@ -9364,12 +9585,12 @@ marko.alder@dlr.de - + - Turbofan engine analysis + Definition of cut out profiles. @@ -9379,67 +9600,38 @@ marko.alder@dlr.de - - - - Thrust at takeoff - - - - - Fan pressure ratio at takeoff - - - - - - Bypass ratio at takeoff - - - - - overall pressure ratio at takeoff - - - - - - Maximum rotations per second, shaft 1 - - - - - - Maximum rotations per second, shaft 2 - - - - - - Design tip relative mach number (FAN) - - - - - - DryMass of engine - - - - + + + + + - - + + - Turboprop engine analysis + Definition of cut out profiles. - + + Optional, the exact shape between the upper and lower + skin cut out can be given by using cutOutProfiles. In general + cut out profiles are open profiles and not closed profiles as + e.g. wing airfoils. The placement, scaling and (partly) rotation + of the cut out profiles is fixed as the beginning and ending + point of the profile is fixed as can be seen in the two pictures + below. + + + + + + + @@ -9447,38 +9639,43 @@ marko.alder@dlr.de - + - Thrust at takeoff + Reference to the profile uID. Profiles should + be linked in profiles/structuralProfiles - + - Design tip relative mach number (FAN) - + Relative spanwise position of the cut out + profile. The eta coordinate refers to the control surface and + desribes the cut out profile at the leading edge of the control + surface. - + - Dry-mass of engine + Rotation of the airfoil around the control + surface middle plane normal direciotn. Reference point is the + most forward point of the airfoil. Defaults to 90°, which is + equivalent to the airfoilplacement in flight direction (along + wings-x axis). - - + - Definition of global geometry parameters of the engine - fan. + cutOutType - + CutOut type, containing cut-outs @@ -9486,200 +9683,127 @@ marko.alder@dlr.de - + - Inner radius of the fan. + Name of the cut out element + - + - Outer radius of the fan. + Description of the cut out element + - - - Chord length of a fan blade - - - + - Hub to tip ratio + Width of the cut element (absolute value) + - + - Number of rotor blades of fan + Height of the cut element (absolute value) + + + Fillet radius of the cut element (absolute + value) + + + + + UID of a structural element that reinforces + the cut out + + + - + - Definition of the global engine geometry. + Damping derivatives for positive and negative rotation + rates - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. + + 0. General overview + + This type contains the damping derivatives. They are + split up into those derivatives for positive rotation rates, + and those for negative rotation rates. + + + + 1. <positiveRates> (optional) + + Damping derivatives, calculated by positive rotation + rates. + + + + 2. <negativeRates> (optional) + + Damping derivatives, calculated by negative rotation + rates. + + - - - - - - - - length of engine - - - - - diameter of engine - - - - - - - - - - - - - - - - - Number of outlet guiding vanes - - - - - - Rotor stator spacing (relative to chordlength) - - - - - - Rotation direction of the engine if looking at - it from the front, i.e. from propeller/fan to exhaust - - - - - - - - - - - - - - - - - - - - - - Definition of one engine mount. - - - - - - - - - - Name of the engine mount. - - - - - Description of the engine mount. - - - - - - position of the engine mount refering to the - engine coordinate system. - - + + - - - UID of the engine mount. - - - - - - - - - - - - List of all engine mounts. - - - - - - - - - - - - + - + - Definition of the engine nacelle type. + Damping derivatives for positive and negative rotation rates - The engine nacelle is currently located together with - the engine. It gives a simple description of the outer shell of - the engine. All values are defined according to the base area, - center point of the fan(i.e. negative values can occur in the - definition) In most cases there will be a bypass engine. For - non-bypass or mixed engines ignore the bypass nozzle. For further - information on the geometric setup, please refer to the picture - below. - - - + + 0. General overview + + This type contains the damping derivatives. They are + split up into those derivatives for positive rotation rates, + and those for negative rotation rates. + + + + 1. <positiveRates> (optional) + + Damping derivatives, calculated by positive rotation + rates. + + + + 2. <negativeRates> (optional) + + Damping derivatives, calculated by negative rotation + rates. + + @@ -9688,337 +9812,300 @@ marko.alder@dlr.de - - - - - + + - - + - Turbofan engine performance map + Damping derivatives + + This type contains aerodynamic performance maps with + the damping derivatives. The derivatives are calculated using + rotational rates [rad/s], normalized by: + Rate*ReferenceLength/flow speed. The rotations are performed + around the global axis directions with the aircraft model's + global reference point as origin. The damping derivative + performance maps are vectors of the same length as the input + vectors of the baseline aerodynamic performance maps, consisting of + semicolon separated values. + + - - - - - + - Flight Level - - - - - Mach number - - - - - Absolute thrust [N] - - - - - Fuel mass flow - - - - - Speed at core engine nozzle - - - - - - Total temperature at core engine nozzle - - - - - - Mass flow through core engine nozzle - + Change of cd by normalized roll rate - + - Speed at bypass nozzle + Change of cd by normalized pitch rate - + - Total temperature at bypass nozzle - + Change of cd by normalized yaw rate - + - Mass flow through bypass nozzle - + Change of cs by normalized roll rate - + - Percent of n1Max, shaft 1 + Change of cs by normalized pitch rate - + - Percent of n2Max, shaft 2 + Change of cs by normalized yaw rate - + - Fan pressure ratio + Change of cl by normalized roll rate - + - Fan efficiency + Change of cl by normalized pitch rate - + - Turbine entry total temperature - + Change of cl by normalized yaw rate - + - Emission index Carbon Monoxide - + Change of cmd by normalized roll rate - + - Emission index Nitrogen Oxide - + Change of cmd by normalized pitch rate - + - Emission index Sulfur Oxide - + Change of cmd by normalized yaw rate - + - Emission index Soot + Change of cms by normalized roll rate - + - Emission index unburned hydrocarbon - + Change of cms by normalized pitch rate - + - air density at core outlet 8 - + Change of cms by normalized yaw rate - + - air density at bypass outlet 18 - + Change of cml by normalized roll rate - + - area at core outlet + Change of cml by normalized pitch rate - + - area at bypass outlet + Change of cml by normalized yaw rate - - - + + - Turbofan engine performance map + damTolBehaviourType + + + - - - Name of the engine - - - - - Description of the engine - - - - - - - Flight Level - - - - - Mach number - - - - - Absolute thrust [N] - - - - - Fuel mass flow - - - - - Turbine entry total temperature - - - - + - Emission index Carbon Monoxide - + Damage tolerance law, Walker approach - + - Emission index Nitrogen Oxide - + Damage tolerance law, Forman approach - + + + + + + + + + + + damTolFormanType + + + + + + + + + + + - Emission index Sulfur Oxide - + Parameter Kc [Pa m^0.5] - + - Emission index Soot + Parameter C2 [m/cycle] - + - Emission index unburned hydrocarbon - + Parameter m2 [-] - + + + + + + + + + + + damTolWalkerType + + + + + + + + + + + - air density at core outlet 8 - + Fracture toughness KIc [Pa m^0.5] - + - air density at bypass outlet 18 - + Parameter C0 [m/cycle] - + - area at core outlet + Parameter m [-] - + - area at bypass outlet + Parameter gamma [-] - - + - Turbofan engine performance maps + dateBaseType - + Base type for date nodes (including external data attributes). + This date type is based on the xsd:date definition. + "To specify a time zone, you can either enter a date in UTC time by adding a "Z" behind the date - like this: 2002-09-24Z + or you can specify an offset from the UTC time by adding a positive or negative time behind the date - like this: + 2002-09-24-06:00 + or + 2002-09-24+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) + - - - - - + + + + + - + - - + + - Turboprop engine performance maps + dateTimeBaseType - + Base type for dateTime nodes (including external data + attributes) - - - - - + + + + + - + - + - enginePositionType + Deck component - - EnginePosition type, containing data for a single - engine - @@ -10027,132 +10114,69 @@ marko.alder@dlr.de - Name of the engine - - - - - Description of the engine + Name - + - Reference to the used engine - + Description - + - Component, to which the engine is mounted - + UID of the corresponding element in the cpacs/vehicles/deckElemets node - + + - - - - - - - - - - - - - - - - - - - - - - Engine references - - - EnginePositions type, containing a reference to the - used engines and their positions at the configuration - - - - - - - - - + - + - Definition of one engine pylon. + Deck component - - - - + - Name of the engine pylon. + Name - + - Description of the engine pylon. - + Description - + - UID of the parent (normaly wing or fuselage). - + UID of the corresponding element in the cpacs/vehicles/deckElemets node - - - - - + + - - - UID of the engine pylon. - - - - - - - - - - - - - + - + - Engine pylons + Deck doors @@ -10163,21 +10187,27 @@ marko.alder@dlr.de - + - + - Definition of the engine spinner geometry. + Deck door - + doors describe all doors of the cabin. They are linked + to a structural door description. The cabin door is usually equal + in size to the door, but does not need to be. The structural door + might describe a wider cut-out, while the cabin door is primarily + intended for evacuation modeling and cabin layout. In order to + obtain a 3-dimensional door representation, the local cabin + geometry shall be used. @@ -10185,93 +10215,107 @@ marko.alder@dlr.de - + - Most forward x-position of the spinner. - + Name - + - X-position of the spinner base. - + Description - + - Radius of the spinner at the base position. - + Number of passengers this door adds to the + overall exit capacity limit of the aircraft. + + + + + Opening geometry of the door + + + + + Door type (boarding, cargo, evacuation or service) + + + + + + + + + + + - + - Turbofan engine + Deck element - - Engine type, containing engine data. - - + - Name of engine + Description - - - Description of engine - - - - - - Concept of engine - - - - - - - - - - - - - - Year of first certification - - - - + + - + - + - etaIsoLineType + Geometry - Iso line described by point of the same eta coordinate. - Can be either segment or component segment coordinates. + Description of the deck element geometry. This might be either a bounding box definition or a link to a generic geometry component. + + + + + + + + + + + + + + + + + + + + Mass + + + Description of mass, center of gravity and inertia + @@ -10279,33 +10323,32 @@ marko.alder@dlr.de - + - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + Mass value - + - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta value is considered to be in segment - eta coordinate; if it points to a componentSegment, - then componentSegment eta coordinate is used. + Center of gravity (x,y,z) + + - + - fleetType + Deck elements - Each fleet can be divided into sub fleet groups + A list of predefined elements which can be linked in the actual deck of the aircraft or rotorcraft model via referencing its uID. @@ -10313,59 +10356,87 @@ marko.alder@dlr.de - + - Name of fleet + Ceiling panel elements for use in the decks - + - Description of the fleet + Class divider elements for use in the decks - + - Description of sub-fleets. + Galley elements for use in the decks + + + + + Generic floor elements for use in the decks + + + + + Lavatory elements for use in the decks + + + + + Luggage compartment elements for use in the decks + + + + + Seat elements for use in the decks + + + + + Sidewall panel elements for use in the decks + + + + + Cargo container elements for use in the decks - - + - flightAnalysisType + Structural mounts - + Structural mount type containing the structural connections of cabin elements - - - - + + + - + - Flight dynamics + Structural mount - + Structural mount type containing the structural connections of cabin elements @@ -10373,95 +10444,186 @@ marko.alder@dlr.de - - - + + + Name + + + + + Description + + + + + UID of the component to connect to + + + - + - Linear model parameters + Decks + + List of decks + + - - - - - - - - - - + + + - + - Trim result + Deck + + Data of an aircraft or rotorcraft deck + - + - - Mach number - + Name - + - - True airspeed - + Description - + - - Angle of attack - + UID of the object used as parent coordinate system (typically the fuselage uID) - + - - Altitude + UID of the floor structure which supports this deck + + + + + The reference point of the deck/cabin. In a + conventional aircraft like the A320, it would be the rear wall + of the cockpit. The transformation is relative to the parent object + defined by “parentUID”, which should be the fuselage. + + + Deck type: passanger, VIP, cargo or livestock + + + + + + + + + + + + + + + + Seat modules + + + + + Aisles + + + + + Spaces + + + + + Sidewall panels + + + + + Luggage compartments + + + + + Ceiling panels + + + + + Galleys + + + + + Generic floor modules + + + + + Lavatories + + + + + Class dividers + + + + + Cargo containers + + + + + Doors + + + - + - Load case + deltaTemperatureType - This node defines the load case + @@ -10469,37 +10631,28 @@ marko.alder@dlr.de - - - - Name of the load case - - - - - - - Description of the load case - - - - - + + + + + + + - - + - Load case specification + Design masses - Input values defining a load case + The design mases are requerments wich can com form the + TLARs @@ -10507,57 +10660,25 @@ marko.alder@dlr.de - - - - Environment - - - - - - - Altitude above sea level - - - - + - - Mach number - + Take off mass - + - - UID of the aerodynamic loads (aeroCase) - + Zero Fuel mass - - + - - Controller description. Note: Since there is no controller description in CPACS yet, the expected content of this string element has to be defined individually for each project. - + Maximum landing mass - - - - - + - - UID referencing the mass state of aircraft for this load case - + Maximum ramp mass (the maximum weight + authorised for the ground handling) @@ -10565,15 +10686,16 @@ marko.alder@dlr.de - + - Flight load cases + Design parameters list - + Contains a list of all design parameters. + @@ -10581,23 +10703,21 @@ marko.alder@dlr.de - + - + - Flight loads + Design parameter definition - Loads resulting from the load case analysis + Contains a the values of a parameter and its uid as reference. @@ -10606,24 +10726,24 @@ marko.alder@dlr.de - - + + + - + - Load conditions + Design space definition - Inertia load conditions acting on the aircraft + Contains the definition of the design space. + @@ -10631,73 +10751,24 @@ marko.alder@dlr.de - - - - Description - - - - - - - Safety factor applied on the loads - - - - - - - - Rotational rates around centre of gravity - - - - - - - Enumeration flag stating the typ of the load - case (i.e. limit or ultimate loads) - - - - - - - - - - - - - Angle of sideslip [deg] - - - - - - - Angle of attack [deg] - - - - - + + + + - + - Flight point definition for load case analysis + Design study definitions - Description of the aircraft's flight state for - this load case. + Contains the data of design studies definitions. @@ -10705,43 +10776,22 @@ marko.alder@dlr.de - - - - - Environmental conditions - - - - - - - Altitude above sea level - - - - - - - Mach number - - - - + + + - + - Accelerations + directOperatingCostType - Translational or rotational accelerations acting - on the aircraft + @@ -10749,97 +10799,85 @@ marko.alder@dlr.de - - - - Rotational accelerations acting around aircraft centre of gravity [deg/s^2] - - + + + + + + + - + - Load factors + divergenceCasesType - + DivergenceCases type, containing the cases for + aeroelastic divergence analysis - - - - - Load factor in x-direction - - - - - - - Load factor in y-direction - - - - - - - Load factor in z-direction - - - - + + + - + - Load case superposition + divergenceCaseType - List of uIDs referencing load cases that are superimposed to the current load case - + DivergenceCase type, containing a case for aeroelastic + divergence analysis - - + + - - UID reference to another load case to be superimposed + Mach number of divergence case - + + + Divergence stagnation pressure + + + + - + - Gust definition + doorAssemblyPositionType - The coordinate system of the gust corresponds to the CPACS coordinate system. + DoorAssemblyPosition type, containing the position of a door + assembly @@ -10847,57 +10885,95 @@ marko.alder@dlr.de - + + + - Parameters describing the shape of the gust + optional definition of door type (restricted to pax, + service, emergency, cargo) - + - - - - + + + + - - + - - Angle between gust and vehicle [deg] (e.g., 0deg: from right to left; 90 deg: downwards; 180deg: from left to right; 270/-90deg: upwards) - + UID of the door element + description - + - - Gust length: length of ramp or gradient distance of 1-cos gust - + UID of the forward door frame - + - - Gust velocity - + UID of the backward door frame + + + + + UID of the stringer at the upper door + edge + + + + + UID of the stringer at the lower door + edge + + + + + Lower height of the door with respect to the floor. + (Information necessary for boarding and evacuation analysis not + necessarily linked to structures) + + + + + Minimum widh of the door element. (Information + necessary for boarding and evacuation analysis not necessarily + linked to structures) + + + + + Minimum height of the door element. (Information + necessary for boarding and evacuation analysis not necessarily + linked to structures) + + + + + Door on right side of the fuselage = 1; on the left = + -1. (Information necessary for boarding and evacuation analysis not + necessarily linked to structures) + - + - Flight path + doorCutOutType - Definition of a flight path by points of longitude, latitude and a descriptive waypoint code. + CutOut type, containing cut-outs @@ -10905,154 +10981,151 @@ marko.alder@dlr.de - + - Vector of waypoint codes. If waypoint codes are not available put empty items into the waypoint string + Name of door cutout element - + - Vector of waypoint latitude values in [deg] + Description of door cutout + element - + - Vector of waypoint longitude values in [deg] + Fillet radius of door cutout + element - + - Indicates the type of the way point. + Reference UID to the description of a DSS (door + surround structure) - - - - - - - + - + - Performance case + doorOpeningLegacyType - + doors describe all doors of the cabin. They are linked + to a structural door description. The cabin door is usually equal + in size to the door, but does not need to be. The structural door + might describe a wider cut-out, while the cabin door is primarily + intended for evacuation modeling and cabin layout. In order to + obtain a 3-dimensional door representation, the local cabin + geometry shall be used. - - + + - - Name + This is the forward x-coordinate of the door + relative to the cabin origin. + + + + + the door sill height relative to cabin origin. - + - - Description + The width of the door in x-direction. - + - - UID of flight performance requirement + the effective height of the door. - - - - - - - - - - + + + + + + + + + + + - + - Performance cases + "doorOpeningType" - List of performance cases + Ceiling panel instance collection type. - - - - + + + + - + - Results of the landing analysis + doorsType - + Doors type, containing doors - - - - Determined landing distance. - - - - - - Determined ground phase distance. - - - - + + + - + - Results of the take-off analysis + doorSurroundStructurePositionType - + DoorSurroundStructurePosition type, containing the position of a + door surround structure @@ -11060,34 +11133,46 @@ marko.alder@dlr.de - + + + - Main element containing the results for - take-off calculations optimized for min-imum liftoff speed - VLOFmin. + number of bays effected by DSS in front of + door - + - Main element containing the results for - take-off calculations optimized for min-imum safety speed V2min. - + number of bays effected by DSS in behind of + door + + + + + number of bays effected by DSS + + + + + number of bays effected by DSS + - + - flightPointType + doorSurroundStructuresAssemblyType - + doorSurroundStructuresAssembly type, containing + dorrSurroundStructure definitions @@ -11095,160 +11180,230 @@ marko.alder@dlr.de - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - Flight systems + Array with semicolon separated values of type double - + + In CPACS arrays are used to exchange values + in full-factorial parameter spaces, for example to describe the aerodynamic coefficients depending + on Mach number and altitude. + + Thus, the dimensions of the array are spanned by the input vectors. See the following + example where two input vectors are defined. For clarification the entries of the array result from + the multiplication of the index values of the corresponding input vectors: + +<inputVector1>1;2;3</inputVector1> +<inputVector2>4;5;6;7</inputVector2> + + +<array>4;5;6;7;8;10;12;14;12;15;18;21</array> + + Any entries of type double separated by semicolons are valid, e.g.: + +<doubleArrayTest>123.456;+123.456;-1.234e56;-.45E-6;NaN;0</doubleArrayTest> + + +<doubleArrayTest>123.456</doubleArrayTest> + + +<doubleArrayTest>123.456,+1234.456</doubleArrayTest> + + +<doubleArrayTest>123.456;mainWingUID</doubleArrayTest> + + +<doubleArrayTest>1234.4E 56;-1.234e5.6</doubleArrayTest> + + + Please note that the syntax of arrays in the current CPACS + version correspond exactly to the syntax of vectors. There is no special character indicating + the dimensions. Thus, the input vectors have to be determined from the documentation of the + corresponding elements and splitting of the one-dimensional vector has to be done manually. + + - - - - - + + + + + + + + + + + + + doubleBaseType + + + + Base type for double nodes (including external data + attributes) + The double base type can include optional uncertainty + information. The description of uncertainties is placed in + addtional attributes. First, it is described by an attribute + that describes the type of uncertainty function called + functionName. The functionName attribute includes the tag name + of the distribution function which is listened in the table + shown below. Each uncertainty function is further describes by a + set of parameters that are described in the table below. + + + + + + + + + + + + + + + + + + + + + + - + - + - flightType + doubleConstraintBaseType - Flight type, containing data of a scheduled flight + + Base type for double nodes including a relational operator attribute indicating valid constraint region + The doubleConstraintBaseType extends the doubleBaseType and thus inherits all its attributes. + - - - - - - MissionUID for the flights mission definition - - - - - ModelUID of the aircraft appointed to perform the flight - - - - - Departure day of the flight - - - - - Time of departure - the time is defined as SOBT (Scheduled Off-Block Time) / STD (Scheduled Time of Departure) - - - - - Arrival day of the flight - - - - - Time of arrival - the time is defined as SIBT (Scheduled In-Block Time) / STA (Scheduled Time of Arrival) - - - - - Reference to the operating airline of a flight - - - - - + + + + + + + + + + + + + + - + - + - Flights + Vector with semicolon separated values of type double - Flighs type, containing all flight definitions - + + Any entries of type double separated by semicolons are permitted, e.g.: + +<doubleVectorTest>123.456;+123.456;-1.234e56;-.45E-6;NaN</doubleVectorTest> + + +<doubleVectorTest>123.456</doubleVectorTest> + + +<doubleVectorTest>123.456,+1234.456</doubleVectorTest> + + +<doubleVectorTest>123.456;mainWingUID</doubleVectorTest> + + +<doubleVectorTest>123.456;1234.4E 56;-1.234e5.6</doubleVectorTest> + + - - - - - + + + + + + + + + + + + + doubleVectorConstraintBaseType + + + + Base type for double vectors including a relational operator attribute indicating valid constraint region. + The doubleVectorConstraintBaseType extends the doubleVectorBaseType and thus inherits all its attributes. + + + + + + + + + + + + + + + + + + + - + - + - floorPanelAssemblyPositionType + Drag contributions - FloorPanelAssemblyPosition type, containing a floor - panel assembly position + + The drag contributions relate to different physical mechanisms. The sum of the contributions does not have to be equal to the total drag. + @@ -11256,53 +11411,71 @@ marko.alder@dlr.de - + - x coordinate of the begin of the floor panel - (absolute value) + + Drag contributions due to the displacement of the flow around a component. Zero for irrotational two-dimensional flows. + - + - x coordinate of the end of the floor panel - (absolute value) + + Drag contributions due to shear forces on surfaces + - + - UID of the first long. floor beam to be - connected to the floor panel + + Drag contributions due to friction + - + - UID of the second long. floor beam to be - connected to the floor panel + + Drag contributions due to energy loss through vortex structures caused by the pressure difference between the upper and lower sides of three-dimensional lifting surfaces. + - + - UID of structural sheet element used for the - floor panel + + Drag contributions due to mixing of streamlines between airframe components (e.g., interaction between wing and fuselage or pylon and wing). + + + + + + + Drag contributions due to energy dissipation in shock waves + + + + + + + Drag contributions due to trimmed aircraft configuration + - - - + - floorPanelsType + driveSystemsType - FloorPanels type, containing floor panel definitions - + DriveSystems Type, containing all the drive systems + (combination of transmissions/gearboxes and shafts and their + links to engines and rotors) of a rotorcraft model. @@ -11310,42 +11483,44 @@ marko.alder@dlr.de - + - + - Flying qualities + driveSystemType - Provides a list of flying qualities cases - + DriveSystem Type, defining a drive system (combination + of transmissions/gearboxes and shafts and their links to engines + and rotors) of a rotorcraft model. - - - - + + + + + - + - Flying qualities case + dynamicAircraftModelAnalysisType @@ -11356,409 +11531,167 @@ marko.alder@dlr.de - - - Name - - - - - Description - - - - - Aircraft Class; Class 1 small light aircraft; - Class 2 medium weight aircraft, low to medium maneuverability; - Class 3 large, heavy aircraft, low to medium maneuverability; - Class 4 high maneuverability aircraft - - - - - Flight Phase Category; Category A Non-terminal - flight phases requiring maneuvering, precision tracking, or - precise flight-path control (e.g. air-to-air combat, terrain - following). Category B Non-terminal Flight Phases with gradual - maneuvers and without precision tracking, although accurate - flight-path control may be required (e.g. climb, cruise). - Category C Terminal Flight Phases are normally accomplished - using gradual maneuvers and usually require accurate flight-path - control (takeoff, approach and landing). - - - - - main element containing longitudinal transfer - functions - - - - - main element containing lateral directional - transfer functions - - - - - main element containing characteristic - parameters of the handling qualities criteria - - - - - - main element containing handling qualities - ratings - - + - - + - fqCharParametersType + Electrical energy carriers - - - - - - - static margin [-] - - - - - main element containing characteristic - parameter of phugoid damping - - - - - main element containing characteristic - parameters of short period mode criteria - - - - - main element containing characteristic - parameters of roll oscillation criterion - - - - - coupling of roll and spiral mode: normal = no - coupling of roll and spiral mode coupled = coupling of roll and - spiral mode - - - - - main element containing characteristic - parameters of lateral eigenvalues - - - - - main element containing characteristic - parameters of effective roll time constant criterion - - - - - - main element containing characteristic - parameters of roll performance criterion - - - + + + - + - fqEiglatType + Electrical energy carrier - - - - - - natural frequency of dutch roll mode [rad/s] - - - - - - damping of dutch roll mode [-] - - - - - - roll time constant [s] - - - + - time to double of spiral mode [s] - + Name - + - ratio of bank to sideslip angle [-] - + Description - + - natural frequency of coupled rollspiral motion - [rad/s] + Ratio of mass flow per energy flow - + - damping ratio of coupled roll-spiral motion - + Specific energy - + - product of roll-spiral damping and natural - frequency [rad/s] + Density at 15deg C - + - handling qualities level of roll time constant - + Nominal C-Rate - + - handling qualities level of roll spiral mode - + Maximum C-Rate + - + - fqLateralType + Electric power - - - - - - - numerator of transfer function roll control - surface deflection to bank angle - - - - - numerator of transfer function roll control - surface deflection to yaw rate - - - - - numerator of transfer function roll control - surface deflection to sideslip angle - - - - - numerator of transfer function roll control - surface deflection to bank angle of reduced 4th order system - - - - - - numerator of transfer function roll control - surface deflection to sideslip angle of reduced 4th order system - - - - - - numerator of transfer function yaw control - surface deflection to yaw rate - - - - - numerator of transfer function yaw control - surface deflection to sideslip angle - - - - - numerator of transfer function roll stick - input to roll rate - - - - - numerator of transfer function roll stick - input to yaw rate - - - - - numerator of transfer function roll stick - input to bank angle - - - - - numerator of transfer function roll stick - input to sideslip angle - - - - - numerator of transfer function pedal input to - roll rate - - - - - numerator of transfer function pedal input to - yaw rate - - - - - numerator of transfer function pedal input to - bank angle - - - - - numerator of transfer function pedal input to - sideslip angle - - - + + - denominator of lateral motion + + Electric power values - - - denominator of lateral motion of reduced 4th - order system - - - + + + + + Direct current voltage [V] + + + + + + - + - fqLongitudinalType + Electric power - - - - - - - numerator of transfer function pitch stick - input to pitch rate - - - - - numerator of transfer function pitch control - surface deflection to pitch angle - - - - - numerator of transfer function pitch stick - input to pitch angle - - - - - numerator of transfer function pitch stick - input to angle of attack - - - - - numerator of transfer function pitch stick - input to vertical load factor - - - + + - denominator of longitudinal motion + + Electric power value - + + + + + Direct current voltage [V] + + + + + + - + - fqPhugoidType + Emissivity map, containing the diffuse emissivity of a material at different spectral lengths. - + The emissivity of a material can vary with the spectral wave length. + The vectors diffuseEmissivity and waveLength must have the same size to be valid. + The data should be linearly interpolated. + @@ -11766,16 +11699,14 @@ marko.alder@dlr.de - + - damping ratio of phugoid mode [-] - + Wave length in [m] - + - time to double amplitude of unstable phugoid - mode [s] + Diffuse emissivity of the material @@ -11783,160 +11714,73 @@ marko.alder@dlr.de - + - fqRatingsType + Energy Carriers - - - - - - handling qualities level of phugoid damping - - - - - - handling qualities level of C* criterion - - - - - - main element containing handling qualities - levels of short period mode - - - - - main element containing handling qualities - levels of roll oscillation criterion - - - - - main element containing handling qualities - levels of lateral eigenvalues - - - - - handling qualities level of effective roll - time constant - - - - - handling qualities level of roll performance - - - + + - + - fqRollPerfType + Energy storages - - - - - - - time to reach critical bank angle [s] - - - - - - critical bank angle that has to be reached - [deg] - - - + + + - + - fqRoloscType + Energy storage - - - - - - ratio of oscillatory component of the roll - rate to the average roll rate [-] - - - - - phase angle of dutch roll oscillation in - sideslip [deg] - - - - - phase angle between roll rate and sideslip in - dutch roll mode [deg] - - - - - ratio of first minimum roll rate to first - maximum [-] - - - - - handling qualities level of ratio of - oscillatory component of roll rate to average roll rate - - - + + + - + - fqShortPeriodType + Definition of global geometry parameters of the engine + fan. @@ -11947,33 +11791,29 @@ marko.alder@dlr.de - + - steady state normal acceleration change with - angle of attack [g/rad] + Inner radius of the fan. - + - short period natural frequency of reduced - order system [rad/s] + Outer radius of the fan. - + - short period damping ratio of reduced order - system [-] + Chord length of a fan blade - + - equivalent pitch time delay of reduced order - system [s] + Hub to tip ratio - + - handling qualities level of CAP criterion + Number of rotor blades of fan @@ -11982,12 +11822,12 @@ marko.alder@dlr.de - + - fqTreffType + List of all engine mounts. @@ -11997,58 +11837,105 @@ marko.alder@dlr.de - - - - effective roll time constant [s] - - - - - - time where tangent of bank angle step response - is placed [s] - - + + + + + + + + + + + + + Definition of one engine mount. + + + + + + + + + + + + + Name of the engine mount. + + + + + Description of the engine mount. + + + + + + position of the engine mount refering to the + engine coordinate system. + + + + + UID of the engine mount. + + - + - frameType + Definition of the engine nacelle type. - frame type, containing frame definition (V1.5+) - + + The engine nacelle is currently located together with + the engine. It gives a simple description of the outer shell of + the engine. All values are defined according to the base area, + center point of the fan(i.e. negative values can occur in the + definition) In most cases there will be a bypass engine. For + non-bypass or mixed engines ignore the bypass nozzle. For further + information on the geometric setup, please refer to the picture + below. + + + + - - - - + + + + + + + + - + - framesAssemblyType + Engine references - FramesAssembly type, containing frames assembly - + EnginePositions type, containing a reference to the + used engines and their positions at the configuration @@ -12056,21 +11943,22 @@ marko.alder@dlr.de - + - + - freePathType + enginePositionType - + EnginePosition type, containing data for a single + engine @@ -12078,19 +11966,52 @@ marko.alder@dlr.de - - + + + Name of the engine + + + + + Description of the engine + + + + + Reference to the used engine + + + + + + Component, to which the engine is mounted + + + + + + + + + + + + + + + + - + - mass + Engine pylons @@ -12100,23 +12021,22 @@ marko.alder@dlr.de - - - + + + - + - fuselageAeroPerformanceType + Definition of one engine pylon. - fuselageAeroPerformance type, containing perfomance - maps with aerodynamic data of a fuselage. + @@ -12124,40 +12044,58 @@ marko.alder@dlr.de - + - Reference to the uID of the analysed fuselage - + Name of the engine pylon. - + - References used for the calculation of the - force and moment coefficients of the fuselage (in the fuselage - axis system!) + Description of the engine pylon. + - + - Calculated aerodynamic performance maps of the - fuselage + UID of the parent (normaly wing or fuselage). + + + + + + + + + UID of the engine pylon. + + + + + + + + + + + + + - + - fuselageCutOutType + Definition of the engine spinner geometry. - fuselageCutOut type, containing a fuselage cutout - definition + @@ -12165,143 +12103,70 @@ marko.alder@dlr.de - - - Name of the cutout - - - - - Description of the cutout - - - - - X position of the cutout center point - - - - + - Y offset of the cutout reference point + Most forward x-position of the spinner. - + - Z offset of the cutout reference point + X-position of the spinner base. - + - Angle in degrees of the vector pointing from - the cutout reference point to the cutout center point, measured - relative to the direction of the fuselage z axis. + Radius of the spinner at the base position. - - - Coordinates of the unit vector defining the - direction of extrusion - - - - - Coordinates of the unit vector defining the - y-axis of the local cutout coordinate system. Must be normal to - the orientationVector. - - - - - This value is used to define the width of the - cutout - - - - - This value is used to define the height of the - cutout - - - - - This value is used to define the width of the - cutout - - - - - This value is used to define the height of the - cutout - - - - - Fillet radius of the cut element (absolute - value) - - - - - Cutout type. Determines the type of the cutout - and how it is treated by the tools. Possible values: - ("window"|"door"|"ramp") - - - - - - - - - - - - - - - - + - fuselageCutOutsType + + Environmental conditions + - fuselageCutOuts type, containing fuselage cutouts - + Specification of environmental conditions - - - + + + + + + Delta temperature + + + + - + - fuselageElementType + etaIsoLineType - FuselageElement type, containing fuselage element data - + Iso line described by point of the same eta coordinate. + Can be either segment or component segment coordinates. @@ -12309,64 +12174,75 @@ marko.alder@dlr.de - - - Name of fuselage element - - - + - Description of fuselage element - + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - + - Reference to a fuselage profile - + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta value is considered to be in segment + eta coordinate; if it points to a componentSegment, + then componentSegment eta coordinate is used. - - - + - fuselageElementsType + Point in eta and xsi coordinates - FuselageElements type, containing the elements of a - fuselage section + Point described by eta-xsi coordinates. + Can be either segment or component segment coordinates. - - - + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. + + + - + - Definition of one fuselage fuel tank. + Relative height at eta, xsi position - The definition of fuselage tanks is still preliminary. - Currently, there is no link to any structural elements - + Point described by eta-xsi and a relative height coordinate. + Can be either segment or component segment coordinates. + If relHeight is not given, the point has no offset from the eta-xsi plane @@ -12374,40 +12250,41 @@ marko.alder@dlr.de - + - Name of the fuselage fuel tank. - + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - + - Description of the fuselage fuel tank. - + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - + - Link to the tank geometry defined by a compartment. + Relative height position. + relHeight is relative to the local airfoil thickness. - + - + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. - - + - List of fuselage fuel tanks. + fatigueBehaviourType @@ -12417,53 +12294,67 @@ marko.alder@dlr.de - - + + - The fuselage fuel tank geometry is defined by a link to a fuselage geometry compartment. -The fuel tank volume type should also be used for the wing fuel tank + Fatigue law, stress based Brown Miller approach [N/m^2] - + - + - fuselageProfilesType + fatigueStressBasedBrownMillerType - FuselageProfiles type, containing fuselage profile - geometries. See profileGeometryType for further documentation - + - - - + + + + Parameter sigma_f [N/m^2] + + + + + Parameter b [-] + + + + + Parameter epsilon_f [-] + + + + + Parameter c [-] + + + - - + - fuselageSectionType + fleetType - FuselageSection type, containing fusleage section and - element data + Each fleet can be divided into sub fleet groups @@ -12473,56 +12364,57 @@ The fuel tank volume type should also be used for the wing fuel tank - Name of fuselage section + Name of fleet - + - Description of fuselage section - + Description of the fleet + + + + + Description of sub-fleets. - - - + - + - fuselageSectionsType + flightAnalysisType - FuselageSections type, containing fuselage sections - + - - - + + + + - + - fuselageSegmentType + Flight dynamics - FuselageSegment type, containing data of a fuselage - segment + @@ -12530,209 +12422,135 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of fuselage segment - - - - - Description of fuselage segment - - - - - - Reference to element from which the segment - shall start - - - - - Reference to element at which the segment - shall end - - - - - Optional and additional guidecurves to shape - the outer geometry. - - + + + - - + - fuselageSegmentsType + Linear model parameters - - FuselageSegments type, containing fuselage segment - definitions (from sections and elements) - - - - + + + + + + + + + + - + - fuselageStructureType + Trim result - - FuselageStructure type, containing data of the fuselage's - structure - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fuselageType - - - - Fuselage type, containing all data related to a - fuselage - - - - - - - - - - - - + - Name of fuselage + Mach number - + - Description of fuselage + True airspeed - + - UID of part to which the fuselage is - mounted (if any) + Angle of attack + + + + + + + Altitude - - - - - - - - - - - - - - - - - - - - - - + - fuselagesAeroPerformanceType + Flight envelope speed - fuselagesAeroPerformance type, containing - fuselagesAeroPerformance + + Specification of the V-speed + - - - + + + + + + Vector with altitudes + + + + + + + Vector with True Airspeeds + + + + - + - Fuselages + Flight Envelopes - Fuselages type, containing the fuselages of the - configuration + + Specification of flight envelopes + @@ -12740,101 +12558,53 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - This type contains a vector of deflection values for a - single gear + Flight Envelope - - - 0. General overview - - In this type, a vector of deflections of a single - gear is specified. - - - - 1. - <gearUID> - (mandatory) - - - A reference to a gear from the aircraft model - - - - - 2. - <controlParameters> - (mandatory) - - - A vector of control parameters of the selected - gear - - - + + Specification of a flight envelope + - - - - Reference to a gear - - - + + + - Control parameters of the gear + Offset from temperature of the atmospheric model [K] - + + - + - This type contains a list of gears and their deflection - vectors + Flight load cases - - - 0. General overview - - In this type, a list of gears is defined. - - - - - 1. - <gear> - (mandatory) - - - One of these nodes per deflected gear is required - here. - - - + @@ -12842,22 +12612,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - stringerFramePositionType + Load conditions - stringerFramePosition type, containing individual - stringer / frame postion definition (CPACS V2.1+) + Inertia load conditions acting on the aircraft @@ -12865,194 +12634,215 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - + - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) + + Description + - - - - - - - - - + - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile + + Safety factor applied on the loads + + + + + + + + Rotational rates around centre of gravity + + + + + + + Enumeration flag stating the typ of the load + case (i.e. limit or ultimate loads) + + + + + + + + + + + + + Angle of sideslip [deg] + + + + + + + Angle of attack [deg] + - - - - - - - - + + - - + - generalStructuralMemberType + Flight loads - + Loads resulting from the load case analysis + - - - - - + + + + - + - generalStructuralMembersAssemblyType + Flight path - generalStructuralMembersAssembly type, containing - structural member assemblys + Definition of a flight path by points of longitude, latitude and a descriptive waypoint code. - - - + + + + Vector of waypoint codes. If waypoint codes are not available put empty items into the waypoint string + + + + + Vector of waypoint latitude values in [deg] + + + + + Vector of waypoint longitude values in [deg] + + + + + Indicates the type of the way point. + + + + + + + + + + - + - genericCostType + Performance cases - + List of performance cases - - - - - + + + + - + - genericGeometricComponentType + Performance case - - In some cases additional geometric components need to - be linked to a CPACS, but these components are not yet handled by - CPACS explicitly. For example, a belly fairing and/or external - tanks. - A generic geometric component may be applied to include - such a geometry from an external file (preferably STEP) in the - context of the overall aircraft. - - - - + - + - Name of genericGeometricComponent + + Name - + - Description of genericGeometricComponent + + Description - + - UID of part to which the component is mounted - (if any) + + UID of flight performance requirement + - - - - - - - - - - - - - - - + + + + + + + + + + - + - Generic geometric components + Results of the landing analysis @@ -13062,77 +12852,61 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Determined landing distance. + + + + + + Determined ground phase distance. + + + + - + - mass + + Level flight + - genericMassType, describing mass, inertia and CoG data. - + - - - - name - - - - - description - - - - - parentUID - - - - - mass value - - - - - mass loaction values (x,y,z) - - - - + + - mass orientation values + Specific excess power - - - + - + - Generic Systems + Flight performance requirements - Node for geometrical layout of systems + Contains a list of flight performance requirements @@ -13141,25 +12915,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Generic System + Flight performance requirement - - - - - + @@ -13169,67 +12939,61 @@ The fuel tank volume type should also be used for the wing fuel tank - Name + Name of the performance case - Description + Description of the performance case - - - - - - - - - - - - - - geographicPointConstraintType - - - Geographic point constraint, containing a longitude, latitude, altitude data triplet. - - - - - - - - + - Longitude coordinate 0-360 + Requirement classification based on the MoSCoW method (must, should, could or wont) + + + + + + + + + + + + + + + Reference to the considered weightAndBalance case - + - Latitude coordinate 0-360 + The UID of the mission to be flown - + - Altitude in meters + List of point performance uIDs constraining the mission + + + - + - geographicPointType + Results of the take-off analysis - Geographic point type, containing a longitude, latitude, altitude data triplet. + @@ -13237,37 +13001,34 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Longitude coordinate 0-360 - - - + - Latitude coordinate 0-360 + Main element containing the results for + take-off calculations optimized for min-imum liftoff speed + VLOFmin. - + - Altitude in meters + Main element containing the results for + take-off calculations optimized for min-imum safety speed V2min. + - - + - airfoilAeroPerformanceType + Turn - airfoilAeroPerformance type, containing perfomance maps - with aerodynamic data of an airfoil. + @@ -13275,16 +13036,14 @@ The fuel tank volume type should also be used for the wing fuel tank - + - References used for the calculation of the - force and moment coefficients + ... - + - Calculated aerodynamic performance maps of the - full configuration + ... @@ -13292,43 +13051,36 @@ The fuel tank volume type should also be used for the wing fuel tank - + - globalBeamPropertiesType + Flight Cases - globalBeamPropertiesType, containing the global beam - properties such as EA, EI, mass + + + - - - - - - - - - - - + + + - + - Ground load Cases + flightPointType @@ -13339,48 +13091,79 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - guideCurveProfileGeometryType + Flights - - A guide curve profile is defined by a profile name, an - optional description and a 3-dimensional relative pointlist with - all three coordinates mandatory. For typical profiles, one of - the coordinate vectors contains only "0" entries. All point - coordinates are transferred to the global coordinate system. - First and last point may, but need not to, be identical. - - The points have to be ordered in a mathematical - positive sense. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - Curves have to go continuously over the whole wing or - fuselage - Connection of guide curves from segment to segment - - - - - - - - Please note, currently it is not possible to apply any - means of class based transformation in the description. However, - this may be an addition for the future. - + Flighs type, containing all flight definitions + + + + + + + + + + + + + + + + + + + + Flight systems + + + @@ -13388,45 +13171,79 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + + + + + flightType + + + Flight type, containing data of a scheduled flight + + + + + + + + - Name of profile + MissionUID for the flights mission definition - + - Description of profile + ModelUID of the aircraft appointed to perform the flight - + + + Departure day of the flight + + + + + Time of departure - the time is defined as SOBT (Scheduled Off-Block Time) / STD (Scheduled Time of Departure) + + + + + Arrival day of the flight + + + + + Time of arrival - the time is defined as SIBT (Scheduled In-Block Time) / STA (Scheduled Time of Arrival) + + + + + Reference to the operating airline of a flight + + + - - - - - - - - - - - - + - + - guideCurveProfilesType + floorPanelsType - Guide Curve Profiles type. This type is used to - describe guide curves that enable designers to create a geometry - that deviates from a standard loft. + FloorPanels type, containing floor panel definitions @@ -13435,145 +13252,76 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Guide Curve Type + floorPanelAssemblyPositionType - - A guide curve may be used to alter the shape of the - outer geometry and "guide" the loft. - The guide curve profiles are defined in the guideCurveProfileGeometryType. - Their use on wing and fuselage components is illustrated in the image below. - - - - - + FloorPanelAssemblyPosition type, containing a floor + panel assembly position - - + + - Name of guide curve + x coordinate of the begin of the floor panel + (absolute value) - + - Description of guide curve + x coordinate of the end of the floor panel + (absolute value) - + - Reference to a guide curve profile - + UID of the first long. floor beam to be + connected to the floor panel - + - For the first segment fromGuideCurveUID is not - a valid entry! For the first guideCurve - fromRelativeCircumference must be applied! fromGuideCurveUID is - exclusive. - + UID of the second long. floor beam to be + connected to the floor panel - - - - Reference to the previous guide curve from - which this guide curve shall start. - - - - - - Continuity definition for geometry - generation. Possible options: C0, C1 from previous, C2 from - previous, C1 to previous, C2 to previous - - - - - - - - - - - - - - - - - - - Reference to the relative circumference - position from which the guide curve shall start. Valid values - are in the interval -1.0...1.0. - - - - - - Tangent at first point - - - - - - - - The relative circumference - position at which the guide curve shall end. Valid values - are in the interval -1.0...1.0. - - - - - - Tangent at last point - - - - + + - Local direction along which the relative x-coordinates of - the guide curve points are defined. For the wing the default is - the wing's local x-axis, for the fuselage its the fuselage's local z-axis. - + UID of structural sheet element used for the + floor panel - - + + + - + - Guide Curves Type + Flying qualities - Guide Curve type. This type is used to describe guide - curves that enable designers to create a geometry that deviates - from a standard loft. + Provides a list of flying qualities cases + @@ -13581,26 +13329,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - hingeMomentsMapType + Flying qualities case - hingeMomentsMap type, containing a hinge moments map - with aerodynamic data. Array order is: angleOfAttack min->max - then angleOfSideslip then reynoldsNumber then machNumber. - All coefficients in the aeroperformanceMap relate to - the CPACS coordinate system. See documentation of the - CPACS-Element for further information. + @@ -13610,52 +13354,75 @@ The fuel tank volume type should also be used for the wing fuel tank - Name of the AeroPerformanceMap. - + Name - + - Description of the AeroPerformanceMap. - + Description - + - Mach number + Aircraft Class; Class 1 small light aircraft; + Class 2 medium weight aircraft, low to medium maneuverability; + Class 3 large, heavy aircraft, low to medium maneuverability; + Class 4 high maneuverability aircraft - + - Reynolds Number + Flight Phase Category; Category A Non-terminal + flight phases requiring maneuvering, precision tracking, or + precise flight-path control (e.g. air-to-air combat, terrain + following). Category B Non-terminal Flight Phases with gradual + maneuvers and without precision tracking, although accurate + flight-path control may be required (e.g. climb, cruise). + Category C Terminal Flight Phases are normally accomplished + using gradual maneuvers and usually require accurate flight-path + control (takeoff, approach and landing). - + - Sideslip angle + main element containing longitudinal transfer + functions - + - Angle of attack + main element containing lateral directional + transfer functions + + + + + main element containing characteristic + parameters of the handling qualities criteria + + + + + + main element containing handling qualities + ratings - + - + - htpFwdInterfaceDefType + fqCharParametersType - Definition of the interface of forward HTP attachment - + @@ -13663,63 +13430,69 @@ The fuel tank volume type should also be used for the wing fuel tank - - Definition of the forward HTP attachment - interface - - + - relative width of reinforcement at fwd HTP - attachment, between 0.0 and 1.0 + static margin [-] - + - relative width of plate at fwd HTP attachment - (only applicable for Type1 model), between 0.0 and 1.0, smaller - than htpPlateWidth + main element containing characteristic + parameter of phugoid damping - + - UID of panel element at HTP forward attachment - in x-direction (shell elements) + main element containing characteristic + parameters of short period mode criteria - + - UID of panel element at HTP forward attachment - in z-direction (shell elements) + main element containing characteristic + parameters of roll oscillation criterion - + - UID of reinforcements for panel element at HTP - forward attachment in z-direction (beam elements) + coupling of roll and spiral mode: normal = no + coupling of roll and spiral mode coupled = coupling of roll and + spiral mode + + + + + main element containing characteristic + parameters of lateral eigenvalues + + + + + main element containing characteristic + parameters of effective roll time constant criterion - + - UID of the element to fix HTP to fuselage - (beam elements) + main element containing characteristic + parameters of roll performance criterion - - + - htpInterfaceDefType + fqEiglatType - Definition of the interface of HTP + @@ -13727,103 +13500,79 @@ The fuel tank volume type should also be used for the wing fuel tank - - Definition of the HTP interface - - - + - UID of the fuselage frame at the forward HTP - attchment + natural frequency of dutch roll mode [rad/s] - + - UID of the fuselage frame at the backward HTP - attchment + damping of dutch roll mode [-] - + - maximum HTP deflection (nose up in - degrees) - + roll time constant [s] - + - maximum HTP deflection (nose down in - degrees) + time to double of spiral mode [s] - + - angle of the reinforcements at backward HTP - attchment - (in degrees) + ratio of bank to sideslip angle [-] - + - Defines area (absolute) in x-direction around - htpFrame2UID where the HTP attachmentpoint has correct position - ==> check and potentially warning message + natural frequency of coupled rollspiral motion + [rad/s] - + - Defines area (absolute) in y-direction around - the - outer edge of htpFrame2UID where the HTP attachmentpoint has correct - y-position ==> check and potentially warning - message + damping ratio of coupled roll-spiral motion - + - Defines allowed z-position for rear HTP - attachment - relativ to total frame height ==> check and potentially warning - message ==> check and potentially warning - message - + product of roll-spiral damping and natural + frequency [rad/s] - + - Definition of HTP structural - elements + handling qualities level of roll time constant - + - Definition of HTP forward attachment to - structure + handling qualities level of roll spiral mode - - + - htpStructElemDefType + fqLateralType - definition of structural elements in HTP attachment - + @@ -13831,114 +13580,121 @@ The fuel tank volume type should also be used for the wing fuel tank - - Definition of tailplane attachment area - (Standard Configuration) - - + - UID of structural element for HTP front - crossbeams + numerator of transfer function roll control + surface deflection to bank angle - + - UID of structural element for HTP rear - crossbeams + numerator of transfer function roll control + surface deflection to yaw rate - + - UID of structural element for HTP diagonal - beams + numerator of transfer function roll control + surface deflection to sideslip angle - + - UID of structural element for HTP side beams + numerator of transfer function roll control + surface deflection to bank angle of reduced 4th order system - + - UID of structural element for upper HTP cutout - reinforcement beams, also used for lower cutout reinforcement, - when not explicitely defined + numerator of transfer function roll control + surface deflection to sideslip angle of reduced 4th order system + - + - UID of structural element for lower HTP cutout - reinforcement beams (optional) + numerator of transfer function yaw control + surface deflection to yaw rate - - - - - - - - - - - - indirectOperatingCostType - - - - - - - - - - - - - - - - - - - - - - interConnectionStrutAttachmentType - - - - - - - - - - - + - Definition of the position of the attachment - joint in relative coordinates. + numerator of transfer function yaw control + surface deflection to sideslip angle - + - Material settings of the attachment. + numerator of transfer function roll stick + input to roll rate + + + + + numerator of transfer function roll stick + input to yaw rate + + + + + numerator of transfer function roll stick + input to bank angle + + + + + numerator of transfer function roll stick + input to sideslip angle + + + + + numerator of transfer function pedal input to + roll rate + + + + + numerator of transfer function pedal input to + yaw rate + + + + + numerator of transfer function pedal input to + bank angle + + + + + numerator of transfer function pedal input to + sideslip angle + + + + + denominator of lateral motion + + + denominator of lateral motion of reduced 4th + order system + + - + - interconnectionStrutType + fqLongitudinalType @@ -13949,49 +13705,53 @@ The fuel tank volume type should also be used for the wing fuel tank - + - uID of control surface where this flap is - attached to by the interconnection strut. + numerator of transfer function pitch stick + input to pitch rate - + - Material settings of the strut (if strut is - moddeled as a simple strut). + numerator of transfer function pitch control + surface deflection to pitch angle - + - Definition of the attachment on this control - surface. + numerator of transfer function pitch stick + input to pitch angle - + - Definition of the attachment on the other - control surface + numerator of transfer function pitch stick + input to angle of attack - + - Free path in positive (tensil) and negative - (compression) direction before interconnection strut blocks. + numerator of transfer function pitch stick + input to vertical load factor + + + + + denominator of longitudinal motion - - + - interconnectionStrutsType + fqPhugoidType @@ -14001,28 +13761,33 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - Definition of one interconnection strut. + damping ratio of phugoid mode [-] - + + + time to double amplitude of unstable phugoid + mode [s] + + + - + - intercostalPositionType + fqRatingsType - intercostalPosition type, containing the position of intercostals - in DSS + @@ -14030,75 +13795,95 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + - UID of the frame at which intercostal - starts + handling qualities level of phugoid damping + - + - UID of the forward door frame + handling qualities level of C* criterion + - + - UID of the door + main element containing handling qualities + levels of short period mode - + - non-dimensional value ranging between 0 and 1 - + main element containing handling qualities + levels of roll oscillation criterion - + - UID of profileBasedStructuralElement used for - intercostal + main element containing handling qualities + levels of lateral eigenvalues + + + + + handling qualities level of effective roll + time constant + + + + + handling qualities level of roll performance + - - + - IntercostalsAssemblyType + fqRollPerfType - IntercostalsAssembly type, containing intercostal - definitions + - - - + + + + time to reach critical bank angle [s] + + + + + + critical bank angle that has to be reached + [deg] + + + - + - structuralElementsConnectionsType + fqRoloscType - StructuralElementsConnections type, containing - connections between structural elements + @@ -14106,29 +13891,51 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Flag for automatic generation of interface - definitions (draft version) + ratio of oscillatory component of the roll + rate to the average roll rate [-] + + + + + phase angle of dutch roll oscillation in + sideslip [deg] + + + + + phase angle between roll rate and sideslip in + dutch roll mode [deg] + + + + + ratio of first minimum roll rate to first + maximum [-] + + + + + handling qualities level of ratio of + oscillatory component of roll rate to average roll rate + - - - + - landingGearInterfaceDefinitionsType + fqShortPeriodType - CenterFuselage landing gear interface definitions - + @@ -14136,28 +13943,50 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - + + + steady state normal acceleration change with + angle of attack [g/rad] + + + + + short period natural frequency of reduced + order system [rad/s] + + + + + short period damping ratio of reduced order + system [-] + + + + + equivalent pitch time delay of reduced order + system [s] + + + + + handling qualities level of CAP criterion + + + - - + - keelbeamType + fqTreffType - HighWingCenterFuselage / Keelbeam definition between - mainframe1 und mainframe2 + @@ -14165,64 +13994,55 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - + + + effective roll time constant [s] + + + + + + time where tangent of bank angle step response + is placed [s] + + - - + - lateralPanelsType + framesAssemblyType - HighWingCenterFuselage / lateral Panel definition - between mainframe1 und mainframe2 + FramesAssembly type, containing frames assembly + - - - - - - - - - - + + + - + - longFloorBeamConnectionType + frameType - HighWingCenterFuselage / Long. floor beam connection + frame type, containing frame definition (V1.5+) @@ -14230,24 +14050,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + - + - centerFuselageMainFramesType + freePathType - High wing main frame definition, containing mainframe - UIDs + @@ -14255,26 +14074,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + - - + - pressureFloorType + mass - High Wing Center Fuselage / pressure floor definition - between mainframe1 und mainframe2 + @@ -14282,26 +14097,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + - - + - sideboxType + Fuel Mass Fraction - HighWingCenterFuselage / side box definition between - mainframe1 und mainframe2 + Describing the mass fraction considered for a mission segment sequence @@ -14309,137 +14119,160 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + Reference to the segment from which the fuel fraction should be considered + + + + + Reference to the segment to which the fuel fraction should be considered + + + + + Float value of the mass fraction defined as + fraction = m_end / m_start + + - - + - Landing gear position safety margins + Definition of different volumes of the fuel tank. + - LandingGearPositionSafetyMargins type, containing the - safety margins of the gear due to its position + - - - - Safety margin for landing gear x position - regarding tail clearance at takeoff pitch angle - - - - - - Safety margin for landing gear x position to - avoid tail dropping down during touchDown and ground maneuvering - - - - - - Safety margin for landing gear y position to - avoid wing tip dropping down during ground maneuvering - - - - + + - Safety margin for landing gear y position - regarding wingtip or engine nacelle clearance at a certein roll - angle + Theoretical volume if material thicknesses + (ribs, spars, skins, stringers) and systems (fuel pumps, + pipes...) are neglected. - + + + + + Usable fuel volume aircraft operations. + + + + + + Total real fuel tank volume. + + + + + + + + Factor between the usalbe fuel volume and + the real fuel volume. + + + + + Factor between the real fuel volume and the + theoretical optimum fuel volume. + + + + + - + - Landing gears + fuselageAeroPerformanceType - Contains a list of landing gears. + fuselageAeroPerformance type, containing perfomance + maps with aerodynamic data of a fuselage. - - - + + + + Reference to the uID of the analysed fuselage + + + + + + References used for the calculation of the + force and moment coefficients of the fuselage (in the fuselage + axis system!) + + + + + Calculated aerodynamic performance maps of the + fuselage + + + - + - Landing gears + fuselageCutOutsType - LandingGear type, containing the definition of nose, - main and skid gears. + fuselageCutOuts type, containing fuselage cutouts + - - - - - + + + - + - Trailing edge device of the wing. + fuselageCutOutType - A leadingEdgeDevice (LED) is defined via its outerShape - relative to the componentSegment. The WingCutOut defines the area - of the skin that is removed by the LED. Structure is similar to - the wing structure. The mechanical links between the LED and the - parrent are defined in tracks. The deflection path is described - in path. Additional actuators, that are not included into a - track, can be defined in actuators. - Leading and trailing edge are defined by the outer - shape of the wing segments, i.e. the trailing edge of a - trailingEdgeDevice is the trailing edge of the wing. This is also - valid for kinks that are present in the wing but not explicitly - modeled in the control surface. - The edges of the control surface within the wing are a - straight line in absolute coordinates! Hence, there needs to be a - straight connection between the eta-wise outer and inner points - of the edge that is within the wing in absolute coordinates. - + fuselageCutOut type, containing a fuselage cutout + definition @@ -14447,48 +14280,120 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the leading edge device. - + Name of the cutout - + - Description of the leading edge device. + Description of the cutout + + + + + X position of the cutout center point - + - UID of the parent of the LED. The parent is - the componentSegment, where it is attached to. + Y offset of the cutout reference point - - - - - - + + + Z offset of the cutout reference point + + + + + + Angle in degrees of the vector pointing from + the cutout reference point to the cutout center point, measured + relative to the direction of the fuselage z axis. + + + + + + Coordinates of the unit vector defining the + direction of extrusion + + + + + Coordinates of the unit vector defining the + y-axis of the local cutout coordinate system. Must be normal to + the orientationVector. + + + + + This value is used to define the width of the + cutout + + + + + This value is used to define the height of the + cutout + + + + + This value is used to define the width of the + cutout + + + + + This value is used to define the height of the + cutout + + + + + Fillet radius of the cut element (absolute + value) + + + + + Cutout type. Determines the type of the cutout + and how it is treated by the tools. Possible values: + ("window"|"door"|"ramp") + + + + + + + + + + + + + + - + - + - Definition of the wings leading edge devices. - + fuselageElementsType - Definition of the wings leading edge devices. - + FuselageElements type, containing the elements of a + fuselage section @@ -14496,30 +14401,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Optional definition of the airfoil inner shape of - leading edge devices (LED). + fuselageElementType - - All parameters are optional. For the definition of the - parameters, please refer to the picture below. Parameters from - the outer border default to the parameters of the inner border. - - - - - + FuselageElement type, containing fuselage element data + @@ -14527,91 +14424,68 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Relative height of the most forward point of - the LED's rear part, based on the airfoil height of the parent - at this position. Optional. + Name of fuselage element - + - Relative chordwise position of the most - forward point of the LED's rear part, based on the chord of the - parent at this position. Optional. + Description of fuselage element + + + + + + Reference to a fuselage profile + + + - + - Optional definition of the leading edge shape of - trailing edge devices (TED). + List of fuselage fuel tanks. - - All parameters are optional. For the definition of the - parameters, please refer to the picture below. Parameters from - the outer border default to the parameters of the inner border. - - - - - + - - - - Relative height of the leading edge of the TED, - based on the airfoil height of the parent at this position. - Optional. - - - - - Relative chordwise upper skin position, of the - border, where the airfoil of the TED is equivalent of the - airfoil from the parent. Measured from the rear to the front (0 - = TED trailing edge; 1 = TED leading edge). Values form the - outer border default to the value of the inner border. Optional. - - - - + + - Relative chordwise lower skin position, of the - border, where the airfoil of the TED is equivalent of the - airfoil from the parent. Measured from the rear to the front (0 - = TED trailing edge; 1 = TED leading edge). Values form the - outer border default to the value of the inner border. Optional. - + The fuselage fuel tank geometry is defined by a link to a fuselage geometry compartment. +The fuel tank volume type should also be used for the wing fuel tank - + - + - linerType + Definition of one fuselage fuel tank. - Liner type, containing liner data + The definition of fuselage tanks is still preliminary. + Currently, there is no link to any structural elements + @@ -14619,225 +14493,150 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Type of liner + Name of the fuselage fuel tank. + - - - - - - - - - + - % of fan diameter + Description of the fuselage fuel tank. + - + - % of fan diameter + Link to the tank geometry defined by a compartment. + + + + + + - - - - - - Link to file (Step, Iges or Stl) - - - Please provide a link to the additional file that shall - be loaded by the TIGL library. Furthermore it is necessary to - provide the format attribute so that the file type can be - identified. Several CAD formats provide multiple endings, and - hence, this measure seems necessary. - - - - - - - - - - - - - - - - - - - - + - Load analysis + fuselageProfilesType - + FuselageProfiles type, containing fuselage profile + geometries. See profileGeometryType for further documentation + - - - - + + + - + - loadBreakdownType + fuselagesAeroPerformanceType - + fuselagesAeroPerformance type, containing + fuselagesAeroPerformance - - - - - - - + + + - + - Load cases + fuselageSectionsType - + FuselageSections type, containing fuselage sections + - - - - - - + + + - + - loadReferenceAxisPointType + fuselageSectionType - + FuselageSection type, containing fusleage section and + element data - - - - - - - - - - Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. - - - - - Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - + + - Relative height position. - relHeight is relative to the local airfoil thickness. + Name of fuselage section - + - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta-xsi values are considered to be in segment - eta-xsi coordinates; if it points to a componentSegment, - then componentSegment eta-xsi coordinates are used. + Description of fuselage section + - - - - - - - - - - - - loadReferenceAxisPointsType - - - - - - - - - - - - + + + + - + - Load envelopes + fuselageSegmentsType - The loads envelope is the results of the loadsAnalysis - and lists those loadcases that are limiting for the design - + FuselageSegments type, containing fuselage segment + definitions (from sections and elements) @@ -14845,25 +14644,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - logFloorBeamPositionType + fuselageSegmentType - longFloorBeamPosition type, containing individual - position definition + FuselageSegment type, containing data of a fuselage + segment @@ -14871,93 +14667,93 @@ The fuel tank volume type should also be used for the wing fuel tank - + - UID of structural element + Name of fuselage segment - + - UID of crossbeam to which the long. beam is - attached + Description of fuselage segment + - + - y position of long. beam + Reference to element from which the segment + shall start - - + - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) + Reference to element at which the segment + shall end - - - - - - - - - + - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile + Optional and additional guidecurves to shape + the outer geometry. - - - - - - - - - + - + - longFloorBeamType + fuselageStructureType - longFloorBeam type, containing a long. floor beam - definition + FuselageStructure type, containing data of the fuselage's + structure - - - - + + + + + + + + + + + + + + + + + + + + + + - + - longFloorBeamsAssemblyType + Fuselages - longFloorBeamsAssembly type, containing long. floor - beam assemblys + Fuselages type, containing the fuselages of the + configuration @@ -14965,21 +14761,27 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - mAirConditioningType + fuselageType - + + Fuselage type, containing all data related to a + fuselage + + + + @@ -14987,53 +14789,89 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Air conditioning mass description + + Name of fuselage + + + + + + + Description of fuselage + + + + + + + UID of part to which the fuselage is + mounted (if any) + + + + + + + + + + + + + + + + + + + + + - + - mAutomaticFlightSystemType + Galley elements - + Galley element collection type - - + + - Automatic flight system mass description - + Galley element for use in the decks - + - + - mAuxillaryPowerUnitType + Galley element - + Galley element type, containing the base elements of the cabin @@ -15041,26 +14879,33 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Auxillary power unit masse description - + Description + + + + + + + Number of trolleys + - + - mBellyFairingsType + Galleys - + Galley instance collection type. @@ -15068,117 +14913,192 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Galley + + - + - mBleedAirSystemType + This type contains a list of gears and their deflection + vectors - - - - - - - - - - - Bleed air system mass description - - - - - - - - - - - - - - mBulkCargoType - - - + + + 0. General overview + + In this type, a list of gears is defined. + + + + + 1. + <gear> + (mandatory) + + + One of these nodes per deflected gear is required + here. + + + - - - + + + - + - mBulkCargosType + This type contains a vector of deflection values for a + single gear - + + + 0. General overview + + In this type, a vector of deflections of a single + gear is specified. + + + + 1. + <gearUID> + (mandatory) + + + A reference to a gear from the aircraft model + + + + + 2. + <controlParameters> + (mandatory) + + + A vector of control parameters of the selected + gear + + + - - - - + + + + Reference to a gear + + + + + Control parameters of the gear + + + + - + - mBulkheadsType + stringerFramePositionType - + stringerFramePosition type, containing individual + stringer / frame postion definition (CPACS V2.1+) - - - - + + + + + + + + + + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + + - + - mCabinFloorsType + generalStructuralMembersAssemblyType - + generalStructuralMembersAssembly type, containing + structural member assemblys @@ -15186,19 +15106,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCabinLightingsType + generalStructuralMemberType @@ -15209,19 +15128,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + - + - mCargoFloorsType + genericCostType @@ -15231,23 +15151,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + - + - mCargoLiningsType + Generic floor elements - + Generic floor element collection type @@ -15255,22 +15176,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Generic floor element for use in the decks + + - + - mCargoLoadingsType + Generic floor modules - + Generic floor module instance collection type. @@ -15278,22 +15202,36 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Generic floor module + + - + - Cargo masses + genericGeometricComponentType - + + In some cases additional geometric components need to + be linked to a CPACS, but these components are not yet handled by + CPACS explicitly. For example, a belly fairing and/or external + tanks. + A generic geometric component may be applied to include + such a geometry from an external file (preferably STEP) in the + context of the overall aircraft. + + + + @@ -15301,30 +15239,49 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Cargo masses description + Name of genericGeometricComponent + - + - Cargo mass description + Description of genericGeometricComponent + + + + + + UID of part to which the component is mounted + (if any) - - + + + + + + + + + + + + + + - - + - mCarriagesType + Generic geometric components @@ -15335,19 +15292,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCarryOnType + Generic geometry component @@ -15358,21 +15314,23 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - mCarryOnsType + mass - + genericMassType, describing mass, inertia and CoG data. + @@ -15380,22 +15338,54 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + name + + + + + description + + + + + parentUID + + + + + mass value + + + + + mass loaction values (x,y,z) + + + + + + mass orientation values + + + + - + - mCateringsType + Generic Systems - + Node for geometrical layout of systems + @@ -15403,91 +15393,133 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCellsType + Generic System - + + + + + - - - - + + + + Name + + + + + Description + + + + + + - + - mSparCellsType + geographicPointConstraintType - + Geographic point constraint, containing a longitude, latitude, altitude data triplet. - - - - + + + + Longitude coordinate 0-360 + + + + + Latitude coordinate 0-360 + + + + + Altitude in meters + + + - + - mCockpitLightingsType + geographicPointType - + Geographic point type, containing a longitude, latitude, altitude data triplet. - - - - + + + + Longitude coordinate 0-360 + + + + + Latitude coordinate 0-360 + + + + + Altitude in meters + + + + - + - mCommunicationType + airfoilAeroPerformanceType - + airfoilAeroPerformance type, containing perfomance maps + with aerodynamic data of an airfoil. @@ -15495,10 +15527,16 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Communication mass description - + References used for the calculation of the + force and moment coefficients + + + + + Calculated aerodynamic performance maps of the + full configuration @@ -15506,15 +15544,16 @@ The fuel tank volume type should also be used for the wing fuel tank - + - mComponentSegmentType + globalBeamPropertiesType - + globalBeamPropertiesType, containing the global beam + properties such as EA, EI, mass @@ -15522,28 +15561,31 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - + + + + + + + + + - + - mComponentSegmentsType + Flight point - + + + @@ -15551,22 +15593,51 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + + + + Mach number + + + + + + + Calibrated air speed + + + + + + + True air speed + + + + + + - + - mControlSurfaceSupportType + Performance Cases - + + Definition of missions and point performance events to evaluate the performance of a vehicle. + The definition of performance cases is independent from a specific vehicle. + @@ -15574,21 +15645,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + - + - mControlSurfaceSupportsType + Ground load Cases @@ -15599,45 +15669,94 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mCrewMembersType + guideCurveProfileGeometryType - + + A guide curve profile is defined by a profile name, an + optional description and a 3-dimensional relative pointlist with + all three coordinates mandatory. For typical profiles, one of + the coordinate vectors contains only "0" entries. All point + coordinates are transferred to the global coordinate system. + First and last point may, but need not to, be identical. + + The points have to be ordered in a mathematical + positive sense. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + Curves have to go continuously over the whole wing or + fuselage + Connection of guide curves from segment to segment + + + + + + + + Please note, currently it is not possible to apply any + means of class based transformation in the description. However, + this may be an addition for the future. + - - - - + + + + Name of profile + + + + + Description of profile + + + + + + + + + + + + + + + + - + - mCrewSeatsType + guideCurveProfilesType - + Guide Curve Profiles type. This type is used to + describe guide curves that enable designers to create a geometry + that deviates from a standard loft. + @@ -15645,48 +15764,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mDeIcingType + Guide Curves Type - - - - - - - - - - - De-icing mass description - - - - - - - - - - - - - mDocumentsToolsType - - - + Guide Curve type. This type is used to describe guide + curves that enable designers to create a geometry that deviates + from a standard loft. @@ -15694,22 +15788,30 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mDoorsType + Guide Curve Type - + + A guide curve may be used to alter the shape of the + outer geometry and "guide" the loft. + The guide curve profiles are defined in the guideCurveProfileGeometryType. + Their use on wing and fuselage components is illustrated in the image below. + + + + + @@ -15717,22 +15819,113 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Name of guide curve + + + + + Description of guide curve + + + + + Reference to a guide curve profile + + + + + + For the first segment fromGuideCurveUID is not + a valid entry! For the first guideCurve + fromRelativeCircumference must be applied! fromGuideCurveUID is + exclusive. + + + + + + Reference to the previous guide curve from + which this guide curve shall start. + + + + + + Continuity definition for geometry + generation. Possible options: C0, C1 from previous, C2 from + previous, C1 to previous, C2 to previous + + + + + + + + + + + + + + + + + + + Reference to the relative circumference + position from which the guide curve shall start. Valid values + are in the interval -1.0...1.0. + + + + + + Tangent at first point + + + + + + + + The relative circumference + position at which the guide curve shall end. Valid values + are in the interval -1.0...1.0. + + + + + + Tangent at last point + + + + + + Local direction along which the relative x-coordinates of + the guide curve points are defined. For the wing the default is + the wing's local x-axis, for the fuselage its the fuselage's local z-axis. + + + + - + - mElectricalDistributionType + CPACS header - + Header type, containing CPACS dataset description + @@ -15740,99 +15933,182 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Electrical distribution mass description + Name of CPACS dataset + + + + + Description of CPACS dataset + + + + + + Creator of initial CPACS dataset + + + + + + Timestamp of initial CPACS dataset creation + + + + + + Version of initial CPACS dataset + + + + + + CPACS version that the dataset is valid to. The element is optional, since data sets + can be valid for several CPACS versions. However, we strongly recommend to assign data sets to a + specific CPACS version as far as possible, especially since some tools and libraries (e.g. TiGL) + require this specification. + + + + + + - + - mElectricalGenerationType + Heat flow - - - - - + + - Electrical generation mass description + + Heat flow value - + + + + + - + - mEmergencyEquipmentsType + Heat flow - - - - - + + + + Heat flow value + + + + + + + - + - mEmergencyOxygenSystemsType + hingeMomentsMapType - + hingeMomentsMap type, containing a hinge moments map + with aerodynamic data. Array order is: angleOfAttack min->max + then angleOfSideslip then reynoldsNumber then machNumber. + All coefficients in the aeroperformanceMap relate to + the CPACS coordinate system. See documentation of the + CPACS-Element for further information. - - - - + + + + Name of the AeroPerformanceMap. + + + + + + Description of the AeroPerformanceMap. + + + + + + Mach number + + + + + Reynolds Number + + + + + Sideslip angle + + + + + Angle of attack + + + + - + - mEmptyULDType + htpFwdInterfaceDefType - + Definition of the interface of forward HTP attachment + @@ -15840,44 +16116,167 @@ The fuel tank volume type should also be used for the wing fuel tank - + + Definition of the forward HTP attachment + interface + + + + relative width of reinforcement at fwd HTP + attachment, between 0.0 and 1.0 + + + + + relative width of plate at fwd HTP attachment + (only applicable for Type1 model), between 0.0 and 1.0, smaller + than htpPlateWidth + + + + + UID of panel element at HTP forward attachment + in x-direction (shell elements) + + + + + UID of panel element at HTP forward attachment + in z-direction (shell elements) + + + + + UID of reinforcements for panel element at HTP + forward attachment in z-direction (beam elements) + + + + + + UID of the element to fix HTP to fuselage + (beam elements) + + + - + - mEmptyULDsType + htpInterfaceDefType - + Definition of the interface of HTP - - - - + + + Definition of the HTP interface + + + + + UID of the fuselage frame at the forward HTP + attchment + + + + + + UID of the fuselage frame at the backward HTP + attchment + + + + + + maximum HTP deflection (nose up in + degrees) + + + + + + maximum HTP deflection (nose down in + degrees) + + + + + + angle of the reinforcements at backward HTP + attchment + (in degrees) + + + + + + Defines area (absolute) in x-direction around + htpFrame2UID where the HTP attachmentpoint has correct position + ==> check and potentially warning message + + + + + Defines area (absolute) in y-direction around + the + outer edge of htpFrame2UID where the HTP attachmentpoint has correct + y-position ==> check and potentially warning + message + + + + + + Defines allowed z-position for rear HTP + attachment + relativ to total frame height ==> check and potentially warning + message ==> check and potentially warning + message + + + + + + Definition of HTP structural + elements + + + + + + Definition of HTP forward attachment to + structure + + + + + - + - mEngineControlType + htpStructElemDefType - + definition of structural elements in HTP attachment + @@ -15885,23 +16284,59 @@ The fuel tank volume type should also be used for the wing fuel tank - + + Definition of tailplane attachment area + (Standard Configuration) + + - Engine control mass description + UID of structural element for HTP front + crossbeams + + + + + UID of structural element for HTP rear + crossbeams + + + + + UID of structural element for HTP diagonal + beams + + + + + UID of structural element for HTP side beams + + + UID of structural element for upper HTP cutout + reinforcement beams, also used for lower cutout reinforcement, + when not explicitely defined + + + + + UID of structural element for lower HTP cutout + reinforcement beams (optional) + + + - + - mEquippedEnginesType + indirectOperatingCostType @@ -15911,49 +16346,42 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Equipped engines mass description - - - - - + + + - + - mExtLightingsType + integerBaseType - + Base type for integer nodes (including external data + attributes) - - - - - - + + + + + - + - + - mFireProtectionType + interConnectionStrutAttachmentType @@ -15964,9 +16392,15 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Fire protection mass description + Definition of the position of the attachment + joint in relative coordinates. + + + + + Material settings of the attachment. @@ -15975,12 +16409,12 @@ The fuel tank volume type should also be used for the wing fuel tank - + - mFixedGalleysType + interconnectionStrutsType @@ -15991,19 +16425,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Definition of one interconnection strut. + + + - + - mFixedLeadingEdgeType + interconnectionStrutType @@ -16014,45 +16452,53 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + uID of control surface where this flap is + attached to by the interconnection strut. + + + + + Material settings of the strut (if strut is + moddeled as a simple strut). + + + + + Definition of the attachment on this control + surface. + + + + + Definition of the attachment on the other + control surface + + + + + Free path in positive (tensil) and negative + (compression) direction before interconnection strut blocks. + + + + - - - - - - mFixedLeadingEdgesType - - - - - - - - - - - - - - - - - - - + - mFixedTrailingEdgeType + intercostalPositionType - + intercostalPosition type, containing the position of intercostals + in DSS @@ -16060,23 +16506,52 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + + UID of the frame at which intercostal + starts + + + + + UID of the forward door frame + + + + + UID of the door + + + + + non-dimensional value ranging between 0 and 1 + + + + + + UID of profileBasedStructuralElement used for + intercostal + + + - + - mFixedTrailingEdgesType + IntercostalsAssemblyType - + IntercostalsAssembly type, containing intercostal + definitions @@ -16084,22 +16559,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mFlightControlsType + structuralElementsConnectionsType - + StructuralElementsConnections type, containing + connections between structural elements @@ -16107,97 +16582,97 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Flight controls mass description - + Flag for automatic generation of interface + definitions (draft version) + + - + - mFloorCoveringsType + Internal pressure of a deck - - - - - + + + + Internal pressure of a fuselage, deck or compartment + + + - + - mFramesType + Cabin pressure - + + Internal pressure of a fuselage, deck or compartment + - - + + + + + UID of a fuselage, deck or compartment + + - + + + + Internal pressure [Pa] + + - - - - - - - - - - - mFreshWaterSystemsType - - - - - - - - - - - - - + - + - mFuelSystemType + Isotropic material properties - + + Defines the material properties for an isotropic material. Note that the shear modulus G + is defined in terms of the elastic modulus E and the Poisson's ratio nu as: + + + + Specifying a value for all three properties E, G and nu therefore results in an overdetermined material definition and must be avoided. + @@ -16205,9 +16680,126 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Fuel system mass description + + Young's modulus [N/m^2] + + + + + + + Shear modulus [N/m^2] + + + + + + + Poisson's ratio + + + + + + + Thermal expansion coefficient [1/K] + + + + + + + Thermal conductivity of the material in + [W/(m*K)] + + + + + + + Allowable stress for tension [N/m^2] + + + + + + + Allowable stress for compression [N/m^2] + + + + + + + Allowable stress for shear [N/m^2] + + + + + + + Allowable strain for tension + + + + + + + Allowable strain for compression + + + + + + + Allowable strain for shear + + + + + + + Yield strength, tension [N/m^2] + + + + + + + Yield strength, compression [N/m^2] + + + + + + + Plastification curves for isotropic + materials incl. element elimination + + + + + + + Optional knockdown factor for fatiuqe + (defaults to 1) + + + + + + + Fatigue behaviour of the material + + + + + + + Damage tolerance behaviour of the + material @@ -16216,15 +16808,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Fuel mass + Landing gear base - + + Base type for landing gears (i.e. nose gear, main gear and skid gear). + An example of a nose and main gear is shown below: + + + + @@ -16232,170 +16830,211 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Fuel mass description + Name + + + + + Description + + + + + UID of the parent component. If set, the position of the main strut is defined relative to the parent coordinate system. + + + + + + + + + Total length of landing gear, equals the distance from the middle of the bogie/axles to the axis of rotation of the pintle strut. Distance is measured while landing gear is fully extended and in airborne condition (i.e., if a spring is present, the totalLength includes the springDeflectionLength) + + + + + Static suspension travel means the positive distance between the total length in airborne condition and the reduced length due to compression on the ground. + + + + + Compressed suspension travel means the positive distance between the total length in airborne condition and the maximum reduced length due to maximum compression on the ground (e.g., landing shock). + + + + + + + Transformation with respect to the uppermost point of the main strut. From this point the landing gear is oriented in negative z-direction by default. - + + + + + + + + + + - + - Mass + Braking function - + + + Describes the braking state of the landing gear. + + - - - - - - Furnishing mass description - - - - - - - - - - - - - - - - - - - - - - - + + + + Control parameter indicating that the brake is set + + + + + Control parameter indicating that the brake is released + + + + - + - mFuselageStructureType + Assembly of landing gear components - + + + Describes an assembly of the various landing gear components + + + + - - - - - - Fuselage structure mass description - - - - - - - - - - - - - - - - - - + + + + Main strut + + + + + + + + + + Drag strut (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + + - + - mWallsType + Landing gear control functions - + + + A list of functions which can be addressed by the controlDistributor. + + - - - - - - - - + + + + Extension path + + + + + Steering path + + + + + Braking state + + + - + - mFuselagesStructureType + Landing gear control parameters - + + Parameters of a landing gear control such as extraction or steering. + - - + + - Fuselages structure mass description + + Retraction angle of the main landing + gear. Equals a rotation around the + global z-axis in degrees. 0 = retraction + to the front; 90 = retraction to the + left; 180 = retraction to the rear; 270 + = retraction to the right. - - - - - - - - - - - - mHydraulicDistributionType - - - - - - - - - - - + + - Hydraulic distribution mass description + + Distance of the center of rotation to the top of the main strut + for retracting and extending the landing gear. I.e., a value of + 0 means that the landing gear will rotate around the upper end + of the main strut during retraction. If this value is greater + than 0, the center of rotation is shifted by this value above + the main strut end point (translation along the main strut axis). @@ -16404,65 +17043,86 @@ The fuel tank volume type should also be used for the wing fuel tank - + - mHydraulicGenerationType + Extension step - + + + Describes a step with the extension path of the landing gear. Make sure to provide a least one step with stepType=extracted! + + - - - - - - Hydraulic generation mass description - - - - - - + + + + Step type (retracted or extracted) + + + + + + + + + + + + Control parameter + + + + + Extension angle of the main strut [deg] + + + - + - mIFESystemsType + Extension path - + + + Describes the extension path of the landing gears via a list of steps. + + - - - - - - - - + + + + Step within the extension path + + + + - + - mInstrumentPanelType + landingGearInterfaceDefinitionsType - + CenterFuselage landing gear interface definitions + @@ -16470,49 +17130,64 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Instrument panel mass description - - - + + + + + + + - + - mInsulationsType + keelbeamType - + HighWingCenterFuselage / Keelbeam definition between + mainframe1 und mainframe2 - - - - + + + + + + + + + + + + + + + + - + - mIntegratedModularAvionicsType + lateralPanelsType - + HighWingCenterFuselage / lateral Panel definition + between mainframe1 und mainframe2 @@ -16520,26 +17195,29 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Integrated modular avionics mass description - - - + + + + + + + + - + - mInterGasSystemType + longFloorBeamConnectionType - + HighWingCenterFuselage / Long. floor beam connection + @@ -16547,49 +17225,50 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Inter gas system mass description - - - + + - + - mLandingGearSupportsType + centerFuselageMainFramesType - + High wing main frame definition, containing mainframe + UIDs - - - - + + + + + + + - + - mLandingGearsType + pressureFloorType - + High Wing Center Fuselage / pressure floor definition + between mainframe1 und mainframe2 @@ -16597,178 +17276,251 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Landing Gears mass description - - - - - + + + + + - + - mLavatoriesType + sideboxType - + HighWingCenterFuselage / side box definition between + mainframe1 und mainframe2 - - - - + + + + + + - + - mLiningsType + Landing gear position safety margins - + LandingGearPositionSafetyMargins type, containing the + safety margins of the gear due to its position - - - - + + + + Safety margin for landing gear x position + regarding tail clearance at takeoff pitch angle + + + + + + Safety margin for landing gear x position to + avoid tail dropping down during touchDown and ground maneuvering + + + + + + Safety margin for landing gear y position to + avoid wing tip dropping down during ground maneuvering + + + + + + Safety margin for landing gear y position + regarding wingtip or engine nacelle clearance at a certein roll + angle + + + - + - mMainGearsType + Steering step - + + + Describes a step with the steering path of the landing gear. + + - - - - - - - - + + + + Step type (centered, fullBackboard or fullStarboard) + + + + + + + + + + + + Control parameter + + + + + Steering angle [deg] + + + - + - Mass + Steering path - + + + Describes the steering path of the landing gears via a list of steps. + + - - - - - - Manufacturer empty mass description - - - - - - - - - - + + + + Step within the steering path + + + + - + - mMillitarySystemsType + + Definition of the wing attachment + - + + Definition of the wing attachment, if + attached to the wing. The definition + includes the position of the landing gear as + well as the information to which spars resp. + supportBeam the gear is attached. + - - - - Millitary systems mass description - - - - + + + + + UID of the second spar, where the landing gear is attached to. Only used, if the landing gear is attached between two spars. + + + + + + UID of a set of ribs (ribDefinition) + + + + + Number of the rib in the rib set (ribDefinition) + + + + + + + + UID of the structural mount + + + + + - + - mMiscellaneousType + Landing gears - Miscellaneous masses must only specify componenent masses for which NO DEDICATED ELEMENT EXISTS in the mass breakdown list! + Contains a list of landing gears. - - - + + + - + - mMoveableLeadingEdgeType + Definition of the main landing gear support beam + position - + Definition of the main landing gear support beam + position @@ -16776,121 +17528,135 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + Relative chordwise coordinate (xsi) of the + inner end of the support beam. The eta + position of the inner end is defined by the eta position of the + wing root (=wing-fuselage attachment). + + + + + Relative spanwise coordinate (eta) of the + outer end of the support beam. The xsi + coordinate of the outer end is defined by the spar position + (first spar), where the support beam is attached to. + + + - + - mMoveableLeadingEdgesType + Landing gears - + LandingGear type, containing the definition of nose, + main and skid gears. - - - - + + + + + - - - - - - mMoveableTrailingEdgeType - - - - - - - + - - - - - - + + + + + + + + + + + + + - + - mMoveablesType + Lavatories - + Lavatory instance collection type. - - - - - + + + + Lavatory + + + - + - mNavigationType + Lavatory elements - + Lavatory element collection type - - + + - Navigation mass description - + Lavatory element for use in the decks - + - + - mNoseGearsType + Definition of the wings leading edge devices. + - + Definition of the wings leading edge devices. + @@ -16898,22 +17664,37 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Mass + Trailing edge device of the wing. - + A leadingEdgeDevice (LED) is defined via its outerShape + relative to the componentSegment. The WingCutOut defines the area + of the skin that is removed by the LED. Structure is similar to + the wing structure. The mechanical links between the LED and the + parrent are defined in tracks. The deflection path is described + in path. Additional actuators, that are not included into a + track, can be defined in actuators. + Leading and trailing edge are defined by the outer + shape of the wing segments, i.e. the trailing edge of a + trailingEdgeDevice is the trailing edge of the wing. This is also + valid for kinks that are present in the wing but not explicitly + modeled in the control surface. + The edges of the control surface within the wing are a + straight line in absolute coordinates! Hence, there needs to be a + straight connection between the eta-wise outer and inner points + of the edge that is within the wing in absolute coordinates. + @@ -16921,79 +17702,55 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Operator items mass description + Name of the leading edge device. + + + + + + Description of the leading edge device. + + + + + + UID of the parent of the LED. The parent is + the componentSegment, where it is attached to. - - - - - - - + + + + + + + - + - mOverheadBinsType + Optional definition of the airfoil inner shape of + leading edge devices (LED). - - - - - - - - - - - - - - - - - - - - - mPartStowDoorsType - - - - - - - - - - - - - - - - - - - - - - - mPassengerType - - - + + All parameters are optional. For the definition of the + parameters, please refer to the picture below. Parameters from + the outer border default to the parameters of the inner border. + + + + + @@ -17001,44 +17758,91 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Relative height of the most forward point of + the LED's rear part, based on the airfoil height of the parent + at this position. Optional. + + + + + Relative chordwise position of the most + forward point of the LED's rear part, based on the chord of the + parent at this position. Optional. + + - + - mPassengersType + Optional definition of the leading edge shape of + trailing edge devices (TED). - + + All parameters are optional. For the definition of the + parameters, please refer to the picture below. Parameters from + the outer border default to the parameters of the inner border. + + + + + - - - - + + + + Relative height of the leading edge of the TED, + based on the airfoil height of the parent at this position. + Optional. + + + + + Relative chordwise upper skin position, of the + border, where the airfoil of the TED is equivalent of the + airfoil from the parent. Measured from the rear to the front (0 + = TED trailing edge; 1 = TED leading edge). Values form the + outer border default to the value of the inner border. Optional. + + + + + + Relative chordwise lower skin position, of the + border, where the airfoil of the TED is equivalent of the + airfoil from the parent. Measured from the rear to the front (0 + = TED trailing edge; 1 = TED leading edge). Values form the + outer border default to the value of the inner border. Optional. + + + + - + - Passengers masses + linerType - + Liner type, containing liner data @@ -17046,57 +17850,72 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Passanger masses Description - + Type of liner + + + + + + + + + + + + + % of fan diameter - + - Passanger mass Description + % of fan diameter - - + - Payload mass + Link to file (Step, Iges or Stl) - + Please provide a link to the additional file that shall + be loaded by the TIGL library. Furthermore it is necessary to + provide the format attribute so that the file type can be + identified. Several CAD formats provide multiple endings, and + hence, this measure seems necessary. - - - - - - Payload mass description - - - - - + + + + + + + + + + + - + - + - Mass + Load analysis @@ -17107,32 +17926,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Power units mass description - - - - - - - - - + + - + - mPylonAttachmentsType + Load application points - + + Multiple sets of scattered load application points can be defined. However, no specific information about the corresponding loads (e.g. whether aerodynamic or structural loads are involved) or mesh topologies are specified here, as such assumptions are tool-specific. + @@ -17140,48 +17951,92 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - mPylonsType + Load application point set - + + + A point set contains discrete spatial points at which loads are applied (e.g., aerodynamic or structural loads). A typical procedure in CPACS is as follows: + + + + Reference a wing, fuselage or control surface by its uID using the componentUID node. + Define a reference axis through the above component with the loadReferenceLine element to specify where a load distribution shall be applied. + Compute the intersections with (e.g.) ribs of the referenced component (wing, fuselage or control surface) and write the results into loadApplicationPoints. This procedure results from common practice where the forces in structural analyses are typically introduced at structural elements such as ribs and spars. With respect to preliminary aircraft design a two-dimensional load distribution is preferred. However, an arbitrary distribution of the load application points is possible (without the intersection of structural elements with a reference axis in the previous step), for example to define discrete load distributions on the wing surface in streamwise and spanwise direction. + Specify the location and orientation of cut loads in the cutLoadIntegrationPoints element and the corresponding connectivity information in the connectivities node. + + + + + + - - + + - Pylons mass description + UID of a wing, fuselage or control surface - - + + + + Reference axis (line) for load distribution + + + + + + + List of points at which load vectors are + applied to + + + + + + + List of points at which cut loads are applied to + + + + + + + Specification of connectivity properties between points + + + + + - + - mRibType + dynamicAircraftModelCoordinatesType @@ -17190,20 +18045,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + + + - + - mRibsType + loadBreakdownType @@ -17213,46 +18071,54 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + + + - + - mSeatsType + Accelerations - + Translational or rotational accelerations acting + on the aircraft - - - - + + + + + Rotational accelerations acting around aircraft centre of gravity [deg/s^2] + + + - + - mShellType + Gust definition - + The coordinate system of the gust corresponds to the CPACS coordinate system. @@ -17260,21 +18126,54 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + Parameters describing the shape of the gust + + + + + + + + + + + + + + + + + Angle between gust and vehicle [deg] (e.g., 0deg: from right to left; 90 deg: downwards; 180deg: from left to right; 270/-90deg: upwards) + + + + + + + Gust length: length of ramp or gradient distance of 1-cos gust + + + + + + + Gust velocity + + + - + - mShellsType + Load factors @@ -17285,43 +18184,112 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Load factor in x-direction + + + + + + + Load factor in y-direction + + + + + + + Load factor in z-direction + + + - + - mSkinPanelsType + Load case specification - + Input values defining a load case - - - - + + + + + Environment + + + + + + + Altitude above sea level + + + + + + + Mach number + + + + + + + UID of the aerodynamic loads (aeroCase) + + + + + + + + Controller description. Note: Since there is no controller description in CPACS yet, the expected content of this string element has to be defined individually for each project. + + + + + + + + + + + UID referencing the mass state of aircraft for this load case + + + + - + - mSkinsType + Load cases @@ -17331,23 +18299,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + + + - + - mSparSkinsType + Load case superposition - + List of uIDs referencing load cases that are superimposed to the current load case + @@ -17355,89 +18326,130 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + UID reference to another load case to be superimposed + + + - + - mSparsType + Load case - + This node defines the load case - - - - + + + + + Name of the load case + + + + + + + Description of the load case + + + + + + + - + - mSparType + Load envelopes - + The loads envelope is the results of the loadsAnalysis + and lists those loadcases that are limiting for the design + - - - - - + + + + - + - mSpecialStructuresType + Load envelope - + List of load cases defining a load envelope + - - - - + + + + Name + + + + + Description + + + + + UID of the corresponding point set + + + + + + List of uIDs defining the loads envelope + + + - + - mSpoilersType + loadReferenceAxisPointsType @@ -17448,19 +18460,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mStringersType + loadReferenceAxisPointType @@ -17470,97 +18481,77 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - Mass - - - - - - - - - - - - - Structure mass description - - - - - - - + + + + + + + + + + Relative spanwise position. Eta refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative chordwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + Relative height position. + relHeight is relative to the local airfoil thickness. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta-xsi values are considered to be in segment + eta-xsi coordinates; if it points to a componentSegment, + then componentSegment eta-xsi coordinates are used. + + + + - + - Mass + Load sets - + + A list of load sets + - - - - Systems mass description - + + - - - - - - - - - - - - - - - - - + - + - mTrailingEdgeDeviceType + Load set - + A set of forces and moments @@ -17568,46 +18559,127 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Description + + + + + + + UID of load application point set (analysis/global/loadApplicationPoints) + + + + + + + Force in x-direction [N] + + + + + + + Force in y-direction [N] + + + + + + + Force in z-direction [N] + + + + + + + Moment around x-axis [Nm] + + + + + + + Moment around y-axis [Nm] + + + + + + + Moment around z-axis [Nm] + + + + + + + Nodal displacement in x-direction [m] + + + + + + + Nodal displacement in y-direction [m] + + + + + + + Nodal displacement in z-direction [m] + + + + + + + Nodal rotation around x-axis [deg] + + + + + + + Nodal rotation around y-axis [deg] + + + + + + + Nodal rotation around z-axis [deg] + + + + + + + Load brake-down + + + + - - - - - - mTrailingEdgeDevicesType - - - - - - - - - - - - - - - - - - + - mULDContentType + logFloorBeamPositionType - + longFloorBeamPosition type, containing individual + position definition @@ -17615,44 +18687,69 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + UID of structural element + + + + + UID of crossbeam to which the long. beam is + attached + + + + + y position of long. beam + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + - - - - - - mULDContentsType - - - - - - - - - - - - - - - - - - + - mVacuumWasteSystemsType + longFloorBeamsAssemblyType - + longFloorBeamsAssembly type, containing long. floor + beam assemblys @@ -17660,22 +18757,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - mWasteWaterSystemsType + longFloorBeamType - + longFloorBeam type, containing a long. floor beam + definition @@ -17683,22 +18780,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - mWindowsType + Luggage compartment elements - + Luggage compartment element collection type @@ -17706,89 +18803,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - mWingBoxType - - - - - - - - - - - - - - - - - - - - - - - - - mWingStructureType - - - - - - - - - - - + - Wing structure mass description - + Luggage compartment element for use in the decks - - + - + - mWingsStructureType + Luggage compartments - - - - + - Wings structure mass description + Luggage compartment - @@ -17819,7 +18862,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -17840,7 +18883,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -17864,9 +18907,9 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + @@ -17891,13 +18934,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + reference to the structural element that comprises this connection. - + @@ -17919,8 +18962,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + + + + + + + + + + + mAirConditioningType + + + + + + + + + + + + + Air conditioning mass description + + + @@ -17974,11 +19044,11 @@ The fuel tank volume type should also be used for the wing fuel tank The operation empty mass structure is based on the Airbus Mass Standard brake down [AIRBUS MASS STANDARD 2008]. The - operator’s mass empty (OME) is defined by the sum of the + operator’s mass empty (OME) is defined by the sum of the following component masses: - operator’s items - manufacturer’s mass empty (MME) + operator’s items + manufacturer’s mass empty (MME)
@@ -18040,39 +19110,92 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Fuel Mass Fraction + Mass composition - - Describing the mass fraction considered for a mission segment sequence - - + - Reference to the segment from which the fuel fraction should be considered + + Fluid type + + + + + + + + - + + + + + + + + + + + Mass flow + + + + + + + + - Reference to the segment to which the fuel fraction should be considered + + Mass flow value + - + + + + + + + + + + + + + + + Mass flow + + + + + + + + - Float value of the mass fraction defined as - fraction = m_end / m_start + + Mass flow value + - + + + + + @@ -18096,9 +19219,9 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + @@ -18123,9 +19246,9 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + @@ -18149,7 +19272,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + uID of the profile point to which the additional stiffness shall be applied. @@ -18167,13 +19290,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + optional auxiliary parameter for special use (no physical meaning) - + optional auxiliary parameter for special use (no physical meaning) @@ -18215,7 +19338,7 @@ The fuel tank volume type should also be used for the wing fuel tank Predefined ID of the sheet of a standard profile - + @@ -18244,13 +19367,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + Orthoropy direction of the composite. - + Scaling factor of the composite thickness. @@ -18305,13 +19428,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + Orthotropy direction of the composite. - + Scaling factor of the composite thickness. Absolute thicknesses are defined in each composite material @@ -18326,7 +19449,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Absolute thickness of the material. @@ -18338,6 +19461,32 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Materials + + + Materials type, containing material and composite data. + A material describes the properties of a certain material. + Several materials can be combined within one composite. + + + + + + + + + + + + + + + @@ -18370,22 +19519,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + Name of the material - + Description of the material - + Material density [kg/m^3] - + @@ -18397,37 +19546,30 @@ The fuel tank volume type should also be used for the wing fuel tank - + Reference temperature for thermal expansion coefficient [K] - - + + - + - Isotropic material properties + mAutomaticFlightSystemType - - Defines the material properties for an isotropic material. Note that the shear modulus G - is defined in terms of the elastic modulus E and the Poisson's ratio nu as: - - - - Specifying a value for all three properties E, G and nu therefore results in an overdetermined material definition and must be avoided. - + @@ -18435,786 +19577,36 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Young's modulus [N/m^2] + Automatic flight system mass description - + + + + + + + + + + + mAuxillaryPowerUnitType + + + + + + + + + + + - - Shear modulus [N/m^2] - - - - - - - Poisson's ratio - - - - - - - Thermal expansion coefficient [1/K] - - - - - - - Thermal conductivity of the material in - [W/(m*K)] - - - - - - - Allowable stress for tension [N/m^2] - - - - - - - Allowable stress for compression [N/m^2] - - - - - - - Allowable stress for shear [N/m^2] - - - - - - - Allowable strain for tension - - - - - - - Allowable strain for compression - - - - - - - Allowable strain for shear - - - - - - - Yield strength, tension [N/m^2] - - - - - - - Yield strength, compression [N/m^2] - - - - - - - Plastification curves for isotropic - materials incl. element elimination - - - - - - - Optional knockdown factor for fatiuqe - (defaults to 1) - - - - - - - Fatigue behaviour of the material - - - - - - - Damage tolerance behaviour of the - material - - - - - - - - - - - - - - - Anisotropic material properties for 2D materials - - - - - Defines the material properties for a linear anisotropic material in the plane stress state (i.e., shell). The stress-strain relationship is defined as: - - - - The terminology of this complex type refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. - - - - - - - - - - - - Coefficient 11 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 12 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 13 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 22 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 23 of reduced stiffness matrix [N/m^2] - - - - - Coefficient 33 of reduced stiffness matrix [N/m^2] - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 12 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 3 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 [N/m^2] - - - - - - Allowable stress for compression in material direction 1 [N/m^2] - - - - - - Allowable stress for tension in material direction 2 [N/m^2] - - - - - - Allowable stress for compression in material direction 2 [N/m^2] - - - - - - Allowable stress for shear [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - Allowable strain for compression in material direction 1 - - - - - - Allowable strain for tension in material direction 2 - - - - - Allowable strain for compression in material direction 2 - - - - - - Allowable strain for shear - - - - - - - - - - - - - - Orthotropic material properties for 2D materials - - - - - Defines the material properties for an orthotropic material in the plane stress state (i.e., shell). The strain-stress relationship is defined as: - - - - Inverting the strain-stress relation and introducing thermal expansion yields: - - - - with: - - - - The terminology refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - - - - - - - - - - - - Young's modulus in material direction 1 [N/m^2] - - - - - Young's modulus in material direction 2 [N/m^2] - - - - - Shear modulus in material in 2-3 plane [N/m^2] - - - - - Shear modulus in material in 3-1 plane [N/m^2] - - - - - Shear modulus in material in 1-2 plane [N/m^2] - - - - - Poisson's ratio - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for shear [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for shear - - - - - - - - - - - - - - Anisotropic material properties for 3D materials - - - - - Defines the material properties for a linear anisotropic material in three spatial directions (i.e., solid). The stress-strain relationship is defined as: - - - - The terminology of this complex type refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - [2] J. N. Reddy, Mechanics of Laminated Composite Plates and Shells: Theory and Analysis, Second Edition. CRC Press, 2004. - - - - - - - - - - - - Coefficient 11 of stiffness matrix [N/m^2] - - - - - Coefficient 12 of stiffness matrix [N/m^2] - - - - - Coefficient 13 of stiffness matrix [N/m^2] - - - - - Coefficient 14 of stiffness matrix [N/m^2] - - - - - Coefficient 15 of stiffness matrix [N/m^2] - - - - - Coefficient 16 of stiffness matrix [N/m^2] - - - - - Coefficient 22 of stiffness matrix [N/m^2] - - - - - Coefficient 23 of stiffness matrix [N/m^2] - - - - - Coefficient 24 of stiffness matrix [N/m^2] - - - - - Coefficient 25 of stiffness matrix [N/m^2] - - - - - Coefficient 26 of stiffness matrix [N/m^2] - - - - - Coefficient 33 of stiffness matrix [N/m^2] - - - - - Coefficient 34 of stiffness matrix [N/m^2] - - - - - Coefficient 35 of stiffness matrix [N/m^2] - - - - - Coefficient 36 of stiffness matrix [N/m^2]2] - - - - - Coefficient 44 of stiffness matrix [N/m^2]] - - - - - Coefficient 45 of stiffness matrix [N/m^2] - - - - - Coefficient 46 of stiffness matrix [N/m^2] - - - - - Coefficient 55 of stiffness matrix [N/m^2] - - - - - Coefficient 56 of stiffness matrix [N/m^2] - - - - - Coefficient 66 of stiffness matrix [N/m^2] - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 3 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 23 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 31 [1/K] - - - - - Thermal expansion coefficient affecting strain in material direction - 12 [1/K] - - - - - Thermal conductivity of the material in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 2 [W/(m*K)] - - - - - - Thermal conductivity of the material in material direction 3 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for tension in material direction 3 - [N/m^2] - - - - - Allowable stress for compression in material - direction 3 [N/m^2] - - - - - Allowable stress for shear in 2-3 plane [N/m^2] - - - - - Allowable stress for shear in 3-1 plane [N/m^2] - - - - - - Allowable stress for shear in 1-2 plane [N/m^2] - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for tension in material direction 3 - - - - - - Allowable strain for compression in material - direction 3 - - - - - Allowable strain for shear in 2-3 plane - - - - - - Allowable strain for shear in 3-1 plane - - - - - - Allowable strain for shear in 1-2 plane + Auxillary power unit masse description @@ -19223,230 +19615,48 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Orthotropic material properties for 3D materials - + mBellyFairingsType - - Defines the material properties for an elastic orthotropic material in three spatial directions (i.e., solid). The strain-stress relationship is defined as: - - - - Note that nuij is related to nuji by: - - - - The terminology refers to the following literature: - - [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. - - + - - - - Young's modulus in material direction 1 [N/m^2] - - - - - Young's modulus in material direction 2 [N/m^2] - - - - - Young's modulus in material direction 3 [N/m^2] - - - - - Shear modulus in the 2-3 plane [N/m^2] - - - - - Shear modulus in the 3-1 plane [N/m^2] - - - - - - Shear modulus in the 1-2 plane [N/m^2] - - - - - Poisson's ratio in in 2-3 plane - - - - - Poisson's ratio in in 3-1 plane - - - - - Poisson's ratio in in 1-2 plane - - - - - Thermal expansion coefficient in material direction - 1 [1/K] - - - - - Thermal expansion coefficient in material direction - 2 [1/K] - - - - - Thermal expansion coefficient in material direction - 3 [1/K] - - - - - Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] - - - - - Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] - - - - - - Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] - - - - - - Allowable stress for tension in material direction 1 - [N/m^2] - - - - - Allowable stress for compression in material - direction 1 [N/m^2] - - - - - Allowable stress for tension in material direction 2 - [N/m^2] - - - - - Allowable stress for compression in material - direction 2 [N/m^2] - - - - - Allowable stress for tension in material direction 3 - [N/m^2] - - - - - Allowable stress for compression in material - direction 3 [N/m^2] - - - - - Allowable stress for shear in 2-3 plane [N/m^2] - - - - - - Allowable stress for shear in 3-1 plane [N/m^2] - - - - - Allowable stress for shear in 1-2 plane [N/m^2] - - - - - - Allowable strain for tension in material direction 1 - - - - - - Allowable strain for compression in material - direction 1 - - - - - Allowable strain for tension in material direction 2 - - - - - - Allowable strain for compression in material - direction 2 - - - - - Allowable strain for tension in material direction 3 - - - - - - Allowable strain for compression in material - direction 3 - - - - - Allowable strain for shear in 1-3 plane - - - - - - Allowable strain for shear in 1-3 plane - - - - + + + + + + + + + + + + + + mBleedAirSystemType + + + + + + + + + + + - Allowable strain for shear in 1-2 plane + Bleed air system mass description @@ -19455,18 +19665,15 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Materials + mBulkCargosType - Materials type, containing material and composite data. - A material describes the properties of a certain material. - Several materials can be combined within one composite. - + @@ -19474,27 +19681,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - + - Mission definitions + mBulkCargoType - - Specifies missions for performance evaluation of aircraft. - As the topmost element of the hierarchical mission definition, individual missions are grouped together - in the missions node. Here, segmentBlocks - are referenced. These again link to a list of segments. - + @@ -19502,56 +19704,192 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + - + - Setting default and specific performance maps to be used for a model + mBulkheadsType + + + + + + + + + + + + + + + + + + + + + + + mCabinFloorsType + + + + + + + + + + + + + + + + + + + + + + + mCabinLightingsType + + + + + + + + + + + + + + + + + + + + + + + mCargoFloorsType + + + + + + + + + + + + + + + + + + + + + + + mCargoLiningsType + + + + + + + + + + + + + + + + + + + + + + + mCargoLoadingsType + + + + + + + + + + + + + + + + + + + + + + Cargo masses + + + + - + - Default performance map which is used if no other performance map - is assigned through the specificPerformanceMap node + Cargo masses description - + - List of specific performance maps used on dedicated mission segments + Cargo mass description + + - + - - End condition - + mCarriagesType - - Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths avaible within the segmentBlock). - + @@ -19559,303 +19897,45 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Calibrated airspeed [m/s] - - - - - - - - - - - - - - Mach number - - - - - - - - - - - - - - - - Global coordinate in xyz coordinates - - - - - - - - - - - - - - Global coordinate in geographic - coordinates (longitude, latitude, - altitude) - - - - - - - - - - - - - - Runway - - - - - - - - - - - - - - - - MassFraction ending the segment - - - - - - - - - - - - - - Fuel mass fraction ending the - segment, as remaining fuel mass with - respect to initial segment fuel mass - - - - - - - - - - - - - - Remaining absolute fuel ending the - segment - - - - - - - - - - - - - - Consumed fuel mass ending the - segment - - - - - - - - - - - - - - - - Flight heading at the end of the - segment in compassAngle with - reference to true North [deg] - - - - - - - - - - - - - - Total change of heading angle during - segment (a full turn is 360 degrees) - [deg] - - - - - - - - - - - - - - - Flown distance in the segment (x, y, z) - - - - - - - - - - - - - - - Duration of the segment [hh:mm:ss] - - - - - - - - - - - - - - UTC time at end of mission - - - - - - - - - - - - - - - Specific excess power at the end of the - segment - - - - - - - - - - - - - - Rate of climb ending the segment - - - - - - - - - - - - - - Achieved flightPathAngle ending the segment - - - - - - - - - - + + - + - Mission block constraints + mCarryOnsType - Definition of constraints for the mission segment block + - - - - + + + + - + - Segment block + mCarryOnType - A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). + @@ -19863,73 +19943,44 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - - - Segment direction. Either 'outbound' or 'inbound'. Only needed for radiusOfAction kind of missions. - - - - - - - - - - - - - - - - Specifies to which type of mass the segment fuel mass - should be added (blockFuel = designFuel + additionalFuel; Total fuel requirement - = blockFuel + reserveFuel; designFuel = the fuel of the segmentBlock is part of the design mission) - - - - - - - - - - - - - - - - Number of repetitions of this segment block, e.g. to perform repeated holding patterns - - - + - - + + + + + + mCateringsType + + + + + + + + + + + + + + + + + + - Segment blocks + mCellsType - A list of segment blocks. A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). + @@ -19937,21 +19988,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Segment + mCockpitLightingsType - Definition of a mission segment which can be used to define missions. + @@ -19959,87 +20011,49 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - - Type of the mission segment (takeOff, clime, cruse, ...) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indication whether the distance flown during the segment is to be taken into account in the segmentBlock's distance calculation. - - - - + + + + + + + + + + + + + mCommunicationType + + + + + + + + + + + - Environmental conditions. If the environmentalCondition is not provided at segment level, the conditions of the - previous segment are inherited (this inhertance can continue until the startCondition, where the initial - environmentalConditions are provided). + Communication mass description - - - - Fuel mass - - - - - - - - - - + - + - Mission segment constraints + mComponentSegmentsType - Contains a set of constraints for the segment + @@ -20047,43 +20061,51 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Mission segments + mComponentSegmentType - A collection of mission segments which can be reused to define missions. + - - - + + + + + + + + + + - + - Start conditions + mControlSurfaceSupportsType - Conditions which define the start of a mission + @@ -20091,67 +20113,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Calibrated airspeed at the start of the mission [m/s] - - - - - Mach number at the start of the mission - - - - - - - Global coordinate at the start of the mission in xyz coordinates - - - - - Global coordinate at the start of the mission in geographic coordinates (longitude, latitude, altitude) - - - - - - UID of the runway at which the - mission starts - - - - - - - - Flight heading at the start of the mission, in compassAngle with reference to true North - - - - - - UTC time at start of mission - - - + + - + - Mission + mControlSurfaceSupportType - Contains a list of segmentBlock uID's forming the mission along with additional mission information. + @@ -20159,39 +20136,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - - - - List of segmentBlock uID's forming the mission. Segments must first be grouped in segmentBlocks to be assigned to a mission. - - - + + + + - - + - Missions + mCrewMembersType - A list of missions. + @@ -20199,18 +20161,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Monetary values + mCrewSeatsType @@ -20220,51 +20183,72 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - + + + + - + + + + + + mDeIcingType + + + + + + + - - - - - - + + + De-icing mass description + + - + + + + + + mDocumentsToolsType + + + + + + + - + + - + - nacelleProfilesType + mDoorsType - Nacelle profiles type, containing nacelle profile geometries. - See profileGeometryType for further documentation + @@ -20272,66 +20256,101 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - nacelleSectionType + Mechanical power - - - - - - - - - - + + + + + Mechanical power value [W] + + + + + + + + Torque [Nm] + + + + + + + Force [N] + + + + + - + - nacelleSectionsType + Mechanical power - - - - + + + + Mechanical power value [W] + + + + + + + + Torque [Nm] + + + + + + + Force [N] + + + + - + - Noise + mElectricalDistributionType @@ -20342,19 +20361,10 @@ The fuel tank volume type should also be used for the wing fuel tank - - - FAR approach noise level - - - - - FAR sideline noise level - - - + - FAR take-off noise level + Electrical distribution mass description + @@ -20362,34 +20372,39 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Nose landing gears + mElectricalGenerationType - List of nose gears + - - - + + + + Electrical generation mass description + + + + - + - Operating empty mass + mEmergencyEquipmentsType @@ -20399,26 +20414,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Operating empty mass description - - - - - - + + + + - + - operationalCaseType + mEmergencyOxygenSystemsType @@ -20428,26 +20437,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - + + + + - + - operationalCasesType + mEmptyULDsType @@ -20458,18 +20461,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - outerCutOutProfileType + mEmptyULDType @@ -20480,23 +20484,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Parameter definition for design studies. + mEngineControlType - Contains a name for the design parameter to give semantic meaning to parameters used in design studies. - + @@ -20504,27 +20506,26 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of parameter + Engine control mass description + - - + - Container for parameter definitions + mEquippedEnginesType - Contains a of the design parameter definitions. - + @@ -20532,22 +20533,28 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Equipped engines mass description + + + + - + - paxCrossBeamStrutsAssemblyType + mExtLightingsType - PaxCrossBeamStrutsAssembly type, containing pax - crossBeam strut assemblys + @@ -20555,45 +20562,49 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - paxCrossBeamsAssemblyType + mFireProtectionType - PaxCrossBeamsAssembly type, containing pax crossBeam - assemblys + - - - + + + + Fire protection mass description + + + + - + - paxDoorsAssemblyType + mFixedGalleysType - PaxDoorsAssembly type, containing pax door assemblys - + @@ -20601,18 +20612,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - payloadGlobalType + mFixedLeadingEdgesType @@ -20622,43 +20634,42 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + - + - Flight performance requirements + mFixedLeadingEdgeType - Contains a list of flight performance requirements - + - - - + + + - + - Flight performance requirement + mFixedTrailingEdgesType @@ -20668,76 +20679,58 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Name of the performance case - - - - - Description of the performance case - - - - - Requirement classification based on the MoSCoW method (must, should, could or wont) - - - - - - - - - - - - - - - Reference to the considered weightAndBalance case - - - - - The UID of the mission to be flown - - - - - List of point performance uIDs constraining the mission - - - - + + + + + + + + + + + + + + mFixedTrailingEdgeType + + + + + + + + + + + + + - - + - Selection of performance maps + mFlightControlsType + + + - - - Engine performance map selection - - - + - Aerodynamic performance map selection + Flight controls mass description + @@ -20745,12 +20738,12 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Performance requirements + mFloorCoveringsType @@ -20760,23 +20753,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - + + + + - + - performanceTargetsGlobalType + mFramesType @@ -20786,77 +20776,45 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - + + - - + - - + - - - + + + - Piston + mFreshWaterSystemsType - - Geometric description and material properties of the - landing gear piston. The figure below shows the condition of the - uncompressed piston, where the length of the exposed part is the - sum of the maxSpringDeflection - and the compressedExternalLength: - - - - - + - + - - - - Length of the piston - - - - - - Maximum spring deflection of the piston (difference between minimum and maximum deflection) - - - - - Length of the piston that remains outside of the main strut in fully compressed state - - - - + + + + - + - plasticityCurvePointType + mFuelSystemType @@ -20867,14 +20825,10 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Tangent modulus [N/m^2] - - - + - True stress [N/m^2] + Fuel system mass description + @@ -20882,30 +20836,15 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Points on plasticity curve of material - (min. 1 point) - - - - - - - + - pointPerformanceType + Fuel mass - Specific performance settings for the point performance calculation (e.g.: a cruise Mach number) + @@ -20913,99 +20852,70 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - + - Description + Fuel mass description - - - - - Defines at which part of the mission - the point performance should be - considered - after indicated segment - of the mission as defined in - performanceCase - - - - - - - Defines at which part of the mission - the point performance should be - considered - at the defined - massFraction within the mission as - defined in performanceCase - (mCurrent/mTO) - - - - - - - Defines at which part of the mission - the point performance should be - considered - at the defined - fuelFraction within the mission as - defined in performanceCase - (mFuelCurrent/mFuelTO) - - - - - + + + + + + + + + + + + Mass + + + + + + + + + + + - - Indicates the type of point performance + Furnishing mass description - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - Point performance definitions + mFuselagesStructureType - List of point performance definitions + @@ -21013,22 +20923,27 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Fuselages structure mass description + + + + - + - pressureBulkheadAssemblyPositionType + mFuselageStructureType - PressureBulkheadAssemblyPosition type, containing a - pressure bulkhead assembly position + @@ -21036,164 +20951,92 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Frame to which bulkhead is attached to - - - - + - UID of bulkhead element desription + Fuselage structure mass description + + + + + + + + + + + + - - + - pressureBulkheadAssemblyType + mHydraulicDistributionType - PressureBulkheadAssembly type, containing pressure - bulkhead assemblys + - - - + + + + Hydraulic distribution mass description + + + + - + - pressureBulkheadType + mHydraulicGenerationType - PressureBulkhead type, containing data of a pressure - bulkhead + - - - - Name of the pressure bulkhead structural - element - - - - - Description of the pressure bulkhead - structural element - - - - - UID of structural sheet element used for the - bulkhead - - - + + - Choice between flat and curved bulkhead types + Hydraulic generation mass description - - - additional data for flat (forward) pressure - bulkhead - - - - Number of vertical reinforcements on flat - bulhhead - - - - - UID of structural elements used as vertical - reinforcements - - - - - Number of horizontal reinforcements on flat - bulhhead - - - - - UID of structural elements used as - horizontal reinforcements - - - - - - additional data for curved (rear) pressure - bulkhead - - - - Radius of bulkhead calotte in the plane of - the adjacent frame - - - - - maximum flection of the pressure bulkhaed - calotte - - - - - Number of radial reinforcements (equally - distributed) on curved bulhhead - - - - - UID of structural elements used as radial - reinforcements on curved bulkheads - - - - - - + + - + - pressureBulkheadsType + mIFESystemsType - PressureBulkheads type, conteining pressure bulkheads - + @@ -21201,165 +21044,49 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Structural elements based on profiles + mInstrumentPanelType - - - Short description - - The ProfileBasedStructuralElement type containins the - data of a structural element, that are based on 2-dimensional profiles. - There are three approaches to model profile based structural elements: - - by specifying global beam properties - by referencing a structuralProfile2D element - by choosing one of the prescribed standard profiles - - - - - - 1. Global beam properties - - In the section globalBeamProperties the properties - of the structural profile in an equivalent beam representation - are defined. - - - - 2. Structural 2D profile - - The structuralProfileUID element refers to the uID of the structuralProfile2D element. - As described in the corresponding documentation, this profile is defined by several points in the x-y-space. - Two points always form a sheet. - The properties of each sheet are defined in the sheetProperties element. - The orthotropy direction of composite materials equals the sheets' x-axis. - The orthotropy direction angle equals a positive rotation around the sheets' z-axis as indicated in the picture below (part 3), which shows an example of a wing stringer.: - - - - - - - 3. Standard structural 2D profile - - Instead of referencing a structuralProfile2D element, it is also possible to select a predefined standard profile. - These profiles are listed in the figure below. - Under sheetProperties, only the standardProfileSheetID (equals S1, S2, ...) must now be specified along with a corresponding length. - - - - - - + - - + + - Name of the profile based structural element + Instrument panel mass description - - - Description of the profile based structural - element - - - - - Choice between global beam properties and sheet properties - - - - - - Choice between general profile element - description (referencing a structuralProfile) and predefined - standard profiles - - - - Definition based on structuralProfile - definition - - - - Reference to the structural profile profile - uID - - - - - - Reference point in structural profile - definition for structural element definition - - - - - - - Standard Profile Type, see picture below for - further information. - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - structuralElementType + mInsulationsType - profileBasedStructuralElements type, containing a list - of profile based structural elements + @@ -21367,185 +21094,81 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - - - - - - profileGeometryType - - - - A profile is defined by a profile name, an optional - description and a 3-dimensional pointlist with all three - coordinates mandatory. For typical profiles, one of the - coordinate vectors contains only "0" entries. All point - coordinates are transferred to the global coordinate system. The - points have to be ordered in a mathematical positive sense. - Normalized coordinates are not required. First and last point - may, but need not to, be identical. Hence, it is possible to - include "open" profiles. However, the trailing edge position of - the upper and lower point need to be identical. No crooked - trailing edges are possible. - Example 1: For a conventional wing, the airfoil - coordinates are defined in x and z with all the y-coordinates - set to "0". The points have to be ordered from the trailing edge - along the lower side to the leading edge and then along the - upper side back to the trailing edge. - Example 2: For a fuselage, the coordinates are - typically given in y and z with x set to "0". Starting point of - the profile sould be the lowest point (typically in the symmetry - plane), then upwards on the positive y-side up to the highest - point (again, typically in the symmetry plane). Depending on, - whether the fuselage shall be specified with symmetry condition - or not, the profile either ends there, or continues on the - negative y-side back down to the lowest point. - Alternatively, it is possible to specify the - coordinates of a profile via the CST (class function /shape - function transformation technique) notation. Please see the - cst2DType for further information. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - + + + + + + mIntegratedModularAvionicsType + + + - - - - Name of profile - - - + + - Description of profile + Integrated modular avionics mass description + - - - - - - - - - - - - - - - - - - - + - + - profileGeometry2DType + mInterGasSystemType - - A profile is defined by a profile name, an optional - description and a 2-dimensional pointlist with both - coordinates mandatory. All point coordinates are transferred - to the global coordinate system depending on the context they - are used in. The points have to be ordered in a mathematical - positive sense. The x-coordinates of the profile has to be - normalized between 0 and 1. First and last point - may, but need not to, be identical. Hence, it is possible to - include "open" profiles. However, the trailing edge position of - the upper and lower point need to be identical. No crooked - trailing edges are possible. - Example 1: For a conventional nacelle profile, the airfoil - coordinates are defined in x and y. The points have to be ordered - from the trailing edge along the lower side to the leading - edge and then along the upper side back to the trailing edge. - When used for a nacelle the profile axis align - with the global axes as follows: - +x_profile -> +x_global; - +y-profile -> -z_global - Example 2: For a fuselage, the coordinates are - also given in x and z with x as the normalized fuselage height. - Starting point of the profile sould be the lowest point - (typically in the symmetry plane), then upwards on the positive x-side up to the highest - point (again, typically in the symmetry plane). Depending on, - whether the fuselage shall be specified with symmetry condition - or not, the profile either ends there, or continues on the - negative x-side back down to the lowest point. - Alternatively, it is possible to specify the - coordinates of a profile via the CST (class function /shape - function transformation technique) notation. Please see the - cst2DType for further information. - A profile can be symmetric. In that case the profile - is interpreted as being not closed and will be closed by - mirroring it on the symmetry plane. - + - - - - Name of profile - - - + + - Description of profile + Inter gas system mass description + - - - - - - - - - - - - - - - - - + - + - Profiles + Mission definitions - Profiles type, containing profile geometries - + + Specifies missions for performance evaluation of aircraft. + As the topmost element of the hierarchical mission definition, individual missions are grouped together + in the missions node. Here, segmentBlocks + are referenced. These again link to a list of segments. + @@ -21553,120 +21176,120 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - + + + - + + + + + + + + UID of the runway + + + + + + + Offset from runway threshold in cartesian coordinates in the runway coordinate system + + + + + + + + + - Attachment of the pylon to the parent. + Setting default and specific performance maps to be used for a model - - - - + - Material properties of the attachment. - + Default performance map which is used if no other performance map + is assigned through the specificPerformanceMap node - + - Link to the structural profile of the - attachment. + List of specific performance maps used on dedicated mission segments - - - UID of the attachment. - - - + - Attachments of the pylon to the parent. + Mission block constraints - + Definition of constraints for the mission segment block - - - - + + + + - + - Structural properties of the pylon box (ribs, upper, - lower and side panels). + Segment blocks - + A list of segment blocks. A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). - - - - - - - - - - UID of the pylon box. - - + + + - + - Definition of one pylon pin. + Segment block - + A segment block specifies conditions for a predefined combination of segments (e.g.: setting the total range for a block of segments consisting of a takeOff, climb, cruise, descent and landing segment). @@ -21674,52 +21297,357 @@ The fuel tank volume type should also be used for the wing fuel tank - + - First element (parentAttachmentUID, engineUID - or uID of a pylon structure. + Name - + - Second element (parentAttachmentUID, engineUID - or uID of a pylon structure. + Description - + + - Position of the pylon pin related to the pylon - coordinate system. + Segment direction. Either 'outbound' or 'inbound'. Only needed for radiusOfAction kind of missions. + + + + + + + + + - - + + + - Blocked DOFs. Referes to the rotated - coordinate system that is defined in 'orientation'. + Specifies to which type of mass the segment fuel mass + should be added (blockFuel = designFuel + additionalFuel; Total fuel requirement + = blockFuel + reserveFuel; designFuel = the fuel of the segmentBlock is part of the design mission) + + + + + + + + + + + + + + + + Number of repetitions of this segment block, e.g. to perform repeated holding patterns - - - - - UID of the pin. - - + + + + + + + + + + + + + End condition + + + + + Specifies the end conditions for a segment or segment block (e.g.: an altitude or velocity). If a phase has no endCondition, it will base its endCondition on the segmentBlock settings (e.g.: it is the cruise segment, retrieving its total length based on the length of the segmentBlock minus all other segment lengths avaible within the segmentBlock). + + + + + + + + + + + + + + Calibrated airspeed [m/s] + + + + + + + + + + + + + + Mach number + + + + + + + + + + + + + + + + Global coordinate in xyz coordinates + + + + + + + + + + + + + + Global coordinate in geographic + coordinates (longitude, latitude, + altitude) + + + + + + + + + + + + + + Runway + + + + + + + + + + + + + + + + MassFraction ending the segment + + + + + + + + + + + + + + Fuel mass fraction ending the + segment, as remaining fuel mass with + respect to initial segment fuel mass + + + + + + + + + + + + + + Remaining absolute fuel ending the + segment + + + + + + + + + + + + + + Consumed fuel mass ending the + segment + + + + + + + + + + + + + + + + Flight heading at the end of the + segment in compassAngle with + reference to true North [deg] + + + + + + + + + + + + + + Total change of heading angle during + segment (a full turn is 360 degrees) + [deg] + + + + + + + + + + + + + + + Flown distance in the segment (x, y, z) + + + + + + + + + + + + + + + Duration of the segment [hh:mm:ss] + + + + + + + + + + + + + + UTC time at end of mission + + + + + + + + + + + + + + + Specific excess power at the end of the + segment + + + + + + + + + + + + + + Rate of climb ending the segment + + + + + + + + + + + + + + Achieved flightPathAngle ending the segment + + + + + + + + + + + - + - Definition of pylon pins. + Mission segments - + A collection of mission segments which can be reused to define missions. @@ -21727,93 +21655,109 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Definition of a rib set. + Segment - - RibDefinitionType, containing the definition for ribs. - Ribs are defined in sets of one or more ribs. The positions of - the rib, as well as the orientation of the ribs are defined in - 'ribPositioing'. The cross section properties, as e.g. - materials, are defined in 'ribCrossSection'. - + Definition of a mission segment which can be used to define missions. - - + + - Name of the rib set. + Name - + - Description of the rib set. + Description + + + + + Type of the mission segment (takeOff, clime, cruse, ...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indication whether the distance flown during the segment is to be taken into account in the segmentBlock's distance calculation. - - - - - - - - - - - - - - Structural properties of all tibs of the engine pylon - box. - - - - - - - - - - - - + + + Environmental conditions. If the environmentalCondition is not provided at segment level, the conditions of the + previous segment are inherited (this inhertance can continue until the startCondition, where the initial + environmentalConditions are provided). + + + + + + + Fuel mass + + + + + + + + + + - + - pylonRibsPositioningType + Start conditions - - Within the ribsPositioning type the position and the - orientation of the ribs of the rib set are defined. - The forward and the rear beginning of the rib set is - defined using relDepthStart and relDepthEnd. The orientation of - the ribs is defined in ribRotaton. The number of ribs of the - current rib set is either defined by ribNumber or by spacing. - - + Conditions which define the start of a mission @@ -21821,115 +21765,88 @@ The fuel tank volume type should also be used for the wing fuel tank - - - relDepthStart defines the forward location of - the beginning of the rib set. 0 equals the forward end of the - pylon box, while 1 equals the rear end of the pylon box. - - - - - - relDepthEnd defines the rear end. 0 equals the - forward end of the pylon box, while 1 equals the rear end of the - pylon box. - - - - - Ribs can be rotated in the side view. The - defaults to 90°, which equals an orientation along the pylons - z-axis. The angle is meassured around the positive y-direction - of the pylon. - - - + - The spacing of the ribs defines the distance - between two ribs, measured along the pylons x-axis. First rib - is placed at relDepthStart. + Calibrated airspeed at the start of the mission [m/s] - + - RibNumber defines the number of ribs in this - ribSet. First rib is at relDepthStart along the pylons x-axis, - last rib is at relDepthEnd. The spacing is constant. - + Mach number at the start of the mission - - + + - RibCrossingBehaviour can either be "cross" or - "end". If it is end then ribs will end it they intersect - another rib. It it is cross ribs are placed uncut. + Global coordinate at the start of the mission in xyz coordinates + + + + + Global coordinate at the start of the mission in geographic coordinates (longitude, latitude, altitude) + + + + + + UID of the runway at which the + mission starts - - - - - - - + + + + + + Flight heading at the start of the mission, in compassAngle with reference to true North + + + + + + UTC time at start of mission + + - - - - - - Structural properties of a pylon shackle. - - - - - - - + - + - Material properties of the shackle. + + UID of the runway - + - Link to the structural profile of the shackle. + + Offset from runway threshold in cartesian coordinates in the runway coordinate system - - - UID of the shackle. - - - + - Structural properties of pylon shackles (for pylon to - parent attachment), if existing. + Missions - + A list of missions. @@ -21937,22 +21854,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Structural properties of the pylon shells. + Mission - + Contains a list of segmentBlock uID's forming the mission along with additional mission information. @@ -21960,35 +21876,36 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - UID of the structural profile. - + Name - + - Material settings. + Description + + + + + + + List of segmentBlock uID's forming the mission. Segments must first be grouped in segmentBlocks to be assigned to a mission. + - - - UID of the structure. - - + - + - Definition of the load carrying structure of the engine - pylon. + mLandingGearsType @@ -21999,25 +21916,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - + + + + Landing Gears mass description + + + + + - + - Structural properties of struts (drag struts, upper - links and tangent links), if existing. + mLandingGearSupportsType @@ -22027,21 +21945,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + + - + - radiativeForcingType + mLavatoriesType @@ -22051,25 +21968,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - + + + + - + - recurringCostType + mLiningsType @@ -22079,83 +21991,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reference values - - - Reference type, containing the reference values of the - aircraft model - - - - - - - - - - Reference area (typically planform area) - - - - - - Reference length (typically Mean Aerodynamic - Chord MAC). In CPACS, only one reference length exists (and is - used, e.g. for all three moment coefficients. Coordinates given - relative to MAC shall always use this length as MAC. - - - - - - Moment reference point (in global coordinate - system). The x-coordinate is typically chosen same as of the - leading edge of the wing in the spanwise section having a - chordlength identical to MAC. Coordinates given as %MAC shall - always use this x-coordinate and length (e.g. 0%MAC = x, 100%MAC - = x + length). The y coordinate is typically 0. The z coordinate - is often chosen either as 0., or as z of fueselage nose or as z - of middle of center fuselage part. - - - + + + + - + - requirementType + mMainGearsType @@ -22165,20 +22014,20 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + - + - RibIdentificationType, defining one rib. + Mass @@ -22189,195 +22038,79 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of the rib definition set. - - - - + - Number of the rib of the rib definition set. + Manufacturer empty mass description + + + + - - - - - - Definition of the rib rotation - - - The rotation around z describes the rotation around the - wings midplane normal axis. The defaults to 90°. The reference - for the 'zero-angle' of the z-rotation is defined in - ribRotationReference. - - - - - - - - - - RotationReference defines the reference for - the z-rotation it is either sparUID, „LeadingEdge“, - „TrailingEdge“, "globalX", "globalY" or "globalZ". - If it is not defined the rotation reference is - the eta-axis (=leading edge, that is projected on the wings - y-z-plane). A z-rotation angle of 90 degrees means, that the rib - is perpendicular on the ribRotationReference (e.g. spar, leading - edge...). The rib itself is always straight, and the rotation - is defined with respect of the intersection point of the rib - with the ribRotationReference. - - - - - The rotation around z describes the rotation - around the wings midplane normal axis. The defaults to 90°. The - reference for the 'zero-angle' of the z-rotation is defined in - ribRotationReference. - - - - - - - - - - - - - rivetJointAreaAssemblyPositionType - - - RivetJointAreaAssemblyPosition type, containing a rivet - joint area assembly position - - - - - - - - - - - - - - - - - - - - - rivetJointAreasAssemblyType - - - RivetJointAreasAssembly type, containing rivet joint - area assemblys - - - - - - - - - - - - - - + - rivetType - - - Rivet type, containing a rivet - - - - - - - - - - Name of the rivet type - - - - - Description of the rivet type - - - - - - Tensile Strength of the rivet type - - - - + mMillitarySystemsType + + + + + + + + + + + - Shear Strength of the rivet type + Millitary systems mass description - - + - rivetsType + mMiscellaneousType - Rivets type, containing rivets + Miscellaneous masses must only specify componenent masses for which NO DEDICATED ELEMENT EXISTS in the mass breakdown list! - - - + + + - + - rotorAirfoilsType + mMoveableLeadingEdgesType - RotorAirfoils type, containing rotor airfoil - geometries. See profileGeometryType for further documentation - + @@ -22385,22 +22118,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - rotorBladeAttachmentType + mMoveableLeadingEdgeType - RotorBladeAttachment type, defining the elements used - to attach one or more rotor blades to the rotor head. + @@ -22408,157 +22141,71 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of the blade attachment. - - - - - - Description of the blade attachment. - - - - - - - The azimuthAngles element is used to specify - a list of discrete azimuth angles (in deg) at which instances - of attached blades are to be created. The number of blades will - equal to the number of elements of the vector. E.g. - <azimuthAngles>0;90;180;270</azimuthAngles> for a - four blade rotor with equal equiangularly distributed blades. - The transformation of the respective rotor blade corresponds to - a rotation by azimuthAngle around the z axis of the rotor - coordinate system in mathematically positive sense of rotation. - - - - - - If only the number of blades is specified, - the attached blades will be distributed equiangularly and the - first blade will be attached at azimuth angle 0. (Formula: - azimuthAngle[i] = i*360deg/numberOfBlades, - i=0..numberOfBlades-1) - - - - - - Definition of all hinges used to attach the - rotor blade. - - - - - UID of the rotorBlade which should be attached - to the rotor hub. - - + + + - - + - rotorBladeAttachmentsType + mMoveablesType - RotorBladeAttachments type, containing all hinges and - blade UIDs attached to the current rotor hub. + - - - + + + + + - + - rotorBladesType + mMoveableTrailingEdgeType - - RotorBlades type, containing all the rotor blade - gometry definitions of an rotorcraft model. - Rotor blade geometries are defined using the same data - structure as wings (wingType). But in order to be compatible - with the other rotor blade related types (e.g. rotorType, - rotorHubType, rotorHubHingeType) there are some additional - conventions/requirements regarding the definition and - orientation of rotorBlade geometries: - - Rotor blades should be positioned relative to the - global z-axis the way they will be positioned to the rotor - shaft (when blade azimuth=0deg). - The global x-axis should be used as radial axis - (usually the quarter chord line of the rotor blade coincides to - a great extent with the x-axis of the rotor blade coordinate - system). - All sections should be positioned in the positive - x halfspace. - Segments should connect sections with ascending x - coordinates. - Airfoils defined in the rotorAirfoils node should - be used instead airfoils from the wingAirfoils node. - - - - - - + - - - - Rotor blade geometries are defined using the - same data structure as wings (wingType). But in order to be - compatible with the other rotor blade related types (e.g. - rotorType, rotorHubType, rotorHubHingeType) there are some - additional conventions/requirements regarding the definition and - orientation of rotorBlade geometries: see remarks. - - - - + + + + + - + - rotorHubHinge type, containing a rotor hub hinge - (flap/leadLag/pitch). + mNavigationType - - RotorHubHinge type, containing a rotor hub hinge - (flap/leadLag/pitch) of a rotorcraft model. - + @@ -22566,77 +22213,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of the hinge. - - - - - Description of the hinge. - - - - - - Hinge type. Possible values: "flap", "pitch" - "leadLag". This is used to define the rotation axis of the hinge - (flap = y-axis in blade cs, pitch = x-axis in blade cs, lead-lag - = z-axis in blade cs). - - - - - - - - - - - - The angle (in deg) at which the hinge is in - neutral position. This element is normally used to define - precone or prelag angles of the attached blade. Defaults to 0. - - - - - - Static stiffness of the hinge in (N/m) for - linear hinges and (N.m/deg) for angular hinges. Default value: - +inf (statically rigid hinge) - - - - - Dynamic stiffness of the hinge in (N/m) for - linear hinges and (N.m/deg) for angular hinges. Default value: - +inf (statically rigid hinge) - - - + - Damping of the hinge in (N/(m/s)) for linear - hinges and (N.m/(deg/s)) for angular hinges. Default value: +inf + Navigation mass description - - + - rotorHubHingesType + mNoseGearsType - RotorHubHinges type, defining hinges used to attach a - rotor blade to the rotor head. + @@ -22644,27 +22240,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Definition of a flap, lead-lag or pitch hinge. - - - + + - + - rotorHubType + Monetary values - RotorHub type, containing definitions for the rotor hub - and attached hinges and blades. + @@ -22672,97 +22263,24 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of the rotor hub. - - - - - Description of the rotor hub. - - - - - - Rotor head type. Possible values: "semiRigid", - "rigid", "articulated", "hingeless" - - - - - - - - - + - - - Rotor blade attachments are used to define how - many rotor blades are attached at which azimuth positions of the - rotor hub and the used hinges. - + - - + - Rotor type, containing a rotor (main rotor, tail rotor, - fenestron, propeller,...) of an rotorcraft model. + Mass - - Rotor type, containing a rotor (e.g. main rotor, tail - rotor, fenestron, propeller,...) definition of a rotorcraft - model. - The position and attitude of the rotor is defined - using the transformation element. The following image shows the - CPACS conventions for the orientation of rotors and rotor axis - systems: - - - - - The origin coincides with the center of rotation. - - The z-axis corresponds to the axis of rotation - and thus coincides with the rotor shaft centerline. It Points - in the main thrust direction of the rotor (usually upwards for - a main rotor, forwards for a propeller). - The x-axis points from nose to tail (usually - rearwards for main and tail rotors, upwards for a propeller). - - The y-axis completes the right-handed orthogonal - coordinate system. - - Rotor hub attributes, hinges and references to - attached rotor blades are defined in the rotorHub element. - - - Note that rotor blade geometries are only referenced and not - defined in the child nodes of the rotor element. Refer to the - documentation of rotorBladesType ( - Empty#T/rotorBladesType - ) and wingType ( - Empty#T/wingType - ) for information on the definition of rotor blade geometries. - - The following figure shows the transformations to be - applied to rotorBlade geometries to visualize them in the rotor - frames for a given state (each rotor: rotorAzimuth given, each - hinge: hingeDeflection given): - - - - + @@ -22770,263 +22288,102 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of the rotor. - - - - - Description of the rotor. - - - - - UID of the part to which the rotor is mounted - (if any). The parent of the rotor can e.g. be the fuselage. In - each rotorcraft model, there is exactly one part without a - parent part (The root of the connection hierarchy). - - - - - - Rotor type. Possible values: "mainRotor" - (default), "tailRotor", "fenestron" or "propeller".. - - - - - - - - - - - - - - Nominal value of the angular rotation speed in - rotations per minute (rpm). - - - + - Transformation (scaling, rotation, - translation). This element is used to define the position and - attitude of the rotor relative to the global or the parent - component's axis system. Note that an anisotropical scaling - transformation should not be applied to the rotor. + Operator items mass description - - - The rotorHub element contains the definition - of the rotor hub type and number and azimuth angles of the - attached blades and their hinges. The rotor hub position and - attitude coincides with the rotor axis system's origin and z - axis. - - + + + + + + + - - - - - - - - - - - - - + - rotorcraftAnalysesType, results from several analysis - modules connected to CPACS + mOverheadBinsType - RotorcraftAnalyses type, containing detailed analysis - data of the rotorcraft - Within this element results from analysis modules are - stored that rely to the overall definition of the rotorcraft. - These include e.g. aerodynamic data or loadCases - For further documentation please refer to the - respective elements. + - - - - - - - - - - - - - + + + + - + - rotorcraftGlobalType + mPartStowDoorsType - RotorcraftGlobalType type, containing global data of - the rotorcraft + - - - - Number of passenger seats - - - - - Cargo transport capacity [kg] - - - - - - Cruise Mach Number - - - - - Configuration of the rotorcraft: - standard(single main rotor, single tail rotor) / tandem / - coaxial/intermeshing / sideBySide/tiltRotor/tiltWing - - - - - - - - - - - - - - massBreakdownType - - - - - 1. General - - - The - massBreakeDown - is subdivided in - designMasses - , - fuel - , - payload - and - mOME - (operating empty mass). - - - designMass - - The design mass is a description from TLARs and can - be understand as design criteria. - - fuel - and - payload - - The fuel and payload mass are the maximum masses - which can be achieved. Full fuel tanks, all passengers on - board and full cargo holding. - - mOEM - - - The operation empty mass structure is based on the Airbus Mass - Standard brake down [AIRBUS MASS STANDARD 2008]. The - operator’s mass empty (OME) is defined by the sum of the - following component masses: - - operator’s items - manufacturer’s mass empty (MME) - - - - - - - 2. massDescription - - - Each sub component has the following - massDescription - which include a: - - Name - Description - parentUID - Mass value - Mass location - Mass orientation - Mass Inertia. - - - - That - massdescription - can be found at the - designMasses - direct under each item. At the - fuel - , - payload - and - mOME - under massDescription in each item and sub item. - - - - For the clean up the - mOME - there is consisting a script witch is programmed in Matlab but - also as standalone vision available. Setting for that tool can - be done under - toolspesifics/cmu - . - - - + + + + + + + + + + + + + + mPassengersType + + + + + + + + + + + + + + + + + + + + + + + mPassengerType + + + @@ -23034,21 +22391,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + - + - Mass + Passengers masses @@ -23061,24 +22415,27 @@ The fuel tank volume type should also be used for the wing fuel tank - Manufacturer empty mass description + Passanger masses Description - - - + + + Passanger mass Description + + + - + - Mass + Payload mass @@ -23088,20 +22445,20 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Group mass of hierarchy level 1 - + Payload mass description - - + + + - + @@ -23116,25 +22473,30 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Group mass of hierarchy level 2 + Power units mass description - - + + + + + + + - + - Operating empty mass + mPylonAttachmentsType @@ -23144,87 +22506,52 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Operating empty mass description - - - - - - + + + + - + - rotorcraftModelType + mPylonsType - RotorCraftModel type, containing a complete rotorcraft - model (Geometry and all specific data). The rotorcraftModelType - is basically a copy of the aircraftModelType with the following - additional elements: rotors, rotorBlades, driveSystems. - Furthermore the folowing elements have been adapted for - rotorcraft: global and analyses (aeroPerformance and - massBreakdown). + - - - - Name of rotorcraft model - - - + + - Description of rotorcraft model + + Pylons mass description - - - - - - - - - - - - - + + - + - Rotorcraft + mRibsType - Rotorcraft type, containing all the rotorcraft models. - - Most of the extensions used in the rotorcraft type have - been defined as part of the work in the DLR project RIDE - (Rotorcraft Integrated Design and Evaluation, 2009-2012). - Therefore some of the definitions and conventions are tightly - coupled to the RIDE toolchain and tools. Further generalization - and assimilation of these parts to the definitions for fixed-wing - aircraft is planned for the near future. + @@ -23232,46 +22559,44 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - rotorsType + mRibType - Rotors type, containing all the rotors (mainRotors, - tailRotors, fenestrons, propellers, ...) of an rotorcraft model. - + - + - + - + - runwayILSType + mSeatsType - RunwayILS type, containing ILS data of a runway - + @@ -23279,39 +22604,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Position of the localizer antenna - - - - - - - Position of the glide slope antenna - - - - - - Angle of the glide path - - - + + - + - runwayType + mShellsType - Runway type, containing data of a runway + @@ -23319,68 +22627,48 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of runway - - - - - Description of runway - - - - - Position in degrees north - - - - - Position in degrees east - - - - - Threshold elevation - - - - - Runway heading - - - - - Takeoff run available - - - - - Landing distance available - - - - - Conditions of the runway - - - + + + - - + - runwaysType + mShellType - Runways type, containing data of the airport's runways - + + + + + + + + + + + + + + + + + + + + + + + mSkinPanelsType + + + @@ -23388,22 +22676,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - shaftLinkedComponentsType + mSkinsType - ShaftLinkedComponents type, containing UIDs of engines, - transmissions and rotors linked by a shaft. + @@ -23411,71 +22699,45 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - UID of a linked engine. - - - - - UID of a linked transmission shaft input. - - - - - - UID of a linked transmission shaft output. - - - - - - UID of a linked rotor. - - - + + - + - shaftType + mSparCellsType - Shaft type defining a shaft used as a link between - drive system components. + - - - - - - + + + + - + - shaftsType + mSparSkinsType - Shafts type, containing all the shafts of a drive - system. + @@ -23483,18 +22745,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - sheet3DType + mSparsType @@ -23504,27 +22767,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - + + + + - - + - sheetBasedStructuralElementType + mSparType - sheetBasedStructuralElementType type, sheet definition - for use in fuselage/structure + @@ -23532,28 +22791,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Material definition of the skin segment - (Material, thickness, (lay-up)) - - + + + - - + - sheetBasedStrcuturalElementsType + mSpecialStructuresType - sheetBasedStrcuturalElementsType, containing sheet - based structural element definitions + @@ -23561,18 +22815,19 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - sheetList3DType + mSpoilersType @@ -23583,23 +22838,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - List of sheets, connecting 2-dimensional profile - points. + mStringersType - SheetList type, containing a list of sheets. Each sheet - combines two points to one sheet. + @@ -23607,18 +22861,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + - + - sheetPointsType + Mass @@ -23628,23 +22885,30 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Structure mass description + + + + + + + - + - sheetType + Mass - Sheet type, containing connection data of a sheet - + @@ -23652,88 +22916,61 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of sheet within the profile definition - - - - - - Description of sheet within the profile - definition - - - - - Point from which the sheet definition starts - start - - - - - Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines - tangential continuity), 2= C2 (defines curvature continuity) - 2=all - - - - - - - - - - - - - - Definition of an orientation vector at P1 - - - - - - Point at which the sheet definition ends - - - - - - Continuity definition for profile geometry - generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines - tangential continuity), 2= C2 (defines curvature continuity) - 2=all - - - - - - - - - - - - + - Definition of an orientation vector at P2 - + Systems mass description + + + + + + + + + + + + + + + + - - + - singleGenericMassType + mTrailingEdgeDevicesType + + + + + + + + + + + + + + + + + + + + + + + mTrailingEdgeDeviceType @@ -23745,20 +22982,22 @@ The fuel tank volume type should also be used for the wing fuel tank + + - + - Skid landing gears + mULDContentsType - List of skid gears + @@ -23766,22 +23005,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - fuselagePanelType + mULDContentType - FuselagePanel type, panel of the fuselage between - stringers/ frames (new in V1.5) + @@ -23789,52 +23028,54 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of sheetBasedStructuralElement used for - the panel - - - - - UID of frame at start of the skin segment - - - - - - UID of frame at end of the skin segment - - - - + + + + + + + + + + + + Multi-phase mass flow + + + + + + + + - UID of stringer at start of the skin segment + + Pressure - + - UID of stringer at end of the skin segment + + Enthalpy + - - + - fuselageSkinSegmentType + mVacuumWasteSystemsType - FuselageSkinSegment type, containing material on skin - over circumference + @@ -23842,126 +23083,68 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - skinType + mWallsType - Containing data defining the skin + - - - - Default UID of sheetBasedStructuralElement - used for the fuselage skin not covered by individual panels - - - - - + + + + - + - Spar cell of the spar. + mWasteWaterSystemsType - - Within spar cells a special area of the spar is - defined where different cross section and material properties - shall be defined. - The area of the spar is defined by using the - parameters 'fromEta' and 'toEta'. The definition of the caps, - webs and rotation is equivalent to the cross section definition - of the complete spar. - + - - - - Beginning (= inner border) of the spar cell. - - - - - - Ending (= outer border) of the spar cell. - - - - - - Upper Cap - - - - - - Lower Cap - - - - - - Web 1 - - - - - - Web 2 - - - - - - The angle between the wing middle plane and - web 1 [deg]. Default is 90 degrees. Positive rotation is around the - spar axis heading along with the positive eta-axis. - - - - - + + + + - + - SparCells of current spar. + mWindowsType - sparCells are an optional Element. They are defined via - the etaCoordinates and define a region of special cross section - and material properties. + @@ -23969,32 +23152,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Definition of the spar cross section. + mWingBoxType - - Spar type, containing the cross section definition of - a spar. The spar middle point is defined by the intersection of - the wing middle plane and web1. This equals the coordinate - defined within the sparPosition. - Please find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: - - - - + @@ -24002,159 +23175,110 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - The angle between the wing middle plane and - web1. Default is 90 degrees. Positive rotation is around the - intersection axis of the spar and the wing middle plane. The - positive heading of this axis is inline with the positive - heading of the componentSegment eta-axis. - - + + + + - + - Spar position on the wing + mWingsStructureType - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Eta and xsi - are relative to the componentSegment. - Please find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - As an alternative to the relative eta coordinate it is - possible to specify an elementUID so that the spar position is - relative to the outer geometry, e.g. kink, of the wing. - - + - - - - Defines a spar position on an existing rib using a relative xsi coordinate - to determine the chord wise position on that rib - - - + + - Defines a spar position using relative eta/xsi coordinates + Wings structure mass description + - - + + - + - sparPositionUIDs of the spar. + mWingStructureType - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Those - positions are combined to spars by using a list of spar position - uIDs. The order of the sparPositionUIDs must be the same as the - order of the points on the real spar (from root to tip or from - tip to root). - Pleas note: orientation of a spar must be allways - outbound or allways inbound. A zigzag spar orientation where - e.g. the spar starts at the root, goes to the tip and goes back - to another point at the root is not allowed. - Pleas find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - + - - + + - List of spar position uIDs. + Wing structure mass description - + + - + - Spar definition points on the wing. + nacelleCenterCowlType - - sparPositionType, a sparPostion defines a location - within the componentSegment where a spar in mounted. Eta and xsi - are relative to the componentSegment. - Please find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - + + Describes the curve for defining rotational center of the engine. + - - - + + + + + - + - SparSegments (=spars) of the wing. + nacelleCowlType - SparSegmentType, each spar is defined by multiple - sparPositions that are referenced via their uID. The spar cross - section is defined in 'sparCrossSection'. + + Describes the cowl geometry for nacelles + using sections positioned around the + rotational center of the engine. + @@ -24162,93 +23286,74 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of the spar segment (=spar). - - + - - - Description of the spar segment (spar). - - + - - + - + - - - - - - Spar segments of the wing. - - - sparSegmentsType, containing multiple sparSegment - (=spars) of the wing. - - - - + - + - + + + + + + + + + + + + + + + + - Specific heat map, containing the specific heat capacity of a material at different temperatures. + nacelleProfilesType - The specific heat of a material can vary with the temperature. The vectors specificHeat and temperature - must have the same size to be valid. The data should be linearly interpolated. - + Nacelle profiles type, containing nacelle profile geometries. + See profileGeometryType for further documentation - - - - Temperature in [K] - - - - - Specific heat capacity of the material in [J/(kg*K)] - - - + + + - + - Specific performance map + nacelleSectionsType - - Applying a specific performance map to selected mission segments. In addition to the obligatory defaultPerformanceMapUID at least a segmentUID or pointPerformanceUID must be given. - + @@ -24256,72 +23361,47 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of performance map to be used for mission segments - - - - - - - List of all mission segment UIDs to which the performance map is to be applied - - - - - List of point performance UIDs to which the performance map is to be applied - - - - - - List of point performance UIDs to which the performance map is to be applied - - - + - + - specificPerformanceMapsType + nacelleSectionType - Collection of all assignments of specific performance maps to selected mission segments + - - - + + + + + + + - + - Spoilers of the wing. + Noise - A spoiler is defined via its outerShape relative to the - componentSegment. The WingCutOut defines the area of the upper - skin that is removed by the spoiler. Structure is similar to the - wing structure. The mechanical links between the spoiler and the - parrent are defined in tracks. The deflection path is described - in path. Additional actuators, that are not included into a - track, can be defined in actuators. + @@ -24329,45 +23409,35 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the spoiler. + FAR approach noise level - + - Description of the spoiler. - + FAR sideline noise level - + - UID of the parent of the spoiler. The parent - is the componentSegment, where the spoiler is attached. - + FAR take-off noise level - - - - - - - - + - Definition of the wings spoilers. + Nose landing gears - Definition of the wings spoilers. + List of nose gears @@ -24375,22 +23445,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - State parameter definition + Operating empty mass - Contains the values of a parameter and its uid as reference. - + @@ -24398,26 +23467,28 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + Operating empty mass description + + + + + - - + - State parameters list + operationalCasesType - Contains a list of all state parameters. - + @@ -24425,18 +23496,18 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - stiffnessType + operationalCaseType @@ -24447,205 +23518,122 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - + + + + + + + + - + - stringerFramePositionType + Operation Limit Increments - - Description of individual stringer / frame postions - - - - + Changes of the deltas of operation limit angles with respect to the corresponding increment aeroPerformanceMaps. + Values are specified as an array with same indices like the corresponding increment map. - - - - UID of profile based structural element - - - - - - - x position in absolute value - - - - - - UID reference to a fuselageSectionElement - - - - - - - y coordinate of reference system - - - - - - z coordinate of reference system - - - - - - angle definition to calculate intersection - with loft - - - - + + - Continuity definition for profile extrusion: - 0= C0 (allows sharp edges, default), 2= C2 (defines curvature - continuity) + Minimum delta angle of attack [deg] - - - - - - - - - + - Definition of interpolation between different - profiles: 0= no interpolation 1= interpolation of strcutural - profile + Maximum delta angle of attack [deg] - - - - - - - - - - - - - - - - - - - - arbitraryStringerType - - - ArbitraryStringer type, containing stringer definition - (CPACS V1.5+) - - - - - - - - - - - - - - - - - - - - stringersAssemblyType - - - StringersAssembly type, containing an assembly of - stringers (new V1.5) - - - - - - - - - + - + - Structural elements + Origin - - structuralElements Type, containing the different structural - elements - - - - - - - - - - + + - Seat elements (Deprecation warning: This element will soon be removed from the official CPACS. Use the new seat modules located at cpacs/vehicles/deckElements!) - + Link to external file + + + + + + + + + + + + Name of a tool which was applied to derive this assumption + + + + + + + + - - + - + - structuralMountType + + Orthotropic material properties for 2D materials + - + + Defines the material properties for an orthotropic material in the plane stress state (i.e., shell). The strain-stress relationship is defined as: + + + + Inverting the strain-stress relation and introducing thermal expansion yields: + + + + with: + + + + The terminology refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + + @@ -24653,96 +23641,147 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - If this value is set to true then only the end points of the intersection shall be included as nodes in the model. + Young's modulus in material direction 1 [N/m^2] + + + + + Young's modulus in material direction 2 [N/m^2] + + + + + Shear modulus in material in 2-3 plane [N/m^2] + + + + + Shear modulus in material in 3-1 plane [N/m^2] + + + + + Shear modulus in material in 1-2 plane [N/m^2] + + + + + Poisson's ratio + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal conductivity of the material in material direction 1 [W/(m*K)] - + - The UID for the first connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. + Thermal conductivity of the material in material direction 2 [W/(m*K)] - + - Optional counter to specify numbered items, e.g. ribs in a ribSet. + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for shear [N/m^2] - + - The UID for the second connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. + Allowable strain for tension in material direction 1 - + - Optional counter to specify numbered items, e.g. ribs in a ribSet. + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for shear + + - - - - - - - - - - - structuralProfile3DType - - - - - - - - - - - - - - - - - + - 2-dimensional cross sections of structural profiles. + + Orthotropic material properties for 3D materials - StructureProfile type, containing data of a structure - profile cross sections. The cross section profile is defined by - several points (->pointList) in the x-y-space. Two points are - combined to one sheet (->sheetList) by using the pointUIDs. - - This profile is defined by several points in the - x-y-space. Allways two points are combined to one sheet. The - properties of each sheet are defined in the 'sheetProperties' - section by referencing on the sheetUID and the material - properties. The orthotropy direction of composite materials equals - the x-sheet axis. The orthotropy direction angle equals a positive - rotation around the z-sheet axis as indicated in the picture below - (part 3.), where a wing stringer is defined as an example: - + Defines the material properties for an elastic orthotropic material in three spatial directions (i.e., solid). The strain-stress relationship is defined as: - + + + Note that nuij is related to nuji by: + + + The terminology refers to the following literature: + + [1] R. M. Jones, Mechanics Of Composite Materials, 2 New edition. Philadelphia, PA: Taylor and Francis Inc, 1998. + @@ -24751,95 +23790,255 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the structure profile. + Young's modulus in material direction 1 [N/m^2] + + + + + Young's modulus in material direction 2 [N/m^2] + + + + + Young's modulus in material direction 3 [N/m^2] + + + + + Shear modulus in the 2-3 plane [N/m^2] + + + + + Shear modulus in the 3-1 plane [N/m^2] - + - Description of the structure profile. + Shear modulus in the 1-2 plane [N/m^2] + + + + + Poisson's ratio in in 2-3 plane + + + + + Poisson's ratio in in 3-1 plane + + + + + Poisson's ratio in in 1-2 plane + + + + + Thermal expansion coefficient in material direction + 1 [1/K] + + + + + Thermal expansion coefficient in material direction + 2 [1/K] + + + + + Thermal expansion coefficient in material direction + 3 [1/K] + + + + + Thermal conductivity of the material which couples heat flux in material direction 2 with temperature gradient in material direction 3 [W/(m*K)] + + + + + Thermal conductivity of the material which couples heat flux in material direction 3 with temperature gradient in material direction 1 [W/(m*K)] - + - List of structural profile points, only x and - y. + Thermal conductivity of the material which couples heat flux in material direction 1 with temperature gradient in material direction 2 [W/(m*K)] + + + + + + Allowable stress for tension in material direction 1 + [N/m^2] + + + + + Allowable stress for compression in material + direction 1 [N/m^2] + + + + + Allowable stress for tension in material direction 2 + [N/m^2] + + + + + Allowable stress for compression in material + direction 2 [N/m^2] + + + + + Allowable stress for tension in material direction 3 + [N/m^2] + + + + + Allowable stress for compression in material + direction 3 [N/m^2] + + + + + Allowable stress for shear in 2-3 plane [N/m^2] + + + + + + Allowable stress for shear in 3-1 plane [N/m^2] + + + + + Allowable stress for shear in 1-2 plane [N/m^2] + + + + + + Allowable strain for tension in material direction 1 + + + + + + Allowable strain for compression in material + direction 1 + + + + + Allowable strain for tension in material direction 2 + + + + + + Allowable strain for compression in material + direction 2 + + + + + Allowable strain for tension in material direction 3 + + + + + + Allowable strain for compression in material + direction 3 + + + + + Allowable strain for shear in 1-3 plane + + + + + + Allowable strain for shear in 1-3 plane + + + + + + Allowable strain for shear in 1-2 plane + - - - + - Definition cross sections of structural profiles. - + outerCutOutProfileType - Structuralprofiles type, containing cross section - information of structural profiles. + - - - - + + + + - + - Geometric description and material properties of a strut + Container for parameter definitions + + Contains a of the design parameter definitions. + + - + - - - Length of the strut - - + - - + - Design study parameters and results + Parameter definition for design studies. - - Contains optimization data such as definitions of design parameters and design studies. - - - - - + Contains a name for the design parameter to give semantic meaning to parameters used in design studies. + @@ -24847,59 +24046,50 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + Name of parameter + + + - + - subFleetType + paxCrossBeamsAssemblyType - Each fleet can be divided into sub fleet groups + PaxCrossBeamsAssembly type, containing pax crossBeam + assemblys - - - - Name of fleet - - - - - Description of the fleet - - - - - A ; separated list of all tailsign strings - - - - + + + - + - subFleetsType + paxCrossBeamStrutsAssemblyType - Contains a list of different sub fleets + PaxCrossBeamStrutsAssembly type, containing pax + crossBeam strut assemblys @@ -24907,58 +24097,44 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - subLoadType + paxDoorsAssemblyType - + PaxDoorsAssembly type, containing pax door assemblys + - - - - - - - - - - + + + - + - Systems + payloadGlobalType - - Systems type, containing the aircraft's control system - data - Please see the attached picture for further - documentation - - - - + @@ -24966,111 +24142,52 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Node for geometrical layout of system components - based on simple geometric shapes - - - - - - Cockpit controls, e.g. stickRoll, pedals - - - - - - Different commandCases that are commanded, - e.g. roll, accelerate - - - - - Control Distributors, deliver inputs to the - control actuators. E.g. different angles of different ailerons. - - - - - - Control laws, for regulated actuation - - - + + - + - - - - tailplaneAttachmentAreaType - - - tailplaneAttachmentArea type, containing dat on - fuselage - structure to attach tailplaine - - - - - - - - - - Definition of tailplane attachment area - (Standard - Configuration) - - - - - type of tailplane attachment: Currently - restricted to - 'Type1' and 'Type2' (see documentation) - - - - - - - - - - - - + + + + Selection of performance maps + + + + + + + + - Definitions of VTP interface - + Engine performance map selection - + - Definitions of VTP interface - + Aerodynamic performance map selection - - + - takeoffPerformanceParametersType + Configurations which apply for this performance requirement - + + + @@ -25078,74 +24195,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Take-off distance at liftoff speed VLOF. - - - - - - Take-off distance at safety speed V2. - - - - - - Optimal speed Velev at point of initiating - take-off rotation by elevator deflection for a minimum take-off - distance. - - - - - Optimal rotation speed VR for a mini-mum - take-off distance - - - - - Liftoff speed VLOF. - - - - - Safety speed V2. - - - - - Take-off decision speed V1 - - - - - Minimum control speed ground VMCG. - - - - + - Flight path angle being achieved at V2 with - one engine failure in 400 ft height above ground. This is the - result of a post trim calculation using the deter-mined V2. If - the trim calculation fails the entry is set to -90. + + Default configuration uID + - + - Structural properties of the tangent links, if - existing. The tangent links do connect the engine pylon with the - engine to carry the thrust forces. + Performance requirements @@ -25155,82 +24223,129 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + + + + - + - simpleConnectionType + performanceTargetsGlobalType - SimpleConnection type, containing a simple connection - + - - - - Can be each structural member (skinSegment, - stringer, frame, paxCrossBeam, cargoCrossBeam, - paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, - floorPanel, seatModule) - + + + - - - Can be each structural member (skinSegment, - stringer, frame, paxCrossBeam, cargoCrossBeam, - paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, - floorPanel, seatModule) - + - - + + + + + + + + + + Pintle strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + Pintle strut (one or two pintle struts are supported) + + + + - + - simpleConnectionsType + Piston - SimpleConnections type, containing simple connections - + + Geometric description and material properties of the + landing gear piston. The figure below shows the condition of the + uncompressed piston, where the length of the exposed part is the + sum of the maxSpringDeflection + and the compressedExternalLength: + + + + + - - - + + + + Length of the piston + + + + + + Maximum spring deflection of the piston (difference between minimum and maximum deflection) + + + + + Length of the piston that remains outside of the main strut in fully compressed state + + + + - + + + + + + Points on plasticity curve of material + (min. 1 point) + + + + + + + - topologyEntriesType + plasticityCurvePointType @@ -25240,51 +24355,76 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Tangent modulus [N/m^2] + + + + + True stress [N/m^2] + + + - + - topologyEntryType + plasticityCurvesType - A topology entry is used to combine the dynamic aicraft - models of several components, e.g. wing and fuselage. By default - these will be stiff. If desired stiffness and rotation with - respect to the CPACS coordinate system may be specified. - + + Plastification curve incl. element elimination (isotropic + materials). The data may be used to describe the plastic behavior of isotropic + materials in non-linear analysis, such as crash simulations. The input is defined + according to the needs of Material 103 (single stress strain option) in the + PAM-CRASH explicit Finite Element code, but can also be used for equivalent material + laws in alternative simulation environment (see PAM-CRASH Solver Reference Manual., + Material 103). - - - - - - + + + - + - totalOperatingCostType + This type describes the plasticity curve of isotropic + materials - + + ... + + Plastification curve incl. element elimination + (isotropic materials) + + Plastification curve incl. element elimination (isotropic + materials) The data may be used to describe the plastic behavior of + isotropic materials in non-linear analysis, such as crash + simulations. The input is defined according to the needs of Material + 103 (single stress strain option) in the PAM-CRASH explicit Finite + Element code, but can also be used for equivalent material laws in + alternative simulation environment (see PAM-CRASH Solver Reference + Manual., Material 103) + Source: PAM-CRASH V2010 - Notes Manual + @@ -25292,23 +24432,59 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + Name of the post failure definition + + + + + + + Description of the post failure + definition + + + + + + + Strain rate for following plastcity + curve [1/s] + + + + + + + + + plasticEliminationStrain [-]; Plastic + strain for element elimination during + the non-linear analysis + + + - + - trackActuatorType + Point with global/local reference - + PointAbsRel type, containing an xyz data triplet. Each + of the components is optional. The refType attribute defines, + whether coordinates are absolute in the global ccordinate system + [absGlobal], absolute in the parent element's local coordinate + system [absLocal]. If the object does not have a + parent, only [absGlobal] is permitted. @@ -25316,34 +24492,44 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Reference to the uID of the actuator of the - track. + X-Component - + - Definition of the material properties of the - actuator to track attachment. + Y-Component + + + + + Z-Component - + + + + + + + + + - + - wingSparsType + Point with constraints - Spars type, a spar is defined by sparSegments that - stretch between multiple sparPositions + Point constraint type, containing an xyz data triplet. @@ -25351,66 +24537,91 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + X-Component + + + + + Y-Component + + + + + Z-Component + - - - - - - - - - + - Definition of the struts of a control surface track. - + List of 3D points, kept in three relative coordinate + vecors (rX, rY, rZ) - Definition of the struts of a control surface track. - + + This set of vectors contains an ordered list of points + for rX, rY, and rZ coordinates in the form of stringBased + Vectors. The x, y and z vector elements with the same index + specify a 3D point relative to a geometric segment. + + + + + + + + + + - - - + + + + Vector of rX coordinates. Relative + circumferential coordinate on wing / fuselage profile + + + + + + Vector of rY coordinates. Relative span + coordinate along a segment + + + + + Vector of rZ coordinates. Relative coordinate + normal to the linear strake (normalised with chordlength / + diameter c*) + + + - + - Definition of a strut of a control surface track. - + List of points - Definition of a strut of a control surface track. + PointList type, containing an ordered list of points @@ -25418,35 +24629,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - + + + + Data point + - - - + - + - Specification of joint coordinates. - + List of points in x,y - Specification of joint coordinates. + PointList type, containing an ordered list of points @@ -25455,23 +24657,30 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Data points in x-y-space. + + - + - Set of joint coordinates - + List of 2D points, kept in two coordinate vecors (x, y) - Definition of a set of joint coordinates. - + + This set of vectors contains an ordered list of points + for x and y coordinates in the form of stringBased Vectors. + The x and y vector elements with the same index specify a 2D + point. The coordinates of the x vector of [0, 1]. + @@ -25479,96 +24688,74 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + Vector of x coordinates + + + + + Vector of y coordinates - - + - Joint coordinates - + List of 3D points, kept in three coordinate vecors (x, + y, z) - Definition of a joint coordinates. - + + This set of vectors contains an ordered list of points + for x, y and z coordinates in the form of stringBased Vectors. + The x, y and z vector elements with the same index specify a 3D + point. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Vector of x coordinates + + + + + Vector of y coordinates + + + + + Vector of z coordinates + - + - Trailing edge device of the wing. + + Constraints + - A trailingEdgeDevice (TED) is defined via its - outerShape relative to the componentSegment. The WingCutOut - defines the area of the skin that is removed by the TED. - Structure is similar to the wing structure. The mechanical links - between the TED and the parrent are defined in tracks. The - deflection path is described in path. Additional actuators, that - are not included into a track, can be defined in actuators. - - Leading and trailing edge are defined by the outer - shape of the wing segments, i.e. the trailing edge of a - trailingEdgeDevice is the trailing edge of the wing. This is also - valid for kinks that are present in the wing but not explicitly - modeled in the control surface. - The edges of the control surface within the wing are a - straight line in absolute coordinates! Hence, there needs to be a - straight connection between the eta-wise outer and inner points - of the edge that is within the wing in absolute coordinates. - + Constraint settings for the point performance definition @@ -25576,72 +24763,89 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + Calibrated airspeed [m/s] + + + + + + + Mach number [-] + + + + + + + Climb angle [deg] + + + + + + + Rate of climb [m/s] + + + + - Name of the trailing edge device. + + Rate of turn [deg/s] - + - Description of the trailing edge device. + Thrust setting for derated engine as fraction of max. thrust (e.g.: for powered descents, deceleration not at IDLE, manoevres) - + - UID of the parent of the TED. The parent can - either be the uID of the componentSegment of the wing, or the - uID of another TED. In the second case this TED is placed within - the other TED (double slotted flap). In this way n-slotted TEDs - can be created. + + Rate of velocity [m/s^2] + - - - - - - - + - Definition of cruise rollers/mid-span stops. - Those features are small rolls at the leading edge of a flap - that keep the flap within the bending wing at cruise - configuration. + + Duration [s] + - + - Definition of interconnection struts. Those - struts connect two neighbouring flaps and are load carrying in - case of an actuator of flap track failour. + + Angle of attack [deg] + - + - Definiton of z-couplings. Those elements - couple two neighbouring flaps in z-direction. + + Constant altitude [m] - - + - Definition of the wings trailing edge devices. - + Point performance definitions - Definition of the wings trailing edge devices. - + List of point performance definitions @@ -25649,21 +24853,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Trajectories + pointPerformanceType - + Specific performance settings for the point performance calculation (e.g.: a cruise Mach number) @@ -25671,21 +24875,97 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name + + + + + Description + + + + + + + Defines at which part of the mission + the point performance should be + considered - after indicated segment + of the mission as defined in + performanceCase + + + + + + + Defines at which part of the mission + the point performance should be + considered - at the defined + massFraction within the mission as + defined in performanceCase + (mCurrent/mTO) + + + + + + + Defines at which part of the mission + the point performance should be + considered - at the defined + fuelFraction within the mission as + defined in performanceCase + (mFuelCurrent/mFuelTO) + + + + + + + + Indicates the type of point performance + + + + + + + + + + + + + + + + + + + + + + + + - + - trajectoryGlobalType + + Requirements + - + Requirement settings for the point performance definition @@ -25693,38 +24973,62 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - + + + + Sustained load factor to be achieved + + + + + + + Instantaneous load factor to be achieved + + - - + + + + Specific excess power to be achieved [m/s] + + - + + + + Roll rate to be achieved [deg/s] + + - + + + + Roll acceleration to be achieved upon control onset [deg/s^2] + + - + + + + Roll acceleration to be achieved upon control stop [deg/s^2] + + - + - trajectoryType + Point: x,y,z - + Point type, containing an xyz data triplet. @@ -25732,27 +25036,36 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + X-Component + + + + + Y-Component + + + + + Z-Component + + - + - + - transmissionGearRatioType + Point: x - TransmissionGearRatio type, defining the ratio of - output rotation velocity to input rotation velocity. + Point type, containing a x data. @@ -25760,23 +25073,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + X-Component + + + - + - transmissionShaftInputType + Point: x,y - TransmissionShaftInput type, defining a shaft input for - a transmission. + Point type, containing an xy data doublet. @@ -25784,94 +25100,127 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + X-Component + + + + + Y-Component + + - + - + - transmissionShaftInputsType + Point: x,y,z - TransmissionShaftInputs type, defining the shaft inputs - of a transmission. + Point type, containing an obligatory xyz data triplet. - - - + + + + X-Component + + + + + Y-Component + + + + + Z-Component + + + + - + - transmissionShaftOutputType + Point: x, z - TransmissionShaftOutput type, defining a shaft output - for a transmission. + Point type, containing an xz data doublet. - - - - - + + + + X-Component + + + + + Z-Component + + + + - + - transmissionShaftOutputsType + Point: y - TransmissionShaftOutputs type, defining the shaft - outputs of a transmission. + Point type, containing a y data. - - - + + + + Y-Component + + + + - + - transmissionType + Point: y, z - Transmission type, defining a transmission/gearbox. - + Point type, containing an yz data doublet. @@ -25879,179 +25228,130 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - + + + Y-Component + + + + + Z-Component + + - + - + - transmissionsType + Point: z - Transmissions type, containing all the - transmissions/gearboxes of a rotorcraft model. + Point type, containing a z data. - - - + + + + Z-Component + + + + - - - - - - - - - + - updateType + Positive double values larger than 0 - - Update type, containing a datablock for each update of - the CPACS dataset - - - - - - - Description of Modification of CPACS data - - - - - - Creator of CPACS modification - - - - - - Timestamp of CPACS modification - - - - - - New version number of CPACS dataset after - modification - - - - - CPACS version that the dataset is valid to - - - - - - + + + + + - + - Structural properties of the upper links, if existing. - The upper links do connect the upper forward part of the pylon - box with the forward wing attachment. + Positive integer values larger than 0 - - - - - - - - - - + + + + + - + - variableSegmentType + Vector with semicolon separated positive integer values - Containing the definition of variable segments for a segment block + Any positive integer values separated by semicolons are permitted, e.g.: + +<intVectorTest>0;1;2;3;4;5</intVectorTest> + + +<intVectorTest>1</intVectorTest> + + +<intVectorTest>0,1,2,3,4,5</intVectorTest> + + +<intVectorTest>0.;1.;2.</intVectorTest> + + +<intVectorTest>-1;0;1</intVectorTest> + - - - - - - defines uID of the segment having variable conditions - - - - - defines which condition(s) are variable within the segment (must be one of the defined - endConditions for the segmentBlock) - - - - - - - - - - - - + + + + + - + - List of segments that are allowed to be varied within a mission optimization. + Positionings of the wing. - - Provides a list of segments having variable conditions within the segmentBlock. - Example: a segmentBlock containing takeOff, climb, cruise, decent, landing segments has a cruise segment for which the range is variable. - The range of this segment is then to be calculated using the range defined for the segmentBlock while concerning the known ranges of all - other segments within the segmentBlock. - This concept needs to be practically tested. Does it suffice to mention (a list of) segments that are free to change to fit the overall block constraints? What happens if a segment is variable, though it has some constraints? When to define a segment as variable (climb until endPosition z, then endPosition x should be left free. Is the segment then variable? Probably not.). Somehow the 'free' segment should be in between fully defined segments (i.e.: a cruise+descent in between endPosition z == ICA and endPosition z == 0 for landing to define max range. How to define this exactly?) + Positionings type, containing all the positionings of + the wing sections. @@ -26059,29 +25359,54 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Vehicles + Positioning of the wing section - The vehiclesType contains all vehicle-specific - data. - This includes the vehicle itself (i.e. aircraft - and rotorcraft). Furhtermore, components - (e.g. engines, structuralElements, etc.) - as well as physical properties of materials and - fuels can be predefined for easy and consistent reuse via - uID-references. + The positionings describe an additional translation of + sections. Basically, the positioning is a vector having the + length 'length' and an orientation that is described by the + parameters 'sweepAngle' and 'dihedralAngle'. If the 'sweepAngle' + and the 'dihedralAngle' are set to zero (or left blank) the + positioning vector equals the positive y-axis of the coordinate + system (in case of a positive 'length'). + If the parameter 'fromSectionUID' is set, the + positioning describes the translation between the 'from' towards + the 'to' section. If the parameter 'fromSectionUID' is left + blank the orgin of the positioning vector is the origin of the + parent coordinate syste. + The orgin of the section coordinate system is the + position which is described by the positioning vector PLUS the + translation which is described in the section. + Please note: If the orgin of the positioning vector is + defined by using another section, i.e. fromSection is defined, + the orgin of this vector equals the end of the positioning + vector of the previous section. This means that the section + translation of the from-section has no influence on the + positioning of the to-section. Therefore the total translation, + which is described by positionings, is the sum of the current + positioning and all positionings that are defined 'before'. + + An example for this is given at positioning 3 and 4 at + the picture below. Please note, that any other combination of + positionings would be possible. + Application of the sweepangle does not lead to a + rotation of the section. Application of the dihedral does not + lead to a rotation of the section. + + + @@ -26090,439 +25415,350 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - - - - - - - - vtpFrameDefType - - - Definition of the individual VTP attachments - - - - - - - - - - Definition of tailplane attachment area - (Standard Configuration) - - + - UID of the fuselage frame at this VTP - attchment + Name of the positioning. - + - Flag for option for VTP attachment between - defined FrameUID and the next one + Description of the positioning. + - + - UID of panel element at VTP attachment (shell - elements) + Distance between inner and outer section + (length of the positioning vector). - + - UID of structural element at VTP attachment - (base, beams) + Sweepangle between inner and outer section. + This angle equals a positive rotation of the positioing vector + around the z-axis of the wing coordinate system. + - + - UID of structural element at VTP attachment - (horizontal, beams) + Dihedralangle between inner and outer section. + This angle equals a positive rotation of the positioing vector + around the x-axis of the wing coordinate system + - + - UID of structural element at VTP attachment - (radial, beams) + Reference to starting section of the + positioning vector. If missing, the positioning is made from the + orgin of the wing coordinate system. + + + + + Reference to ending section (section to be + positioned) of the positioning vector. - + - + - vtpInterfaceDefType + Power breakdowns - - Definition of the interface of the VTP - - - Definition of the VTP interface - - - - - Definition of the VTP attachment frames and - their - reinforcement - - - - - - Defines area for valid x-position of VTP (just - used - if attachmentpoint is directly based on frame) ==> check and - potentially warning message - - - - - - Definition of the max. distance between - fuselage and - the defined VTP pins ==> check and potentially warning - message - - - - - - Definition of reinforcement area at VTP frame - positions (relative coordinate, smaller than - 1.0) - - - - - - Definition of vertical reinforcements at VTP - frame - positions (relative coordinate, smaller than - 1.0) - - - - - - value to change from horizontal to radial - reinforcements for VTP frame plates - - - - - - UID of elements to connect VTP pins with - fuselage - (beam elements) - - - + - - - + - webType + Power breakdown case - - - SparWeb type, containing the cross section area of the - spar web and the material properties. - Pleas find below a picture where all spar cross - section parameters as well as the orientation refereneces for - the material definition can be found: - - - - - - + - Material definition of the spar web. - + Name - + - relPos ranges from 0 to 1 It defines the - position of the web relative to the caps (see picture below).. - + Description + + + - + - weightAndBalanceCaseType + Specification of the power breakdown case - - WeightAndBalanceCase type, containing weight and - balance data for one case - - - - - - + + + + Altitude [m] + + + + + Mach number + + - - + - weightAndBalanceFuelInTankType + Power breakdowns - - - - - - - - - - - - Ranges from 0 for empty tank to 1 - - - - + + + + - + - weightAndBalanceFuelInTanksType + Power breakdowns - - - - + - + - weightAndBalanceFuelType + Power breakdown case along a trajectory - - - - - - - + + + Name + + + + + Description + + + + + - + - weightAndBalancePayloadType + Specification of the power breakdown case - - - - - - - - - - + + + + UID of the corresponding trajectory + + + - + - Weight and balance + Power flow - - WeightAndBalance type, containing weight and balance - datasets - - - - - + + + + + Name + + + + + + + Description + + + + + + + + UID of the source element + + + + + + + Source system according to ATA chapter + + + + + + + + + + UID of the sink element + + + + + + + Sink system according to ATA chapter + + + + + + - + - weightAndBalancemCargosType + Power flow - - For a higher ganularity it is possible to add more - information on the actual Cargo that are included in the - operational case. Please note that the information needs to be - identical with the massBreakdown. Hence, only links via uIDs can - be specified. - - - - - - - - + + + + + + + - + - weightAndBalancemPaxxType + Power flow - - For a higher ganularity it is possible to add more - information on the actual Pax that are included in the - operational case. Please note that the information needs to be - identical with the massBreakdown. Hence, only links via uIDs can - be specified. - - - - - - - - + + + + + + + - + - windowAssemblyPositionType + pressureBulkheadAssemblyPositionType - WindowAssembly type, containing an the position of a - windows assembly + PressureBulkheadAssemblyPosition type, containing a + pressure bulkhead assembly position @@ -26530,47 +25766,34 @@ The fuel tank volume type should also be used for the wing fuel tank - - - UID of the window element to be used - - - - - - x position of window elemment on global x axis - - - - + - z position of window elemment refernce point + Frame to which bulkhead is attached to - + - angle around global x axis to define window - position with respect to positionX and postionZ + UID of bulkhead element desription - + - + - windowsAssemblyType + pressureBulkheadAssemblyType - WindowsAssembly type, containing an assembly of windows - + PressureBulkheadAssembly type, containing pressure + bulkhead assemblys @@ -26578,21 +25801,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - windowsType + pressureBulkheadsType - Windows type, containing windows + PressureBulkheads type, conteining pressure bulkheads + @@ -26600,142 +25824,129 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - + - wingAeroPerformanceType + pressureBulkheadType - wingAeroPerformance type, containing perfomance maps - with aerodynamic data of a wing. + PressureBulkhead type, containing data of a pressure + bulkhead - - + + - Reference to the uID of the analysed wing - + Name of the pressure bulkhead structural + element - + - References used for the calculation of the - force and moment coefficients of the wing (in the wing axis - system!) + Description of the pressure bulkhead + structural element - + - Calculated aerodynamic performance maps of the - wing + UID of structural sheet element used for the + bulkhead - - - - - - - - - - - wingAirfoilsType - - - WingAirfoils type, containing wing airfoil geometries. - See profileGeometryType for further documentation - - - - - - - - - - - - - - - - - - - Cell of the wing - - - - A cell defines a special region of the wing. Within - this region skin and stringer properties can be defined that - differer from the properties of the rest of the wing. In general - a cell is defined by defining four borders – the cell leading - and trailing edge and the inner border and the outer border. - Those borders can either be defined by using eta/xsi coordinates - or by referencing to spars and ribs. Mixed definitions (e.g. - forward border is defined due to a spar, side borders due to eta - coordinates) is allowed. In general a cell is quadrilateral. But - if e.g. the spar, which is used for the definition of the - trailing edge, has a kink, the cell can have more than four - corners. - The cell leading and trailing edge (= forward and rear - border) can either be defined by referencing to a spar - (->sparUID) or by the defining the xsi (=relative chord) - coordinates of the border (xsi1 = inner end; xsi2 = outer end). - - The cell inner and outer border can either be defined - by referencing to a rib (->ribDefinitionUID and ribNumber) or - by the defining the eta (=relative spanwise) coordinates of the - border (eta1 = forward end; eta2 = rear end). - Some examples for wing cells can be found in the - picture below: - - - - - - - - - - - - - - - - - - - + + + Choice between flat and curved bulkhead types + + + + + additional data for flat (forward) pressure + bulkhead + + + + Number of vertical reinforcements on flat + bulhhead + + + + + UID of structural elements used as vertical + reinforcements + + + + + Number of horizontal reinforcements on flat + bulhhead + + + + + UID of structural elements used as + horizontal reinforcements + + + + + + additional data for curved (rear) pressure + bulkhead + + + + Radius of bulkhead calotte in the plane of + the adjacent frame + + + + + maximum flection of the pressure bulkhaed + calotte + + + + + Number of radial reinforcements (equally + distributed) on curved bulhhead + + + + + UID of structural elements used as radial + reinforcements on curved bulkheads + + + + + + - + - Cells of the wing. + structuralElementType - WingCells type, containing all the cells of the wing. - + profileBasedStructuralElements type, containing a list + of profile based structural elements @@ -26743,66 +25954,198 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Structure of the wing + Structural elements based on profiles - wingComponentSegmentStructure type, containing the - whole structue (skins, ribs, spars...) of the wing. + + + Short description + + The ProfileBasedStructuralElement type containins the + data of a structural element, that are based on 2-dimensional profiles. + There are three approaches to model profile based structural elements: + + by specifying global beam properties + by referencing a structuralProfile2D element + by choosing one of the prescribed standard profiles + + + + + + 1. Global beam properties + + In the section globalBeamProperties the properties + of the structural profile in an equivalent beam representation + are defined. + + + + 2. Structural 2D profile + + The structuralProfileUID element refers to the uID of the structuralProfile2D element. + As described in the corresponding documentation, this profile is defined by several points in the x-y-space. + Two points always form a sheet. + The properties of each sheet are defined in the sheetProperties element. + The orthotropy direction of composite materials equals the sheets' x-axis. + The orthotropy direction angle equals a positive rotation around the sheets' z-axis as indicated in the picture below (part 3), which shows an example of a wing stringer.: + + + + + + + 3. Standard structural 2D profile + + Instead of referencing a structuralProfile2D element, it is also possible to select a predefined standard profile. + These profiles are listed in the figure below. + Under sheetProperties, only the standardProfileSheetID (equals S1, S2, ...) must now be specified along with a corresponding length. + + + + + + - - - - - - - + + + + Name of the profile based structural element + + + + + + Description of the profile based structural + element + + + + + Choice between global beam properties and sheet properties + + + + + + Choice between general profile element + description (referencing a structuralProfile) and predefined + standard profiles + + + + Definition based on structuralProfile + definition + + + + Reference to the structural profile profile + uID + + + + + + Reference point in structural profile + definition for structural element definition + + + + + + + Standard Profile Type, see picture below for + further information. + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - Element of the section. + profileGeometry2DType - Within elements the airfoils of the wing are defined. - Each section can have one or more elements. Within each element - one airfoil have to be defined. If e.g. the wing should have a - step at this section, two elements can be defined for the two - airfoils. - Mathematically spoken a element is a coordinate system - that is translated, rotated and scaled relative to the section - coordinate system. This transformation parameters are defined - withing the transformation section. The wirfoil, which is linked - by using the parameter airfoilUID is directly 'copied' in the - element coordinate system. If e.g. the airfoil is defined from 0 - to 1 in x-direction and the total scaling of the elements x-axis - equals 3.5 the wing chord is 3.5 m long. - An example for wing element can be found in the - picture below: - - - + A profile is defined by a profile name, an optional + description and a 2-dimensional pointlist with both + coordinates mandatory. All point coordinates are transferred + to the global coordinate system depending on the context they + are used in. The points have to be ordered in a mathematical + positive sense. The x-coordinates of the profile has to be + normalized between 0 and 1. First and last point + may, but need not to, be identical. Hence, it is possible to + include "open" profiles. However, the trailing edge position of + the upper and lower point need to be identical. No crooked + trailing edges are possible. + Example 1: For a conventional nacelle profile, the airfoil + coordinates are defined in x and y. The points have to be ordered + from the trailing edge along the lower side to the leading + edge and then along the upper side back to the trailing edge. + When used for a nacelle the profile axis align + with the global axes as follows: + +x_profile -> +x_global; + +y-profile -> -z_global + Example 2: For a fuselage, the coordinates are + also given in x and z with x as the normalized fuselage height. + Starting point of the profile sould be the lowest point + (typically in the symmetry plane), then upwards on the positive x-side up to the highest + point (again, typically in the symmetry plane). Depending on, + whether the fuselage shall be specified with symmetry condition + or not, the profile either ends there, or continues on the + negative x-side back down to the lowest point. + Alternatively, it is possible to specify the + coordinates of a profile via the CST (class function /shape + function transformation technique) notation. Please see the + cst2DType for further information. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. @@ -26810,41 +26153,78 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the wing element. - - - - - Description of the wing element. - + Name of profile - + - Reference to a wing airfoil. - + Description of profile - - - + + + + + + + + + + + + + + + + - + - Elements of the wing. + profileGeometryType - WingElements type, containing the elements of a wing - section. + + A profile is defined by a profile name, an optional + description and a 3-dimensional pointlist with all three + coordinates mandatory. For typical profiles, one of the + coordinate vectors contains only "0" entries. All point + coordinates are transferred to the global coordinate system. The + points have to be ordered in a mathematical positive sense. + Normalized coordinates are not required. First and last point + may, but need not to, be identical. Hence, it is possible to + include "open" profiles. However, the trailing edge position of + the upper and lower point need to be identical. No crooked + trailing edges are possible. + Example 1: For a conventional wing, the airfoil + coordinates are defined in x and z with all the y-coordinates + set to "0". The points have to be ordered from the trailing edge + along the lower side to the leading edge and then along the + upper side back to the trailing edge. + Example 2: For a fuselage, the coordinates are + typically given in y and z with x set to "0". Starting point of + the profile sould be the lowest point (typically in the symmetry + plane), then upwards on the positive y-side up to the highest + point (again, typically in the symmetry plane). Depending on, + whether the fuselage shall be specified with symmetry condition + or not, the profile either ends there, or continues on the + negative y-side back down to the lowest point. + Alternatively, it is possible to specify the + coordinates of a profile via the CST (class function /shape + function transformation technique) notation. Please see the + cst2DType for further information. + A profile can be symmetric. In that case the profile + is interpreted as being not closed and will be closed by + mirroring it on the symmetry plane. + @@ -26852,375 +26232,313 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name of profile + + + + + Description of profile + + + + + + + + + + + + + + + + + + + - + - Border of the fuel tank (either rib or spar). - + Profiles - + Profiles type, containing profile geometries + - - - - Spar uID of the bordering spar. - - - - - - - UID of the rib set of the bordering rib. - - - - - - RibNumber of the rib set of the bordering - rib. - - - - + + + + + + + + + - + - Definition of the geometry of the wing fuel tank by - defining a continouse list of borders. + Propulsion architecture - - - - - - + + + + - + - Definition of one wing fuel tank. + Propulsion system component - - - - + - Name of the wing fuel tank. - + Name - + - Description of the wing fuel tank. - + Description + + + + + Reference to the pre-defined propulsion element + + + + + UID of the parent element - - + - + - + - Definition of different volumes of the fuel tank. - + Propulsion components - - - - - - Theoretical volume if material thicknesses - (ribs, spars, skins, stringers) and systems (fuel pumps, - pipes...) are neglected. - - - - - - - Usable fuel volume aircraft operations. - - - - - - Total real fuel tank volume. - - - - - - - - Factor between the usalbe fuel volume and - the real fuel volume. - - - - - Factor between the real fuel volume and the - theoretical optimum fuel volume. - - - - + - + - List of wing fuel tanks. + Tanks - - - - + - + - Definition of the wing-fuselage attachment + Tank - - - Definition of the wing-fuselage attachment. The area - of the fuselage attachment (resp. center wing box, CWB) is - defined by defining one resp. two ribs from the rib definition. - If one rib is defined (rib1) the CWB goes from the closer end of - the componentSegment (e.g. wing symetry plane) to the defined - rib. If two ribs are defined (rib1 and rib2), the CWB is between - both ribs. - Additionally attachment pins can be defined. At those - positions the wing is attached to the fuselage. This can be e.g. - used for defining the wing-attachment of high wing - configurations, HTPs or VTPs. - - - - - Definition of first (=inner) rib of the - fuselage attachment. - - - - - Definition of the second (=outer) rib of the - fuselage attachment. Optional. Only to be used if attachment is - defined over two ribs. - - - - - Definition of position, orientation, materials - and blocked DOFs of attachment pins. - - - - - Definition of actuators (e.g. trim actuator of - an HTP) of the attachment. - - + + - + - Definition of the wing-fuselage attachment. + Propulsion elements - - Definition of the wing-fuselage attachment - - - - + + + + + + + + + + + + + + - + - wingInterfaceDefinitionsType + Propulsion performance map - - CenterFuselage high wing interface definitions - - - - - - - + + + + + + + + + + + + + + Propulsion map + + + + + + + + + + Name + + + + + Description + + + + - + - + - centerFuselageMainFramesType + Propulsion performance map - - High wing main frame definition, containing mainframe - UIDs - - - - - + - wingInterfaceSupportStrutType + Performance of propulsion system - - wingInterfaceSupportStrut type, containing support - strut definition - - - - - Name of support strut. - - - - - Type description: lateral or longitudinal - support strut. - - - - - - - - + + + - + - wingInterfaceSupportStrutsAssemblyType + Attachments of the pylon to the parent. - wingInterfaceSupportStrutsAssembly type, containing - support struts assembly + @@ -27228,71 +26546,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - - + - Definition of the cell of the intermediateStructure - + Attachment of the pylon to the parent. - - IntermediateStructure: - It defines the filling materials between the upper and - lower shell (e.g. honeycombe structures in a smeared - representation). IntermediateStructure is optional.The position - of the intermediateStructure is defined in so called cells (= - special areas on the wing). Default is no intermediateStructure. - - Material Definition of intermediateStructure: - - The material of the intermediateStructure is reference - by 'material'. The material orientation is defined by 'rotX' and - 'rotZ'. 'rotZ' is defined equivalent to the stringer angle resp. - the skin orthotropyDirection. 'rotX' equals a positive rotation - around the wings x-axis, while a rotation of zero is equivalent - to the wing middle plane. - A picture to clarify the reference direction of rotZ - (equivalent to orthothropy direction of the wing) can be found - in the picture below: - - - - Position definition by using cells: - A cell defines a special region of the wing. Within - this region the cell properties are defined. In general a cell - is defined by defining four borders – the cell leading and - trailing edge and the inner border and the outer border. Those - borders can either be defined by using eta/xsi coordinates or by - referencing to spars and ribs. Mixed definitions (e.g. forward - border is defined due to a spar, side borders due to eta - coordinates) is allowed. In general a cell is quadrilateral. But - if e.g. the spar, which is used for the definition of the - trailing edge, has a kink, the cell can have more than four - corners. - The cell leading and trailing edge (= forward and rear - border) can either be defined by referencing to a spar - (->sparUID) or by the defining the xsi (=relative chord) - coordinates of the border (xsi1 = inner end; xsi2 = outer end). - - The cell inner and outer border can either be defined - by referencing to a rib (->ribDefinitionUID and ribNumber) or - by the defining the eta (=relative spanwise) coordinates of the - border (eta1 = forward end; eta2 = rear end). - Some examples for wing cells can be found in the - picture below: - - - - + @@ -27300,131 +26569,91 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Reference to the material of the intermediate - structure. - - - - - 'rotX' equals a positive rotation around the - wings x-axis, while a rotation of zero is equivalent to the wing - middle plane direction. + Material properties of the attachment. + - + - 'rotZ' is defined equivalent to the stringer - angle resp. the skin orthotropyDirection. + Link to the structural profile of the + attachment. - + + + UID of the attachment. + + - + - IntermediateStructure cells + Structural properties of the pylon box (ribs, upper, + lower and side panels). - Definition of the intermediateStructure of the - componentSegment of the wing. + - - - + + + + + + + + + + UID of the pylon box. + + - + - Definition of a ribCell + Definition of pylon pins. - RibCells are optional elements. They are defined via a - fromRib and a toRib. The enumeration is within the ribSet. - RibNumber 1 starts at etaStart. + - - - - Defines the beginning of the ribCell. The - enumeration is within the ribSet. - - - - - Defines the ending of the ribCell. The - enumeration is within the ribSet. - - - - - WING: The Rotation along the x describes a - rotation around a line, that is defined by the intersection of - the rib with the wing middle plane (orientated from leading to - trailing edge). This angle defaults to 90° which means, that the - rib is perpendicular on the wings middle plane. PYLON: The - Rotation along the z describes a rotation around the pylons - z-axis (= rotation in top view). This angle defaults to 90° - which means, that the rib is perpendicular to the pylons x-axis. - - - - - - The orthotropyDirection is defined as rotation - around the ribs z-axis. The rib coordinate system is defined as - follows: x-axis is from leading to trailingeEdge of the - componentSegment in the direction of the rib elongation. z-axis - is normal to the rib in the direction of positive eta. y is - defined by right hand rule. Rotation is around the z-axis. Zero - degrees are at the x-axis positive direction. - - - - - - - + + + - + - Cross section properties of a wing rib + Definition of one pylon pin. - wingRibCrossSectionType, containing the definition of - ribsCrossSection + @@ -27432,147 +26661,80 @@ The fuel tank volume type should also be used for the wing fuel tank - + - The orthotropyDirection is defined as rotation - around the ribs z-axis. The rib coordinate system is defined as - follows: x-axis is from leading to trailingeEdge of the - componentSegment in the direction of the rib elongation. z-axis - is normal to the rib in the direction of positive eta. y is - defined by right hand rule. Rotation is around the z-axis. Zero - degrees are at the x-axis positive direction. - + First element (parentAttachmentUID, engineUID + or uID of a pylon structure. - + - WING: The Rotation along the x describes a - rotation around a line, that is defined by the intersection of - the rib with the wing middle plane (orientated from leading to - trailing edge). This angle defaults to 90° which means, that the - rib is perpendicular on the wings middle plane. The rotation - angle is defined at the intersection point of the rib with the - ribReference line. The rib itself is allways straight and not - twisted. PYLON: The Rotation along the z describes a rotation - around the pylons z-axis (= rotation in top view). This angle - defaults to 90° which means, that the rib is perpendicular to - the pylons x-axis. + Second element (parentAttachmentUID, engineUID + or uID of a pylon structure. - - - - + - Post element definition applied to all vertical intersections with spars + Position of the pylon pin related to the pylon + coordinate system. + + + + Blocked DOFs. Referes to the rotated + coordinate system that is defined in 'orientation'. + + + + + + + UID of the pin. + + - + - Explicit positioning of a wing rib + Structural properties of all tibs of the engine pylon + box. - - Use this type for an explicit positioning of a rib. As opposed to - ribsPositioning, this defines a single rib connecting a specified start - and end point. - + - - - - - - Defines the start of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the start of the rib defined by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the beginning of the rib using a specific sparPosition. - - - - - - - - - Defines the end of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the end of the rib given by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the end of the rib using a specific sparPosition. - - - - - - - - Defines the forward beginning of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - - - - RibEnd defines the backward ending of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - + + + - + - wingRibPointType + Definition of a rib set. - The wingRibPointType is used to define reference points on ribs. - It can be used for rib set definitions (wingRibsPositioningType) as - well as explicit rib definitions (wingRibExplicitPositioningType). + RibDefinitionType, containing the definition for ribs. + Ribs are defined in sets of one or more ribs. The positions of + the rib, as well as the orientation of the ribs are defined in + 'ribPositioing'. The cross section properties, as e.g. + materials, are defined in 'ribCrossSection'. @@ -27581,49 +26743,41 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - The UID of the rib definition. Can be a reference to nodes - of either wingRibsPositioningType or wingRibExplicitPositioningType. - - - - - - - For references of type wingRibsPositioningType this node indicates the rib number of the rib set. - If not given it defaults to 1. - + Name of the rib set. - + - - Normalized xsi coordinate of the rib point which is measured along the rib - from the start point [0] towards the end point [1]. + Description of the rib set. + + + - + - Definition of a set of ribs + pylonRibsPositioningType - RibDefinitionType, containing the definition for ribs. - Ribs are defined in sets of one or more ribs. The positions of - the rib, as well as the orientation of the ribs are defined in - 'ribPositioing'. The cross section properties, as e.g. - materials, are defined in 'ribCrossSection'. + Within the ribsPositioning type the position and the + orientation of the ribs of the rib set are defined. + The forward and the rear beginning of the rib set is + defined using relDepthStart and relDepthEnd. The orientation of + the ribs is defined in ribRotaton. The number of ribs of the + current rib set is either defined by ribNumber or by spacing. + @@ -27632,38 +26786,77 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name of the rib set + relDepthStart defines the forward location of + the beginning of the rib set. 0 equals the forward end of the + pylon box, while 1 equals the rear end of the pylon box. + - + - Description of the rib set - + relDepthEnd defines the rear end. 0 equals the + forward end of the pylon box, while 1 equals the rear end of the + pylon box. + + + + + Ribs can be rotated in the side view. The + defaults to 90°, which equals an orientation along the pylons + z-axis. The angle is meassured around the positive y-direction + of the pylon. - - + + + The spacing of the ribs defines the distance + between two ribs, measured along the pylons x-axis. First rib + is placed at relDepthStart. + + + + + RibNumber defines the number of ribs in this + ribSet. First rib is at relDepthStart along the pylons x-axis, + last rib is at relDepthEnd. The spacing is constant. + + + - + + + + RibCrossingBehaviour can either be "cross" or + "end". If it is end then ribs will end it they intersect + another rib. It it is cross ribs are placed uncut. + + + + + + + + + + - - + - Wing ribs + Structural properties of pylon shackles (for pylon to + parent attachment), if existing. - RibDefinitions type, containing the definition of all - ribs of the wing. + @@ -27671,191 +26864,60 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - + - Positioning of a set of wing ribs + Structural properties of a pylon shackle. - - The ribsPositioning type allows the definition of a set - of ribs which is distributed over a specified spanwise area. - The positions of the ribs are defined by placing the - ribs on a reference line on the wing (ribReference). The inner - and the outer beginning of the rib set is defined using etaStart - and etaEnd. The position of the forward and rear end of the ribs - is defined by ribStart and ribEnd. The orientation of the ribs - is defined in ribRotation. The number of ribs of the current rib - set is either defined by ribNumber or by spacing. - Three examples how ribs can be placed on the wing are - illustrated in the picture below. For more detailed information, - please refer to the description of each parameter. - - - - + - - - - - - Defines the start of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the start of the rib by a point on a reference curve, - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the beginning of the rib using a specific sparPosition - - - - - - - - - Defines the end of the rib defined in eta-xsi coordinates of a reference plane - - - - - - - Defines the end of the rib defined by a point on a reference curve - such as a spar, but not an explicit sparPosition - - - - - - - Defines the location of the end of the rib using a specific sparPosition - - - - - - - - Defines the forward beginning of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". - - - - + + - - Defines the backward ending of the ribs. It can either be a - sparUID or "trailingEdge" or "leadingEdge". + Material properties of the shackle. - - - - - The spacing of the ribs defines the distance between two ribs, - measured on the - ribReferenceLine. First rib is placed at etaStart. - - - - - - - Defines the number of ribs in this ribSet. First rib is at - etaStart on the - referenceLine, last rib is at etaEnd. The spacing is constant on the - ribReferenceLine. - - - - - + - - The ribReference is the reference line for the computation of the rib set spacing. - It can either be a sparUID or "trailingEdge" or "leadingEdge" + Link to the structural profile of the shackle. - - - - - RibCrossingBehaviour can either be 'cross' or 'end'. If it is set to'end' the ribs - of this rib set will end at the intersection with another rib. - If it is set to - 'cross' the ribs of this rib set will continue at the intersection - with another rib. - - - - - - - - - - - - + + + + UID of the shackle. + + - + - Section of the wing. + Structural properties of the pylon shells. - - WingSection type, containing a wing section. The - sections contains elements, where the airfoils are defined. For - the definition of a wing at least two sections (root and tip) - have to be defined, but any number greater than 2 is also - possible. - Mathematically spoken a section is a coordinate system - that is translated, rotated and scaled relative to the wing - coordinate system. This transformation parameters are defined - withing the transformation section. - In addition to the translation, which is defined in - the transformation part, the section can be translated by using - the positionings vectors (wing->positiongs). Translation of - the positionings vectors is added to the translation of the - section. - An example for wing sections can be found in the - picture below: - - - - + @@ -27863,64 +26925,128 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - Name of wing the wing section. + UID of the structural profile. - + - Description of the wing section. - + Material settings. - - - + + + UID of the structure. + + - + - Sections of the wing. + Definition of the load carrying structure of the engine + pylon. - WingSections type, containing all the sections of the - wing. + - - - + + + + + + + + + - + - Segment of the wing. + Structural properties of struts (drag struts, upper + links and tangent links), if existing. + + + + + + + + + + + + + + + + + + + + + + + + radiativeForcingType + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rectangle - A segment defines which two wing elements (=cross - sections) are linked to one wing segment. - An example for wing segments can be found in the - picture below: + The width of the profile is always 1, since scaling is performed after referencing it (e.g., in the fuselage). + The resulting profile is defined by the following equation: - + + + with c = cornerRadius and r = heightToWidthRatio. + Example: Rectangle with cornerRadius=0.125 and heightToWidthRatio=0.5 + + @@ -27930,121 +27056,175 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of wing the wing segment. - - + + + + + + + Corner radius + + + + + + + + + + + - + - Description of the wing segment. - + + + + Height-to-width ratio + + + - - - Reference to the element from which the - segment shall start. - + + + + + + + + + + + recurringCostType + + + + + + + + + + + - - - Reference to the element at which the segment - shall end. - + - - - Optional and additional guidecurves to shape - the outer geometry. - + + + + + + + + + + + - - + - Segments of the wing. + Reference values - WingSegments type, containing all the segments of the - wing. + Reference type, containing the reference values of the + aircraft model - - - + + + + Reference area (typically planform area) + + + + + + Reference length (typically Mean Aerodynamic + Chord MAC). In CPACS, only one reference length exists (and is + used, e.g. for all three moment coefficients. Coordinates given + relative to MAC shall always use this length as MAC. + + + + + + Moment reference point (in global coordinate + system). The x-coordinate is typically chosen same as of the + leading edge of the wing in the spanwise section having a + chordlength identical to MAC. Coordinates given as %MAC shall + always use this x-coordinate and length (e.g. 0%MAC = x, 100%MAC + = x + length). The y coordinate is typically 0. The z coordinate + is often chosen either as 0., or as z of fueselage nose or as z + of middle of center fuselage part. + + + - + + + + + + + + + + + + + + + - Shells of the wing + Released stores - Within the wingShellType the upper and lower skin of a - and the skin stringers are defined. At 'skin' and 'stringer' the - skin and stringer properties of the complete componentSegment are - defined. If different skin or stringer properties should be - defined in a special region of the wing this can be done within - 'cells'. - If the stringer should not be defined explicite, they - can be defined implizite by defining an equivalent material layer - and using a composite as material. + + + - - - - - - + + + - + - Material properties of the wing skin. + Released store - The wingSkinType describes the material properties of - the wing. - For composites materials: the positive z-direction is - from the outer side to the inner side. - For composites materials: the reference axis for the - orthotropyDirection is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - orthotropyDirection equals the rotation around the z-reference - axis. For details, please refer to the picture below: - - - - + @@ -28053,9 +27233,17 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Material properties of the wing skin. + + UID of the released store. + + + + + + + Quantity of the released store. @@ -28064,190 +27252,92 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Wing spars + Remaining contributions to aerodynamic coefficients - - Spars type, a spar is defined by sparSegments that - stretch between multiple sparPositions. The spar definition is - very flexible in CPACS. Spars can start and end at any position - of the wing, spars can have kinks at any position of the wing - and spars can cross each other or merge. - At first the spar points (->sparPositions) have to - be defined. Spar points are defined using the relative - coordinates eta and xsi. Spar points do lay on wing middle - plane. - Two or more spar points are connected to on spar - segment (->sparSegments). Each spar segment can be seen as - one spar. The spar geometry between two spar points is defined - as a direct/straight connection in global coordinate system - and not in eta xsi coordinates of the component segment. - One spar point can be used by more than one spar, if - e.g. two spars are merging. The detailed cross section of the - spar is also defined with sparSegments. - Pleas find below a picture for an example definition - of 3 spars in one wing, by using spar position points and spar - segments: - - - - + + This node lists the remaining contributions which were not specified so that the sum of the coefficients are equal to the total coefficients. + - - - - + + + - + - Definition of the wing stringers. + Remaining contribution to aerodynamic coefficients - - Within the wingStringerType wing stringers are - defined. The stringer are defined by referencing on the - stringerStructureUID, where the shape and material settings of - one single stringer is defined. In addition the orientaion and - the stringer pitch have to be defined: - One stringer intersects the point at the given xsi and - eta position. - - - - Alternatively, an exlicit stringer definition can be - applied if the stringers shall be tapered. - + + This node lists a remaining contribution which was not specified so that the sum of the coefficients are equal to the total coefficients. + - - - - - - This is the simple and default stringer - definition - - - - The pitch describes the distance between to - adjacent stringers in the plane rectangular to the stringer - elongation direction. - - - - - - Stringer angle: the reference axis for the - stringer angle is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - stringers equals the rotation around the z-reference axis. For - details, please refer to the picture below. - - - - - - If the reference of the stringer angle shall - be different from the default implementation then this - parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to - provide the UID of a spar. - - - - - - This is the explicit stringer definition. - Please note that for a consistent definition two out of the - possible three elements innerBorder (xsiLE, xsiTE), outerBorder - (xsiLE, xsiTE) and stringer angle (and angle reference) must be - defined. Any combination of two of the three is valid - - - - - The number of stringers; default is 0 - - - - - - Stringer angle: the reference axis for the - stringer angle is defined by the two leading edge points of - the 'from'- and the 'to'-element of the componentSegment - definition. The angle between the reference axis and the - stringers equals the rotation around the z-reference axis. For - details, please refer to the picture below. - - - - - - If the reference of the stringer angle shall - be different from the default implementation then this - parameter may be set. Allowed values include: leadingEdge, - trailingEdge and globalY. Furthremore, it is possible to - provide the UID of a spar. - - - - - Inner border xsi coordinate at the leading - edge of the stringer definition - - - - - Outer border xsi coordinate at the leading - edge of the stringer definition - - - - - Inner border xsi coordinate at the trailing - edge of the stringer definition - - - - - Outer border xsi coordinate at the trailing - edge of the stringer definition - - - - - + + + + + Name + + + + + + + Description + + + + + + Type (numerical/unspecified): "numerical", for example, describes rounding errors to clearly + separate them from other effects currently labeld as "unspecified". + The latter usually summarizes physical effects such as viscosity and should be further described via "description". + The approach is currently being tested in practice in order to derive a robust definition of categories in the future. + + + + + + + + + + + + + + - + - wingStructuralMountsType + requirementType @@ -28257,54 +27347,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - + + + + - + - Wing type, containing all a lifting surface (wing, HTP, - VTP, canard...) of an aircraft model. + RibIdentificationType, defining one rib. - - Wing type, containing all a lifting surface (wing, - HTP, VTP, canard...) of an aircraft model. - Position of the wing: The position of the wing is - defined using the transformation parameters. Using those - parameters, the wing coordinate system is translated, rotated - and scaled. - Definition of the wings outer shape: The outer shape - of the wing is defined by airfoils that are placed within the 3D - space. Two airfoils are combined to one wing segment within the - segments. For the definition of the positions of the airfoils, - differnt sections are defined. Within each section one or more - elements are defined. The airfoil shape is defined within the - elements. If the wings outer shape should e.g. have a step it is - possible to define two different airfoils in one section by - using two elements. In most cases each section will only include - one element. Positionings are vectors that are used for an - additional translation of the sections by using 'user friendly - paramaters' as e.g. sweep and dihedral. Please note, the first - positioning may be non-zero. Often it will be zero just to - locate the wing at the position stated by the translation, but - this is not necessary. Finally the wing segments are defined by - combining two consecutive elements. A more detailed description - is given within the different parameters. - Definition of control surfaces, wing structures, wing - fuel tank and wing fuselage attachment: those parts are defined - within componentSegments. Please refer to the documentation - there. - - - - + @@ -28312,56 +27371,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name of the wing. - - - + - Description of the wing. + UID of the rib definition set. + - + - UID of part to which the wing is mounted (if - any). The parent of the wing can e.g. be the fuselage. In each - aircraft model, there is exactly one part without a parent part - (The root of the connection hierarchy). + Number of the rib of the rib definition set. + - - - - - - - - - - - - - - - - - - + - The two elements that where the structural connection - is placed. + Definition of the rib rotation - + The rotation around z describes the rotation around the + wings midplane normal axis. The defaults to 90°. The reference + for the 'zero-angle' of the z-rotation is defined in + ribRotationReference. @@ -28369,18 +27407,26 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Element uID of the element of the CURRENT - componentSegment where the structural connection is placed. - + RotationReference defines the reference for + the z-rotation it is either sparUID, „LeadingEdge“, + „TrailingEdge“, "globalX", "globalY" or "globalZ". + If it is not defined the rotation reference is + the eta-axis (=leading edge, that is projected on the wings + y-z-plane). A z-rotation angle of 90 degrees means, that the rib + is perpendicular on the ribRotationReference (e.g. spar, leading + edge...). The rib itself is always straight, and the rotation + is defined with respect of the intersection point of the rib + with the ribRotationReference. - + - Element uID of the element of the second - componentSegment where the structural connection is placed. - + The rotation around z describes the rotation + around the wings midplane normal axis. The defaults to 90°. The + reference for the 'zero-angle' of the z-rotation is defined in + ribRotationReference. @@ -28388,53 +27434,85 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Two spars that are structurally connected. + rivetJointAreaAssemblyPositionType - + RivetJointAreaAssemblyPosition type, containing a rivet + joint area assembly position - - - - Spar uID of the CURRENT componentSegment. - - - - - - Spar uID of the second componentSegment. - - - - + + + + + - + - wingWingAttachmentType + rivetJointAreasAssemblyType - Definition of the structural connection between two - wings resp. two componentSegments. Note: All structural - connections between two wings/componetSegments have to be defined - using wingWingAttachments. The wingWingAttachment has only be - defined in one of the two componentSegments, that are connected. - + RivetJointAreasAssembly type, containing rivet joint + area assemblys + + + + + + + + + + + + + + + + + + + rivetsType + + + Rivets type, containing rivets + + + + + + + + + + + + + + + + + + + rivetType + + + Rivet type, containing a rivet @@ -28442,44 +27520,60 @@ The fuel tank volume type should also be used for the wing fuel tank - + - UID of the componentSegment, that is connected - with the current one. + Name of the rivet type - - - + - Defines if the upper shell of the current - componentSegment is structurally connected to the upper or lower - shell of the second componentSegment. Can have the values - 'upperShell' or 'lowerShell'. + Description of the rivet type + - + - Defines if the lower shell of the current - componentSegment is structurally connected to the upper or lower - shell of the second componentSegment. Can have the values - 'upperShell' or 'lowerShell'. + Tensile Strength of the rivet type + + + + + + Shear Strength of the rivet type + + - + + + + + + + + + + + + + + + - wingWingAttachmentsSparsType + rotorAirfoilsType - + RotorAirfoils type, containing rotor airfoil + geometries. See profileGeometryType for further documentation + @@ -28487,21 +27581,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - List of wingWingAttachments. + rotorBladeAttachmentsType - + RotorBladeAttachments type, containing all hinges and + blade UIDs attached to the current rotor hub. @@ -28509,22 +27604,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - wingsAeroPerformanceType + rotorBladeAttachmentType - wingsAeroPerformance type, containing - wingsAeroPerformance + RotorBladeAttachment type, defining the elements used + to attach one or more rotor blades to the rotor head. @@ -28532,22 +27627,98 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Name of the blade attachment. + + + + + + Description of the blade attachment. + + + + + + + The azimuthAngles element is used to specify + a list of discrete azimuth angles (in deg) at which instances + of attached blades are to be created. The number of blades will + equal to the number of elements of the vector. E.g. + <azimuthAngles>0;90;180;270</azimuthAngles> for a + four blade rotor with equal equiangularly distributed blades. + The transformation of the respective rotor blade corresponds to + a rotation by azimuthAngle around the z axis of the rotor + coordinate system in mathematically positive sense of rotation. + + + + + + If only the number of blades is specified, + the attached blades will be distributed equiangularly and the + first blade will be attached at azimuth angle 0. (Formula: + azimuthAngle[i] = i*360deg/numberOfBlades, + i=0..numberOfBlades-1) + + + + + + Definition of all hinges used to attach the + rotor blade. + + + + + UID of the rotorBlade which should be attached + to the rotor hub. + + + - + - Wings + rotorBladesType - Wings type, containing all the lifting surfaces (wings, - HTPs, VTPs, canards...) of an aircraft model. + + RotorBlades type, containing all the rotor blade + gometry definitions of an rotorcraft model. + Rotor blade geometries are defined using the same data + structure as wings (wingType). But in order to be compatible + with the other rotor blade related types (e.g. rotorType, + rotorHubType, rotorHubHingeType) there are some additional + conventions/requirements regarding the definition and + orientation of rotorBlade geometries: + + Rotor blades should be positioned relative to the + global z-axis the way they will be positioned to the rotor + shaft (when blade azimuth=0deg). + The global x-axis should be used as radial axis + (usually the quarter chord line of the rotor blade coincides to + a great extent with the x-axis of the rotor blade coordinate + system). + All sections should be positioned in the positive + x halfspace. + Segments should connect sections with ascending x + coordinates. + Airfoils defined in the rotorAirfoils node should + be used instead airfoils from the wingAirfoils node. + + + + + + @@ -28555,22 +27726,38 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Rotor blade geometries are defined using the + same data structure as wings (wingType). But in order to be + compatible with the other rotor blade related types (e.g. + rotorType, rotorHubType, rotorHubHingeType) there are some + additional conventions/requirements regarding the definition and + orientation of rotorBlade geometries: see remarks. + + + - + - xsiIsoLineType + rotorcraftAnalysesType, results from several analysis + modules connected to CPACS - Iso line described by point of same xsi coordinate. - Can be either segment or component segment coordinates. + RotorcraftAnalyses type, containing detailed analysis + data of the rotorcraft + Within this element results from analysis modules are + stored that rely to the overall definition of the rotorcraft. + These include e.g. aerodynamic data or loadCases + For further documentation please refer to the + respective elements. @@ -28578,33 +27765,32 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Relative spanwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. - - - - - This reference uID determines the reference coordinate system. - If it points to a segment, then the eta value is considered to be in segment - eta coordinate; if it points to a componentSegment, - then componentSegment eta coordinate is used. - - + + + + + + + + + + + - + - zCouplingType + rotorcraftGlobalType - + RotorcraftGlobalType type, containing global data of + the rotorcraft @@ -28612,70 +27798,153 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Reference to the control surface that is - connected to this controll surface by the z-coupling.. - + Number of passenger seats - + - Material of the movable part of the - z-coupling. + Cargo transport capacity [kg] + - + - Definition of the attachment of the z-coupling - to this control surface. + Cruise Mach Number - + - Definition of the attachment of the z-coupling - to the other control surface. + Configuration of the rotorcraft: + standard(single main rotor, single tail rotor) / tandem / + coaxial/intermeshing / sideBySide/tiltRotor/tiltWing + - - + - zCouplingsType + massBreakdownType - + + + 1. General + + + The + massBreakeDown + is subdivided in + designMasses + , + fuel + , + payload + and + mOME + (operating empty mass). + + + designMass + + The design mass is a description from TLARs and can + be understand as design criteria. + + fuel + and + payload + + The fuel and payload mass are the maximum masses + which can be achieved. Full fuel tanks, all passengers on + board and full cargo holding. + + mOEM + + + The operation empty mass structure is based on the Airbus Mass + Standard brake down [AIRBUS MASS STANDARD 2008]. The + operator’s mass empty (OME) is defined by the sum of the + following component masses: + + operator’s items + manufacturer’s mass empty (MME) + + + + + + + 2. massDescription + + + Each sub component has the following + massDescription + which include a: + + Name + Description + parentUID + Mass value + Mass location + Mass orientation + Mass Inertia. + + + + That + massdescription + can be found at the + designMasses + direct under each item. At the + fuel + , + payload + and + mOME + under massDescription in each item and sub item. + + + + For the clean up the + mOME + there is consisting a script witch is programmed in Matlab but + also as standalone vision available. Setting for that tool can + be done under + toolspesifics/cmu + . + + + - - - - - - - Definiton of one z-coupling. - - - - + + + + + + + + + - + - damTolBehaviourType + Mass @@ -28686,27 +27955,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Damage tolerance law, Walker approach - - - + - Damage tolerance law, Forman approach + Manufacturer empty mass description + + + + - + - fatigueStressBasedBrownMillerType + Mass @@ -28716,38 +27984,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Parameter sigma_f [N/m^2] - - - - - Parameter b [-] - - - - - Parameter epsilon_f [-] - - - + + - Parameter c [-] + Group mass of hierarchy level 1 + - + + - + - damTolWalkerType + Mass @@ -28757,38 +28012,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Fracture toughness KIc [Pa m^0.5] - - - - - Parameter C0 [m/cycle] - - - - - Parameter m [-] - - - + + - Parameter gamma [-] + Group mass of hierarchy level 2 + - + + - + - damTolFormanType + Operating empty mass @@ -28799,206 +28041,139 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Parameter Kc [Pa m^0.5] - - - - - Parameter C2 [m/cycle] - - - + - Parameter m2 [-] + Operating empty mass description + + + - - - - - - - - - - The compartment defines an enclosed volume within the fuselage. It is defined by a set of border geometries. This could be pressureBulkheads, walls or floors and they are referred by their uIDs. The volume is closed with the fuselage skin. The geometry tool has to check, if the compartment definition gives a closed geometry. - - - - - - - - + - - The compartment defines an enclosed volume in the - fuselage. It is defined by a set of border geometries. - This could be pressureBulkheads, walls or floors and - they are referenced by their uIDs. The volume is closed - with the fuselage skin. The geometry tool has to check, - if the compartment definition gives a closed geometry. - + + + + rotorcraftModelType + + + RotorCraftModel type, containing a complete rotorcraft + model (Geometry and all specific data). The rotorcraftModelType + is basically a copy of the aircraftModelType with the following + additional elements: rotors, rotorBlades, driveSystems. + Furthermore the folowing elements have been adapted for + rotorcraft: global and analyses (aeroPerformance and + massBreakdown). + + + - - - - Compartment geometry uIDs list. - - - - + - - Name of the compartment. - + Name of rotorcraft model - + - - Description of the compartment. + Description of rotorcraft model - - - - Ideal design volume of the compartment. - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - UIDs of 2d structural fuselage elements - (e.g., pressure bulkheads, walls or - floors). The compartment will be - enclosed with the fuselage skin - - - - + - + - fatigueBehaviourType + Rotorcraft - + Rotorcraft type, containing all the rotorcraft models. + + Most of the extensions used in the rotorcraft type have + been defined as part of the work in the DLR project RIDE + (Rotorcraft Integrated Design and Evaluation, 2009-2012). + Therefore some of the definitions and conventions are tightly + coupled to the RIDE toolchain and tools. Further generalization + and assimilation of these parts to the definitions for fixed-wing + aircraft is planned for the near future. - - - - Fatigue law, stress based Brown Miller approach [N/m^2] - - - + + + - + - plasticityCurvesType + rotorHubHingesType - + RotorHubHinges type, defining hinges used to attach a + rotor blade to the rotor head. - Plastification curve incl. element elimination (isotropic - materials). The data may be used to describe the plastic behavior of isotropic - materials in non-linear analysis, such as crash simulations. The input is defined - according to the needs of Material 103 (single stress strain option) in the - PAM-CRASH explicit Finite Element code, but can also be used for equivalent material - laws in alternative simulation environment (see PAM-CRASH Solver Reference Manual., - Material 103). - + + + Definition of a flap, lead-lag or pitch hinge. + + + - + - This type describes the plasticity curve of isotropic - materials + rotorHubHinge type, containing a rotor hub hinge + (flap/leadLag/pitch). - ... - - Plastification curve incl. element elimination - (isotropic materials) - - Plastification curve incl. element elimination (isotropic - materials) The data may be used to describe the plastic behavior of - isotropic materials in non-linear analysis, such as crash - simulations. The input is defined according to the needs of Material - 103 (single stress strain option) in the PAM-CRASH explicit Finite - Element code, but can also be used for equivalent material laws in - alternative simulation environment (see PAM-CRASH Solver Reference - Manual., Material 103) - Source: PAM-CRASH V2010 - Notes Manual + RotorHubHinge type, containing a rotor hub hinge + (flap/leadLag/pitch) of a rotorcraft model. @@ -29007,405 +28182,291 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Name of the post failure definition - + Name of the hinge. - + - - Description of the post failure - definition - + Description of the hinge. - + + - - Strain rate for following plastcity - curve [1/s] - + Hinge type. Possible values: "flap", "pitch" + "leadLag". This is used to define the rotation axis of the hinge + (flap = y-axis in blade cs, pitch = x-axis in blade cs, lead-lag + = z-axis in blade cs). + + + + + + + - - - - + - - plasticEliminationStrain [-]; Plastic - strain for element elimination during - the non-linear analysis + The angle (in deg) at which the hinge is in + neutral position. This element is normally used to define + precone or prelag angles of the attached blade. Defaults to 0. - - - - - - - - - - + - - Definition of wall positions to place - walls inside fuselage. - + Static stiffness of the hinge in (N/m) for + linear hinges and (N.m/deg) for angular hinges. Default value: + +inf (statically rigid hinge) - + - - List of wall segments. + Dynamic stiffness of the hinge in (N/m) for + linear hinges and (N.m/deg) for angular hinges. Default value: + +inf (statically rigid hinge) + + + + + Damping of the hinge in (N/(m/s)) for linear + hinges and (N.m/(deg/s)) for angular hinges. Default value: +inf - + - + - Definition of wall positions to place walls inside fuselage. + + + + rotorHubType + + + RotorHub type, containing definitions for the rotor hub + and attached hinges and blades. + + + - - + + - Wall position definition specifying a point in the fuselage to be connected to a wall segment. + Name of the rotor hub. - - - - - - - - - - + - Wall segment definition. + Description of the rotor hub. + - - - - - - - - Definition of a wall position to place walls inside fuselage. - - - - - - - UID of a bulkhead determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - - UID of a wall segment determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - - UID of fuselage section determining the - x-coordinate of the position with the given - y- and z-coordinates. - - - - - - Absolute x-coordinate of wall position in fuselage coordinate system. - - - - - - Absolute y-coordinate of wall position in fuselage coordinate system. - - - - - Absolute z-coordinate of wall position in fuselage coordinate system. - - - - - - - - - - - - Defines extrusion direction. Rotation angle - around fuselage x-axis of extrusion direction. A - value of 0deg means fuselage z-axis as extrusion - direction. Default: 0.0deg. - - - - - - - - - - - - - - By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionaly extruded in negative direction as well. Default: false. - - - - - Rotates the first edge of the wall segment so that it is adjacent with the structural element defined in the first wall position (bulkhead, fuselage section or another plane wall). Default: false. - - - - - Rotates the last edge of the wall segment so that it is adjacent with the structural element defined in the last wall position (bulkhead, fuselage section or another plane wall). Default: false. - - - - - - A list of uIDs referencing other - structural/geometric elements that shall serve - as a boundary of the wall element. Possible - references are floor, wall or - genericGeometryComponent. A major requirement is - that the referenced element has an intersection - with the wall for at least the distance between - two wall positions. So that a full geometric - face of the wall is bounded by it. Neighbouring - wall faces that are not completely bounded by - the reference element are not affected. - - - - - - - Reference to the structural property definition - of this wall segment. - - - - - - - List of wall position uIDs that are used for - this wall segment. At least two positions must - be defined (for start and end position of wall). - If more than two positions are referenced here, - the wall is constructed out of several planar - faces that connect two consecutive positions - (Note: Order of position uIDs defines - connectivity). - - - - - - - - - - - A list of uIDs referencing other structural/geometric - elements that shall serve as a boundary of the wall - element. Possible references are floor, wall or - genericGeometryComponent. A major requirement is that - the referenced element has an intersection with the wall - for at least the distance between two wall positions. So - that a full geometric face of the wall is bounded by it. - Neighbouring wall faces that are not completely bounded - by the reference element are not affected. - - - - - - + - - UID referencing another - structural/geometric element that shall - serve as a boundary of the wall element. - Possible references are floor, wall or - genericGeometryComponent. - + Rotor head type. Possible values: "semiRigid", + "rigid", "articulated", "hingeless" + + + + + + + + + + + + + Rotor blade attachments are used to define how + many rotor blades are attached at which azimuth positions of the + rotor hub and the used hinges. - + + - + + + + + + rotorsType + + + Rotors type, containing all the rotors (mainRotors, + tailRotors, fenestrons, propellers, ...) of an rotorcraft model. + + + + + - - - Structural wall reinforcement definition specifying physical properties of a fuselage wall segment. - - + - + + + + + + Rotor type, containing a rotor (main rotor, tail rotor, + fenestron, propeller,...) of an rotorcraft model. + + + + Rotor type, containing a rotor (e.g. main rotor, tail + rotor, fenestron, propeller,...) definition of a rotorcraft + model. + The position and attitude of the rotor is defined + using the transformation element. The following image shows the + CPACS conventions for the orientation of rotors and rotor axis + systems: + + + + + The origin coincides with the center of rotation. + + The z-axis corresponds to the axis of rotation + and thus coincides with the rotor shaft centerline. It Points + in the main thrust direction of the rotor (usually upwards for + a main rotor, forwards for a propeller). + The x-axis points from nose to tail (usually + rearwards for main and tail rotors, upwards for a propeller). + + The y-axis completes the right-handed orthogonal + coordinate system. + + Rotor hub attributes, hinges and references to + attached rotor blades are defined in the rotorHub element. + + + Note that rotor blade geometries are only referenced and not + defined in the child nodes of the rotor element. Refer to the + documentation of rotorBladesType ( + Empty#T/rotorBladesType + ) and wingType ( + Empty#T/wingType + ) for information on the definition of rotor blade geometries. + + The following figure shows the transformations to be + applied to rotorBlade geometries to visualize them in the rotor + frames for a given state (each rotor: rotorAzimuth given, each + hinge: hingeDeflection given): + + + + + + + + - + - Reference to a sheet element definition specifying the physical properties of the wall's shell. + Name of the rotor. - + - Reinforcements running along the position polygon of the wall positions. + Description of the rotor. - + - Reinforcements running in lateral/radial direction in the wall segment plane. + UID of the part to which the rotor is mounted + (if any). The parent of the rotor can e.g. be the fuselage. In + each rotorcraft model, there is exactly one part without a + parent part (The root of the connection hierarchy). + - + - Reinforcement at inner side of wall. This is either, depending on the extrusion direction flag, the edge of the wall that connects the positions ("positiveDirection") or the edge of the wall where the wall intersects with the fuselage skin in the opposite direction of the extrusion direction. + Rotor type. Possible values: "mainRotor" + (default), "tailRotor", "fenestron" or "propeller".. + + + + + + + + - + - Reinforcement at outer side of wall. The outer side of the wall is defined as the edge of the wall at the intersection of the wall with the fuselage skin running along the main direction of the wall. - + Nominal value of the angular rotation speed in + rotations per minute (rpm). - + - - Lateral caps are the reinforcements of - the wall at the edges lateral to the - main direction of the wall. These caps - can be either defined at start, end, - start and end or at all wall positions - according to the placement flag. + Transformation (scaling, rotation, + translation). This element is used to define the position and + attitude of the rotor relative to the global or the parent + component's axis system. Note that an anisotropical scaling + transformation should not be applied to the rotor. - - - - - - - - - - - - - - - - - - - + + + The rotorHub element contains the definition + of the rotor hub type and number and azimuth angles of the + attached blades and their hinges. The rotor hub position and + attitude coincides with the rotor axis system's origin and z + axis. + - + + + + + + + + + + + + + - - - - - - Reference to wall position uID. - - - - - - - + - nacelleCowlType + runwayILSType - - Describes the cowl geometry for nacelles - using sections positioned around the - rotational center of the engine. + RunwayILS type, containing ILS data of a runway @@ -29413,73 +28474,104 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + + Position of the localizer antenna + + - - - + + + + Position of the glide slope antenna + + + + + + Angle of the glide path + + + + - - - - - - - - - - - - - - - + - nacelleCenterCowlType + Runway start position - - Describes the curve for defining rotational center of the engine. - + + + Description of the vehicle on the runway relative to the runway threshold. + + - - - - - + + + + + + X-position in cartesian coordinates in the runway coordinate system + + + + + + + Y-position in cartesian coordinates in the runway coordinate system + + + + + + + Z-position in cartesian coordinates in the runway coordinate system + + + + + + + + + Lengthwise distance along the runway centerline from the runway threshold + + + + + + + Lateral offset from the runway centerline. Positive values on the starboard side. + + + + + - + - Aerodynamic performance + runwaysType - - The aerodynamic coefficients and derivatives are stored in aerodynamic maps. Individual maps can be used to - gather the aerodynamic characteristics for specific boundary conditions. + Runways type, containing data of the airport's runways @@ -29488,33 +28580,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Aerodynamic map + runwayType - - - The aeroMap contains aerodynamic coefficients and derivatives for a specific set of aerodynamic - and configurative boundary conditions. - - The aeroMap allows for the simultaneous specification of multiple - controlDevice settings. - In this case, it is assumed that a cumulative setting is built by summing up the individual settings. The correct - sequence of this summation is described in the controlDistributorType documentation. - - + Runway type, containing data of a runway @@ -29524,84 +28604,125 @@ The fuel tank volume type should also be used for the wing fuel tank - Name + Name of runway + + + + + Description of runway - + - Description + Position in degrees north + + + + + Position in degrees east + + + + + Threshold elevation + + + + + Runway heading - + + + Takeoff run available + - + + + Landing distance available + - + + + Conditions of the runway + + - + - + - Boundary conditions + Seat elements - Specification of boundary conditions. + Seat element collection type - - - + + + + Seat element for use in the decks + - + + + + + + + + + + + Seat element + + + Seat element type, containing the base elements of the cabin + + + + + + + + - - Offset from temperature of the - atmospheric model [K]. For more details - on atmospheric models, please refer to - documentation of the <CPACS> root - element. - + Description - + + + - - Configuration settings - + Number of seats + - + - Control elements + Seat modules - Specification of control element settings. Control elements can be controlDistributors - or individual control devices, such as control surfaces or landing gears. + Seat module instance collection type. @@ -29609,228 +28730,146 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Seat module + - + - Control element + shaftLinkedComponentsType - Specification of an control element setting. A control element can be a controlDistributor - or an individual control device, such as a control surface or a landing gear. + ShaftLinkedComponents type, containing UIDs of engines, + transmissions and rotors linked by a shaft. - - - + + + - Reference to the uID of a control device, e.g. a control surface or a landing gear + UID of a linked engine. - + - Control parameter of the control device + UID of a linked transmission shaft input. + - - - + - Reference to a control distributor uID + UID of a linked transmission shaft output. + - + - Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. + UID of a linked rotor. - - + + - - - - - - Aerodynamic coefficients and derivatives - - - - - Description - - The aeroPerformanceMap contains a map - with aerodynamic data of the complete aircraft in the form of - nondimensional coefficients. The force coefficients in - i-direction (ci) - are nondimensionalized by dynamic pressure and reference area, - the moment coefficients (cmi) by dynamic pressure, reference - area and reference length. - - All coefficients in the aeroPerformanceMap relate to - the aerodynamic coordinate system which is deducted from the CPACS coordinate system by - the transformations of angle of attack and angle of yaw. See the documentation of the - CPACS element for further details. - - The dependend parameters of the aeroPerformanceMap are altitude, - machNumber, angleOfSideslip and - angleOfAttack. These elements are vectors of equal length, where values - with identical indices belong together. The solution vectors ci and - cmi have the same length as the input vectors. Shown below is an example where - with 10 values per vector: - - <altitude mapType="vector">12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02;12e+02</altitude> -<machNumber mapType="vector">0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2;0.2</machNumber> -<angleOfSideslip mapType="vector">0;0;0;0;0;2;2;2;2;2</angleOfSideslip> -<angleOfAttack mapType="vector">-2;0;2;4;6;-2;0;2;4;6</angleOfAttack> -<cd mapType="vector">0.056;0.094;0.132;0.17;0.208;0.072;0.11;0.148;0.186;0.224</cd> -<cs mapType="vector">0.;0.;0.;0.;0.;0.01;0.015;0.02;0.025;0.03</cs> -<cl mapType="vector">-0.1;0.04;0.18;0.32;0.46;-0.08;0.03;0.14;0.25;0.36</cl> - - The aerodynamic coefficients for altitude=1200m, machNumber=0.2, - angleOfSideslip=0° and angleOfAttack=6° can be found at the 5th index: - cd=0.208, cs=0 and cl=0.46. - - - - - - - - - - - - - - - Altitude [m] - - - - - - - Mach number - - - - - - - Sideslip angle [deg] - - - - - - - Angle of attack [deg] - - - - - - - Drag coefficient in aerodynamic - coordinates - - - - - - - Coefficient of the side force vector in - aerodynamic coordinates (perpendicular - to lift and drag) - - - - - - - Lift coefficient in aerodynamic - coordinates - - - - - - - - + + + + + + shaftsType + + + Shafts type, containing all the shafts of a drive + system. + + + + + + + + + + + + + + + + + + + shaftType + + + Shaft type defining a shaft used as a link between + drive system components. + + + + + + + + + + + - + - Increment maps for aerodynamic coefficients + sheet3DType + + + - - - + + + + + + - + - Increment map from aerodynamic coefficients + sheetBasedStrcuturalElementsType - The increment map is composed of two-dimensional arrays. The first dimension is given by the - length of the input vectors of the baseline aeroPerformanceMap and the second dimension by the vector of relative - deflections (or command inputs) of control surfaces (or control distributors). An example is described in the <CPACS> - root element. + sheetBasedStrcuturalElementsType, containing sheet + based structural element definitions @@ -29838,105 +28877,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Increment of drag coefficient in aerodynamic coordinates - - - - - Increment of coefficient of the side force vector in aerodynamic coordinates (perpendicular to lift and drag) - - - - - Increment of lift coefficient in aerodynamic coordinates - - - - - Increment of cmd - - - - - Increment of cms - - - - - Increment of cml - - + - - + - Aerodynamic limitations + sheetBasedStructuralElementType - - This map explicitly specifies limitations of a vehicle in terms of angles of attack and sideslip angles. - All vectors, i.e. altitude, machNumber, - angleOfSideslip and angleOfAttack, must have the - same length. To avoid redundancy with the aeroPerformanceMap, this type does not contain - any aerodynamic coefficients. - Since angleOfSideslip and angleOfAttack - are closely interdependent for a given machNumber and altitude - combination, a positive and negative maximum angleOfAttack is defined for a given combination of - machNumber, altitude and - angleOfSideslip. The limits of angleOfSideslip - can be determined by evaluating the nominal decrease of angleOfAttack values or by - agreeint with the data supplier that the minimum and maximum value of the angleOfSideslip - vector corresponds with physical limits. - In order to avoid data redundancy, the operational limits should not reflect the extrema of aerodynamic - coefficients as these can be extracted from the performanceMap via interpolation. - Note: In future CPACS versions, a revision of the aeroLimitsMap - will be targeted, since operational limits are not a purely aerodynamic issue. - + sheetBasedStructuralElementType type, sheet definition + for use in fuselage/structure @@ -29944,50 +28900,27 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Altitude [m] - - - - - - - Mach number - - - - + - - Angle of sideslip - + Material definition of the skin segment + (Material, thickness, (lay-up)) - - + - + - Increment maps for limitation values due to movable device deflections + sheetList3DType - Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control - surfaces or landing gears). + @@ -29995,22 +28928,23 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Increment maps for limitation values due to movable device deflections + List of sheets, connecting 2-dimensional profile + points. - Specification of aerodynamic coefficient increments due to movable device deflections (e.g., control - surfaces or landing gears). + SheetList type, containing a list of sheets. Each sheet + combines two points to one sheet. @@ -30018,118 +28952,43 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - Reference to an increment map of the aeroPerformanceMap - - - - - - Increments of the vehicle operation limits - - + - - + - Damping derivatives for positive and negative rotation rates + sheetPointsType - - - 0. General overview - - This type contains the damping derivatives. They are - split up into those derivatives for positive rotation rates, - and those for negative rotation rates. - - - - 1. <positiveRates> (optional) - - Damping derivatives, calculated by positive rotation - rates. - - - - 2. <negativeRates> (optional) - - Damping derivatives, calculated by negative rotation - rates. - - - + - - - - + + + - + - Damping derivatives + sheetType - This type contains aerodynamic performance maps with - the damping derivatives. The derivatives are calculated using - rotational rates [rad/s], normalized by: - Rate*ReferenceLength/flow speed. The rotations are performed - around the global axis directions with the aircraft model's - global reference point as origin. The damping derivative - performance maps are vectors of the same length as the input - vectors of the baseline aerodynamic performance maps, consisting of - semicolon separated values. + Sheet type, containing connection data of a sheet @@ -30138,148 +28997,153 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Change of cd by normalized roll rate - - - - - Change of cd by normalized pitch rate - - - - - Change of cd by normalized yaw rate - - - - - Change of cs by normalized roll rate - - - - - Change of cs by normalized pitch rate - - - - - Change of cs by normalized yaw rate - - - - - Change of cl by normalized roll rate - - - - - Change of cl by normalized pitch rate - - - - - Change of cl by normalized yaw rate - - - - - Change of cmd by normalized roll rate - - - + - Change of cmd by normalized pitch rate + Name of sheet within the profile definition + - + - Change of cmd by normalized yaw rate + Description of sheet within the profile + definition - + - Change of cms by normalized roll rate + Point from which the sheet definition starts + start - + - Change of cms by normalized pitch rate + Continuity definition for profile geometry + generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + tangential continuity), 2= C2 (defines curvature continuity) + 2=all + + + + + + + + + - + - Change of cms by normalized yaw rate + Definition of an orientation vector at P1 + - + - Change of cml by normalized roll rate + Point at which the sheet definition ends + - + - Change of cml by normalized pitch rate + Continuity definition for profile geometry + generation. 0= C0 (allows sharp edges, deafault), 1= C1 (defines + tangential continuity), 2= C2 (defines curvature continuity) + 2=all + + + + + + + + + - + - Change of cml by normalized yaw rate + Definition of an orientation vector at P2 + + - + + + Side strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) + + + + + + + - Vehicle operation limit + Sidewall panel elements - Vehicle operation limit defined by sets of minimum and maximum angleOfSideslip - and minimum and maximum angleOfAttack for a given altitude and Mach number. - This might be, e.g., a safety margin to the angle of attack at maximum lift or the flight - attitude a fighter aircraft is capable to fly in stalled conditions. The corresponding aerodynamic coefficients must - be extracted from the aeroPerformanceMap. + Sidewall panel element collection type - - + + - Minimum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] + Sidewall panel element for use in the decks - + + + + + + + + + + + Sidewall panels + + + Sidewall panel instance collection type. + + + + + + + + - Maximum angle of attack defining the operation limit. Must be a vector of the same length as angleOfSideslip, machNumber and altitude. [deg] + Sidewall panel + - + - + - Operation Limit Increments + singleGenericMassType - Changes of the deltas of operation limit angles with respect to the corresponding increment aeroPerformanceMaps. - Values are specified as an array with same indices like the corresponding increment map. + @@ -30287,54 +29151,54 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + + + + + Single-phase mass flow + + + + + + + + - Minimum delta angle of attack [deg] + + Pressure + - + - Maximum delta angle of attack [deg] + + Temperature + + - + - Toolspecific data + Skid landing gears - - This type contains a list of tools each specifying some basic tool information as well as the actual toolspecific part. - - The toolspecific elements must be defined in a separate namespace which can be specified and linked with the corresponding XSD file - in the CPACS header: - <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd" - xsi:schemaLocation="http://www.cpacs.de/myTool pathToToolspecificSchemaFile/toolspecific_myTool.xsd"> - - A simple example could look like this: - <toolspecific> - <tool> - <name>myToolName</name> - <version>1.2.3</version> - <myTool xmlns="http://www.cpacs.de/myTool" schemaVersion="1.0"> - <parentElement> - <childElement1>stringValue</childElement1> - <childElement2>1.0</childElement2> - </parentElement> - </myTool> - </tool> -</toolspecific> - + List of skid gears @@ -30342,23 +29206,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Tool identification + fuselageSkinSegmentType - - Tool information as described in the toolspecificType. - + FuselageSkinSegment type, containing material on skin + over circumference @@ -30366,41 +29229,74 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + + + + + fuselagePanelType + + + FuselagePanel type, panel of the fuselage between + stringers/ frames (new in V1.5) + + + + + + + + - - Name of the tool + UID of sheetBasedStructuralElement used for + the panel + + + + + UID of frame at start of the skin segment - + - - Version of the tool + UID of frame at end of the skin segment - + - - Wildcard for the root element of a toolspecific namespace + UID of stringer at start of the skin segment - - + + + + UID of stringer at end of the skin segment + + + + + - + - Global analysis information + skinType - + Containing data defining the skin @@ -30408,26 +29304,46 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Default UID of sheetBasedStructuralElement + used for the fuselage skin not covered by individual panels + + + - + - Load application points + Source / Sink + + + + + + + + + + + + + + + + SparCells of current spar. - - Multiple sets of scattered load application points can be defined. However, no specific information about the corresponding loads (e.g. whether aerodynamic or structural loads are involved) or mesh topologies are specified here, as such assumptions are tool-specific. - + sparCells are an optional Element. They are defined via + the etaCoordinates and define a region of special cross section + and material properties. @@ -30435,38 +29351,28 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Load application point set + Spar cell of the spar. - - A point set contains discrete spatial points at which loads are applied (e.g., aerodynamic or structural loads). A typical procedure in CPACS is as follows: - - - - Reference a wing, fuselage or control surface by its uID using the componentUID node. - Define a reference axis through the above component with the loadReferenceLine element to specify where a load distribution shall be applied. - Compute the intersections with (e.g.) ribs of the referenced component (wing, fuselage or control surface) and write the results into loadApplicationPoints. This procedure results from common practice where the forces in structural analyses are typically introduced at structural elements such as ribs and spars. With respect to preliminary aircraft design a two-dimensional load distribution is preferred. However, an arbitrary distribution of the load application points is possible (without the intersection of structural elements with a reference axis in the previous step), for example to define discrete load distributions on the wing surface in streamwise and spanwise direction. - Specify the location and orientation of cut loads in the cutLoadIntegrationPoints element and the corresponding connectivity information in the connectivities node. - - - - - + Within spar cells a special area of the spar is + defined where different cross section and material properties + shall be defined. + The area of the spar is defined by using the + parameters 'fromEta' and 'toEta'. The definition of the caps, + webs and rotation is equivalent to the cross section definition + of the complete spar. @@ -30475,145 +29381,217 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - UID of a wing, fuselage or control surface + Beginning (= inner border) of the spar cell. - + - - Reference axis (line) for load distribution + Ending (= outer border) of the spar cell. - + - - List of points at which load vectors are - applied to + Upper Cap - + - - List of points at which cut loads are applied to + Lower Cap + + + + + + Web 1 - + - - Specification of connectivity properties between points + Web 2 + + + + + + The angle between the wing middle plane and + web 1 [deg]. Default is 90 degrees. Positive rotation is around the + spar axis heading along with the positive eta-axis. - + - + - Vehicle configurations + Definition of the spar cross section. - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - + + Spar type, containing the cross section definition of + a spar. The spar middle point is defined by the intersection of + the wing middle plane and web1. This equals the coordinate + defined within the sparPosition. + Please find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + - - + + + + + + + + + The angle between the wing middle plane and + web1. Default is 90 degrees. Positive rotation is around the + intersection axis of the spar and the wing middle plane. The + positive heading of this axis is inline with the positive + heading of the componentSegment eta-axis. + + + + + + + + + + + + Spar definition points on the wing. + + + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Eta and xsi + are relative to the componentSegment. + Please find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + + + + + + + + + - + - Vehicle configurations + Spar position on the wing - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Eta and xsi + are relative to the componentSegment. + Please find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + As an alternative to the relative eta coordinate it is + possible to specify an elementUID so that the spar position is + relative to the outer geometry, e.g. kink, of the wing. + + - - - - - Name - - - - + + - - Description - + Defines a spar position on an existing rib using a relative xsi coordinate + to determine the chord wise position on that rib - - - + - - Deck configurations - + Defines a spar position using relative eta/xsi coordinates - - + + - + - Internal pressure of a deck + sparPositionUIDs of the spar. + + + sparPositionType, a sparPostion defines a location + within the componentSegment where a spar in mounted. Those + positions are combined to spars by using a list of spar position + uIDs. The order of the sparPositionUIDs must be the same as the + order of the points on the real spar (from root to tip or from + tip to root). + Pleas note: orientation of a spar must be allways + outbound or allways inbound. A zigzag spar orientation where + e.g. the spar starts at the root, goes to the tip and goes back + to another point at the root is not allowed. + Pleas find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + + - + - - Internal pressure of a fuselage, deck or compartment + List of spar position uIDs. @@ -30622,52 +29600,40 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Cabin pressure + Spar segments of the wing. - - Internal pressure of a fuselage, deck or compartment - + sparSegmentsType, containing multiple sparSegment + (=spars) of the wing. - - - - - UID of a fuselage, deck or compartment - - - - - - - Internal pressure [Pa] - - - - + + + - + - Load set + SparSegments (=spars) of the wing. - A set of forces and moments + SparSegmentType, each spar is defined by multiple + sparPositions that are referenced via their uID. The spar cross + section is defined in 'sparCrossSection'. @@ -30675,128 +29641,37 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Description - - - - - - - UID of load application point set (analysis/global/loadApplicationPoints) - - - - - - - Force in x-direction [N] - - - - - - - Force in y-direction [N] - - - - - - - Force in z-direction [N] - - - - - - - Moment around x-axis [Nm] - - - - - - - Moment around y-axis [Nm] - - - - - - - Moment around z-axis [Nm] - - - - - - - Nodal displacement in x-direction [m] - - - - - - - Nodal displacement in y-direction [m] - - - - - - - Nodal displacement in z-direction [m] - - - - - - - Nodal rotation around x-axis [deg] - - - - - - - Nodal rotation around y-axis [deg] - - - - + - - Nodal rotation around z-axis [deg] + Name of the spar segment (=spar). - + - - Load brake-down + Description of the spar segment (spar). + + - + - + - Load sets + Segments - - A list of load sets - + + + @@ -30804,24 +29679,54 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - Aerodynamic load cases + Specification of a segment uID and index of the parameter lapses - - Combines a set of aerodynamic load cases - + + + + + + + + + + + + + + + Vector with semicolon separated indices of the parameters within a segment. If not given then the complete segment is applied. + + + + + + + + + + + + + + Specific configuration uIDs + + + + + @@ -30829,23 +29734,23 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Aerodynamic load case + Connection between segments, pointPerformances and a configurationUID - - Specification of an aerodynamic load case - + + + @@ -30853,131 +29758,36 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name + Configuration uID - + + - Description + List of pointPerformanceUIDs - - - - - - - - - - Specification - - - - Specification of the vehicle properties and dynamics - - - - - - - - - - - Altitude - - - - - - - Mach number - - - - - - - Angle of sideslip [deg] - - - - - - - - Angle of attack [deg] - - - - - - - Target lift coefficient - - - - - - - - Normalized roll rate [rad/sec]. It is specified around the global x-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: pStar = p * reference length / flow speed. - - - - - - - Normalized pitch rate [rad/sec]. It is specified around the global y-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: qStar = q * reference length / flow speed. - - - - - - - Normalized yaw rate [rad/sec]. It is specified around the global z-axis - with the aircraft model's global reference point as origin and - nondimensionalized by: rStar = r * reference length / flow speed. - - - - - - - - Reference to a weight and balance description - - - - - - - + - Aerodynamic loads + Specific heat map, containing the specific heat capacity of a material at different temperatures. - - Description of the aerodynamic loads + The specific heat of a material can vary with the temperature. The vectors specificHeat and temperature + must have the same size to be valid. The data should be linearly interpolated. @@ -30986,38 +29796,30 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Angle of attack [deg] - + Temperature in [K] - + - - Angle of sideslip [deg] - + Specific heat capacity of the material in [J/(kg*K)] - - - + - Aerodynamic loads of components + specificPerformanceMapsType - - Specification of the aerodynamic loads of components - + Collection of all assignments of specific performance maps to selected mission segments @@ -31025,149 +29827,194 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Aerodynamic data of components + Specific performance map - - Aerodynamic data of individual components of the aircraft (e.g. control surface loads and hinge moments) - + + Applying a specific performance map to selected mission segments. In addition to the obligatory defaultPerformanceMapUID at least a segmentUID or pointPerformanceUID must be given. + - - + + - - Reference to a component uID - + UID of performance map to be used for mission segments - - + + + + + List of all mission segment UIDs to which the performance map is to be applied + + + + + List of point performance UIDs to which the performance map is to be applied + + + + + + List of point performance UIDs to which the performance map is to be applied + + + + - + - Aerodynamic loads of the vehicle + Speed designators - Description of the aerodynamic loads of the vehicle + Provides an enumerated list of V-speeds as defined by regulations. - - - - - - - - + + + + + + Design maneuvering speed + + + + + + + Design speed for maximum gust intensity + + + + + + + Design cruise speed, used to show compliance with gust intensity loading + + + + + + + Design diving speed, the highest speed planned to be achieved in testing + + + + + + + Designed flap speed + + + + + + + Stall speed or minimum steady flight speed for which the aircraft is still controllable + + + + + + + Stall speed or minimum flight speed in landing configuration + + + + + + + Stall speed or minimum steady flight speed for which the aircraft is still controllable in a specific configuration + + + + + + + Minimum control speed + + + + + + + Never exceed speed + + + + + + + Maximum operating limit speed + + + + + - + - Aerodynamic coefficients + Definition of the wings spoilers. - - A set of aerodynamic coefficients in the aerodynamic coordinate system - + Definition of the wings spoilers. - - - - - Drag coefficient in aerodynamic - coordinates - - - - - - - Coefficient of the side force vector in - aerodynamic coordinates (perpendicular - to lift and drag) - - - - - - - Lift coefficient in aerodynamic - coordinates - - - - - - - Aerodynamic moment around d-axis of the aerodynamic coordinate system - - - - - - - Aerodynamic moment around s-axis of the aerodynamic coordinate system - - - - - - - Aerodynamic moment around l-axis of the aerodynamic coordinate system - - - - - + + + - + - Drag contributions + Spoilers of the wing. - - The drag contributions relate to different physical mechanisms. The sum of the contributions does not have to be equal to the total drag. - + A spoiler is defined via its outerShape relative to the + componentSegment. The WingCutOut defines the area of the upper + skin that is removed by the spoiler. Structure is similar to the + wing structure. The mechanical links between the spoiler and the + parrent are defined in tracks. The deflection path is described + in path. Additional actuators, that are not included into a + track, can be defined in actuators. @@ -31175,84 +30022,45 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Drag contributions due to the displacement of the flow around a component. Zero for irrotational two-dimensional flows. - - - - - - - Drag contributions due to shear forces on surfaces - - - - - - - Drag contributions due to friction - - - - - - - Drag contributions due to energy loss through vortex structures caused by the pressure difference between the upper and lower sides of three-dimensional lifting surfaces. - - - - + - - Drag contributions due to mixing of streamlines between airframe components (e.g., interaction between wing and fuselage or pylon and wing). - + Name of the spoiler. - + - - Drag contributions due to energy dissipation in shock waves + Description of the spoiler. - + - - Drag contributions due to trimmed aircraft configuration + UID of the parent of the spoiler. The parent + is the componentSegment, where the spoiler is attached. + + + + + + + - + - Aerodynamic coefficients breakdown + Standard profile - - - Breakdown of the total aerodynamic coefficients into contributions - from the various vehicle componenents. A detailed breakdown is only specified - for the wing. Other components, such as the fuselage, are more generically - referred to as otherComponents. Since - the sum of the contributions within a breakdown must equal the total - coefficients, the remaining contributions must be listed in - remainingContributions. - - - The remainingContributions cannot be defined alone. Either the - definition of a wing, otherComponents - or both together is valid and can be combined with remainingContributions. - - + @@ -31260,30 +30068,22 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - + + - + - Aerodynamic contributions of the wings + State parameters list - - Contains a list of wings for which aerodynamic coefficients are specified + Contains a list of all state parameters. @@ -31292,133 +30092,125 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Aerodynamic contributions of a wing + State parameter definition - - - Describes the contributions of a specific wing to the total aerodynamic coefficients of a vehicle - - - It is obligatory to reference a wing via its uID and to provide its - coefficients. The breakdown of the coefficients comprises the segments - and remainingContributions. The latter must only be specified if segments - is given. - - + Contains the values of a parameter and its uid as reference. + - - - - - Reference to a wing uID - - - - - - - - - + + + + + + + - + - Aerodynamic contributions of wing segments + stiffnessType - - Contains a list of wing segments for which aerodynamic coefficients are specified - + - - - + + + + + + + + - + - Aerodynamic contributions of a wing segment + stringArrayBaseType - - - Describes the contributions of a specific wing segment to the total aerodynamic coefficients of a wing - - - It is obligatory to reference a segment via its uID and to provide its - coefficients. The breakdown of the coefficients comprises the strips - and remainingContributions. The latter must only be specified if strips - is given. - - + Base type for string array nodes (including maptype + array attribute) + DEPRECATED: As of CPACCS version 3.3, the mapType attribute is set to optional to ensure the compatibility of older data records. However, since the type is uniquely defined via the XSD, the attribute is superfluous and will therefore be completely omitted in future versions. - - - - - - - Reference to a wing segment uID - - - - - - - - - + + + - + - + - Aerodynamic contributions of strips within a wing segment + stringBaseType - - Contains a list of strips within a wing segment for which aerodynamic coefficients are specified - + Base type for string nodes (including external data + attributes) + + + + + + + + + + + + + + + + + + + stringerFramePositionType + + + + Description of individual stringer / frame postions + + + + @@ -31426,38 +30218,94 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + UID of profile based structural element + + + + + + + x position in absolute value + + + + + + UID reference to a fuselageSectionElement + + + + + + + y coordinate of reference system + + + + + + z coordinate of reference system + + + + + + angle definition to calculate intersection + with loft + + + + + + Continuity definition for profile extrusion: + 0= C0 (allows sharp edges, default), 2= C2 (defines curvature + continuity) + + + + + + + + + + + + + Definition of interpolation between different + profiles: 0= no interpolation 1= interpolation of strcutural + profile + + + + + + + + + + + - + - Aerodynamic contributions of a strip within a wing segment - - - - - Describes the contributions of a specific strip within a wing segment to the total aerodynamic coefficients of a wing segment - - The strip extends spatially between two eta coordinates (i.e., from an inner border to an outer border). - In order to avoid redundancy, the inner border (denoted as from) is always identical to the outer border of the previous strip (denoted by to). - Accordingly, only the to-border can be specified explicitly, while the from-border equals implicitly either to 0 - (for the first strip) or the toSegmentEta value of the previous element. The toSegmentEta of the last strip - must be equal to 1! + framePositionUIDs of the frame + + - It is obligatory to provide the coefficients of the strip. The breakdown comprises the chordwiseParts - and remainingContributions. The latter must only be specified if the breakdown into chordwiseParts - is given. This breakdown is optional. If it is specified, but the sum of all chordwiseParts does not match the strip coefficients, one or more remainingContributions may be applied - to ensure consistency (sum of all chordwiseParts + sum of all remainingContributions must be equal to total strip coefficients). + A framePostion defines a location where a frame in mounted. - @@ -31465,35 +30313,27 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Spanwise coordinate eta in the segment coordinate system to define the end of the strip - + framePositionUID of the frame, where the landing gear + is attached to. - - - - - - - + - Aerodynamic contributions of a chrordwise part within a wing segment strip + stringersAssemblyType - - Contains a list of chordwise parts within a wing segment strip for which aerodynamic coefficients are specified - + StringersAssembly type, containing an assembly of + stringers (new V1.5) @@ -31501,96 +30341,133 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Aerodynamic contributions of a chordwise part within a within a wing segment strip + arbitraryStringerType - - - Describes the contributions of a specific par within a wing segment to the total aerodynamic coefficients of a wing segment strip - - - A chordwisePart aescribes the contributions of a specific chordwise part within a wing strip - to the total aerodynamic coefficients of this strip. It extends spatially between the two eta - positions of the parent strip (see strip documentation) and four xsi positions in the segment coordinate system. - As with the parent stips, only the trailing border (..ToSegmentXsi) of a chordwisePart is defined, while the leading border always equals the trailing border of the preceding chordwisePart (or 0 for the first part). - To account for oblique trailing borders (e.g., to match the aileron on a tapered wing) two different toSegmentXsi positions can be defined, one at the inner border (innerBorderToSegmentXsi) and one at the outer border (innerBorderToSegmentXsi) of the parent strip. - The innerBorderToSegmentXsi and outerBorderToSegmentXsi of the last chordwisePart must be equal to 1. - - + ArbitraryStringer type, containing stringer definition + (CPACS V1.5+) - - - - - Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the inner eta border - - - - - - - Chordwise coordinate xsi in the segment coordinate system to define the end position of the chordwisePart at the outer eta border - - - - - - + + + + - + - Remaining contributions to aerodynamic coefficients + stringUIDBaseType - - This node lists the remaining contributions which were not specified so that the sum of the coefficients are equal to the total coefficients. - + This is the base type that links to other components. It should always contain a UID. + This node has an additional attribute isLink that will be used if a stringBaseType refers to a uID. TIXI can then + perform automatic validation for the existence of the referenced uID. + Furthermore this node contains an additional attribute symmetry. The symmetry attribute may take three values: symm, def, full + def: The element refers to the geometric component that has a symmetry attribute and refers only to the defined side of the geometric component. + symm: The element refers to the geometric component that has a symmetry attribute and refers only to the symmetric side of the geometric component. (Similar to the previous _symm solution) + full: The element refers to the geometric component that has a symmetry attribute and refers to the complete component. (This is the default behaviour) - - - - - + + + + + + + + + + + + - + - + - Remaining contribution to aerodynamic coefficients + stringVectorBaseType - - This node lists a remaining contribution which was not specified so that the sum of the coefficients are equal to the total coefficients. - + + Base type for string vector nodes + The vector base type can include optional uncertainty + information. The description of uncertainties is placed in + addtional attributes. First, it is described by an attribute that + describes the type of uncertainty function called functionName. + The functionName attribute includes the tag name of the + distribution function which is listened in the table shown below. + Each uncertainty function is further describes by a set of + parameters that are described in the table below. + If the uncertainty values change for the elements of + the vector than the attribute may be written as a list of values + separated by semicolons + DEPRECATED: As of CPACS + version 3.3, the mapType + attribute is set to optional to ensure the compatibility of older data sets. + However, since the type is uniquely defined via the XSD, the attribute is superfluous + and will therefore be completely omitted in the next major release (Note: requires + TiXI >= 3.3). Please contact the CPACS team + if for any reason you see a long-term need for the mapType + attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structural elements + + + structuralElements Type, containing the different structural + elements @@ -31598,385 +30475,331 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Name - - - - + + + + + + + + - - Description - - - - - - Type (numerical/unspecified): "numerical", for example, describes rounding errors to clearly - separate them from other effects currently labeld as "unspecified". - The latter usually summarizes physical effects such as viscosity and should be further described via "description". - The approach is currently being tested in practice in order to derive a robust definition of categories in the future. + Seat elements (Deprecation warning: This element will soon be removed from the official CPACS. Use the new seat modules located at cpacs/vehicles/deckElements!) - - - - - - - - - + - - + - Reference values for aerodynamic coefficients + structuralMountType - - Specification of reference values for aerodynamic coefficients. - + - - + + + - - Reference area + If this value is set to true then only the end points of the intersection shall be included as nodes in the model. - + - - Reference lengt + The UID for the first connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. - + - - Reference point + Optional counter to specify numbered items, e.g. ribs in a ribSet. - + - - Reference translation + The UID for the second connection UID may include for wings: skin, sparUID, ribDefinitionUID, ribNumber, stringerUID, stingerNumber, and for fuselages: skinSegmentUID, frameUID, stringerUID, crossBeamUID, crossBeamStrutUID, longFloorBeamUID. - + - - Reference rotation + Optional counter to specify numbered items, e.g. ribs in a ribSet. - + + - + - Aerodynamic contributions of the components + structuralProfile3DType - - Contains a list of components for which aerodynamic coefficients are specified - + - - - + + + + + + + - + - Aerodynamic contributions of a component + Definition cross sections of structural profiles. + - - Describes the contributions of a specific component to the total aerodynamic coefficients - + Structuralprofiles type, containing cross section + information of structural profiles. - - - - - Reference to a component - - - - - + + + + - + - Atmospheric model - - - Available options: ISA. See documentation of <CPACS> root element for further details. + 2-dimensional cross sections of structural profiles. - - - - - - - - - - - - - - - - - Flight Envelopes - - Specification of flight envelopes - + + StructureProfile type, containing data of a structure + profile cross sections. The cross section profile is defined by + several points (->pointList) in the x-y-space. Two points are + combined to one sheet (->sheetList) by using the pointUIDs. + + This profile is defined by several points in the + x-y-space. Allways two points are combined to one sheet. The + properties of each sheet are defined in the 'sheetProperties' + section by referencing on the sheetUID and the material + properties. The orthotropy direction of composite materials equals + the x-sheet axis. The orthotropy direction angle equals a positive + rotation around the z-sheet axis as indicated in the picture below + (part 3.), where a wing stringer is defined as an example: + + + + + - - + + + + Name of the structure profile. + + - + + + Description of the structure profile. + + + + + + List of structural profile points, only x and + y. + + + + + - - - - - - Flight Envelope - - - - Specification of a flight envelope - - - - - + - - + - Offset from temperature of the atmospheric model [K] - + Structural wall reinforcement definition specifying physical properties of a fuselage wall segment. - - - - - - - Flight envelope speed - - - - Specification of the V-speed - - - - - + - - + - - Vector with altitudes + Reference to a sheet element definition specifying the physical properties of the wall's shell. + + + + + Reinforcements running along the position polygon of the wall positions. + + + + + Reinforcements running in lateral/radial direction in the wall segment plane. + + + + + Reinforcement at inner side of wall. This is either, depending on the extrusion direction flag, the edge of the wall that connects the positions ("positiveDirection") or the edge of the wall where the wall intersects with the fuselage skin in the opposite direction of the extrusion direction. - + + + Reinforcement at outer side of wall. The outer side of the wall is defined as the edge of the wall at the intersection of the wall with the fuselage skin running along the main direction of the wall. + + + + - Vector with True Airspeeds + Lateral caps are the reinforcements of + the wall at the edges lateral to the + main direction of the wall. These caps + can be either defined at start, end, + start and end or at all wall positions + according to the placement flag. + - + - Speed designators + Strut assembly - - Provides an enumerated list of V-speeds as defined by regulations. - + Geometric description, spatial placement and specification of material parameters - - - - - - Design maneuvering speed - - - - - - - Design speed for maximum gust intensity - - - - - - - Design cruise speed, used to show compliance with gust intensity loading - - - - - - - Design diving speed, the highest speed planned to be achieved in testing - - - - - - - Designed flap speed - - - - - - - Stall speed or minimum steady flight speed for which the aircraft is still controllable - - - - - - - Stall speed or minimum flight speed in landing configuration - - - - - - - Stall speed or minimum steady flight speed for which the aircraft is still controllable in a specific configuration - - - - - - - Minimum control speed - - - - - - - Never exceed speed - - - - - - - Maximum operating limit speed - - - - - + + + + + + Strut properties + + + + + The starting point of the support strut must connect to the main strut. This element specifies the relative position on the main strut (0 -> top end, 1 -> bottom end). + + + + + + + + + + + + End position in absolute coordinates. Coordinates are relative to parent if it has a parentUID reference (otherwise global). + + + + + End position in eta/xsi/relHeight coordinates + + + + + End position as a relative position on another strut of this landing gear + + + + + + Attachment to an aircraft wing or fuselage component + + + + + Reference to an actuator uID + + + + + + - + - Landing gear base + + Strut properties + - - Base type for landing gears (i.e. nose gear, main gear and skid gear). - An example of a nose and main gear is shown below: - - - - + + Geometric description and material properties + of a strut + @@ -31984,613 +30807,503 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - - UID of the parent component. If set, the position of the main strut is defined relative to the parent coordinate system. - - - - - + - Total length of landing gear, equals the distance from the middle of the bogie/axles to the axis of rotation of the pintle strut. Distance is measured while landing gear is fully extended and in airborne condition (i.e., if a spring is present, the totalLength includes the springDeflectionLength) + (Outer) radius of the strut + - + - Static suspension travel means the positive distance between the total length in airborne condition and the reduced length due to compression on the ground. + Material of the strut - + - Compressed suspension travel means the positive distance between the total length in airborne condition and the maximum reduced length due to maximum compression on the ground (e.g., landing shock). + Inner radius of the strut + + + + + + + + Reference to structural element for a more + detailed cross section definition - - - Transformation with respect to the uppermost point of the main strut. From this point the landing gear is oriented in negative z-direction by default. - - - - - - - - - - - - - + - Landing gear control parameters + Geometric description and material properties of a strut - - - Parameters of a landing gear control such as extraction or steering. - - - - - - - - Retraction angle of the main landing - gear. Equals a rotation around the - global z-axis in degrees. 0 = retraction - to the front; 90 = retraction to the - left; 180 = retraction to the rear; 270 - = retraction to the right. - - - - - + + + - - Distance of the center of rotation to the top of the main strut - for retracting and extending the landing gear. I.e., a value of - 0 means that the landing gear will rotate around the upper end - of the main strut during retraction. If this value is greater - than 0, the center of rotation is shifted by this value above - the main strut end point (translation along the main strut axis). - + Length of the strut - + + - + - Landing gear control functions + Design study parameters and results - - A list of functions which can be addressed by the controlDistributor. + Contains optimization data such as definitions of design parameters and design studies. + + + - - - - Extension path - - - - - Steering path - - - - - Braking state - - - + + + + + + + + - + - Braking function + subFleetsType - - - Describes the braking state of the landing gear. - - + Contains a list of different sub fleets - - - - Control parameter indicating that the brake is set - - - - - Control parameter indicating that the brake is released - - - - + + + + + + + - + - Steering path + subFleetType - - - Describes the steering path of the landing gears via a list of steps. - - + Each fleet can be divided into sub fleet groups - - - - Step within the steering path - - - - + + + + + + Name of fleet + + + + + Description of the fleet + + + + + A ; separated list of all tailsign strings + + + + + + - + - Steering step + subLoadType - - - Describes a step with the steering path of the landing gear. - - + - - - - Step type (centered, fullBackboard or fullStarboard) - - - - - - - - - - - - Control parameter - - - - - Steering angle [deg] - - - + + + + + + + + + + + + + + - + - Extension path + Superellipse + A profile based on superellipses is composed of an upper and a lower semi-ellipse, which may differ from each other in their parameterization. The total width and height of the profile is always 1, since scaling is performed after referencing (e.g., in the fuselage). + This lowerHeightFraction describes the portion of the lower semi-ellipse on the total height. + The resulting profile is defined by the following set of equations: + + + + + + + with + + + + The following examples indicate the various possibilities of parametric profiles: - Describes the extension path of the landing gears via a list of steps. - - - - - - - - - - Step within the extension path - - - - - - - - - - - - Extension step - - - + Example 1: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (0.5; 2; 5; 3; 0.25) + + + - Describes a step with the extension path of the landing gear. Make sure to provide a least one step with stepType=extracted! - + Example 2: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (2; 2; 2; 2; 0.5) = a circle + + + + + Example 3: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (1; 1; 1; 1; 0.5) = a square / diamond + + + + + Note: For exponents that are infinitely large, the superellipse converges to a rectangle. However, the value Inf is not a valid entry at this point. Use the square element instead. - - - - Step type (retracted or extracted) - - - - - - - - - - - - Control parameter - - - - - Extension angle of the main strut [deg] - - - + + + + + + Exponent m for upper semi-ellipse + + + + + Exponent n for upper semi-ellipse + + + + + Exponent m for lower semi-ellipse + + + + + Exponent n for lower semi-ellipse + + + + + + Fraction of height of the lower semi-ellipse relative to the total height + + + + + + + + + + + + - + - Assembly of landing gear components + Main landing gear support beam + - - - Describes an assembly of the various landing gear components - - - - + Definition of the main landing gear support beam, if a + support beam is used for the attachment. The defintion includes + cross section properties as well as the position of the support + beam. - - - - Main strut - - - - - - - - - - Drag strut (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - - - - - - - Pintle strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - - Pintle strut (one or two pintle struts are supported) - - - - - - - - Side strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) - - - - + + + + + + + + - + - Strut assembly + System element - - Geometric description, spatial placement and specification of material parameters - - + - Strut properties + Name - + - The starting point of the support strut must connect to the main strut. This element specifies the relative position on the main strut (0 -> top end, 1 -> bottom end). + Description - - - - - - - + - End position in absolute coordinates. Coordinates are relative to parent if it has a parentUID reference (otherwise global). + List of basic component shapes + + + + + + + + + + + + + Volume - + + + - End position in eta/xsi/relHeight coordinates + Density - + - End position as a relative position on another strut of this landing gear + Mass - - - Attachment to an aircraft wing or fuselage component - - - - - Reference to an actuator uID - - - + - - - - - - - - - - - - + + + + + + System analyses + + + + + + + + + + + + + + + + + + + System architectures + + + + + + + + + + + - + - - Strut properties - + Parameters - - - Geometric description and material properties - of a strut - - - - - - - (Outer) radius of the strut - - - - - - Material of the strut - - - - - Inner radius of the strut - - - - - - - - Reference to structural element for a more - detailed cross section definition - - - - + - + - - Definition of the wing attachment - + Parameter - - - Definition of the wing attachment, if - attached to the wing. The definition - includes the position of the landing gear as - well as the information to which spars resp. - supportBeam the gear is attached. - - - - - - UID of the second spar, where the landing gear is attached to. Only used, if the landing gear is attached between two spars. - - + + + Name + + + + + Description + + + - + - UID of a set of ribs (ribDefinition) + Value - + - Number of the rib in the rib set (ribDefinition) + Unit - - - + - UID of the structural mount + UID of another assumption parameter - + - + - Main landing gear support beam - + System assumptions - - Definition of the main landing gear support beam, if a - support beam is used for the attachment. The defintion includes - cross section properties as well as the position of the support - beam. - - - + - + - - framePositionUIDs of the frame - + System assumption - A framePostion defines a location where a frame in mounted. + Examples: + <systemAssumption uID="someRandomUID1"> + <name>Draft lumped cooling system mass penalty</name> + <technologyStage>all</technologyStage> + <origin> + <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> + </origin> + <parameters> + <parameter uID="someRandomUID2"> + <name>powerSpecificMassPenalty</name> + <value>680</value> + <unit>W_{th}/kg</unit> + </parameter> + </parameters> +</systemAssumption> @@ -32598,257 +31311,132 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + - framePositionUID of the frame, where the landing gear - is attached to. + Name - - - - - - - - - - - Position of the landing gear on a wing - - - - Definition of the position of the landing gear - (intersection point of main strut and pintle sturt) on a wing, - using relative componentSegment coordinates - - - - - - - - + - Relative height of spar or rib at which landing gear is attached. - + Description - + - Relative spanwise position (eta) of spar at which landing gear is attached. + Description of the technology stage - + - Relative chordwise position (xsi) of the rib at which landing gear is attached. + Origin of the assumption + + - + - Definition of the main landing gear support beam - position + Components - - Definition of the main landing gear support beam - position - - - - Relative chordwise coordinate (xsi) of the - inner end of the support beam. The eta - position of the inner end is defined by the eta position of the - wing root (=wing-fuselage attachment). - - - - - Relative spanwise coordinate (eta) of the - outer end of the support beam. The xsi - coordinate of the outer end is defined by the spar position - (first spar), where the support beam is attached to. - - - + - + - Configuration + Component - - - Contains references to control control devices and (or) the global aircraft configuration node. - - - - + - - Reference to the aircraft configuration node (aircraft/model/configurations/configuration) - + Name - + - - State description of the control elements - + Description + + + + + UID of a system element (vehicles/systemElements) + + + + + Geometric (!) transformation + + + + + UIDs of the structural mounts + - - - - - - Standard profile - - - - - - - - - - - - - - - - - - + - Rectangle + System elements - - - The width of the profile is always 1, since scaling is performed after referencing it (e.g., in the fuselage). - The resulting profile is defined by the following equation: - - - - with c = cornerRadius and r = heightToWidthRatio. - Example: Rectangle with cornerRadius=0.125 and heightToWidthRatio=0.5 - - - - - - - - - - - - Corner radius - - - - - - - - - - - - - - - - - - Height-to-width ratio - - - - - + - + - Superellipse + Systems - A profile based on superellipses is composed of an upper and a lower semi-ellipse, which may differ from each other in their parameterization. The total width and height of the profile is always 1, since scaling is performed after referencing (e.g., in the fuselage). - This lowerHeightFraction describes the portion of the lower semi-ellipse on the total height. - The resulting profile is defined by the following set of equations: - - - - - - - with - - - - The following examples indicate the various possibilities of parametric profiles: - Example 1: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (0.5; 2; 5; 3; 0.25) - - - - Example 2: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (2; 2; 2; 2; 0.5) = a circle - - - - Example 3: (mUpper,nUpper,mLower,nLower, lowerHeightFraction) = (1; 1; 1; 1; 0.5) = a square / diamond + Systems type, containing the aircraft's control system + data + Please see the attached picture for further + documentation - + - Note: For exponents that are infinitely large, the superellipse converges to a rectangle. However, the value Inf is not a valid entry at this point. Use the square element instead. @@ -32857,56 +31445,55 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Exponent m for upper semi-ellipse + Node for geometrical layout of system components + based on simple geometric shapes + - + - Exponent n for upper semi-ellipse + Cockpit controls, e.g. stickRoll, pedals + - + - Exponent m for lower semi-ellipse + Different commandCases that are commanded, + e.g. roll, accelerate - + - Exponent n for lower semi-ellipse + Control Distributors, deliver inputs to the + control actuators. E.g. different angles of different ailerons. + - - - - Fraction of height of the lower semi-ellipse relative to the total height - - - - - - - - + + + Control laws, for regulated actuation + + - + - Performance Cases + tailplaneAttachmentAreaType - - Definition of missions and point performance events to evaluate the performance of a vehicle. - The definition of performance cases is independent from a specific vehicle. - + tailplaneAttachmentArea type, containing dat on + fuselage + structure to attach tailplaine + @@ -32914,71 +31501,55 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - - UID of the runway - - - - + + Definition of tailplane attachment area + (Standard + Configuration) + + + - - Offset from runway threshold in cartesian coordinates in the runway coordinate system + type of tailplane attachment: Currently + restricted to + 'Type1' and 'Type2' (see documentation) + + + + + + + + - - - - - - - - - - + - - UID of the runway + Definitions of VTP interface - + - - Offset from runway threshold in cartesian coordinates in the runway coordinate system + Definitions of VTP interface + - + - - Requirements - + takeoffPerformanceParametersType - Requirement settings for the point performance definition + @@ -32986,45 +31557,58 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Sustained load factor to be achieved + Take-off distance at liftoff speed VLOF. - + - - Instantaneous load factor to be achieved + Take-off distance at safety speed V2. - + - - Specific excess power to be achieved [m/s] - + Optimal speed Velev at point of initiating + take-off rotation by elevator deflection for a minimum take-off + distance. - + - - Roll rate to be achieved [deg/s] - + Optimal rotation speed VR for a mini-mum + take-off distance - + - - Roll acceleration to be achieved upon control onset [deg/s^2] + Liftoff speed VLOF. + + + + + Safety speed V2. + + + + + Take-off decision speed V1 + + + + + Minimum control speed ground VMCG. - + - - Roll acceleration to be achieved upon control stop [deg/s^2] + Flight path angle being achieved at V2 with + one engine failure in 400 ft height above ground. This is the + result of a post trim calculation using the deter-mined V2. If + the trim calculation fails the entry is set to -90. @@ -33033,15 +31617,39 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Controllability requirements + Structural properties of the tangent links, if + existing. The tangent links do connect the engine pylon with the + engine to carry the thrust forces. - Contains a list of controllability requirements + + + + + + + + + + + + + + + + + + + + simpleConnectionsType + + + SimpleConnections type, containing simple connections @@ -33050,21 +31658,21 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - + + - Trim requirements + simpleConnectionType - Contains a list of trim requirements + SimpleConnection type, containing a simple connection @@ -33073,103 +31681,120 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + Can be each structural member (skinSegment, + stringer, frame, paxCrossBeam, cargoCrossBeam, + paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, + floorPanel, seatModule) + + + + + Can be each structural member (skinSegment, + stringer, frame, paxCrossBeam, cargoCrossBeam, + paxCrossBeamStrut, cargoCrossBeamStrut, long. floor beams, + floorPanel, seatModule) + + - + - Controllability requirement + timeBaseType + + Base type for time nodes (including external data attributes) + This time type is based on the xsd:time definition. + "To specify a time zone, you can either enter a time in UTC time by adding a "Z" behind the time - like this: 09:30:10Z + or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this: + 09:30:10-06:00 + or + 09:30:10+06:00" (description taken from http://www.w3schools.com/xml/schema_dtypes_date.asp) + - - - - - - Name - - - - - Description - - - - - UID of point performance definition - - - - - UID of weight and balance description - - - - - - - + + + + + - + - + - Trim requirement + timeConstraintBaseType + + + Base type for time nodes including a relational operator attribute indicating valid constraint region + The timeConstraintBaseType extends the timeBaseType and thus inherits all its attributes. + + - - - - Name - - - - - Description - - - - - UID of a predefined flight point - - - - - UID of weight and balance description - - - - - - + + + + + + + + + + + + + + + + - + - - Trim - + Toolspecific data - Provides a list of trim cases + + This type contains a list of tools each specifying some basic tool information as well as the actual toolspecific part. + + The toolspecific elements must be defined in a separate namespace which can be specified and linked with the corresponding XSD file + in the CPACS header: + <cpacs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="pathToSchemaFile/cpacs_schema.xsd" + xsi:schemaLocation="http://www.cpacs.de/myTool pathToToolspecificSchemaFile/toolspecific_myTool.xsd"> + + A simple example could look like this: + <toolspecific> + <tool> + <name>myToolName</name> + <version>1.2.3</version> + <myTool xmlns="http://www.cpacs.de/myTool" schemaVersion="1.0"> + <parentElement> + <childElement1>stringValue</childElement1> + <childElement2>1.0</childElement2> + </parentElement> + </myTool> + </tool> +</toolspecific> @@ -33178,65 +31803,62 @@ The fuel tank volume type should also be used for the wing fuel tank - - + - + - - Trim case - + Tool identification - + + Tool information as described in the toolspecificType. + - + - Name - - - - - Description + + Name of the tool + - + - UID of trim requirement + + Version of the tool + - - - + - Description of the linear model + + Wildcard for the root element of a toolspecific namespace + - - - + + - + - Turn + topologyEntriesType @@ -33246,33 +31868,26 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - ... - - - - - ... - - - + + + - + - - Level flight - + topologyEntryType - + A topology entry is used to combine the dynamic aicraft + models of several components, e.g. wing and fuselage. By default + these will be stiff. If desired stiffness and rotation with + respect to the CPACS coordinate system may be specified. + @@ -33280,24 +31895,21 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Specific excess power - - + + + + - + - - Climb - + totalOperatingCostType @@ -33306,18 +31918,22 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + - + - - Descent - + trackActuatorType @@ -33325,77 +31941,79 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - Environmental conditions - - - - Specification of environmental conditions - - - - - - + - - Delta temperature - + Reference to the uID of the actuator of the + track. + + + + + Definition of the material properties of the + actuator to track attachment. + - + - Flight Cases + Joint coordinates + - - - + Definition of a joint coordinates. + - - - + + + + + + + + + + + + + + + + + + + + - + - Flight point + Specification of joint coordinates. + - - - + Specification of joint coordinates. + @@ -33403,50 +32021,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - Mach number - - - - - - - Calibrated air speed - - - - - - - True air speed - - - - - + - - + - Configurations which apply for this performance requirement + Set of joint coordinates + - - - + Definition of a set of joint coordinates. + @@ -33454,54 +32045,38 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - Default configuration uID - + Value of the command parameter of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - + - - - - - - Specific configuration uIDs - - - - - - - - - + - + + - + - Connection between segments, pointPerformances and a configurationUID + wingSparsType - - - + Spars type, a spar is defined by sparSegments that + stretch between multiple sparPositions @@ -33509,37 +32084,33 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - Configuration uID - - - - - - - - List of pointPerformanceUIDs - - + + + + + + + + + + - + - Segments + Definition of the struts of a control surface track. + - - - + Definition of the struts of a control surface track. + @@ -33547,23 +32118,23 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Specification of a segment uID and index of the parameter lapses + Definition of a strut of a control surface track. + - - - + Definition of a strut of a control surface track. + @@ -33571,30 +32142,35 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Vector with semicolon separated indices of the parameters within a segment. If not given then the complete segment is applied. - - + + + + + + + + + + + + - + - Released stores + Definition of the wings trailing edge devices. + - - - + Definition of the wings trailing edge devices. + @@ -33602,23 +32178,38 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Released store + Trailing edge device of the wing. - - - + A trailingEdgeDevice (TED) is defined via its + outerShape relative to the componentSegment. The WingCutOut + defines the area of the skin that is removed by the TED. + Structure is similar to the wing structure. The mechanical links + between the TED and the parrent are defined in tracks. The + deflection path is described in path. Additional actuators, that + are not included into a track, can be defined in actuators. + + Leading and trailing edge are defined by the outer + shape of the wing segments, i.e. the trailing edge of a + trailingEdgeDevice is the trailing edge of the wing. This is also + valid for kinks that are present in the wing but not explicitly + modeled in the control surface. + The edges of the control surface within the wing are a + straight line in absolute coordinates! Hence, there needs to be a + straight connection between the eta-wise outer and inner points + of the edge that is within the wing in absolute coordinates. + @@ -33626,115 +32217,92 @@ The fuel tank volume type should also be used for the wing fuel tank - + - - UID of the released store. + Name of the trailing edge device. - + - - Quantity of the released store. + Description of the trailing edge device. + + + + + + UID of the parent of the TED. The parent can + either be the uID of the componentSegment of the wing, or the + uID of another TED. In the second case this TED is placed within + the other TED (double slotted flap). In this way n-slotted TEDs + can be created. + + + + + + + + + + + Definition of cruise rollers/mid-span stops. + Those features are small rolls at the leading edge of a flap + that keep the flap within the bending wing at cruise + configuration. + + + + + Definition of interconnection struts. Those + struts connect two neighbouring flaps and are load carrying in + case of an actuator of flap track failour. + + + + + Definiton of z-couplings. Those elements + couple two neighbouring flaps in z-direction. + - + - Runway start position + Trajectories - - - Description of the vehicle on the runway relative to the runway threshold. - - + - - - - - - X-position in cartesian coordinates in the runway coordinate system - - - - - - - Y-position in cartesian coordinates in the runway coordinate system - - - - - - - Z-position in cartesian coordinates in the runway coordinate system - - - - - - - - - Lengthwise distance along the runway centerline from the runway threshold - - - - - - - Lateral offset from the runway centerline. Positive values on the starboard side. - - - - - + + + - + - Geometry + trajectoryGlobalType - - [WARNING: This type is known to be susceptible to - inconsistencies and might therefore be removed in a future version of CPACS] - - - The geometry of the cabin roughly corresponds to the available design space in the cabin. - It is given in terms of constant height contour lines. - The lines all share a common x-vector. - The y vector provides the lateral - contour at Z-coordinate provided by the constant value z. - One or more contour lines can be given. - The cabin geometry is assumed to be symmetric. - - - - - - + @@ -33742,62 +32310,65 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - + + + + + + + + - - - Description - + + + + + + - - - - Vector of x coordinates - + - + - Cabin geometry contours + trajectoryType - Cabin geometry contour line collection type. By providing more than one entry, - a 3D cabin space can be described. - + - - - + + + + + + + + - + - Cabin geometry contour + 2D transformation - Type to define a lateral position value "y" at a given height "z" (in the parent deck coordinate system) - for each entry "x" in the parent cabin geometry definition. - + @@ -33805,32 +32376,48 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Vector with y-coordinates + Scaling of the structural profile + - + - Height z + rotation around z-axis of profile definition + + + + + + translation of profile definition + + - + - Aisle + Transformation - Aisles has as many entries as there are aisles in the - cabin. In a normal single aisle there are two aisles: the cabin - aisle and the aisle leading to the cockpit. + Transformation type, containing a set of + transformations. The order of the transformations is scaling + -> rotation -> translation, and they are executed in this + order. Any of them can be omitted; it will be replaced by its + defaults. + Transformations are always executed relative to the + child not the parent. I.e. a scaling does not have an influence + on the parent item. For example in the outer geometry of a wing + the element scaling does not influence the section. Scaling does + also not effect rotation and translation. @@ -33838,59 +32425,49 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - + - Longitudinal coordinates. The - number of coordinates can be chosen as appropriate, the minimum - number is two. The coordinates are relative to the cabin origin. + Scaling data default: 1,1,1. Those parameters + describe the scaling of the x-, y-, and z-axis. - + - Center points of the aisle. The - y-vector has to have same length as the x-vector. The aisle - stretches equally left and right of the provided y-coordinate. + Rotation data default: 0,0,0. The rotation + angles are the three Euler angles to describe the orientation of + the coordinate system. The order is allways xyz in CPACS. + Therefore the first rotation is around the x-axis, the second + rotation is around the rotated y-axis (y') and the third + rotation is around the two times rotated z-axis (z''). - + - Width of the aisle at floor level at each - y-coordinate + Translation data default: 0,0,0. Translations + can either be made absolute in the global coordinate system + (absGlobal), absolute in the local Coordinate system (absLocal) + or relative (relative), normalized with the maximum dimensions + of the parent. - + - + - doorOpeningLegacyType + transmissionGearRatioType - doors describe all doors of the cabin. They are linked - to a structural door description. The cabin door is usually equal - in size to the door, but does not need to be. The structural door - might describe a wider cut-out, while the cabin door is primarily - intended for evacuation modeling and cabin layout. In order to - obtain a 3-dimensional door representation, the local cabin - geometry shall be used. + TransmissionGearRatio type, defining the ratio of + output rotation velocity to input rotation velocity. @@ -33898,83 +32475,46 @@ The fuel tank volume type should also be used for the wing fuel tank - - - This is the forward x-coordinate of the door - relative to the cabin origin. - - - - - the door sill height relative to cabin origin. - - - - - - The width of the door in x-direction. - - - - - - the effective height of the door. - - - - - - - - - - - - - + + - + - "doorOpeningType" + transmissionShaftInputsType - Ceiling panel instance collection type. + TransmissionShaftInputs type, defining the shaft inputs + of a transmission. - - - - + + + - + - Deck door + transmissionShaftInputType - doors describe all doors of the cabin. They are linked - to a structural door description. The cabin door is usually equal - in size to the door, but does not need to be. The structural door - might describe a wider cut-out, while the cabin door is primarily - intended for evacuation modeling and cabin layout. In order to - obtain a 3-dimensional door representation, the local cabin - geometry shall be used. + TransmissionShaftInput type, defining a shaft input for + a transmission. @@ -33982,57 +32522,23 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - - - Description - - - - - Number of passengers this door adds to the - overall exit capacity limit of the aircraft. - - - - - Opening geometry of the door - - - - - Door type (boarding, cargo, evacuation or service) - - - - - - - - - - - - + - + - + - Deck doors + transmissionShaftOutputsType - + TransmissionShaftOutputs type, defining the shaft + outputs of a transmission. @@ -34040,21 +32546,47 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Cargo containers + transmissionShaftOutputType - Cargo container instance collection type. + TransmissionShaftOutput type, defining a shaft output + for a transmission. + + + + + + + + + + + + + + + + + + + + + transmissionsType + + + Transmissions type, containing all the + transmissions/gearboxes of a rotorcraft model. @@ -34062,21 +32594,51 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + - Cargo container + transmissionType - Cargo container type for placing an instance of a cargo container in the parent deck. + Transmission type, defining a transmission/gearbox. + + + + + + + + + + + + + + + + + + + + + + + + + + Trim case + + + + @@ -34084,46 +32646,44 @@ The fuel tank volume type should also be used for the wing fuel tank - + Name - + Description - - - UID of the cargo container element in the cpacs/vehicles/deckElements node - - - + - Position in x + UID of trim requirement - + + + - Position in y + Description of the linear model - + - + - Seat modules + Trim requirements - Seat module instance collection type. + Contains a list of trim requirements + @@ -34131,51 +32691,62 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Seat module - + - + - Galleys + Trim requirement - - Galley instance collection type. - - - - - - - Galley - - - - - + + + + Name + + + + + Description + + + + + UID of a predefined flight point + + + + + UID of weight and balance description + + + + + + - + - Generic floor modules + + Trim + - Generic floor module instance collection type. + Provides a list of trim cases + @@ -34183,51 +32754,95 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Generic floor module - + - + - Lavatories + Turbofan engine analysis - Lavatory instance collection type. + - - + + - Lavatory + Thrust at takeoff - + + + Fan pressure ratio at takeoff + + + + + + Bypass ratio at takeoff + + + + + overall pressure ratio at takeoff + + + + + + Maximum rotations per second, shaft 1 + + + + + + Maximum rotations per second, shaft 2 + + + + + + Design tip relative mach number (FAN) + + + + + + DryMass of engine + + + + - + - Class dividers + Definition of the global engine geometry. - Class divider instance collection type. + + All engine geometry definitions refer to the engine + coordinate system. The engine coordinate system has its orgine + in the middle of the fan plan. The positive x-axis is heading to + the rear, the positive z-axis to the top and the y-axis + according to the right hand rule. + @@ -34235,26 +32850,71 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + length of engine + + + + + diameter of engine + + + + + + + + + + + + + + + - Class divider + Number of outlet guiding vanes + + + + + + Rotor stator spacing (relative to chordlength) + + + Rotation direction of the engine if looking at + it from the front, i.e. from propeller/fan to exhaust + + + + + + + + + + + - + - Sidewall panels + Turbofan engine performance maps - Sidewall panel instance collection type. + @@ -34262,201 +32922,195 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Sidewall panel - - - + - + - Luggage compartments + Turbofan engine performance map - - + + + + + + + + Flight Level + + + + + Mach number + + + + + Absolute thrust [N] + + + + + Fuel mass flow + + + + + Speed at core engine nozzle + + + + + + Total temperature at core engine nozzle + + + + + + Mass flow through core engine nozzle + + + + + + Speed at bypass nozzle + + + + + Total temperature at bypass nozzle + + + + + + Mass flow through bypass nozzle + + + + + + Percent of n1Max, shaft 1 + + + + + Percent of n2Max, shaft 2 + + + + + Fan pressure ratio + + + - Luggage compartment + Fan efficiency + + + + + Turbine entry total temperature - - - - - - - - - - - Ceiling panels - - - Ceiling panel instance collection type. - - - - - - - - + - Ceiling panel + Emission index Carbon Monoxide - - - - - - - - - - - Structural mounts - - - Structural mount type containing the structural connections of cabin elements - - - - - - - - - - - - - - - - - - - Structural mount - - - Structural mount type containing the structural connections of cabin elements - - - - - - - - + - Name + Emission index Nitrogen Oxide + - + - Description + Emission index Sulfur Oxide + - + - UID of the component to connect to + Emission index Soot - - - - - - - - - - - - Bounding Box - - - - - - - - + - Length in x + Emission index unburned hydrocarbon + - + - Length in y + air density at core outlet 8 + - + - Length in z + air density at bypass outlet 18 + - + - Origin + area at core outlet + + + + + area at bypass outlet + - + - Geometry + Turbofan engines - - Description of the deck element geometry. This might be either a bounding box definition or a link to a generic geometry component. - - - - - + + + - + - Cargo container element for use in the decks + Turbofan engine - - - - - + Engine type, containing engine data. @@ -34464,92 +33118,97 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Description + Name of engine - - + - Contour: single or double + Description of engine + + + + + + Concept of engine - + - - + + + - - - Delta x - - - - - - Delta y - - - - - - Delta y of the base - - - - - - Delta z - - - - + - Delta z kink + Year of first certification + - + - + - Cargo container elements + Turboprop engine analysis - Cargo container element collection type + - - - + + + + Thrust at takeoff + + + + + Design tip relative mach number (FAN) + + + + + + Dry-mass of engine + + + + - + - Ceiling panel + Definition of the global engine geometry. - Ceiling panel element collection type + + All engine geometry definitions refer to the engine + coordinate system. The engine coordinate system has its orgine + in the middle of the fan plan. The positive x-axis is heading to + the rear, the positive z-axis to the top and the y-axis + according to the right hand rule. + @@ -34557,25 +33216,84 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Ceiling panel element for use in the decks + Length of engine + + + + + Rotation direction of the engine if looking at + it from the front, i.e. from propeller/fan to exhaust + + + + + + + + + + + + + + Length of engine + + + + + Length of engine + + + + + Length of engine + + + + + + + + + + Propeller diameter + + + + + Number of propeller blades + + + + + Hub to tip ratio + + + + + + + + + - + - Class divider + Turboprop engine performance maps - Class divider element collection type + @@ -34583,177 +33301,219 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Class divider element for use in the decks - - + - + - Deck elements + Turbofan engine performance map - - A list of predefined elements which can be linked in the actual deck of the aircraft or rotorcraft model via referencing its uID. - - + - Ceiling panel elements for use in the decks + Name of the engine - + - Class divider elements for use in the decks + Description of the engine + + + + + + + Flight Level - + - Galley elements for use in the decks + Mach number - + - Generic floor elements for use in the decks + Absolute thrust [N] - + - Lavatory elements for use in the decks + Fuel mass flow - + - Luggage compartment elements for use in the decks + Turbine entry total temperature + - + - Seat elements for use in the decks + Emission index Carbon Monoxide + - + - Sidewall panel elements for use in the decks + Emission index Nitrogen Oxide + - + - Cargo container elements for use in the decks + Emission index Sulfur Oxide + + + + + + Emission index Soot + + + + + Emission index unburned hydrocarbon + + + + + + air density at core outlet 8 + + + + + + air density at bypass outlet 18 + + + + + + area at core outlet + + + + + area at bypass outlet + - + - Galley element + Turboprop engines - - Galley element type, containing the base elements of the cabin - - - - - Description - - - - - - - Number of trolleys - - - - + + + - + - Galley elements + Turbofan engine - Galley element collection type + Engine type, containing engine data. - - + + - Galley element for use in the decks + Name - + + + Description + + + + + + Year of first certification + + + + + + - + - Lavatory elements + Turboprop nacelle - Lavatory element collection type + + Turboprop nacelle + + + + - - - - Lavatory element for use in the decks - - - + + + + + + + - + - Luggage compartment elements + UIDGroupDefinitionsType - Luggage compartment element collection type + @@ -34761,69 +33521,58 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Luggage compartment element for use in the decks - - + + - + - Seat element + UIDGroupDefinitionType - Seat element type, containing the base elements of the cabin + - - - - Description - - - - - - - Number of seats - - - - + + + + + + + + - + - Seat elements + List of uIDs - - Seat element collection type - - + - Seat element for use in the decks + + Reference to a uID + @@ -34831,15 +33580,23 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + + - Generic floor elements + updatesType - Generic floor element collection type + Updates type, containing update data for the CPACS + dataset @@ -34847,48 +33604,72 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Generic floor element for use in the decks - - + - + - Sidewall panel elements + updateType - Sidewall panel element collection type + Update type, containing a datablock for each update of + the CPACS dataset - - + + - Sidewall panel element for use in the decks + Description of Modification of CPACS data + - + + + Creator of CPACS modification + + + + + + Timestamp of CPACS modification + + + + + + New version number of CPACS dataset after + modification + + + + + CPACS version that the dataset is valid to + + + + - + - Generic geometry component + Structural properties of the upper links, if existing. + The upper links do connect the upper forward part of the pylon + box with the forward wing attachment. @@ -34898,121 +33679,116 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - + + + - - + + - Deck component + List of segments that are allowed to be varied within a mission optimization. + + + Provides a list of segments having variable conditions within the segmentBlock. + Example: a segmentBlock containing takeOff, climb, cruise, decent, landing segments has a cruise segment for which the range is variable. + The range of this segment is then to be calculated using the range defined for the segmentBlock while concerning the known ranges of all + other segments within the segmentBlock. + This concept needs to be practically tested. Does it suffice to mention (a list of) segments that are free to change to fit the overall block constraints? What happens if a segment is variable, though it has some constraints? When to define a segment as variable (climb until endPosition z, then endPosition x should be left free. Is the segment then variable? Probably not.). Somehow the 'free' segment should be in between fully defined segments (i.e.: a cruise+descent in between endPosition z == ICA and endPosition z == 0 for landing to define max range. How to define this exactly?) + - - - - Name - - - - - Description - - - - - UID of the corresponding element in the cpacs/vehicles/deckElemets node - - - - - - + + + - - + + - Deck component + variableSegmentType + + + Containing the definition of variable segments for a segment block + + - - - Name - - - + - Description + defines uID of the segment having variable conditions - + - UID of the corresponding element in the cpacs/vehicles/deckElemets node + defines which condition(s) are variable within the segment (must be one of the defined + endConditions for the segmentBlock) + + + + + + + - - - - - + + - Deck element + Vehicle configurations + + + List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) + + - - - - Description - + + - - - - + - + - Mass + Vehicle configurations - Description of mass, center of gravity and inertia + + List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) @@ -35021,502 +33797,728 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Mass value + + Name + - + - Center of gravity (x,y,z) + + Description + + + + + + + + + Deck configurations + - - + - + - System elements + Vehicles + + + The vehiclesType contains all vehicle-specific + data. + This includes the vehicle itself (i.e. aircraft + and rotorcraft). Furhtermore, components + (e.g. engines, structuralElements, etc.) + as well as physical properties of materials and + fuels can be predefined for easy and consistent reuse via + uID-references. + + - + + + + + + + + + + + + - + - Batteries + vtpFrameDefType + + Definition of the individual VTP attachments + + - - - + + + Definition of tailplane attachment area + (Standard Configuration) + + + + UID of the fuselage frame at this VTP + attchment + + + + + Flag for option for VTP attachment between + defined FrameUID and the next one + + + + + UID of panel element at VTP attachment (shell + elements) + + + + + UID of structural element at VTP attachment + (base, beams) + + + + + UID of structural element at VTP attachment + (horizontal, beams) + + + + + UID of structural element at VTP attachment + (radial, beams) + + + + - + - Battery + vtpInterfaceDefType + + Definition of the interface of the VTP + - + - + + Definition of the VTP interface + + + - UID of an electric energy carrier + Definition of the VTP attachment frames and + their + reinforcement + + + + + + Defines area for valid x-position of VTP (just + used + if attachmentpoint is directly based on frame) ==> check and + potentially warning message + + + + + + Definition of the max. distance between + fuselage and + the defined VTP pins ==> check and potentially warning + message + + + + + + Definition of reinforcement area at VTP frame + positions (relative coordinate, smaller than + 1.0) + + + + + + Definition of vertical reinforcements at VTP + frame + positions (relative coordinate, smaller than + 1.0) + + + + + + value to change from horizontal to radial + reinforcements for VTP frame plates + + + + + + UID of elements to connect VTP pins with + fuselage + (beam elements) + + - + - - - - System element - - - + Definition of wall positions to place walls inside fuselage. - - - Name - - - + - Description + Wall position definition specifying a point in the fuselage to be connected to a wall segment. - - - - List of basic component shapes - - - - - - - - - - - - - Volume - - - - - - - Density - - - - - Mass - - - - - - + + - - - - Components - - - + Definition of a wall position to place walls inside fuselage. + + + + + + UID of a bulkhead determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + + UID of a wall segment determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + + UID of fuselage section determining the + x-coordinate of the position with the given + y- and z-coordinates. + + + + + + Absolute x-coordinate of wall position in fuselage coordinate system. + + + + + + Absolute y-coordinate of wall position in fuselage coordinate system. + + + + + Absolute z-coordinate of wall position in fuselage coordinate system. + + + + + + + + + + + + Reference to wall position uID. + + + + + + + - + + + Wall segment definition. + + - - - - - - Component - - - - + + + + + + Defines extrusion direction. Rotation angle + around fuselage x-axis of extrusion direction. A + value of 0deg means fuselage z-axis as extrusion + direction. Default: 0.0deg. + + + + + + + + + + + + + + By default, the wall is only extruded in positive direction. If doubleSidedExtrusion is true, the wall is additionaly extruded in negative direction as well. Default: false. + + + + + Rotates the first edge of the wall segment so that it is adjacent with the structural element defined in the first wall position (bulkhead, fuselage section or another plane wall). Default: false. + + + + + Rotates the last edge of the wall segment so that it is adjacent with the structural element defined in the last wall position (bulkhead, fuselage section or another plane wall). Default: false. + + + + + + A list of uIDs referencing other + structural/geometric elements that shall serve + as a boundary of the wall element. Possible + references are floor, wall or + genericGeometryComponent. A major requirement is + that the referenced element has an intersection + with the wall for at least the distance between + two wall positions. So that a full geometric + face of the wall is bounded by it. Neighbouring + wall faces that are not completely bounded by + the reference element are not affected. + + + + + + + Reference to the structural property definition + of this wall segment. + + + + + + + List of wall position uIDs that are used for + this wall segment. At least two positions must + be defined (for start and end position of wall). + If more than two positions are referenced here, + the wall is constructed out of several planar + faces that connect two consecutive positions + (Note: Order of position uIDs defines + connectivity). + + + + + + + + - + - Name - - - - - Description - - - - - UID of a system element (vehicles/systemElements) - - - - - Geometric (!) transformation + + Definition of wall positions to place + walls inside fuselage. + - + - UIDs of the structural mounts + + List of wall segments. + - - - - - - - - - - - System analyses - - - - - - - - - - + - System architectures + webType + + + SparWeb type, containing the cross section area of the + spar web and the material properties. + Pleas find below a picture where all spar cross + section parameters as well as the orientation refereneces for + the material definition can be found: + + + + + - + + + Material definition of the spar web. + + + + + + relPos ranges from 0 to 1 It defines the + position of the web relative to the caps (see picture below).. + + + - - - - - - - Energy storages - - - - - - - - - - - - - - - + + + - Energy storage + weightAndBalanceCaseType + + WeightAndBalanceCase type, containing weight and + balance data for one case + - - - - - - - - - + + + + + + + + + + + + - - + + - Generic system architectures + weightAndBalanceFuelInTanksType + + + - + - - + + - Generic system architecture + weightAndBalanceFuelInTankType + + + - - - Name - - - + + + + + + - Description + Ranges from 0 for empty tank to 1 + - - - - + + - Graph description + weightAndBalanceFuelType + + + - - + + + + - + - Blocks + weightAndBalancemCargosType + + For a higher ganularity it is possible to add more + information on the actual Cargo that are included in the + operational case. Please note that the information needs to be + identical with the massBreakdown. Hence, only links via uIDs can + be specified. + - + + + + - - + + - Block + weightAndBalancemPaxxType + + For a higher ganularity it is possible to add more + information on the actual Pax that are included in the + operational case. Please note that the information needs to be + identical with the massBreakdown. Hence, only links via uIDs can + be specified. + - - - Name - - - - - Description - - - - - - Reference to uID of a geometric component installed in the vehicle (e.g., .../vehicles/aircraft/model/systems/genericSystems/genericSystem/components/component) - - - - + + + + - - + - Edges + weightAndBalancePayloadType + + + - - - + + + + + + + - + - Edge + Weight and balance + + WeightAndBalance type, containing weight and balance + datasets + - - - UID of the block from which the edge begins - - - - - UID of the block to which the edge goes - - + + - + - System assumptions + Definition of the landing gear wheel. + + The center plane of the wheel is located on the end point of the axle. + - - - + + + + Wheel radius + + + + + With of the wheel + + + + + Brake: false = + not braked; true = braked. + + + + - - + + - System assumption + windowAssemblyPositionType - - Examples: - <systemAssumption uID="someRandomUID1"> - <name>Draft lumped cooling system mass penalty</name> - <technologyStage>all</technologyStage> - <origin> - <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> - </origin> - <parameters> - <parameter uID="someRandomUID2"> - <name>powerSpecificMassPenalty</name> - <value>680</value> - <unit>W_{th}/kg</unit> - </parameter> - </parameters> -</systemAssumption> - + WindowAssembly type, containing an the position of a + windows assembly @@ -35524,1388 +34526,1809 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Name + UID of the window element to be used + - + - Description + x position of window elemment on global x axis + - + - Description of the technology stage + z position of window elemment refernce point + - + - Origin of the assumption + angle around global x axis to define window + position with respect to positionX and postionZ + - - + - - + + - Origin + windowsAssemblyType + + WindowsAssembly type, containing an assembly of windows + + - - - - Link to external file - - - - - - - - - - - - Name of a tool which was applied to derive this assumption - - - - - - - - - - - + + + - + - Parameters + windowsType + + Windows type, containing windows + - + + - + - Parameter + wingAeroPerformanceType + + wingAeroPerformance type, containing perfomance maps + with aerodynamic data of a wing. + - - + + - Name + Reference to the uID of the analysed wing + - + - Description + References used for the calculation of the + force and moment coefficients of the wing (in the wing axis + system!) - - - - - Value - - - - - Unit - - - - - - UID of another assumption parameter - - - - - + + + Calculated aerodynamic performance maps of the + wing + + + - + - Power breakdowns + wingAirfoilsType + + WingAirfoils type, containing wing airfoil geometries. + See profileGeometryType for further documentation + - - + - - + + - Power breakdowns + Position of the landing gear on a wing + + + Definition of the position of the landing gear + (intersection point of main strut and pintle sturt) on a wing, + using relative componentSegment coordinates + - - - + + + + Relative height of spar or rib at which landing gear is attached. + + + + + + Relative spanwise position (eta) of spar at which landing gear is attached. + + + + + Relative chordwise position (xsi) of the rib at which landing gear is attached. + + + - - + + - Power breakdowns + Cells of the wing. + + WingCells type, containing all the cells of the wing. + + - + - + - Power breakdown case + Cell of the wing + + + A cell defines a special region of the wing. Within + this region skin and stringer properties can be defined that + differer from the properties of the rest of the wing. In general + a cell is defined by defining four borders – the cell leading + and trailing edge and the inner border and the outer border. + Those borders can either be defined by using eta/xsi coordinates + or by referencing to spars and ribs. Mixed definitions (e.g. + forward border is defined due to a spar, side borders due to eta + coordinates) is allowed. In general a cell is quadrilateral. But + if e.g. the spar, which is used for the definition of the + trailing edge, has a kink, the cell can have more than four + corners. + The cell leading and trailing edge (= forward and rear + border) can either be defined by referencing to a spar + (->sparUID) or by the defining the xsi (=relative chord) + coordinates of the border (xsi1 = inner end; xsi2 = outer end). + + The cell inner and outer border can either be defined + by referencing to a rib (->ribDefinitionUID and ribNumber) or + by the defining the eta (=relative spanwise) coordinates of the + border (eta1 = forward end; eta2 = rear end). + Some examples for wing cells can be found in the + picture below: + + + + + - - - Name - - - - - Description - - - - + + + + + + - + - - + + - Power breakdown case along a trajectory + Structure of the wing + + wingComponentSegmentStructure type, containing the + whole structue (skins, ribs, spars...) of the wing. + - - - Name - - - - - Description - - - - + + + + + - - + - Specification of the power breakdown case + Elements of the wing. + + WingElements type, containing the elements of a wing + section. + - - - - - Altitude [m] - - - - - Mach number - - - + + + - - + + - Specification of the power breakdown case + Element of the section. + + + Within elements the airfoils of the wing are defined. + Each section can have one or more elements. Within each element + one airfoil have to be defined. If e.g. the wing should have a + step at this section, two elements can be defined for the two + airfoils. + Mathematically spoken a element is a coordinate system + that is translated, rotated and scaled relative to the section + coordinate system. This transformation parameters are defined + withing the transformation section. The wirfoil, which is linked + by using the parameter airfoilUID is directly 'copied' in the + element coordinate system. If e.g. the airfoil is defined from 0 + to 1 in x-direction and the total scaling of the elements x-axis + equals 3.5 the wing chord is 3.5 m long. + An example for wing element can be found in the + picture below: + + + + + - - - - UID of the corresponding trajectory - - - + + + + Name of the wing element. + + + + + Description of the wing element. + + + + + + Reference to a wing airfoil. + + + + + + - + - System breakdown data + Border of the fuel tank (either rib or spar). + + + + - - - + + + + Spar uID of the bordering spar. + + + + + + + UID of the rib set of the bordering rib. + + + + + + RibNumber of the rib set of the bordering + rib. + + + + - - + + - System breakdown data + Definition of the geometry of the wing fuel tank by + defining a continouse list of borders. + + + - - - + + + - - + + - Power flow + List of wing fuel tanks. + + + - - - - - - - + + + + - - + + - Power flow + Definition of one wing fuel tank. + + + - - - - - - - + + + + + Name of the wing fuel tank. + + + + + + Description of the wing fuel tank. + + + + + + + - - + + - Power flow + Definition of the wing-fuselage attachment. + + Definition of the wing-fuselage attachment + - - - - - Name - - - - - - - Description - - - - - - - - UID of the source element - - - - - - - Source system according to ATA chapter - - - - - - - - - - UID of the sink element - - - - - - - Sink system according to ATA chapter - - - - - + + - - - - - - - Source / Sink - - - - - - - - - - - + + - Mass flow + Definition of the wing-fuselage attachment + + + Definition of the wing-fuselage attachment. The area + of the fuselage attachment (resp. center wing box, CWB) is + defined by defining one resp. two ribs from the rib definition. + If one rib is defined (rib1) the CWB goes from the closer end of + the componentSegment (e.g. wing symetry plane) to the defined + rib. If two ribs are defined (rib1 and rib2), the CWB is between + both ribs. + Additionally attachment pins can be defined. At those + positions the wing is attached to the fuselage. This can be e.g. + used for defining the wing-attachment of high wing + configurations, HTPs or VTPs. + + - - + + - - Mass flow value - + Definition of first (=inner) rib of the + fuselage attachment. - - - - - + + + Definition of the second (=outer) rib of the + fuselage attachment. Optional. Only to be used if attachment is + defined over two ribs. + + + + + Definition of position, orientation, materials + and blocked DOFs of attachment pins. + + + + + Definition of actuators (e.g. trim actuator of + an HTP) of the attachment. + + + - - + + - Mass flow + wingInterfaceDefinitionsType + + CenterFuselage high wing interface definitions + + - - - - - Mass flow value - - - - - - - - + + + + + + + + - - + + - Heat flow + centerFuselageMainFramesType + + High wing main frame definition, containing mainframe + UIDs + - - - - - Heat flow value - - - - - - - - + + + + + - - + + - Heat flow + wingInterfaceSupportStrutsAssemblyType + + wingInterfaceSupportStrutsAssembly type, containing + support struts assembly + - - - - Heat flow value - - - - - - - + + - - + + - Mechanical power + wingInterfaceSupportStrutType + + wingInterfaceSupportStrut type, containing support + strut definition + - - + + - - Mechanical power value [W] - + Name of support strut. - - - - - Torque [Nm] - - - - - - - Force [N] - - - - - - - - - - + + + Type description: lateral or longitudinal + support strut. + + + + + + + + + + + + + - Mechanical power + IntermediateStructure cells + + Definition of the intermediateStructure of the + componentSegment of the wing. + - - - - Mechanical power value [W] - - - - - - - - Torque [Nm] - - - - - - - Force [N] - - - - + - - + + - Mechanical power specification + Definition of the cell of the intermediateStructure + + + + IntermediateStructure: + It defines the filling materials between the upper and + lower shell (e.g. honeycombe structures in a smeared + representation). IntermediateStructure is optional.The position + of the intermediateStructure is defined in so called cells (= + special areas on the wing). Default is no intermediateStructure. + + Material Definition of intermediateStructure: + + The material of the intermediateStructure is reference + by 'material'. The material orientation is defined by 'rotX' and + 'rotZ'. 'rotZ' is defined equivalent to the stringer angle resp. + the skin orthotropyDirection. 'rotX' equals a positive rotation + around the wings x-axis, while a rotation of zero is equivalent + to the wing middle plane. + A picture to clarify the reference direction of rotZ + (equivalent to orthothropy direction of the wing) can be found + in the picture below: + + + + Position definition by using cells: + A cell defines a special region of the wing. Within + this region the cell properties are defined. In general a cell + is defined by defining four borders – the cell leading and + trailing edge and the inner border and the outer border. Those + borders can either be defined by using eta/xsi coordinates or by + referencing to spars and ribs. Mixed definitions (e.g. forward + border is defined due to a spar, side borders due to eta + coordinates) is allowed. In general a cell is quadrilateral. But + if e.g. the spar, which is used for the definition of the + trailing edge, has a kink, the cell can have more than four + corners. + The cell leading and trailing edge (= forward and rear + border) can either be defined by referencing to a spar + (->sparUID) or by the defining the xsi (=relative chord) + coordinates of the border (xsi1 = inner end; xsi2 = outer end). + + The cell inner and outer border can either be defined + by referencing to a rib (->ribDefinitionUID and ribNumber) or + by the defining the eta (=relative spanwise) coordinates of the + border (eta1 = forward end; eta2 = rear end). + Some examples for wing cells can be found in the + picture below: + + + + + - - + + + + + + - - Torque [Nm] - + Reference to the material of the intermediate + structure. - + - - Force [N] - + 'rotX' equals a positive rotation around the + wings x-axis, while a rotation of zero is equivalent to the wing + middle plane direction. - + + + 'rotZ' is defined equivalent to the stringer + angle resp. the skin orthotropyDirection. + + + + - - + + - Mechanical power specification + Definition of a ribCell + + RibCells are optional elements. They are defined via a + fromRib and a toRib. The enumeration is within the ribSet. + RibNumber 1 starts at etaStart. + - - + + - - Torque [Nm] + Defines the beginning of the ribCell. The + enumeration is within the ribSet. + + + + + Defines the ending of the ribCell. The + enumeration is within the ribSet. + + + + + WING: The Rotation along the x describes a + rotation around a line, that is defined by the intersection of + the rib with the wing middle plane (orientated from leading to + trailing edge). This angle defaults to 90° which means, that the + rib is perpendicular on the wings middle plane. PYLON: The + Rotation along the z describes a rotation around the pylons + z-axis (= rotation in top view). This angle defaults to 90° + which means, that the rib is perpendicular to the pylons x-axis. - + - - Force [N] + The orthotropyDirection is defined as rotation + around the ribs z-axis. The rib coordinate system is defined as + follows: x-axis is from leading to trailingeEdge of the + componentSegment in the direction of the rib elongation. z-axis + is normal to the rib in the direction of positive eta. y is + defined by right hand rule. Rotation is around the z-axis. Zero + degrees are at the x-axis positive direction. - + + + + - + - Electric power + Cross section properties of a wing rib + + wingRibCrossSectionType, containing the definition of + ribsCrossSection + - - + + - - Electric power value + The orthotropyDirection is defined as rotation + around the ribs z-axis. The rib coordinate system is defined as + follows: x-axis is from leading to trailingeEdge of the + componentSegment in the direction of the rib elongation. z-axis + is normal to the rib in the direction of positive eta. y is + defined by right hand rule. Rotation is around the z-axis. Zero + degrees are at the x-axis positive direction. - - - - - Direct current voltage [V] - - - - - - + + + WING: The Rotation along the x describes a + rotation around a line, that is defined by the intersection of + the rib with the wing middle plane (orientated from leading to + trailing edge). This angle defaults to 90° which means, that the + rib is perpendicular on the wings middle plane. The rotation + angle is defined at the intersection point of the rib with the + ribReference line. The rib itself is allways straight and not + twisted. PYLON: The Rotation along the z describes a rotation + around the pylons z-axis (= rotation in top view). This angle + defaults to 90° which means, that the rib is perpendicular to + the pylons x-axis. + + + + + + + + Post element definition applied to all vertical intersections with spars + + + - - + + - Electric power + Explicit positioning of a wing rib + + + Use this type for an explicit positioning of a rib. As opposed to + ribsPositioning, this defines a single rib connecting a specified start + and end point. + + - + + + + + Defines the start of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the start of the rib defined by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the beginning of the rib using a specific sparPosition. + + + + + + + + + Defines the end of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the end of the rib given by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the end of the rib using a specific sparPosition. + + + + + - Electric power values + Defines the forward beginning of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". + + + + + + + RibEnd defines the backward ending of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". - - - - - Direct current voltage [V] - - - - - - - + + - Electric power specification + wingRibPointType + + + The wingRibPointType is used to define reference points on ribs. + It can be used for rib set definitions (wingRibsPositioningType) as + well as explicit rib definitions (wingRibExplicitPositioningType). + + - - + + - Direct current voltage [V] + The UID of the rib definition. Can be a reference to nodes + of either wingRibsPositioningType or wingRibExplicitPositioningType. - - + + + + For references of type wingRibsPositioningType this node indicates the rib number of the rib set. + If not given it defaults to 1. + + + + + + + Normalized xsi coordinate of the rib point which is measured along the rib + from the start point [0] towards the end point [1]. + + + + - - + + - Electric power specification + Wing ribs + + RibDefinitions type, containing the definition of all + ribs of the wing. + - - - - - Direct current voltage [V] - - - - - + + + - - + + - Alternating current + Definition of a set of ribs + + + RibDefinitionType, containing the definition for ribs. + Ribs are defined in sets of one or more ribs. The positions of + the rib, as well as the orientation of the ribs are defined in + 'ribPositioing'. The cross section properties, as e.g. + materials, are defined in 'ribCrossSection'. + + - - - - - Effective voltage (also peak voltage) [V] - - - - + + - - Frequency [Hz] - + Name of the rib set - + - - Frequency [Rad] + Description of the rib set - + + + + + + + - - + + - Alternating current + Positioning of a set of wing ribs + + + The ribsPositioning type allows the definition of a set + of ribs which is distributed over a specified spanwise area. + The positions of the ribs are defined by placing the + ribs on a reference line on the wing (ribReference). The inner + and the outer beginning of the rib set is defined using etaStart + and etaEnd. The position of the forward and rear end of the ribs + is defined by ribStart and ribEnd. The orientation of the ribs + is defined in ribRotation. The number of ribs of the current rib + set is either defined by ribNumber or by spacing. + Three examples how ribs can be placed on the wing are + illustrated in the picture below. For more detailed information, + please refer to the description of each parameter. + + + + + - - + + + + + + Defines the start of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the start of the rib by a point on a reference curve, + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the beginning of the rib using a specific sparPosition + + + + + + + + + Defines the end of the rib defined in eta-xsi coordinates of a reference plane + + + + + + + Defines the end of the rib defined by a point on a reference curve + such as a spar, but not an explicit sparPosition + + + + + + + Defines the location of the end of the rib using a specific sparPosition + + + + + - Effective voltage (also peak voltage) [V] + Defines the forward beginning of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". - + - Frequency [Hz] + Defines the backward ending of the ribs. It can either be a + sparUID or "trailingEdge" or "leadingEdge". - + + + + + The spacing of the ribs defines the distance between two ribs, + measured on the + ribReferenceLine. First rib is placed at etaStart. + + + + + + + Defines the number of ribs in this ribSet. First rib is at + etaStart on the + referenceLine, last rib is at etaEnd. The spacing is constant on the + ribReferenceLine. + + + + + - Frequency [Rad] + The ribReference is the reference line for the computation of the rib set spacing. + It can either be a sparUID or "trailingEdge" or "leadingEdge" - + + + + + RibCrossingBehaviour can either be 'cross' or 'end'. If it is set to'end' the ribs + of this rib set will end at the intersection with another rib. + If it is set to + 'cross' the ribs of this rib set will continue at the intersection + with another rib. + + + + + + + + + + + + - - + + - Mass flow specification + wingsAeroPerformanceType + + wingsAeroPerformance type, containing + wingsAeroPerformance + - - - - + + + - - + + - Mass flow specification + Sections of the wing. + + WingSections type, containing all the sections of the + wing. + - - - - + + + - - + + - Single-phase mass flow + Section of the wing. + + + WingSection type, containing a wing section. The + sections contains elements, where the airfoils are defined. For + the definition of a wing at least two sections (root and tip) + have to be defined, but any number greater than 2 is also + possible. + Mathematically spoken a section is a coordinate system + that is translated, rotated and scaled relative to the wing + coordinate system. This transformation parameters are defined + withing the transformation section. + In addition to the translation, which is defined in + the transformation part, the section can be translated by using + the positionings vectors (wing->positiongs). Translation of + the positionings vectors is added to the translation of the + section. + An example for wing sections can be found in the + picture below: + + + + + - - + + - - Pressure + Name of wing the wing section. - + - - Temperature + Description of the wing section. - + + + - - + + - Multi-phase mass flow + Segments of the wing. + + WingSegments type, containing all the segments of the + wing. + - - - - - Pressure - - - - - - - Enthalpy - - - - - + + + - - + + - Single-phase mass flow + Segment of the wing. + + + A segment defines which two wing elements (=cross + sections) are linked to one wing segment. + An example for wing segments can be found in the + picture below: + + + + + - - + + - - Pressure + Name of wing the wing segment. - + - - Temperature + Description of the wing segment. - - - - - - - - - - - - Multi-phase mass flow - - - - - - - - + - - Pressure - + Reference to the element from which the + segment shall start. - + - - Enthalpy - + Reference to the element at which the segment + shall end. + + + + + Optional and additional guidecurves to shape + the outer geometry. - - - - - - - - - - - - Heat flow specification - - - - - - - - - + - - + + - Heat flow specification + Shells of the wing + + Within the wingShellType the upper and lower skin of a + and the skin stringers are defined. At 'skin' and 'stringer' the + skin and stringer properties of the complete componentSegment are + defined. If different skin or stringer properties should be + defined in a special region of the wing this can be done within + 'cells'. + If the stringer should not be defined explicite, they + can be defined implizite by defining an equivalent material layer + and using a composite as material. + - - + + + + - - + + - Mass composition + Material properties of the wing skin. + + + The wingSkinType describes the material properties of + the wing. + For composites materials: the positive z-direction is + from the outer side to the inner side. + For composites materials: the reference axis for the + orthotropyDirection is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + orthotropyDirection equals the rotation around the z-reference + axis. For details, please refer to the picture below: + + + + + + - + - - Fluid type + Material properties of the wing skin. - - - - - - - - - - - - - Category (ATA chapters) - - - - - - - - Environmental control - - - - - Auto flight - - - - - Communications - - - - - Electrical power - - - - - Equipment/furnishings - - - - - Fire protection - - - - - Flight controls - - - - - Fuel - - - - - Hydraulic power - - - - - Ice and rain protection - - - - - Landing gear - - - - - Lights - - - - - Water/waste - - - - - Cabin system - - - - - Cargo and accessory compartment - - - - - - + - Propulsion elements + Wing spars + + + Spars type, a spar is defined by sparSegments that + stretch between multiple sparPositions. The spar definition is + very flexible in CPACS. Spars can start and end at any position + of the wing, spars can have kinks at any position of the wing + and spars can cross each other or merge. + At first the spar points (->sparPositions) have to + be defined. Spar points are defined using the relative + coordinates eta and xsi. Spar points do lay on wing middle + plane. + Two or more spar points are connected to on spar + segment (->sparSegments). Each spar segment can be seen as + one spar. The spar geometry between two spar points is defined + as a direct/straight connection in global coordinate system + and not in eta xsi coordinates of the component segment. + One spar point can be used by more than one spar, if + e.g. two spars are merging. The detailed cross section of the + spar is also defined with sparSegments. + Pleas find below a picture for an example definition + of 3 spars in one wing, by using spar position points and spar + segments: + + + + + - - - - - - - - - - - - + + - - + + - Turbofan engines + Definition of the wing stringers. + + + Within the wingStringerType wing stringers are + defined. The stringer are defined by referencing on the + stringerStructureUID, where the shape and material settings of + one single stringer is defined. In addition the orientaion and + the stringer pitch have to be defined: + One stringer intersects the point at the given xsi and + eta position. + + + + Alternatively, an exlicit stringer definition can be + applied if the stringers shall be tapered. + + - + + + + + This is the simple and default stringer + definition + + + + The pitch describes the distance between to + adjacent stringers in the plane rectangular to the stringer + elongation direction. + + + + + + Stringer angle: the reference axis for the + stringer angle is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + stringers equals the rotation around the z-reference axis. For + details, please refer to the picture below. + + + + + + If the reference of the stringer angle shall + be different from the default implementation then this + parameter may be set. Allowed values include: leadingEdge, + trailingEdge and globalY. Furthremore, it is possible to + provide the UID of a spar. + + + + + + This is the explicit stringer definition. + Please note that for a consistent definition two out of the + possible three elements innerBorder (xsiLE, xsiTE), outerBorder + (xsiLE, xsiTE) and stringer angle (and angle reference) must be + defined. Any combination of two of the three is valid + + + + + The number of stringers; default is 0 + + + + + + Stringer angle: the reference axis for the + stringer angle is defined by the two leading edge points of + the 'from'- and the 'to'-element of the componentSegment + definition. The angle between the reference axis and the + stringers equals the rotation around the z-reference axis. For + details, please refer to the picture below. + + + + + + If the reference of the stringer angle shall + be different from the default implementation then this + parameter may be set. Allowed values include: leadingEdge, + trailingEdge and globalY. Furthremore, it is possible to + provide the UID of a spar. + + + + + Inner border xsi coordinate at the leading + edge of the stringer definition + + + + + Outer border xsi coordinate at the leading + edge of the stringer definition + + + + + Inner border xsi coordinate at the trailing + edge of the stringer definition + + + + + Outer border xsi coordinate at the trailing + edge of the stringer definition + + + + - - + + - Turboprop engines + wingStructuralMountsType + + + - + - - - - - - Propulsion architecture - - - - - - - - - - - - - - - + - Propulsion components + Wings + + Wings type, containing all the lifting surfaces (wings, + HTPs, VTPs, canards...) of an aircraft model. + - + - - + + - Propulsion system component + Wing type, containing all a lifting surface (wing, HTP, + VTP, canard...) of an aircraft model. + + + Wing type, containing all a lifting surface (wing, + HTP, VTP, canard...) of an aircraft model. + Position of the wing: The position of the wing is + defined using the transformation parameters. Using those + parameters, the wing coordinate system is translated, rotated + and scaled. + Definition of the wings outer shape: The outer shape + of the wing is defined by airfoils that are placed within the 3D + space. Two airfoils are combined to one wing segment within the + segments. For the definition of the positions of the airfoils, + differnt sections are defined. Within each section one or more + elements are defined. The airfoil shape is defined within the + elements. If the wings outer shape should e.g. have a step it is + possible to define two different airfoils in one section by + using two elements. In most cases each section will only include + one element. Positionings are vectors that are used for an + additional translation of the sections by using 'user friendly + paramaters' as e.g. sweep and dihedral. Please note, the first + positioning may be non-zero. Often it will be zero just to + locate the wing at the position stated by the translation, but + this is not necessary. Finally the wing segments are defined by + combining two consecutive elements. A more detailed description + is given within the different parameters. + Definition of control surfaces, wing structures, wing + fuel tank and wing fuselage attachment: those parts are defined + within componentSegments. Please refer to the documentation + there. + + + + + @@ -36914,129 +36337,89 @@ The fuel tank volume type should also be used for the wing fuel tank - Name + Name of the wing. - Description - - - - - Reference to the pre-defined propulsion element + Description of the wing. - + - UID of the parent element + UID of part to which the wing is mounted (if + any). The parent of the wing can e.g. be the fuselage. In each + aircraft model, there is exactly one part without a parent part + (The root of the connection hierarchy). + + + + - + + + + + + + + + + + + - - - - - - Performance of propulsion system - - - - - - - - - - - - - - + - Propulsion map + The two elements that where the structural connection + is placed. + + + - + - Name + Element uID of the element of the CURRENT + componentSegment where the structural connection is placed. + - + - Description + Element uID of the element of the second + componentSegment where the structural connection is placed. + - - - - - - - - - - - - - - Propulsion performance map - - - - - - - - - - - - - - - - - - - - - Propulsion performance map - - - - - - - - - + + - Turbofan engine + Two spars that are structurally connected. - Engine type, containing engine data. + @@ -37044,45 +36427,32 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Name - - - + - Description + Spar uID of the CURRENT componentSegment. + - - + - Year of first certification + Spar uID of the second componentSegment. - - - - + + - Definition of the global engine geometry. + wingWingAttachmentsSparsType - - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. - + @@ -37090,325 +36460,189 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Length of engine - - - - - Rotation direction of the engine if looking at - it from the front, i.e. from propeller/fan to exhaust - - - - - - - - - - - - - - - - Length of engine - - - - - Length of engine - - - - - Length of engine - - - - - - - - - - Propeller diameter - - - - - Number of propeller blades - - - - - Hub to tip ratio - - - - - - - - - + - - + + - Turboprop nacelle + List of wingWingAttachments. - - Turboprop nacelle - - - - + - - - - - - - - - - - - - - - - - - - Tanks - - - - - + - - + + - Tank + wingWingAttachmentType + + Definition of the structural connection between two + wings resp. two componentSegments. Note: All structural + connections between two wings/componetSegments have to be defined + using wingWingAttachments. The wingWingAttachment has only be + defined in one of the two componentSegments, that are connected. + + - + + + UID of the componentSegment, that is connected + with the current one. + + + + + + + Defines if the upper shell of the current + componentSegment is structurally connected to the upper or lower + shell of the second componentSegment. Can have the values + 'upperShell' or 'lowerShell'. + + + + + Defines if the lower shell of the current + componentSegment is structurally connected to the upper or lower + shell of the second componentSegment. Can have the values + 'upperShell' or 'lowerShell'. + + - - - + + - Energy Carriers + xsiIsoLineType + + Iso line described by point of same xsi coordinate. + Can be either segment or component segment coordinates. + - - + + + Relative spanwise position. Xsi refers to the segment or componentSegment depending on the referenced uID. + + + + + This reference uID determines the reference coordinate system. + If it points to a segment, then the eta value is considered to be in segment + eta coordinate; if it points to a componentSegment, + then componentSegment eta coordinate is used. + + - - - - - - - Electrical energy carriers - - - - - - - - - - - - - - - - - - - Chemical energy carriers - - - - - - - - - - - - - + - Electrical energy carrier + zCouplingsType + + + - - - - Name - - - - - Description - - - - - Ratio of mass flow per energy flow - - - - - Specific energy - - - - - Density at 15deg C - - - - - Nominal C-Rate - - - + + - Maximum C-Rate + Definiton of one z-coupling. + - - + - - + + - Chemical energy carrier + zCouplingType + + + - - - Name - - - - - Description - - - - - Type of energy carrier - - - - - - - - - - - - - Lower heating value - - - - - Density at 15deg C - - - + - CO2 emission index + Reference to the control surface that is + connected to this controll surface by the z-coupling.. + - + - H2O emission index + Material of the movable part of the + z-coupling. - + - Energy specific cost + Definition of the attachment of the z-coupling + to this control surface. - + - Freezing point + Definition of the attachment of the z-coupling + to the other control surface. - + From 5ff44d61be5b15ba5c3e90130d6106175b9c99ea Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Fri, 2 Dec 2022 16:34:39 +0100 Subject: [PATCH 043/123] add systemArchitecture --- schema/cpacs_schema.xsd | 1292 +++++++++------------------------------ 1 file changed, 278 insertions(+), 1014 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 7d96a74..d555296 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1040,6 +1040,22 @@ cpacs@dlr.de + + + + + + ambient | passengers + + + + + + + + + + @@ -6396,6 +6412,66 @@ cpacs@dlr.de + + + + + + Components + + + + + + + + + + + + + + + + + + + Component + + + + + + + + + + + Name + + + + + + + Description + + + + + + + Link to pre-defined system element uID + + + + + + + + + + @@ -6551,6 +6627,51 @@ cpacs@dlr.de + + + + + + Connections + + + + + + + + + + + + + + + + + + + Connection + + + + + + + + + + Description + + + + + + + + + + @@ -11869,6 +11990,25 @@ cpacs@dlr.de + + + + + + Electric motors + + + + + + + + + + + + + @@ -15579,6 +15719,60 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Gas turbines + + + + + + + + + + + + + + + + + + + Gear boxes + + + + + + + + + + + + + + + + + + + Gear box + + + + + + + + + + @@ -15792,6 +15986,25 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Generic components + + + + + + + + + + + + + @@ -16236,21 +16449,8 @@ The fuel tank volume type should also be used for the wing fuel tankDescription of the system component. - - - Enum for selecting the basic shape of the - component - - - - - - - - - - + @@ -25123,49 +25323,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Origin - - - - - - - - - - Link to external file - - - - - - - - - - - - Name of a tool which was applied to derive this assumption - - - - - - - - - - - - - - - @@ -27234,40 +27391,13 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - UID of the source element - - - - - - - Source system according to ATA chapter - - - - - - - - - - UID of the sink element - - - - - - - Sink system according to ATA chapter - - - - - + + + + UID of the system architecture connection + + + @@ -27930,75 +28060,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Tanks - - - - - - - - - - - - - - - - - - - Tank - - - - - - - - - - - - - - - - - - - - Propulsion elements - - - - - - - - - - - - - - - - - - - - - - - - @@ -30965,21 +31026,45 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Source / Sink + Source / Target - - - - - + + + + + + + UID of a component defined under aircraft(rotorcraft)/model + + + + + + UID of a sub-component + + + + + + + + Source / sink system according to ATA chapter + + + + + + + + @@ -32888,130 +32973,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - - - - - - - - - - Parameters - - - - - - - - - - - - - - - - - - - Parameter - - - - - - - Name - - - - - Description - - - - - - - Value - - - - - Unit - - - - - - UID of another assumption parameter - - - + - - + - System assumptions + System architecture - - - - - - - - - - - - - - - System assumption - - - - Examples: - <systemAssumption uID="someRandomUID1"> - <name>Draft lumped cooling system mass penalty</name> - <technologyStage>all</technologyStage> - <origin> - <externalFile fileFormat="xls">https://emdesk.eu/cms/?p=abc</externalFile> - </origin> - <parameters> - <parameter uID="someRandomUID2"> - <name>powerSpecificMassPenalty</name> - <value>680</value> - <unit>W_{th}/kg</unit> - </parameter> - </parameters> -</systemAssumption> - - - - - @@ -33025,19 +33005,23 @@ The fuel tank volume type should also be used for the wing fuel tankDescription - + - Description of the technology stage - - - - - Origin of the assumption + environmentalControlSystem | electricSystem | thermalManagementSystems | generic + + + + + + + + + + - + - @@ -33055,7 +33039,14 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + + @@ -34400,750 +34391,25 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Turbofan engine analysis - - - - - - - - - - - - - Thrust at takeoff - - - - - Fan pressure ratio at takeoff - - - - - - Bypass ratio at takeoff - - - - - overall pressure ratio at takeoff - - - - - - Maximum rotations per second, shaft 1 - - - - - - Maximum rotations per second, shaft 2 - - - - - - Design tip relative mach number (FAN) - - - - - - DryMass of engine - - - - - - - - - - - - - - Definition of the global engine geometry. - - - - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. - - - - - - - - - - - - - length of engine - - - - - diameter of engine - - - - - - - - - - - - - - - - - Number of outlet guiding vanes - - - - - - Rotor stator spacing (relative to chordlength) - - - - - - Rotation direction of the engine if looking at - it from the front, i.e. from propeller/fan to exhaust - - - - - - - - - - - - - - - - - - - - - - Turbofan engine performance maps - - - - - - - - - - - - - - - - - - - - - - Turbofan engine performance map - - - - - - - - - - - - - - Flight Level - - - - - Mach number - - - - - Absolute thrust [N] - - - - - Fuel mass flow - - - - - Speed at core engine nozzle - - - - - - Total temperature at core engine nozzle - - - - - - Mass flow through core engine nozzle - - - - - - Speed at bypass nozzle - - - - - Total temperature at bypass nozzle - - - - - - Mass flow through bypass nozzle - - - - - - Percent of n1Max, shaft 1 - - - - - Percent of n2Max, shaft 2 - - - - - Fan pressure ratio - - - - - Fan efficiency - - - - - Turbine entry total temperature - - - - - - Emission index Carbon Monoxide - - - - - - Emission index Nitrogen Oxide - - - - - - Emission index Sulfur Oxide - - - - - - Emission index Soot - - - - - Emission index unburned hydrocarbon - - - - - - air density at core outlet 8 - - - - - - air density at bypass outlet 18 - - - - - - area at core outlet - - - - - area at bypass outlet - - - - - - - - - - - - - - Turbofan engines - - - - - - - - - - - - - - - - - - - Turbofan engine - - - Engine type, containing engine data. - - - - - - - - - - Name of engine - - - - - Description of engine - - - - - - Concept of engine - - - - - - - - - - - - - - Year of first certification - - - - - - - - - - - + - Turboprop engine analysis + Turbo generators - - - - - - - - - - - - Thrust at takeoff - - - - - Design tip relative mach number (FAN) - - - - - - Dry-mass of engine - - - - - - - - - - - - - - Definition of the global engine geometry. - - - - All engine geometry definitions refer to the engine - coordinate system. The engine coordinate system has its orgine - in the middle of the fan plan. The positive x-axis is heading to - the rear, the positive z-axis to the top and the y-axis - according to the right hand rule. - - - - - Length of engine - - - - - Rotation direction of the engine if looking at - it from the front, i.e. from propeller/fan to exhaust - - - - - - - - - - - - - - - - Length of engine - - - - - Length of engine - - - - - Length of engine - - - - - - - - - - Propeller diameter - - - - - Number of propeller blades - - - - - Hub to tip ratio - - - - - - - - - + - - - - - - Turboprop engine performance maps - - - - - - - - - - - - - - - - - - - - - - Turbofan engine performance map - - - - - - - - - - Name of the engine - - - - - Description of the engine - - - - - - - Flight Level - - - - - Mach number - - - - - Absolute thrust [N] - - - - - Fuel mass flow - - - - - Turbine entry total temperature - - - - - - Emission index Carbon Monoxide - - - - - - Emission index Nitrogen Oxide - - - - - - Emission index Sulfur Oxide - - - - - - Emission index Soot - - - - - Emission index unburned hydrocarbon - - - - - - air density at core outlet 8 - - - - - - air density at bypass outlet 18 - - - - - - area at core outlet - - - - - area at bypass outlet - - - - - - - - - - - - - - Turboprop engines - - - - - - - - - - - - - - - - - - - Turbofan engine - - - Engine type, containing engine data. - - - - - - - - - - Name - - - - - Description - - - - - - Year of first certification - - - - - - - - - - - - - - - - Turboprop nacelle - - - - Turboprop nacelle - - - - - - - - - - - - - - - - - - - - - @@ -35424,8 +34690,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - From 219d48f103d0ea30d2f366078fa1427ec5c0ec65 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Fri, 2 Dec 2022 18:07:14 +0100 Subject: [PATCH 044/123] begin with example; rearrange rotors --- examples/systemExample.xml | 323 ++++++++++++++++++++++++++++++ schema/cpacs_schema.xsd | 389 ++++++++++++++++++++++++++++++++++--- 2 files changed, 683 insertions(+), 29 deletions(-) create mode 100644 examples/systemExample.xml diff --git a/examples/systemExample.xml b/examples/systemExample.xml new file mode 100644 index 0000000..23661fd --- /dev/null +++ b/examples/systemExample.xml @@ -0,0 +1,323 @@ + + +
+ Example system architecture + 1.0.0 + + + DLR-SL + 2022-12-02T10:30:00 + Create initial data set + 3.5 + + +
+ + + + Example aircraft + + + Engine left + predefinedEngine + exampleAircraft + + + -5 + + + + + Engine right + predefinedEngine + exampleAircraft + + + 5 + + + + + + + + Example system + + + + Installed heat exchanger + predefinedHeatExchanger + + + + + + + + + + + Engine + + Propeller + + + 1 + 1 + 1 + + + 0 + -90 + 0 + + + 2.5 + 1 + 0.5 + + + 3300 + + + + + + + Heat exchanger + cube + + + + + + + Propeller_blade + + + 1 + 1 + 1 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + +
+ Propeller_blade_section1 + + + 0.07 + 0.07 + 0.07 + + + 14.56 + 0 + 10 + + + 0 + 0 + 0 + + + + + Propeller_blade_section1_element_1 + NACA0010 + + + 1 + 1 + 1.75 + + + 0 + 0 + -90 + + + 0 + 0.5 + 0 + + + + +
+
+ Propeller_blade_section5 + + + 0.1 + 0.1 + 0.1 + + + 5.97 + 0 + -11.42 + + + + + Propeller_blade_section5_element1 + NACA0010 + + + 1 + 1 + 0.39 + + + 0 + 0 + -90 + + + 0 + 0.5 + 0 + + + + +
+
+ Propeller_blade_section10 + + + 0.03 + 0.03 + 0.03 + + + -9.18 + 0 + 0 + + + 0 + 0 + 0 + + + + + Propeller_blade_section10_element1 + NACA0010 + + + 1 + 1 + 0.18 + + + 0 + 0 + -90 + + + 0 + 0.5 + 0 + + + + +
+
+ + + Propeller_blade_positioning1 + 0.05 + 90 + 0 + Propeller_blade_section1 + + + Propeller_blade_positioning2 + 0.2 + 90 + 0 + Propeller_blade_section1 + Propeller_blade_section5 + + + Propeller_blade_positioning3 + 0.3 + 90 + 0 + Propeller_blade_section5 + Propeller_blade_section10 + + + + + Propeller_blade_segment1 + Propeller_blade_section1_element1 + Propeller_blade_section5_element1 + + + Propeller_blade_segment2 + Propeller_blade_section5_element1 + Propeller_blade_section10_element1 + + +
+
+ + + Propeller + + PropellerHub + rigid + + + 5 + + + Propeller_pitchHinge + + + 0.10 + 0 + 0 + + + pitch + 10 + + + Propeller_blade + + + + + +
+ + + + NACA0.00.00.10 + NACA 4 Series Profile + + 1.0;0.9875;0.975;0.9625;0.95;0.9375;0.925;0.9125;0.9;0.8875;0.875;0.8625;0.85;0.8375;0.825;0.8125;0.8;0.7875;0.775;0.7625;0.75;0.7375;0.725;0.7125;0.7;0.6875;0.675;0.6625;0.65;0.6375;0.625;0.6125;0.6;0.5875;0.575;0.5625;0.55;0.5375;0.525;0.5125;0.5;0.4875;0.475;0.4625;0.45;0.4375;0.425;0.4125;0.4;0.3875;0.375;0.3625;0.35;0.3375;0.325;0.3125;0.3;0.2875;0.275;0.2625;0.25;0.2375;0.225;0.2125;0.2;0.1875;0.175;0.1625;0.15;0.1375;0.125;0.1125;0.1;0.0875;0.075;0.0625;0.05;0.0375;0.025;0.0125;0.0;0.0125;0.025;0.0375;0.05;0.0625;0.075;0.0875;0.1;0.1125;0.125;0.1375;0.15;0.1625;0.175;0.1875;0.2;0.2125;0.225;0.2375;0.25;0.2625;0.275;0.2875;0.3;0.3125;0.325;0.3375;0.35;0.3625;0.375;0.3875;0.4;0.4125;0.425;0.4375;0.45;0.4625;0.475;0.4875;0.5;0.5125;0.525;0.5375;0.55;0.5625;0.575;0.5875;0.6;0.6125;0.625;0.6375;0.65;0.6625;0.675;0.6875;0.7;0.7125;0.725;0.7375;0.75;0.7625;0.775;0.7875;0.8;0.8125;0.825;0.8375;0.85;0.8625;0.875;0.8875;0.9;0.9125;0.925;0.9375;0.95;0.9625;0.975;0.9875;1.0 + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.00105;0.002500348;0.003928655;0.005335474;0.006721326;0.008086699;0.009432047;0.010757789;0.012064311;0.013351962;0.014621061;0.015871888;0.017104689;0.018319675;0.019517022;0.020696868;0.021859317;0.023004432;0.024132245;0.025242745;0.026335885;0.027411581;0.028469708;0.029510101;0.030532556;0.031536828;0.032522631;0.033489635;0.034437468;0.035365713;0.036273909;0.037161548;0.038028076;0.038872887;0.039695329;0.040494697;0.041270231;0.042021117;0.042746484;0.043445402;0.044116877;0.04475985;0.045373197;0.045955718;0.046506139;0.047023106;0.04750518;0.047950828;0.048358424;0.048726231;0.049052403;0.049334968;0.049571818;0.049760699;0.049899189;0.049984688;0.050014389;0.049985255;0.049893991;0.049737002;0.049510352;0.049209703;0.048830253;0.048366646;0.047812858;0.047162066;0.046406453;0.04553697;0.044543002;0.043411909;0.042128372;0.040673443;0.039023087;0.037145888;0.034999196;0.032522211;0.029622381;0.026144896;0.021789332;0.015782522;0;-0.015782522;-0.021789332;-0.026144896;-0.029622381;-0.032522211;-0.034999196;-0.037145888;-0.039023087;-0.040673443;-0.042128372;-0.043411909;-0.044543002;-0.04553697;-0.046406453;-0.047162066;-0.047812858;-0.048366646;-0.048830253;-0.049209703;-0.049510352;-0.049737002;-0.049893991;-0.049985255;-0.050014389;-0.049984688;-0.049899189;-0.049760699;-0.049571818;-0.049334968;-0.049052403;-0.048726231;-0.048358424;-0.047950828;-0.04750518;-0.047023106;-0.046506139;-0.045955718;-0.045373197;-0.04475985;-0.044116877;-0.043445402;-0.042746484;-0.042021117;-0.041270231;-0.040494697;-0.039695329;-0.038872887;-0.038028076;-0.037161548;-0.036273909;-0.035365713;-0.034437468;-0.033489635;-0.032522631;-0.031536828;-0.030532556;-0.029510101;-0.028469708;-0.027411581;-0.026335885;-0.025242745;-0.024132245;-0.023004432;-0.021859317;-0.020696868;-0.019517022;-0.018319675;-0.017104689;-0.015871888;-0.014621061;-0.013351962;-0.012064311;-0.010757789;-0.009432047;-0.008086699;-0.006721326;-0.005335474;-0.003928655;-0.002500348;-0.00105 + + + + +
+
\ No newline at end of file diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index d555296..ec5ed80 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1040,22 +1040,6 @@ cpacs@dlr.de
- - - - - - ambient | passengers - - - - - - - - - - @@ -6425,7 +6409,7 @@ cpacs@dlr.de - + @@ -6664,8 +6648,8 @@ cpacs@dlr.de Description - - + + @@ -12003,12 +11987,28 @@ cpacs@dlr.de - + + + + + + + Electric motor + + + + + + + + + + @@ -12771,6 +12771,34 @@ cpacs@dlr.de + + + + + + + Propeller + + + + + + + + + + + + + Nominal value of the angular rotation speed in + rotations per minute (rpm). + + + + + + + @@ -12938,6 +12966,7 @@ cpacs@dlr.de + @@ -15732,12 +15761,28 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + GasTurbine + + + + + + + + + + @@ -16987,6 +17032,41 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Heat exchangers + + + + + + + + + + + + + + + + + + + Heat exchanger + + + + + + + + + + @@ -25189,6 +25269,22 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + ambient | passengers + + + + + + + + + + @@ -29401,6 +29497,100 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Rotor blade elements + + + + RotorBlades type, containing all the rotor blade + gometry definitions of an rotorcraft model. + Rotor blade geometries are defined using the same data + structure as wings (wingType). But in order to be compatible + with the other rotor blade related types (e.g. rotorType, + rotorHubType, rotorHubHingeType) there are some additional + conventions/requirements regarding the definition and + orientation of rotorBlade geometries: + + Rotor blades should be positioned relative to the + global z-axis the way they will be positioned to the rotor + shaft (when blade azimuth=0deg). + The global x-axis should be used as radial axis + (usually the quarter chord line of the rotor blade coincides to + a great extent with the x-axis of the rotor blade coordinate + system). + All sections should be positioned in the positive + x halfspace. + Segments should connect sections with ascending x + coordinates. + Airfoils defined in the rotorAirfoils node should + be used instead airfoils from the wingAirfoils node. + + + + + + + + + + + + + + + + Rotor blade geometries are defined using the + same data structure as wings (wingType). But in order to be + compatible with the other rotor blade related types (e.g. + rotorType, rotorHubType, rotorHubHingeType) there are some + additional conventions/requirements regarding the definition and + orientation of rotorBlade geometries: see remarks. + + + + + + + + + + + + + + Rotor blade + + + + + + + + + + Name of the wing. + + + + + Description of the wing. + + + + + + + + + + + + + @@ -29853,6 +30043,111 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Rotor + + + + + + + + + + + + + + + + + + + Rotor type, containing a rotor (main rotor, tail rotor, + fenestron, propeller,...) of an rotorcraft model. + + + + Rotor type, containing a rotor (e.g. main rotor, tail + rotor, fenestron, propeller,...) definition of a rotorcraft + model. + The position and attitude of the rotor is defined + using the transformation element. The following image shows the + CPACS conventions for the orientation of rotors and rotor axis + systems: + + + + + The origin coincides with the center of rotation. + + The z-axis corresponds to the axis of rotation + and thus coincides with the rotor shaft centerline. It Points + in the main thrust direction of the rotor (usually upwards for + a main rotor, forwards for a propeller). + The x-axis points from nose to tail (usually + rearwards for main and tail rotors, upwards for a propeller). + + The y-axis completes the right-handed orthogonal + coordinate system. + + Rotor hub attributes, hinges and references to + attached rotor blades are defined in the rotorHub element. + + + Note that rotor blade geometries are only referenced and not + defined in the child nodes of the rotor element. Refer to the + documentation of rotorBladesType ( + Empty#T/rotorBladesType + ) and wingType ( + Empty#T/wingType + ) for information on the definition of rotor blade geometries. + + The following figure shows the transformations to be + applied to rotorBlade geometries to visualize them in the rotor + frames for a given state (each rotor: rotorAzimuth given, each + hinge: hingeDeflection given): + + + + + + + + + + + + + + Name of the rotor. + + + + + Description of the rotor. + + + + + The rotorHub element contains the definition + of the rotor hub type and number and azimuth angles of the + attached blades and their hinges. The rotor hub position and + attitude coincides with the rotor axis system's origin and z + axis. + + + + + + + + + @@ -30017,6 +30312,26 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Rotor elements + + + + + + + + + + + + + + @@ -30120,7 +30435,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Rotor type. Possible values: "mainRotor" (default), "tailRotor", "fenestron" or "propeller".. @@ -31026,7 +31341,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -31053,14 +31368,14 @@ The fuel tank volume type should also be used for the wing fuel tank + - Source / sink system according to ATA chapter + Source / target system according to ATA chapter - @@ -33041,10 +33356,9 @@ The fuel tank volume type should also be used for the wing fuel tank + - - @@ -34404,12 +34718,28 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + + Turbo generator + + + + + + + + + + @@ -34683,13 +35013,14 @@ The fuel tank volume type should also be used for the wing fuel tank + - + From bb2b62c88a037b2de834100dded46aa3fdb3682c Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Fri, 2 Dec 2022 18:20:47 +0100 Subject: [PATCH 045/123] enhance example and fix some errors in schema --- examples/systemExample.xml | 37 ++++++++++++++++++++++++++++++++++++- schema/cpacs_schema.xsd | 5 +++-- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/examples/systemExample.xml b/examples/systemExample.xml index 23661fd..da50869 100644 --- a/examples/systemExample.xml +++ b/examples/systemExample.xml @@ -41,6 +41,17 @@ + + e-Drive + + + + Intalled eMotor + predefinedEMotor + + + + Example system @@ -54,12 +65,30 @@ + + + Propeller - eMotor connection + Useless system to demonstrate usage of sub-components + generic + + + + installedEngine1 + installedPropeller + + + installedEMotor + + + + + Engine - + Propeller @@ -83,6 +112,12 @@ + + + E-Motor + cube + + Heat exchanger diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index ec5ed80..7d6b96a 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -6451,7 +6451,7 @@ cpacs@dlr.de - + @@ -12795,6 +12795,7 @@ cpacs@dlr.de
+
@@ -29580,7 +29581,7 @@ The fuel tank volume type should also be used for the wing fuel tankDescription of the wing. - + From f5424a29be675c53b0cce32af122abf161254358 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Tue, 6 Dec 2022 11:27:24 +0100 Subject: [PATCH 046/123] adopt tests to new generic systems --- examples/genericSystemShapes.xml | 225 +++++++++++++++++-------------- examples/simpleAircraft.xml | 38 ++++-- scripts/tests/test_examples.py | 1 + 3 files changed, 153 insertions(+), 111 deletions(-) diff --git a/examples/genericSystemShapes.xml b/examples/genericSystemShapes.xml index a2ab26d..057e294 100644 --- a/examples/genericSystemShapes.xml +++ b/examples/genericSystemShapes.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="../schema/cpacs_schema.xsd">
genericSystem example file 1.0.0 @@ -14,110 +14,137 @@
+ + + + Pre-defined sphere + sphere + + + Pre-defined cube + cube + + + Pre-defined cylinder + cylinder + + + Pre-defined cone + cone + + + genericSystem example Container to show use of genericSystem nodes - - - - spheresphere - - - 1.0 - 1.0 - 1.0 - - - 0.0 - 0.0 - 0.0 - - - 0.0 - 0.0 - 0.0 - - - - - cubecube - - - 1.0 - 1.0 - 1.0 - - - 0.0 - 0.0 - 0.0 - - - 2.0 - 0.0 - 0.0 - - - - - - cylindercylinder - - - 1.0 - 1.0 - 1.0 - - - 0.0 - 0.0 - 0.0 - - - 4.0 - 0.0 - 0.0 - - - - - - conecone - - - 1.0 - 1.0 - 1.0 - - - 0.0 - 0.0 - 0.0 - - - 6.0 - 0.0 - 0.0 - - - - - - - - 0. - - - + + + + Sphere + + + Shere + predefinedSphere + + + 1.0 + 1.0 + 1.0 + + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + 0.0 + + + + + Cube + predefinedCube + + + 1.0 + 1.0 + 1.0 + + + 0.0 + 0.0 + 0.0 + + + 2.0 + 0.0 + 0.0 + + + + + Cylinder + predefinedCylinder + + + 1.0 + 1.0 + 1.0 + + + 0.0 + 0.0 + 0.0 + + + 4.0 + 0.0 + 0.0 + + + + + Cone + predefinedCone + + + 1.0 + 1.0 + 1.0 + + + 0.0 + 0.0 + 0.0 + + + 6.0 + 0.0 + 0.0 + + + + + + + + + + 0. + + + idvalue0 - 0. - - - - - + 0. + + + + + Tragflaeche diff --git a/examples/simpleAircraft.xml b/examples/simpleAircraft.xml index aa84c13..cb98dd2 100644 --- a/examples/simpleAircraft.xml +++ b/examples/simpleAircraft.xml @@ -1458,18 +1458,24 @@ Generic System - - - 4.5 - 0.3 - - - 0.4 - 0.3 - 0.2 - - - cube + + + + Cube + predefinedCube + + + 4.5 + 0.3 + + + 0.4 + 0.3 + 0.2 + + + + @@ -1708,6 +1714,14 @@ + + + + Pre-defined cube + cube + + + Aluminium 2024 diff --git a/scripts/tests/test_examples.py b/scripts/tests/test_examples.py index bb6f5e4..421b8c0 100644 --- a/scripts/tests/test_examples.py +++ b/scripts/tests/test_examples.py @@ -33,6 +33,7 @@ def test_exampleFiles(cpacs_examples, cpacs_schema): tixi_h = tixi3wrapper.Tixi3() for xml in cpacs_examples: + print('Open ', xml) tixi_h.open(xml) if not tixi_h.schemaValidateFromFile(cpacs_schema): validationResult = True From 9c9f705ff06fe268dbed5d2a60f8a843089afbd9 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Tue, 6 Dec 2022 17:32:29 +0100 Subject: [PATCH 047/123] extend system examples, with some smaller schema adaptions --- examples/genericSystemShapes.xml | 1 - examples/simpleAircraft.xml | 9 +- examples/systemExample.xml | 307 ++++++++++++++++++++++++++++--- schema/cpacs_schema.xsd | 131 ++++++++++++- 4 files changed, 413 insertions(+), 35 deletions(-) diff --git a/examples/genericSystemShapes.xml b/examples/genericSystemShapes.xml index 057e294..82108e3 100644 --- a/examples/genericSystemShapes.xml +++ b/examples/genericSystemShapes.xml @@ -128,7 +128,6 @@ - diff --git a/examples/simpleAircraft.xml b/examples/simpleAircraft.xml index cb98dd2..f1cf727 100644 --- a/examples/simpleAircraft.xml +++ b/examples/simpleAircraft.xml @@ -1458,21 +1458,20 @@ Generic System - Cube predefinedCube - - 4.5 - 0.3 - 0.4 0.3 0.2 + + 4.5 + 0.3 + diff --git a/examples/systemExample.xml b/examples/systemExample.xml index da50869..8508805 100644 --- a/examples/systemExample.xml +++ b/examples/systemExample.xml @@ -18,9 +18,9 @@ Example aircraft - + Engine left - predefinedEngine + engine exampleAircraft @@ -28,9 +28,9 @@ - + Engine right - predefinedEngine + engine exampleAircraft @@ -43,41 +43,282 @@ e-Drive - Intalled eMotor - predefinedEMotor - + eMotor Example system - - - Installed heat exchanger - predefinedHeatExchanger - + + heatExchanger1 + heatExchangerSystem1 + hx + + + heatExchanger2 + heatExchangerSystem2 + hx + + + heatExchangerGS + heatExchangerSystemGS + hx + + + gearbox1_inst + gearboxSystem1 + gearbox + + + motor1a_inst + motorSystem1a + eMotor + + + motor1b_inst + motorSystem1b + eMotor + + + gearbox2_inst + gearboxSystem2 + gearbox + + + motor2a_inst + motorSystem2a + eMotor + + + motor2b_inst + motorSystem2b + eMotor + + + generator_inst + generator + generator + + + gasturbine_inst + gasturbine + gasTurbine + + Fuel system + fuelSystem + - Propeller - eMotor connection - Useless system to demonstrate usage of sub-components + Example system + Example system with five components: propeller, gearbox, motor, generator and gas turbine generic - + + motor1a_to_gb1 + + motor1a_inst + + + gb1_inst + + + + motor1b_to_gb1 + + motor1b_inst + + + gb1_inst + + + + motor1a_to_hx1 - installedEngine1 - installedPropeller + motor1a_inst - installedEMotor + hx1_inst + + + + motor1b_to_hx1 + + motor1b_inst + + + hx1_inst + + + + gb1_to_hx1 + + gb1_inst + + + hx1_inst + + + + generator_to_motor1a + + generator_inst + + + motor1a_inst + + + + generator_to_motor1b + + generator_inst + + + motor1b_inst + + + + gasturbine_to_generator + + gasturbine_inst + + + generator_inst + + + + gasturbine_to_hxGS + + gasturbine_inst + + + hxGS_inst + + + + gb2_to_prop2 + + gb2_inst + + + eng2_inst + prop_inst + + + + motor2a_to_gb2 + + motor2a_inst + + + gb2_inst + + + + motor2b_to_gb2 + + motor2b_inst + + + gb2_inst + + + + motor2a_to_hx2 + + motor2a_inst + + + hx2_inst + + + + motor2b_to_hx2 + + motor2b_inst + + + hx2_inst + + + + gb2_to_hx2 + + gb2_inst + + + hx2_inst + + + + generator_to_motor2a + + generator_inst + + + motor2a_inst + + + + generator_to_motor2b + + generator_inst + + + motor2b_inst + + + + generator_to_hxGS + + generator_inst + + + hxGS_inst + + + + fuelSystem_to_gasturbine + + ata28 + + + gasturbine_inst + + + + hxGS_to_ambient + + hxGS_inst + + + ambient + + + + hxGS_to_ambient + + hx1_inst + + + ambient + + + + hx2_to_ambient + + hx2_inst + + + ambient @@ -86,9 +327,9 @@ - + Engine - + Propeller @@ -113,17 +354,35 @@ - + E-Motor - cube + cylinder - + Heat exchanger cube - + + + + Gear box + cylinder + + + + + GasTurbine + cylinder + + + + + Generator + cylinder + + diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 7d6b96a..1325158 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -6449,7 +6449,8 @@ cpacs@dlr.de
- + + @@ -6643,6 +6644,11 @@ cpacs@dlr.de + + + Name + + Description @@ -16032,6 +16038,41 @@ The fuel tank volume type should also be used for the wing fuel tank
+ + + + + + Generators + + + + + + + + + + + + + + + + + + + Generator + + + + + + + + + + @@ -16495,7 +16536,6 @@ The fuel tank volume type should also be used for the wing fuel tankDescription of the system component. - @@ -33328,16 +33368,18 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + + - + +
@@ -33361,6 +33403,7 @@ The fuel tank volume type should also be used for the wing fuel tank + @@ -34346,6 +34389,84 @@ The fuel tank volume type should also be used for the wing fuel tank
+ + + + + + Transformation + + + Transformation type, containing a set of + transformations. The order of the transformations is scaling + -> rotation -> translation, and they are executed in this + order. Any of them can be omitted; it will be replaced by its + defaults. + Transformations are always executed relative to the + child not the parent. I.e. a scaling does not have an influence + on the parent item. For example in the outer geometry of a wing + the element scaling does not influence the section. Scaling does + also not effect rotation and translation. + Scaling data default: 1,1,1. Those parameters + describe the scaling of the x-, y-, and z-axis. + Rotation data default: 0,0,0. The rotation + angles are the three Euler angles to describe the orientation of + the coordinate system. The order is always xyz in CPACS. + Therefore the first rotation is around the x-axis, the second + rotation is around the rotated y-axis (y') and the third + rotation is around the two times rotated z-axis (z''). + Translation data default: 0,0,0. Translations + can either be made absolute in the global coordinate system + (absGlobal) or absolute in the local Coordinate system (absLocal). + + + + + + + + + + + Scaling + + + + + Rotation + + + + + Translation + + + + + + + Rotation + + + + + Translation + + + + + + + Translation + + + + + + + + + From cc6a8b8f3cff1cdbd16750a8810254d7cdab91dc Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Tue, 6 Dec 2022 17:56:53 +0100 Subject: [PATCH 048/123] add powerBreakdown example --- examples/systemExample.xml | 139 +++++++++++++++++++++++++++++++++++++ schema/cpacs_schema.xsd | 6 +- 2 files changed, 142 insertions(+), 3 deletions(-) diff --git a/examples/systemExample.xml b/examples/systemExample.xml index 8508805..6e85e61 100644 --- a/examples/systemExample.xml +++ b/examples/systemExample.xml @@ -213,6 +213,16 @@ prop_inst + + gb1_to_prop1 + + gb1_inst + + + eng1_inst + prop_inst + + motor2a_to_gb2 @@ -324,6 +334,135 @@ + + + + + + example + example power breakdown with 5 systems: propeller, gearbox, motor, generator and gas turbine + + + ISA + + 0. + 0. + + + + gb1_to_prop1 + gb1_to_prop1 + + + 6517047.11 + 73907.3 + + + + motor1a_to_gb1 + motor1a_to_gb1 + + 3392881.67 + 3847.7 + + + + motor1b_to_gb1 + motor1b_to_gb1 + + 3392881.67 + 3847.7 + + + + motor1a_to_hx1 + motor1a_to_hx1 + + 67857.6 + + + + motor1b_to_hx1 + motor1b_to_hx1 + + 67857.6 + + + + gb1_to_hx1 + gb1_to_hx1 + + 133000.9 + + + + generator_to_motor1a + generator_to_motor1a + + 3462124.15 + + + + generator_to_motor1b + generator_to_motor1b + + 3462124.15 + + + + gasturbine_to_generator + gasturbine_to_generator + + 13848496.61 + 13223.65 + + + + gasturbine_to_hxGS + gasturbine_to_hxGS + + 307744.36 + + + + generator_to_hxGS + generator_to_hxGS + + 276969.932 + + + + + + hxGS_to_ambient + hxGS_to_ambient + + 584714.301 + + + + hx1_to_ambient + hx1_to_ambient + + 268716.22 + + + + + + + + diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 1325158..cafdb7b 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -17121,7 +17121,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Heat flow value @@ -17150,7 +17150,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Heat flow value @@ -20366,7 +20366,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Mass flow value From 3711d7a25f77b1f94b73a036d15064e28e13650d Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Tue, 6 Dec 2022 17:58:13 +0100 Subject: [PATCH 049/123] remove empty fuelFlow system architecture --- examples/systemExample.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/systemExample.xml b/examples/systemExample.xml index 6e85e61..8049e3c 100644 --- a/examples/systemExample.xml +++ b/examples/systemExample.xml @@ -113,10 +113,6 @@ - - Fuel system - fuelSystem - Example system Example system with five components: propeller, gearbox, motor, generator and gas turbine From 6c9052f1314cd9f4e15b3b2e1237678da259b723 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Wed, 7 Dec 2022 09:42:25 +0100 Subject: [PATCH 050/123] add union type for systemTypeType; rename unModeledComponent --- examples/systemExample.xml | 6 +-- schema/cpacs_schema.xsd | 77 +++++++++++++++++++++++--------------- scripts/syntax_cleanup.py | 2 + 3 files changed, 52 insertions(+), 33 deletions(-) diff --git a/examples/systemExample.xml b/examples/systemExample.xml index 8049e3c..013945b 100644 --- a/examples/systemExample.xml +++ b/examples/systemExample.xml @@ -306,7 +306,7 @@ hxGS_inst - ambient + ambient @@ -315,7 +315,7 @@ hx1_inst - ambient + ambient @@ -324,7 +324,7 @@ hx2_inst - ambient + ambient diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index cafdb7b..a6d08c1 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1040,6 +1040,22 @@ cpacs@dlr.de + + + + + + ambient | passengers + + + + + + + + + + @@ -3675,6 +3691,11 @@ cpacs@dlr.de Cargo and accessory compartment + + + Cargo and accessory compartment + + @@ -17479,6 +17500,25 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Individual system categories + + + + + + + + Generic + + + + + @@ -25310,22 +25350,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - ambient | passengers - - - - - - - - - - @@ -31409,7 +31433,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -33361,21 +33385,10 @@ The fuel tank volume type should also be used for the wing fuel tankDescription - + - environmentalControlSystem | electricSystem | thermalManagementSystems | generic + ATA Chapter | generic - - - - - - - - - - - @@ -33471,6 +33484,10 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + diff --git a/scripts/syntax_cleanup.py b/scripts/syntax_cleanup.py index 67a0519..c5493d0 100644 --- a/scripts/syntax_cleanup.py +++ b/scripts/syntax_cleanup.py @@ -4,6 +4,7 @@ import shutil import sys import time +import itertools from lxml.etree import XMLParser, indent, parse, register_namespace, tostring @@ -161,6 +162,7 @@ def find_unused_types(root): types_used = set( [el.attrib["type"] for el in list(root.iter()) if "type" in el.keys()] + [el.attrib["base"] for el in list(root.iter()) if "base" in el.keys()] + + list(itertools.chain(*[el.attrib["memberTypes"].split() for el in list(root.iter()) if "memberTypes" in el.keys()])) ) return [t for t in types_exist if not t.attrib["name"] in types_used] From 4b14104caea4cc37e84482fb2b4dd9c2e7bbb7a6 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Wed, 7 Dec 2022 09:48:25 +0100 Subject: [PATCH 051/123] fix schema test --- scripts/tests/test_schema.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/tests/test_schema.py b/scripts/tests/test_schema.py index 2cfe515..a5a411b 100644 --- a/scripts/tests/test_schema.py +++ b/scripts/tests/test_schema.py @@ -5,6 +5,8 @@ import pytest from lxml.etree import XMLParser, indent, parse, register_namespace, tostring +import itertools + log = logging.getLogger(__name__) log.addHandler(logging.StreamHandler(sys.stdout)) @@ -144,6 +146,7 @@ def test_unused_types(get_root_tree): types_used = set( [el.attrib["type"] for el in list(root.iter()) if "type" in el.keys()] + [el.attrib["base"] for el in list(root.iter()) if "base" in el.keys()] + + list(itertools.chain(*[el.attrib["memberTypes"].split() for el in list(root.iter()) if "memberTypes" in el.keys()])) ) types_unused = [ t.attrib["name"] for t in types_exist if not t.attrib["name"] in types_used From e0901e45b72e0e8f271d6348bfc02af3b929081f Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Wed, 7 Dec 2022 18:32:57 +0100 Subject: [PATCH 052/123] add/modify configurationDefinitions --- examples/flightLoadCases.xml | 34 +-- examples/simpleBattery.xml | 118 ++++++++ schema/cpacs_schema.xsd | 522 +++++++++++++++++++++++------------ 3 files changed, 477 insertions(+), 197 deletions(-) create mode 100644 examples/simpleBattery.xml diff --git a/examples/flightLoadCases.xml b/examples/flightLoadCases.xml index 52b533a..1e20bff 100644 --- a/examples/flightLoadCases.xml +++ b/examples/flightLoadCases.xml @@ -27,12 +27,14 @@ 4.19360760824 122.4 - - - Configuration Description - - - + + + + Configuration Description + + + + D150_wing_1 @@ -1018,9 +1020,9 @@ MTOfF.OC000.LLFPD - - ISA - + + ISA + 0.0 0.5289 @@ -1044,7 +1046,7 @@ MTOfF - aconf1 + aconf1 @@ -1076,8 +1078,8 @@ MTOfF.Oa000.LLFPU - ISA - + ISA + 0.0 0.3743 @@ -1101,7 +1103,7 @@ MTOfF - aconf1 + aconf1 @@ -1137,8 +1139,8 @@ This node contains a list of load case uIDs (loadCaseUIDs) for a given point set (pointSetUID) which are defining the dimensioning loads pointSet1 - nodalLoadSet.MTOfF.Oa000.LLFPU - cutLoadSet.MTOfF.Oa000.LLFPU + nodalLoadSet.MTOfF.Oa000.LLFPU + cutLoadSet.MTOfF.Oa000.LLFPU @@ -1326,7 +1328,7 @@ - + diff --git a/examples/simpleBattery.xml b/examples/simpleBattery.xml new file mode 100644 index 0000000..41b0f7c --- /dev/null +++ b/examples/simpleBattery.xml @@ -0,0 +1,118 @@ + +
+ Simple battery example + 1.0.0 + + + DLR-SL + 2022-12-07T11:56:46.259694 + A simple, unrealistic, example of a battery used in an aircraft + 3.5 + + +
+ + + + + + + Lithium-Ion + 2 + 1 + + + + + + + + + Battery + cube + liIon + + + + + + + + Aircraft dummy + + + + + + Generic System + ... with only a battery + + + Battery 1 + aircraft + parentUID would usually refer to fuselage or wing + battery + + + 5 + 0 + 1 + + + + + Battery 2 + aircraft + parentUID would usually refer to fuselage or wing + battery + + + 5.2 + 0 + 1 + + + + + Battery 3 + aircraft + parentUID would usually refer to fuselage or wing + battery + + + 5.4 + 0 + 1 + + + + + + + + + + + + + Initial configuration + At the ramp, batteries charged, ready for taxi and take-off + + + + + battery_inst1 + battery_inst2 + battery_inst3 + + 0.98 + + + + + + + + + +
\ No newline at end of file diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index a6d08c1..8b73925 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -2577,6 +2577,7 @@ cpacs@dlr.de
+ @@ -2587,8 +2588,6 @@ cpacs@dlr.de - - @@ -3938,6 +3937,42 @@ cpacs@dlr.de
+ + + + + + Vehicle base configuration + + + + + + + + + + + Name + + + + + + + Description + + + + + + + + + + + + @@ -3970,7 +4005,7 @@ cpacs@dlr.de - + UID of an electric energy carrier @@ -6595,6 +6630,107 @@ cpacs@dlr.de + + + + + + Configurational changes + + + + + + + + + + + + + + + + + + + Configurational change + + + + + + + + + + + Name + + + + + + + Description + + + + + + + + + + + + + + + + + + + Vehicle configurations + + + + List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) + + + + + + + + + + + + + + + + + + + + Configuration definition + + + + + + + + + + + + + + + @@ -11980,7 +12116,7 @@ cpacs@dlr.de Specific energy - + Density at 15deg C @@ -12153,38 +12289,19 @@ cpacs@dlr.de - - + + - + - Energy storages - - - - - - - - - - - - - - - - - - - Energy storage + Energy (fuel) configuration @@ -12192,10 +12309,9 @@ cpacs@dlr.de - - + + - @@ -23793,6 +23909,52 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Model configuration + + + + + + + + + + + Control surface settings + + + + + + + Engine settings + + + + + + + Landing gear settings + + + + + + + Deck configurations + + + + + + + + @@ -26004,6 +26166,24 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Payload configuration + + + + + + + + + + + + @@ -28142,85 +28322,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Propulsion architecture - - - - - - - - - - - - - - - - - - - - Propulsion components - - - - - - - - - - - - - - - - - - - Propulsion system component - - - - - - - - - - Name - - - - - Description - - - - - Reference to the pre-defined propulsion element - - - - - UID of the parent element - - - - - - - - - @@ -32276,6 +32377,117 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Stored chemical energies + + + + + + + + + + + + + + + + + + + Stored chemical energy + + + + + + + + + + + + + Maximum storage capacity [l] + + + + + + Storage level wrt. storage capacity + + + + + + + + + + + + + + + + + + + + + + Stored electrical energy + + + + + + + + + + + Charge level + + + + + + + + + + + + + + + + + + + + + Stored electric energies + + + + + + + + + + + + + @@ -33423,6 +33635,26 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Systems configuration + + + + + + + + + + + + + + @@ -35053,78 +35285,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Vehicle configurations - - - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - - - - - - - - - - - - - - - - - - - - - Vehicle configurations - - - - List of vehicle configurations (e.g., setting of control surfaces, landing gear, etc.) - - - - - - - - - - - - Name - - - - - - - Description - - - - - - - - - Deck configurations - - - - - - - - - From e1ca646db8baf7bd2782e39ebb9fcee0f980415a Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Fri, 9 Dec 2022 17:47:05 +0100 Subject: [PATCH 053/123] extend configurationDefinitions node and examples --- examples/configurationDefinitions_fuel.xml | 1464 ++++++++++++++++++++ schema/cpacs_schema.xsd | 236 ++-- 2 files changed, 1578 insertions(+), 122 deletions(-) create mode 100644 examples/configurationDefinitions_fuel.xml diff --git a/examples/configurationDefinitions_fuel.xml b/examples/configurationDefinitions_fuel.xml new file mode 100644 index 0000000..6832e9a --- /dev/null +++ b/examples/configurationDefinitions_fuel.xml @@ -0,0 +1,1464 @@ + + +
+ Detank and re-fueling strategy + 1.0.0 + + + DLR-SL + 2022-12-09T12:00:00 + Initial data set + 3.5 + + +
+ + + + + + Generic kerosene + kerosene + 43.2171 + 807.5 + + + + + + + + iLOADS_D150 + iLOADS_D150 model + + + 16.2133569987 + 0.0 + 0.0 + + 4.19360760824 + 122.4 + + + + + + + + Base configuration + All tanks fully filled + + + + + wing_tank_center + wing_tank_inner + wing_tank_outer + + kerosene + 1 + usableVolume + + + + + + + + + Fuel after engine start + During engine start-up, the inner wing tank is used + + + + + wing_tank_inner + + kerosene + 0.99 + usableVolume + + + + + + + + Fuel in center tank after taxi + During taxi, the center fuel tank is used + + + + + wing_tank_center + + kerosene + 0.96 + usableVolume + + + + + + + + Tanks after taxi + A bit of center and inner fuel tank has been consumed + + innerTankAfterEngineStart + centerTankAfterTaxi + + + + + + Fuel in inner tank after take-off + During take-off, the inner fuel tank is used, as it is prohibited to use the center tanke + + + + + wing_tank_inner + + kerosene + 0.95 + usableVolume + + + + + + + + Tanks after take-off + + tanksAfterTaxi + innerTankAfterTakeOff + + + + + + Empty center tank + During flight, the center tank is used until it is empty + + + + + wing_tank_center + + kerosene + 0.0 + usableVolume + + + + + + + + Empty inner tank + All fuel used from the inner tank + + + + + wing_tank_inner + + kerosene + 0.2 + usableVolume + + + + + + + + Empty inner tank + All fuel used from the inner tank + + + + + wing_tank_outer + + kerosene + 0.34 + usableVolume + + + + + + + + Fuel after landing + + centerTankEmpty + innerTankLow + outerTankLow + + + + + + + + + Base configuration v2 + All tanks fully filled + + + + + wing_tank_center + wing_tank_inner + wing_tank_outer + + kerosene + 1 + usableVolume + + + + + + + + Fuel after engine start + During engine start-up, the inner wing tank is used + + + + + wing_tank_inner + + kerosene + 0.99 + usableVolume + + + + + + + Fuel in center tank after taxi + During taxi, the center fuel tank is used + + + + + wing_tank_center + + kerosene + 0.96 + usableVolume + + + + wing_tank_inner + + kerosene + 0.99 + usableVolume + + + + + + + Fuel in inner tank after take-off + During take-off, the inner fuel tank is used, as it is prohibited to use the center tanke + + + + + wing_tank_center + + kerosene + 0.96 + usableVolume + + + + wing_tank_inner + + kerosene + 0.95 + usableVolume + + + + + + + Empty inner tank + All fuel used from the inner tank + + + + + wing_tank_center + + kerosene + 0.0 + usableVolume + + + + wing_tank_inner + + kerosene + 0.2 + usableVolume + + + + wing_tank_outer + + kerosene + 0.34 + usableVolume + + + + + + + + + + + + D150_wing_1 + Wing + + + 1.0 + 1.0 + 1.0 + + + 0.0 + 2.0 + 0 + + + 12.74 + 0.0 + -1.13628021843 + + + +
+ Wing_Sec1 + Wing_Sec1 + + + 1 + 1 + 1 + + + 0 + 0.0 + 0 + + + -0.0 + 0 + 0.0 + + + + + Wing_Sec1_Elem1 + Wing_Sec1_Element1 + W_SupCritProf1 + + + 6.07437252431 + 6.07437252431 + 6.07437252431 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + + +
+
+ Wing_Sec2 + Wing_Sec2 + + + 1 + 1 + 1 + + + 0 + 0.0 + 0 + + + -0.0 + 0 + 0.0 + + + + + Wing_Sec2_Elem1 + Wing_Sec2_Element1 + W_SupCritProf1 + + + 6.07437252431 + 6.07437252431 + 6.07437252431 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + + +
+
+ Wing_Sec3 + Wing_Sec3 + + + 1 + 1 + 0.776 + + + 0 + 0.0 + 0 + + + -0.0 + 0 + 0.0 + + + + + Wing_Sec3_Elem1 + Wing_Sec3_Element1 + W_SupCritProf1 + + + 3.75760684354 + 3.75760684354 + 3.75760684354 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + + +
+
+ Wing_Sec4 + Wing_Sec4 + + + 1 + 1 + 0.716 + + + 0 + 0.0 + 0 + + + -0.0 + 0 + 0.0 + + + + + Wing_Sec4_Elem1 + Wing_Sec4_Element1 + W_SupCritProf1 + + + 1.49551051549 + 1.49551051549 + 1.49551051549 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + + +
+
+ + + Wing_Position1 + 0 + 0.0 + 0.0 + W1_Sec1 + + + Wing_Position2 + 1.86791084904 + 0.0 + 0.0 + W1_Sec1 + W1_Sec2 + + + Wing_Position3 + 5.04548439586 + 27.3288085125 + 5.0 + W1_Sec2 + W1_Sec3 + + + Wing_Position4 + 12.0034782943 + 27.3288085125 + 5.0 + W1_Sec3 + W1_Sec4 + + + + + W1_Seg1 + W1_Seg1 + W1_Sec1_Elem1 + W1_Sec2_Elem1 + + + W1_Seg2 + W1_Seg2 + W1_Sec2_Elem1 + W1_Sec3_Elem1 + + + W1_Seg3 + W1_Seg3 + W1_Sec3_Elem1 + W1_Sec4_Elem1 + + + + + W1_CompSeg1 + W1_CompSeg1 + W1_Sec1_Elem1 + W1_Sec4_Elem1 + + + + + aluminium7150 + 0.003 + + + + stringerDummy + 0.14 + + 0 + 0 + W1_CompSeg1 + + 0 + + + + + + aluminium2024 + 0.003 + + + + stringerDummy + 0.14 + + 0 + 0 + W1_CompSeg1 + + 0.0 + + + + + ribs_CWB + ribs in center wing box + + + 0.0 + frontSpar + + + 0.07515 + frontSpar + + frontSpar + rearSpar + 3 + frontSpar + end + + globalY + 90 + + + + + aluminium2024 + 0.003 + + + + + ribs_IW + ribs at the inner part of the wing + + + 0.11015 + frontSpar + + + 0.29036 + frontSpar + + frontSpar + rearSpar + 6 + frontSpar + end + + globalY + 90 + + + + + aluminium2024 + 0.003 + + + + + ribs_EM + ribs for the Engine Mount + + + 0.33172 + frontSpar + + + 0.3499 + frontSpar + + frontSpar + rearSpar + 2 + frontSpar + end + + globalY + 90 + + + + + aluminium2024 + 0.002 + + + + + ribs_12 + rib 12 + + + 0.39564 + frontSpar + + + 0.39564 + frontSpar + + frontSpar + rearSpar + 1 + frontSpar + end + + globalY + 82.8 + + + + + aluminium2024 + 0.002 + + + + + ribs_13 + rib 13 + + + 0.43449 + frontSpar + + + 0.43449 + frontSpar + + frontSpar + rearSpar + 1 + frontSpar + end + + globalY + 76.9 + + + + + aluminium2024 + 0.002 + + + + + ribs_OW + rib at the outer wing + + + 0.47082 + frontSpar + + + 0.93700 + frontSpar + + frontSpar + rearSpar + 16 + frontSpar + end + + globalY + 69.6 + + + + + aluminium2024 + 0.002 + + + + + ribs_Tip + Tip Rib + + + 0.96 + frontSpar + + + 0.995 + frontSpar + + frontSpar + rearSpar + 2 + frontSpar + end + + globalY + 90 + + + + + aluminium2024 + 0.002 + + + + + + + + + 0 + 0.10142 + W1_CompSeg1 + + + + + 0.10398 + 0.10142 + W1_CompSeg1 + + + + + 0.994898 + 0.33692 + W1_CompSeg1 + + + + + 0 + 0.56059 + W1_CompSeg1 + + + + + 0.10398 + 0.56059 + W1_CompSeg1 + + + + + 0.279077 + 0.59347 + W1_CompSeg1 + + + + + 0.776116 + 0.58808 + W1_CompSeg1 + + + + + 0.994898 + 0.592 + W1_CompSeg1 + + + + + + Front Spar + Front Spar + + FS_P1 + FS_P2 + FS_P3 + + + + 0.0003 + + aluminium2024 + 0.003 + + + + 0.0003 + + aluminium2024 + 0.003 + + + + + aluminium2024 + 0.003 + + 0.0 + + 90 + + + + Rear Spar + Rear Spar + + RS_P1 + RS_P2 + RS_P3 + RS_P4 + RS_P5 + + + + 0.0003 + + aluminium2024 + 0.003 + + + + 0.0003 + + aluminium2024 + 0.003 + + + + + aluminium2024 + 0.003 + + 1.0 + + 90 + + + + + + + + + W1_CompSeg1_innerFlap + Inner flap of the D150 + W1_CompSeg1 + + + + 0.1103 + W1_CompSeg1 + + + 0.1103 + W1_CompSeg1 + + + 0.812922 + W1_CompSeg1 + + + + + 0.325678 + W1_CompSeg1 + + + 0.325678 + W1_CompSeg1 + + + 0.7195 + W1_CompSeg1 + + + + + + 0.812922199791 + 0.5 + + + 0.7195 + 0.5 + + + + 0 + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + + 0 + + + 1 + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + + 35.0 + + + + + + W1_CompSeg1_outerFlap + Outer flap of the D150 + W1_CompSeg1 + + + + 0.325678 + W1_CompSeg1 + + + 0.325678 + W1_CompSeg1 + + + 0.7195 + W1_CompSeg1 + + + + + 0.758902 + W1_CompSeg1 + + + 0.758902 + W1_CompSeg1 + + + 0.705129 + W1_CompSeg1 + + + + + + 0.7195 + 0.5 + + + 0.705129411765 + 0.5 + + + + 0 + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + + 0 + + + 1 + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + + 35.0 + + + + + + W1_CompSeg1_aileron + All speed aileron of the D150 + W1_CompSeg1 + + + + 0.770741 + W1_CompSeg1 + + + 0.770741 + W1_CompSeg1 + + + 0.702209 + W1_CompSeg1 + + + + + 0.956947 + W1_CompSeg1 + + + 0.956947 + W1_CompSeg1 + + + 0.712 + W1_CompSeg1 + + + + + + 0.702208610401 + 0.5 + + + 0.712 + 0.5 + + + + -1 + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + + -25.0 + + + 0 + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + + 0 + + + 1 + + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + + 25.0 + + + + + + + + + + ribs_CWB + 1 + + + ribs_IW + 1 + + + + + + wing_tank_inner + + + frontSpar + + + ribs_CWB + 1 + + + ribs_CWB + 3 + + + rearSpar + + + + 6925 + 1 + + + + wing_tank_center + + + ribs_CWB + 3 + + + frontSpar + + + ribs_OW + 5 + + + rearSpar + + + + 8250 + 1 + + + + wing_tank_outer + + + ribs_OW + 5 + + + frontSpar + + + ribs_OW + 12 + + + rearSpar + + + + 880 + 1 + + + + + +
+
+
+
+ + + + Circle + Profile build up from set of Points on Circle where max Dimensions are 1..-1 + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0774924206719;0.154518792808;0.230615870742;0.305325997695;0.378199858172;0.4487991802;0.516699371152;0.581492071288;0.642787609687;0.700217347767;0.753435896328;0.802123192755;0.84598642592;0.884761797177;0.91821610688;0.946148156876;0.968389960528;0.984807753012;0.995302795793;0.999811970449;0.998308158271;0.990800403365;0.977333858251;0.957989512315;0.932883704732;0.902167424781;0.866025403784;0.824675004109;0.778364911924;0.727373641573;0.672007860556;0.612600545193;0.549508978071;0.483112599297;0.413810724505;0.342020143326;0.268172612761;0.192712260548;0.116092914125;0.0387753712568;-0.0387753712568;-0.116092914125;-0.192712260548;-0.268172612761;-0.342020143326;-0.413810724505;-0.483112599297;-0.549508978071;-0.612600545193;-0.672007860556;-0.727373641573;-0.778364911924;-0.824675004109;-0.866025403784;-0.902167424781;-0.932883704732;-0.957989512315;-0.977333858251;-0.990800403365;-0.998308158271;-0.999811970449;-0.995302795793;-0.984807753012;-0.968389960528;-0.946148156876;-0.91821610688;-0.884761797177;-0.84598642592;-0.802123192755;-0.753435896328;-0.700217347767;-0.642787609687;-0.581492071288;-0.516699371152;-0.4487991802;-0.378199858172;-0.305325997695;-0.230615870742;-0.154518792808;-0.0774924206719;0.0 + 1.0;0.996992941168;0.987989849477;0.97304487058;0.952247885338;0.925723969269;0.893632640323;0.85616689953;0.813552070263;0.766044443119;0.713929734558;0.657521368569;0.597158591703;0.533204432802;0.466043519703;0.396079766039;0.323733942058;0.249441144058;0.173648177667;0.0968108707032;0.0193913317718;-0.0581448289105;-0.13533129975;-0.211703872229;-0.286803232711;-0.360177724805;-0.431386065681;-0.5;-0.565606875487;-0.627812124672;-0.686241637869;-0.740544013109;-0.790392669519;-0.835487811413;-0.875558231302;-0.910362940966;-0.939692620786;-0.963370878616;-0.981255310627;-0.993238357742;-0.999247952504;-0.999247952504;-0.993238357742;-0.981255310627;-0.963370878616;-0.939692620786;-0.910362940966;-0.875558231302;-0.835487811413;-0.790392669519;-0.740544013109;-0.686241637869;-0.627812124672;-0.565606875487;-0.5;-0.431386065681;-0.360177724805;-0.286803232711;-0.211703872229;-0.13533129975;-0.0581448289105;0.0193913317718;0.0968108707032;0.173648177667;0.249441144058;0.323733942058;0.396079766039;0.466043519703;0.533204432802;0.597158591703;0.657521368569;0.713929734558;0.766044443119;0.813552070263;0.85616689953;0.893632640323;0.925723969269;0.952247885338;0.97304487058;0.987989849477;0.996992941168;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.234375;0.30859375;0.3828125;0.45703125;0.525390625;0.591796875;0.654296875;0.712890625;0.767578125;0.81640625;0.861328125;0.900390625;0.93359375;0.958984375;0.9794921875;0.99267578125;0.999267578125;0.999999046326;0.996826171875;0.98779296875;0.97265625;0.951171875;0.923828125;0.890625;0.853515625;0.80859375;0.759765625;0.70703125;0.6484375;0.587890625;0.5234375;0.453125;0.3828125;0.30859375;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.30859375;-0.3828125;-0.453125;-0.5234375;-0.587890625;-0.6484375;-0.70703125;-0.759765625;-0.80859375;-0.853515625;-0.890625;-0.923828125;-0.951171875;-0.97265625;-0.98779296875;-0.996826171875;-0.999999046326;-0.999267578125;-0.99267578125;-0.9794921875;-0.958984375;-0.93359375;-0.900390625;-0.861328125;-0.81640625;-0.767578125;-0.712890625;-0.654296875;-0.591796875;-0.525390625;-0.45703125;-0.3828125;-0.30859375;-0.234375;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999542909;0.997070138021;0.988226156026;0.973299687585;0.953214991874;0.926980423223;0.894028486587;0.857036986727;0.814117060513;0.766331985867;0.713645428587;0.655823434816;0.594974631436;0.528420761366;0.458475668245;0.38490465929;0.313130901642;0.234548769073;0.157216215355;0.0780916623625;-0.00138106760273;-0.0796089383489;-0.155772433017;-0.232249476503;-0.308661731041;-0.382807517506;-0.454738506589;-0.521067248904;-0.588367357576;-0.650197043263;-0.707182304306;-0.761267895418;-0.808940426136;-0.85206407247;-0.8914469891;-0.923826060384;-0.951193932624;-0.972146264394;-0.98771753933;-0.996943571309;-0.996943571309;-0.98771753933;-0.972146264394;-0.951193932624;-0.923826060384;-0.8914469891;-0.85206407247;-0.808940426136;-0.761267895418;-0.707182304306;-0.650197043263;-0.588367357576;-0.521067248904;-0.454738506589;-0.382807517506;-0.308661731041;-0.232249476503;-0.155772433017;-0.0796089383489;-0.00138106760273;0.0780916623625;0.157216215355;0.234548769073;0.313130901642;0.38490465929;0.458475668245;0.528420761366;0.594974631436;0.655823434816;0.713645428587;0.766331985867;0.814117060513;0.857036986727;0.894028486587;0.926980423223;0.953214991874;0.973299687585;0.988226156026;0.997070138021;0.999999542909;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.234375;0.314453125;0.39453125;0.47265625;0.55078125;0.625;0.69921875;0.771484375;0.837890625;0.896484375;0.9453125;0.9794921875;0.998046875;1.0;1.0;1.0;1.0;0.999999046326;0.996826171875;0.98779296875;0.97265625;0.951171875;0.923828125;0.890625;0.853515625;0.80859375;0.759765625;0.70703125;0.6484375;0.587890625;0.5234375;0.453125;0.3828125;0.30859375;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.30859375;-0.3828125;-0.453125;-0.5234375;-0.587890625;-0.6484375;-0.70703125;-0.759765625;-0.80859375;-0.853515625;-0.890625;-0.923828125;-0.951171875;-0.97265625;-0.98779296875;-0.996826171875;-0.999999046326;-1.0;-1.0;-1.0;-1.0;-0.998046875;-0.9794921875;-0.9453125;-0.896484375;-0.837890625;-0.771484375;-0.69921875;-0.625;-0.55078125;-0.47265625;-0.39453125;-0.314453125;-0.234375;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999700875;0.998082671718;0.992295089597;0.982527073117;0.968178446836;0.949114196083;0.925504982366;0.896274063074;0.862383711797;0.821158801992;0.771814901294;0.715099738233;0.650635597528;0.577297210565;0.499081764182;0.411877726342;0.32421875;0.23828125;0.16015625;0.078125;-0.00138106760273;-0.0796089383489;-0.155772433017;-0.232249476503;-0.308661731041;-0.382807517506;-0.454738506589;-0.521067248904;-0.588367357576;-0.650197043263;-0.707182304306;-0.761267895418;-0.808940426136;-0.85206407247;-0.8914469891;-0.923826060384;-0.951193932624;-0.972146264394;-0.98771753933;-0.996943571309;-0.996943571309;-0.98771753933;-0.972146264394;-0.951193932624;-0.923826060384;-0.8914469891;-0.85206407247;-0.808940426136;-0.761267895418;-0.707182304306;-0.650197043263;-0.588367357576;-0.521067248904;-0.454738506589;-0.382807517506;-0.308661731041;-0.232249476503;-0.155772433017;-0.0796089383489;-0.00138106760273;0.078125;0.16015625;0.23828125;0.32421875;0.411877726342;0.499081764182;0.577297210565;0.650635597528;0.715099738233;0.771814901294;0.821158801992;0.862383711797;0.896274063074;0.925504982366;0.949114196083;0.968178446836;0.982527073117;0.992295089597;0.998082671718;0.999999700875;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.23828125;0.31640625;0.3984375;0.48046875;0.5625;0.6484375;0.73046875;0.80859375;0.8828125;0.9453125;0.9892578125;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;0.99658203125;0.98583984375;0.9677734375;0.9423828125;0.91015625;0.87109375;0.826171875;0.775390625;0.71875;0.66015625;0.595703125;0.52734375;0.45703125;0.384765625;0.30859375;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.30859375;-0.384765625;-0.45703125;-0.52734375;-0.595703125;-0.66015625;-0.71875;-0.775390625;-0.826171875;-0.87109375;-0.91015625;-0.9423828125;-0.9677734375;-0.98583984375;-0.99658203125;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-0.9892578125;-0.9453125;-0.8828125;-0.80859375;-0.73046875;-0.6484375;-0.5625;-0.48046875;-0.3984375;-0.31640625;-0.23828125;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999779859;0.998588938566;0.994329556382;0.986702146565;0.976281142698;0.961771639784;0.943220059535;0.920037502431;0.889784549278;0.853625736049;0.809961557972;0.75518819345;0.688911069809;0.605817533306;0.5078125;0.4140625;0.32421875;0.23828125;0.16015625;0.078125;0.0;-0.078125;-0.158587367634;-0.236621548769;-0.313786564489;-0.389650138916;-0.462775694869;-0.533262476247;-0.59957587608;-0.662002560788;-0.720506462037;-0.771739855736;-0.819503284898;-0.862103847393;-0.898606335689;-0.929390263531;-0.955236051124;-0.974453110777;-0.988734772723;-0.997196704733;-0.997196704733;-0.988734772723;-0.974453110777;-0.955236051124;-0.929390263531;-0.898606335689;-0.862103847393;-0.819503284898;-0.771739855736;-0.720506462037;-0.662002560788;-0.59957587608;-0.533262476247;-0.462775694869;-0.389650138916;-0.313786564489;-0.236621548769;-0.158587367634;-0.078125;0.0;0.078125;0.16015625;0.23828125;0.32421875;0.4140625;0.5078125;0.605817533306;0.688911069809;0.75518819345;0.809961557972;0.853625736049;0.889784549278;0.920037502431;0.943220059535;0.961771639784;0.976281142698;0.986702146565;0.994329556382;0.998588938566;0.999999779859;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.23828125;0.31640625;0.3984375;0.484375;0.56640625;0.65234375;0.73828125;0.8203125;0.896484375;0.9609375;0.9970703125;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;0.99609375;0.98291015625;0.9609375;0.9296875;0.890625;0.84375;0.791015625;0.734375;0.669921875;0.603515625;0.53515625;0.4609375;0.38671875;0.3125;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.3125;-0.38671875;-0.4609375;-0.53515625;-0.603515625;-0.669921875;-0.734375;-0.791015625;-0.84375;-0.890625;-0.9296875;-0.9609375;-0.98291015625;-0.99609375;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-0.9970703125;-0.9609375;-0.896484375;-0.8203125;-0.73828125;-0.65234375;-0.56640625;-0.484375;-0.3984375;-0.31640625;-0.23828125;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999799604;0.998715505278;0.994838173079;0.9878949122;0.978408631772;0.96520057473;0.947408865303;0.926087268254;0.898264819208;0.863202424706;0.820093231252;0.765946846403;0.696053453165;0.611885884731;0.5078125;0.4140625;0.32421875;0.23828125;0.16015625;0.078125;0.0;-0.078125;-0.16015625;-0.239315647304;-0.319233925488;-0.396562031082;-0.472975860261;-0.545055620358;-0.613471362818;-0.676098066503;-0.731956808092;-0.785095230179;-0.83091792329;-0.870468190652;-0.906078264865;-0.935084877728;-0.958213381898;-0.97675995716;-0.989752006115;-0.997449838158;-0.997449838158;-0.989752006115;-0.97675995716;-0.958213381898;-0.935084877728;-0.906078264865;-0.870468190652;-0.83091792329;-0.785095230179;-0.731956808092;-0.676098066503;-0.613471362818;-0.545055620358;-0.472975860261;-0.396562031082;-0.319233925488;-0.239315647304;-0.16015625;-0.078125;0.0;0.078125;0.16015625;0.23828125;0.32421875;0.4140625;0.5078125;0.611885884731;0.696053453165;0.765946846403;0.820093231252;0.863202424706;0.898264819208;0.926087268254;0.947408865303;0.96520057473;0.978408631772;0.9878949122;0.994838173079;0.998715505278;0.999999799604;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.23828125;0.31640625;0.3984375;0.484375;0.56640625;0.65234375;0.73828125;0.8203125;0.896484375;0.9609375;0.9970703125;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;0.999145507813;0.9892578125;0.9697265625;0.939453125;0.900390625;0.853515625;0.80078125;0.740234375;0.67578125;0.609375;0.537109375;0.46484375;0.388671875;0.3125;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.3125;-0.388671875;-0.46484375;-0.537109375;-0.609375;-0.67578125;-0.740234375;-0.80078125;-0.853515625;-0.900390625;-0.939453125;-0.9697265625;-0.9892578125;-0.999145507813;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-0.9970703125;-0.9609375;-0.896484375;-0.8203125;-0.73828125;-0.65234375;-0.56640625;-0.484375;-0.3984375;-0.31640625;-0.23828125;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999799604;0.998715505278;0.994838173079;0.9878949122;0.978408631772;0.96520057473;0.947408865303;0.926087268254;0.898264819208;0.863202424706;0.820093231252;0.765946846403;0.696053453165;0.611885884731;0.5078125;0.4140625;0.32421875;0.23828125;0.16015625;0.078125;0.0;-0.078125;-0.16015625;-0.239823441939;-0.322964483365;-0.400683119801;-0.478776073784;-0.552048614251;-0.620230275019;-0.681992888147;-0.740189076022;-0.791535215794;-0.835765903636;-0.875913322247;-0.909122166037;-0.937655288625;-0.960287287473;-0.977913380351;-0.990260622812;-0.99757640487;-0.99757640487;-0.990260622812;-0.977913380351;-0.960287287473;-0.937655288625;-0.909122166037;-0.875913322247;-0.835765903636;-0.791535215794;-0.740189076022;-0.681992888147;-0.620230275019;-0.552048614251;-0.478776073784;-0.400683119801;-0.322964483365;-0.239823441939;-0.16015625;-0.078125;0.0;0.078125;0.16015625;0.23828125;0.32421875;0.4140625;0.5078125;0.611885884731;0.696053453165;0.765946846403;0.820093231252;0.863202424706;0.898264819208;0.926087268254;0.947408865303;0.96520057473;0.978408631772;0.9878949122;0.994838173079;0.998715505278;0.999999799604;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.23828125;0.31640625;0.3984375;0.48046875;0.56640625;0.6484375;0.734375;0.81640625;0.890625;0.953125;0.9931640625;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;0.999145507813;0.9892578125;0.9697265625;0.939453125;0.900390625;0.853515625;0.80078125;0.740234375;0.67578125;0.609375;0.537109375;0.46484375;0.388671875;0.3125;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.3125;-0.388671875;-0.46484375;-0.537109375;-0.609375;-0.67578125;-0.740234375;-0.80078125;-0.853515625;-0.900390625;-0.939453125;-0.9697265625;-0.9892578125;-0.999145507813;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-0.9931640625;-0.953125;-0.890625;-0.81640625;-0.734375;-0.6484375;-0.56640625;-0.48046875;-0.3984375;-0.31640625;-0.23828125;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999789731;0.998652221922;0.994583864731;0.987298529383;0.977344887235;0.963486107257;0.945766529237;0.922445800803;0.894727497503;0.858337329067;0.813682584161;0.759558765558;0.692460789161;0.6105074317;0.5078125;0.4140625;0.32421875;0.23828125;0.16015625;0.078125;0.0;-0.078125;-0.16015625;-0.239823441939;-0.322964483365;-0.400683119801;-0.478776073784;-0.552048614251;-0.620230275019;-0.681992888147;-0.740189076022;-0.791535215794;-0.835765903636;-0.875913322247;-0.909122166037;-0.937655288625;-0.960287287473;-0.977913380351;-0.990260622812;-0.99757640487;-0.99757640487;-0.990260622812;-0.977913380351;-0.960287287473;-0.937655288625;-0.909122166037;-0.875913322247;-0.835765903636;-0.791535215794;-0.740189076022;-0.681992888147;-0.620230275019;-0.552048614251;-0.478776073784;-0.400683119801;-0.322964483365;-0.239823441939;-0.16015625;-0.078125;0.0;0.078125;0.16015625;0.23828125;0.32421875;0.4140625;0.5078125;0.6105074317;0.692460789161;0.759558765558;0.813682584161;0.858337329067;0.894727497503;0.922445800803;0.945766529237;0.963486107257;0.977344887235;0.987298529383;0.994583864731;0.998652221922;0.999999789731;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.23828125;0.31640625;0.3984375;0.4765625;0.55859375;0.640625;0.72265625;0.80078125;0.87109375;0.93359375;0.978515625;0.999755859375;1.0;1.0;1.0;1.0;1.0;1.0;1.0;1.0;0.999145507813;0.9892578125;0.9697265625;0.939453125;0.900390625;0.853515625;0.80078125;0.740234375;0.67578125;0.609375;0.537109375;0.46484375;0.388671875;0.3125;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.3125;-0.388671875;-0.46484375;-0.537109375;-0.609375;-0.67578125;-0.740234375;-0.80078125;-0.853515625;-0.900390625;-0.939453125;-0.9697265625;-0.9892578125;-0.999145507813;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-0.999755859375;-0.978515625;-0.93359375;-0.87109375;-0.80078125;-0.72265625;-0.640625;-0.55859375;-0.4765625;-0.3984375;-0.31640625;-0.23828125;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999760113;0.998462371854;0.993820939686;0.98550938093;0.974153653623;0.958342704838;0.939198049908;0.914195375396;0.883211939236;0.844652718694;0.798243246319;0.743991023082;0.677190285728;0.60064134899;0.508035923959;0.4140625;0.32421875;0.23828125;0.16015625;0.078125;0.0;-0.078125;-0.16015625;-0.239823441939;-0.322964483365;-0.400683119801;-0.478776073784;-0.552048614251;-0.620230275019;-0.681992888147;-0.740189076022;-0.791535215794;-0.835765903636;-0.875913322247;-0.909122166037;-0.937655288625;-0.960287287473;-0.977913380351;-0.990260622812;-0.99757640487;-0.99757640487;-0.990260622812;-0.977913380351;-0.960287287473;-0.937655288625;-0.909122166037;-0.875913322247;-0.835765903636;-0.791535215794;-0.740189076022;-0.681992888147;-0.620230275019;-0.552048614251;-0.478776073784;-0.400683119801;-0.322964483365;-0.239823441939;-0.16015625;-0.078125;0.0;0.078125;0.16015625;0.23828125;0.32421875;0.4140625;0.508035923959;0.60064134899;0.677190285728;0.743991023082;0.798243246319;0.844652718694;0.883211939236;0.914195375396;0.939198049908;0.958342704838;0.974153653623;0.98550938093;0.993820939686;0.998462371854;0.999999760113;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.234375;0.31640625;0.39453125;0.47265625;0.552734375;0.630859375;0.70703125;0.78125;0.84765625;0.908203125;0.9560546875;0.98828125;0.999996185303;1.0;1.0;1.0;1.0;1.0;1.0;1.0;0.999145507813;0.9892578125;0.9697265625;0.939453125;0.900390625;0.853515625;0.80078125;0.740234375;0.67578125;0.609375;0.537109375;0.46484375;0.388671875;0.3125;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.3125;-0.388671875;-0.46484375;-0.537109375;-0.609375;-0.67578125;-0.740234375;-0.80078125;-0.853515625;-0.900390625;-0.939453125;-0.9697265625;-0.9892578125;-0.999145507813;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-1.0;-0.999996185303;-0.98828125;-0.9560546875;-0.908203125;-0.84765625;-0.78125;-0.70703125;-0.630859375;-0.552734375;-0.47265625;-0.39453125;-0.31640625;-0.234375;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999720621;0.99820923843;0.992803706293;0.983680496308;0.969898675475;0.952473270767;0.930422548929;0.902364154992;0.868698163442;0.828438112093;0.779829479183;0.724946804064;0.659316533002;0.585879080177;0.503534081528;0.415718333859;0.32421875;0.23828125;0.16015625;0.078125;0.0;-0.078125;-0.16015625;-0.239823441939;-0.322964483365;-0.400683119801;-0.478776073784;-0.552048614251;-0.620230275019;-0.681992888147;-0.740189076022;-0.791535215794;-0.835765903636;-0.875913322247;-0.909122166037;-0.937655288625;-0.960287287473;-0.977913380351;-0.990260622812;-0.99757640487;-0.99757640487;-0.990260622812;-0.977913380351;-0.960287287473;-0.937655288625;-0.909122166037;-0.875913322247;-0.835765903636;-0.791535215794;-0.740189076022;-0.681992888147;-0.620230275019;-0.552048614251;-0.478776073784;-0.400683119801;-0.322964483365;-0.239823441939;-0.16015625;-0.078125;0.0;0.078125;0.16015625;0.23828125;0.32421875;0.415718333859;0.503534081528;0.585879080177;0.659316533002;0.724946804064;0.779829479183;0.828438112093;0.868698163442;0.902364154992;0.930422548929;0.952473270767;0.969898675475;0.983680496308;0.992803706293;0.99820923843;0.999999720621;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.234375;0.3125;0.388671875;0.46484375;0.537109375;0.609375;0.67578125;0.740234375;0.80078125;0.853515625;0.900390625;0.939453125;0.9697265625;0.9892578125;0.999145507813;1.0;1.0;1.0;1.0;1.0;0.99609375;0.98291015625;0.9609375;0.9296875;0.890625;0.84375;0.791015625;0.734375;0.669921875;0.603515625;0.53515625;0.4609375;0.38671875;0.3125;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.3125;-0.38671875;-0.4609375;-0.53515625;-0.603515625;-0.669921875;-0.734375;-0.791015625;-0.84375;-0.890625;-0.9296875;-0.9609375;-0.98291015625;-0.99609375;-1.0;-1.0;-1.0;-1.0;-1.0;-0.999145507813;-0.9892578125;-0.9697265625;-0.939453125;-0.900390625;-0.853515625;-0.80078125;-0.740234375;-0.67578125;-0.609375;-0.537109375;-0.46484375;-0.388671875;-0.3125;-0.234375;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999621892;0.99757640487;0.990260622812;0.977913380351;0.960287287473;0.937655288625;0.909122166037;0.875913322247;0.835765903636;0.791535215794;0.740189076022;0.681992888147;0.620230275019;0.552048614251;0.478776073784;0.400683119801;0.322964483365;0.239823441939;0.16015625;0.078125;0.0;-0.078125;-0.16015625;-0.239315647304;-0.319233925488;-0.396562031082;-0.472975860261;-0.545055620358;-0.613471362818;-0.676098066503;-0.731956808092;-0.785095230179;-0.83091792329;-0.870468190652;-0.906078264865;-0.935084877728;-0.958213381898;-0.97675995716;-0.989752006115;-0.997449838158;-0.997449838158;-0.989752006115;-0.97675995716;-0.958213381898;-0.935084877728;-0.906078264865;-0.870468190652;-0.83091792329;-0.785095230179;-0.731956808092;-0.676098066503;-0.613471362818;-0.545055620358;-0.472975860261;-0.396562031082;-0.319233925488;-0.239315647304;-0.16015625;-0.078125;0.0;0.078125;0.16015625;0.239823441939;0.322964483365;0.400683119801;0.478776073784;0.552048614251;0.620230275019;0.681992888147;0.740189076022;0.791535215794;0.835765903636;0.875913322247;0.909122166037;0.937655288625;0.960287287473;0.977913380351;0.990260622812;0.99757640487;0.999999621892;1.0 + + + + SuperEllipse + Normalized SuperEllipse with Ratio + + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.0009765625;0.078125;0.15625;0.234375;0.30859375;0.3828125;0.45703125;0.525390625;0.591796875;0.654296875;0.712890625;0.767578125;0.81640625;0.861328125;0.900390625;0.93359375;0.958984375;0.9794921875;0.99267578125;0.999267578125;1.0;0.999267578125;0.99267578125;0.9794921875;0.958984375;0.93359375;0.900390625;0.861328125;0.81640625;0.767578125;0.712890625;0.654296875;0.591796875;0.525390625;0.45703125;0.3828125;0.30859375;0.234375;0.15625;0.078125;-0.078125;-0.15625;-0.234375;-0.30859375;-0.3828125;-0.45703125;-0.525390625;-0.591796875;-0.654296875;-0.712890625;-0.767578125;-0.81640625;-0.861328125;-0.900390625;-0.93359375;-0.958984375;-0.9794921875;-0.99267578125;-0.999267578125;-1.0;-0.999267578125;-0.99267578125;-0.9794921875;-0.958984375;-0.93359375;-0.900390625;-0.861328125;-0.81640625;-0.767578125;-0.712890625;-0.654296875;-0.591796875;-0.525390625;-0.45703125;-0.3828125;-0.30859375;-0.234375;-0.15625;-0.078125;-0.0009765625;-0.0 + 1.0;0.999999542909;0.997070138021;0.988226156026;0.973299687585;0.953214991874;0.926980423223;0.894028486587;0.857036986727;0.814117060513;0.766331985867;0.713645428587;0.655823434816;0.594974631436;0.528420761366;0.458475668245;0.38490465929;0.313130901642;0.234548769073;0.157216215355;0.0780916623625;0.0;-0.0780916623625;-0.157216215355;-0.234548769073;-0.313130901642;-0.38490465929;-0.458475668245;-0.528420761366;-0.594974631436;-0.655823434816;-0.713645428587;-0.766331985867;-0.814117060513;-0.857036986727;-0.894028486587;-0.926980423223;-0.953214991874;-0.973299687585;-0.988226156026;-0.997070138021;-0.997070138021;-0.988226156026;-0.973299687585;-0.953214991874;-0.926980423223;-0.894028486587;-0.857036986727;-0.814117060513;-0.766331985867;-0.713645428587;-0.655823434816;-0.594974631436;-0.528420761366;-0.458475668245;-0.38490465929;-0.313130901642;-0.234548769073;-0.157216215355;-0.0780916623625;0.0;0.0780916623625;0.157216215355;0.234548769073;0.313130901642;0.38490465929;0.458475668245;0.528420761366;0.594974631436;0.655823434816;0.713645428587;0.766331985867;0.814117060513;0.857036986727;0.894028486587;0.926980423223;0.953214991874;0.973299687585;0.988226156026;0.997070138021;0.999999542909;1.0 + + + + + + NACA0.00.00.12 + NACA 4 Series Profile + + 1.0;0.9875;0.975;0.9625;0.95;0.9375;0.925;0.9125;0.9;0.8875;0.875;0.8625;0.85;0.8375;0.825;0.8125;0.8;0.7875;0.775;0.7625;0.75;0.7375;0.725;0.7125;0.7;0.6875;0.675;0.6625;0.65;0.6375;0.625;0.6125;0.6;0.5875;0.575;0.5625;0.55;0.5375;0.525;0.5125;0.5;0.4875;0.475;0.4625;0.45;0.4375;0.425;0.4125;0.4;0.3875;0.375;0.3625;0.35;0.3375;0.325;0.3125;0.3;0.2875;0.275;0.2625;0.25;0.2375;0.225;0.2125;0.2;0.1875;0.175;0.1625;0.15;0.1375;0.125;0.1125;0.1;0.0875;0.075;0.0625;0.05;0.0375;0.025;0.0125;0.0;0.0125;0.025;0.0375;0.05;0.0625;0.075;0.0875;0.1;0.1125;0.125;0.1375;0.15;0.1625;0.175;0.1875;0.2;0.2125;0.225;0.2375;0.25;0.2625;0.275;0.2875;0.3;0.3125;0.325;0.3375;0.35;0.3625;0.375;0.3875;0.4;0.4125;0.425;0.4375;0.45;0.4625;0.475;0.4875;0.5;0.5125;0.525;0.5375;0.55;0.5625;0.575;0.5875;0.6;0.6125;0.625;0.6375;0.65;0.6625;0.675;0.6875;0.7;0.7125;0.725;0.7375;0.75;0.7625;0.775;0.7875;0.8;0.8125;0.825;0.8375;0.85;0.8625;0.875;0.8875;0.9;0.9125;0.925;0.9375;0.95;0.9625;0.975;0.9875 + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.00126;0.0030004180415;0.00471438572941;0.00640256842113;0.00806559133343;0.00970403933653;0.0113184567357;0.0129093470398;0.0144771727147;0.0160223549226;0.0175452732434;0.0190462653789;0.0205256268372;0.0219836105968;0.0234204267471;0.024836242105;0.0262311798047;0.0276053188583;0.0289586936852;0.0302912936071;0.0316030623052;0.0328938972373;0.0341636490097;0.0354121207001;0.0366390671268;0.0378441940595;0.0390271573644;0.0401875620783;0.0413249614032;0.042438855614;0.043528690869;0.0445938579126;0.0456336906587;0.04664746464;0.0476343953088;0.0485936361694;0.0495242767241;0.0504253402064;0.0512957810767;0.0521344822472;0.0529402520006;0.0537118205596;0.0544478362583;0.0551468612564;0.0558073667285;0.0564277274483;0.0570062156697;0.0575409941929;0.0580301084765;0.0584714776309;0.0588628840933;0.059201961739;0.0594861821311;0.0597128385384;0.059879027262;0.0599816256958;0.060017266394;0.059982306219;0.05987278938;0.0596844028137;0.059412421875;0.059051643633;0.0585963041308;0.0580399746271;0.0573754299024;0.0565944788455;0.0556877432118;0.054644363746;0.0534516022043;0.0520942903127;0.0505540468987;0.0488081315259;0.0468277042382;0.0445750655553;0.0419990347204;0.0390266537476;0.0355468568262;0.0313738751622;0.0261471986426;0.0189390266528;0.0;-0.0189390266528;-0.0261471986426;-0.0313738751622;-0.0355468568262;-0.0390266537476;-0.0419990347204;-0.0445750655553;-0.0468277042382;-0.0488081315259;-0.0505540468987;-0.0520942903127;-0.0534516022043;-0.054644363746;-0.0556877432118;-0.0565944788455;-0.0573754299024;-0.0580399746271;-0.0585963041308;-0.059051643633;-0.059412421875;-0.0596844028137;-0.05987278938;-0.059982306219;-0.060017266394;-0.0599816256958;-0.059879027262;-0.0597128385384;-0.0594861821311;-0.059201961739;-0.0588628840933;-0.0584714776309;-0.0580301084765;-0.0575409941929;-0.0570062156697;-0.0564277274483;-0.0558073667285;-0.0551468612564;-0.0544478362583;-0.0537118205596;-0.0529402520006;-0.0521344822472;-0.0512957810767;-0.0504253402064;-0.0495242767241;-0.0485936361694;-0.0476343953088;-0.04664746464;-0.0456336906587;-0.0445938579126;-0.043528690869;-0.042438855614;-0.0413249614032;-0.0401875620783;-0.0390271573644;-0.0378441940595;-0.0366390671268;-0.0354121207001;-0.0341636490097;-0.0328938972373;-0.0316030623052;-0.0302912936071;-0.0289586936852;-0.0276053188583;-0.0262311798047;-0.024836242105;-0.0234204267471;-0.0219836105968;-0.0205256268372;-0.0190462653789;-0.0175452732434;-0.0160223549226;-0.0144771727147;-0.0129093470398;-0.0113184567357;-0.00970403933653;-0.00806559133343;-0.00640256842113;-0.00471438572941;-0.0030004180415 + + + + NameW_SupCritProf1 + Profile generated automatically by WingLib + + 1.0;0.99318065;0.97290862;0.93973687;0.89457025;0.83864078;0.77347407;0.7008477;0.62274273;0.54128966;0.45871032;0.37725724;0.29915227;0.22652591;0.1613592;0.10542973;0.06026312;0.02709137;0.00681934;0.0;0.00681934;0.02709137;0.06026312;0.10542973;0.1613592;0.22652591;0.29915227;0.37725724;0.45871032;0.54128966;0.62274273;0.7008477;0.77347407;0.83864078;0.89457025;0.93973687;0.97290862;0.99318065;1.0 + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.00156842;0.00478703;0.01009993;0.01704458;0.02471343;0.03240848;0.03960558;0.04610725;0.0520147;0.05732852;0.06187089;0.06527812;0.06697582;0.06600959;0.06200228;0.05427176;0.04144676;0.02344718;0.0;-0.02033238;-0.0377444;-0.05467523;-0.06753082;-0.07701615;-0.08345515;-0.08659188;-0.08618776;-0.08202661;-0.07386881;-0.06198569;-0.0477972;-0.03348007;-0.02095115;-0.01177135;-0.00582898;-0.00238273;-0.00057906;0.0 + + + + NameHL_NACA0000Prof1 + Profile generated automatically by WingLib + + 1.0;0.95;0.9;0.8;0.7;0.6;0.5;0.4;0.3;0.25;0.2;0.15;0.1;0.075;0.05;0.025;0.0125;0.0;0.0125;0.025;0.05;0.075;0.1;0.15;0.2;0.25;0.3;0.4;0.5;0.6;0.7;0.8;0.9;0.95;1.0 + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.00672;0.01207;0.02187;0.03053;0.03803;0.04412;0.04837;0.05002;0.04952;0.04782;0.04455;0.03902;0.035;0.02962;0.02178;0.01578;0.0;-0.01578;-0.02178;-0.02962;-0.035;-0.03902;-0.04455;-0.04782;-0.04952;-0.05002;-0.04837;-0.04412;-0.03803;-0.03053;-0.02187;-0.01207;-0.00672;0.0 + + + + NameSL_NACA0000Prof1 + Profile generated automatically by WingLib + + 1.0;0.95;0.9;0.8;0.7;0.6;0.5;0.4;0.3;0.25;0.2;0.15;0.1;0.075;0.05;0.025;0.0125;0.0;0.0125;0.025;0.05;0.075;0.1;0.15;0.2;0.25;0.3;0.4;0.5;0.6;0.7;0.8;0.9;0.95;1.0 + 0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 + 0.0;0.00672;0.01207;0.02187;0.03053;0.03803;0.04412;0.04837;0.05002;0.04952;0.04782;0.04455;0.03902;0.035;0.02962;0.02178;0.01578;0.0;-0.01578;-0.02178;-0.02962;-0.035;-0.03902;-0.04455;-0.04782;-0.04952;-0.05002;-0.04837;-0.04412;-0.03803;-0.03053;-0.02187;-0.01207;-0.00672;0.0 + + + + + + + + + + + + Aluminium 2024 + 2.8e3 + + 73.1e9 + 0.25574 + + + + Aluminium 7150 + 2.8e3 + + 1.0520897e11 + 0.3435 + 1.0520897e11 + 303336000 + + + +
+
\ No newline at end of file diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 8b73925..b87c3ff 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1741,30 +1741,11 @@ cpacs@dlr.de - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - + + + Configuration uID + + Reference to an increment map of the aeroPerformanceMap @@ -1944,9 +1925,7 @@ cpacs@dlr.de - - - + @@ -1958,7 +1937,7 @@ cpacs@dlr.de - + Configuration settings @@ -2007,33 +1986,12 @@ cpacs@dlr.de - - - - - - Reference to the uID of a control device, e.g. a control surface or a landing gear - - - - - Value of the command parameters of a control distributor. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - - - - Reference to a control distributor uID - - - - - Command inputs of a control distributor given as vector. If not given explicitly in the control distributor, linear interpolation between the neighboring points is required. - - - - + + + + UIDs of configurations or its variations + + Increment of drag coefficient in aerodynamic coordinates @@ -2064,7 +2022,7 @@ cpacs@dlr.de Increment of cml - + @@ -6630,62 +6588,6 @@ cpacs@dlr.de
- - - - - - Configurational changes - - - - - - - - - - - - - - - - - - - Configurational change - - - - - - - - - - - Name - - - - - - - Description - - - - - - - - - - - - - @@ -6724,7 +6626,7 @@ cpacs@dlr.de - + @@ -32412,21 +32314,28 @@ The fuel tank volume type should also be used for the wing fuel tank - + - Maximum storage capacity [l] + Fill factor + + + + + + - + - Storage level wrt. storage capacity + Fill factor reference (optimalVolume | usableVolume | realVolume) - - - + + + + @@ -35285,6 +35194,73 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Variations + + + + + + + + + + + + + + + + + + + Variation + + + + + + + + + + + Name + + + + + + + Description + + + + + + + + + + + + + + UID of a configurations to include + + + + + + + + + + @@ -38029,21 +38005,37 @@ The fuel tank volume type should also be used for the wing fuel tank - + Defines if the upper shell of the current componentSegment is structurally connected to the upper or lower shell of the second componentSegment. Can have the values 'upperShell' or 'lowerShell'. + + + + + + + + - + Defines if the lower shell of the current componentSegment is structurally connected to the upper or lower shell of the second componentSegment. Can have the values 'upperShell' or 'lowerShell'. + + + + + + + + From faa2404269e7caa47296557830ef815cb12e91d0 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Tue, 13 Dec 2022 13:41:18 +0100 Subject: [PATCH 054/123] add configuration events to weight and balance; show with example file --- examples/configurationDefinitions_fuel.xml | 39 ++++++++++++++- schema/cpacs_schema.xsd | 57 +++++++++++++++++++++- 2 files changed, 94 insertions(+), 2 deletions(-) diff --git a/examples/configurationDefinitions_fuel.xml b/examples/configurationDefinitions_fuel.xml index 6832e9a..b0936b2 100644 --- a/examples/configurationDefinitions_fuel.xml +++ b/examples/configurationDefinitions_fuel.xml @@ -208,7 +208,7 @@ - Base configuration v2 @@ -1292,6 +1292,43 @@ + + + + + Defueling + + + fuelConfig1 + 1 + + + innerTankAfterEngineStart + 4 + + + tanksAfterTaxi + 7 + + + tanksAfterTakeOff + 9 + + + fuelAfterLanding + 15 + + + NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN + + NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN + NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN + NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN;NaN + + + + + diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index b87c3ff..0ad9978 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -6633,6 +6633,59 @@ cpacs@dlr.de + + + + + + Configurations + + + + + + + + + + + + + + + + + + + + + + Configuration + + + + + + + + + + + + + UID of the configuration definition + + + + + Index of the weight and balance vectors to which the configuration applies to. [1;inf] + + + + + + + @@ -25505,11 +25558,12 @@ The fuel tank volume type should also be used for the wing fuel tank + - + @@ -35773,6 +35827,7 @@ The fuel tank volume type should also be used for the wing fuel tank + From cac087edf4f72f0f49ff2ccbfe57bdcf343b2b56 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Thu, 15 Dec 2022 15:33:04 +0100 Subject: [PATCH 055/123] fix indent for simpleTypes --- schema/cpacs_schema.xsd | 4 ++-- scripts/syntax_cleanup.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 620cf92..7e4e72a 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -31400,7 +31400,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -32853,7 +32853,7 @@ The fuel tank volume type should also be used for the wing fuel tank
- + diff --git a/scripts/syntax_cleanup.py b/scripts/syntax_cleanup.py index 67a0519..ded141d 100644 --- a/scripts/syntax_cleanup.py +++ b/scripts/syntax_cleanup.py @@ -214,8 +214,9 @@ def pretty_print(self, root): # Remove trailing empty spaces: root_str = "".join([line.rstrip() + "\n" for line in root_str.splitlines()]) - # Fix indent of complexType: + # Fix indent of complexType and simpleType: root_str = root_str.replace(" Date: Tue, 20 Dec 2022 13:06:44 +0100 Subject: [PATCH 056/123] directly make use of material definition --- schema/cpacs_schema.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 2c0adf6..e9bcb20 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -16695,7 +16695,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -29791,7 +29791,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + UID of sheetBasedStructuralElement used for the panel From eb77e24611cccaf09f9fe751c1350ea8f6c41518 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Tue, 20 Dec 2022 16:42:25 +0100 Subject: [PATCH 057/123] modify according to meeting results (#786) --- examples/cryogenicFuelTanks.xml | 31 ++-- schema/cpacs_schema.xsd | 317 ++++++++++---------------------- 2 files changed, 110 insertions(+), 238 deletions(-) diff --git a/examples/cryogenicFuelTanks.xml b/examples/cryogenicFuelTanks.xml index a1f9cdb..a3070f8 100644 --- a/examples/cryogenicFuelTanks.xml +++ b/examples/cryogenicFuelTanks.xml @@ -61,23 +61,22 @@ - - + + Cryogenic fuel tank - - 3 - 0.9 - 1 - - 1. - 0. - 0. - - 1. - mat1 - - - + + + + 10. + 2. + 0. + + + 1. + + + + diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index e9bcb20..f664e01 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -9185,111 +9185,6 @@ cpacs@dlr.de
- - - - - - Global design parameters - - - - - - - - - - Radius of the cylinder - - - - - Length of the cylinder - - - - - Height of the dome - - - - - Tangent at the transition from cylinder to dome (wrt. fuselage coordinate system) - - - - - Curvature of the dome at the transition from cylinder to dome - - - - - - - - - - - - - - List of cryogenic fuel tanks - - - - - - - - - - - - - Cryogenic fuel tank - - - - - - - - - - - - - Definition of a cryogenic tank - - - - - - - - - - Name - - - - - - Description - - - - - - - - - - - - - @@ -14756,11 +14651,7 @@ cpacs@dlr.de The fuel tank volume type should also be used for the wing fuel tank - - - Cryogenic fuel tanks - - + @@ -15447,6 +15338,98 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Global design parameters + + + + + + + + + + + Radius of the cylinder + + + + + Further parameters to be defined + + + + + + UID of the pre-defined sheetBasedStructuralElement + + + + + + + + + + + + + Generic fuel tank + + + + + + + + + + + + + + + + + + + + + + Cryogenic tank + + + + + + + + + + Name + + + + + + Description + + + + + + + + + + + + + @@ -16673,35 +16656,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + + - - - - - - Skin layer - - - - - - - - - - - - - - - - - @@ -29778,94 +29739,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Skin segment - - - - - - - - - - UID of sheetBasedStructuralElement used for - the panel - - - - - - UID of (virtual) frame at start of the skin segment - - - - - - UID of section at start of the skin segment - - - - - - - - UID of (virtual) frame at end of the skin segment - - - - - - UID of section at end of the skin segment - - - - - - - UID of (virtual) stringer at start of the skin segment - - - - - - UID of (virtual) stringer at end of the skin segment - - - - - - - - - - - - - - - Skin segments - - - FuselageSkinSegment type, containing material on skin - over circumference - - - - - - - - - - - - - From d6676288dbefd29ffbe57c217c32b2adb976cc6a Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Mon, 2 Jan 2023 12:03:03 +0100 Subject: [PATCH 058/123] add generic design parameters (#786) --- examples/cryogenicFuelTanks.xml | 5 +- schema/cpacs_schema.xsd | 133 ++++++++++++++++++++++++++++++-- 2 files changed, 131 insertions(+), 7 deletions(-) diff --git a/examples/cryogenicFuelTanks.xml b/examples/cryogenicFuelTanks.xml index a3070f8..0a342c8 100644 --- a/examples/cryogenicFuelTanks.xml +++ b/examples/cryogenicFuelTanks.xml @@ -73,7 +73,10 @@ 1. - + 5. + + + diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index f664e01..b114f5e 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -10785,6 +10785,31 @@ cpacs@dlr.de + + + + + + Dome Type + + + + + + + + + + + + + + + + + + + @@ -11454,6 +11479,29 @@ cpacs@dlr.de + + + + + + Ellipsoid dome + + + + + + + + + + Half axis fraction + + + + + + + @@ -11488,6 +11536,27 @@ cpacs@dlr.de + + + + + + Emtpy element + + + Base type for string nodes (including external data + attributes) + + + + + + + + + + + @@ -15354,20 +15423,21 @@ The fuel tank volume type should also be used for the wing fuel tank - Radius of the cylinder + Inner radius of the cylinder - + - Further parameters to be defined + Inner length of the cylinder - - + + - UID of the pre-defined sheetBasedStructuralElement + Burst pressure + @@ -17095,6 +17165,29 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Isotensoid dome + + + + + + + + + + Radius of the fitting/smaller polar opening + + + + + + + @@ -32144,6 +32237,34 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Torispherical dome + + + + + + + + + + R1: dish radius + + + + + R2: knuckle radius + + + + + + + From 30a14a5db6adb3501ba7cbe3ef05bd77f406c0b0 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Mon, 2 Jan 2023 12:40:16 +0100 Subject: [PATCH 059/123] move burstPressure up; make materialUID mandatory (#786) --- schema/cpacs_schema.xsd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index b114f5e..c00032a 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -15432,12 +15432,7 @@ The fuel tank volume type should also be used for the wing fuel tank - - - Burst pressure - - - + @@ -15494,6 +15489,11 @@ The fuel tank volume type should also be used for the wing fuel tank + + + Burst pressure + + From 4085ca769427f3968e8b65f2f710a9c01e70fcb3 Mon Sep 17 00:00:00 2001 From: "Alder, Marko" Date: Mon, 2 Jan 2023 12:46:08 +0100 Subject: [PATCH 060/123] fix material definition (#786) --- examples/cryogenicFuelTanks.xml | 3 +++ schema/cpacs_schema.xsd | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/cryogenicFuelTanks.xml b/examples/cryogenicFuelTanks.xml index 0a342c8..efbea01 100644 --- a/examples/cryogenicFuelTanks.xml +++ b/examples/cryogenicFuelTanks.xml @@ -77,6 +77,9 @@ + + mat1 + diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index c00032a..2eb315b 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -15432,7 +15432,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + From ce852a9b0161dd60efdb39ad12bc3b2befc235bc Mon Sep 17 00:00:00 2001 From: Alder Date: Thu, 25 May 2023 09:58:04 +0200 Subject: [PATCH 061/123] some renaming --- examples/configurationDefinitions_fuel.xml | 82 ++-- examples/flightLoadCases.xml | 4 +- examples/simpleBattery.xml | 4 +- examples/systemExample.xml | 62 ++- schema/cpacs_schema.xsd | 451 ++++++++++++--------- 5 files changed, 336 insertions(+), 267 deletions(-) diff --git a/examples/configurationDefinitions_fuel.xml b/examples/configurationDefinitions_fuel.xml index b0936b2..162f0dc 100644 --- a/examples/configurationDefinitions_fuel.xml +++ b/examples/configurationDefinitions_fuel.xml @@ -43,9 +43,9 @@ - + - + Base configuration All tanks fully filled @@ -66,9 +66,9 @@ - + - + Fuel after engine start During engine start-up, the inner wing tank is used @@ -83,10 +83,10 @@ - + - + Fuel in center tank after taxi During taxi, the center fuel tank is used @@ -101,20 +101,20 @@ - + - + Tanks after taxi A bit of center and inner fuel tank has been consumed - + innerTankAfterEngineStart centerTankAfterTaxi - - + + - + Fuel in inner tank after take-off During take-off, the inner fuel tank is used, as it is prohibited to use the center tanke @@ -129,20 +129,20 @@ - + - + Tanks after take-off - + tanksAfterTaxi innerTankAfterTakeOff - - + + - + Empty center tank During flight, the center tank is used until it is empty @@ -157,10 +157,10 @@ - + - + Empty inner tank All fuel used from the inner tank @@ -175,10 +175,10 @@ - + - + Empty inner tank All fuel used from the inner tank @@ -193,24 +193,24 @@ - + - + Fuel after landing - + centerTankEmpty innerTankLow outerTankLow - - - + + + - + - + Base configuration v2 All tanks fully filled @@ -229,8 +229,8 @@ - - + + Fuel after engine start During engine start-up, the inner wing tank is used @@ -245,9 +245,9 @@ - + - + Fuel in center tank after taxi During taxi, the center fuel tank is used @@ -270,11 +270,11 @@ - + - + Fuel in inner tank after take-off - During take-off, the inner fuel tank is used, as it is prohibited to use the center tanke + During take-off, the inner fuel tank is used, as it is prohibited to use the center tank @@ -295,9 +295,9 @@ - + - + Empty inner tank All fuel used from the inner tank @@ -328,8 +328,8 @@ - - + + diff --git a/examples/flightLoadCases.xml b/examples/flightLoadCases.xml index 1e20bff..46ddddd 100644 --- a/examples/flightLoadCases.xml +++ b/examples/flightLoadCases.xml @@ -28,8 +28,8 @@ 122.4 - - + + Configuration Description diff --git a/examples/simpleBattery.xml b/examples/simpleBattery.xml index 41b0f7c..3fde6a3 100644 --- a/examples/simpleBattery.xml +++ b/examples/simpleBattery.xml @@ -93,8 +93,8 @@ - - + + Initial configuration At the ramp, batteries charged, ready for taxi and take-off diff --git a/examples/systemExample.xml b/examples/systemExample.xml index 013945b..ee51abf 100644 --- a/examples/systemExample.xml +++ b/examples/systemExample.xml @@ -41,15 +41,6 @@ - - e-Drive - - - Intalled eMotor - eMotor - - - Example system @@ -306,7 +297,7 @@ hxGS_inst - ambient + ambient @@ -315,7 +306,7 @@ hx1_inst - ambient + ambient @@ -324,7 +315,7 @@ hx2_inst - ambient + ambient @@ -338,11 +329,11 @@ example example power breakdown with 5 systems: propeller, gearbox, motor, generator and gas turbine + 0. + 0. ISA - 0. - 0. @@ -464,27 +455,28 @@ Engine - - Propeller - - - 1 - 1 - 1 - - - 0 - -90 - 0 - - - 2.5 - 1 - 0.5 - - - 3300 - + + + Propeller + + + 1 + 1 + 1 + + + 0 + -90 + 0 + + + 2.5 + 1 + 0.5 + + + + diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 0ad9978..a552dfa 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1040,22 +1040,6 @@ cpacs@dlr.de - - - - - - ambient | passengers - - - - - - - - - - @@ -3648,11 +3632,6 @@ cpacs@dlr.de Cargo and accessory compartment - - - Cargo and accessory compartment - - @@ -3927,6 +3906,7 @@ cpacs@dlr.de + @@ -6626,9 +6606,8 @@ cpacs@dlr.de - + -
@@ -12869,35 +12848,6 @@ cpacs@dlr.de
- - - - - - - Propeller - - - - - - - - - - - - - Nominal value of the angular rotation speed in - rotations per minute (rpm). - - - - - - - - @@ -12969,6 +12919,48 @@ cpacs@dlr.de + + + + + + Rotors + + + + + + + + + + + + + + + + + + + + Propeller + + + + + + + + + + + + + + + + @@ -13065,7 +13057,7 @@ cpacs@dlr.de - + @@ -27551,19 +27543,57 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Altitude [m] - - - + + + + + + + Altitude + + + + + + + + Mach number + + + + + + + Calibrated air speed + + + + + + + True air speed + + + + + + + + + + UID of global flight point at cpacs/vehicles/flightPoints/flightPoint + + + + + - Mach number + + UID of configuration definition + - + @@ -29619,100 +29649,6 @@ The fuel tank volume type should also be used for the wing fuel tank
- - - - - - Rotor blade elements - - - - RotorBlades type, containing all the rotor blade - gometry definitions of an rotorcraft model. - Rotor blade geometries are defined using the same data - structure as wings (wingType). But in order to be compatible - with the other rotor blade related types (e.g. rotorType, - rotorHubType, rotorHubHingeType) there are some additional - conventions/requirements regarding the definition and - orientation of rotorBlade geometries: - - Rotor blades should be positioned relative to the - global z-axis the way they will be positioned to the rotor - shaft (when blade azimuth=0deg). - The global x-axis should be used as radial axis - (usually the quarter chord line of the rotor blade coincides to - a great extent with the x-axis of the rotor blade coordinate - system). - All sections should be positioned in the positive - x halfspace. - Segments should connect sections with ascending x - coordinates. - Airfoils defined in the rotorAirfoils node should - be used instead airfoils from the wingAirfoils node. - - - - - - - - - - - - - - - - Rotor blade geometries are defined using the - same data structure as wings (wingType). But in order to be - compatible with the other rotor blade related types (e.g. - rotorType, rotorHubType, rotorHubHingeType) there are some - additional conventions/requirements regarding the definition and - orientation of rotorBlade geometries: see remarks. - - - - - - - - - - - - - - Rotor blade - - - - - - - - - - Name of the wing. - - - - - Description of the wing. - - - - - - - - - - - - - @@ -30165,7 +30101,101 @@ The fuel tank volume type should also be used for the wing fuel tank - + + + + + + Rotor blade elements + + + + RotorBlades type, containing all the rotor blade + gometry definitions of an rotorcraft model. + Rotor blade geometries are defined using the same data + structure as wings (wingType). But in order to be compatible + with the other rotor blade related types (e.g. rotorType, + rotorHubType, rotorHubHingeType) there are some additional + conventions/requirements regarding the definition and + orientation of rotorBlade geometries: + + Rotor blades should be positioned relative to the + global z-axis the way they will be positioned to the rotor + shaft (when blade azimuth=0deg). + The global x-axis should be used as radial axis + (usually the quarter chord line of the rotor blade coincides to + a great extent with the x-axis of the rotor blade coordinate + system). + All sections should be positioned in the positive + x halfspace. + Segments should connect sections with ascending x + coordinates. + Airfoils defined in the rotorAirfoils node should + be used instead airfoils from the wingAirfoils node. + + + + + + + + + + + + + + + + Rotor blade geometries are defined using the + same data structure as wings (wingType). But in order to be + compatible with the other rotor blade related types (e.g. + rotorType, rotorHubType, rotorHubHingeType) there are some + additional conventions/requirements regarding the definition and + orientation of rotorBlade geometries: see remarks. + + + + + + + + + + + + + + Rotor blade + + + + + + + + + + Name of the wing. + + + + + Description of the wing. + + + + + + + + + + + + + + @@ -30178,13 +30208,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + @@ -30254,6 +30284,12 @@ The fuel tank volume type should also be used for the wing fuel tankDescription of the rotor. + + + Nominal value of the angular rotation speed in + rotations per minute (rpm). + + The rotorHub element contains the definition @@ -30270,6 +30306,26 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Rotor elements + + + + + + + + + + + + + + @@ -30434,26 +30490,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Rotor elements - - - - - - - - - - - - - - @@ -31490,7 +31526,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35124,6 +35160,31 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + List of uIDs + + + + + + + + + + + Reference at least two uIDs + + + + + + + + @@ -35156,6 +35217,22 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + ambient | passengers + + + + + + + + + + @@ -35248,7 +35325,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -35261,13 +35338,13 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + @@ -35301,10 +35378,10 @@ The fuel tank volume type should also be used for the wing fuel tank - + - UID of a configurations to include + List uIDs of variats to combine @@ -35349,7 +35426,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + From aacb550520ad865df60cc1e196e03fd7b8e31acc Mon Sep 17 00:00:00 2001 From: Alder Date: Tue, 6 Jun 2023 11:56:22 +0200 Subject: [PATCH 062/123] fix massFlow phase description --- schema/cpacs_schema.xsd | 207 +++++++++++++++++++++++----------------- 1 file changed, 121 insertions(+), 86 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index a552dfa..8de84fa 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -20407,22 +20407,9 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - Fluid type - - - - - - - - - - - + + + @@ -20448,8 +20435,8 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + @@ -20477,8 +20464,8 @@ The fuel tank volume type should also be used for the wing fuel tank - - + + @@ -24750,39 +24737,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Multi-phase mass flow - - - - - - - - - - - Pressure - - - - - - - Enthalpy - - - - - - - - - @@ -26272,6 +26226,72 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Multi-phase mass flow + + + + + + + + + + + Pressure + + + + + + + Temperature + + + + + + + + + + + + + + + Multi-phase mass flow + + + + + + + + + + + Pressure + + + + + + + Temperature + + + + + + + + + Pintle strut(s) (Assumption: one end of the strut will connect to the main strut and the other end will be given as endPoint) @@ -31339,39 +31359,6 @@ The fuel tank volume type should also be used for the wing fuel tank - - - - - - Single-phase mass flow - - - - - - - - - - - Pressure - - - - - - - Temperature - - - - - - - - - @@ -31872,6 +31859,54 @@ The fuel tank volume type should also be used for the wing fuel tank + + + + + + Species + + + + + + + + + + Share + + + + + + + + + + + + + + + + + + + + Species type + + + + + + + + + + + + From 229a31d9207c19da07954c98fb5f82eaa21608a3 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 7 Jun 2023 15:36:04 +0200 Subject: [PATCH 063/123] add explicit link to rotorElements --- schema/cpacs_schema.xsd | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 8de84fa..8763abf 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -6421,7 +6421,7 @@ cpacs@dlr.de - + @@ -6436,16 +6436,25 @@ cpacs@dlr.de - - - - Link to pre-defined system element uID - - - + + + + + Link to pre-defined system element uID + + + + + + + Link to pre-defined system element uID + + + + - + From dbae46852386f992e3638a5c5a026f5df8c0c460 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 7 Jun 2023 15:40:18 +0200 Subject: [PATCH 064/123] add connection between systemArchitectures --- schema/cpacs_schema.xsd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 8763abf..a0d0d5c 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -31530,6 +31530,12 @@ The fuel tank volume type should also be used for the wing fuel tank + + + UID of another systemArchitecture + + + From 791495d299ed82e8b51d94aaa7c9458e6d565612 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 7 Jun 2023 16:23:10 +0200 Subject: [PATCH 065/123] correct sequence of elements --- examples/simpleBattery.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/simpleBattery.xml b/examples/simpleBattery.xml index 3fde6a3..87f701b 100644 --- a/examples/simpleBattery.xml +++ b/examples/simpleBattery.xml @@ -49,9 +49,9 @@ Battery 1 - aircraft parentUID would usually refer to fuselage or wing battery + aircraft 5 @@ -62,9 +62,9 @@ Battery 2 - aircraft parentUID would usually refer to fuselage or wing battery + aircraft 5.2 @@ -75,9 +75,9 @@ Battery 3 - aircraft parentUID would usually refer to fuselage or wing battery + aircraft 5.4 From 86dd9a9e1b840285aabda410d5d76c4966cc13f1 Mon Sep 17 00:00:00 2001 From: Alder Date: Wed, 7 Jun 2023 18:19:25 +0200 Subject: [PATCH 066/123] rename batteryUIDs --- examples/simpleBattery.xml | 4 ++-- schema/cpacs_schema.xsd | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/simpleBattery.xml b/examples/simpleBattery.xml index 87f701b..0139769 100644 --- a/examples/simpleBattery.xml +++ b/examples/simpleBattery.xml @@ -100,11 +100,11 @@ - + battery_inst1 battery_inst2 battery_inst3 - + 0.98 diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index a0d0d5c..d226496 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -32499,7 +32499,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Charge level From 975ebb0c9521f6963e20c15d8c310657359dc24a Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 09:30:13 +0200 Subject: [PATCH 067/123] rotorType: make type optional --- schema/cpacs_schema.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index d226496..9b79d72 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -30622,7 +30622,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + Rotor type. Possible values: "mainRotor" (default), "tailRotor", "fenestron" or "propeller".. From 964bc0688388e67529323fdd116c2f73037ea5b2 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 09:31:23 +0200 Subject: [PATCH 068/123] add indents --- schema/cpacs_schema.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 9b79d72..897a0d9 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -35260,14 +35260,14 @@ The fuel tank volume type should also be used for the wing fuel tank - + - + From 6df811d1148f8f01078ede28f305c9297c690cf3 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 09:39:30 +0200 Subject: [PATCH 069/123] configurationUIDs -> configurationDefinitionUIDs --- schema/cpacs_schema.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 897a0d9..09ed589 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -1971,9 +1971,9 @@ cpacs@dlr.de - + - UIDs of configurations or its variations + UIDs of configurationDefinitions or its variations From 45ce15039211789c2161d88cae1cf4b0969c92ff Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 09:48:43 +0200 Subject: [PATCH 070/123] remove propulsionPerformance --- schema/cpacs_schema.xsd | 98 ++--------------------------------------- 1 file changed, 4 insertions(+), 94 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 6e7dc96..7a25651 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -2352,7 +2352,6 @@ cpacs@dlr.de - @@ -3546,7 +3545,7 @@ cpacs@dlr.de - + @@ -17572,7 +17571,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -28337,95 +28336,6 @@ The fuel tank volume type should also be used for the wing fuel tank
- - - - - - Propulsion performance map - - - - - - - - - - - - - - - - - - - - - Propulsion map - - - - - - - - - - Name - - - - - Description - - - - - - - - - - - - - - - - Propulsion performance map - - - - - - - - - - - - - - - - - - Performance of propulsion system - - - - - - - - - - - - - @@ -31904,7 +31814,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + @@ -33765,7 +33675,7 @@ The fuel tank volume type should also be used for the wing fuel tank
- + From 32a7ce8ccd5f84d41d2682e9857cdaada4fb63e9 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:08:23 +0200 Subject: [PATCH 071/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 50534ff..1f2b991 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -14,11 +14,8 @@ jobs: run: | # $CONDA is an environment variable pointing to the root of the miniconda directory echo $CONDA/bin >> $GITHUB_PATH - - name: Install tixi + - name: Install and test run: | - conda install lxml tixi3 -c dlr-sc - - name: Test with pytest - run: | - conda install pytest + conda install pytest lxml tixi3 -c dlr-sc pwd pytest -q ./scripts/tests/ From ec33642968d4390e277d5cc1f14897cdb077de99 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:14:50 +0200 Subject: [PATCH 072/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 1f2b991..4ced5c2 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -6,16 +6,17 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.9 + - name: Set up Python 3.10 uses: actions/setup-python@v3 with: - python-version: 3.9 + python-version: 3.10 - name: Add conda to system path run: | # $CONDA is an environment variable pointing to the root of the miniconda directory echo $CONDA/bin >> $GITHUB_PATH - - name: Install and test + - name: Install python modules run: | conda install pytest lxml tixi3 -c dlr-sc - pwd + - name: Install and test + run: | pytest -q ./scripts/tests/ From 6ec4083b8cde8345a482074adf0a510ddee20cf9 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:16:09 +0200 Subject: [PATCH 073/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 4ced5c2..e5dac2a 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -6,10 +6,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Set up Python 3.9 uses: actions/setup-python@v3 with: - python-version: 3.10 + python-version: 3.9 - name: Add conda to system path run: | # $CONDA is an environment variable pointing to the root of the miniconda directory @@ -19,4 +19,4 @@ jobs: conda install pytest lxml tixi3 -c dlr-sc - name: Install and test run: | - pytest -q ./scripts/tests/ + pytest From 462496eae57001379a489d28c39a2fc058f49a53 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:18:23 +0200 Subject: [PATCH 074/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index e5dac2a..0896267 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -19,4 +19,5 @@ jobs: conda install pytest lxml tixi3 -c dlr-sc - name: Install and test run: | + conda activate base pytest From 6eb242e42835989f27d3f1fb1fe91b22153758ed Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:21:00 +0200 Subject: [PATCH 075/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 0896267..a608a4b 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -6,10 +6,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.9 - uses: actions/setup-python@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: '3.10' - name: Add conda to system path run: | # $CONDA is an environment variable pointing to the root of the miniconda directory @@ -17,7 +17,6 @@ jobs: - name: Install python modules run: | conda install pytest lxml tixi3 -c dlr-sc - - name: Install and test + - name: Run pytest run: | - conda activate base pytest From cdbebbca883ec53b46be8a85cfc1c734c5de5e5a Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:27:13 +0200 Subject: [PATCH 076/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index a608a4b..ac148a4 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -19,4 +19,4 @@ jobs: conda install pytest lxml tixi3 -c dlr-sc - name: Run pytest run: | - pytest + $CONDA/bin/pytest From 956021ce1ea09618bb0d7fe05de353a4f5a4a65e Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:28:18 +0200 Subject: [PATCH 077/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index ac148a4..cd3b33e 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -16,7 +16,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install python modules run: | - conda install pytest lxml tixi3 -c dlr-sc + $CONDA/bin/conda install pytest lxml tixi3 -c dlr-sc - name: Run pytest run: | $CONDA/bin/pytest From 7c96a954da2a0d2ff0e4f46710b5306dd8ac6051 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:32:13 +0200 Subject: [PATCH 078/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index cd3b33e..3fa0bf8 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -6,6 +6,7 @@ jobs: steps: - uses: actions/checkout@v3 + - uses: conda-incubator/setup-miniconda@v2 - name: Set up Python 3.10 uses: actions/setup-python@v4 with: From 26dfba75756f52d6a5fae17689431a8a77f00efe Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:37:09 +0200 Subject: [PATCH 079/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 3fa0bf8..a23b5d4 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -18,6 +18,12 @@ jobs: - name: Install python modules run: | $CONDA/bin/conda install pytest lxml tixi3 -c dlr-sc + - name: Conda info + run: | + $CONDA/bin/conda info + - name: Conda list + run: | + $CONDA/bin/conda list - name: Run pytest run: | $CONDA/bin/pytest From 0b14bb24a9bafa6a6a482fe252ad75969f4ce186 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:46:07 +0200 Subject: [PATCH 080/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index a23b5d4..96ab8cf 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -17,7 +17,8 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install python modules run: | - $CONDA/bin/conda install pytest lxml tixi3 -c dlr-sc + $CONDA/bin/conda create --name cpacs python=3.10 pytest lxml tixi3 -c dlr-sc + $CONDA/bin/conda activate cpacs - name: Conda info run: | $CONDA/bin/conda info From f50927ff2c5491f7637a77d9ec92fd6b3e95162c Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:50:07 +0200 Subject: [PATCH 081/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 96ab8cf..2ffb74d 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -6,25 +6,6 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: conda-incubator/setup-miniconda@v2 - - name: Set up Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - name: Add conda to system path - run: | - # $CONDA is an environment variable pointing to the root of the miniconda directory - echo $CONDA/bin >> $GITHUB_PATH - - name: Install python modules - run: | - $CONDA/bin/conda create --name cpacs python=3.10 pytest lxml tixi3 -c dlr-sc - $CONDA/bin/conda activate cpacs - - name: Conda info - run: | - $CONDA/bin/conda info - - name: Conda list - run: | - $CONDA/bin/conda list - - name: Run pytest - run: | - $CONDA/bin/pytest + - uses: s-weigand/setup-conda@v1 + - run: conda --version + - run: which python From 84bca4e8ba2f1cda9317518427d2073ce33f6d98 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:53:08 +0200 Subject: [PATCH 082/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 2ffb74d..aeb4e5b 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -9,3 +9,5 @@ jobs: - uses: s-weigand/setup-conda@v1 - run: conda --version - run: which python + - run: conda install lxml tixi3 -c dlr-sc + - run: pytest From efaf2c00b7c635d982742de9f0a7993c6ad9d67d Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 10:55:19 +0200 Subject: [PATCH 083/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index aeb4e5b..e3bfb62 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -9,5 +9,5 @@ jobs: - uses: s-weigand/setup-conda@v1 - run: conda --version - run: which python - - run: conda install lxml tixi3 -c dlr-sc + - run: conda install pytest lxml tixi3 -c dlr-sc - run: pytest From af2d72c4d47e58ca910d5e03a64e8f5c9a061204 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:00:24 +0200 Subject: [PATCH 084/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index e3bfb62..fbaf902 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -9,5 +9,7 @@ jobs: - uses: s-weigand/setup-conda@v1 - run: conda --version - run: which python + - run: conda create -n myenv python=3.9 + - run: conda activate myenv - run: conda install pytest lxml tixi3 -c dlr-sc - run: pytest From 6de3d3505b05972d4e7cb699fb7eccf8d2ebe87e Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:03:57 +0200 Subject: [PATCH 085/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index fbaf902..59c75bd 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -3,12 +3,20 @@ on: [push] jobs: build-linux: runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} steps: - uses: actions/checkout@v3 - - uses: s-weigand/setup-conda@v1 - - run: conda --version - - run: which python + - uses: conda-incubator/setup-miniconda@v2 + with: + activate-environment: anaconda-client-env + environment-file: etc/example-environment.yml + auto-activate-base: false + - run: | + conda info + conda list - run: conda create -n myenv python=3.9 - run: conda activate myenv - run: conda install pytest lxml tixi3 -c dlr-sc From 1e0ec296373fc0f1271de8865a39eeed20890769 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:04:42 +0200 Subject: [PATCH 086/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 59c75bd..12bdb27 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -12,7 +12,6 @@ jobs: - uses: conda-incubator/setup-miniconda@v2 with: activate-environment: anaconda-client-env - environment-file: etc/example-environment.yml auto-activate-base: false - run: | conda info From 847ff1e79a7621318c173d45f63c067bc606ed20 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:07:39 +0200 Subject: [PATCH 087/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 12bdb27..e106393 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -16,7 +16,11 @@ jobs: - run: | conda info conda list - - run: conda create -n myenv python=3.9 - - run: conda activate myenv + - name: Create new conda environment + - run: conda create -n cpacs python=3.9 + - name: Activate new conda environment + - run: conda activate cpacs + - name: Install python modules - run: conda install pytest lxml tixi3 -c dlr-sc + - name: Run pytest - run: pytest From 06ee4cada687245f1c09ef4a9acb39338bc13f51 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:09:46 +0200 Subject: [PATCH 088/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index e106393..b2fe471 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -13,14 +13,15 @@ jobs: with: activate-environment: anaconda-client-env auto-activate-base: false - - run: | - conda info - conda list - name: Create new conda environment - - run: conda create -n cpacs python=3.9 + run: | + conda create -n cpacs python=3.9 - name: Activate new conda environment - - run: conda activate cpacs + run: | + conda activate cpacs - name: Install python modules - - run: conda install pytest lxml tixi3 -c dlr-sc + run: | + conda install pytest lxml tixi3 -c dlr-sc - name: Run pytest - - run: pytest + run: | + pytest From 89dee7ced7d64568f7a6b8040bc8347915cd730f Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 11:23:36 +0200 Subject: [PATCH 089/123] fix typo --- schema/cpacs_schema.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 2eb315b..1a64a43 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -15487,7 +15487,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + From a0b2b061ca95217696bb53888efa042dbf4bfc9f Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 11:40:52 +0200 Subject: [PATCH 090/123] fix typo in fuelTank example --- examples/cryogenicFuelTanks.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/cryogenicFuelTanks.xml b/examples/cryogenicFuelTanks.xml index efbea01..a685818 100644 --- a/examples/cryogenicFuelTanks.xml +++ b/examples/cryogenicFuelTanks.xml @@ -64,7 +64,7 @@ Cryogenic fuel tank - + 10. @@ -80,7 +80,7 @@ mat1 - + From 50879f2e837a39bcf999acb5540c13e14a635071 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 11:48:44 +0200 Subject: [PATCH 091/123] fix typo at mAdditionalCenterTanks. Thanks @marcengelmann (closes #812) --- schema/cpacs_schema.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index a1c5a8e..346932d 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -24266,7 +24266,7 @@ The fuel tank volume type should also be used for the wing fuel tank - + From abb134879f51c04be6b288de9f384fdad849ff73 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 11:51:43 +0200 Subject: [PATCH 092/123] fix typo at airportCompatability. Thanks @marcengelmann (closes #813) --- schema/cpacs_schema.xsd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index 346932d..f6c54f3 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -2465,7 +2465,7 @@ cpacs@dlr.de - + @@ -2707,12 +2707,12 @@ cpacs@dlr.de
- + - airportCompatabilityGlobalType + Airport compatibility From 9d6bd10c452804a431eb6de5d0d81e855bc38bae Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 12:48:15 +0200 Subject: [PATCH 093/123] update doc config --- documentation/Cpacs_doc_project.shfbproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/Cpacs_doc_project.shfbproj b/documentation/Cpacs_doc_project.shfbproj index 6d06bf3..e8c9913 100644 --- a/documentation/Cpacs_doc_project.shfbproj +++ b/documentation/Cpacs_doc_project.shfbproj @@ -45,15 +45,15 @@ Summary, Parameter, Returns, Remarks, AutoDocumentCtors, Namespace, TypeParameter - %28c%29 2019 Deutsches Zentrum fuer Luft- und Raumfahrt e.V. - marko.alder%40dlr.de + %28c%29 2023 Deutsches Zentrum fuer Luft- und Raumfahrt e.V. + cpacs%40dlr.de CPACS Documentation Blank - HtmlHelp1 + HtmlHelp1, Website False AboveNamespaces None From a4640fdf6c4e518d167739c1429e58468bfa6bc6 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 13:18:00 +0200 Subject: [PATCH 094/123] add htmlDoc to appveyor --- appveyor.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 8b743c9..37b85c1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,7 +5,11 @@ os: Visual Studio 2015 artifacts: - path: 'build/doc/*.chm' - name: Documentation + name: chmDocs + - path: 'build/doc/*' + exclude: + - 'build/doc/CPACS_Documentation.chm' + name: htmlDocs install: - cmd: 7z x -y c:\projects\cpacs\development\3rdparty.zip -oc:\projects\cpacs\development\ From 722493e9a424681d6e85185babbb52da4b0bd586 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 13:19:14 +0200 Subject: [PATCH 095/123] fix appveyor --- appveyor.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 37b85c1..7ade122 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,8 +7,6 @@ artifacts: - path: 'build/doc/*.chm' name: chmDocs - path: 'build/doc/*' - exclude: - - 'build/doc/CPACS_Documentation.chm' name: htmlDocs install: From 64bdda20e5121ab9dc5cf4465bb1844da5db86e4 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 13:25:01 +0200 Subject: [PATCH 096/123] fix appveyor --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 7ade122..c8ee4ce 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,11 +6,12 @@ os: Visual Studio 2015 artifacts: - path: 'build/doc/*.chm' name: chmDocs - - path: 'build/doc/*' + - path: 'build/doc/htmlDocs.zip' name: htmlDocs install: - cmd: 7z x -y c:\projects\cpacs\development\3rdparty.zip -oc:\projects\cpacs\development\ + - cmd: 7z a -tzip build\doc\htmlDocs.zip build\doc\* -xr!CPACS_Documentation.chm platform: Any CPU From e3c04bbf80c6061120b028309e5c19754440f20f Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 13:27:27 +0200 Subject: [PATCH 097/123] fix appveyor --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index c8ee4ce..5c65dc2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -11,7 +11,6 @@ artifacts: install: - cmd: 7z x -y c:\projects\cpacs\development\3rdparty.zip -oc:\projects\cpacs\development\ - - cmd: 7z a -tzip build\doc\htmlDocs.zip build\doc\* -xr!CPACS_Documentation.chm platform: Any CPU @@ -20,3 +19,5 @@ configuration: Release build: project: documentation\Cpacs_doc_project.shfbproj +after_build: + - cmd: 7z a -tzip build\doc\htmlDocs.zip build\doc\* -xr!CPACS_Documentation.chm From f6bbdb7a74ec30ff1768c03929dc10faa0832e25 Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 13:41:57 +0200 Subject: [PATCH 098/123] fix appveyor --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 5c65dc2..64b9972 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -20,4 +20,4 @@ build: project: documentation\Cpacs_doc_project.shfbproj after_build: - - cmd: 7z a -tzip build\doc\htmlDocs.zip build\doc\* -xr!CPACS_Documentation.chm + - cmd: 7z a -tzip build\doc\htmlDocs.zip build\doc\* From 6fa3646c23a1d43af959a650c995baaa889dc1d9 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:38:44 +0200 Subject: [PATCH 099/123] Create build_docs.yml --- .github/workflows/build_docs.yml | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/build_docs.yml diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml new file mode 100644 index 0000000..23e981f --- /dev/null +++ b/.github/workflows/build_docs.yml @@ -0,0 +1,40 @@ +name: Documentation Build + +on: + push: + branches: + - develop + +jobs: + build: + runs-on: windows-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Set up MSBuild + uses: microsoft/setup-msbuild@v1.0.1 + + - name: Install 7-Zip + run: | + Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-x64.exe -OutFile 7z.exe + Start-Process -Wait -FilePath 7z.exe + Remove-Item -Force 7z.exe + + - name: Extract 3rdparty.zip + run: 7z x -y .\development\3rdparty.zip -o.\development\ + + - name: Build Documentation + run: msbuild /p:Configuration=Release documentation\Cpacs_doc_project.shfbproj + + - name: Package HTML Docs + run: 7z a -tzip .\build\doc\htmlDocs.zip .\build\doc\* + + - name: Upload Artifacts + uses: actions/upload-artifact@v2 + with: + name: documentation-artifacts + path: | + .\build\doc\*.chm + .\build\doc\htmlDocs.zip From cdf2c17e56d609f0e5d7be548e3019379db3445f Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:42:04 +0200 Subject: [PATCH 100/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 23e981f..a2a7c2d 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -11,10 +11,10 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - - name: Set up MSBuild - uses: microsoft/setup-msbuild@v1.0.1 + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 - name: Install 7-Zip run: | From c89c5c950eeec4ff9c699bb8cb0975ac59ea7ee1 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:45:34 +0200 Subject: [PATCH 101/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index a2a7c2d..d05d5d2 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -23,7 +23,8 @@ jobs: Remove-Item -Force 7z.exe - name: Extract 3rdparty.zip - run: 7z x -y .\development\3rdparty.zip -o.\development\ + run: | + Start-Process -Wait -FilePath 'C:\Program Files\7-Zip\7z.exe' -ArgumentList "x -y .\development\3rdparty.zip -o.\development\" - name: Build Documentation run: msbuild /p:Configuration=Release documentation\Cpacs_doc_project.shfbproj From 41084f4cf2684f8bf99a1e31f7a716d3a27a01fa Mon Sep 17 00:00:00 2001 From: Alder Date: Fri, 4 Aug 2023 15:10:39 +0200 Subject: [PATCH 102/123] add pages deploy --- .github/workflows/build_docs.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index d05d5d2..649b14c 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -5,6 +5,21 @@ on: branches: - develop + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + jobs: build: runs-on: windows-latest @@ -39,3 +54,17 @@ jobs: path: | .\build\doc\*.chm .\build\doc\htmlDocs.zip + + - name: Move HTML Docs to Pages Directory + run: | + mv .\build\doc\* . + + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + # Upload entire repository + path: '.' + - name: Deploy to GitHub Pages + id: deployment From 174bb3ddc12a3c1f343cdd31ab0bcf10101a004a Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 15:12:54 +0200 Subject: [PATCH 103/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 649b14c..66371bf 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -59,12 +59,21 @@ jobs: run: | mv .\build\doc\* . - - name: Setup Pages - uses: actions/configure-pages@v3 - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 - with: - # Upload entire repository - path: '.' - - name: Deploy to GitHub Pages - id: deployment + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + # Upload entire repository + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 From 004258576caeb94a84ba2e8b2bab7a5645353168 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 15:18:07 +0200 Subject: [PATCH 104/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 66371bf..1a2205c 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -69,11 +69,11 @@ jobs: uses: actions/checkout@v3 - name: Setup Pages uses: actions/configure-pages@v3 - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 with: - # Upload entire repository - path: '.' + branch: gh-pages # Oder die Ziel-Branch, die du für GitHub Pages verwendest + folder: . # Ordner, in dem die GitHub Pages-Inhalte liegen - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} # Token für die Berechtigung zur Veröffentlichung From 149288a00d32ea9e2f2c66efb2f3512f76d47714 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 15:20:55 +0200 Subject: [PATCH 105/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 1a2205c..e435022 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -60,6 +60,7 @@ jobs: mv .\build\doc\* . deploy: + needs: build environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} From 2fd397dfa012ca04ff12873092c6b4dbf75164fe Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 15:28:25 +0200 Subject: [PATCH 106/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index e435022..fc6207a 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -54,10 +54,6 @@ jobs: path: | .\build\doc\*.chm .\build\doc\htmlDocs.zip - - - name: Move HTML Docs to Pages Directory - run: | - mv .\build\doc\* . deploy: needs: build @@ -71,10 +67,13 @@ jobs: - name: Setup Pages uses: actions/configure-pages@v3 with: - branch: gh-pages # Oder die Ziel-Branch, die du für GitHub Pages verwendest - folder: . # Ordner, in dem die GitHub Pages-Inhalte liegen + branch: gh-pages + folder: . + - name: Extract HTML Docs + run: | + 7z x -y documentation-artifacts/htmlDocs.zip -ohtmlDocs - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 with: - token: ${{ secrets.GITHUB_TOKEN }} # Token für die Berechtigung zur Veröffentlichung + token: ${{ secrets.GITHUB_TOKEN }} From 2ffe48a58f3f101b9c47a2b1c5fd97c80fae98bf Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Fri, 4 Aug 2023 15:36:25 +0200 Subject: [PATCH 107/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 44 ++++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index fc6207a..dadf76a 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -55,25 +55,25 @@ jobs: .\build\doc\*.chm .\build\doc\htmlDocs.zip - deploy: - needs: build - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Pages - uses: actions/configure-pages@v3 - with: - branch: gh-pages - folder: . - - name: Extract HTML Docs - run: | - 7z x -y documentation-artifacts/htmlDocs.zip -ohtmlDocs - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 - with: - token: ${{ secrets.GITHUB_TOKEN }} +# deploy: +# needs: build +# environment: +# name: github-pages +# url: ${{ steps.deployment.outputs.page_url }} +# runs-on: ubuntu-latest +# steps: +# - name: Checkout +# uses: actions/checkout@v3 +# - name: Setup Pages +# uses: actions/configure-pages@v3 +# with: +# branch: gh-pages +# folder: . +# - name: Extract HTML Docs +# run: | +# 7z x -y documentation-artifacts/htmlDocs.zip -ohtmlDocs +# - name: Deploy to GitHub Pages +# id: deployment +# uses: actions/deploy-pages@v2 +# with: +# token: ${{ secrets.GITHUB_TOKEN }} From ef25daad1dad5b02bfdf8846eed19a8586850b3c Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 18:13:08 +0200 Subject: [PATCH 108/123] Update run_tests.yml --- .github/workflows/run_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index b2fe471..d5db412 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -1,4 +1,4 @@ -name: run_examples_validation.yml +name: Validate example files on: [push] jobs: build-linux: From d6e7b48e7507e620e242ab3c734771de6a7f7e59 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 18:13:30 +0200 Subject: [PATCH 109/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index dadf76a..7e3b803 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -1,4 +1,4 @@ -name: Documentation Build +name: Build documentation on: push: From b19c192bbdf699d236a8af57fe790bccd7e5f541 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 18:26:30 +0200 Subject: [PATCH 110/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 50 +++++++++++++++++--------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 7e3b803..1ab9490 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -48,32 +48,36 @@ jobs: run: 7z a -tzip .\build\doc\htmlDocs.zip .\build\doc\* - name: Upload Artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: documentation-artifacts path: | .\build\doc\*.chm .\build\doc\htmlDocs.zip -# deploy: -# needs: build -# environment: -# name: github-pages -# url: ${{ steps.deployment.outputs.page_url }} -# runs-on: ubuntu-latest -# steps: -# - name: Checkout -# uses: actions/checkout@v3 -# - name: Setup Pages -# uses: actions/configure-pages@v3 -# with: -# branch: gh-pages -# folder: . -# - name: Extract HTML Docs -# run: | -# 7z x -y documentation-artifacts/htmlDocs.zip -ohtmlDocs -# - name: Deploy to GitHub Pages -# id: deployment -# uses: actions/deploy-pages@v2 -# with: -# token: ${{ secrets.GITHUB_TOKEN }} + deploy: + needs: build + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + with: + branch: gh-pages + folder: . + - name: Download html zip + uses: actions/download-artifact@v3 + with: + name: documentation-artifacts + - name: Extract HTML Docs + run: | + 7z x -y documentation-artifacts/htmlDocs.zip -ohtmlDocs + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} From 12bdeb1d56eab895a96aed8123cac48f69bb850a Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 18:32:31 +0200 Subject: [PATCH 111/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 1ab9490..440d388 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -75,7 +75,7 @@ jobs: name: documentation-artifacts - name: Extract HTML Docs run: | - 7z x -y documentation-artifacts/htmlDocs.zip -ohtmlDocs + 7z x -y htmlDocs.zip -ohtmlDocs - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From 4c52fc1220dc2fc93f2a79f3bff23dbd2ea4ad1b Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 18:55:18 +0200 Subject: [PATCH 112/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 440d388..4958dd8 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -7,12 +7,6 @@ on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. @@ -57,9 +51,18 @@ jobs: deploy: needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} + + # Specify runner + deployment step runs-on: ubuntu-latest steps: - name: Checkout @@ -76,6 +79,12 @@ jobs: - name: Extract HTML Docs run: | 7z x -y htmlDocs.zip -ohtmlDocs + - name: Upload Artifacts + uses: actions/upload-artifact@v3 + with: + name: htmlContent + path: | + .\htmlDocs\* - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From 52102c687d03c2cb931f98a55f6662ff56e69301 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 19:02:14 +0200 Subject: [PATCH 113/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 4958dd8..74bf2fb 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -71,7 +71,7 @@ jobs: uses: actions/configure-pages@v3 with: branch: gh-pages - folder: . + folder: ./htmlDocs/ - name: Download html zip uses: actions/download-artifact@v3 with: From 12ca98bcbb7020ece9b55e2425c449d4f5508baf Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 19:54:54 +0200 Subject: [PATCH 114/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 74bf2fb..c732e73 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -71,20 +71,19 @@ jobs: uses: actions/configure-pages@v3 with: branch: gh-pages - folder: ./htmlDocs/ + folder: . - name: Download html zip uses: actions/download-artifact@v3 with: name: documentation-artifacts - name: Extract HTML Docs run: | - 7z x -y htmlDocs.zip -ohtmlDocs + 7z x -y htmlDocs.zip - name: Upload Artifacts uses: actions/upload-artifact@v3 with: name: htmlContent - path: | - .\htmlDocs\* + path: . - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From 9317d03e13de6719ae365b259c679bd84b391648 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 20:13:20 +0200 Subject: [PATCH 115/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index c732e73..04deb24 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -80,12 +80,9 @@ jobs: run: | 7z x -y htmlDocs.zip - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-pages-artifact@v2 with: - name: htmlContent path: . - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v2 - with: - token: ${{ secrets.GITHUB_TOKEN }} + uses: actions/deploy-pages@v2 From efc33e4a567a4d7f03c5e2d7cc15dd7307fe70c9 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sat, 5 Aug 2023 20:27:07 +0200 Subject: [PATCH 116/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 04deb24..958a605 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -54,8 +54,9 @@ jobs: # Grant GITHUB_TOKEN the permissions required to make a Pages deployment permissions: - pages: write # to deploy to Pages - id-token: write # to verify the deployment originates from an appropriate source + contents: read + pages: write + id-token: write # Deploy to the github-pages environment environment: From c1612ae0d826c3854b92ac701bdc517258758c6b Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sun, 6 Aug 2023 08:46:17 +0200 Subject: [PATCH 117/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 958a605..5e300f0 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -87,3 +87,5 @@ jobs: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} From f58d52342714f3b1eabed4148b1ef9f03d74578a Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sun, 6 Aug 2023 11:01:54 +0200 Subject: [PATCH 118/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 5e300f0..c25ba0d 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -44,7 +44,7 @@ jobs: - name: Upload Artifacts uses: actions/upload-artifact@v3 with: - name: documentation-artifacts + name: cpacsDocs path: | .\build\doc\*.chm .\build\doc\htmlDocs.zip @@ -70,13 +70,10 @@ jobs: uses: actions/checkout@v3 - name: Setup Pages uses: actions/configure-pages@v3 - with: - branch: gh-pages - folder: . - name: Download html zip uses: actions/download-artifact@v3 with: - name: documentation-artifacts + name: cpacsDocs - name: Extract HTML Docs run: | 7z x -y htmlDocs.zip From e0b3a936c84d6abf80c66df5db9a37170a3289e3 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sun, 6 Aug 2023 11:18:55 +0200 Subject: [PATCH 119/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index c25ba0d..f28f5a0 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -77,6 +77,11 @@ jobs: - name: Extract HTML Docs run: | 7z x -y htmlDocs.zip + - name: Fix permissions + run: | + chmod -c -R +rX "." | while read line; do + echo "::warning title=Invalid file permissions automatically fixed::$line" + done - name: Upload Artifacts uses: actions/upload-pages-artifact@v2 with: From 4d0f0f94179abae4518fe5b689fbefdb06232e12 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sun, 6 Aug 2023 14:52:35 +0200 Subject: [PATCH 120/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index f28f5a0..5b5b6a7 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -79,7 +79,7 @@ jobs: 7z x -y htmlDocs.zip - name: Fix permissions run: | - chmod -c -R +rX "." | while read line; do + chmod 777 "." | while read line; do echo "::warning title=Invalid file permissions automatically fixed::$line" done - name: Upload Artifacts From 2dce89d961f6ea9a7c5bea8aeeaa40d8151d999f Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Sun, 6 Aug 2023 17:33:14 +0200 Subject: [PATCH 121/123] Update build_docs.yml --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 5b5b6a7..f28f5a0 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -79,7 +79,7 @@ jobs: 7z x -y htmlDocs.zip - name: Fix permissions run: | - chmod 777 "." | while read line; do + chmod -c -R +rX "." | while read line; do echo "::warning title=Invalid file permissions automatically fixed::$line" done - name: Upload Artifacts From 6335580d6d5bf6fe0f63955605a1ffef917ee542 Mon Sep 17 00:00:00 2001 From: Alder Date: Sun, 6 Aug 2023 18:00:14 +0200 Subject: [PATCH 122/123] update schema version --- schema/cpacs_schema.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/cpacs_schema.xsd b/schema/cpacs_schema.xsd index f6c54f3..1b0e55d 100644 --- a/schema/cpacs_schema.xsd +++ b/schema/cpacs_schema.xsd @@ -45,11 +45,11 @@ cpacs@dlr.de Version - V3.4 + V3.5-beta Date - 2021-04-20 + 2023-08-06 From bb5c6d0ce6b5a971b9098cc32c822febefa52ae5 Mon Sep 17 00:00:00 2001 From: MarAlder <43143741+MarAlder@users.noreply.github.com> Date: Mon, 7 Aug 2023 09:09:47 +0200 Subject: [PATCH 123/123] Update readme.md --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index 11d523e..74356eb 100644 --- a/readme.md +++ b/readme.md @@ -3,6 +3,10 @@ The Common Parametric Aircraft Configuration Schema (**CPACS**) is a data defini ![Centralized vs Decentralized](/development/images/centralized.png) +## CPACS Documentation + +The online documentation of the current development status can be viewed at [this link](http://dlr-sl.github.io/CPACS/). Further documentation of the official releases can be found at [cpacs.de](https://www.cpacs.de/pages/documentation.html). + ## CPACS Homepage The CPACS homepage contains information about new developments, releases and other related projects. Checkout the available content at [www.cpacs.de](http://www.cpacs.de).

q;rsemu|&TrO6a1u6$oCD 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 K9rEng1pg0r5^$;j diff --git a/development/images/dataHierarchy.pptx b/development/images/dataHierarchy.pptx index f591339b8033868bafd1ebd01647a3e04077cb61..840823e8757bb9493817146d8336d41c3bf52389 100644 GIT binary patch literal 1163150 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 {({?s$1w###=M3cU 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