{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 2: Stress and Strain Relationships for Elastic Behavior" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Example 2.1, State of Stress in two dimensions, Page No. 25" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "sigma_x= -12.5 MPa\n", "sigma_y= -2.5 MPa\n", "T_xy= 57.5 MPa\n", "sigma_y`= -65 MPa\n" ] } ], "source": [ "\n", "from math import sin\n", "from math import cos\n", "from math import radians\n", "from numpy.linalg import inv\n", "import numpy as np\n", "\n", "#variable declaration\n", "sigma_x=25;\n", "sigma_y=5;\n", "theta=45;\n", "sigma_x_=50;\n", "T_x_y_=5;\n", "\n", "#calculation\n", "theta=radians(theta);\n", "A=[[(sigma_x+sigma_y)/2+(sigma_x-sigma_y)/2*cos(2*theta),sin(2*theta)],[(sigma_y-sigma_x)/2*sin(2*theta),cos(2*theta)]];\n", "B=[[sigma_x_],[T_x_y_]];\n", "X=np.dot(inv(A),B);\n", "p=X[0];\n", "T_xy=X[1];\n", "sigma_x1=sigma_x*p;\n", "sigma_y1=sigma_y*p;\n", "sigma_y_=sigma_x1+sigma_y1-sigma_x_;\n", "\n", "#result\n", "print ('\\nsigma_x= %g MPa\\nsigma_y= %g MPa\\nT_xy= %g MPa\\nsigma_y`= %g MPa') %(sigma_x1,sigma_y1,T_xy,sigma_y_);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 2.2, State of Stress in three dimensions, Page No. 29" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "sigma0 = 360 MPa\n", "\n", "sigma1 = -280 MPa\n", "\n", "sigma2 = -160 MPa\n" ] } ], "source": [ "import numpy as np\n", "\n", "#variable declaration\n", "A=[[0,-240,0],[-240,200,0],[0,0,-280]];\n", "\n", "#calcualtion\n", "p=[1, -(A[0][0]+A[1][1]+A[2][2]), (A[0][0]*A[1][1]+A[1][1]*A[2][2]+A[0][0]*A[2][2]-A[1][0]**2-A[2][1]**2-A[2][0]**2), -(A[0][0]*A[1][1]*A[2][2]+2*A[1][0]*A[2][1]*A[2][0]-A[0][0]*A[2][1]**2-A[1][1]*A[2][0]**2-A[2][2]*A[1][0]**2)];\n", "X=np.roots(p);\n", "\n", "#result\n", "for i in range (0,3):\n", " print('\\nsigma%i = %g MPa')%(i,X[i]);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 2.3, Calculation of Stresses from elastic strains, Page No. 52" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "sigma1 = 971.833 MPa\n", "sigma2 = 520.705 MPa\n", "\n", "\n", "Note: Slight calculation errors in Book\n" ] } ], "source": [ "\n", "\n", "#variable declaration\n", "E=200;\n", "nu=0.33;\n", "e1=0.004;\n", "e2=0.001;\n", "\n", "#calculation\n", "sigma1=E*(e1+nu*e2)/(1-nu**2);\n", "sigma2=E*(e2+nu*e1)/(1-nu**2);\n", "sigma1=sigma1*1000; #conversion to MPa\n", "sigma2=sigma2*1000; #conversion to MPa\n", "\n", "#result\n", "print('\\nsigma1 = %g MPa\\nsigma2 = %g MPa\\n')%(sigma1,sigma2);\n", "print('\\nNote: Slight calculation errors in Book')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 2.4, Elastic Anisotropy, Page No. 60" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "For Iron:\n", "\n", "\n", "E_111 = 2.72727 x 10^11 Pa\n", "E_100 = 1.25 x 10^11 Pa\n", "\n", "\n", "\n", "\n", "For Tungten:\n", "\n", "\n", "E_111 = 3.84615 x 10^11 Pa\n", "E_100 = 3.84615 x 10^11 Pa\n", "\n", "Therefore tungsten is elastically isotropic while iron is elasitcally anisotropic\n" ] } ], "source": [ "\n", "\n", "#variable declaration\n", "from math import sqrt\n", "S11_Fe=0.8;\n", "S12_Fe=-0.28;\n", "S44_Fe=0.86;\n", "S11_W=0.26;\n", "S12_W=-0.07;\n", "S44_W=0.66;\n", "D_100_l=1;\n", "D_100_m=0;\n", "D_100_n=0;\n", "D_110_l=1/sqrt(2);\n", "D_110_m=1/sqrt(2);\n", "D_110_n=0;\n", "D_111_l=1/sqrt(3);\n", "D_111_m=1/sqrt(3);\n", "D_111_n=1/sqrt(3);\n", "\n", "#calculation\n", "Fe_E_111=1/(S11_Fe-2*((S11_Fe-S12_Fe)-S44_Fe/2)*(D_111_l**2*D_111_m**2+D_111_n**2*D_111_m**2+D_111_l**2*D_111_n**2));\n", "Fe_E_100=1/(S11_Fe-2*((S11_Fe-S12_Fe)-S44_Fe/2)*(D_100_l**2*D_100_m**2+D_100_n**2*D_100_m**2+D_100_l**2*D_100_n**2));\n", "W_E_111=1/(S11_W-2*((S11_W-S12_W)-S44_W/2)*(D_111_l**2*D_111_m**2+D_111_n**2*D_111_m**2+D_111_l**2*D_111_n**2));\n", "W_E_100=1/(S11_W-2*((S11_W-S12_W)-S44_W/2)*(D_100_l**2*D_100_m**2+D_100_n**2*D_100_m**2+D_100_l**2*D_100_n**2));\n", "\n", "#result\n", "print '\\nFor Iron:\\n\\n'\n", "print 'E_111 = %g x 10^11 Pa\\nE_100 = %g x 10^11 Pa\\n' %(Fe_E_111,Fe_E_100)\n", "print '\\n\\n\\nFor Tungten:\\n\\n'\n", "print 'E_111 = %g x 10^11 Pa\\nE_100 = %g x 10^11 Pa\\n\\nTherefore tungsten is elastically isotropic while iron is elasitcally anisotropic' %(W_E_111,W_E_100)\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }