diff options
author | Trupti Kini | 2016-05-04 16:37:23 +0600 |
---|---|---|
committer | Trupti Kini | 2016-05-04 16:37:23 +0600 |
commit | 12a4d12a4a8e5ee8a44b91ef409b9da0cc49dc30 (patch) | |
tree | c10ef2ecbdc62954d9aa2fa93485b9d2ecf008fb | |
parent | 196b049bed4dc62feb00c721a6a0e06376262699 (diff) | |
download | Python-Textbook-Companions-12a4d12a4a8e5ee8a44b91ef409b9da0cc49dc30.tar.gz Python-Textbook-Companions-12a4d12a4a8e5ee8a44b91ef409b9da0cc49dc30.tar.bz2 Python-Textbook-Companions-12a4d12a4a8e5ee8a44b91ef409b9da0cc49dc30.zip |
Added(A)/Deleted(D) following books
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9_2.ipynb
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_3.png
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_3.png
A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_3.png
14 files changed, 7073 insertions, 0 deletions
diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10_2.ipynb new file mode 100644 index 00000000..4ef9f187 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10_2.ipynb @@ -0,0 +1,589 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 10: Columns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.01, Page number 638" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Size of cross section if the column is to safetly support 100 kN = 0.100000 psi \n", + "Case(b): Size of cross section if the column is to safetly support 200 kN = 129 psi \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "L=2 # Length(m)\n", + "E=13*(pow(10,9)) # Modulus of elasticity(GPa) \n", + "Sall=12 # Stress(MPa)\n", + "FS=2.5 # Factor of safety(2.5)\n", + "Ld1=100 # Load force(kN) \n", + "Ld2=200 # Load force(kN) \n", + "\n", + "\n", + "#Calculation \n", + "#(a) For the 100-kN Load\n", + "Pcr=FS*Ld1*(1000.0) # Pressure(kN) \n", + "I=(Pcr*(L**2))/(((math.pi)**2)*E) # Moment of inertia(m**4) \n", + "a1=round((I*12)**(1/4.0),1) # Side of square(mm)\n", + "S=(100)/((0.1)**2) # Normal stress in column(MPa) \n", + "\n", + "#(b) For the 200-kN Load \n", + "Pcr=FS*(Ld2)*(1000.0) # Pressure(kN)\n", + "I=(Pcr*(L**2))/(((math.pi)**2)*E) # Moment of inertia(m**4)\n", + "a=((I)*12)**(1/4.0) # Side of square(mm)\n", + "S=(200/(0.11695)**2) # Normal stress(MPa)\n", + "A=(200/12.0)*(pow(10,-3)) # Area of cross section(m**2)\n", + "a2=(A)**(1/2.0)*(1000) # Side of square(mm)\n", + "\n", + "#Result\n", + "print('Case(a): Size of cross section if the column is to safetly support 100 kN = %lf psi '%a1)\n", + "print('Case(b): Size of cross section if the column is to safetly support 200 kN = %.lf psi '%a2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 10.1, Page number 643" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Ratio for most efficient design = 0.350000 \n", + "Case(b): Design for given data breadth = 1.619708 in \n", + "Case(b): Design for given data length = 0.566898 in \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "L=20 # Length of aluminium column(in)\n", + "E=10.1*(pow(10,6)) # Modulus of elasticity(psi)\n", + "P=5 # Stress(kips) \n", + "L=symbols('L') # Variable declaration\n", + "Le=symbols('Le') # Variable declaration \n", + "Le=0.7*L # Effective length of column\n", + "a=symbols('a') # Variable declaration \n", + "b=symbols('b') # Variable declaration \n", + "Scr=symbols('Scr') # Variable declaration\n", + "ry=(b)/(math.sqrt(12)) # Radius of gyration \n", + "FS=2.5 # Factor of safety\n", + "\n", + "#Calculation \n", + "#Buckling in xy Plane\n", + "Ix=(1/12.0)*(a**3)*b # Moment of inertia\n", + "A=a*b # Area of cross section\n", + "rz=(((1/12.0)*b*(a**3))/(a*b))**(1/2.0) # Radius of gyration\n", + "ESRxy=(Le)/(rz) # Effective slenderness ratio \n", + "\n", + "\n", + "#Buckling in xz Plane \n", + "ESRxz=(Le)/(ry) # Effective slenderness ratio\n", + "\n", + "# Case(a) Most Efficient Design\n", + "Ans=((0.7*L)*(math.sqrt(12.0)))/((2.0*L)*(math.sqrt(12.0))) # Most efficient design \n", + "\n", + "# Case(b) Design for Given Data.\n", + "Pcr=(FS)*(P) # Pressure(kips)\n", + "a=0.35*b # Distance \n", + "A=a*b # Area\n", + "Scr=(Pcr/A) # Stress\n", + "b=(((12500)*((138.6)**2))/(0.35*10.1*(pow(10.0,6))*((math.pi)**2.0)))**(1/4.0) # Distance(in)\n", + "\n", + "\n", + "#Result\n", + "print('Case(a): Ratio for most efficient design = %lf '%Ans)\n", + "print('Case(b): Design for given data breadth = %lf in '%b)\n", + "print('Case(b): Design for given data length = %lf in '%(0.35*b))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 10.2, Page number 654 " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Allowable load = 31.056698 kips\n", + "Case(a): Allowable stress = 8.773078 ksi \n", + "Case(b): The horizontal deflection of the top of the column = 0.939000 in \n", + "Case(b): Maximum normal stress in the column = 21.981585 ksi \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "E=(29*(pow(10,6))) # Modulus of elasticity(psi)\n", + "FS=2 # Factor of safety \n", + "A=3.54 # Area of cross section(in**2) \n", + "I=8.00 # Moment of inertia(in**4)\n", + "r=1.50 # Radius(in)\n", + "c=2.00 # Distance(in) \n", + "Lab=8\n", + "\n", + "#Calculation \n", + "# Effective Length\n", + "Le=2*(Lab) # Effective length(in)\n", + "# Critical Load\n", + "Pcr=((((math.pi)**2)*E*(8.0))/(192.0)**2)/(1000.0) # Critical load(kips)\n", + "\n", + "#Case(a) Allowable Load and Stress\n", + "Pall=Pcr/FS # Allowable load(kips)\n", + "S=Pall/A # Allowable Stress(ksi)\n", + "\n", + "#Case(b) Eccentric Load\n", + "ym=(0.75)*(2.252-1) # Distance(in)\n", + "Sm=(31.1/3.54)*(1+(0.667)*(2.252)) # Distance(in)\n", + "\n", + "#Result\n", + "print('Case(a): Allowable load = %lf kips'%Pall)\n", + "print('Case(a): Allowable stress = %lf ksi '%S)\n", + "print('Case(b): The horizontal deflection of the top of the column = %lf in '%ym)\n", + "print('Case(b): Maximum normal stress in the column = %lf ksi '%Sm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.02, Page number 664" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The longest unsupported length L = 2.318480 m\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "A=1460*(pow(10,-6)) # Area of cross section(m**2)\n", + "rx=41.7 # Radius of gyration(mm)\n", + "ry=14.6 # Radius of gyration(mm)\n", + "P=60*(pow(10,3)) # Force(N)\n", + "E=200*(pow(10,9)) # Modulus of elasticity(GPa)\n", + "L=symbols('L') # Variable Declaration\n", + "r=symbols('r') # Variable Declaration\n", + "Scr=symbols('Scr')\n", + "\n", + "#Calculation \n", + "Sall=(P/A) # Stress of all(Pa)\n", + "Scr=0.8778*((((math.pi)**2)*(E))/(L/r)**2) # Critical stress\n", + "Sall=Scr/1.67 # Stress of all(Pa)\n", + "R1=((1.037*(pow(10,12)))/(1.41*(pow(10,6))))**(1/2) # Slenderness ratio\n", + "R1l=(4.71)*((200*(pow(10,9)))/(250*(pow(10,6))))**(1/2) # Slenderness ratio\n", + "L=158.8*(14.6*(pow(10,-3))) # Choosing the smaller of the two radii of gyration\n", + "\n", + "#Result\n", + "print('The longest unsupported length L = %lf m'%L)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 10.3, Page number 668 " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Effective centric load P if the effective length of the column is 24 = 81.649348 kips\n", + "Effective centric load P if bracing is provided to prevent the movement of the midpoint C in the xz plane = 187.639873 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Sy=36 # Stress(ksi)\n", + "E=(29*(pow(10,6))) # Modulus of elasticity(psi)\n", + "A=11.5 # Area(in**2) \n", + "FS=2 # Factor of safety\n", + "\n", + "\n", + "#Calculation \n", + "ratio=(4.71)*(E/(36*(pow(10,3)))) # Value of the slenderness ratio\n", + "\n", + "#Case(a) Effective Length\n", + "Sr=(24*12)/(1.98) # Value of the slenderness ratio\n", + "Scr=((0.877)*((math.pi)**2)*(29*(pow(10,3))))/(145.5)**2 # Value of the slenderness ratio\n", + "Sall=(Scr/1.67) # Allowable stress(ksi)\n", + "Pall1=Sall*A # Pressure(kips)\n", + "#Case(b) Bracing at Midpoint C \n", + "#xz Plane\n", + "Elxz=(144)/(1.98) # Slenderness ratio\n", + "#yz Plane\n", + "Elyz=(288)/(4.27) # Slenderness ratio\n", + "\n", + "Se=(((math.pi)**2)*(E))/(72.7)**2 # Stress(ksi)\n", + "Scr=(0.658)**(36/54.1)*(36) # Stress(ksi) \n", + "\n", + "Sall=(Scr)/(1.67) # Allowable load(ksi)\n", + "Pall2=Sall*A # Force(ksi) \n", + "\n", + "#Result\n", + "print('Effective centric load P if the effective length of the column is 24 = %lf kips'%Pall1)\n", + "print('Effective centric load P if bracing is provided to prevent the movement of the midpoint C in the xz plane = %lf ksi'%Pall2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 10.4, Page number 669 " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The smallest diameter rod that can be used to support the centric load P=60 kN if L=750 mm = 0.036628 \n", + "The smallest diameter rod that can be used to support the centric load P=60 kN if L=300 mm = 0.023900 \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "P=60 # Centric load(kN)\n", + "c=symbols('c') # Variable declaration\n", + "I=((math.pi)/4.0)*(c**4) # Moment of inertia\n", + "A=(math.pi)*(c**2) # Area of cross section \n", + "\n", + "#Calculation \n", + "r=(I/A)**(1/2.0) # Radius\n", + "\n", + "#Case(a) Length of 750 mm\n", + "c=((60*(pow(10,3))*((0.75)**2)*4)/((math.pi)*(382.0)*(pow(10.0,9))))**(1/4.0)\n", + "Sr=(750)/(18.31/2.0)\n", + "d1=2*c\n", + "\n", + "#Case(b) Length of 300 mm\n", + "c=11.95 # Radius(mm)\n", + "\n", + "Sr=((300)*(2))/(11.95) # Slenderness ratio\n", + "d2=(2*c)/(1000.0) # Required diamter(mm)\n", + "\n", + "#Result\n", + "print('The smallest diameter rod that can be used to support the centric load P=60 kN if L=750 mm = %lf '%d1)\n", + "print('The smallest diameter rod that can be used to support the centric load P=60 kN if L=300 mm = %lf '%d2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.04, Page number 676" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum load that can be safely applied is = 23.278244 kips\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "L=28 # Effective length(in)\n", + "P=symbols('P')\n", + "\n", + "#Calculation \n", + "A=2**2 # Area of cross ection(in**2)\n", + "I=(1/12.0)*(2**4) # Moment of inertia(in**4)\n", + "r=(I/A)**(1/2.0) # Radius(in)\n", + "R1=(28/0.5774) # Ratio\n", + "Sall=(30.9-(0.229*48.5)) # Stress for the aluminum column(ksi) \n", + "P=solve((P/4.0)+((P*0.8*1)/(1.333))-19.79,P) # Maximum load that can be safely applied(kips)\n", + "\n", + "#Result\n", + "print('The maximum load that can be safely applied is = %lf kips'%P[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.05, Page number 677" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum load that can be safely applied is = 26.568262 kips\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Sallcentric=19.79 # Stress all centric(ksi) \n", + "Sallbending=24 # Stress all bending(ksi)\n", + "P=symbols('P')\n", + "\n", + "#Calculation \n", + "P=solve((P/4.0)/(19.79) + ((P*0.8*1)/(1.333*24))-1,P)\n", + "\n", + "#Result\n", + "print('The maximum load that can be safely applied is = %lf kips'%P[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 10.5, Page number 678" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The largest allowable load P is thus = 327.340184 kN\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "E=200 # Modulus of elasticity(GPa)\n", + "Sy=250 # Stress(MPa)\n", + "P=symbols('P') # Variable declaration\n", + "\n", + "#Calculation \n", + "Sall=162.2/1.67 # Allowable stress(MPa)\n", + "\n", + "P=solve(P*((1/(9.42*(pow(10,-3))))+(0.200/(1.050*(pow(10,-3)))))-97.1,P) # Largest load P(kN)\n", + "\n", + "#Result\n", + "print('The largest allowable load P is thus = %lf kN'%(P[0]*1000))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 10.6, Page number 678" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The largest allowable load P is thus = 423.169834 kN\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "E=200 # Modulus of elasticity(GPa)\n", + "Sy=150 # Stress(MPa)\n", + "P=symbols('P') # Variable declaration\n", + "\n", + "\n", + "#Calculation \n", + "P=solve(P*((1/(97.1*9.42*(pow(10,3))))+(0.200/(150*1.050*(pow(10,3)))))-1,P) # Largest allowable load(kN)\n", + "\n", + "#Result\n", + "print('The largest allowable load P is thus = %lf kN'%(P[0]/1000)) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## SAMPLE PROBLEM 10.7, Page number 679" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Selection of Shape. The shape to be used is W8*48\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "A=symbols('A') # Variable declaration \n", + "E=29*(pow(10,6)) # Modulus of elasticity(psi) \n", + "Sy=36 # Stress(ksi) \n", + "SR=133.7 # Slenderness ratio\n", + "Scr=22.5 # Slenderness ratio\n", + "\n", + "#Calculation \n", + "A=solve(22-(85/A)-((425*4)/(A*(pow(3.5,2)))),A) # Area of cross section(in**2) \n", + "\n", + "#Trial 1: W8*35\n", + "#Allowable Bending Stress\n", + "Sall=22 # Allowable bending stress(ksi) \n", + "#Allowable Concentric Stress\n", + "Ratio1=(8.25/13.46)+(13.62/22.0) # Allowable concentric stress(ksi) \n", + "#Since 1.232 > 1.000, the requirement expressed by the interaction formula is not satisfied; we must select a larger trial shape.\n", + "\n", + "#Trial 2: W8*48\n", + "Ratio2=(6.03/13.76)+(9.82/22.0) # Allowable concentric stress(ksi)\n", + "#The W8*48 shape is satisfactory but may be unnecessarily large\n", + "\n", + "#Trial 3: W8*40\n", + "#Following again the same procedure, we find that the interaction formula is not satisfied.\n", + "\n", + "print ('Selection of Shape. The shape to be used is W8*48')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11_2.ipynb new file mode 100644 index 00000000..2a2d920f --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11_2.ipynb @@ -0,0 +1,688 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 11: Energy Methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.01, Page number 699" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Strain energy :- \n", + "0.5*L*P**2/(A*E)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "P=symbols('P') # Force \n", + "L=symbols('L') # Length\n", + "A=symbols('A') # Area \n", + "E=symbols('E') # Modulus of elasticity \n", + "n=symbols('n') # Value\n", + "\n", + "#Calculation \n", + "Un=((P**2)*((1/2.0)*L))/(2*A*E) + ((P**2)*((1/2.0)*L))/(2*(n**2)*A*E) # Strain energy\n", + "U1=Un.subs(n,1) # Strain energy\n", + "\n", + "#Result\n", + "print('Strain energy :- ')\n", + "print(U1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.02, Page number 700" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Strain energy :-\n", + "0.364*P**2*l/AE\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Fbc=symbols('Fbc') # Force\n", + "Fbd=symbols('Fbd') # Force\n", + "BC=symbols('BC') # Length\n", + "BD=symbols('BD') # Length \n", + "AE=symbols('AE') # Length\n", + "l=symbols('l') # Length\n", + "P=symbols('P') # Force\n", + "n=-1\n", + "\n", + "#Calculation \n", + "U=((Fbc**2)*(BC))/(2*AE) + ((Fbd**2)*(BD))/(2*AE) # Strain energy\n", + "SE=U.subs([(BC, (0.6*l)),(BD, (0.8*l)),(Fbc, (0.6*P)),(Fbd, (0.8*P))]) # Strain energy\n", + "\n", + "#Result\n", + "print('Strain energy :-')\n", + "print(SE)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.03, Page number 701" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Strain energy :- \n", + "P**2*l**3/(6*E*I)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import integrate, symbols\n", + "\n", + "#Variable declaration\n", + "P=symbols('P') # Force\n", + "x=symbols('x') # Distance \n", + "E=symbols('E') # Modulus of elasticity\n", + "I=symbols('I') # Moment of inertia \n", + "l=symbols('l') # Value \n", + "n=-1\n", + "\n", + "#Calculation \n", + "U=integrate((((P**2)*(x**2))/(2*E*I)),(x,0,l)) # Strain energy\n", + "\n", + "#Result\n", + "print('Strain energy :- ')\n", + "print(U)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.04, Page number 702" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Strain energy :- \n", + "0.5*L*T**2/(G*j)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "T=symbols('T') # Twisting couple\n", + "L=symbols('L') # Length\n", + "G=symbols('G') # Modulus of elasticity\n", + "j=symbols('j') # Polar moment of inertia\n", + "n=symbols('n') # Value \n", + "\n", + "#Calculation \n", + "Un=((T**2)*((1/2.0)*L))/(2*G*j) + ((T**2)*((1/2.0)*L))/(2*(n**4)*G*j) # Strain energy\n", + "U1=Un.subs(n,1) # Strain energy\n", + "\n", + "#Result\n", + "print('Strain energy :- ')\n", + "print(U1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 11.1, Page number 707" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Yield strength of steel :-\n", + "36.2049720342386\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "E=29*(pow(10,6)) # Elastic strain energy(psi) \n", + "A=((math.pi)/4.0)*(pow(0.75,2)) # Area of cross section(in**2)\n", + "L=60 # Length(in)\n", + "Sy=symbols('Sy') # Stress\n", + "\n", + "#Calculation \n", + "#Factor Of Safety\n", + "U=5*120 # Strain energy(in.lb)\n", + "#Strain-Energy Density \n", + "V=A*L # Volume(in**3)\n", + "u=(U/V) # Strain energy density(in.lb/in**3)\n", + "#Yield Strength\n", + "Sy=solve(Sy**2/(2.0*29.0*pow(10.0,6))-22.6,Sy) # Maximum stress(ksi)\n", + "\n", + "#Result\n", + "print('Yield strength of steel :-')\n", + "print(Sy[1]/1000) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 11.2, Page number 708" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Strain energy :-\n", + "0.166666666666667*P**2*a**2*b**2*(a + b)/(E*I*L**2)\n", + "Case(b): Evaluated Strain energy = 0.000025 psi \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import integrate,symbols\n", + "\n", + "#Variable declaration\n", + "P=40 # Force(kips)\n", + "L=12 # Length(ft)\n", + "a=3 # Length(ft)\n", + "b=9 # Length(ft)\n", + "E=29*(pow(10,6)) # Modulus of elasticity(psi) \n", + "P=symbols('P') # Force\n", + "b=symbols('b') # Length \n", + "L=symbols('L') # Length\n", + "P=symbols('P') # Force\n", + "a=symbols('a') # Length \n", + "x=symbols('x') # Length\n", + "v=symbols('v') # Length\n", + "E=symbols('E') # Modulus of elasticity\n", + "I=symbols('I') # Moment of inertia\n", + "\n", + "#Calculation \n", + "#Bending Moment\n", + "Ra=(P*b)/L # Reaction\n", + "Rb=(P*a)/L # Reaction\n", + "\n", + "M1=((P*b)/L)*x # Bending moment\n", + "M2=((P*a)/L)*v # Bending moment\n", + "\n", + "# Case(a) Bending Moment\n", + "U=(1/(2.0*E*I))*(integrate(M1**2,(x,0,a))+integrate(M2**2,(v,0,b))) # Total strain energy\n", + "\n", + "# Case(b) Evaluation of the Strain Energy\n", + "P=40 # Central axial load(kips)\n", + "a=36 # Length(in)\n", + "L=144 # Length(in) \n", + "b=108 # Length(in)\n", + "I=248 # Moment of inertia(in**4)\n", + "U=U.simplify()\n", + "Usubs=(40*36*108)/(6.0*29*248*144*(pow(10,3))) # Strain energy\n", + "\n", + "#Result\n", + "print('Case(a): Strain energy :-')\n", + "print(U)\n", + "print('Case(b): Evaluated Strain energy = %lf psi '%Usubs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.06, Page number 717" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum value of stress in rod :-\n", + "1.0*(Pm**2)**0.5/A\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Pm=symbols('Pm') # Force\n", + "L=symbols('L') # Length \n", + "E=symbols('E') # Modulus of elasticity\n", + "A=symbols('A') # Area\n", + "m=symbols('m') # Mass \n", + "v0=symbols('v0') # Velocity\n", + "\n", + "#Calculation \n", + "Um=(5*(Pm**2)*(L))/(16.0*A*E) # Strain energy\n", + "Pm=((16/5.0)*((Um*A*E)/(L)))**(1/2.0) # Force\n", + "Sm=Pm/A # Stress \n", + "\n", + "#Result\n", + "print('Maximum value of stress in rod :-')\n", + "print(Sm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.07, Page number 717" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum stress in the beam :-\n", + "L*c*(Pm**2)**0.5/I\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Pm=symbols('Pm') # Force\n", + "L=symbols('L') # Length\n", + "E=symbols('E') # Modulus of elasticity\n", + "I=symbols('I') # Moment of inertia \n", + "m=symbols('m') # Mass\n", + "v0=symbols('v0') # Velocity\n", + "Lc=symbols('Lc') # Length\n", + "W=symbols('W') # Work \n", + "h=symbols('h') # Height\n", + "c=symbols('c') # Radius \n", + "\n", + "#Calculation \n", + "Um=((Pm**2)*(L**3))/(6.0*E*I) # Strain energy\n", + "Pm=((6)*((Um*E*I)/(L**3)))**(1/2.0) # Static force\n", + "Sm=(Pm*L*c)/(I) # Maximum stress \n", + "\n", + "#Result\n", + "print('Maximum stress in the beam :-')\n", + "print(Sm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.08, Page number 721" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Equivalent static load :-\n", + "48**0.5*(E*I*m*v0**2/L**3)**0.5\n", + "Case(b): Maximum stress :-\n", + "3**0.5*(E*c**2*m*v0**2/(I*L))**0.5\n", + "Case(c): Maximum deflection :-\n", + "48**0.5*L**3*(E*I*m*v0**2/L**3)**0.5/(48*E*I)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Pm=symbols('Pm') # Force\n", + "L=symbols('L') # Length \n", + "E=symbols('E') # Modulus of elasticity\n", + "I=symbols('I') # Moment of inertia\n", + "m=symbols('m') # Mass\n", + "v0=symbols('v0') # Velocity\n", + "Lc=symbols('Lc') # Length \n", + "h=symbols('h') # Height\n", + "c=symbols('c') # Length\n", + "xm=symbols('xm') # Distance\n", + "\n", + "#Calculation \n", + "Um=(1/2.0)*(m)*(v0**2) # Strain energy\n", + "Um=(1/2.0)*(Pm)*(xm) # Expressing Um as the work of the equivalent horizontal static load\n", + "xm=((Pm)*(L**3))/(48.0*E*I) # Deflection of c corresponding to static load Pm \n", + "Um=(((Pm**2)*(L**3))/(48.0*E*I))*(1/2.0) # Substituting xm in strain energy\n", + "Pm=((48.0*m*(v0**2)*(E)*I)/(L**3))**(1/2.0) # Static load\n", + "Sm=(Pm*Lc)/(4.0*I) # Maximum stress\n", + "Sm=((3*m*(v0**2)*(E)*I)/(L*(I/c)**2))**(1/2.0) # Maximum stress after sustituting for Pm\n", + "xm=Pm*((L**3)/(48.0*E*I)) # Maximum deflection\n", + "\n", + "#Result\n", + "print('Case(a): Equivalent static load :-')\n", + "print(Pm)\n", + "print('Case(b): Maximum stress :-')\n", + "print(Sm)\n", + "print('Case(c): Maximum deflection :-')\n", + "print(xm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.09, Page number 723" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vertical deflection of B :-\n", + "[0.728*L*P/(A*E)]\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Pm=symbols('Pm') # Force\n", + "L=symbols('L') # Length \n", + "E=symbols('E') # Modulus of elasticity \n", + "A=symbols('A') # Area of crosssection\n", + "m=symbols('m') # Mass \n", + "v0=symbols('v0') # Velocity \n", + "P=symbols('P') # Force\n", + "yb=symbols('yb') # Distance\n", + "\n", + "#Calculation \n", + "yb=solve(0.364*(((P**2.0)*L)/(A*E))-(1/2.0)*P*yb,yb)\n", + "\n", + "#Result\n", + "print('Vertical deflection of B :-')\n", + "print(yb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.10, Page number 723" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Deflection of end A taking into account of normal stress only:-\n", + "[0.333333333333333*L**3*P/(E*I)]\n", + "Deflection of end A taking into account of both the normal and shearing stresses.:-\n", + "[0.0333333333333333*L*P**2*(3.0*E*h**2 + 10.0*G*L**2)/(E*G*I)]\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Pm=symbols('Pm') # Force \n", + "L=symbols('L') # Length\n", + "E=symbols('E') # Modulus of elasticity\n", + "I=symbols('I') # Moment of inertia \n", + "m=symbols('m') # Mass\n", + "P=symbols('P') # Force\n", + "yA=symbols('yA') # Distance\n", + "h=symbols('h') # Height\n", + "G=symbols('G') # Modulus of elasticity \n", + "\n", + "#Calculation \n", + "yA1=solve((((P**2)*(L**3))/(6.0*E*I))-(1/2.0)*P*yA,yA) # Deflection of end A \n", + "yA2=solve((((P**3)*(L**3))/(6.0*E*I))*(1+(3*E*(h**2))/(10.0*(G)*(L**2)))-(1/2.0)*(P)*(yA),yA) # Deflection of end A\n", + "\n", + "#Result\n", + "print('Deflection of end A taking into account of normal stress only:-')\n", + "print(yA1)\n", + "print('Deflection of end A taking into account of both the normal and shearing stresses.:-')\n", + "print(yA2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.11, Page number 724" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Angle of twist for entire shaft:-\n", + "[0.53125*L*T/(G*J)]\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Pm=symbols('Pm') # Force\n", + "L=symbols('L') # Length\n", + "E=symbols('E') # Modulus of elasticity\n", + "I=symbols('I') # Moment of inertia\n", + "m=symbols('m') # Mass\n", + "P=symbols('P') # Force\n", + "yA=symbols('yA') # Distance \n", + "h=symbols('h') # Height\n", + "G=symbols('G') # Modulus of rigidity \n", + "T=symbols('T') # Torque\n", + "J=symbols('J') # Polar moment of inertia \n", + "phyDB=symbols('phyDB') # Angle of twist\n", + "\n", + "#Calculation \n", + "phyDB=solve((17/32.0)*(T**2)*(L)*(1/(2.0*G*J))-(1/2.0)*(T)*(phyDB),phyDB) # Angle of twist\n", + "\n", + "#Result\n", + "print('Angle of twist for entire shaft:-')\n", + "print(phyDB)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 11.3, Page number 725 " + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum deflection of point C:-\n", + "10.2734993791682\n", + "Maximum stress:-\n", + "179.9296875\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "ym=symbols('ym') # Distance\n", + "E=symbols('E') # Modulus of elasticity\n", + "I=symbols('I') # Moment of inertia\n", + "L=symbols('L') # Length\n", + "W=symbols('W') # Weight \n", + "h=symbols('h') # Height\n", + "\n", + "#Calculation \n", + "#Principle of Work and Energy\n", + "Pm=(48*E*I)/(L**3.0) # Force \n", + "U2=(1/2.0)*Pm*ym # Strain energy\n", + "Eq=U2-(W*(h+ym)) # Equation\n", + "\n", + "#Case(a) Maximum Deflection of Point C\n", + "E=73*(pow(10,9)) # Modulus of elasticity(Pa) \n", + "I=(1/12.0)*((0.04)**4) # Moment of inertia(m**4) \n", + "L=1 # Length(m)\n", + "h=0.040 # Height(m)\n", + "W=80*9.81 # Force(N) \n", + "ym=solve(373.8*(pow(10,3))*(ym**2)-(784.8)*ym-31.39,ym) # Distance(mm)\n", + "\n", + "\n", + "#Case(b) Maximum Stress\n", + "Pm=48*(15.573*(pow(10,3)))*(0.01027) # Force(N)\n", + "Sm=(((1/4.0)*(7677)*(0.020))/((1/12.0)*pow(0.040,4)))/(1000000.0) # Stress(MPa)\n", + "\n", + "#Result\n", + "print('Maximum deflection of point C:-')\n", + "print(ym[1]*1000)\n", + "print('Maximum stress:-')\n", + "print(Sm)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1_2.ipynb new file mode 100644 index 00000000..34a5dc60 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1_2.ipynb @@ -0,0 +1,291 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1: Introduction—Concept of Stress\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.1, Page number 18 " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Shearing Stress in Pin A = 6790.6 psi\n", + "Case(b): Shearing Stress in Pin C = 7639 psi\n", + "Case(c): Largest Normal Stress in Link ABC = 2286 psi\n", + "Case(d): Average Shearing Stress at B = 171 psi\n", + "Case(e): Bearing Stress in Link at C = 6000 psi\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "Fac = 750 #Force on rod AC(lb)\n", + "D = 0.375 #Diameter at the upper junction of rod ABC(in)\n", + "\n", + "\n", + "#Calculation \n", + "#Case(a)\n", + "A=(1/4.0)*((math.pi)*math.pow(D,2)) #Area at the upper junction of rod ABC(in^2) \n", + "tA=(Fac/A) #Shearing Stress in Pin A(psi) \n", + "#Case(b) \n", + "Ab=(1/4.0)*((math.pi)*pow(0.25,2)) #Area at the lower junction of rod ABC(in^2)\n", + "tC=(((1/2.0)*Fac)/Ab) #Shearing Stress in Pin C(psi)\n", + "#Case(c)\n", + "Anet=(3/8.0)*(1.25-0.375) #Area of cross section at A(in^2)\n", + "sA=(Fac/Anet) #Largest Normal Stress in Link ABC(psi)\n", + "#Case(d)\n", + "F1=750/2 #Force on each side(lb)\n", + "Ad=(1.25*1.75) #Area at junction B(in^2)\n", + "tB=(F1/Ad) #Average Shearing Stress at B\n", + "#Case(e)\n", + "Ae=0.25*0.25 #Area at point C(in^2)\n", + "sB=(F1/Ae) #Bearing Stress in Link at C\n", + "\n", + "\n", + "#Result\n", + "print('Case(a): Shearing Stress in Pin A = %.1f psi' %tA)\n", + "print('Case(b): Shearing Stress in Pin C = %.f psi' %tC)\n", + "print('Case(c): Largest Normal Stress in Link ABC = %.f psi' %sA)\n", + "print('Case(d): Average Shearing Stress at B = %.f psi' %tB)\n", + "print('Case(e): Bearing Stress in Link at C = %.f psi' %sB)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.2, Page number 19" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Diameter of the bolt = 28 mm\n", + "Case(b): Dimension b at Each End of the Bar = 62 mm\n", + "Case(c): Dimension h of the Bar = 34.300000 mm\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "P = 120 #Maximum allowable tension force \n", + "s = 175 #Maximum allowable stress\n", + "t = 100 #Maximum allowable stress\n", + "Sb = 350 #Maximum allowable stress\n", + "\n", + "\n", + "#Calculation\n", + "#Case(a)\n", + "F1=P/2 #Current(A)\n", + "d=math.sqrt(((P/2.0)*1000)/((22/(4*7.0))*(100000000))) #Diameter of bolt(m)\n", + "d=d*1000 #Diameter of bolt(mm)\n", + "d=round(d,0) #Rounding of the value of diameter of bolt(mm)\n", + "Ad=(0.020*0.028) #Area of cross section of plate \n", + "tb=((P*1000)/Ad)/(1000000) #Stress between between the 20-mm-thick plate and the 28-mm-diameter bolt\n", + "tb=round(tb,0) #Rounding of the above calculated stress to check if it is less than 350\n", + "a=(P/2)/((0.02)*(175)) #Dimension of cross section of ring \n", + "a=round(a,2) #Rounding dimension of cross section of ring to two decimal places\n", + "b=28 + (2*(a)) #Dimension b at Each End of the Bar\n", + "b=round(b,2) #Rounding the dimension b to two decimal places \n", + "h=(P)/((0.020)*(175)) #Dimension h of the Bar\n", + "h=round(h,1) #Rounding dimension h of bar to 1 decimal place\n", + "\n", + "\n", + "#Result\n", + "print ('Case(a): Diameter of the bolt = %.f mm' %d)\n", + "print ('Case(b): Dimension b at Each End of the Bar = %.f mm' %b)\n", + "print ('Case(c): Dimension h of the Bar = %f mm' %h)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.3, Page number 34" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Diameter of the bolt = 17.130000 mm\n", + "Case(a): Dimension b at Each End of the Bar = 23.000000 mm\n", + "Case(a): Dimension h of the Bar = 6.000000 mm\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "Su = 600 #ultimate normal stress(MPa) \n", + "FS = 3.3 #Factor of safety with respect to failure\n", + "tU=350 #Ultimate shearing stress(MPa)\n", + "Cx=40 #X Component of reaction at C(kN)\n", + "Cy=65 #Y Component of reaction at C(kN)\n", + "Smax=300 #Allowable bearing stress of the steel \n", + "\n", + "#Calculation\n", + "C=math.sqrt((math.pow(40,2))+(math.pow(65,2)))\n", + "\n", + "#Case(a)\n", + "P=(15*0.6 + 50*0.3)/(0.6) #Allowable bearing stress of the steel(MPa)\n", + "Sall=(Su/FS) #Allowable Stress(MPa)\n", + "Sall=round(Sall,1) #Rounding Allowable stress to 1 decimal place(MPa)\n", + "Areqa=(P/(Sall*(1000))) #Cross Sectional area(m^2)\n", + "Areqa=round(Areqa,5) #Rounding cross sectional area to 5 decimal places(m^2)\n", + "dAB=math.sqrt(((Areqa)*(4))/(22/7)) #Diameter of AB(m)\n", + "dAB=dAB*1000 #Diameter of AB(mm)\n", + "dAB=round(dAB,2) #Rounding Diameter of AB(mm)\n", + "\n", + "#Case(b)\n", + "tALL=tU/FS #Stress(MPa)\n", + "tALL=round(tALL,1) #Rounding of Stress\n", + "AreqC=((C/2)/tALL) #Cross sectional area(m^2)\n", + "AreqC=AreqC*1000 \n", + "AreqC=round(AreqC,0) #Rounding the cross sectional area\n", + "dC=math.sqrt((4*AreqC)/(22/7)) #Diameter at point C\n", + "dC=round((dC+1),0) #Rounding of the diameter at C\n", + "\n", + "#Case(c)\n", + "\n", + "Areq=((C/2)/Smax) \n", + "Areq=Areq*1000 #Cross sectional area(mm^2)\n", + "t=(Areq/22) #Thickness of the bracket\n", + "t=round(t,0)\n", + "\n", + "#Result\n", + "print ('Case(a): Diameter of the bolt = % f mm' %dAB)\n", + "print ('Case(a): Dimension b at Each End of the Bar = % f mm' %dC)\n", + "print ('Case(a): Dimension h of the Bar = % f mm' %t)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 1.4, Page number 35" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Control Rod = 0.000000 kips\n", + "Case(b): Bolt at B = 0.000000 kips\n", + "Case(c): Bolt at D = 0.000000 kips\n", + "Case(d): Bolt at C = 0.000000 kips\n", + "Summary. We have found separately four maximum allowable values of the force C. In order to satisfy all these criteria we must choose the smallest value, namely:= 0.000000 kips\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "tU=40 #ultimate tensile stress\n", + "sU=60 #ultimate shearing stress\n", + "FS=3 #Mimnimum factor of safety\n", + "dA=(7/16) #Diameter of bolt at A(in)\n", + "dB=3/8 #Diameter of bolt at B(in) \n", + "dD=3/8 #Diameter of bolt at D(in)\n", + "dC=1/2 #Diameter of bolt at C(in)\n", + "\n", + "\n", + "#Calculation\n", + "Sall=(sU/FS) #Total tensile stress(kips)\n", + "B=Sall*((1/4)*(22/7)*(pow((7/16),2))) #Allowable force in the control rod(kips)\n", + "C1=1.75*(B) #Control Rod(kips)\n", + "tall=(tU/FS) #Total shearing stress\n", + "B=2*(tall*(1/4)*(22/7)*(3/8)*(3/8)) #Allowable magnitude of the force B exerted on the bolt\n", + "C2=1.75*B #Bolt at B(kips) \n", + "D=B #Bolt at D. Since this bolt is the same as bolt B, the allowable force is same(kips) \n", + "C3=2.33*D #Bolt at D(kips)\n", + "C4=2*(tall*(1/4)*(22/7)*(1/2)*(1/2)) #Bolt at C(kips) \n", + "list1=[C1,C2,C3,C4] #Adding all the maximum allowable forces on C(kips) \n", + "\n", + "\n", + "#Result\n", + "print ('Case(a): Control Rod = % f kips' %C1)\n", + "print ('Case(b): Bolt at B = % f kips' %C2)\n", + "print ('Case(c): Bolt at D = % f kips' %C3)\n", + "print ('Case(d): Bolt at C = % f kips' %C4)\n", + "print ('Summary. We have found separately four maximum allowable values of the force C. In order to satisfy all these criteria we must choose the smallest value, namely:= % f kips' %min(list1));" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2_2.ipynb new file mode 100644 index 00000000..5fffaafe --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2_2.ipynb @@ -0,0 +1,1093 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Chapter 2 : Stress and Strain—Axial Loading" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.01, Page number 69" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Deformation of the steel rod = 0.000000 in\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "E=29*(pow(10,6)) # Modulus of elasticity(psi) \n", + "L1=12 # Length(in) \n", + "L2=12 # Length(in)\n", + "L3=16 # Length(in)\n", + "A1=0.9 # Area(in**2) \n", + "A2=0.9 # Area(in**2)\n", + "A3=0.3 # Area(in**2) \n", + "P1=60*(pow(10,3)) # Internal force(lb)\n", + "P2=15*(pow(10,3)) # Internal force(lb)\n", + "P3=30*(pow(10,3)) # Internal force(lb)\n", + "\n", + "#Calculation \n", + "Delta=round((1/E)*(((P1*L1)/A1)+(-(P2*L2)/A2)+((P3*L3)/A3)),4) # deformation of the steel rod(in)\n", + "\n", + "#Result\n", + "print ('Deformation of the steel rod = %lf in' %Delta)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 2.1, Page number 70" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Deflection of B = -0.514286 psi\n", + "Case(b): Deflection of D = 0.300000 psi\n", + "Case(c): Deflection of E = 1.928223 psi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Eab=70*(pow(10,9)) # Modulus of elasticity of AB(GPa) \n", + "Aab=500*(pow(10,-6)) # Cross sectional area of AB(mm**2) \n", + "Ecd=200*(pow(10,9)) # Modulus of elasticity of CD(GPa)\n", + "Acd=600*(pow(10,-6)) # Cross sectional area of CD(mm**2) \n", + "Fe=30 # Force(kN) \n", + "Pb=-60*(pow(10,3)) # Internal force in link AB(kN)\n", + "n=-1\n", + "Pd=90*(pow(10,3)) # Internal force in link CD(kN)\n", + "Lab=0.3 # Length of AB(m)\n", + "Lcd=0.4 # Length of CD(m)\n", + "x=symbols('x') # Variable declaration \n", + "Se=symbols('Se') # Variable declaration\n", + "\n", + "#Calculation \n", + "#Free Body: Bar BDE\n", + "Fcd=(30*0.6)/(0.2) # Force of tension(kN)\n", + "Fab=n*(30*0.4)/(0.2) # Force of compression(kN)\n", + "\n", + "#Case(a)\n", + "#Deflection of B.\n", + "Sb=((Pb*Lab)/(Aab*Eab))*(1000) # Deflection of B(mm)\n", + "\n", + "#Case(b)\n", + "#Deflection of D.\n", + "Sd=((Pd*Lcd)/(Acd*Ecd))*(1000) # Deflection of D(mm)\n", + "\n", + "#Case(c)\n", + "#Deflection of E.\n", + "x=solve(((200-x)/x)-((0.514)/(0.300)),x) # Distance HD(mm)\n", + "Se=solve(((400+73.7)/73.7)-(Se/0.300),Se) # Deflection of E(mm)\n", + "\n", + "#Result\n", + "print('Case(a): Deflection of B = %1f psi' %Sb)\n", + "print('Case(b): Deflection of D = %lf psi' %Sd)\n", + "print('Case(c): Deflection of E = %lf psi' %Se[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## SAMPLE PROBLEM 2.2, Page number 71" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stress in rod = 10.533169 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Lb=18 # Length of Bolt CD(in)\n", + "Pb=symbols('Pb') # Force(kips)\n", + "Ab=((1/4.0)*(math.pi)*pow(0.75,2)) # Area of cross section of CD and GH(in**2) \n", + "Eb=(29*(pow(10,6))) # Modulus of elasticity of steel(psi)\n", + "Lr=12 # Length of Bolt EF(in)\n", + "Pr=symbols('Pr') # Force(kips)\n", + "Ar=((1/4.0)*(math.pi)*pow(1.5,2)) # Area of cross section of EF(in**2) \n", + "Er=((10.6)*(pow(10,6))) # Modulus of elasticity of aluminium(psi)\n", + "n=-1\n", + "\n", + "#Calculation \n", + "# Bolts CD and GH\n", + "Sb=((Pb*Lb)/(Ab*Eb)) # Deformation \n", + "\n", + "# Rod EF\n", + "Sr=n*((Pr*Lr)/(Ar*Er)) # Deformation\n", + "\n", + "# Displacement of D Relative to B\n", + "Eq=(1/4.0)*(0.1)-Sb+Sr # Because displacements are equal to the deformations of the bolts and of the rod\n", + "\n", + "# Free Body: Casting B\n", + "#Pr-2*Pb=0 # Submission of forces is zero\n", + "\n", + "# Forces in Bolts and Rod\n", + "Pb=(solve((Eq).subs(Pr,(2*Pb)))[0])/(1000.0) # Force in the bolt(kips) \n", + "Pr=2*Pb # Force in th rod(kips) \n", + "\n", + "# Stress in Rod\n", + "er=Pr/Ar # Stress in rod(ksi)\n", + "\n", + "\n", + "#Result\n", + "print('Stress in rod = %1f ksi' %er)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.02, Page number 78" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Deformation in the rod :-\n", + "L*P/(A1*E1 + A2*E2)\n", + "Deformation in the tube :-\n", + "L*P/(A1*E1 + A2*E2)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "P1=symbols('P1') # Axial force \n", + "L=symbols('L') # Length of rod\n", + "A1=symbols('A1') # Cross section of rod\n", + "E1=symbols('E1') # Modulus of elasticity\n", + "P2=symbols('P2') # Axial force\n", + "A2=symbols('A2') # Cross section of rod\n", + "E2=symbols('E2') # Modulus of elasticity \n", + "P=symbols('P') # Total axial force \n", + "\n", + "\n", + "#Calculation \n", + "S1=(P1*L)/(A1*E1) # Deforamation in rod \n", + "S2=(P2*L)/(A2*E2) # Deformation in rod\n", + "\n", + "P1=((P2)/(A2*E2))*(A1*E1) # Equating deformations S1 and S2 \n", + "\n", + "P2=solve(P1-P+P2,P2) # Solving the above equation for P2\n", + "P1=((P2[0]/(A2*E2))*(A1*E1)) # Solving for P1 \n", + "S1=(P1*L)/(A1*E1)\n", + "S2=(P2[0]*L)/(A2*E2)\n", + "\n", + "#Result\n", + "print(\"Deformation in the rod :-\")\n", + "print(S1)\n", + "print(\"Deformation in the tube :-\")\n", + "print(S2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.03, Page number 79" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stress in AC :-\n", + "L1*P1/(A*E)\n", + "Stress in BC :-\n", + "L2*P2/(A*E)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Ra=symbols('Ra') # Reaction at A\n", + "Rb=symbols('Rb') # Reaction at B\n", + "P=symbols('P') # Net reaction \n", + "S=symbols('S') # Total elongation\n", + "S1=symbols('S1') # Elongation of AC\n", + "S2=symbols('S2') # Elongation of BC\n", + "L1=symbols('L1') # Length of AC\n", + "L2=symbols('L2') # Length of BC\n", + "P1=symbols('P1') # Internal force \n", + "P2=symbols('P2') # Internal force\n", + "A=symbols('A') # Area of cross section\n", + "E=symbols('E') # Modulus of elasticity \n", + "\n", + "\n", + "#Calculation \n", + "S1=(P1*L1)/(A*E) # Elongation of AC \n", + "S2=(P2*L2)/(A*E) # Elongation of BC\n", + "S=S1+S2 # Total elongation of the bar \n", + "S=0 # Total elongation of the bar is zero \n", + "\n", + "x=solve((Ra*L1-Rb*L2, Ra+Rb-P), Ra, Rb) # Solving the equations to find reactions at A and B. \n", + "\n", + "e1=(x[Ra])/A # Stress in AC\n", + "e2=(x[Rb])/A # Stress in BC\n", + "\n", + "#Result\n", + "print(\"Stress in AC :-\")\n", + "print(S1)\n", + "print(\"Stress in BC :-\")\n", + "print(S2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.04, Page number 80" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reaction at A = 577823.076923\n", + "Reaction at B = 576923.076923\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "P1=0 # Force in the first portion(N) \n", + "P2=600*(pow(10,3)) # Force in the second portion(N)\n", + "P3=600*(pow(10,3)) # Force in the third portion(N)\n", + "P4=900*(pow(10,3)) # Force in the forth portion(N) \n", + "E=symbols('E') # Modulus of elasticity\n", + "Rb=symbols('Rb') # Reaction at B(N) \n", + "n=-1\n", + "\n", + "A1=400*(pow(10,-6)) # Area of cross section of first portion(m**2)\n", + "A2=400*(pow(10,-6)) # Area of cross section of second portion(m**2) \n", + "A3=250*(pow(10,-6)) # Area of cross section of third portion(m**2)\n", + "A4=250*(pow(10,-6)) # Area of cross section of forth portion(m**2)\n", + "\n", + "L1=0.150 # Length of first portion(m) \n", + "L2=0.150 # Length of second portion(m)\n", + "L3=0.150 # Length of third portion(m)\n", + "L4=0.150 # Length of forth portion(m)\n", + "\n", + "#Calculation \n", + "Sl=((600*(pow(10,3)))/(400*(pow(10,-6))) + (600*(pow(10,3)))/(250*(pow(10,-6))) + (900*(pow(10,3)))/(250*(pow(10,-6))))*(0.150/E) # Deformation(m) \n", + "P1=n*Rb # Force on first portion(N) \n", + "P2=n*Rb # Force on second portion(N) \n", + "A1=400*(pow(10,-6)) # Area of cross section of first portion(m**2)\n", + "A2=250*(pow(10,-6)) # Area of cross section of second portion(m**2)\n", + "L1=0.300 # Length of first portion(m) \n", + "L2=0.300 # Length of second portion(m)\n", + "\n", + "Sr=(P1*L1)/(A1*E) + (P2*L2)/(A2*E) # Deformation(m)\n", + "\n", + "Rb=solve(Sl+Sr,Rb) # Reaction at B(N)\n", + "\n", + "Ra=900+(Rb[0]) # Reaction at A(N) \n", + "\n", + "#Result\n", + "print('Reaction at A = %lf' %Ra)\n", + "print('Reaction at B = %lf' %Rb[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.05, Page number 81" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reaction at A = 784.615385\n", + "Reaction at B = 115.384615\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "E=200*(pow(10,9)) # Modulus of elasticity(GPa)\n", + "Rb=symbols('Rb') # Reaction at B(N) \n", + "Ra=symbols('Ra') # Reaction at A(N)\n", + "#Calculation \n", + "Rb=(solve(((1.125*(pow(10,9)))/(200*(pow(10,9))))-(((1.95*(pow(10,3)))*Rb)/(200*(pow(10,9))))-(4.5*(pow(10,-3))),Rb))[0]/(10**3) # Solving for Rb(N)\n", + "Ra=solve(Ra-900+Rb,Ra) # Solving for Ra(N) \n", + "\n", + "#Result\n", + "print('Reaction at A = %lf' %Ra[0])\n", + "print('Reaction at B = %lf' %Rb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.06, Page number 84" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stress in portion AC = 31.416667\n", + "Stress in portion CB = 15.708333\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "E=29*(pow(10,6))*(1.0) # Modulus of elasticity(psi)\n", + "Alpha=6.5*(pow(10,-6)) # Constant(/F)\n", + "n=-1\n", + "L1=12 # Length of AC(m)\n", + "L2=12 # Length of CB(m)\n", + "A1=0.6 # Area of cross section of AC(m**2)\n", + "A2=1.2 # Area of cross section of BC(m**2) \n", + "Rb=symbols('Rb') # Reaction at B(N)\n", + "P1=Rb # Internal force(N)\n", + "P2=Rb # Internal force(N)\n", + "DELTAt=n*(50+75) # Diff in temperature(F)\n", + "AC=12 # Length of AC(m)\n", + "CB=12 # Length of CB(m)\n", + "\n", + "#Calculation\n", + "St=Alpha*DELTAt*24 # Deformation(in)\n", + "Sr=((P1*L1)/(A1*E)) + ((P2*L2)/(A2*E)) # Deformation(in)\n", + "\n", + "Rb=(solve(St+Sr,Rb))[0]/(1000.0) # Reaction at B(kips) \n", + "S1=(Rb)/A1 # Stress in portion AC(ksi)\n", + "S2=(Rb)/A2 # Stress in portion CB(ksi)\n", + "\n", + "Et=Alpha*DELTAt # Thermal strain(in./in.) \n", + "Ratio=S1/E # Other component of eAC(in./in.)\n", + "Eac=Et + S1/E # Component of strain in AC(in)\n", + "Ecb=Et + S2/E # Component of strain in CB(in) \n", + "\n", + "Sac=Eac*(AC) # Deformation of rod AC(in)\n", + "Scb=Ecb*(CB) # Deformation of rod CB(in)\n", + "\n", + "#Result\n", + "print('Stress in portion AC = %lf' %S1)\n", + "print('Stress in portion CB = %lf' %S2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 2.3, Page number 86" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Force in rod DF = 7.5 psi\n", + "Case(a): Force in rod CE = 2.497916 psi\n", + "Case(b): Deflection of point A = 0.043249 psi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Ldf=30 # Length of DF(in)\n", + "Adf=(1/4.0)*(math.pi)*(3/4.0)*(3/4.0) # Cross sectional area of DF(in**2) \n", + "Lce=24 # Length of CE(in)\n", + "Ace=(1/4.0)*(math.pi)*(1/2.0)*(1/2.0) # Cross sectional area of DF(in**2) \n", + "E=(10.6*pow(10,6)) # Molulus of elasticity(psi)\n", + "Fce=symbols('Fce') # Force on CE(N) \n", + "Fdf=symbols('Fdf') # Force on DF(N)\n", + "Sd=symbols('Sd') # Force on CE(N) \n", + "\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "# Statics\n", + "Eq=Fce*12 + Fdf*20 - 180 # Because submission of Mb is 0 \n", + "\n", + "# Geometry\n", + "Sc=0.6*Sd # By using similar triangles\n", + "Sa=0.9*Sd # By using similar triangles\n", + "\n", + "# Deformations\n", + "Sc=(Fce*Lce)/(Ace*E) # Deformation at C(in) \n", + "Sd=(Fdf*Ldf)/(Adf*E) # Deformation at D(in) \n", + "Fce=0.333*Fdf # By solving Sc= 0.6*Sd we get this result\n", + "\n", + "# Force in Each Rod\n", + "Fdf=(180/(((12)*(0.333))+20)) # By using Eq and the value of Fce \n", + "Fce=0.333*Fdf # Force in CE(N)\n", + "\n", + "# Case(b)\n", + "# Deflections\n", + "Sd=(Fdf*(pow(10,3))*Ldf)/(Adf*E) # Deflection of point D(in)\n", + "Sa=0.9*Sd # Deflection of point A(in) \n", + "\n", + "\n", + "#Result\n", + "print('Case(a): Force in rod DF = %.1f psi' %Fdf)\n", + "print('Case(a): Force in rod CE = %lf psi' %Fce)\n", + "print('Case(b): Deflection of point A = %lf psi' %Sa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 2.4, Page number 87" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stress in cylinder = 44.8 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Ldf=30 # Length of DF(in)\n", + "Adf=(1/4.0)*(math.pi)*(3/4.0)*(3/4.0) # Cross sectional area of DF(in**2) \n", + "Lce=24 # Length of CE(in)\n", + "Ace=(1/4.0)*(math.pi)*(1/2.0)*(1/2.0) # Cross sectional area of DF(in**2) \n", + "E=(10.6*pow(10,6)) # Molulus of elasticity(psi)\n", + "Fce=symbols('Fce') # Force on CE(N) \n", + "Fdf=symbols('Fdf') # Force on DF(N)\n", + "Sd=symbols('Sd') # Force on CE(N) \n", + "Rb=symbols('Rb') # Reaction at B(m) \n", + "\n", + "\n", + "#Calculation \n", + "Ra=0.4*Rb # By considering the free body motion\n", + "L=0.3 # Length of rod DE(m) \n", + "DeltaT=30 # Change in temperature(C) \n", + "Alpha=(20.9*pow(10,-6)) # Constant(/C)\n", + "A=(1/4)*(math.pi)*(pow(0.22,2)) # Area of cross-section of rod AC(m**2)\n", + "E=200 # Molulus of elasticity(psi)\n", + "\n", + "St=L*(DeltaT)*Alpha # Deflection(m)\n", + "\n", + "temp=(L/(A*E)) \n", + "Sc=str(temp)+'*Ra' # Deflection(m) \n", + "\n", + "Sd=str(0.4)+'*Sc' # Deflection(m)\n", + "Sd=4.74*pow(10,-9) # After computing the above equation\n", + "\n", + "Sbd=str(4.04*pow(10,-9))+'*Ra' # Deflection(m)\n", + "\n", + "S1=str(5.94*pow(10,-9))+'*Rb' # Deflection(m)\n", + "\n", + "Rb=((188.1*pow(10,-6))/(5.94*pow(10,-9)))/(pow(10,3)) # Reaction at B(m) \n", + "\n", + "db=((round(Rb,1))/((1/4.0)*(math.pi)*(pow(0.03,2))))/(pow(10,3)) # Stress in cylinder(MPa)\n", + "\n", + "#Result\n", + "print('Stress in cylinder = %.1f MPa' %db)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.07, Page number 94" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Modulus of elasticity = 99471839.4 GPa\n", + "Poissons ratio = 0.2 \n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "P=12*(pow(10,3)) # Axial load(kN)\n", + "r=8*(pow(10,-3)) # Radius of the rod(m)\n", + "n=-1\n", + "\n", + "#Calculation\n", + "A=(math.pi)*(r**2) # Cross sectional area of rod(m**2)\n", + "Sx=(P/A) # Stress in cylinder(MPa) \n", + "Ex=(300/500.0) # Strain()\n", + "Ey=(n*(2.4))/16.0 # Strain()\n", + "\n", + "E=Sx/Ex # Modulus of elasticity(GPa)\n", + "v=n*(Ey/Ex) # Poissons ratio() \n", + "\n", + "#Result\n", + "print('Modulus of elasticity = %.1f GPa' %E)\n", + "print('Poissons ratio = %.1f ' %v)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.08, Page number 96" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Change in length in y direction = -0.000600 in\n", + "Change in length in z direction = -0.000900 in\n", + "Pressure = 20.7 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "E=29*(pow(10,6)) # Modulus of elasticity(GPa)\n", + "v=0.29 # Poissons ratio()\n", + "Sx=symbols('Sx') # Strain variable \n", + "Sy=symbols('Sy') # Strain variable\n", + "Sz=symbols('Sz') # Strain variable\n", + "Ex=symbols('Ex') # Stress variable\n", + "Ey=symbols('Ey') # Stress variable\n", + "Ez=symbols('Ez') # Stress variable\n", + "p=symbols('p') # pressure\n", + "n=-1\n", + "Sx=n*p # Strain at x\n", + "Sy=n*p # Strain at y\n", + "Sz=n*p # Strain at z \n", + "Ey=Ez=Ex # Equating all the stresses\n", + "\n", + "#Calculation\n", + "# Case(a)\n", + "Ex=((n*p)*(1-(2*v)))/E # Stress \n", + "Ex=(n*1.2*(pow(10,3)))/4 # Stress(in./in)\n", + "DELTAy=n*(300*(pow(10,-6)))*(2) # Change in length(in)\n", + "DELTAz=n*(300*(pow(10,-6)))*(3) # Change in length(in) \n", + "# Case(b)\n", + "p=(solve(p+((29*(pow(10,6)))*(n*300*(pow(10,-6))))/(1-0.58),p)[0])/(pow(10,3)) # pressure(ksi)\n", + "\n", + "#Result\n", + "print('Change in length in y direction = %1f in' %DELTAy)\n", + "print('Change in length in z direction = %1f in' %DELTAz)\n", + "print('Pressure = %.1f ksi' %p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.09, Page number 98" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Change in volume = -217.728000 mm**3\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "p=180 # Hydrostatic pressure(MPa)\n", + "E=200 # Modulus of elasticity(GPa)\n", + "v=0.29 # Poissons ratio() \n", + "\n", + "#Calculation\n", + "k=E/(3*(1-(2*v))) # Bulk modulus of steel(GPa)\n", + "e=-p/k # Dialation \n", + "V=80*40*60 # Volume of block in unstressed state(mm**3)\n", + "DELTAv=(e*V)/(pow(10,3)) # change in volume per unit volume\n", + "\n", + "# Results\n", + "print('Change in volume = %1f mm**3' %DELTAv)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.10, Page number 101" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shearing strain in rod=0.020000 rad\n", + "Force exerted on the upper plate=36.000000 kips\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "G=90 # Modulus of rigidity(ksi)\n", + "disp=0.04 # Displacement of upper rod(in)\n", + "Lda=2 # Height of bar(in)\n", + "A=8*2.5 # Area of cross section(in**2)\n", + "\n", + "#Calculation\n", + "Yxy=(disp/Lda) # Shearing strain(rad)\n", + "Txy=(90*(pow(10,3)))*(0.020) # Shearing stress(psi) \n", + "P=(Txy*A)/(pow(10,3)) # Force exerted on the upper plate(kips) \n", + "\n", + "# Results\n", + "print('Shearing strain in rod=%1f rad' %Yxy)\n", + "print('Force exerted on the upper plate=%1f kips' %P)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.11, Page number 105" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Change in cube dimension in x direction=-14.981914 um\n", + "Change in cube dimension in y direction=0.000000 um\n", + "Change in cube dimension in z direction=5.443356 um\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "Ex=155.0 # Modulus of elasticity in x direction(GPa)\n", + "Ey=12.10 # Modulus of elasticity in y direction(GPa)\n", + "Ez=12.10 # Modulus of elasticity in z direction(GPa)\n", + "Vxy=0.248 # Poissons ratio in xy direction\n", + "Vxz=0.248 # Poissons ratio in xz direction\n", + "Vyz=0.458 # Poissons ratio in yz direction\n", + "n=-1\n", + "F=140*(pow(10,3)) # Compressive load(kN)\n", + "L=0.060 # Length of cube(m)\n", + "\n", + "#Calculation\n", + "#(a) Free in y and z Directions\n", + "Sx=(n*F)/(0.060*0.060) # Stress in x direction(MPa)\n", + "Sy=0 # Stress in y direction(MPa) \n", + "Sz=0 # Stress in z direction(MPa) \n", + "ex=Sx/Ex # Lateral strains \n", + "ey=n*((Vxy*Sx)/Ex) # Lateral strains \n", + "ez=n*((Vxy*Sx)/Ex) # Lateral strains\n", + "DELTAx=ex*L # Change in cube dimension in x direction(um) \n", + "DELTAy=ey*L # Change in cube dimension in y direction(um)\n", + "DELTAz=ez*L # Change in cube dimension in z direction(um)\n", + "#(b) Free in z Direction, Restrained in y Direction\n", + "Sx=n*38.89 # Stress in x direction(MPa)\n", + "Sy=(Ey/Ex)*(Vxy)*(Sx) # Stress in y direction(MPa) \n", + "Vyx=(Ey/Ex)*(Vxy) # Poissons ratio\n", + "ex=(Sx/Ex)-(((Vyx)*(Sy))/Ey) # Lateral strains in x direction\n", + "ey=0 # Lateral strains in y direction\n", + "ez=n*((Vxz*Sx)/Ex)-(((Vyz)*(Sy))/Ey) # Lateral strains in z direction\n", + "DELTAx=ex*L*1000 # Change in cube dimension in x direction(um) \n", + "DELTAy=ey*L # Change in cube dimension in y direction(um)\n", + "DELTAz=ez*L*1000 # Change in cube dimension in z direction(um)\n", + "\n", + "# Results\n", + "print('Change in cube dimension in x direction=%1f um' %DELTAx)\n", + "print('Change in cube dimension in y direction=%1f um' %DELTAy)\n", + "print('Change in cube dimension in z direction=%1f um' %DELTAz)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 2.5, Page number 107" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Change in diamter of rod AB =0.004800 in\n", + "Change in diamter of rod CD =0.014400 in\n", + "Change in thickness =-0.000800 in\n", + "Volume of the plate =0.180000 in**3\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "d=9 # Diameter of the rod(in)\n", + "t=3/4.0 # Thickness of the rod(in)\n", + "ex=12 # Normal stresses(ksi) \n", + "ez=20 # Normal stresses(ksi)\n", + "E=(10*pow(10,6)) # Moduluus of elasticity(psi)\n", + "v=(1/3) # Poissons ratio\n", + "V=15*15*(3/4.0) # Volume(in**3)\n", + "n=-1\n", + "\n", + "#Calculation\n", + "STRAINx=(1/(pow(10,7)*(1.0)))*(12-(20/3.0))*(1000) # Strain in x direction(in./in) \n", + "STRAINy=n*(1/(pow(10,7)*1.0))*((12/3.0)+(20/3.0))*(1000) # Strain in y direction(in./in)\n", + "STRAINz=(1/(pow(10,7)*(1.0)))*(20-(12/3.0))*(1000) # Strain in z direction(in./in)\n", + "\n", + "\n", + "#Case(a) \n", + "DELTAba=(STRAINx)*(d) # Change in diameter(in)\n", + "#Case(b) \n", + "DELTAcd=(STRAINz)*(d) # Change in diameter(in)\n", + "#Case(c) \n", + "DELTAt=(STRAINy)*(t) # Change in thickness(in)\n", + "#Case(d) \n", + "e=(STRAINx+STRAINy+STRAINz) # Volume of the plate(in**3)\n", + "DeltaV=(e*V) \n", + "\n", + "# Results\n", + "print('Change in diamter of rod AB =%1f in' %DELTAba)\n", + "print('Change in diamter of rod CD =%1f in' %DELTAcd)\n", + "print('Change in thickness =%1f in' %DELTAt)\n", + "print('Volume of the plate =%1f in**3' %DeltaV)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.12, Page number 116" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Largest Axial Load =36.300000 in\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "D=60 # Width(mm) \n", + "d=40 # Width(mm)\n", + "r=8 # Radius(mm)\n", + "K=1.82 # Stress-concentration factor\n", + "Smax=165 # Allowable normal stress(MPa)\n", + "\n", + "#Calculation\n", + "eave=(165/1.82) # Average stress in the narrower portion(MPa) \n", + "P=round((40*10*eave)/(1000),1) # Largest Axial Load(kN)\n", + "\n", + "# Results\n", + "print('Largest Axial Load =%1f in' %P)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.13, Page number 117" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Permanent set deformation =6.250000 mm\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "L=500.0 # Length of rod(mm)\n", + "A=60 # Cross Sectional area(mm**2)\n", + "E=200 # Modulus of elasticity(GPa)\n", + "ey=300 # Yield Point(MPa) \n", + "DELTAc=7 # Stretch(mm) \n", + "\n", + "#Calculation\n", + "ec=DELTAc/L # Maximum strain permitted on point C\n", + "ey=(ey*(pow(10,6)))/(E*(pow(10,9))*(1.0)) # Maximum strain permitted on point Y \n", + "ed=ec-ey # Strain after unloading\n", + "DELTAd=ed*L # Deformation(mm)\n", + "\n", + "# Results\n", + "print('Permanent set deformation =%1f mm' %DELTAd) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 2.6, Page number 123" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Required maximum value of Q =240.0 mm\n", + "The final position of the beam =11.000000 mm\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "Lad=2 # Length of AD(m)\n", + "Lce=5 # Length of CE(m) \n", + "E=200.0 # Modulus of elasticity(GPa)\n", + "ey=300 # Stress(MPa)\n", + "Aad=400 # Area of cross section of AD(mm**2)\n", + "Ace=500.0 # Area of cross section of CE(mm**2)\n", + "STRAINad=ey/E # Stress(MPa) # \n", + "\n", + "#Calculation\n", + "Pad=symbols('Pad') # Variable declaration\n", + "Pce=symbols('Pce') # Variable declaration\n", + "Pce=Pad\n", + "Q=symbols('Q') # Variable declaration\n", + "Q=2*Pad # Force(kN) \n", + "d=ey # Maximum elastic deflection of point A\n", + "PadM=ey*Aad # Maximum force(kN) \n", + "Q=(2*PadM)/(1000.0) # Maximum force(kN)\n", + "Sa1=STRAINad*Lad # Maximum deflection of point A(mm)\n", + "Pce=120 # This implies Pad is also 120\n", + "ece=Pce/Ace # Stress in rod CE(MPa)\n", + "STRAINce=ece/E # Strain CE\n", + "Sc1=STRAINce*Lce # Deflection of point C(mm)\n", + "Sb=(1/2)*(Sa1+Sc1) # Deflection of point B(mm)\n", + "\n", + "# Since we must have Sb 10 mm, we conclude that plastic deformation will occur.\n", + "\n", + "# Plastic Deformation\n", + "eAD=ey # Equating stresses\n", + "Sc=6 # Deflection in C(mm)\n", + "Sa2=symbols('Sa2') # Variable declaration \n", + "Sa2=solve(((1/2)*(Sa2+6)-10),Sa2) # The deflection Sa for which Sb = 10\n", + "\n", + "# Unloading\n", + "Sa3=14-3 #Since the stress in rod CE remained within the elastic range, we note that the final deflection of point C is zero.\n", + "\n", + "print('Required maximum value of Q =%.1f mm' %Q)\n", + "print('The final position of the beam =%1f mm' %Sa3)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3_2.ipynb new file mode 100644 index 00000000..b48e725d --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3_2.ipynb @@ -0,0 +1,975 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 3 : Torsion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.01, Page number 150" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Largest permissible torque that can be applied to the shaft = 4.084070 kN\n", + "Minimum shearing stress that can be applied to the shaft = 80.000000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "l=1.5 # length of the cylindrical shaft\n", + "Tmax=120 # Maximum allowable torque\n", + "c1=0.02 # Inner radius \n", + "c2=0.03 # Outer radius\n", + "\n", + "\n", + "\n", + "#Calculation \n", + "#Case(a)\n", + "J=(1/2.0)*(math.pi)*(c2**4-c1**4) # Polar moment of inertia \n", + "c=c2 # Letting c equal to c2\n", + "T=((J*Tmax*(pow(10,6)))/(c))/(1000.0) # Largest Permissible Torque\n", + "#Case(b)\n", + "Tmin=(c1/c2)*(Tmax) # Minimum Shearing Stress\n", + "\n", + "#Result\n", + "print ('Largest permissible torque that can be applied to the shaft = %lf kN' %T)\n", + "print ('Minimum shearing stress that can be applied to the shaft = %lf MPa' %Tmin)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.1, Page number 152" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum shearing stress in shaft BC = 86.229980 MPa\n", + "Minimum shearing stress in shaft BC = 64.650000 MPa\n", + "Required diamter of the shafts AB and CD = 78.353203 mm\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "Din=90/(1000.0) # Inner diamter of shaft BC(m) \n", + "Dout=120/(1000.0) # Outer diamter of shaft BC(m)\n", + "Tab=symbols('Tab')\n", + "Tbc=symbols('Tbc')\n", + "\n", + "#Calculation \n", + "#Equations of statics\n", + "Tab=solve(6-Tab,Tab) # Torque in the shaft AB(kN.m)\n", + "Tbc=14+6 # Torque in the shaft BC(kN.m)\n", + "\n", + "#Case(a) Shaft BC\n", + "J=((math.pi)/2.0)*((pow(Dout/2,4)-pow(Din/2,4))) # Polar moment of inertia(m**4)\n", + "# Maximum Shearing Stress\n", + "Tmax=((Tbc*(Dout/2))/(J))/(1000.0) # Maximum shearing stress(MPa)\n", + "#Minimum Shearing Stress\n", + "Tmin=(45/60.0)*86.2 # Minimum shearing stress(MPa) \n", + "#Case(b) Shafts AB and CD\n", + "c=((6*4)/(65*(math.pi)))**1/3 # Radius of the shafts(m)\n", + "\n", + "#Result\n", + "print ('Maximum shearing stress in shaft BC = %lf MPa' %Tmax) \n", + "print ('Minimum shearing stress in shaft BC = %lf MPa' %Tmin)\n", + "print ('Required diamter of the shafts AB and CD = %lf mm' %(c*2*1000))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.2, Page number 153" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a):Maximum torque that can be transmitted by the shaft as designed = 408.407045 kip.in\n", + "Case(b):Maximum torque that can be transmitted by the shaft of equal weight = 210.744442 kip.in\n", + "Case(c):Maximum torque that can be transmitted by the hollow shaft of equal weight and 8 in outer diameter = 636.000000 kip.in\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "din=4 # Inner diamter of shaft (in)\n", + "dout=6 # Outer diamter of shaft (in)\n", + "STRESS=12 # Shearing stress(ksi) \n", + "\n", + "#Calculation \n", + "#Hollow Shaft as Designed. \n", + "J=((math.pi)/2.0)*(pow((dout/2),4)-pow((din/2),4)) # Polar moment of inertia(in**4)\n", + "Th=(J*STRESS)/3.0 # Allowable shearing stress(kip.in) \n", + "\n", + "#Solid Shaft of Equal Weight\n", + "rad=math.sqrt((dout/2)**2-(din/2)**2) # Radius of solid shaft of equal weight(in)\n", + "Te=(12*(math.pi)*(pow(rad,3)))/2.0 # Maximum allowable torque(kip.in)\n", + "\n", + "#Hollow Shaft of 8-in. Diameter.\n", + "c5=math.sqrt(4**2 + 2**2 -3**2) # Inner radius of hallow shaft(in)\n", + "J8=((math.pi)*(4**4-3.317**4))/2.0 # Polar moment of inertia(in**4) \n", + "Tor=((212)*(12))/4.0 \n", + "\n", + "# Result\n", + "print ('Case(a):Maximum torque that can be transmitted by the shaft as designed = %lf kip.in' %Th) \n", + "print ('Case(b):Maximum torque that can be transmitted by the shaft of equal weight = %lf kip.in' %Te)\n", + "print ('Case(c):Maximum torque that can be transmitted by the hollow shaft of equal weight and 8 in outer diameter = %lf kip.in' %Tor)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.02, Page number 160" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum torque that can be transmitted by the shaft as designed = 1.829501 kN.m\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "G=77*(pow(10,9)) # Modulus of rigidity(GPa) \n", + "L=1.5 # length of the shaft(m)\n", + "TWIST=2 # Allowable twist\n", + "\n", + "#Calculation \n", + "#Case(a)\n", + "phy=(2)*((2*(math.pi))/(360)) # Angle of twist(rad)\n", + "#Case(b)\n", + "J=1.021*(pow(10,-6)) # Polar moment of inertia(m**4)\n", + "T=(((J*G)/(L))*(phy))/(1000) # Torque to be applied to the end of shaft(kN.m)\n", + "\n", + "# Result\n", + "print ('Maximum torque that can be transmitted by the shaft as designed = %lf kN.m' %T) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.03, Page number 160" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum torque that can be transmitted by the shaft as designed = 3.906530 degree\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "tmin=70*(pow(10,6)) # Shearing stress(Pa) \n", + "G=77*(pow(10,9))*(1.0) # Modulus of rigidity(Pa)\n", + "L=1500 # ength of arc AA'(mm)\n", + "c1=20 # inner radius(mm)\n", + "\n", + "#Calculation \n", + "#Case(a)\n", + "Ymin=tmin/G # shearing strain on the inner surface of the shaft\n", + "#Case(b)\n", + "phy=((L*Ymin)/(c1))*(360/(2*(math.pi))) # Angle of twist(degrees)\n", + "\n", + "# Result\n", + "print ('Maximum torque that can be transmitted by the shaft as designed = %lf degree' %phy) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.04, Page number 163" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Angle of rotation of end E\n", + "5*L*T/(G*J)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "rA=symbols('rA') # Variable declaration \n", + "rB=symbols('rB') # Variable declaration \n", + "Tad=symbols('Tad') # Variable declaration\n", + "T=symbols('T') # Variable declaration\n", + "L=symbols('L') # Variable declaration \n", + "J=symbols('J') # Variable declaration\n", + "G=symbols('G') # Variable declaration\n", + "\n", + "#Calculation \n", + "rA=2*rB # Given relation \n", + "Tad=2*T # Given relation \n", + "phya=(Tad*L)/(J*G) # Angle of rotation phyA of gear A\n", + "phyb=(rA/rB)*(phya) # Angle of rotation phyB of gear B\n", + "phyEB=(T*L)/(J*G) # Angle of rotation phyEB through which end E rotates with respect to end B\n", + "phyE=phyb+phyEB # Angle of rotation of end E\n", + "\n", + "# Result\n", + "print ('Angle of rotation of end E') \n", + "print (phyE) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.05, Page number 164" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Torque exerted on the shaft by support A. = 51.736527 lb.ft\n", + "Torque exerted on the shaft by support B. = 38.285030 lb.ft\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "L=10 # Outer Length(in)\n", + "r=(7/16.0) # Outer radius(in)\n", + "Li=5 # Internal Length(in)\n", + "ri=(5/16.0) # Inner radius(in)\n", + "L1=5 # Equivalent to internal length(in)\n", + "L2=5 # Equivalent to internal length(in)\n", + "Ta=symbols('Ta') # Torque at a\n", + "Tb=symbols('Tb') # Torque at b \n", + "L1=symbols('L1') # Length\n", + "L2=symbols('L2') # Length \n", + "J1=symbols('J1') # polar moment of inertia\n", + "J2=symbols('J2') # polar moment of inertia\n", + "G=symbols('G') # modulus of rigidity of steel.\n", + "\n", + "#Calculation \n", + "Tb=solve(((Ta*L1)/(J1*G))-((Tb*L2)/(J2*G)),Tb) # Internal torque\n", + "Tb[0]=Tb[0].subs([ (J1, 57.6*(pow(10,-3))), (J2, 42.6*(pow(10,-3))),(L1, 5), (L2, 5)]) \n", + "Ta=solve(90-Tb[0]-Ta,Ta) # Internal torque(lb.ft)\n", + "Tb=0.740*Ta[0] # Internal torque(lb.ft) \n", + "\n", + "# Result\n", + "print ('Torque exerted on the shaft by support A. = %lf lb.ft' %Ta[0])\n", + "print ('Torque exerted on the shaft by support B. = %lf lb.ft' %Tb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.3, Page number 165" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Angle of twist at end A = 2.310432 degree\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "Tab=symbols('Tab') # Torque on shaft AB\n", + "Tbc=symbols('Tbc') # Torque on shaft BC \n", + "Tcd=symbols('Tcd') # Torque on shaft CD \n", + "\n", + "#Calculation\n", + "#Statics\n", + "Tab=solve(250-Tab,Tab) # Using the free body shown(N.m)\n", + "Tbc=2000+250 # Torque on BC(N.m)\n", + "Tcd=Tbc # Torque on CD(N.m)\n", + "\n", + "#Polar Moments of Inertia\n", + "Jab=((math.pi)*((0.015)**4))/2.0 # Polar moment of inertia AB(m**4) \n", + "Jbc=((math.pi)*((0.030)**4))/2.0 # Polar moment of inertia BC(m**4)\n", + "Jcd=((math.pi)*((0.030)**4-(0.022)**4))/2.0 # Polar moment of inertia CD(m**4) \n", + "\n", + "#Angle of Twist\n", + "AngleA=((1/77.0)*(((250*0.4)/(0.0795))+(((2250)*(0.2))/(1.272))+(((2250)*(0.6))/(0.904))))/((pow(10,-6))*(pow(10,9))*(1.0)) # Angle of twist(rad)\n", + "AngleA=AngleA*(360/(2*math.pi)) # convertiong radian into degree\n", + "\n", + "# Result\n", + "print ('Angle of twist at end A = %lf degree' %AngleA)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.4, Page number 166" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Maximum permissible torque = 561.0 lb.in\n", + "Case(b): The corresponding angle through which end A of shaft AB rotates = 10.5 degrees\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols \n", + "\n", + "#Variable declaration\n", + "T0=symbols('T0') # Variable declaration\n", + "Tab=symbols('Tab') # Variable declaration \n", + "F=symbols('F') # Force\n", + "phyB=symbols('phyB') # Variable declaration\n", + "phyC=symbols('phyC') # Variable declaration\n", + "Smax=8000 # Maximum permissible shearing stress(psi) \n", + "cAB=0.375 # Radius of shaft AB(in)\n", + "cCD=0.5 # Radius of shaft CD(in)\n", + "rC=2.45 # Radius at C(in)\n", + "rB=0.875 # Radius at B(in) \n", + "Tcd=symbols('Tcd') # Variable declaration\n", + "\n", + "# Calculation\n", + "# Statics\n", + "T0=F *0.875 # Equation 1 by Submission of Mb\n", + "Tcd=F*2.45 # Equation 2 by Submission of Mc\n", + "phyB=phyC*(rC/rB) # By noting that the peripheral motions of the gears are equal\n", + "#Shaft AB\n", + "Tab=T0 # Variable declaration\n", + "T0=round((8000)*(1/2.0)*(math.pi)*(0.375)**3) # Largest torque that must be applied to end A of shaft AB(lb.in) \n", + "#Shaft CD\n", + "T0=symbols('T0') # Variable declaration\n", + "Tcd=2.8*T0 # Equation \n", + "T0=round((8000*(1/2.0)*(math.pi)*(0.5)**3)/2.8) # Largest torque that must be applied to end C of shaft CD(lb.in)\n", + "#Angle of Rotation at End A\n", + "#Shaft AB\n", + "phyAB=(((561)*(24))/((1/2.0)*(math.pi)*((0.375)**4)*(11.2*pow(10,6))))*(360/(2*math.pi)) \n", + "#Shaft CD\n", + "phyCD=(((561)*(36)*(2.8))/((1/2.0)*(math.pi)*((0.5)**4)*(11.2*pow(10,6))))*(360/(2*math.pi)) \n", + "phyC=phyCD\n", + "phyB=2.8*(phyC)\n", + "phyA=phyB+phyAB\n", + "\n", + "#Result\n", + "print('Case(a): Maximum permissible torque = %.1f lb.in' %T0)\n", + "print('Case(b): The corresponding angle through which end A of shaft AB rotates = %.1f degrees' %phyA)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.5, Page number 167" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Maximum permissible torque = 6.3 lb.in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols \n", + "\n", + "#Variable declaration\n", + "T0=symbols('T0') # Variable declaration\n", + "T1=symbols('T1') # Variable declaration \n", + "T2=symbols('T2') # Variable declaration \n", + "phy1=symbols('phy1') # Variable declaration\n", + "phy2=symbols('phy2') # Variable declaration\n", + "Ts=120 # Maximum allowable stress in stell(MPa)\n", + "Ta=70 # Maximum allowable stress in aluminum(MPa)\n", + "Gs=77 # Modulus of regidity for steel(GPa) \n", + "Ga=27 # Modulus of regidity for aluminium(GPa) \n", + "T0=T1+T2 # Equation \n", + "phy1=phy2 # Equation\n", + "T2=T1*(77/27)*(0.614/2.003) # Since both the tube and the shaft are connected to the rigid disk\n", + "# Shearing Stresses\n", + "T1=round(((70*pow(10,6))*(2.003*pow(10,-6)))/(0.038)) # Torque(N.m)\n", + "T2=(0.874)*(3690) # Torque(N.m)\n", + "tsteel=((3225)*(0.025)*(pow(10,-6)))/(0.614*pow(10,-6)) # Maximum shearing stress in steel shaft(MPa) \n", + "T2=round(((120)*pow(10,6)*(0.614*pow(10,-6)))/(0.025),-1) # Reobtaining torque as our earlier assumption was wrong(N.m)\n", + "T1=round(2950/0.874) # Torque(N.m) \n", + "T0=(T1+T2)/(1000) # maximum torque(N.m) \n", + "\n", + "#Result\n", + "print('Case(a): Maximum permissible torque = %.1f lb.in' %T0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.06, Page number 178" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Size of shaft = 0.374342 lb.in\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "P=5 # Power(hp)\n", + "f=3600 # frequency(rpm) \n", + "Tmax=8500 # Maximum torque(psi)\n", + "\n", + "#Calculation \n", + "P=P*(6600) # Converting power into lb/s\n", + "f=(3600)/(60.0) # Converting frequency into cycles per second\n", + "T=(P)/(2*(math.pi)*f) # Torque exerted on the shaft\n", + "Ratio=T/Tmax # Here we are finding the value of J/c\n", + "c=(((10.30)*(pow(10,-3))*(2))/(math.pi))**(1/3.0)\n", + "d=2*c # Diameter of the shaft that should be used\n", + "\n", + "#Result\n", + "print('Case(a): Size of shaft = %1f lb.in' %d)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.07, Page number 178" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Tube thickness that should be used = 4.414195 lb.in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "P=100 # Power(kW)\n", + "f=20 # frequency(Hz) \n", + "c2=25 # radius(mm) \n", + "Smax=60 # Shearing stress maximum(MPa)\n", + "c1=symbols('c1')\n", + "\n", + "#Calculation \n", + "T=P/(2*(math.pi)*f) # torque exerted on the shaft\n", + "Ratio=T/(Tmax*(pow(10,6))) # Here we are finding the value of J/c2\n", + "c1=solve((0.025)**4-(0.050/math.pi)*(13.26*(pow(10,-6)))-(c1)**4,c1) \n", + "Thickness=c2-(c1[1]*1000) # Thickness that should be used if the shearing stress is not to exceed\n", + "\n", + "#Result\n", + "print('Case(a): Tube thickness that should be used = %1f lb.in' %Thickness)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.6, Page number 180" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Maximum power that can be transmitted = 890.000000 hp\n", + "Case(b): Percentage in power = 11.000000 \n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "D=7.5 # Diameter of the bigger shaft(in)\n", + "d=3.75 # Diameter of the smaller shaft(in)\n", + "r=0.5625 # Inner radius(in)\n", + "k=1.33 # Stress concentration factor\n", + "\n", + "#Calculation \n", + "temp1=(D/d) \n", + "temp2=(r/d)\n", + "T=round((1/2)*(math.pi)*((1.875)**3)*(8/1.33),1) # Maximum torque(ksi) \n", + "#Power\n", + "f=(900/60) # Frequency(Hz)\n", + "Pa=(2*(math.pi)*15*62.3*pow(10,3)) # Power(lb/s)\n", + "Pa=round(Pa/6600) # Power(hp) \n", + "#Final Design\n", + "r=15/16 # Radius(in) \n", + "temp2=(0.9375/3.75) \n", + "k=1.20 # Stress concentration factor\n", + "T=(10.35*(8/1.20)) # Torque(kip.in)\n", + "Pb=(2)*(math.pi)*(15)*(69)*(pow(10,3)) # Power(lb/s) \n", + "Pb=round(Pb/6600) # Power(hp)\n", + "#Percent Change in Power\n", + "PC=round(((Pb-Pa)/Pa)*100)\n", + "\n", + "#Result\n", + "print('Case(a): Maximum power that can be transmitted = %1f hp' %Pa)\n", + "print('Case(b): Percentage in power = %1f ' %PC)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.08, Page number 189" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Radius of elastic core = 15.749013 mm\n", + "Case(b): Angle of twist = 8.494327 degree \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "#Variable declaration\n", + "l=1.2 # length(m)\n", + "d=50 # diameter(mm) \n", + "T=4.60 # torque(kN) \n", + "G=77 # modulus of rigidity(GPa)\n", + "ty=150 # torque(MPa)\n", + "c=25 # radius(mm)\n", + "py=symbols('py')\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "J=(1/2)*(math.pi)*(25*(pow(10,-3)))**4 # Polar moment of inertia(m**4) \n", + "Ty=(J*ty*(pow(10,6)))/(c*(pow(10,-3))) # Torque(kN.m)\n", + "py=solve((py/c)**3-4+((3*4.60)/(3.68)),py) # Radius of elastic core(mm)\n", + "# Case(b)\n", + "phyY=(Ty*l*(pow(10,3)))/(J*G*(pow(10,9))) # Angle of twist at the onset of yield(rad) \n", + "phy=((93.4*(pow(10,-3)))/(0.630))*(360/(2*math.pi)) # Angle of twist(degree)\n", + "\n", + "# Result\n", + "print('Case(a): Radius of elastic core = %1f mm' %py[0])\n", + "print('Case(b): Angle of twist = %1f degree ' %phy)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.09, Page number 190" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Permanent twist = 1.810362 degree\n", + "Case(b): Residual stress = 187.296417 MPa \n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "T=4.60*(10**3) # Torque(N.m)\n", + "L=1.2 # length(m) \n", + "G=77*(10**9) # modulus of rigidity(Pa)\n", + "J=614*(10**-9) # Polar moment of inertia(m**4)\n", + "phy=8.50 \n", + "c=25*(10**-3) # radius(m)\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "phyl=((T*L)/(J*G))*(360/(2*(math.pi))) # Lateral twist(degree)\n", + "phyp=phy-phyl # Permanent twist(degree)\n", + "# Case(b)\n", + "Tlmax=((T*c)/(J))/(pow(10,6)) # Residual stresses(MPa) \n", + "\n", + "# Result\n", + "print('Case(a): Permanent twist = %1f degree' %phyp)\n", + "print('Case(b): Residual stress = %1f MPa ' %Tlmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## SAMPLE PROBLEM 3.7, Page number 192" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Magnitude of T when yield first occurs = 5.730000 degree\n", + "Case(b): Angle of twist when the deformation has become fully plastic.= 8.590000 MPa \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import integrate, symbols\n", + "\n", + "#Variable declaration\n", + "p=symbols('p')\n", + "G=(11.2*pow(10,6)) # Modulus of rigidity(GPa)\n", + "ty=21 # Stress(ksi) \n", + " \n", + "#Calculation\n", + "#Geometric properties\n", + "c1=(1/2)*(1.5) # Radius(in)\n", + "c2=(1/2)*(2.25) # Radius(in) \n", + "J=round((1/2)*(math.pi)*(c2**4-c1**4),2) # Polar moment of inertia(in**4)\n", + "#Case(a) Onset of yield\n", + "tmax=ty\n", + "Ty=round(((21)*(2.02))/1.125,1) # Torque at y(kip.in)\n", + "phyY=((21*(10**3))*(60))/(1.125*11.2*pow(10,6)) # Onset of yield(rad)\n", + "phyY=round(phyY*(360/(2*math.pi)),2)\n", + "#Case(b) Fully Plastic Deformation\n", + "Tp=round(2*math.pi*21*integrate(p**2, (p, c1, c2)),1) # Torque(kip.in) \n", + "phyF=round((21*pow(10,3)*60)/(0.75*11.2*pow(10,6)),4) # Fully plastic deformation(rad) \n", + "phyF=round(phyF*(360/(2*math.pi)),2)\n", + "\n", + "# Result\n", + "print('Case(a): Magnitude of T when yield first occurs = %1f degree' %phyY)\n", + "print('Case(b): Angle of twist when the deformation has become fully plastic.= %1f MPa ' %phyF)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.8, Page number 193" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Residual stress = 0.000000 kip.in\n", + "Case(b): Permanent angle of twist= 1.890000 degree \n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "Tp=44.1\n", + "phyF=8.59\n", + "\n", + "# Calculation\n", + "# Elastic Unloading\n", + "Tmax=((44.1)*(1.125))/2.02\n", + "Tmin=(Tmax)*(0.75/1.125)\n", + "phyl=round(((44.1*pow(10,3)*60)*(360/(2*math.pi)))/((2.02)*(11.2*pow(10,6))),2)\n", + "phy=phyF-phyl\n", + "\n", + "# Result\n", + "print('Case(a): Residual stress = %1f kip.in' %(0))\n", + "print('Case(b): Permanent angle of twist= %1f degree ' %(phy))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.10, Page number 202" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a): Shearing stress in each wall = 8.346688 ksi\n", + "Case(b): Shearing stress in wall AB and AC= 11.128917 ksi \n", + "Case(b): Shearing stress in wall BD and CD= 6.677350 ksi \n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "t=0.160 # thickness(in)\n", + "T=24 # Torque(kip.in) \n", + "\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "Area=3.84*2.34 # Area bounded by centre line(in**2) \n", + "t=(T)/(2*t*Area) # shearing stress in wall(ksi) \n", + "# Case(b)\n", + "tABAC=0.120\n", + "tBDCD=0.200\n", + "tAB=(T)/(2*tABAC*Area) # shearing stress in wall(ksi)\n", + "tAC=tAB\n", + "tBD=(T)/(2*tBDCD*Area) # shearing stress in wall(ksi)\n", + "tCD=tBD\n", + "\n", + "# Result\n", + "print('Case(a): Shearing stress in each wall = %1f ksi' %t)\n", + "print('Case(b): Shearing stress in wall AB and AC= %1f ksi ' %tAB)\n", + "print('Case(b): Shearing stress in wall BD and CD= %1f ksi ' %tCD)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 3.9, Page number 203" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Largest torque on bar with square cross section = 532.480000 N.m\n", + "Largest torque on bar with rectangular cross section = 414.400000 N.m\n", + "Largest torque on square tube = 555.000000 N.m\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Bar with Square Cross Section\n", + "#Variable declaration\n", + "tALL=40 # Stress(MPa)\n", + "\n", + "\n", + "#Calculation\n", + "# Bar with square cross section\n", + "a=0.040 # Length(m) \n", + "b=0.040 # Length(m)\n", + "temp=(a/b) \n", + "c1=0.208 # Coefficient\n", + "tmax=tALL # Maximum stress(MPa)\n", + "T1=(40)*(pow(10,6))*(0.208)*(pow(0.040,3)) # Torque(N.m)\n", + "\n", + "# Bar with Rectangular Cross Section.\n", + "a=0.064 # Length(m)\n", + "b=0.025 # Length(m)\n", + "temp2=(a/b)\n", + "T2=(40)*(pow(10,6))*(0.259)*(0.064)*(pow(0.025,2)) # Torque(N.m)\n", + "\n", + "#Square Tube\n", + "A=(0.034)*(0.034) # Area bounded by the center line of the cross section(m**2)\n", + "T3=round((40)*(pow(10,6))*(2)*(0.006)*(1.156)*(pow(10,-3)),0) # Torque(N.m)\n", + "\n", + "# Result\n", + "print('Largest torque on bar with square cross section = %1f N.m' %T1)\n", + "print('Largest torque on bar with rectangular cross section = %1f N.m' %T2)\n", + "print('Largest torque on square tube = %1f N.m' %T3)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4_2.ipynb new file mode 100644 index 00000000..93740896 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4_2.ipynb @@ -0,0 +1,1038 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4 : Pure Bending" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.01, Page number 232" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bending moment = 30.000000 kip.in\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "c=1.25 # Radius(in)\n", + "Sy=36 # Stress(ksi)\n", + "b=0.8 # Breadth(in)\n", + "h=2.5 # Height(in)\n", + "\n", + "#Calculation \n", + "I=(1/12.0)*(b)*(h)**3 # Centroidal moment of inertia(in**4)\n", + "M=(I/c)*(Sy) # Bending moment(kip.in)\n", + "\n", + "# Result\n", + "print ('Bending moment = %lf kip.in' %M)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.02, Page number 233" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum tensile stress = 193.397171 MPa\n", + "Maximum compressive stress = -142.602829 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "r=12 # Radius(mm)\n", + "p=2.5 # Mean radius(m) \n", + "E=70 # Modulus of rigidity(GPa)\n", + "n=-1\n", + "\n", + "#Calculation \n", + "Y=(4*r)/(3*(math.pi)) # Ordinate(mm)\n", + "c=r-Y # Distance from the neutral axis to the point of crossection(mm) \n", + "Em=(c*(10**-3))/p # Maximum absolute value of the strain\n", + "Sm=((E*(pow(10,9)))*Em)/(pow(10,6)*(1.0)) # Maximum tensile stress(MPa)\n", + "Scomp=(n)*(Y/c)*(Sm) # Maximum compressive stress(MPa) \n", + "\n", + "# Result\n", + "print ('Maximum tensile stress = %lf MPa' %Sm)\n", + "print ('Maximum compressive stress = %lf MPa' %Scomp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.1, Page number 235" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bending moment M for which factor of safety is 3 = 103.760000 kip.in\n", + "Radius of curvature of tube = 110.400000 ft\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "sY=40 # Stress(ksi)\n", + "sU=60 # Stress(ksi)\n", + "E=(10.6)*(pow(10,6)) # Modulus of rigidity(psi)\n", + "FS=3 # Factor of safety\n", + "\n", + "#Calculation\n", + "#Moment of Inertia\n", + "E=(10.6)*(pow(10,6)) # Modulus of rigidity(psi)\n", + "I=round(((1/12.0)*3.25*pow(5,3))-((1/12)*(2.75)*pow(4.5,3)),2) # Centroidal moment of inertia of a rectangle\n", + "#Allowable Stress\n", + "sALL=(sU/FS) # Allowable stress(ksi)\n", + "#Case(a) Bending Moment\n", + "c=(1/2.0)*(5) # Radius(in)\n", + "M=((12.97)*(20))/2.5 # Bending moment(kip.in)\n", + "#Case(b) Radius of Curvature\n", + "p=round((10.6*pow(10,6)*12.97)/(103.8*pow(10,3)),1) # Radius of curvature(in)\n", + "p=round((p*0.08333),1) # Converting into feet(ft) \n", + "#Alternative Solution.\n", + "Em=(sALL/(E*(pow(10,-3))*(1.0))) # Maximum strain(in./in)\n", + "p=(c/Em) # Radius of curvature(in)\n", + "p=round((p*0.08333),1) # Converting into feet(ft) \n", + "\n", + "# Result\n", + "print ('Bending moment M for which factor of safety is 3 = %lf kip.in' %M)\n", + "print ('Radius of curvature of tube = %lf ft' %p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.2, Page number 236" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum tensile stress = 76.036866 MPa\n", + "Maximum compressive stress = -131.336406 MPa\n", + "Radius of curvature = 47.740000 ft\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "n=-1\n", + "\n", + "#Calculation\n", + "#Centroid\n", + "sumA=3000 # Summing up the area(mm**2) \n", + "M=3 # Couple(kN.m) \n", + "cA=0.022 # Distance(m) \n", + "Y=(114*pow(10,6))/(3000.0) # Distance(mm)\n", + "#Centroidal Moment of Inertia\n", + "Ix=((1/12.0)*(90)*(pow(20,3)) + (90*20*pow(12,2)) + ((1/12.0)*(30)*(pow(40,3))) + (30*40*pow(18,2)))/(pow(10,12)*(1.0)) # Centroidal moment of inertia(m**4) \n", + "#Case(a) Maximum Tensile Stress\n", + "sA=((M*cA)/(Ix)*(1.0))/(1000.0) # Maximum tensile stress(MPa) \n", + "#Maximum Compressive Stress\n", + "sB=n*(3*0.038)/((868*pow(10,-9)*pow(10,3))) # Maximum compressive stress(MPa) \n", + "#Case(b) Radius of Curvature\n", + "p=((165*868*(pow(10,-9)))/(3))*(pow(10,6)) # Radius of curvature(m)\n", + "\n", + "\n", + "# Result\n", + "print ('Maximum tensile stress = %lf MPa' %sA)\n", + "print ('Maximum compressive stress = %lf MPa' %sB)\n", + "print ('Radius of curvature = %lf ft' %p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.03, Page number 244" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum stress in brass portion = 11.851852 ksi\n", + "Maximum stress in steel portion = 22.909630 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "Es=29*(pow(10,6)) # Modulus of rigidity(psi)\n", + "Eb=15*(pow(10,6))*(1.0) # Modulus of rigidity(psi) \n", + "M=40 # Bending moment(kip.in)\n", + "h=3 # Height(3)\n", + "b=2.25 # Breadth(in) \n", + "c=1.5 # Distance(in)\n", + "\n", + "#Calculation \n", + "n=Es/Eb # Ratio\n", + "W=0.75*n # width(in)\n", + "I=(1/12.0)*(b)*((h)**3) # Moment of inertia of the transformed section(in**4)\n", + "Sm=(M*c)/(I) # Maximum stress in the transformed section(ksi)\n", + "Sbrass=Sm # Maximum stress in brass portion(ksi)\n", + "Ssteel=1.933*(Sbrass) # Maximum stress in steel portion(ksi)\n", + "\n", + "# Result\n", + "print ('Maximum stress in brass portion = %lf ksi' %Sbrass)\n", + "print ('Maximum stress in steel portion = %lf ksi' %Ssteel)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.04, Page number 247" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Smallest allowable width of the groves = 10.400000 mm\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "depth=10 # Depth(mm)\n", + "width=60 # Width(mm)\n", + "thickness=9 # Thickness(mm)\n", + "Smax=150 # Maximum stress(MPa) \n", + "M=180 # Bending moment(N.m) \n", + "\n", + "#Calculation \n", + "d=width-(2*depth) # Distance(mm) \n", + "c=(1/2.0)*d # Distance(mm) \n", + "b=9 # Distance(mm)\n", + "I=(1/12.0)*(b*(pow(10,-3)))*((d*(pow(10,3)))**3) # Moment of inertia of the critical cross section(m**4)\n", + "Ratio=((M)*(c)*(pow(10,3)))/(I) # Stress(MPa)\n", + "k=150/75.0 # Factor \n", + "Ratio2=width/(d*1.0) # Ratio\n", + "r=0.13*40 # Radius(mm)\n", + "wid=2*r # Width(mm)\n", + "\n", + "# Result\n", + "print ('Smallest allowable width of the groves = %lf mm' %wid)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.3, Page number 248" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum stress in the wood = 4.570000 MPa\n", + "Stress in steel = 43.800000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "# Variable declaration\n", + "Es=200 # Moduluss of rigidity(GPa)\n", + "Ew=12.5 # Moduluss of rigidity(GPa) \n", + "\n", + "#Transformed Section.\n", + "n=(Es/Ew) # Ratio\n", + "#Neutral Axis\n", + "Y=round(((0.160)*(3.2*0.020))/(3.2*0.020+0.470*0.300),2) # Distance(m) \n", + "#Centroidal Moment of Inertia\n", + "I=round(((1/12)*0.470*(pow(0.3,3)))+(0.470*0.3*(pow(0.05,2)))+((1/12)*(3.2)*(pow(0.020,3)))+(3.2*0.020*(pow(0.160-0.050,2))),5) # Centroidal Moment of Inertia \n", + "#Maximum Stress in Wood\n", + "sW=((50*(pow(10,3)))*(0.200))/(2.19*pow(10,-3)) # Maximum stress in wood(MPa)\n", + "sW=round((sW/(pow(10,6))),2) # Rounding\n", + "#Stress in Steel\n", + "sS=((16)*(50*(pow(10,3)))*(0.120))/(2.19*(pow(10,-3))) # Stress in steel(MPa) \n", + "sS=round((sS/(pow(10,6))),1) # Rounding\n", + "\n", + "# Result\n", + "print ('Maximum stress in the wood = %lf MPa' %sW)\n", + "print ('Stress in steel = %lf MPa' %sS)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.4, Page number 249" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum stress in concrete = 1.306000 MPa\n", + "Stress in steel = 18.520000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve\n", + "\n", + "# Variable declaration\n", + "x=symbols('x') # Variable declartion \n", + "d=(5/8.0) # Diameter(in)\n", + "Es=(29*(pow(10,6))) # Modulus of elasticity for concrete(psi)\n", + "Ec=(3.6*(pow(10,6))) # Modulus of elasticity for stell(psi)\n", + "\n", + "# Calculation\n", + "#Transformed Section\n", + "As=round((2)*(math.pi)*(pow(d/2,2)),3) # Cross sectional area(in**2)\n", + "n=round(Es/Ec,2) # Ratio\n", + "TA=round(n*As,2) # Transformed steel area(in**2)\n", + "#Neutral Axis\n", + "x=(solve((12*x)*(x/2.0)-(4.95)*(4-x)))\n", + "#Moment of inertia\n", + "I=(1/3.0)*(12)*((1.450)**3) + 4.95*(4-1.450)**2 # Centroidal moment of inertia(in**4) \n", + "#Maximum Stress in Concrete\n", + "sC=round(((40)*(1.450))/(44.4),3) # Maximum stress in concrete(ksi) \n", + "#Stress in Steel\n", + "sS=round(((8.06)*(40)*(2.55))/(44.4),2) # Stress in steel(ksi)\n", + "\n", + "# Result\n", + "print ('Maximum stress in concrete = %lf MPa' %sC)\n", + "print ('Stress in steel = %lf MPa' %sS)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.05, Page number 260" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Thickness of elastic core = 80.000000 mm\n", + "Radius of curvature = 33.333333 m\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols, solve \n", + "\n", + "#Variable declaration\n", + "M=36.8\n", + "c=60*(pow(10,-3)) # Half length of rod(mm)\n", + "b=50*(pow(10,-3)) # Breadth of rod(mm)\n", + "Sy=240 # Stress(MPa) \n", + "yY=symbols('yY') # Variable declaration\n", + "E=200 # Modulus of elasticity(GPa)\n", + "n=-1\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "Rt=(2/3.0)*(b)*(c)**2 # Ratio(m**3)\n", + "My=Rt*Sy # Maximum elastic moment(kN.m) \n", + "yY=solve(36.8-(3/2.0)*(28.8)*(1-((1/3.0)*(((yY)**2)/(60**2)))),yY) # \n", + "# Case(b)\n", + "Ey=(Sy*(pow(10,6)))/(E*(pow(10,9)*(1.0)))\n", + "p=(yY[0]*(pow(10,-3)))/(Ey)\n", + "\n", + "# Result\n", + "print ('Thickness of elastic core = %lf mm' %(n*(2*yY[0])))\n", + "print ('Radius of curvature = %lf m' %(n*p))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.06, Page number 262" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Residual stress = 306.666667 MPa\n", + "Radius of curvature after unloading = 225 m\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "M=36.8 # Bending moment(kN) \n", + "Sy=240 # Yield strength(MPa)\n", + "yY=40 # Thickness of elastic core(mm) \n", + "n=-1\n", + "Sx=n*35.5*(pow(10,6)) # Stress(Pa) \n", + "E=200*(pow(10,9))\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "Sml=((36.8)/(120*(pow(10,-6))))/(1000) # Residual stress(MPa) \n", + "# Case(b)\n", + "Ex=Sx/E # Residual strain \n", + "p=(n*(40*(pow(10,-3))))/(Ex) # Radius of Curvature after Unloading(m)\n", + "\n", + "# Result\n", + "print ('Residual stress = %lf MPa' %Sml)\n", + "print ('Radius of curvature after unloading = %.lf m' %p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.5, Page number 263" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Bending moment = 9525.000000 kip.in\n", + "Case(a) Radius of curvature = 4640 in\n", + "Case(b) Bending moment = 10226.342000 kip.in\n", + "Case(b) Radius of curvature = 338 ft\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "# variable declaration\n", + "E=(29*pow(10,6)) # Modulus of elastoplasticity(psi)\n", + "sY=50 # Stress(ksi) \n", + "\n", + "# Calculation\n", + "#Case(a) Onset Of Yield\n", + "I=round((1/12.0)*(12)*(pow(16,3))-(1/12.0)*(12-0.75)*(pow(14,3)),0) # Centroidal moment of inertia(in**4) \n", + "#Bending Moment\n", + "sMAX=sY # Stress(ksi)\n", + "c=8.0 # Distance(in)\n", + "My=(sY*I)/c # Bending moment(kip.in)\n", + "#Radius of Curvature \n", + "Ey=sY/(E*(1.0)) # Strain\n", + "pY=(c/Ey)/(1000.0) # Radius of curvature(in)\n", + "#Case(b) Flanges Fully Plastic\n", + "R1=50*12*1 # Compressive forces on top(kips) \n", + "R4=R1 # Compressive forces on top(kips) \n", + "R2=round((1/2.0)*(50)*(7)*(0.75)+0.05,1) # Compressive forces on top half(kips)\n", + "R3=R2 # Compressive forces on top half(kips)\n", + "#Bending Moment\n", + "M=2*((R1*7.5)+(R2*4.67)) # Bending moment(kip.in)\n", + "#Radius of Curvature\n", + "p=round(((7/0.001724)*0.0833),0) # Radius of curvature(ft) \n", + "\n", + "# Result\n", + "print ('Case(a) Bending moment = %lf kip.in' %My)\n", + "print ('Case(a) Radius of curvature = %.lf in' %pY)\n", + "print ('Case(b) Bending moment = %lf kip.in' %M)\n", + "print ('Case(b) Radius of curvature = %.lf ft' %p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.6, Page number 264" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Plastic moment = 44.160000 kN.m\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "\n", + "# Variable declaration\n", + "sY=240 # Yield strength(MPa)\n", + "A1=(0.1*0.02) # Area of cross section(m**2)\n", + "A2=(0.02*0.02) # Area of cross section(m**2)\n", + "A3=(0.02*0.06) # Area of cross section(m**2)\n", + "A4=(0.06*0.02) # Area of cross section(m**2)\n", + "\n", + "# Calculation\n", + "#Neutral Axis\n", + "A=(100)*(20) + (80)*(20) + (60)*(20) # Total area(mm**2)\n", + "y=(2400-((20)*(100)))/(20) # Distance(mm)\n", + "#Plastic Moment\n", + "R1=(A1*sY*1000) # Resultant force(kN) \n", + "R2=(A2*sY*1000) # Resultant force(kN)\n", + "R3=(A3*sY*1000) # Resultant force(kN) \n", + "R4=(A4*sY*1000) # Resultant force(kN) \n", + "\n", + "Mp=(0.030*R1) + (0.010*R2) + (0.030*R3) + (0.070*R4) # Plastic moment(kN.m)\n", + "\n", + "# Result\n", + "print ('Case(a) Plastic moment = %lf kN.m' %Mp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.7, Page number 265" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Residual stress = 53.700787 ksi\n", + "Case(a) Permanent radius of curvature = 5620.000000 ft\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "# Variable declaration\n", + "y=7 # Distance(in)\n", + "s=-3.01 # Stress(ksi)\n", + "\n", + "# Calculation\n", + "#Loading\n", + "M=10230 # Couple of moment(kip.in)\n", + "#Elastic Unloading\n", + "sMl=((10230)*(8))/(1524.0) # Maximum stress(ksi)\n", + "#Permanent Radius of Curvature\n", + "p=round(((7)*(29*pow(10,6))*(pow(10,-3)))/(3.01),-2) # Permanent radius of curvature(in)\n", + "p=round((p*0.083333),-1) # Conversion(ft)\n", + "\n", + "# Result\n", + "print ('Case(a) Residual stress = %lf ksi' %sMl)\n", + "print ('Case(a) Permanent radius of curvature = %lf ft' %p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.8, Page number 273" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Largest allowable force = 76.972418 kN\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "# Variable declaration\n", + "M=symbols('M') # Variable declaration\n", + "P=symbols('P') # Variable declaration\n", + "\n", + "# Calculation\n", + "#Properties of Cross Section.\n", + "A=(3*pow(10,-3)) # Area of cross section(mm**2)\n", + "Y=0.038 # Distance(m)\n", + "I=868*(pow(10,-9)) # Moment of inertia(m**4)\n", + "d=(0.038-0.010) # Distance(m) \n", + "#Force and Couple at C\n", + "M=0.028*P # Equivalent force-couple system\n", + "s0=(P*(round((1/(3*pow(10,-3))),0))) # Stress compression\n", + "s1=(P*round(((0.028)*(0.022))/(868*(pow(10,-9))),0)) # Stress tension \n", + "s2=(P*round(((0.028)*(0.038))/(868*pow(10,-9)))) # Stress compression\n", + "#Superposition\n", + "sA=-s0+s1 # Stress tension\n", + "sB=-s0-s2 # Stress compression\n", + "#Largest Allowable Force\n", + "P1=(30/377.0)*(1000) # The magnitude of P for which the tensile stress at point A is equal to the allowable tensile stress of 30 MPa is found by writing\n", + "P2=(120/1559.0)*(1000) # Determine the magnitude of P for which the stress at B is equal to the allowable compressive stress of 120 MPa.\n", + "\n", + "# Result\n", + "print ('Largest allowable force = %lf kN' %P2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.09, Page number 285" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stress at A = -2.625000 MPa\n", + "Stress at B = -1.375000 MPa\n", + "Stress at C = 1.625000 MPa\n", + "Stress at D = 0.375000 MPa\n", + "Neutral axis BG = 36.666667 mm\n", + "Neutral axis HA = 70.000000 mm\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "F=4.80 # Couple(lb)\n", + "l=80 # Length(mm)\n", + "b=120 # Breadth(mm)\n", + "n=-1\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "Mx=(F)*(40) # Stress in x(N.m)\n", + "Mz=(F)*(60-35) # Stress in z(N.m)\n", + "A=(0.080)*(0.120) # Area of cross section(m**2)\n", + "Ix=(1/12.0)*(0.120)*(0.080**3) # Centroidal moment of inertia(m**4)\n", + "Iz=(1/12.0)*(0.080)*(0.120**3) # Centroidal moment of inertia(m**4)\n", + "S0=n*(P/A) # Stress(MPa) \n", + "S1=((192)*(40))/(5.12*(pow(10,-6))) # Stress in x(MPa)\n", + "S2=((120)*(60))/(11.52*(pow(10,-6))) # Stress in y(MPa)\n", + "Sa=-0.5-1.5-0.625 # Stress at A(MPa)\n", + "Sb=-0.5-1.5+0.625 # Stress at B(MPa)\n", + "Sc=-0.5+1.5+0.625 # Stress at C(MPa) \n", + "Sd=-0.5+1.5-0.625 # Stress at D(MPa)\n", + "\n", + "\n", + "# Case(b)\n", + "BG=((1.375)/(1.625+1.375))*80 # Distance(mm)\n", + "HA=((2.625)/(2.625+0.375))*80 # Distance(mm)\n", + "\n", + "# Result\n", + "print ('Stress at A = %lf MPa' %Sa)\n", + "print ('Stress at B = %lf MPa' %Sb)\n", + "print ('Stress at C = %lf MPa' %Sc)\n", + "print ('Stress at D = %lf MPa' %Sd)\n", + "print ('Neutral axis BG = %lf mm' %BG)\n", + "print ('Neutral axis HA = %lf mm' %HA)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.9, Page number 287" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Largest permissible load = 14.251781 kips\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "# Variable declaration\n", + "P=symbols('P')\n", + "\n", + "\n", + "#Properties of Cross Section\n", + "A=7.46 # Area of cross section(in**2)\n", + "Sx=24.7 # Section moduli x(in**3)\n", + "Sy=2.91 # Section moduli y(in**3) \n", + "#Force and Couple at C\n", + "Mx=4.75*P # Moment x()\n", + "My=1.5*P # Moment y()\n", + "#Normal Stresses\n", + "s1=P*round((1/7.46),4) # Normal stresses \n", + "s2=P*round((4.75/24.7),4) # Normal stresses\n", + "s3=P*round((1.5/2.91),4) # Normal stresses\n", + "#Superposition\n", + "sA=-s1 + s2 +s3 # Stress at A \n", + "sB=-s1+s2-s3 # Stress at B\n", + "sD=-s1-s2+s3 # Stress at D\n", + "sE=-s1-s2-s3 # Stress at E\n", + "\n", + "P=12/0.842 # Maximum compressive stress(kips) \n", + "\n", + "# Result\n", + "print ('Largest permissible load = %lf kips' %P)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.10, Page number 288" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stress at point A = 13.866727 MPa\n", + "The angle formed by the neutral axis and the horizontal is = 41.400000 degree\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import sin,cos\n", + "\n", + "# Variable declaration \n", + "M0=1500 # Couple of magnitude(kN)\n", + "yA=50 # Distance() \n", + "zA=74\n", + "Iy=(3.25*(pow(10,-6))) # Moment of inertia(m**4)\n", + "Iz=(4.18*(pow(10,-6))) # Moment of inertia(m**4)\n", + "Iyz=(2.87*(pow(10,-6))) # Moment of inertia(m**4) \n", + "\n", + "# Calculation\n", + "# Principal axes\n", + "Theta=(80.8)/2.0 # Angle \n", + "R=math.sqrt(pow(0.465,2)+pow(2.87,2)) # Radius\n", + "R=2.91*(pow(10,-6)) # Converting to meter\n", + "Iu=3.72-2.91 # Moment of inertia(m**4)\n", + "Iv=3.72+2.91 # Moment of inertia(m**4) \n", + "#Loading\n", + "Mu=(M0*sin(40.4)) # Applied couple(N.m) \n", + "Mv=(M0*cos(40.4)) # Applied couple(N.m)\n", + "#Case(a) Stress at A\n", + "uA=50*cos(40.4*((2*math.pi)/360.0))+74*sin(40.4*((2*math.pi)/360.0)) # Perpendicular distances(mm)\n", + "vA=-50*sin(40.4*((2*math.pi)/360.0))+74*cos(40.4*((2*math.pi)/360.0)) # Perpendicular distances(mm)\n", + "sA=((972*0.0239)/(0.810*(pow(10,-6))) - ((1142)*(0.0860))/(6.63*pow(10,-6)))/(pow(10,6)) # Stress at A(MPa)\n", + "#Case(b) Neutral Axis\n", + "phy=81.8 # Angle neutral axis with the v axis(degree) \n", + "B=81.8-40.4 # Angle neutral axis with the horizontal axis(degree)\n", + "\n", + "# Result\n", + "print ('Stress at point A = %lf MPa' %sA)\n", + "print ('The angle formed by the neutral axis and the horizontal is = %lf degree' %B)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.10, Page number 298" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The distance e between the centroid and the neutral axis of the cross section = 0.031381 in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import integrate,symbols,log\n", + "\n", + "#Variable declaration\n", + "r=6 # mean radius(in)\n", + "b=2.5 # Breadth(in) \n", + "h=1.5 # Height(in)\n", + "n=-1\n", + "b=symbols('b') # Variable declaration\n", + "h=symbols('h') # Variable declaration\n", + "r=symbols('r') # Variable declaration\n", + "r1=symbols('r1') # Variable declaration\n", + "r2=symbols('r2') # Variable declaration\n", + "\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "A=b*h # Area\n", + "R=A/(integrate((1/r), (r, r1, r2)))*(b) # Radius\n", + "r1=6-((1/2.0)*(1.5)) # Inner radius(in)\n", + "r2=6+((1/2.0)*(1.5)) # Outer radius(in)\n", + "# Case(b)\n", + "R=(1.5)/(log(r2/r1)) # Distance(in)\n", + "e=6-R # Distance between the centroid and the neutral axis \n", + "\n", + "# Result\n", + "print ('The distance e between the centroid and the neutral axis of the cross section = %lf in' %e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.11, Page number 299" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum stress = 7.860974 ksi\n", + "Minimum stress = -9.304620 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "M=8 # Bending moment(kip.in)\n", + "A=(2.5)*(1.5) # Area(in**2) \n", + "R=5.969 \n", + "e=0.0314 # Distance(in)\n", + "\n", + "#Calculation \n", + "# Case(a)\n", + "Smax=((8)*(6.75-5.969))/((3.75)*(0.0314)*(6.75)) # Maximum stress(ksi) \n", + "Smin=((8)*(5.25-5.969))/((3.75)*(0.0314)*(5.25)) # Minimum stress(ksi)\n", + "\n", + "# Result\n", + "print ('Maximum stress = %lf ksi' %Smax)\n", + "print ('Minimum stress = %lf ksi' %Smin)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 4.11, Page number 300" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Largest force that can applied to the component = 8.550000 kN\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import integrate,symbols,solve\n", + "\n", + "#Variable declaration\n", + "P=symbols('P') # Variable declaration \n", + "s=symbols('s') # Variable declaration\n", + "A=symbols('A') # Variable declaration\n", + "M=symbols('M') # Variable declaration\n", + "R=symbols('R') # Variable declaration \n", + "e=symbols('e') # Variable declaration\n", + "\n", + "# Calculation\n", + "#Centroid of the Cross Section\n", + "r=(120*(pow(10,3)))/(2400.0) # Distance(m) \n", + "#Force and Couple at D\n", + "M=((50+60)/1000.0)*P # Moment\n", + "#Superposition\n", + "s=-(P/A) + (M*(r-R))/(A*e*r) # Total stress\n", + "#Radius of Neutral Surface\n", + "r=symbols('r') # Variable declaration \n", + "R=(2400)/((integrate((80/r), (r, 30, 50)))+(integrate((20/r), (r, 50, 90))))# Radius of neutral surface(m) \n", + "#Allowable Load\n", + "P=solve(-(P/(2.4*pow(10,-3))) + (0.110*P*(0.030-0.04561))/(2.4*(pow(10,-3))*(0.00439)*(0.030)) + (50*pow(10,6)),P) # Allowable load(kN)\n", + "P=round((P[0]/1000.0),2) # Rounding off(kN) \n", + "\n", + "# Result\n", + "print ('Largest force that can applied to the component = %lf kN' %P) " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5_2.ipynb new file mode 100644 index 00000000..092c5c5e --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5_2.ipynb @@ -0,0 +1,590 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5 : Analysis and Design of Beams for Bending" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.1, Page number 322" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum normal stress in the beam = 60.000000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "# Reactions\n", + "Rb=40 # Reaction at B(kN)\n", + "Rd=14 # Reaction at D(kN)\n", + "\n", + "# Calculations\n", + "# Shear and Bending-Moment Diagrams\n", + "V1=-20 # Force(kN) \n", + "M1=0 # Moment(kN.m)\n", + "V2=-20 # Force(kN) \n", + "M2=-50 # Moment(kN.m) \n", + "V3=26 # Force(kN) \n", + "M3=-50 # Moment(kN.m)\n", + "V4=26 # Force(kN)\n", + "M4=28 # Moment(kN.m)\n", + "V5=-14 # Force(kN) \n", + "M5=28 # Moment(kN.m)\n", + "V6=-14 # Force(kN)\n", + "M6=0 # Moment(kN.m) \n", + "# Maximum Normal Stress\n", + "S=(1/6.0)*(0.080)*(pow(0.250,2)) # Section modulus of the beam(m**3)\n", + "Mb=(50*pow(10,3)) # Moment(N.m)\n", + "sM=(Mb/S)/((pow(10,6))) # Stress(Pa)\n", + "\n", + "# Result\n", + "print ('Maximum normal stress in the beam = %lf MPa' %sM)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.2, Page number 323" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum normal stress to the left of point D = 16.000000 ksi\n", + "Maximum normal stress to the right of point D = 14.095238 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "x=symbols('x')\n", + "V=symbols('V')\n", + "n=-1\n", + "\n", + "# Calculation\n", + "#Equivalent Loading of Beam\n", + "#Case(a) Shear and Bending-Moment Diagrams\n", + "#From A to C\n", + "V=n*(3*x) # Force(kips) \n", + "M=n*3*(1/2)*x*x # Moment(kip.ft)\n", + "#From C to D\n", + "V=-24 # Force(kips) \n", + "M=96-(24*x) # Moment(kip.ft)\n", + "#From D to B\n", + "V=-34 # Force(kips) \n", + "M=226-(34*x) # Moment(kip.ft)\n", + "#Case(b) Maximum Normal Stress to the Left and Right of Point D\n", + "#To the left of D\n", + "S=126 # Volume(in**3) \n", + "M=2016 # Moment(kip.in)\n", + "Sm=(M)/S # Stress(ksi)\n", + "#To the right of D\n", + "M=1776 # Moment(kip.in)\n", + "Sm2=(M/S) # Stress(ksi)\n", + "\n", + "# Result\n", + "print ('Maximum normal stress to the left of point D = %lf ksi' %Sm)\n", + "print ('Maximum normal stress to the right of point D = %lf ksi' %Sm2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.03, Page number 331" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum value of the bending moment :-\n", + "0.5*l*w*x - 0.5*w*x**2\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,integrate\n", + "\n", + "#Variable declaration\n", + "Ra=symbols('Ra') # Variable declaration\n", + "Rb=symbols('Rb') # Variable declaration\n", + "w=symbols('w') # Variable declaration\n", + "l=symbols('l') # Variable declaration\n", + "x=symbols('x') # Variable declaration\n", + "Ma=0 # Bending moment \n", + "n=-1\n", + "\n", + "#Calculation \n", + "Ra=(1/2.0)*(w)*(l) # Reaction at A\n", + "V=Ra+ n*integrate(w, (x, 0, x)) # Shear\n", + "M=Ma + integrate(V, (x, 0, x)) # Bending moment\n", + "\n", + "# Result\n", + "print ('Maximum value of the bending moment :-')\n", + "print (M)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.3, Page number 333" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bending moment at A = 0.000000 kip.ft\n", + "Bending moment at B = 108.000000 kip.ft\n", + "Bending moment at C = 92.000000 kip.ft\n", + "Bending moment at D = 76.000000 kip.ft\n", + "Bending moment at E = 60.000000 kip.ft\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "Mb=symbols('Mb') # Variable declaration\n", + "Mc=symbols('Mc') # Variable declaration\n", + "Md=symbols('Md') # Variable declaration\n", + "Me=symbols('Me') # Variable declaration\n", + "#Reactions\n", + "D=((12)*(28) + (12)*(14) + (20)*(6))/24.0 # Force(kips)\n", + "Ay=20+12-26+12 # Force(kips)\n", + "Ax=0 # Force(kips)\n", + "#Shear Diagram\n", + "V=18-20 # Force(kips)\n", + "#Bending-Moment Diagram\n", + "Ma=0 # Moment(kip.ft)\n", + "Mb=solve(Mb-108,Mb) # Moment(kip.ft)\n", + "Mc=solve(Mc-Mb[0]+16,Mc) # Moment(kip.ft) \n", + "Md=solve(Md-Mc[0]+16,Md) # Moment(kip.ft)\n", + "Me=solve(Me-Md[0]+16,Me) # Moment(kip.ft)\n", + "Vmax=18 # Force(kips)\n", + "Mmax=108 # Moment(kip.ft)\n", + "\n", + "# Result\n", + "print ('Bending moment at A = %lf kip.ft' %Ma)\n", + "print ('Bending moment at B = %lf kip.ft' %Mb[0])\n", + "print ('Bending moment at C = %lf kip.ft' %Mc[0])\n", + "print ('Bending moment at D = %lf kip.ft' %Md[0])\n", + "print ('Bending moment at E = %lf kip.ft' %Me[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.4, Page number 334" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Location of maximum normal stress = 4.000000 kip.ft\n", + "Magnitude of maximum normal stress = 125.984252 kip.ft\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "x=symbols('x') # Variable declaration\n", + "Ra=80 # Reaction at A(kN)\n", + "Rc=40 # Reaction at C(kN)\n", + "Va=80 # Force at A(kN)\n", + "Ma=0 # Moment at A \n", + "S=1270\n", + "\n", + "#Calculation \n", + "#Case(a)\n", + "Vb=-120+80 # Force at B(kN)\n", + "Vc=Vb # Force at C(kN) \n", + "x=solve(0-80+(20*x),x) \n", + "Md=Ma+160 # Bending moment at point D(kN.m)\n", + "Mb=Md-40 # Bending moment at point B(kN.m) \n", + "Mc=Mb-120 # Bending moment at point C(kN.m)\n", + "sm=((Md*pow(10,3))/(S*pow(10,-6)*pow(10,6)*(1.0))) # Maximum normal stress(Pa)\n", + "\n", + "# Result\n", + "print ('Location of maximum normal stress = %lf kip.ft' %x[0])\n", + "print ('Magnitude of maximum normal stress = %lf kip.ft' %sm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.7, Page number 342" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum required depth of the beam = 14.546281 in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "x=symbols('x') # Variable declaration \n", + "Ra=80 \n", + "Rc=40 \n", + "sall=1.75 # Allowable stress(ksi)\n", + "\n", + "#Calculation \n", + "#Reactions.\n", + "B=((4.5*12)+(3.2*4))/8.0 # Reaction at B(kips)\n", + "Ay=7.7-8.35 # Reaction at A(kips)\n", + "A=-Ay\n", + "#Shear Diagram\n", + "Va=Ay # Force at A(kips) \n", + "Vb=Va-((400*8)/1000.0) # Force at B(kips) \n", + "#Determination of |M| max\n", + "Ma=Mc=0 # Moment at C\n", + "Mmax=18 # Maximum moment(kip.ft)\n", + "\n", + "#Minimum Allowable Section Modulus\n", + "Smin=((Mmax*12)/sall) # Minimum allowable section modulus(in**3)\n", + "\n", + "\n", + "#Minimum Required Depth of Beam\n", + "h=math.sqrt((123.43*6)/3.5) # Minimum required depth of the beam\n", + "\n", + "# Result\n", + "print ('Minimum required depth of the beam = %lf in' %h)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.8, Page number 343" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "We select the lightest shape available, namely W360*32.9\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "x=symbols('x') # Variable declaration\n", + "Ra=80 # Force on rod AC(lb)\n", + "Rc=40 # Diameter at the upper junction of rod ABC(in)\n", + "sall=160 # Normal stress for the grade of steel(MPa) \n", + "V=0\n", + "\n", + "#Calculation \n", + "#Reactions.\n", + "D=((50*4)+(60*1.5))/5.0 # Reaction(kN)\n", + "Ay=60+50-58 # Reaction(kN) \n", + "\n", + "#Shear Diagram\n", + "Va=Ay=52 # Force at A(kN)\n", + "Vb=52-60 # Force at B(kN)\n", + "x=(52/20.0) # Distance(m)\n", + "\n", + "#Determination of |M| max\n", + "Mmax=Me=67.6 # Maximum bending moment(kN.m)\n", + "\n", + "#Minimum Allowable Section Modulus\n", + "Smin=(Mmax/sall)*(pow(10,-6))*(pow(10,9)) # Minimum Allowable Section Modulus(mm**3) \n", + "\n", + "#Selection of Wide-Flange Shape\n", + "#W410*38.8 629\n", + "#W360*32.9 475\n", + "#W310*38.7 547\n", + "#W250*44.8 531\n", + "#W200*46.1 451\n", + "\n", + "#Result\n", + "print('We select the lightest shape available, namely W360*32.9')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 5.07, Page number 362" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The plate providing the most economical design is of triangular shape.\n", + "Maximum depth h0 = 300.000000 in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,integrate\n", + "\n", + "#Variable declaration\n", + "x=symbols('x') # Variable declaration\n", + "w=symbols('w') # Variable declaration \n", + "b=symbols('b') # Variable declaration\n", + "Sall=symbols('Sall') # Variable declaration \n", + "h=symbols('h') # Variable declaration\n", + "n=-1\n", + "\n", + "#Calculation \n", + "# Bending Moment\n", + "Vx=n*integrate(w,x) # Force \n", + "Mx=n*integrate(w*x,x) # Moment\n", + "\n", + "\n", + "#Case(a) Shape Of Plate\n", + "h=(n*(6*(Mx))/(b*(Sall)))**(1/2.0) # Relation between h and x\n", + "\n", + "#Case(b) Shape Of Plate\n", + "h0=(((3*135)/(0.040*1000.0*72.0))**(1/2.0))*(800) # Maximum depth h0(mm)\n", + "\n", + "#Result\n", + "print('The plate providing the most economical design is of triangular shape.')\n", + "print('Maximum depth h0 = %lf in' %h0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.11, Page number 363" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The required number of pair of planks = 3.000000\n", + "Length of plank 1 = 130.500000 in\n", + "Length of plank 2 = 111.300000 in\n", + "Length of plank 3 = 83.800000 in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "x=symbols('x') # Variable declaration\n", + "M=symbols('M') # Variable declaration\n", + "b=symbols('b') # Variable declaration \n", + "h=symbols('h') # Variable declaration\n", + "sall=symbols('sall') # Variable declaration\n", + "Mab=4.80*x # Moment AB(kip.in) \n", + "Mbc=4.80*x-(4.80)*(x-48) # Moment BC(kip.in)\n", + "\n", + "\n", + "#Calculation \n", + "#Number of Pairs of Planks\n", + "h=((6*M)/(b*sall))**(1/2.0) # Eq 1\n", + "h=((6*230.4)/(4*2.40))**(1/2.0) # Height(in)\n", + "No_Pl=3 # Since the original beam has a depth of 4.50 in., the planks must provide an additional depth of 7.50 in. Recalling that each pair of planks is 2.50 in. thick\n", + "\n", + "#Length of Planks\n", + "h=symbols('h') # Variable declaration\n", + "x=(((4)*(2.40))/(6.0*4.80))*(h**2) # from Eq 1\n", + "x1=round(x.subs(h,4.50),2) # Distance(in)\n", + "x2=round(x.subs(h,7.00),2) # Distance(in)\n", + "x3=round(x.subs(h,9.50),2) # Distance(in)\n", + "l1=144-2*x1 # Length(in)\n", + "l2=round((144-2*x2),1) # Length(in)\n", + "l3=round((144-2*x3),1) # Length(in)\n", + "\n", + "#Result\n", + "print('The required number of pair of planks = %lf' %No_Pl)\n", + "print('Length of plank 1 = %lf in' %l1)\n", + "print('Length of plank 2 = %lf in' %l2)\n", + "print('Length of plank 3 = %lf in' %l3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 5.12, Page number 364" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Length of plates = 3.530000 m\n", + "Width of plates = 267.000000 mm\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve,Function\n", + "\n", + "#Variable declaration\n", + "#Bending Moment\n", + "x=symbols('x') # Variable declaration \n", + "M=symbols('M') # Variable declaration\n", + "I=symbols('I') # Variable declaration\n", + "Ip=Function('Ip') # Variable declaration\n", + "M=250*x # Bending moment \n", + "S=(3.49*pow(10,-3)) # Section modulus(m**3)\n", + "sall=160*(pow(10,3)) # Stress all(kN/(m**2)) \n", + "Ib=1190*(pow(10,6)) # the moment of inertia Ib of the two plates with respect to the neutral axis\n", + "d=678 # Depth(mm)\n", + "t=16 # Thickness(mm)\n", + "\n", + "#Calculation \n", + "#Case(a) Required Length of Plates\n", + "M=round(S*sall,1) # Moment(kN.m)\n", + "x=solve(M-250*x,x) # Distance(m)\n", + "x=round(x[0],3) # Rounding\n", + "l=round(8-(2*x),2) # Length of plates(m) \n", + "\n", + "\n", + "#Case(b) Required Width of Plates\n", + "M=250*4 # Maximum bending moment(kN.m)\n", + "Ip=(((1/6.0)*b*(t**3)) + 2*b*t*(((1/2.0)*d)+((1/2)*t))**2)*(pow(10,3))# Moment of inertia\n", + "I=Ib+Ip # Moment of inertia of beam and plates \n", + "c=(1/2.0)*d + t # Distance from neutral axis to surface(mm)\n", + "I=round((M*c)/(sall),3) # Moment of inertia(mm**4)\n", + "I=I*(pow(10,9)) # Conversion\n", + "b=round((I-Ib)/(3.854*(pow(10,6))),0) # Distance(mm)\n", + "\n", + "#Result\n", + "print('Length of plates = %lf m' %l)\n", + "print('Width of plates = %lf mm' %b)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6_2.ipynb new file mode 100644 index 00000000..1858a0c5 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6_2.ipynb @@ -0,0 +1,623 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6 : Shearing Stresses in Beams and Thin-Walled Members" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.01, Page number 386" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shearing force in each nail is = 92.592593 N\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "l=0.020 # Length(m)\n", + "b=0.100 # Breadth(m)\n", + "V=500 # Vertical shear(N)\n", + "y=0.060 # Distance(m)\n", + "\n", + "#Calculation \n", + "A=l*b # Area(m**2)\n", + "Q=A*y # First moment of an area with respect to a given axis\n", + "I=(1/12.0)*(0.020)*(0.1**3) + 2*((1/12.0)*(0.1)*(0.02**3) + (0.020*0.1)*(0.06**2)) # Moment of inertia(m**4) \n", + "q=(V*Q)/(I) \n", + "F=(0.025)*q # Shearing force in each nail(N)\n", + "\n", + "# Result\n", + "print ('Shearing force in each nail is = %lf N' %F)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.02, Page number 389" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum shearing stress in a narrow rectangular beam = 0.132548 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "Vmax=4.50 # Force maximum(kips)\n", + "b=3.5 # Actual width of beam(in)\n", + "h=14.55 # Depth(in)\n", + "\n", + "#Calculation \n", + "Tmax=(3/2.0)*(Vmax/(b*h)) # Maximum shearing stress(ksi)\n", + "\n", + "# Result\n", + "print ('Maximum shearing stress in a narrow rectangular beam = %lf ksi' %Tmax) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.03, Page number 389" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum allowable shearing stress for steel beam = 28.653295 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "tw=5.8 # Distance(mm)\n", + "d=349 # Distance(mm)\n", + "Vmax=58 # Force(kN)\n", + "\n", + "#Calculation \n", + "Aweb=d*tw # Area(mm*2)\n", + "Tmax=(Vmax/Aweb)*(1000) # Maximum shearing stress(ksi)\n", + "\n", + "# Result\n", + "print ('Maximum allowable shearing stress for steel beam = %lf MPa' %Tmax) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 6.1, Page number 392" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shearing stress in joint a = 725.000000 kPa\n", + "Shearing stress in joint b = 608.000000 kPa\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "A=B=1.5 # Force(kN)\n", + "V=1.5 # Force(kN)\n", + "y1=0.0417 # Distance(m)\n", + "y2=0.0583 # Distance(m)\n", + "AreaA=0.100*0.020 # Area(m**2)\n", + "AreaB=0.060*0.020 # Area(m**2)\n", + "I=8.63*(pow(10,-6)) # Moment of inertia(m**2) \n", + "t=0.020 # Distance(m)\n", + "\n", + "#Calculation \n", + "#Shearing Stress in Joint a\n", + "Qa=AreaA*y1 \n", + "taweA=round((V*Qa)/(I*t),0) # Shearing stress in joint a(kPa)\n", + "\n", + "#Shearing Stress in Joint b\n", + "Qb=AreaB*y2\n", + "taweB=round((V*Qb)/(I*t),0) # Shearing stress in joint b(kPa)\n", + "\n", + "# Result\n", + "print ('Shearing stress in joint a = %lf kPa' %taweA) \n", + "print ('Shearing stress in joint b = %lf kPa' %taweB) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 6.2, Page number 393" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum required depth d of beam = 10.710000 in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "#Maximum Shear and Bending Moment\n", + "I=symbols('I') # Variable declaration\n", + "b=symbols('b') # Variable declaration \n", + "d=symbols('d') # Variable declaration\n", + "c=symbols('c') # Variable declaration\n", + "S=symbols('S') # Variable declaration \n", + "Mmax=90 # Maximum bending moment(kip.in) \n", + "Vmax=3 # Force(kips)\n", + "sall=1800 # Stress all(psi)\n", + "tall=120 # Shearing stress(psi) \n", + "b=3.5 # Width(in)\n", + "\n", + "#Calculation \n", + "#Design Based on Allowable Normal Stress\n", + "I=(1/12.0)*(b)*(d**3) # Moment of inertia(m**4)\n", + "S=round((1/6.0)*(b),4)*(d**2) # Section modulus\n", + "d=round(sqrt(((90*(pow(10,3)))/(1800))*(1/0.5833)),2) # Distance(in)\n", + "\n", + "#Check Shearing Stress\n", + "Area=(b)*(d) # Area(in**2)\n", + "tm=round((3/2.0)*((Vmax*1000)/Area),1) # Allowable shearing stress(psi)\n", + "\n", + "#Design Based on Allowable Shearing Stress\n", + "d=round((3*3000)/(2*3.5*120),2) # Distance(in)\n", + "\n", + "# Result\n", + "print ('Minimum required depth d of beam = %lf in' %d) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.04, Page number 401" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shearing force in each nail = 80.762500 lb\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "l=0.75 # Distance(in)\n", + "b=3 # Breadth(in) \n", + "V=600 # Vertical shear(lb)\n", + "y=1.875 # Distance(in)\n", + "\n", + "#Calculation \n", + "Q=l*b*y \n", + "I=(1/12.0)*((4.5**4)-(3**4)) # Moment of inertia(in**4)\n", + "q=(V*Q)/(I) \n", + "F=(1.75)*(46.15) # Shearing force(lb)\n", + "\n", + "# Result\n", + "print ('Shearing force in each nail = %lf lb' %F) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 6.3, Page number 406" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Horizontal shearing stress = 2.630000 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "\n", + "\n", + "#Calculation \n", + "Q=round((4.31)*(0.770)*(4.815),2)\n", + "t=round(((50)*(15.98))/(394*0.770),2) # Normal shearing stress(ksi)\n", + "\n", + "# Result\n", + "print ('Horizontal shearing stress = %lf ksi' %t) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 6.4, Page number 406" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Horizontal shearing stress = 2.790000 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "tf=0.770 # Distance(in)\n", + "\n", + "#Calculation \n", + "I=round(394 + 2*((1/12)*(12)*pow(0.75,3) + (12)*(0.75)*(pow(5.575,2))),0) # Centroidal moment of inertia(in**4)\n", + "t=2*tf # Distance(in) \n", + "Q=round(2*(4.31*0.770*4.815) + (12)*(0.75)*(5.575),1) \n", + "t=round(((50)*(82.1))/((954)*(1.54)),2) # Shearing stress(ksi)\n", + "\n", + "# Result\n", + "print ('Horizontal shearing stress = %lf ksi' %t) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 6.5, Page number 407" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Shearing stress at A = 0.000000 ksi\n", + "Case(a) Maximum shearing stress = 18.540000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "AB=AD=65 # Distance AB(mm)\n", + "cosB=12/13.0 \n", + "\n", + "#Calculation \n", + "#Centroid\n", + "Y=round((2*65*3*30)/((2*65*3)+((50)*(3))),2) # Distance y(mm)\n", + "#Centroidal Moment of Inertia\n", + "b=(3)/(cosB) # Distance(mm) \n", + "I=2*((1/12.0)*(3.25)*(pow(60,3)) + (3.25)*(60)*(pow(8.33,2))) + ((1/12.0)*(50)*(pow(3,3)) + (50)*(3)*(pow(21.67,2)))# Moment of inertia(mm**4)\n", + "I=(I/(pow(10,12))) # Moment of inertia(m**4) \n", + "#Shearing Stress at A\n", + "ta=0\n", + "#Maximum Shearing Stress\n", + "Q=round(3.25*38.33*(38.33/2.0),0)\n", + "tE=((5)*(2.387*(pow(10,-6))))/((0.2146*(pow(10,-6)))*(0.003)) \n", + "tE=round(tE/1000.0,2) # Largest shearing stress\n", + "\n", + "# Result\n", + "print ('Case(a) Shearing stress at A = %lf ksi' %ta)\n", + "print ('Case(a) Maximum shearing stress = %lf MPa' %tE)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.05, Page number 417" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shear center O of a channel section of uniform thickness = 1.600000 in\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "b=4 # Distance(in)\n", + "h=6 # Distance(in)\n", + "t=0.15 # Thickness(in) \n", + "s=symbols('s') # Variable declaration\n", + "V=symbols('V') # Variable declaration \n", + "I=symbols('I') # Variable declaration\n", + "b=symbols('b') # Variable declaration\n", + "\n", + "#Calculation \n", + "q=(V*s*t*h)/(2.0*I) # First moment\n", + "F=integrate(q,(s,0,b)) # Magnitude of shearing force\n", + "e=(F*h)/(V) # Distance e from the center line of the web BD to the shear center O\n", + "I=((1/12.0)*t*(h**3)) + 2*(((1/12.0)*b*(t**3)) + (b*t*((h/2)**2))) # Moment of inertia\n", + "e=(4)/(2+0.5) # Distance(in)\n", + "\n", + "# Result\n", + "print ('Shear center O of a channel section of uniform thickness = %lf in' %e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.06, Page number 418" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shearing stress in flanges = 2.222222 ksi\n", + "Shearing stress in web = 3.055556 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "V=2.5 # Force(kips)\n", + "b=4 # Distance(in)\n", + "t=0.15 # Thickness(in)\n", + "h=6 # Height(in)\n", + "\n", + "\n", + "#Calculation \n", + "tB=(6*V*b)/((t*h)*(6.0*b+h)) # Horizontal shearing stress(ksi)\n", + "tMAX=(3*(V)*(4*b+h))/(2.0*t*h*(6.0*b+h)) # Shearing stress in web(ksi)\n", + "\n", + "# Result\n", + "print ('Shearing stress in flanges = %lf ksi' %tB)\n", + "print ('Shearing stress in web = %lf ksi' %tMAX)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.07, Page number 419" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum shearing stress = 68.860000 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import Symbol\n", + "#Variable declaration\n", + "V=2.5 # Force(kip)\n", + "OC=1.6+1.143 # Distance(in)\n", + "a=4+6+4.0 # Distance(in)\n", + "b=0.15 # Distance(in)\n", + "\n", + "\n", + "#Calculation \n", + "T=V*OC # Torque(kip.in)\n", + "TmaxBend=3.06 # Maximum value of stress(ksi)\n", + "c1=(1/3.0)*(1-(0.630*(b/a))) \n", + "tmaxTwist=(T/(c1*a*(b**2))) # Stress due to twisting(ksi) \n", + "tmax=3.06 + 65.8 # Combined stress(ksi)\n", + "\n", + "# Result\n", + "print ('Maximum shearing stress = %lf ksi' %tmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 6.6, Page number 422" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Combined stress along the vertical leg :-\n", + "-3.0*P*(-0.25*a + 0.25*y)*(0.25*a + 1.25*y)/(a**3*t)\n", + "Combined stress along the horizontal leg :-\n", + "3.0*P*(-0.25*a + 0.25*y)*(-0.25*a + 0.75*y)/(a**3*t)\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,cos,factor\n", + "\n", + "#Variable declaration\n", + "b=symbols('b') # Variable declaration\n", + "h=symbols('h') # Variable declaration \n", + "t=symbols('t') # Variable declaration\n", + "a=symbols('a') # Variable declaration\n", + "y=symbols('y') # Variable declaration \n", + "P=symbols('P') # Variable declaration\n", + "t1=symbols('t1') # Variable declaration\n", + "\n", + "#Calculation \n", + "#Principal Axes\n", + "Inn=(1/12.0)*(b)*(pow(h,3)) # Moment of inertia\n", + "Imm=(1/3.0)*(b)*(pow(h,3)) # Moment of inertia \n", + "Iy=(2)*(1/3.0)*(t/cos((math.pi)/4.0))*(pow((a*cos((math.pi)/4.0)),3)) # Centroidal moment of inertia at y \n", + "Iz=(2)*(1/12.0)*(t/cos((math.pi)/4.0))*(pow((a*cos((math.pi)/4.0)),3)) # Centroidal moment of inertia at z\n", + "\n", + "#Shearing Stresses Due to Vy\n", + "Y=(1/2.0)*(a+y)*(cos((math.pi)/4.0))-(1/2.0)*(a)*(cos((math.pi)/4.0)) # Distance\n", + "Q=(1/2.0)*(t)*(a-y)*(y)*cos((math.pi)/4.0)\n", + "Vy=P*(cos((math.pi)/4.0))\n", + "t1=(Vy*Q)/(Iz*t) # Stress\n", + "\n", + "\n", + "#Shearing Stresses Due to Vz\n", + "Z=(1/2.0)*(a+y)*cos((math.pi)/4.0)\n", + "Q=(1/2.0)*(a**2-y**2)*(t)*(cos((math.pi)/4.0))\n", + "Vz=P*(cos((math.pi)/4.0))\n", + "t2=(Vz*Q)/(Iy*t) # Stress\n", + "\n", + "#Combined Stresses. \n", + "#Along the Vertical Leg\n", + "te=factor(t1+t2) # Stress \n", + "\n", + "#Along the Horizontal Leg.\n", + "tf=factor(t2-t1) # Stress\n", + "\n", + "# Result\n", + "print ('Combined stress along the vertical leg :-' )\n", + "print(te)\n", + "print ('Combined stress along the horizontal leg :-')\n", + "print(tf)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7_2.ipynb new file mode 100644 index 00000000..fb69b26c --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7_2.ipynb @@ -0,0 +1,729 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 7 : Transformations of Stress and Strain" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.01, Page number 446" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Principal planes = 26.550000 degree\n", + "Case(a) Principal planes = 116.550000 degree\n", + "Case(b) Maximum principal stress = 70.000000 MPa\n", + "Case(b) Minimum principal stress = -30.000000 MPa\n", + "Case(c) Maximum shearing stress = 50.000000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,cos,sin\n", + "\n", + "#Variable declaration\n", + "Sx=50 # Stress in x(MPa)\n", + "n=-1\n", + "Sy=n*10 # Stress in y(MPa)\n", + "txy=40 # Shearing stress(MPa) \n", + "\n", + "\n", + "#Calculation \n", + "# Case(a) Principal axes\n", + "phy1=(53.1)/2.0 # Angle(degree) \n", + "phy2=(233.1)/2.0 # Angle(degree)\n", + "\n", + "# Case(b) Principal stresses\n", + "Smax=20+math.sqrt(30**2+40**2) # Maximum principal stress(MPa)\n", + "Smin=20-math.sqrt(30**2+40**2) # Maximum principal stress(MPa)\n", + "Sxl=(50-10)/(2.0) + ((50+10)/(2.0))*cos(53.1*((math.pi)*2)/(360.0)) +40*sin(53.1*((math.pi)*2)/(360.0)) \n", + "\n", + "# Case(c) Maximum shearing stress\n", + "tmax=math.sqrt(30**2+40**2) # Maximum shearing stress(MPa)\n", + "Sl=(50-10)/2.0 # Normal stress on each of four walls(MPa)\n", + "\n", + "# Result\n", + "print ('Case(a) Principal planes = %lf degree' %phy1)\n", + "print ('Case(a) Principal planes = %lf degree' %phy2)\n", + "print ('Case(b) Maximum principal stress = %lf MPa' %Smax)\n", + "print ('Case(b) Minimum principal stress = %lf MPa' %Smin)\n", + "print ('Case(c) Maximum shearing stress = %lf MPa' %tmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 7.1, Page number 447" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Normal stress = 8.840000 ksi\n", + "Case(a) Shearing stress = 7.960000 ksi\n", + "Case(b) Principal plane angle = -30.500000 degree\n", + "Case(b) Principal plane angle = 119.000000 degree\n", + "Case(c) Maximum stress at point H = 13.524834 ksi\n", + "Case(c) Minimum stress at point H = -4.684834 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "P=150 # Horizontal force(lb)\n", + "T=(150*18)/(1000.0) # Force couple system(kip.in)\n", + "Mx=(150*10)/(1000.0) # Force couple system(kip.in)\n", + "sx=0 # Stress at x\n", + "M=1.5 # Torque(kip.in)\n", + "c=0.6 # Radius(in)\n", + "n=-1\n", + "\n", + "#Calculation \n", + "#Case(a) Stresses S x , S y , T xy at Point H\n", + "sy=round(((M)*(c))/((1/4.0)*(math.pi)*(pow(0.6,4))),2) # Stress(ksi)\n", + "txy=round(((T)*(c))/((1/2.0)*(math.pi)*(pow(0.6,4))),2) # Shearing stress(ksi)\n", + "\n", + "#Case(b) Principal Planes and Principal Stresses\n", + "phyp1=(n*61)/2.0 # Angle(degree)\n", + "phyp2=180-61 # Angle(degree)\n", + "\n", + "Smax=8.84/2.0 + math.sqrt(4.42**2 + 7.96**2) # Maximum stress(ksi) \n", + "Smin=8.84/2.0 - math.sqrt(4.42**2 + 7.96**2) # Minimum stress(ksi)\n", + "\n", + "# Result\n", + "print ('Case(a) Normal stress = %lf ksi' %sy)\n", + "print ('Case(a) Shearing stress = %lf ksi' %txy)\n", + "print ('Case(b) Principal plane angle = %lf degree' %phyp1)\n", + "print ('Case(b) Principal plane angle = %lf degree' %phyp2)\n", + "print ('Case(c) Maximum stress at point H = %lf ksi' %Smax)\n", + "print ('Case(c) Minimum stress at point H = %lf ksi' %Smin)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.02, Page number 454" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) radius of circle = 50.000000 MPa\n", + "Case(b) Maximum principal stress = 70.000000 MPa\n", + "Case(b) Minimum principal stress = -30.000000 MPa\n", + "Case(c) Maximum shearing stress = 50.000000 MPa\n", + "Case(c) Minimum shearing stress = 20.000000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "n=-1\n", + "Sx=50 # Force at x(MPa)\n", + "Sy=n*10 # Force at y(MPa)\n", + "OC=20 # Force(MPa) \n", + "CA=50 # Force(MPa)\n", + "BC=50 # Force(MPa)\n", + "\n", + "#Calculation \n", + "# Case(a) Construction of Mohr’s Circle\n", + "Save=(Sx+Sy)/2.0 # Average stress(MPa)\n", + "CF=50-20 # Force(MPa) \n", + "FX=40 # Force(MPa) \n", + "R=math.sqrt(30**2 + 40**2) # Radius of circle(MPa)\n", + "# case(b) Principal Planes and Principal Stresses\n", + "Smax=OC+CA # Maximum stress(MPa) \n", + "Smin=OC-BC # Minimum stress(MPa)\n", + "phyp=(53.1)/2.0 # Angle(degree)\n", + "# case(c) Maximum Shearing Stress\n", + "tmax=50 # Maximum shearing stress(MPa) \n", + "Save=20 # Maximum normal stress(MPa) \n", + "\n", + "# Result\n", + "print ('Case(a) radius of circle = %lf MPa' %R)\n", + "print ('Case(b) Maximum principal stress = %lf MPa' %Smax)\n", + "print ('Case(b) Minimum principal stress = %lf MPa' %Smin)\n", + "print ('Case(c) Maximum shearing stress = %lf MPa' %tmax)\n", + "print ('Case(c) Minimum shearing stress = %lf MPa' %Save)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 7.2, Page number 457" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Principal planes angle = 33.700000 MPa\n", + "Case(b) Maximum principal stress = 132.000000 MPa\n", + "Case(b) Minimum principal stress = 28.000000 MPa\n", + "Case(c) Stress in x direction = 48.416456 MPa\n", + "Case(c) Stress in y direction = 111.583544 MPa\n", + "Case(c) Stress in x and y direction = 41.309560 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,cos,sin\n", + "\n", + "#Variable declaration\n", + "sx=100 # Force(MPa)\n", + "sy=60 # Force(MPa)\n", + "CF=20 # Force(MPa)\n", + "FX=48 # Force(MPa) \n", + "OC=80 # Force(MPa)\n", + "CA=52 # Force(MPa)\n", + "BC=52 # Force(MPa) \n", + "\n", + "# Calculation\n", + "#Construction of Mohr’s Circle\n", + "R=math.sqrt(20**2+48**2) # Radius of circle(MPa)\n", + "\n", + " \n", + "#Case(a) Principal Planes and Principal Stresses\n", + "phyp=(67.4)/2.0 # Angle(degree)\n", + "Smax=OC+CA # Maximum stress(MPa)\n", + "Smin=OC-BC # Min stress(MPa)\n", + "\n", + "#Case(b) Stress Components on Element Rotated 30\n", + "phy=180-60 # Angle(degree)\n", + "Sxl=80-(52*(cos(52.6*(math.pi*2)/(360.0))))\n", + "Syl=80+(52*(cos(52.6*(math.pi*2)/(360.0))))\n", + "txlyl=52*(sin(52.6*(math.pi*2)/(360.0)))\n", + "\n", + "# Result\n", + "print ('Case(a) Principal planes angle = %lf MPa' %phyp)\n", + "print ('Case(b) Maximum principal stress = %lf MPa' %Smax)\n", + "print ('Case(b) Minimum principal stress = %lf MPa' %Smin)\n", + "print ('Case(c) Stress in x direction = %lf MPa' %Sxl)\n", + "print ('Case(c) Stress in y direction = %lf MPa' %Syl)\n", + "print ('Case(c) Stress in x and y direction = %lf MPa' %txlyl)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 7.3, Page number 458" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Shearing stress t0 for which the largest normal stress is 10 ksi = 4.472856 ksi\n", + "Case(b) Maximum shearing stress = 6.000000 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,sin\n", + "\n", + "#Variable declaration\n", + "S0=8 # Stress(ksi)\n", + "Sx=8 # Stress in x direction(ksi)\n", + "Sy=0 # Stress in y direction(ksi) \n", + "Smax=10 # Maximum stress(ksi)\n", + "\n", + "# Calculation\n", + "#Construction of Mohr’s Circle\n", + "Save=(1/2.0)*(Sx+Sy) # Average stress(ksi) \n", + "R=10-4 # Radius of mohr's circle(ksi) \n", + "\n", + "#Calculation \n", + "#Case(a) Shearing Stress t0\n", + "phyp=(48.2)/2.0 # Angle(degree) \n", + "t0=R*sin(48.2*((math.pi)*2)/(360.0)) # Shearing stress(ksi)\n", + "\n", + "#Case(b) Maximum Shearing Stress\n", + "tmax=R # Maximum shearing stress(ksi)\n", + "phyx=(90-48.2)/(2.0) \n", + "\n", + "#Result\n", + "print ('Case(a) Shearing stress t0 for which the largest normal stress is 10 ksi = %lf ksi' %t0)\n", + "print ('Case(b) Maximum shearing stress = %lf ksi' %tmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.03, Page number 466" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Principal stress at A = 8.000000 ksi\n", + "Case(a) Principal stress at B = 1.500000 ksi\n", + "Case(b) Principal plane = 33.700000 ksi\n", + "Case(c) Maximum shearing stress = 4.000000 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "n=-1\n", + "Sx=6\n", + "Sy=3.5\n", + "OC=4.75\n", + "CA=3.25\n", + "BC=3.25\n", + "\n", + "#Calculation \n", + "# Case(a) Principal Planes and Principal Stresses\n", + "Save=(Sx+Sy)/2.0 # Average stress(ksi)\n", + "R=math.sqrt(1.25**2 + 3**2) # Radius of circle(ksi)\n", + "Sa=OC+CA # Principal stress(ksi)\n", + "Sb=OC-BC # Principal stress(ksi) \n", + "phyp=(67.4)/2.0\n", + "\n", + "# Case(b) Maximum shearing stress\n", + "tmax=(1/2.0)*(Sa) # Maximum torque(ksi)\n", + " \n", + "#Result\n", + "print ('Case(a) Principal stress at A = %lf ksi' %Sa)\n", + "print ('Case(a) Principal stress at B = %lf ksi' %Sb)\n", + "print ('Case(b) Principal plane = %lf ksi' %phyp)\n", + "print ('Case(c) Maximum shearing stress = %lf ksi' %tmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 7.4, Page number 472" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Factor of safety with respect to maximum shearing stress criteria = 1.923077 \n", + "Case(b) Factor of safety with respect to maximum-distortion-energy criterion = 2.190000 \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "#Mohr’s Circle\n", + "Sx=80 # Stress at x(MPa)\n", + "sy=-40 # Stress at y(MPa) \n", + "CF=60 # Stress(MPa) \n", + "FX=25 # Stress(MPa)\n", + "OC=20 # Stress(MPa)\n", + "CA=65 # Stress(MPa)\n", + "BC=65 # Stress(MPa)\n", + "Save=(1/2.0)*(sx+sy) # Stress average(MPa) \n", + "R=math.sqrt(60**2+25**2) # radius of mohr's circle(MPa) \n", + "Sy=250 # Tensile strength(MPa) \n", + "tm=65 # Stress(MPa) \n", + "\n", + "#Principal Stresses\n", + "sa=OC+CA # Stress at A(MPa)\n", + "sb=OC-BC # Stress at B(MPa)\n", + "\n", + "#Calculation \n", + "#Case(a) Maximum-Shearing-Stress Criterion # \n", + "ty=(1/2.0)*(Sy) # Shearing stress at yield(MPa)\n", + "FS1=(ty/tm) # Factor of safety\n", + "\n", + "#Case(b) Maximum-Distortion-Energy Criterion\n", + "FS2=round(math.sqrt((250**2)/(85.0**2+45.0**2+85.0*45)),2) # Factor of safety \n", + "\n", + "\n", + "# Result\n", + "print ('Case(a) Factor of safety with respect to maximum shearing stress criteria = %lf ' %FS1)\n", + "print ('Case(b) Factor of safety with respect to maximum-distortion-energy criterion = %lf ' %FS2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 7.5, Page number 481" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Normal stress = 4230.000000 \n", + "Case(a) Maximum shearing stress = 4230.000000 \n", + "Case(b) Stress in direction perpendicular to helical weld = 4140.000000 \n", + "Case(b) Stress in direction parallel to helical weld = 1344.000000 \n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,cos,sin\n", + "\n", + "#Variable declaration\n", + "p=180 # Internal gage pressure(psi)\n", + "t=(5/16.0) # Length(in)\n", + "r=(15-t) # Distance(in)\n", + "\n", + "\n", + "\n", + "#Calculation \n", + "#Case(a) Spherical Cap\n", + "s=((p)*(r))/(2.0*t) # Stress(psi)\n", + "tmax=(1/2.0)*((p*r)/(t)) # Maximum shearing stress(psi) \n", + "\n", + "#Case(b) Cylindrical Body of the Tank\n", + "t=3/8.0 # Distance(in) \n", + "r=15-t # Distance(in) \n", + "s1=(p*r)/(t) # Stress(psi)\n", + "s2=(1/2.0)*s1 # Stress(psi)\n", + "Save=(1/2.0)*(s1+s2) # Stress average(psi) \n", + "R=(1/2.0)*(s1-s2) # Stress(psi) \n", + "\n", + "#Stresses at the Weld\n", + "Sw=round(Save-(R*cos(50*(((math.pi)*2)/360.0))),-1) # Stress at the weld(psi)\n", + "tw=round(R*sin(50*(((math.pi)*2)/360.0)),0) # Shearing stress at the weld(psi)\n", + "\n", + "# Result\n", + "print ('Case(a) Normal stress = %lf ' %s)\n", + "print ('Case(a) Maximum shearing stress = %lf ' %tmax)\n", + "print ('Case(b) Stress in direction perpendicular to helical weld = %lf ' %Sw)\n", + "print ('Case(b) Stress in direction parallel to helical weld = %lf ' %tw)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.04, Page number 490" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Principal strain = 483.000000 u\n", + "Case(a) Principal strain = -83.000000 u\n", + "Case(b) Maximum shearing strain = 566.000000 u \n", + "Case(b) Normal strain = 200.000000 u\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "n=-1\n", + "Sx=6 # Stress in x direction()\n", + "Sy=3.5 # Stress in y direction()\n", + "BC=3.25 \n", + "\n", + "#Calculation \n", + "#Case(a) Principal Axes and Principal Strains\n", + "Ex=4*(pow(10,-6)) # Distance(u) \n", + "Ey=0 # Distance(u)\n", + "OC=(Ex+Ey)/(2.0) # Radius(u) \n", + "OY=200 # Radius(u)\n", + "\n", + "R=math.sqrt(200**2 + 200**2) # Radius(u)\n", + "\n", + "Ea=200 + 283 # Strain at point A(u)\n", + "Eb=200 - 283 # Strain at point A(u)\n", + "\n", + "#Case(b) Maximum shearing strain\n", + "ymax=283*2 # Maximum shearing strain(u)\n", + "El=200 # Normal strain(u)\n", + "\n", + "# Result\n", + "print ('Case(a) Principal strain = %lf u' %Ea)\n", + "print ('Case(a) Principal strain = %lf u' %Eb)\n", + "print ('Case(b) Maximum shearing strain = %lf u ' %ymax)\n", + "print ('Case(b) Normal strain = %lf u' %El)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.05, Page number 494" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Maximum in plane shearing strain = 0.000450 rad\n", + "Case(b) Maximum shearing strain = -0.000150 u\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "#Variable declaration\n", + "Ea=400*(pow(10,-6)) # Principal strain(in./in)\n", + "Eb=-50*(pow(10,-6)) # Principal strain(in./in)\n", + "v=0.30 # Poisson's ratio\n", + "n=-1\n", + "\n", + "#Calculation \n", + "#Case(a) Maximum In-Plane Shearing Strain\n", + "Ymaxinplane=Ea-Eb # Maximum in-plane shearing strain(rad)\n", + "#Case(b) Maximum Shearing Strain\n", + "Ec=n*(v/(1.0-v))*(Ea+Eb) # Strain(in./in) # Maximum shearing strain(rad)\n", + "\n", + "# Result\n", + "print ('Case(a) Maximum in plane shearing strain = %lf rad' %Ymaxinplane)\n", + "print ('Case(b) Maximum shearing strain = %lf u' %Ec)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 7.6, Page number 496" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Gage pressure inside the tank = 546.000000 psi\n", + "Case(b) Principal stress = 4.370000 ksi\n", + "Case(b) Principal stress = 8.740000 ksi\n", + "Case(b) Maximum shearing stress = 4.370000 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "s1=symbols('s1') # Variable declaration\n", + "s2=symbols('s2') # Variable declaration\n", + "E1=255*(pow(10,-6)) # Strain(in./in) \n", + "E2=60*(pow(10,-6)) # Strain(in./in)\n", + "G=11.2*(pow(10,6)) # Modulus of rigidity(psi)\n", + "\n", + "#Calculation \n", + "#Gage Pressure Inside Tank\n", + "ymax=E1-E2 # Maximum in plane shearing strain(rad)\n", + "tmax=(round(G*ymax,0))/(pow(10,3)) # Shearing stress(ksi) \n", + "p=(2184*4*0.75)/12.0 # Gage pressure(psi)\n", + "\n", + "#Principal Stresses and Maximum Shearing Stress\n", + "s2=round(2*tmax,2) # Principal Stress(ksi)\n", + "s1=round(2*s2,2) # Principal Stress(ksi)\n", + "tmax=(1/2.0)*(s1) # Shearing stress(ksi) \n", + "\n", + "# Result\n", + "print ('Case(a) Gage pressure inside the tank = %lf psi' %p)\n", + "print ('Case(b) Principal stress = %lf ksi' %s2)\n", + "print ('Case(b) Principal stress = %lf ksi' %s1)\n", + "print ('Case(b) Maximum shearing stress = %lf ksi' %tmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 7.7, Page number 497" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Strain component are :-\n", + "{ey: 860.050456293436, ex: 40.0000000000000, yxy: 750.577367205543}\n", + "Case(b) Principal strains = -106.000000 ksi\n", + "Case(b) Principal strains = 1006.000000 ksi\n", + "Case(b) Principal strains = -367.605634 ksi\n", + "Case(c) Maximum shearing strain = 1374.000000 ksi\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols,solve\n", + "\n", + "#Variable declaration\n", + "E1=40 # Strain(u) \n", + "E2=980 # Strain(u) \n", + "E3=330 # Strain(u)\n", + "exp1=symbols('exp1') # Variable declaration\n", + "exp2=symbols('exp2') # Variable declaration\n", + "exp3=symbols('exp3') # Variable declaration\n", + "ex=symbols('ex') # Variable declaration\n", + "ey=symbols('ey') # Variable declaration\n", + "yxy=symbols('yxy') # Variable declaration\n", + "v=0.29\n", + "n=-1\n", + "\n", + "#Calculation \n", + "#Strain Components ex, ey, yxy\n", + "exp1=ex*1 + ey*0 + yxy*0*1-40 # Strain equations\n", + "exp2=ex*(pow(0.5,2)) + ey*(pow(0.866,2)) + yxy*(0.866*0.5)-980 # Strain equations\n", + "exp3=ex*(pow(-0.5,2)) + ey*(pow(0.866,2)) + yxy*(0.866*-0.5)-330 # Strain equations\n", + "Sol=solve((exp1,exp2,exp3),ex,ey,yxy) # \n", + "\n", + "\n", + "#Principal Strains\n", + "Eave=(1/2.0)*(860+40) # Strain(u)\n", + "R=math.sqrt(375**2+410**2) # Radius(u)\n", + "phyp=(42.4)/2.0 # Angle(degree)\n", + "Ea=-106 # Strain(u)\n", + "Eb=1006 # Strain(u)\n", + "Ec=n*(v/(1-v))*(Ea+Eb) # Strain(u)\n", + "\n", + "#Maximum Shearing Strain\n", + "Ymax=(1006+368)\n", + "\n", + "# Result\n", + "print ('Case(a) Strain component are :-')\n", + "print(Sol)\n", + "print ('Case(b) Principal strains = %lf ksi' %Ea)\n", + "print ('Case(b) Principal strains = %lf ksi' %Eb)\n", + "print ('Case(b) Principal strains = %lf ksi' %Ec)\n", + "print ('Case(c) Maximum shearing strain = %lf ksi' %Ymax)\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8_2.ipynb new file mode 100644 index 00000000..f87e5d41 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8_2.ipynb @@ -0,0 +1,370 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8 : Principal Stresses under a Given Loading" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 8.1, Page number 520" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The specification, smax<= 150 MPa, is not satisfied\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "Ma=160*0.375 # Torque on rod AC(kN.m)\n", + "Va = 160 # Force(kN)\n", + "S=511*(pow(10,-6)) # Inertia(m**3) \n", + "yb=90.4 # Distance(mm)\n", + "c=103 # Distance(mm) \n", + "I=52.9*(pow(10,-6)) # Moment oof inertia(m**4) \n", + "t=0.00787 # Distance(m)\n", + "\n", + "#Calculation \n", + "#Normal Stresses on Transverse Plane\n", + "#At point a:\n", + "Sa=round((Ma/S)/(1000.0),1) # Stress at A(MPa) \n", + "#At point b:\n", + "Sb=round((Sa*(yb/c)),0) # Stress at B(MPa) \n", + "\n", + "#Shearing Stresses on Transverse Plane \n", + "#At point a:\n", + "Q=0\n", + "ta=0\n", + "#At point b:\n", + "Q=round((206*12.6*96.7)/(1000.0),0) \n", + "Q=(Q)/(pow(10.0,6))\n", + "tb=round(((Va*Q)/(I*t))/(pow(10.0,3)),1) # Shearing stress(MPa) \n", + "\n", + "#Principal Stress at Point b\n", + "Smax=round((1/2.0)*Sb + math.sqrt(pow((1/2.0)*Sb,2) + pow(tb,2)),1) # Stress maximum(MPa)\n", + "\n", + "# Result\n", + "print ('The specification, smax<= 150 MPa, is not satisfied' )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 8.2, Page number 521" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "We now select the lightest shape available, namely :-\n", + "W21*62\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "\n", + "#Variable declaration\n", + "Aweb=8.40 # Area of cross section(in**2)\n", + "S=127 \n", + "yb=9.88 # Distance(in)\n", + "c=10.50 # Distance(in)\n", + "V=12.2 # Force(kips)\n", + "\n", + "#Calculation \n", + "#Reactions at A and D\n", + "sumMd=0 # Equilibrium equations\n", + "sumMa=0 # Equilibrium equations\n", + "\n", + "#Shear and Bending-Moment Diagrams\n", + "Mmax=2873 # Maximum moment(kip.ft) \n", + "Vmax=43 # Maximum force(kips)\n", + "\n", + "#Section Modulus\n", + "Sall=24 # Maximum stress(ksi) \n", + "Smin=round((Mmax/Sall),1) # Minimum section modulus(in**3) \n", + "\n", + "#Selection of Wide-Flange Shape\n", + "\n", + "# W24*68 154\n", + "# W21*62 127\n", + "# W18*76 146\n", + "# W16*77 134\n", + "# W14*82 123\n", + "# W12*96 131\n", + "\n", + "# We now select the lightest shape available, namely W21*62\n", + "\n", + "#Shearing Stress\n", + "tm=round(Vmax/Aweb,2) # Shearing stress(ksi)\n", + "\n", + "\n", + "#Principal Stress at Point b\n", + "Sa=round(Mmax/S,1) # Stress at A(ksi)\n", + "Sb=round(Sa*(yb/c),1) # Stress at B(ksi)\n", + "\n", + "tb=round(V/Aweb,2)\n", + "smax=round((1/2)*Sb + math.sqrt(pow((1/2)*Sb,2) + pow(tb,2)),1)\n", + "\n", + "# Result\n", + "print ('We now select the lightest shape available, namely :-')\n", + "print('W21*62')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 8.3, Page number 522" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Diamter of shaft = 51.704299 mm\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "# Variable declaration\n", + "P=30 # Power(kW)\n", + "tall=50 # Shearing stress(MPa)\n", + "f=8 # Frequency(Hz)\n", + "Te=597 # Torque at E(N.m)\n", + "rE=0.16 # Radius(m) \n", + "\n", + "# Calculation \n", + "# Torques Exerted on Gears\n", + "Te=(P/(2.0*(math.pi)*f)) # Torque exerted on gear E(N.m)\n", + "Fe=Te/rE # Tangential force(kN)\n", + "Tc=20/(2.0*(math.pi)*8) # Torque(N.m)\n", + "Fc=6.63 # Force(kN)\n", + "Td=10/(2.0*(math.pi)*8) # Torque(N.m)\n", + "Fd=2.49 # Force(kN) \n", + "\n", + "# Critical Transverse Section\n", + "Tor=math.sqrt(1160.0**2 + 373.0**2 + 597.0**2) # Maximum value of torque(N.m)\n", + "\n", + "\n", + "# Diameter of Shaft.\n", + "c=((((27.14*(pow(10,-6)))*(2/(math.pi)))**(1/3.0))*(1000.0))*2 # Diameter(mm) \n", + "\n", + "# Result\n", + "print ('Diamter of shaft = %lf mm' %c)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.01, Page number 529" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a) Normal stress = 107.429587 MPa\n", + "Case(a) Shearing stress = -52.526646 MPa\n", + "Case(b) Principal axis angle = 22.200000 degree\n", + "Case(b) Maximum principal stress at point k = 128.799534 MPa\n", + "Case(b) Minimum principal stress at point k = -21.399534 MPa\n", + "Case(c) Maximum shearing stress at point k = 75.100000 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "n=-1 \n", + "P1=15 # Force(kN)\n", + "P2=18 # Force(kN) \n", + "a=50 # Distance(mm)\n", + "b=60 # Distance(mm) \n", + "c=0.020 # Distance(m)\n", + "F=P1 # Force(kN)\n", + "V=P2 # Force(kN) \n", + "t=0.040 # Distance(m) \n", + "Iz=125.7*(pow(10,-9)) # Moment of inertia(m**4)\n", + "\n", + "#Calculation \n", + "#Internal Forces in Given Section\n", + "T=P2*a # Torque(N.m)\n", + "My=P1*a # Moment(N.m) \n", + "Mz=P2*b # Moment(N.m)\n", + "# Case(a) Normal and Shearing Stresses at Point K\n", + "# Geometric Properties of the Section\n", + "A=(math.pi)*(c**2) # Area of cross section(m**2)\n", + "Iy=(1/4.0)*(math.pi)*(c**4) # Moment of inertia(m**4)\n", + "Jc=(1/2.0)*(math.pi)*(c**4) # Moment of inertia(m**4)\n", + "Q=(A/2.0)*((4*c)/(3.0*(math.pi)))\n", + "t=2*c # Distance(m)\n", + "# Normal Stresses\n", + "Sx=(n*(F/A))/(1000.0) + ((My*c)/(Iy))/(1000000.0) # Normal stress(MPa)\n", + "# Shearing Stresses\n", + "txyV=((V*Q)/(Iz*t))/(1000.0) # Shearing stress(MPa)\n", + "txytwist=((n*(T*c))/(Jc))/(1000000.0) # Shearing stress(MPa) \n", + "txy=(txyV + txytwist) # Shearing stress(MPa)\n", + "# Case(b) Principal Planes and Principal Stresses at Point K\n", + "OC=CD=(1/2.0)*(107.4) # Stress(MPa) \n", + "DX=52.5 # Stress(MPa) \n", + "phyp=44.4/2.0 # Angle(degree)\n", + "R=math.sqrt(53.7**2 + 52.5**2) # Stress(MPa)\n", + "Smax=OC+R # Maximum principal stress(MPa)\n", + "Smin=OC-R # Minimum principal stress(MPa)\n", + "# Case(c) Maximum shearing stress at point k\n", + "tmax=75.1 # Shearing stress(MPa) \n", + "\n", + "# Result\n", + "print ('Case(a) Normal stress = %lf MPa' %Sx)\n", + "print ('Case(a) Shearing stress = %lf MPa' %txy)\n", + "print ('Case(b) Principal axis angle = %lf degree' %phyp)\n", + "print ('Case(b) Maximum principal stress at point k = %lf MPa' %Smax)\n", + "print ('Case(b) Minimum principal stress at point k = %lf MPa' %Smin)\n", + "print ('Case(c) Maximum shearing stress at point k = %lf MPa' %tmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SAMPLE PROBLEM 8.5, Page number 532" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Normal stress at H = 66.000000 MPa\n", + "Shearing stress at H = 17.530000 MPa\n", + "Principal axis angle = 13.980000 degree\n", + "Maximum shearing stress at point k = 37.362420 MPa\n", + "Maximum principal stress at point k = 70.362420 MPa\n", + "Minimum principal stress at point k = -4.362420 MPa\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "#Variable declaration\n", + "#Free Body. Entire Crankshaft\n", + "Vx=-30 # Force(kN)\n", + "P=50 # Force(kN)\n", + "Vz=-75 # Force(kN)\n", + "Mx=(50)*(0.130) - (75)*(0.2) # Moment(kN.m)\n", + "My=0 # Moment\n", + "Mz=30*0.1 # Moment(kN.m)\n", + "A=0.040*0.140 # Area(m**2) \n", + "Ix=(1/12.0)*(0.040)*(pow(0.140,3)) # Moment of inertia(m**4)\n", + "Iz=(1/12.0)*(pow(0.040,3))*(0.140) # Moment of inertia(m**4)\n", + "a=0.020 # Distance(m)\n", + "b=0.025 # Distance(m)\n", + "t=0.040 # Distance(m)\n", + "OC=33.0 # Stress(MPa)\n", + "\n", + "#Calculation \n", + "#Normal Stress at H\n", + "Sy=round(((P/A) + ((Mz)*a)/Iz + ((Mx)*b)/Ix)/(1000.0),0) # Normal stress at H(MPa) \n", + "\n", + "\n", + "#Shearing Stress at H\n", + "Q=(0.040*0.045*0.0475)\n", + "tyz=round((((-(Vz)*(Q))/(Ix*t))/1000.0),2) # Shearing stress at H(MPa)\n", + "\n", + "\n", + "#Principal Stresses, Principal Planes, and Maximum Shearing Stress at H.\n", + "phyp=27.96/2.0\n", + "R=math.sqrt(33**2 + 17.52**2)\n", + "Smax=OC+R\n", + "Smin=OC-R\n", + "\n", + "\n", + "# Result\n", + "print ('Normal stress at H = %lf MPa' %Sy)\n", + "print ('Shearing stress at H = %lf MPa' %tyz)\n", + "print ('Principal axis angle = %lf degree' %phyp)\n", + "print ('Maximum shearing stress at point k = %lf MPa' %R)\n", + "print ('Maximum principal stress at point k = %lf MPa' %Smax)\n", + "print ('Minimum principal stress at point k = %lf MPa' %Smin)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9_2.ipynb b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9_2.ipynb new file mode 100644 index 00000000..de67db12 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9_2.ipynb @@ -0,0 +1,87 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9 : Deflection of Beams" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## EXAMPLE 9.08, Page number 583" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reactions at the supports for the prismatic beam :-\n", + "0.625*L*w\n", + "Reactions at the supports for the loading :-\n", + "0.375*L*w\n" + ] + } + ], + "source": [ + "import math\n", + "from sympy import symbols\n", + "\n", + "#Variable declaration\n", + "w=symbols('w')\n", + "L=symbols('L')\n", + "E=symbols('E')\n", + "I=symbols('I')\n", + "Rb=symbols('Rb')\n", + "n=-1\n", + "\n", + "#Calculation \n", + "yBW=(n*w*(L**4))/(8*E*I)\n", + "yBR=(Rb*(L**3))/(3*E*I)\n", + "Rb=(3/8.0)*(w)*(L)\n", + "Ra=w*L - Rb\n", + "Ma=(1/2.0)*(w)*(L**2) - Rb*L\n", + "\n", + "\n", + "\n", + "# Result\n", + "print ('Reactions at the supports for the prismatic beam :-')\n", + "print(Ra)\n", + "print ('Reactions at the supports for the loading :-')\n", + "print(Rb)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_3.png b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_3.png Binary files differnew file mode 100644 index 00000000..f9bfbad4 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_3.png diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_3.png b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_3.png Binary files differnew file mode 100644 index 00000000..c6a024c2 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_3.png diff --git a/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_3.png b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_3.png Binary files differnew file mode 100644 index 00000000..19a3da79 --- /dev/null +++ b/Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_3.png |