Skip to content
Snippets Groups Projects
Select Git revision
  • 41d1572918a2ee91a88bc155112bf13f428a70f1
  • main default protected
  • fix/missing-API-documentation-for-python-modules
  • fix/delete_mingw
  • feature/new_systems_methodology
  • fix/missing-api-documentation
  • feature/python_example_folder_update
  • beta_release protected
  • fix/revert-gitlab-config
  • fix/citationEcologicalAssessment
  • documentation/styleupdate
  • feature/lightMode
  • documentation/create_mission_xml
  • 28-empennage-design-update-documentation-according-to-workshop
  • documentation/fix-dot-equations
  • documentation/propulsion-design-module
  • documentation/gitlab-workflow
  • documentation/cost_estimation_update
  • documentation/mkdocs_python_update
  • documentation/tank_design_update
  • documentation/landing_gear_design_update
  • 0.5.0
22 results

usage.md

Blame
  • Alfin Johny's avatar
    Alfin Johny authored and Kristina Mazur committed
    b6e67594
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.

    Usage of the Weight & Balance Analysis Tool {#usage}

    Let's see now how the magic happens. In this guide we will go through the step-by-step process of running the weight and balance (w&b) analysis tool. The different possible execution modes and calculation methods are listed. Tool dependencies between the w&b analysis tool and other UNICADO modules are described, including necessary tool inputs and generated outputs. While we navigate through this guide we will find the answers to the following questions:


    Requirements {#requirements}

    The following requirements are needed for the tool to run:

    1. First, it is assumed that you have the UNICADO package installed including the executables, the database, and the UNICADO libraries.

    2. As the w&b analysis tool is an analysis tool, the second requirement is that the sizing modules, as well that the aerodynamic analysis and mission analysis tools were successfully executed beforehand and that the results are written in the Aircraft Exchange File (acXML). The following information must be available (the subcomponents of the required nodes are not listed here):

    • aircraft_exchange_file/requirements_and_specifications/requirements/top_level_aircraft_requirements: maximum_structrual_payload_mass
    • aircraft_exchange_file/requirements_and_specifications/design_specification: configuration, transport_task, energy_carriers
    • aircraft_exchange_file/component_design : the global_reference_point and the components wing, empennage, tank, propulsion, landing gear, systems each at least with the nodes position and mass_properties
    • aircraft_exchange_file/analysis/aerodynamics/reference_values: neutral_point
    • aircraft_exchange_file/analysis/masses_cg_inertia: maximum_takeoff_mass
    • aircraft_exchange_file/analysis/mission/design_mission: loaded_mission_energy, in_flight_energy, taxi_energy

    Note

    When the UNICADO workflow is executed the tool is run automatically. In this case, all the required data should be available anyway.

    1. The aircraft_exchange_file_name and aircraft_exchange_file_directory are correctly set in the control settings part of the weight_and_balance_analysis_conf.xml file (configXML). The console_output should be set at least to mode_1.

    2. The structure of the acXML remains unchanged, otherwise the paths to the nodes must be updated in the data reading functions of the tool.


    Tool Structure {#architecture}

      graph LR;
        A[W & B Analysis] -->B[Tube and Wing _datapostprocessing.py_ _datapreprocessing.py_];
        B-->C[Standard];
    	C-->D[Basic _methodbasic.py_]
    	C-->E[General _methodplot.py_ _methodhtmlreport.py_]
    	C-->H[_usermethoddatapreparation.py_]
        A-->F[Blended Wing body - _under development_]
    	A-->G[_weight\_and\_balance\_analysis\_conf.xml_ _main.py_ _weight_and_balance_analysis.txt_ ]
    	A-->I[doc] 
    

    @important Since the documentation might be delayed to the development progress - this graph might not have all information yet.

    Let's break down the tool structure and see what happens in the most relevant files:

    Configuration File {#module-configuration-file}

    The weight_and_balance_analysis_conf.xml is structured into two blocks: the control and program settings. The control settings are standardized in UNICADO and will not be described in detail here. But to get started, you have to change at least

    • the aircraft_exchange_file_name and aircraft_exchange_file_directory to your respective settings,
    • the console_output at least to mode_1, and

    !!! note If the tool is executed via the workflow, those settings are set by the workflow settings.

    Method Selection {#method-selection}

    By changing the program settings im the configXML we can manipulate how the w&b analysis tool is running. The program settings are structured like this:

        <program_settings description="program settings">
            <tube_and_wing description="Weight and balance analysis">
                <category description="Category name">
                    <value>standard</value>
                </category>
                <standard description="Standard weight and balance">
                    <method description="Method name">
                        <value>basic</value>
                    </method>
                    <basic description="Basic configuration">
                        <calculation_methods description="Calculation methods for basic configuration">
                            <inertia description="Selector for the calculation method of the mass moments of inertia. Selector: mode_0 (by_lth_table) / mode_1 (by_components) / mode_2 (by_Raymer)">
                                <method description="selected method">
                                    <value>mode_0</value>
                                </method>
                            </inertia>
                            <aircraft_type description="Aircraft configuration for determination of the nondimensional radii of gyration by Raymer. Selector: blended_wing / jet_fuselage_eng / jet_two_wing_eng / jet_four_wing_eng">
                                <value>jet_two_wing_eng</value>
                            </aircraft_type>
                            <maximum_landing_mass description="Selector for the calculation method of the maximum landing mass. Selector: mode_0 (OME + Payload + Reserve_fuel) / mode_1 (by_regression_RWTH)">
                                <method description="selected method">
                                    <value>mode_0</value>
                                </method>
                            </maximum_landing_mass>
                            <refueling_mode description="Selector to specify if refueling should be done for the design or ferry range mission. Selector: mode_0 (design mission) / mode_1 (ferry range)">
                                <method description="selected method">
                                    <value>mode_0</value>
                                </method>
                            </refueling_mode>
                            <defueling_mode description="Selector to specify if defueling should be considered or not in the loading diagramm. Selector: mode_0: not active / mode_1: active">
                                <method description="selected method">
                                    <value>mode_1</value>
                                </method>
                            </defueling_mode>
                            <passengers_boarding_mode description="Selector to specify the order how the passengers occupy the seats. Selector: mode_0 (each row at a time) / mode_1 (from window to aisle)">
                                <method description="selected method">
                                    <value>mode_0</value>
                                </method>
                            </passengers_boarding_mode>
                        </calculation_methods>
                    </basic>
                </standard>
            </tube_and_wing>
        </program_settings>

    In this part of the configXML we can select the calculation methods and aircraft configuration for the inertia, the maximum landing mass and the modes for the loading scenarios. Each mode has a description and the selection is made by changing the respective value. Most of the default modes coming with the package are set to mode_0. This means that:

    • the mass moments of inertia are calculated using the LTH Tables
    • the maximum landing mass is calculated based on the mission information and the consumed fuel during flight
    • the selected scenario for refueling is to fill up the tanks with the fuel for the design mission
    • the passengers should board each row at a time from the front to back and back to front
    • the cg shift due to defueling (fuel consumption during flight) should also be considered in the loading diagramm

    Tool Execution {#tool}

    Once the desired methods are selected and the requirements are in place, the tool can run. In order to start the w&b analysis tool, we can execute it directly from the console if all paths are set (see How to run a tool) or run the main.py inside the tool folder.

    Following will happen:

    • First, the necessary data and paths are acquired with datapreprocessing.py and usermethoddatapreparation.py
    • Then the methodbasic.py is executed and you see the output in the console window: The mass properties of the components are first read, then the total masses are calculated, afterwards the cg shift due to refueling, passangers boarding, cargo loading and finally defueling is determined together with the most fwd and aft CG positions
    • Next, the calculated data is postprocessed and the outputs are written to the acXML with datapostprocessing.py and usermethoddatapreparation.py
    • the loading cases and the loading diagram are plotted inside methodplot.py
    • a HTML report is created by methodhtmlreport.py in the directory of aircraft_exchange_file_directory. It contains a detailed mass breakdown and the generated plots.

    The following results are saved in the acXML under aircraft_exchange_file/analysis/masses_cg_inertia:

        <analysis>
            <masses_cg_inertia description="Masses, Center of Gravity, Inertias." tool_level="3">
                <maximum_takeoff_mass description="MTOM">
                    <mass_properties description="maximum takeoff mass properties">
                        <inertia description="Inertia with regard to the total center of gravity.">
                            <j_xx description="Inertia in x.">
                            </j_xx>
                            <j_yy description="Inertia in y.">
                            </j_yy>
                            <j_zz description="Inertia in z.">
                            </j_zz>
                            <j_xy description="Inertia in xy.">
                            </j_xy>
                            <j_xz description="Inertia in xz.">
                            </j_xz>
                            <j_yx description="Inertia in yx.">
                            </j_yx>
                            <j_yz description="Inertia in yz.">
                            </j_yz>
                            <j_zx description="Inertia in zx.">
                            </j_zx>
                            <j_zy description="Inertia in zy.">
                            </j_zy>
                        </inertia>
                        <center_of_gravity description="Center of gravity w.r.t global coordinate system.">
                            <x description="Center of gravity in x-direction with regard to the global reference point.">
                            </x>
                            <y description="Center of gravity in y-direction with regard to the global reference point.">
                            </y>
                            <z description="Center of gravity in z-direction with regard to the global reference point.">
                            </z>
                        </center_of_gravity>
                        <mass description="Mass">
                        </mass>
                    </mass_properties>
                </maximum_takeoff_mass>
                <operating_mass_empty description="OME">
                </operating_mass_empty>
                <manufacturer_mass_empty description="MME">
               </manufacturer_mass_empty>
                <maximum_zero_fuel_mass description="MZFM">
                </maximum_zero_fuel_mass>
                <maximum_payload_mass description="">
                </maximum_payload_mass>
                <maximum_landing_mass description="MLM">
                </maximum_landing_mass>
                <maximum_fuel_mass description="">
                </maximum_fuel_mass>
                <ferry_range_mass description="">
                </ferry_range_mass>
                <most_forward_mass description="">
                </most_forward_mass>
                <most_afterward_mass description="">
                </most_afterward_mass>
                <design_mass description="">
                </design_mass>
                <design_fuel_mass description="">
                </design_fuel_mass>
            </masses_cg_inertia>            

    Tip

    If you are missing some of the terms in here - take a look at basic concepts.


    Troubleshooting {#trouble}

    If the tool does not run properly:

    • Make sure you have all the paths set up correctly and the specified elements exist
    • Go through the log file weight_and_balance_analysis.txt and check for warnings and critical messages.

    Soo ... Now it is your turn to carry the weight!