From ba4a6de2ec32ce61049eb1fbe9574f6f3fb5bab7 Mon Sep 17 00:00:00 2001 From: timeeapacala <“t.pacala@tu-berlin.de”> Date: Wed, 12 Mar 2025 13:48:54 +0100 Subject: [PATCH 1/2] tank capacity check only for kerosene --- .../src/tube_and_wing/standard/basic/methodbasic.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py b/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py index 308501ca..ff45229a 100644 --- a/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py +++ b/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py @@ -389,7 +389,8 @@ def method_basic(paths_and_names, routing_dict, dict_ac_exchange, dict_mod_confi kwargs_base['starting_cg'] = starting_cg kwargs_base['starting_mass'] = starting_mass - cg_positions_dict['defueling_cg'] = [value * mac / 100 + x_leading_edge_mac for value in cg_positions_dict['defueling']] + cg_positions_dict['defueling_cg'] = [value * mac / 100 + + x_leading_edge_mac for value in cg_positions_dict['defueling']] # Calculate most forward and aft CG all_cg_positions_over_mac = [ @@ -1190,8 +1191,9 @@ def calculate_fuel_mass_properties(tanks, fuel_mass, routing_dict, dict_ac_excha runtime_output.critical( "Fuel mass calculation failed ... Not enough capacity in tanks!") else: - raise ValueError( - "Fuel mass calculation failed ... Not enough capacity in tanks!") + if tanks[0].energy_carrier == 'kerosene': + raise ValueError( + "Fuel mass calculation failed ... Not enough capacity in tanks!") fuel_mass_properties = MassPropertiesIO().initialize_zero() fuel_mass_properties.mass = sum( @@ -1496,7 +1498,7 @@ def calculate_design_payload_mass(transport_task_data, accomodation, fuselage_ma # cargodeck + passenger_deck + additional cargo design_payload_mass.center_of_gravity = fuselage_mass_properties.center_of_gravity - design_payload_mass.center_of_gravity['x'] =(sum(accomodation.seating_spacing_x_coordinate) + sum( + design_payload_mass.center_of_gravity['x'] = (sum(accomodation.seating_spacing_x_coordinate) + sum( accomodation.cargo_spacing_x_coordinate)) / (len(accomodation.seating_spacing_x_coordinate) + len( accomodation.cargo_spacing_x_coordinate)) design_payload_mass.initialize_zero_inertia() -- GitLab From 9723c519f0cfbad0f509ed4da64dab363b07fa36 Mon Sep 17 00:00:00 2001 From: timeeapacala <t.pacala@tu-berllin.de> Date: Fri, 14 Mar 2025 10:36:12 +0100 Subject: [PATCH 2/2] bug fix defueling cg dict naming --- .../src/tube_and_wing/standard/basic/methodbasic.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py b/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py index ff45229a..edaaa494 100644 --- a/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py +++ b/weight_and_balance_analysis/src/tube_and_wing/standard/basic/methodbasic.py @@ -389,7 +389,8 @@ def method_basic(paths_and_names, routing_dict, dict_ac_exchange, dict_mod_confi kwargs_base['starting_cg'] = starting_cg kwargs_base['starting_mass'] = starting_mass - cg_positions_dict['defueling_cg'] = [value * mac / 100 + + cg_pos_out = {} + cg_pos_out['defueling_xCG'] = [value * mac / 100 + x_leading_edge_mac for value in cg_positions_dict['defueling']] # Calculate most forward and aft CG @@ -506,7 +507,7 @@ def method_basic(paths_and_names, routing_dict, dict_ac_exchange, dict_mod_confi "Refueling CG change": cg_positions_dict["refueling"], "Refueling mass change": total_mass_dict["refueling"], "Defueling CG change": cg_positions_dict["defueling"], - "Defueling xCG": cg_positions_dict["defueling_cg"], + "Defueling xCG": cg_pos_out["defueling_xCG"], "Defueling mass change": total_mass_dict["defueling"], "Defueling mode": defueling_mode, "Passengers boarding front back CG change": cg_positions_dict["passengers_boarding"], -- GitLab