summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrupti Kini2016-05-04 16:37:23 +0600
committerTrupti Kini2016-05-04 16:37:23 +0600
commitc0f1ee1ad6567064d91c43cd8ecd158a8ecc6be1 (patch)
tree8e11281229fbc219b9ab2a5275546d0501cff9d9
parent6142c8add48d9e8b4445d0693739e1fddb39d09f (diff)
downloadPython-Textbook-Companions-c0f1ee1ad6567064d91c43cd8ecd158a8ecc6be1.tar.gz
Python-Textbook-Companions-c0f1ee1ad6567064d91c43cd8ecd158a8ecc6be1.tar.bz2
Python-Textbook-Companions-c0f1ee1ad6567064d91c43cd8ecd158a8ecc6be1.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
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10_2.ipynb589
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11_2.ipynb688
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1_2.ipynb291
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2_2.ipynb1093
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3_2.ipynb975
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4_2.ipynb1038
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5_2.ipynb590
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6_2.ipynb623
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7_2.ipynb729
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8_2.ipynb370
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9_2.ipynb87
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_3.pngbin0 -> 98629 bytes
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_3.pngbin0 -> 70010 bytes
-rw-r--r--Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_3.pngbin0 -> 51820 bytes
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
new 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
Binary files differ
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
new 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
Binary files differ
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
new 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
Binary files differ