Skip to content
Snippets Groups Projects
Commit f924ced2 authored by Florian Schültke's avatar Florian Schültke
Browse files

Merge branch 'feature/fuselage_design_updates' into 'develop'

fuselage_design: - add default mode for wide body configuration to run the...

See merge request !231
parents 0cd820a9 cbc7f150
No related branches found
No related tags found
5 merge requests!263Apply 1 suggestion(s) to 1 file(s),!261Reintruduced automatic flight condition selection,!245Apply 1 suggestion(s) to 1 file(s),!233Initial open source version,!231fuselage_design: - add default mode for wide body configuration to run the...
......@@ -352,10 +352,14 @@
<name description="Name of passenger class.">
<value>president</value>
</name>
<abreast description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<abreast_single_aisle description="Seat abreast of current passenger class. int_int (single aisle aircraft)">
<value>1_1</value>
<default>1_1</default>
</abreast>
</abreast_single_aisle>
<abreast_wide_body description="Seat abreast of current passenger class. int_int_int (wide body aircraft)">
<value>1_1_1</value>
<default>1_1_1</default>
</abreast_wide_body>
<seats description="Definiton of passenger class seats.">
<seat_on_left_side description="description of the seats for the left side of the aircraft.">
<name description="Name of selected seat type.">
......@@ -442,10 +446,14 @@
<name description="Name of passenger class.">
<value>first</value>
</name>
<abreast description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<abreast_single_aisle description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<value>1_1</value>
<default>1_1</default>
</abreast>
</abreast_single_aisle>
<abreast_wide_body description="Seat abreast of current passenger class. int_int_int (wide body aircraft)">
<value>1_2_1</value>
<default>1_2_1</default>
</abreast_wide_body>
<seats description="Definiton of passenger class seats.">
<seat_on_left_side description="description of the seats for the left side of the aircraft.">
<name description="Name of selected seat type.">
......@@ -532,10 +540,14 @@
<name description="Name of passenger class.">
<value>business</value>
</name>
<abreast description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<abreast_single_aisle description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<value>2_2</value>
<default>2_2</default>
</abreast>
</abreast_single_aisle>
<abreast_wide_body description="Seat abreast of current passenger class. int_int_int (wide body aircraft)">
<value>1_2_1</value>
<default>1_2_1</default>
</abreast_wide_body>
<seats description="Definiton of passenger class seats.">
<seat_on_left_side description="description of the seats for the left side of the aircraft.">
<name description="Name of selected seat type.">
......@@ -622,10 +634,14 @@
<name description="Name of passenger class.">
<value>premium economy</value>
</name>
<abreast description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<abreast_single_aisle description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<value>3_3</value>
<default>3_3</default>
</abreast>
</abreast_single_aisle>
<abreast_wide_body description="Seat abreast of current passenger class. int_int_int (wide body aircraft)">
<value>2_3_2</value>
<default>2_3_2</default>
</abreast_wide_body>
<seats description="Definiton of passenger class seats.">
<seat_on_left_side description="description of the seats for the left side of the aircraft.">
<name description="Name of selected seat type.">
......@@ -712,10 +728,14 @@
<name description="Name of passenger class.">
<value>economy</value>
</name>
<abreast description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<abreast_single_aisle description="Seat abreast of current passenger class. int_int (single aisle aircraft) / int_int_int (wide body aircraft)">
<value>3_3</value>
<default>3_3</default>
</abreast>
</abreast_single_aisle>
<abreast_wide_body description="Seat abreast of current passenger class. int_int_int (wide body aircraft)">
<value>2_4_2</value>
<default>2_4_2</default>
</abreast_wide_body>
<seats description="Definiton of passenger class seats.">
<seat_on_left_side description="description of the seats for the left side of the aircraft.">
<name description="Name of selected seat type.">
......
......@@ -120,12 +120,24 @@ def prepare_external_data(paths_and_names, routing_dict, dict_ac_exchange, dict_
relevant_classes['passenger_classes'][class_names[index]] = {}
relevant_classes['passenger_classes']['class_names'].append(class_names[index])
# read seat abreast
relevant_classes['passenger_classes'][class_names[index]]['seat_abreast'] = \
dict_mod_config['passenger_class_abreast']['passenger_class_abreast_ID' + str(index)]
if relevant_classes['passenger_classes'][class_names[index]]['seat_abreast'] is None:
runtime_output.critical('Error: At least one selected class has no entered number of seat abreast.\n'
if dict_ac_exchange['fuselage_type'] == 'single_aisle':
relevant_classes['passenger_classes'][class_names[index]]['seat_abreast'] = \
dict_mod_config['passenger_class_abreast_single_aisle']['passenger_class_abreast_single_aisle_ID' + str(index)]
if relevant_classes['passenger_classes'][class_names[index]]['seat_abreast'] is None:
runtime_output.critical('Error: At least one selected class has no entered number of seat abreast.\n'
' Program aborted!')
sys.exit('Missing number of seat abreast for ' + class_names[index] + ' class.')
sys.exit('Missing number of seat abreast for ' + class_names[index] + ' class.')
elif dict_ac_exchange['fuselage_type'] == 'wide_body':
relevant_classes['passenger_classes'][class_names[index]]['seat_abreast'] = \
dict_mod_config['passenger_class_abreast_wide_body']['passenger_class_abreast_wide_body_ID' + str(index)]
if relevant_classes['passenger_classes'][class_names[index]]['seat_abreast'] is None:
runtime_output.critical('Error: At least one selected class for has no entered number of seat abreast.\n'
' Program aborted!')
sys.exit('Missing number of seat abreast for ' + class_names[index] + ' class.')
else:
runtime_output.critical('Error: No valid fuselage type selected in the top level aircraft requirement selected.\n'
' Program aborted!')
sys.exit('Invalid fuselage type selected!.')
# read seat name
relevant_classes['passenger_classes'][class_names[index]]['seat_name'] = {}
......
......@@ -228,8 +228,10 @@ def user_method_data_input_preparation(routing_dict):
[tmp_specific + '/passenger_accommodation/in_flight_entertainment/use_in_flight_entertainment', bool],
'passenger_class_name':
[tmp_specific + '/passenger_accommodation/passenger_classes/class[@ID="0"]/name', str],
'passenger_class_abreast':
[tmp_specific + '/passenger_accommodation/passenger_classes/class[@ID="0"]/abreast', str],
'passenger_class_abreast_single_aisle':
[tmp_specific + '/passenger_accommodation/passenger_classes/class[@ID="0"]/abreast_single_aisle', str],
'passenger_class_abreast_wide_body':
[tmp_specific + '/passenger_accommodation/passenger_classes/class[@ID="0"]/abreast_wide_body', str],
'passenger_seat_on_left_side_name':
[tmp_specific + '/passenger_accommodation/passenger_classes/class[@ID="0"]/seats/seat_on_left_side/name', str], # noPep8 e501
'passenger_seat_on_left_side_pitch':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment