From d65c6d95a40edd94ad432a66085e5c6ee8e6c4b5 Mon Sep 17 00:00:00 2001
From: Mauco03 <marco.gaibotti@skywarder.eu>
Date: Fri, 23 Feb 2024 21:04:30 +0100
Subject: [PATCH] [code-refactoring][missions] modified configs

---
 missions/README.md => README.md               |   0
 {missions => _old}/Motors.mat                 |   0
 .../config/OLDaerodynamicsConfig.m            |  32 ++
 .../config/aerodynamicsConfig.m               |  39 --
 .../config/engineConfig.m                     |   8 -
 .../config/environmentConfig.m                |  13 +-
 .../config/geometryConfig.asv                 |  50 +++
 .../config/geometryConfig.m                   |  20 +-
 .../config/motorConfig.m                      |   8 +
 .../config/settingsConfig.m                   |   5 +-
 .../config/stochasticConfig.m                 |   4 +-
 .../config/windConfig.m                       |   2 +-
 .../data/aeroCoefficients.mat                 |   3 +
 .../data/aeroCoefficientsHighAOA.mat          |   3 +
 .../data/{HREmotors.mat => motors.mat}        |   0
 .../simulationsData.m                         | 335 ------------------
 missions/HREmotors.mat                        |   3 -
 17 files changed, 123 insertions(+), 402 deletions(-)
 rename missions/README.md => README.md (100%)
 rename {missions => _old}/Motors.mat (100%)
 create mode 100644 missions/2024_Lyra_Roccaraso_September/config/OLDaerodynamicsConfig.m
 delete mode 100644 missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m
 delete mode 100644 missions/2024_Lyra_Roccaraso_September/config/engineConfig.m
 create mode 100644 missions/2024_Lyra_Roccaraso_September/config/geometryConfig.asv
 create mode 100644 missions/2024_Lyra_Roccaraso_September/config/motorConfig.m
 create mode 100644 missions/2024_Lyra_Roccaraso_September/data/aeroCoefficients.mat
 create mode 100644 missions/2024_Lyra_Roccaraso_September/data/aeroCoefficientsHighAOA.mat
 rename missions/2024_Lyra_Roccaraso_September/data/{HREmotors.mat => motors.mat} (100%)
 delete mode 100644 missions/2024_Lyra_Roccaraso_September/simulationsData.m
 delete mode 100644 missions/HREmotors.mat

diff --git a/missions/README.md b/README.md
similarity index 100%
rename from missions/README.md
rename to README.md
diff --git a/missions/Motors.mat b/_old/Motors.mat
similarity index 100%
rename from missions/Motors.mat
rename to _old/Motors.mat
diff --git a/missions/2024_Lyra_Roccaraso_September/config/OLDaerodynamicsConfig.m b/missions/2024_Lyra_Roccaraso_September/config/OLDaerodynamicsConfig.m
new file mode 100644
index 0000000..dc20a75
--- /dev/null
+++ b/missions/2024_Lyra_Roccaraso_September/config/OLDaerodynamicsConfig.m
@@ -0,0 +1,32 @@
+% CONFIG - This script sets up control parameters
+
+%% STATES
+% State values in which the aerodynamic coefficients will be computed
+aerodynamics.mach = 0.05:0.05:1;
+aerodynamics.alpha = [-22 -15 -10 -7.5 -5 -2.5 -1 -0.5 -0.1 0 0.1 0.5 1 2.5 5 7.5 10 15 22];
+aerodynamics.beta = [-8 -5 -2.5 -0.1 0 0.1 2.5 5 8];
+aerodynamics.altitude = settings.z0 + (0:400:4000);
+
+%% HIGH AOA
+aerodynamics.highAOA.mach = 0.05:0.05:0.7;
+aerodynamics.highAOA.alpha = [-170 -130 -115 -90 -60 -35 -10 -5 -1 0 1 5 10 35 60 90 115 130 170];
+aerodynamics.highAOA.beta = [-170 -130 -115 -90 -60 -35 -10 -5 -1 0 1 5 10 35 60 90 115 130 170];
+aerodynamics.highAOA.alt = settings.z0 + (0:400:4000);
+
+%% AERODYNAMICS DETAILS
+% These coefficients are obtained using MISSILE DATCOM, check simulator/README.md for further details.
+
+settings = loadConfig("settingsConfig.m");
+
+if not(isfield(settings.flags,'autoMatProt_flag')) || settings.flags.autoMatProt
+    % genera matrici
+end
+
+coefficients = load("aeroCoefficients.mat");
+coefficientsHighAOA = load("aeroCoefficientsHighAOA.mat");
+
+aerodynamics.coefficients = coefficients.aeroCoefficients;
+aerodynamics.highAOA.coefficients = coefficientsHighAOA.aeroCoefficients;
+
+% aerodynamics.highAOA.tb = aerodynamics.tb; 
+% aerodynamics.highAOA.timeEngineCut = aerodynamics.timeEngineCut; 
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m b/missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m
deleted file mode 100644
index 853f316..0000000
--- a/missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m
+++ /dev/null
@@ -1,39 +0,0 @@
-% CONFIG - This script sets up control parameters
-
-%% AERODYNAMICS DETAILS
-% These coefficients are obtained using MISSILE DATCOM, check simulator/README.md for further details.
-
-features = loadConfig("settingsConfig.m");
-
-if not(isfield(aerodynamics,'autoMatProt_flag')) || features.flags.autoMatProt
-    
-    % Coefficients
-    Coeffs = load(filename_coeffs);
-    aerodynamics.Coeffs = Coeffs.CoeffsTot;
-
-    % Geometry
-    aerodynamics.Geometry = Coeffs.Geometry;
-    aerodynamics.Geometry.xcg = Coeffs.Geometry.xcg';
-
-    % State
-    aerodynamics.State.Alphas = Coeffs.State.Alphas';
-    aerodynamics.State.Betas = Coeffs.State.Betas';
-    aerodynamics.State.Altitudes = Coeffs.State.Altitudes';
-    aerodynamics.State.Machs = Coeffs.State.Machs';
-    aerodynamics.State.Controls = Coeffs.State.hprot';
-    aerodynamics.State.xcgTime = Coeffs.State.xcgTime';
-    clear('Coeffs');
-
-    CoeffHighAOA = load('HighAOA.mat'); 
-    aerodynamics.highAOA.Coeffs = CoeffHighAOA.CoeffsTot; 
-    aerodynamics.highAOA.State.Alphas = CoeffHighAOA.State.Alphas';
-    aerodynamics.highAOA.State.Betas = CoeffHighAOA.State.Betas'; 
-    aerodynamics.highAOA.State.Altitudes = CoeffHighAOA.State.Altitudes'; 
-    aerodynamics.highAOA.State.Machs = CoeffHighAOA.State.Machs';
-    aerodynamics.highAOA.State.Controls = CoeffHighAOA.State.hprot';
-    aerodynamics.highAOA.State.xcgTime = CoeffHighAOA.State.xcgTime';
-    clear('CoeffHighAOA');
-
-    aerodynamics.highAOA.tb = aerodynamics.tb; 
-    aerodynamics.highAOA.timeEngineCut = aerodynamics.timeEngineCut; 
-end
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/engineConfig.m b/missions/2024_Lyra_Roccaraso_September/config/engineConfig.m
deleted file mode 100644
index 158e439..0000000
--- a/missions/2024_Lyra_Roccaraso_September/config/engineConfig.m
+++ /dev/null
@@ -1,8 +0,0 @@
-% CONFIG - This script sets up parameters for the engine
-
-engine.name = 'HRE_FURIA-Rv2-T04T03';
-engine.burnTime = inf;                                 % [s] Burn duration
-engine.ignitionTime = 000; %0.4;                       % [s] Ignition transient
-engine.cutOffTime = 000; %0.3;                         % [s] Cut-off transient
-
-filename_coeffs = strcat(engine.name, '.mat');
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/environmentConfig.m b/missions/2024_Lyra_Roccaraso_September/config/environmentConfig.m
index 96c77af..1f90f25 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/environmentConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/environmentConfig.m
@@ -5,7 +5,12 @@
 environment.lat0 = 41.8084579;                                   % [deg] Launchpad latitude
 environment.lon0 = 14.0546408;                                   % [deg] Launchpad longitude
 environment.z0 = 1414;                                           % [m] Launchpad Altitude
-environment.lpin1 = 000;                                      % [m] Distance from the upper pin to the upper tank cap
-environment.lpin2 = 000;                                      % [m] Distance from the lower pin to the lower tank cap  
-environment.lrampa = 000;                                         % [m] Total launchpad length 
-environment.g0 = gravitywgs84(environment.z0, environment.lat0);           % Gravity costant at launch latitude and altitude
\ No newline at end of file
+environment.g0 = gravitywgs84(environment.z0, environment.lat0);           % Gravity costant at launch latitude and altitude
+environment.pin1Length = 000;                                      % [m] Distance from the upper pin to the upper tank cap
+environment.pin2Length = 000;                                      % [m] Distance from the lower pin to the lower tank cap  
+environment.rampLength = 000;                                         % [m] Total launchpad length 
+
+% environment.altitude ?
+environment.temperature = NaN;
+environment.pressure = NaN;
+environment.rho = NaN;
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.asv b/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.asv
new file mode 100644
index 0000000..5e23dc1
--- /dev/null
+++ b/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.asv
@@ -0,0 +1,50 @@
+% CONFIG - This script contains information about the geometry of the
+% rocket
+
+%%% Boat-tail
+% The boat-tail is simulated as a trunc of cone with the major diameter
+% equal to the rocket one (settings.C)
+geometry.boat.length = 000;                                       % [m] Boat-tail length
+geometry.boat.diameter = 000;                                     % [m] Boat-tail base diameter
+
+%%% Center-body
+geometry.center.length = 000; %1.517;                             % [m] Central body length
+geometry.center.caliber = 000;                                          % [m] Caliber (Fuselage Diameter)
+geometry.center.crossSection = pi*geometry.center.caliber^2/4;                       % [m^2] Cross-sectional Surface
+
+%%% Nose
+geometry.nose.length = 000;                                       % [m] Nosecone Length
+geometry.nose.ogiveType = 'MHAACK';                                   % [-] Nosecone shape
+geometry.nose.power = 000; %3/4;                                  % [-] Nosecone power type parameter
+geometry.nose.p = 000; %1.250152e+00;                             % [-] P coefficient for modified nosecone shapes
+geometry.nose.c = 000; %1.799127e-01;                             % [-] C coefficient for modified nosecone shapes
+
+%%% Pitot tube
+geometry.pitot.initialConeLength = 0;                            % [m] Pitot initial conic section length
+geometry.pitot.finalConeLength = 0;                              % [m] Pitot final conic section length
+geometry.pitot.initialConeDiameter = 0;                          % [m] Pitot initial conic section diameter
+geometry.pitot.finalConeDiameter = 0;                            % [m] Pitot final conic section diameter
+geometry.pitot.length = 0;                                       % [m] Pitot tube length
+geometry.pitot.diameter = 0;                                     % [m] Pitot tube diameter
+
+%%% Finset 
+geometry.fins.attachedChordLength = 0.30;                                       % [m] attached chord length
+geometry.fins.freeChordLenght = 0.14;                                       % [m] free chord length
+geometry.fins.height = 0.11;                                       % [m] fin heigth
+geometry.fins.deltaXLE = 0.13;                                     % [m] start of Chord 2 measured from start of Chord 1
+geometry.fins.nPanel = 3;                                          % [m] number of fins
+geometry.fins.leadingEdgeRadius = [0 0];                                         % [deg] Leading edge radius at each span station
+geometry.fins.axialDistance = 0.012;                                           % [m] distance between end of root chord and end of center body
+geometry.fins.zupRaw = 0.00175;                                    % [m] fin semi-thickness
+geometry.fins.LmaxuRaw = 0.00175;                                  % [m] Fraction of chord from leading edge to max thickness
+
+%%% Protub data
+geometry.protuberances.xDistance = 1.517;                                       % [m] axial position from nosecone base
+geometry.protuberances.n = 3;                                            % [-] number of brakes
+geometry.protuberances.length = 0.008;                                       % [m] brakes thickness
+geometry.protuberances.width = 0.1002754821;                                % [m] brakes width (normal)
+
+%%% 
+% geometry.mNoMot = 000; %16.423;                                  % [kg] Mass of everything above engine
+% geometry.xcgNoMot = 000; %1.149;                                 % [m] XCG of everything above engine (from nosecone base)
+
diff --git a/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m b/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m
index c1be047..bfc832e 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m
@@ -1,27 +1,24 @@
 % CONFIG - This script contains information about the geometry of the
 % rocket
 
-
-%% Boat-tail
+%%% Boat-tail
 % The boat-tail is simulated as a trunc of cone with the major diameter
 % equal to the rocket one (settings.C)
 geometry.boat.length = 000;                                       % [m] Boat-tail length
 geometry.boat.diameter = 000;                                     % [m] Boat-tail base diameter
 
-%% Rocket ogive and central body
+%%% Center-body
 geometry.center.length = 000; %1.517;                             % [m] Central body length
 geometry.center.caliber = 000;                                          % [m] Caliber (Fuselage Diameter)
 geometry.center.crossSection = pi*geometry.center.caliber^2/4;                       % [m^2] Cross-sectional Surface
 
+%%% Nose
 geometry.nose.length = 000;                                       % [m] Nosecone Length
 geometry.nose.ogiveType = 'MHAACK';                                   % [-] Nosecone shape
 geometry.nose.power = 000; %3/4;                                  % [-] Nosecone power type parameter
 geometry.nose.p = 000; %1.250152e+00;                             % [-] P coefficient for modified nosecone shapes
 geometry.nose.c = 000; %1.799127e-01;                             % [-] C coefficient for modified nosecone shapes
-% geometry.mNoMot = 000; %16.423;                                  % [kg] Mass of everything above engine
-% geometry.xcgNoMot = 000; %1.149;                                 % [m] XCG of everything above engine (from nosecone base)
 
-%% Aerodynamics
 %%% Pitot tube
 geometry.pitot.initialConeLength = 0;                            % [m] Pitot initial conic section length
 geometry.pitot.finalConeLength = 0;                              % [m] Pitot final conic section length
@@ -31,8 +28,8 @@ geometry.pitot.length = 0;                                       % [m] Pitot tub
 geometry.pitot.diameter = 0;                                     % [m] Pitot tube diameter
 
 %%% Finset 
-geometry.fins.attachedChordLength = 0.30;                                       % [m] attached chord length
-geometry.fins.freeChordLenght = 0.14;                                       % [m] free chord length
+geometry.fins.rootChord = 0.30;                        % [m] attached chord length
+geometry.fins.freeChord = 0.14;                                       % [m] free chord length
 geometry.fins.height = 0.11;                                       % [m] fin heigth
 geometry.fins.deltaXLE = 0.13;                                     % [m] start of Chord 2 measured from start of Chord 1
 geometry.fins.nPanel = 3;                                          % [m] number of fins
@@ -46,3 +43,10 @@ geometry.protuberances.xDistance = 1.517;
 geometry.protuberances.n = 3;                                            % [-] number of brakes
 geometry.protuberances.length = 0.008;                                       % [m] brakes thickness
 geometry.protuberances.width = 0.1002754821;                                % [m] brakes width (normal)
+
+%%% xCG
+
+geometry.nXCG = 5;
+geometry.xCG = NaN;                                                % [m] XCG entire rocket (from nosecone base - leave NaN to auto-compute xCG)
+geometry.xCGNoMotor = 000; %1.149;                                 % [m] XCG of everything above engine (from nosecone base)
+
diff --git a/missions/2024_Lyra_Roccaraso_September/config/motorConfig.m b/missions/2024_Lyra_Roccaraso_September/config/motorConfig.m
new file mode 100644
index 0000000..4e2dbe7
--- /dev/null
+++ b/missions/2024_Lyra_Roccaraso_September/config/motorConfig.m
@@ -0,0 +1,8 @@
+% CONFIG - This script sets up parameters for the engine
+
+motor.name = 'HRE_FURIA-Rv2-T04T03';
+motor.burnTime = inf;                           % [s] Burn duration
+% motor.ignitionTime = 0.4;                       % [s] Ignition transient
+% motor.cutOffTime = 0.3;                         % [s] Cut-off transient
+
+filename_coeffs = strcat(motor.name, '.mat');
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m b/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m
index a6970da..9adeba5 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m
@@ -4,6 +4,7 @@
 % mission (e.g. whether a specific algorithm is used, the engine type, 
 % flags...)
 
-settings.engineType = 'hybrid';      % [-] choices are: solid, hybrid
+settings.motorType = 'hybrid';      % [-] choices are: solid, hybrid
 
-settings.flags.autoMatProt = false;
\ No newline at end of file
+settings.flags.autoMatProt = false;
+settings.flags.highAoA = true;
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/stochasticConfig.m b/missions/2024_Lyra_Roccaraso_September/config/stochasticConfig.m
index 5c107b6..448a134 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/stochasticConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/stochasticConfig.m
@@ -3,8 +3,9 @@
 % Use this file to specify numbers of simulations, parameter variations...
 
 stochastic.n = 10;                                                     % Number of cases
-stochastic.parThreads = false;                                               % choose true if you are running low on ram on your pc, note: it will use twice the workers and be more intensive on your cpu
+stochastic.parallelThreads = false;                                               % choose true if you are running low on ram on your pc, note: it will use twice the workers and be more intensive on your cpu
 stochastic.confidence = [0.65 0.90];
+
 stochastic.plots = true; 
 stochastic.geoPlots = false; 
 stochastic.internalStressPlots = false;
@@ -17,7 +18,6 @@ stochastic.formatPlotsASD = false;
 %   4-both ballistic and parachute descent
 %   5-stability 
 stochastic.simType = 4;
-
 stochastic.parameters = addParameter();                 % Parameters to add: type help addParameters for more info
 
 % stochastic.parameters = addParameter('CA', 4, 1, -0.2, 0, ...
diff --git a/missions/2024_Lyra_Roccaraso_September/config/windConfig.m b/missions/2024_Lyra_Roccaraso_September/config/windConfig.m
index 42c88a0..de6c16f 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/windConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/windConfig.m
@@ -1,7 +1,7 @@
 % CONFIG - This script sets up wind direction and magnitude based on
 % altitudes
 %
-% Wind azimuth angle indications (wind directed towards):
+% Wind azimuth angle indications (wind directed towards): !!! SABGLAITO
 % 0 deg (use 360 instead of 0)  -> North
 % 90 deg                        -> East
 % 180 deg                       -> South
diff --git a/missions/2024_Lyra_Roccaraso_September/data/aeroCoefficients.mat b/missions/2024_Lyra_Roccaraso_September/data/aeroCoefficients.mat
new file mode 100644
index 0000000..186ee1c
--- /dev/null
+++ b/missions/2024_Lyra_Roccaraso_September/data/aeroCoefficients.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dc3a05269cb230d41b1a4b6d46d5cb9f72a463e652a381e1fc72561dc2162f68
+size 24160751
diff --git a/missions/2024_Lyra_Roccaraso_September/data/aeroCoefficientsHighAOA.mat b/missions/2024_Lyra_Roccaraso_September/data/aeroCoefficientsHighAOA.mat
new file mode 100644
index 0000000..471ff64
--- /dev/null
+++ b/missions/2024_Lyra_Roccaraso_September/data/aeroCoefficientsHighAOA.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ce1c4ce8e2c9a3d01ccf32a2188ac05baa99359840212d11ef24542fe22daf3e
+size 2036339
diff --git a/missions/2024_Lyra_Roccaraso_September/data/HREmotors.mat b/missions/2024_Lyra_Roccaraso_September/data/motors.mat
similarity index 100%
rename from missions/2024_Lyra_Roccaraso_September/data/HREmotors.mat
rename to missions/2024_Lyra_Roccaraso_September/data/motors.mat
diff --git a/missions/2024_Lyra_Roccaraso_September/simulationsData.m b/missions/2024_Lyra_Roccaraso_September/simulationsData.m
deleted file mode 100644
index f3ee141..0000000
--- a/missions/2024_Lyra_Roccaraso_September/simulationsData.m
+++ /dev/null
@@ -1,335 +0,0 @@
-%{
-
-ROCKET DATA FILE
-
-Project name:                       Crater
-Year of launch:                       2024
-Location of Launch:       Roccasarso (ITA)
-Date of launch:                        TBD
-
-Last update:                    01/10/2024
-
-Copyright © 2021, Skyward Experimental Rocketry, AFD department
-All rights reserved
-
-SPDX-License-Identifier: GPL-3.0-or-later
-
-%}
-
-% launchpad - Roccaraso
-settings.z0 = 1414;                                           % [m] Launchpad Altitude
-settings.lpin1 = 000;                                      % [m] Distance from the upper pin to the upper tank cap
-settings.lpin2 = 000;                                      % [m] Distance from the lower pin to the lower tank cap  
-settings.lrampa = 000;                                         % [m] Total launchpad length 
-settings.lat0 = 41.8084579;                                   % Launchpad latitude
-settings.lon0 = 14.0546408;                                   % Launchpad longitude
-settings.g0 = gravitywgs84(settings.z0, settings.lat0);       % Gravity costant at launch latitude and altitude
-
-settings.Local = [];            %% ENGINE DETAILS
-
-%% load motors data
-settings.HREmot = true;                                       % non runna con false perche mancano le inerzie totali nel simulationsData
-
-filename = '../HREmotors.mat';
-load(filename);
-
-% engineName = 'HRE_FURIA-Rv2-T04T03'; 
-engineName = 'TBD';
-
-iMotor = strcmp({HREmotors.MotorName}, engineName);
-settings.motor.expTime = HREmotors(iMotor).t;                 % [s] Engine time vector
-settings.motor.expThrust = HREmotors(iMotor).T;               % [N] Engine thrust vector
-settings.motor.expM = HREmotors(iMotor).m;                    % [Kg] Propellant Mass (in time)
-settings.motor.L = HREmotors(iMotor).L;                       % [m] Engine length
-settings.motor.Ltank = HREmotors(iMotor).Ltank;               % [m] Tank length
-settings.motor.xcg = HREmotors(iMotor).xcg;                   % [m] Engine xcg from tank tip
-settings.motor.mc = HREmotors(iMotor).mc;                     % [kg] Engine Structural Mass
-settings.motor.Pe = HREmotors(iMotor).Pe;                     % [Pa] Eflux pressure
-settings.motor.Ae = HREmotors(iMotor).Ae;                     % [Pa] Eflux Area
-settings.motor.mFuel = HREmotors(iMotor).mFu;                 % [kg] Fuel (grain) initial mass
-settings.motor.mOx = HREmotors(iMotor).mOx;                   % [kg] Oxidizer initial mass
-settings.mp = HREmotors(iMotor).mp;                           % [kg] Initial propellant Mass
-settings.tb = HREmotors(iMotor).t(end) ;                      % [s]  Burning time
-
-% Engine fuselage data
-settings.motor.mFuselage = HREmotors(iMotor).mFus;            % [kg] Fuselage of the engine only
-settings.motor.xcgFuselage = (settings.motor.L - ...
-settings.motor.Ltank)/2 + settings.motor.Ltank;               % [m]  xcg of the engine fuselage only from tank tip
-
-% Engine cut
-settings.timeEngineCut = inf;                                 % [s] Moment in time in wich the engine will be cut off
-settings.tIGN = 000; %0.4;                                          % [s] ignition transient
-settings.tCO = 000; %0.3;                                           % [s] cut-off transient
-
-%% Launchpad synthesis
-
-%settings.lpin = settings.lpin1 + settings.motor.Ltank ... 
-%                    + settings.lpin2;                        % [m] Distance between the two launchpad pins
-
-settings.lpin = 000;%1.926 + 0.2;                             % [m] distance of the upper pin from the rail base (upper pin-boat + boat-rail base)
-settings.lrampa = settings.lrampa - settings.lpin;            % [m] LaunchPad route (total available route)
-
-%% ROCKET DETAILS
-%%% Boat-tail
-% The boat-tail is simulated as a trunc of cone with the major diameter
-% equal to the rocket one (settings.C)
-settings.boatL = 000;                                        % [m] Boat-tail length
-settings.boatD = 000;                                       % [m] Boat-tail base diameter
-
-%%% Rocket ogive and central body
-settings.C = 000;                                           % [m] Caliber (Fuselage Diameter)
-settings.S = pi*settings.C^2/4;                               % [m^2] Cross-sectional Surface
-settings.Lnose = 000;                                        % [m] Nosecone Length
-settings.OgType = 'MHAACK';                                   % [-] Nosecone shape
-settings.NosePower = 000; %3/4;                                     % [-] Nosecone power type parameter
-settings.pMod = 000; %1.250152e+00;                                 % [-] P coefficient for modified nosecone shapes
-settings.cMod = 000; %1.799127e-01;                                 % [-] C coefficient for modified nosecone shapes
-
-settings.LcenterRocket = 000; %1.517;                               % [m] Central body length
-settings.mNoMot = 000; %16.423;                                       % [kg] Mass of everything above engine
-settings.xcgNoMot = 000; %1.149;                                    % [m] XCG of everything above engine (from nosecone base)
-
-%SYNTHESIS WITH ENGINE FUSELAGE MASS AND XCG SEPARATELY GIVEN
-settings.addMfusMot = false;
-
-if settings.addMfusMot
-    settings.xcgNoMot = (settings.mNoMot*settings.xcgNoMot + settings.motor.mFuselage*(settings.motor.xcgFuselage + settings.LcenterRocket))...
-                        /(settings.mNoMot + settings.motor.mFuselage);
-    settings.mNoMot = settings.mNoMot + settings.motor.mFuselage;
-end
-
-%% SYNTHESIS
-settings.Lcenter = settings.LcenterRocket + settings.motor.L; % [m] Total centerbody length
-settings.mnc = 0;                                             % [kg] Nosecone Mass
-settings.ms = settings.mNoMot + settings.motor.mc + ...
-settings.mnc;                                                 % [kg] Total structural Mass
-settings.m0 = settings.ms + settings.motor.expM(1);           % [kg] Total initial Mass
-settings.mTotalTime = settings.mNoMot + settings.motor.mc + ...
-settings.mnc + settings.motor.expM;                           % Total mass (in time)
-
-% Total XCG of the rocket [m] !! FROM NOSECONE BASE !!
-settings.xcg = ( (settings.motor.expM + settings.motor.mc).*(settings.LcenterRocket + settings.motor.xcg) + ...
-    settings.mNoMot*settings.xcgNoMot)./(settings.motor.expM + settings.motor.mc + settings.mNoMot);
-
-settings.Lcenter = settings.Lcenter - settings.boatL;         % correcting the rocket length in order to account the boat tail
-
-%% AERODYNAMICS
-%%% Pitot tube
-settings.PITOTCLI = 0;                                        % [m] Pitot initial conic section length
-settings.PITOTCLB = 0;                                        % [m] Pitot final conic section length
-settings.PITOTCDI = 0;                                        % [m] Pitot initial conic section diameter
-settings.PITOTCDB = 0;                                        % [m] Pitot final conic section diameter
-settings.PITOTL = 0;                                          % [m] Pitot tube length
-settings.PITOTD = 0;                                          % [m] Pitot tube diameter
-
-%%% finset 
-settings.Chord1 = 0.30;                                       % [m] attached chord length
-settings.Chord2 = 0.14;                                       % [m] free chord length
-settings.Height = 0.11;                                       % [m] fin heigth
-settings.deltaXLE = 0.13;                                     % [m] start of Chord 2 measured from start of Chord 1
-settings.Npanel = 3;                                          % [m] number of fins
-settings.Ler = [0 0];                                         % [deg] Leading edge radius at each span station
-settings.d = 0.012;                                           % [m] distance between end of root chord and end of center body
-settings.zupRaw = 0.00175;                                    % [m] fin semi-thickness
-settings.LmaxuRaw = 0.00175;                                  % [m] Fraction of chord from leading edge to max thickness
-
-%%% protub data
-settings.xprot = 1.517;                                       % [m] axial position from nosecone base
-settings.nloc = 3;                                            % [-] number of brakes
-settings.lprot = 0.008;                                       % [m] brakes thickness
-settings.wprot = 0.1002754821;                                % [m] brakes width (normal)
-
-%% AIRBRAKES CONTROL SETTINGS
-settings.tControl = settings.tb;                              % [s] time after which the airbrakes can be used
-settings.MachControl = 0.8;                                   % [-] Maximum Mach at which airbrakes can be used
-settings.vServo = 150*pi/180;                                 % [rad/s] Servo-motor angular velocity
-% First entry, must be always 0 !
-settings.hprot = linspace(0, 0.0363, 3);                      % [m] Block airbrakes opening coordinate
-
-%% MASS GEOMERTY DETAILS
-% x-axis: along the fuselage
-% y-axis: right wing
-% z-axis: downward
-
-%%% Inertias for fuselage only (no engine)
-settings.rocketIxx = 0.06535397;                              % [kg*m^2] Inertia to x-axis
-settings.rocketIyy = 12.07664659;                             % [kg*m^2] Inertia to y-axis
-settings.rocketIzz = 12.07701314;                             % [kg*m^2] Inertia to z-axis
-
-%%% Inertias for engine only
-engineIxx = HREmotors(iMotor).Ixx;                            % [kg*m^2] Inertia to x-axis
-engineIyy = HREmotors(iMotor).Iyy;                            % [kg*m^2] Inertia to y-axis
-engineIzz = HREmotors(iMotor).Izz;                            % [kg*m^2] Inertia to z-axis
-
-%%% Total inertias
-settings.Ixx = settings.rocketIxx + engineIxx;
-
-settings.Iyy = settings.rocketIyy + ((settings.xcgNoMot - settings.xcg).^2) .* settings.mNoMot + ...
-    (engineIyy + ((settings.motor.xcg + settings.LcenterRocket - settings.xcg).^2 ) .* (settings.motor.expM + settings.motor.mc));
-
-settings.Izz = settings.rocketIzz + ((settings.xcgNoMot - settings.xcg).^2) .* settings.mNoMot + ...
-    (engineIzz + ((settings.motor.xcg + settings.LcenterRocket - settings.xcg).^2) .* (settings.motor.expM + settings.motor.mc));
-
-settings.I = [settings.Ixx; settings.Iyy; settings.Izz];
-
-%%% Inertias derivatives (avoiding calculations in ascent.m)
-settings.Idot = diff(settings.I')'./diff(settings.motor.expTime);
-settings.Idot(:, end+1) = settings.Idot(:, end);
-
-%% APPLY CORRECTIONS
-
-if exist("correction.mat","file")
-    corr = load("correction.mat");
-    settings.mTotalTime = settings.mTotalTime + corr.deltaM;
-    settings.xcg = settings.xcg + reshapeVector(settings.motor.expTime, corr.time, corr.deltaXcg);
-    settings.ms = settings.ms + corr.deltaM;
-end
-
-%% AERODYNAMICS DETAILS
-% These coefficients are obtained using MISSILE DATCOM, check simulator/README.md for further details.
-
-% DATA_PATH = '../data/';
-
-filename_coeffs = strcat(engineName, '.mat');
-
-if not(isfield(settings,'autoMatProt_flag')) || settings.autoMatProt_flag == false
-    % Coefficients
-    Coeffs = load(filename_coeffs);
-    settings.Coeffs = Coeffs.CoeffsTot;
-
-    % Geometry
-    settings.Geometry = Coeffs.Geometry;
-    settings.Geometry.xcg = Coeffs.Geometry.xcg';
-
-    % State
-    settings.State.Alphas = Coeffs.State.Alphas';
-    settings.State.Betas = Coeffs.State.Betas';
-    settings.State.Altitudes = Coeffs.State.Altitudes';
-    settings.State.Machs = Coeffs.State.Machs';
-    settings.State.Controls = Coeffs.State.hprot';
-    settings.State.xcgTime = Coeffs.State.xcgTime';
-    clear('Coeffs');
-
-    CoeffHighAOA = load('HighAOA.mat'); 
-    settings.highAOA.Coeffs = CoeffHighAOA.CoeffsTot; 
-    settings.highAOA.State.Alphas = CoeffHighAOA.State.Alphas';
-    settings.highAOA.State.Betas = CoeffHighAOA.State.Betas'; 
-    settings.highAOA.State.Altitudes = CoeffHighAOA.State.Altitudes'; 
-    settings.highAOA.State.Machs = CoeffHighAOA.State.Machs';
-    settings.highAOA.State.Controls = CoeffHighAOA.State.hprot';
-    settings.highAOA.State.xcgTime = CoeffHighAOA.State.xcgTime';
-    clear('CoeffHighAOA');
-
-    settings.highAOA.tb = settings.tb; 
-    settings.highAOA.timeEngineCut = settings.timeEngineCut; 
-end
-
-%% DESCENT STAGES
-settings.NdescentStages = 2;                                  % [-] Number of descent stages
-% Followimg are for stage 2, 3, ..
-settings.msStages = 4.412;                                    % [kg] Mass of stage 2, 3, .. without chutes
-
-%% PARACHUTES DETAILS
-
-settings.Npara = [2 1];
-
-% parachute 1
-settings.para(1, 1).name = 'DROGUE chute';
-settings.para(1, 1).S = 1.2219;    % [m^2]   Surface
-settings.para(1, 1).mass = 0.15;   % [kg]   Parachute Mass
-settings.para(1, 1).CD = 0.96;     % [/] Parachute Drag Coefficient
-settings.para(1, 1).CL = 0;        % [/] Parachute Lift Coefficient
-settings.para(1, 1).delay = 1;     % [s] drogue opening delay
-settings.para(1, 1).z_cut = 350;   % [m] Final altitude of the parachute
-
-% parachute 2
-settings.para(2, 1).name = 'MAIN chute';
-settings.para(2, 1).S = 7.34;      % [m^2]   Surface
-settings.para(2, 1).mass = 1.05;    % [kg]   Parachute Mass
-settings.para(2, 1).CD = 1.75;     % [/] Parachute Drag Coefficient
-settings.para(2, 1).CL = 0;        % [/] Parachute Lift Coefficient
-settings.para(2, 1).z_cut = 0;     % [m] Final altitude of the parachute
-
-% parachute 1
-settings.para(1, 1).CX = 1.4;      % [/] Parachute Longitudinal Drag Coefficient
-settings.para(1, 1).L = 1.5;       % [m] Shock Chord Length
-settings.para(1, 1).K = 7200;      % [N/m^2] Shock Chord Elastic Constant
-settings.para(1, 1).C = 0;         % [Ns/m] Shock Chord Dynamic Coefficient
-settings.para(1, 1).m = 1;         % [m^2/s] Coefficient of the surface vs. time opening model
-settings.para(1, 1).nf = 12;       % [/] Adimensional Opening Time
-settings.para(1, 1).Vexit = 5;     % [m/s] Expulsion Speed
-
-% parachute 2
-settings.para(2, 1).CX = 1.2;      % [/] Parachute Longitudinal Drag Coefficient
-settings.para(2, 1).L = 6;         % [m] Shock Chord Length
-settings.para(2, 1).K = 3000;      % [N/m^2] Shock Chord Elastic Constant
-settings.para(2, 1).C = 0;         % [Ns/m] Shock Chord Dynamic Coefficient
-settings.para(2, 1).m = 1;         % [m^2/s] Coefficient of the surface vs. time opening model
-settings.para(2, 1).nf = 8.7;      % [/] Adimensional Opening Time
-
-%%% PAYLOAD CHUTES
-% parachute 1
-settings.para(1, 2).name = "Payload DROGUE";
-settings.para(1, 2).S = 0.11;      % [m^2]   Surface
-settings.para(1, 2).mass = 0.15;   % [kg]   Parachute Mass
-settings.para(1, 2).CD = 1.2;      % [/] Parachute Drag Coefficient
-settings.para(1, 2).CL = 0;        % [/] Parachute Lift Coefficient
-settings.para(1, 2).delay = 1;     % [s] drogue opening delay
-settings.para(1, 2).z_cut = 300;   % [m] Final altitude of the parachute
-settings.para(1, 2).CX = 1.4;      % [/] Parachute Longitudinal Drag Coefficient
-settings.para(1, 2).L = 1.5;       % [m] Shock Chord Length
-settings.para(1, 2).K = 7200;      % [N/m^2] Shock Chord Elastic Constant
-settings.para(1, 2).C = 0;         % [Ns/m] Shock Chord Dynamic Coefficient
-settings.para(1, 2).m = 1;         % [m^2/s] Coefficient of the surface vs. time opening model
-settings.para(1, 2).nf = 12;       % [/] Adimensional Opening Time
-settings.para(1, 2).Vexit = 10;     % [m/s] Expulsion Speed
-
-% parachute 2
-settings.para(2, 2).name = "Payload AIRFOIL";
-settings.para(2, 2).mass = 0.50;    % [kg]   Parachute Mass
-settings.para(2, 2).z_cut = 0;      % [m] Final altitude of the parachute
-
-
-%% INTEGRATION OPTIONS
-settings.ode.finalTime =  2000;    % [s] Final integration time
-
-% create an option structure for the integrations:
-
-% - AbsTol is the threshold below which the value of the solution becomes unimportant
-% - RelTol is the tolerance betweeen two consecutive values
-% - Events is the event function that defines when the integration must be
-% - stopped (it has to be created)
-% - InitialStep is the highest value tried by the solver
-
-settings.ode.optionsasc1 = odeset('Events', @eventApogee, 'InitialStep', 1);          %ODE options for ascend
-settings.ode.optionsasc2 = odeset('InitialStep', 1);                                  %ODE options for due to the opening delay of the parachute
-settings.ode.optionsascMultipleAB = odeset('Events', @eventAB,  'InitialStep', 1);    %ODE options for opening of the airbrakes
-settings.ode.optionspara = odeset('Events', @eventParaCut);                           %ODE options for the parachutes
-settings.ode.optionsdesc = odeset('Events', @eventLanding);                           %ODE options for ballistic descent
-settings.ode.optionspad = odeset('Events', @eventPad);                                %ODE options for the launchpad phase
-
-% Settings for descent 6dof simulation
-settings.ode.optionsDrogue6DOF = odeset('Events', @eventParaCut, 'AbsTol', 1e-6,'RelTol', 1e-6);         %ODE options for due to cutting of the drogue chute
-settings.ode.optionsMainExt6DOF = odeset('Events', @eventMainExit, 'AbsTol', 1e-6,'RelTol', 1e-6);       %ODE options for due to the extraction of the main chute
-settings.ode.optionsMain6DOF = odeset('Events', @eventLanding, 'AbsTol', 1e-6,'RelTol', 1e-6);           %ODE options to terminate descent phase
-
-%% STOCHASTIC DETAILS
-%%% launch probability details
-settings.stoch.prob.xLim = 2e3;                    % Max ovest displacement [m]
-settings.stoch.prob.VLim = 50;                     % Max drogue velocity [Pa]
-settings.stoch.prob.XCPLim = 1.5;                  % Min XCP
-
-%%% Safe Ellipse - roccaraso
-settings.prob.SafeEllipse(1).name = 'prova';
-settings.prob.SafeEllipse(1).a = 1100;
-settings.prob.SafeEllipse(1).b = 2800;
-settings.prob.SafeEllipse(1).x0  = 0;
-settings.prob.SafeEllipse(1).y0 = -300;
-settings.prob.SafeEllipse(1).alpha = 10;
-
-
-%% LANDING POINTS
-% satellite maps of the landing zone
-% delta limit on the coordinates (for the landing map)
-settings.limLat = 0.04;
-settings.limLon = 0.025;
diff --git a/missions/HREmotors.mat b/missions/HREmotors.mat
deleted file mode 100644
index 1ffa2db..0000000
--- a/missions/HREmotors.mat
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fbb0e6fb46b31cadbc084461987aa8f45d9128c7e6b8d59483b88809e1495f3f
-size 6730820
-- 
GitLab