diff --git a/classes/@Rocket/Rocket.m b/classes/@Rocket/Rocket.m index 825e8360ef8caa2d09ce9628731c6f6616e89d73..30c76a48b95e72217938671ddc07ed5db368dd17 100644 --- a/classes/@Rocket/Rocket.m +++ b/classes/@Rocket/Rocket.m @@ -52,7 +52,8 @@ classdef Rocket < Config parachutes cell % [-] (nParachutes, nStages) Parachutes onboard dynamicDerivatives (1, 1) logical % [-] True if dynamic derivatives will be loaded - + highAOACoefficients (1, 1) logical % [-] True if highAOACoefficients are loaded + coefficients Coefficient % [-] Aerodynamic coefficients coefficientsHighAOA Coefficient % [-] Aerodynamic coefficients at high angle of attack end @@ -150,13 +151,16 @@ classdef Rocket < Config fullfile(mission.dataPath, 'aeroCoefficients.mat'), ... coeffName); - obj.coefficientsHighAOA = Coefficient( ... - fullfile(mission.dataPath, 'aeroCoefficientsHighAOA.mat'), ... - coeffName); + if obj.highAOACoefficients + obj.coefficientsHighAOA = Coefficient( ... + fullfile(mission.dataPath, 'aeroCoefficientsHighAOA.mat'), ... + coeffName); + end answer = ''; - if isempty(obj.coefficients.static) || isempty(obj.coefficientsHighAOA.static) + if isempty(obj.coefficients.static) || ... + (obj.highAOACoefficients && isempty(obj.coefficientsHighAOA.static)) answer = questdlg(['Coefficient matrices not found. ' ... 'Do you want to create new matrices?']); elseif options.checkGeometry @@ -195,7 +199,7 @@ classdef Rocket < Config parserPath = fullfile(mission.msaPath, 'autoMatricesProtub'); addpath(genpath(parserPath)); [obj.coefficients, obj.coefficientsHighAOA] = ... - mainAutoMatProtub(obj); + mainAutoMatProtub(obj, 'computeHighAOA', obj.highAOACoefficients); case 'Cancel' error('Rocket creation aborted') otherwise diff --git a/missions/2021_Lynx_Portugal_October/config/rocketConfig.m b/missions/2021_Lynx_Portugal_October/config/rocketConfig.m index 160c5b09b850ef81406e13cf89dfcda9005c2e9c..cb264015ae392fd9ed08b661398f6b5efb8f1d2e 100644 --- a/missions/2021_Lynx_Portugal_October/config/rocketConfig.m +++ b/missions/2021_Lynx_Portugal_October/config/rocketConfig.m @@ -20,6 +20,7 @@ rocket.lengthCenterNoMot = 1.7640; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m b/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m index d0dc3df55356e3aebc59d51214a30794f8668dc1..0851f94e15aa603fff564f4dd2d8ed15c0e56bf8 100644 --- a/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m +++ b/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m @@ -20,6 +20,7 @@ rocket.lengthCenterNoMot = 1.7840; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m b/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m index 2f949bfb46c9b09dd02fea6a1c87253e9c6c5b20..17d63ca520136746a7f874cb8e2d9c34c726670b 100644 --- a/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m +++ b/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m @@ -20,6 +20,7 @@ rocket.lengthCenterNoMot = 1.4470; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m b/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m index ee3a3c71bd73ab263db92f3e929db488a6a5735c..5b7406a3e5a8362c54c1caddde3a35c9fa1798cc 100644 --- a/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m +++ b/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m @@ -22,6 +22,7 @@ rocket.lengthCenterNoMot = 1.61; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2023_Gemini_Portugal_October/config/rocketConfig.m b/missions/2023_Gemini_Portugal_October/config/rocketConfig.m index 401c415be5e782af00b4318e62db4d13ea6ef5ca..f9d6d4c6f95e6d93445e6289d5115b9bba35837a 100644 --- a/missions/2023_Gemini_Portugal_October/config/rocketConfig.m +++ b/missions/2023_Gemini_Portugal_October/config/rocketConfig.m @@ -19,7 +19,7 @@ rocket.lengthCenterNoMot = 1.517; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded - +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m b/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m index fc2715bc0dd7d61dd740e20b3138c8552440dcf1..cadbc7ef2b84f7f504eae85f73766ece8a83ec9c 100644 --- a/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m +++ b/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m @@ -19,6 +19,7 @@ rocket.lengthCenterNoMot = 1.517; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2024_Lyra_Portugal_October/config/rocketConfig.m b/missions/2024_Lyra_Portugal_October/config/rocketConfig.m index f87640c176ca52f0ab3274f1b32602462a1489ff..1d90d15565d46515b3ca9ef5bcc7677b369fd810 100644 --- a/missions/2024_Lyra_Portugal_October/config/rocketConfig.m +++ b/missions/2024_Lyra_Portugal_October/config/rocketConfig.m @@ -13,6 +13,7 @@ rocket.lengthCenterNoMot = []; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m b/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m index 2939db0ce6550575817cdd355d8b2f6ca2e68943..133be74e22c422360b80e924c6fb291a147c61db 100644 --- a/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m +++ b/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m @@ -19,6 +19,7 @@ rocket.lengthCenterNoMot = []; % [m] % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PLD - Includes Parafoil + Nose parafoil = Parafoil(); diff --git a/missions/2025_Orion_Portugal_October/config/rocketConfig.m b/missions/2025_Orion_Portugal_October/config/rocketConfig.m index 6a13ec2512f1ba80b938af94064c3038be076bfd..cab54fffbaec6cdfd7bc778ae599e243b2707025 100644 --- a/missions/2025_Orion_Portugal_October/config/rocketConfig.m +++ b/missions/2025_Orion_Portugal_October/config/rocketConfig.m @@ -12,7 +12,8 @@ rocket.diameter = 0.15; % [m] % If dynamic derivatives are loaded, coefficient will depend on rocket xcg % When false, coefficients are saved with current motor's name % When true, coefficients are saved as 'generic' -rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.dynamicDerivatives = false; % [-] True if dynamic derivatives will be loaded +rocket.highAOACoefficients = false; % [-] True if separate matrix for high AOA will be loaded %% PRF - Includes Parafoil + Nose parafoil = Parafoil();