diff --git a/classes/Rocket.m b/classes/Rocket.m index c9cc13ed6dd542c39567eb7b35d2fff0844813ad..947edb2a17af275aa49df33f9992e15a8da077a7 100644 --- a/classes/Rocket.m +++ b/classes/Rocket.m @@ -156,10 +156,10 @@ classdef Rocket < Component end function updateStagesMass(obj) - stage1 = obj.cutoffMass - (obj.payload.mass + obj.parachutes(1,2).mass + obj.parachutes(2,2).mass); + stage1 = obj.cutoffMass - sum([obj.parachutes(:,1).mass]); % Everything at cut off without payload, payload drogue and % payload airfoil - stage2 = obj.payload.mass + obj.parachutes(1,2).mass + obj.parachutes(2,2).mass; + stage2 = sum([obj.parachutes(:,1).mass]); % only payload: payload, payload drogue and payload airfoil obj.stagesMass = [stage1 stage2]; end @@ -365,8 +365,35 @@ classdef Rocket < Component obj.coefficients.geometry.xcg(1); obj.coefficients.geometry.xcg(end); ], 3); - - geometryRocket = round([ + + if (obj.payload.noseCMod & obj.payload.nosePMod) == 0 % KARMAN ogive case, no modified p and c coefficients + geometryRocket = round([ + obj.diameter; + obj.payload.noseLength; + obj.lengthCenter; + obj.rear.finsRootChord; + obj.rear.finsFreeChord; + obj.rear.finsHeight; + obj.rear.finsDeltaXFreeChord; + obj.rear.nPanel; + obj.rear.boatLength; + obj.rear.boatFinalDiameter; + ], 3); + + geometryTest = round([ + obj.coefficients.geometry.diameter; + obj.coefficients.geometry.lNose; + obj.coefficients.geometry.lCenter; + obj.coefficients.geometry.chord1; + obj.coefficients.geometry.chord2; + obj.coefficients.geometry.height; + obj.coefficients.geometry.deltaXLE; + obj.coefficients.geometry.nPanel; + obj.coefficients.geometry.boatL; + obj.coefficients.geometry.boatD; + ], 3); + else % MHAAK ogive case, modified p and c coefficients + geometryRocket = round([ obj.diameter; obj.payload.noseLength; obj.lengthCenter; @@ -395,6 +422,7 @@ classdef Rocket < Component obj.coefficients.geometry.boatL; obj.coefficients.geometry.boatD; ], 3); + end checks = [ xCgRocket == xCgTest;