diff --git a/aerodynamicsOptimization/mainOptimization.m b/aerodynamicsOptimization/mainOptimization.m index ad493fb45b2c5176bdb19f43a263f2ca61bd277a..c541bc760bd6831eb12a4a888e528bb62448adca 100644 --- a/aerodynamicsOptimization/mainOptimization.m +++ b/aerodynamicsOptimization/mainOptimization.m @@ -141,7 +141,7 @@ vars.mach = 0.1:0.2:0.9; vars.alpha = [-20 -15 -10 -5 -2.5 -1 -0.1 0 0.1 1 2.5 5 10 15 20]; vars.beta = [-20 -15 -10 -5 -2.5 -1 -0.1 0 0.1 1 2.5 5 10 15 20]; vars.alt = environment.z0 + (0:1000:4000); -vars.xcg = rocket.xCg; +vars.xcg = rocket.xcg; vars.hprot = []; % vars.hprot = rocket.airbrakes.height; diff --git a/aerodynamicsOptimization/src/OptimizationGA.m b/aerodynamicsOptimization/src/OptimizationGA.m index 69a43fd8b6f69ae33892ad4ed7974d9cc32381ff..ffd593901e6d265ddce180c8eb74692b1eca9ca8 100644 --- a/aerodynamicsOptimization/src/OptimizationGA.m +++ b/aerodynamicsOptimization/src/OptimizationGA.m @@ -49,7 +49,7 @@ input.fltcon.NALPHA = length(input.fltcon.ALPHA); % [-] Number of alphas input.fltcon.NMACH = length(input.fltcon.MACH); %%% aerodynmics coefficient - full -input.refq.XCG = rocket.xCg([1, length(rocket.xCg)]); +input.refq.XCG = rocket.xcg([1, length(rocket.xcg)]); % state.xcgTime = state.xcgTime([1, end]); input.flagXCP = false; [coeff] = dissileMatcom(input); diff --git a/aerodynamicsOptimization/src/XCPcheck.m b/aerodynamicsOptimization/src/XCPcheck.m index a07bb62d0928025bab0a7db7778fb016cb9eaca7..da16982b84ce406067fb6657bbfe1809982cd197 100644 --- a/aerodynamicsOptimization/src/XCPcheck.m +++ b/aerodynamicsOptimization/src/XCPcheck.m @@ -106,7 +106,7 @@ nCases = length(launchpad.indexAlpha); %%% both lateral and longitudinal XCP involved % the launchpad dynamics is used to write the aerodynamics states -xcg = rocket.xCg; +xcg = rocket.xcg; %%% aerodynamics coefficient @launchpad exit only diff --git a/autoMatricesProtub/mainAutoMatProtub.m b/autoMatricesProtub/mainAutoMatProtub.m index ad85f77314cd2613799be1050520bcfbee2865a7..ba18176b90822310ccdaaed54fa0d027b1bdf7e2 100644 --- a/autoMatricesProtub/mainAutoMatProtub.m +++ b/autoMatricesProtub/mainAutoMatProtub.m @@ -36,8 +36,7 @@ end %% CHOICE OF NUMBER OF XCG timeXcgTotal = rocket.motor.time; -xcgTotal = rocket.xCg; -nXcg = autoMatSettings.vars.Nxcg; +xcgTotal = rocket.xcg; if nXcg == 1 chosenXcg = xcgTotal(1); @@ -76,7 +75,7 @@ end tic %% COMPUTE HIGH AOA AERODYNAMIC COEFFICIENTS -autoMatSettings.varsHighAOA.xcg = rocket.xCg(end); +autoMatSettings.varsHighAOA.xcg = rocket.xcg(end); if length(autoMatSettings.varsHighAOA.alpha) > 20 || ... length(autoMatSettings.varsHighAOA.mach) > 20 error("automatrices with Dissile and alpha/mach" + ... diff --git a/common b/common index 7589b2690bf66066247dd1236f27eb2ee7c52cbd..bc61b5b9265bde0f30dfc53db0bf5820e3c69b04 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 7589b2690bf66066247dd1236f27eb2ee7c52cbd +Subproject commit bc61b5b9265bde0f30dfc53db0bf5820e3c69b04 diff --git a/sensitivityAnalysis/src/stochParameters/initParameter.m b/sensitivityAnalysis/src/stochParameters/initParameter.m index 1d9db0add415adba11358e2d106ba17337477bc3..f00667535ec5a68b704a5e237a045ec0ce22df05 100644 --- a/sensitivityAnalysis/src/stochParameters/initParameter.m +++ b/sensitivityAnalysis/src/stochParameters/initParameter.m @@ -86,7 +86,7 @@ for i = 1:length(parameters) parameters(i).value = rocket.lengthCenter; parameters(i).udm = 'm'; case 'centerOfMass' - parameters(i).value = rocket.xCg; + parameters(i).value = rocket.xcg; parameters(i).udm = 'm'; case 'finsRootChord' parameters(i).value = rocket.rear.finsRootChord; diff --git a/sensitivityAnalysis/src/stochParameters/updateData.m b/sensitivityAnalysis/src/stochParameters/updateData.m index e6e858eb13715fbac02489e0843c42070f490253..f36cefd6e7ecf7ee69674f3c1a4ecd24e9defdb0 100644 --- a/sensitivityAnalysis/src/stochParameters/updateData.m +++ b/sensitivityAnalysis/src/stochParameters/updateData.m @@ -83,7 +83,7 @@ for i = 1:length(parameters) case 'rocketLCenter' rocket.lengthCenter = value; case 'centerOfMass' - rocket.xCg = value; + rocket.xcg = value; case 'finsRootChord' rocket.rear.finsRootChord = value; case 'finsFreeChord' diff --git a/stabilityAnalysis/mainStabilityAnalysis.m b/stabilityAnalysis/mainStabilityAnalysis.m index 28208bb1299ae3d8e63dafe8aa8491b0edd0eee7..1fc32daafebb97c85a167bca9ed97ec50e40177d 100644 --- a/stabilityAnalysis/mainStabilityAnalysis.m +++ b/stabilityAnalysis/mainStabilityAnalysis.m @@ -50,7 +50,7 @@ if isempty(settings), settings = Settings('stabilityAnalysis', 'ode'); end % Settings.read(settings, options, 'stability'); settings.stability.dissile.alt = environment.z0; -settings.stability.dissile.xcg = rocket.xCg(1); +settings.stability.dissile.xcg = rocket.xcg(1); %% LAUNCHPAD DYNAMICS % states to compute the exit pad velocity @@ -73,7 +73,7 @@ solution = ode113(@ballistic, [0, 10], Y0, options, ... vExit = solution.y(4, end); machExit = vExit/a; settings.stability.dissile.fltcon.MACH = machExit; % Mach @launchpad -settings.stability.dissile.refq.XCG = interpLinear(rocket.motor.time, rocket.xCg, solution.x(end)); +settings.stability.dissile.refq.XCG = interpLinear(rocket.motor.time, rocket.xcg, solution.x(end)); settings.stability.dissile.fltcon.ALT = environment.z0; % Altitude @launchpad diff --git a/utils/rocketpyData/exportRocketpy.m b/utils/rocketpyData/exportRocketpy.m index 14af13de3f524454412c7a65f845983c5286ecfb..c7dc066a46824cfa82b00d4a5839e7da505a24a9 100644 --- a/utils/rocketpyData/exportRocketpy.m +++ b/utils/rocketpyData/exportRocketpy.m @@ -35,34 +35,34 @@ CA_3 = squeeze(cat(3, rocket.coefficients.total(1, alpha0, 1:iOpen, beta0, 1, 3, rocket.coefficients.total(1, alpha0, iOpen+1:end, beta0, 1, 1, 1))); %% bays details -total_center_of_mass = rocket.xCg(end); +total_center_of_mass = rocket.xcg(end); rocket_mass = rocket.massNoMotor; rocket_center_of_mass = rocket.xCgNoMotor; booster_mass = rocket.stagesMass(1); payload_mass = rocket.stagesMass(2); -booster_center_of_mass = ((rocket.parafoil.noseLength + rocket.xCg(end))*rocket.mass(end) ... - - rocket.parafoil.xCg*rocket.parafoil.mass)/rocket.stagesMass(1) - rocket.parafoil.length; -payload_center_of_mass = rocket.parafoil.xCg; +booster_center_of_mass = ((rocket.parafoil.noseLength + rocket.xcg(end))*rocket.mass(end) ... + - rocket.parafoil.xcg*rocket.parafoil.mass)/rocket.stagesMass(1) - rocket.parafoil.length; +payload_center_of_mass = rocket.parafoil.xcg; % parafoil mPld = rocket.parafoil.mass; lPld = rocket.parafoil.length; -xcgPld = rocket.parafoil.xCg; +xcgPld = rocket.parafoil.xcg; % recovery mRcs = rocket.recovery.mass; lRcs = rocket.recovery.length; -xcgRcs = rocket.recovery.xCg; +xcgRcs = rocket.recovery.xcg; % electronics mElc = rocket.electronics.mass; lElc = rocket.electronics.length; -xcgElc = rocket.electronics.xCg; +xcgElc = rocket.electronics.xcg; % airbrakes mArb = rocket.airbrakes.mass; lArb = rocket.airbrakes.length; -xcgArb = rocket.airbrakes.xCg; +xcgArb = rocket.airbrakes.xcg; % motor propMass = rocket.motor.propellantMass; @@ -70,7 +70,7 @@ usedPropMass = propMass - propMass(end); time = rocket.motor.time; propMassDot = diff(usedPropMass)./diff(time); propMassDot(end + 1) = propMassDot(end); -propCG = (rocket.xCg.*(usedPropMass + total_center_of_mass) - total_center_of_mass*total_center_of_mass)./usedPropMass; +propCG = (rocket.xcg.*(usedPropMass + total_center_of_mass) - total_center_of_mass*total_center_of_mass)./usedPropMass; propCG(end) = propCG(end - 1); propCG = propCG - rocket.absolutePositions("motor"); burn_time = time(end); @@ -78,15 +78,15 @@ thrust = rocket.motor.thrust; motor_dry_mass = rocket.motor.structureMass; lMot = rocket.motor.length; -xcgMotWet = rocket.motor.xCg; +xcgMotWet = rocket.motor.xcg; motor_center_of_dry_mass = 1/rocket.motor.structureMass *... - (rocket.motor.xCg(1) * (rocket.motor.structureMass + rocket.motor.propellantMass(1)) - ... + (rocket.motor.xcg(1) * (rocket.motor.structureMass + rocket.motor.propellantMass(1)) - ... rocket.motor.propellantMass(1) * propCG(1)); % rear (fins + fincan + boat, it overlaps with motor) mRear = rocket.rear.mass; lRear = rocket.rear.length; -xcgRear = rocket.rear.xCg; +xcgRear = rocket.rear.xcg; %% inertia details % inertia without motor @@ -96,9 +96,9 @@ rocket_I_33 = rocket.inertiaNoMotor(1); % propellant inertia prop_I_11 = (rocket.inertia(2, :) - rocket.inertia(2, end)) - ... - usedPropMass .* (rocket.xCg - (rocket.absolutePositions("motor") + propCG)).^2; + usedPropMass .* (rocket.xcg - (rocket.absolutePositions("motor") + propCG)).^2; prop_I_22 = (rocket.inertia(3, :) - rocket.inertia(3, end)) - ... - usedPropMass .* (rocket.xCg - (rocket.absolutePositions("motor") + propCG)).^2; + usedPropMass .* (rocket.xcg - (rocket.absolutePositions("motor") + propCG)).^2; prop_I_33 = (rocket.inertia(1, :) - rocket.inertia(1, end)); % motor inertia @@ -114,10 +114,10 @@ motor_I_33_dry = motor_I_33(1) - prop_I_33(1); % booster inertia deltaDistance = rocket.absolutePositions("parafoil") + rocket.parafoil.length; -booster_I_11 = rocket.inertia(2, end) + rocket.mass(end) * (rocket.xCg(end) - deltaDistance - booster_center_of_mass)^2 - ... - (rocket.parafoil.inertia(2, end) + rocket.parafoil.mass * (rocket.parafoil.length - rocket.parafoil.xCg + booster_center_of_mass)^2); -booster_I_22 = rocket.inertia(3, end) + rocket.mass(end) * (rocket.xCg(end) - deltaDistance - booster_center_of_mass)^2 - ... - (rocket.parafoil.inertia(3, end) + rocket.parafoil.mass * (rocket.parafoil.length - rocket.parafoil.xCg + booster_center_of_mass)^2); +booster_I_11 = rocket.inertia(2, end) + rocket.mass(end) * (rocket.xcg(end) - deltaDistance - booster_center_of_mass)^2 - ... + (rocket.parafoil.inertia(2, end) + rocket.parafoil.mass * (rocket.parafoil.length - rocket.parafoil.xcg + booster_center_of_mass)^2); +booster_I_22 = rocket.inertia(3, end) + rocket.mass(end) * (rocket.xcg(end) - deltaDistance - booster_center_of_mass)^2 - ... + (rocket.parafoil.inertia(3, end) + rocket.parafoil.mass * (rocket.parafoil.length - rocket.parafoil.xcg + booster_center_of_mass)^2); booster_I_33 = rocket.inertia(1, end) - rocket.parafoil.inertia(1, end); % parafoil inertia