diff --git a/fuselage_design/fuselage_design_lib/accommodation_definitions.xml b/fuselage_design/fuselage_design_lib/accommodation_definitions.xml index 1e2214e52e805227715d4e4fd91ea5257d7116e1..3a334c99ef3a39489a603e91b8abd941539b88b6 100644 --- a/fuselage_design/fuselage_design_lib/accommodation_definitions.xml +++ b/fuselage_design/fuselage_design_lib/accommodation_definitions.xml @@ -571,6 +571,23 @@ <unit>kg</unit> </mass> </slide> + <slide id="2" description="Description of the emergency slide."> + <name description="Name of the emergency slide."> + <value>OWE_slide</value> + </name> + <length description="Length of the emergency slide."> + <value>700</value> + <unit>inch</unit> + </length> + <width description="Width of the emergency slide."> + <value>100</value> + <unit>inch</unit> + </width> + <mass description="Empty mass of the emergency slide.."> + <value>140</value> + <unit>kg</unit> + </mass> + </slide> </emergency_slides> <cabin_interior_masses description="Description of different cabin interior masses."> <acoustic_and_thermal_insolation description="Mass of cabin floor covering in kg per m^2."> diff --git a/fuselage_design/src/tube_and_wing/empirical/fuselage_design_tu_berlin/general/call_functions/estimatemasses.py b/fuselage_design/src/tube_and_wing/empirical/fuselage_design_tu_berlin/general/call_functions/estimatemasses.py index 82677677dca2a922b91d4f799e17b608beef474a..186b27a8798c059acb86fe58ca6ab56136304482 100644 --- a/fuselage_design/src/tube_and_wing/empirical/fuselage_design_tu_berlin/general/call_functions/estimatemasses.py +++ b/fuselage_design/src/tube_and_wing/empirical/fuselage_design_tu_berlin/general/call_functions/estimatemasses.py @@ -18,6 +18,8 @@ def estimate_masses(dict_ac_exchange, dict_mod_config, fuselage_description, run """ ''' initialize local parameter ''' lavatory_mass = 0 + over_wing_exit_flag = False + emergency_slide_mass = 0 fuselage_design_masses = {} fuselage_mass_additions = 1 maximum_uld_type_depth = 0 @@ -218,6 +220,34 @@ def estimate_masses(dict_ac_exchange, dict_mod_config, fuselage_description, run + fuselage_design_masses['fuselage_operator_item_masses']['full_size_trolley_catering_mass']) # Estimate emergency equipment masses + # Estimate mass of emergency slides + for key, value in dict_mod_config['select_specific_exit_types'].items(): + if value is not None: + if value == 'Type A': + for i in range(0, len(dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'])): + if dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'][i]['name']['value'] == 'dual_slide': + emergency_slide_mass += round(float(dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'][i]['mass']['value']), 2) + if 'OWE' in value and not over_wing_exit_flag: + over_wing_exit_flag = True + for i in range(0, len(dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'])): + if dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'][i]['name']['value'] == 'OWE_slide': + emergency_slide_mass += round(float(dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'][i]['mass']['value']), 2) + elif not 'OWE' in value and value != 'Type A': + for i in range(0, len(dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'])): + if dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'][i]['name']['value'] == 'single_slide': + emergency_slide_mass += round(float(dict_ac_exchange['dict_accommodation'][ + 'accommodation_definitions']['emergency_slides']['slide'][i]['mass']['value']), 2) + + fuselage_design_masses['fuselage_operator_item_masses']['emergency_equipment_masses']['emergency_slide_mass'] = \ + 2 * emergency_slide_mass # Mass of first aid kits according to EU-OPS 1.745 -> one first aid kit per commenced 100 PAX fuselage_design_masses['fuselage_operator_item_masses']['emergency_equipment_masses']['first_aid_kit_mass'] = \ (math.ceil(dict_ac_exchange['total_number_of_passengers'] / 100) @@ -358,13 +388,13 @@ def estimate_masses(dict_ac_exchange, dict_mod_config, fuselage_description, run * (required_number_of_flight_attendants + dict_ac_exchange['total_number_of_passengers'])) # Estimate total emergency equipment group mass - for operator_item, mass in \ + for _, mass in \ fuselage_design_masses['fuselage_operator_item_masses']['emergency_equipment_masses'].items(): fuselage_design_masses['fuselage_operator_item_masses']['group_masses']['total_emergency_equipment_masses'] \ += mass # Estimate total operator item group mass - for operator_item, mass in fuselage_design_masses['fuselage_operator_item_masses']['group_masses'].items(): + for _, mass in fuselage_design_masses['fuselage_operator_item_masses']['group_masses'].items(): fuselage_design_masses['fuselage_operator_item_masses']['total_group_mass'] += mass fuselage_design_masses['fuselage_operator_item_masses']['total_group_mass'] = \