diff --git a/aerodynamicsOptimization/src/OptimizationGA.m b/aerodynamicsOptimization/src/OptimizationGA.m index 77f02f209d485d51023230565d1cbb3654f441f0..9e7a828e9a1d65d36e9576e06762c86649c49cdf 100644 --- a/aerodynamicsOptimization/src/OptimizationGA.m +++ b/aerodynamicsOptimization/src/OptimizationGA.m @@ -67,7 +67,6 @@ azCase = (360)*pi/180; wind.magnitudeParameters = ones(2,2).*magCase; wind.azimuthParameters = ones(2,2).*azCase; -wind.updateAll(); apogee1 = quickApogeeOnly(rocket, environment, wind, settings, wrapper); @@ -76,7 +75,6 @@ azCase = (180)*pi/180; wind.magnitudeParameters = ones(2,2).*magCase; wind.azimuthParameters = ones(2,2).*azCase; -wind.updateAll(); apogee2 = quickApogeeOnly(rocket, environment, wind, settings, wrapper); @@ -86,7 +84,6 @@ azCase = (360)*pi/180; wind.magnitudeParameters = ones(2,2).*magCase; wind.azimuthParameters = ones(2,2).*azCase; -wind.updateAll(); apogee3 = quickApogeeOnly(rocket, environment, wind, settings, wrapper); @@ -95,7 +92,6 @@ azCase = (180)*pi/180; wind.magnitudeParameters = ones(2,2).*magCase; wind.azimuthParameters = ones(2,2).*azCase; -wind.updateAll(); apogee4 = quickApogeeOnly(rocket, environment, wind, settings, wrapper); diff --git a/apogeeAnalysis/mainApogeeAnalysis.m b/apogeeAnalysis/mainApogeeAnalysis.m index 49485729ad5a84d630b4d26367e517a863e8f7f9..8fba160540d416378816865940e8c33984cdfbda 100644 --- a/apogeeAnalysis/mainApogeeAnalysis.m +++ b/apogeeAnalysis/mainApogeeAnalysis.m @@ -52,14 +52,12 @@ winds(1).magnitudeDistribution = "u"; winds(1).azimuthDistribution = "u"; winds(1).magnitudeParameters = settings.cases(1).wind.magVec * ones(2, 1); winds(1).azimuthParameters = settings.cases(1).wind.azVec * ones(2, 1); -winds(1).updateAll; winds(2).altitudes = settings.cases(2).wind.altitudes; winds(2).magnitudeDistribution = "u"; winds(2).azimuthDistribution = "u"; winds(2).magnitudeParameters = settings.cases(2).wind.magVec * ones(2, 1); winds(2).azimuthParameters = settings.cases(2).wind.azVec * ones(2, 1); -winds(2).updateAll; % Environments environments = [Environment(mission, rocket.motor); Environment(mission, rocket.motor)]; @@ -70,7 +68,7 @@ environments(2).omega = settings.cases(2).omega; environments(2).phi = settings.cases(2).phi; % Airbrakes -airbrakes = [Airbrakes(mission, rocket.motor); Airbrakes(mission, rocket.motor)]; +airbrakes = [Airbrakes(mission); Airbrakes(mission)]; airbrakes(1).enabled = settings.cases(1).airbrakes.enabled; airbrakes(1).extension = settings.cases(1).airbrakes.extension; airbrakes(1).deltaTime = settings.cases(1).airbrakes.deltaTime; @@ -80,7 +78,7 @@ airbrakes(2).extension = settings.cases(2).airbrakes.extension; airbrakes(2).deltaTime = settings.cases(2).airbrakes.deltaTime; %% MOTORS SELECTION -if settings.analysis.isEngineCut && ~(rocket.motor.isHRE) +if settings.analysis.isEngineCut && rocket.motor.type ~= MotorType.Hybrid msg="The Engine Cut Analysis can be used for HRE motors only"; error(msg) end @@ -105,8 +103,8 @@ if isempty(settings.selection.motorName) for i=1:size(motors, 1) if (motors(i).Itot > settings.selection.totalImpulseRange(1) && motors(i).Itot < settings.selection.totalImpulseRange(2) ... && any(strcmp(motors(i).producer, settings.selection.producer)) ... - && ( (rocket.motor.isHRE == false) || (motors(i).ODfus == rocket.diameter) ) ... - && ( (rocket.motor.isHRE == false) || ((settings.selection.transient == 2) || ... + && ( (rocket.motor.type ~= MotorType.Hybrid) || (motors(i).ODfus == rocket.diameter) ) ... + && ( (rocket.motor.type ~= MotorType.Hybrid) || ((settings.selection.transient == 2) || ... (settings.selection.transient == motors(i).transientFlag)))) selectedMotors(j) = motors(i); j = j + 1; diff --git a/apogeeAnalysis/src/engineCutApogee.m b/apogeeAnalysis/src/engineCutApogee.m index 1321e849a4c588bcd2b694977c6f4c560bc10300..41c240004abe5b91026f7174ba775a0d3966f9ed 100644 --- a/apogeeAnalysis/src/engineCutApogee.m +++ b/apogeeAnalysis/src/engineCutApogee.m @@ -63,7 +63,6 @@ for i = 1:2 % highest and lowest apogee cases for l = 1:nCutOffTime rocket.motor.cutoffTime = timeEngineCutVect(l); - rocket.updateAll; rocket.coefficients.state.xcgTime = linspace(0, rocket.motor.cutoffTime, ... length(rocket.coefficients.state.xcgTime)); % Apogee diff --git a/apogeeAnalysis/src/plotApogeeAnalysis.m b/apogeeAnalysis/src/plotApogeeAnalysis.m index f0bf990acddc297e981c58451245bc446a183bad..be61a38653337b1dfcdb6ae54867f8432d9e1669 100644 --- a/apogeeAnalysis/src/plotApogeeAnalysis.m +++ b/apogeeAnalysis/src/plotApogeeAnalysis.m @@ -120,12 +120,12 @@ for i = 1:2 % green rectangle below the target line if delta(1) > 0 rectangle('Position', [xGridMin minApo (xGridMax-xGridMin) delta(1)], ... - 'FaceColor', [0 1 0 0.1], 'Linestyle', 'none'); + 'FaceColor', [0 1 0 0.1], 'Linestyle', 'none', 'FaceAlpha', 0.3); end else % green rectangle over the target line rectangle('Position', [xGridMin settings.plots.targetApogee (xGridMax-xGridMin) delta(2)], ... - 'FaceColor', [0 1 0 0.1], 'Linestyle', 'none'); + 'FaceColor', [0 1 0 0.1], 'Linestyle', 'none', 'FaceAlpha', 0.3); end plotApogee.XLim = [xGridMin-margin, xGridMax+margin]; diff --git a/apogeeAnalysis/src/standardApogee.m b/apogeeAnalysis/src/standardApogee.m index ec3da7a9ae2d06aa3dd22017ac57ae40723f7d0c..efd81950458311a7127d7267796682437cd3cf34 100644 --- a/apogeeAnalysis/src/standardApogee.m +++ b/apogeeAnalysis/src/standardApogee.m @@ -48,8 +48,8 @@ for i = 1:2 % highest and lowest apogee cases for k = 1:nMotors tempMotor.name = selectedMotors(k).MotorName; + rocket.mass = []; % Disables any ovverrides rocket.motor = tempMotor; - rocket.updateAll; rocket.coefficients.state.xcgTime = linspace(0, tempMotor.cutoffTime, ... length(rocket.coefficients.state.xcgTime)); rocket.motor.thrust = rocket.motor.thrust * ... diff --git a/caAnalysis/src/initCaAnalysis.m b/caAnalysis/src/initCaAnalysis.m index b4803e254f250b7127ede63e359732aa58bd0ec4..b61d5bf9f678fc3a73579489f595325969f2edf0 100644 --- a/caAnalysis/src/initCaAnalysis.m +++ b/caAnalysis/src/initCaAnalysis.m @@ -52,5 +52,4 @@ wind.magnitudeParameters = [0; 0]; wind.azimuthDistribution = 'u'; wind.azimuthParameters = [0; 0]; -wind.updateAll(); end \ No newline at end of file diff --git a/sensitivityAnalysis/sensitivityConfig.m b/sensitivityAnalysis/sensitivityConfig.m index a7d713ff31213c3bc239acd9d1ff83e7010cc772..7653b39f4939cadaad4678a8d377226a639ab065 100644 --- a/sensitivityAnalysis/sensitivityConfig.m +++ b/sensitivityAnalysis/sensitivityConfig.m @@ -13,7 +13,7 @@ % SPDX-License-Identifier: GPL-3.0-or-later %% SIMULATION PARAMETERS -sensitivity.n = 2000; % Number of cases +sensitivity.n = 100; % Number of cases sensitivity.type = 4; % Simulation type: % 1-apogee only diff --git a/sensitivityAnalysis/src/sensitivityStochRun.m b/sensitivityAnalysis/src/sensitivityStochRun.m index 155ec7034a71b7c6c839d1e271f1ddf096d9ba79..ca0cbc1bb3f766613705d85c9021a7e0b19f7ccd 100644 --- a/sensitivityAnalysis/src/sensitivityStochRun.m +++ b/sensitivityAnalysis/src/sensitivityStochRun.m @@ -102,10 +102,10 @@ if stabFlag stability(1, n) = stability; end -parfor i = 1:n +for i = 1:n ascentSol = []; - rocket = copy(rocketRef); - env = copy(envRef); + rocket = rocketRef; + env = envRef; uncertanty = struct(); updateData(rocket, env, wind, parameters, i); diff --git a/sensitivityAnalysis/src/stochParameters/updateData.m b/sensitivityAnalysis/src/stochParameters/updateData.m index 6c1c26c8f4bad79b6807f68ffb84fe9eea86abac..1360c7bc76388373d3dc80b386bc7be7e6b9446d 100644 --- a/sensitivityAnalysis/src/stochParameters/updateData.m +++ b/sensitivityAnalysis/src/stochParameters/updateData.m @@ -102,9 +102,5 @@ for i = 1:length(parameters) error(strcat('Parameter: <', parameters(i).name ,'> not known')); end end - -rocket.updateAll(); -env.updateAllExcetpG0(); -wind.updateAll(); end