diff options
Diffstat (limited to 'Aircraft_Structures_for_Engineering_Students/Chapter25.ipynb')
-rwxr-xr-x | Aircraft_Structures_for_Engineering_Students/Chapter25.ipynb | 490 |
1 files changed, 490 insertions, 0 deletions
diff --git a/Aircraft_Structures_for_Engineering_Students/Chapter25.ipynb b/Aircraft_Structures_for_Engineering_Students/Chapter25.ipynb new file mode 100755 index 00000000..369a648f --- /dev/null +++ b/Aircraft_Structures_for_Engineering_Students/Chapter25.ipynb @@ -0,0 +1,490 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:806c344ebbd66dd7398f87b7be85af8355708b04b28f0bd902647a641248feff"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 25: Laminated Composite Structures"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.1 Pg.No.653"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "Ee=5000 #youngs modulus of epoxy (N/mm^2)\n",
+ "Ec=200000 #youngs modulus of carbon (N/mm^2)\n",
+ "\n",
+ "# E1=Ef*Af/A+Em+Am/A equation 25.4\n",
+ "A=50*80 #total area (mm^2)\n",
+ "Ae=40*80 #area of epoxy (mm^2)\n",
+ "Ac=10*80 #area of carbon(mm^2)\n",
+ "L=500 #length of bar(mm)\n",
+ "vc=0.3 #poisson ratio\n",
+ "ve=0.2\n",
+ "\n",
+ "#effective youngs modulus\n",
+ "E1=(Ee*Ae+Ec*Ac)/A\n",
+ "\n",
+ "load=100*10**3\n",
+ "sigma1=load/A\n",
+ "epsilon1=sigma1/E1\n",
+ "\n",
+ "delta1=epsilon1*L\n",
+ "v1t=(ve*Ae+vc*Ac)/A\n",
+ "epsilon_t=-v1t*epsilon1\n",
+ "\n",
+ "thickness=L\n",
+ "delta_t=-epsilon_t*(thickness)\n",
+ "\n",
+ "\n",
+ "sigma_m=Ee*epsilon1\n",
+ "sigma_f=Ec*epsilon1\n",
+ "print \"stresses in epoxy = %2.2f N/mm^2\\n\"%(sigma_m)\n",
+ "print \"stresses in carbon = %2.2f N/mm^2\\n\"%(sigma_f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "stresses in epoxy = 2.84 N/mm^2\n",
+ "\n",
+ "stresses in carbon = 113.64 N/mm^2\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.2 Pg.No.657"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "tau=40 #shear stress(N/mm^2)\n",
+ "G=5000 #shear modulus(N/mm^2)\n",
+ "v1t=0.3 #poisson ratio \n",
+ "Et=80000 #youngs modulus in transverse direction(N/mm^2)\n",
+ "E1=120000 #youngs modulus in longitudinal direction(N/mm^2)\n",
+ "sigma_x=50 #direction stress in x direciton\n",
+ "sigma_y=25 #in y direction\n",
+ "\n",
+ "\n",
+ "vt1=v1t*Et/E1 #minor poisson ratio\n",
+ "\n",
+ "epsilon1=sigma_x/E1-vt1*sigma_y/Et\n",
+ "epsilont=sigma_y/Et-v1t*sigma_x/E1\n",
+ "print \"direct strain in x direction = %2.2e \\n\"%(epsilon1)\n",
+ "print \"direct strain in y direction = %2.2e \\n\"%(epsilont)\n",
+ "\n",
+ "gama1t=tau/G\n",
+ "print \"shear strain in the ply = %2.2e \\n\"%(gama1t)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "direct strain in x direction = 3.54e-04 \n",
+ "\n",
+ "direct strain in y direction = 1.88e-04 \n",
+ "\n",
+ "shear strain in the ply = 8.00e-03 \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.3 Pg.No.661"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "El=150000 #youngs modulus(N/mm^2)\n",
+ "Et=90000 #youngs modulus(N/mm^2)\n",
+ "Glt=5000 #shear modulus(N/mm^2)\n",
+ "vlt=0.3 #poisson ratio\n",
+ "theta=45 #longitudinal plane inclination\n",
+ "\n",
+ "s11=1/El\n",
+ "s22=1/Et\n",
+ "s12=-vlt/El\n",
+ "s33=1/Glt\n",
+ "\n",
+ "a=np.array([[53.45,-46.55,1],[-46.55,53.45,0],[-2.2,-2.2,0]])\n",
+ "b=np.array([60,40,0])\n",
+ "x=np.dot(a,b)\n",
+ "print \"strain in the x direction = %4.4e\\n\"%(x[0]*10**-6)\n",
+ "print \"strain in the y direction = %4.4e\\n\"%(x[1]*10**-6)\n",
+ "print \"shear strain in the xy plane = %4.4e\\n\"%(x[2]*10**-6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "strain in the x direction = 1.3450e-03\n",
+ "\n",
+ "strain in the y direction = -6.5500e-04\n",
+ "\n",
+ "shear strain in the xy plane = -2.2000e-04\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.4 Pg.No.664"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "l1=150\n",
+ "t1=1\n",
+ "l2=100 #dimensions shown in Fig 25.10 (mm)\n",
+ "t2=2\n",
+ "Ef=60000 #youngs modulus of flanges(N/mm^2)\n",
+ "Ew=20000 #youngs modulus of web(N/mm^2)\n",
+ "P=40*10**3 #axial load(N)\n",
+ "\n",
+ "#sum of b*t*E \n",
+ "sum_btE=2*l2*t2*Ef+l1*t1*Ew\n",
+ "\n",
+ "epsilon_z=P/sum_btE #equ 25.37\n",
+ "P_flange=epsilon_z*l2*t2*Ef\n",
+ "P_web=epsilon_z*l1*t1*Ew\n",
+ "print \"axial load in flange = %2.2f kN\\n\"%(P_flange/1000)\n",
+ "print \"axial load in web = %2.2f kN\\n\"%(P_web/1000)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "axial load in flange = 17.78 kN\n",
+ "\n",
+ "axial load in web = 4.44 kN\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.5 Pg.No.666"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "l1=100\n",
+ "l2=50\n",
+ "t1=1 #dimension shown in Fig 25.11 (mm)\n",
+ "t2=2\n",
+ "Ef=50000 #youngs modulus of flange(N/mm^2)\n",
+ "Ew=15000 #youngs modulus of web(N/mm^2)\n",
+ "Mx=10**6 #bending moment (N.mm)\n",
+ "My=0\n",
+ "\n",
+ "Ixx=2*Ef*l2*t2*l2**2+Ew*t1*l1**3/12\n",
+ "Iyy=Ef*t2*l1**3/12\n",
+ "Ixy=Ef*l2*t2*(50)*(50)+Ef*l2*t2*(-50)*(-50)\n",
+ "\n",
+ "x=50\n",
+ "y=50 #point 1\n",
+ "Ez=50000\n",
+ "\n",
+ "sigma_z=Ez*((My*Ixx-Mx*Ixy)/(Ixx*Iyy-Ixy**2)*x + (Mx*Iyy-My*Ixy)/(Ixx*Iyy-Ixy**2)*y)\n",
+ "print \"direct stress at point 1 = %3.1f N/mm^2\\n\"%(sigma_z)\n",
+ "x=0\n",
+ "y=50\n",
+ "sigma_z=Ez*((My*Ixx-Mx*Ixy)/(Ixx*Iyy-Ixy**2)*x + (Mx*Iyy-My*Ixy)/(Ixx*Iyy-Ixy**2)*y)\n",
+ "print \"direct stress at point 2 = %3.1f N/mm^2\\n\"%(sigma_z)\n",
+ "\n",
+ "x=0\n",
+ "y=50\n",
+ "Ez=15000\n",
+ "sigma_z=Ez*((My*Ixx-Mx*Ixy)/(Ixx*Iyy-Ixy**2)*x + (Mx*Iyy-My*Ixy)/(Ixx*Iyy-Ixy**2)*y)\n",
+ "print \"direct stress at point 2 in the web = %3.1f N/mm^2\\n\"%(sigma_z)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "direct stress at point 1 = 102.6 N/mm^2\n",
+ "\n",
+ "direct stress at point 2 = -51.3 N/mm^2\n",
+ "\n",
+ "direct stress at point 2 in the web = -15.4 N/mm^2\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.6 Pg.No.668"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import numpy as np\n",
+ "from sympy import symbols, integrate\n",
+ "\n",
+ "s=symbols('s')\n",
+ "\n",
+ "l12=250\n",
+ "l23=300\n",
+ "t31=t12=2 #dimensions shown in Fig 25.12 (mm)\n",
+ "t23=1.5\n",
+ "\n",
+ "P=2*10**3 #shear load(N)\n",
+ "E12=E31=45000 #youngs modulus of sides given in name(N/mm^2)\n",
+ "E23=20000\n",
+ "\n",
+ "Ixx=2*E12*t12*l12**3*(l23/2/l12)**2/12+E23*t23*l23**3/12\n",
+ "alpha=math.asin(l23/2/l12)\n",
+ "\n",
+ "Sx=0\n",
+ "Sy=2*10**3\n",
+ "q12=-E12*Sy/Ixx*integrate(-2*s,(s,0,250))*math.sin(alpha)\n",
+ "print \"shear flow at point 2 in the flange 12 = %2.2f N/mm\\n\"%(q12)\n",
+ "\n",
+ "q23=-E23*Sy/Ixx*integrate(-225+1.5*s,(s,0,300))+22.2\n",
+ "print \"shear flow at point 3 in the flange 23 = %2.2f N/mm\\n\"%(q23)\n",
+ "q0=14.2\n",
+ "\n",
+ "q12=-E12*Sy/Ixx*integrate(-2*s,s)*math.sin(alpha)-q0\n",
+ "print \"shear flow in the flange 12 and 31 \"\n",
+ "print q12\n",
+ "\n",
+ "q23=-E23*Sy/Ixx*integrate(-225+1.5*s,s,)+22.2-q0\n",
+ "print \"\\nshear flow in the web 23\"\n",
+ "print q23"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "shear flow at point 2 in the flange 12 = 22.22 N/mm\n",
+ "\n",
+ "shear flow at point 3 in the flange 23 = 22.20 N/mm\n",
+ "\n",
+ "shear flow in the flange 12 and 31 \n",
+ "0.000355555555555556*s**2 - 14.2\n",
+ "\n",
+ "shear flow in the web 23\n",
+ "-0.000197530864197531*s**2 + 0.0592592592592593*s + 8.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.7 Pg.No.671"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import numpy as np\n",
+ "from sympy import symbols, integrate\n",
+ "\n",
+ "\n",
+ "l1=200\n",
+ "t1=2\n",
+ "l2=100 #dimensions shown in Fig 25.13 (mm)\n",
+ "t2=1\n",
+ "T=10*10**6 #torque applied (N.mm)\n",
+ "Gl=20000 #laminate shear modulus(N/mm^2)\n",
+ "Gw=35000 #web shear modulus(N/mm^2)\n",
+ "A=l1*l2\n",
+ "\n",
+ "q=T/2/A\n",
+ "\n",
+ "#from eqn 25.47\n",
+ "int_ds_by_Gt=2*l1/Gl/t1+2*l2/Gw/t2\n",
+ "\n",
+ "#Let's say we want to calculate warping at point 1\n",
+ "#warping at mid of web is zero (W0=0) integrate eqn 25.47 from\n",
+ "#mid of web to point 1\n",
+ "W0=0\n",
+ "A0s=50*100\n",
+ "W1=W0+q*(l2/2/Gw/t2-int_ds_by_Gt/A*A0s)\n",
+ "print \"warping at point 1 is = %2.2f mm\\n\"%(W1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "warping at point 1 is = -0.63 mm\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.8 Pg.No.673"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "import numpy as np\n",
+ "from sympy import symbols, integrate\n",
+ "\n",
+ "l1=50\n",
+ "t1=2.5\n",
+ "l2=25 #dimension shown in Fig 18.12(mm)\n",
+ "t2=1.5\n",
+ "\n",
+ "Gl=20000\n",
+ "Gw=15000 #shear modulus (N/mm^2)\n",
+ "T=10*10**3 #torque applied (N.mm)\n",
+ "AR=25*25/2\n",
+ "GJ=2*Gl*l2*t2**3/3+Gw*l1*t1**3/3\n",
+ "#eqn 25.49\n",
+ "dO_dz=T/GJ\n",
+ "\n",
+ "t_max12=2*Gl*(t2/2)*dO_dz\n",
+ "t_max23=2*Gw*(t1/2)*dO_dz\n",
+ "print \"maximum shear stress in the web = %2.2f N/mm^2\\n\"%(t_max12)\n",
+ "print \"maximum shear stress in the laminate = %2.2f N/mm^2\\n\"%(t_max23)\n",
+ "\n",
+ "W1=-2*AR*dO_dz\n",
+ "print \"warping at point 1 = %2.2f mm\\n\"%(W1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "maximum shear stress in the web = 59.63 N/mm^2\n",
+ "\n",
+ "maximum shear stress in the laminate = 74.53 N/mm^2\n",
+ "\n",
+ "warping at point 1 = -1.24 mm\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |