From ad2555bc2190aabb6744217f1e39f5934f928838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?= <“katrin.bistreck@tuhh.de”> Date: Mon, 14 Apr 2025 11:11:18 +0200 Subject: [PATCH 1/3] Interrupt SAR plot loop if max_ma is exceeded --- .../src/standard_mission/output/standard_mission_output.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mission_analysis/src/standard_mission/output/standard_mission_output.cpp b/mission_analysis/src/standard_mission/output/standard_mission_output.cpp index bce9ee4d..da3714a5 100644 --- a/mission_analysis/src/standard_mission/output/standard_mission_output.cpp +++ b/mission_analysis/src/standard_mission/output/standard_mission_output.cpp @@ -1,6 +1,6 @@ /* * UNICADO - UNIversity Conceptual Aircraft Design and Optimization - * + * * Copyright (C) 2025 UNICADO consortium * * This program is free software: you can redistribute it and/or modify @@ -287,7 +287,8 @@ void StandardMissionOutput::generate_SAR_plot_data() { double acc(10e-5); // Temporarily issue exit when CL_max is exceeded my_mission_ptr->aero.switchOnReqSwitch(); - for (double Ma(my_mission_ptr->mission_file->desired_cruise_speed - 0.04); Ma <= (my_mission_ptr->mission_file->desired_cruise_speed + 0.04); Ma += 0.02) { + for (double Ma(my_mission_ptr->mission_file->desired_cruise_speed - 0.04); Ma <= my_mission_ptr->mission_file->desired_cruise_speed + 0.04; Ma += 0.02) { + if (Ma > my_mission_ptr->max_operating_mach) break; // avoid exceeding max_operating_mach SAR_mach.push_back(Ma); for (double aircraft_mass(0.5 * my_mission_ptr->MTOM); aircraft_mass <= my_mission_ptr->MTOM; aircraft_mass += 0.5 * my_mission_ptr->MTOM / weightSteps) { if ((Ma - (my_mission_ptr->mission_file->desired_cruise_speed - 0.04)) < acc) { -- GitLab From 3c6635db44984f2638723a1adb126e0011dbd6a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?= <“katrin.bistreck@tuhh.de”> Date: Mon, 14 Apr 2025 11:24:59 +0200 Subject: [PATCH 2/3] Add brackets again --- .../src/standard_mission/output/standard_mission_output.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mission_analysis/src/standard_mission/output/standard_mission_output.cpp b/mission_analysis/src/standard_mission/output/standard_mission_output.cpp index da3714a5..e59f3356 100644 --- a/mission_analysis/src/standard_mission/output/standard_mission_output.cpp +++ b/mission_analysis/src/standard_mission/output/standard_mission_output.cpp @@ -287,7 +287,7 @@ void StandardMissionOutput::generate_SAR_plot_data() { double acc(10e-5); // Temporarily issue exit when CL_max is exceeded my_mission_ptr->aero.switchOnReqSwitch(); - for (double Ma(my_mission_ptr->mission_file->desired_cruise_speed - 0.04); Ma <= my_mission_ptr->mission_file->desired_cruise_speed + 0.04; Ma += 0.02) { + for (double Ma(my_mission_ptr->mission_file->desired_cruise_speed - 0.04); Ma <= (my_mission_ptr->mission_file->desired_cruise_speed + 0.04); Ma += 0.02) { if (Ma > my_mission_ptr->max_operating_mach) break; // avoid exceeding max_operating_mach SAR_mach.push_back(Ma); for (double aircraft_mass(0.5 * my_mission_ptr->MTOM); aircraft_mass <= my_mission_ptr->MTOM; aircraft_mass += 0.5 * my_mission_ptr->MTOM / weightSteps) { -- GitLab From 58458fcc014fad9161725742b4944ebd910cf657 Mon Sep 17 00:00:00 2001 From: kbistreck <katrin-bistreck@gmx.de> Date: Thu, 24 Apr 2025 13:28:26 +0200 Subject: [PATCH 3/3] Apply 2 suggestion(s) to 1 file(s) Co-authored-by: gPauls-TUHH <gerrit.pauls@tuhh.de> --- .../standard_mission/output/standard_mission_output.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mission_analysis/src/standard_mission/output/standard_mission_output.cpp b/mission_analysis/src/standard_mission/output/standard_mission_output.cpp index e59f3356..715d3adb 100644 --- a/mission_analysis/src/standard_mission/output/standard_mission_output.cpp +++ b/mission_analysis/src/standard_mission/output/standard_mission_output.cpp @@ -288,7 +288,11 @@ void StandardMissionOutput::generate_SAR_plot_data() { // Temporarily issue exit when CL_max is exceeded my_mission_ptr->aero.switchOnReqSwitch(); for (double Ma(my_mission_ptr->mission_file->desired_cruise_speed - 0.04); Ma <= (my_mission_ptr->mission_file->desired_cruise_speed + 0.04); Ma += 0.02) { - if (Ma > my_mission_ptr->max_operating_mach) break; // avoid exceeding max_operating_mach + bool loop_breaker(false); + if (Ma > my_mission_ptr->max_operating_mach) { // set max_operating_mach when its exceeded or approached + Ma = my_mission_ptr->max_operating_mach; + loop_breaker = true; // Stop the loop if max_operating_mach is reached + } SAR_mach.push_back(Ma); for (double aircraft_mass(0.5 * my_mission_ptr->MTOM); aircraft_mass <= my_mission_ptr->MTOM; aircraft_mass += 0.5 * my_mission_ptr->MTOM / weightSteps) { if ((Ma - (my_mission_ptr->mission_file->desired_cruise_speed - 0.04)) < acc) { @@ -313,6 +317,7 @@ void StandardMissionOutput::generate_SAR_plot_data() { specific_air_ranges.push_back(SAR_tmp); } } + if (loop_breaker) break; // max_operating_mach reached -> break } } plot.close(); -- GitLab