Skip to content
Snippets Groups Projects
Commit 34e2fc6b authored by Marco Luigi Gaibotti's avatar Marco Luigi Gaibotti
Browse files

[coeff-transport] mainAutoMatProtub now exports Coefficient class directly

parent 0ccd143b
Branches
No related tags found
1 merge request!18Coeff transport
Pipeline #11368 failed
function [coeffsTot, coeffsTotHighAOA] = mainAutoMatProtub(rocket, environment, settings, options) function [coeffsOut, coeffsOutHighAOA] = mainAutoMatProtub(rocket, environment, settings, options)
arguments arguments
rocket = []; % Empty by default rocket = []; % Empty by default
environment Environment = Environment.empty environment Environment = Environment.empty
...@@ -98,12 +98,13 @@ input = createDissileInput(rocket, autoMatSettings.vars); ...@@ -98,12 +98,13 @@ input = createDissileInput(rocket, autoMatSettings.vars);
[coeffsTot, finsCN] = dissileMatcom(input); [coeffsTot, finsCN] = dissileMatcom(input);
%% SAVE DATA %% SAVE DATA
if options.saveVars
saveVars(autoMatSettings.varsHighAOA, rocket, mission, coeffsTotHighAOA, finsCNHighAOA, ... coeffsOut = exportVars( ...
chosenXcg, autoMatSettings.saveFinsCN, 'aeroCoefficientsHighAOA.mat'); autoMatSettings.varsHighAOA, rocket, mission, coeffsTotHighAOA, finsCNHighAOA, chosenXcg, ...
saveVars(autoMatSettings.vars, rocket, mission, coeffsTot, finsCN, ... autoMatSettings.saveFinsCN, options.saveVars, 'aeroCoefficientsHighAOA.mat');
chosenXcg, autoMatSettings.saveFinsCN, 'aeroCoefficients.mat'); coeffsOutHighAOA = exportVars( ...
end autoMatSettings.vars, rocket, mission, coeffsTot, finsCN, chosenXcg, ...
autoMatSettings.saveFinsCN, options.saveVars, 'aeroCoefficients.mat');
AMtime = toc; AMtime = toc;
fprintf('Aerodynamics Prediction completed \n') fprintf('Aerodynamics Prediction completed \n')
......
function saveVars(vars, rocket, mission, total, finsCN, chosenXcg, saveFinsCN, outputName) function coeffs = exportVars(vars, rocket, mission, total, finsCN, chosenXcg, ...
saveFinsCN, saveToFile, outputName)
arguments arguments
vars vars
...@@ -8,6 +9,7 @@ arguments ...@@ -8,6 +9,7 @@ arguments
finsCN finsCN
chosenXcg chosenXcg
saveFinsCN saveFinsCN
saveToFile
outputName outputName
end end
...@@ -40,14 +42,34 @@ if strcmp(rocket.parafoil.noseType,'MHAACK') ...@@ -40,14 +42,34 @@ if strcmp(rocket.parafoil.noseType,'MHAACK')
geometry.cMod = rocket.parafoil.noseCMod; geometry.cMod = rocket.parafoil.noseCMod;
geometry.pMod = rocket.parafoil.nosePMod; geometry.pMod = rocket.parafoil.nosePMod;
else else
error('parafoil.pMod and/or parafoil.cMod are not defined; check simulationsData') error('parafoil.pMod and/or parafoil.cMod are not defined; check rocketConfig')
end end
end end
geometry.xcg = chosenXcg; geometry.xcg = chosenXcg;
%% CREATING OUTPUT %% CREATING OUTPUT
outputPath = fullfile(mission.dataPath, outputName); outputPath = fullfile(mission.dataPath, outputName);
if rocket.dynamicDerivatives, fieldName = rocket.motor.name;
else, fieldName = 'generic';
end
if saveFinsCN
finsCN = squeeze(finsCN(1, :, :, :, :, :)); % Consider only the first xcg bc fins CN is xcg-independent
else
finsCN = [];
end
coeffs = Coefficient();
coeffs.state = state;
coeffs.total = total;
coeffs.geometry = geometry;
coeffs.finsCN = finsCN;
if saveToFile
% Save files as struct to allow exporting
output = struct(); output = struct();
if ~isfile(outputPath) if ~isfile(outputPath)
...@@ -56,20 +78,12 @@ else ...@@ -56,20 +78,12 @@ else
save(outputPath, '-struct', 'output', '-append') save(outputPath, '-struct', 'output', '-append')
end end
if rocket.dynamicDerivatives, fieldName = rocket.motor.name;
else, fieldName = 'generic';
end
output.(fieldName) = struct(); output.(fieldName) = struct();
output.(fieldName).state = state; output.(fieldName).state = state;
output.(fieldName).total = total; output.(fieldName).total = total;
output.(fieldName).geometry = geometry; output.(fieldName).geometry = geometry;
output.(fieldName).finsCN = [];
if saveFinsCN
finsCN = squeeze(finsCN(1, :, :, :, :, :)); % Consider only the first xcg bc fins CN is xcg-independent
output.(fieldName).finsCN = finsCN; output.(fieldName).finsCN = finsCN;
end
save(outputPath, '-struct', 'output', '-append') save(outputPath, '-struct', 'output', '-append');
end
end end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment