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

[ca-analysis] Added CaAnalisys

parent 40764ee2
Branches
No related tags found
1 merge request!11Merge code-refactoring into master
...@@ -87,9 +87,9 @@ input = createDissileInput(rocket, autoMatSettings.vars); ...@@ -87,9 +87,9 @@ input = createDissileInput(rocket, autoMatSettings.vars);
%% SAVE DATA %% SAVE DATA
saveVars(autoMatSettings.varsHighAOA, rocket, mission, coeffsTotHighAOA, finsCNHighAOA, ... saveVars(autoMatSettings.varsHighAOA, rocket, mission, coeffsTotHighAOA, finsCNHighAOA, ...
chosenXcg, xcgTime, autoMatSettings.saveFinsCN, 'aeroCoefficientsHighAOA.mat'); chosenXcg, xcgTime, autoMatSettings.saveFinsCN, 'aeroCoefficientsHighAOA');
saveVars(autoMatSettings.vars, rocket, mission, coeffsTot, finsCN, ... saveVars(autoMatSettings.vars, rocket, mission, coeffsTot, finsCN, ...
chosenXcg, xcgTime, autoMatSettings.saveFinsCN, 'aeroCoefficients.mat'); chosenXcg, xcgTime, autoMatSettings.saveFinsCN, 'aeroCoefficients');
AMtime = toc; AMtime = toc;
fprintf('Aerodynamics Prediction completed \n') fprintf('Aerodynamics Prediction completed \n')
......
function [postpAsc, postpDescPara, postpDescBall, postpStab, postpLaunchMode, parameters] = ... function [postpAsc, postpDescPara, postpDescBall, postpStab, postpLaunchMode] = ...
mainSensitivity(postpAsc, postpDescPara, postpDescBall, postpStab, postpLaunchMode, rocket, wind, environment) mainSensitivity(postpAsc, postpDescPara, postpDescBall, postpStab, postpLaunchMode, rocket, wind, environment)
arguments arguments
postpAsc = struct.empty(); postpAsc = struct.empty();
......
...@@ -163,7 +163,6 @@ for i = 1:N ...@@ -163,7 +163,6 @@ for i = 1:N
% checking where the missile is undocked from the hook of the launch pad % checking where the missile is undocked from the hook of the launch pad
iApogee = sim.state.iEvent; iApogee = sim.state.iEvent;
iExit = find(-sim.state.Y(3, :) > rampAltitude, 1, "first"); iExit = find(-sim.state.Y(3, :) > rampAltitude, 1, "first");
iSMExit = find(~isnan(sim.coeff.XCPtot), 1, "first");
%iExit = iExit(end)+1; %iExit = iExit(end)+1;
% apogee point % apogee point
...@@ -192,7 +191,7 @@ for i = 1:N ...@@ -192,7 +191,7 @@ for i = 1:N
% is not obtained trough extrapolation from aerodynamic matrices % is not obtained trough extrapolation from aerodynamic matrices
[SM_min, iMin] = min(sim.coeff.XCPtot); [SM_min, iMin] = min(sim.coeff.XCPtot);
[SM_max, iMax] = max(sim.coeff.XCPtot); [SM_max, iMax] = max(sim.coeff.XCPtot);
SM_exit = sim.coeff.XCPtot(iSMExit); SM_exit = sim.coeff.XCPtot(iExit);
cMin = ( (sim.interp.alpha(iMin) > state.alphas(1)*pi/180*tollAngle) && (sim.interp.alpha(iMin) < state.alphas(end)*pi/180*tollAngle) ) &&... cMin = ( (sim.interp.alpha(iMin) > state.alphas(1)*pi/180*tollAngle) && (sim.interp.alpha(iMin) < state.alphas(end)*pi/180*tollAngle) ) &&...
( (sim.interp.beta(iMin) > state.betas(1)*pi/180*tollAngle) && (sim.interp.beta(iMin) < state.betas(end)*pi/180*tollAngle) ); ( (sim.interp.beta(iMin) > state.betas(1)*pi/180*tollAngle) && (sim.interp.beta(iMin) < state.betas(end)*pi/180*tollAngle) );
...@@ -203,9 +202,12 @@ for i = 1:N ...@@ -203,9 +202,12 @@ for i = 1:N
cExt = ( (sim.interp.alpha(iExit) > state.alphas(1)*pi/180*tollAngle) && (sim.interp.alpha(iExit) < state.alphas(end)*pi/180*tollAngle) ) &&... cExt = ( (sim.interp.alpha(iExit) > state.alphas(1)*pi/180*tollAngle) && (sim.interp.alpha(iExit) < state.alphas(end)*pi/180*tollAngle) ) &&...
( (sim.interp.beta(iExit) > state.betas(1)*pi/180*tollAngle) && (sim.interp.beta(iExit) < state.betas(end)*pi/180*tollAngle) ); ( (sim.interp.beta(iExit) > state.betas(1)*pi/180*tollAngle) && (sim.interp.beta(iExit) < state.betas(end)*pi/180*tollAngle) );
% if not(cMin), SM_min = nan; end if not(cMin) || not(cMax) || not(cExt)
% if not(cMax), SM_max = nan; end warning('The flight envelope is not fully included in the flight conditions in autoMatrices')
% if not(cExt), SM_exit = nan; end end
if not(cMin), SM_min = nan; end
if not(cMax), SM_max = nan; end
if not(cExt), SM_exit = nan; end
SM(:, i) = [SM_min; SM_max; SM_exit]; SM(:, i) = [SM_min; SM_max; SM_exit];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment