From bbc8c3c505119eb180230d10e70dc7a1f7f3b568 Mon Sep 17 00:00:00 2001 From: Marcodagostino2 <mcdago25@gmail.com> Date: Sun, 11 May 2025 11:41:15 +0200 Subject: [PATCH] [to-struct-updates] Modified parachutes parameter to be compatible with the new unified class Para --- common | 2 +- .../src/stochParameters/initParameter.m | 16 ++++++++-------- .../src/stochParameters/updateData.m | 16 ++++++++-------- simulator/mainSimulator.m | 2 +- simulator/src/stdPlots.m | 6 +++--- utils/rocketpyData/exportRocketpy.m | 16 ++++++++-------- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/common b/common index 59b6c1b0..010cd36b 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 59b6c1b09cbd9b1bc1be07e1aa32f18ced11e1bc +Subproject commit 010cd36bdf9431d9f56b3041920eaa585bee3550 diff --git a/sensitivityAnalysis/src/stochParameters/initParameter.m b/sensitivityAnalysis/src/stochParameters/initParameter.m index 2b585c6c..5368797e 100644 --- a/sensitivityAnalysis/src/stochParameters/initParameter.m +++ b/sensitivityAnalysis/src/stochParameters/initParameter.m @@ -55,28 +55,28 @@ for i = 1:length(parameters) parameters(i).value = rocket.inertia(:, 3); parameters(i).udm = 'kg*m^4'; case 'drogueSurface' - parameters(i).value = rocket.parachutes{1, 1}.surface; + parameters(i).value = rocket.parachutes(1, 1).surface; parameters(i).udm = 'm2'; case 'drogueMass' - parameters(i).value = rocket.parachutes{1, 1}.mass; + parameters(i).value = rocket.parachutes(1, 1).mass; parameters(i).udm = 'kg'; case 'drogueCl' - parameters(i).value = rocket.parachutes{1, 1}.cl; + parameters(i).value = rocket.parachutes(1, 1).cl0; parameters(i).udm = '-'; case 'drogueCd' - parameters(i).value = rocket.parachutes{1, 1}.cd; + parameters(i).value = rocket.parachutes(1, 1).cd0; parameters(i).udm = '-'; case 'mainSurface' - parameters(i).value = rocket.parachutes{2, 1}.surface; + parameters(i).value = rocket.parachutes(2, 1).surface; parameters(i).udm = 'm2'; case 'mainMass' - parameters(i).value = rocket.parachutes{2, 1}.mass; + parameters(i).value = rocket.parachutes(2, 1).mass; parameters(i).udm = 'kg'; case 'mainCl' - parameters(i).value = rocket.parachutes{2, 1}.cl; + parameters(i).value = rocket.parachutes(2, 1).cl0; parameters(i).udm = '-'; case 'mainCd' - parameters(i).value = rocket.parachutes{2, 1}.cd; + parameters(i).value = rocket.parachutes(2, 1).cd0; parameters(i).udm = '-'; % rocket geometry --- available with the stability run only case 'rocketDiameter' diff --git a/sensitivityAnalysis/src/stochParameters/updateData.m b/sensitivityAnalysis/src/stochParameters/updateData.m index 512520f4..c26278f9 100644 --- a/sensitivityAnalysis/src/stochParameters/updateData.m +++ b/sensitivityAnalysis/src/stochParameters/updateData.m @@ -64,21 +64,21 @@ for i = 1:length(parameters) case 'Izz' rocket.inertia(:, 3) = value; case 'drogueSurface' - rocket.parachutes{1, 1}.surface = value; + rocket.parachutes(1, 1).surface = value; case 'drogueMass' - rocket.parachutes{1, 1}.mass = value; + rocket.parachutes(1, 1).mass = value; case 'drogueCl' - rocket.parachutes{1, 1}.cl = value; + rocket.parachutes(1, 1).cl0 = value; case 'drogueCd' - rocket.parachutes{1, 1}.cd = value; + rocket.parachutes(1, 1).cd0 = value; case 'mainSurface' - rocket.parachutes{2, 1}.surface = value; + rocket.parachutes(2, 1).surface = value; case 'mainMass' - rocket.parachutes{2, 1}.mass = value; + rocket.parachutes(2, 1).mass = value; case 'mainCl' - rocket.parachutes{2, 1}.cl = value; + rocket.parachutes(2, 1).cl0 = value; case 'mainCd' - rocket.parachutes{2, 1}.cd = value; + rocket.parachutes(2, 1).cd0 = value; % rocket geometry --- available with the stability run only case 'rocketDiameter' rocket.diameter = value; diff --git a/simulator/mainSimulator.m b/simulator/mainSimulator.m index b9ec8978..5a14012e 100644 --- a/simulator/mainSimulator.m +++ b/simulator/mainSimulator.m @@ -51,7 +51,7 @@ if isempty(settings), settings = Settings('ode', 'simulator'); end Settings.read(settings, options, 'simulator'); %% CHECKS -if settings.simulator.ballistic && rocket.parachutes{end, 1}.finalAltitude ~= 0 +if settings.simulator.ballistic && rocket.parachutes(end, 1).finalAltitude ~= 0 error('The landing will be not achived, check the final altitude of the last parachute in config.m') end if settings.simulator.ballistic && settings.simulator.parafoil diff --git a/simulator/src/stdPlots.m b/simulator/src/stdPlots.m index 858be911..340afe87 100644 --- a/simulator/src/stdPlots.m +++ b/simulator/src/stdPlots.m @@ -180,7 +180,7 @@ if ~settings.simulator.ballistic plots(iPlot) = plot3(xM, yM, zM, 'o',... 'MarkerSize', 10, 'MarkerFaceColor', colorMarker(:, iMarker) , 'MarkerEdgeColor', 'none'); - labels(iPlot) = strcat("Stage: ", num2str(j), " ", rocket.parachutes{i,j}.name ," opening"); + labels(iPlot) = strcat("Stage: ", num2str(j), " ", rocket.parachutes(i,j).name ," opening"); iPlot = iPlot + 1; iMarker = iMarker + 1; end @@ -299,7 +299,7 @@ if ~settings.simulator.ballistic subplot(3, 1, 3); plots(iPlot) = plot(tDescent, vzDescent); - legends(iPlot) = strcat( "Stage ", num2str(j), ": ", rocket.parachutes{i, j}.name , " trajectory" ); + legends(iPlot) = strcat( "Stage ", num2str(j), ": ", rocket.parachutes(i, j).name , " trajectory" ); iPlot = iPlot + 1; end end @@ -468,7 +468,7 @@ if ~settings.simulator.ballistic subplot(1, 3, 3); plots(iPlot) = plot(yDescent, zDescent); - legends(iPlot) = strcat( "Stage ", num2str(j), ": ", rocket.parachutes{i, j}.name , " trajectory" ); + legends(iPlot) = strcat( "Stage ", num2str(j), ": ", rocket.parachutes(i, j).name , " trajectory" ); iPlot = iPlot + 1; end end diff --git a/utils/rocketpyData/exportRocketpy.m b/utils/rocketpyData/exportRocketpy.m index 9c56cb15..d4e4df68 100644 --- a/utils/rocketpyData/exportRocketpy.m +++ b/utils/rocketpyData/exportRocketpy.m @@ -146,16 +146,16 @@ fins_position = rocket.lengthCenter - rocket.rear.finsAxialDistance - root_chord boat_position = rocket.lengthCenter; %% parachutes -booster_drogue_cd_s = rocket.parachutes{1, 1}.surface * rocket.parachutes{1, 1}.cd; -booster_drogue_opening_delay = rocket.parachutes{1,1}.openingTime; +booster_drogue_cd_s = rocket.parachutes(1, 1).surface * rocket.parachutes(1, 1).cd0; +booster_drogue_opening_delay = rocket.parachutes(1,1).openingTime; -booster_main_cd_s = rocket.parachutes{2, 1}.surface * rocket.parachutes{2, 1}.cd; -booster_main_opening_delay = rocket.parachutes{2,1}.openingTime; -booster_main_opening_altitude = rocket.parachutes{1, 1}.finalAltitude + environment.z0; +booster_main_cd_s = rocket.parachutes(2, 1).surface * rocket.parachutes(2, 1).cd0; +booster_main_opening_delay = rocket.parachutes(2,1).openingTime; +booster_main_opening_altitude = rocket.parachutes(1, 1).finalAltitude + environment.z0; -payload_drogue_cd_s = rocket.parachutes{1, 2}.surface * rocket.parachutes{1, 2}.cd; -payload_drogue_opening_delay = rocket.parachutes{1, 2}.openingTime; -parafoil_opening_altitude = rocket.parachutes{1, 2}.finalAltitude + environment.z0; +payload_drogue_cd_s = rocket.parachutes(1, 2).surface * rocket.parachutes(1, 2).cd0; +payload_drogue_opening_delay = rocket.parachutes(1, 2).openingTime; +parafoil_opening_altitude = rocket.parachutes(1, 2).finalAltitude + environment.z0; %% launchpad and environment details latitude = environment.lat0; -- GitLab