diff --git a/classes/Bay.m b/classes/Bay.m index b7e177537439bdf53a6a95443e04992d00bc8022..beb567f262e799b62d746aac808f6c43e4eccf94 100644 --- a/classes/Bay.m +++ b/classes/Bay.m @@ -12,7 +12,7 @@ classdef Bay < Component & matlab.mixin.Heterogeneous methods (Static, Sealed, Access=protected) function default = getDefaultScalarElement - default = Payload; + default = Parafoil; end end end diff --git a/classes/Rocket.m b/classes/Rocket.m index da1e33e3f621b7b925f4f2fcc1d56d004f927e12..0088c2cc31dc65486d83f765dca38ca44d082d77 100644 --- a/classes/Rocket.m +++ b/classes/Rocket.m @@ -11,7 +11,7 @@ classdef Rocket < Component % file properties - payload Payload % [-] Payload bay + parafoil Parafoil % [-] Parafoil bay recovery Recovery % [-] Recovery bay electronics Electronics % [-] Electronics bay airbrakes Airbrakes % [-] Airbrakes bay @@ -76,21 +76,21 @@ classdef Rocket < Component absPositions = cumsum([-shift(1); shift(1:end-1)]); absPositions = absPositions + ... - (obj.payload.length - obj.payload.noseLength); + (obj.parafoil.length - obj.parafoil.noseLength); obj.absolutePositions = dictionary(keys(bDictionay), absPositions); end function updateGeometry(obj) if ~isempty(obj.lengthCenterNoMot) - obj.length = obj.lengthCenterNoMot + obj.motor.length + obj.payload.noseLength; + obj.length = obj.lengthCenterNoMot + obj.motor.length + obj.parafoil.noseLength; else - obj.length = (obj.absolutePositions("rear") + obj.bays("rear").length) + obj.bays("payload").noseLength; + obj.length = (obj.absolutePositions("rear") + obj.bays("rear").length) + obj.bays("parafoil").noseLength; obj.lengthCenterNoMot = obj.absolutePositions("motor"); end if isempty(obj.crossSection) obj.crossSection = 0.25*pi*obj.diameter^2; end - obj.lengthCenter = obj.length - obj.payload.noseLength - obj.rear.boatLength; + obj.lengthCenter = obj.length - obj.parafoil.noseLength - obj.rear.boatLength; end function updateMassNoMotor(obj) @@ -156,11 +156,11 @@ classdef Rocket < Component end function updateStagesMass(obj) - stage1 = obj.cutoffMass - (obj.parachutes(1,2).mass + obj.parachutes(2,2).mass + obj.payload.mass); - % Everything at cut off without payload, payload drogue and - % payload airfoil + stage1 = obj.cutoffMass - (obj.parachutes(1,2).mass + obj.parachutes(2,2).mass + obj.parafoil.mass); + % Everything at cut off without parafoil, parafoil drogue and + % parafoil airfoil stage2 = obj.cutoffMass - stage1; - % only payload: payload, payload drogue and payload airfoil + % only parafoil: parafoil, parafoil drogue and parafoil airfoil obj.stagesMass = [stage1 stage2]; end @@ -246,7 +246,7 @@ classdef Rocket < Component end vars = obj.getConfig(mission); % Load config once and apply to other bays - obj.payload = Payload(mission, vars); + obj.parafoil = Parafoil(mission, vars); obj.recovery = Recovery(mission, vars); obj.electronics = Electronics(mission, vars); obj.motor = Motor(mission, vars); @@ -366,10 +366,10 @@ classdef Rocket < Component obj.coefficients.geometry.xcg(end); ], 3); - if (obj.payload.noseCMod & obj.payload.nosePMod) == 0 % KARMAN ogive case, no modified p and c coefficients + if (obj.parafoil.noseCMod & obj.parafoil.nosePMod) == 0 % KARMAN ogive case, no modified p and c coefficients geometryRocket = round([ obj.diameter; - obj.payload.noseLength; + obj.parafoil.noseLength; obj.lengthCenter; obj.rear.finsRootChord; obj.rear.finsFreeChord; @@ -395,10 +395,10 @@ classdef Rocket < Component else % MHAAK ogive case, modified p and c coefficients geometryRocket = round([ obj.diameter; - obj.payload.noseLength; + obj.parafoil.noseLength; obj.lengthCenter; - obj.payload.noseCMod; - obj.payload.nosePMod; + obj.parafoil.noseCMod; + obj.parafoil.nosePMod; obj.rear.finsRootChord; obj.rear.finsFreeChord; obj.rear.finsHeight; @@ -426,7 +426,7 @@ classdef Rocket < Component checks = [ xCgRocket == xCgTest; - strcmp(obj.coefficients.geometry.ogType, obj.payload.noseType); + strcmp(obj.coefficients.geometry.ogType, obj.parafoil.noseType); geometryRocket == geometryTest; strcmp(obj.coefficients.geometry.boatType, obj.rear.boatType) ]; diff --git a/classes/bays/Payload.m b/classes/bays/Parafoil.m similarity index 86% rename from classes/bays/Payload.m rename to classes/bays/Parafoil.m index 0f9f7edb3f5528648e3142d3cb85cfe508438e49..378fb88708e41030e60d487c5e5c11f3be4bbcee 100644 --- a/classes/bays/Payload.m +++ b/classes/bays/Parafoil.m @@ -1,9 +1,9 @@ -classdef Payload < Bay - % Payload: Represents nose + payload configuration for a rocket. +classdef Parafoil < Bay + % Parafoil: Represents nose + parafoil configuration for a rocket. % % Constructor: - % - Payload: Creates an instance of the Payload class. - % Loaded config: rocketConfig.m > payload + % - Parafoil: Creates an instance of the Parafoil class. + % Loaded config: rocketConfig.m > parafoil % Loaded data: - % Arguments: % - mission: Mission, mission object @@ -33,12 +33,12 @@ classdef Payload < Bay properties(Access = protected) configName = 'rocketConfig.m' - variableName = 'payload' + variableName = 'parafoil' mission Mission = Mission() end methods - function obj = Payload(mission, varIn) + function obj = Parafoil(mission, varIn) arguments(Input) mission Mission = Mission() varIn = [] diff --git a/classes/components/Para.m b/classes/components/Para.m index ef74338bcccc5f29d0943eaa1efb635286f06495..fb7388e7c1af52dd9afab7f6dde18e6aceb35883 100644 --- a/classes/components/Para.m +++ b/classes/components/Para.m @@ -35,8 +35,8 @@ classdef Para < matlab.mixin.Heterogeneous & Component % In case of homogeneous type, forces conversion to % heterogeneous Para array case 'Parachute' - obj(1, 1, 2) = Parafoil(); - case 'Parafoil' + obj(1, 1, 2) = Wing(); + case 'Wing' obj(1, 1, 2) = Parachute(); otherwise end diff --git a/classes/components/Parafoil.m b/classes/components/Wing.m similarity index 87% rename from classes/components/Parafoil.m rename to classes/components/Wing.m index 6a60eb018c5948f77be088bb00f59e76cb6aa4f0..4e47f9e3a9938d03e714c9721344f2da8e712c57 100644 --- a/classes/components/Parafoil.m +++ b/classes/components/Wing.m @@ -1,4 +1,4 @@ -classdef Parafoil < Para +classdef Wing < Para % Parachute: Represents a parachute component. % % Constructor: @@ -15,13 +15,13 @@ classdef Parafoil < Para surface double % [m^2] Surface deltaSMax double % [-] Aerodynamic control coefficient - symmetric, max value - mass double % [kg] Parafoil Mass - openingTime double % [s] Parafoil opening time (delay + time to get fully open) + mass double % [kg] Wing Mass + openingTime double % [s] Wing opening time (delay + time to get fully open) inertia % [kg*m^2] 3x3 Inertia Matrix (the diagonal is made of the inertia vector values) finalAltitude double % [m] Final altitude of the parafoil - semiWingSpan double % [m] Parafoil semiwingspan - MAC double % [m] Parafoil mean aero chord + semiWingSpan double % [m] Wing semiwingspan + MAC double % [m] Wing mean aero chord cd0 double % [-] aerodynamic control coefficient - asymetric, CD0 cdAlpha double % [-] aerodynamic control coefficient - asymetric, CDAlpha @@ -50,7 +50,7 @@ classdef Parafoil < Para end methods - function obj = Parafoil(mission, varIn) + function obj = Wing(mission, varIn) arguments(Input) mission Mission = Mission() varIn = [] diff --git a/functions/miscellaneous/createDissileInput.m b/functions/miscellaneous/createDissileInput.m index cd655d6503991c1cb7638f98510bdb799505889c..f6c07fdb849fafb3a37c0d8d0284b7ba59a80ce1 100644 --- a/functions/miscellaneous/createDissileInput.m +++ b/functions/miscellaneous/createDissileInput.m @@ -80,13 +80,13 @@ input.refq.LATREF = rocket.diameter; input.axibod.about = 'Axisymmetric body quantities'; %%% nose -input.axibod.TNOSE = find(strcmp(noses, rocket.payload.noseType))-1; % [0=CONICAL, 1=OGIVE, 2=POWER, 3=HAACK, 4=KARMAN, 5=MHAACK] ogive type -if strcmp(rocket.payload.noseType, 'MHAACK') - input.axibod.MHAACKCP = [rocket.payload.noseCMod rocket.payload.nosePMod]; % [-] CMOD PMOD mhaack parameters, set CMOD = 1/3 and PMOD = 1 to get a haack -elseif strcmp(rocket.payload.noseType, 'POWER') - input.axibod.POWER = rocket.payload.nosePower; % [-] Exponent of the power series, set a value between 0 and 1 +input.axibod.TNOSE = find(strcmp(noses, rocket.parafoil.noseType))-1; % [0=CONICAL, 1=OGIVE, 2=POWER, 3=HAACK, 4=KARMAN, 5=MHAACK] ogive type +if strcmp(rocket.parafoil.noseType, 'MHAACK') + input.axibod.MHAACKCP = [rocket.parafoil.noseCMod rocket.parafoil.nosePMod]; % [-] CMOD PMOD mhaack parameters, set CMOD = 1/3 and PMOD = 1 to get a haack +elseif strcmp(rocket.parafoil.noseType, 'POWER') + input.axibod.POWER = rocket.parafoil.nosePower; % [-] Exponent of the power series, set a value between 0 and 1 end -input.axibod.LNOSE = rocket.payload.noseLength; % [m] Nose length +input.axibod.LNOSE = rocket.parafoil.noseLength; % [m] Nose length input.axibod.DNOSE = rocket.diameter; % [m] Nose diameter at base input.axibod.TRUNC = false; diff --git a/functions/simulations/stdDescent.m b/functions/simulations/stdDescent.m index 5f8a2c8c63ba3ab524ab36760e4f75928749ce92..10076a50420c1eebfeb8d08f78897831964e4192 100644 --- a/functions/simulations/stdDescent.m +++ b/functions/simulations/stdDescent.m @@ -121,7 +121,7 @@ for i = 1:nParachutes solution = ode113(@descentParachute, [t0, tf], Y0, options, ... rocket, environment, wind, descentData, wrapper); - case 'Parafoil' + case 'Wing' if ~settings.simulator.parafoil, continue; end if i == 1 error("Cannot simulate parafoil as fist descent stage"); diff --git a/missions/2021_Lynx_Portugal_October/config/rocketConfig.m b/missions/2021_Lynx_Portugal_October/config/rocketConfig.m index 7f6e832c27ac4b328210b941a6f5904610309359..692225f5b4e3c32bcf79eda9037257dedb8f2565 100644 --- a/missions/2021_Lynx_Portugal_October/config/rocketConfig.m +++ b/missions/2021_Lynx_Portugal_October/config/rocketConfig.m @@ -16,21 +16,21 @@ rocket.inertiaNoMotor = [0.0786; 12.972; 12.972]; % [kg*m^2] OVERRIDE iner rocket.xCgNoMotor = 1.6025; % [m] OVERRIDE xCg without motor rocket.lengthCenterNoMot = 1.7640; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); % !!!!! -payload.length = 0.31; % [m] Total bay length -payload.mass = 0; % [kg] Total bay mass -payload.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 0; % [m] Cg relative to bay upper side +parafoil.length = 0.31; % [m] Total bay length +parafoil.mass = 0; % [kg] Total bay mass +parafoil.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 0; % [m] Cg relative to bay upper side % !!!!! -payload.noseLength = 0.26; % [m] Nosecone length -payload.noseType = 'KARMAN'; % [-] Nosecone shape -payload.nosePower = 0; % [-] Nosecone power type parameter -payload.nosePMod = 0; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 0; % [-] C coefficient for modified nosecone shapes +parafoil.noseLength = 0.26; % [m] Nosecone length +parafoil.noseType = 'KARMAN'; % [-] Nosecone shape +parafoil.nosePower = 0; % [-] Nosecone power type parameter +parafoil.nosePMod = 0; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 0; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m b/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m index 7b4fd7790c981a2b17cc1c06e4b8786cc575fba9..fa072151371f40a081cdde8f4e2d92bcde9f4fcc 100644 --- a/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m +++ b/missions/2021_Lynx_Roccaraso_September/config/rocketConfig.m @@ -16,21 +16,21 @@ rocket.inertiaNoMotor = [0.06; 7.511; 7.512]; % [kg*m^2] OVERRIDE inertia rocket.xCgNoMotor = 1.1986; % [m] OVERRIDE xCg without motor rocket.lengthCenterNoMot = 1.7840; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); % !!!!! -payload.length = 0.31; % [m] Total bay length -payload.mass = 0; % [kg] Total bay mass -payload.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 0; % [m] Cg relative to bay upper side +parafoil.length = 0.31; % [m] Total bay length +parafoil.mass = 0; % [kg] Total bay mass +parafoil.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 0; % [m] Cg relative to bay upper side % !!!!! -payload.noseLength = 0.26; % [m] Nosecone length -payload.noseType = 'KARMAN'; % [-] Nosecone shape -payload.nosePower = 0; % [-] Nosecone power type parameter -payload.nosePMod = 0; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 0; % [-] C coefficient for modified nosecone shapes +parafoil.noseLength = 0.26; % [m] Nosecone length +parafoil.noseType = 'KARMAN'; % [-] Nosecone shape +parafoil.nosePower = 0; % [-] Nosecone power type parameter +parafoil.nosePMod = 0; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 0; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2022_Pyxis_Portugal_October/config/paraConfig.m b/missions/2022_Pyxis_Portugal_October/config/paraConfig.m index fbd7712f52d6a5598e8a29d4bf22f2b7c0b9f45d..a1e6cf6757e9ed3e3c74a5ca7fe1111c2524e3c5 100644 --- a/missions/2022_Pyxis_Portugal_October/config/paraConfig.m +++ b/missions/2022_Pyxis_Portugal_October/config/paraConfig.m @@ -41,7 +41,7 @@ para(2, 1).forceCoefficient = []; % [-] Empirical coefficient to obtain c % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.05; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -58,11 +58,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = []; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 0.45; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 0.45; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m b/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m index ca08ee541f7c90d0f4681805d3d81ff604f88663..285238c5c2518d36cb6a8d38167988f19013390b 100644 --- a/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m +++ b/missions/2022_Pyxis_Portugal_October/config/rocketConfig.m @@ -16,21 +16,21 @@ rocket.inertiaNoMotor = [0.06303; 9.62497; 9.62524]; % [kg*m^2] OVERRIDE i rocket.xCgNoMotor = 1.2239; % [m] OVERRIDE xCg without motor rocket.lengthCenterNoMot = 1.4470; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); % !!!!! -payload.length = 0.31; % [m] Total bay length -payload.mass = 0; % [kg] Total bay mass -payload.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 0; % [m] Cg relative to bay upper side +parafoil.length = 0.31; % [m] Total bay length +parafoil.mass = 0; % [kg] Total bay mass +parafoil.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 0; % [m] Cg relative to bay upper side % !!!!! -payload.noseLength = 0.31; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 0; % [-] Nosecone power type parameter -payload.nosePMod = 1.293318e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.864832e-01; % [-] C coefficient for modified nosecone shapes +parafoil.noseLength = 0.31; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 0; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.293318e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.864832e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2022_Pyxis_Portugal_October/old/simulationsData.m b/missions/2022_Pyxis_Portugal_October/old/simulationsData.m index 75e03f84c194a2c333b7479bfe7498f8e01473fa..029a27be320decf5794836a37884931ed800e39d 100644 --- a/missions/2022_Pyxis_Portugal_October/old/simulationsData.m +++ b/missions/2022_Pyxis_Portugal_October/old/simulationsData.m @@ -201,7 +201,7 @@ 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).name = "Parafoil DROGUE"; settings.para(1, 2).S = 0.11; % [m^2] Surface settings.para(1, 2).mass = 0.05; % [kg] Parachute Mass settings.para(1, 2).CD = 1.2; % [/] Parachute Drag Coefficient @@ -217,7 +217,7 @@ 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).name = "Parafoil AIRFOIL"; settings.para(2, 2).mass = 0.45; % [kg] Parachute Mass settings.para(2, 2).z_cut = 0; % [m] Final altitude of the parachute diff --git a/missions/2022_Pyxis_Roccaraso_September/config/paraConfig.m b/missions/2022_Pyxis_Roccaraso_September/config/paraConfig.m index 4da985ac28611efc91e22060593b999d0a2f4e44..4f9430b62015522460793d1ad756809ac2cc414d 100644 --- a/missions/2022_Pyxis_Roccaraso_September/config/paraConfig.m +++ b/missions/2022_Pyxis_Roccaraso_September/config/paraConfig.m @@ -41,7 +41,7 @@ para(2, 1).forceCoefficient = []; % [-] Empirical coefficient to obtain c % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.05; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -58,11 +58,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = []; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 0.45; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 0.45; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m b/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m index 55ca1f299e9bf3bb6fd291863bffc224d46b6c96..ed371b1804110fe4ef4f76aff71217eaf5935fce 100644 --- a/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m +++ b/missions/2022_Pyxis_Roccaraso_September/config/rocketConfig.m @@ -18,21 +18,21 @@ rocket.xCgNoMotor = 1.2957; % [m] % settings.Lcenter - motors(iMotor).L/1000 rocket.lengthCenterNoMot = 1.61; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); % !!!!! -payload.length = 0.31; % [m] Total bay length -payload.mass = 0; % [kg] Total bay mass -payload.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 0; % [m] Cg relative to bay upper side +parafoil.length = 0.31; % [m] Total bay length +parafoil.mass = 0; % [kg] Total bay mass +parafoil.inertia = zeros(3,1); % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 0; % [m] Cg relative to bay upper side % !!!!! -payload.noseLength = 0.31; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 0; % [-] Nosecone power type parameter -payload.nosePMod = 1.293318e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.864832e-01; % [-] C coefficient for modified nosecone shapes +parafoil.noseLength = 0.31; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 0; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.293318e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.864832e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2022_Pyxis_Roccaraso_September/old/simulationsData.m b/missions/2022_Pyxis_Roccaraso_September/old/simulationsData.m index 8c241bbc49fdda0edfcd54044351e94274f0cd40..11aa4bf5e05b9221de2de54b1afcb7ad19159e80 100644 --- a/missions/2022_Pyxis_Roccaraso_September/old/simulationsData.m +++ b/missions/2022_Pyxis_Roccaraso_September/old/simulationsData.m @@ -197,7 +197,7 @@ 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).name = "Parafoil DROGUE"; settings.para(1, 2).S = 0.11; % [m^2] Surface settings.para(1, 2).mass = 0.05; % [kg] Parachute Mass settings.para(1, 2).CD = 1.2; % [/] Parachute Drag Coefficient @@ -213,7 +213,7 @@ 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).name = "Parafoil AIRFOIL"; settings.para(2, 2).mass = 0.45; % [kg] Parachute Mass settings.para(2, 2).z_cut = 0; % [m] Final altitude of the parachute diff --git a/missions/2023_Gemini_Portugal_October/config/paraConfig.m b/missions/2023_Gemini_Portugal_October/config/paraConfig.m index 3ce7ff1798f83ba17360ff34b07766addb630b6e..2785d5acdefde8e03952e407aace6d7de605f3ea 100644 --- a/missions/2023_Gemini_Portugal_October/config/paraConfig.m +++ b/missions/2023_Gemini_Portugal_October/config/paraConfig.m @@ -41,7 +41,7 @@ para(2, 1).forceCoefficient = []; % [-] Empirical coefficient to obtain % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.15; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -58,11 +58,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = []; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 4.20; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 4.20; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2023_Gemini_Portugal_October/config/rocketConfig.m b/missions/2023_Gemini_Portugal_October/config/rocketConfig.m index 2af81681af3442580829818fca7d07f47c6954c7..24d971d4ffc602aa29673b73b4770b31418f33c5 100644 --- a/missions/2023_Gemini_Portugal_October/config/rocketConfig.m +++ b/missions/2023_Gemini_Portugal_October/config/rocketConfig.m @@ -15,21 +15,21 @@ rocket.inertiaNoMotor = [0.06535397; 17.21019828; 17.21056483]; % [kg*m^2] rocket.xCgNoMotor = 1.254; % [m] OVERRIDE xCg without motor rocket.lengthCenterNoMot = 1.517; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); % !!!!! -payload.length = 638.89 * 1e-3; % [m] Total bay length -payload.mass = 4.441; % [kg] Total bay mass -payload.inertia = 1e-9*[12431765; 106903809; 106823939]; % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 479.24 * 1e-3; % [m] Cg relative to bay upper side +parafoil.length = 638.89 * 1e-3; % [m] Total bay length +parafoil.mass = 4.441; % [kg] Total bay mass +parafoil.inertia = 1e-9*[12431765; 106903809; 106823939]; % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 479.24 * 1e-3; % [m] Cg relative to bay upper side % !!!!! -payload.noseLength = 0.32; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 3/4; % [-] Nosecone power type parameter -payload.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes +parafoil.noseLength = 0.32; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 3/4; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2023_Gemini_Portugal_October/old/simulationsData.m b/missions/2023_Gemini_Portugal_October/old/simulationsData.m index 5f62802dcbccea003ff1862ad56da4693c42d8e2..1fd821dcb8b21d4fe04d9468c5c3029ab8183c71 100644 --- a/missions/2023_Gemini_Portugal_October/old/simulationsData.m +++ b/missions/2023_Gemini_Portugal_October/old/simulationsData.m @@ -271,7 +271,7 @@ 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).name = "Parafoil 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 @@ -287,7 +287,7 @@ 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).name = "Parafoil AIRFOIL"; settings.para(2, 2).mass = 0.50; % [kg] Parachute Mass settings.para(2, 2).z_cut = 0; % [m] Final altitude of the parachute diff --git a/missions/2023_Gemini_Roccaraso_September/config/paraConfig.m b/missions/2023_Gemini_Roccaraso_September/config/paraConfig.m index 3d3ae9cc1676c4566ca344c381e24efc1e8ff5eb..c7cf8e7bd8ea5b823ff73a663f60ad9b7e7087d3 100644 --- a/missions/2023_Gemini_Roccaraso_September/config/paraConfig.m +++ b/missions/2023_Gemini_Roccaraso_September/config/paraConfig.m @@ -41,7 +41,7 @@ para(2, 1).forceCoefficient = []; % [-] Empirical coefficient to obtain c % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.15; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -58,11 +58,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = []; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 4.20; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 4.20; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m b/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m index 142705caba9a8cedc760f82688f025c527a15ce5..c15b52c089b524b75ed1a3495c1f078c557d347b 100644 --- a/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m +++ b/missions/2023_Gemini_Roccaraso_September/config/rocketConfig.m @@ -15,21 +15,21 @@ rocket.inertiaNoMotor = [0.06535397; 12.07664659; 12.07701314]; % [kg*m^2] rocket.xCgNoMotor = 1.149; % [m] OVERRIDE xCg without motor rocket.lengthCenterNoMot = 1.517; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); % !!!!! -payload.length = 638.89 * 1e-3; % [m] Total bay length -payload.mass = 4.441; % [kg] Total bay mass -payload.inertia = 1e-9*[12431765; 106903809; 106823939]; % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 479.24 * 1e-3; % [m] Cg relative to bay upper side +parafoil.length = 638.89 * 1e-3; % [m] Total bay length +parafoil.mass = 4.441; % [kg] Total bay mass +parafoil.inertia = 1e-9*[12431765; 106903809; 106823939]; % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 479.24 * 1e-3; % [m] Cg relative to bay upper side % !!!!! -payload.noseLength = 0.32; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 3/4; % [-] Nosecone power type parameter -payload.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes +parafoil.noseLength = 0.32; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 3/4; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2023_Gemini_Roccaraso_September/old/simulationsData.m b/missions/2023_Gemini_Roccaraso_September/old/simulationsData.m index 9ad12523b74895fe9301ade2c6f86ae07c6eb9f0..457db24c06259857971c3da2ae46b017aced06a2 100644 --- a/missions/2023_Gemini_Roccaraso_September/old/simulationsData.m +++ b/missions/2023_Gemini_Roccaraso_September/old/simulationsData.m @@ -269,7 +269,7 @@ 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).name = "Parafoil 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 @@ -285,7 +285,7 @@ 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).name = "Parafoil AIRFOIL"; settings.para(2, 2).mass = 0.50; % [kg] Parachute Mass settings.para(2, 2).z_cut = 0; % [m] Final altitude of the parachute diff --git a/missions/2024_Lyra_Portugal_October/config/paraConfig.m b/missions/2024_Lyra_Portugal_October/config/paraConfig.m index aa0a50ac796b31cba74b8cfdbbfc0fab3bea103d..109d02346c12d345675cc2412c831e6d9c4cfb86 100644 --- a/missions/2024_Lyra_Portugal_October/config/paraConfig.m +++ b/missions/2024_Lyra_Portugal_October/config/paraConfig.m @@ -41,7 +41,7 @@ para(2, 1).forceCoefficient = 2.2; % [-] Empirical coefficient to obtain % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.1; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -58,11 +58,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = 0; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 0.40; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 0.40; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2024_Lyra_Portugal_October/config/rocketConfig.m b/missions/2024_Lyra_Portugal_October/config/rocketConfig.m index 6bc8bb289b77386b83d9899382fae46e4855e16b..be779ec9220dbdcb5797577e7417102f0504ad35 100644 --- a/missions/2024_Lyra_Portugal_October/config/rocketConfig.m +++ b/missions/2024_Lyra_Portugal_October/config/rocketConfig.m @@ -9,19 +9,19 @@ rocket.inertiaNoMotor = []; % [kg*m^ rocket.xCgNoMotor = []; % [m] OVERRIDE xCg without motor rocket.lengthCenterNoMot = []; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); - -payload.length = 647.25 * 1e-3; % [m] Total bay length -payload.mass = 4.401; % [kg] Total bay mass -payload.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side - -payload.noseLength = 0.32; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 3/4; % [-] Nosecone power type parameter -payload.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); + +parafoil.length = 647.25 * 1e-3; % [m] Total bay length +parafoil.mass = 4.401; % [kg] Total bay mass +parafoil.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side + +parafoil.noseLength = 0.32; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 3/4; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2024_Lyra_Roccaraso_September/config/paraConfig.m b/missions/2024_Lyra_Roccaraso_September/config/paraConfig.m index 80f10dae397f28bea09650adb0ab541f5f1d2090..18e99a4d078ba90f4d3c4254cfa6244b24c642ff 100644 --- a/missions/2024_Lyra_Roccaraso_September/config/paraConfig.m +++ b/missions/2024_Lyra_Roccaraso_September/config/paraConfig.m @@ -42,7 +42,7 @@ para(2, 1).forceCoefficient = 2.2; % [-] Empirical coefficient to obtain % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.1; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -59,11 +59,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = 0; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 0.40; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 0.40; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m b/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m index bcc3bb6fcdf2897a46ea8920d80f6cc3ad9fdee6..4f90b9bebe7737b782d435d3ed75aa38a31a52e4 100644 --- a/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m +++ b/missions/2024_Lyra_Roccaraso_September/config/rocketConfig.m @@ -15,19 +15,19 @@ rocket.lengthCenterNoMot = []; % [m] % rocket.xCgNoMotor = 1.28; % [m] OVERRIDE xCg without motor % rocket.lengthCenterNoMot = 1.778; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); - -payload.length = 647.25 * 1e-3; % [m] Total bay length -payload.mass = 4.401; % [kg] Total bay mass -payload.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side - -payload.noseLength = 0.32; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 3/4; % [-] Nosecone power type parameter -payload.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); + +parafoil.length = 647.25 * 1e-3; % [m] Total bay length +parafoil.mass = 4.401; % [kg] Total bay mass +parafoil.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side + +parafoil.noseLength = 0.32; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 3/4; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2025_Orion_Portugal_October/config/paraConfig.m b/missions/2025_Orion_Portugal_October/config/paraConfig.m index aa0a50ac796b31cba74b8cfdbbfc0fab3bea103d..109d02346c12d345675cc2412c831e6d9c4cfb86 100644 --- a/missions/2025_Orion_Portugal_October/config/paraConfig.m +++ b/missions/2025_Orion_Portugal_October/config/paraConfig.m @@ -41,7 +41,7 @@ para(2, 1).forceCoefficient = 2.2; % [-] Empirical coefficient to obtain % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.1; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -58,11 +58,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = 0; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 0.40; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 0.40; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2025_Orion_Portugal_October/config/rocketConfig.m b/missions/2025_Orion_Portugal_October/config/rocketConfig.m index 7a1c447354e008038928afde85dd6dbd2ea4cea8..6a9b264fdfd6f0b1978160f24a21db1517929d95 100644 --- a/missions/2025_Orion_Portugal_October/config/rocketConfig.m +++ b/missions/2025_Orion_Portugal_October/config/rocketConfig.m @@ -9,19 +9,19 @@ rocket.inertiaNoMotor = []; % [kg*m^ rocket.xCgNoMotor = []; % [m] OVERRIDE xCg without motor rocket.lengthCenterNoMot = []; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); - -payload.length = 647.25 * 1e-3; % [m] Total bay length -payload.mass = 4.401; % [kg] Total bay mass -payload.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side - -payload.noseLength = 0.32; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 3/4; % [-] Nosecone power type parameter -payload.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); + +parafoil.length = 647.25 * 1e-3; % [m] Total bay length +parafoil.mass = 4.401; % [kg] Total bay mass +parafoil.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side + +parafoil.noseLength = 0.32; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 3/4; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery(); diff --git a/missions/2025_Orion_Roccaraso_Settember/config/paraConfig.m b/missions/2025_Orion_Roccaraso_Settember/config/paraConfig.m index 80f10dae397f28bea09650adb0ab541f5f1d2090..18e99a4d078ba90f4d3c4254cfa6244b24c642ff 100644 --- a/missions/2025_Orion_Roccaraso_Settember/config/paraConfig.m +++ b/missions/2025_Orion_Roccaraso_Settember/config/paraConfig.m @@ -42,7 +42,7 @@ para(2, 1).forceCoefficient = 2.2; % [-] Empirical coefficient to obtain % parachute 1 para(1, 2) = Parachute(); -para(1, 2).name = "Payload DROGUE"; +para(1, 2).name = "Parafoil DROGUE"; para(1, 2).surface = 0.11; % [m^2] Surface para(1, 2).mass = 0.1; % [kg] Parachute Mass para(1, 2).cd = 1.2; % [/] Parachute Drag Coefficient @@ -59,11 +59,11 @@ para(1, 2).expulsionSpeed = 10; % [m/s] Expulsion Speed para(1, 2).forceCoefficient = 0; % [-] Empirical coefficient to obtain correct peak force at deployment % parachute 2 -para(2, 2) = Parafoil(); +para(2, 2) = Wing(); -para(2, 2).name = "Payload AIRFOIL"; -para(2, 2).mass = 0.40; % [kg] Parafoil Mass -para(2, 2).openingTime = 0; % [s] Parafoil opening delay +para(2, 2).name = "Parafoil AIRFOIL"; +para(2, 2).mass = 0.40; % [kg] Wing Mass +para(2, 2).openingTime = 0; % [s] Wing opening delay para(2, 2).surface = 0.11; % [m^2] Surface para(2, 2).deltaSMax = 0.1; % max value diff --git a/missions/2025_Orion_Roccaraso_Settember/config/rocketConfig.m b/missions/2025_Orion_Roccaraso_Settember/config/rocketConfig.m index bcc3bb6fcdf2897a46ea8920d80f6cc3ad9fdee6..4f90b9bebe7737b782d435d3ed75aa38a31a52e4 100644 --- a/missions/2025_Orion_Roccaraso_Settember/config/rocketConfig.m +++ b/missions/2025_Orion_Roccaraso_Settember/config/rocketConfig.m @@ -15,19 +15,19 @@ rocket.lengthCenterNoMot = []; % [m] % rocket.xCgNoMotor = 1.28; % [m] OVERRIDE xCg without motor % rocket.lengthCenterNoMot = 1.778; % [m] OVERRIDE Center length - no nose, no motor -%% PLD - Includes Payload + Nose -payload = Payload(); - -payload.length = 647.25 * 1e-3; % [m] Total bay length -payload.mass = 4.401; % [kg] Total bay mass -payload.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) -payload.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side - -payload.noseLength = 0.32; % [m] Nosecone length -payload.noseType = 'MHAACK'; % [-] Nosecone shape -payload.nosePower = 3/4; % [-] Nosecone power type parameter -payload.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes -payload.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes +%% PLD - Includes Parafoil + Nose +parafoil = Parafoil(); + +parafoil.length = 647.25 * 1e-3; % [m] Total bay length +parafoil.mass = 4.401; % [kg] Total bay mass +parafoil.inertia = 1e-9*[12531966; 109986813; 109930516]; % [kg*m^2] Total bay inertia (Body reference) +parafoil.xCg = 487.78 * 1e-3; % [m] Cg relative to bay upper side + +parafoil.noseLength = 0.32; % [m] Nosecone length +parafoil.noseType = 'MHAACK'; % [-] Nosecone shape +parafoil.nosePower = 3/4; % [-] Nosecone power type parameter +parafoil.nosePMod = 1.250152e+00; % [-] P coefficient for modified nosecone shapes +parafoil.noseCMod = 1.799127e-01; % [-] C coefficient for modified nosecone shapes %% RCS recovery = Recovery();