From 32b6a6e80d22a6d6e8449821d3117252de3e89ba Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Mon, 15 Jul 2019 13:29:36 -0700 Subject: commence class-ification of gui --- wing_scripts/eye_beam_example.m | 70 +++++ wing_scripts/get_dp.m | 4 + wing_scripts/get_ds.m | 20 ++ wing_scripts/get_int.m | 35 +++ wing_scripts/get_z.m | 34 +++ wing_scripts/my_progress.m | 459 ++++++++++++++++++++++++++++ wing_scripts/stringersBeamExample.m | 47 +++ wing_scripts/wingAnalysis_190422.m | 579 ++++++++++++++++++++++++++++++++++++ 8 files changed, 1248 insertions(+) create mode 100644 wing_scripts/eye_beam_example.m create mode 100644 wing_scripts/get_dp.m create mode 100644 wing_scripts/get_ds.m create mode 100644 wing_scripts/get_int.m create mode 100644 wing_scripts/get_z.m create mode 100644 wing_scripts/my_progress.m create mode 100644 wing_scripts/stringersBeamExample.m create mode 100644 wing_scripts/wingAnalysis_190422.m (limited to 'wing_scripts') diff --git a/wing_scripts/eye_beam_example.m b/wing_scripts/eye_beam_example.m new file mode 100644 index 0000000..70b4d92 --- /dev/null +++ b/wing_scripts/eye_beam_example.m @@ -0,0 +1,70 @@ +% Bending/Shear stress example +close all; + +length = 20; % in +force = 10000; %lbs + +%eye-beam dimensions + +max_width = 4; % in +min_width = 1; % in +y_max = 4; % in +center_y = 2; % in + + +%max bending moment at the root... + +M = force*length; + +I = min_width*(2*center_y)^3/12 + 2*( max_width*(y_max-center_y)^3/12 + ... + max_width*(y_max-center_y)*((y_max+center_y)/2)^2); + +sigma_max = M * y_max / I; + + +% solve for shear stress distribution +% V / (I * t) * int(y*da) + +% Point 1: evaluated at location just before thickness changes from 4 to 1 in +tempCoeff = force / (I * max_width); +int_y_da = ((y_max+center_y)/2) * max_width*(y_max-center_y); +shear_1 = tempCoeff*int_y_da; + +% Point 2: evaluated at location just after thickness changes from 4 to 1 in +tempCoeff = force / (I * min_width); +shear_2 = tempCoeff*int_y_da; + + +% Point 3: evaluated at center of beam +tempCoeff = force / (I * min_width); +int_y_da = (center_y/2) * min_width*center_y; +shear_3 = shear_2+tempCoeff*int_y_da; + +%evaluating continous integral for width of 4.. +int_y_da_4 = force / (I * max_width)*4*(y_max^2/2 - (center_y:.1:y_max).^2/2); + +%evaluating continous integral for width of 1.. +int_y_da_1 = shear_2 + force / (I * min_width)*1*(center_y^2/2 - (0:.1:center_y).^2/2); + +figure; grid on; hold on;set(gcf,'color',[1 1 1]); +plot(int_y_da_4,center_y:.1:y_max,'linewidth',2) +plot(int_y_da_1,0:.1:center_y,'linewidth',2) +plot(int_y_da_1,0:-.1:-center_y,'linewidth',2) +plot(int_y_da_4,-center_y:-.1:-y_max,'linewidth',2) +plot([shear_1 shear_2],[center_y center_y],'linewidth',2) +plot([shear_1 shear_2],[-center_y -center_y],'linewidth',2) + +plot(shear_1,center_y,'o') +plot(shear_2,center_y,'o') +plot(shear_3,0,'o') +plot(shear_2,-center_y,'o') +plot(shear_1,-center_y,'o') + +xlabel('shear stress (lb/in^2)','fontsize',16,'fontweight','bold');ylabel('Distance from Center (in)','fontsize',16,'fontweight','bold') +set(gca,'FontSize',16,'fontweight','bold'); + + +figure; grid on; hold on;set(gcf,'color',[1 1 1]); +plot([0 4 4 2.5 2.5 4 4 0 0 1.5 1.5 0 0],[4 4 2 2 -2 -2 -4 -4 -2 -2 2 2 4],'linewidth',2) + + diff --git a/wing_scripts/get_dp.m b/wing_scripts/get_dp.m new file mode 100644 index 0000000..2a3281d --- /dev/null +++ b/wing_scripts/get_dp.m @@ -0,0 +1,4 @@ +function z = get_dp(xDist,zDist,Vx,Vz,Ix,Iz,Ixz,A) + +denom = (Ix*Iz-Ixz^2); +z = -A*xDist*(Ix*Vx-Ixz*Vz)/denom - A*zDist*(Iz*Vz-Ixz*Vx)/denom; diff --git a/wing_scripts/get_ds.m b/wing_scripts/get_ds.m new file mode 100644 index 0000000..2f0eb9d --- /dev/null +++ b/wing_scripts/get_ds.m @@ -0,0 +1,20 @@ +function ds = get_ds(xi,xf,u) + +dist = 0; +numSteps = 10; +dx = (xf-xi)/numSteps; +z0 = get_z(xi,u); +x0 = xi; +for i=1:10 + tempX = x0+dx; + if tempX > 0 + tempZ = get_z(tempX,u); + else + tempZ = 0; + end + dist = dist + (dx^2+(tempZ-z0)^2)^.5; + z0 = tempZ; + x0 = tempX; +end + +ds =dist; \ No newline at end of file diff --git a/wing_scripts/get_int.m b/wing_scripts/get_int.m new file mode 100644 index 0000000..edbfda3 --- /dev/null +++ b/wing_scripts/get_int.m @@ -0,0 +1,35 @@ +function z = get_int(xi,xf,u) + +M = 0.02; +P = 0.4; +T = 0.12; +a0 = 0.2969; +a1 = -0.126; +a2 = -0.3516; +a3 = 0.2843; +a4 = -0.1015; + + +%evaluate the integral of camber line, depending on xi and xf related to P + +if xf