summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrupti Kini2016-06-03 23:30:26 +0600
committerTrupti Kini2016-06-03 23:30:26 +0600
commitce730bd89b66da3cb054793a9717a53c7fa2c77d (patch)
tree70b724f75d34c8d64672708cc599038b8c42b43e
parent0a159e71d5ccd8d74b2258402fac51546a0ef6d0 (diff)
downloadPython-Textbook-Companions-ce730bd89b66da3cb054793a9717a53c7fa2c77d.tar.gz
Python-Textbook-Companions-ce730bd89b66da3cb054793a9717a53c7fa2c77d.tar.bz2
Python-Textbook-Companions-ce730bd89b66da3cb054793a9717a53c7fa2c77d.zip
Added(A)/Deleted(D) following books
A Heat_Transfer_by_K._A._Gavhane/Chapter_2.ipynb A Heat_Transfer_by_K._A._Gavhane/Chapter_3.ipynb A Heat_Transfer_by_K._A._Gavhane/Chapter_4.ipynb A Heat_Transfer_by_K._A._Gavhane/Chapter_5.ipynb A Heat_Transfer_by_K._A._Gavhane/Chapter_6.ipynb A Heat_Transfer_by_K._A._Gavhane/README.txt A Heat_Transfer_by_K._A._Gavhane/screenshots/1.png A Heat_Transfer_by_K._A._Gavhane/screenshots/2.png A Heat_Transfer_by_K._A._Gavhane/screenshots/3.png A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9_1.ipynb A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/README.txt A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1.png A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_1.png A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_2.png A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2.png A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2_1.png A Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/3.png A Principles_of_Data_structures_using_C_and_C++_by_Vinu_V_Das/README.txt A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.10_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.2_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.3_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.4_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.5_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.6_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.7_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.8_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.9_5.ipynb A Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/B.M.D_1_1.png A Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_1.png A Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_3_1.png A sample_notebooks/VinayBadhan/chapter7.ipynb
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/Chapter_2.ipynb2626
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/Chapter_3.ipynb2981
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/Chapter_4.ipynb1153
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/Chapter_5.ipynb1823
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/Chapter_6.ipynb1098
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/README.txt10
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/screenshots/1.pngbin0 -> 91339 bytes
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/screenshots/2.pngbin0 -> 120769 bytes
-rw-r--r--Heat_Transfer_by_K._A._Gavhane/screenshots/3.pngbin0 -> 70931 bytes
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1.ipynb558
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1_1.ipynb558
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2.ipynb65
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2_1.ipynb65
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3.ipynb481
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3_1.ipynb481
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4.ipynb742
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4_1.ipynb742
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5.ipynb647
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5_1.ipynb647
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6.ipynb528
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6_1.ipynb528
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7.ipynb505
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7_1.ipynb505
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8.ipynb326
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8_1.ipynb326
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9.ipynb405
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9_1.ipynb405
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/README.txt10
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1.pngbin0 -> 15157 bytes
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_1.pngbin0 -> 15157 bytes
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_2.pngbin0 -> 15157 bytes
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2.pngbin0 -> 11087 bytes
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2_1.pngbin0 -> 11087 bytes
-rw-r--r--Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/3.pngbin0 -> 8235 bytes
-rw-r--r--Principles_of_Data_structures_using_C_and_C++_by_Vinu_V_Das/README.txt10
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.10_5.ipynb280
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.2_5.ipynb2742
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.3_5.ipynb1588
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.4_5.ipynb1628
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.5_5.ipynb1013
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.6_5.ipynb1518
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.7_5.ipynb1328
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.8_5.ipynb1527
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.9_5.ipynb779
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/B.M.D_1_1.pngbin0 -> 10729 bytes
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_1.pngbin0 -> 9092 bytes
-rw-r--r--Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_3_1.pngbin0 -> 11205 bytes
-rw-r--r--sample_notebooks/VinayBadhan/chapter7.ipynb2175
48 files changed, 32803 insertions, 0 deletions
diff --git a/Heat_Transfer_by_K._A._Gavhane/Chapter_2.ipynb b/Heat_Transfer_by_K._A._Gavhane/Chapter_2.ipynb
new file mode 100644
index 00000000..da6b743d
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/Chapter_2.ipynb
@@ -0,0 +1,2626 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2: Conduction"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.1,Page no:2.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Ans.(A).Thickness of asbestos is: 98.0 mm\n",
+ "Ans.(B)Thickness of fire clay insulation is: 747.0 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Thickness of insulation\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=1 #Area of heat transfer[sq metre]\n",
+ "Q=450 #Rate of heat loss/unit area[W/ sq mtre]\n",
+ "dT=400 #Temperature difference across insulation layer[K]\n",
+ "k=0.11 #k for asbestos[W/(m.K)]\n",
+ "\n",
+ "#Calculation\n",
+ "#Q=(k* A*dT)/x\n",
+ "x1=(k*A*dT)/Q\n",
+ "X1=x1*1000 \n",
+ "#for fire clay insulation\n",
+ "k=0.84 #For fire clay insulation[W/(m.K)]\n",
+ "x=(k*A*dT)/Q \n",
+ "X=x*1000 \n",
+ "\n",
+ "#Result\n",
+ "print\"Ans.(A).Thickness of asbestos is:\",round(X1),\"mm\"\n",
+ "print\"Ans.(B)Thickness of fire clay insulation is:\",round(X),\"mm\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.2,Page no:2.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat loss per metre of pipe,Q= 62.7 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss per metre\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=1.0 # Length of pipe[m]\n",
+ "r1=(50.0/2.0) # in mm\n",
+ "r1=r1/1000.0 # in m\n",
+ "r2=(25.0+3.0)/1000.0 # m\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "rm1=(r2-r1)/math.log(r2/r1) \n",
+ "k1=45.0 #W/(m.K)\n",
+ "R1=(r2-r1)/(k1*(2*math.pi*rm1*L)) # Thermal resistance of wall pipe[K/W]\n",
+ "\n",
+ "#For inner lagging:\n",
+ "k2=0.08 #W/(m.K)\n",
+ "ri1=0.028 #m\n",
+ "ri2=(ri1+r1) # m\n",
+ "rmi1=(ri2-ri1)/math.log(ri2/ri1)\n",
+ "R2=(ri2-ri1)/(k2*2*math.pi*rmi1*L) #Thermal resistance of inner lagging [K/W]\n",
+ "\n",
+ "#For outer lagging:\n",
+ "k3=0.04 #W/(m.K)\n",
+ "ro1=0.053 #m\n",
+ "ro2=(ro1+0.04) # m\n",
+ "rmo1=(ro2-ro1)/math.log(ro2/ro1)\n",
+ "R3=(ro2-ro1)/(k3*2*math.pi*rmo1*L) #Thermal resistance of outer lagging\n",
+ "\n",
+ "R=R1+R2+R3\n",
+ "Ti=550.0 #K #inside\n",
+ "To=330.0 #K # outside\n",
+ "dT=Ti-To #Temperature difference\n",
+ "Q=dT/R\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat loss per metre of pipe,Q=\",round(Q,1),\"W/m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.3,Page no:2.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss per meter pipe is 149.2 W/m(approx)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat Loss in pipe\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "r1=44.0 #i [mm]\n",
+ "r1=r1/1000.0 #i[m]\n",
+ "r2=0.094 #i [m]\n",
+ "r3=0.124 #i [m]\n",
+ "T1=623.0 #iTemperature at outer surface of wall in[K]\n",
+ "T3=313.0 #iTemperature at outer surface of outer insulation [K]\n",
+ "k1=0.087 #iThermal conductivity of insulation layer 1..in [W/m.K]\n",
+ "k2=0.064 #iThermal conductivity of insulation layer 2 [W/m.K]\n",
+ "l=1 #i Length of pipe [m]\n",
+ "\n",
+ "#Calculation\n",
+ "rm1=(r2-r1)/math.log(r2/r1) #imath.log mean radius of insulation layer 1 [m]\n",
+ "rm2=(r3-r2)/math.log(r3/r2) #imath.log mean radius of insulation layer 2[m]\n",
+ "#iPutting values in following eqn:\n",
+ "Q= (T1-T3)/((r2-r1)/(k1*2*math.pi*rm1*l)+(r3-r2)/(k2*2*math.pi*rm2*l)) \n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss per meter pipe is\",round(Q,1),\"W/m(approx)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.4,Page no:2.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Interface temperature:\n",
+ "i-Between FB-IB= 1121.0 K \n",
+ "ii-Between IB-PB= 587.8 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss in interface\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=1 #Heat transfer area [sq m]\n",
+ "x1=0.229 # thickness of fire brick in [m]\n",
+ "x2=0.115 # thickness of insulating brick in [m]\n",
+ "x3=0.229 # thickness of building brick in [m]\n",
+ "k1=6.05 #thermal conductivity of fir brick [W/(m.K)]\n",
+ "k2=0.581 #thermal conductivity of insulating brick [W/m.K]\n",
+ "k3=2.33 #thermal conductivity of building brick [W/m.K]\n",
+ "T1=1223 # inside temperature [K]\n",
+ "T2=323 # Outside temperature[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT=T1-T2 #Overall temp drop [K]\n",
+ "R1=(x1/k1*A) #thermal resistance 1\n",
+ "R2=(x2/k2*A) # Thermal resistance 2\n",
+ "R3=(x3/k3*A) #Thermal resistance 3\n",
+ "Q=dT/(R1+R2+R3) #w/SQ m\n",
+ "Ta=-((Q*R1)-T1) #from Q1=Q=(T1-Ta)/(x1/k1*A)\n",
+ "#Similarly\n",
+ "Tb=(Q*R3)+T2 \n",
+ "\n",
+ "#Result\n",
+ "print\"Interface temperature:\\ni-Between FB-IB=\",round(Ta),\" K \\nii-Between IB-PB=\",round(Tb,1),\"K\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.5,Page no:2.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss per unit area is 2674.2 W= 2674.2 J/s\n",
+ "\n",
+ "Ta= 1108.0 K(APPROX) =Temperature at the interface between fire brick and insulating brick\n",
+ "Tb= 581.0 K Temperature at the interface between insulating and building brick\n",
+ "\n",
+ "NOTE:Tb is wrongly calculated in the book as 565 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss per unit area\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A=1 #let [sq m]\n",
+ "x1=0.23 #thickness of fir brick layer[m]\n",
+ "x2=0.115 # [m]\n",
+ "x3=0.23 #[m]\n",
+ "T1=1213.0 #Temperature of furnace [K]\n",
+ "T2=318.0 #Temperature of furnace [K]\n",
+ "dT=T1-T2 #[K]\n",
+ "k1=6.047 #W/(m.K) (fire brick)\n",
+ "k2=0.581 #W/(m.K) (insulating brick)\n",
+ "k3=2.33 #W/(m.K) (building brick)\n",
+ "\n",
+ "#Calculation\n",
+ "Q_by_A=dT/((x1/k1)+(x2/k2)+(x3/k3)) #Heat lost per unit Area in Watt\n",
+ "Q_by_A=round(Q_by_A,1)\n",
+ "R1=(x1/k1) #Thermal resistance\n",
+ "R2=(x2/k2)\n",
+ "R3=(x3/k3)\n",
+ "R1=round(R1,2)\n",
+ "R2=round(R2,1)\n",
+ "R3=round(R3,1)\n",
+ "Ta=T1-((dT*R1)/(R1+R2+R3))\n",
+ "Ta=round(Ta)\n",
+ "Tb=((dT*R3)/(R1+R2+R3))+T2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss per unit area is\",Q_by_A,\"W=\",Q_by_A,\"J/s\\n\"\n",
+ "print\"Ta=\",Ta,\"K(APPROX) =Temperature at the interface between fire brick and insulating brick\"\n",
+ "print\"Tb=\",round(Tb),\"K Temperature at the interface between insulating and building brick\"\n",
+ "print\"\\nNOTE:Tb is wrongly calculated in the book as 565 K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.7,Page no:2.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss from 1 sq metre wall= 689.5 W\n",
+ "Heat loss from 1 sq metre when resistance present= 632.1 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss in wall\n",
+ "#Part-(a)\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=1.0 # sq metre\n",
+ "x1=114.0 # mm\n",
+ "x1=x1/1000.0 # metre\n",
+ "k1=0.138 # W/(m.K)\n",
+ "R1= x1/(k1*A)\n",
+ "x2=229.0 #mm\n",
+ "x2= x2/1000.0 # metre\n",
+ "k2=1.38 # W/m.K\n",
+ "R2=x2/(k2*A)\n",
+ "dT=1033.0-349.0\n",
+ "\n",
+ "#Calculation\n",
+ "#Heat loss\n",
+ "Q1=dT/(R1+R2)\n",
+ "#Part(b)\n",
+ "#contact resistance=cr\n",
+ "cr=0.09 #K/W\n",
+ "R=R1+R2+cr\n",
+ "Q=dT/R\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss from 1 sq metre wall=\",round(Q1,1),\"W\"\n",
+ "print\"Heat loss from 1 sq metre when resistance present=\",round(Q,1),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.8,Page no:2.27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The temperature of 293 K will be reached at point 16.4 mm from the outermost wall surface of the ice-box\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Loss per area\n",
+ "\n",
+ "#Variable declaration\n",
+ "x1=0.02 #[m]\n",
+ "x2=0.01 #[m]\n",
+ "x3=0.02 #[m]\n",
+ "k1=0.105 #W/(m.k)\n",
+ "k3=k1 #W/(m.K)\n",
+ "k2=0.041 #W/(m.K)\n",
+ "T1=303\n",
+ "T2=263\n",
+ "\n",
+ "#Calculation\n",
+ "dT=T1-T2 #[K]\n",
+ "Q_by_A=dT/((x1/k1)+(x2/k2)+(x3/k3))\n",
+ "R=0.625 #K/W\n",
+ "Tx=293 #K\n",
+ "Rx=0.9524 #K/W\n",
+ "x=R*(T1-Tx)/(dT*Rx)\n",
+ "x=x*100 #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"The temperature of 293 K will be reached at point\",round(x,1),\"mm from the outermost wall surface of the ice-box\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.9,Page no:2.28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss=Q= 2220.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss\n",
+ "\n",
+ "#Variable declaration\n",
+ "import math\n",
+ "ID=50.0 #Internal diameter[mm]\n",
+ "dT=(573.0-303.0) \n",
+ "r1=ID/2.0 #mm\n",
+ "r1=r1/1000.0 # metres\n",
+ "OD=150.0 #Outer diameter[mm]\n",
+ "r2=OD/2.0 # mm\n",
+ "r2=75.0/1000.0 # m\n",
+ "#Thermal conductivity\n",
+ "k=17.45 # W/(m.K) \n",
+ "\n",
+ "#Calculation\n",
+ "#Q/A=dT/(r2-r1)/k\n",
+ "A1=4*math.pi*(r1**2) \n",
+ "A2=4*math.pi*(r2**2) \n",
+ "A=math.sqrt(A1*A2)\n",
+ "Q=(A*k*dT)/(r2-r1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss=Q=\",round(Q),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.10,Page no:2.29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat lost per sq meter is 5941.0 W/sq m\n",
+ "Width of air gap is 15.6 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat Passed\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A= 1.0 #sq m\n",
+ "x1=0.15\n",
+ "x2=0.01\n",
+ "x4=0.15\n",
+ "T1=973.0 #[K]\n",
+ "T2=288.0 #[K]\n",
+ "dT=T1-T2 #[K]\n",
+ "#Thermal conductivities\n",
+ "k1=1.75 \n",
+ "k2=16.86\n",
+ "k3=0.033\n",
+ "k4=5.2\n",
+ "\n",
+ "#Calculation\n",
+ "#in absence of air gap,sum of thermal resistances \n",
+ "sR=(x1/k1*A)+(x2/k2*A)+(x4/k4*A)\n",
+ "round(sR,3)\n",
+ "sR=0.1153 #approximate\n",
+ "Q= dT/sR\n",
+ "\n",
+ "#When heat loss,Q=1163,then new resistance =sR1\n",
+ "Q1=1163.0 #[W/sq m]\n",
+ "sR1=dT/Q1\n",
+ "#width of air gap be w then\n",
+ "w=(sR1-sR)*k3*A # [m]\n",
+ "w=w*1000 #in [mm]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat lost per sq meter is\",round(Q),\"W/sq m\"\n",
+ "print\"Width of air gap is\",round(w,1),\"mm\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.11,Page no:2.30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss is: 176.3 W/m\n",
+ "Heat lost per sq meter of outer insulation is 117.0 W/sq m\n",
+ "Temperature between two layers of insulation= 469.0 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Heat loss in Insulated pipe\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "d1=300.0 #[mm]\n",
+ "r1=d1/2.0 # [mm]\n",
+ "r1=r1/1000.0 #[m]\n",
+ "r2=r1+0.05 #[m]\n",
+ "r3=r2+0.04 #[m]\n",
+ "x1=0.05 #[m]\n",
+ "x2=0.04 #[m]\n",
+ "k1=0.105 #W/(m.K)\n",
+ "k2=0.07 #W/(m.K)\n",
+ "\n",
+ "#Calculation\n",
+ "rm1= (r2-r1)/math.log(r2/r1) # [m]\n",
+ "rm2=(r3-r2)/math.log(r3/r2) #[m]\n",
+ "L=1 #let\n",
+ "A1=math.pi*rm1*L #let L=1\n",
+ "R1=x1/(k1*A1) \n",
+ "A2=math.pi*rm2*L\n",
+ "R2=x2/(k2*A2)\n",
+ "T1=623.0 #[K]\n",
+ "T2=323.0 #[K]\n",
+ "dT=T1-T2 #[K]\n",
+ "\n",
+ "#Part a\n",
+ "Q_by_L= dT/(R1+R2) #Heat loss\n",
+ "\n",
+ "#Part b:\n",
+ "P=2*math.pi*(r1+x1+x2) #[m]\n",
+ "Q_by_L_peri=Q_by_L/P # [W/sq m]\n",
+ "R1=x1/(k1*A1) \n",
+ "sR=0.871+0.827\n",
+ "dT1=dT*R1/sR\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "#Part a\n",
+ "print\"Heat loss is:\",round(Q_by_L,1),\"W/m\" \n",
+ "#Part b:\n",
+ "print\"Heat lost per sq meter of outer insulation is\",round(Q_by_L_peri),\"W/sq m\"\n",
+ "print\"Temperature between two layers of insulation=\",round((T1-dT1)),\"K\"\n",
+ "\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.12,Page no:2.31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Width of the air gap is 12.06 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss in Composite brick\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "x1=0.01 #[m]\n",
+ "x2=0.15 #[m]\n",
+ "x3=0.15 #[m]\n",
+ "T1=973.0 #[K]\n",
+ "T2=423.0 #[K]\n",
+ "dT=T1-T2 \n",
+ "#Thermal conductivities\n",
+ "k1=16.86 #[W/m.K]\n",
+ "k2=1.75 #[W/m.K]\n",
+ "k3=5.23 #[W/m.K]\n",
+ "k_air=0.0337 # [W/m.K]\n",
+ "A=1 #[sq m]\n",
+ "\n",
+ "#Calculation\n",
+ "sigma_R=(x1/(k1*A)+x2/(k2*A)+x3/(k3*A))\n",
+ "Q=dT/sigma_R #Heat flow in [W\n",
+ "Tm= Q*x3/k3 #Temperature drop in magnesite brick\n",
+ "#Interface temperature=iT\n",
+ "iT=T2+Tm #[K]\n",
+ "sigma_xbyk= A*dT/1163 #with air gap for reducing heat loss to 1163 per sq m\n",
+ "x_by_k=sigma_xbyk-sigma_R #x/k for air\n",
+ "t=x_by_k*k_air\n",
+ "t=t*1000 \n",
+ "\n",
+ "#Calculation\n",
+ "print\"Width of the air gap is\",round(t,2),\"mm\"\n",
+ "\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.13,Page no:2.32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat flow per metre of pipe is 82.93 W/m\n",
+ "Temperature at outer surface of steel pipe: 422.97 K\n",
+ "Conductance per m length based on inside area is 2.1 W/K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat flow in a pipe\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "L=1 #assume [m]\n",
+ "k1=43.03 #[W/(m.K)\n",
+ "k2=0.07 #(W/m.K)\n",
+ "T1=423 #inside temperature [K]\n",
+ "T2=305 # [K]\n",
+ "r1=0.0525 #[mm]\n",
+ "r2=0.0575 #[m]\n",
+ "r3=0.1075 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "#r3=r3/1000 #[m]\n",
+ "Q=(2*math.pi*L*(T1-T2))/(((math.log(r2/r1))/k1)+((math.log(r3/r2))/k2)) #Heat loss per metre \n",
+ "#Part 2\n",
+ "#T=Temperature of outer surface\n",
+ "T=T1-(Q*math.log(r2/r1))/(k1*2*math.pi*L) \n",
+ "#Part iii\n",
+ "id=0.105 #inside diametre in [m]\n",
+ "A=math.pi*id*1 #inside area in [sq m]\n",
+ "C=Q/(A*(T1-T2)) #conductance per length\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat flow per metre of pipe is\",round(Q,2),\"W/m\"\n",
+ "#Part 2\n",
+ "print\"Temperature at outer surface of steel pipe:\",round(T,2),\"K\" \n",
+ "#Part iii\n",
+ "print\"Conductance per m length based on inside area is\",round(C,1),\"W/K\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.15,Page no:2.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thickness of rockwool insulation required= 4.91 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Thickness of insulation \n",
+ " \n",
+ "#Variable declaration\n",
+ "A=1 # [sq m]\n",
+ "x1=0.1 #m\n",
+ "x2=0.04\n",
+ "k1=0.7\n",
+ "k2=0.48\n",
+ "\n",
+ "#Calculation\n",
+ "sigma=x1/(k1*A)+x2/(k2*A) #K/W\n",
+ "#Q=4.42*dT\n",
+ "#Q=dT/sigma\n",
+ "#with rockwool insulation added,Q_dash=0.75*Q\n",
+ "k3=0.065 # W/(m.K)\n",
+ "#Q_dash=dT/sigma+x3/k3*A\n",
+ "#On solving Q and Q_dash we get\n",
+ "x3=((1/(0.75*4.42))-sigma)*k3 #[m]\n",
+ "x3=x3*1000 # [mm]\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of rockwool insulation required=\",round(x3,2),\"mm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.16,Page no:2.36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "M-1 near the surface is advisable(i.e Arrangement one will result in less heat loss)\n",
+ "Percent reduction in heat loss is 23.2 percent\n",
+ "\n",
+ "NOTE:Slight variation in answers due to less precise calculation in book.If performed manually,this answer stands to be correct\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Reduction in heat loss in insulated pipe\n",
+ "d1=40.0 # Diameter of pipe[mm]\n",
+ "r1=(d1/2.0)/1000.0 #Outside radius in [m]\n",
+ "t1=20.0 #Insulation 1 thickness in [mm]\n",
+ "t1=t1/1000 #[m]\n",
+ "t2=t1 #Insulation 2 thickness in[m]\n",
+ "r2=r1+t1 #radius after 1st insulation in [m]\n",
+ "r3=r2+t2 #Radius after second insulation in [m]\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "#Since python does not handles symbolic constants,we will assume some values:\n",
+ "#(1)\n",
+ "#Let the layer M-1 be nearer to the surface\n",
+ "L=1.0 #[m]\n",
+ "T1=10.0 #Temperature of inner surface of pipe [K]\n",
+ "T2=5.0 #Temperature of outer surface of insulation [K]\n",
+ "k=1.0 #Thermal conductivity\n",
+ "k1=k #For M-1 material\n",
+ "k2=3*k #For material M-2\n",
+ "Q1=(T1-T2)/(math.log(r2/r1)/(2*math.pi*L*k1)+math.log(r3/r2)/(2*math.pi*L*k2))\n",
+ "#(2)\n",
+ "#Let the layer of material M-2 be nearer to the surface\n",
+ "Q2=(T1-T2)/(math.log(r2/r1)/(2*math.pi*L*k2)+math.log(r3/r2)/(2*math.pi*L*k1))\n",
+ "#For dummy variables unity...\n",
+ "#For any value of k,T1 and T2,Q1 is always less than Q2\n",
+ "\n",
+ "#Result\n",
+ "print\"M-1 near the surface is advisable(i.e Arrangement one will result in less heat loss)\"\n",
+ "per_red=(Q2-Q1)*100/Q2\n",
+ "print\"Percent reduction in heat loss is\",round(per_red,1),\"percent\"\n",
+ "print\"\\nNOTE:Slight variation in answers due to less precise calculation in book.If performed manually,this answer stands to be correct\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.17,Page no:2.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss= 89.6 W/m\n",
+ "If order is changed then heat loss= 105.76 W/m\n",
+ "Loss of heat is increased by 18.04 percent by putting material with higher thermal conductivity near the pipe surface\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss in a pipe\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "T1=523 #[K]\n",
+ "T2=323 #[K]\n",
+ "r1=0.05 #[m]\n",
+ "r2=0.055 #[m]\n",
+ "r3=0.105 #[m]\n",
+ "r4=0.155 #[m]\n",
+ "k1=50 #[W/(m.K)]\n",
+ "k2=0.06 #[W/(m.K)]\n",
+ "k3=0.12 #W/(m.K)\n",
+ "\n",
+ "#Calculation\n",
+ "#CASE 1\n",
+ "Q_by_L1=2*math.pi*(T1-T2)/((math.log(r2/r1))/k1+(math.log(r3/r2))/k2+(math.log(r4/r3))/k3) #[W/m]\n",
+ "#Case 2\n",
+ "Q_by_L2=2*math.pi*(T1-T2)/((math.log(r2/r1))/k1+(math.log(r3/r2))/k3+(math.log(r4/r3))/k2)\n",
+ "perct=(Q_by_L2-Q_by_L1)*100/Q_by_L1\n",
+ "\n",
+ "#Result\n",
+ "#CASE 1\n",
+ "print\"Heat loss=\",round(Q_by_L1,1),\"W/m\"\n",
+ "#Case 2\n",
+ "print\"If order is changed then heat loss=\",round(Q_by_L2,2),\"W/m\" \n",
+ "print\"Loss of heat is increased by\",round(perct,2),\" percent by putting material with higher thermal conductivity near the pipe surface\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.18,Page no:2.38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ANSWER-(i)\n",
+ "Q1= 22.13 W \n",
+ "Q2= 24.48 W \n",
+ "Q1 is less than Q2.i.e arrangement A near the pipe surface and B as outer layer gives less heat loss\n",
+ "\n",
+ "ANSWER-(ii) \n",
+ "Percent reduction in heat loss (with near the pipe surface)= 10.6 %(approx)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Arrangements for heat loss\n",
+ "\n",
+ "#Variable declaration\n",
+ "#Assume:\n",
+ "L=1.0 #[m]\n",
+ "r1=0.10 #[m] Outside radius od pipe\n",
+ "ia=0.025 #inner insulaiton [m]\n",
+ "import math \n",
+ "r2=r1+ia #Outer radius of inner insulation\n",
+ "r3=r2+ia #Outer radius of outer insulation\n",
+ "\n",
+ "#Calculation\n",
+ "#CASE 1:'a' near the pipe surface\n",
+ "#let k1=1\n",
+ "k1=1.0 #Thermal conductivity of A[W/m.K]\n",
+ "#and k2=3k1=3\n",
+ "k2=3.0 #Thermal conductivity of B[W/m.K]\n",
+ "#Let dT=1\n",
+ "dT=1.0\n",
+ "Q1=dT/(math.log(r2/r1)/(2*math.pi*k1*L)+math.log(r3/r2)/(2*math.pi*k2*L))\n",
+ "#CASE 2:'b' near the pipe surface \n",
+ "Q2=dT/(math.log(r2/r1)/(2*math.pi*k2*L)+math.log(r3/r2)/(2*math.pi*k1*L))\n",
+ "\n",
+ "#Result\n",
+ "print\"ANSWER-(i)\\nQ1=\",round(Q1,2),\"W \\nQ2=\",round(Q2,2),\" W \"\n",
+ "print\"Q1 is less than Q2.i.e arrangement A near the pipe surface and B as outer layer gives less heat loss\\n\"\n",
+ "percent=(Q2-Q1)*100/Q1 #percent reduction in heat loss\n",
+ "print\"ANSWER-(ii) \\nPercent reduction in heat loss (with near the pipe surface)=\",round(percent,1),\"%(approx)\" \n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.19,Page no:2.39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thickness of insulation= 184.0 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Insulation thickness\n",
+ "\n",
+ "#Variable declaration\n",
+ "x1=0.224 # m\n",
+ "k1=1.3 # W/(m.K)\n",
+ "k2=0.346 # W/(m.K)\n",
+ "T1=1588.0 # K\n",
+ "T2= 299.0 # K\n",
+ "QA=1830.0 # W/ sq metre #heat loss\n",
+ "\n",
+ "#Calculation\n",
+ "#Q/A=(T1-T2)/x1/k1+x2/k2\n",
+ "x2=k2*((T1-T2)*1/(QA)-(x1/k1))\n",
+ "x2=x2*1000 \n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of insulation=\",round(x2),\"mm\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.20,Page no:2.39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thickness of diatomite layer= 93.0 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss in furnace\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "#for clay\n",
+ "k1=0.533 #[W/(m.K)]\n",
+ "#for red brick\n",
+ "k2=0.7 #[W/m.K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case 1\n",
+ "A=1 #Area\n",
+ "x1=0.125 #[m]\n",
+ "x2=0.5 #[m]\n",
+ "#Resistances\n",
+ "r1=x1/(k1*A) #Res of fire clay [K/W]\n",
+ "r2=x2/(k2*A) #Res of red brick[K/W]\n",
+ "r=r1+r2\n",
+ "#Temperatures\n",
+ "T1=1373 #[K]\n",
+ "T2=323 #[K]\n",
+ "Q=(T1-T2)/r #[W/sq m]\n",
+ "Tdash=T1-Q*r1 #[K]\n",
+ "\n",
+ "#Case2\n",
+ "# Heat loss must remain unchanged,Thickness of red brick also reduces to its half\n",
+ "x3=x2/2 #[m]\n",
+ "r3=x3/(k2*A) #[K/W]\n",
+ "Tdd= T2+(Q*r3) #[K]\n",
+ "#Thickness of diatomite be x2,km be mean conductivity\n",
+ "Tm=(Tdash+Tdd)/2 #[K]\n",
+ "km=0.113+(0.00016*Tm) #[W/(m.K]\n",
+ "x2=km*A*(Tdash-Tdd)/Q #[m]\n",
+ "x2=x2*1000 #[mm]\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of diatomite layer=\",round(x2),\"mm\"\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.21,Page no:2.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thickness of rockwool insulation 59.0 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Rate of heat loss in pipe\n",
+ "\n",
+ "#Variable declaration\n",
+ "k1=0.7 #common brick W/((m.K)\n",
+ "k2=0.48 #gypsum layer [W/(m.K)\n",
+ "k3=0.065 #Rockwool [W/m.K]\n",
+ "#Heat loss with insulatiob will be 20% of without insulation\n",
+ "A=1 #sq m\n",
+ "x1=0.1 #[m]\n",
+ "x2=0.04 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "R1=x1/(k1*A) #K/W\n",
+ "R2=x2/(k2*A) #K/W\n",
+ "R=R1+R2 #K/W\n",
+ "#R3=x3/(k3*A)\n",
+ "QbyQd=0.2\n",
+ "sigRbyRd=QbyQd\n",
+ "x3=(R/QbyQd-R)/15.4 #m\n",
+ "x3=x3*1000 #[mm]\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of rockwool insulation\",round(x3),\"mm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.22,Page no:2.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat loss is 116.63 W/m\n",
+ "\n",
+ "NOTE:Slight variation in final answer due to mistake in calculation of sigma_R in textbook.\n",
+ "In book is is taken as 1.366\n",
+ " \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss from insulated steel pipe\n",
+ "\n",
+ "#Variable declaration\n",
+ "Ts=451.0 #Steam temperature in [K]\n",
+ "Ta=294.0 #Air temperature in [K]\n",
+ "Di=25.0 #Internal diameter of pipe [mm]\n",
+ "Di=Di/1000 #[m]\n",
+ "od=33.0 #Outer diameter of pipe [mm] \n",
+ "od=od/1000 #[m]\n",
+ "hi=5678.0 #Inside heat transfer coefficient [W/(m**2.K)]\n",
+ "ho=11.36 #Outsideheat transfer coefficient [W/(sq m.K)]\n",
+ "\n",
+ "#Calculation\n",
+ "xw=(od-Di)/2 #Thickness of steel pipe [m]\n",
+ "k2=44.97 #k for steel in W/(m.K)\n",
+ "k3=0.175 #k for rockwool in W/(m.K)\n",
+ "ti=38.0/1000 #thickness of insulation in [m]\n",
+ "r1=Di/2 #[m]\n",
+ "r2=od/2 #[m]\n",
+ "rm1=(r2-r1)/math.log(r2/r1) #[m]\n",
+ "r3=r2+ti #[m]\n",
+ "rm2=(r3-r2)/math.log(r3/r2) #[m]\n",
+ "Dm1=2*rm1 #[m]\n",
+ "Dm2=2*rm2 #[m]\n",
+ "import math\n",
+ "#Rate of heat loss = dT/(sigma_R)\n",
+ "L=1 #[m]\n",
+ "R1=1/(hi*math.pi*Di*L) #[K/W]\n",
+ "R1=round(R1,4)\n",
+ "R2=xw/(k2*math.pi*Dm1*L)\n",
+ "R2=round(R2,6)\n",
+ "R3=(r3-r2)/(k3*math.pi*Dm2*L)\n",
+ "R3=round(R3,3)\n",
+ "R3=1.086\n",
+ "Do=(od+2*ti) #[mm]\n",
+ "R4=1/(ho*math.pi*Do*L) #[m]\n",
+ "R4=round(R4,3)\n",
+ "sigma_R=R1+R2+R3+R4 \n",
+ "#Heat loss\n",
+ "dT=Ts-Ta #[K]\n",
+ "Q=dT/sigma_R #Heat loss [W/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat loss is\",round(Q,2),\"W/m\"\n",
+ "print\"\\nNOTE:Slight variation in final answer due to mistake in calculation of sigma_R in textbook.\\nIn book is is taken as 1.366\\n \"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.23,Page no:2.46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Percentage reduction in heat loss is 40.0 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss from furnace\n",
+ "\n",
+ "#Variable declaration\n",
+ "T1=913.0 #[K]\n",
+ "T=513.0 #[K]\n",
+ "T2=313.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Q=(T1-T)/(x/(k*A))\n",
+ "#Q=(T-T2)/(1/(h*A))\n",
+ "#x=2k/h\n",
+ "#Q=(T1-T2)/(x/(kA)+1/(h*A))\n",
+ "#Therefore,Q=hA/3*(T1-T2)\n",
+ "#With increase in thickness(100%)\n",
+ "#x1=4*k/h\n",
+ "#Q2=(T1-T2)/(x1/k*A+1/(h*A))\n",
+ "#Q2=(h*A)/5)*(T1-T2)\n",
+ "#Now\n",
+ "h=1.0 #Assume\n",
+ "A=1.0 #Assume for calculation\n",
+ "Q1=(h*A/3)*(T1-T2)\n",
+ "Q2=((h*A)/5)*(T1-T2)\n",
+ "percent=(Q1-Q2)*100/Q1 #Percent reduction in heat loss\n",
+ "\n",
+ "#Result\n",
+ "print\"Percentage reduction in heat loss is\",percent,\"%\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.24,Page no:2.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat loss,Q= 43.5 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Rate of heat loss\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=1.0#m\n",
+ "thp=2.0#Thickness of pipe in mm\n",
+ "thi=10.0#Thickness of insulation in mm\n",
+ "T1=373.0#K\n",
+ "T2=298.0#K\n",
+ "id=30.0#mm\n",
+ "r1=id/2#mm\n",
+ "\n",
+ "#Calculation\n",
+ "r2=r1+thp#mm\n",
+ "r3=r2+thi#mm\n",
+ "#In S.I units\n",
+ "r1=r1/1000 #m\n",
+ "r2=r2/1000#m\n",
+ "r3=r3/1000#m\n",
+ "k1=17.44#W/(m.K)\n",
+ "k2=0.58#W/(m.K)\n",
+ "hi=11.63#W/(sq m.K)\n",
+ "ho=11.63#W/(sq m.K)\n",
+ "import math\n",
+ "Q=(2*math.pi*L*(T1-T2))/(1/(r1*hi)+(math.log(r2/r1))/k1+((math.log(r3/r2))/k2)+(1/(0.02*ho)))\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat loss,Q=\",round(Q,1),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.25,Page no:2.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Required thickness of insulation is 0.0188 m= 18.8 mm or 19.0 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " #Thickness of insulation .\n",
+ "from scipy.optimize import fsolve\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "h=8.5 #[W/sq m.K]\n",
+ "dT=175 #[K]\n",
+ "r2=0.0167 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Q_by_l=h*2*math.pi*r2*dT #[W/m]\n",
+ "k=0.07 #For insulating material in [W/m.K]\n",
+ "#for insulated pipe--50% reduction in heat loss\n",
+ "Q_by_l1=0.5*Q_by_l #[w/m]\n",
+ "def f(r3):\n",
+ " x=Q_by_l1-dT/((math.log(r3/r2))/(2*math.pi*k)+1/(2*math.pi*r3*h))\n",
+ " return(x)\n",
+ "#by trial and error method we get:\n",
+ "r3=fsolve(f,0.05)\n",
+ "t=r3-r2 #thickness of insulation in [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Required thickness of insulation is\",round(t[0],4),\"m=\",round(t[0]*1000,1),\" mm or\",round(t[0]*1000),\"m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.26,Page no:2.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss per metre length of pipe= 114.49 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Calculate heat loss per metre length\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "id=0.1 #internal diameter in[m]\n",
+ "od=0.12 #outer diameter in [m]\n",
+ "T1=358 #Temperature of fluid [K]\n",
+ "T2=298 #Temperature of surrounding [K]\n",
+ "t=0.03 #thickness of insulation [m]\n",
+ "k1=58 #[W/m.K]\n",
+ "k2=0.2 #W/(m.K) insulating material\n",
+ "h1=720 #inside heat transfer coeff [W/sq m .K]\n",
+ "h2=9 #W/sq m.K\n",
+ "r1=id/2 #[m]\n",
+ "r2=od/2 #[m]\n",
+ "r3=r2+t #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "#Heat loss per meter=Q_by_L\n",
+ "Q_by_L=(T1-T2)/(1/(2*math.pi*r1*h1)+math.log(r2/r1)/(2*math.pi*k1)+math.log(r3/r2)/(2*math.pi*k2)+1/(2*math.pi*r3*h2)) #W/m\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss per metre length of pipe=\",round(Q_by_L,2),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.27,Page no:2.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thickness of insulation is 32.0 mm\n",
+ "Rate of heat loss per unit length is 154.1 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Mineral wool insulation\n",
+ "from scipy.optimize import fsolve\n",
+ "\n",
+ "#Variable declaration\n",
+ "import math\n",
+ "T1=573 #[K]\n",
+ "T2=323 #[K]\n",
+ "T3=298 #[K]\n",
+ "h1=29 # Outside heat transfer coefficients [W/sq m.K]\n",
+ "h2=12 #[W/sq m.K]\n",
+ "r1=0.047 #Internal radius [m]\n",
+ "r2=0.05 #Outer radius[m]\n",
+ "k1=58 #[W/m.K]\n",
+ "k2=0.052 #[W/m.K]\n",
+ "\n",
+ "#Calculation\n",
+ "#Q=(T1-T2)/(1/(r1*h1)+math.log(r2/r1)/k1+math.log(r3/r2)/k2)=(T2-T3)/(1/(r3*h2))\n",
+ "def f(r3):\n",
+ " x=(T1-T2)/(1/(r1*h1)+math.log(r2/r1)/k1+math.log(r3/r2)/k2)-(T2-T3)/(1/(r3*h2))\n",
+ " return(x)\n",
+ "\t#by trial and error method :\n",
+ "r3=fsolve(f,0.05)\n",
+ "t=r3-r2 #Thickness of insulation in [m]\n",
+ "#Q=h2*2*math.pi*r3*L*(T2-T3)\n",
+ "Q_by_l=h2*2*math.pi*r3*(T2-T3) #[W/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of insulation is\",round(t*1000),\"mm\"\n",
+ "print\"Rate of heat loss per unit length is\",round(Q_by_l[0],1),\"W/m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.28,Page no:2.51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss per sq metre area is: 1551.4 W/sq m\n",
+ "Temperature of outside surface of furnace is: 323.9 K ( 50.9 degree C)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Calculate heat loss per sq m and temperature of outside surface\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=1 #assume [sq m]\n",
+ "x1=0.006 #[m]\n",
+ "x2=0.075 #[m]\n",
+ "x3=0.2 #[m]\n",
+ "k1=39.0 #[W/m.K]\n",
+ "k2=1.1 #[W/m.K]\n",
+ "k3=0.66 #[W/m.K]\n",
+ "h0=65.0 #W/sq m .K\n",
+ "T1=900.0 #K\n",
+ "T2=300.0 #K\n",
+ "\n",
+ "#Calculation\n",
+ "sigma_R=(x1/(k1*A)+x2/(k2*A)+x3/(k3*A)+1/(h0*A)) \n",
+ "\n",
+ "#To calculate heat loss/sq m area\n",
+ "Q=(T1-T2)/sigma_R #[W/sq m]\n",
+ "#Q/A=T-T2/(1/h0), where T=Temp of outside surface\n",
+ "#So, T=T2+Q/(A*h0)\n",
+ "T=Q/(A*h0)+T2 #[K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss per sq metre area is:\",round(Q,1),\"W/sq m\" \n",
+ "print\"Temperature of outside surface of furnace is:\",round(T,1),\"K (\",round(T-273,1),\"degree C)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.29,Page no:2.52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thickness of insulating brick required is 63.4 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Determine necessary thickness of insulation brick\n",
+ "\n",
+ "#Variable declaration\n",
+ "A=1.0 #Assume [sq m]\n",
+ "x1=0.003 #[m]\n",
+ "x3=0.008 #[m]\n",
+ "k1=30.0 #[W/m.K]\n",
+ "k2=0.7 #[W/m.K]\n",
+ "k3=40.0 #[W/m.K]\n",
+ "T1=363.0 #[K]\n",
+ "T=333.0 #[K]\n",
+ "T2=300.0 #[K]\n",
+ "h0=10.0 #W/sq m.K\n",
+ "\n",
+ "#Calculation\n",
+ "#Q=(T1-T2)/(x1/(k1*A)+x2/(k2*A)+x3/(k3*A)+1/(h0*A))\n",
+ "#Also,Q=(T-T2)/(1/(h0*A))\n",
+ "#So, (T1-T2)/((x1/(k1*A)+x2/(k2*A)+x3/(k3*A)+1/(h0*A))=(T-T2)/(1/(h0*A))\n",
+ "#or,x2=k2*A((T1-T2)/((T-T2)*h0*A)-1/(h0*A)-x1/(k1*A)-x3/(k3*A))\n",
+ "x2=k2*A*((T1-T2)/((T-T2)*h0*A)-1/(h0*A)-x1/(k1*A)-x3/(k3*A)) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of insulating brick required is\",round(x2*1000,1),\"mm\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.30,Page no:2.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss per sq m is: 938.5 W\n",
+ "Temperature at inner surface of middle layer= 1780.3 K( 1507.3 degree C)\n",
+ "Temperature at outer surface of middle layer= 512.1 K ( 239.1 degree C)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat flow through furnace wall\n",
+ "\n",
+ "#Variable declaration\n",
+ "hi=75.0 #[W/sq m.K)\n",
+ "x1=0.2 #m\n",
+ "x2=0.1 #[m]\n",
+ "x3=0.1 #[m]\n",
+ "T1=1943 #[K]\n",
+ "k1=1.25 #W/m.K\n",
+ "k2=0.074 #/W/m.K\n",
+ "k3=0.555 #W/m.K\n",
+ "T2=343.0 #K\n",
+ "A=1.0 #assume [sq m]\n",
+ "\n",
+ "#Calculation\n",
+ "sigma_R=1.0/(hi*A)+x1/(k1*A)+x2/(k2*A)+x3/(k3*A) \n",
+ "#Heat loss per i sq m\n",
+ "Q=(T1-T2)/sigma_R #[W]\n",
+ "#if T=temperature between chrome brick and koalin brick then \n",
+ "#Q=(T1-T)/(1/(hi*A)+x1/(k1*A))\n",
+ "#or T=T1-(Q*(1/(hi*A)+x1/(k1*A)))\n",
+ "T=T1-(Q*(1.0/(hi*A)+x1/(k1*A))) #[K]\n",
+ "#if Tdash=temperature at the outer surface of middle layer,then\n",
+ "#Q=(Tdash-T2)/(x3/(k1*A))\n",
+ "#or Tdash=T2+(Q*x3/(k3*A))\n",
+ "Tdash=T2+(Q*x3/(k3*A)) #[K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss per sq m is:\",round(Q,1),\"W\"\n",
+ "print\"Temperature at inner surface of middle layer=\",round(T,1),\"K(\",round(T-273,1),\"degree C)\"\n",
+ "print\"Temperature at outer surface of middle layer=\",round(Tdash,1),\"K (\",round(Tdash-273,1),\"degree C)\" \n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.31,Page no:2.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Ans (a) Heat loss= 321.94 W/m \n",
+ "Ans (b) Percent reduction in heat loss is 77.5 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Calculate:(a) Heat loss per unit length \n",
+ "#(b)Reduction in heat loss\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "hi=10 #W/sq m.K\n",
+ "h0=hi #W/sq.m.K\n",
+ "r1=0.09 #m\n",
+ "r2=0.12 #m\n",
+ "t=0.05 #thickness of insulation [m]\n",
+ "k1=40 #W/m.K\n",
+ "k2=0.05 #W/m.K\n",
+ "T1=473 #K\n",
+ "T2=373 #K\n",
+ "\n",
+ "#Calculation\n",
+ "Q_by_L=2*math.pi*(T1-T2)/(1/(r1*hi)+math.log(r2/r1)/k1+1/(r2*h0)) #W/m\n",
+ "#After addition of insulation:\n",
+ "r3=r2+t #radius of outer surface of insulaiton\n",
+ "Q_by_L1=2*math.pi*(T1-T2)/(1/(r1*hi)+math.log(r2/r2)/k1+math.log(r3/r2)/k2+1/(r3*h0)) # W\n",
+ "Red=Q_by_L-Q_by_L1 #Reduciton in heat loss in [W/m]\n",
+ "percent_red=(Red/Q_by_L)*100 #% Reduction in heat loss\n",
+ "\n",
+ "#Result\n",
+ "print\"Ans (a) Heat loss=\",round(Q_by_L,2),\"W/m \"\n",
+ "print\"Ans (b) Percent reduction in heat loss is\",round(percent_red,1),\"%\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.32,Page no:2.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Ans (i)- Heat flux across the layers is 1997.0 W/sq m\n",
+ "Ans-(ii)-Interfacial temperature between layers is 777.4 K( 504.4 degree C)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Determine: i-Heat flux across the layers and\n",
+ "#ii-Interfacial temperature between the layers\n",
+ "\n",
+ "#Variable declaration\n",
+ "T1=798.0 #K\n",
+ "T2=298.0 #K\n",
+ "x1=0.02 #m\n",
+ "x2=x1 #m\n",
+ "k1=60.0 #W/m.K\n",
+ "k2=0.1 #W/m.K\n",
+ "hi=100.0 #W/sq m.K\n",
+ "h0=25.0 #W/sq m.K\n",
+ "\n",
+ "#Calculation\n",
+ "Q_by_A=(T1-T2)/(1.0/hi+x1/k1+x2/k2+1.0/h0) #W/sq m\n",
+ "#If Tis the interfacial temperature between steel plate and insulating material\n",
+ "#Q_by_A=(T-T2)/(x2/k2+1/h0)\n",
+ "T=Q_by_A*(x2/k2+1.0/h0)+T2\n",
+ "\n",
+ "#Result\n",
+ "print\"Ans (i)- Heat flux across the layers is\",round(Q_by_A),\"W/sq m\" \n",
+ "print\"Ans-(ii)-Interfacial temperature between layers is\",round(T,1),\"K(\",round(T-273,1),\"degree C)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.33,Page no:2.56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Convective conductance is: 72.1 W/m^2.K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Determine Temperature at the outer surface of wall and convective conductance on the outer wall\n",
+ " \n",
+ " \n",
+ "#Variable declaration \n",
+ "T1=2273 #Temperature of hot gas:[K]\n",
+ "T4=318 #Ambient aur temperature[K]\n",
+ "Qr1_by_A=23260 #Heat flow by radiation from gases to inside surface of wall[W/sq m]\n",
+ "hi=11.63 #Heat transfer coefficient on inside wall:[W/sq m.K]\n",
+ "K=58 #Thermal conductivity of wall[W.sq m/K]\n",
+ "Qr4_by_A=9300 #Heat flow by radiation from external surface to ambient[W/sq m]\n",
+ "T2=1273 #Inside Wall temperature[K]\n",
+ "Qr1=Qr1_by_A #W for\n",
+ "A=1 #sq m\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Qc1_by_A=hi*(T1-T2) #W/sq m\n",
+ "Qc1=Qc1_by_A #for A=1 sq m\n",
+ " #Thermal resistance:\n",
+ "R=1.0/K #K/W per sq m\n",
+ "#Now Q=(T2-T3)/R,i.e \n",
+ "#External wall temp T3=T2-Q*R\n",
+ "#Q entering wall=\n",
+ "Q_enter=Qr1+Qc1 #W\n",
+ "T3=T2-Q_enter*R #K\n",
+ "T3=673 #Approximate\n",
+ "#Heat loss due to convection:\n",
+ "Qc4_by_A=Q_enter-Qr4_by_A #W/sq m\n",
+ "#Qc4_by_A=h0*(T3-T4)\n",
+ "#or h0=Qc4_by_A/(T3-T4)\n",
+ "h0=Qc4_by_A/(T3-T4) #W/sq m.K\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Convective conductance is:\",round(h0,1),\"W/m^2.K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.34,Page no:2.60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When covered with insulation:\n",
+ "Heat loss= 105.7 W\n",
+ "When without insulation,\n",
+ "Heat loss= 84.8 W\n",
+ "\n",
+ "Percent increase = 24.66 percent\n",
+ "In this case the value of rc= 0.0133 m is less than the outside radius of pipe ( 0.025 m)\n",
+ "So additon of any fibre glass would cause a decrease in the heat transfer\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Critical radius of insulation\n",
+ "\n",
+ "#Variable declaration\n",
+ "T1=473 #[K]\n",
+ "T2=293 #[K]\n",
+ "k=0.17 #W/(m.K)\n",
+ "h=3 #W/(sq m.K)\n",
+ "h0=h #W/sq m.K\n",
+ "rc=k/h #m\n",
+ "r1=0.025 #Inside radius of insulaiton [mm] \n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "q_by_l1=2*math.pi*(T1-T2)/(math.log(rc/r1)/k+1/(rc*h0)) #Heat transfer with insulation in W/m\n",
+ "#Without insulation:\n",
+ "q_by_l2=h*2*math.pi*r1*(T1-T2) #W/m\n",
+ "inc=(q_by_l1-q_by_l2)*100/q_by_l2 #Increase of heat transfer\n",
+ "k=0.04 #Fibre glass insulaiton W/(sq m.K)\n",
+ "rc=k/h #Critical radius of insulaiton\n",
+ "\n",
+ "#Result\n",
+ "print\"When covered with insulation:\\nHeat loss=\",round(q_by_l1,1),\"W\"\n",
+ "print\"When without insulation,\\nHeat loss=\",round(q_by_l2,1),\"W\"\n",
+ "print\"\\nPercent increase =\",round(inc,2),\"percent\" \n",
+ "print\"In this case the value of rc=\",round(rc,4),\"m is less than the outside radius of pipe (\",r1,\"m)\"\n",
+ "print\"So additon of any fibre glass would cause a decrease in the heat transfer\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.36,Page no:2.61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss per meter of pipe is 621.0 W/m(approx)\n",
+ "Outer surface temperature is: 391.8 K( 118.8 degree C)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Calculate the heat loss per metre of pipe and outer surface temperature\n",
+ "\n",
+ "#Variable declaration\n",
+ "import math\n",
+ "k=1.0 #Thermal conductivity in [W/sq m.K]\n",
+ "h=8.0 #Het transfer coeff in W/sq m.K\n",
+ "rc=k/h #Critical radius in m\n",
+ "T1=473.0 #K\n",
+ "T2=293.0 #K\n",
+ "r1=0.055 #Outer radius =inner radius in [m]\n",
+ "\n",
+ "#Calculation\n",
+ "Q_by_L=2*math.pi*(T1-T2)/(math.log(rc/r1)/k+1.0/(rc*h))\n",
+ "#For outer surface\n",
+ "#Q_by_L=2*math.pi*(T-T2)/(1/rc*h)\n",
+ "# implies that, T=T2+Q_by_L/(rc*2*math.pi)\n",
+ "T=T2+Q_by_L/(rc*2*math.pi*h) #K\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss per meter of pipe is\",round(Q_by_L),\"W/m(approx)\"\n",
+ "print\"Outer surface temperature is: \",round(T,1),\"K(\",round(T-273,1),\"degree C)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.37,Page no:2.78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time required for a ball to attain a temperature of 423 K is 5818.0 s= 1.62 h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Calculate the time required for a ball to attain a temperature of 423 K\n",
+ "\n",
+ "#Variable declaration\n",
+ "k_steel=35.0 #W/m.K\n",
+ "Cp_steel=0.46 #kJ/(kg*K)\n",
+ "Cp_steel=Cp_steel*1000 #J/(kg*K)\n",
+ "h=10 #W/sq m.K\n",
+ "rho_steel=7800.0 #kg/cubic m\n",
+ "dia=50.0 #mm\n",
+ "dia=dia/1000 #m\n",
+ "R=dia/2 #radius in m\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "A=4*math.pi*R**2 #Area in sq m\n",
+ "V=A*R/3 #Volume in cubic meter\n",
+ "Nbi=h*(V/A)/k_steel\n",
+ "#As Nbi<0.10,internal temp gradient is negligible\n",
+ "T=423.0 #K\n",
+ "T0=723.0 #K\n",
+ "T_inf=373.0 #K\n",
+ "#(T-T_inf)/(T0-T_inf)=e**(-h*At/rho*Cp*V)\n",
+ "t=-rho_steel*Cp_steel*R*math.log((T-T_inf)/(T0-T_inf))/(3*h) #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Time required for a ball to attain a temperature of 423 K is\",round(t),\"s=\",round(t/3600,2),\"h\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.38,Page no:2.78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken by centre of ball to reach a temperature of 423 K is 436.25 s (= 7.27 minutes\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Time take in Steel ball quenched\n",
+ "\n",
+ "#Variable declaration\n",
+ "dia=50.0 #mm\n",
+ "dia=dia/1000 #m\n",
+ "r=dia/2 #radius in m\n",
+ "h=115.0 #W/sq m.K\n",
+ "rho=8000.0 #kg/cubic m\n",
+ "Cp=0.42 #kJ/kg.K\n",
+ "Cp=Cp*1000 #J/(kg*K)\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "A=4*math.pi*r**2 #Area in sq m\n",
+ "V=A*r/3 #Volume in cubic m\n",
+ "T=423.0 #K\n",
+ "T_inf=363.0 #K\n",
+ "T0=723 #K\n",
+ "#(T-T_inf)/(T0-T_inf)=e**(-3ht/(rho*Cp*r))\n",
+ "t=-rho*Cp*r*math.log((T-T_inf)/(T0-T_inf))/(3*h) #Time in seconds\n",
+ "\n",
+ "#Result\n",
+ "print\"Time taken by centre of ball to reach a temperature of 423 K is\",round(t,2),\"s (=\",round(t/60,2),\"minutes\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.39,Page no:2.79"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature of ball after 1 h= 475.0 K ( 202.0 degree C)(APPROXIMATE)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#HT in a Ball plunged in a medium\n",
+ "\n",
+ "#Variable declaration\n",
+ "h=11.36 #W/sq m.K\n",
+ "k=43.3 #w/(m.K)\n",
+ "r=25.4 #radius in mm\n",
+ "r=r/1000 # radius in m\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "A=4*math.pi*r**2 #Area of sphere [sq m]\n",
+ "V=A*r/3 #Volume in [cubic m]\n",
+ "rho=7849.0 #kg/cubic m\n",
+ "Cp=0.4606*10**3 #J/kg.K\n",
+ "t=1.0 #hour\n",
+ "t=t*3600 #seconds\n",
+ "T_inf=394.3 #[K]\n",
+ "T0=700.0 #[K]\n",
+ "# (T-T_inf)/(T0-T_inf)=e**(-3*h*t/rho*Cp*V)\n",
+ "T=T_inf+(T0-T_inf)*(math.exp((-h*A*t)/(rho*Cp*V))) \n",
+ "\n",
+ "#Result\n",
+ "print\"Temperature of ball after 1 h=\",round(T),\"K (\",round(T-273),\"degree C)(APPROXIMATE)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.40,Page no:2.80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time at which slab temperature becomes 363 K is 123.4 s\n",
+ "CALCULATION MISTAKE IN BOOK IN LAST LINE\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Slab temperature suddenly lowered\n",
+ "\n",
+ "#Variable declaration\n",
+ "import math\n",
+ "rho=9000.0 #kg/cubic m\n",
+ "Cp=0.38 #kJ/(kg.K)\n",
+ "Cp=Cp*1000 #J/(kg.K)\n",
+ "k=370.0 #W/m.K\n",
+ "h=90.0 #W/sq m.K\n",
+ "l=400.0 #mm\n",
+ "l=l/1000 #length of copper slab\n",
+ "t=5.0/1000 #thickness in [m]\n",
+ "\n",
+ "#Calculation\n",
+ "A=2*l**2 #Area of slab\n",
+ "V=t*l**2 #Volume in [cubic m]\n",
+ "L_dash=V/A #[m]\n",
+ "#for slab of thickness 2x\n",
+ "#L_dash=x\n",
+ "L_dash=0.025 #[m]\n",
+ "Nbi=h*L_dash/k #< 0.10\n",
+ "var=h*A/(rho*Cp*V)\n",
+ "#As Nbi<0.10,we can apply lumped capacity analysis\n",
+ "T=363.0 #[K]\n",
+ "T_inf=303.0 #[K]\n",
+ "T0=523.0 #[K]\n",
+ "t=-(math.log((T-T_inf)/(T0-T_inf)))/var\n",
+ "\n",
+ "#Result\n",
+ "print\"Time at which slab temperature becomes 363 K is\",round(t,1),\"s\"\n",
+ "print\"CALCULATION MISTAKE IN BOOK IN LAST LINE\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.41,Page no:2.80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer coefficient is: 77.3 W/(m^2.K)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Flow over a flat plate\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "rho=9000.0 #kg/cubic meter\n",
+ "Cp=0.38 #kJ/(kg.K)\n",
+ "Cp=Cp*1000 #J/kg.K\n",
+ "k=370.0 #W/(m.K)\n",
+ "T0=483.0 #K\n",
+ "T_inf=373.0 #K\n",
+ "delta_T=40.0 #K\n",
+ "\n",
+ "#Calculation\n",
+ "T=T0-delta_T #K\n",
+ "t=5.0 #time in [minutes]\n",
+ "t=t*60 #[seconds]\n",
+ "#A=2A.....Two faces\n",
+ "#V=A.2x\n",
+ "#2x=thickness of slab=30 mm=0.03 m\n",
+ "x=0.015 #[m]\n",
+ "th=2*x #thickness of slab\n",
+ "h=-rho*Cp*x*math.log((T-T_inf)/(T0-T_inf))/t\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transfer coefficient is:\",round(h,1),\"W/(m^2.K)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.42,Page no:2.81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time required to reach temperature 473.0 K is 82.2 s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#TIme required in Stainless steel rod immersed in water\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=7800.0 #[kg per cubic m]\n",
+ "h=100.0 #W/(sq m.K) Convective heat transfer coeff\n",
+ "Cp=460.0 #J/(kg.K)\n",
+ "k=40.0 #W/(m.K)\n",
+ "L=1.0 #[m] length ofrod\n",
+ "D=10.0 #mm \n",
+ "D=D/1000 #diameter in[m]\n",
+ "R=D/2 #raidus in [m]\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "#For cylindrical rod:\n",
+ "A=2*math.pi*R*L #Area in [sq m]\n",
+ "V=math.pi*R**2*L #Volume in [cubic m]\n",
+ "L_dash=V/A #[m]\n",
+ "Nbi=h*L_dash/k #Biot number\n",
+ "#N_bi<0.10,Hence lumped heat capavity is possible\n",
+ "T=473.0 #[K] \n",
+ "T_inf=393.0 #[K]\n",
+ "T0=593.0 #[K]\n",
+ "t=-rho*Cp*V*math.log((T-T_inf)/(T0-T_inf))/(h*A)\n",
+ "\n",
+ "#Result\n",
+ "print\"Time required to reach temperature\",T,\"K is\",round(t,1),\"s\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.43,Page no:2.82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 84,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time constant of the thermocouple is 1.069 s\n",
+ "At the end of the time period t=tao= 1.069 s\n",
+ "Temperature difference b/n the thermocouple and the gas stream would be 0.368 of the initial temperature difference\n",
+ "It should be reordered after 4.0 s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Time constant of Chromel alumel thermocouple \n",
+ "\n",
+ "#Variable declaration\n",
+ "import math\n",
+ "rho=8600.0 #[kg/cubic m]\n",
+ "Cp=0.42 #kJ/(kg.K)\n",
+ "Cp=Cp*1000 #J/(kg.K)\n",
+ "dia=0.71 #[mm]\n",
+ "dia=dia/1000 #[dia in m]\n",
+ "R=dia/2 #radius [m]\n",
+ "h=600.0 #convective coeff W/(sq m.K)\n",
+ "\n",
+ "#Calculation\n",
+ "#Let length =L=1\n",
+ "L=1.0 #[m]\n",
+ "A=2*math.pi*R*L \n",
+ "V=math.pi*(R**2)*L \n",
+ "tao=(rho*Cp*V)/(h*A) \n",
+ "#at1\n",
+ "t=tao\n",
+ "#From (T-T_inf)/(T0-T_inf)=e**(-t/tao)\n",
+ "ratio=math.exp(-t/tao) #Ratio of thermocouple difference to initial temperature difference\n",
+ "print\"Time constant of the thermocouple is\",round(tao,3),\"s\" \n",
+ "print\"At the end of the time period t=tao=\",round(tao,3),\"s\"\n",
+ "print\"Temperature difference b/n the thermocouple and the gas stream would be\",round(ratio,3),\"of the initial temperature difference\"\n",
+ "print\"It should be reordered after\",round(4*tao),\"s\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.44,Page no:2.83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time constant of thermocouple is 37.33 s\n",
+ "Temperature attained by junction 20 s after removing from the hot air stream is: 368.0 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Thermocouple junction\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=8000.0 #kg/cubic m\n",
+ "Cp=420.0 #J/(kg.K)\n",
+ "h_hot=60.0 # for hot stream W/(sq m.K) \n",
+ "dia=4.0 #[mm]\n",
+ "t=10.0 \n",
+ "\n",
+ "#Calculation\n",
+ "r=dia/(2.0*1000) #radius in [m]\n",
+ "#For sphere\n",
+ "V=(4.0/3.0)*math.pi*r**3 #Volume in [cubic m]\n",
+ "A=4*math.pi*r**2 #Volume in [sq m]\n",
+ "tao=rho*Cp*V/(h_hot*A) # Time constant in [s]\n",
+ "ratio=math.exp(-t/tao) # %e**(-t/tao)=(T-T-inf)/(T0-T_inf)\n",
+ "T_inf=573.0 #[K]\n",
+ "T0=313.0 #[K]\n",
+ "T=T_inf+ratio*(T0-T_inf)\n",
+ "#IN STILL AIR:\n",
+ "h_air=10.0 #W/(sq m .K)\n",
+ "tao_air=rho*Cp*V/(h_air*A) #[s]\n",
+ "t_air=20.0 #[s]\n",
+ "ratio_air=math.exp(-t_air/tao_air)\n",
+ "T_inf_air=303.0 #[K]\n",
+ "T0_air=T \n",
+ "T_air=T_inf_air+ratio_air*(T0_air-T_inf_air)\n",
+ "\n",
+ "#Result\n",
+ "#ANS-[i]\n",
+ "print\"Time constant of thermocouple is\",round(tao,2),\"s\"\n",
+ "#ANS-[ii]\n",
+ "print\"Temperature attained by junction 20 s after removing from the hot air stream is:\",round(T_air),\"K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.45,Page no:2.84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken to heat the reactants over the same temperature range is 7625.0 s\n",
+ "In CASE 1\n",
+ "Time taken to heat the reactants = 7625.0 s .ie 2.12 h\n",
+ "In CASE 2 \n",
+ "Time taken to heat the reactants = 8905.0 s\n",
+ "Maximum temperature at which temperature can be raised is 377.6 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Batch reactor time taken \n",
+ "from scipy.optimize import fsolve\n",
+ "from scipy import integrate\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "T_inf=390.0 #[K]\n",
+ "U=600.0 #[W/sq m.K]\n",
+ "Ac=1.0 #[sq m]\n",
+ "Av=10.0 #Vessel area in [sq m]\n",
+ "m=1000.0 #[kg]\n",
+ "Cp=3.8*10**3 #[J/kg.K]\n",
+ "To=290.0 #[K]\n",
+ "T=360.0 #[K]\n",
+ "h=8.5 #[W/sq m.K]\n",
+ "\n",
+ "#Calculation\n",
+ "#Heat gained from the steam=Rate of increase of internal energy\n",
+ "#U*A*(T_inf-T)=m*Cp*dT\n",
+ "def f(t):\n",
+ " x=math.log((T_inf-To)/(T_inf-T))-U*Ac*t/(m*Cp) \n",
+ " return(x)\n",
+ "t=fsolve(f,1) #[in s]\n",
+ "t=round(t) #[in s]\n",
+ "Ts=290 \n",
+ "print\"Time taken to heat the reactants over the same temperature range is\",t,\"s\"\n",
+ "def g(T):\n",
+ " t1=m*Cp/(U*Ac*(T_inf-T)-h*Av*(T-Ts))\n",
+ " return(t1)\n",
+ "t1= integrate.quad(g,To,T)\n",
+ "def fx(Tmax):\n",
+ " m=U*Ac*(T_inf-Tmax)-h*Av*(Tmax-Ts)\n",
+ " return(m)\n",
+ "T_max=fsolve(fx,1)\n",
+ "\n",
+ "#Result\n",
+ "print\"In CASE 1\\nTime taken to heat the reactants =\",t,\"s .ie\",round(t/3600,2),\"h\" \n",
+ "print\"In CASE 2 \\nTime taken to heat the reactants =\",round(t1[0]),\"s\"\n",
+ "print\"Maximum temperature at which temperature can be raised is\",round(T_max,1),\"K\" \n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.46,Page no:2.95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat dissipated by the rod is 6.844 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat dissipation by aluminium rod \n",
+ "import math \n",
+ "\n",
+ "#Variable declaration\n",
+ "dia=3.0 #[mm]\n",
+ "dia=dia/1000 #[m]\n",
+ "r=dia/2 #radius in[m]\n",
+ "k=150 #W/(m.K)\n",
+ "h=300 #W/(sq m.K)\n",
+ "T0=413 #[K]\n",
+ "T_inf=288 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "A=math.pi*(r**2) #Area in [sq m]\n",
+ "P=math.pi*dia #[W/sq m.K]\n",
+ "Q=(T0-T_inf)*math.sqrt(h*P*k*A) #Heat dissipated in [W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat dissipated by the rod is\",round(Q,3),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.47,Page no:2.96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss by the insulated rod is 26.6 W\n",
+ "Fin efficiency is 96.2 percent\n",
+ "Temperature at the end of the fin is 509.6 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Aluminium fin efficiency\n",
+ "#Variable declaration\n",
+ "k=200.0 #W/(m.K)\n",
+ "h=15.0 #W/(sq m.K)\n",
+ "T0=523.0 #[K]\n",
+ "T_inf=288.0 #[K]\n",
+ "theta_0=T0-T_inf \n",
+ "dia=25.0 #diameter[mm]\n",
+ "dia=dia/1000 #diameter[m]\n",
+ "r=dia/2 #radius in [m]\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "P=math.pi*dia #[m]\n",
+ "A=math.pi*r**2 #[sq m]\n",
+ "#For insulated fin:\n",
+ "m=math.sqrt(h*P/(k*A))\n",
+ "L=100.0 #length of rod in [mm]\n",
+ "L=L/1000 #length of rod in [m]\n",
+ "Q=theta_0*math.tanh(m*L)*math.sqrt(h*P*k*A) #Heat loss \n",
+ "nf=math.tanh(m*L)/(m*L) #Fin efficiency for insulated fin\n",
+ "#At the end of the fin: theta/theta_0=(cosh[m(L-x)]/cosh(mL))\n",
+ "#at x=L, theta/theta_0=1/(cosh(mL)\n",
+ "T=T_inf+(T0-T_inf)*(1/math.cosh(m*L)) #[K]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "#ANSWER-1\n",
+ "print\"Heat loss by the insulated rod is\",round(Q,1),\"W\"\n",
+ "#ANSWER-2\n",
+ "print\"Fin efficiency is\",round(nf*100,1),\"percent\"\n",
+ "#ANSWER-3\n",
+ "print\"Temperature at the end of the fin is\",round(T,1),\"K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.49,Page no:2.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 101,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "As,Q for 10 fins of 60 mm length( 117.66 W) is more than Q for 6 fins of 100 mm length ( 113.75 W)\n",
+ "The agreement-->10 fins of 60 mm length is more effective\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Finding effective Pin fins\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "k=300.0 #W/(m.K)\n",
+ "h=20.0 #W.(sq m.K)\n",
+ "P=0.05 #[m]\n",
+ "A=2.0 #[sq cm]\n",
+ "A=A/10000 #[sq m]\n",
+ "T0=503.0 #[K]\n",
+ "T_inf=303.0 #[K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "theta_0=T0-T_inf #[K]\n",
+ "import math\n",
+ "m=math.sqrt(h*P/(k*A))\n",
+ "\n",
+ "#CASE 1: 6 Fins of 100 mm length\n",
+ "L1=0.1 #Length of fin in [m]\n",
+ "Q=math.sqrt(h*P*k*A)*theta_0*math.tanh(m*L1) #[W]\n",
+ "#For 6 fins\n",
+ "Q=Q*6 #for 6 fins [W]\n",
+ "\n",
+ "#CASE 2: 10 fins of 60 mm length\n",
+ "L2=60.0 #[mm]\n",
+ "L2=L2/1000 #[m]\n",
+ "Q2=math.sqrt(h*P*k*A)*theta_0*math.tanh(m*L2) #[W]\n",
+ "Q2=Q2*10 #For 10 fins\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"As,Q for 10 fins of 60 mm length(\",round(Q2,2),\"W) is more than Q for 6 fins of 100 mm length (\",round(Q,2),\"W)\"\n",
+ "print\"The agreement-->10 fins of 60 mm length is more effective\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.50,Page no:2.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 103,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "In oil side,Q= 9.75 W\n",
+ "In air side,Q= 35.56 W\n",
+ "From above results we see that more heat transfer takes place if fins are provided on the air side\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Metallic wall surrounded by oil and water \n",
+ "#Variable declaration\n",
+ "h_oil=180.0 #W/(sq m.K)\n",
+ "h_air=15.0 #W/(sq m.K)\n",
+ "T_oil=353.0 #[K]\n",
+ "T_air=293.0 #[K]\n",
+ "delta_T=T_oil-T_air #[K]\n",
+ "k=80.0 #Conductivity in [W/(m.K)]\n",
+ "for_section=11.0*10**-3 #[m]\n",
+ "L=25.0 #[mm]\n",
+ "L=L/1000 #[m]\n",
+ "W=1.0 #[m] Width,..let\n",
+ "t=1.0 #[mm] \n",
+ "t=t/1000 #[m]\n",
+ "A=W*t #[m]\n",
+ "P=2*t\n",
+ "Af=2*L*W #sq m\n",
+ "N=1.0\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "import math\n",
+ "Ab=for_section-A #[sq m]\n",
+ "#CASE 1: Fin on oil side only\n",
+ "m=math.sqrt(h_oil*P/(k*A)) \n",
+ "nf_oil=math.tanh(m*L)/(m*L)\n",
+ "Ae_oil=Ab+nf_oil*Af*N #[sq m]\n",
+ "Q1=delta_T/(1/(h_oil*Ae_oil)+1/(h_air*for_section)) #[W]\n",
+ "#CASE 2: Fin on air side only\n",
+ "m=math.sqrt(h_air*P/(k*A))\n",
+ "nf_air=math.tanh(m*L)/(m*L)\n",
+ "nf_air=0.928 #Approximation\n",
+ "Ae_air=Ab+nf_air*Af*N #[sq m]\n",
+ "Q=delta_T/(1.0/(h_oil*for_section)+1.0/(h_air*Ae_air)) #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"In oil side,Q=\",round(Q1,2),\"W\"\n",
+ "print\"In air side,Q=\",round(Q,2),\"W\"\n",
+ "print\"From above results we see that more heat transfer takes place if fins are provided on the air side\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:2.51,Page no:2.100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Without fins,Q= 204.55 W\n",
+ "With fins on water side,Q= 219.24 W\n",
+ "With Fins on Air side,Q= 800.3 W\n",
+ "With Fins on both side,Q= 1084.7 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Brass wall having fins\n",
+ "\n",
+ "#Variable declaration\n",
+ "k=75.0 #Thermal conductivity [W/(m.K)]\n",
+ "T_water=363.0 #[K]\n",
+ "T_air=303.0 #[K] \n",
+ "dT=T_water-T_air #delta T\n",
+ "h1=150.0 # for water[W/(sq m.K)]\n",
+ "h2=15.0 #for air [W/(sq m.K)]\n",
+ "W=0.5 #Width of wall[m]\n",
+ "L=0.025 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Area=W**2 #Base Area [sq m]\n",
+ "t=1.0 #[mm]\n",
+ "t=t/1000 #[m]\n",
+ "pitch=10.0 #[mm]\n",
+ "pitch=pitch/1000 #[m]\n",
+ "N=W/pitch #[No of fins]\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "A=N*W*t #Total cross-sectional area of fins in [sq m]\n",
+ "Ab=Area-A #[sq m]\n",
+ "Af=2*W*L #Surface area of fins [sq m]\n",
+ "from math import tanh\n",
+ "#CASE 1: HEAT TRANSFER WITHOUT FINS\n",
+ "A1=Area #[sq m]\n",
+ "A2=A1 #[sq m]\n",
+ "Q=dT/(1.0/(h1*A1)+1.0/(h2*A2)) #[W]\n",
+ "print\"Without fins,Q=\",round(Q,2),\"W\"\n",
+ "#CASE 2: Fins on the water side\n",
+ "P=2*(t+W) \n",
+ "A=0.5*10**-3 \n",
+ "m=math.sqrt(h1*P/(k*A))\n",
+ "nfw=math.tanh(m*L)/(m*L) #Effeciency on water side\n",
+ "Aew=Ab+nfw*Af*N #Effective area on the water side [sq m]\n",
+ "Q=dT/(1.0/(h1*Aew)+1.0/(h2*A2)) #[W]\n",
+ "print\"With fins on water side,Q=\",round(Q,2),\"W\"\n",
+ "#CASE 3: FINS ON THE AIR SIDE\n",
+ "m=math.sqrt(h2*P/(k*A))\n",
+ "nf_air=tanh(m*L)/(m*L) #Effeciency\n",
+ "Aea=Ab+nf_air*Af*N #Effective area on air side\n",
+ "Q=dT/(1.0/(h1*A1)+1.0/(h2*Aea)) #[W]\n",
+ "print\"With Fins on Air side,Q=\",round(Q,1),\"W\"\n",
+ "#BOTH SIDE:\n",
+ "Q=dT/(1.0/(h1*Aew)+1.0/(h2*Aea)) #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"With Fins on both side,Q=\",round(Q,1),\"W\" \n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Heat_Transfer_by_K._A._Gavhane/Chapter_3.ipynb b/Heat_Transfer_by_K._A._Gavhane/Chapter_3.ipynb
new file mode 100644
index 00000000..b011e98e
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/Chapter_3.ipynb
@@ -0,0 +1,2981 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter3: Convection"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.1,Page no:3.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Boundary layer thickness is del= 0.000734 m or 0.734 mm\n",
+ "Wrong units in answer of book,m and mm are wrongly interchanged\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Boundary layer thickness\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=10**-3 #N.s/m**2\n",
+ "#At distance y from surface\n",
+ "#ux=a+by+cy**2+dy**3\n",
+ "#At y=0,ux=0 therefore a=0\n",
+ "#i.e tao=0\n",
+ "#At edge of boundary layer,ie y=del\n",
+ "#ux=u_inf\n",
+ "#At y=o,c=0\n",
+ "#At y=del,ux=b*del+d*del**3\n",
+ "\n",
+ "#Therefore, b=-3*d*del**3\n",
+ "#d=-u_inf/(2*del**2)\n",
+ "#b=3*u_inf/(2*del)\n",
+ "\n",
+ "#For velocity profile,we have:\n",
+ "#del/x=4.64*(Nre_x)**(-1/2)\n",
+ "\n",
+ "#Evaluate N re_x\n",
+ "\n",
+ "x=75.0 #[mm]\n",
+ "x=x/1000 #[m]\n",
+ "u_inf=3.0 #[m/s]\n",
+ "rho=1000.0 #[kg/m**3] for air\n",
+ "\n",
+ "#Calculation\n",
+ "Nre_x=u_inf*rho*x/mu #Reynold number\n",
+ "#Substituting the value,we get\n",
+ "dell=x*4.64*(Nre_x**(-1.0/2.0)) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Boundary layer thickness is del=\",round(dell,6),\"m or \",round(dell*1000,3),\"mm\"\n",
+ "print\"Wrong units in answer of book,m and mm are wrongly interchanged\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.2,Page no:3.45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 144,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Boundary layer thickness at the trailing edge is 18.0 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Boundary layer thickness of plate\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=15*10**-6 #sq m /s\n",
+ "v=2 #m/s\n",
+ "L=2 #[m] length of plate\n",
+ "Nre_x=3*10**5\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "xc=Nre_x*mu/v #critical length at whihc the transition takes place\n",
+ "#Since xc is less than 2 m.Therefore the flow is laminar\n",
+ "#at any distance x,.it is calculated from\n",
+ "#del/x=4.64/(math.sqrt(NRe,x))\n",
+ "#At x=L=2 m\n",
+ "Nre_l=v*L/mu\n",
+ "del_l=4.64*L/math.sqrt(Nre_l)\n",
+ "del_l=del_l*1000 #[mm]\n",
+ "\n",
+ "#Result\n",
+ "print\"Boundary layer thickness at the trailing edge is\",round(del_l),\"mm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.3,Page no:3.45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since Nre,x( 80000.0 )is Less than 3*10**5,..the boundary layer is laminar\n",
+ "Thickness of boundary layer at x= 0.4 m 6.56 mm\n",
+ "Local skin friction coefficient is : 0.0023\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Thickness of hydrodynamic boundary layer\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=15*10**-6 #Kinematic viscosity in [sq m /s]\n",
+ "x=0.4 #[m]\n",
+ "u_inf=3 #[m/s]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#At x=0.4 m,\n",
+ "Nre_x=u_inf*x/mu \n",
+ "import math\n",
+ "dell=4.64*x/math.sqrt(Nre_x) #[m]\n",
+ "dell=dell*1000 #[mm]\n",
+ "Cf_x=0.664/math.sqrt(Nre_x) \n",
+ "\n",
+ "#Result\n",
+ "print\"Since Nre,x(\",Nre_x,\")is Less than 3*10**5,..the boundary layer is laminar\"\n",
+ "print\"Thickness of boundary layer at x=\",x,\"m\",round(dell,2),\"mm\" \n",
+ "print\"Local skin friction coefficient is :\",round(Cf_x,4)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.4,Page no:3.46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Boundary layer thickness at distance 20 cm from leading edge is 0.0058 m= 5.8 mm\n",
+ "Boundary layer thickness at distance 40 cm from leading edge is 0.0082 m= 8.2 mm\n",
+ "Thus,Mass flow rate entering the boundary layer is 0.003547 kg/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Flat plate boundary layer\n",
+ "\n",
+ "import math\n",
+ "from scipy import integrate\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=1.85*10**-5 #[kg/(m.s)]\n",
+ "P=101.325 #Pressure in [kPa]\n",
+ "M_avg=29.0 #Avg molecular wt of air\n",
+ "R=8.31451 #Gas constant\n",
+ "T=300.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "rho=P*M_avg/(R*T) #[kg/m**3]\n",
+ "u_inf=2.0 #Viscosity in [m/s]\n",
+ "#At x=20 cm =0.2 m\n",
+ "x=0.2 #[m]\n",
+ "Nre_x=rho*u_inf*x/mu #[Reynolds number]\n",
+ "del_by_x=4.64/math.sqrt(Nre_x) #[Boundary layer]\n",
+ "dell=del_by_x*x #[m]\n",
+ "#del=del*1000 #[mm]\n",
+ "\n",
+ "#At\n",
+ "x=0.4 #[m]\n",
+ "Nre_x=(rho*u_inf*x)/mu #<3*10**5\n",
+ "#Boundary layer is laminar\n",
+ "del_by_x=4.64/math.sqrt(Nre_x) \n",
+ "del1=del_by_x*x #[m]\n",
+ "#del1=del1*1000 #[mm]\n",
+ "d=del1-dell #Del \n",
+ "def f(y):\n",
+ " m_dot=u_inf*(1.5*(y/d)-0.5*(y/d)**3)*rho\n",
+ " return(m_dot)\n",
+ "m_dot=integrate.quad(f,0,d)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Boundary layer thickness at distance 20 cm from leading edge is\",round(dell,4),\"m=\",round(dell*1000,1),\"mm\"\n",
+ "print\"Boundary layer thickness at distance 40 cm from leading edge is\",round(del1,4),\"m=\",round(del1*1000,1),\"mm\"\n",
+ "print\"Thus,Mass flow rate entering the boundary layer is\",round(m_dot[0],6),\"kg/s\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.5,Page no:3.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat removal is 157.9 W\n",
+ "315.8 W heat should be removed continously from the plate\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Rate of heat removed from plate\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=3.9*10**-4 #Kinematic viscosity in sq m/s\n",
+ "k=36.4*10**-3 #Thermal conductivity in W/(m.K)\n",
+ "Npr=0.69\n",
+ "u_inf=8 #[m/s]\n",
+ "L=1 #Lenght of plate in [m]\n",
+ "import math\n",
+ "\n",
+ "#Calculation\n",
+ "Nre_l=u_inf*L/mu \n",
+ "#Since Nre_l is less than 3*10**5 ,the flow is laminar over the entire length of plate\n",
+ "Nnu=0.664*math.sqrt(Nre_l)*Npr**(1.0/3.0) #=hL/k\n",
+ "h=k*Nnu/L #w/sq m.K\n",
+ "h=3.06 #Approximation [W/sq m.K]\n",
+ "T_inf=523 #[K]\n",
+ "Tw=351 #[K]\n",
+ "W=0.3 #Width of plate [m]\n",
+ "A=W*L #Area in [sq m]\n",
+ "Q=h*A*(T_inf-Tw) # Rate of heat removal from one side in [W]\n",
+ "#from two side:\n",
+ "Q2=2*Q #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat removal is\",round(Q,1),\"W\"\n",
+ "print round(Q2,1),\" W heat should be removed continously from the plate\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.6,Page no:3.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 158,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat removed from both sides of plate is 382.5 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat removed from plate\n",
+ "\n",
+ "#Variable declaration\n",
+ "P1=101.325 #Pressure in [kPa]\n",
+ "mu1=30.8*10**-6 #Kinematic viscosity in[sq m /s]\n",
+ "k=36.4*10**-3 #[W/(m.K)]\n",
+ "Npr=0.69\n",
+ "u_inf=8 #Velocity in [m/s]\n",
+ "Cp=1.08 #kJ/(kg.K)\n",
+ "L=1.5 #Length of plate in [m]\n",
+ "W=0.3 #Width in [m]\n",
+ "A=L*W #Area in [sq m]\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "#At constant temperature: mu1/mu2=P2/P1\n",
+ "P2=8 #[kPa]\n",
+ "mu2=mu1*P1/P2 #Kinematic viscosity at P2 in [sq m/s]\n",
+ "Nre_l=u_inf*L/mu2 #Reynold's no.\n",
+ "#Since this is less than 3*10**5\n",
+ "Nnu=0.664*math.sqrt(Nre_l)*(Npr**(1.0/3.0))\n",
+ "h=Nnu*k/L # Heat transfer coeffficient in [W/sq m.K]\n",
+ "h=round(h,1)\n",
+ "\n",
+ "T_inf=523 #[K]\n",
+ "Tw=353 #[K]\n",
+ "Q=2*h*A*(T_inf-Tw) #Heat removed from both sides in [W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat removed from both sides of plate is\",Q,\"W\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.7,Page no:3.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 160,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The heat transferred from both sides of the plate is 1450.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Local heat transfer coefficient\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=0.998 #kg/cubic m\n",
+ "v=20.76*10**-6 #[sq m/s]\n",
+ "Cp=1.009 #[kJ/kg.K]\n",
+ "k=0.03 #[W/m.K]\n",
+ "u_inf=3 #[m/s]\n",
+ "x=0.4 #[m]\n",
+ "w=1.5 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre_x=u_inf*x/v #Reynolds no at x=0.4 m\n",
+ "#Since this is less than 3*10**5.The flow is laminar upto x=0.4 m\n",
+ "mu=rho*v #[kg/(m.s)]\n",
+ "import math\n",
+ "Cp=1.009 #[kJ/kg.K]\n",
+ "Cp=Cp*1000 #[J/kg.K]\n",
+ "k=0.03 #W/(m.K)\n",
+ "Npr=Cp*mu/k\n",
+ "Nnu_x=0.332*(math.sqrt(Nre_x))*(Npr**(1.0/3.0))\n",
+ "hx=Nnu_x*k/x #[W/(m.K)]\n",
+ "#Average value is twice this value\n",
+ "h=round(2*hx,1) #[W/(m.K)]\n",
+ "A=x*w #Area in [sq m]\n",
+ "Tw=407 #[k]\n",
+ "T_inf=293 #[K]\n",
+ "Q=h*A*(Tw-T_inf) #[W]\n",
+ "#From both sides of the plate:\n",
+ "Q=2*Q #[W]\n",
+ "#Result\n",
+ "print\"The heat transferred from both sides of the plate is\",round(Q),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.8,Page no:3.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 161,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Width of plate is 3.0 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Width of plate\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=0.998 #[kg/cubic m]\n",
+ "v=20.76*10**-6 #[sq m/s]\n",
+ "k=0.03 #[W/m.K]\n",
+ "Npr=0.697\n",
+ "x=0.4 #[m] from leading edge of the plate\n",
+ "u_inf=3 #[m/s]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre_x=u_inf*x/v #Reynold numebr at x=0.40 m\n",
+ "#Since this is less than 3*10**5 \n",
+ "#therefore flow is laminar and \n",
+ "Nnu_x=0.332*math.sqrt(Nre_x)*(Npr**(1.0/3.0)) \n",
+ "hx=Nnu_x*k/x #[W/sq m.K]\n",
+ "#Average heat tarnsfer coefficient is twice this value\n",
+ "h=2*hx #[W/sq m.K]\n",
+ "#Given:\n",
+ "Q=1450 #[W]\n",
+ "Tw=407 #[K]\n",
+ "T_inf=293 #[K]\n",
+ "L=0.4 #[m]\n",
+ "#Q=h*w*L*(Tw-T_inf)\n",
+ "#L=Q/(h*w*(Tw-T_inf))\n",
+ "w=Q/(h*L*(Tw-T_inf)) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Width of plate is\",round(w),\"m\"\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.9,Page no:3.51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 163,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat flow is : 81.18 W\n",
+ "Heat flow from both sides of plate is 162.36 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transferred in flat plate\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=17.36*10**-6 #Viscosity for air [sq m./s]\n",
+ "k=0.0275 #for air ..[W/(m.K)]\n",
+ "Cp=1.006 #[kJ/(kg.K)]\n",
+ "Npr=0.7 #for air\n",
+ "u_inf=2 #[m/s]\n",
+ "x=0.2 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre_x=u_inf*x/v #Reynolds number at x=0.2 m\n",
+ "#Since this is less than 3*10**5\n",
+ "import math\n",
+ "Nnu_x=0.332*math.sqrt(Nre_x)*(Npr**(1.0/3.0))\n",
+ "hx=Nnu_x*k/x #[W/(sq m.K]\n",
+ "#Average value of heat transfer coeff is twice this value\n",
+ "h=round(2*hx,1) #[W/sq m.K)]\n",
+ "w=1 #width in [m]\n",
+ "A=x*w #[sq m] Area of plate\n",
+ "Tw=333 #[K]\n",
+ "T_inf=300 #[K]\n",
+ "Q=h*A*(Tw-T_inf) #Heat flow in [W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat flow is :\",Q,\"W\"\n",
+ "#From both sides of plate:\n",
+ "Q=2*Q #[W]\n",
+ "print\"Heat flow from both sides of plate is\",Q,\"W\"\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.10,Page no:3.51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 165,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat transfer from both sides of plate is 109.4 W\n",
+ "\n",
+ "With turbulent boundary layer,\n",
+ "Rate of heat transfer from both sides of the plate= 226.4\n",
+ "\n",
+ "These calculations show that the that transfer rate is approximately doubled if boundary layer is turbulent from the leading edge \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Rate of heat transferred in turbulent flow\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=16.96*10**-6 #[sq m./s]\n",
+ "rho=1.128 #[kg/cubic m]\n",
+ "Npr=0.699 #Prandtl number\n",
+ "k=0.0276 #[W/m.K]\n",
+ "u_inf=15 #[m/s]\n",
+ "L=0.2 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre_l=L*u_inf/v #Reynold's number\n",
+ "import math\n",
+ "\n",
+ "#Since this is less than 3*10**5,the boundary layer is laminar over entire length\n",
+ "Nnu=0.664*math.sqrt(Nre_l)*(Npr**(1.0/3.0))\n",
+ "h=Nnu*k/L #[W/sq m.K]\n",
+ "A=L**2 #Area in [sq m]\n",
+ "Tw=293 #[K]\n",
+ "T_inf=333 #[K]\n",
+ "#Rate of heat transfer from BOTH sides is:\n",
+ "Q=2*h*A*(T_inf-Tw) #[W]\n",
+ "print\"Rate of heat transfer from both sides of plate is\",round(Q,1),\"W\\n\"\n",
+ "#ii-With turbulent boundary layer from the leading edge:\n",
+ "h=k*0.0366*(Nre_l**(0.8))*(Npr**(1.0/3.0))/L #[W/(sq m.K)]\n",
+ "#Heat transfer from both sides is :\n",
+ "Q=2*h*A*(T_inf-Tw) #[W]\n",
+ "print \"With turbulent boundary layer,\\nRate of heat transfer from both sides of the plate=\",round(Q,1)\n",
+ "print\"\\nThese calculations show that the that transfer rate is approximately doubled if boundary layer is turbulent from the leading edge \\n\"\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.11,Page no:3.52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 169,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer from the plate is 3179.2 W(approx)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer from plate in unit direction\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=1.906*10**-5 #[kg/(m.s)]\n",
+ "k=0.02723 #W/m.K\n",
+ "Cp=1.007 #[kJ/(kg.K)]\n",
+ "rho=1.129 #[kg/cubic m]\n",
+ "Npr=0.70\n",
+ "Mavg=29\n",
+ "u_inf=35 #[m/s]\n",
+ "L=0.75 #[m]\n",
+ "Tm=313 #[K]\n",
+ "P=101.325 #[kPa]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre_l=rho*u_inf*L/mu #Reynold's number >5*10**5\n",
+ "Nnu=0.0366*Nre_l**(0.8)*Npr**(1.0/3.0) \n",
+ "h=Nnu*k/L #[W/s m.K]\n",
+ "A=1*L #[sq m]\n",
+ "Tw=333 #[K]\n",
+ "T_inf=293 #[K]\n",
+ "Q=h*A*(Tw-T_inf) #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transfer from the plate is\",round(Q,1),\"W(approx)\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.12,Page no:3.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 170,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat lost by sphere is 2.21 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat lost by sphere\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=18.23*10**-6 #sq m/s\n",
+ "k=0.02814 #[W/m.K]\n",
+ "D=0.012 #[m]\n",
+ "r=0.006 #[m]\n",
+ "u_inf=4 #[m/s]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre=D*u_inf/v #Reynold's number\n",
+ "Nnu=0.37*Nre**(0.6) \n",
+ "h=Nnu*(k/D) \n",
+ "A=4*math.pi*r**2 #Area of sphere in [sq m]\n",
+ "Tw=350 #[K]\n",
+ "T_inf=300 #[K]\n",
+ "Q=h*A*(Tw-T_inf) #Heat lost by sphere in [W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat lost by sphere is\",round(Q,2),\"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.13,Page no:3.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 171,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Heat lost by the sphere is 1.554 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat lost by sphere\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=15.69*10**-6 #[sq m./s]\n",
+ "k=0.02624 #[W/m.K]\n",
+ "Npr=0.708 #Prandtl number\n",
+ "mu=2.075*10**-5 #kg/m.s\n",
+ "u_inf=4 #[m/s]\n",
+ "mu_inf=1.8462*10**-5 #[m/s] velocity\n",
+ "Tw=350 #[K]\n",
+ "T_inf=300 #[K]\n",
+ "D=0.012 #[m]\n",
+ "r=D/2 #Radius in [m]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre=u_inf*D/v #Reynold's numbe\n",
+ "Nnu=2+(0.4*Nre**(1.0/2.0)+0.06*Nre**(2.0/3.0))*Npr**(0.4)*(mu_inf/mu)**(1.0/4.0)\n",
+ "h=Nnu*k/D #[W/sq m.K]\n",
+ "import math\n",
+ "A=4*math.pi*r**2 #Area in [sq m]\n",
+ "Q=h*A*(Tw-T_inf) \n",
+ "\n",
+ "#Result\n",
+ "print\"\\n Heat lost by the sphere is\",round(Q,3),\"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.14,Page no:3.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer rate is 12.1 W,And percentage of power lost by convection is: 12.1 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Percent power lost in bulb\n",
+ "#Variable declaration\n",
+ "v=2.08*10**-5 #[sq m/s]\n",
+ "k=0.03 #W/(m.K)\n",
+ "Npr=0.697 #Prandtl number\n",
+ "D=0.06 #[m]\n",
+ "u_inf=0.3 #[m/s]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre=D*u_inf/v #Reynolds number\n",
+ "#Average nusselt number is given by:\n",
+ "Nnu=0.37*(Nre**0.6) \n",
+ "h=Nnu*k/D #W/sq m.K\n",
+ "Tw=400 #[K]\n",
+ "T_inf=300 #[K]\n",
+ "D=0.06 #[m]\n",
+ "r=0.03 #[m]\n",
+ "import math\n",
+ "A=4*math.pi*r**2 #Area in [sq m]\n",
+ "Q=h*A*(Tw-T_inf) #[W]\n",
+ "per=Q*100/100 #Percent of heat lost by forced convection\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transfer rate is\",round(Q,2),\"W,And percentage of power lost by convection is:\",round(per,2),\"%\" \n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.15,Page no:3.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 181,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat lost per unit length of cylinder is 3102.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#Heat lost by cylinder \n",
+ "u_inf=50 #velocity in [m/s]\n",
+ "mu=2.14*10**-5 #[kg/(m.s)]\n",
+ "rho=0.966 #[kg/cubic m]\n",
+ "k=0.0312 #[W/(m.K)]\n",
+ "Npr=0.695 #Prandtl number\n",
+ "D=0.05 #Diameter in [m]\n",
+ "Nre=D*u_inf*rho/mu #Reynold's number\n",
+ "Nnu=0.0266*Nre**0.805*Npr**(1.0/3.0) \n",
+ "h=round(Nnu*k/D,1) #W/sq m.K\n",
+ "Tw=423 #[K]\n",
+ "T_inf=308 #[K]\n",
+ "import math\n",
+ "#Heat loss per unit length is :\n",
+ "Q_by_l=h*math.pi*D*(Tw-T_inf) #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat lost per unit length of cylinder is\",round(Q_by_l),\"W\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.16,Page no:3.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 186,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat flow from the circular pipe is 1464.2 W/m\n",
+ "Rate of heat flow from the square pipe= 1711.2 W/m\n",
+ "Hence rate of heat flow from square pipe is more than that from circular pipe\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer in tube\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=20.92*10**-6 #sq m/s\n",
+ "k=3.0*10.0**-2 #W/(m.K)\n",
+ "Npr=0.7\n",
+ "u_inf=25.0 #[m/s]\n",
+ "d=50.0 #[mm]\n",
+ "d=d/1000 #[m]\n",
+ "Nre=u_inf*d/v #Reynold's number\n",
+ "Tw=397.0 #[K]\n",
+ "T_inf=303.0 #[K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "#Case 1: Circular tube\n",
+ "Nnu=0.0266*Nre**(0.805)*Npr**(1.0/3.0) \n",
+ "h=Nnu*k/d #[W/sq m.K]\n",
+ "A=math.pi*d #Area in [sq m]\n",
+ "Q=h*A*(Tw-T_inf) #[W]\n",
+ "Q_by_l1=h*math.pi*d*(Tw-T_inf) #[W/m]\n",
+ "\n",
+ "#Case 2:Square tube\n",
+ "A=50.0*50.0 #Area in [sq mm]\n",
+ "P=2.0*(50.0+50.0) #Perimeter [mm]\n",
+ "l=4.0*A/P #[mm]\n",
+ "l=l/1000 #[m]\n",
+ "Nnu=0.102*(Nre**0.675)*(Npr**(1.0/3.0))\n",
+ "h=Nnu*k/d #W/(sq m.K)\n",
+ "A=4*l*l #[sq m]\n",
+ "\n",
+ "Q=h*A*(Tw-T_inf)\n",
+ "Q_by_l2=Q/l #[W/m]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print\"Rate of heat flow from the circular pipe is\",round(Q_by_l1,1),\"W/m\" \n",
+ "print\"Rate of heat flow from the square pipe=\",round(Q_by_l2,1),\"W/m\"\n",
+ "print\"Hence rate of heat flow from square pipe is more than that from circular pipe\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.17,Page no:3.63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 188,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Inside heat transfer coefficient is 225.0 W/(sq m.K)\n",
+ "NOTE:The answer given in book..ie 1225 is wrong.please redo the calculation of last line manually to check\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "#Heat transfer coefficient\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=0.8 #Viscosity of flowing fluid [N.s/sq m]\n",
+ "rho=1.1 #Density of flowinf fluid [g/cubic cm]\n",
+ "rho=rho*1000 #Density in [kg/cubic m]\n",
+ "Cp=1.26 #Specific heat [kJ/kg.K]\n",
+ "Cp=Cp*10**3 # in[J/(kg.K)]\n",
+ "k=0.384 #[W/(m.K)]\n",
+ "mu_w=1.0 #Viscosity at wall temperature [N.s/sq m]\n",
+ "L=5.0 #[m]\n",
+ "vfr=300.0 #Volumetric flow rate in [cubic cm/s]\n",
+ "vfr=vfr*10.0**-6 #[cubic m/s]\n",
+ "mfr=vfr*rho #Mass flow rate of flowinf fluid [kg/s]\n",
+ "Di=20.0 #Inside diameter in[mm]\n",
+ "Di=Di/1000 #[m]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "Area=(math.pi/4)*Di**2 #Area of cross-section [sq m]\n",
+ "u=vfr/Area #Veloctiy in [m/s]\n",
+ "Nre=Di*u*rho/mu #Reynold's number\n",
+ "#As reynold's number is less than 2100,he flow is laminar\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "Nnu=1.86*(Nre*Npr*Di/L)**(1.0/3.0)*(mu/mu_w)**(0.14)\n",
+ "hi=Nnu*k/Di #inside heat transfer coefficient [W/sq m.K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Inside heat transfer coefficient is\",round(hi),\"W/(sq m.K)\"\n",
+ "#Note:\n",
+ "print\"NOTE:The answer given in book..ie 1225 is wrong.please redo the calculation of last line manually to check\\n\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.18,Page no:3.64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Inside heat transfer coefficient is 1225.4 W/sq m.K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer coefficient in heated tube\n",
+ "\n",
+ "#Variable declaration\n",
+ "m=5500.0 #Mass flow rate in [kg/h]\n",
+ "m=m/3600.0 #[kg/s]\n",
+ "rho=1.07 #Density of fluid in [g/cm**3]\n",
+ "rho=rho*1000 #[kg/m**3]\n",
+ "vfr=m/rho #Volumetric flow rate in [m**3/s]\n",
+ "Di=40.0 #Diameter of tube [mm]\n",
+ "Di=Di/1000 #[m]\n",
+ "import math\n",
+ "\n",
+ "#Calculation\n",
+ "A=(math.pi/4)*Di**2 #Area of cross-section in [sq m]\n",
+ "u=vfr/A #Velocity of flowing fluid [m/s]\n",
+ "rho=1070.0 #Density in [kg/m**3]\n",
+ "mu=0.004 #Viscosity in [kg/m.s]\n",
+ "Nre=Di*u*rho/mu\n",
+ "Nre=12198.0 #Approx\n",
+ "#Since this reynold's number is less than 10000,the flow is turbulent\n",
+ "Cp=2.72 #Specific heat in [kJ/kg.K]\n",
+ "Cp=Cp*10**3 #Specific heat in [J/kg.K]\n",
+ "k=0.256 #thermal conductivity in [W/m.K]\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.4) #Nusselt number\n",
+ "hi=k*Nnu/Di #Inside heat transfer coefficient in [W/m**2.K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Inside heat transfer coefficient is \",round(hi,1),\"W/sq m.K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.19,Page no:3.66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ANSWER-(i) \n",
+ "By Dittus-Boelter equation we get h= 12972.6 W/sq m.K\n",
+ "Answer-(ii)\n",
+ "By Sieder-Tate equation we get h= 12315.04 W/sq m.K\n",
+ "\n",
+ "NOTE:Calculation mistake in book in part 2 ie sieder tate eqn\n"
+ ]
+ }
+ ],
+ "source": [
+ "#h of water flowing in tube\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=984.1 #Density of water [kg/m**3]\n",
+ "Cp=4187.0 #Specific heat in [J/kg.K]\n",
+ "mu=485.0*10**-6 #Viscosity at 331 K[Pa.s]\n",
+ "k=0.657 #[W/(m.K)]\n",
+ "mu_w=920.0*10**-6 #Viscosity at 297 K [Pa.s]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "D=16.0 #Diameter in [mm]\n",
+ "D=D/1000 #Diameter in [m]\n",
+ "u=3.0 #Velocity in [m/s]\n",
+ "rho=984.1 #[kg/m**3]\n",
+ "Nre=D*u*rho/mu #Reynolds number\n",
+ "Nre=round(Nre)\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "\n",
+ "#Dittus-Boelter equation (i)\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.3) #nusselt number\n",
+ "h=k*Nnu/D #Heat transfer coefficient [W/m**2.K]\n",
+ "\n",
+ "#Result\n",
+ "print\"ANSWER-(i) \\nBy Dittus-Boelter equation we get h=\",round(h,1),\"W/sq m.K\"\n",
+ "#sieder-tate equation (ii)\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**(1.0/3.0))*((mu/mu_w)**0.14) #Nusselt number\n",
+ "h=k*Nnu/D #Heat transfer coefficient in [W/sq m.K]\n",
+ "print\"Answer-(ii)\\nBy Sieder-Tate equation we get h=\",round(h,2),\"W/sq m.K\"\n",
+ "print\"\\nNOTE:Calculation mistake in book in part 2 ie sieder tate eqn\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.20,Page no:3.67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer area is: 358.4 m**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Overall heat transfer coefficient\n",
+ "\n",
+ "#Variable declaration\n",
+ "m_dot=2250 #Mass flow arte in [kg/h]\n",
+ "Cp=3.35 #Specific heat in [kJ/(kg.K)]\n",
+ "dT=316-288.5 #Temperature drop for oil [K]\n",
+ "Q=Cp*m_dot*dT #Rate of heat transfer in [kJ/h]\n",
+ "Q=round(Q*1000/3600) #[J/s] or[W]\n",
+ "Di=0.04 #Inside diameter [m]\n",
+ "Do=0.048 #Outside diamter in [m]\n",
+ "hi=4070 #for steam [W/sq m.K]\n",
+ "ho=18.26 #For oil [W/sq m.K]\n",
+ "Rdo=0.123 #[sq m.K/W]\n",
+ "Rdi=0.215 #[sq m.K/W]\n",
+ "\n",
+ "#Calculation\n",
+ "Uo=1.0/(1.0/ho+Do/(hi*Di)+Rdo+Rdi*(Do/Di)) #[W/m**2.K]\n",
+ "Uo=2.3\n",
+ "import math\n",
+ "dT1=373-288.5 #[K]\n",
+ "dT2=373-316 #[K]\n",
+ "dTm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Ao=Q/(Uo*dTm) #Heat transfer area in [m**2]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transfer area is:\",round(Ao,1),\"m**2\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.21,Page no:3.68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 123,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No. of tubes required= 1.0\n",
+ "\n",
+ "NOTE: there is an error in book in calculation of dT1 and dT2,\n",
+ "373-293 is written as 90,instead of 80...similarly in dT2,\n",
+ "So,in compliance with the book,10 is added to both of them\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Number of tubes in exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "k_tube=111.65 #[W/m.K]\n",
+ "W=4500.0 #[kg/h]\n",
+ "rho=995.7 #[kg/sq m]\n",
+ "Cp=4.174 #[kJ/(kg.K)]\n",
+ "k=0.617 #[W/(m.K)]\n",
+ "v=0.659*10**-6 #Kinematic viscosity [sq m/s]\n",
+ "m_dot=1720.0 #kg/h\n",
+ "T1=293.0 #Initial temperature in [K]\n",
+ "T2=318.0 #Final temperature in [K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "dT=T2-T1 #[K]\n",
+ "Q=m_dot*Cp*dT #Heat transfer rate in [kJ/h]\n",
+ "Q=Q*1000.0/3600.0 #[J/s] or [W]\n",
+ "Di=0.0225 #[m]\n",
+ "u=1.2 #[m/s]\n",
+ "#Nre=Di*u*rho/mu or\n",
+ "Nre=Di*u/v #Reynolds number\n",
+ "#As Nre is greater than 10000,Dittus Boelter equation is applicable\n",
+ "Cp=Cp*10**3 #J/(kg.K)\n",
+ "mu=v*rho #[kg/(m.s)]\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "#Dittus-Boelter equation for heating is \n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.4)\n",
+ "hi=k*Nnu/Di #Heat transfer coefficient [W/(sq m.K)]\n",
+ "Do=0.025 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #math.log mean diameter in [m]\n",
+ "ho=4650.0 #[W/sq m.K]\n",
+ "k=111.65 #[W/m.K]\n",
+ "xw=(Do-Di)/2 #[m]\n",
+ "Uo=1.0/(1.0/ho+Do/(hi*Di)+xw*Do/(k*Dw)) #Overall heat transfer coefficient in W/(m**2.K)\n",
+ "T_steam=373.0 #Temperature of condensing steam in [K]\n",
+ "dT1=T_steam-T1+10 #[K]\n",
+ "dT2=T_steam-T2+10 #[K]\n",
+ "dTm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Ao=Q/(Uo*dTm)#Area in [m**2]\n",
+ "L=4.0 #length of tube [m]\n",
+ "n=Ao/(math.pi*Do*L) #number of tubes\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"No. of tubes required=\",round(n) \n",
+ "print\"\\nNOTE: there is an error in book in calculation of dT1 and dT2,\\n373-293 is written as 90,instead of 80...similarly in dT2,\\nSo,in compliance with the book,10 is added to both of them\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.22,Page no:3.71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 196,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Average value of convective film coefficient is hi= 11584.0 W/sq m.K\n",
+ "Heat transferred per unit length is Q/L= 18.2 kW/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Convective film coefficient\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "m_dot=25000 #massflow rate of water [kg/h]\n",
+ "rho=992.2 #[kg/m**3]\n",
+ "k=0.634 #[W/m.K]\n",
+ "vfr=m_dot/rho #[m**3/h]\n",
+ "Npr=4.31 #Prandtl numberl\n",
+ "Di=50 #[mm]\n",
+ "Di=0.05 #[m]\n",
+ "dT=10 #[K] as the wall is at a temperature of 10 K above the bulk temperature\n",
+ "\n",
+ "#Calculation\n",
+ "u=round((vfr/3600)/(math.pi*(Di/2)**2),2) #Velocity of water in [m/s]\n",
+ "#Nre=Di*u*rho/mu=Di*u/v as v=mu/rho\n",
+ "v=0.659*10**-6 #[m**2/s]\n",
+ "Nre=Di*u/v #Reynolds number\n",
+ "#As it is less than 10000,the flow is in the turbulent region for heat transfer and Dittus Boelter eqn is used\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.4) #Nusselt number\n",
+ "hi=Nnu*k/Di #Heat transfer coefficiet in [W/sq m.K]\n",
+ "q_by_l=hi*math.pi*Di*dT #Heat transfer per unit length[kW/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Average value of convective film coefficient is hi=\",round(hi),\" W/sq m.K\"\n",
+ "print\"Heat transferred per unit length is Q/L=\",round(q_by_l/1000,1),\"kW/m\"\n",
+ " \n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.23,Page no:3.72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Length of tube required is 5.0 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Length of tube\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "vfr=1200.0 #Water flow rate in [l/h]\n",
+ "rho=0.98 #Density of water in g/[cubic cm]\n",
+ "m_dot=vfr*rho #Mass flow rate of water [kg/h]\n",
+ "m_dot2=m_dot/3600.0 #[kg/s]\n",
+ "Cp=4.187*10**3 #[J/kg.K]\n",
+ "Di=0.025 #Diameter in [m]\n",
+ "mu=0.0006 #[kg/(m.s)]\n",
+ "\n",
+ "#Calculation\n",
+ "Ai=math.pi*((Di/2)**2) #Area of cross-section in [m**2]\n",
+ "Nre=(Di/mu)*(m_dot2/Ai) #Reynolds number\n",
+ "k=0.63 #for metal wall in [W/(m.K)]\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "#Since Nre>10000\n",
+ "#therefore ,Dittus boelter eqn for heating is \n",
+ "Nnu=0.023*(Nre**(0.8))*(Npr**(0.4))\n",
+ "ho=5800.0 #Film heat coefficientW/(m**2.K)\n",
+ "hi=Nnu*k/Di #Heat transfer coeffcient in [W/(sq m.K)]\n",
+ "Do=0.028 #[m]\n",
+ "Di=0.025 #[m]\n",
+ "xw=(Do-Di)/2 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "k=50.0 #for metal wall in [W/(m.K)]\n",
+ "Uo=1.0/(1.0/ho+Do/(hi*Di)+xw*Do/(k*Dw)) #in [W/sq m.K]\n",
+ "dT=343.0-303.0 #[K]\n",
+ "dT1=393.0-303.0 #[K]\n",
+ "dT2=393.0-343.0 #[K]\n",
+ "dTm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Cp=Cp/1000.0 #[in [kJ/kg.K]]\n",
+ "Q=m_dot*Cp*dT #Rate of heat transfer in [kJ/h]\n",
+ "Q=Q*1000.0/3600.0 #[J/s] or [W]\n",
+ "Ao=Q/(Uo*dTm) #Heat transfer area in [sq m]\n",
+ "#Also,..Ao=math.pi*Do*L ..implies that\n",
+ "L=Ao/(math.pi*Do) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of tube required is\",round(L),\"m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.24,Page no:3.73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Outlet temperature of water is 357.5 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Cooling coil\n",
+ "#1.For initial conditions:\n",
+ "import math\n",
+ "from scipy.optimize import fsolve\n",
+ "\n",
+ "#Variable declaration\n",
+ "T=360 #[K]\n",
+ "T1=280 #[K]\n",
+ "T2=320 #[K]\n",
+ "dT1=T-T1 #[K]\n",
+ "dT2=T-T2 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "#Q1=m1_dot*Cp1*(T2-T1)\n",
+ "Cp1=4.187 #Heat capacity \n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "m1_by_UA=dTlm/(Cp1*(T2-T1)) \n",
+ "#For final conditions :\n",
+ "#m2_dot=m1_dot\n",
+ "#U2=U1\n",
+ "#A2=5*A1\n",
+ "def f(t):\n",
+ " x=m1_by_UA*Cp1*(t-T1)-5*((dT1-(T-t))/math.log(dT1/(T-t)))\n",
+ " return(x)\n",
+ "T=fsolve(f,350.5)\n",
+ "\n",
+ "#Result\n",
+ "print\"Outlet temperature of water is\",T[0],\"K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.25,Page no:3.74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 199,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Outlet temperature of water is: 338.0 K\n",
+ "Area of heat transfer required is 0.21 m^2\n",
+ "Length of tube required is 2.66 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Outlet temperature of water\n",
+ "import math\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "mo_dot=60.0 #Mass flow rate of oilin [g/s]\n",
+ "mo_dot=6.0*10**-2 #[kg/s]\n",
+ "Cpo=2.0 #Specific heat of oil in [kJ/(kg.K)]\n",
+ "T1=420.0 #[K]\n",
+ "T2=320.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mo_dot*Cpo*(T1-T2) #Rate of heat flow in [kJ/s]\n",
+ "mw_dot=mo_dot #Mass flow rate of water #kg/s\n",
+ "t1=290.0 #[K]\n",
+ "Cpw=4.18 #[kJ/(kg.K)]\n",
+ "#For finding outlet temperature of water\n",
+ "t2=t1+Q/(mw_dot*Cpw) #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "ho=1.6 #Oil side heat transfer coefficient in [kW/(sq m.K)]\n",
+ "hi=3.6 #Water side heat transfer coeff in [kW/(sq m.K)]\n",
+ "#Overall heat transfer coefficient is:\n",
+ "U=1.0/(1.0/ho+1.0/hi) #[kW/(m**2.K)]\n",
+ "A=Q/(U*dTm) #[sq m]\n",
+ "Do=25.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "L=A/(math.pi*Do) #Length of tube in [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Outlet temperature of water is:\",round(t2),\"K\" \n",
+ "print\"Area of heat transfer required is\",round(A,2),\"m^2\"\n",
+ "print\"Length of tube required is\",round(L,2),\"m\"\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.26,Page no:3.76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 200,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The inside heat transfer coefficient is 272.97 W/(m**2.K) \n",
+ "NOTE:Calculation mistake in last line.ie in the calculation of hi in book,please perform the calculation manually to check the answer\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Inside heat transfer coefficient\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "k=0.14 # for oil[W/m.K]\n",
+ "Cp=2.1 # for oil [kJ/kg.K]\n",
+ "Cp=Cp*10**3 #J/kg.K\n",
+ "mu=154 #[mN.s/sq m]\n",
+ "mu_w=87 #(mn.s/sq m)\n",
+ "L=1.5 #[m]\n",
+ "m_dot=0.5 #Mass flow rate of oil[kg/s]\n",
+ "Di=0.019 #Diameter of tube [m]\n",
+ "mean_T=319 #Mean temperature of oil [K]\n",
+ "\n",
+ "#Calculation\n",
+ "mu=mu*10**-3 #[N.s/sq m] or [kg/(m.s)]\n",
+ "A=math.pi*(Di/2)**2 #[sq m]\n",
+ "G=m_dot/A #Mass velocity in [kg/sq m.s]\n",
+ "Nre=Di*G/mu #Reynolds number\n",
+ "#As Nre<2100,the flow is laminar\n",
+ "mu_w=mu_w*10**-3 #[N.s/sq m] or kg/(m.s)\n",
+ "#The sieder tate equation is \n",
+ "hi=(k*(2.0*((m_dot*Cp)/(k*L))**(1.0/3.0)*(mu/mu_w)**(0.14)))/Di #Heat transfer coeff in [W/sq m.K]\n",
+ "\n",
+ "#Result\n",
+ "print\"The inside heat transfer coefficient is\",round(hi,2),\"W/(m**2.K) \" \n",
+ "print\"NOTE:Calculation mistake in last line.ie in the calculation of hi in book,please perform the calculation manually to check the answer\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.27,Page no:3.77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 202,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Based on outside temperature,Inside heat transfer coefficient is 4201.0 W/(m**2.K) or 4.2 kW/(m**2.K)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Film heat transfer coefficient\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "m_dot=0.217 #Water flow rate in [kg/s]\n",
+ "Do=19.0 #Outside diameter in [mm]\n",
+ "rho=1000.0 #Density\n",
+ "t=1.6 #Wall thickness in [mm]\n",
+ "Di=Do-2*t #i.d of tube in [mm]\n",
+ "Di=Di/1000.0 #[m]\n",
+ "Do=Do/1000.0 #[m]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Ai=math.pi*(Di/2)**2 #Cross-sectional area in sq m\n",
+ "u=m_dot/(rho*Ai) #Water velocity through tube [m/s]\n",
+ "u=1.12 #approx in book\n",
+ "Di=0.0157 #apprx in book\n",
+ "T1=301.0 #Inlet temperature of water in [K]\n",
+ "T2=315.0 #Outlet temperature of water in [K]\n",
+ "T=(T1+T2)/2 #[K]\n",
+ "hi=(1063.0*(1+0.00293*T)*(u**0.8))/(Di**0.20) #Inside heat transfer coefficient W/(sq m.K)\n",
+ "hi=5084.0 #Approximation\n",
+ "hio=hi*(Di/Do) #Inside heat transfer coeff based on outside diameter in W/(sq m.K)\n",
+ "\n",
+ "#Result\n",
+ "print\"Based on outside temperature,Inside heat transfer coefficient is\",round(hio),\"W/(m**2.K) or \",round(hio/1000,1),\"kW/(m**2.K)\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.28,Page no:3.77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer area of equipment is 6.5 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Area of exchanger\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "mair_dot=0.90 #[kg/s]\n",
+ "T1=283.0 #[K]\n",
+ "T2=366.0 #[K]\n",
+ "dT=(T1+T2)/2 #[K]\n",
+ "Di=12.0 #[mm]\n",
+ "Di=Di/1000.0 #[m]\n",
+ "G=19.9 #[kg/(sq m.s)]\n",
+ "mu=0.0198 #[mN.s/(sq m)]\n",
+ "mu=mu*10**-3 #[N.s/sq m] or [kg/(m.s)]\n",
+ "\n",
+ "#Calculation\n",
+ "Nre=Di*G/mu #Reynolds number\n",
+ "#It is greater than 10**4\n",
+ "k=0.029 #W/(m.K)\n",
+ "Cp=1.0 #[kJ/kg.K]\n",
+ "Cp1=Cp*10**3 #[J/kg.K]\n",
+ "Npr=Cp1*mu/k #Parndtl number\n",
+ "#Dittus-Boelter equation is\n",
+ "hi=0.023*(Nre**0.8)*(Npr**0.4)*k/Di #[W/sq m.K]\n",
+ "ho=232.0 #W/sq m.K\n",
+ "U=1.0/(1.0/hi+1.0/ho) #Overall heat transfer coefficient [W/m**2.K]\n",
+ "Q=mair_dot*Cp*(T2-T1) #kJ/s\n",
+ "Q=Q*10**3 #[J/s] or [W]\n",
+ "T=700.0 #[K]\n",
+ "dT1=T-T2 #[K]\n",
+ "dT2=T2-T1 #[K]\n",
+ "dTm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "#Q=U*A*dTm\n",
+ "A=Q/(U*dTm) #Area in sq m\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transfer area of equipment is\",round(A,2),\"m^2\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.29,Page no:3.82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 206,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "In free convection,heat transfer coeff,h= 5.3 W/(m^2.K)\n",
+ "In forced convection,heat transfer coeff,h= 14.12 W/(m^2.K)\n",
+ "From above it is clear that heat transfer coefficient in forced convection is much larger than that in free convection\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Natural and forced convection\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "v=18.41*10**-6 #[sq m./s]\n",
+ "k=28.15*10**-3 #[W/m.K]\n",
+ "Npr=0.7 #Prandtl number\n",
+ "Beta=3.077*10**-3 #K**-1\n",
+ "g=9.81 #m/s**2\n",
+ "Tw=350 #[K]\n",
+ "T_inf=300 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "L=0.3 #[m]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#1.Free Convection\n",
+ "Ngr=(g*Beta*dT*L**3)/(v**2) #Grashof number\n",
+ "Npr=0.7 #Prandtl number\n",
+ "Nnu=0.59*(Ngr*Npr)**(1.0/4.0) #Nusselt number\n",
+ "h=Nnu*k/L #Average heat transfer coefficient [W/sq m K]\n",
+ "\n",
+ "#2.Forced Convestion\n",
+ "u_inf=4 #[m/s]\n",
+ "Nre_l=u_inf*L/v\n",
+ "Nnu=0.664*(Nre_l**(1.0/2.0))*(Npr**(1.0/3.0)) #Nusselt number\n",
+ "h1=Nnu*k/L #[W/sq m.K]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"In free convection,heat transfer coeff,h=\",round(h,1),\"W/(m^2.K)\"\n",
+ "print\"In forced convection,heat transfer coeff,h=\",round(h1,2),\"W/(m^2.K)\"\n",
+ "print\"From above it is clear that heat transfer coefficient in forced convection is much larger than that in free convection\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.30,Page no:3.83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 208,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transferred is 6020.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Natural convection\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "k=0.02685 #W/(m.K)\n",
+ "v=16.5*10**-6 #kg/(m.s)\n",
+ "Npr=0.7 #Prandtl number\n",
+ "Beta=3.25*10**-3 #K**-1\n",
+ "g=9.81 #m/(s**2)\n",
+ "Tw=333 #[k]\n",
+ "T_inf=283 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "L=4 #Length/height of plate [m]\n",
+ "\n",
+ "#Calculation\n",
+ "Ngr=(g*Beta*dT*(L**3))/(v**2) #Grashoff number\n",
+ "#Let const=Ngr*Npr\n",
+ "const=Ngr*Npr\n",
+ "#Sice it is >10**9\n",
+ "Nnu=0.10*(const**(1.0/3.0)) #Nusselt number\n",
+ "h=round(Nnu*k/L,1) #W/(sq m.K)\n",
+ "W=7 #width in [m]\n",
+ "A=L*W #Area of heat transfer in [sq m]\n",
+ "Q=h*A*dT #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transferred is\",Q,\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.31,Page no:3.84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 210,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Hence,Heat loss per metre length is 120.68 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Free convection in vertical pipe\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=18.97*10**-6 #m**2/s\n",
+ "k=28.96*10**-3 #W/(m.K)\n",
+ "Npr=0.696\n",
+ "D=100.0 #Outer diameter [mm]\n",
+ "D=D/1000 #[m]\n",
+ "Tf=333.0 #Film temperature in [K]\n",
+ "Tw=373.0 #[K]\n",
+ "T_inf=293.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT=Tw-T_inf #[K]\n",
+ "Beta=1.0/Tf #[K**-1]\n",
+ "g=9.81 #[m/s**2]\n",
+ "L=3.0 #Length of pipe [m]\n",
+ "Ngr=(g*Beta*dT*(L**3))/(v**2) #Grashof number\n",
+ "Nra=Ngr*Npr\n",
+ "Nnu=0.10*(Ngr*Npr)**(1.0/3.0) #nusselt number for vertical cylinder\n",
+ "h=Nnu*k/L #W/(sq m.K)\n",
+ "Q_by_l=h*math.pi*D*dT #Heat loss per metre length [W/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Hence,Heat loss per metre length is\",round(Q_by_l,2),\"W/m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.32,Page no:3.84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 213,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss per unit length of the heater is 653.4 W/m(APPROX)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss per unit length\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "k=0.630 #W/(m.K\n",
+ "Beta=3.04*10**-4 #K**-1\n",
+ "rho=1000.0 #kg/m**3\n",
+ "mu=8.0*10**-4 #[kg/(m.s)]\n",
+ "Cp=4.187 #kJ/(kg.K)\n",
+ "g=9.81 #[m/(s**2)]\n",
+ "Tw=313.0 #[K]\n",
+ "T_inf=298.0 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "D=20.0 #[mm]\n",
+ "D=D/1000 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Ngr=9.81*(rho**2)*Beta*dT*(D**3)/(mu**2) #Grashoff number\n",
+ "Cp1=Cp*1000.0 #[J/kg.K]\n",
+ "Npr=Cp1*mu/k #Prandtl number\n",
+ "#Average nusselt number is\n",
+ "Nnu=0.53*(Ngr*Npr)**(1.0/4.0)\n",
+ "h=Nnu*k/D #[W/ sqm.K]\n",
+ "Q_by_l=h*math.pi*D*dT #Heat loss per unit length [W/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss per unit length of the heater is\",round(Q_by_l,1),\"W/m(APPROX)\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.33,Page no:3.85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 214,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss of heat transfer per meter lengh is 1492.4 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Free convection in pipe\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "k=0.03406 #[W/(m/K)]\n",
+ "Beta=2.47*10**-3 #K**-1\n",
+ "Npr=0.687 #Prandtl number\n",
+ "v=26.54*10**-6 #m**2/s\n",
+ "g=9.81 #[m/s**2]\n",
+ "Tw=523.0 #[K]\n",
+ "T_inf=288.0 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "D=0.3048 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Ngr=(g*Beta*dT*(D**3))/(v**2) #Grashof number\n",
+ "Nra=Ngr*Npr \n",
+ "#For Nra less than 10**9,we have for horizontal cylinder\n",
+ "Nnu=0.53*(Nra**(1.0/4.0)) #Nusselt number\n",
+ "h=Nnu*k/D #[W/sq m.K]\n",
+ "Q_by_l=h*math.pi*D*dT #W/m\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss of heat transfer per meter lengh is\",round(Q_by_l,1),\"W/m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.34,Page no:3.86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 215,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The rate of heat input is 3410.4 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Free convection in plate\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=960.63 #Density in [kg/m**3]\n",
+ "Cp=4.216*10**3 #Specific heat in [J/(kg.K)]\n",
+ "D=16.0 #Diameter in [cm]\n",
+ "D=D/100 #[m]\n",
+ "k=0.68 #Thermal conductivity in [W/m.K]\n",
+ "\n",
+ "#Calculation\n",
+ "A=(math.pi*(D/2)**2)\n",
+ "L=A/(math.pi*D) #Length=A/P in [m]\n",
+ "Beta=0.75*10**-3 #[K**-1]\n",
+ "alpha=1.68*10**-7 #[m**2/s]\n",
+ "g=9.81 #[m/s**2]\n",
+ "Tw=403.0 #[K]\n",
+ "T_inf=343.0 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "v=0.294*10**-6 #[m**2/s]\n",
+ "Nra=(g*Beta*(L**3)*dT)/(v*alpha) \n",
+ "#1.For Top surface\n",
+ "Nnu=0.15*(Nra)**(1.0/3.0) #Nusselt number\n",
+ "ht=Nnu*k/L #Heat transfer coeff for top surface in W/(m**2.K)\n",
+ "ht=round(ht)\n",
+ "#2.For bottom surface\n",
+ "Nnu=0.27*Nra**(1.0/4.0) #Nusselt number\n",
+ "hb=Nnu*k/L #[W/sq m.K]\n",
+ "hb=round(hb)\n",
+ "Q=(ht+hb)*A*dT #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"The rate of heat input is\",round(Q,1),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.35,Page no:3.87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 234,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Nnu in the book is wrongly calculated as 66.80,\n",
+ "Actually it is:58.22\n",
+ "\n",
+ "Heat transferred when hot surface is facing up is 40.04 W\n",
+ "NOTE:Taking into consideration the correct value of Nnu\n",
+ "\n",
+ "Heat transferred when hot surface is facing down is 16.23 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer from disc\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=2.0*10**-5 #[m**2/s]\n",
+ "Npr=0.7 #Prandtl number\n",
+ "k=0.03 #[W/m.K]\n",
+ "D=0.25 #Diameter in [m]\n",
+ "L=0.90*D #Characteristic length,let [m]\n",
+ "T1=298.0 #[K]\n",
+ "T2=403.0 #[K]\n",
+ "dT=T2-T1 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Tf=(T1+T2)/2 #[K]\n",
+ "Beta=1.0/Tf #[K**-1]\n",
+ "A=math.pi*(D/2)**2 #Area in[sq m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "\n",
+ "#Case 1: Hot surface facing up\n",
+ "Ngr=g*Beta*dT*(L**3)/(v**2) #Grashoff number\n",
+ "Nnu=0.15*((Ngr*Npr)**(1.0/3.0)) #Nusselt number\n",
+ "print \"Nnu in the book is wrongly calculated as 66.80,\\nActually it is:58.22\"\n",
+ "h=Nnu*k/L #[W/sq m.K]\n",
+ "Q=h*A*dT #[W]\n",
+ "\n",
+ "#Case 2:For hot surface facing down\n",
+ "Nnu=0.27*(Ngr*Npr)**(1.0/4.0) #Grashof Number\n",
+ "h=Nnu*k/L #[W/sqm.K]\n",
+ "Q1=h*A*dT #[W]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"\\nHeat transferred when hot surface is facing up is\",round(Q,2),\"W\"\n",
+ "print\"NOTE:Taking into consideration the correct value of Nnu\\n\"\n",
+ "print\"Heat transferred when hot surface is facing down is\",round(Q1,2),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.36,Page no:3.88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 235,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat input is equal to heat dissipation = 10914.4 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Rate of heat input to plate\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "rho=960 #[kg/m**3]\n",
+ "Beta=0.75*10**-3 #[K**-1]\n",
+ "k=0.68 #[W/m.K]\n",
+ "alpha=1.68*10**-7 #[m**2/s]\n",
+ "v=2.94*10**-7 #[m**2/s]\n",
+ "Cp=4.216 #[kJ/kg.K]\n",
+ "Tw=403 #[K]\n",
+ "T_inf=343 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "g=9.81 #[m/s**2]\n",
+ "l=0.8 #[m]\n",
+ "W=0.08 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "A=l*W #Area in [m**2]\n",
+ "P=2*(0.8+0.08) #Perimeter in [m]\n",
+ "L=A/P #Characteristic dimension/length,L in [m]\n",
+ "Nra=g*Beta*L**3*dT/(v*alpha) \n",
+ "#(i) for natural convection,heat transfer from top/upper surface heated \n",
+ "Nnu=0.15*(Nra**(1.0/3.0)) #Nusselt number\n",
+ "ht=Nnu*k/L #[W/m**2.K]\n",
+ "ht=2115.3 #Approximation in book,If done manually then answer diff\n",
+ "#(ii)For the bottom/lower surface of the heated plate\n",
+ "Nnu=0.27*(Nra**(1.0/4.0)) #Nusselt number\n",
+ "hb=Nnu*k/L #[W/(m**2.K)]\n",
+ "hb=round(hb)\n",
+ "#Rate of heat input is equal to rate of heat dissipation from the upper and lower surfaces of the plate\n",
+ "Q=(ht+hb)*A*(Tw-T_inf) #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat input is equal to heat dissipation =\",round(Q,1),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.37,Page no:3.89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transferred when disc is horizontal with hot surface facing upward is 170.8 W\n",
+ "Heat transferred when disc is horizontal with hot surface facing downward is 65.6 W\n",
+ "For vertical disc,heat transferred is 114.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Two cases in disc\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "k=0.03 #W/(m.K)\n",
+ "Npr=0.697 #Prandtl number\n",
+ "v=2.076*10**-6 #m**2/s\n",
+ "Beta=0.002915 #K**-1\n",
+ "D=25.0 #[Diameter in cm]\n",
+ "D=D/100 #[m]\n",
+ "Tf=343.0 #Film temperature in [K]\n",
+ "\n",
+ "#Calculation\n",
+ "A=math.pi*(D/2)**2 #Area in [m**2]\n",
+ "P=math.pi*D #Perimeter [m]\n",
+ "T1=293.0 #[K]\n",
+ "T2=393.0 #[K]\n",
+ "g=9.81 #[m/s**2]\n",
+ "#Case (i) HOT SURFACE FACING UPWARD\n",
+ "L=A/P #Characteristic length in [m]\n",
+ "Beta=1.0/Tf #[K**-1]\n",
+ "dT=T2-T1 #[K]\n",
+ "Ngr=(g*Beta*dT*(L**3))/(v**2) #Grashoff number\n",
+ "Nra=Ngr*Npr \n",
+ "Nnu=0.15*(Nra**(1.0/3.0)) #Nusselt number\n",
+ "h=Nnu*k/L #[W/m**2.K]\n",
+ "Q1=h*A*dT #[W]\n",
+ "\n",
+ "#Case-(ii) HOT FACE FACING DOWNWARD\n",
+ "Nnu=0.27*(Nra**(1.0/4.0)) #Nusselt number\n",
+ "h=Nnu*k/L #W/(m**2.K)\n",
+ "Q2=h*A*dT #[W]\n",
+ "\n",
+ "#Case-(iii)-For disc vertical \n",
+ "L=0.25 #Characteristic length[m] \n",
+ "D=L #dia[m]\n",
+ "A=math.pi*((D/2)**2) #[sq m]\n",
+ "Ngr=(g*Beta*dT*(L**3))/(v**2) #Grashoff number\n",
+ "Npr=0.697\n",
+ "Nra=Ngr*Npr \n",
+ "Nnu=0.10*(Nra**(1.0/3.0)) #Nusselt number\n",
+ "h=Nnu*k/D #[W/(m**2.K)]\n",
+ "Q3=h*A*dT #[W]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transferred when disc is horizontal with hot surface facing upward is\",round(Q1,1),\"W\"\n",
+ "print\"Heat transferred when disc is horizontal with hot surface facing downward is\",round(Q2,1),\"W\" \n",
+ "print\"For vertical disc,heat transferred is\",round(Q3),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.38,Page no:3.91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 240,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total heat loss per metre length of pipe is 831.1 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Total heat loss in a pipe\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=23.13*10**-6 #[m**2/s]\n",
+ "k=0.0321 #[W/m.K]\n",
+ "Beta=2.68*10**-3 #[K**-1]\n",
+ "Tw=443.0 #[K]\n",
+ "T_inf=303.0 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "g=9.81 #[m/s**2]\n",
+ "Npr=0.688 #Prandtl number\n",
+ "D=100.0 #Diameter [mm]\n",
+ "D=D/1000 #Diameter [m]\n",
+ "\n",
+ "#Calculation\n",
+ "Nra=(g*Beta*dT*(D**3)*Npr)/(v**2)\n",
+ "Nnu=0.53*(Nra**(1.0/4.0)) #Nusselt number\n",
+ "h=Nnu*k/D #[W/(m**2.K)]\n",
+ "h=7.93 #Approximation\n",
+ "e=0.90 #Emissivity\n",
+ "sigma=5.67*10**-8 \n",
+ "#Q=Q_conv+Q_rad #Total heat loss\n",
+ "#for total heat loss per meter length\n",
+ "Q_by_l=h*math.pi*D*dT+sigma*e*math.pi*D*(Tw**4-T_inf**4) #[W/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Total heat loss per metre length of pipe is\",round(Q_by_l,1),\"W/m\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.39,Page no:3.91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 241,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat loss is 1.06 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss by free convection\n",
+ "import math\n",
+ "\n",
+ "#Result\n",
+ "k=0.035 #[W/(m.K)]\n",
+ "Npr=0.684 #Prandtl number\n",
+ "Beta=2.42*10**-3 #[K**-1]\n",
+ "v=27.8*10**-6 #[m**2/s]\n",
+ "Tw=533.0 #[K]\n",
+ "T_inf=363.0 #[K]\n",
+ "dT=Tw-T_inf #[K]\n",
+ "D=0.01 #[m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "\n",
+ "#Calculation\n",
+ "Nra=(g*Beta*dT*(D**3))/(v**2)\n",
+ "#For this <10**5,we have for sphere\n",
+ "A=4*math.pi*(D/2)**2 #Area of sphere in [m**2]\n",
+ "Nnu=(2+0.43*Nra**(1.0/4.0))#Nusslet number\n",
+ "h=Nnu*k/D #W/(m**2.K)\n",
+ "Q=h*A*dT #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat loss is\",round(Q,2),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.40,Page no:3.92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 246,
+ "metadata": {
+ "collapsed": false,
+ "slideshow": {
+ "slide_type": "-"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total heat loss is 966.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss from cube\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "v=17.95*10**-6 #[m**2/s]\n",
+ "dT=353.0-293.0 #[K]\n",
+ "k=0.0283 #[W/m.K]\n",
+ "g=9.81 #[m/s**2]\n",
+ "Npr=0.698 #Prandtl number\n",
+ "Cp=1005.0 #J/(kg.K)\n",
+ "Tf=323.0 #Film temperature in [K]\n",
+ "Beta=1.0/Tf #[K**-1]\n",
+ "l=1.0 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "Nra=(g*Beta*dT*(l**3)*Npr)/(v**2)\n",
+ "#In textbook result of above statement is wrongly calculated,So\n",
+ "Nra=3.95*10**8\n",
+ "#For Nra <10**9,for a vertical plate,the average nusselt number is\n",
+ "Nnu=0.59*Nra**(1.0/4.0) #Nusselt number\n",
+ "h=round(Nnu*k/l,2) #[W/m**2.K]\n",
+ "A=l**2 #Area [m**2]\n",
+ "#Heat loss form 4 vertical faces of 1m*1m is \n",
+ "Q1=4.0*(h*A*dT) #[W]\n",
+ "#For top surface \n",
+ "P=4.0*l #Perimeter in [m]\n",
+ "L=A/P #[m]\n",
+ "Nra=(Npr*g*Beta*dT*(L**3))/(v**2)\n",
+ "Nnu=0.15*Nra**(1.0/3.0) #Nusselt number\n",
+ "h=round(Nnu*k/L,1) #[W/m**2.K]\n",
+ "Q2=h*A*dT #[W]\n",
+ "Q_total=Q1+Q2 #Total heat loss[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Total heat loss is\",Q_total,\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.41,Page no:3.93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Dimensions of the plate are 0.03 x 0.05 m= 3.0 x 5.0 cm\n",
+ "Heat transfer when the bigger side held vertical is 2.77 W\n",
+ "Heat transfer when the small side held vertical is 3.16 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Plate exposed to heat\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=0.910 #Density in [kg/m**3]\n",
+ "Cp=1.009*1000 #[J/kg.K]\n",
+ "k=0.0331 #[W/m.K]\n",
+ "mu=22.65*10**-6 #[N.s/m**2]\n",
+ "\n",
+ "#Calculation\n",
+ "#Let a=smaller side\n",
+ "#b=bigger side\n",
+ "#Qa=ha*A*dT\n",
+ "#Qb=hb*A*dT\n",
+ "#Qa=1.14*Qb\n",
+ "#Given a*b=15*10**-4\n",
+ "#On solving we get:\n",
+ "a=0.03 #[m]\n",
+ "b=0.05 #[m]\n",
+ "A=a*b #Area in [sq m]\n",
+ "Tf=388 #[K]\n",
+ "Beta=1.0/Tf #[K**-1]\n",
+ "T1=303 #[K]\n",
+ "T2=473 #[K]\n",
+ "dT=T2-T1 #[K]\n",
+ "v=mu/rho \n",
+ "g=9.81 #m/s**2[acceleration due to gravity ]\n",
+ "hb=0.59*(((g*Beta*dT*(b**3))/(v**2))*Cp*mu/k)**(1.0/4.0)*(k/b) #[W/sq m.K]\n",
+ "Qb=hb*A*(dT) #[W]\n",
+ "\n",
+ "Qa=1.14*Qb #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Dimensions of the plate are\",a,\"x\",b,\"m=\",a*100,\"x\",b*100,\"cm\"\n",
+ "print\"Heat transfer when the bigger side held vertical is\",round(Qb,2),\"W\"\n",
+ "print\"Heat transfer when the small side held vertical is\",round(Qa,2),\"W\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.42,Page no:3.99"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 251,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Temperature of the bottom surface of the pan is 385.5 W/(m^2)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Nucleate poolboiling\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Ts=373.0 #[K]\n",
+ "rho_l=957.9 #rho*l[kg/m**3]\n",
+ "Cpl=4217.0 #[J/kg.K]\n",
+ "mu_l=27.9*10**-5 #[kg/(m.s)]\n",
+ "rho_v=0.5955 #[kg/m**3]\n",
+ "Csf=0.013\n",
+ "sigma=5.89*10**-2 #[N/m]\n",
+ "Nprl=1.76\n",
+ "lamda=2257.0 #[kJ/kg]\n",
+ "lamda=lamda*1000 #in [J/kg]\n",
+ "n=1 #for water\n",
+ "m_dot=30.0 #Mass flow rate [kg/h]\n",
+ "\n",
+ "#Calculation\n",
+ "m_dot=m_dot/3600 #[kg/s]\n",
+ "D=30.0 #Diameter of pan [cm]\n",
+ "D=D/100 #[m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "A=math.pi*(D/2)**2 #Area in [sq m]\n",
+ "Q_by_A=m_dot*lamda/A #[W/sq m]\n",
+ "#For nucleate boiling point we have:\n",
+ "dT=(lamda/Cpl)*Csf*(((Q_by_A)/(mu_l*lamda))*math.sqrt(sigma/(g*(rho_l-rho_v))))**(1.0/3.0)*(Nprl**n) #[K]\n",
+ "Tw=Ts+dT #[K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Temperature of the bottom surface of the pan is\",round(Tw,1),\"W/(m^2)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.43,Page no:3.100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 252,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Peak heat flux is 1.106 MW/sq m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Peak Heat flux\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "lamda=2257.0 #[kJ/kg]\n",
+ "lamda=lamda*1000 #in [J/kg]\n",
+ "rho_l=957.9 #rho*l[kg/m**3]\n",
+ "rho_v=0.5955 #[kg/m**3]\n",
+ "sigma=5.89*10**-2 #[N/m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "\n",
+ "#Calculation\n",
+ "#Peak heat flux is given by\n",
+ "Q_by_A_max=(math.pi/24)*(lamda*rho_v**0.5*(sigma*g*(rho_l-rho_v))**(1.0/4.0)) #W/m**2\n",
+ "Q_by_A_max=Q_by_A_max/(10**6) #MW/(sq m)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Peak heat flux is\",round(Q_by_A_max,3),\"MW/sq m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.44,Page no:3.100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stable film boiling point heat transfer coefficient is 1340.9 W/(sq m.K)\n",
+ "Heat dissipated per unit length of the heater is 1.7 kW/m\n",
+ "\n",
+ "NOTE:In textbook,value of hc is wrongly calculated as 1311.4,Actually it is 1318.9,\n",
+ "So,there is a difference in final values of 'h'\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Stable film pool boiling\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho_l=957.9 #[kg/m**3]\n",
+ "lamda=2257.0 #[kJ/kg]\n",
+ "lamda=lamda*10**3 #[J/kg]\n",
+ "rho_v=31.54 #[kg/m**3]\n",
+ "Cpv=4.64 #[kJ/kg.K]\n",
+ "Cpv=Cpv*10**3 #[J/kg.K]\n",
+ "kv=58.3*10**-3#[W/(m.K)]\n",
+ "g=9.81 #[m/s**2]\n",
+ "mu_v=18.6*10**-6 #[kg/(m.s)]\n",
+ "e=1.0 #Emissivity\n",
+ "sigma=5.67*10**-8 \n",
+ "Ts=373.0 #[K]\n",
+ "Tw=628.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT=Tw-Ts #[K]\n",
+ "D=1.6*10**-3 #[m]\n",
+ "T=(Tw+Ts)/2 #[K]\n",
+ "\n",
+ "hc=0.62*((kv**3)*rho_v*(rho_l-rho_v)*g*(lamda+0.40*Cpv*dT)/(D*mu_v*dT))**(1.0/4.0) #Convective heat transfer coeff [W/sq m.K]\n",
+ "hr=e*sigma*(Tw**4-Ts**4)/(Tw-Ts) #Radiation heat transfer coeff in [W/sq m.K]\n",
+ "h=hc+(3.0/4.0)*hr #Total heat transfer coefficient W/(sq m.K)\n",
+ "Q_by_l=h*math.pi*D*dT #Heat dissipation rate per unit length in [kW/m]\n",
+ "Q_by_l=Q_by_l/1000 #[kW/m]\n",
+ "#Result\n",
+ "print\"Stable film boiling point heat transfer coefficient is\",round(h,1),\"W/(sq m.K)\"\n",
+ "print\"Heat dissipated per unit length of the heater is\",round(Q_by_l,1),\"kW/m\"\n",
+ "\n",
+ "print\"\\nNOTE:In textbook,value of hc is wrongly calculated as 1311.4,Actually it is 1318.9,\"\n",
+ "print\"So,there is a difference in final values of 'h'\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.45,Page no:3.102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 136,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat transfer per 1m length of tube is 2810.0 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer in tube\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "dT=10 #[K]\n",
+ "P=506.625 #[kPa]\n",
+ "P=P/10**3 #[Mpa]\n",
+ "D=25.4 #Diameter [mm]\n",
+ "D=D/1000 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "h=2.54*(dT**3)*(math.exp(P/1.551)) #[W/sq m.K]\n",
+ "#Q=h*math.pi*D*L*dT\n",
+ "#Heat transfer rate per meter length of tube is \n",
+ "Q_by_l=h*math.pi*D*dT #[W/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of heat transfer per 1m length of tube is\",round(Q_by_l),\"W/m\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.46,Page no:3.102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 265,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat flux when pressure is 101.325 kPa is 22773.76 W/m^2(APPROX)\n",
+ "Percent increase in heat flux is 23.0 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Nucleat boiling and heat flux\n",
+ "\n",
+ "#Variable declaration\n",
+ "dT=8.0 #[K]\n",
+ "P=0.17 #[Mpa]\n",
+ "P=P*1000 #[kPa]\n",
+ "h1=2847.0 #[W/(sq m.K)]\n",
+ "P1=101.325 #[kPa]\n",
+ "h=5.56*(dT**3) #[W/sq m.K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q_by_A=h*dT #[W/sq m]\n",
+ "hp=h*(P/P1)**(0.4) #[W/sq m.K]\n",
+ "#Corresponding heat flux is :\n",
+ "Q_by_A1=hp*dT #[W/sq m]\n",
+ "per=(Q_by_A1-Q_by_A)*100.0/Q_by_A #Percent increase in heat flux\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat flux when pressure is 101.325 kPa is\",Q_by_A,\"W/m^2(APPROX)\"\n",
+ "print\"Percent increase in heat flux is\",round(per),\"%\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.47,Page no:3.110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 269,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mean heat transfer coefficient is 10864.0 W/(m^2.K)\n",
+ "Heat transfer per unit length is 13653.0 W/m\n",
+ "Condensate rate per unit length is 22.1 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Dry steam condensate\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mu=306*10**-6 #[N.s/m**2]\n",
+ "k=0.668 #[W/m.K]\n",
+ "rho=974.0 #[kg/m**3]\n",
+ "lamda=2225.0 #[kJ/kg]\n",
+ "lamda=lamda*10**3 #[J/kg.K]\n",
+ "g=9.81 #[m/s**2]\n",
+ "Ts=373.0 #[K]\n",
+ "Tw=357.0 #[K]\n",
+ "dT=Ts-Tw #[K]\n",
+ "Do=25.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "h=0.725*((rho**2*g*lamda*k**3)/(mu*Do*dT))**(1.0/4.0) #[W/sq m.K]\n",
+ "Q_by_l=h*math.pi*Do*dT #[W/m]\n",
+ "m_dot_byl=(Q_by_l/lamda) #[kg/s]\n",
+ "m_dot_byl=m_dot_byl*3600 #[kg/h]\n",
+ "\n",
+ "#Result\n",
+ "print\"Mean heat transfer coefficient is\",round(h),\"W/(m^2.K)\" \n",
+ "print\"Heat transfer per unit length is\",round(Q_by_l),\"W/m\" \n",
+ "print\"Condensate rate per unit length is\",round(m_dot_byl,1),\"kg/h\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.48,Page no:3.111"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Average heat transfer coefficient is 13156.0 W/(m^2.K)(APPROX)\n",
+ "Heat transfer rate is 2368.0 J/kg\n",
+ "Steam condensate rate per hour is 3.78 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Laminar Condensate film\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=960.0 #[kh/m**3]\n",
+ "mu=2.82*10**-4 #[kg/(m.s)]\n",
+ "k=0.68 #[W/(m.K)]\n",
+ "lamda=2255.0 #[kJ/kg]\n",
+ "lamda=lamda*10**3 #[J/kg]\n",
+ "Ts=373.0 #Saturation temperature of steam [K]\n",
+ "Tw=371.0 #[K]\n",
+ "dT=Ts-Tw #[K]\n",
+ "L=0.3 #Dimension [m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "\n",
+ "#Calculation\n",
+ "h=0.943*(rho**2*g*lamda*k**3/(L*mu*dT))**(1.0/4.0) #W/sq m.K\n",
+ "A=L**2 #[sq m] \n",
+ "Q=h*A*(Ts-Tw) #[W]=[J/s]\n",
+ "m_dot=Q/lamda #Condensate rate[kg/s]\n",
+ "m_dot=m_dot*3600.0 #[kg/h]\n",
+ "\n",
+ "#Result\n",
+ "print\"Average heat transfer coefficient is\",round(h),\" W/(m^2.K)(APPROX)\"\n",
+ "print\"Heat transfer rate is\",round(Q),\"J/kg\"\n",
+ "print\"Steam condensate rate per hour is\",round(m_dot,2),\"kg/h\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.49,Page no:3.112"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 279,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of condensation per unit length is 176.4 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Saturated vapour condensate in array\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=1174.0 #[kg/m**3]\n",
+ "k=0.069 #[W/(m.K)]\n",
+ "mu=2.5*10**-4 #[N.s/m**2]\n",
+ "lamda=132*10**3 #[J/kg]\n",
+ "g=9.81 #[m/s**2]\n",
+ "Ts=323.0 #[K]\n",
+ "Tw=313.0 #[K]\n",
+ "dT=Ts-Tw #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "#For square array,n=4\n",
+ "n=4.0 #number of tubes\n",
+ "Do=12.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "h=0.725*(rho**2*lamda*g*k**3/(n*Do*mu*dT))**(1.0/4.0) #W/(sq m.K) \n",
+ "#For heat transfer area calcualtion,n=16\n",
+ "A=n*math.pi*Do #[sq m]\n",
+ "A=0.603\n",
+ "Q=h*A*dT#[W/m]\n",
+ "m_dot=round(Q/lamda,3) #[kg/s]\n",
+ "\n",
+ "m_dot=m_dot*3600 #[kg/h]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rate of condensation per unit length is\",m_dot,\"kg/h\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.50,Page no:3.113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 286,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mass rate of steam condensation is 158.0 kg/h\n",
+ "NOTE:ERROR in Solution in book.Do is wrongly taken as 0.012 in lines 17 and 22 of the book,Also A is wrongly calculated\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Mass rate of steam condensation\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=960.0 #[kg/m**3]\n",
+ "k=0.68 #[W/m.K]\n",
+ "mu=282.0*10**-6 #[kg/(m.s)]\n",
+ "Tw=371.0 #Tube wall temperature [K]\n",
+ "Ts=373.0 #Saturation temperature in [K]\n",
+ "dT=Ts-Tw #[K]\n",
+ "lamda=2256.9 #[kJ/kg]\n",
+ "lamda=lamda*10**3 #[J/kg]\n",
+ "\n",
+ "#Calculation\n",
+ "#For a square array with 100tubes,n=10\n",
+ "Do=0.0125 #[m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "n=10.0\n",
+ "h=0.725*(((rho**2)*g*lamda*(k**3)/(mu*n*Do*dT))**(1.0/4.0)) #W/(sq m.K)\n",
+ "\n",
+ "L=1.0 #[m]\n",
+ "#n=100\n",
+ "n=100.0 \n",
+ "A=n*math.pi*Do*L #[m**2/m length]\n",
+ "Q=h*A*dT #Heat transfer rate in [W/m]\n",
+ "ms_dot=Q/lamda #[kg/s]\n",
+ "ms_dot=ms_dot*3600.0 #[kg/h]\n",
+ "\n",
+ "#Result\n",
+ "print\"Mass rate of steam condensation is\",round(ms_dot),\"kg/h\" \n",
+ "print\"NOTE:ERROR in Solution in book.Do is wrongly taken as 0.012 in lines 17 and 22 of the book,Also A is wrongly calculated\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.51,Page no:3.114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 288,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Tube length is 0.29 m\n",
+ "Rate of condensation per hour is 14.32 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Saturated tube condensate in a wall\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "rho=975.0 #[kg/m**3]\n",
+ "k=0.871 #[W/m.K]\n",
+ "dT=10.0 #[K]\n",
+ "mu=380.5*10**-6 #[N.s/m**2]\n",
+ "lamda=2300.0 #[kJ/kg]\n",
+ "lamda=lamda*1000 # Latent heat of condensation [J/kg]\n",
+ "Do=100.0 #Outer diameter [mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "\n",
+ "#Calculation\n",
+ "#for horizontal tube\n",
+ "h1=0.725*((rho**2*lamda*g*k**3)/(mu*Do*dT))**(1.0/4.0) #Average heat transfer coefficient\n",
+ "#for vertical tube\n",
+ "#h2=0.943*((rho**2*lambda*g*k**3)/(mu*L*dT))**(1/4) #Average heat transfer coefficient\n",
+ "h2=h1 #For vertical tube\n",
+ "#implies that\n",
+ "L=(0.943*((rho**2*lamda*g*k**3)**(1.0/4.0))/(h1*((mu*dT)**(1.0/4.0))))**4 #[m]\n",
+ "L=0.29 #Approximate in book\n",
+ "h=0.943*((rho**2*lamda*g*k**3)/(mu*L*dT))**(1.0/4.0) #[W/(sq m.K)]\n",
+ "A=math.pi*Do*L #Area in [m**2]\n",
+ "Q=h*A*dT #Heat transfer rate [W]\n",
+ "mc_dot=Q/lamda #[Rate of condensation]in [kg/s]\n",
+ "mc_dot=mc_dot*3600 #[kg/h]\n",
+ "\n",
+ "#Result\n",
+ "print\"Tube length is\",L,\"m\"\n",
+ "print\"Rate of condensation per hour is\",round(mc_dot,2),\"kg/h\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.52,Page no:3.115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 289,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For vertical position,Rate of condensation is 36.57 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Condensation rate\n",
+ "\n",
+ "#Variable declaration\n",
+ "m1_dot=50.0 # For horizontal position[kg/h]\n",
+ "Do=10.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "L=1.0 #[m]\n",
+ "#For 100 tubes n=10\n",
+ "n=10.0 \n",
+ "\n",
+ "#Calculation\n",
+ "#We know that\n",
+ "#m_dot=Q/lambda=h*A*dT/lambda\n",
+ "#m_dot is proportional to h\n",
+ "#m1_dot prop to h1\n",
+ "#m2_dot propn to h2\n",
+ "#m1_dot/m2_dot=h1/h2\n",
+ "#or :\n",
+ "m2_dot=m1_dot/((0.725/0.943)*(L/(n*Do))**(1.0/4.0)) #[kg/h]\n",
+ "\n",
+ "#Result\n",
+ "print\"For vertical position,Rate of condensation is\",round(m2_dot,2),\"kg/h\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:3.53,Page no:3.116"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 295,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i)- Average heat transfer coefficient is 6060.0 W/(m**2.K)\n",
+ "(ii)-Local heat transfer coefficient at 0.5 m height is 5404.0 W/(m^2.K)\n",
+ "(iii)-Film thickness is 0.124 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Condensation on vertical plate\n",
+ "rho=975 #[kg/m**3]\n",
+ "k=0.671 #[W/(m.K)]\n",
+ "mu=3.8*10**-4 #[N.s/m**2]\n",
+ "dT=10 #[K]\n",
+ "lamda=2300*10**3 #[J/kg]\n",
+ "L=1 #[m]\n",
+ "g=9.81 #[m/s**2]\n",
+ "\n",
+ "#Calculation\n",
+ "ha=0.943*((rho**2*lamda*g*k**3)/(mu*L*dT))**(1.0/4.0) #W/(sq m.K) #[W/sq m.K]\n",
+ "#Local heat transfer coefficient\n",
+ "#at x=0.5 #[m]\n",
+ "x=0.5 #[m]\n",
+ "h=((rho**2*lamda*g*k**3)/(4*mu*dT*x))**(1.0/4.0) #[W/sq m.K]\n",
+ "delta=((4*mu*dT*k*x)/(lamda*rho**2*g))**(1.0/4.0) #[m]\n",
+ "delta=delta*10**3 #[mm]\n",
+ "\n",
+ "#Result\n",
+ "print\"(i)- Average heat transfer coefficient is\",round(ha),\" W/(m**2.K)\"\n",
+ "print\"(ii)-Local heat transfer coefficient at 0.5 m height is\",round(h),\"W/(m^2.K)\"\n",
+ "print\"(iii)-Film thickness is\",round(delta,3),\"m\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Heat_Transfer_by_K._A._Gavhane/Chapter_4.ipynb b/Heat_Transfer_by_K._A._Gavhane/Chapter_4.ipynb
new file mode 100644
index 00000000..b138a5a0
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/Chapter_4.ipynb
@@ -0,0 +1,1153 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter4: Radiation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.1,Page no:4.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat loss by radiation is 704.0 W/m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss by radiaiton\n",
+ "\n",
+ "#Variable declaration\n",
+ "e=0.9 #[Emissivity]\n",
+ "sigma=5.67*10**-8 #[W/m**2.K**4]\n",
+ "T1=377 #[K]\n",
+ "T2=283 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Qr_by_a=e*sigma*(T1**4-T2**4) #[W/sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat loss by radiation is\",round(Qr_by_a),\"W/m^2\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.2,Page no:4.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat transfer by radiation is 841.2 W/sq m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Radiation from unlagged steam pipe\n",
+ "\n",
+ "#Variable declaration\n",
+ "e=0.9 #Emissivity\n",
+ "T1=393 #[K]\n",
+ "T2=293 #[K]\n",
+ "sigma=5.67*10**-8 #[W/sq m.K]\n",
+ "#Calculation\n",
+ "Qr_by_a=e*sigma*(T1**4-T2**4) #W/sq m\n",
+ "#Result\n",
+ "print\"Rate of heat transfer by radiation is\",round(Qr_by_a,1),\"W/sq m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.3,Page no:4.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net radiaiton rate per 1 metre length of pipe is 204.0 W/m(approx)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Interchange of radiation energy\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "L=1 #[m]\n",
+ "e=0.8 #Emissivity\n",
+ "sigma=5.67*10**-8 #[m**2.K**4]\n",
+ "T1=423.0 #[K]\n",
+ "T2=300.0 #[K]\n",
+ "Do=60.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "A=round(math.pi*Do*L,3) #[sq m]\n",
+ "Qr=e*sigma*A*(T1**4-T2**4) #[W/m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Net radiaiton rate per 1 metre length of pipe is\",round(Qr),\"W/m(approx)\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.4,Page no:4.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total heat loss by convection is 344.9 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss in unlagged steam pipe\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "e=0.9 #Emissivity\n",
+ "L=1.0 #[m]\n",
+ "Do=50.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "sigma=5.67*10**-8 #[W/(m**2.K**4)]\n",
+ "T1=415.0 #[K]\n",
+ "T2=290.0 #[K]\n",
+ "dT=T1-T2 #[K]\n",
+ "#Calculation\n",
+ "hc=1.18*(dT/Do)**(0.25) #[W/sq m.K]\n",
+ "A=math.pi*Do*L #Area in [sq m]\n",
+ "Qc=hc*A*dT #Heat loss by convection W/m\n",
+ "Qr=e*sigma*A*(T1**4-T2**4) #Heat loss by radiation per length W/m\n",
+ "Qt=Qc+Qr #Total heat loss in [W/m]\n",
+ "#Result\n",
+ "print\"Total heat loss by convection is\",round(Qt,1),\"W/m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.5,Page no:4.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total heat loss is 2712.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Loss from horizontal pipe\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "e=0.85\n",
+ "sigma=5.67*10**-8 #[W/sq m.K]\n",
+ "T1=443.0 #[K]\n",
+ "T2=290.0 #[K]\n",
+ "dT=T1-T2 #[K]\n",
+ "hc=1.64*dT**0.25 #W/sq m.K\n",
+ "Do=60.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "L=6 #Length [m]\n",
+ "#Calculation\n",
+ "A=math.pi*Do*L #Surface area of pipe in [sq m]\n",
+ "Qr=e*sigma*A*(T1**4-T2**4) # Rate of heat loss by radiaiton W\n",
+ "Qc=hc*A*(T1-T2) # Rate of heat loss by convection [W]\n",
+ "Qt=Qr+Qc #Total heat loss [W]\n",
+ "#Result\n",
+ "print\"Total heat loss is\",round(Qt),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.6,Page no:4.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat lost by radiation is 1588.5 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss by radiation in tube\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/m**2.K**4]\n",
+ "e1=0.79 \n",
+ "e2=0.93 \n",
+ "T1=500 #[K]\n",
+ "T2=300 #[K]\n",
+ "D=70 #[mm]\n",
+ "D=D/1000 #[m]\n",
+ "L=3 #[m]\n",
+ "W=0.3 #Side of conduit [m]\n",
+ "#Calculation\n",
+ "A1=math.pi*D*L #[sq m]\n",
+ "A1=0.659 #Approximate calculation in book in [m**2]\n",
+ "A2=4*(L*W) #[sq m]\n",
+ "Q=sigma*A1*(T1**4-T2**4)/(1/e1+((A1/A2)*(1/e2-1))) #[W]\n",
+ "#Result\n",
+ "print\"Heat lost by radiation is\",round(Q,1),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.7,Page no:4.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net radiant interchange per square metre is 6571.0 W/sq m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Net radiant interchange\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/sq m.K**4]\n",
+ "T1=703 #[K]\n",
+ "T2=513 #[K]\n",
+ "e1=0.85 \n",
+ "e2=0.75\n",
+ "#Calculation\n",
+ "Q_by_Ar=sigma*(T1**4-T2**4)/(1/e1+1/e2-1) #[W/sq m]\n",
+ "#Result\n",
+ "print\"Net radiant interchange per square metre is\",round(Q_by_Ar),\"W/sq m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.8,Page no:4.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net radiant interchange is 2900.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Radiant interchange between plates\n",
+ "#Variable declaration\n",
+ "L=3 #[m]\n",
+ "A=L**2 #Area in [sq m]\n",
+ "sigma=5.67*10**-8 #[W/sq m.K**4]\n",
+ "T1=373 #[K]\n",
+ "T2=313 #[K]\n",
+ "e1=0.736 \n",
+ "e2=e1 \n",
+ "#Calculation\n",
+ "F12=1.0/((1.0/e1)+(1.0/e2)-1)\n",
+ "Q=sigma*A*F12*(T1**4-T2**4) #[W]\n",
+ "#Result\n",
+ "print\"Net radiant interchange is\",round(Q),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.9,Page no:4.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat loss when of silvered surface is 15.95 W/sq m\n",
+ "\n",
+ " When both surfaces are black,Rate of heat loss is 622.0 W/sq m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat loss from thermofask \n",
+ "#Variable declaration \n",
+ "sigma=5.67*10**-8 #[W/sq m.K**4]\n",
+ "e1=0.05 \n",
+ "e2=0.05\n",
+ "#A1=A2=1 (let)\n",
+ "A1=1 \n",
+ "A2=A1 \n",
+ "\n",
+ "#Calculation\n",
+ "F12=1.0/(1.0/e1+(A1/A2)*(1.0/e2-1)) \n",
+ "T1=368 #[K]\n",
+ "T2=293 #[K]\n",
+ "Q_by_A=sigma*F12*(T1**4-T2**4) #Heat loss per unit Area [W/sq m]\n",
+ "print\"Rate of heat loss when of silvered surface is\",round(Q_by_A,2),\"W/sq m\"\n",
+ "#When both the surfaces are black\n",
+ "e1=1 \n",
+ "e2=1 \n",
+ "F12=1/(1/e1+(A1/A2)*(1/e2-1)) \n",
+ "Q_by_A=sigma*F12*(T1**4-T2**4) #[W/sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"\\n When both surfaces are black,Rate of heat loss is\",round(Q_by_A),\"W/sq m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.10,Page no:4.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The liquid oxygen will evaporate at 0.59 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Diwar flask\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "e1=0.05\n",
+ "e2=e1\n",
+ "A1=0.6944 \n",
+ "A2=1 \n",
+ "T1=293 #[K]\n",
+ "T2=90 #[K]\n",
+ "sigma=5.67*10**-8 #[W/m**2.K**4]\n",
+ "D=0.3 #Diameter in [m]\n",
+ "\n",
+ "#Calculation\n",
+ "F12=1.0/(1.0/e1+(A1/A2)*(1.0/e2-1))\n",
+ "Q_by_A=sigma*F12*(T1**4-T2**4) #[W/sq m]\n",
+ "Q=Q_by_A*math.pi*(D**2) #[kJ/h]\n",
+ "Q=Q*3600/1000 #[kJ/h]\n",
+ "lamda=21.44 #Latent heat in [kJ/kg]\n",
+ "m_dot=Q/lamda #kg/h\n",
+ "\n",
+ "#Result\n",
+ "print\"The liquid oxygen will evaporate at\",round(m_dot,2),\"kg/h\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.11,Page no:4.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate of heat flow due to radiation is 36.62 W\n",
+ "Reduction in heat flow will be 79.97 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat flow due to radiation\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #W/(m**2.K**4)\n",
+ "e1=0.3 \n",
+ "e2=e1 \n",
+ "D1=0.3 #[m]\n",
+ "D2=0.5 #[m]\n",
+ "T1=90 #[K]\n",
+ "T2=313 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "A1=math.pi*D1**2 #Area in [sq m]\n",
+ "A2=math.pi*D2**2#Area in [sq m]\n",
+ "Q1=sigma*A1*(T1**4-T2**4)/(1/e1+(A1/A2)*(1/e2-1)) #[W]\n",
+ "Q1=abs(Q1) #Absolute value in [W]\n",
+ "print\"Rate of heat flow due to radiation is\",round(Q1,2),\"W\"\n",
+ "#When Aluminium is used\n",
+ "e1=0.05\n",
+ "e2=0.5\n",
+ "Q2=sigma*A1*(T1**4-T2**4)/(1/e1+(A1/A2)*(1/0.3-1)) #[W]\n",
+ "Q2=abs(Q2) #Absolute value in [W]\n",
+ "Red=(Q1-Q2)*100/Q1 #Percent reduction\n",
+ "\n",
+ "#Result\n",
+ "print\"Reduction in heat flow will be\",round(Red,2),\"%\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.12,Page no:4.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Nitrogen evaporates at 0.047 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat exchange between concentric shell\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/sq m.K**4]\n",
+ "T1=77.0 #[K]\n",
+ "T2=303.0 #[K]\n",
+ "D1=32.0 #cm\n",
+ "D1=D1/100 #[m]\n",
+ "D2=36.0 #[cm]\n",
+ "D2=D2/100 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "A1=math.pi*D1**2 #[sq m]\n",
+ "A2=math.pi*D2**2 #[sq m]\n",
+ "e1=0.03 \n",
+ "e2=e1 \n",
+ "Q=sigma*A1*(T1**4-T2**4)/(1.0/e1+(A1/A2)*(1.0/e2-1)) #[W]\n",
+ "Q=Q*3600.0/1000 #[kJ/h]\n",
+ "Q=abs(Q) #[kJ/h]\n",
+ "lamda=201.0 #kJ/kg\n",
+ "m_dot=Q/lamda #Evaporation rate in [kg/h]\n",
+ "#Result\n",
+ "print\"Nitrogen evaporates at\",round(m_dot,3),\"kg/h\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.13,Page no:4.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "-2.4112304452\n",
+ "Rate of evaporation is 0.0441 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Evaporation in concenric vessels\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "D1=250.0 #Inner sphere idameter[mm]\n",
+ "D1=D1/1000 #Outer diameter [m]\n",
+ "D2=350.0 #[mm]\n",
+ "D2=D2/1000 #[m]\n",
+ "sigma=5.67*10**-8 #W/(sq m.K**4)\n",
+ "#Calculation\n",
+ "A1=math.pi*D1**2 #[sq m]\n",
+ "A2=math.pi*D2**2 #[sq m]\n",
+ "T1=76.0 #[K]\n",
+ "T2=300.0 #[K]\n",
+ "e1=0.04 \n",
+ "e2=e1 \n",
+ "Q=sigma*A1*(T1**4-T2**4)/((1.0/e1)+(A1/A2)*((1.0/e2)-1)) #[W]\n",
+ "Q=-2.45 #Approximate\n",
+ "Q=abs(Q) #[W]\n",
+ "Q=Q*3600.0/1000 #[kJ/h]\n",
+ "lamda=200.0 #kJ/kg\n",
+ "Rate=Q/lamda #[kg/h]\n",
+ "#Result\n",
+ "print\"Rate of evaporation is\",Rate,\"kg/h\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.15,Page no:4.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer rate per unit area(WITHOUT SHIELD) due to radiation is 363.1 W/sq m\n",
+ "\n",
+ "Heat transfer rate per unit area(WITH SHIELD) due to radiation is 248.44 W/sq m\n",
+ "\n",
+ "Reduction in heat loss is 31.58 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "#infinitely long plates\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/(m**2.K**4)]\n",
+ "e1=0.4\n",
+ "e3=0.2\n",
+ "T1=473 #[K]\n",
+ "T3=303 #[K]\n",
+ "#Calculation\n",
+ "Q_by_a=sigma*(T1**4-T3**4)/((1.0/e1)+(1.0/e3)-1) #[W/sq m]\n",
+ "#Q1_by_a=sigma*(T1**4-T2**4)/((1/e1)+(1/e2)-1)=sigma*A*(T2**4-T3**4)/((1/e2)+(1/e3)-1) #[W/sq m]\n",
+ "e2=0.5\n",
+ "#Solving we get\n",
+ "T2=((6.0/9.5)*((3.5/6)*T3**4+T1**4))**(1.0/4.0) #[K]\n",
+ "Q1_by_a=sigma*(T1**4-T2**4)/((1.0/e1)+(1.0/e2)-1) #[W/sq m]\n",
+ "red=(Q_by_a-Q1_by_a)*100/Q_by_a\n",
+ "#Result\n",
+ "print\"Heat transfer rate per unit area(WITHOUT SHIELD) due to radiation is\",round(Q_by_a,1),\"W/sq m\"\n",
+ "print\"\\nHeat transfer rate per unit area(WITH SHIELD) due to radiation is\",round(Q1_by_a,2),\"W/sq m\"\n",
+ "print\"\\nReduction in heat loss is\",round(red,2),\"%\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.16,Page no:4.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Steady state temperatures,Tc= 560.94 K,and Td= 461.73 K\n",
+ "Rate of heat exchange per unit area= 770.95 W/m**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat exchange between parallel plates\n",
+ "from scipy.optimize import fsolve\n",
+ "import math\n",
+ "#In steady state,we can write:\n",
+ "#Qcd=Qdb\n",
+ "#sigma(Tc**4-Td**4)*/(1/ec+1/ed-1)=sigma(Td**4-Tb**4)/(1/ed+1/eb-1)\n",
+ "# i.e Td**4=0.5*(Tc**4-Tb**4)\n",
+ "#Variable declaration\n",
+ "Ta=600 #[K]\n",
+ "eA=0.8 \n",
+ "eC=0.5 \n",
+ "eD=0.4 \n",
+ "sigma=5.67*10**-8 #For air\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#(600**4-Tc**4)/2.25=(Tc**4-Td**4)/3.5\n",
+ "#1.56*(600**4-Tc**4)=Tc**4-Td**4\n",
+ "#Putting value of Td in terms of Tc\n",
+ "#1.56*(600**4-Tc**4)=Tc**4-0.5*(Tc**4-300**4)\n",
+ "def f(Tc):\n",
+ " y=1.56*(600**4-Tc**4)-Tc**4+0.5*(Tc**4-300**4)\n",
+ " return(y)\n",
+ "Tc=fsolve(f,500) #[K]\n",
+ "#or\n",
+ "Tc=560.94 #[K] Approximate after solving\n",
+ "Td=math.sqrt(math.sqrt(0.5*(Tc**4-300**4))) #[K]\n",
+ "Q_by_a=sigma*(Ta**4-Tc**4)/(1/eA+1/eC-1) #[W/sq m]\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print\"Steady state temperatures,Tc=\",Tc,\"K,and Td=\",round(Td,2),\" K\"\n",
+ "print\"Rate of heat exchange per unit area=\",round(Q_by_a,2),\"W/m**2\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.17,Page no:4.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Due to thermal radiaiton,Loss of heat to surrounding is 5600.0 W/m\n",
+ "When pipe is enclosed in 1 400 mm diameter brick conduit,Loss of heat is 5390.0 W/m\n",
+ " Reduction in heat loss is 210.0 W/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Thermal radiation in pipe\n",
+ "\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/(sq m.K**4)]\n",
+ "e=0.8\n",
+ "T1=673 #[K]\n",
+ "T2=303 #[K]\n",
+ "Do=200 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "L=1 #Let [m]\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "A1=math.pi*Do*L #[m**2/m]\n",
+ "#CAse 1: Pipe to surrundings\n",
+ "\n",
+ "Q1=e*A1*sigma*(T1**4-T2**4) #[W/m]\n",
+ "Q1=5600 #Approximated\n",
+ "#Q1=5600 #[W/m] approximated in book for calculation purpose\n",
+ "#Concentric cylinders\n",
+ "e1=0.8 \n",
+ "e2=0.91 \n",
+ "D1=0.2 #[m]\n",
+ "D2=0.4 #[m]\n",
+ "Q2=sigma*0.628*(T1**4-T2**4)/((1/e1)+(D1/D2)*((1/e2)-1)) #[W/m] length\n",
+ "Red=Q1-Q2 #Reduction in heat loss\n",
+ "\n",
+ "#Result\n",
+ "print\"Due to thermal radiaiton,Loss of heat to surrounding is\",round(Q1),\"W/m\"\n",
+ "print\"When pipe is enclosed in 1 400 mm diameter brick conduit,Loss of heat is\",round(Q2),\"W/m\" \n",
+ "print\" Reduction in heat loss is\",round(Red),\"W/m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.18,Page no:4.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer by radiaiton is 6229.0 W/sq m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer in concentric tube\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/(sq m.K**4)]\n",
+ "T1=813.0 #[K]\n",
+ "T2=473.0 #[K]\n",
+ "e1=0.87 \n",
+ "e2=0.26 \n",
+ "D1=0.25 #[m]\n",
+ "D2=0.3 #[m]\n",
+ "#Calculation\n",
+ "Q_by_a1=sigma*(T1**4-T2**4)/(1.0/e1+(D1/D2)*(1.0/e2-1.0)) #[W/ sqm]\n",
+ "#Result\n",
+ "print\"Heat transfer by radiaiton is\",round(Q_by_a1),\"W/sq m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.19,Page no:4.24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net radiant heat exchange between plates is 18334.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat exchange between black plates\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/sq m.K**4]\n",
+ "A1=0.5*1 #[sq m]\n",
+ "F12=0.285\n",
+ "T1=1273 #/[K]\n",
+ "T2=773 #[K]\n",
+ "#Calculation\n",
+ "Q=sigma*A1*F12*(T1**4-T2**4) #[W]\n",
+ "#Result\n",
+ "print\"Net radiant heat exchange between plates is\",round(Q),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.20,Page no:4.32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Reduction in heat transfer rate as a result of radiaiotn shield is 94.35 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Radiation shield\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/sq m.K**4]\n",
+ "T1=750 #[K]\n",
+ "T2=500 #[K]\n",
+ "e1=0.75 \n",
+ "e2=0.5 \n",
+ "\n",
+ "#Calculation\n",
+ "#Heat transfer without shield :\n",
+ "Q_by_a=sigma*(T1**4-T2**4)/((1/e1)+(1/e2)-1) #[W/sq m]\n",
+ "\n",
+ "#Heat transfer with shield:\n",
+ "R1=(1-e1)/e1 #Resistance 1\n",
+ "F13=1 \n",
+ "R2=1/F13 #Resistance 2\n",
+ "e3=0.05\n",
+ "R3=(1-e3)/e3 #Resistance 3\n",
+ "R4=(1-e3)/e3 #Resistance 4\n",
+ "F32=1 \n",
+ "R5=1/F32 #Resistance 5\n",
+ "R6=(1-e2)/e2 #Resistance 6\n",
+ "Total_R=R1+R2+R3+R4+R5+R6 #Total resistance\n",
+ "Q_by_as=sigma*(T1**4-T2**4)/Total_R #[W/sq m]\n",
+ "Red=(Q_by_a-Q_by_as)*100/Q_by_a #Reduciton in heat tranfer due to shield \n",
+ "\n",
+ "#Result\n",
+ "print\"Reduction in heat transfer rate as a result of radiaiotn shield is\",round(Red,2),\"percent\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.21,Page no:4.33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The heat transfer is reduced by 93.2 % due to shield\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer with radiaiton shield\n",
+ "\n",
+ "#Variable declaration\n",
+ "e1=0.3\n",
+ "e2=0.8\n",
+ "\n",
+ "#Calculation\n",
+ "#Let sigma*(T1**4-T2**4)=z=1(const)\n",
+ "z=1 #Let\n",
+ "Q_by_A=z/(1/e1+1/e2-1) #W/sq m\n",
+ "\n",
+ "#Heat transfer with radiation shield \n",
+ "e3=0.04\n",
+ "F13=1 \n",
+ "F32=1 \n",
+ "#The resistances are:\n",
+ "R1=(1-e1)/e1\n",
+ "R2=1.0/F13\n",
+ "R3=(1-e3)/e3\n",
+ "R4=R3\n",
+ "R5=1.0/F32\n",
+ "R6=(1-e2)/e2\n",
+ "R=R1+R2+R3+R4+R5+R6 #Total resistance\n",
+ "Q_by_As=z/R #where z=sigma*(T1**4-T2**4) #W/sq m\n",
+ "red=(Q_by_A-Q_by_As)*100/Q_by_A #Percent reduction in heat transfer\n",
+ "\n",
+ "#Result\n",
+ "print\"The heat transfer is reduced by\",round(red,1),\"% due to shield\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.22,Page no:4.34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total heat lost by plate 1 is 14423.0 W/sq m\n",
+ "Total heat lost by plate 2 is 2598.0 W/sq m\n",
+ "The net energy lost by both plates must be absorbed by the room 17032.9 = 17021.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Radiaition shape factor\n",
+ "\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 \n",
+ "T1=1273 #[K]\n",
+ "T2=773 #[K]\n",
+ "T3=300 #[K]\n",
+ "A1=0.5 #[sq m]\n",
+ "A2=A1 #[sq m]\n",
+ "F12=0.285 \n",
+ "F21=F12 \n",
+ "F13=1-F12 \n",
+ "F23=1-F21 \n",
+ "e1=0.2 \n",
+ "e2=0.5\n",
+ "\n",
+ "#Calculation\n",
+ "#Resistance in the network are calculated as:\n",
+ "R1=1-e1/(e1*A1)\n",
+ "R2=1-e2/(e2*A2)\n",
+ "R3=1.0/(A1*F12)\n",
+ "R4=1.0/(A1*F13)\n",
+ "R5=1.0/(A2*F23)\n",
+ "R6=0 #Given (1-e3)/e3*A3=0\n",
+ "#Also\n",
+ "Eb1=sigma*T1**4 #W/sq m\n",
+ "Eb2=sigma*T2**4 #[W/sq m]\n",
+ "Eb3=sigma*T3**4 #[W/sq m]\n",
+ "\n",
+ "#Equations are:\n",
+ "#(Eb1-J1)/2+(J2-J1)/7.018+(Eb3-J1)/2.797=0\n",
+ "#(J1-J2)/7.018+(Eb3-J2)/2.797+(Eb2-J2)/2=0\n",
+ "\n",
+ "#On solving we get:\n",
+ "J1=33515 #[W/sq m]\n",
+ "J2=15048 #[W/sqm]\n",
+ "J3=Eb3 #[W/sq m]\n",
+ "Q1=(Eb1-J1)/((1.0-e1)/(e1*A1)) #[W/sq m]\n",
+ "Q2=(Eb2-J2)/((1.0-e2)/(e2*A2)) #[W/sq m]\n",
+ "Q3=(J1-J3)/(1.0/(A1*F13))+(J2-J3)/(1.0/(A2*F23)) #[W/sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Total heat lost by plate 1 is\",round(Q1),\"W/sq m\"\n",
+ "print\"Total heat lost by plate 2 is\",round(Q2),\"W/sq m\" \n",
+ "print\"The net energy lost by both plates must be absorbed by the room\",round(Q3,1),\"=\",round(Q1+Q2)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.23,Page no:4.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " New Radiaiton loss is 4513.9 W/sq m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Radiation loss in plates\n",
+ "\n",
+ "#Variable declaration\n",
+ "sigma=5.67*10**-8 #[W/sq m.K**4]\n",
+ "e1=0.7 \n",
+ "e2=0.7 \n",
+ "T1=866.5 #[K]\n",
+ "T2=588.8 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q_by_A=sigma*(T1**4-T2**4)/((1/e1)+(1/e2)-1) #[W/sq m]\n",
+ "e1=0.7 \n",
+ "e2=e1 \n",
+ "e3=e1 \n",
+ "e4=e1 \n",
+ "e=e1 \n",
+ "#Q with n shells =1/(n+1)\n",
+ "n=2\n",
+ "Q_shield=1/(n+1) \n",
+ "es1=e1 \n",
+ "es2=e1 \n",
+ "Q_by_A=sigma*(T1**4-T2**4)/((1/e1)+(1/e2)+2*(1/es1+1/es2)-(n+1)) #[W/sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"\\n New Radiaiton loss is\",round(Q_by_A,1),\"W/sq m\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:4.24,Page no:4.38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Without shield,Q= -4.182 W/m\n",
+ "With cylindrical radiaiton shield Heat gained by fluid per 1 m lengh of tube is -1.446 W/m\n",
+ "Percent reduction in heat gain is 65.41 %\n",
+ "With radiaiton network approach -1.45 W/sqm \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Radiation in Concentric tube\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "#1.WITHOUT SHIELD\n",
+ "sigma=5.67*10**-8 \n",
+ "e1=0.12 \n",
+ "e2=0.15 \n",
+ "T1=100 #[K]\n",
+ "T2=300 #[K]\n",
+ "r1=0.015 #[m]\n",
+ "r2=0.045 #[m]\n",
+ "L=1 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "A1=2*math.pi*r1*L #[sq m]\n",
+ "Q_by_L=2*math.pi*r1*sigma*(T1**4-T2**4)/(1/e1+(r1/r2)*(1/e2-1)) #[W/m]\n",
+ "#-ve saign indicates that the net heat flow is in the radial inward direction\n",
+ "print \"Without shield,Q=\",round(Q_by_L,3),\"W/m\"\n",
+ "#2.WITH CYLINDRICAL RADIATION SHIELD\n",
+ "e3=0.10 \n",
+ "e4=0.05 \n",
+ "r3=0.0225 #[m]\n",
+ "Qs_by_L=2*math.pi*r1*sigma*(T1**4-T2**4)/(1/e1+r1/r2*(1/e2-1)+(r1/r3)*(1/e3+1/e4-1)) #[W/sq m]\n",
+ "red=(abs(Q_by_L)-abs(Qs_by_L))*100/abs(Q_by_L) #percent reduction in heat gain\n",
+ "\n",
+ "#Radiation network approach\n",
+ "A3=2*math.pi*r3 #[sq m]\n",
+ "A2=2*math.pi*r2 #[sq m]\n",
+ "F13=1 \n",
+ "F32=1 \n",
+ "R1=(1-e1)/(e1*A1)\n",
+ "R2=1.0/(A1*F13)\n",
+ "R3=(1-e3)/(e3*A3)\n",
+ "R4=(1-e4)/(e4*A3)\n",
+ "R5=1.0/(A3*F32)\n",
+ "R6=(1-e2)/(e2*A2)\n",
+ "\n",
+ "Qs=sigma*(T1**4-T2**4)/((1.0-e1)/(e1*A1)+1/(A1*F13)+(1.0-e3)/(e3*A3)+(1.0-e4)/(e4*A3)+1/(A3*F32)+(1.0-e2)/(e2*A2)) \n",
+ "\n",
+ "#Result\n",
+ "print\"With cylindrical radiaiton shield Heat gained by fluid per 1 m lengh of tube is\",round(Qs_by_L,3),\"W/m\" \n",
+ "print\"Percent reduction in heat gain is\",round(red,2),\"%\"\n",
+ "print\"With radiaiton network approach\",round(Qs,2),\"W/sqm \"\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Heat_Transfer_by_K._A._Gavhane/Chapter_5.ipynb b/Heat_Transfer_by_K._A._Gavhane/Chapter_5.ipynb
new file mode 100644
index 00000000..034f1dae
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/Chapter_5.ipynb
@@ -0,0 +1,1823 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter5: Heat Exchangers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.1,Page no:5.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 156,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0.0236\n",
+ "Required surface is fulfilled by connecting 3.0 (three) 6m harpins in series\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Harpin exchanger\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Di=35.0 #[mm]\n",
+ "Di=Di/1000 #[m]\n",
+ "Do=42.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "#for benzene\n",
+ "mb_dot=4450.0 #[kg/h]\n",
+ "Cpb=1.779 #[kJ/(kg.K)]\n",
+ "t2=322.0 #[K]\n",
+ "t1=300.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mb_dot*Cpb*(t2-t1) #for benzene in [kJ/h]\n",
+ "#For toulene\n",
+ "T1=344.0 #[K]\n",
+ "T2=311.0 #[K]\n",
+ "Cpt=1.842 #[kJ/kg.K]\n",
+ "mt_dot=Q/(Cpt*(T1-T2)) #[kg/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "#Hot fluid(toluene)\n",
+ "#Cold fluid(benzene)\n",
+ "dT1=22.0 #[K]\n",
+ "dT2=11.0 #[K]\n",
+ "dTlm=(dT1-dT2)/(math.log(dT1/dT2)) #[K]\n",
+ "#Clod fluid:Inner pipe,benzene\n",
+ "Di=0.035 #[m]\n",
+ "Ai=(math.pi/4)*Di**2 #Flow area[sq m]\n",
+ "Gi=mb_dot/Ai #Mass velocity [kg/m**2.h]\n",
+ "Gi=Gi/3600 #[kg/m**2.s]\n",
+ "mu=4.09*10**-4 #[kg/(m.s)]\n",
+ "Nre=Di*Gi/mu #Reynolds number\n",
+ "Cp=Cpb*10**3 #[J/(kg.K)]\n",
+ "k=0.147 #[W/m.K]\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "hi=(k/Di)*0.023*(Nre**0.8)*(Npr**0.4) #[W/sq m.K]\n",
+ "hio=hi*Di/Do #[W/sq m.K]\n",
+ "D1=0.042 #Outside dia of inside pipe[mm]\n",
+ "D2=0.0525 #Inside dia of outside pipe[m]\n",
+ "De=round((D2**2-D1**2)/D1,4) #[m]\n",
+ "aa=math.pi*(D2**2-D1**2)/4 #Flow area[sq m]\n",
+ "Ga=mt_dot/aa #Mass velocity in [kg/m**2.h]\n",
+ "Ga=Ga/3600 #[kg/m**2.s]\n",
+ "mu=5.01*10**-4 #[kg/(m.s)]\n",
+ "Nre=De*Ga/mu #Reynolds number\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "ho=(k/De)*0.023*(Nre**0.8)*(Npr**0.3) #[W/sq m.K]\n",
+ "Uc=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "Rdi=1.6*10**-4 #Fouling factor [m**2.K/W]\n",
+ "Rdo=1.6*10**-4 #Fouling factor[m**2.K/W]\n",
+ "Rd=Rdi+Rdo #(m**2.K/W)\n",
+ "Ud=1.0/(1.0/Uc+Rd) #[W/sq m.K]\n",
+ "A=Q/(Ud*dTlm) #sq m\n",
+ "ex=0.136 #[sq m]\n",
+ "l=A/ex #m\n",
+ "tl=12 #Total length of one harpin of 6m [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Required surface is fulfilled by connecting\",round(l/tl),\"(three) 6m harpins in series\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.2,Page no:5.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Area = 16.15 m**2,\n",
+ "Length fo pipe required = 51.41 m(approx)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Length of pipe\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "ma_dot=300.0*1000.0/24 #Mass flow rate of acid in [kg/h]\n",
+ "mw_dot=500.0*1000.0/24 #Mass flow rate of water in [kg/h]\n",
+ "Cp1=1.465 #[kJ/kg.K]\n",
+ "T1=333.0 #[K]\n",
+ "T2=313.0 #[K]\n",
+ "Q=ma_dot*Cp1*(T1-T2) #[kJ/h]\n",
+ "Q=Q*1000.0/3600.0 #[W]\n",
+ "Cp2=4.187 #[kJ/kg.K]\n",
+ "t1=288.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "t2=(Q/(mw_dot*Cp2))+t1 #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K] \n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "dTlm=32.26 #Approximation in [K]\n",
+ "#Inner pipe\n",
+ "m_dot=12500.0 #[kg/h]\n",
+ "Di=0.075 #[m]\n",
+ "Ai=(math.pi/4.0)*Di**2 #[sq m]\n",
+ "G=ma_dot/Ai #[kg/m**2.h]\n",
+ "G=G/3600 #[kg/m**2.s]\n",
+ "mu=0.0112 #[kg/m.s]\n",
+ "k=0.302 #W/(m.K)\n",
+ "Nre=Di*G/mu #Reynold number\n",
+ "Npr=Cp1*10**3*mu/k #Prandtl number\n",
+ "hi=(k/Di)*0.023*(Nre**0.8)*(Npr**0.3) #W/sq m.K\n",
+ "Do=0.1 #[m]\n",
+ "hio=hi*Di/Do #W/sq m.K\n",
+ "D1=0.1 #[m]\n",
+ "D2=0.125 #[m]\n",
+ "De=(D2**2-D1**2)/D1 #[m]\n",
+ "Aa=(math.pi/4)*(D2**2-D1**2) #[sq m]\n",
+ "Ga=mw_dot/Aa #[kg/m**2.h]\n",
+ "Ga=Ga/3600 #[kg/sq m.s]\n",
+ "mu=0.0011 #[kg/m.s]\n",
+ "Nre=De*Ga/mu #Reynolds number\n",
+ "k=0.669 #for water\n",
+ "Npr=Cp2*10**3*mu/k #Prandtl number\n",
+ "ho=(k/De)*0.023*(Nre**0.8)*Npr**0.4 #[W/sq m.K]\n",
+ "xw=(Do-Di)/2 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "kw=46.52 #thermal conductivity of wall in [W/m.K]\n",
+ "Uc=1.0/(1.0/ho+1.0/hio+xw*Do/(kw*Dw)) #[W/sq m.K]\n",
+ "Ud=Uc #As dirt factor values are not given\n",
+ "round(Ud,1)\n",
+ "#Ud=195.32 #Approximation\n",
+ "A=Q/(Ud*dTlm) #[sq m]\n",
+ "L=A/(math.pi*Do) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Area =\",round(A,2),\"m**2,\\nLength fo pipe required =\",round(L,2),\"m(approx)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.3,Page no:5.29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total lenggth of double pipe heat exchanger is 36.9 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Double pipe heat exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "me_dot=5500.0 #[kg/h]\n",
+ "me_dot1=me_dot/3600 #[kg/s]\n",
+ "Di=0.037 #I.D of inner pipe in [m]\n",
+ "Ai=(math.pi/4)*Di**2 #[sq m]\n",
+ "G=me_dot1/Ai #[kg/sq m.s]\n",
+ "mu=3.4*10**-3 #[Pa.s] or [kg/(m.s)]\n",
+ "Nre=Di*G/mu #Reynolds number\n",
+ "Cp=2.68 #[kJ/kg.K]\n",
+ "Cp1=Cp*10**3 #[J/kgK]\n",
+ "k=0.248 #[W/m.K]\n",
+ "\n",
+ "#Calculation\n",
+ "Npr=Cp1*mu/k #Prandtl number\n",
+ "#Nre is greater than 10,000,Use Dittus-Boelter eqn:\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.3) #Nusselt number\n",
+ "hi=k*Nnu/Di #[W/sq m.K]\n",
+ "T2=358.0 #[K]\n",
+ "T1=341 #[K]\n",
+ "Cp2=1.80 #[kJ/kg.K]\n",
+ "t2=335 #[K]\n",
+ "t1=303.0 #[K]\n",
+ "mt_dot=me_dot*Cp*(T2-T1)/(Cp2*(t2-t1)) #[kg/h]\n",
+ "mt_dot=mt_dot/3600 #[kg/s]\n",
+ "D1=0.043 #[m]\n",
+ "D2=0.064 #Inside dia of outer pipe\n",
+ "De=(D2**2-D1**2)/D1 #Equivalent diameter [m]\n",
+ "Aa=math.pi/4*(D2**2-D1**2) #[sq m]\n",
+ "Ga=mt_dot/Aa #kg/(sq m.s)\n",
+ "mu2=4.4*10**-4 # Viscosity of toluene Pa.s\n",
+ "k2=0.146 #For toluene [W/m.K]\n",
+ "Cp2=1.8*10**3 #J/kg.K\n",
+ "Nre=De*Ga/mu2 #Reynolds number\n",
+ "Npr=Cp2*mu2/k2 #Prandtl number\n",
+ "Nnu=0.023*Nre**0.8*Npr**0.4 #Nusselt number\n",
+ "ho=k2*Nnu/De #W/(sq m.K)\n",
+ "Dw=(D1-Di)/math.log(D1/Di) #[m]\n",
+ "x=0.003 #Wall thickness in [m]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi)*(D1/Di)+(x*D1/(46.52*Dw))) #[W/sq m.K]\n",
+ "dT1=38.0 #[K]\n",
+ "dT2=23 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=me_dot1*Cp*(T2-T1) #[kJ/s]\n",
+ "Q=Q*1000 #[J/s]\n",
+ "L=Q/(Uo*math.pi*D1*dTlm) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Total lenggth of double pipe heat exchanger is\",round(L,1),\"m\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.4,Page no:5.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Effectiveness of heat exchanger is 0.647\n",
+ "Outlet temperature of hot liquid is 321.9 K( 48.9 degree C)\n",
+ "Outlet temperature of water is 297.23 K( 24.23 degree C)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Parallel flow arrangement\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "mc_dot=1000.0 #[kg/h]\n",
+ "mc_dot=mc_dot/3600 #[kg/s]\n",
+ "mh_dot=250.0 #[kg/h]\n",
+ "mh_dot=mh_dot/3600 #[kg/s]\n",
+ "Cpc=4187.0 #[J/(kg.K)]\n",
+ "Cph=3350 #[W/K]\n",
+ "\n",
+ "#Calculation\n",
+ "w=mc_dot*Cpc #[W/K]\n",
+ "l=mh_dot*Cph #[W/K]\n",
+ "C=mh_dot*Cph/(mc_dot*Cpc)\n",
+ "U=1160.0 #[W/sq m.K]\n",
+ "A=0.25 #Heat transfer surface for exchanger in [sq m]\n",
+ "ntu=U*A/(mh_dot*Cph) #\n",
+ "E=(1-math.exp(-ntu*(1+C)))/(1+C) #Effectiveness of heat exchanger\n",
+ "T1=393.0 #Inlet temperature in [K]\n",
+ "t1=283 #Cooling water [K]\n",
+ "T2=T1-E*(T1-t1) #Outlet T of hot liquid \n",
+ "\n",
+ "t2=C*(T1-T2)+t1 #[K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Effectiveness of heat exchanger is \",round(E,3)\n",
+ "print\"Outlet temperature of hot liquid is \",round(T2,1),\"K(\",round(T2,1)-273,\"degree C)\"\n",
+ "print\"Outlet temperature of water is \",round(t2,2),\"K(\",round(t2,2)-273,\"degree C)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.5,Page no:5.36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Effectiveness of exchanger is 0.9512\n",
+ "Outlet temperature of oil is 291.85 K( 18.85 degree C)\n",
+ "Outlet temperature of water is 303.19 K( 303.19 degree C)\n",
+ "Rate of heat transfer is 22962.5 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Counter flow exchanger\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Cpc=4187.0 #Specific heat of water in [J/(kg.K)]\n",
+ "Cph=2000.0 #Sp heat of oil in [J/(kg.K)]\n",
+ "mc_dot=1300.0/3600 #[kg/s]\n",
+ "mh_dot=550.0/3600 #[kg/s]\n",
+ "w=mc_dot*Cpc #[W/K]\n",
+ "o=mh_dot*Cph #[W/K]\n",
+ "\n",
+ "#Calculation\n",
+ "#Heat capacity of rate of hot fluid is smaller than water\n",
+ "U=1075.0 #[W/sq m.K]\n",
+ "A=1.0 #[sq m]\n",
+ "ntu=(U*A)/(mh_dot*Cph) \n",
+ "C=mh_dot*Cph/(mc_dot*Cpc) \n",
+ "E=(1-math.exp(-ntu*(1-C)))/(1-C*math.exp(-ntu*(1-C))) #Effeciency\n",
+ "T1=367.0 #[K]\n",
+ "t1=288.0 #[K]\n",
+ "T2=T1-E*(T1-t1) #Outlet temperature [K]\n",
+ "T2=round(T2,2)\n",
+ "#T2=291.83 #Approximated in book without precise calculation\n",
+ "t2=C*(T1-T2)+t1 #[K]\n",
+ "Q=mh_dot*Cph*(T1-T2) #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Effectiveness of exchanger is\",round(E,4)\n",
+ "print\"Outlet temperature of oil is\",T2,\"K(\",T2-273,\"degree C)\"\n",
+ "print\"Outlet temperature of water is\",round(t2,2),\"K(\",round(t2,2),\"degree C)\"\n",
+ "print\"Rate of heat transfer is\",round(Q,1),\"W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.6,Page no:5.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "By LMTD approach area of heat exchanger is 0.607 m^2\n",
+ "By Ntu approach Area of heat exchanger is 0.607 m^2\n",
+ "Outlet temperature of cold water= 306.0 K( 33.0 degree C)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#LMTD approach\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "#LMTD Approach\n",
+ "Cph=4187.0 #[J/(kg.K)]\n",
+ "mh_dot=600.0/3600 #Hot side flow rate [kg/s]\n",
+ "mc_dot=1500.0/3600 #[kg/s]\n",
+ "Cpc=Cph #[J/kg.K]\n",
+ "T1=343.0 #[K]\n",
+ "T2=323.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mh_dot*Cph*(T1-T2) #[W]\n",
+ "t1=298.0 #[K]\n",
+ "t2=(mh_dot*Cph*(T1-T2))/(mc_dot*Cpc)+t1 #[K]\n",
+ "dT1=45.0 #[K]\n",
+ "dT2=17.0 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "hi=1600.0 #Heat transfer coeff in [W/sq m.K]\n",
+ "ho=hi #[W/sq m.K]\n",
+ "U=1.0/(1.0/hi+1.0/ho) #[W/sq m.K]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#Effectiveness-NTU approach\n",
+ "#hot water:\n",
+ "h=mh_dot*Cph #[W/K]\n",
+ "c=mc_dot*Cpc #[W/K]\n",
+ "#Heat capacity rate of hot fluid is small\n",
+ "C=mh_dot*Cph/(mc_dot*Cpc) #\n",
+ "E=(T1-T2)/(T1-t1) #Effectiveness\n",
+ "#for paralell flow:\n",
+ "ntu=-math.log(1-E*(1+C))/(1+C) \n",
+ "A2=(ntu*mh_dot*Cph)/U #[sq m]\n",
+ "t2=C*(T1-T2)+t1 #[K]\n",
+ "\n",
+ "#Result\n",
+ "print\"By LMTD approach area of heat exchanger is\",round(A,3),\"m^2\"\n",
+ "print\"By Ntu approach Area of heat exchanger is\",round(A,3),\"m^2\"\n",
+ "print\"Outlet temperature of cold water=\",t2,\"K(\",t2-273,\"degree C)\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.7,Page no:5.39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of tubes required = 44.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Shell and tube exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mw_dot=10.0 #[kg/s]\n",
+ "Cpw=4.187 #[kJ/(kg.K)]\n",
+ "t2=318.0 #[K]\n",
+ "t1=295 #[K]\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/s]\n",
+ "Q=Q*1000 #W\n",
+ "dT1=98.0 #[K]\n",
+ "dT2=75 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "hi=850.0 #[W/sq m.K]\n",
+ "id=0.027 #Inside dia[m]\n",
+ "od=0.031 #Outside dia [m]\n",
+ "hio=hi*id/od #[W/sq m.K]\n",
+ "ho=6000.0 #Heat transfer coefficients[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=4.0 #Length [m]\n",
+ "n=Ao/(math.pi*od*L) #[No. of tubes]\n",
+ "\n",
+ "#Result\n",
+ "print\"Number of tubes required =\",round(n)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.8,Page no:5.40"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Fouling factor=Sclae resistance=9.65e-04 m^2 K/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Order of Scale resistance\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mdot=7250 #Nitrobenzene in shell in [kg/h]\n",
+ "Cp=2.387 #[kJ/(kg.K)]\n",
+ "mu=7*10**-4 #Pa.s\n",
+ "k=0.151 #[W/m.K]\n",
+ "T1=400.0 #[K]\n",
+ "T2=317.0 #[K]\n",
+ "t1=305.0 #[K]\n",
+ "t2=345.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=mdot*Cp*(T1-T2) #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "n=166.0 #no of tubes\n",
+ "L=5.0 #[m]\n",
+ "Do=0.019 #[m]\n",
+ "Di=0.015 #[m]\n",
+ "Ao=n*math.pi*Do*L #[sq m]\n",
+ "Uo=Q/(Ao*dTlm) #[W/sq m.K]\n",
+ "Ud=Uo\n",
+ "#Shell side heat transfer coefficient\n",
+ "Pt=0.025 #[m]\n",
+ "C_dash=Pt-(0.5*Do+0.5*Do)\n",
+ "\n",
+ "#Shell side crossflow area\n",
+ "B=0.15 #[m]\n",
+ "id=0.45 #[m]\n",
+ "ass=id*C_dash*B/Pt #[sq m]\n",
+ "#As there are two shell passes,area per pass is :\n",
+ "as_dash=ass/2 #[sq m]\n",
+ "\n",
+ "#Equivalent diameter of shell \n",
+ "De=4*(Pt**2-(math.pi/4)*Do**2)/(math.pi*Do) #[m]\n",
+ "\n",
+ "#Mass velocity on shell side\n",
+ "Gs=mdot/as_dash #[kg/m**2.h]\n",
+ "Gs=Gs/3600 #[kg/m**2.s]\n",
+ "mu=7.0*10**-4 #Pa.s\n",
+ "Cp=Cp*1000 #J/kg.K\n",
+ "Nre=De*Gs/mu #Reynold number\n",
+ "Npr=Cp*mu/k #Prandtls number\n",
+ "Nnu=0.36*Nre**0.55*Npr**(1.0/3.0) #Nusselts number\n",
+ "hi=1050.0 #[W/sq m .K]\n",
+ "ho=Nnu*k/De #[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi*(Do/Di))) #[W/sq m K]\n",
+ "Uc=Uo\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #m**2.K/W\n",
+ "\n",
+ "#Result\n",
+ "print\"Fouling factor=Sclae resistance=%.2e\" %round(Rd,6),\"m^2 K/W\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.9,Page no:5.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Length of tube required is 4.4 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Length of tube required\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "k=0.628 #W/(m.K)\n",
+ "rho=980.0 #[kg/m**3]\n",
+ "mu=6*10**-4 #kg/(m.s)\n",
+ "Cpw=4.187 #kJ/(kg.K)\n",
+ "Cp=Cpw*10**3 #J/(kg.K)\n",
+ "Di=25.0 #[mm]\n",
+ "Di=Di/1000 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "mw_dot=1200.0*10**-3*rho #Mass flow rate of water [kg/h]\n",
+ "mw_dot=mw_dot/3600.0 #[kg/s]\n",
+ "Ai=(math.pi*Di**2)/4.0 #Inside area of tube in sq m\n",
+ "G=mw_dot/Ai #kg/m**2.s\n",
+ "Nre=Di*G/mu #Reynolds number\n",
+ "Npr=Cp*mu/k #Pranddtl number\n",
+ "#Inside heat transfer coefficient\n",
+ "Nnu=0.023*Nre**0.8*Npr**0.4 #Nusselt number\n",
+ "hi=Nnu*k/Di #[W/sq m.K]\n",
+ "ho=6000.0 #[W#sq m.K]\n",
+ "Do=0.028 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "x=(Do-Di)/2 #[m]\n",
+ "k2=348.9 #thermal conductivity of metal in [W/m.K]\n",
+ "Uo=1.0/((1.0/ho)+(1.0/hi)*(Do/Di)+(x/k2)*(Do/Dw)) #[W/sq m.K]\n",
+ "t1=303.0 #[K]\n",
+ "t2=343.0 #[K]\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/h]\n",
+ "Q=Q*1000.0 #[W]\n",
+ "Ts=393.0 #[K]\n",
+ "dT1=Ts-t1 #[K]\n",
+ "dT2=Ts-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=Ao/(math.pi*Do) #Length\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of tube required is\",round(L,2),\"m\" \n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.10,Page no:5.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 87,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rd calculated(1.01e-03 W/m^2.K) is maximum allowable scale resistance\n",
+ "As Rd calculated(1.01e-03 W/m^2K) is more than Rd given 9e-04( W/m^2,K),the given heat exchanger is suitable\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Suitability of Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "m_dot=7250.0 #[kg/h] of nitrobenzene \n",
+ "Cp=2.387 #[kJ/kg.K]\n",
+ "mu=7*10**-4 #[kg/m.s]\n",
+ "k=0.151 #[W/m.K]\n",
+ "vis=1.0 \n",
+ "Ft=0.9 #LMTD correction factor\n",
+ "T1=400.0 #[K]\n",
+ "T2=317.0 #[K]\n",
+ "t1=333.0 #[K]\n",
+ "t2=300.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t1 #[K]\n",
+ "dT2=T2-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "#For nitrobenzene\n",
+ "Q=m_dot*Cp*(T1-T2) #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "n=170.0 #No. of tubes\n",
+ "L=5.0 #[m]\n",
+ "Do=0.019 #[m]\n",
+ "Di=0.015 #[m]\n",
+ "Ao=n*math.pi*Do*L #[sq m]\n",
+ "Uo=Q/(Ao*Ft*dTlm) #[W/sq m.K]\n",
+ "Ud=Uo #[W/sq m.K]\n",
+ "B=0.15 #Baffle spacing [m]\n",
+ "Pt=0.025 #Tube pitch in [m]\n",
+ "C_dash=Pt-Do # ance in [m]\n",
+ "id=0.45 #[m]\n",
+ "\n",
+ "#Shell side cross flow area\n",
+ "ass=id*C_dash*B/Pt #[sq m]\n",
+ "\n",
+ "#Equivalent diameter of shell\n",
+ "De=4*(Pt**2-(math.pi/4)*(Do**2))/(math.pi*Do) #[m]\n",
+ "\n",
+ "#Mass velocity on shell side\n",
+ "Gs=m_dot/ass #[kg/(m.h)]\n",
+ "Gs=Gs/3600.0 #[kg/m**2.s]\n",
+ "mu=7.0*10**-4 #[kg/m.s]\n",
+ "Cp=Cp*1000.0 #[J/kg.K]\n",
+ "Nre=De*Gs/mu #Reynolds number\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "\n",
+ "#From empirical eqn:\n",
+ "mu_w=mu #\n",
+ "Nnu=0.36*Nre**0.55*Npr**(1.0/3.0)\n",
+ "ho=Nnu*k/De #[W/sq m.K]\n",
+ "hi=1050.0 #Given [W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi)*(Do/Di)) #[W/sq m.K]\n",
+ "Uc=Uo #W/sq m.K\n",
+ "\n",
+ "#Suitability of heat exchanger\n",
+ "Rd_given=9*10**-4 #[W/sq m.K]\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #[W/sq m.K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rd calculated(%.2e\"%Rd,\"W/m^2.K) is maximum allowable scale resistance\"\n",
+ "print\"As Rd calculated(%.2e\"%Rd,\"W/m^2K) is more than Rd given %.e(\"%Rd_given,\" W/m^2,K),the given heat exchanger is suitable\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.11,Page no:5.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 90,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of tubes required= 1.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Number of tubes required\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mw_dot=1720.0 #water in [kg/h]\n",
+ "t1=293.0 #[K]\n",
+ "t2=318.0 #[K]\n",
+ "Cpw=4.28 #[kJ/kg.K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #W\n",
+ "lamda=2230.0 #[kJ/kg]\n",
+ "dT1=90.0 #[K]\n",
+ "dT2=65.0 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "\n",
+ "#Calculation of inside heat transfer coefficient\n",
+ "Di=0.0225 #[m]\n",
+ "u=1.2 #[m/s]\\\n",
+ "rho=995.7 #[kg/m**3]\n",
+ "v=0.659*10**-6 #[m/s]\n",
+ "mu=v*rho #[kg/m.s]\n",
+ "Nre=Di*u*rho/mu #reynolds number\n",
+ "Cp=Cpw*1000 #[J/kg.K]\n",
+ "k=2.54 #[kJ/h.m.K]\n",
+ "k=k*1000.0/3600 #[W/m.K]\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "Nnu=0.023*Nre**0.8*Npr**0.4 #Nusselt number\n",
+ "hi=k*Nnu/Di #[W/sq m.K]\n",
+ "ho=19200.0 #[kJ/h.m**2.K]\n",
+ "ho=ho*1000.0/3600 #[W/m**2.K]\n",
+ "Do=0.025 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "x=(Do-Di)/2 #[m]\n",
+ "kt=460.0 #For tube wall material [kJ/h.m.K]\n",
+ "kt=kt*1000.0/3600 #[W/m.K]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi)*(Do/Di)+(x/kt)*(Do/Dw)) #[W/sq m.K]\n",
+ "#Q=Uo*Ao*dTlm\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=4.0 #Tube length in [m]\n",
+ "n=Ao/(math.pi*Do*L) #[Number of tubes]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Number of tubes required=\",round(n)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.12,Page no:5.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 92,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Water velocity must be 3.88 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Shell and tube heat exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "t1=290.0 #Inlet temperature of cooling water [K]\n",
+ "ho=2250.0 #Heat transfer coefficient based on inside area in [W/sq m.K]\n",
+ "lamda=400.0 #[kJ/kg] LAtent heat of benzene \n",
+ "mb_dot=14.4 #[t/h] Condensation rate of benzene vapour\n",
+ "Cpw=4.187 #Specific heat\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#With no Scale\n",
+ "Q=mb_dot*1000.0*lamda #Heat duty of condenser in [kJ/h]\n",
+ "Q=(Q/3600.0)*1000.0 #[W]\n",
+ "#Shell and tube type of heat exchanger is used as a single pass surface condenser\n",
+ "Di=0.022 #I.D of tube[m]\n",
+ "L=2.5 #Length of each tube in [m]\n",
+ "n=120.0 #Number of tubes\n",
+ "A=math.pi*Di*L #Area of heat transfer per metre length in [m**2/m]\n",
+ "A=n*A #Total area of heat transfer in [m**2]\n",
+ "Ai=(math.pi/4.0)*Di**2 #Cross-sectional area of each tube in [m**2]\n",
+ "Ai=n*Ai #Total area of flow in [m**2]\n",
+ "u=0.75 #Velocty of water [ms**-1]\n",
+ "V=u*Ai #Volumetric flow of water \n",
+ "rho=1000.0 #[Density of water in [kg/m**3]]\n",
+ "mw_dot=V*rho #Mass flow rate of water in [kg/s]\n",
+ "\n",
+ "#Heat balance\n",
+ "#Q=mw_dot*Cpw*(t2-t1)\n",
+ "t2=Q/(mw_dot*Cpw*1000)+t1 #[K]\n",
+ "T=350.0 #Condensing benzene temperature in [K]\n",
+ "dT1=T-t1 #[K]\n",
+ "dT2=T-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #LMTD\n",
+ "U=Q/(A*dTlm) #[W/m**2.K]\n",
+ "U=round(U)\n",
+ "#Neglecting resistance,we have:\n",
+ "hi=1/(1/U-1/ho) #[W/m**2.K]\n",
+ "#hi is proportional to u**0.8\n",
+ "C=hi/(u**0.8) #Constant\n",
+ "\n",
+ "#With Scale\n",
+ "Rd=2.5*10**-4 #[m**2 K./W]\n",
+ "#1/U=1/hi+1/ho+Rd\n",
+ "#U=hi/(1+3.38*u**0.8)\n",
+ "#mw_dot=rho*u*Ai #[kg/s]\n",
+ "#Let t2 be the outlet temperature of water \n",
+ "#Q=mw_dot*Cpw*(t2-t1)\n",
+ "#t2=Q/(mw_dot*Cpw)+t1 \n",
+ "dT1=60.0\n",
+ "#dT2=T-(t1+8.373/u)\n",
+ "#dTlm=8.373/(u*math.log(60*u/(60*u-8.373)))\n",
+ "#Q=U*A*dTlm\n",
+ "#1.89=((u**-0.2)/(1+3.38*u**0.8))*(1/math.log((60*u)/60*u-8.373)\n",
+ "#If we assume values of u greater than 0.75 m/s\n",
+ "#For u=3.8 #[ms**-1]\n",
+ "u=3.8 #]ms**-1]\n",
+ "\n",
+ "#Result\n",
+ "print\"Water velocity must be 3.88 m/s\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.13,Page no:5.52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 93,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No. of tubes= 100.0 \n",
+ "Length of tube= 2.48 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Length of pipe in Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mh_dot=1.25 #[kg/s]\n",
+ "Cpw=4.187*10**3 #Heat capacity of water in [J/kg.K]\n",
+ "lamda=315.0 #[kJ/kg]\n",
+ "Q=mh_dot*lamda #Rate of heat transfer from vapour [kJ/s]\n",
+ "Q=Q*10**3 #[W]\n",
+ "Ts=345.0 #Temperature of condensing vapour[K]\n",
+ "t1=290.0 #Inlet temperature of water [K]\n",
+ "t2=310.0 #Outlet temperature of water[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=Ts-t1 #[K]\n",
+ "dT2=Ts-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "#Heat removed from vapour = Heat gained\n",
+ "mw_dot=Q/(Cpw*(t2-t1)) #[kg/s]\n",
+ "hi=2.5 #[kW/sq m.K]\n",
+ "hi=hi*1000 #[W/sq m.K]\n",
+ "Do=0.025 #[m]\n",
+ "Di=0.020 #[m]\n",
+ "hio=hi*(Di/Do) #Inside heat transfer cosfficient referred to outside dia in [W/sq m.K]\n",
+ "ho=0.8 #Outside heat tranbsfer coefficient in [kW/sq m.K]\n",
+ "ho=ho*1000.0 #[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "#Ud is 80% of Uc\n",
+ "Ud=(80.0/100)*Uo #[W/sq m.K]\n",
+ "Ao=Q/(Ud*dTlm) #[sq m]\n",
+ "L=1.0 #[m]\n",
+ "A=math.pi*Do*L #Outside area of pipe per m length of pipe\n",
+ "len=Ao/A #Total length of piping required.\n",
+ "rho=1000.0 #[kg/m**3]\n",
+ "V=mw_dot/rho #[m**3/s]\n",
+ "v=0.6 #[m/s]\n",
+ "a=V/v #Cross-sectional area for flow pass [sq m]\n",
+ "a1=(math.pi*Di**2.0)/4 #[sq m]\n",
+ "#for single pass on tube side fluid(water)\n",
+ "n=round(a/a1) #No. of tubes per pass\n",
+ "l=len/n #Length of each tube in [m]\n",
+ "#For two passes on water side:\n",
+ "tn=2*n #Total no of tubes\n",
+ "l2=len/tn #Length of each tube in [m]\n",
+ "#For four passes on water side/tube side\n",
+ "tn2=4*n #Total no. of tubes\n",
+ "l3=len/tn2 #Length of each tube in [m]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"No. of tubes=\",tn2,\"\\nLength of tube=\",round(l3,2),\"m\"\n",
+ "\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.14,Page no:5.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 99,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "NOTE:The calculation of line no.36 to calculate 'ass' is wrongly done in Book by printing 0.0353,,..which is wrong\n",
+ "\n",
+ "Rd=7.34e-04 K/W,\n",
+ "which is less than the provided,so this if installed will not give required temperatures without frequent cleaning\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Dirt factor\n",
+ "\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "#Properties of crude oil:\n",
+ "Cpc=1.986 #[kJ/(kg.K)]\n",
+ "mu1=2.9*10**-3 #[N.s/sq m]\n",
+ "k1=0.136 #[W/m.K]\n",
+ "rho1=824 #[kg/m**3]\n",
+ "#Properties of bottom product:\n",
+ "Cp2=2.202 #[kJ/kg.K]\n",
+ "rho2=867.0 #[kg/m**3]\n",
+ "mu2=5.2*10**-3 #[N.s/sq m]\n",
+ "k2=0.119 #[W/sq m.K]\n",
+ "mc_dot=135000.0 #Basis: cruid oil flow rate in [kg/h]\n",
+ "m_dot=106000.0 #Bottom product flow rate inn [kg/h]\n",
+ "t1=295.0 #[K]\n",
+ "t2=330.0 #[K]\n",
+ "T1=420.0 #[K]\n",
+ "T2=380.0 #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=mc_dot*Cpc*(t2-t1) #kJ/h\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "#Shell side calculations:\n",
+ "Pt=25.0 #[mm]\n",
+ "Pt=Pt/1000 #[m]\n",
+ "B=0.23 #[m]\n",
+ "Do=0.019 #[m]Outside diameter for square pitch \n",
+ "c_dash=Pt-Do # ance in [m]\n",
+ "id=0.6 #[m]\n",
+ "ass=id*c_dash*B/Pt # Cross flow area of shell [sq m]\n",
+ "#since there is a Calculaiton mistake ,we take:\n",
+ "ass=0.0353 \n",
+ "Gs=m_dot/ass #Shell side mass velocity in [kg/sq m.h]\n",
+ "Gs=Gs/3600 #[kg/sq m.s]\n",
+ "De=4*(Pt**2-(math.pi/4)*Do**2)/(math.pi*Do) #[m]\n",
+ "Nre=De*Gs/mu2 #Reynolds number\n",
+ "Npr=Cp2*1000*mu2/k2 #Prandtl number\n",
+ "muw=mu2 #Since mu/muw=1\n",
+ "Nnu=0.36*(Nre**0.55)*Npr**(1.0/3.0)*(mu2/muw)**(0.14) #Nusselt number\n",
+ "ho=Nnu*k2/De #[W/sq m.K]\n",
+ "#Tube side heat transfer coefficient:\n",
+ "n=324.0 #No. of tubes\n",
+ "n_p=324.0/2 #No.of tubes per pass\n",
+ "t=2.1 #Thickness in [mm]\n",
+ "t=t/1000 #[m]\n",
+ "Di=Do-2*t #I.d of tube in [m]\n",
+ "A=(math.pi/4)*(Di**2) #Cross-sectional area of one tube in [sq m]\n",
+ "A_p=n_p*A #Total area for flow per pass in [sq m]\n",
+ "G=mc_dot/A_p #[kg/sq m h]\n",
+ "G=G/3600.0 #[kg/sq m.s]\n",
+ "Nre=Di*G/mu1 #Reynolods number\n",
+ "Npr=42.35 #Prandtl number\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.4) #Nusselt number\n",
+ "hi=Nnu*k1/Di #[W/sq m.K]\n",
+ "hio=hi*Di/Do #[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "Uc=Uo\n",
+ "L=4.88 #Length of tube in [m]\n",
+ "Ao=n*math.pi*Do*L #[sq m]\n",
+ "Ud=Q/(Ao*dTlm) #[W/sq m.K]\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #[m**2.K/W]\n",
+ "\n",
+ "#Result\n",
+ "print\"NOTE:The calculation of line no.36 to calculate 'ass' is wrongly done in Book by printing 0.0353,,..which is wrong\" \n",
+ "print\"\\nRd=%.2e\"%Rd,\"K/W,\\nwhich is less than the provided,so this if installed will not give required temperatures without frequent cleaning\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.15,Page no:5.57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 105,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overall heat transfer coefficient is 135.1 W/m^2.K and\n",
+ "\n",
+ "Heat transfer area is 9.17 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat transfer area\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "#CASE I:\n",
+ "Cp=4*10**3 #[J/kg.K]\n",
+ "t1=295 #[K]\n",
+ "t2=375 #[K]\n",
+ "sp=1.1 #Specific gravity of liquid \n",
+ "v1=1.75*10**-4 #Flow of liquid in [m**3/s]\n",
+ "rho=sp*1000 #[kg/m**3]\n",
+ "m_dot=v1*rho #[kg/s]\n",
+ "Q=m_dot*Cp*(t2-t1) #[W]\n",
+ "T=395 #[K]\n",
+ "dT1=T-t1 #[K]\n",
+ "dT2=T-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "U1A=Q/dTlm #[W/K]\n",
+ "#CASE-II\n",
+ "v2=3.25*10**-4 #Flow in [m**3/s]\n",
+ "T2=370 #[K]\n",
+ "m_dot=v2*rho #[kg/s]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Q=m_dot*Cp*(T2-t1) #[W]\n",
+ "dT1=T-t1 #[K]\n",
+ "dT2=T-T2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "U2A=Q/dTlm #[W/K]\n",
+ "#since u is propn to v\n",
+ "#hi =C*v**0.8\n",
+ "\n",
+ "U2_by_U1=U2A/U1A \n",
+ "\n",
+ "ho=3400 #Heat transfer coeff for condensing steam in [W/sq m.K]\n",
+ "C=poly([0])\n",
+ "#Let C=1 and v=v1\n",
+ "#C=1 \n",
+ "v=v1 #=1.75*10**-4 m**3/s\n",
+ "hi=C*v**0.8\n",
+ "U1=1.0/(1.0/ho+1.0/hi) #\n",
+ "#When v=v2\n",
+ "v=v2 \n",
+ "hi=C*v**0.8\n",
+ "U2=1.0/(1.0/ho+1.0/hi) #\n",
+ "#Since U2=1.6U1\n",
+ "#On solving we get:\n",
+ "C=142497\n",
+ "v=v1\n",
+ "hi=C*v**0.8\n",
+ "U1=1.0/(1.0/ho+1.0/hi) #\n",
+ "A=U1A/U1 #Heat transfer area in [sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Overall heat transfer coefficient is\",round(U1,1),\"W/m^2.K and\\n\\nHeat transfer area is\",round(A,2),\"m^2\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.16,Page no:5.59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 106,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Length of tube required = 2.66 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Oil Cooler\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mo_dot=6*10**-2 #[kg/s]\n",
+ "Cpo=2*10**3 #Specific heat of oil in [J/kg.K]\n",
+ "Cpw=4.18*10**3 #Specific heat of water in [J/kg.K]\n",
+ "T1=420 #[K]\n",
+ "T2=320 #[K]\n",
+ "T=290 #[K] Water entering temperature\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mo_dot*Cpo*(T1-T2) #[J/s]=[W]\n",
+ "#Heat given out =Heat gained\n",
+ "t2=Q/(mo_dot*Cpw)+T #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-T #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "hi=1.6*1000 #[W/sq m.K]\n",
+ "ho=3.6*1000 #[W/sq m.K]\n",
+ "U=1.0/(1.0/ho+1.0/hi) #[W/sq m.K]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "D=0.025 #[m]\n",
+ "L=A/(math.pi*D) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of tube required =\",round(L,2),\"m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.17,Page no:5.60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total length of tubing required= 163.0 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Countercurrent flow heat exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mb_dot=1.25 #Benzene in [kg/s]\n",
+ "Cpb=1.9*10**3 #For benzene in [J/kg.K]\n",
+ "Cpw=4.187*10**3 #in [J/kg.K]\n",
+ "T1=350 #[K]\n",
+ "T2=300 #[K]\n",
+ "Q=mb_dot*Cpb*(T1-T2) #[W]\n",
+ "t1=290 #[K]\n",
+ "t2=320 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "mw_dot=Q/(Cpw*(t2-t1)) #Minimum flow rate of water in [kg/s]\n",
+ "hi=850 #[W/sq m.K]\n",
+ "ho=1700 #[W/sq m.K]\n",
+ "Do=0.025 #[m]\n",
+ "Di=0.022 #[m]\n",
+ "x=(Do-Di) /2 #Thickness in [m]\n",
+ "hio=hi*(Di/Do) #[W/sq m.K]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "k=45.0 #[W/m.K]\n",
+ "Uo=1.0/((1.0/ho)+(1.0/hio)+(x/k)*(Do/Dw)) #[W/sq m.K]\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=1.0 #Length in [m]\n",
+ "area=math.pi*Do*L # Outside surface area of tube per i m length \n",
+ "Tl=Ao/area #Total length of tubing required in [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Total length of tubing required=\",round(Tl),\"m\"\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.18,Page no:5.61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 114,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Uc( 994.0 W/m^2.K) is in excess of Ud( 754.0 W/m^2.K),therefore we allow for reasonable scale resistance,\n",
+ "Rd=3.2e-04 K/W\n",
+ "\n",
+ "No.of tubes = 60.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Vertical Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "m_dot=4500.0 #Benzene condensation rate in [kg/h]\n",
+ "lamda=394.0 #Latent heat of condensation of benzene in [kJ/kg]\n",
+ "Q=m_dot*lamda #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "Cpw=4.18 #[kJ/kg.K]\n",
+ "t1=295.0 #[K]\n",
+ "t2=300.0 #[K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#For water :\n",
+ "mw_dot=Q/(Cpw*1000*(t2-t1)) #[kg/s]\n",
+ "rho=1000.0 #[kg/m**3\n",
+ "V=mw_dot/rho #Volumetric flow rate in [m**3/s]\n",
+ "u=1.05 #[m/s]\n",
+ "A=V/u #Cross-sectional area required in [sq m]\n",
+ "#For tube:\n",
+ "x=1.6 #thickness in [mm]\n",
+ "x=x/1000 #[m]\n",
+ "Do=0.025 #[m]\n",
+ "Di=Do-2*x #[m]\n",
+ "A1=(math.pi*Di**2)/4 #Of one tube [sq m]\n",
+ "n=A/A1 #No. of tubes reuired \n",
+ "n=round(n)\n",
+ "L=2.5 #Length of tube in [m]\n",
+ "Ao=n*math.pi*Do*L #Surface area for heat transfer in [sq m]\n",
+ "Ts=353.0 #Condensing temp of benzene in [K]\n",
+ "T1=295.0 #Inlet temperature in [K]\n",
+ "T2=300.0 #Outlet temperature in [K]\n",
+ "dT1=Ts-T1 #[K]\n",
+ "dT2=Ts-T2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Uo=Q/(Ao*dTlm) #[W/sq mK]\n",
+ "Ud=Uo #[W/sq m.K]\n",
+ "#OVERALL HEAT TRANSFER COEFFCIENT:\n",
+ "#Inside side:\n",
+ "T=(T2+T1)/2 #[K]\n",
+ "hi=1063*((1+0.00293*T)*u**0.8)/(Di**0.2) #[W/sq m.K]\n",
+ "hio=hi*(Di/Do) #[W/sq m.K]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "k=45.0 #For tube in [W/(m.)]\n",
+ "#Outside of tube:\n",
+ "mdot_dash=1.25/n #[kg/s]\n",
+ "M=mdot_dash/(math.pi*Do) #[kg/(m.s)]\n",
+ "k=0.15 #[W/(m.K)]\n",
+ "rho=880.0 #[kg/m**3]\n",
+ "mu=0.35*10**-3 #[N.s/sq m]\n",
+ "g=9.81 #[m/s**2] Acceleration due to gravity\n",
+ "hm=(1.47*((4*mdot_dash)/mu)**(-1.0/3.0))/(mu**2/(k**3*rho**2*g))**(1.0/3.0) #[W/sq m.K]\n",
+ "ho=hm #[W/sq m.K]\n",
+ "k=45 #[W/m]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio+(x*Do)/(k*Dw))\n",
+ "#Uo=1/(1/ho+1/hio+(x*Do/(k*Dw))) #Overall heat transfer coefficient in [W/sq m.K]\n",
+ "Uc=Uo #[W/sq m.K]\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #Maximum allowable sclae resistance in [K/W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Uc(\",round(Uc),\"W/m^2.K) is in excess of Ud(\",round(Ud),\"W/m^2.K),therefore we allow for reasonable scale resistance,\\nRd=%.1e\"%Rd,\"K/W\\n\" \n",
+ "print\"No.of tubes =\",n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.19,Page no:5.64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 115,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer area is 33.45 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Countercurrent Heat Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mw_dot=5 #Water flow rate in [kg/s]\n",
+ "Cpw=4.18 #Heat capacity of water [kJ/kg.K]\n",
+ "t1=303 #[K]\n",
+ "t2=343 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/s]\n",
+ "Q=Q*1000 #[W]\n",
+ "T1=413 #[K]\n",
+ "T2=373 #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=dT1 #/[K]\n",
+ "hi=1000 #[W/sq m.K]\n",
+ "ho=2500 #[W/sq m.K]\n",
+ "Rd=1.0/(0.714*1000) #Fouling factor[m**2.K/KW]\n",
+ "U=1.0/(1.0/hi+1.0/ho+Rd) #[W/sq m.K]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transfer area is\",round(A,2),\"m^2\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no5.20:,Page no:5.65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 117,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat exchanger surface area is 10.84 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Number of tube side pass\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Cpo=1.9 #Heat capacity for oil[kJ/kg.K]\n",
+ "Cps=1.86 #Heat capacity for steam [kJ/kg.K]\n",
+ "ms_dot=5.2 #Mass flow rate in [kg/s]\n",
+ "T1=403.0 #[K]\n",
+ "T2=383.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=ms_dot*Cps*(T1-T2) #[kJ/s]\n",
+ "Q=Q*1000.0 #[W]\n",
+ "t1=288.0 #[K]\n",
+ "t2=358.0 #[K]\n",
+ "dT2=T1-t2 #[K]\n",
+ "dT1=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #LMTD in [K]\n",
+ "U=275.0 #Overall heat transfer coeffcient in [W#sq m.K]\n",
+ "Ft=0.97 #LMTD correction factor\n",
+ "A=Q/(U*Ft*dTlm) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat exchanger surface area is\",round(A,2),\"m^2\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.21,Page no:5.66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 125,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The length is more than allowable 2.44 m length,so we must use more than one tube\n",
+ "This length is within 2.44 m requirement,so the design choice is:\n",
+ "\n",
+ "--Type of heat exchanger : \t1-2 Shell and tube heat exchanger\n",
+ "--No of tubes per pass=\t\t36.0\n",
+ "--Length of tube per pass=\t1.83 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Number of tubes passes\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mc_dot=3.783 #Cold water flow rate[kg/s]\n",
+ "mh_dot=1.892 #Hot water flow rate [kg/s]\n",
+ "Cpc=4.18 #Sp heat of cold water [kJ/(kg.K)]\n",
+ "T1=367.0 #[K]\n",
+ "t2=328.0 #[K]\n",
+ "t1=311.0 #[K]\n",
+ "Cph=4.18 #Specific heat of hot water [kJ/(kg.K)]\n",
+ "rho=1000.0 #Density [kg/m**3]\n",
+ "D=0.019 #Diameter of tube in [m]\n",
+ "U=1450.0 #Overal heat transfer coefficient in [W/sq m.K] \n",
+ "\n",
+ "#Calculation\n",
+ "T2=T1-mc_dot*Cpc*(t2-t1)/(mh_dot*Cph) #[K]\n",
+ "Q=mc_dot*Cpc*(t2-t1) #[kJ/s]\n",
+ "Q=Q*1000.0 #[W]\n",
+ "#For counterflow heat exchanger\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=17.0 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "lmtd=dTlm #LMTD \n",
+ "Ft=0.88 #LMTD correction factor\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "u=0.366 #Velocity through tubes[ms**-1]\n",
+ "Ai=mc_dot/(rho*u) #Total flow Area in [sq m]\n",
+ "n=Ai/((math.pi/4)*(D**2)) #No. of tubes \n",
+ "L=1.0 #Per m length[m]\n",
+ "sa=math.pi*D*L #S.S per tube per 1 m length\n",
+ "L=A/(n*math.pi*D) #Length of tubes in [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"The length is more than allowable 2.44 m length,so we must use more than one tube\"\n",
+ "#For 2passes on the tube side\n",
+ "A=Q/(U*Ft*lmtd) #[sq m]\n",
+ "L=A/(2*n*math.pi*D) #Length in [m]\n",
+ "print\"This length is within 2.44 m requirement,so the design choice is:\\n\"\n",
+ "print\"--Type of heat exchanger : \\t1-2 Shell and tube heat exchanger\"\n",
+ "print\"--No of tubes per pass=\\t\\t\",round(n)\n",
+ "print\"--Length of tube per pass=\\t\",round(L,2),\"m\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.22,Page no:5.67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 143,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For countercurrent flow arrangement:\n",
+ "Exit temperature of hot fluid is 721.0 K( 448.0 degree C)\n",
+ "Exit temperature of cold fluid is 553.0 K( 280.0 degree C)\n",
+ "\n",
+ "For Parallel flow arrangement:\n",
+ "Exit temperature of Hot water= 734.8 K( 461.8 degree C)\n",
+ "Exit temperature of cold water= 543.2 K( 270.2 degree C)\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Outlet temperature for hot and cold fluids\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mh_dot=16.67 #Mass flow rate of hot fluid in [kg/s]\n",
+ "mc_dot=20.0 #Mass flow rate of cold fluid in [kg/s]\n",
+ "Cph=3.6 #Sp heat of hot fluid in [kJ/kg.K]\n",
+ "Cph=Cph*1000 #Sp heat of hot fluid in [J/kg.K]\n",
+ "Cpc=4.2 #Sp heat of cold fluid in [kJ/(kg.K)]\n",
+ "Cpc=Cpc*1000 #Sp heat of cold fluid in [J/(kg.K)]\n",
+ "U=400.0 #Overall heat transfer coefficient in [W/sq m.K]\n",
+ "A=100.0 #Surface area in [sq m]\n",
+ "\n",
+ "#Calculation\n",
+ "mCp_h=mh_dot*Cph #[J/s] or [W/K]\n",
+ "mCp_c=mc_dot*Cpc #[J/s] or [W/K]\n",
+ "mCp_small=mCp_h #[W/K]\n",
+ "C=mCp_small/mCp_c #Capacity ratio \n",
+ "ntu=U*A/mCp_small #NTU\n",
+ "T1=973.0 #Hot fluid inlet temperature in [K]\n",
+ "t1=373.0 #Cold fluid inlet temperature in [K]\n",
+ "\n",
+ "#Case 1:Countercurrent flow arrangement\n",
+ "E=(1.0-math.exp(-(1.0-C)*ntu))/(1.0-C*math.exp(-(1.0-C)*ntu)) #Effectiveness\n",
+ "E=round(E,2)\n",
+ "#W=T1-T2/(T1-t1) therefore:\n",
+ "T2=T1-E*(T1-t1) #[K]\n",
+ "print\"For countercurrent flow arrangement:\"\n",
+ "print\"Exit temperature of hot fluid is\",T2,\"K(\",T2-273,\"degree C)\"\n",
+ "t2=mCp_h*(T1-T2)/(mCp_c)+t1 #[From energy balance eqn in ][K]\n",
+ "print\"Exit temperature of cold fluid is\",round(t2),\" K(\",round(t2-273) ,\"degree C)\\n\"\n",
+ "\n",
+ "#Case 2:Parallel flow arrangement\n",
+ "E1=(1-math.exp(-(1.0+C)*ntu))/(1.0+C)\n",
+ "E1=round(E1,3)\n",
+ "T2=T1-E1*(T1-t1) #[K]\n",
+ "t2=mCp_h*(T1-T2)/(mCp_c)+t1 #[From energy balance eqn in ][K]\n",
+ "print\"For Parallel flow arrangement:\"\n",
+ "print\"Exit temperature of Hot water=\",T2,\"K(\",T2-273,\"degree C)\"\n",
+ "print\"Exit temperature of cold water=\",round(t2,1),\"K(\",round(t2-273,1),\"degree C)\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.23,Page no:5.69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "In textbook value of mCp_h is wrongly calculated as 231.1 so we will take this only for calculation\n",
+ "\n",
+ "From LMTD approach:\n",
+ "length= 6.61 m\n",
+ "\n",
+ "From NTU method:\n",
+ "length= 7.26 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Counter flow concentric heat exchanger\n",
+ "import math\n",
+ "from scipy.optimize import fsolve\n",
+ "\n",
+ "#Variable declaration\n",
+ "Cpo=2131.0 #Sp heat of oil in [J/kg.K]\n",
+ "Cpw=4187.0 #Sp heat of water in [J/kg.K]\n",
+ "mo_dot=0.10 #Oil flow rate in [kg/s]\n",
+ "mw_dot=0.20 #Water flow rate in [kg/s]\n",
+ "U=380.0 #Overall heat transfer coeff in [W/sq m.K]\n",
+ "T1=373.0 #Initial temp of oil [K]\n",
+ "T2=333.0 #Final temperature of oil [K]\n",
+ "t1=303.0 #Water enter temperature in [K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "t2=t1+mo_dot*Cpo*(T1-T2)/(mw_dot*Cpw) #[K] \n",
+ "\n",
+ "#1.LMTD method\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "lmtd=dTlm #[K]\n",
+ "Q=mo_dot*Cpo*(T1-T2) #[J/s]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "Do=0.025 #Inner tubve diameter [m]\n",
+ "L=A/(math.pi*Do) #Length in [m]\n",
+ "\n",
+ "#2.NTU method\n",
+ "mCp_c=mw_dot*Cpw #[W/K]\n",
+ "mCp_h=mo_dot*Cpo #[W/K]\n",
+ "print\"In textbook value of mCp_h is wrongly calculated as 231.1 so we will take this only for calculation\\n\"\n",
+ "mCp_h=231.1 #[W/K]\n",
+ "#mCp_h is smaller\n",
+ "C=mCp_h/mCp_c\n",
+ "E=(T1-T2)/(T1-t1) #Effeciency\n",
+ "#For countercurrent flow\n",
+ "def f(ntu):\n",
+ " x=E-(1.0-math.exp(-(1.0-C)*ntu))/(1.0-C*math.exp(-(1.0-C)*ntu))\n",
+ " return(x)\n",
+ "ntu=fsolve(f,1)\n",
+ "A=ntu*mCp_h/U #[sq m]\n",
+ "A=round(A[0],2)\n",
+ "L1=A/(math.pi*Do) #Length in [m]'\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"From LMTD approach:\\nlength=\",round(L,2),\"m\\n\" \n",
+ "print\"From NTU method:\\nlength=\",round(L1,2),\"m\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.24,Page no:5.70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No. of tubes required = 86.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Number of tubes required\n",
+ "import math\n",
+ "from scipy.optimize import fsolve\n",
+ "\n",
+ "#Variable declaration\n",
+ "ho=200.0 #[W/sq m.K]\n",
+ "hi=1500.0 #[W/sq m.K]\n",
+ "Cpw=4.2 #Sp heat of Water in [kJ/(kg.K)]\n",
+ "Cpo=2.1 #Sp heat of Oil in [kJ/(kg.K)]\n",
+ "E=0.8 #Effectiveness\n",
+ "k=46.0 #[W/m.K]\n",
+ "m_dot=0.167 #[kg/s]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "mCp_oil=2*m_dot*Cpo*1000.0 #For oil [W/K]\n",
+ "#mCp_oil is wrongly calculated as 710.4\n",
+ "mCp_water=m_dot*Cpw*1000.0 #For water [W/K]\n",
+ "#mCp_oil is wrongly calculated as 710.4\n",
+ "#NOTE:The above two values are wrongly calculated in book as 710.4\n",
+ "#so we take here:\n",
+ "mCp_small=710.4 #[W/K]\n",
+ "#Since both mCp_water and mCp_oil are equal ,therefore:\n",
+ "C=1.0 \n",
+ "def f(ntu):\n",
+ " x=E-(ntu/(1+ntu))\n",
+ " return(x)\n",
+ "ntu=fsolve(f,1)\n",
+ "id=20.0 #Internal diameter in [mm]\n",
+ "od=25.0 #External diameter in [mm]\n",
+ "hio=hi*id/od #[W/sq m.K]\n",
+ "Dw=(od-id)/math.log(od/id) #[mm]\n",
+ "Dw=Dw/1000.0 #[m]\n",
+ "x=(od-id)/2.0 #[mm]\n",
+ "x=x/1000.0 #[m]\n",
+ "Do=0.025 #External dia in [m]\n",
+ "L=2.5 #Length of tube in [m]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio+(x/k)*(Dw/Do)) #[W/sq m.K]\n",
+ "A=ntu*mCp_small/Uo #Heat transfer area in [sq m]\n",
+ "n=A/(math.pi*Do*L) #No of tubes\n",
+ "\n",
+ "#Result\n",
+ "print\"No. of tubes required =\",round(n+1)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:5.25,Page no:5.72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 154,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For parallel flow,Area = 1.234 m^2\n",
+ "For countercurrent flow,Area= 1.195 m\n",
+ "\n",
+ "For the same terminal temperatures of the fluid ,\n",
+ "the surface area for the counterflow arrangement is less than the required for the parallel flow\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Parallel and Countercurrent flow\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "#(i)Parallel flow\n",
+ "T1=633.0 #[K]\n",
+ "t2=303.0 #[K]\n",
+ "T2=573.0 #[K]\n",
+ "t1=400.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "mh_dot=1.2 #[kg/s]\n",
+ "U=500.0 #Overall heat transfer coefficient in [W/sqm.K]\n",
+ "Cp=2083.0 #Sp.heat of oil J/kg.K\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=mh_dot*Cp*(T1-T2) #[W]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#(ii)Counter current flow\n",
+ "dT1=T1-t1 #[K]\n",
+ "dT2=T2-t2 #[K]\n",
+ "dTlm=(dT2-dT1)/math.log(dT2/dT1) #[K]\n",
+ "A1=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"For parallel flow,Area =\",round(A,3),\"m^2\\nFor countercurrent flow,Area=\",round(A1,3),\"m\\n\"\n",
+ "print\"For the same terminal temperatures of the fluid ,\\nthe surface area for the counterflow arrangement is less than the required for the parallel flow\"\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Heat_Transfer_by_K._A._Gavhane/Chapter_6.ipynb b/Heat_Transfer_by_K._A._Gavhane/Chapter_6.ipynb
new file mode 100644
index 00000000..6cbb928f
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/Chapter_6.ipynb
@@ -0,0 +1,1098 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter6: Evaporation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.1,Page no:6.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Boiling point of elevation of the solution is 7 K\n",
+ "Driving forve for heat transfer is 19 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Boiling point Elevation\n",
+ "#Variable declaration\n",
+ "T=380 #B.P of solution[K]\n",
+ "T_dash=373 #B.P of water [K]\n",
+ "Ts=399 #Saturating temperature in [K]\n",
+ "#Calculation\n",
+ "BPE=T-T_dash #Boiling point elevation in [K]\n",
+ "DF=Ts-T #Driving force in [K]\n",
+ "#Result\n",
+ "print\"Boiling point of elevation of the solution is\",BPE,\"K\"\n",
+ "print\"Driving forve for heat transfer is\",DF,\"K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.2 ,Page no:6.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Capacity of evaporator is 8400.0 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Capacity of evaporator\n",
+ "#Variable declaration\n",
+ "m_dot=10000 #Weak liquor entering in [kg/h]\n",
+ "fr_in=0.04 #Fraciton of caustic soda IN i.e 4%\n",
+ "fr_out=0.25 #Fraciton of caustic soda OUT i.e 25%\n",
+ "#Let mdash_dot be the kg/h of thick liquor leaving\n",
+ "\n",
+ "#Calculation\n",
+ "mdash_dot=fr_in*m_dot/fr_out #[kg/h]\n",
+ "\n",
+ "#Overall material balance\n",
+ "#kg/h of feed=kg/h of water evaporated +kg/h of thick liquor\n",
+ "#we=water evaporated in kg/h\n",
+ "#Therefore\n",
+ "we=m_dot-mdash_dot #[kg/h]\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print\"Capacity of evaporator is\",we,\"kg/h\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no: 6.3,Page no:6.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ANSWER:Economoy pf evaporator is 0.808\n",
+ "Heat tarnsfer area to be provided = 57.07 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Economy of Evaporator\n",
+ "#Variable declaration\n",
+ "ic=0.05 #Initial concentration (5%)\n",
+ "fc=0.2 #Final concentration (20%)\n",
+ "T_dash=373 #B.P of water in [K]\n",
+ "bpe=5 #Boiling point elevation[K]\n",
+ "mf_dot=5000 #[Basis] feed to evaporator in [kg/h]\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Material balance of solute\n",
+ "mdash_dot=ic*mf_dot/fc #[kg/h]\n",
+ "#Overall material balance\n",
+ "mv_dot=mf_dot-mdash_dot #Water evaporated [kg/h]\n",
+ "lambda_s=2185 #Latent heat of condensation of steam[kJ/kg]\n",
+ "lambda_v=2257 #Latent heat of vaporisation of water [kJ/kg]\n",
+ "lambda1=lambda_v #[kJ/kg]\n",
+ "T=T_dash+bpe #Temperature of thick liquor[K]\n",
+ "Tf=298 #Temperature of feed [K]\n",
+ "Cpf=4.187 #Sp. heat of feed in [kJ/kg.K]\n",
+ "#Heat balance over evaporator=ms_dot\n",
+ "ms_dot=(mf_dot*Cpf*(T-Tf)+mv_dot*lambda1)/lambda_s #Steam consumption [kg/h]\n",
+ "Eco=mv_dot/ms_dot #Economy of evaporator\n",
+ "Ts=399 #Saturation temperature of steam in [K]\n",
+ "dT=Ts-T #Temperature driving force [K] \n",
+ "U=2350 #[W/sq m.K]\n",
+ "Q=ms_dot*lambda_s #Rate of heat transfer in [kJ/kg]\n",
+ "Q=Q*1000/3600 #[J/s]=[W]\n",
+ "A=Q/(U*dT) #Heat transfer area in [sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"ANSWER:Economoy pf evaporator is \",round(Eco,3)\n",
+ "print\"Heat tarnsfer area to be provided = \",round(A,2),\"m^2\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no: 6.4,Page no:6.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When Feed introduced at 293 K ,Steam economy is 0.87\n",
+ "ANSWER-(i) At 293 K,Heat transfer area required is 83.16 m^2\n",
+ "ANSWER-(ii) When T=308 K,Economy of evaporator is 0.896\n",
+ "ANSWER-(iii) When T=308 K,Heat transfer Area required is 80.71 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Steam economy\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "Cpf=3.98 #Specific heat of feed in kJ/(kg.K)\n",
+ "lambda_s=2202 #Latent heat of conds of heat at 0.2MPa in [kJ/kg]\n",
+ "lambda1=2383 #Latent heat of vaporisation of water aty 323 [kJ/kg\n",
+ "ic=0.1 #Initial concentration of soilds in [%]\n",
+ "fc=0.5 #Final concentration\n",
+ "m_dot=30000 #Feed to evaporator in [kg/h]\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "mdash_dot=ic* m_dot/fc #Mass flow rate of thick liquor in [kg/h]\n",
+ "mv_dot=m_dot-mdash_dot #Water evaporated in [kg/h]\n",
+ "\n",
+ "#Case 1: Feed at 293K\n",
+ "mf_dot=30000 #[kg/h]\n",
+ "mv_dot=24000 #[kg/h]\n",
+ "Cpf=3.98 #[kJ/(kg.K)]\n",
+ "Ts=393 #Saturation temperature of steam in [K]\n",
+ "T=323 #Boiling point of solution [K]\n",
+ "lambda_s=2202 #Latent heat of condensation [kJ/kg]\n",
+ "lambda1=2383 #Latent heat of vaporisation[kJ/kg]\n",
+ "Tf=293 #Feed temperature\n",
+ "#Enthalpy balance over the evaporator:\n",
+ "ms_dot=(mf_dot*Cpf*(T-Tf)+mv_dot*lambda1)/lambda_s #Steam consumption[kg/h]\n",
+ "eco=(mv_dot/ms_dot) #Steam economy\n",
+ "print\"When Feed introduced at 293 K ,Steam economy is \",round(eco,2) \n",
+ "dT=Ts-T #[K]\n",
+ "U=2900 #[W/sq m.K]\n",
+ "Q=ms_dot*lambda_s #Heat load =Rate of heat transfer in [kJ/h]\n",
+ "Q=Q*1000/3600 #[J/s]\n",
+ "A=Q/(U*dT) #Heat transfer area required [sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"ANSWER-(i) At 293 K,Heat transfer area required is\",round(A,2),\"m^2\"\n",
+ "\n",
+ "#Case2: Feed at 308K\n",
+ "Tf=308 #[Feed temperature][K]\n",
+ "\n",
+ "#Calculation\n",
+ "ms_dot=(mf_dot*Cpf*(T-Tf)+mv_dot*lambda1)/lambda_s #Steam consumption in [kg/h]\n",
+ "eco=mv_dot/ms_dot #Economy of evaporator\n",
+ "Q=ms_dot*lambda_s #[kJ/h]\n",
+ "Q=Q*1000/3600 #[J/s]\n",
+ "A=Q/(U*dT) #Heat transfer area required [sq m]\n",
+ "#Result\n",
+ "print\"ANSWER-(ii) When T=308 K,Economy of evaporator is \",round(eco,3)\n",
+ "print\"ANSWER-(iii) When T=308 K,Heat transfer Area required is \",round(A,2),\"m^2\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no: 6.5,Page no:6.24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat transfer area to be provided is 45.33 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Evaporator economy\n",
+ "#Variable declaration\n",
+ "m_dot=5000 #Feed to the evaporator [kg/h]\n",
+ "Cpf=4.187 #Cp of feed in [kJ/kg.K]\n",
+ "ic=0.10 #Initial concentration\n",
+ "fc=0.4 #Final concentration\n",
+ "lambda_s=2162 #Latent heat of condensing steam [kJ/kg]\n",
+ "P=101.325 #Pressure in the evaporator[kPa]\n",
+ "bp=373 #[K]\n",
+ "Hv=2676 #Enthalpy of water vapor [kJ/kg]\n",
+ "H_dash=419 #[kJ/kg]\n",
+ "Hf=170 #[kJ/kg]\n",
+ "U=1750 #[W/sq m.K]\n",
+ "dT=34 #[K]\n",
+ "#Calculation\n",
+ "mdash_dot=m_dot*ic/fc #[kg/h] of thick liquor\n",
+ "mv_dot=m_dot-mdash_dot #Water evaporated in[kg/h]\n",
+ "ms_dot=(mv_dot*Hv+mdash_dot*H_dash-m_dot*Hf)/lambda_s #Steam consumption in [kg/h]\n",
+ "eco=mv_dot/ms_dot #Steam economy of evaporator\n",
+ "Q=ms_dot*lambda_s #[kJ/h]\n",
+ "Q=Q*1000/3600 #[J/s]\n",
+ "A=Q/(U*dT) #[sq m]\n",
+ "#Result\n",
+ "print\"Heat transfer area to be provided is\",round(A,2),\"m^2\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.6 ,Page no:6.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Steam economy is 0.784\n",
+ "Overall heat transfer coefficient is 2862.0 W/m^2.K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Single effect Evaporator\n",
+ "#Variable declaration\n",
+ "mf_dot=5000 #[kg/h]\n",
+ "ic=0.01 #Initial concentration [kg/h]\n",
+ "fc=0.02 #Final concentration [kg/h]\n",
+ "T=373 #Boiling pt of saturation in [K]\n",
+ "Ts=383 #Saturation temperature of steam in [K] \n",
+ "Hf=125.79 #[kJ/kg]\n",
+ "Hdash=419.04 #[kJ/kg]\n",
+ "Hv=2676.1 #[kJ/kg]\n",
+ "lambda_s=2230.2 #[kJ/kg]\n",
+ "#Calculation\n",
+ "mdash_dot=ic*mf_dot/fc #[kg/h]\n",
+ "mv_dot=mf_dot-mdash_dot #Water evaporated in [kg/h]\n",
+ "ms_dot=(mdash_dot*Hdash+mv_dot*Hv-mf_dot*Hf)/lambda_s #Steam flow rate in [kg/h]\n",
+ "eco=mv_dot/ms_dot #Steam economy\n",
+ "Q=ms_dot*lambda_s #Rate of heat transfer in [kJ/h]\n",
+ "Q=Q*1000/3600 #[J/s]\n",
+ "dT=Ts-T #[K]\n",
+ "\n",
+ "A=69 #Heating area of evaporator in [sq m]\n",
+ "U=Q/(A*dT) #Overall heat transfer coeff in [W/sq m.K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Steam economy is\",round(eco,3)\n",
+ "print\"Overall heat transfer coefficient is\",round(U),\"W/m^2.K\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no: 6.7,Page no:6.27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The heat transfer area in this case is 18.7 m^2\n",
+ "NOTE :There is a calculation mistake in the book at the line12 of this code,ms_dot value is written as 2320.18,which is wrong\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Single efect evaporator reduced pressure\n",
+ "#From previous example:\n",
+ "#Variable declaration\n",
+ "mf_dot=5000 #[kg/h]\n",
+ "Hf=125.79 #[kJ/kg]\n",
+ "lambda_s=2230.2 #[kJ/kg]\n",
+ "mdash_dot=2500 #[kg/h]\n",
+ "Hdash=313.93 #[kJ/kg]\n",
+ "mv_dot=2500 #[kg/h]\n",
+ "Hv=2635.3 #[kJ/kg]\n",
+ "U=2862 #[W/sq m.K]\n",
+ "dT=35 #[K]\n",
+ "#Calculation\n",
+ "ms_dot=(mdash_dot*Hdash+mv_dot*Hv-mf_dot*Hf)/lambda_s #Steam flow rate in [kg/h]\n",
+ "Q=ms_dot*lambda_s #[kJ/h]\n",
+ "Q=Q*1000/3600 #[W]\n",
+ "A=Q/(U*dT) #[sq m]\n",
+ "#Result\n",
+ "print\"The heat transfer area in this case is\",round(A,2),\"m^2\"\n",
+ "print\"NOTE :There is a calculation mistake in the book at the line12 of this code,ms_dot value is written as 2320.18,which is wrong\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no: 6.8,Page no:6.27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mass flow rate of product is 3629.9 kg/h\n",
+ "The product concentration is 1.653 % by weight\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Mass flow rate\n",
+ "#Variable declaration\n",
+ "mf_dot=6000 #Feed rate in [kg/h]\n",
+ "#Taking the given values from previous example(6.6)\n",
+ "Hf=125.79 #[kJ/kg]\n",
+ "ms_dot=3187.56 #[kg/h]\n",
+ "lambda_s=2230.2 #[kJ/kg]\n",
+ "Hdash=419.04 #[kJ/kg]\n",
+ "Hv=2676.1 #[kJ/kg]\n",
+ "#Calculation\n",
+ "mv_dot=(mf_dot*Hf+ms_dot*lambda_s-6000*Hdash)/(Hv-Hdash) #Water evaporated in [kg/h]\n",
+ "mdash_dot=6000-mv_dot #Mass flow rate of product [kg/h]\n",
+ "x=(0.01*mf_dot)*100/mdash_dot #Wt % of solute in products\n",
+ "#Result\n",
+ "print\"Mass flow rate of product is\",round(mdash_dot,1),\"kg/h\"\n",
+ "print\"The product concentration is\",round(x,3),\"% by weight\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.9 ,Page no:6.28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Heat load is 11226389.0 W or J/s\n",
+ "Economy of evaporator is 0.811\n",
+ "NOTE:Again there is a calcualtion mistake in book at line 19 of code,it is written as 4041507.1 instead of 40415071\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Heat load in single effect evaporator\n",
+ "#Variable declaration\n",
+ "Tf=298 #Feed temperature in [K]\n",
+ "T_dash=373 #[K]\n",
+ "Cpf=4 #[kJ/kg.K]\n",
+ "fc=0.2 #Final concentration of salt\n",
+ "ic=0.05 #Initial concentration\n",
+ "mf_dot=20000 #[kg/h] Feed to evaporator\n",
+ "#Calculation\n",
+ "mdash_dot=ic*mf_dot/fc #Thick liquor [kg/h]\n",
+ "mv_dot=mf_dot-mdash_dot #Water evaporated in [kg/h]\n",
+ "lambda_s=2185 #[kJ/kg]\n",
+ "lambda1=2257 #[kJ/kg]\n",
+ "bpr=7 #Boiling point rise[K]\n",
+ "T=T_dash+bpr #Boiling point of solution in[K]\n",
+ "Ts=39 #Temperature of condensing steam in [K]\n",
+ "ms_dot=(mf_dot*Cpf*(T-Tf)+mv_dot*lambda1)/lambda_s #Steam consumption in [kg/h]\n",
+ "eco=mv_dot/ms_dot #Economy of evaporator \n",
+ "Q=ms_dot*lambda_s #[kJ/h]\n",
+ "Q=Q*1000/3600 #[J/s]\n",
+ "#Result\n",
+ "print\"Heat load is\",round(Q),\"W or J/s\"\n",
+ "print\"Economy of evaporator is \",round(eco,3)\n",
+ "print\"NOTE:Again there is a calcualtion mistake in book at line 19 of code,it is written as 4041507.1 instead of 40415071\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.10 ,Page no:6.32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Boiling point of solution in first effect = 369.55 K\n",
+ "Boiling point of solution in second effect = 354.6 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Triple efect evaporator\n",
+ "#Variable declaration\n",
+ "Ts=381.3 #[K]\n",
+ "dT=56.6 #[K]\n",
+ "U1=2800.0 #Overall heat transfer coeff in first effect\n",
+ "U2=2200.0 #Overall heat transfer coeff in first effect\n",
+ "U3=1100.0 #Overall heat transfer coeff in first effect\n",
+ "#Calculation\n",
+ "dT1=dT/(1+(U1/U2)+(U1/U3)) #/[K]\n",
+ "dT2=dT/(1+(U2/U1)+(U2/U3)) #/[K]\n",
+ "dT3=dT-(dT1+dT2) #[K]\n",
+ "#dT1=Ts-T1_dash #[K]\n",
+ "T1dash=Ts-dT1\n",
+ "#dT2=T1_dash-T2_dash #[K]\n",
+ "T2_dash=T1dash-dT2 #[K]\n",
+ "#Result\n",
+ "print\"Boiling point of solution in first effect =\",round(T1dash,2),\"K\"\n",
+ "print\"Boiling point of solution in second effect =\",round(T2_dash,1),\"K\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.11,Page no:6.33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A1( 24.9 )=A2( 23.0 ),So the area in each effect can be 24.9 m^2\n",
+ "Heat transfer surface in each effect is 24.9 m^2\n",
+ "Steam consumption= 5517.0 (approx)kg/h\n",
+ "Evaporation in the first effect is 4343.0 kg/h\n",
+ "Evaporation in 2nd effect is 3742.0 kg/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Double effect evaporator\n",
+ "#Variable declaration\n",
+ "mf_dot=10000.0 #[kg/h] of feed\n",
+ "ic=0.09 #Initial concentration \n",
+ "fc=0.47 #Final concentration\n",
+ "m1dot_dash=ic*mf_dot/fc #[kg/h]\n",
+ "Ps=686.616 #Steam pressure [kPa.g]\n",
+ "Ps=Ps+101.325 #[kPa]\n",
+ "Ts=442.7 #Saturation temperature in [K]\n",
+ "P2=86.660 #Vacuum in second effect in [kPa]\n",
+ "U1=2326.0 #Overall heat transfer in first effect [W/sq m.K]\n",
+ "U2=1744.5 #Overall heat transfer in 2nd effect [W/sqm.K]\n",
+ "P2_abs=101.325-P2 #Absolute pressure in second effect[kPa]\n",
+ "T2=326.3 #Temperature in 2nd effect in [K]\n",
+ "dT=Ts-T2 #[K]\n",
+ "Tf=309.0 #Feed temperature in[K]\n",
+ "T=273.0 #[K]\n",
+ "Cpf=3.77 #kJ/kg.K Specific heat for all caustic streams\n",
+ "#Q1=Q2\n",
+ "#U1*A1*dT1=U2*A2*dT2\n",
+ "#Calculation\n",
+ "dT2=dT/1.75 #[K]\n",
+ "dT1=(U2/U1)*dT2 #[K]\n",
+ "#Since there is no B.P.R\n",
+ "Tv1=Ts-dT1 #Temperature in vapor space of first effect in [K]\n",
+ "Tv2=Tv1-dT2 #Second effect [K]\n",
+ "Hf=Cpf*(Tf-T) #Feed enthalpy[kJ/kg]\n",
+ "H1dash=Cpf*(Tv1-T) #Enthalpy of final product[kJ/kg]\n",
+ "H2dash=Cpf*(Tv2-T) #kJ/kg\n",
+ "#For steam at 442.7 K\n",
+ "lambda_s=2048.7 #[kJ/kg]\n",
+ "#For vapour at 392.8 K\n",
+ "Hv1=2705.22 #[kJ/kg]\n",
+ "lambda_v1=2202.8 #[kJ/kg]\n",
+ "#for vapour at 326.3 K:\n",
+ "Hv2=2597.61 #[kJ/kg]\n",
+ "lambda_v2=2377.8 #[kJ/kg]\n",
+ "\n",
+ "#Overall material balance:\n",
+ "mv_dot=mf_dot-m1dot_dash #[kg/h]\n",
+ "\n",
+ "#Equation 4 becomes:\n",
+ "#mv1_dot*lambda_v1+mf_dot*Hf=(mv_dot-mv1_dot)*Hv2+(mf_dot-mv2_dot)*H2_dash\n",
+ "mv1_dot=(H2dash*(mf_dot-mv_dot)-mf_dot*Hf+mv_dot*Hv2)/(Hv2+lambda_v1-H2dash) \n",
+ "mv2_dot=mv_dot-mv1_dot #[kg/h]\n",
+ "\n",
+ "#From equation 2\n",
+ "\n",
+ "m2dot_dash=m1dot_dash+mv1_dot #First effect material balance[kg/h]\n",
+ "ms_dot=(mv1_dot*Hv1+m1dot_dash*H1dash-m2dot_dash*H2dash)/lambda_s #[kg/h]\n",
+ "\n",
+ "\n",
+ "#Heat transfer Area\n",
+ "#First effect\n",
+ "A1=ms_dot*lambda_s*(10.0**3.0)/(3600.0*U1*dT1) #[sq m]\n",
+ "\n",
+ "#Second effect\n",
+ "lambda_v1=lambda_v1*(10**3.0)/3600.0\n",
+ "A2=mv1_dot*lambda_v1/(U2*dT2) #[sq m]\n",
+ "\n",
+ "#Since A1 not= A2\n",
+ "\n",
+ "#SECOND TRIAL\n",
+ "Aavg=(A1+A2)/2 #[sq m]\n",
+ "dT1_dash=dT1*A1/Aavg #[K]\n",
+ "dT2_dash=dT-dT1 #/[K]\n",
+ "\n",
+ "#Temperature distribution\n",
+ "Tv1=Ts-dT1_dash #[K]\n",
+ "Tv2=Tv1-dT2_dash #[K]\n",
+ "Hf=135.66 #[kJ/kg]\n",
+ "H1dash=Cpf*(Tv1-T) #[kJ/kg]\n",
+ "H2dash=200.83 #[kJ/kg]\n",
+ "\n",
+ "#Vapour at 388.5 K\n",
+ "Hv1=2699.8 #[kJ/kg]\n",
+ "lambda_v1=2214.92 #[kJ/kg]\n",
+ "mv1_dot=(H2dash*(mf_dot-mv_dot)-mf_dot*Hf+mv_dot*Hv2)/(Hv2+lambda_v1-H2dash) \n",
+ "mv2_dot=mv_dot-mv1_dot #[kg/h]\n",
+ "\n",
+ "#First effect Energy balance\n",
+ "ms_dot=((mv1_dot*Hv1+m1dot_dash*H1dash)-(mf_dot-mv2_dot)*H2dash)/lambda_s #[kg/h]\n",
+ "\n",
+ "#Area of heat transfer\n",
+ "lambda_s=lambda_s*1000.0/3600.0 \n",
+ "A1=ms_dot*lambda_s/(U1*dT1_dash) #[sq m]\n",
+ "\n",
+ "#Second effect:\n",
+ "A2=(mv1_dot*lambda_v1*1000)/(3600.0*U2*dT2_dash) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print\"A1(\",round(A1,1),\")=A2(\",round(A2),\"),So the area in each effect can be\",round(A1,1),\"m^2\"\n",
+ "print\"Heat transfer surface in each effect is\",round(A1,1),\"m^2\"\n",
+ "print\"Steam consumption=\",round(ms_dot),\"(approx)kg/h\"\n",
+ "print\"Evaporation in the first effect is\",round(mv1_dot),\"kg/h\"\n",
+ "print\"Evaporation in 2nd effect is\",round(mv2_dot),\"kg/h\" \n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.12 ,Page no:6.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ANSWER:Area in each effect 200.2 sq m\n",
+ "Steam economy is 2.55\n",
+ "Cooling water rate is 66.63 t/h\n"
+ ]
+ }
+ ],
+ "source": [
+ "#lye in Triple effect evaporator\n",
+ "#Variable declaration\n",
+ "Tf=353.0 #[K]\n",
+ "T=273.0 #[K]\n",
+ "mf_dot=10000.0 #Feed [kg/h]\n",
+ "ic=0.07 #Initial conc of glycerine \n",
+ "fc=0.4 #FinaL CONC OF GLYCERINE\n",
+ "#Overall glycerine balance\n",
+ "P=313.0 #Steam pressure[kPa]\n",
+ "Ts=408.0 #[from steam table][K]\n",
+ "P1=15.74 #[Pressure in last effect][kPa]\n",
+ "Tv3=328.0 #[Vapour temperature]\n",
+ "#Calculation\n",
+ "m3dot_dash=(ic/fc)*mf_dot #[kg/h]\n",
+ "mv_dot=mf_dot-m3dot_dash #/[kg/h]\n",
+ "dT=Ts-Tv3 #Overall apparent [K]\n",
+ "bpr1=10.0 #[K]\n",
+ "bpr2=bpr1 \n",
+ "bpr3=bpr2 \n",
+ "sum_bpr=bpr1+bpr2+bpr3 #[K]\n",
+ "dT=dT-sum_bpr #True_Overall\n",
+ "dT1=14.5 #[K]\n",
+ "dT2=16.0 #[K]\n",
+ "dT3=19.5 #[K]\n",
+ "Cpf=3.768 #[kJ/(kg.K)]\n",
+ "#Enthalpies of various streams\n",
+ "Hf=Cpf*(Tf-T) #[kJ/kg]\n",
+ "H1=Cpf*(393.5-T) #[kJ/kg]\n",
+ "H2=Cpf*(367.5-T) #[kJ/kg]\n",
+ "H3=Cpf*(338.0-T) #[kJ/kg]\n",
+ "#For steam at 40K\n",
+ "lambda_s=2160.0 #[kJ/kg]\n",
+ "Hv1=2692.0 #[kJ/kg]\n",
+ "lambda_v1=2228.3 #[kJ/kg]\n",
+ "Hv2=2650.8 #[kJ/kg]\n",
+ "lambda_v2=2297.4 #[kJ/kg]\n",
+ "Hv3=2600.5 #[kJ/kg]\n",
+ "lambda_v3=2370.0 #[kJ/kg]\n",
+ "\n",
+ "#MATERIAL AND EBERGY BALANCES\n",
+ "#First effect\n",
+ "#Material balance\n",
+ "\n",
+ "#m1dot_dash=mf_dot-mv1_dot\n",
+ "#m1dot_dash=1750+mv2_dot+mv3_dot \n",
+ "\n",
+ "#Energy balance\n",
+ "#ms_dot*lambda_s+mf_Dot*hf=mv1_dot*Hv1+m1dot_dash*H1\n",
+ "#2160*ms_dot+2238*(mv2_dot+mv3_dot)=19800500\n",
+ "\n",
+ "#Second effect\n",
+ "#Energy balance:\n",
+ "#mv3_dot=8709.54-2.076*mv2_dot\n",
+ "\n",
+ "#Third effect:\n",
+ "#m2dot_dash=mv3_dot+m3dot_dash\n",
+ "#m2dot_dash=mv3_dot+1750\n",
+ "#From eqn 8 we get\n",
+ "mv2_dot=(8709.54*2600.5+1750*244.92-8790.54*356.1-356.1*1750)/(-2.076*356.1+2297.4+2600.5*2.076)\n",
+ "#From eqn 8:\n",
+ "mv3_dot=8709.54-2.076*mv2_dot #[kg/h]\n",
+ "mv1_dot=mv_dot-(mv2_dot+mv3_dot) #[kg/h]\n",
+ "#From equation 4:\n",
+ "#m1dot_dash=mf_dot-mv1_dot\n",
+ "#ms_dot=(mv1_dot*Hv1+m1dot_dash*H1-mf_dot*Hf)/lambda_s #[kg/h]\n",
+ "ms_dot=(19800500.0-2238.0*(mv2_dot+mv3_dot))/2160.0 #[kg/h]\n",
+ "\n",
+ "#Heat transfer Area is\n",
+ "U1=710.0 #[W/sq m.K]\n",
+ "U2=490.0 #[W/sq m.K]\n",
+ "U3=454.0 #[W/sq m.K]\n",
+ "A1=(ms_dot*lambda_s*1000.0)/(3600.0*U1*dT1) #[sq m]\n",
+ "A2=mv1_dot*lambda_v1*1000.0/(3600.0*U2*dT2) #[sq m]\n",
+ "A3=mv2_dot*lambda_v2*1000.0/(3600.0*U3*dT3) #[sq m]\n",
+ "#The deviaiton is within +-10%\n",
+ "#Hence maximum A1 area can be recommended\n",
+ "\n",
+ "eco=(mv_dot/ms_dot) #[Steam economy]\n",
+ "\n",
+ "Qc=mv3_dot*lambda_v3 #[kJ/h]\n",
+ "dT=25.0 #Rise in water temperature\n",
+ "Cp=4.187\n",
+ "mw_dot=Qc/(Cp*dT)\n",
+ "#Result\n",
+ "print\"ANSWER:Area in each effect\",round(A3,1),\"sq m\" \n",
+ "print\"Steam economy is\",round(eco,2) \n",
+ "print\"Cooling water rate is\",round(mw_dot/1000,2),\"t/h\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.13 ,Page no:6.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Steam economy is 2.0\n",
+ "Area pf heat transfer in each effect is 65.3 m^2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Triple effect unit\n",
+ "#Variable declaration\n",
+ "Cpf=4.18 #[kJ/kg.K]\n",
+ "dT1=18 #[K]\n",
+ "dT2=17 #[K]\n",
+ "dT3=34 #[K]\n",
+ "mf_dot=4 #[kg/s]\n",
+ "Ts=394 #[K]\n",
+ "bp=325 #Bp of water at 13.172 kPa [K]\n",
+ "dT=Ts-bp #[K]\n",
+ "lambda_s=2200 #[kJ/kg]\n",
+ "T1=Ts-dT1 #[K]\n",
+ "lambda1=2249 #[kJ/kg]\n",
+ "lambda_v1=lambda1 #[kJ/kg]\n",
+ "#Calculation\n",
+ "T2=T1-dT2 #[K]\n",
+ "lambda2=2293 #[kJ/kg]\n",
+ "lambda_v2=lambda2 #[kJ/kg]\n",
+ "\n",
+ "T3=T2-dT3 #[K]\n",
+ "lambda3=2377 #[kJ/kg]\n",
+ "lambda_v3=lambda3 #[kJ/kg]\n",
+ "\n",
+ "ic=0.1 #Initial conc of solids\n",
+ "fc=0.5 #Final conc of solids\n",
+ "m3dot_dash=(ic/fc)*mf_dot #[kg/s]\n",
+ "mv_dot=mf_dot-m3dot_dash #Total evaporation in [kg/s]\n",
+ "#Material balance over first effect\n",
+ "#mf_dot=mv1_dot_m1dot_dash\n",
+ "#Energy balance:\n",
+ "#ms_dot*lambda_s=mf_dot*(Cpf*(T1-Tf)+mv1_dot*lambda_v1)\n",
+ "\n",
+ "#Material balance over second effect\n",
+ "#m1dot_dash=mv2_dot+m2dot_dash\n",
+ "#Enthalpy balance:\n",
+ "#mv1_dot*lambda_v1+m1dot_dash(cp*(T1-T2)=mv2_dot*lambda_v2)\n",
+ "\n",
+ "#Material balance over third effect\n",
+ "#m2dot_dash=mv3_dot+m3dot+dash\n",
+ "\n",
+ "#Enthalpy balance:\n",
+ "#mv2_lambda_v2+m2dot_dash*cp*(T2-T3)=mv3_dot*lambda_v3\n",
+ "294\n",
+ "mv2_dot=3.2795/3.079 #[kg/s]\n",
+ "mv1_dot=1.053*mv2_dot-0.1305 #[kg/s]\n",
+ "mv3_dot=1.026*mv2_dot+0.051 #[kg/s]\n",
+ "ms_dot=(mf_dot*Cpf*(T1-294)+mv1_dot*lambda_v1)/lambda_s #[kg/s]\n",
+ "eco=mv_dot/ms_dot #Steam economy \n",
+ "eco=round(eco)\n",
+ "U1=3.10 #[kW/sq m.K]\n",
+ "U2=2 #[kW/sq m.K]\n",
+ "U3=1.10 #[kW/sq m.K]\n",
+ "#First effect:\n",
+ "A1=ms_dot*lambda_s/(U1*dT1) #[sq m]\n",
+ "A2=mv1_dot*lambda_v1/(U2*dT2) #[sq m]\n",
+ "A3=mv2_dot*lambda_v2/(U3*dT3) #[sq m]\n",
+ "#Areas are calculated witha deviation of +-10%\n",
+ "#Result\n",
+ "print\"Steam economy is\",eco \n",
+ "print\"Area pf heat transfer in each effect is\",round(A3,1),\"m^2\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no: 6.14,Page no:6.45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Steam economy is 1.957 evaporation/kg steam\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Quadruple effect evaporator\n",
+ "#Variable declaration\n",
+ "mf_dot=1060 #[kg/h]\n",
+ "ic=0.04 #Initial concentration\n",
+ "fc=0.25 #Final concentration\n",
+ "m4dot_dash=(ic/fc)*mf_dot #[kg/h]\n",
+ "#Total evaporation=\n",
+ "mv_dot=mf_dot-m4dot_dash #[kg/h]\n",
+ "\n",
+ "#Fromsteam table:\n",
+ "P1=370 #[kPa.g]\n",
+ "T1=422.6 #[K]\n",
+ "lambda1=2114.4 #[kJ/kg]\n",
+ "\n",
+ "P2=235 #[kPa.g]\n",
+ "T2=410.5 #[K]\n",
+ "lambda2=2151.5 #[kJ/kg]\n",
+ "\n",
+ "P3=80 #[kPa.g]\n",
+ "T3=390.2 #[K]\n",
+ "lambda3=2210.2 #[kJ/kg]\n",
+ "\n",
+ "P4=50.66 #[kPa.g]\n",
+ "T4=354.7 #[K]\n",
+ "lambda4=2304.6 #[kJ/kg]\n",
+ "\n",
+ "P=700 #Latent heat of steam[kPa .g]\n",
+ "lambda_s=2046.3 #[kJ/kg]\n",
+ "\n",
+ "#Calculation\n",
+ "#FIRST EFFECT\n",
+ "#Enthalpy balance:\n",
+ "#ms_dot=mf_dot*Cpf*(T1-Tf)+mv1_dot*lambda1\n",
+ "#ms_dot=1345.3-1.033*m1dot_dash\n",
+ "\n",
+ "#SECOND EFFECT\n",
+ "#m1dot_dash=m2dot_dash+mdot_v2\n",
+ "#Enthalpy balance:\n",
+ "#m1dot_dash=531.38+0.510*m2dot_dash\n",
+ "\n",
+ "#THIRD EFFECT\n",
+ "#Material balance:\n",
+ "#m2dot_dash-m3dot_dash+mv3_dot\n",
+ "\n",
+ "#FOURTH EFFECT\n",
+ "#m3dot_dash=m4dot_dash+mv4_dot\n",
+ "mv4dot_dash=169.6 #[kg/h]\n",
+ "m3dot_dash=416.7 #[kg/h]\n",
+ "\n",
+ "#From eq n 4:\n",
+ "m2dot_dash=-176.84+1.98*m3dot_dash #[kg/h]\n",
+ "\n",
+ "#From eqn 2:\n",
+ "m1dot_dash=531.38+0.510*m2dot_dash #[kg/h]\n",
+ "\n",
+ "#From eqn 1:\n",
+ "ms_dot=1345.3-1.033*m1dot_dash\n",
+ "eco=mv_dot/ms_dot #[kg evaporation /kg steam]\n",
+ "#Result\n",
+ "print\"Steam economy is\",round(eco,3),\"evaporation/kg steam\" \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example no:6.15 ,Page no:6.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "NOTE:In textbook this value of hio is wrongly calculated as 3975.5..So we will take this\n",
+ "Steam consumption is 24531.0 kg/h\n",
+ "Capacity is 20000.0 kg/h\n",
+ "Steam economy is 0.815\n",
+ " No. of tubes required is 722.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Single effect Calendria\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "m1_dot=5000 #[kg/h]\n",
+ "ic=0.1 #Initial concentration\n",
+ "fc=0.5 #Final concentration\n",
+ "mf_dot=(fc/ic)*m1_dot #[kg/h]\n",
+ "mv_dot=mf_dot-m1_dot #Water evaporated[kg/h]\n",
+ "P=357 #Steam pressure[kN/sq m]\n",
+ "Ts=412 #[K]\n",
+ "H=2732 #[kJ/kg]\n",
+ "lambda1=2143 #[kJ/kg]\n",
+ "bpr=18.5 #[K]\n",
+ "T_dash=352+bpr #[K]\n",
+ "Hf=138 #[kJ/kg]\n",
+ "lambda_s=2143 #[kJ/kg]\n",
+ "Hv=2659 #[kJ/kg]\n",
+ "H1=568 #[kJ/kg]\n",
+ "#Calculation\n",
+ "ms_dot=(mv_dot*Hv+m1_dot*H1-mf_dot*Hf)/lambda_s #Steam consumption in kg/h\n",
+ "eco=mv_dot/ms_dot #Economy\n",
+ "dT=Ts-T_dash #[K]\n",
+ "hi=4500 #[W/sq m.K]\n",
+ "ho=9000 #[W/sq m.K]\n",
+ "Do=0.032 #[m]\n",
+ "Di=0.028 #[m]\n",
+ "x1=(Do-Di)/2 #[m]\n",
+ "Dw=(Do-Di)/math.log(32.0/28.0) #[m]\n",
+ "x2=0.25*10**-3 #[m]\n",
+ "L=2.5 #Length [m]\n",
+ "hio=hi*(Di/Do) #[W/sq m.K]\n",
+ "print\"NOTE:In textbook this value of hio is wrongly calculated as 3975.5..So we will take this\"\n",
+ "hio=3975.5\n",
+ "k1=45.0 #Tube material in [W/sq m.K]\n",
+ "k2=2.25 #For scale[W/m.K]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio+(x1*Dw)/(k1*Do)+(x2/k2)) #Overall heat transfer coeff in W/sq m.K\n",
+ "Q=ms_dot*lambda_s #[kJ/h]\n",
+ "Q=Q*1000.0/3600.0 #[W]\n",
+ "\n",
+ "A=Q/(Uo*dT) #[sq m]\n",
+ "n=A/(math.pi*Do*L) #from A=n*math.pi*Do*L \n",
+ "#Result\n",
+ "print\"Steam consumption is\",round(ms_dot),\"kg/h\" \n",
+ "print\"Capacity is\",round(mv_dot),\"kg/h\"\n",
+ "print\"Steam economy is \",round(eco,3)\n",
+ "print\" No. of tubes required is \",round(n)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "## Example no:6.16 ,Page no:6.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Steam consumption is 3159.6 kg/h\n",
+ "Heat transfer area is 47.91 m^2\n",
+ " Now,Steam consumption is 3253.42 kg/h\n",
+ "Economy of evaporator 0.84\n",
+ "Now,Area is 49.33\n",
+ "If enthalpy of water vapour Hv were based on the saturated vapour at the pressure\n",
+ "the error introduced is only 2.97 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Single effect evaporator\n",
+ "#Variable declaration\n",
+ "bpr=40.6 #[K]\n",
+ "Cpf=1.88 #[kJ/kg.K]\n",
+ "Hf=214 #[kJ/kg]\n",
+ "H1=505 #[kJ/kg]\n",
+ "mf_dot=4536 #[kg/h] of feed solution\n",
+ "ic=0.2 #Initial conc\n",
+ "fc=0.5 #Final concentration\n",
+ "m1dot_dash=(ic/fc)*mf_dot #Thisck liquor flow arte[kg/h]\n",
+ "mv_dot=mf_dot-m1dot_dash #[kg/H]\n",
+ "Ts=388.5 #Saturation temperature of steam in [K]\n",
+ "bp=362.5 #b.P of solution in [K]\n",
+ "lambda_s=2214 #[kJ/kg]\n",
+ "P=21.7 #Vapor space in [kPa]\n",
+ "Hv=2590.3 #[kJ/kg]\n",
+ "\n",
+ "#Calculation\n",
+ "#Enthalpy balance over evaporator\n",
+ "ms_dot=(m1dot_dash*H1+mv_dot*Hv-mf_dot*Hf)/lambda_s #[kg/h\n",
+ "print\"Steam consumption is\",round(ms_dot,1),\"kg/h\" \n",
+ "dT=Ts-bp #[K]\n",
+ "U=1560 #[W/sq m.K]\n",
+ "Q=ms_dot*lambda_s #[kJ/h]\n",
+ "Q=Q*1000/3600 #[W]\n",
+ "A=Q/(U*dT) #[sq m]\n",
+ "print\"Heat transfer area is\",round(A,2),\"m^2\"\n",
+ "\n",
+ "#Calculations considering enthalpy of superheated vapour\n",
+ "\n",
+ "Hv=Hv+Cpf*bpr #[kJ/kg]\n",
+ "ms_dot=(m1dot_dash*H1+mv_dot*Hv-mf_dot*Hf)/lambda_s #[kg/h]\n",
+ "print\" Now,Steam consumption is\",round(ms_dot,2),\"kg/h\" \n",
+ "eco=mv_dot/ms_dot #Steam economy\n",
+ "print\"Economy of evaporator \",round(eco,2)\n",
+ "Q=ms_dot*lambda_s #[kJ/h]\n",
+ "Q=Q*1000.0/3600.0 #[w]\n",
+ "A2=Q/(U*dT) #Area\n",
+ "print\"Now,Area is\",round(A2,2) \n",
+ "perc=(A2-A)*100/A #%error in the heat transfer area \n",
+ "#Result\n",
+ "print\"If enthalpy of water vapour Hv were based on the saturated vapour at the pressure\\nthe error introduced is only\",round(perc,2),\"percent\"\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Heat_Transfer_by_K._A._Gavhane/README.txt b/Heat_Transfer_by_K._A._Gavhane/README.txt
new file mode 100644
index 00000000..aae4662f
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Kiran Bala
+Course: btech
+College/Institute/Organization: Ideal Institute of Technology,Ghaziabad
+Department/Designation: Electrical & Electronics Engg
+Book Title: Heat Transfer
+Author: K. A. Gavhane
+Publisher: Nirali Prakashan, Pune
+Year of publication: 2010
+Isbn: 8190639617
+Edition: 10 \ No newline at end of file
diff --git a/Heat_Transfer_by_K._A._Gavhane/screenshots/1.png b/Heat_Transfer_by_K._A._Gavhane/screenshots/1.png
new file mode 100644
index 00000000..bb480cd9
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/screenshots/1.png
Binary files differ
diff --git a/Heat_Transfer_by_K._A._Gavhane/screenshots/2.png b/Heat_Transfer_by_K._A._Gavhane/screenshots/2.png
new file mode 100644
index 00000000..7149bea5
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/screenshots/2.png
Binary files differ
diff --git a/Heat_Transfer_by_K._A._Gavhane/screenshots/3.png b/Heat_Transfer_by_K._A._Gavhane/screenshots/3.png
new file mode 100644
index 00000000..2bf2d0fa
--- /dev/null
+++ b/Heat_Transfer_by_K._A._Gavhane/screenshots/3.png
Binary files differ
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1.ipynb
new file mode 100644
index 00000000..be2e4451
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1.ipynb
@@ -0,0 +1,558 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1: Advanced Operational Amplifier Principles"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.1,Page 6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "open output voltage is 0.5 V\n",
+ "resistance lower loaded is 333.333 ohm\n",
+ "loaded output voltage is 0.25 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=1000.0;\n",
+ "R2=1000.0;\n",
+ "Rl=500.0#load resistance\n",
+ "V=1.0#input voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vo=(R2/(R1+R2))*V;\n",
+ "Rll=1/((1/R2)+(1/Rl))#lower loaded resistance\n",
+ "Vol=(Rll/(R2+Rll))*V;\n",
+ "\n",
+ "#result\n",
+ "print \"open output voltage is\",round(Vo,3),\"V\"\n",
+ "print \"resistance lower loaded is\",round(Rll,3),\"ohm\"\n",
+ "print \"loaded output voltage is\",round(Vol,3),\"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.2,Page 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistance is 1.01 Kohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rf=100000.0#resistance\n",
+ "Acl=100.0#amplifier gain\n",
+ "\n",
+ "#calculation\n",
+ "Ri=Rf/(Acl-1);\n",
+ "\n",
+ "#result\n",
+ "print \"input resistance is\",round(Ri/1000,2), \"Kohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.3,Page 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current through Ri1 is 178.571 microAmp\n",
+ "current through Ri2 is 31.915 microAmp\n",
+ "current through Ri2 is 31.915 microAmp\n",
+ "current through Rf is 210.486 microAmp\n",
+ "voltage dropped is 2.105 V\n",
+ "output voltage 1 is -2.105 V\n",
+ "output voltage is 2.105 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vni=0.0#non inverting voltage\n",
+ "Vinv=0.0;#inverting voltage\n",
+ "Vri1=1.0;\n",
+ "Vri2=15.0;\n",
+ "Ri1=5600.0#resistance\n",
+ "Ri2=470000.0;\n",
+ "Rf=10000.0#load resistance\n",
+ "\n",
+ "#calculation\n",
+ "Ir1=Vri1/Ri1;\n",
+ "Ir2=Vri2/Ri2;\n",
+ "Irf=(Vri1/Ri1)+(Vri2/Ri2);\n",
+ "Vr=Irf*Rf;\n",
+ "Vo1=-Vr;\n",
+ "Vo=Irf*Rf;\n",
+ "\n",
+ "#result\n",
+ "print \"current through Ri1 is\",round(Ir1*1e6,3), \"microAmp\"\n",
+ "print \"current through Ri2 is\",round(Ir2*1e6,3), \"microAmp\"\n",
+ "print \"current through Ri2 is\",round(Ir2*1e6,3),\"microAmp\"\n",
+ "print \"current through Rf is\",round(Irf*1e6,3), \"microAmp\"\n",
+ "print \"voltage dropped is\",round(Vr,3), \"V\"\n",
+ "print \"output voltage 1 is\",round(Vo1,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.4,Page 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inverting voltage is 4.955 V\n",
+ "non inverting voltage is 4.955 V\n",
+ "current through Rf2 is 42.698 microA\n",
+ "current through Ri2 is 42.698 microA\n",
+ "voltage dropped is 4.056 V\n",
+ "output voltage is 884.897 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ri1=950.00;#ohm\n",
+ "Ri2=1050.00;\n",
+ "Rf1=105000.00;#resistance\n",
+ "Rf2=95000.00;\n",
+ "Vin=5.00;#voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vinv=(Rf1/(Rf1+Ri1))*Vin;\n",
+ "Vni=Vinv;\n",
+ "Irf2=(Vin-Vinv)/Ri2;\n",
+ "Iri2=Irf2;\n",
+ "Vrf2=Irf2*Rf2;\n",
+ "Vo=Vinv-Vrf2-.014;\n",
+ "\n",
+ "#result\n",
+ "print \"inverting voltage is\",round(Vinv,3), \"V\"\n",
+ "print \"non inverting voltage is\",round (Vni,3), \"V\"\n",
+ "print \"current through Rf2 is\",round(Irf2*1e6,3), \"microA\"\n",
+ "print \"current through Ri2 is\",round(Iri2*1e6,3), \"microA\"\n",
+ "print \"voltage dropped is\",round(Vrf2,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo*1000,3), \"mV\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.5,Page 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 272.222 microA\n",
+ "input resistor current is 500.0 microA\n",
+ "feedback resistor current is 227.778 microAmp\n",
+ "resistor voltage is 227.778 mV\n",
+ "1st output voltage is 2.222 V\n",
+ "input resistor current is 327.778 microA\n",
+ "input resistor current is 827.778 microA\n",
+ "feedback resistor voltage is 7.45 V\n",
+ "2nd output voltage is 10.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vniu1=2.45;#V\n",
+ "Vniu2=2.55;#V\n",
+ "Vinvu1=2.45;\n",
+ "Vinvu2=2.55;\n",
+ "Ri1=9000.0;#ohm\n",
+ "Ri2=1000.0;#ohm\n",
+ "Rf1=1000.0;\n",
+ "Rf2=9000.0;\n",
+ "Rg=200.0;#load resistance\n",
+ "\n",
+ "#calculation\n",
+ "Iri1=Vniu1/Ri1;\n",
+ "Irg=(Vniu2-Vniu1)/Rg;\n",
+ "Irf1=Irg-Iri1;\n",
+ "Vrf1=Irf1*Rf1;\n",
+ "Vou1=Vniu1-Vrf1;\n",
+ "Iri2=(Vniu2-Vou1)/Ri2;\n",
+ "Irf2=Iri2+Irg;\n",
+ "Vrf2=Irf2*Rf2#feedback resistor voltage\n",
+ "Vo=Vrf2+Vniu2;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Iri1*1e6,3), \"microA\"\n",
+ "print \"input resistor current is\",round(Irg*1e6,3), \"microA\"\n",
+ "print \"feedback resistor current is\",round(Irf1*1e6,3), \"microAmp\"\n",
+ "print \"resistor voltage is\",round(Vrf1*1000,3), \"mV\"\n",
+ "print \"1st output voltage is\",round(Vou1,3), \"V\"\n",
+ "print \"input resistor current is\",round(Iri2*1e6,3), \"microA\"\n",
+ "print \"input resistor current is\",round(Irf2*1e6,3),\"microA\"\n",
+ "print \"feedback resistor voltage is\",round(Vrf2,3), \"V\"\n",
+ "print \"2nd output voltage is\",round(Vo,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.6.a,Page 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 128.0 microA\n",
+ "feedback resistor current is 128.0 microA\n",
+ "feedback resistor voltage is 5.018 V\n",
+ "output resistor voltage is 5.018 V\n",
+ "output voltage is 3.818 V\n",
+ "load current is 0.5 A\n",
+ "load power is 2.5 W\n",
+ "power dissipated in LM317 is 5.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vniu1=0;#V\n",
+ "Vinvu2=0;#V\n",
+ "Vref=2.56;\n",
+ "Rl=10000.0;#ohm\n",
+ "Rf=39200.0;#ohm\n",
+ "Ro=10.0;#resistance\n",
+ "Vdc1=5.0;\n",
+ "Vdc2=15.0;\n",
+ "Idc=0.5;#current\n",
+ "\n",
+ "#calculation\n",
+ "Iu1=(Vref/Rl)*.5;\n",
+ "Irf=Iu1;\n",
+ "Vrf=Irf*Rf;\n",
+ "Vout=Vrf+Vinvu2;\n",
+ "Eo=Vout-1.2;\n",
+ "Iload=Vdc1/Ro;\n",
+ "Pload=Vdc1**2/Ro;\n",
+ "Plm317=(Vdc2-Vdc1)*Idc;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Iu1*1e6,3), \"microA\"\n",
+ "print \"feedback resistor current is\",round(Irf*1e6,3), \"microA\"\n",
+ "print \"feedback resistor voltage is\",round(Vrf,3), \"V\"\n",
+ "print \"output resistor voltage is\",round(Vout,3), \"V\"\n",
+ "print \"output voltage is\",round(Eo,3), \"V\"\n",
+ "print \"load current is\",round(Iload,3), \"A\"\n",
+ "print \"load power is\",round(Pload,3), \"W\"\n",
+ "print \"power dissipated in LM317 is\",round(Plm317,3), \"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.6.b,Page 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 360.36 microamp\n",
+ "inverting voltage 1 & 2 is 396.396 mV\n",
+ "current across Rs is 3.964 A\n",
+ "emitter voltage is 8.324 V\n",
+ "output voltage is 10.124 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=4;#V\n",
+ "Vs=1.8;#V\n",
+ "Rf=10000.0;#ohm\n",
+ "Ri=1100.0;#ohm\n",
+ "Rl=2.0;#ohm\n",
+ "Rs=0.1;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Irf=Vin/(Rf+Ri);\n",
+ "Vni=Irf*Ri;\n",
+ "Ir=Vni/Rs;\n",
+ "Ve=Ir*(Rl+Rs);\n",
+ "Vo=Ve+Vs;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Irf*1e6,3),\"microamp\"\n",
+ "print \"inverting voltage 1 & 2 is\",round(Vni*1000,3), \"mV\"\n",
+ "print \"current across Rs is\",round(Ir,3), \"A\"\n",
+ "print \"emitter voltage is\",round(Ve,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.7,Page 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 9.899 V\n",
+ "power delivered is 12.25 W\n",
+ "load voltage is 28.284 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vs=18.0;#V\n",
+ "Rl=8.0;#load resistance\n",
+ "Pll=100.0;#power\n",
+ "\n",
+ "#calculation\n",
+ "Vlp=Vs-4;\n",
+ "Vlr=Vlp/(2**(.5));\n",
+ "Pl=(Vlr**2)/Rl;\n",
+ "Vl=(Pll*Rl)**(.5);\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(Vlr,3), \"V\"\n",
+ "print \"power delivered is\",round(Pl,3), \"W\"\n",
+ "print \"load voltage is\",round(Vl,3), \"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.9,Page 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 37.34 V\n",
+ "V+ is 45.34 V ;V- is 29.34 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output volatage and range \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "import numpy as np\n",
+ "Vp=6.0;#V\n",
+ "Ra=10.0;#Kohm\n",
+ "Rb=1800.0;#ohm\n",
+ "V=8.0;\n",
+ "#solving for Ir & Vo\n",
+ "a=np.array([[1.0,-124.6e-6],[7800.0,-1.0]])\n",
+ "b=np.array([134.6e-6,0.0])\n",
+ "\n",
+ "#calculation\n",
+ "x=np.linalg.solve(a,b);\n",
+ "Vo=x[1];\n",
+ "Va=Vo+V;\n",
+ "Vb=Vo-V;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(Vo,2), \"V\"\n",
+ "print \"V+ is\",round(Va,2), \"V ;V- is\",round(Vb,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.11,Page 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output current is 4.091 mA\n",
+ "output voltage is 45.409 V\n",
+ "gain output voltage 1 is 13.356 V\n",
+ "gain output voltage 2 is 0.38 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output voltage and gain output voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=4.5;\n",
+ "R1=1100.0;\n",
+ "R2=10000.0;\n",
+ "\n",
+ "G1=3.4#gain 1\n",
+ "G2=120.0#gain 2\n",
+ "\n",
+ "#calculation\n",
+ "Ir=Vin/R1;\n",
+ "Vo=Ir*(R1+R2);\n",
+ "Vuo1=Vo/G1;\n",
+ "Vuo2=Vo/G2;\n",
+ "\n",
+ "#result\n",
+ "print \"output current is\",round(Ir*1000,3),\"mA\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\"\n",
+ "print \"gain output voltage 1 is\",round(Vuo1,3), \"V\"\n",
+ "print \"gain output voltage 2 is\",round(Vuo2,2),\"V\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1_1.ipynb
new file mode 100644
index 00000000..be2e4451
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter1_1.ipynb
@@ -0,0 +1,558 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1: Advanced Operational Amplifier Principles"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.1,Page 6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "open output voltage is 0.5 V\n",
+ "resistance lower loaded is 333.333 ohm\n",
+ "loaded output voltage is 0.25 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=1000.0;\n",
+ "R2=1000.0;\n",
+ "Rl=500.0#load resistance\n",
+ "V=1.0#input voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vo=(R2/(R1+R2))*V;\n",
+ "Rll=1/((1/R2)+(1/Rl))#lower loaded resistance\n",
+ "Vol=(Rll/(R2+Rll))*V;\n",
+ "\n",
+ "#result\n",
+ "print \"open output voltage is\",round(Vo,3),\"V\"\n",
+ "print \"resistance lower loaded is\",round(Rll,3),\"ohm\"\n",
+ "print \"loaded output voltage is\",round(Vol,3),\"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.2,Page 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistance is 1.01 Kohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rf=100000.0#resistance\n",
+ "Acl=100.0#amplifier gain\n",
+ "\n",
+ "#calculation\n",
+ "Ri=Rf/(Acl-1);\n",
+ "\n",
+ "#result\n",
+ "print \"input resistance is\",round(Ri/1000,2), \"Kohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.3,Page 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current through Ri1 is 178.571 microAmp\n",
+ "current through Ri2 is 31.915 microAmp\n",
+ "current through Ri2 is 31.915 microAmp\n",
+ "current through Rf is 210.486 microAmp\n",
+ "voltage dropped is 2.105 V\n",
+ "output voltage 1 is -2.105 V\n",
+ "output voltage is 2.105 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vni=0.0#non inverting voltage\n",
+ "Vinv=0.0;#inverting voltage\n",
+ "Vri1=1.0;\n",
+ "Vri2=15.0;\n",
+ "Ri1=5600.0#resistance\n",
+ "Ri2=470000.0;\n",
+ "Rf=10000.0#load resistance\n",
+ "\n",
+ "#calculation\n",
+ "Ir1=Vri1/Ri1;\n",
+ "Ir2=Vri2/Ri2;\n",
+ "Irf=(Vri1/Ri1)+(Vri2/Ri2);\n",
+ "Vr=Irf*Rf;\n",
+ "Vo1=-Vr;\n",
+ "Vo=Irf*Rf;\n",
+ "\n",
+ "#result\n",
+ "print \"current through Ri1 is\",round(Ir1*1e6,3), \"microAmp\"\n",
+ "print \"current through Ri2 is\",round(Ir2*1e6,3), \"microAmp\"\n",
+ "print \"current through Ri2 is\",round(Ir2*1e6,3),\"microAmp\"\n",
+ "print \"current through Rf is\",round(Irf*1e6,3), \"microAmp\"\n",
+ "print \"voltage dropped is\",round(Vr,3), \"V\"\n",
+ "print \"output voltage 1 is\",round(Vo1,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.4,Page 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inverting voltage is 4.955 V\n",
+ "non inverting voltage is 4.955 V\n",
+ "current through Rf2 is 42.698 microA\n",
+ "current through Ri2 is 42.698 microA\n",
+ "voltage dropped is 4.056 V\n",
+ "output voltage is 884.897 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ri1=950.00;#ohm\n",
+ "Ri2=1050.00;\n",
+ "Rf1=105000.00;#resistance\n",
+ "Rf2=95000.00;\n",
+ "Vin=5.00;#voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vinv=(Rf1/(Rf1+Ri1))*Vin;\n",
+ "Vni=Vinv;\n",
+ "Irf2=(Vin-Vinv)/Ri2;\n",
+ "Iri2=Irf2;\n",
+ "Vrf2=Irf2*Rf2;\n",
+ "Vo=Vinv-Vrf2-.014;\n",
+ "\n",
+ "#result\n",
+ "print \"inverting voltage is\",round(Vinv,3), \"V\"\n",
+ "print \"non inverting voltage is\",round (Vni,3), \"V\"\n",
+ "print \"current through Rf2 is\",round(Irf2*1e6,3), \"microA\"\n",
+ "print \"current through Ri2 is\",round(Iri2*1e6,3), \"microA\"\n",
+ "print \"voltage dropped is\",round(Vrf2,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo*1000,3), \"mV\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.5,Page 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 272.222 microA\n",
+ "input resistor current is 500.0 microA\n",
+ "feedback resistor current is 227.778 microAmp\n",
+ "resistor voltage is 227.778 mV\n",
+ "1st output voltage is 2.222 V\n",
+ "input resistor current is 327.778 microA\n",
+ "input resistor current is 827.778 microA\n",
+ "feedback resistor voltage is 7.45 V\n",
+ "2nd output voltage is 10.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vniu1=2.45;#V\n",
+ "Vniu2=2.55;#V\n",
+ "Vinvu1=2.45;\n",
+ "Vinvu2=2.55;\n",
+ "Ri1=9000.0;#ohm\n",
+ "Ri2=1000.0;#ohm\n",
+ "Rf1=1000.0;\n",
+ "Rf2=9000.0;\n",
+ "Rg=200.0;#load resistance\n",
+ "\n",
+ "#calculation\n",
+ "Iri1=Vniu1/Ri1;\n",
+ "Irg=(Vniu2-Vniu1)/Rg;\n",
+ "Irf1=Irg-Iri1;\n",
+ "Vrf1=Irf1*Rf1;\n",
+ "Vou1=Vniu1-Vrf1;\n",
+ "Iri2=(Vniu2-Vou1)/Ri2;\n",
+ "Irf2=Iri2+Irg;\n",
+ "Vrf2=Irf2*Rf2#feedback resistor voltage\n",
+ "Vo=Vrf2+Vniu2;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Iri1*1e6,3), \"microA\"\n",
+ "print \"input resistor current is\",round(Irg*1e6,3), \"microA\"\n",
+ "print \"feedback resistor current is\",round(Irf1*1e6,3), \"microAmp\"\n",
+ "print \"resistor voltage is\",round(Vrf1*1000,3), \"mV\"\n",
+ "print \"1st output voltage is\",round(Vou1,3), \"V\"\n",
+ "print \"input resistor current is\",round(Iri2*1e6,3), \"microA\"\n",
+ "print \"input resistor current is\",round(Irf2*1e6,3),\"microA\"\n",
+ "print \"feedback resistor voltage is\",round(Vrf2,3), \"V\"\n",
+ "print \"2nd output voltage is\",round(Vo,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.6.a,Page 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 128.0 microA\n",
+ "feedback resistor current is 128.0 microA\n",
+ "feedback resistor voltage is 5.018 V\n",
+ "output resistor voltage is 5.018 V\n",
+ "output voltage is 3.818 V\n",
+ "load current is 0.5 A\n",
+ "load power is 2.5 W\n",
+ "power dissipated in LM317 is 5.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vniu1=0;#V\n",
+ "Vinvu2=0;#V\n",
+ "Vref=2.56;\n",
+ "Rl=10000.0;#ohm\n",
+ "Rf=39200.0;#ohm\n",
+ "Ro=10.0;#resistance\n",
+ "Vdc1=5.0;\n",
+ "Vdc2=15.0;\n",
+ "Idc=0.5;#current\n",
+ "\n",
+ "#calculation\n",
+ "Iu1=(Vref/Rl)*.5;\n",
+ "Irf=Iu1;\n",
+ "Vrf=Irf*Rf;\n",
+ "Vout=Vrf+Vinvu2;\n",
+ "Eo=Vout-1.2;\n",
+ "Iload=Vdc1/Ro;\n",
+ "Pload=Vdc1**2/Ro;\n",
+ "Plm317=(Vdc2-Vdc1)*Idc;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Iu1*1e6,3), \"microA\"\n",
+ "print \"feedback resistor current is\",round(Irf*1e6,3), \"microA\"\n",
+ "print \"feedback resistor voltage is\",round(Vrf,3), \"V\"\n",
+ "print \"output resistor voltage is\",round(Vout,3), \"V\"\n",
+ "print \"output voltage is\",round(Eo,3), \"V\"\n",
+ "print \"load current is\",round(Iload,3), \"A\"\n",
+ "print \"load power is\",round(Pload,3), \"W\"\n",
+ "print \"power dissipated in LM317 is\",round(Plm317,3), \"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.6.b,Page 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 360.36 microamp\n",
+ "inverting voltage 1 & 2 is 396.396 mV\n",
+ "current across Rs is 3.964 A\n",
+ "emitter voltage is 8.324 V\n",
+ "output voltage is 10.124 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=4;#V\n",
+ "Vs=1.8;#V\n",
+ "Rf=10000.0;#ohm\n",
+ "Ri=1100.0;#ohm\n",
+ "Rl=2.0;#ohm\n",
+ "Rs=0.1;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Irf=Vin/(Rf+Ri);\n",
+ "Vni=Irf*Ri;\n",
+ "Ir=Vni/Rs;\n",
+ "Ve=Ir*(Rl+Rs);\n",
+ "Vo=Ve+Vs;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Irf*1e6,3),\"microamp\"\n",
+ "print \"inverting voltage 1 & 2 is\",round(Vni*1000,3), \"mV\"\n",
+ "print \"current across Rs is\",round(Ir,3), \"A\"\n",
+ "print \"emitter voltage is\",round(Ve,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.7,Page 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 9.899 V\n",
+ "power delivered is 12.25 W\n",
+ "load voltage is 28.284 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vs=18.0;#V\n",
+ "Rl=8.0;#load resistance\n",
+ "Pll=100.0;#power\n",
+ "\n",
+ "#calculation\n",
+ "Vlp=Vs-4;\n",
+ "Vlr=Vlp/(2**(.5));\n",
+ "Pl=(Vlr**2)/Rl;\n",
+ "Vl=(Pll*Rl)**(.5);\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(Vlr,3), \"V\"\n",
+ "print \"power delivered is\",round(Pl,3), \"W\"\n",
+ "print \"load voltage is\",round(Vl,3), \"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.9,Page 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 37.34 V\n",
+ "V+ is 45.34 V ;V- is 29.34 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output volatage and range \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "import numpy as np\n",
+ "Vp=6.0;#V\n",
+ "Ra=10.0;#Kohm\n",
+ "Rb=1800.0;#ohm\n",
+ "V=8.0;\n",
+ "#solving for Ir & Vo\n",
+ "a=np.array([[1.0,-124.6e-6],[7800.0,-1.0]])\n",
+ "b=np.array([134.6e-6,0.0])\n",
+ "\n",
+ "#calculation\n",
+ "x=np.linalg.solve(a,b);\n",
+ "Vo=x[1];\n",
+ "Va=Vo+V;\n",
+ "Vb=Vo-V;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(Vo,2), \"V\"\n",
+ "print \"V+ is\",round(Va,2), \"V ;V- is\",round(Vb,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.11,Page 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output current is 4.091 mA\n",
+ "output voltage is 45.409 V\n",
+ "gain output voltage 1 is 13.356 V\n",
+ "gain output voltage 2 is 0.38 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output voltage and gain output voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=4.5;\n",
+ "R1=1100.0;\n",
+ "R2=10000.0;\n",
+ "\n",
+ "G1=3.4#gain 1\n",
+ "G2=120.0#gain 2\n",
+ "\n",
+ "#calculation\n",
+ "Ir=Vin/R1;\n",
+ "Vo=Ir*(R1+R2);\n",
+ "Vuo1=Vo/G1;\n",
+ "Vuo2=Vo/G2;\n",
+ "\n",
+ "#result\n",
+ "print \"output current is\",round(Ir*1000,3),\"mA\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\"\n",
+ "print \"gain output voltage 1 is\",round(Vuo1,3), \"V\"\n",
+ "print \"gain output voltage 2 is\",round(Vuo2,2),\"V\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2.ipynb
new file mode 100644
index 00000000..9d88fe28
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2.ipynb
@@ -0,0 +1,65 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2: Power Electronics Circuit Layout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 2.9,Page 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load current is 3.75 A\n",
+ "wiring resistance is 26.67 mohm\n",
+ "resistance per inch is 1666.67 microohm/inch\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding an appropriate wire gauge\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=15.0;#voltage\n",
+ "R=4.0;#resistance\n",
+ "Vl=.1;\n",
+ "D=8.0;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "Il=V/R;\n",
+ "Rw=Vl/Il#wiring resistance\n",
+ "Ri=Rw/(2*D);\n",
+ "\n",
+ "#result\n",
+ "print \"load current is\",round(Il,2), \"A\"\n",
+ "print \"wiring resistance is\",round(Rw*1000,2), \"mohm\"\n",
+ "print \"resistance per inch is\",round(Ri*1e6,2), \"microohm/inch\""
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2_1.ipynb
new file mode 100644
index 00000000..9d88fe28
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter2_1.ipynb
@@ -0,0 +1,65 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2: Power Electronics Circuit Layout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 2.9,Page 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load current is 3.75 A\n",
+ "wiring resistance is 26.67 mohm\n",
+ "resistance per inch is 1666.67 microohm/inch\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding an appropriate wire gauge\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=15.0;#voltage\n",
+ "R=4.0;#resistance\n",
+ "Vl=.1;\n",
+ "D=8.0;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "Il=V/R;\n",
+ "Rw=Vl/Il#wiring resistance\n",
+ "Ri=Rw/(2*D);\n",
+ "\n",
+ "#result\n",
+ "print \"load current is\",round(Il,2), \"A\"\n",
+ "print \"wiring resistance is\",round(Rw*1000,2), \"mohm\"\n",
+ "print \"resistance per inch is\",round(Ri*1e6,2), \"microohm/inch\""
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3.ipynb
new file mode 100644
index 00000000..4129f088
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3.ipynb
@@ -0,0 +1,481 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 : Power Parameter Calculations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.1,Page 109"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ramp current is 450.0 kAt/s\n",
+ "current at 5 micro sec is 2.25 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding ramp current and current at 5 micro sec\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ip=3.0;\n",
+ "f=150000.0;\n",
+ "t=5.0e-6;\n",
+ "\n",
+ "#calculation\n",
+ "T=1/f;\n",
+ "It=Ip/T;\n",
+ "I5=It*t;\n",
+ "\n",
+ "#result\n",
+ "print \"ramp current is\",round(It/1000,3), \"kAt/s\"\n",
+ "print \"current at 5 micro sec is\",round(I5,3), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.2,Page 110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current in time 0<=t<800ns is 3.575 A\n",
+ "current in time 800ns<=t<2 microsec is 0.0 A\n",
+ "current in time 400ns is 1.85 A\n",
+ "current in time 1 microsec is 0.0 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding current at different time\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ip=2.0;\n",
+ "f=500000.0;\n",
+ "Ir=.3;\n",
+ "Cd=.4#duty cycle\n",
+ "t1=4.0e-7;\n",
+ "t2=1.0e-6;\n",
+ "I1=0;\n",
+ "\n",
+ "#calculation\n",
+ "T=1/f;\n",
+ "Im=Ip-Ir;\n",
+ "I4=(Ip-Im)*t1/(Cd*T)+Im;\n",
+ "It=(Ip-Im)*t/(Cd*T)+Im;\n",
+ "It1=0\n",
+ "\n",
+ "#resilt\n",
+ "print \"current in time 0<=t<800ns is\",round(It,3),\"A\"\n",
+ "print \"current in time 800ns<=t<2 microsec is\",round(It1,2), \"A\"\n",
+ "print \"current in time 400ns is\",round(I4,2), \"A\"\n",
+ "print \"current in time 1 microsec is\",round(I1,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.3,Page 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average voltage is 54.02 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding average voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vr=120;\n",
+ "\n",
+ "#calculation\n",
+ "V=(Vr*2**.5)/pi;\n",
+ "\n",
+ "#result\n",
+ "print \"average voltage is\",round(V,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.4,Page 119"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average current is 0.98 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding average current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "f=100000.0;\n",
+ "Cd=.35#duty cycle\n",
+ "Ip=3.0;\n",
+ "Ir=.4;\n",
+ "\n",
+ "#calculation\n",
+ "Im=Ip-Ir;\n",
+ "T=1/f;\n",
+ "I=Cd*((Ip-Im)/2+Im)\n",
+ "\n",
+ "#result\n",
+ "print \"average current is\",round(I,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.5,Page 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 8.87 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vp=15.0;\n",
+ "Cd=.35;\n",
+ "f=100000.0;\n",
+ "\n",
+ "#calculation\n",
+ "V=Vp*Cd**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(V,2), \"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.6,Page 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms current is 1.73 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ip=3.0;\n",
+ "f=100000.0;\n",
+ "\n",
+ "#calculation\n",
+ "I=Ip/3**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"rms current is\",round(I,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.7,Page 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 85.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vp=170.0;\n",
+ "f=60.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vr=Vp/2;\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(Vr,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.8,Page 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power required is 2.42 hp\n",
+ "Pick a 5HP motor\n",
+ "current required is 18.84 amp\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding current and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "M=1000.0;\n",
+ "H=40.0;\n",
+ "T=30.0;\n",
+ "E1=.9;\n",
+ "E2=.5;\n",
+ "V=220.0;\n",
+ "P1=5.0;\n",
+ "\n",
+ "#calculation\n",
+ "W=M*H;\n",
+ "P=(W)/(T*550);\n",
+ "Pe=P1/E1;\n",
+ "I=(Pe*746)/V;\n",
+ "\n",
+ "#result\n",
+ "print \"power required is\",round(P,2), \"hp\"\n",
+ "print('Pick a 5HP motor')\n",
+ "print \"current required is\",round(I,2), \"amp\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.9,Page 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered to the load is 6.36 Watt\n",
+ "power provided by each supply is 7.23 Watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=1.0;\n",
+ "Ri=1100.0;\n",
+ "Rf=10000.0;\n",
+ "Rl=8.0;\n",
+ "Vs=18.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ir=Vin/Ri;\n",
+ "Vl=Ir*(Ri+Rf);\n",
+ "Ip=Vl/Rl;\n",
+ "Pl=(Vl*Ip)/2;\n",
+ "Ps=(Vs*Ip)/pi;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered to the load is\",round(Pl,2),\"Watt\"\n",
+ "print \"power provided by each supply is\",round(Ps,2), \"Watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.10,Page 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered is 141.67 Watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=170.0;\n",
+ "R=51.0;\n",
+ "\n",
+ "#calculation\n",
+ "I=V/R;\n",
+ "P=(V*I)/4;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered is\",round(P,2), \"Watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.11,Page 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power dissipated is 7.05 watt\n",
+ "power dissipated when transistor resistance is 0.2 hm is 0.35 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=7.2;\n",
+ "Rq=.2;\n",
+ "Rl=4;\n",
+ "D=.6;\n",
+ "\n",
+ "#calculation\n",
+ "Ip=V/(Rq+Rl);\n",
+ "Vl=Ip*Rl;\n",
+ "P=D*Vl*Ip;\n",
+ "Vq=Ip*Rq;\n",
+ "Pq=D*Vq*Ip;\n",
+ "\n",
+ "#result\n",
+ "print \"power dissipated is\",round(P,2), \"watt\"\n",
+ "print \"power dissipated when transistor resistance is 0.2 hm is\",round(Pq,2), \"watt\""
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3_1.ipynb
new file mode 100644
index 00000000..4129f088
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter3_1.ipynb
@@ -0,0 +1,481 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 : Power Parameter Calculations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.1,Page 109"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ramp current is 450.0 kAt/s\n",
+ "current at 5 micro sec is 2.25 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding ramp current and current at 5 micro sec\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ip=3.0;\n",
+ "f=150000.0;\n",
+ "t=5.0e-6;\n",
+ "\n",
+ "#calculation\n",
+ "T=1/f;\n",
+ "It=Ip/T;\n",
+ "I5=It*t;\n",
+ "\n",
+ "#result\n",
+ "print \"ramp current is\",round(It/1000,3), \"kAt/s\"\n",
+ "print \"current at 5 micro sec is\",round(I5,3), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.2,Page 110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current in time 0<=t<800ns is 3.575 A\n",
+ "current in time 800ns<=t<2 microsec is 0.0 A\n",
+ "current in time 400ns is 1.85 A\n",
+ "current in time 1 microsec is 0.0 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding current at different time\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ip=2.0;\n",
+ "f=500000.0;\n",
+ "Ir=.3;\n",
+ "Cd=.4#duty cycle\n",
+ "t1=4.0e-7;\n",
+ "t2=1.0e-6;\n",
+ "I1=0;\n",
+ "\n",
+ "#calculation\n",
+ "T=1/f;\n",
+ "Im=Ip-Ir;\n",
+ "I4=(Ip-Im)*t1/(Cd*T)+Im;\n",
+ "It=(Ip-Im)*t/(Cd*T)+Im;\n",
+ "It1=0\n",
+ "\n",
+ "#resilt\n",
+ "print \"current in time 0<=t<800ns is\",round(It,3),\"A\"\n",
+ "print \"current in time 800ns<=t<2 microsec is\",round(It1,2), \"A\"\n",
+ "print \"current in time 400ns is\",round(I4,2), \"A\"\n",
+ "print \"current in time 1 microsec is\",round(I1,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.3,Page 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average voltage is 54.02 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding average voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vr=120;\n",
+ "\n",
+ "#calculation\n",
+ "V=(Vr*2**.5)/pi;\n",
+ "\n",
+ "#result\n",
+ "print \"average voltage is\",round(V,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.4,Page 119"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average current is 0.98 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding average current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "f=100000.0;\n",
+ "Cd=.35#duty cycle\n",
+ "Ip=3.0;\n",
+ "Ir=.4;\n",
+ "\n",
+ "#calculation\n",
+ "Im=Ip-Ir;\n",
+ "T=1/f;\n",
+ "I=Cd*((Ip-Im)/2+Im)\n",
+ "\n",
+ "#result\n",
+ "print \"average current is\",round(I,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.5,Page 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 8.87 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vp=15.0;\n",
+ "Cd=.35;\n",
+ "f=100000.0;\n",
+ "\n",
+ "#calculation\n",
+ "V=Vp*Cd**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(V,2), \"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.6,Page 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms current is 1.73 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ip=3.0;\n",
+ "f=100000.0;\n",
+ "\n",
+ "#calculation\n",
+ "I=Ip/3**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"rms current is\",round(I,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.7,Page 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 85.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vp=170.0;\n",
+ "f=60.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vr=Vp/2;\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(Vr,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.8,Page 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power required is 2.42 hp\n",
+ "Pick a 5HP motor\n",
+ "current required is 18.84 amp\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding current and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "M=1000.0;\n",
+ "H=40.0;\n",
+ "T=30.0;\n",
+ "E1=.9;\n",
+ "E2=.5;\n",
+ "V=220.0;\n",
+ "P1=5.0;\n",
+ "\n",
+ "#calculation\n",
+ "W=M*H;\n",
+ "P=(W)/(T*550);\n",
+ "Pe=P1/E1;\n",
+ "I=(Pe*746)/V;\n",
+ "\n",
+ "#result\n",
+ "print \"power required is\",round(P,2), \"hp\"\n",
+ "print('Pick a 5HP motor')\n",
+ "print \"current required is\",round(I,2), \"amp\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.9,Page 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered to the load is 6.36 Watt\n",
+ "power provided by each supply is 7.23 Watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=1.0;\n",
+ "Ri=1100.0;\n",
+ "Rf=10000.0;\n",
+ "Rl=8.0;\n",
+ "Vs=18.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ir=Vin/Ri;\n",
+ "Vl=Ir*(Ri+Rf);\n",
+ "Ip=Vl/Rl;\n",
+ "Pl=(Vl*Ip)/2;\n",
+ "Ps=(Vs*Ip)/pi;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered to the load is\",round(Pl,2),\"Watt\"\n",
+ "print \"power provided by each supply is\",round(Ps,2), \"Watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.10,Page 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered is 141.67 Watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=170.0;\n",
+ "R=51.0;\n",
+ "\n",
+ "#calculation\n",
+ "I=V/R;\n",
+ "P=(V*I)/4;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered is\",round(P,2), \"Watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 3.11,Page 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power dissipated is 7.05 watt\n",
+ "power dissipated when transistor resistance is 0.2 hm is 0.35 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=7.2;\n",
+ "Rq=.2;\n",
+ "Rl=4;\n",
+ "D=.6;\n",
+ "\n",
+ "#calculation\n",
+ "Ip=V/(Rq+Rl);\n",
+ "Vl=Ip*Rl;\n",
+ "P=D*Vl*Ip;\n",
+ "Vq=Ip*Rq;\n",
+ "Pq=D*Vq*Ip;\n",
+ "\n",
+ "#result\n",
+ "print \"power dissipated is\",round(P,2), \"watt\"\n",
+ "print \"power dissipated when transistor resistance is 0.2 hm is\",round(Pq,2), \"watt\""
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4.ipynb
new file mode 100644
index 00000000..6bbf650f
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4.ipynb
@@ -0,0 +1,742 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4: Linear Power Amplifier Integrated Circuits"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.1,Page 162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 500.0 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rf=1;\n",
+ "Ri=10;\n",
+ "Vi=0;\n",
+ "Ip=500;\n",
+ "\n",
+ "#calculation\n",
+ "Vrf=Ip*Rf;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(Vrf,2), \"mV\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.2,Page 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "frequency of OPA548 is 67.26 KHz\n",
+ "slew rate of OPA548 is 1.12 Mhz\n",
+ "the OPA548 can be used\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding frequency\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vi=300.0;\n",
+ "P=35.0;\n",
+ "R=8.0;\n",
+ "S=10000.0;\n",
+ "fh=20.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vl=(P*R)**.5;\n",
+ "Vp=Vl*2**.5;\n",
+ "Il=Vl/R;\n",
+ "f=S/(2*pi*Vp);\n",
+ "Ao=Vl/Vi;\n",
+ "G=Ao*fh;\n",
+ "\n",
+ "#result\n",
+ "print \"frequency of OPA548 is\",round(f,2), \"KHz\"\n",
+ "print \"slew rate of OPA548 is\",round(G,2), \"Mhz\"\n",
+ "print('the OPA548 can be used')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.3,Page 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered is 3.5 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rl=10.0;\n",
+ "V=12.0;\n",
+ "Vl=5.0;\n",
+ "\n",
+ "#calculation\n",
+ "Pl=Vl**2/Rl;\n",
+ "I=Vl/Rl;\n",
+ "Ps=V*I;\n",
+ "Pic=Ps-Pl;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered is\",round(Pic,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.4,Page 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Vload Iload Pload Ps Pic\n",
+ "0.0 0.0 0.0 0.0 0.0\n",
+ "0.2 0.0 0.0 0.24 0.24\n",
+ "0.4 0.0 0.02 0.48 0.46\n",
+ "0.6 0.1 0.04 0.72 0.68\n",
+ "0.8 0.1 0.06 0.96 0.9\n",
+ "4.8 0.5 2.3 5.76 3.46\n",
+ "5.0 0.5 2.5 6.0 3.5\n",
+ "5.2 0.5 2.7 6.24 3.54\n",
+ "5.4 0.5 2.92 6.48 3.56\n",
+ "5.6 0.6 3.14 6.72 3.58\n",
+ "5.8 0.6 3.36 6.96 3.6\n",
+ "6.0 0.6 3.6 7.2 3.6\n",
+ "6.2 0.6 3.84 7.44 3.6\n",
+ "6.4 0.6 4.1 7.68 3.58\n",
+ "11.4 1.1 13.0 13.68 0.68\n",
+ "11.6 1.2 13.46 13.92 0.46\n",
+ "11.8 1.2 13.92 14.16 0.24\n",
+ "12.0 1.2 14.4 14.4 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7fd132102a10>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7fd1321993d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#finding Vload vs Pic graph\n",
+ "\n",
+ "#initialisation of variable\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from pylab import plot, xlabel, ylabel, title\n",
+ "Vload=[0.0, 0.2, 0.4, 0.6, 0.8, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2, 6.4, 11.4, 11.6, 11.8, 12.0];\n",
+ "Iload=[0.0, 0.0, 0.0, 0.1, 0.1, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 1.1, 1.2, 1.2, 1.2];\n",
+ "Pload=[0.00, 0.00, 0.02, 0.04, 0.06, 2.30, 2.50, 2.70, 2.92, 3.14, 3.36, 3.60, 3.84, 4.10, 13.00, 13.46, 13.92, 14.40];\n",
+ "Ps=[0.00, 0.24, 0.48, 0.72, 0.96, 5.76, 6.00, 6.24, 6.48, 6.72, 6.96, 7.20, 7.44, 7.68, 13.68, 13.92, 14.16, 14.40];\n",
+ "Pic=[0.00, 0.24, 0.46, 0.68, 0.90, 3.46, 3.50, 3.54, 3.56, 3.58, 3.60, 3.60, 3.60, 3.58, 0.68, 0.46, 0.24, 0.00];\n",
+ "\n",
+ "#result\n",
+ "print('Vload Iload Pload Ps Pic');\n",
+ "for i in range(0,18):\n",
+ " print Vload[i],\" \",Iload[i],\" \",Pload[i],\" \",Ps[i],\" \", Pic[i]\n",
+ " \n",
+ "plot(Vload,Pic);\n",
+ "xlabel('load voltage (V)')\n",
+ "ylabel('IC Power(W)')\n",
+ "title('load voltage vs IC Power')\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.5,Page 173"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IC power is 2.57 W\n",
+ "total power is 3.82 W\n",
+ "dc supply current is 159.155 mA\n",
+ "power delivered is 1.25 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding different power and current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=12.0;\n",
+ "Vp=5.0;\n",
+ "R=10.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ip=Vp/R;\n",
+ "Il=Ip/2**.5;\n",
+ "Pl=(Vp*Ip)/2;\n",
+ "Id=Ip/pi;\n",
+ "Pt=2*V*Ip/pi;\n",
+ "Pic=Pt-Pl;\n",
+ "\n",
+ "#result\n",
+ "print \"IC power is\",round(Pic,2), \"W\"\n",
+ "print \"total power is\",round(Pt,2), \"W\"\n",
+ "print \"dc supply current is\",round(Id*1000,3), \"mA\"\n",
+ "print \"power delivered is\",round(Pl,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.6,Page 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thermal resistance is 24.61 C/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding thermal resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ts=40.0;\n",
+ "P=2.92;\n",
+ "Qj=2.5;\n",
+ "Qc=2.0;\n",
+ "Tj=125.0;\n",
+ "\n",
+ "#calculation\n",
+ "Qs=(Tj-Ts)/P-Qj-Qc;\n",
+ "\n",
+ "#result\n",
+ "print \"thermal resistance is\",round(Qs,2),\"C/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.7,Page 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Vload Iload Pload Ps Pic\n",
+ "9.4 0.94 4.42 14.36 9.94\n",
+ "9.6 0.96 4.61 14.67 10.06\n",
+ "10.0 power delivered by IC in watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=24.0;\n",
+ "R=10.0;\n",
+ "Qs=4.0;\n",
+ "Tj=125.0;\n",
+ "Ta=40.0;\n",
+ "Qj=2.5;\n",
+ "Qc=2.0;\n",
+ "Vload=[9.4, 9.6];\n",
+ "Iload=[.94, .96];\n",
+ "Pload=[4.42, 4.61];\n",
+ "Ps=[14.36, 14.67];\n",
+ "Pic=[9.94, 10.06];\n",
+ "\n",
+ "#calculation\n",
+ "P=(Tj-Ta)/(Qj+Qc+Qs);\n",
+ "\n",
+ "#result\n",
+ "print('Vload Iload Pload Ps Pic');\n",
+ "for i in range(0,2):\n",
+ " print Vload[i],\" \",Iload[i],\" \",Pload[i],\" \",Ps[i],\" \", Pic[i]\n",
+ "print round(P,2),\"power delivered by IC in watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.8,Page 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "gain is 23.0\n",
+ "limit current is 4.01 A\n",
+ "output voltage is 46.0 V\n",
+ "maximum output voltage is 32.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding current and voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rf=22.0;\n",
+ "Ri=1.0;\n",
+ "Rs=15.0;\n",
+ "I=4.75;\n",
+ "Rc=4.0;\n",
+ "Vp=2.0;\n",
+ "Rl=8.0;\n",
+ "Im=4.0;\n",
+ "\n",
+ "#calculation\n",
+ "Av=1+(Rf/Ri);\n",
+ "Il=(Rs*I)/(Rc+13.75);\n",
+ "Vo=Vp*Av;\n",
+ "V=Im*Rl;\n",
+ "\n",
+ "#result\n",
+ "print \"gain is\",round(Av,2)\n",
+ "print \"limit current is\",round(Il,2), \"A\"\n",
+ "print \"output voltage is\",round(Vo,2), \"V\"\n",
+ "print \"maximum output voltage is\",round(V,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.9,Page 185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "loudness ofsound is 108.06 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding loudness\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "D=8.0;\n",
+ "d=1.0;\n",
+ "I=90.0;\n",
+ "\n",
+ "#calculation\n",
+ "Is=20*log(d/D,10);\n",
+ "Ir=I-Is;\n",
+ "\n",
+ "#result\n",
+ "print \"loudness ofsound is\",round(Ir,2), \"dB\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.10,Page 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "19.95 power provided in watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "D=1.0;\n",
+ "I1=108.0;\n",
+ "I2=95.0;\n",
+ "P=1.0;\n",
+ "\n",
+ "#calculation\n",
+ "I=I1-I2;\n",
+ "Pr=P*10**(I/10);\n",
+ "\n",
+ "#result\n",
+ "print \"power provided is\",round(Pr,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.11,Page 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 12.65 V\n",
+ "gain is 10.28\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output voltage and gain\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "P=20;\n",
+ "R=8;\n",
+ "Vi=1.23;\n",
+ "\n",
+ "#calculation\n",
+ "V=(P*R)**.5;\n",
+ "G=V/Vi;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(V,2), \"V\"\n",
+ "print \"gain is\",round(G,2)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.12,Page 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistor b/w pins 1&8 is 600.0 ohm\n",
+ "thus pick a 620 ohm resistor\n",
+ "capacitor b/w pins 1&8 is 22.46 microF\n",
+ "thus pick a 27 microF capacitor\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistor and capacitor\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "G=40.0;\n",
+ "f=80.0;\n",
+ "R1=15000.0;\n",
+ "R2=150.0;\n",
+ "\n",
+ "#calculation\n",
+ "R=2*(R1/G)-R2;\n",
+ "R11=620;\n",
+ "C=1/(2*pi*f*R11/7);\n",
+ "\n",
+ "#result\n",
+ "print \"resistor b/w pins 1&8 is\",round(R,2),\"ohm\"\n",
+ "print('thus pick a 620 ohm resistor')\n",
+ "print \"capacitor b/w pins 1&8 is\",round(C*1e6,2), \"microF\"\n",
+ "print('thus pick a 27 microF capacitor')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.13,Page 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power dissipated is 140.0 mW\n",
+ "thermal resistance is 628.93 degree C/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding thermal resistance and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "R=8.0#resistance\n",
+ "V=5.0#voltage\n",
+ "Tm=150.0#temperature\n",
+ "Ta=50.0#temperature\n",
+ "Qa=107.0;\n",
+ "Qc=37.0;\n",
+ "Ps=299.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vd=V/2;\n",
+ "Vm=V-1;\n",
+ "Vp=Vm-Vd;\n",
+ "Vr=Vp/2**.5;\n",
+ "Pl=1000*Vr**2/R;\n",
+ "Pl=140;\n",
+ "Pic=Ps-Pl;\n",
+ "Q=(Tm-Ta)/Pic;\n",
+ "\n",
+ "#result\n",
+ "print \"power dissipated is\",round(Pl,2), \"mW\"\n",
+ "print \"thermal resistance is\",round(Q*1000,2),\"degree C/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.14,Page 197"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power deliverd is 562.5 mwatt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power delivered\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "R=8.0#resistance\n",
+ "V=5.0#voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vl=V-1;\n",
+ "Vp=Vl-1;\n",
+ "Vr=Vp/2**.5;\n",
+ "P=Vr**2/R;\n",
+ "\n",
+ "#result\n",
+ "print \"power deliverd is\",round(P*1000,2), \"mwatt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.15,Page 201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered is 85.56 watt\n",
+ "thermal resistance is 1.4 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding thermal resistance and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "R=8.0#resistance\n",
+ "Ts=35.0#temperature\n",
+ "Ta=150.0#temperature\n",
+ "Vm=42.0#voltage\n",
+ "\n",
+ "#calcuation\n",
+ "Vp=Vm-5;\n",
+ "Vr=Vp/2**.5;\n",
+ "Pm=Vr**2/R;\n",
+ "P=45;\n",
+ "Qs=(Ta-Ts)/P-1.2;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered is\",round(Pm,2), \"watt\"\n",
+ "print \"thermal resistance is\",round(round(Qs*10)/10,2), \"degreeC/W\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4_1.ipynb
new file mode 100644
index 00000000..6bbf650f
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter4_1.ipynb
@@ -0,0 +1,742 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4: Linear Power Amplifier Integrated Circuits"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.1,Page 162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 500.0 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rf=1;\n",
+ "Ri=10;\n",
+ "Vi=0;\n",
+ "Ip=500;\n",
+ "\n",
+ "#calculation\n",
+ "Vrf=Ip*Rf;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(Vrf,2), \"mV\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.2,Page 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "frequency of OPA548 is 67.26 KHz\n",
+ "slew rate of OPA548 is 1.12 Mhz\n",
+ "the OPA548 can be used\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding frequency\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vi=300.0;\n",
+ "P=35.0;\n",
+ "R=8.0;\n",
+ "S=10000.0;\n",
+ "fh=20.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vl=(P*R)**.5;\n",
+ "Vp=Vl*2**.5;\n",
+ "Il=Vl/R;\n",
+ "f=S/(2*pi*Vp);\n",
+ "Ao=Vl/Vi;\n",
+ "G=Ao*fh;\n",
+ "\n",
+ "#result\n",
+ "print \"frequency of OPA548 is\",round(f,2), \"KHz\"\n",
+ "print \"slew rate of OPA548 is\",round(G,2), \"Mhz\"\n",
+ "print('the OPA548 can be used')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.3,Page 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered is 3.5 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rl=10.0;\n",
+ "V=12.0;\n",
+ "Vl=5.0;\n",
+ "\n",
+ "#calculation\n",
+ "Pl=Vl**2/Rl;\n",
+ "I=Vl/Rl;\n",
+ "Ps=V*I;\n",
+ "Pic=Ps-Pl;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered is\",round(Pic,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.4,Page 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Vload Iload Pload Ps Pic\n",
+ "0.0 0.0 0.0 0.0 0.0\n",
+ "0.2 0.0 0.0 0.24 0.24\n",
+ "0.4 0.0 0.02 0.48 0.46\n",
+ "0.6 0.1 0.04 0.72 0.68\n",
+ "0.8 0.1 0.06 0.96 0.9\n",
+ "4.8 0.5 2.3 5.76 3.46\n",
+ "5.0 0.5 2.5 6.0 3.5\n",
+ "5.2 0.5 2.7 6.24 3.54\n",
+ "5.4 0.5 2.92 6.48 3.56\n",
+ "5.6 0.6 3.14 6.72 3.58\n",
+ "5.8 0.6 3.36 6.96 3.6\n",
+ "6.0 0.6 3.6 7.2 3.6\n",
+ "6.2 0.6 3.84 7.44 3.6\n",
+ "6.4 0.6 4.1 7.68 3.58\n",
+ "11.4 1.1 13.0 13.68 0.68\n",
+ "11.6 1.2 13.46 13.92 0.46\n",
+ "11.8 1.2 13.92 14.16 0.24\n",
+ "12.0 1.2 14.4 14.4 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7fd132102a10>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7fd1321993d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#finding Vload vs Pic graph\n",
+ "\n",
+ "#initialisation of variable\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from pylab import plot, xlabel, ylabel, title\n",
+ "Vload=[0.0, 0.2, 0.4, 0.6, 0.8, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2, 6.4, 11.4, 11.6, 11.8, 12.0];\n",
+ "Iload=[0.0, 0.0, 0.0, 0.1, 0.1, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 1.1, 1.2, 1.2, 1.2];\n",
+ "Pload=[0.00, 0.00, 0.02, 0.04, 0.06, 2.30, 2.50, 2.70, 2.92, 3.14, 3.36, 3.60, 3.84, 4.10, 13.00, 13.46, 13.92, 14.40];\n",
+ "Ps=[0.00, 0.24, 0.48, 0.72, 0.96, 5.76, 6.00, 6.24, 6.48, 6.72, 6.96, 7.20, 7.44, 7.68, 13.68, 13.92, 14.16, 14.40];\n",
+ "Pic=[0.00, 0.24, 0.46, 0.68, 0.90, 3.46, 3.50, 3.54, 3.56, 3.58, 3.60, 3.60, 3.60, 3.58, 0.68, 0.46, 0.24, 0.00];\n",
+ "\n",
+ "#result\n",
+ "print('Vload Iload Pload Ps Pic');\n",
+ "for i in range(0,18):\n",
+ " print Vload[i],\" \",Iload[i],\" \",Pload[i],\" \",Ps[i],\" \", Pic[i]\n",
+ " \n",
+ "plot(Vload,Pic);\n",
+ "xlabel('load voltage (V)')\n",
+ "ylabel('IC Power(W)')\n",
+ "title('load voltage vs IC Power')\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.5,Page 173"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IC power is 2.57 W\n",
+ "total power is 3.82 W\n",
+ "dc supply current is 159.155 mA\n",
+ "power delivered is 1.25 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding different power and current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=12.0;\n",
+ "Vp=5.0;\n",
+ "R=10.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ip=Vp/R;\n",
+ "Il=Ip/2**.5;\n",
+ "Pl=(Vp*Ip)/2;\n",
+ "Id=Ip/pi;\n",
+ "Pt=2*V*Ip/pi;\n",
+ "Pic=Pt-Pl;\n",
+ "\n",
+ "#result\n",
+ "print \"IC power is\",round(Pic,2), \"W\"\n",
+ "print \"total power is\",round(Pt,2), \"W\"\n",
+ "print \"dc supply current is\",round(Id*1000,3), \"mA\"\n",
+ "print \"power delivered is\",round(Pl,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.6,Page 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thermal resistance is 24.61 C/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding thermal resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ts=40.0;\n",
+ "P=2.92;\n",
+ "Qj=2.5;\n",
+ "Qc=2.0;\n",
+ "Tj=125.0;\n",
+ "\n",
+ "#calculation\n",
+ "Qs=(Tj-Ts)/P-Qj-Qc;\n",
+ "\n",
+ "#result\n",
+ "print \"thermal resistance is\",round(Qs,2),\"C/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.7,Page 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Vload Iload Pload Ps Pic\n",
+ "9.4 0.94 4.42 14.36 9.94\n",
+ "9.6 0.96 4.61 14.67 10.06\n",
+ "10.0 power delivered by IC in watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=24.0;\n",
+ "R=10.0;\n",
+ "Qs=4.0;\n",
+ "Tj=125.0;\n",
+ "Ta=40.0;\n",
+ "Qj=2.5;\n",
+ "Qc=2.0;\n",
+ "Vload=[9.4, 9.6];\n",
+ "Iload=[.94, .96];\n",
+ "Pload=[4.42, 4.61];\n",
+ "Ps=[14.36, 14.67];\n",
+ "Pic=[9.94, 10.06];\n",
+ "\n",
+ "#calculation\n",
+ "P=(Tj-Ta)/(Qj+Qc+Qs);\n",
+ "\n",
+ "#result\n",
+ "print('Vload Iload Pload Ps Pic');\n",
+ "for i in range(0,2):\n",
+ " print Vload[i],\" \",Iload[i],\" \",Pload[i],\" \",Ps[i],\" \", Pic[i]\n",
+ "print round(P,2),\"power delivered by IC in watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.8,Page 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "gain is 23.0\n",
+ "limit current is 4.01 A\n",
+ "output voltage is 46.0 V\n",
+ "maximum output voltage is 32.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding current and voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rf=22.0;\n",
+ "Ri=1.0;\n",
+ "Rs=15.0;\n",
+ "I=4.75;\n",
+ "Rc=4.0;\n",
+ "Vp=2.0;\n",
+ "Rl=8.0;\n",
+ "Im=4.0;\n",
+ "\n",
+ "#calculation\n",
+ "Av=1+(Rf/Ri);\n",
+ "Il=(Rs*I)/(Rc+13.75);\n",
+ "Vo=Vp*Av;\n",
+ "V=Im*Rl;\n",
+ "\n",
+ "#result\n",
+ "print \"gain is\",round(Av,2)\n",
+ "print \"limit current is\",round(Il,2), \"A\"\n",
+ "print \"output voltage is\",round(Vo,2), \"V\"\n",
+ "print \"maximum output voltage is\",round(V,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.9,Page 185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "loudness ofsound is 108.06 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding loudness\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "D=8.0;\n",
+ "d=1.0;\n",
+ "I=90.0;\n",
+ "\n",
+ "#calculation\n",
+ "Is=20*log(d/D,10);\n",
+ "Ir=I-Is;\n",
+ "\n",
+ "#result\n",
+ "print \"loudness ofsound is\",round(Ir,2), \"dB\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.10,Page 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "19.95 power provided in watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "D=1.0;\n",
+ "I1=108.0;\n",
+ "I2=95.0;\n",
+ "P=1.0;\n",
+ "\n",
+ "#calculation\n",
+ "I=I1-I2;\n",
+ "Pr=P*10**(I/10);\n",
+ "\n",
+ "#result\n",
+ "print \"power provided is\",round(Pr,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.11,Page 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 12.65 V\n",
+ "gain is 10.28\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output voltage and gain\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "P=20;\n",
+ "R=8;\n",
+ "Vi=1.23;\n",
+ "\n",
+ "#calculation\n",
+ "V=(P*R)**.5;\n",
+ "G=V/Vi;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(V,2), \"V\"\n",
+ "print \"gain is\",round(G,2)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.12,Page 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistor b/w pins 1&8 is 600.0 ohm\n",
+ "thus pick a 620 ohm resistor\n",
+ "capacitor b/w pins 1&8 is 22.46 microF\n",
+ "thus pick a 27 microF capacitor\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistor and capacitor\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "G=40.0;\n",
+ "f=80.0;\n",
+ "R1=15000.0;\n",
+ "R2=150.0;\n",
+ "\n",
+ "#calculation\n",
+ "R=2*(R1/G)-R2;\n",
+ "R11=620;\n",
+ "C=1/(2*pi*f*R11/7);\n",
+ "\n",
+ "#result\n",
+ "print \"resistor b/w pins 1&8 is\",round(R,2),\"ohm\"\n",
+ "print('thus pick a 620 ohm resistor')\n",
+ "print \"capacitor b/w pins 1&8 is\",round(C*1e6,2), \"microF\"\n",
+ "print('thus pick a 27 microF capacitor')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.13,Page 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power dissipated is 140.0 mW\n",
+ "thermal resistance is 628.93 degree C/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding thermal resistance and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "R=8.0#resistance\n",
+ "V=5.0#voltage\n",
+ "Tm=150.0#temperature\n",
+ "Ta=50.0#temperature\n",
+ "Qa=107.0;\n",
+ "Qc=37.0;\n",
+ "Ps=299.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vd=V/2;\n",
+ "Vm=V-1;\n",
+ "Vp=Vm-Vd;\n",
+ "Vr=Vp/2**.5;\n",
+ "Pl=1000*Vr**2/R;\n",
+ "Pl=140;\n",
+ "Pic=Ps-Pl;\n",
+ "Q=(Tm-Ta)/Pic;\n",
+ "\n",
+ "#result\n",
+ "print \"power dissipated is\",round(Pl,2), \"mW\"\n",
+ "print \"thermal resistance is\",round(Q*1000,2),\"degree C/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.14,Page 197"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power deliverd is 562.5 mwatt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power delivered\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "R=8.0#resistance\n",
+ "V=5.0#voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vl=V-1;\n",
+ "Vp=Vl-1;\n",
+ "Vr=Vp/2**.5;\n",
+ "P=Vr**2/R;\n",
+ "\n",
+ "#result\n",
+ "print \"power deliverd is\",round(P*1000,2), \"mwatt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 4.15,Page 201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power delivered is 85.56 watt\n",
+ "thermal resistance is 1.4 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding thermal resistance and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan,log\n",
+ "R=8.0#resistance\n",
+ "Ts=35.0#temperature\n",
+ "Ta=150.0#temperature\n",
+ "Vm=42.0#voltage\n",
+ "\n",
+ "#calcuation\n",
+ "Vp=Vm-5;\n",
+ "Vr=Vp/2**.5;\n",
+ "Pm=Vr**2/R;\n",
+ "P=45;\n",
+ "Qs=(Ta-Ts)/P-1.2;\n",
+ "\n",
+ "#result\n",
+ "print \"power delivered is\",round(Pm,2), \"watt\"\n",
+ "print \"thermal resistance is\",round(round(Qs*10)/10,2), \"degreeC/W\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5.ipynb
new file mode 100644
index 00000000..38414570
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5.ipynb
@@ -0,0 +1,647 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5: Discrete Linear Power Amplifier"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.1,Page 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Id=0 from 0 to 2 so not shown in the graph\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f0d1bd659d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#finding Id vs Vgs\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from pylab import plot, xlabel, ylabel, title\n",
+ "Vth=3.6;\n",
+ "Vgs=4;#voltage\n",
+ "#volt change beyond 3.6 causes a major increase in Id as it is cut off voltage\n",
+ "\n",
+ "#result\n",
+ "print('Id=0 from 0 to 2 so not shown in the graph')\n",
+ "x=np.linspace(2,3.6,300);\n",
+ "y=(-2.5*(x-3.6))**.5;\n",
+ "plot(x,y)\n",
+ "xlabel('Vgs(volts)');\n",
+ "ylabel('Id(amps)');\n",
+ "title('Id vs Vgs');\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.2,Page 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "drain current is 3.8 A\n",
+ "Vth=4V is assumed\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding drain current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=4.5;#voltage\n",
+ "T=25;#degreeC\n",
+ "Id=3.8;\n",
+ "\n",
+ "#result\n",
+ "print \"drain current is\",round(Id,2), \"A\"\n",
+ "print('Vth=4V is assumed')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.3,Page 219"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "MOSFET is IRF530N\n",
+ "lower limit of Vth is -4.0 V\n",
+ "upper limit of Vth is -2.0 V\n",
+ "current is 2.3 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding drain current of IRF530N\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vgs=-5;#voltage\n",
+ "Vthl=-4;\n",
+ "Vthu=-2;\n",
+ "Id=2.3;#current\n",
+ "\n",
+ "#result\n",
+ "print('MOSFET is IRF530N')\n",
+ "print \"lower limit of Vth is\",round(Vthl,2), \"V\"\n",
+ "print \"upper limit of Vth is\",round(Vthu,2), \"V\"\n",
+ "print \"current is\",round(Id,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example5.5,Page 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 1.51 kohm\n",
+ "load voltage is 36.68 V\n",
+ "Pq is 40.02 watt\n",
+ "Ps is 82.0 watt\n",
+ "Pl is 41.97 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding Pq,Pl,Ps,resistance,load voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=22.0;#resistance\n",
+ "Vg=3.6;#voltage\n",
+ "Vd=56.0;\n",
+ "G=.98;#gain\n",
+ "Vi=40.0;\n",
+ "Rl=8.0;#load resistance\n",
+ "Vp=36.5;\n",
+ "\n",
+ "#calculation\n",
+ "Vr=Vd-Vg;\n",
+ "Ir=Vr/R1;\n",
+ "R2=Vg/Ir;\n",
+ "Va=(R1/(R1+R2))*Vi;\n",
+ "Vl=G*Va;\n",
+ "Il=Vp/Rl;\n",
+ "Pl=Vp*4.6/4;\n",
+ "Ps=Vd*4.6/pi;\n",
+ "Pq=Ps-Pl;\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(R2,2), \"kohm\"\n",
+ "print \"load voltage is\",round(Vl,2), \"V\"\n",
+ "print \"Pq is\",round(Pq,2), \"watt\"\n",
+ "print \"Ps is\",round(Ps,2), \"watt\"\n",
+ "print \"Pl is\",round(Pl,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.6,Page 232"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current is 2.45 mA\n",
+ "resistance2 is 814.815 ohm\n",
+ "pick R2=R3=820ohm R1=R4=22 kohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance and current \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=22.0;#resistance\n",
+ "V1=56.0;#voltage\n",
+ "V2=2.0;#voltage\n",
+ "\n",
+ "#calculation\n",
+ "I=(V1-V2)/R1;\n",
+ "R2=V2/I;\n",
+ "\n",
+ "#result\n",
+ "print \"current is\",round(I,2), \"mA\"\n",
+ "print \"resistance2 is\",round(R2*1000,3), \"ohm\"\n",
+ "print('pick R2=R3=820ohm R1=R4=22 kohm')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.7,Page 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load voltage is 10.01 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding load voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vi=350.0;#voltage\n",
+ "f=100.0;#frequency\n",
+ "Rf=10000.0;#resistance\n",
+ "Ri=520.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vp=(1+(Rf/Ri))*Vi*2**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"load voltage is\",round(Vp/1000,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.8,Page 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load rms voltage is 20.0 V\n",
+ "resistance is 54.04 kohm\n",
+ "current is 1.18 mA\n",
+ "load current is 4.41 A\n",
+ "supply power is 39.3 watt\n",
+ "load power is 38.9 W\n",
+ "power is 19.552 W\n",
+ "thermal resistance is 3.01 degreC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#designing amplifier\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "P=50.0;#power\n",
+ "Z=4.7#impedence\n",
+ "R=4.0;#resistance\n",
+ "Ta=40.0;#degreeC\n",
+ "Tj=140.0;#degreeC\n",
+ "Vd=28.0;\n",
+ "R2=22.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vr=(P*R)**.5;\n",
+ "Vp=Vr*2**.5;\n",
+ "Av=-Vr/1.23;\n",
+ "Rf=-Av*Z;\n",
+ "I=(Vd-2)/R2;\n",
+ "Vm=.63*Vd;\n",
+ "Ip=Vm/R;\n",
+ "Ps=Vd*Ip/pi;\n",
+ "Pl=Ip**2/2*R;\n",
+ "Pq=round(Ps)-Pl/2;\n",
+ "Qs=(Tj-Ta)/Pq-2.1;\n",
+ "\n",
+ "#result\n",
+ "print \"load rms voltage is\",round(Vp,2), \"V\"\n",
+ "print \"resistance is\",round(Rf,2), \"kohm\"\n",
+ "print \"current is\",round(I,2), \"mA\"\n",
+ "print \"load current is\",round(Ip,2), \"A\"\n",
+ "print \"supply power is\",round(Ps,2), \"watt\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"power is\",round(Pq,3), \"W\"\n",
+ "print \"thermal resistance is\",round(Qs,2), \"degreC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.9,Page 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 129.37 mV\n",
+ "load current is 32.34 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding load current,output voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vi=7.5e-3;#voltage\n",
+ "Ib=800e-9;#current\n",
+ "R=53.9e3;#resistance\n",
+ "\n",
+ "#calculation\n",
+ "Vo=11.5*Vi+Ib*R;\n",
+ "Id=Vo/4;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(Vo*1000,2), \"mV\"\n",
+ "print \"load current is\",round(Id*1000,2), \"mA\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.10,Page 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 0.31 ohm\n",
+ "thus pick a .33ohm rsistance\n",
+ "voltage is 0.55 V\n",
+ "power is 0.23 W\n",
+ "thermal resistance is 8.1 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance,voltage,power \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "G=6.4;#A/V\n",
+ "I=5.0;#current\n",
+ "Pq=9.8;#W\n",
+ "Tj=140.0;\n",
+ "Ta=40.0;\n",
+ "R1=.33;\n",
+ "\n",
+ "#calculation\n",
+ "R=2/G;\n",
+ "Im=I/3;\n",
+ "Vr=Im*R1;\n",
+ "P=Vr*Im/4;\n",
+ "Qs=(Tj-Ta)/Pq-2.1;\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(R,2), \"ohm\"\n",
+ "print('thus pick a .33ohm rsistance')\n",
+ "print \"voltage is\",round(Vr,2), \"V\"\n",
+ "print \"power is\",round(P,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Qs,2), \"degreeC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.11,Page 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "limit level current is 8.49 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding limit current \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "P=200;#power\n",
+ "R=8;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Il=(P/R)**.5*2**.5;\n",
+ "Ilm=1.2*Il;\n",
+ "\n",
+ "#result\n",
+ "print \"limit level current is\",round(Ilm,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.12,Page 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 0.1 ohm\n",
+ "power is 1.8 W\n",
+ "MOSFET power is 84.0 W\n",
+ "temperature is 468.4 degreeC\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance,power,temperature \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I=6;#current\n",
+ "V=.6;#voltage\n",
+ "D=.5;#duty cycle\n",
+ "T=40;#temperature\n",
+ "\n",
+ "#calculation\n",
+ "Rs=V/I;\n",
+ "Pr=D*V*I;\n",
+ "Vp=28;\n",
+ "Pm=D*Vp*I;\n",
+ "Tj=T+Pm*5.1;\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(Rs,2), \"ohm\"\n",
+ "print \"power is\",round(Pr,2), \"W\"\n",
+ "print \"MOSFET power is\",round(Pm,2), \"W\"\n",
+ "print \"temperature is\",round(Tj,2), \"degreeC\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.13,Page 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "maximum safe temperature is 89.05 degreeC\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding maximum safe temperature \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "T=130;#temperature\n",
+ "P=19.5;#power\n",
+ "\n",
+ "#calculation\n",
+ "Ts=T-P*2.1;\n",
+ "\n",
+ "#result\n",
+ "print \"maximum safe temperature is\",round(Ts,2), \"degreeC\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.14,Page 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "reactance is 8.86 ohm\n",
+ "voltage across resistor is 10.03 V\n",
+ "-48 is the angle of the voltage in degrees\n",
+ "power dissipated by load is 12.5 watts\n",
+ "current across the resistance is 1.77 A\n",
+ "power supply is 15.8 W\n",
+ "power dissipated by transistor is 9.55 watts\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding 3 powers and current across resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=15.0;#voltage\n",
+ "f=300.0;#frequency\n",
+ "L=4.7;#inductance\n",
+ "Vdc=28;#V\n",
+ "Pr=12.5;\n",
+ "\n",
+ "#calculation\n",
+ "Xl=2*pi*f*L;\n",
+ "Zload=sqrt(8**2+8.9**2);#magnitude of Zload\n",
+ "Vload=15.0;#msgnitude of Vload\n",
+ "Vr=Vload*8/Zload;\n",
+ "I=Vr/8*sqrt(2);\n",
+ "Psupply=Vdc*I/pi;\n",
+ "Pq=Psupply-Pr/2;\n",
+ "\n",
+ "#result\n",
+ "print \"reactance is\",round(Xl/1000,2), \"ohm\"\n",
+ "print \"voltage across resistor is\",round(Vr,2), \"V\"\n",
+ "print \"-48 is the angle of the voltage in degrees\";\n",
+ "print \"power dissipated by load is\",round(Pr,2), \"watts\"\n",
+ "print \"current across the resistance is\",round(I,2), \"A\"\n",
+ "print \"power supply is\",round(Psupply,2), \"W\"\n",
+ "print \"power dissipated by transistor is\",round(Pq,2), \"watts\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5_1.ipynb
new file mode 100644
index 00000000..38414570
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter5_1.ipynb
@@ -0,0 +1,647 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5: Discrete Linear Power Amplifier"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.1,Page 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Id=0 from 0 to 2 so not shown in the graph\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f0d1bd659d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#finding Id vs Vgs\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from pylab import plot, xlabel, ylabel, title\n",
+ "Vth=3.6;\n",
+ "Vgs=4;#voltage\n",
+ "#volt change beyond 3.6 causes a major increase in Id as it is cut off voltage\n",
+ "\n",
+ "#result\n",
+ "print('Id=0 from 0 to 2 so not shown in the graph')\n",
+ "x=np.linspace(2,3.6,300);\n",
+ "y=(-2.5*(x-3.6))**.5;\n",
+ "plot(x,y)\n",
+ "xlabel('Vgs(volts)');\n",
+ "ylabel('Id(amps)');\n",
+ "title('Id vs Vgs');\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.2,Page 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "drain current is 3.8 A\n",
+ "Vth=4V is assumed\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding drain current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=4.5;#voltage\n",
+ "T=25;#degreeC\n",
+ "Id=3.8;\n",
+ "\n",
+ "#result\n",
+ "print \"drain current is\",round(Id,2), \"A\"\n",
+ "print('Vth=4V is assumed')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.3,Page 219"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "MOSFET is IRF530N\n",
+ "lower limit of Vth is -4.0 V\n",
+ "upper limit of Vth is -2.0 V\n",
+ "current is 2.3 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding drain current of IRF530N\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vgs=-5;#voltage\n",
+ "Vthl=-4;\n",
+ "Vthu=-2;\n",
+ "Id=2.3;#current\n",
+ "\n",
+ "#result\n",
+ "print('MOSFET is IRF530N')\n",
+ "print \"lower limit of Vth is\",round(Vthl,2), \"V\"\n",
+ "print \"upper limit of Vth is\",round(Vthu,2), \"V\"\n",
+ "print \"current is\",round(Id,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example5.5,Page 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 1.51 kohm\n",
+ "load voltage is 36.68 V\n",
+ "Pq is 40.02 watt\n",
+ "Ps is 82.0 watt\n",
+ "Pl is 41.97 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding Pq,Pl,Ps,resistance,load voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=22.0;#resistance\n",
+ "Vg=3.6;#voltage\n",
+ "Vd=56.0;\n",
+ "G=.98;#gain\n",
+ "Vi=40.0;\n",
+ "Rl=8.0;#load resistance\n",
+ "Vp=36.5;\n",
+ "\n",
+ "#calculation\n",
+ "Vr=Vd-Vg;\n",
+ "Ir=Vr/R1;\n",
+ "R2=Vg/Ir;\n",
+ "Va=(R1/(R1+R2))*Vi;\n",
+ "Vl=G*Va;\n",
+ "Il=Vp/Rl;\n",
+ "Pl=Vp*4.6/4;\n",
+ "Ps=Vd*4.6/pi;\n",
+ "Pq=Ps-Pl;\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(R2,2), \"kohm\"\n",
+ "print \"load voltage is\",round(Vl,2), \"V\"\n",
+ "print \"Pq is\",round(Pq,2), \"watt\"\n",
+ "print \"Ps is\",round(Ps,2), \"watt\"\n",
+ "print \"Pl is\",round(Pl,2), \"watt\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.6,Page 232"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current is 2.45 mA\n",
+ "resistance2 is 814.815 ohm\n",
+ "pick R2=R3=820ohm R1=R4=22 kohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance and current \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=22.0;#resistance\n",
+ "V1=56.0;#voltage\n",
+ "V2=2.0;#voltage\n",
+ "\n",
+ "#calculation\n",
+ "I=(V1-V2)/R1;\n",
+ "R2=V2/I;\n",
+ "\n",
+ "#result\n",
+ "print \"current is\",round(I,2), \"mA\"\n",
+ "print \"resistance2 is\",round(R2*1000,3), \"ohm\"\n",
+ "print('pick R2=R3=820ohm R1=R4=22 kohm')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.7,Page 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load voltage is 10.01 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding load voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vi=350.0;#voltage\n",
+ "f=100.0;#frequency\n",
+ "Rf=10000.0;#resistance\n",
+ "Ri=520.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vp=(1+(Rf/Ri))*Vi*2**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"load voltage is\",round(Vp/1000,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.8,Page 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load rms voltage is 20.0 V\n",
+ "resistance is 54.04 kohm\n",
+ "current is 1.18 mA\n",
+ "load current is 4.41 A\n",
+ "supply power is 39.3 watt\n",
+ "load power is 38.9 W\n",
+ "power is 19.552 W\n",
+ "thermal resistance is 3.01 degreC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#designing amplifier\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "P=50.0;#power\n",
+ "Z=4.7#impedence\n",
+ "R=4.0;#resistance\n",
+ "Ta=40.0;#degreeC\n",
+ "Tj=140.0;#degreeC\n",
+ "Vd=28.0;\n",
+ "R2=22.0;\n",
+ "\n",
+ "#calculation\n",
+ "Vr=(P*R)**.5;\n",
+ "Vp=Vr*2**.5;\n",
+ "Av=-Vr/1.23;\n",
+ "Rf=-Av*Z;\n",
+ "I=(Vd-2)/R2;\n",
+ "Vm=.63*Vd;\n",
+ "Ip=Vm/R;\n",
+ "Ps=Vd*Ip/pi;\n",
+ "Pl=Ip**2/2*R;\n",
+ "Pq=round(Ps)-Pl/2;\n",
+ "Qs=(Tj-Ta)/Pq-2.1;\n",
+ "\n",
+ "#result\n",
+ "print \"load rms voltage is\",round(Vp,2), \"V\"\n",
+ "print \"resistance is\",round(Rf,2), \"kohm\"\n",
+ "print \"current is\",round(I,2), \"mA\"\n",
+ "print \"load current is\",round(Ip,2), \"A\"\n",
+ "print \"supply power is\",round(Ps,2), \"watt\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"power is\",round(Pq,3), \"W\"\n",
+ "print \"thermal resistance is\",round(Qs,2), \"degreC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.9,Page 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 129.37 mV\n",
+ "load current is 32.34 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding load current,output voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vi=7.5e-3;#voltage\n",
+ "Ib=800e-9;#current\n",
+ "R=53.9e3;#resistance\n",
+ "\n",
+ "#calculation\n",
+ "Vo=11.5*Vi+Ib*R;\n",
+ "Id=Vo/4;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(Vo*1000,2), \"mV\"\n",
+ "print \"load current is\",round(Id*1000,2), \"mA\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.10,Page 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 0.31 ohm\n",
+ "thus pick a .33ohm rsistance\n",
+ "voltage is 0.55 V\n",
+ "power is 0.23 W\n",
+ "thermal resistance is 8.1 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance,voltage,power \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "G=6.4;#A/V\n",
+ "I=5.0;#current\n",
+ "Pq=9.8;#W\n",
+ "Tj=140.0;\n",
+ "Ta=40.0;\n",
+ "R1=.33;\n",
+ "\n",
+ "#calculation\n",
+ "R=2/G;\n",
+ "Im=I/3;\n",
+ "Vr=Im*R1;\n",
+ "P=Vr*Im/4;\n",
+ "Qs=(Tj-Ta)/Pq-2.1;\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(R,2), \"ohm\"\n",
+ "print('thus pick a .33ohm rsistance')\n",
+ "print \"voltage is\",round(Vr,2), \"V\"\n",
+ "print \"power is\",round(P,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Qs,2), \"degreeC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.11,Page 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "limit level current is 8.49 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding limit current \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "P=200;#power\n",
+ "R=8;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Il=(P/R)**.5*2**.5;\n",
+ "Ilm=1.2*Il;\n",
+ "\n",
+ "#result\n",
+ "print \"limit level current is\",round(Ilm,2), \"A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.12,Page 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 0.1 ohm\n",
+ "power is 1.8 W\n",
+ "MOSFET power is 84.0 W\n",
+ "temperature is 468.4 degreeC\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance,power,temperature \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I=6;#current\n",
+ "V=.6;#voltage\n",
+ "D=.5;#duty cycle\n",
+ "T=40;#temperature\n",
+ "\n",
+ "#calculation\n",
+ "Rs=V/I;\n",
+ "Pr=D*V*I;\n",
+ "Vp=28;\n",
+ "Pm=D*Vp*I;\n",
+ "Tj=T+Pm*5.1;\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(Rs,2), \"ohm\"\n",
+ "print \"power is\",round(Pr,2), \"W\"\n",
+ "print \"MOSFET power is\",round(Pm,2), \"W\"\n",
+ "print \"temperature is\",round(Tj,2), \"degreeC\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.13,Page 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "maximum safe temperature is 89.05 degreeC\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding maximum safe temperature \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "T=130;#temperature\n",
+ "P=19.5;#power\n",
+ "\n",
+ "#calculation\n",
+ "Ts=T-P*2.1;\n",
+ "\n",
+ "#result\n",
+ "print \"maximum safe temperature is\",round(Ts,2), \"degreeC\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 5.14,Page 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "reactance is 8.86 ohm\n",
+ "voltage across resistor is 10.03 V\n",
+ "-48 is the angle of the voltage in degrees\n",
+ "power dissipated by load is 12.5 watts\n",
+ "current across the resistance is 1.77 A\n",
+ "power supply is 15.8 W\n",
+ "power dissipated by transistor is 9.55 watts\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding 3 powers and current across resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=15.0;#voltage\n",
+ "f=300.0;#frequency\n",
+ "L=4.7;#inductance\n",
+ "Vdc=28;#V\n",
+ "Pr=12.5;\n",
+ "\n",
+ "#calculation\n",
+ "Xl=2*pi*f*L;\n",
+ "Zload=sqrt(8**2+8.9**2);#magnitude of Zload\n",
+ "Vload=15.0;#msgnitude of Vload\n",
+ "Vr=Vload*8/Zload;\n",
+ "I=Vr/8*sqrt(2);\n",
+ "Psupply=Vdc*I/pi;\n",
+ "Pq=Psupply-Pr/2;\n",
+ "\n",
+ "#result\n",
+ "print \"reactance is\",round(Xl/1000,2), \"ohm\"\n",
+ "print \"voltage across resistor is\",round(Vr,2), \"V\"\n",
+ "print \"-48 is the angle of the voltage in degrees\";\n",
+ "print \"power dissipated by load is\",round(Pr,2), \"watts\"\n",
+ "print \"current across the resistance is\",round(I,2), \"A\"\n",
+ "print \"power supply is\",round(Psupply,2), \"W\"\n",
+ "print \"power dissipated by transistor is\",round(Pq,2), \"watts\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6.ipynb
new file mode 100644
index 00000000..d5b6622f
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6.ipynb
@@ -0,0 +1,528 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6: Power Switches"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.1,Page 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "collector current is 1.81 A\n",
+ "load power is 49.32 W\n",
+ "transistor power is 1.45 W\n",
+ "least value of base current is 90.67 mA\n",
+ "max value of base resistance is 4.85 ohm\n",
+ "thus pick Rb=33ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding Ic,Pload,Pq,Ibase,Rbase\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vs=28.0;#V\n",
+ "Vi=5.0;#V\n",
+ "Rl=15.0;#ohm\n",
+ "Vc=.8;#V\n",
+ "b=20.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ic=(Vs-Vc)/Rl;\n",
+ "Pl=Ic**2*Rl;\n",
+ "Pq=Ic*Vc;\n",
+ "Ib=Ic/b*1000;\n",
+ "Rb=(Vi-.6)/Ib;\n",
+ "\n",
+ "#result\n",
+ "print \"collector current is\",round(Ic,2), \"A\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"transistor power is\",round(Pq,2), \"W\"\n",
+ "print \"least value of base current is\",round(Ib,2), \"mA\"\n",
+ "print \"max value of base resistance is\",round(Rb*100,2), \"ohm\"\n",
+ "print ('thus pick Rb=33ohm')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.4,Page 282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load resistance is 554.0 ohm\n",
+ "thus pick Rl=560ohm\n",
+ "max value of Rb is 3.0 kohm\n",
+ "thus pick Rb=2.2kohm\n",
+ "load current is 49.46 mA\n",
+ "load power is 685.08 mW\n",
+ "power delivered is 7.42 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding Pload,Pq,Iload,resistances\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vd=28.0;#V\n",
+ "f=100.0;#frequency\n",
+ "I=50.0;#current\n",
+ "Rl1=560.0;\n",
+ "Vp=2.4;\n",
+ "Ib=500.0;#microAmp\n",
+ "D=.5;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "Rl=(Vd-.3)/I;\n",
+ "Rb=(Vp-.9)/Ib;\n",
+ "Vl=Vd-.3;\n",
+ "Ip=Vl/Rl1;\n",
+ "Pl=D*Vl*Ip;\n",
+ "Pq=D*Ip*.3;\n",
+ "\n",
+ "#result\n",
+ "print \"load resistance is\",round(Rl*1000), \"ohm\"\n",
+ "print('thus pick Rl=560ohm')\n",
+ "print \"max value of Rb is\",round(Rb*1000,2),\"kohm\"\n",
+ "print('thus pick Rb=2.2kohm')\n",
+ "print \"load current is\",round(Ip*1000,2), \"mA\"\n",
+ "print \"load power is\",round(Pl*1000,2), \"mW\"\n",
+ "print \"power delivered is\",round(Pq*1000,2), \"mW\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.5,Page 286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time of rise is 788.48 ns\n",
+ "time of rise is 4.65 microsec\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding time of rise\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "C=640.0;#capacitor\n",
+ "R1=560.0;#load resistance\n",
+ "R2=3.3;#kohm\n",
+ "\n",
+ "#calculation\n",
+ "t1=2.2*R1*C;\n",
+ "t2=2.2*R2*C;\n",
+ "\n",
+ "#result\n",
+ "print \"time of rise is\",round(t1/1000,2), \"ns\"\n",
+ "print \"time of rise is\",round(t2/1000,2), \"microsec\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.6,Page 287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 682.5 ohm\n",
+ "pick up resistance=680 ohm\n",
+ "rise time is 957.44 ns\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f86a4de0510>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#finding Rpick up,time of rise\n",
+ "\n",
+ "#initialisation of variable\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from pylab import plot, xlabel, ylabel, title\n",
+ "Vol=0.7;\n",
+ "Iol=40.0/1000;#current\n",
+ "Rpullup1=680.0;\n",
+ "C=640.0;\n",
+ "Epullup=28.0;\n",
+ "#for plotting\n",
+ "x=[0, .1, 1.9, 4.1, 5, 5.1, 5.3, 5.6, 6.0, 9.3];\n",
+ "y=[27.8, .1, .1, .1, .1, 5, 13.5, 21.0, 27.0, 27.8];\n",
+ "\n",
+ "#calculation\n",
+ "Rpullup=(Epullup-Vol)/Iol;\n",
+ "trise=2.2*Rpullup1*C;\n",
+ "plot(x,y,'r');\n",
+ "xlabel ('time(mus)')\n",
+ "ylabel ('Vout')\n",
+ "title ('Vout vs time')\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(Rpullup,2), \"ohm\"\n",
+ "print('pick up resistance=680 ohm');\n",
+ "print \"rise time is\",round(trise/1000,2), \"ns\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.7,Page 289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "worst case resistance is 0.286 ohm\n",
+ "load current is 4.45 A\n",
+ "load voltage is 26.73 V\n",
+ "load power is 47.62 W\n",
+ "drop voltage is 1.27 V\n",
+ "power is 2.27 W\n",
+ "temperature is 182.6 deg.C\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding worst case resistance and power characteristics\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=.11;#resistance\n",
+ "Vd=28.0;#voltage\n",
+ "R2=6.0;#ohm\n",
+ "D=.4;#duty cycle\n",
+ "Q=62.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ro=2.6*R1;\n",
+ "Ip=Vd/(R2+Ro);\n",
+ "Vl=Ip*R2;\n",
+ "Pl=D*Vl*Ip;\n",
+ "Vq=Ip*Ro;\n",
+ "Pq=D*Vq*Ip;\n",
+ "T=40+round(Pq*10)/10*Q;\n",
+ "\n",
+ "#result\n",
+ "print \"worst case resistance is\",round(Ro,3), \"ohm\"\n",
+ "print \"load current is\",round(Ip,2),\"A\"\n",
+ "print \"load voltage is\",round(Vl,2), \"V\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"drop voltage is\",round(Vq,2), \"V\"\n",
+ "print \"power is\",round(Pq*10,2)/10, \"W\"\n",
+ "print \"temperature is\",round(T,2), \"deg.C\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.8,Page 292"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "voltage is 150.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "L=10.0;#inductor\n",
+ "I=4.5;#current\n",
+ "t=300.0#time\n",
+ "\n",
+ "#calculation\n",
+ "V=L*I/t;\n",
+ "\n",
+ "#result\n",
+ "print \"voltage is\",round(V*1000,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.9,Page 298"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R1+R2 is 682.5 ohm\n",
+ "pick R1=330ohm & R2=360ohm as they divide Vd setting 8V<Vg<18V\n",
+ "node voltage for V1 is 28.0 V\n",
+ "node voltage for V2 is 0.7 V\n",
+ "gate voltage is 15.31 V\n",
+ "gate & source diff is -12.69 V\n",
+ "load voltage is 26.73 V\n",
+ "load current is 2.23 A\n",
+ "load power is 47.63 W\n",
+ "Pq is 2.26 W\n",
+ "thermal resistance is 44.92 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance and power characteristics\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rl=12.0;#load resistance\n",
+ "V1=.8;#voltage\n",
+ "V2=2.4;#voltage\n",
+ "D=.8;#duty cycle\n",
+ "Tj=150.0;#degreeC\n",
+ "Ta=40.0;#degreeC\n",
+ "Vd=28.0;\n",
+ "Vo=.7;\n",
+ "I=40.0;#mA;\n",
+ "R1=330;\n",
+ "R2=360;\n",
+ "Vn1=28;\n",
+ "Vn2=.7;\n",
+ "\n",
+ "#calculation\n",
+ "k=(Vd-Vo)/I;\n",
+ "Vg=R2*Vd/(R1+R2)+Vn2;\n",
+ "Vgs=Vg-Vd;\n",
+ "Vl=Vd*Rl/(Rl+.57);\n",
+ "Il=Vl/Rl;\n",
+ "Pl=D*Vl*Il;\n",
+ "Vq=Il*.57;\n",
+ "Pq=D*Vq*Il;\n",
+ "Q=(Tj-Ta)/Pq-3.7;\n",
+ "\n",
+ "#result\n",
+ "print \"R1+R2 is\",round(k*1000,2), \"ohm\"\n",
+ "print('pick R1=330ohm & R2=360ohm as they divide Vd setting 8V<Vg<18V')\n",
+ "print \"node voltage for V1 is\",round(Vn1,2),\"V\"\n",
+ "print \"node voltage for V2 is\",round(Vn2,2), \"V\"\n",
+ "print \"gate voltage is\",round(Vg,2), \"V\"\n",
+ "print \"gate & source diff is\",round(Vgs,2), \"V\"\n",
+ "print \"load voltage is\",round(Vl,3), \"V\"\n",
+ "print \"load current is\",round(Il,2), \"A\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"Pq is\",round(Pq,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Q,2), \"degreeC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.10,Page 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time is 1.1 micro s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding time\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I=40.0;#current\n",
+ "Q=44.0;#nC\n",
+ "\n",
+ "#calculation\n",
+ "t=Q/I;\n",
+ "\n",
+ "#result\n",
+ "print \"time is\",round(t,2), \"micro s\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.11,Page 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current is 1.8 A\n",
+ "load voltage is 26.97 V\n",
+ "power is 40.85 W\n",
+ "high side voltage is 0.67 V\n",
+ "high side power is 1.03 W\n",
+ "low side voltage is 0.36 V\n",
+ "low side power is 0.55 W\n",
+ "IC power is 1.56 W\n",
+ "thermal resistance is 55.49 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding different voltages and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rl=15.0;#load resistance\n",
+ "D=.85;#duty cycle\n",
+ "Ts=60.0;#degreeC\n",
+ "Vd=28.0;#voltage\n",
+ "R1=.375;\n",
+ "R2=.2;\n",
+ "\n",
+ "#calculation\n",
+ "I=Vd/(R1+R2+Rl);\n",
+ "Vl1=I*Rl;\n",
+ "P=D*Vl*I;\n",
+ "Vh=I*R1;\n",
+ "Ph=D*Vh*I;\n",
+ "Vl=I*R2;\n",
+ "Pl=D*Vl*I;\n",
+ "Pic=Ph+Pl;\n",
+ "Pic=1.56;\n",
+ "Tj=150;\n",
+ "Ta=60;\n",
+ "Q=(Tj-Ta)/Pic-2.2;\n",
+ "\n",
+ "#result\n",
+ "print \"current is\",round(I,2), \"A\"\n",
+ "print \"load voltage is\",round(Vl1,2), \"V\"\n",
+ "print \"power is\",round(P,2), \"W\"\n",
+ "print \"high side voltage is\",round(Vh,2), \"V\"\n",
+ "print \"high side power is\",round(Ph,2), \"W\"\n",
+ "print \"low side voltage is\",round(Vl,2), \"V\"\n",
+ "print \"low side power is\",round(Pl,2), \"W\"\n",
+ "print \"IC power is\",round(Pic,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Q,2), \"degreeC/W\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6_1.ipynb
new file mode 100644
index 00000000..d5b6622f
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter6_1.ipynb
@@ -0,0 +1,528 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6: Power Switches"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.1,Page 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "collector current is 1.81 A\n",
+ "load power is 49.32 W\n",
+ "transistor power is 1.45 W\n",
+ "least value of base current is 90.67 mA\n",
+ "max value of base resistance is 4.85 ohm\n",
+ "thus pick Rb=33ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding Ic,Pload,Pq,Ibase,Rbase\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vs=28.0;#V\n",
+ "Vi=5.0;#V\n",
+ "Rl=15.0;#ohm\n",
+ "Vc=.8;#V\n",
+ "b=20.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ic=(Vs-Vc)/Rl;\n",
+ "Pl=Ic**2*Rl;\n",
+ "Pq=Ic*Vc;\n",
+ "Ib=Ic/b*1000;\n",
+ "Rb=(Vi-.6)/Ib;\n",
+ "\n",
+ "#result\n",
+ "print \"collector current is\",round(Ic,2), \"A\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"transistor power is\",round(Pq,2), \"W\"\n",
+ "print \"least value of base current is\",round(Ib,2), \"mA\"\n",
+ "print \"max value of base resistance is\",round(Rb*100,2), \"ohm\"\n",
+ "print ('thus pick Rb=33ohm')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.4,Page 282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load resistance is 554.0 ohm\n",
+ "thus pick Rl=560ohm\n",
+ "max value of Rb is 3.0 kohm\n",
+ "thus pick Rb=2.2kohm\n",
+ "load current is 49.46 mA\n",
+ "load power is 685.08 mW\n",
+ "power delivered is 7.42 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding Pload,Pq,Iload,resistances\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vd=28.0;#V\n",
+ "f=100.0;#frequency\n",
+ "I=50.0;#current\n",
+ "Rl1=560.0;\n",
+ "Vp=2.4;\n",
+ "Ib=500.0;#microAmp\n",
+ "D=.5;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "Rl=(Vd-.3)/I;\n",
+ "Rb=(Vp-.9)/Ib;\n",
+ "Vl=Vd-.3;\n",
+ "Ip=Vl/Rl1;\n",
+ "Pl=D*Vl*Ip;\n",
+ "Pq=D*Ip*.3;\n",
+ "\n",
+ "#result\n",
+ "print \"load resistance is\",round(Rl*1000), \"ohm\"\n",
+ "print('thus pick Rl=560ohm')\n",
+ "print \"max value of Rb is\",round(Rb*1000,2),\"kohm\"\n",
+ "print('thus pick Rb=2.2kohm')\n",
+ "print \"load current is\",round(Ip*1000,2), \"mA\"\n",
+ "print \"load power is\",round(Pl*1000,2), \"mW\"\n",
+ "print \"power delivered is\",round(Pq*1000,2), \"mW\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.5,Page 286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time of rise is 788.48 ns\n",
+ "time of rise is 4.65 microsec\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding time of rise\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "C=640.0;#capacitor\n",
+ "R1=560.0;#load resistance\n",
+ "R2=3.3;#kohm\n",
+ "\n",
+ "#calculation\n",
+ "t1=2.2*R1*C;\n",
+ "t2=2.2*R2*C;\n",
+ "\n",
+ "#result\n",
+ "print \"time of rise is\",round(t1/1000,2), \"ns\"\n",
+ "print \"time of rise is\",round(t2/1000,2), \"microsec\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.6,Page 287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "resistance is 682.5 ohm\n",
+ "pick up resistance=680 ohm\n",
+ "rise time is 957.44 ns\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEZCAYAAACervI0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGQJJREFUeJzt3XuQXGWdh/FnkgkxkISEiyEEcCQsiBguLuAFLy0qxVYE\nZNeyQNwFRbC2RNDVFXBdmdWqJUKJWrulW6uAQTQqoEi0QIhLLxfxgiQkhITInUAyYU0gIQESkt4/\n3tNMz6RnpufS/b7n9POp6prTZ87p/tFkzve873nf0yBJkiRJkiRJkiRJkiRJkiRJasADwLtiFyFJ\nKbsF+Lc6608B1gDjRvHa3we+Oor9U3sfadhG8wckNdv3gY/WWf/3wLXAjpZWI0lqmUnAc8A7a9ZN\nB14E5gATgW8CT2ePbwC7ZNudBdzZ7/V2ALOBc4GtwMvAJuAXdd77O8Dl/db9AvhMtnwhsBrYCKwE\njq/zGgO9z+M123cD1wE/yF5rKfBXwMVAD/AE8P6a19wduBJ4Jnv/r+KJnKSC+m/guzXPPwncly1/\nBfgtsFf2uDtbBwMHwIHZ8tU129bzTuDJmufTgS3APsAh2e/2yX53QM3r9lfvfR6jbwC8SDjIjwfm\nEwLi4uz5J4BHa/b9OSGcJgF7A78nBI0kFc5xwAZ6z+zvBi7Ilh8GTqzZ9gTCwRUaC4DB+uY7CGff\n1dbHOcCibPkgwtn5e4EJQ9Rf7336B8Cva353EqG10JE9n5LVPRWYAbwEvKZm+9OB/xmiBqkum45K\n3d3A/wGnErpvjgF+lP1uX8JBuurJbN1YqAA/JhxgAT4C/DBbfpjQFdRNCIIFwMxRvNe6muUXCf+9\nlZrnAJOB1xECZw0hFDcA/0VoCUjDZgAoD64B/oFwQfgW4Nls/TNAV812B2TrADYDu9b8bh/6qjC0\nBcCHCAfeY4Eb+v3undnvKsDXBniNRt6nUU8RrifsSeiSmk64JjBnDN9DbcQAUB5cQ+gj/wShj7xq\nAfAleq8BfJlwMRXgfuAw4AhCl0l3v9fsYeB++6olhLPx7xGCZ2O2/mBCF85EwgH5JWD7AK/RyPs0\nag1wK3AFoWtoHKFV5JwCSYV2O/AX+va5TwS+RTjrf4YwImiXmt9/kdBaeAI4g3CQrh6MDwIWE7pR\nfjbI+34p2+/vatbNIVx83ZjVdBM7tzCq6r1P7TWASwgBV/U++l707czev9q1NRX4NqE18BzhgviH\nB6lfiuI1hD+SJcCDwKXZ+j2A24BVhLOZaVGqkyQ1VbUPthP4HfAO4DLgC9n6C4F5EeqSJLXIrsAf\nCX2yKwnD2SA0m1fGKkqS1DzjCF1Amwhn/hD6Qqs6+j2XJBXM7oQuoPew8wF/fevLkSR1tuh9ngd+\nBfw1YVjcPsBawuSZdf03nj17duWRRx5pUWmSVBiPEEaeNaSZ8wD2oneEzyTCOO7FhCFzZ2brzwRu\n7L/jI488QqVS8VGpcMkll0SvIZWHn4WfhZ/F4A/CvJCGNbMFMJMwaWdc9vgB8BtCCPwUOJtw0yvH\nMEtSBM0MgGXAm+usX0+Y7CJJishbQSSuVCrFLiEZfha9/Cx6+VmMXMfQm0RRyfqzJEkN6ujogGEc\n120BSFKbMgAkqU0ZAJLUpgwASWpTBoAktSkDQJLalAEgSW3KAJCkNmUASFKbatXtoCWpuCoVePll\n2Lix72PTpp3XnXYazJkTu2LAAJDUzrZv3/kgPdTzgdaNHw9TpsDUqb2P/s+nToUJE2L/V7/KewFJ\nypdKBV58cfgH6HrrXnoJJk/e+SBd78A92MF9yhSYODH2JzPsewGlGwDbt8M4L1FIhbFtWzgIj+aA\nXV23yy6NnW0PtW7XXQt1nClOAGzdmlRTSWpLlQps3jw2B+2tW4d/Zj3Q2bbHhrqKEwCbN4d0ljR8\nW7eOvC+7dt2mTTBp0sjOtvs/nzQJOlI95BTDcAMg3YvAr7wSuwIpTS+8AF/+MvT0DHwQ37595wN0\nvYPyAQcMvs3kydCZ7mFCo5Pu/1kDQKrvppvgnnvgvPMGPrBPnOjZtoZkAEh5s3AhnH02nHFG7EqU\nc6meIlQqTz8N++4buw4pLdu2wYwZsHw5zJwZuxolpjhfCWkLQNrZXXfB7Nke/DUmDAApTxYuhJNO\nil2FCiLdANi2LXYFUnp++UsDQGMm3QCwBSD19dBDsGULHHlk7EpUEAaAlBcLF8IHPuDwTo0ZA0DK\nC/v/NcYMACkP1q+HJUvg+ONjV6ICaWYA7A/cDiwHHgDOz9Z3A6uBxdnjxLp7GwBSr1tugVIp3E9H\nGiPNnAm8DfgssASYDPwJuA2oAFdkj0H2dhSQ9Cq7f9QEzWwBrCUc/AFeAFYAs7LnQ1/FsgUgBdu2\nwa9/DXPnxq5EBdOqawBdwFHA77LnnwbuB64EptXdwwCQAmf/qklaEQCTgeuBCwgtge8ArweOBNYA\nX6+7lwEgBU7+UpM0+26gE4AbgGuBG7N162p+/z1gYb0du6+9Fu69F4BSqUSpVGpelVLKFi6En/wk\ndhVKULlcplwuj3j/Zs4o6QDmA38hXAyumkk48ydbfwzwkX77VirXXQcf+lATy5Ny4KGH4L3vhaee\ncgKYhpTSN4IdB3wUWEoY7gnwReB0QvdPBXgM+GTdvR0FJDn7V03VzAC4i/rXGG5uaG+vAUghAL7w\nhdhVqKCcCSylytm/ajIDQEqVs3/VZAaAlKpq/7/UJAaAlKLq7F8DQE1kAEgpcvavWiDdAHAYqNqZ\ns3/VAukGgC0AtTPv/qkWMACk1Pjdv2oRA0BKjbN/1SIGgJQau3/UIgaAlBJn/6qF0g0ARwGpHTn7\nVy2UbgDYAlA7cvavWsgAkFLh7F+1mAEgpeLuu539q5YyAKRUOPpHLWYASKkwANRi6QaAo4DUTpz9\nqwjSDQBbAGonzv5VBAaAlALv/qkIDAAptg0b4L77nP2rljMApNhuvtnZv4rCAJBic/SPIjEApJic\n/auI0g0Ah4GqHTj7VxGlGwC2ANQObr4Z5s6NXYXalAEgxbR4MRxzTOwq1KYMACmmpUvhiCNiV6E2\nZQBIsfT0wNatMGtW7ErUppoZAPsDtwPLgQeA87P1ewC3AauAW4Fpdfc2AFR0y5bB4Yd7+wdF08wA\n2AZ8FjgMeCvwKeBQ4CJCABwM/CZ7XmdvRwGp4JYuDQEgRdLMAFgLLMmWXwBWALOAk4H52fr5wAfr\n7m0LQEVnACiyVl0D6AKOAn4PzAB6svU92fOdGQAqOgNAkXW24D0mAzcAFwCb+v2ukj120v3889Dd\nDUCpVKJUKjWvQqnVXnkFVq6Eww6LXYlyrFwuUy6XR7x/s68+TQB+CdwMfDNbtxIoEbqIZhIuFL+h\n336VyvTpsH59k8uTIlm+HE49FVatil2JCqQjDCho+LjezC6gDuBK4EF6D/4ANwFnZstnAjfW3dsu\nIBWZ3T9KQDO7gI4DPgosBRZn6y4G5gE/Bc4GHgc+XHdvRwGpyAwAJaCZAXAXA7cw3jfk3rYAVGRL\nl8I558SuQm0u7ZnAlbrXh6X8swWgBKQbAOPGwY4dsauQxt769fD889DVFbsStbl0A6Cz024gFdOy\nZTBnTjjJkSJK91+gAaCisvtHiUg7ABwJpCIyAJSIdANgwgRbAComA0CJSDcA7AJSEW3fHmYBv+lN\nsSuRDACppR59FPbeG3bfPXYlkgEgtZTdP0qIASC10v33GwBKhgEgtZItACUk7QBwGKiKxgBQQtIN\nAIeBqmg2boSeHjjooNiVSEDKAWAXkIrmgQfgjW+E8eNjVyIBBoDUOnb/KDEGgNQqS5fCEUfErkJ6\nlQEgtYotACUm7QBwFJCKolLpvQ20lIh0A8BRQCqSJ56AKVNgzz1jVyK9Kt0AsAtIRWL3jxJkAEit\nYAAoQQaA1AreA0gJMgCkVrAFoAQ1EgAHNrhubDkKSEWxZQs8+SQcckjsSqQ+GgmAG+qsu26sC9mJ\no4BUFMuXh4P/hAmxK5H66Bzkd4cCbwR2B/4W6AAqwFTgNc2vzC4gFYTdP0rUYAFwMHASIQBOqlm/\nCTinmUUBBoCKwwBQogYLgF9kj7cB97SmnBoGgIpi6VKYOzd2FdJOBguAqnOzR1Ul+/nxBva9CpgL\nrAOqc+C7gU8Az2bPLwZu2bkyA0AFUKl4Ezglq5EA+BW9B/1JwKnAMw2+/tXAfwDX1KyrAFdkj0Eq\nMwBUAM88E/4tz5gRuxJpJ40EwPX9nv8IuLvB178T6KqzvmPIPR0GqiKw/18JG8lEsIOBvUf5vp8G\n7geuBKbV3cJhoCoCA0AJa6QF8AK9XUAVoAe4cBTv+R3gK9nyV4GvA2f336j7jjteDYBSqUSpVBrF\nW0qRLF0KJ5wQuwoVVLlcplwuj3j/obtiRq8LWEjvReBGflepXHopPPcczJvX3OqkZpozB665Bo46\nKnYlagMdHR0wjON6Iy0AgFOAdxFaAP9LOGiP1ExgTbZ8KrCsfmVeBFbOvfwyPPwwHHpo7EqkuhoJ\ngHnAMcAPCclyPvB2wvDNoSwA3g3sBTwFXAKUgCMJYfIY8Mn6lRkAyrkVK+DAA+E1zZ84L41EIwEw\nl3DA3p49/z6whMYC4PQ6665qrDJHASnnvACsxDUyCqhC35E60+i9KNw8jgJS3hkAStxgAfBt4B3A\nvwP3Ec785wN/ytY1l11AyjsDQIkbrAtoFXA5sC+wCHiC0PVzIbC2+ZUZAMo5A0CJG6wF8E3CjeDe\nDfyZcEvoywkXbQ9uemUGgPKspyeMAtpvv9iVSANq5BrA44SRQEcCpxGGbq5oYk2BAaA8W7Ys3ACu\noxVTbaSRaSQAOoGTCfcAugVYSWgNNJejgJRndv8oBwa7BnAC4Yx/LvAHwpj+cwm3hmg+WwDKswcf\nhKOPjl2FNKjBWgAXEb4I5lDCN4L9iFYd/MFhoMq31ath//1jVyENarAWwPEtq6IeWwDKs6efhlmz\nYlchDWokt4NuDQNAeWYAKAcMAGmsvfgibN4Me+0VuxJpUAaANNaqZ/8OAVXi0g4Ah4Eqj+z+UU6k\nGwCOAlJeGQDKiXQDwC4g5dXq1QaAcsEAkMaaLQDlhAEgjTUDQDlhAEhjzQBQTqQdAI4CUh4ZAMqJ\ndAPAUUDKox07YO1a2Hff2JVIQ0o3AOwCUh6tWwfTpsHEibErkYZkAEhjye4f5YgBII0lA0A5YgBI\nY8lJYMqRtAPAUUDKG1sAypF0A2D8+DCiYseO2JVIjTMAlCPpBkBHR2gFbN8euxKpcQaAciTdAACv\nAyh/DADlSLMD4CqgB1hWs24P4DZgFXArMG3AvQ0A5Y0BoBxpdgBcDZzYb91FhAA4GPhN9rw+A0B5\n8sILYeDC9OmxK5Ea0uwAuBPY0G/dycD8bHk+8MEB9zYAlCd+FaRyJsY1gBmEbiGynzMG3NKhoMoT\nu3+UM52R37+SPXbS3d0NW7bA5ZdTOuUUSqVSSwuThs1JYGqxcrlMuVwe8f6taKt2AQuBOdnzlUAJ\nWAvMBG4H3tBvn0qlUoEDD4RFi8JPKXWXXgobNsBll8WuRG2qI3Q/Nnxcj9EFdBNwZrZ8JnDjgFt6\nDUB5YheQcqbZAbAA+C1wCPAU8DFgHvB+wjDQ47Pn9RkAyhMDQDnT7GsApw+w/n0N7W0AKE8MAOVM\n+jOBHQWkvDAAlDNpB4BfC6m8eOUVePZZmDkzdiVSw9IOALuAlBc9PbDnnuGkRcoJA0AaC3b/KIcM\nAGksGADKIQNAGgvOAlYOpR8AjgJSHtgCUA6lHwC2AJQHBoByKO0AcBio8sIAUA6lHQC2AJQXBoBy\nyACQRqtSCQGw336xK5GGxQCQRmvjxvAtYFOnxq5EGhYDQBotu3+UU+kHgMNAlToDQDmVdgA4Ckh5\n4CQw5VTaAWAXkPLAFoByygCQRssAUE4ZANJoGQDKKQNAGi0DQDmVfgA4CkipcxKYcirtAHAUkFK3\nbRusXw8zZsSuRBq2tAPALiClbs0aeO1rYfz42JVIw2YASKNh/79yzACQRsNJYMoxA0AaDVsAyrH0\nA8BRQEqZAaAcSz8AbAEoZQaAciztAHAYqFJnACjHOiO+9+PARmA7sA04dqctbAEodU4CU47FDIAK\nUALWD7iFAaCUVb8K0haAcip2F1DHoL81AJSyDRtg4kTYbbfYlUgjEjMAKsAi4F7gnLpbGABKmWf/\nyrmYXUDHAWuAvYHbgJXAnX22cBioUmYAKOdiBsCa7OezwM8JF4FfDYDu7m549FFYtYpSuUypVGp9\nhdJg1q6FffaJXYXaWLlcplwuj3j/wfvgm2dXYDywCdgNuBX4t+wnQKVSqUC5DN3d4aeUmnnzwp1A\nL7ssdiUSAB0dHTCM43qsFsAMwll/tYYf0nvw7+U1AKWsp8choMq1WAHwGHDkkFsZAErZ2rVw9NGx\nq5BGLPYw0MEZAEpZT49fBKNcSz8AHAWkVHkRWDmXdgB4LyClzBaAci7tALALSKnauhU2boQ994xd\niTRiBoA0EuvWwd57w7i0/4SkwaT9r9cAUKrs/1cBGADSSNj/rwJIPwAcBaQU2QJQAaQfALYAlCJb\nACqAtAPAYaBKlS0AFUDaAWALQKmyBaACMACkkbAFoAIwAKSRsAWgAkg7AKqTbLZvj1uH1J8tABVA\n2gEAtgKUnpdegi1bYPr02JVIo5J+ADgSSKmpdv90xPpCPWlspB8AtgCUGvv/VRAGgDRc9v+rIAwA\nabhsAaggDABpuHp6bAGoEPIRAN4QTimxC0gFkX4AOApIqbELSAWRfgDYBaTU2AJQQRgA0nDZAlBB\nGADScNkCUEEYANJwbNkCW7fC1KmxK5FGLR8B4CggpaI6BNTbQKgA8hEAtgCUCvv/VSCxAuBEYCXw\nZ+DCQbd0GKhSYv+/CiRGAIwH/pMQAm8ETgcOHXDrNm8BlMvl2CUkI4nPIpEWQBKfRSL8LEYuRgAc\nCzwMPA5sA34MnDLg1gZA7BKSkcRnkUgLIInPIhF+FiPXGeE9ZwFP1TxfDbxlwK07O+H662HFimbX\nlaZ77oErrohdRRpS+CwWLYLTTotbgzRGYgRAZVhbn3023HEHrF7dpHISt3Fj+/6395fCZ3HMMXDi\niXFrkMZIjLFsbwW6CdcAAC4GdgBfq9nmYWB2a8uSpNx7BDgodhGD6SQU2QXsAixhsIvAkqRC+Rvg\nIcKZ/sWRa5EkSZIUU+OTxIptf+B2YDnwAHB+3HKSMB5YDCyMXUhk04DrgRXAg4Trau3qYsLfyDLg\nR8DEuOW01FVAD+G/vWoP4DZgFXAr4d9KbowndAt1ARNo7+sD+wBHZsuTCV1m7fpZVP0T8EPgptiF\nRDYf+Hi23AnsHrGWmLqAR+k96P8EODNaNa33TuAo+gbAZcAXsuULgXmtLmo03gbcUvP8ouwhuBF4\nb+wiItoPWAS8h/ZuAexOOOgpnO0+BEwnBOFC4H1RK2q9LvoGwEqgOlV9n+z5gFK7GVy9SWKzItWS\nki5C0v8+ch0xfQP4Z8KQ4Xb2euBZ4GrgPuC7wK5RK4pnPfB14EngGeA5wklCO5tB6BYi+znofUtS\nC4DhTRJrD5MJ/b0XAC9EriWWDwDrCP3/7X4f5k7gzcC3s5+bad9W8mzgM4QTpH0JfytnxCwoMRWG\nOKamFgBPEy5+Vu1PaAW0qwnADcC1hC6gdvV24GTgMWABcDxwTdSK4lmdPf6YPb+eEATt6Gjgt8Bf\ngFeAnxH+rbSzHkLXD8BMwolTbjhJrFcH4SD3jdiFJObdtPc1AIA7gIOz5W76zqJvJ0cQRshNIvy9\nzAc+FbWi1uti54vA1dGTF5Gzi8DgJLGqdxD6u5cQuj4W03v7jHb2bhwFdAShBXA/4ay3XUcBQRjx\nUh0GOp/Qam4XCwjXPrYSrp1+jHBhfBE5HQYqSZIkSZIkSZIkSZIkSZIkqS3tDvxjtjwTuG4MX/s8\n4KwxfL3+Tgb+tYmvL0mF1kXfmZFjpYMwGa+zCa9d+x5LaK/JTIootXsBSaM1j3CTsMXAT+kNg7MI\n91O6lXBPofOAzxPuqHkP4ZbCZPveDNxLuOXCIdn64wi31n0le14GriDMyF0BHAP8nDAD86vZNl30\nDaPPA5dky+cTZrDeT5jRCeHGXfcAJ4zgv1uS2t7r6D3o1i6fRfiWud2AvYDngXOz311BuNsqwG+A\ng7Llt2TPIdxX5XM173M7cGm2fD5hSv4Mwj2sniIEShd9A+BzwJez5afpPdOfWrPNx2jfe/uoxZrZ\nnJVi6BhgGcJBe3P2eI7em8otAw4nhMPb6XvdYJfs5wHAXf1er3pPogeyR/U+7I8S7mS7cZD6lhK+\nwvBG+t7p9Rm855NaxABQO3m5ZnlHzfMdhL+FccAGwpfv1NM/UGr37//anYTuotpu1kk1y3OBdwEn\nAf8CvCnbbxx+L4ZaxGsAKppNwJRh7lM9sG8iXB/4UM36w7PlJ+i9z3qjeoDXEu7QOJHwxTaV7HUP\nIFxHuIgwcmlyts/M7L2kprMFoKL5C3A3oVtnBb1n0/2/Han/cvX5GcB3gC8R+ugXELpr7iJcOK5n\noG9e2gZ8BfgDoc//wWz9eOAHhAN/B/AteruLjsXvO5CkpFSHge4y1IajMI4wDNQTM7XE+NgFSDky\nnvANdUua9PonEVow5Sa9viRJkiRJkiRJkiRJkiRJkqT8+3+DM0mrOvS/VQAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f86a4de0510>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#finding Rpick up,time of rise\n",
+ "\n",
+ "#initialisation of variable\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from pylab import plot, xlabel, ylabel, title\n",
+ "Vol=0.7;\n",
+ "Iol=40.0/1000;#current\n",
+ "Rpullup1=680.0;\n",
+ "C=640.0;\n",
+ "Epullup=28.0;\n",
+ "#for plotting\n",
+ "x=[0, .1, 1.9, 4.1, 5, 5.1, 5.3, 5.6, 6.0, 9.3];\n",
+ "y=[27.8, .1, .1, .1, .1, 5, 13.5, 21.0, 27.0, 27.8];\n",
+ "\n",
+ "#calculation\n",
+ "Rpullup=(Epullup-Vol)/Iol;\n",
+ "trise=2.2*Rpullup1*C;\n",
+ "plot(x,y,'r');\n",
+ "xlabel ('time(mus)')\n",
+ "ylabel ('Vout')\n",
+ "title ('Vout vs time')\n",
+ "\n",
+ "#result\n",
+ "print \"resistance is\",round(Rpullup,2), \"ohm\"\n",
+ "print('pick up resistance=680 ohm');\n",
+ "print \"rise time is\",round(trise/1000,2), \"ns\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.7,Page 289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "worst case resistance is 0.286 ohm\n",
+ "load current is 4.45 A\n",
+ "load voltage is 26.73 V\n",
+ "load power is 47.62 W\n",
+ "drop voltage is 1.27 V\n",
+ "power is 2.27 W\n",
+ "temperature is 182.6 deg.C\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding worst case resistance and power characteristics\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=.11;#resistance\n",
+ "Vd=28.0;#voltage\n",
+ "R2=6.0;#ohm\n",
+ "D=.4;#duty cycle\n",
+ "Q=62.0;\n",
+ "\n",
+ "#calculation\n",
+ "Ro=2.6*R1;\n",
+ "Ip=Vd/(R2+Ro);\n",
+ "Vl=Ip*R2;\n",
+ "Pl=D*Vl*Ip;\n",
+ "Vq=Ip*Ro;\n",
+ "Pq=D*Vq*Ip;\n",
+ "T=40+round(Pq*10)/10*Q;\n",
+ "\n",
+ "#result\n",
+ "print \"worst case resistance is\",round(Ro,3), \"ohm\"\n",
+ "print \"load current is\",round(Ip,2),\"A\"\n",
+ "print \"load voltage is\",round(Vl,2), \"V\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"drop voltage is\",round(Vq,2), \"V\"\n",
+ "print \"power is\",round(Pq*10,2)/10, \"W\"\n",
+ "print \"temperature is\",round(T,2), \"deg.C\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.8,Page 292"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "voltage is 150.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "L=10.0;#inductor\n",
+ "I=4.5;#current\n",
+ "t=300.0#time\n",
+ "\n",
+ "#calculation\n",
+ "V=L*I/t;\n",
+ "\n",
+ "#result\n",
+ "print \"voltage is\",round(V*1000,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.9,Page 298"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R1+R2 is 682.5 ohm\n",
+ "pick R1=330ohm & R2=360ohm as they divide Vd setting 8V<Vg<18V\n",
+ "node voltage for V1 is 28.0 V\n",
+ "node voltage for V2 is 0.7 V\n",
+ "gate voltage is 15.31 V\n",
+ "gate & source diff is -12.69 V\n",
+ "load voltage is 26.73 V\n",
+ "load current is 2.23 A\n",
+ "load power is 47.63 W\n",
+ "Pq is 2.26 W\n",
+ "thermal resistance is 44.92 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistance and power characteristics\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rl=12.0;#load resistance\n",
+ "V1=.8;#voltage\n",
+ "V2=2.4;#voltage\n",
+ "D=.8;#duty cycle\n",
+ "Tj=150.0;#degreeC\n",
+ "Ta=40.0;#degreeC\n",
+ "Vd=28.0;\n",
+ "Vo=.7;\n",
+ "I=40.0;#mA;\n",
+ "R1=330;\n",
+ "R2=360;\n",
+ "Vn1=28;\n",
+ "Vn2=.7;\n",
+ "\n",
+ "#calculation\n",
+ "k=(Vd-Vo)/I;\n",
+ "Vg=R2*Vd/(R1+R2)+Vn2;\n",
+ "Vgs=Vg-Vd;\n",
+ "Vl=Vd*Rl/(Rl+.57);\n",
+ "Il=Vl/Rl;\n",
+ "Pl=D*Vl*Il;\n",
+ "Vq=Il*.57;\n",
+ "Pq=D*Vq*Il;\n",
+ "Q=(Tj-Ta)/Pq-3.7;\n",
+ "\n",
+ "#result\n",
+ "print \"R1+R2 is\",round(k*1000,2), \"ohm\"\n",
+ "print('pick R1=330ohm & R2=360ohm as they divide Vd setting 8V<Vg<18V')\n",
+ "print \"node voltage for V1 is\",round(Vn1,2),\"V\"\n",
+ "print \"node voltage for V2 is\",round(Vn2,2), \"V\"\n",
+ "print \"gate voltage is\",round(Vg,2), \"V\"\n",
+ "print \"gate & source diff is\",round(Vgs,2), \"V\"\n",
+ "print \"load voltage is\",round(Vl,3), \"V\"\n",
+ "print \"load current is\",round(Il,2), \"A\"\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"Pq is\",round(Pq,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Q,2), \"degreeC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.10,Page 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time is 1.1 micro s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding time\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I=40.0;#current\n",
+ "Q=44.0;#nC\n",
+ "\n",
+ "#calculation\n",
+ "t=Q/I;\n",
+ "\n",
+ "#result\n",
+ "print \"time is\",round(t,2), \"micro s\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 6.11,Page 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current is 1.8 A\n",
+ "load voltage is 26.97 V\n",
+ "power is 40.85 W\n",
+ "high side voltage is 0.67 V\n",
+ "high side power is 1.03 W\n",
+ "low side voltage is 0.36 V\n",
+ "low side power is 0.55 W\n",
+ "IC power is 1.56 W\n",
+ "thermal resistance is 55.49 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding different voltages and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rl=15.0;#load resistance\n",
+ "D=.85;#duty cycle\n",
+ "Ts=60.0;#degreeC\n",
+ "Vd=28.0;#voltage\n",
+ "R1=.375;\n",
+ "R2=.2;\n",
+ "\n",
+ "#calculation\n",
+ "I=Vd/(R1+R2+Rl);\n",
+ "Vl1=I*Rl;\n",
+ "P=D*Vl*I;\n",
+ "Vh=I*R1;\n",
+ "Ph=D*Vh*I;\n",
+ "Vl=I*R2;\n",
+ "Pl=D*Vl*I;\n",
+ "Pic=Ph+Pl;\n",
+ "Pic=1.56;\n",
+ "Tj=150;\n",
+ "Ta=60;\n",
+ "Q=(Tj-Ta)/Pic-2.2;\n",
+ "\n",
+ "#result\n",
+ "print \"current is\",round(I,2), \"A\"\n",
+ "print \"load voltage is\",round(Vl1,2), \"V\"\n",
+ "print \"power is\",round(P,2), \"W\"\n",
+ "print \"high side voltage is\",round(Vh,2), \"V\"\n",
+ "print \"high side power is\",round(Ph,2), \"W\"\n",
+ "print \"low side voltage is\",round(Vl,2), \"V\"\n",
+ "print \"low side power is\",round(Pl,2), \"W\"\n",
+ "print \"IC power is\",round(Pic,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Q,2), \"degreeC/W\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7.ipynb
new file mode 100644
index 00000000..45af7d98
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7.ipynb
@@ -0,0 +1,505 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7: Switiching Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.1,Page 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 0.25\n",
+ "average voltage is 3.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding duty cycle and average voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "T=20.0;#time\n",
+ "Vp=12.0;#voltage\n",
+ "t=5.0;\n",
+ "\n",
+ "#calculation\n",
+ "D=t/T;\n",
+ "Vd=(D*Vp);\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D,3)\n",
+ "print \"average voltage is\",round(Vd,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.2,Page 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 42.0 %\n",
+ "time is 10.0 microsec\n",
+ "on time is 4.167 microsec\n",
+ "ripple current is 133.636 mA\n",
+ "load current is 500.0 mA\n",
+ "peak inductor current is 566.818 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding on time ripple,load,peak inductor current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vd=12.0;#voltage\n",
+ "Vl=5.0;#load voltage\n",
+ "Rl=10.0;#load resistance\n",
+ "f=100.0;#frequency\n",
+ "L=220.0;#inductor\n",
+ "\n",
+ "#calculation\n",
+ "D=Vl/Vd;\n",
+ "T=1/f;\n",
+ "t=D*T;\n",
+ "Vr=Vd-Vl;\n",
+ "I=Vr*round(t*10000)/10/L;\n",
+ "Il=Vl/Rl;\n",
+ "Ip=Il+I/2;\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D*100), \"%\"\n",
+ "print \"time is\",round(T*1000,3), \"microsec\"\n",
+ "print \"on time is\",round(t*10000,2)/10, \"microsec\"\n",
+ "print \"ripple current is\",round(I*1000,3),\"mA\"\n",
+ "print \"load current is\",round(Il*1000,3), \"mA\"\n",
+ "print \"peak inductor current is\",round(Ip*1000,3), \"mA\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.3,Page 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms current is 325.01 mA\n",
+ "by trapezium method\n",
+ "rms current is 324.04 mA\n",
+ "by rectangle method\n",
+ "\n",
+ " rectangle method gives good result than trapezium method\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Id=500.0;#load current\n",
+ "i=134;#mA\n",
+ "D=.42;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "Ip=Id+i/2;\n",
+ "Im=Id-i/2;\n",
+ "I1=((D/3)*(Ip**2+Im*Ip+Im**2))**.5;\n",
+ "I2=D**.5*Id;\n",
+ "\n",
+ "#result\n",
+ "print \"rms current is\",round(I1,2), \"mA\"\n",
+ "print('by trapezium method')\n",
+ "print \"rms current is\",round(I2,2), \"mA\"\n",
+ "print('by rectangle method')\n",
+ "print '\\n rectangle method gives good result than trapezium method'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.4,Page 336"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "voltage is 0.3 V\n",
+ "dissipated power is 63.0 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vp=.3;#voltage\n",
+ "I=500.0;#current\n",
+ "D=.42;#duty cycle\n",
+ "T=150.0;#temperature\n",
+ "R=.6;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Vq=I*R;\n",
+ "Pq=D*Vq*I;\n",
+ "\n",
+ "#result\n",
+ "print \"voltage is\",round(Vq/1000,2), \"V\"\n",
+ "print \"dissipated power is\",round(Pq/1000,2), \"mW\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.5,Page 341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 42.0 %\n",
+ "time period is 6.667 microsec\n",
+ "on time is 2.778 microsec\n",
+ "load current is 500.0 mA\n",
+ "ripple current is 125.0 mA\n",
+ "inductor voltage is 7.0 V\n",
+ "inductor is 155.556 microH\n",
+ "inductor current is 562.5 mA\n",
+ "minimum capacitor current is 250.0 mA\n",
+ "minimum capacitor voltage is 18.0 V\n",
+ "Rf/Ri is 3.07\n",
+ "power of LM2595 is 0.33 W\n",
+ "thermal resistance is 210.998 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding all componenets\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R=10.0;#resistance\n",
+ "V1=5.0;#V\n",
+ "V2=12.0;#V\n",
+ "Ta=80.0;#degreeC\n",
+ "Tb=150.0;\n",
+ "f=150.0;#frequency\n",
+ "\n",
+ "#calculation\n",
+ "D=V1/V2;\n",
+ "T=1/f;\n",
+ "t=D*T;\n",
+ "Id=V1/R;\n",
+ "i=.25*Id;\n",
+ "Vl=V2-V1;\n",
+ "L=Vl*t/i;\n",
+ "Ip=Id+i/2;\n",
+ "Ic=Id/2;\n",
+ "Vc=1.5*V2;\n",
+ "K=V1/1.23-1;\n",
+ "P=.01*V2+D*Id*1;\n",
+ "Q=(Tb-Ta)/P-2.2;\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D*100), \"%\"\n",
+ "print \"time period is\",round(T*1000,3), \"microsec\"\n",
+ "print \"on time is\",round(t*1000,3), \"microsec\"\n",
+ "print \"load current is\",round(Id*1000,3), \"mA\"\n",
+ "print \"ripple current is\",round(i*1000,3), \"mA\"\n",
+ "print \"inductor voltage is\",round(Vl,2), \"V\"\n",
+ "print \"inductor is\",round(L*1000,3), \"microH\"\n",
+ "print \"inductor current is\",round(Ip*1000,2), \"mA\"\n",
+ "print \"minimum capacitor current is\",round(Ic*1000,2), \"mA\"\n",
+ "print \"minimum capacitor voltage is\",round(Vc,3), \"V\"\n",
+ "print \"Rf/Ri is\",round(K,2)\n",
+ "print \"power of LM2595 is\",round(P,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Q,3), \"degreeC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.6,Page 349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load power is 15.4 W\n",
+ "supply power is 17.11 W\n",
+ "dc current is 1.4 A\n",
+ "inductor current is 1.57 A\n",
+ "duty cycle is 0.45\n",
+ "inductor is 154.29 microH\n",
+ "transistor power is 352.8 mW\n",
+ "diode power is 385.0 mW\n",
+ "capacitor is 157.5 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding different power,inductor current,inductor value\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0#V\n",
+ "V2=22.0;#V\n",
+ "I=.7;#A\n",
+ "f=100.0;#kHz\n",
+ "R=.4;#ohm\n",
+ "Vd=.5;\n",
+ "\n",
+ "#calculation\n",
+ "Pl=V2*I;\n",
+ "Ps=Pl/.9;\n",
+ "Id=round(Ps/V1*10)/10;\n",
+ "i=.25*Id;\n",
+ "Ip=Id+i/2;\n",
+ "D=round((1-V1/V2)*100)/100;\n",
+ "t=D/f;\n",
+ "L=V1*t/i;\n",
+ "Vp=Id*R;\n",
+ "Pq=D*Vp*Id;\n",
+ "Pd=(1-D)*.5*Id;\n",
+ "C=Id*t/2/20;\n",
+ "\n",
+ "#result\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"supply power is\",round(Ps,2), \"W\"\n",
+ "print \"dc current is\",round(Id,2), \"A\"\n",
+ "print \"inductor current is\",round(Ip,2), \"A\"\n",
+ "print \"duty cycle is\",round(D,2)\n",
+ "print \"inductor is\",round(L*1000,2), \"microH\"\n",
+ "print \"transistor power is\",round(Pq*1000,2), \"mW\"\n",
+ "print \"diode power is\",round(Pd*100,2)*10, \"mW\"\n",
+ "print \"capacitor is\",round(C*1e6,2), \"microF\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.7,Page 355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rf/Ri is 16.886\n",
+ "pick Rf=22; Ri=1.3;\n",
+ "rms current is 1.4 A\n",
+ "switch power is 132.3 mW\n",
+ "IC power is 151.2 mW\n",
+ "total power is 283.5 mW\n",
+ "IC temperature is 98.43 degreeC\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding feedback resistor,power,current and temperature\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0;#V\n",
+ "V2=22.0;#V\n",
+ "I=.7;#A\n",
+ "Ta=80.0;#degreeC\n",
+ "Ps=17.1#supply power\n",
+ "\n",
+ "#calculation\n",
+ "K=V2/1.23-1;\n",
+ "Id=round(Ps/V1*10)/10;\n",
+ "D=round((1-(V1/V2))*100)/100;\n",
+ "Ir=D**.5*Id;\n",
+ "Ps=Ir**2*.15;\n",
+ "Pi=D*Id*V1/50;\n",
+ "P=Ps+Pi;\n",
+ "T=Ta+P*65;\n",
+ "\n",
+ "#result\n",
+ "print \"Rf/Ri is\",round(K,3)\n",
+ "print('pick Rf=22; Ri=1.3;')\n",
+ "print \"rms current is\",round(Id,2), \"A\"\n",
+ "print \"switch power is\",round(Ps*1000,2), \"mW\"\n",
+ "print \"IC power is\",round(Pi*1000,2), \"mW\"\n",
+ "print \"total power is\",round(P*1000,2), \"mW\"\n",
+ "print \"IC temperature is\",round(T,2), \"degreeC\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.8,Page 359"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "maximum voltage is 18.25 V\n",
+ "diode voltage is 20.0 V\n",
+ "duty cycle is 0.34\n",
+ "power delivered is 5.0 W\n",
+ "average current is 466.67 mA\n",
+ "mid primary current is 1.37 A\n",
+ "rms current is 800.33 mA\n",
+ "ramp current is 480.0 mA\n",
+ "maximum transistor current is 1.61 A\n",
+ "minimum transistor current is 1.13 A\n",
+ "diode peak current is 2.02 A\n",
+ "secondary rms current is 1.23 A\n",
+ "capacitor is 170.0 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#designing circuit and finding circuit parameter\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0;#V\n",
+ "V2=5.0;#V\n",
+ "Il=1.0;#load current\n",
+ "T=10.0;#microsec\n",
+ "K=1.25;#Npri/Nsec\n",
+ "L=85.0;#microH\n",
+ "\n",
+ "#calculation\n",
+ "Vq=V1+V2*K;\n",
+ "Vd=V1*K+V2;\n",
+ "D=round((K*V2)*100/(V1+K*V2))/100;\n",
+ "Po=V2*Il;\n",
+ "Pi=round(Po/.09)/10;\n",
+ "Id=Pi/V1;\n",
+ "Im=Id/D;\n",
+ "Ir=(Im*D**.5);\n",
+ "i=V1*D*T/L;\n",
+ "IM=Im+.24;\n",
+ "Imin=Im-.24;\n",
+ "Ip=K*IM;\n",
+ "Imid=Il/(1-D);\n",
+ "Irms=Imid*(1-D)**.5;\n",
+ "C=D*Il*T/20;\n",
+ "\n",
+ "#result\n",
+ "print \"maximum voltage is\",round(Vq,2), \"V\"\n",
+ "print \"diode voltage is\",round(Vd,2), \"V\"\n",
+ "print \"duty cycle is\",round(D,2)\n",
+ "print \"power delivered is\",round(Po,2), \"W\"\n",
+ "print \"average current is\",round(Id*1000,2), \"mA\"\n",
+ "print \"mid primary current is\",round(Im,2), \"A\"\n",
+ "print \"rms current is\",round(Ir*1000,2),\"mA\"\n",
+ "print \"ramp current is\",round(i*1000,2), \"mA\"\n",
+ "print \"maximum transistor current is\",round(IM,2),\"A\"\n",
+ "print \"minimum transistor current is\",round(Imin,2),\"A\"\n",
+ "print \"diode peak current is\",round(Ip,2), \"A\"\n",
+ "print \"secondary rms current is\",round(Irms,2),\"A\"\n",
+ "print \"capacitor is\",round(C*1000,2), \"microF\"\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7_1.ipynb
new file mode 100644
index 00000000..45af7d98
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter7_1.ipynb
@@ -0,0 +1,505 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7: Switiching Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.1,Page 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 0.25\n",
+ "average voltage is 3.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding duty cycle and average voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "T=20.0;#time\n",
+ "Vp=12.0;#voltage\n",
+ "t=5.0;\n",
+ "\n",
+ "#calculation\n",
+ "D=t/T;\n",
+ "Vd=(D*Vp);\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D,3)\n",
+ "print \"average voltage is\",round(Vd,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.2,Page 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 42.0 %\n",
+ "time is 10.0 microsec\n",
+ "on time is 4.167 microsec\n",
+ "ripple current is 133.636 mA\n",
+ "load current is 500.0 mA\n",
+ "peak inductor current is 566.818 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding on time ripple,load,peak inductor current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vd=12.0;#voltage\n",
+ "Vl=5.0;#load voltage\n",
+ "Rl=10.0;#load resistance\n",
+ "f=100.0;#frequency\n",
+ "L=220.0;#inductor\n",
+ "\n",
+ "#calculation\n",
+ "D=Vl/Vd;\n",
+ "T=1/f;\n",
+ "t=D*T;\n",
+ "Vr=Vd-Vl;\n",
+ "I=Vr*round(t*10000)/10/L;\n",
+ "Il=Vl/Rl;\n",
+ "Ip=Il+I/2;\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D*100), \"%\"\n",
+ "print \"time is\",round(T*1000,3), \"microsec\"\n",
+ "print \"on time is\",round(t*10000,2)/10, \"microsec\"\n",
+ "print \"ripple current is\",round(I*1000,3),\"mA\"\n",
+ "print \"load current is\",round(Il*1000,3), \"mA\"\n",
+ "print \"peak inductor current is\",round(Ip*1000,3), \"mA\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.3,Page 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms current is 325.01 mA\n",
+ "by trapezium method\n",
+ "rms current is 324.04 mA\n",
+ "by rectangle method\n",
+ "\n",
+ " rectangle method gives good result than trapezium method\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Id=500.0;#load current\n",
+ "i=134;#mA\n",
+ "D=.42;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "Ip=Id+i/2;\n",
+ "Im=Id-i/2;\n",
+ "I1=((D/3)*(Ip**2+Im*Ip+Im**2))**.5;\n",
+ "I2=D**.5*Id;\n",
+ "\n",
+ "#result\n",
+ "print \"rms current is\",round(I1,2), \"mA\"\n",
+ "print('by trapezium method')\n",
+ "print \"rms current is\",round(I2,2), \"mA\"\n",
+ "print('by rectangle method')\n",
+ "print '\\n rectangle method gives good result than trapezium method'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.4,Page 336"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "voltage is 0.3 V\n",
+ "dissipated power is 63.0 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vp=.3;#voltage\n",
+ "I=500.0;#current\n",
+ "D=.42;#duty cycle\n",
+ "T=150.0;#temperature\n",
+ "R=.6;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Vq=I*R;\n",
+ "Pq=D*Vq*I;\n",
+ "\n",
+ "#result\n",
+ "print \"voltage is\",round(Vq/1000,2), \"V\"\n",
+ "print \"dissipated power is\",round(Pq/1000,2), \"mW\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.5,Page 341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 42.0 %\n",
+ "time period is 6.667 microsec\n",
+ "on time is 2.778 microsec\n",
+ "load current is 500.0 mA\n",
+ "ripple current is 125.0 mA\n",
+ "inductor voltage is 7.0 V\n",
+ "inductor is 155.556 microH\n",
+ "inductor current is 562.5 mA\n",
+ "minimum capacitor current is 250.0 mA\n",
+ "minimum capacitor voltage is 18.0 V\n",
+ "Rf/Ri is 3.07\n",
+ "power of LM2595 is 0.33 W\n",
+ "thermal resistance is 210.998 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding all componenets\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R=10.0;#resistance\n",
+ "V1=5.0;#V\n",
+ "V2=12.0;#V\n",
+ "Ta=80.0;#degreeC\n",
+ "Tb=150.0;\n",
+ "f=150.0;#frequency\n",
+ "\n",
+ "#calculation\n",
+ "D=V1/V2;\n",
+ "T=1/f;\n",
+ "t=D*T;\n",
+ "Id=V1/R;\n",
+ "i=.25*Id;\n",
+ "Vl=V2-V1;\n",
+ "L=Vl*t/i;\n",
+ "Ip=Id+i/2;\n",
+ "Ic=Id/2;\n",
+ "Vc=1.5*V2;\n",
+ "K=V1/1.23-1;\n",
+ "P=.01*V2+D*Id*1;\n",
+ "Q=(Tb-Ta)/P-2.2;\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D*100), \"%\"\n",
+ "print \"time period is\",round(T*1000,3), \"microsec\"\n",
+ "print \"on time is\",round(t*1000,3), \"microsec\"\n",
+ "print \"load current is\",round(Id*1000,3), \"mA\"\n",
+ "print \"ripple current is\",round(i*1000,3), \"mA\"\n",
+ "print \"inductor voltage is\",round(Vl,2), \"V\"\n",
+ "print \"inductor is\",round(L*1000,3), \"microH\"\n",
+ "print \"inductor current is\",round(Ip*1000,2), \"mA\"\n",
+ "print \"minimum capacitor current is\",round(Ic*1000,2), \"mA\"\n",
+ "print \"minimum capacitor voltage is\",round(Vc,3), \"V\"\n",
+ "print \"Rf/Ri is\",round(K,2)\n",
+ "print \"power of LM2595 is\",round(P,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Q,3), \"degreeC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.6,Page 349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load power is 15.4 W\n",
+ "supply power is 17.11 W\n",
+ "dc current is 1.4 A\n",
+ "inductor current is 1.57 A\n",
+ "duty cycle is 0.45\n",
+ "inductor is 154.29 microH\n",
+ "transistor power is 352.8 mW\n",
+ "diode power is 385.0 mW\n",
+ "capacitor is 157.5 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding different power,inductor current,inductor value\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0#V\n",
+ "V2=22.0;#V\n",
+ "I=.7;#A\n",
+ "f=100.0;#kHz\n",
+ "R=.4;#ohm\n",
+ "Vd=.5;\n",
+ "\n",
+ "#calculation\n",
+ "Pl=V2*I;\n",
+ "Ps=Pl/.9;\n",
+ "Id=round(Ps/V1*10)/10;\n",
+ "i=.25*Id;\n",
+ "Ip=Id+i/2;\n",
+ "D=round((1-V1/V2)*100)/100;\n",
+ "t=D/f;\n",
+ "L=V1*t/i;\n",
+ "Vp=Id*R;\n",
+ "Pq=D*Vp*Id;\n",
+ "Pd=(1-D)*.5*Id;\n",
+ "C=Id*t/2/20;\n",
+ "\n",
+ "#result\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"supply power is\",round(Ps,2), \"W\"\n",
+ "print \"dc current is\",round(Id,2), \"A\"\n",
+ "print \"inductor current is\",round(Ip,2), \"A\"\n",
+ "print \"duty cycle is\",round(D,2)\n",
+ "print \"inductor is\",round(L*1000,2), \"microH\"\n",
+ "print \"transistor power is\",round(Pq*1000,2), \"mW\"\n",
+ "print \"diode power is\",round(Pd*100,2)*10, \"mW\"\n",
+ "print \"capacitor is\",round(C*1e6,2), \"microF\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.7,Page 355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rf/Ri is 16.886\n",
+ "pick Rf=22; Ri=1.3;\n",
+ "rms current is 1.4 A\n",
+ "switch power is 132.3 mW\n",
+ "IC power is 151.2 mW\n",
+ "total power is 283.5 mW\n",
+ "IC temperature is 98.43 degreeC\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding feedback resistor,power,current and temperature\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0;#V\n",
+ "V2=22.0;#V\n",
+ "I=.7;#A\n",
+ "Ta=80.0;#degreeC\n",
+ "Ps=17.1#supply power\n",
+ "\n",
+ "#calculation\n",
+ "K=V2/1.23-1;\n",
+ "Id=round(Ps/V1*10)/10;\n",
+ "D=round((1-(V1/V2))*100)/100;\n",
+ "Ir=D**.5*Id;\n",
+ "Ps=Ir**2*.15;\n",
+ "Pi=D*Id*V1/50;\n",
+ "P=Ps+Pi;\n",
+ "T=Ta+P*65;\n",
+ "\n",
+ "#result\n",
+ "print \"Rf/Ri is\",round(K,3)\n",
+ "print('pick Rf=22; Ri=1.3;')\n",
+ "print \"rms current is\",round(Id,2), \"A\"\n",
+ "print \"switch power is\",round(Ps*1000,2), \"mW\"\n",
+ "print \"IC power is\",round(Pi*1000,2), \"mW\"\n",
+ "print \"total power is\",round(P*1000,2), \"mW\"\n",
+ "print \"IC temperature is\",round(T,2), \"degreeC\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.8,Page 359"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "maximum voltage is 18.25 V\n",
+ "diode voltage is 20.0 V\n",
+ "duty cycle is 0.34\n",
+ "power delivered is 5.0 W\n",
+ "average current is 466.67 mA\n",
+ "mid primary current is 1.37 A\n",
+ "rms current is 800.33 mA\n",
+ "ramp current is 480.0 mA\n",
+ "maximum transistor current is 1.61 A\n",
+ "minimum transistor current is 1.13 A\n",
+ "diode peak current is 2.02 A\n",
+ "secondary rms current is 1.23 A\n",
+ "capacitor is 170.0 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#designing circuit and finding circuit parameter\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0;#V\n",
+ "V2=5.0;#V\n",
+ "Il=1.0;#load current\n",
+ "T=10.0;#microsec\n",
+ "K=1.25;#Npri/Nsec\n",
+ "L=85.0;#microH\n",
+ "\n",
+ "#calculation\n",
+ "Vq=V1+V2*K;\n",
+ "Vd=V1*K+V2;\n",
+ "D=round((K*V2)*100/(V1+K*V2))/100;\n",
+ "Po=V2*Il;\n",
+ "Pi=round(Po/.09)/10;\n",
+ "Id=Pi/V1;\n",
+ "Im=Id/D;\n",
+ "Ir=(Im*D**.5);\n",
+ "i=V1*D*T/L;\n",
+ "IM=Im+.24;\n",
+ "Imin=Im-.24;\n",
+ "Ip=K*IM;\n",
+ "Imid=Il/(1-D);\n",
+ "Irms=Imid*(1-D)**.5;\n",
+ "C=D*Il*T/20;\n",
+ "\n",
+ "#result\n",
+ "print \"maximum voltage is\",round(Vq,2), \"V\"\n",
+ "print \"diode voltage is\",round(Vd,2), \"V\"\n",
+ "print \"duty cycle is\",round(D,2)\n",
+ "print \"power delivered is\",round(Po,2), \"W\"\n",
+ "print \"average current is\",round(Id*1000,2), \"mA\"\n",
+ "print \"mid primary current is\",round(Im,2), \"A\"\n",
+ "print \"rms current is\",round(Ir*1000,2),\"mA\"\n",
+ "print \"ramp current is\",round(i*1000,2), \"mA\"\n",
+ "print \"maximum transistor current is\",round(IM,2),\"A\"\n",
+ "print \"minimum transistor current is\",round(Imin,2),\"A\"\n",
+ "print \"diode peak current is\",round(Ip,2), \"A\"\n",
+ "print \"secondary rms current is\",round(Irms,2),\"A\"\n",
+ "print \"capacitor is\",round(C*1000,2), \"microF\"\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8.ipynb
new file mode 100644
index 00000000..7cf6b405
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8.ipynb
@@ -0,0 +1,326 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8: Thyristors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.3,Page 397"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inductance is 6.22 microH\n",
+ "load impedence at angle 90 degree is 0.00195 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding inductance,load impedence\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220.0;#line voltage\n",
+ "f=50.0;#hertz\n",
+ "R=80.0;#load resistance\n",
+ "K=50.0;#di/dt\n",
+ "\n",
+ "#calculation\n",
+ "L=V*2**.5/K;\n",
+ "Z=2*pi*f*L;\n",
+ "\n",
+ "#result\n",
+ "print \"inductance is\",round(L,2),\"microH\"\n",
+ "print \"load impedence at angle 90 degree is\",round(Z*1e-6,5), \"ohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.4,Page 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "minimum value of capacitor is 0.067 micfoF\n",
+ "\n",
+ "choose C=.1 micoF\n",
+ "capacitor impedence at angle -90degree is 31.83 ohm\n",
+ "Load current in mA at an angle 90 degrees is 6.91\n",
+ "Potential drop in V at an angle 90 degrees is 0.55\n",
+ "Power dissipated is 3 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding capacitor,current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220.0;#line voltage\n",
+ "f=50.0;#hertz\n",
+ "R=80.0;#load resistance\n",
+ "K=75.0;#dv/dt\n",
+ "Vd=400.0;#DRM voltage\n",
+ "\n",
+ "\n",
+ "#calculation\n",
+ "C=Vd/R/K;\n",
+ "C1=.1;\n",
+ "Z=1/(2*pi*f*C1);\n",
+ "Iload=V/1000/(-Z*cos(180*pi/180)+R*round(cos(90*pi/180)));\n",
+ "Vload=Iload/1000*R;\n",
+ "P=Vload*Iload;\n",
+ "\n",
+ "#result\n",
+ "print \"minimum value of capacitor is\",round(C,3), \"micfoF\"\n",
+ "print('\\nchoose C=.1 micoF')\n",
+ "print \"capacitor impedence at angle -90degree is\",round(Z*1000,2), \"ohm\"\n",
+ "print \"Load current in mA at an angle 90 degrees is\",round(Iload,2)\n",
+ "print \"Potential drop in V at an angle 90 degrees is\",round(Vload,2)\n",
+ "print \"Power dissipated is\",int(P), \"mW\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.5,Page 402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "snubbing resistnce is 7.39 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding snubbing resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220;#line voltage\n",
+ "f=50;#hertz\n",
+ "R=80;#load resistance\n",
+ "I=46;#TSM current\n",
+ "\n",
+ "#calculation\n",
+ "Rs=V*2**.5/(I-V*2**.5/R);\n",
+ "\n",
+ "#result\n",
+ "print \"snubbing resistnce is\",round(Rs,2), \"ohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.6,Page 414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "line period is 16.67 ms\n",
+ "half-cycle time is 8.333 ms\n",
+ "no. of cycles is 10.0\n",
+ "voltage for t1 is 54.0 V\n",
+ "power for t1 is 291.6 W\n",
+ "voltage for t2 is 100.0 V\n",
+ "voltage for t2 is 1000.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage , power and cycles\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R=10.0;#load\n",
+ "V=120.0;#rms voltage\n",
+ "f=60.0;#hertz\n",
+ "T=83.3;#ms\n",
+ "t1=15;#ms\n",
+ "t2=55;#ms\n",
+ "\n",
+ "#calculation\n",
+ "Tl=1/f;\n",
+ "Th=Tl/2;\n",
+ "C=round(T/Th/100)*100;\n",
+ "D1=.2;\n",
+ "V1=round(V*D1**.5);\n",
+ "P1=V1**2/R;\n",
+ "D2=.7;\n",
+ "V2=round(V*D2**.5);\n",
+ "P2=V2**2/R;\n",
+ "\n",
+ "#result\n",
+ "print \"line period is\",round(Tl*1000,2), \"ms\"\n",
+ "print \"half-cycle time is\",round(Th*1000,3), \"ms\"\n",
+ "print \"no. of cycles is\",C/1000\n",
+ "print \"voltage for t1 is\",round(V1,3), \"V\"\n",
+ "print \"power for t1 is\",round(P1,3), \"W\"\n",
+ "print \"voltage for t2 is\",round(V2,3), \"V\"\n",
+ "print \"voltage for t2 is\",round(P2,3), \"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.8,Page 427"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average voltage is 42.0 V\n",
+ "dc voltage is 41.0 V\n",
+ "\n",
+ "the markers indicae Vp=163V Vave=41\n",
+ "full-wave rms voltage is 108.0 V\n",
+ "rms voltage is 108.0 V\n",
+ "\n",
+ "the markers indicate Vp=169V ;Vave=106V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding dc volatge,average voltage,rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=120.0;#line voltage\n",
+ "A=60.0;#degree\n",
+ "D=0.35;\n",
+ "\n",
+ "#calculation\n",
+ "Va=D*V;\n",
+ "Vd=V*2**.5*(cos(A*pi/180)+1)/2/pi;\n",
+ "Vr=.9*V;\n",
+ "Vrms=V*(2**.5)*(.5*(pi-1.047)+.25*sin(2*A*pi/180))**.5/pi**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"average voltage is\",round(Va,3), \"V\"\n",
+ "print \"dc voltage is\",round(Vd), \"V\"\n",
+ "print('\\nthe markers indicae Vp=163V Vave=41')\n",
+ "print \"full-wave rms voltage is\",round(Vr), \"V\"\n",
+ "print \"rms voltage is\",round(Vrms), \"V\"\n",
+ "print('\\nthe markers indicate Vp=169V ;Vave=106V')\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.9,Page 430"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 141.18 V\n",
+ "double checked value of rms voltage is 141.18 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms voltage and double checked rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220.0;#line voltage\n",
+ "P=1.3;#kW\n",
+ "R=15.0;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Vr=round((P*1000*R)**.5);\n",
+ "D=Vr/V;\n",
+ "Vr=V*2**.5*(.5*(pi-1.710)+sin(196*pi/180)/4)**.5/pi**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(Vr,2), \"V\"\n",
+ "print \"double checked value of rms voltage is\",round(Vr,2), \"V\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8_1.ipynb
new file mode 100644
index 00000000..7cf6b405
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter8_1.ipynb
@@ -0,0 +1,326 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8: Thyristors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.3,Page 397"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inductance is 6.22 microH\n",
+ "load impedence at angle 90 degree is 0.00195 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding inductance,load impedence\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220.0;#line voltage\n",
+ "f=50.0;#hertz\n",
+ "R=80.0;#load resistance\n",
+ "K=50.0;#di/dt\n",
+ "\n",
+ "#calculation\n",
+ "L=V*2**.5/K;\n",
+ "Z=2*pi*f*L;\n",
+ "\n",
+ "#result\n",
+ "print \"inductance is\",round(L,2),\"microH\"\n",
+ "print \"load impedence at angle 90 degree is\",round(Z*1e-6,5), \"ohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.4,Page 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "minimum value of capacitor is 0.067 micfoF\n",
+ "\n",
+ "choose C=.1 micoF\n",
+ "capacitor impedence at angle -90degree is 31.83 ohm\n",
+ "Load current in mA at an angle 90 degrees is 6.91\n",
+ "Potential drop in V at an angle 90 degrees is 0.55\n",
+ "Power dissipated is 3 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding capacitor,current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220.0;#line voltage\n",
+ "f=50.0;#hertz\n",
+ "R=80.0;#load resistance\n",
+ "K=75.0;#dv/dt\n",
+ "Vd=400.0;#DRM voltage\n",
+ "\n",
+ "\n",
+ "#calculation\n",
+ "C=Vd/R/K;\n",
+ "C1=.1;\n",
+ "Z=1/(2*pi*f*C1);\n",
+ "Iload=V/1000/(-Z*cos(180*pi/180)+R*round(cos(90*pi/180)));\n",
+ "Vload=Iload/1000*R;\n",
+ "P=Vload*Iload;\n",
+ "\n",
+ "#result\n",
+ "print \"minimum value of capacitor is\",round(C,3), \"micfoF\"\n",
+ "print('\\nchoose C=.1 micoF')\n",
+ "print \"capacitor impedence at angle -90degree is\",round(Z*1000,2), \"ohm\"\n",
+ "print \"Load current in mA at an angle 90 degrees is\",round(Iload,2)\n",
+ "print \"Potential drop in V at an angle 90 degrees is\",round(Vload,2)\n",
+ "print \"Power dissipated is\",int(P), \"mW\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.5,Page 402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "snubbing resistnce is 7.39 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding snubbing resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220;#line voltage\n",
+ "f=50;#hertz\n",
+ "R=80;#load resistance\n",
+ "I=46;#TSM current\n",
+ "\n",
+ "#calculation\n",
+ "Rs=V*2**.5/(I-V*2**.5/R);\n",
+ "\n",
+ "#result\n",
+ "print \"snubbing resistnce is\",round(Rs,2), \"ohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.6,Page 414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "line period is 16.67 ms\n",
+ "half-cycle time is 8.333 ms\n",
+ "no. of cycles is 10.0\n",
+ "voltage for t1 is 54.0 V\n",
+ "power for t1 is 291.6 W\n",
+ "voltage for t2 is 100.0 V\n",
+ "voltage for t2 is 1000.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage , power and cycles\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R=10.0;#load\n",
+ "V=120.0;#rms voltage\n",
+ "f=60.0;#hertz\n",
+ "T=83.3;#ms\n",
+ "t1=15;#ms\n",
+ "t2=55;#ms\n",
+ "\n",
+ "#calculation\n",
+ "Tl=1/f;\n",
+ "Th=Tl/2;\n",
+ "C=round(T/Th/100)*100;\n",
+ "D1=.2;\n",
+ "V1=round(V*D1**.5);\n",
+ "P1=V1**2/R;\n",
+ "D2=.7;\n",
+ "V2=round(V*D2**.5);\n",
+ "P2=V2**2/R;\n",
+ "\n",
+ "#result\n",
+ "print \"line period is\",round(Tl*1000,2), \"ms\"\n",
+ "print \"half-cycle time is\",round(Th*1000,3), \"ms\"\n",
+ "print \"no. of cycles is\",C/1000\n",
+ "print \"voltage for t1 is\",round(V1,3), \"V\"\n",
+ "print \"power for t1 is\",round(P1,3), \"W\"\n",
+ "print \"voltage for t2 is\",round(V2,3), \"V\"\n",
+ "print \"voltage for t2 is\",round(P2,3), \"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.8,Page 427"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average voltage is 42.0 V\n",
+ "dc voltage is 41.0 V\n",
+ "\n",
+ "the markers indicae Vp=163V Vave=41\n",
+ "full-wave rms voltage is 108.0 V\n",
+ "rms voltage is 108.0 V\n",
+ "\n",
+ "the markers indicate Vp=169V ;Vave=106V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding dc volatge,average voltage,rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=120.0;#line voltage\n",
+ "A=60.0;#degree\n",
+ "D=0.35;\n",
+ "\n",
+ "#calculation\n",
+ "Va=D*V;\n",
+ "Vd=V*2**.5*(cos(A*pi/180)+1)/2/pi;\n",
+ "Vr=.9*V;\n",
+ "Vrms=V*(2**.5)*(.5*(pi-1.047)+.25*sin(2*A*pi/180))**.5/pi**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"average voltage is\",round(Va,3), \"V\"\n",
+ "print \"dc voltage is\",round(Vd), \"V\"\n",
+ "print('\\nthe markers indicae Vp=163V Vave=41')\n",
+ "print \"full-wave rms voltage is\",round(Vr), \"V\"\n",
+ "print \"rms voltage is\",round(Vrms), \"V\"\n",
+ "print('\\nthe markers indicate Vp=169V ;Vave=106V')\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 8.9,Page 430"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 141.18 V\n",
+ "double checked value of rms voltage is 141.18 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms voltage and double checked rms voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=220.0;#line voltage\n",
+ "P=1.3;#kW\n",
+ "R=15.0;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Vr=round((P*1000*R)**.5);\n",
+ "D=Vr/V;\n",
+ "Vr=V*2**.5*(.5*(pi-1.710)+sin(196*pi/180)/4)**.5/pi**.5;\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(Vr,2), \"V\"\n",
+ "print \"double checked value of rms voltage is\",round(Vr,2), \"V\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9.ipynb
new file mode 100644
index 00000000..d50d131a
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9.ipynb
@@ -0,0 +1,405 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9: Power Conversation and Motor Drive Operations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.1,Page 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "peak voltage is 37.6 V\n",
+ "load voltage is 35.7 V\n",
+ "ripple voltage is 3.96 V\n",
+ "approx. load voltage is 35.62 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding peak,load,ripple voltages\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=28.0;#V\n",
+ "C=4700.0;#microF\n",
+ "R=16.0;#load\n",
+ "f=120.0;#hertz\n",
+ "\n",
+ "#calculation\n",
+ "Vp=V*2**.5-2;\n",
+ "Vd=0.95*Vp;\n",
+ "Id=Vd/R;\n",
+ "v=Id/f/C;\n",
+ "#approximation\n",
+ "Vd1=Vp-v*1e6/2;\n",
+ "\n",
+ "#result\n",
+ "print \"peak voltage is\",round(Vp,2), \"V\"\n",
+ "print \"load voltage is\",round(Vd,1), \"V\"\n",
+ "print \"ripple voltage is\",round(v*1e6,2), \"V\"\n",
+ "print \"approx. load voltage is\",round(Vd1,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.2,Page 459"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Zth is 1.0 + 1.0 in ohm\n",
+ "inductor is 2.65 mH\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding inductor,Zth\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=120.0;#pri voltage\n",
+ "V2=28.0;#sec voltage\n",
+ "I=2.0;#pri current\n",
+ "f=60.0;#Hz\n",
+ "Vth=28.8;#open voltage\n",
+ "V3=12.1;#pri-short voltage\n",
+ "Is=2.0;#short current at 45 degree\n",
+ "\n",
+ "#calculation\n",
+ "Zi=(V2*V3)/V1/Is*cos(45*pi/180);\n",
+ "Zj=(V2*V3)/V1/Is*sin(45*pi/180);\n",
+ "L=Zi/(2*pi*f);\n",
+ "\n",
+ "#result\n",
+ "print'Zth is',round(Zi),'+',round(Zj),'in ohm'\n",
+ "print \"inductor is\",round(L*1000,2), \"mH\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.4,Page 463"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power factor is 0.32\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power factor\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I1=1.8;#current\n",
+ "R=16.0;#resistance\n",
+ "I2=5.7;#A\n",
+ "V=28.8;#Voltage\n",
+ "\n",
+ "#calculation\n",
+ "P=I1**2*R;\n",
+ "S=I2*V;\n",
+ "Pf=P/S;\n",
+ "\n",
+ "#result\n",
+ "print \"power factor is\",round(Pf,2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.5, Page 468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "aparrent power is 8.14 kVA\n",
+ "dissipated power is 7.84 kW\n",
+ "power factor is 0.96\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power factor\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I=22.6;#current\n",
+ "I2=28.00;\n",
+ "V=120.0;#Voltage\n",
+ "V2=280.0;\n",
+ "\n",
+ "#calculation\n",
+ "Pt=3*I*V;\n",
+ "Pl=I2*V2;\n",
+ "Pf=Pl/Pt;\n",
+ "\n",
+ "#result\n",
+ "print \"aparrent power is\",round(Pt/1000,2),\"kVA\"\n",
+ "print \"dissipated power is\",round(Pl/1000,2),\"kW\"\n",
+ "print \"power factor is\",round(Pl/Pt,2)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.6,Page 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ratio is 0.72\n",
+ "firing angle is 58 degrees\n",
+ "dc voltage is 148.85 V\n",
+ "time delay is 2.69 ms\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding firing angle, time delay,Vd\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=208.0;#voltage\n",
+ "R=100.0;#load\n",
+ "Vd=150.0;#V\n",
+ "\n",
+ "#calculation\n",
+ "r=Vd/V;\n",
+ "a=58;#degree\n",
+ "Vd=3*2**.5*208*(cos(pi/3+a*pi/180)-cos(2*pi/3+a*pi/180))/pi;\n",
+ "t=a*16.7/360;\n",
+ "\n",
+ "#result\n",
+ "print \"ratio is\",round(r,2)\n",
+ "print('firing angle is 58 degrees');\n",
+ "print \"dc voltage is\",round(Vd,2), \"V\"\n",
+ "print \"time delay is\",round(t,2), \"ms\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.7,Page 480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "max. current is 41.67 A\n",
+ "dissipated power is 8.68 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding maximum current and power dissipated\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "P=150.0;#power\n",
+ "V=8.0;#voltage\n",
+ "R=.01;#resistance\n",
+ "D=.5;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "I=P/.9/D/V;\n",
+ "Ir=I*D**.5;\n",
+ "Pq=Ir**2*R;\n",
+ "\n",
+ "#result\n",
+ "print \"max. current is\",round(I,2), \"A\"\n",
+ "print \"dissipated power is\",round(Pq,2),\"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.8,Page 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "pwm fundamental frequency is 30.72 kHz\n",
+ "output voltage is 9.46 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding fundamental frequency and output voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "f1=60.0;#frequency\n",
+ "V=150.0;#voltage\n",
+ "f2=31.0;#kHz\n",
+ "\n",
+ "#calculation\n",
+ "f3=f1*4;\n",
+ "Vo=V*10**(-4.2);\n",
+ "\n",
+ "#result\n",
+ "print \"pwm fundamental frequency is\",round(f3*2**7/1000,2), \"kHz\"\n",
+ "print \"output voltage is\",round(Vo*1000,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.9,Page 491"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average voltage is 127.32 V\n",
+ "\n",
+ "Va-d @ 200Vin=4.2V\n",
+ "\n",
+ "\n",
+ "pick R1=47kohm\n",
+ "current through dividers is 2.62 mA\n",
+ "R2 is 1.6 kohm\n",
+ "capacitor is 27.01 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistances,capacitor,average voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=120.0;#load voltage\n",
+ "f=60.0;#Hz\n",
+ "Vp=200.0;#V\n",
+ "Vd=5.0;#V\n",
+ "\n",
+ "\n",
+ "#calculation\n",
+ "Vdc=2*Vp/pi;\n",
+ "Va=4.2;\n",
+ "R1=47.0;\n",
+ "I=(Vdc-Va)/R1;\n",
+ "R2=Va/I;\n",
+ "K=1.0/(1/R1+1/R2)# R1 \\\\ R2\n",
+ "C=1.0/2/pi/3.8/K;\n",
+ "\n",
+ "#result\n",
+ "print \"average voltage is\",round(Vdc,2), \"V\"\n",
+ "print('\\nVa-d @ 200Vin=4.2V')\n",
+ "print('\\n\\npick R1=47kohm')\n",
+ "print \"current through dividers is\",round(I,2), \"mA\"\n",
+ "print \"R2 is\",round(R2,2), \"kohm\"\n",
+ "print \"capacitor is\",round(C*1000,2), \"microF\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9_1.ipynb b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9_1.ipynb
new file mode 100644
index 00000000..d50d131a
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/Chapter9_1.ipynb
@@ -0,0 +1,405 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9: Power Conversation and Motor Drive Operations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.1,Page 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "peak voltage is 37.6 V\n",
+ "load voltage is 35.7 V\n",
+ "ripple voltage is 3.96 V\n",
+ "approx. load voltage is 35.62 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding peak,load,ripple voltages\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=28.0;#V\n",
+ "C=4700.0;#microF\n",
+ "R=16.0;#load\n",
+ "f=120.0;#hertz\n",
+ "\n",
+ "#calculation\n",
+ "Vp=V*2**.5-2;\n",
+ "Vd=0.95*Vp;\n",
+ "Id=Vd/R;\n",
+ "v=Id/f/C;\n",
+ "#approximation\n",
+ "Vd1=Vp-v*1e6/2;\n",
+ "\n",
+ "#result\n",
+ "print \"peak voltage is\",round(Vp,2), \"V\"\n",
+ "print \"load voltage is\",round(Vd,1), \"V\"\n",
+ "print \"ripple voltage is\",round(v*1e6,2), \"V\"\n",
+ "print \"approx. load voltage is\",round(Vd1,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.2,Page 459"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Zth is 1.0 + 1.0 in ohm\n",
+ "inductor is 2.65 mH\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding inductor,Zth\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=120.0;#pri voltage\n",
+ "V2=28.0;#sec voltage\n",
+ "I=2.0;#pri current\n",
+ "f=60.0;#Hz\n",
+ "Vth=28.8;#open voltage\n",
+ "V3=12.1;#pri-short voltage\n",
+ "Is=2.0;#short current at 45 degree\n",
+ "\n",
+ "#calculation\n",
+ "Zi=(V2*V3)/V1/Is*cos(45*pi/180);\n",
+ "Zj=(V2*V3)/V1/Is*sin(45*pi/180);\n",
+ "L=Zi/(2*pi*f);\n",
+ "\n",
+ "#result\n",
+ "print'Zth is',round(Zi),'+',round(Zj),'in ohm'\n",
+ "print \"inductor is\",round(L*1000,2), \"mH\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.4,Page 463"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "power factor is 0.32\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power factor\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I1=1.8;#current\n",
+ "R=16.0;#resistance\n",
+ "I2=5.7;#A\n",
+ "V=28.8;#Voltage\n",
+ "\n",
+ "#calculation\n",
+ "P=I1**2*R;\n",
+ "S=I2*V;\n",
+ "Pf=P/S;\n",
+ "\n",
+ "#result\n",
+ "print \"power factor is\",round(Pf,2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.5, Page 468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "aparrent power is 8.14 kVA\n",
+ "dissipated power is 7.84 kW\n",
+ "power factor is 0.96\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding power factor\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "I=22.6;#current\n",
+ "I2=28.00;\n",
+ "V=120.0;#Voltage\n",
+ "V2=280.0;\n",
+ "\n",
+ "#calculation\n",
+ "Pt=3*I*V;\n",
+ "Pl=I2*V2;\n",
+ "Pf=Pl/Pt;\n",
+ "\n",
+ "#result\n",
+ "print \"aparrent power is\",round(Pt/1000,2),\"kVA\"\n",
+ "print \"dissipated power is\",round(Pl/1000,2),\"kW\"\n",
+ "print \"power factor is\",round(Pl/Pt,2)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.6,Page 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ratio is 0.72\n",
+ "firing angle is 58 degrees\n",
+ "dc voltage is 148.85 V\n",
+ "time delay is 2.69 ms\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding firing angle, time delay,Vd\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=208.0;#voltage\n",
+ "R=100.0;#load\n",
+ "Vd=150.0;#V\n",
+ "\n",
+ "#calculation\n",
+ "r=Vd/V;\n",
+ "a=58;#degree\n",
+ "Vd=3*2**.5*208*(cos(pi/3+a*pi/180)-cos(2*pi/3+a*pi/180))/pi;\n",
+ "t=a*16.7/360;\n",
+ "\n",
+ "#result\n",
+ "print \"ratio is\",round(r,2)\n",
+ "print('firing angle is 58 degrees');\n",
+ "print \"dc voltage is\",round(Vd,2), \"V\"\n",
+ "print \"time delay is\",round(t,2), \"ms\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.7,Page 480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "max. current is 41.67 A\n",
+ "dissipated power is 8.68 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding maximum current and power dissipated\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "P=150.0;#power\n",
+ "V=8.0;#voltage\n",
+ "R=.01;#resistance\n",
+ "D=.5;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "I=P/.9/D/V;\n",
+ "Ir=I*D**.5;\n",
+ "Pq=Ir**2*R;\n",
+ "\n",
+ "#result\n",
+ "print \"max. current is\",round(I,2), \"A\"\n",
+ "print \"dissipated power is\",round(Pq,2),\"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.8,Page 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "pwm fundamental frequency is 30.72 kHz\n",
+ "output voltage is 9.46 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding fundamental frequency and output voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "f1=60.0;#frequency\n",
+ "V=150.0;#voltage\n",
+ "f2=31.0;#kHz\n",
+ "\n",
+ "#calculation\n",
+ "f3=f1*4;\n",
+ "Vo=V*10**(-4.2);\n",
+ "\n",
+ "#result\n",
+ "print \"pwm fundamental frequency is\",round(f3*2**7/1000,2), \"kHz\"\n",
+ "print \"output voltage is\",round(Vo*1000,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 9.9,Page 491"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "average voltage is 127.32 V\n",
+ "\n",
+ "Va-d @ 200Vin=4.2V\n",
+ "\n",
+ "\n",
+ "pick R1=47kohm\n",
+ "current through dividers is 2.62 mA\n",
+ "R2 is 1.6 kohm\n",
+ "capacitor is 27.01 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding resistances,capacitor,average voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V=120.0;#load voltage\n",
+ "f=60.0;#Hz\n",
+ "Vp=200.0;#V\n",
+ "Vd=5.0;#V\n",
+ "\n",
+ "\n",
+ "#calculation\n",
+ "Vdc=2*Vp/pi;\n",
+ "Va=4.2;\n",
+ "R1=47.0;\n",
+ "I=(Vdc-Va)/R1;\n",
+ "R2=Va/I;\n",
+ "K=1.0/(1/R1+1/R2)# R1 \\\\ R2\n",
+ "C=1.0/2/pi/3.8/K;\n",
+ "\n",
+ "#result\n",
+ "print \"average voltage is\",round(Vdc,2), \"V\"\n",
+ "print('\\nVa-d @ 200Vin=4.2V')\n",
+ "print('\\n\\npick R1=47kohm')\n",
+ "print \"current through dividers is\",round(I,2), \"mA\"\n",
+ "print \"R2 is\",round(R2,2), \"kohm\"\n",
+ "print \"capacitor is\",round(C*1000,2), \"microF\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/README.txt b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/README.txt
new file mode 100644
index 00000000..34ec8e1d
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Amit Kumar Das
+Course: btech
+College/Institute/Organization: ISM Dhanbad
+Department/Designation: Mining Machinery Engineering
+Book Title: Power Electronics: Principles & Applications
+Author: J. M. Jacob
+Publisher: Cengage Learning, New Delhi
+Year of publication: 2009
+Isbn: 9788131501184
+Edition: 4 \ No newline at end of file
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1.png b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1.png
new file mode 100644
index 00000000..5199042e
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1.png
Binary files differ
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_1.png b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_1.png
new file mode 100644
index 00000000..5199042e
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_1.png
Binary files differ
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_2.png b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_2.png
new file mode 100644
index 00000000..5199042e
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/1_2.png
Binary files differ
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2.png b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2.png
new file mode 100644
index 00000000..76933e63
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2.png
Binary files differ
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2_1.png b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2_1.png
new file mode 100644
index 00000000..76933e63
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/2_1.png
Binary files differ
diff --git a/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/3.png b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/3.png
new file mode 100644
index 00000000..607dd0a1
--- /dev/null
+++ b/Power_Electronics:_Principles_&_Applications_by_J._M._Jacob_/screenshots/3.png
Binary files differ
diff --git a/Principles_of_Data_structures_using_C_and_C++_by_Vinu_V_Das/README.txt b/Principles_of_Data_structures_using_C_and_C++_by_Vinu_V_Das/README.txt
new file mode 100644
index 00000000..7ae5982c
--- /dev/null
+++ b/Principles_of_Data_structures_using_C_and_C++_by_Vinu_V_Das/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Tejas Dodiya
+Course: others
+College/Institute/Organization: Freelance
+Department/Designation: Science
+Book Title: Principles of Data structures using C and C++
+Author: Vinu V Das
+Publisher: New Age International
+Year of publication: 2008
+Isbn: 978-81-224-2864-3
+Edition: - \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.10_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.10_5.ipynb
new file mode 100644
index 00000000..7cd2fd61
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.10_5.ipynb
@@ -0,0 +1,280 @@
+{
+ "metadata": {
+ "name": "chapter no.10.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10:Theory of Failures"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.10.10.1,Page No.401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P_e=300 #N/mm**2 #Elastic Limit in tension\n",
+ "FOS=3 #Factor of safety\n",
+ "mu=0.3 #Poissoin's ratio\n",
+ "P=12*10**3 #N Pull \n",
+ "Q=6*10**3 #N #Shear force\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let d be the diameter of the shaft\n",
+ "\n",
+ "#Direct stress\n",
+ "#P_x=P*(pi*4**-1*d**3)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "#P_x=48*10**3\n",
+ "\n",
+ "#Now shear stress at the centre of bolt\n",
+ "#q=4*3**-1*q_av\n",
+ "#After substituting values and further simplifying we get\n",
+ "#q=32*10**3*(pi*d**2)**-1\n",
+ "\n",
+ "#Principal stresses are\n",
+ "#P1=P_x*2**-1+((P_x*2**-1)**2+q**2)**0.5\n",
+ "#After substituting values and further simplifying we get\n",
+ "#p1=20371.833*(d**2)**-1\n",
+ "\n",
+ "#P2=P_x*2**-1-((P_x*2**-1)**2+q**2)**0.5\n",
+ "#After substituting values and further simplifying we get\n",
+ "#P2=-5092.984*(d**2)**-1\n",
+ "\n",
+ "#q_max=((P_x*2**-1)**2+q**2)**0.5\n",
+ "\n",
+ "#From Max Principal stress theory\n",
+ "#Permissible stress in Tension\n",
+ "P1=100 #N/mm**2 \n",
+ "d=(20371.833*P1**-1)**0.5\n",
+ "\n",
+ "#Max strain theory\n",
+ "#e_max=P1*E**-1-mu*P2*E**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "#e_max=21899.728*(d**2*E)**-1\n",
+ "\n",
+ "#According to this theory,the design condition is\n",
+ "#e_max=P_e*(E*FOS)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "d2=(21899.728*3*300**-1)**0.5 #mm\n",
+ "\n",
+ "#Max shear stress theory\n",
+ "#e_max=shear stress at elastic*(FOS)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "d3=(12732.421*6*300**-1)**0.5 #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Diameter of Bolt by:Max Principal stress theory\",round(d,2),\"mm\"\n",
+ "print\" :Max strain theory\",round(d2,2),\"mm\"\n",
+ "print\" :Max shear stress theory\",round(d3,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diameter of Bolt by:Max Principal stress theory 14.27 mm\n",
+ " :Max strain theory 14.8 mm\n",
+ " :Max shear stress theory 15.96 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.10.10.2.Page No.402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=40*10**6 #N-mm #Bending moment\n",
+ "T=10*10**6 #N-mm #TOrque\n",
+ "mu=0.25 #Poissoin's ratio\n",
+ "P_e=200 #N/mm**2 #Stress at Elastic Limit\n",
+ "FOS=2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let d be the diameter of the shaft\n",
+ "\n",
+ "#Principal stresses are given by\n",
+ "\n",
+ "#P1=16*(pi*d**3)**-1*(M+(M**2+T**2)**0.5)\n",
+ "#After substituting values and further simplifying we get\n",
+ "#P1=4.13706*10**8*(d**3)**-1 ............................(1)\n",
+ "\n",
+ "#P2=16*(pi*d**3)**-1*(M-(M**2+T**2)**0.5)\n",
+ "#After substituting values and further simplifying we get\n",
+ "#P2=-6269718*(pi*d**3)**-1 ..............................(2)\n",
+ "\n",
+ "#q_max=(P1-P2)*2**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "#q_max=2.09988*10**8*(d**3)**-1\n",
+ "\n",
+ "#Max Principal stress theory\n",
+ "#P1=P_e*(FOS)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "d=(4.13706*10**8*2*200**-1)**0.33333 #mm \n",
+ "\n",
+ "#Max shear stress theory\n",
+ "#q_max=shear stress at elastic limit*(FOS)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "d2=(2.09988*10**8*4*200**-1)**0.33333\n",
+ "\n",
+ "#Max strain energy theory\n",
+ "#P_3=0\n",
+ "#P1**2+P2**2-2*mu*P1*P2=P_e**2*(FOS)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "d3=(8.62444*10**12)**0.166666\n",
+ "\n",
+ "#Result\n",
+ "print\"Diameter of shaft according to:MAx Principal stress theory\",round(d,2),\"mm\"\n",
+ "print\" :Max shear stress theory\",round(d2,2),\"mm\"\n",
+ "print\" :Max strain energy theory\",round(d3,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diameter of shaft according to:MAx Principal stress theory 160.52 mm\n",
+ " :Max shear stress theory 161.33 mm\n",
+ " :Max strain energy theory 143.2 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.10.10.3,Page No.403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "f_x=40 #N/mm**2 #Internal Fliud Pressure\n",
+ "d1=200 #mm #Internal Diameter\n",
+ "r1=d1*2**-1 #mm #Radius\n",
+ "q=300 #N/mm**2 #Tensile stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Lame's Equation we have,\n",
+ "\n",
+ "#Hoop Stress\n",
+ "#f_x=b*(x**2)**-1+a ..........................(1)\n",
+ "\n",
+ "#Radial Pressure\n",
+ "#p_x=b*(x**2)**-1-a .........................(2)\n",
+ "\n",
+ "#the boundary conditions are\n",
+ "x=d1*2**-1 #mm \n",
+ "#After sub values in equation 1 and further simplifying we get\n",
+ "#40=b*100**-1-a ..........................(3)\n",
+ "\n",
+ "#Max Principal stress theory\n",
+ "#q*(FOS)**-1=b*100**2+a ..................(4)\n",
+ "#After sub values in above equation and further simplifying we get\n",
+ "\n",
+ "#From Equation 3 and 4 we get\n",
+ "a=80*2**-1\n",
+ "#Sub value of a in equation 3 we get\n",
+ "b=(f_x+a)*100**2\n",
+ "\n",
+ "#At outer edge where x=r_0 pressure is zero\n",
+ "r_0=(b*a**-1)**0.5 #mm\n",
+ "\n",
+ "#thickness\n",
+ "t=r_0-r1 #mm\n",
+ "\n",
+ "#Max shear stress theory\n",
+ "P1=b*(100**2)**-1+a #Max hoop stress\n",
+ "P2=-40 #pressure at int radius (since P2 is compressive)\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=(P1-P2)*2**-1\n",
+ "\n",
+ "#According max shear theory the design condition is\n",
+ "#q_max=P_e*2**-1*(FOS)**-1\n",
+ "#After sub values in equation we get and further simplifying we get\n",
+ "#80=b*(100**2)**-1+a\n",
+ "#After sub values in equation 1 and 3 and further simplifying we get\n",
+ "b2=120*100**2*2**-1\n",
+ "\n",
+ "#from equation(3)\n",
+ "a2=120*2**-1-a\n",
+ "\n",
+ "#At outer radius r_0,radial pressure=0\n",
+ "r_02=(b2*a2**-1)**0.5\n",
+ "\n",
+ "#thickness\n",
+ "t2=r_02-r1\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of metal by:Max Principal stress theory\",round(t,2),\"mm\"\n",
+ "print\" :Max shear stress thoery\",round(t2,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thickness of metal by:Max Principal stress theory 41.42 mm\n",
+ " :Max shear stress thoery 73.21 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.2_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.2_5.ipynb
new file mode 100644
index 00000000..a37ee3c9
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.2_5.ipynb
@@ -0,0 +1,2742 @@
+{
+ "metadata": {
+ "name": "chapter no.2.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2:Simple Stresses And Strains"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.1,Page No.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "P=45*10**3 #N #Load\n",
+ "E=200*10**3 #N/mm**2 #Modulus of elasticity of rod\n",
+ "L=500 #mm #Length of rod\n",
+ "d=20 #mm #Diameter of rod\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A=pi*d**2*4**-1 #mm**2 #Area of circular rod\n",
+ "p=P*A**-1 #N/mm**2 #stress\n",
+ "e=p*E**-1 #strain\n",
+ "dell_l=(P*L)*(A*E)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"The stress in bar due to Load is\",round(p,5),\"N/mm\"\n",
+ "print\"The strain in bar due to Load is\",round(e,5),\"N/mm\"\n",
+ "print\"The Elongation in bar due to Load is\",round(dell_l,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stress in bar due to Load is 143.23945 N/mm\n",
+ "The strain in bar due to Load is 0.00072 N/mm\n",
+ "The Elongation in bar due to Load is 0.36 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.2,Page No.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "A=15*0.75 #mm**2 #area of steel tape\n",
+ "P=100 #N #Force apllied\n",
+ "L=30*10**3 #mm #Length of tape\n",
+ "E=200*10**3 #N/m**2 #Modulus of Elasticity of steel tape\n",
+ "AB=150 #m #Measurement of Line AB \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "dell_l=P*L*(A*E)**-1 #mm #Elongation\n",
+ "l=L+dell_l*10**-3 #mm #Actual Length \n",
+ "AB1=AB*l*L**-1 #m Actual Length of AB\n",
+ "\n",
+ "#Result\n",
+ "print\"The Actual Length of Line AB is\",round(AB1,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Actual Length of Line AB is 150.0 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.3,Page No.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Let y be the yield stress\n",
+ "\n",
+ "y=250 #N/mm**2 #yield stress\n",
+ "FOS=1.75 #Factor of safety\n",
+ "P=140*10**3 #N #compressive Load\n",
+ "D=101.6 #mm #External diameter\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "p=y*(FOS)**-1 #N/mm**2 #Permissible stress\n",
+ "A=P*p**-1 #mm**2 #Area of hollow tube\n",
+ "\n",
+ "#Let d be the internal diameter of tube\n",
+ "d=-((A*4*(pi)**-1)-D**2)\n",
+ "X=d**0.5\n",
+ "t=(D-X)*2**-1 #mm #Thickness of steel tube\n",
+ "\n",
+ "#result\n",
+ "print\"The thickness of steel tube is\",round(t,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The thickness of steel tube is 3.17 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.4,Page No.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=25 #mm #diameter of steel\n",
+ "L=200 #mm #length of stee\n",
+ "P=80*10**3 #KN #Load\n",
+ "P1=160*10**3 #N #Load at Elastic Limit\n",
+ "P2=180*10**3 #N #Max Load\n",
+ "L1=56 #mm #Total Extension\n",
+ "dell_l=0.16 #mm #Extension\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A=pi*d**2*4**-1 #Area of steel #mm**2\n",
+ "\n",
+ "p=P1*A**-1 #Stress at Elastic Limit #N/mm**2\n",
+ "E=P*L*(A*dell_l)**-1\n",
+ "\n",
+ "#result\n",
+ "print E"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "203718.327158\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.5,Page No.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=20 #mm #Diameter of bar\n",
+ "d2=14.7 #mm #Diameter at neck\n",
+ "L=200 #mm #guage Length \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,10,20,30,40,50,60]\n",
+ "Y1=[0,32,64,95,127,160,190]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Extension in divisions\")\n",
+ "plt.ylabel(\"Load in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "A=pi*4**-1*d**2 #mm**2 #Area of Bar\n",
+ "A2=pi*4**-1*d2**2\n",
+ "\n",
+ "P=45 #KN #Load obtained from graph\n",
+ "dell=0.143 #mm #Divisions\n",
+ "\n",
+ "#Modulus of Elasticity\n",
+ "E=P*L*(dell*A)**-1 \n",
+ "\n",
+ "BL=93*10**3 #N #Breaking Load\n",
+ "\n",
+ "#Nominal stress at Breaking point\n",
+ "sigma=BL*A**-1 #KN/mm**2 \n",
+ "\n",
+ "#True stress at breaking Point\n",
+ "sigma1=BL*A2**-1\n",
+ "\n",
+ "#Percentage Elongation \n",
+ "dell_l=(A-A2)*A**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"The Value of ELongation is\",round(E,2),\"N/mm**2\"\n",
+ "print\"The Nominal stress at the Breaking Point\",round(sigma,2),\"KN/mm**2\"\n",
+ "print\"The True stress at the Breaking Point\",round(sigma1,2),\"KN/mm**2\"\n",
+ "print\"The Percentage Reduction in Area is\",round(dell_l,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x4d1d370>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Value of ELongation is 200.33 N/mm**2\n",
+ "The Nominal stress at the Breaking Point 296.03 KN/mm**2\n",
+ "The True stress at the Breaking Point 547.97 KN/mm**2\n",
+ "The Percentage Reduction in Area is 45.98\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.6,Page No.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=40*10**3 #N #Load\n",
+ "L1=160 #mm #Length of Bar1\n",
+ "L2=240 #mm #Length of bar2\n",
+ "L3=160 #mm #Length of bar3\n",
+ "d1=25 #mm #Diameter of Bar1\n",
+ "d2=20 #mm #diameter of bar2\n",
+ "d3=25 #mm #diameter of bar3\n",
+ "dell_l=0.285 #mm #Total Extension of bar\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "E=P*4*(dell_l*pi)**-1*(L1*(d1**2)**-1+L2*(d2**2)**-1+L3*(d3**2)**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"The Young's Modulus of the material\",round(E,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Young's Modulus of the material 198714.72 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.7,Page No.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "E1=2*10**5 #N/mm**2 #modulus of Elasticity of material1\n",
+ "E2=1*10**5 #N/mm**2 #modulus of Elasticity of material2\n",
+ "P=25*10**3 #N #Load \n",
+ "t=20 #mm #thickness of material\n",
+ "b1=40 #mm #width of material1\n",
+ "b2=30 #mm #width of material2\n",
+ "L1=500 #mm #Length of material1\n",
+ "L2=750 #mm #Length of material2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A1=b1*t #mm**2 #Area of materila1\n",
+ "A2=b2*t #mm**2 #Area of material2\n",
+ "\n",
+ "dell_l1=P*L1*(A1*E1)**-1 #Extension of Portion1\n",
+ "dell_l2=P*L2*(A2*E2)**-1 #Extension of portion2\n",
+ "\n",
+ "#Total Extension of Bar is\n",
+ "dell_l=dell_l1+dell_l2\n",
+ "\n",
+ "#Result\n",
+ "print\"The Total Extension of the Bar is\",round(dell_l,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Total Extension of the Bar is 0.39 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.8,Page No.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=1000 #mm #Length of Bar\n",
+ "l=400 #mm #Length upto which bire is drilled \n",
+ "D=30 #mm #diameter of bar\n",
+ "d1=10 #mm #diameter of bore\n",
+ "P=25*10**3 #N #Load\n",
+ "dell_l=0.185 #mm #Extension of bar\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "L1=L-l #Length of bar above the bore\n",
+ "L2=400 #mm #Length of bore\n",
+ "\n",
+ "A1=pi*4**-1*D**2 #Area of bar\n",
+ "A2=pi*4**-1*(D**2-d1**2) #Area of bore\n",
+ "\n",
+ "E=P*dell_l**-1*(L1*A1**-1+L2*A2**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"The Modulus of ELasticity is\",round(E,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Modulus of ELasticity is 200735.96 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.11,Page No.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "t=10 #mm #Thickness of steel\n",
+ "b1=60 #mm #width of plate1\n",
+ "b2=40 #mm #width of plate2\n",
+ "P=60*10**3 #Load\n",
+ "L=600 #mm #Length of plate\n",
+ "E=2*10**5 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Extension of taperong bar of rectangular section\n",
+ "dell_l=P*L*(t*E*(b1-b2))**-1*log(b1*b2**-1)\n",
+ "\n",
+ "A_av=(b1*t+b2*t)*2**-1 #Average Area #mm**2\n",
+ "dell_l2=P*L*(A_av*E)**-1 \n",
+ "\n",
+ "#PErcentage Error\n",
+ "e=(dell_l-dell_l2)*(dell_l)**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"The Percentage Error is\",round(e,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Percentage Error is 1.35\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.12,Page No.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=1.5 #m #Length of steel bar\n",
+ "L1=1000 #m0 #Length of steel bar 1\n",
+ "L2=500 #m #Length of steel bar 2\n",
+ "d1=40 #Diameter of steel bar 1\n",
+ "d2=20 #diameter of steel bar 2\n",
+ "E=2*10**5 #N/mm**2 #Modulus of Elasticity\n",
+ "P=160*10**3 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A1=pi*4**-1*d1**2 #Area of Portion 1\n",
+ "\n",
+ "#Extension of uniform Portion 1\n",
+ "dell_l1=P*L1*(A1*E)**-1 #mm\n",
+ "\n",
+ "#Extension of uniform Portion 2\n",
+ "dell_l2=4*P*L2*(pi*d1*d2*E)**-1 #mm\n",
+ "\n",
+ "#Total Extension of Bar\n",
+ "dell_l=dell_l1+dell_l2\n",
+ "\n",
+ "#Result\n",
+ "print\"The Elongation of the Bar is\",round(dell_l,2),\"mm\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.14,Page No.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Portion AB\n",
+ "L_AB=600 #mm #Length of AB\n",
+ "A_AB=40*40 #mm**2 #Cross-section Area of AB\n",
+ "\n",
+ "#Portion BC\n",
+ "L_BC=800 #mm #Length of BC\n",
+ "A_BC=30*30 #mm #Length of BC\n",
+ "\n",
+ "#Portion CD\n",
+ "L_CD=1000 #mm #Length of CD\n",
+ "A_CD=20*20 #mm #Area of CD\n",
+ "\n",
+ "P1=80*10**3 #N #Load1\n",
+ "P2=60*10**3 #N #Load2\n",
+ "P3=40*10**3 #N #Load3\n",
+ "\n",
+ "E=2*10**5 #Modulus of Elasticity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "P4=P1-P2+P3 #Load4\n",
+ "\n",
+ "#Now Force in AB\n",
+ "F_AB=P1\n",
+ "\n",
+ "#Force in BC\n",
+ "F_BC=P1-P2\n",
+ "\n",
+ "#Force in CD\n",
+ "F_CD=P4\n",
+ "\n",
+ "#Extension of AB\n",
+ "dell_l_AB=F_AB*L_AB*(A_AB*E)**-1\n",
+ "\n",
+ "#Extension of BC\n",
+ "dell_l_BC=F_BC*L_BC*(A_BC*E)**-1\n",
+ "\n",
+ "#Extension of CD\n",
+ "dell_l_CD=F_CD*L_CD*(A_CD*E)**-1\n",
+ "\n",
+ "#Total Extension\n",
+ "dell_l=dell_l_AB+dell_l_BC+dell_l_CD\n",
+ "\n",
+ "#Result\n",
+ "print\"The Total Extension in Bar is\",round(dell_l,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Total Extension in Bar is 0.99 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.15,Page No.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=800 #mm #Length of bar\n",
+ "F1=30*10**3 #N #Force acting on the bar\n",
+ "F2=60*10**3 #N #force acting on the bar\n",
+ "L=800 #mm #Length of bar\n",
+ "d=25 #mm #diameter of bar\n",
+ "L_AC=275 #mm #Length of AC\n",
+ "L_CD=150 #mm #Length of CD\n",
+ "L_DB=375 #mm #Length of DB\n",
+ "E=2*10**5 #Pa #Modulus of elasticity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P be the Reaction on tne Bar from support at A\n",
+ "\n",
+ "#Shortening of Portion AC\n",
+ "#dell_l_AC1=P*L_AC*(A*E)**-1\n",
+ "\n",
+ "#Shortening of Portion CD\n",
+ "#dell_l_CD1=(30+P)*L_CD*(A*E)**-1\n",
+ "\n",
+ "#Extension of Portion DB\n",
+ "#dell_l_DB1=(30-P)*L_DB*(A*E)**-1\n",
+ "\n",
+ "#Total Extensions=1*(A*E)**-1*(P*L_AC-(30+P)*L_CD+(30-P)*L_DB)\n",
+ "#As Supports are unyielding,Total Extensions=0\n",
+ "\n",
+ "#After substituting values in above equation and Further simplifying we get\n",
+ "P=(30*375-150*30)*800**-1\n",
+ "\n",
+ "#Reaction of support A\n",
+ "R_A=P\n",
+ "\n",
+ "#Reaction of support B\n",
+ "R_B=30-P\n",
+ "\n",
+ "#Cross-sectional Area\n",
+ "A=pi*4**-1*d**2\n",
+ "\n",
+ "#Stress in Portion AC\n",
+ "sigma1=P*10**3*A**-1 #N/mm**2\n",
+ "\n",
+ "#Stress in Portion CD\n",
+ "sigma2=(30+P)*10**3*A**-1 #N/mm**2\n",
+ "\n",
+ "#Stress in Portion DB\n",
+ "sigma3=(30-P)*10**3*A**-1 #N/mm**2\n",
+ "\n",
+ "#Shortening of Portion AC\n",
+ "dell_l_AC2=P*10**3*L_AC*(A*E)**-1 #mm \n",
+ "\n",
+ "#Shortening of Portion CD\n",
+ "dell_l_CD2=(30+P)*10**3*L_CD*(A*E)**-1 #mm \n",
+ "\n",
+ "#Extension of Portion DB\n",
+ "dell_l_DB2=(30-P)*10**3*L_DB*(A*E)**-1 #mm \n",
+ "\n",
+ "#result\n",
+ "print\"The Reactios at two Ends are:R_A\",round(R_A,2),\"KN\"\n",
+ "print\" :R_B\",round(R_B,2),\"KN\"\n",
+ "print\"Stress in Portion AC\",round(sigma1,2),\"N/mm**2\"\n",
+ "print\"Stress in Portion CD\",round(sigma2,2),\"N/mm**2\"\n",
+ "print\"Stress in Portion DB\",round(sigma3,2),\"N/mm**2\"\n",
+ "print\"Shortening of Portion AC\",round(dell_l_AC2,3),\"mm\"\n",
+ "print\"Shortening of Portion CD\",round(dell_l_CD2,3),\"mm\"\n",
+ "print\"Shortening of Portion DB\",round(dell_l_DB2,3),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Reactios at two Ends are:R_A 8.44 KN\n",
+ " :R_B 21.56 KN\n",
+ "Stress in Portion AC 17.19 N/mm**2\n",
+ "Stress in Portion CD 78.3 N/mm**2\n",
+ "Stress in Portion DB 43.93 N/mm**2\n",
+ "Shortening of Portion AC 0.024 mm\n",
+ "Shortening of Portion CD 0.059 mm\n",
+ "Shortening of Portion DB 0.082 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.19,Page No.29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "h=4 #m #height of Pillars\n",
+ "P=20 #KN #Load at M\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_A,P_B,P_C,P_D be the forces introduced in the Pillars\n",
+ "#Sun of All Vertical Forces\n",
+ "#P_A+P_B+P_C+P_D=20 ....................(1)\n",
+ "\n",
+ "#Sum of moment about AB, we get\n",
+ "#P_D+P_C=12 ....................(2)\n",
+ "\n",
+ "#Sum of Moment about AD\n",
+ "#P_C+P_B=8 ....................(3)\n",
+ "\n",
+ "#Let dell_l_A,dell_l_B,dell_l-C,dell_l_D be the deformations of Pillars A,B,C,D respectively\n",
+ "#Diagonals AC and BD will remain straight Lines even after the Load is applied.\n",
+ "#Deflection of central Point is given by (dell_l_A+dell_l_C)*2**-1 & (dell_l_B+dell_l_D)*2**-1\n",
+ "\n",
+ "#dell_l_A+dell_l_C=dell_l_B+ell_l_D\n",
+ "#P_A*L*(A*E)**-1+P_C*L*(A*E)**-1=P_B*L*(A*E)**-1+P_D*L*(A*E)**-1\n",
+ "\n",
+ "#Since Pillars are identical in Length,cross-sectional area,material Property\n",
+ "#P_A+P_C=P_B+P_D ..............(4)\n",
+ "\n",
+ "#From Equations 1 and 4 we get\n",
+ "#P_B+P_D=10 ....................(5)\n",
+ " \n",
+ "#Substracting Equation 3 from Equation 2 we get\n",
+ "#P_D-P_B=4 ....................(6)\n",
+ "\n",
+ "#Adding Equation 5 and 6 we get\n",
+ "\n",
+ "P_D=14*2**-1\n",
+ "P_C=12-P_D\n",
+ "P_B=8-P_C\n",
+ "\n",
+ "#Now substituting values of P_B,P_C,P_D in equation1 we get\n",
+ "P_A=20-(P_B+P_C+P_D)\n",
+ "\n",
+ "#Result\n",
+ "print\"The Forces Developed in the Pillars are:P_A\",round(P_A,2),\"KN\"\n",
+ "print\" :P_B\",round(P_B,2),\"KN\"\n",
+ "print\" :P_C\",round(P_C,2),\"KN\"\n",
+ "print\" :P_D\",round(P_D,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Forces Developed in the Pillars are:P_A 5.0 KN\n",
+ " :P_B 3.0 KN\n",
+ " :P_C 5.0 KN\n",
+ " :P_D 7.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.20,Page No.31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "sigma=150 #N/mm**2 #Stress\n",
+ "P=40*10**3 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt P_A.P_B,P_C,P_D be the forces developed in wires A,B,C,D respectively\n",
+ "\n",
+ "#Let sum of all Vertical Forces=0\n",
+ "#P_A+P_B+P_C+P_D=40 ..........................(1)\n",
+ "\n",
+ "#Let x be the distance between each wires\n",
+ "#sum of all moments=0\n",
+ "#P_B*x+P_C*2*x+P_D*3*x=40*2*x\n",
+ "\n",
+ "#After further simplifying we get\n",
+ "#P_B+2*P_C+3*P_D=80 ..........................(2)\n",
+ "\n",
+ "#As the equations of statics ae not enough to find unknowns,Consider compatibilit Equations\n",
+ "\n",
+ "#Let dell_l be the increse in elongation of wire\n",
+ "\n",
+ "#dell_l_B=dell_l_A+dell_l\n",
+ "#dell_l_C=dell_l_A+2*dell_l\n",
+ "#dell_l_D=dell_l_A+3*dell_l\n",
+ "\n",
+ "#Let P1 be the force required for the Elongation of wires,then\n",
+ "#P_B=P_A+P1 ]\n",
+ "#P_C=P_A+2*P1 ]\n",
+ "#P_D=P_A+3*P1 ] ................................(3) \n",
+ "\n",
+ "#from Equation (3) and (1) we get\n",
+ "#2*P_A+3*P1=20 ................................(4)\n",
+ "\n",
+ "#from Equation (3) and (2) we get\n",
+ "#6*P_A+14*P1=80 \n",
+ "\n",
+ "#subtracting 3 times equation (4) from (3) we get\n",
+ "P1=20*5**-1\n",
+ "\n",
+ "#from Equation 4 we get\n",
+ "P_A=(80-14*P1)*6**-1\n",
+ "P_B=P_A+P1\n",
+ "P_C=P_A+2*P1\n",
+ "P_D=P_A+3*P1\n",
+ "\n",
+ "#Let d be the diameter required,then\n",
+ "d=(P_D*10**3*4*(pi*150)**-1)**0.5\n",
+ "\n",
+ "#result\n",
+ "print\"The Required Diameter is\",round(d,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Required Diameter is 11.65 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.21,Page No.32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=20*10**3 #N #Load\n",
+ "d=6 #mm #diameter of wire\n",
+ "E=2*10**5 #N/mm**2 \n",
+ "L_BO=4000 #mm #Length of BO\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let theta be the angle between OA and OB and also between OC and OB\n",
+ "theta=30\n",
+ "\n",
+ "#Let P_OA,P_OB,P_OC be the Forces introduced in wires OA,OB,OC respectively\n",
+ "#Due to symmetry P_OA=P_OC (same angles)\n",
+ "\n",
+ "#Sum of all Vertical Forces=0\n",
+ "#P_OA*cos(theta)+P_OB+P_OC*cos(theta)=P\n",
+ "\n",
+ "#After further simplifyinf we get\n",
+ "#2*P_OA*cos(theta)+P_OB=20 ...............(1)\n",
+ "\n",
+ "#Let oo1 be the extension of BO\n",
+ "#oo1=L_A1o1*(cos(theta))**-1\n",
+ "\n",
+ "#From relation we get\n",
+ "#P_OB*L_BO=P_OA*L_AO*(cos(theta))**-1\n",
+ "\n",
+ "#But L_AO=L_BO*(cos(theta))**-1\n",
+ "\n",
+ "#After substituting value of L_AO in above equation we get\n",
+ "#P_OB=0.75*P_OA .......................(2)\n",
+ "\n",
+ "#substituting in Equation 1 we get\n",
+ "#2*P_OA*cos(theta)+0.75*P_OA=20\n",
+ "\n",
+ "P_OA=20*(2*cos(theta*pi*180**-1)+0.75)**-1\n",
+ "\n",
+ "P_OB=0.75*P_OA\n",
+ "\n",
+ "A=pi*4**-1*d**2\n",
+ "\n",
+ "#Vertical displacement of Load\n",
+ "dell_l_BO=P_OB*10**3*L_BO*(A*E)**-1\n",
+ " \n",
+ "#Result\n",
+ "print\"Forces in each wire is:P_OA\",round(P_OA,2),\"KN\"\n",
+ "print\" :P_OB\",round(P_OB,2),\"KN\"\n",
+ "print\"Vertical displacement of Loadis\",round(dell_l_BO,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in each wire is:P_OA 8.06 KN\n",
+ " :P_OB 6.04 KN\n",
+ "Vertical displacement of Loadis 4.27 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.22,Page No.34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_s=L_a=L=500 #mm #Length of bar\n",
+ "A_a=50*20 #mm #Area of aluminium strip\n",
+ "A_s=50*15 #mm #Area of steel strip\n",
+ "P=50*10**3 #N #Load\n",
+ "E_a=1*10**5 #N/mm**2 #Modulus of aluminium \n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of steel\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_a and P_s br the Load shared by aluminium and steel strip\n",
+ "#P_a+P_s=P ..................(1)\n",
+ "\n",
+ "#For compatibility condition,dell_l_a=dell_l_s\n",
+ "#P_a*L_a*(A_a*E_a)**-1=P_s*L_s*(A_s*E_s)**-1 .....(2)\n",
+ "\n",
+ "#As L_a=L_s we get\n",
+ "#P_s=1.5*P_a .................(3)\n",
+ "\n",
+ "#From Equation 1 and 2 we get\n",
+ "P_a=P*2.5**-1\n",
+ "\n",
+ "#Substituting in equation 1 we get\n",
+ "P_s=P-P_a\n",
+ "\n",
+ "#stress in aluminium strip \n",
+ "sigma_a=P_a*A_a**-1\n",
+ "\n",
+ "#stress in steel strip\n",
+ "sigma_s=P_s*A_s**-1\n",
+ "\n",
+ "#Now from the relation we get\n",
+ "dell_l_a=dell_l_s=P_s*L_s*(A_s*E_s)**-1\n",
+ "\n",
+ "#result\n",
+ "print\"Stress in Aluminium strip is\",round(sigma_a,2),\"N/mm**2\"\n",
+ "print\"Stress in steel strip is\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\"The Extension of the bar is\",round(dell_l_s,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stress in Aluminium strip is 20.0 N/mm**2\n",
+ "Stress in steel strip is 40.0 N/mm**2\n",
+ "The Extension of the bar is 0.1 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.23,Page No.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D_s=20 #mm #Diameter of steel\n",
+ "D_Ci=20 #mm #Internal Diameter of Copper\n",
+ "t=5 #mm #THickness of copper bar\n",
+ "P=100*10**3 #N #Load\n",
+ "E_s=2*10**5 #N/mm**2 #modulus of elasticity of steel\n",
+ "E_c=1.2*10**5 #N/mm**2 #Modulus of Elasticity of Copper\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A_s=pi*4**-1*D_s**2 #mm**2 #Area of steel\n",
+ "D_Ce=D_s+2*t #mm #External Diameterof Copper Tube\n",
+ "\n",
+ "A_c=pi*4**-1*(D_Ce**2-D_Ci**2) #mm**2 #Area of Copper\n",
+ "\n",
+ "#From static Equilibrium condition\n",
+ "#Let P_s and P_c be the Load shared by steel and copper in KN\n",
+ "#P_s+P_c=100 ....................................(1)\n",
+ "\n",
+ "#From compatibility Equation,dell_l_s=dell_l_c\n",
+ "#P_s*L*(A_s*E_s)**-1=P_c*L*(A_c*E_c)**-1\n",
+ "\n",
+ "#Substituting values in above Equation we get\n",
+ "#P_s=1.3333*P_C \n",
+ "\n",
+ "#Now Substituting value of P_s in Equation (1),we get\n",
+ "P_c=100*2.3333**-1 #KN\n",
+ "P_s=100-P_c #KN\n",
+ "\n",
+ "#Stress in steel\n",
+ "sigma_s=P_s*10**3*A_s**-1 #N/mm**2\n",
+ "\n",
+ "#Stress in copper\n",
+ "sigma_c=P_c*10**3*A_c**-1 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses Developed in Two material are:sigma_s\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\" :sigma_c\",round(sigma_c,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stresses Developed in Two material are:sigma_s 181.89 N/mm**2\n",
+ " :sigma_c 109.14 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.24,Page No.36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "A_C=230*400 #mm #Area of column\n",
+ "D_s=12 #mm #Diameter of steel Bar\n",
+ "P=600*10**3 #N #Axial compression\n",
+ "#E_s*E_c=18.67\n",
+ "n=8 #number of steel Bars\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A_s=pi*4**-1*D_s**2*n #Area of steel #mm**2 \n",
+ "A_c=A_C-A_s #mm**2 #Area of concrete\n",
+ "\n",
+ "#From static Equilibrium condition\n",
+ "#P_s+P_c=600 .........(1)\n",
+ "\n",
+ "#Now from compatibility Equation dell_l_s=dell_l_c we get,\n",
+ "#P_s*L*(A_s*E_s)**-1=P_c*L*(A_c*E_c)**-1\n",
+ "\n",
+ "#Substituting values in above Equation we get\n",
+ "#P_s=0.1854*P_c\n",
+ "\n",
+ "#Now Substituting value of P_s in Equation (1),we get\n",
+ "P_c=600*1.1854**-1\n",
+ "P_s=600-P_c\n",
+ "\n",
+ "#Stress in steel\n",
+ "sigma_s=P_s*10**3*A_s**-1 #N/mm**2\n",
+ "\n",
+ "#Stress in copper\n",
+ "sigma_c=P_c*10**3*A_c**-1 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses Developed in Two material are:sigma_s\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\" :sigma_c\",round(sigma_c,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stresses Developed in Two material are:sigma_s 103.72 N/mm**2\n",
+ " :sigma_c 5.56 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.25,Page No.36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=200*10**3 #N #Load\n",
+ "A_a=1000 #mm**2 #Area of Aluminium\n",
+ "A_s=800 #mm**2 #Area of steel\n",
+ "E_a=1*10**5 #N/mm**2 #Modulus of Elasticity of Aluminium\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of ELasticity of steel\n",
+ "sigma_a1=65 #N/mm**2 #stress in aluminium\n",
+ "sigma_s1=150 #N/mm**2 #Stress in steel\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_a and P_s be the force in aluminium and steel pillar respectively\n",
+ "\n",
+ "#Now,sum of forces in Vertical direction we get\n",
+ "#2*P_a+P_s=200 .........................................(1)\n",
+ "\n",
+ "#By compatibility Equation dell_l_s=dell_l_a we get\n",
+ "#P_s=1.28*P_a ..........................................(2)\n",
+ "\n",
+ "#Now substituting value of P_s in Equation 1 we get\n",
+ "P_a=200*3.28**-1 #KN\n",
+ "P_s=200-2*P_a #KN\n",
+ "\n",
+ "#Stress developed in aluminium\n",
+ "sigma_a=P_a*10**3*A_a**-1 #N/mm**2 \n",
+ "\n",
+ "#Stress developed in steel\n",
+ "sigma_s=P_s*10**3*A_s**-1 #N/mm**2 \n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Let sigma_a1 and sigma_s1 be the stresses in Aluminium and steel due to Additional LOad\n",
+ "\n",
+ "P_a1=sigma_a1*A_a #Load carrying capacity of aluminium\n",
+ "P_s1=1.28*P_a1\n",
+ "\n",
+ "#Total Load carrying capacity \n",
+ "P1=2*P_a1+P_s1 #N \n",
+ "\n",
+ "P_s2=sigma_s1*A_s #Load carrying capacity of steel\n",
+ "P_a2=P_s2*1.28**-1\n",
+ "\n",
+ "#Total Load carrying capacity\n",
+ "P2=2*P_a2+P_s2\n",
+ "\n",
+ "#Additional Load\n",
+ "P3=P1-P\n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses Developed in Each Pillar is:sigma_a\",round(sigma_a,2),\"N/mm**2\"\n",
+ "print\" :sigma_s\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\"Additional Load taken by pillars is\",round(P3,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "78.0487804878\n",
+ "Stresses Developed in Each Pillar is:sigma_a 60.98 N/mm**2\n",
+ " :sigma_s 97.56 N/mm**2\n",
+ "Additional Load taken by pillars is 13200.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.26,Page No.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=500 #mm #Length of assembly\n",
+ "D=16 #mm #Diameter of steel bolt\n",
+ "Di=20 #mm #internal Diameter of copper tube\n",
+ "Do=30 #mm #External Diameter of copper tube\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of Elasticity of steel\n",
+ "E_c=1.2*10**5 #N/mm**2 #Modulus of Elasticity of copper\n",
+ "p=2 #mm #Pitch of nut\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_s be the Force in bolt and P_c be the FOrce in copper tube\n",
+ "#P_s=-P_s\n",
+ "\n",
+ "dell=1*4**-1*2 #Quarter turn of nut total movement\n",
+ "\n",
+ "#dell=dell_s+dell_c\n",
+ "\n",
+ "#Area of steel\n",
+ "A_s=pi*4**-1*D**2\n",
+ "\n",
+ "#Area of copper\n",
+ "A_c=pi*4**-1*(Do**2-Di**2)\n",
+ "\n",
+ "#dell=P*L*(A_s*E_s)**-1+P*L*(A_c*E_c)**-1\n",
+ "P=dell*(1*(A_s*E_s)**-1+1*(A_c*E_c)**-1)**-1*L**-1 #LOad\n",
+ "\n",
+ "P_s=P*A_s**-1\n",
+ "P_c=P*A_c**-1\n",
+ "\n",
+ "#result\n",
+ "print\"stress introduced in bolt is\",round(P_s,2),\"N/mm**2\"\n",
+ "print\"stress introduced in tube is\",round(P_c,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "stress introduced in bolt is 107.91 N/mm**2\n",
+ "stress introduced in tube is 55.25 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.27,Page No.39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=20 #mm #Diameter of Bolts\n",
+ "Di=25 #m #internal Diameter\n",
+ "t=10 #mm #Thickness of bolt\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of Elasticity\n",
+ "p=3 #mm #Pitch\n",
+ "theta=30 #degree\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_s be the Force in each bolt and P_c be the FOrce in copper tube\n",
+ "#From Static Equilibrium condition\n",
+ "#P_c=2*P_s\n",
+ "\n",
+ "#As nut moves by 60 degree.If nut moves by 360 degree its Longitudinal movement is by 3 mm\n",
+ "dell=theta*360**-1*p\n",
+ "\n",
+ "#From Compatibility Equaton we get\n",
+ "#dell=dell_c+dell_s\n",
+ "\n",
+ "\n",
+ "A_s=pi*4**-1*"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.28,Page No.40"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=9 #m #Length of rigid bar\n",
+ "L_b=3000 #Length of bar\n",
+ "A_b=1000 #mm**2 #Area of bar\n",
+ "E_b=1*10**5 #N/mm**2 #Modulus of Elasticity of brasss bar\n",
+ "L_s=5000 #mm #Length of steel bar\n",
+ "A_s=445 #mm**2 #Area of steel bar\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of elasticity of steel bar\n",
+ "P=3000 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From static equilibrium Equation of the rod after appliying Load is\n",
+ "#P_b+P_s=P ......................(1)\n",
+ "\n",
+ "#P_b=1.8727*P_s ..................(2)\n",
+ "\n",
+ "#NOw substituting equation 2 in equation 1 we get\n",
+ "P_s=P*2.8727**-1\n",
+ "P_b=P-P_s\n",
+ "\n",
+ "d=P_s*L*P**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Distance at which Load applied even after which bar remains horizontal is\",round(d,2),\"m\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance at which Load applied even after which bar remains horizontal is 3.13 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.29,Page No.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "A_b=1000 #MM**2 #Area of brass bar\n",
+ "E_b=1*10**5 #N/mm**2 #Modulus of Elasticity of brass\n",
+ "A_s=600 #N/mm**2 #Area of steel rod\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of eLasticity of steel bar\n",
+ "P=10*10**2 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_b be the tensile force in brass bar and P_s be the compressive force in steel bar\n",
+ "#Now taking moment about A we get static Equilibrium condition as\n",
+ "#P_b+2*P_s=27500 ......................................(1)\n",
+ "\n",
+ "#Now from deformed shape we get\n",
+ "#dell_s=2*dell_b\n",
+ "\n",
+ "#P_s*L_s*(A_s*E_s)**-1=P_b*L_b*(A_b*E_b)**-1\n",
+ "#Further simplifying we get\n",
+ "#P_s=1.2*P_b .........................................(2)\n",
+ "\n",
+ "#Now substituting equation 1 in equation 2 we get\n",
+ "P_b=27500*3.4**-1\n",
+ "P_s=1.2*P_b\n",
+ "\n",
+ "#Tensile stress in brass bar \n",
+ "sigma_b=P_b*A_b**-1\n",
+ "\n",
+ "#compressive stress in steel bar\n",
+ "sigma_s=P_s*A_s**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Compressive Stress in Bar is\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\"tensile Stress in Bar is\",round(sigma_b,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Compressive Stress in Bar is 16.18 N/mm**2\n",
+ "tensile Stress in Bar is 8.09 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.30,Page No.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=12.6 #m #Length of rail\n",
+ "t1=24 #Degree celsius\n",
+ "t2=44 #degree celsius\n",
+ "alpha=12*10**-6 #Per degree celsius\n",
+ "E=2*10**5 #N/mm**2 #Modulus of ELasticity\n",
+ "gamma=2 #mm #Gap provided for Expansion\n",
+ "sigma=20 #N/mm**2 #Stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "t=t2-t1 #Temperature Difference\n",
+ "\n",
+ "#Free Expansion of the rails\n",
+ "dell=alpha*t*L*1000 #mm \n",
+ "\n",
+ "#When no expansion joint is provided then\n",
+ "p=dell*E*(L*10**3)**-1\n",
+ "\n",
+ "#When a gap of 2 mm is provided,then free expansion prevented is\n",
+ "dell_1=dell-gamma\n",
+ "p2=dell_1*E*(L*10**3)**-1\n",
+ "\n",
+ "#When stress is developed,then gap left is\n",
+ "gamma2=-(sigma*L*10**3*E**-1-dell)\n",
+ "\n",
+ "#Result\n",
+ "print\"The minimum gap between the two rails is\",round(dell,2),\"mm\"\n",
+ "print\"Thermal Developed in the rials if:No expansionn joint is provided:p\",round(p,2),\"N/mm**2\"\n",
+ "print\" :If a gap of is provided then :p2\",round(p2,2),\"N/mm**2\"\n",
+ "print\"When stress is developed gap left between the rails is\",round(gamma2,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum gap between the two rails is 3.02 mm\n",
+ "Thermal Developed in the rials if:No expansionn joint is provided:p 48.0 N/mm**2\n",
+ " :If a gap of is provided then :p2 16.25 N/mm**2\n",
+ "When stress is developed gap left between the rails is 1.76 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.31,Page No.45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "t=20 #degree celsius\n",
+ "E_a=70*10**9 #N/mm**2 #Modulus of Elasticicty of aluminium\n",
+ "alpha_a=11*10**-6 #per degree celsius #Temperature coeff of aluminium\n",
+ "alpha_s=12*10**-6 #Per degree celsius #Temperature coeff of steel\n",
+ "L_a=1000 #mm #Length of aluminium \n",
+ "L_s=3000 #mm #Length of steel\n",
+ "E_a=7*10**4 #N/mm**2 #Modulus of Elasticity of aluminium\n",
+ "E_s=2*10**5 #N/mm*2 #Modulus of Elasticity of steel\n",
+ "A_a=600 #mm**2 #Area of aluminium\n",
+ "A_s=300 #mm**2 #Area of steel\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Free Expansion \n",
+ "dell=alpha_a*t*L_a+alpha_s*t*L_s\n",
+ "\n",
+ "#support Reaction\n",
+ "P=dell*(L_a*(A_a*E_a)**-1+L_s*(A_s*E_s)**-1)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at support is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at support is 12735.48 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.33,Page No.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=25 #mm #Diameter of Brass\n",
+ "De=50 #mm #External Diameter of steel tube\n",
+ "Di=25 #mm #Internal Diameter of steel tube\n",
+ "L=1.5 #m #Length of both bars\n",
+ "t1=30 #degree celsius #Initial Temperature\n",
+ "t2=100 #degree celsius #final Temperature\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of ELasticity of steel bar\n",
+ "E_b=1*10**5 #N/mm**2 #Modulus of Elasticity of brass bar\n",
+ "alpha_s=11.6*10**-6 #Temperature Coeff of steel\n",
+ "alpha_b=18.7*10**-6 #Temperature coeff of brass bar\n",
+ "d=20 #mm #diameter of pins\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "t=t2-t1 #Temperature Difference\n",
+ "A_s=pi*4**-1*(De**2-Di**2) #mm**2 #Area of steel\n",
+ "A_b=pi*4**-1*D**2 #mm**2 #Area of brass\n",
+ "\n",
+ "#Let P_b be the tensile force in brass bar and P_s be the compressive force in steel bar\n",
+ "#But from Equilibrium of Forces \n",
+ "#P_b=P_s=P\n",
+ "\n",
+ "#Let dell=dell_s+dell_b\n",
+ "dell=(alpha_b-alpha_s)*t*L*1000\n",
+ "\n",
+ "P=dell*(1*(A_s*E_s)**-1+1*(A_b*E_b)**-1)**-1*(L*1000)**-1\n",
+ "P_b=P_s=P\n",
+ "\n",
+ "#Stress in steel\n",
+ "sigma_s=P_s*A_s**-1\n",
+ "\n",
+ "#Stress in Brass\n",
+ "sigma_b=P_b*A_b**-1\n",
+ "\n",
+ "#Area of Pins\n",
+ "A_p=pi*4**-1*d**2\n",
+ "\n",
+ "#Since,the force is resisted by two cross section of pins\n",
+ "tou=P*(2*A_p)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Stress in steel bar is\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\"Stress in Brass bar is\",round(sigma_b,2),\"N/mm**2\"\n",
+ "print\"Shear Stresss induced in pins is\",round(tou,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stress in steel bar is 14.2 N/mm**2\n",
+ "Stress in Brass bar is 42.6 N/mm**2\n",
+ "Shear Stresss induced in pins is 33.28 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.34,Page No.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "b_s=60 #mm #width of steel Bar\n",
+ "t_s=10 #mm #thickness of steel Bar\n",
+ "b_c=40 #mm #width of copper bar\n",
+ "t_c=5 #mm #thickness of copper bar\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of Elasticity of steel bar\n",
+ "E_c=1*10**5 #N/mm**2 #Modulus of Elasticity of copper bar\n",
+ "alpha_s=12*10**-6 #Per degree celsius #Temperature coeff of steel bar\n",
+ "alpha_c=17*10**-6 #Per degree celsius #Temperature coeff of copper bar\n",
+ "L_s=L_c=L=1000 #mm #Length of bar\n",
+ "t=80 #degree celsius\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A_s=b_s*t_s #Area of steel bar\n",
+ "A_c=b_c*t_c #Area of copper bar\n",
+ "\n",
+ "#Let P_s be the tensile force in steel bar and P_c be the compressive force in copper bar\n",
+ "#The equilibrium of forces gives \n",
+ "#P_s=2*P_c\n",
+ "\n",
+ "#Let dell=dell_s+dell_b\n",
+ "dell=(alpha_c-alpha_s)*t\n",
+ "\n",
+ "P_c=dell*(2*(A_s*E_s)**-1+1*(A_c*E_c)**-1)**-1\n",
+ "P_s=2*P_c\n",
+ "\n",
+ "#Stress in copper \n",
+ "sigma_c=P_c*A_c**-1\n",
+ "\n",
+ "#Stress in steel\n",
+ "sigma_s=P_s*A_s**-1\n",
+ "\n",
+ "#Change in Length of bar\n",
+ "dell_2=alpha_s*t*L+P_s*L_s*(A_s*E_s)**-1\n",
+ "\n",
+ "#result\n",
+ "print\"Stress in copper is\",round(sigma_c,2),\"N/mm**2\"\n",
+ "print\"Stress in steel is\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\"the change in Length is\",round(dell_2,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stress in copper is 30.0 N/mm**2\n",
+ "Stress in steel is 20.0 N/mm**2\n",
+ "the change in Length is 1.06 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.35,Page No.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=2*10**5 #N #Weight\n",
+ "L=1 #m #Length of each rod\n",
+ "A_c=A_s=A=500 #mm**2 #Area of each rod\n",
+ "t=40 #degree celsius #temperature\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of Elasticity of steel rod\n",
+ "E_c=1*10**5 #N/mm**2 #modulus of Elastictiy of copper rod\n",
+ "alpha_s=1.2*10**-5 #Per degree Celsius #temp coeff of steel rod\n",
+ "alpha_c=1.8*10**-5 #Per degree Celsius #Temp coeff of copper rod\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_s be the force in each one of the copper rods and P_s be the force in steel rod\n",
+ "#2*P_c+P_s=P .....................(1)\n",
+ "\n",
+ "#Extension of copper bar=Extension of steel bar\n",
+ "#P_s*L*(A_s*E_s)**-1=P_c*L*(A_c*E_c)**-1\n",
+ "#after simplifying above equation we get\n",
+ "#P_s=2*P_c ........................(2)\n",
+ "\n",
+ "#Now substituting value of P_s in Equation 1 we get\n",
+ "P_c=P*4**-1\n",
+ "P_s=2*P_c\n",
+ "\n",
+ "#Now EXtension due to copper Load\n",
+ "dell_1=P_c*L*1000*(A_c*E_c)**-1\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Due to rise of temperature of40 degree celsius\n",
+ "\n",
+ "#As bars are rigidly joined,let P_c1 be the compressive forccesdeveloped in copper bar and P_s1 be the tensile force in steel causing changes\n",
+ "#P_s1=2*P_c1\n",
+ "\n",
+ "#dell_s+dell_c=(alpha_c-alpha_s)*t*L .......................................(3)\n",
+ "#P_s1*L*(A_s*E_s)**-1+P_c1*L*(A_c*E_c)**-1=(alpha_c-alpha_s)*t*L ................(4)\n",
+ "#After substituting values in above equation and further simplifying we get,\n",
+ "P_c1=(alpha_c-alpha_s)*t*L*(2*(A_s*E_s)**-1+1*(A_c*E_c)**-1)**-1 #.................(5)\n",
+ "P_s1=2*P_c1\n",
+ "\n",
+ "#Extension of bar due to temperature rise\n",
+ "dell_2=alpha_s*t*L+P_s1*L*(A_s*E_s)**-1\n",
+ "\n",
+ "#Amount by which bar will descend\n",
+ "dell_3=dell_1+dell_2\n",
+ "\n",
+ "#Load carried by steel bar\n",
+ "P_S=P_s+P_s1\n",
+ "\n",
+ "#Load carried by copper bar\n",
+ "P_C=P_c-P_c1\n",
+ "\n",
+ "#Part-3\n",
+ "\n",
+ "#Let P_c1_1=P_c #For convenience\n",
+ "#Rise in temperature if Load is to be carried out by steel rod alone\n",
+ "P_c1_1=P_c\n",
+ "\n",
+ "#From equation 5 \n",
+ "t=P_c1_1*(2*(A_s*E_s)**-1+1*(A_c*E_c)**-1)*(alpha_c-alpha_s)**-1\n",
+ "\n",
+ "#result\n",
+ "print\"Extension Due top copper Load\",round(dell_1,2),\"mm\"\n",
+ "print\"Load carried by each rod:P_s\",round(P_s,2),\"N\"\n",
+ "print\" :P_c\",round(P_c,2),\"N\"\n",
+ "print\"Rise in Temperature of steel rod should be\",round(t,2),\"degree Celsius\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Extension Due top copper Load 1.0 mm\n",
+ "Load carried by each rod:P_s 100000.0 N\n",
+ " :P_c 50000.0 N\n",
+ "Rise in Temperature of steel rod should be 333.33 degree Celsius\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.36,Page No.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "t=40 #degree celsius #temperature\n",
+ "A_s=400 #mm**2 #Area of steel bar\n",
+ "A_c=600 #mm**2 #Area of copper bar\n",
+ "E_s=2*10**5 #N/mm**2 #Modulus of Elasticity of steel bar\n",
+ "E_c=1*10**5 #N/mm**2 #Modulus of Elasticity of copper bar\n",
+ "alpha_s=12*10**-6 #degree celsius #Temperature coeff of steel bar\n",
+ "alpha_c=18*10**-6 #degree celsius #Temperature coeff of copper bar\n",
+ "L_c=800 #mm #Length of copper bar\n",
+ "L_s=600 #mm #Length of steel bar\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_s be the tensile force in steel bar and P_c be the compressive force in copper bar\n",
+ "#Static Equilibrium obtained by taking moment about A\n",
+ "#P_c=2*P_s\n",
+ "\n",
+ "#From property of similar triangles we get\n",
+ "#(alpha_c*Lc-dell_c)*1**-1=(alpha_s*L_s-dell_s)*2**-1\n",
+ "#After substituting values in above equations and further simplifying we get\n",
+ "P_s=(2*alpha_c*L_c-alpha_s*L_s)*t*(L_s*(A_s*E_s)**-1+4*L_c*(A_c*E_c)**-1)**-1\n",
+ "P_c=2*P_s\n",
+ "\n",
+ "#Stress in steel rod\n",
+ "sigma_s=P_s*A_s**-1 #N/mm**2 \n",
+ "\n",
+ "#Stress in copper rod\n",
+ "sigma_c=P_c*A_c**-1 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Stress in steel rod is\",round(sigma_s,2),\"N/mm**2\"\n",
+ "print\"STress in copper rod is\",round(sigma_c,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stress in steel rod is 35.51 N/mm**2\n",
+ "STress in copper rod is 47.34 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.37,Page No.61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=20 #mm #Diameter of bar\n",
+ "P=37.7*10**3 #N #Load\n",
+ "L=200 #mm #Guage Length \n",
+ "dell=0.12 #mm #Extension\n",
+ "dell_d=0.0036 #mm #contraction in diameter\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Area of bar\n",
+ "A=pi*4**-1*d**2\n",
+ "\n",
+ "#Let s and dell_s be the Linear strain and Lateral strain\n",
+ "s=dell*L**-1\n",
+ "dell_s=dell_d*d**-1\n",
+ "mu=dell_s*s**-1 #Poissoin's ratio \n",
+ "\n",
+ "#dell=P*L*(A*E)**-1\n",
+ "E=P*L*(dell*A)**-1 #N/mm**2 #Modulus of Elasticity of bar\n",
+ "\n",
+ "#Modulus of Rigidity\n",
+ "G=E*(2*(1+mu))**-1 #N/mm**2\n",
+ "\n",
+ "#Bulk Modulus \n",
+ "K=E*(3*(1-2*mu))**-1 #N/mm**2\n",
+ "\n",
+ "#result\n",
+ "print\"Poisson's ratio is\",round(mu,2)\n",
+ "print\"The Elastic constant are:E\",round(E,2)\n",
+ "print\" :G\",round(G,2)\n",
+ "print\" :K\",round(K,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Poisson's ratio is 0.3\n",
+ "The Elastic constant are:E 200004.71\n",
+ " :G 76924.89\n",
+ " :K 166670.59\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.38,Page No.62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=100 #mm #Diameter of circular rod\n",
+ "P=1*10**6 #N #Tensile Force\n",
+ "mu=0.3 #Poisson's ratio\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus \n",
+ "L=500 #mm #Length of rod\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Modulus of Rigidity\n",
+ "G=E*(2*(1+mu))**-1 #N/mm**2\n",
+ "\n",
+ "#Bulk Modulus \n",
+ "K=E*(3*(1-2*mu))**-1 #N/mm**2\n",
+ "\n",
+ "A=pi*4**-1*d**2 #mm**2 #Area of Circular rod\n",
+ "#Let sigma be the Longitudinal stress\n",
+ "sigma=P*A**-1 #N/mm**2 \n",
+ "\n",
+ "s=sigma*E**-1 #Linear strain\n",
+ "e_x=s\n",
+ "\n",
+ "#Volumetric strain\n",
+ "e_v=e_x*(1-2*mu)\n",
+ "\n",
+ "v=pi*4**-1*d**2*L\n",
+ "#Change in VOlume\n",
+ "dell_v=e_v*v\n",
+ "\n",
+ "#Result\n",
+ "print\"Bulk Modulus is\",round(E,2),\"N/mm**2\"\n",
+ "print\"Modulus of Rigidity is\",round(G,2),\"N/mm**2\"\n",
+ "print\"The change in Volume is\",round(dell_v,2),\"mm**3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bulk Modulus is 200000.0 N/mm**2\n",
+ "Modulus of Rigidity is 76923.08 N/mm**2\n",
+ "The change in Volume is 1000.0 mm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.39,Page No.62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=500 #mm #Length of rectangular cross section bar\n",
+ "A=20*40 #mm**2 #Area of rectangular cross section bar\n",
+ "P1=4*10**4 #N #Tensile Force on 20mm*40mm Faces\n",
+ "P2=2*10**5 #N #compressive force on 20mm*500mm Faces\n",
+ "P3=3*10**5 #N #Tensile Force on 40mm*500mm Faces\n",
+ "E=2*10**5 #N/mm**2 #young's Modulus \n",
+ "mu=0.3 #Poisson's Ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let P_x,P_y,P_z be the forces n x,y,z directions\n",
+ "\n",
+ "P_x=P1*A**-1\n",
+ "P_y=P2*A**-1\n",
+ "P_z=P3*A**-1\n",
+ "\n",
+ "#Let e_x,e_y,e_z be the strains in x,y,z directions\n",
+ "e_x=1*E**-1*(50+mu*20-15*mu)\n",
+ "e_y=1*E**-1*(-mu*50-20-mu*15)\n",
+ "e_z=1*E**-1*(-mu*50+mu*20+15)\n",
+ "\n",
+ "#Volumetric strain\n",
+ "e_v=e_x+e_y+e_z\n",
+ "\n",
+ "#Volume\n",
+ "V=20*40*500 #mm**3\n",
+ "#Change in Volume \n",
+ "dell_v=e_v*V #mm**3\n",
+ "\n",
+ "#Result\n",
+ "print\"The change in Volume is\",round(dell_v,2),\"mm**3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in Volume is 36.0 mm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.41,Page No.65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "E=2.1*10**5 #N/mm**2 #Young's Modulus \n",
+ "G=0.78*10**5 #N/mm**2 #Modulus of Rigidity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Now using the relation\n",
+ "#E=2*G*(1+mu)\n",
+ "mu=E*(2*G)**-1-1 #Poisson's ratio\n",
+ "\n",
+ "#Bulk Modulus \n",
+ "K=E*(3*(1-2*mu))**-1 #N/mm**2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"The Poisson's Ratio is\",round(mu,2)\n",
+ "print\"The modulus of Rigidity\",round(K,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Poisson's Ratio is 0.35\n",
+ "The modulus of Rigidity 227500.0 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.42,Page No.65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "G=0.4*10**5 #N/mm**2 #Modulus of rigidity\n",
+ "K=0.75*10**5 #N/mm**2 #Bulk Modulus \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Young's Modulus\n",
+ "E=9*G*K*(3*K+G)**-1\n",
+ "\n",
+ "#Now from the relation\n",
+ "#E=2*G(1+2*mu)\n",
+ "mu=E*(2*G)**-1-1 #POissoin's ratio \n",
+ "\n",
+ "#result\n",
+ "print\"Young's modulus is\",round(E,2),\"N/mm**2\"\n",
+ "print\"Poissoin's ratio is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Young's modulus is 101886.79 N/mm**2\n",
+ "Poissoin's ratio is 0.27\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.43,Page No.65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "b=60 #mm #width of bar\n",
+ "d=30 #mm #depth of bar\n",
+ "L=200 #mm #Length of bar\n",
+ "A=30*60 #mm**2 #Area of bar\n",
+ "A2=30*200 #mm**2 #Area of bar along which expansion is restrained\n",
+ "P=180*10**3 #N #Compressive force\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus\n",
+ "mu=0.3 #Poissoin's ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#The bar is restrained from expanding in Y direction\n",
+ "P_z=0\n",
+ "P_x=P*A**-1 #stress developed in x direction\n",
+ "\n",
+ "#Now taking compressive strain as positive\n",
+ "#e_x=P_x*E**-1-mu*P_y*E**-1 .......................(1)\n",
+ "#e_y=-mu*P_x*E**-1+P_y*E**-1 ....................(2)\n",
+ "#e_z=-mu*P_x*E**-1-mu*P_y*E**-1 ......................(3)\n",
+ "\n",
+ "#Part-1\n",
+ "#When it is fully restrained\n",
+ "e_y=0\n",
+ "P_y=30 #N/mm**2 \n",
+ "e_x=P_x*E**-1-mu*P_y*E**-1\n",
+ "e_z=-mu*P_x*E**-1-mu*P_y*E**-1\n",
+ "\n",
+ "#Change in Length \n",
+ "dell_l=e_x*L #mm\n",
+ "\n",
+ "#Change in width\n",
+ "dell_b=b*e_y\n",
+ "\n",
+ "#change in Depth\n",
+ "dell_d=d*e_z\n",
+ "\n",
+ "#Volume of bar\n",
+ "V=b*d*L #mm**3\n",
+ "#Change in Volume\n",
+ "e_v=(e_x+e_y+e_z)*V #mm**3\n",
+ "\n",
+ "#Part-2\n",
+ "#When 50% is restrained\n",
+ "\n",
+ "#Free strain in Y direction\n",
+ "e_y1=mu*P_x*E**-1\n",
+ "\n",
+ "#As 50% is restrained,so\n",
+ "e_y2=-50*100**-1*e_y1\n",
+ "\n",
+ "#But form Equation 2 we have e_y=-mu*P_x*E**-1+P_y*E**-1 \n",
+ "#After substituting values in above equation and furthe simplifying we get\n",
+ "P_y=e_y2*E+d\n",
+ "\n",
+ "e_x2=P_x*E**-1-mu*P_y*E**-1 \n",
+ "e_z2=-mu*P_x*E**-1-mu*P_y*E**-1\n",
+ "\n",
+ "#Change in Length \n",
+ "dell_l2=e_x2*L #mm\n",
+ "\n",
+ "#Change in width\n",
+ "dell_b2=b*e_y2\n",
+ "\n",
+ "#change in Depth\n",
+ "dell_d2=d*e_z2\n",
+ "\n",
+ "#Change in Volume\n",
+ "e_v2=(e_x2+e_y2+e_z2)*V #mm**3\n",
+ "\n",
+ "#REsult\n",
+ "print\"Change in Dimension of bar is:dell_l\",round(dell_l,2),\"mm\"\n",
+ "print\" :dell_b\",round(dell_b,4),\"mm\"\n",
+ "print\" :dell_d\",round(dell_d,2),\"mm\"\n",
+ "print\"Change in Volume is\",round(e_v,2),\"mm**3\"\n",
+ "print\"Changes in material when only 50% of expansion can be reatrained:dell_l2\",round(dell_l2,2),\"mm\"\n",
+ "print\" :dell_b2\",round(dell_b2,4),\"mm\"\n",
+ "print\" :dell_d2\",round(dell_d2,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in Dimension of bar is:dell_l 0.09 mm\n",
+ " :dell_b 0.0 mm\n",
+ " :dell_d -0.01 mm\n",
+ "Change in Volume is 93.6 mm**3\n",
+ "Changes in material when only 50% of expansion can be reatrained:dell_l2 0.1 mm\n",
+ " :dell_b2 -0.0045 mm\n",
+ " :dell_d2 -0.01 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.44,Page No.72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=10*10**3 #N #Load\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus\n",
+ "d2=12 #mm #Diameter of bar1\n",
+ "d1=16 #mm #diameter of bar2\n",
+ "L1=200 #mm #Length of bar1\n",
+ "L2=500 #mm #Length of bar2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let A1 and A2 be the cross Area of Bar1 & bar2 respectively\n",
+ "A1=pi*4**-1*d1**2 #mm**2\n",
+ "A2=pi*4**-1*d2**2 #mm**2\n",
+ "\n",
+ "#Let p1 and p2 be the stress in Bar1 nad bar2 respectively\n",
+ "p1=P*A1**-1 #N/mm**2\n",
+ "p2=P*A2**-1 #N/mm**2\n",
+ "\n",
+ "#Let V1 nad V2 be the Volume of of Bar1 and Bar2\n",
+ "V1=A1*(L1+L1)\n",
+ "V2=A2*L2\n",
+ "\n",
+ "#Let E be the strain Energy stored in the bar\n",
+ "E=p1**2*(2*E)**-1*V1+p2**2*V2*(2*E)**-1\n",
+ "\n",
+ "#result\n",
+ "print\"The Strain Energy stored in Bar is\",round(E,2),\"N-mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Strain Energy stored in Bar is 1602.6 N-mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.45,Page No.73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Bar-A\n",
+ "d1=30 #mm #Diameter of bar1\n",
+ "L=600 #mm #length of bar1\n",
+ "\n",
+ "#Bar-B\n",
+ "d2=30 #mm #Diameter of bar2\n",
+ "d3=20 #mm #Diameter of bar2\n",
+ "L2=600 #mm #length of bar2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Area of bar-A\n",
+ "A1=pi*4**-1*d1**2\n",
+ "\n",
+ "#Area of bar-B\n",
+ "A2=pi*4**-1*d2**2\n",
+ "A3=pi*4**-1*d3**2\n",
+ "\n",
+ "#let SE be the Strain Energy\n",
+ "#Strain Energy stored in Bar-A\n",
+ "#SE=p**2*(2*E)**-1*V\n",
+ "#After substituting values and simolifying further we get\n",
+ "#SE=P**2*E**-1*0.4244\n",
+ "\n",
+ "#Strain Energy stored in Bar-B\n",
+ "#SE2=p1**2*V1*(2*E)**-1+p2**2*V2*(2*E)**-1\n",
+ "#After substituting values and simolifying further we get\n",
+ "#SE2=0.6897*P**2*E**-1\n",
+ "\n",
+ "#Let X be the ratio of SE in Bar-B and SE in Bar-A\n",
+ "X=0.6897*0.4244**-1\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#When Max stress is produced is same:Let p be the max stress produced\n",
+ "\n",
+ "#Stress in bar A is p throughout \n",
+ "#In bar B:stress in 20mm dia.portion=p2=p\n",
+ "\n",
+ "#Stress in 30 mm dia.portion\n",
+ "#p1=P*A2*A3**-1\n",
+ "#After substituting values and simolifying further we get\n",
+ "#p1=4*9**-1*p\n",
+ "\n",
+ "#Strain Energy in bar A\n",
+ "#SE_1=p**2*(2*E)**-1*A1*L1\n",
+ "#After substituting values and simolifying further we get\n",
+ "#SE_1=67500*p**2*pi*E**-1\n",
+ "\n",
+ "#Strain Energy in bar B\n",
+ "#SE_2=p1**2*V1*(2*E)**-1+p2**2*V2*(2*E)**-1\n",
+ "#After substituting values and simolifying further we get\n",
+ "#SE_2=21666.67*pi*p**2*E**-1\n",
+ "\n",
+ "#Let Y be the Ratio of SE in bar B and SE in bar A\n",
+ "Y=21666.67*67500**-1\n",
+ "\n",
+ "#result\n",
+ "print\"Gradually applied Load is\",round(X,2)\n",
+ "print\"Gradually applied Load is\",round(Y,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gradually applied Load is 1.63\n",
+ "Gradually applied Load is 0.32\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.46,Page No.74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables \n",
+ "\n",
+ "W=100 #N #Load\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus \n",
+ "h=60 #mm #Height through Load falls down\n",
+ "L=400 #mm #Length of collar\n",
+ "d=30 #mm #diameter of bar\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A=pi*4**-1*d**2 #mm**2 #Area of bar\n",
+ "\n",
+ "#Instantaneous stress produced is\n",
+ "p=W*A**-1*(1+(1+(2*A*E*h*(W*L)**-1))**0.5)\n",
+ "\n",
+ "#Now the EXtension of the bar is neglected in calculating work doneby the Load,then\n",
+ "P=(2*E*h*W*(A*L)**-1)**0.5\n",
+ "\n",
+ "#Let percentage error be denoted by E1\n",
+ "#Percentage error in approximating is\n",
+ "E1=(p-P)*p**-1*100\n",
+ "\n",
+ "#Instantaneous Extension produced is\n",
+ "dell_l=round(P,3)*E**-1*L\n",
+ "\n",
+ "#Result\n",
+ "print\"The Instantaneous stress is\",round(p,2),\"N/mm\"\n",
+ "print\"Percentage Error is\",round(E1,2)\n",
+ "print\"The Instantaneous extension is\",round(dell_l,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Instantaneous stress is 92.27 N/mm\n",
+ "Percentage Error is 0.15\n",
+ "The Instantaneous extension is 0.18 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.47,Page No.75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=20 #mm #Diameter of steel bar\n",
+ "L=1000 #mm #Length of bar\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus \n",
+ "p=300 #N/mm**2 #max Permissible stress\n",
+ "h=50 #mm #Height through which weight will fall\n",
+ "w=600 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#ARea of steel bar\n",
+ "A=pi*4**-1*d**2\n",
+ "\n",
+ "#Instantaneous extension is\n",
+ "dell_l=p*L*E**-1 #mm \n",
+ "\n",
+ "#Work done by Load \n",
+ "#W=W1*(h+dell_l)\n",
+ "\n",
+ "#Volume of bar\n",
+ "V=round(A,2)*L\n",
+ "#Let E1 be the strain Energy\n",
+ "E1=p**2*(2*E)**-1*V\n",
+ "\n",
+ "#Answer in Book for Strain Energy is Incorrect \n",
+ "\n",
+ "#Now Equating Workdone by Load to strain Energy \n",
+ "W1=E1*51.5**-1\n",
+ "\n",
+ "#Now when w=600 N\n",
+ "#Let W2 be the Work done by the Load\n",
+ "#W2=w(h2*dell_l)\n",
+ "\n",
+ "h=E1*w**-1-dell_l\n",
+ "\n",
+ "#Result\n",
+ "print\"The Max Lodad which can Fall from a height of 50 mm on the collar is\",round(W1,2),\"N\"\n",
+ "print\"the Max Height from which a 600 N Load can fall on the collar is\",round(h,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Max Lodad which can Fall from a height of 50 mm on the collar is 1372.54 N\n",
+ "the Max Height from which a 600 N Load can fall on the collar is 116.31 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.48,Page No.76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D_s=30 #mm #Diameter of steel rod\n",
+ "d=30 #mm #Internal Diameter of copper tube\n",
+ "D=40#mm #External Diameter of copper tube\n",
+ "E_s=2*10**5 #N/mm**2 #Young's Modulus of Steel rod\n",
+ "E_c=1*10**5#N/mm**2 #Young's Modulus of copper tube\n",
+ "P=100 #N #Load\n",
+ "h=40 #mm #height from which Load falls\n",
+ "L=800 #mm #Length \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Area of steel rod\n",
+ "A_s=pi*4**-1*D_s**2\n",
+ "\n",
+ "#Area of copper tube\n",
+ "A_c=pi*4**-1*(D**2-d**2)\n",
+ "\n",
+ "#But Dell_s=dell_c=dell\n",
+ "#p_s*E_s**-1*L=p_c*L*E_c\n",
+ "#After simplifying furthe we get\n",
+ "#p_s=2*p_c\n",
+ "\n",
+ "#Now Equating internal Energy to Workdone we get\n",
+ "p_c=(2*P*h*L**-1*(4*A_s*E_s**-1+A_c*E_c**-1))**0.5\n",
+ "p_s=2*p_c\n",
+ "\n",
+ "#Result\n",
+ "print A_s\n",
+ "print\"STress produced in steel is\",round(p_s,2),\"N/mm**2\"\n",
+ "print\"STress produced in copper is\",round(p_c,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "706.858347058\n",
+ "STress produced in steel is 0.89 N/mm**2\n",
+ "STress produced in copper is 0.44 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2.49,Page No.77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "dell=0.25 #mm #Instantaneous Extension\n",
+ "\n",
+ "#Bar-A\n",
+ "b1=25 #mm #width of bar\n",
+ "D1=500 #mm #Depth of bar\n",
+ "\n",
+ "#Bar-B\n",
+ "b2_1=25 #mm #width of upper bar\n",
+ "b2_2=15 #mm #Width of Lower Bar\n",
+ "L2=200 #mm #Length of upper bar\n",
+ "L1=300 #mm #Length of Lower bar\n",
+ "\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus of bar\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Strain\n",
+ "e=dell*D1**-1 \n",
+ "\n",
+ "#Load\n",
+ "p=e*E\n",
+ "\n",
+ "#Area of bar-A\n",
+ "A=pi*4**-1*25**2\n",
+ "\n",
+ "#Volume of bar-A\n",
+ "V=A*D1\n",
+ "\n",
+ "#Let E1 be the Energy of Blow\n",
+ "#Energy of Blow\n",
+ "E1=p**2*(E)**-1*V\n",
+ "\n",
+ "#Let p2 be the Max stress in bar B When this blow is applied.\n",
+ "#the max stress occurs in the 15mm dia. portion,Hence, the stress in 25 mm dia.portion is\n",
+ "#p2*pi*4**-1*b2_2**2*(pi*4**-1*b2_2**2=0.36*p\n",
+ "\n",
+ "#Strain Energy of bar B\n",
+ "#E2=p**2*(2*E)**-1*v1+1*(2*E)**-1*(0.36*p2)**2*v2\n",
+ "#After substituting values and Further substituting values we get\n",
+ "#E2=0.1643445*p2**2\n",
+ "\n",
+ "#Equating it to Energy of applied blow,we get\n",
+ "p2=(12271.846*0.1643445**-1)**0.5\n",
+ "\n",
+ "#Stress in top portion\n",
+ "sigma=0.36*p2\n",
+ "\n",
+ "#Extension in Bar-1\n",
+ "dell_1=p2*E**-1*L1\n",
+ "\n",
+ "#Extension in Bar-2\n",
+ "dell_2=0.36*p2*E**-1*L2\n",
+ "\n",
+ "#Extension of bar\n",
+ "dell_3=dell_1+dell_2\n",
+ "\n",
+ "#Result\n",
+ "print\"Instantaneous Max stress is\",round(sigma,2),\"N/mm**2\"\n",
+ "print\"extension in Bar is\",round(dell_3,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Instantaneous Max stress is 98.37 N/mm**2\n",
+ "extension in Bar is 0.51 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.3_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.3_5.ipynb
new file mode 100644
index 00000000..f136c4ad
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.3_5.ipynb
@@ -0,0 +1,1588 @@
+{
+ "metadata": {
+ "name": "chapter no.3.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3:Shear Force And Bending Moment Diagrams in Statically Determinate Beams"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.1,Page No.100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AC=L_CD=1 #m #Length of AC & CD\n",
+ "L_DB=1.5 #m #Lengh of DB\n",
+ "L=3.5 #m #Length of Beam\n",
+ "F_B=10 #KN #Force at pt B\n",
+ "F_C=F_D=20 #KN #Force at pt C & D\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R_A=F_C+F_D+F_B #KN #Force at support A \n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At pt B\n",
+ "V_B1=0 #KN \n",
+ "V_B2=F_B #KN\n",
+ "\n",
+ "#S.F At pt D\n",
+ "V_D1=V_B2 #KN\n",
+ "V_D2=V_D1+F_D #KN\n",
+ "\n",
+ "#S.F At pt C \n",
+ "V_C1=V_D2 #KN\n",
+ "V_C2=V_D2+F_C #KN\n",
+ "\n",
+ "#S.F At Pt A\n",
+ "V_A1=V_C2 #KN\n",
+ "V_A2=V_C2-R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At Pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M AT Pt D\n",
+ "M_D=F_B*L_DB #KN.m\n",
+ "\n",
+ "#B.M At pt C\n",
+ "M_C=F_B*(L_DB+L_CD)+F_D*L_CD #KN.m\n",
+ "\n",
+ "#B.M At pt A\n",
+ "M_A=F_B*L+F_D*(L_CD+L_AC)+F_C*L_AC\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_DB,L_CD+L_DB,L_CD+L_DB,L_CD+L_DB+L_AC,L_CD+L_DB+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_D1,V_D2,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D,M_C,M_A]\n",
+ "X2=[0,L_DB,L_DB+L_CD,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEPCAYAAABP1MOPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGkFJREFUeJzt3XtwVOXhxvHnhAA1QLhnY8HfhOFOUBIupmrFxZggUGIg\nEMtYGkEGRwatnWkRO45ipTZMbZXSmV4cBqlaK5UpxBuCxUVFEKSxtKUKIoEAySqGlGsmt/f3B2U1\nJptNlpy98H4/Mzuzl7NnH8+afTjnPRfHGGMEALBWQrQDAACiiyIAAMtRBABgOYoAACxHEQCA5SgC\nALBcotsfkJaWpuTkZHXq1EmdO3fWrl27VFVVpdtvv12HDx9WWlqa1q1bp169erkdBQDQAtfXCBzH\nkc/nU2lpqXbt2iVJKi4uVk5Ojvbv36/s7GwVFxe7HQMAEERENg19/Zi1kpISFRUVSZKKioq0YcOG\nSMQAALQgImsEt9xyi8aPH6+nn35akuT3++XxeCRJHo9Hfr/f7RgAgCBcHyPYvn27rrzySn3++efK\nycnRiBEjmrzuOI4cx3E7BgAgCNeL4Morr5Qk9e/fXzNmzNCuXbvk8XhUWVmp1NRUVVRUKCUlpdn7\nhgwZooMHD7odDwAuK4MHD9Ynn3zSrve4umno3LlzOn36tCTp7Nmz2rx5s66++mrl5eVp7dq1kqS1\na9cqPz+/2XsPHjwoY0zc3h555JGoZ7AxO/mjf5PiO3+8L/9w/gHt6hqB3+/XjBkzJEn19fW64447\nlJubq/Hjx6uwsFCrV68O7D4KAIgOV4tg0KBB+vDDD5s936dPH7355ptufjQAoI04stglXq832hHC\nFs/ZJfJHnzfaAS5J/C//9nPMhY16McdxHMVoNACtcByJP93oCee3kzUCALAcRQAAlqMIAMByFAEA\nWI4iAADLUQQAYDmKAAAsRxEAgOUoAgCwHEUAAJajCADAchQBAFiOIgAAy1EEAGA5igAALEcRAIDl\nKAIAsBxFAACWowgAwHIUAQBYjiIAAMtRBABgOYoAACxHEQCA5SgCALAcRQAAlqMIAMByFAEAWI4i\nAADLUQQAYDmKAAAsRxEAgOUoAgCwHEUAAJZzvQgaGhqUmZmp6dOnS5KqqqqUk5OjYcOGKTc3V9XV\n1W5HAAC0wvUiWLlypUaNGiXHcSRJxcXFysnJ0f79+5Wdna3i4mK3IwAAWuFqERw9elSvvfaaFixY\nIGOMJKmkpERFRUWSpKKiIm3YsMHNCACAEFwtgh/+8If6xS9+oYSELz/G7/fL4/FIkjwej/x+v5sR\nAAAhJLo141deeUUpKSnKzMyUz+drcRrHcQKbjFqybNmywH2v1yuv19uxIQEgzvl8vqC/sW3lmIvb\nbDrYT37yEz377LNKTExUTU2NTp06pZkzZ2r37t3y+XxKTU1VRUWFJk2apI8++qh5MMeRS9EAuMhx\nJP50oyec307XiuCrtm3bpieeeEIvv/yylixZor59++qBBx5QcXGxqqurWxwwpgiA+EQRRFc4v50R\nO47g4iagpUuXasuWLRo2bJi2bt2qpUuXRioCAKAFEVkjCAdrBEB8Yo0gumJ6jQAAEJsoAgCwHEUA\nAJajCADAchQBAFiOIgAAy1EEAGA5igAALEcRAIDlKAIAsBxFAACWowgAwHIUAQBYjiIAAMtRBABg\nOYoAACxHEQCA5SgCALAcRQAAlqMIAMByicFemDRpUovPO44jSdq6das7iQAAEeWYIJe7/+CDD76c\n6H8//jt37tSKFSuUkpLS5HVXgjmOgkQDEMMcR+JPN3rC+e0MWgRf5fP5tHz5cp0/f14PPfSQpkyZ\nEnbINgejCIC4RBFEVzi/nUE3DUnSpk2b9LOf/UxdunTRQw89FHRzEQAgfgVdI5gwYYI+//xz/ehH\nP9J11113YeL/bSKSpLFjx7objDUCIC6xRhBdHbppyOv1Bmbakrfeeqt96dqJIgDiE0UQXa6METQ2\nNiohoelepjU1NfrGN77R/oTtCUYRAHGJIoiucH47Qx5HsGDBgiaPz5w5o6lTp7YvGQAgZoUsggED\nBmjRokWSpJMnTyo3N1dz5851PRgAIDLatPvoj3/8Y506dUp79uzR0qVLNWvWLPeDsWkIiEtsGoqu\nDh0jWL9+fZOZPvbYY5owYYJuvfVWOY6jmTNnXnri1oJRBEBcogiiq0OL4M4772yyx5AxpsnjNWvW\nhBmzjcEoAiAuUQTR5dqRxdFAEQDxiSKILlf2GgIAXN4oAgCwnGtFUFNTo6ysLGVkZGjUqFF68MEH\nJUlVVVXKycnRsGHDlJubq+rqarciAADaIOQYQU1NjdavX6+ysjLV19dfeJPj6OGHHw4583Pnzikp\nKUn19fX69re/rSeeeEIlJSXq16+flixZohUrVujkyZMqLi5uHowxAiAuMUYQXa6MEdx2220qKSlR\n586d1b17d3Xv3l3dunVr08yTkpIkSbW1tWpoaFDv3r1VUlKioqIiSVJRUZE2bNjQrsAAgI7V6mmo\nJenYsWN64403wpp5Y2Ojxo4dq4MHD+qee+5Renq6/H6/PB6PJMnj8cjv94c1bwBAxwi5RnD99ddr\n79694c08IUEffvihjh49qrfffrvZGUsdxwl6dlMAQGSEXCN45513tGbNGg0aNEhdu3aVdOEHvD3l\n0LNnT02bNk179uyRx+NRZWWlUlNTVVFRoZSUlKDvW7ZsWeC+1+sNnBobaE2fPtLJk9FOYa/evaOd\nwC4+n08+n++S5hFysLisrKzF59PS0lqd8YkTJ5SYmKhevXrp/Pnzmjx5sh555BG98cYb6tu3rx54\n4AEVFxerurqawWJ0KAYrYbMOvVTlqVOnlJycrOTk5LDCVFRUqKioSI2NjWpsbNTcuXOVnZ2tzMxM\nFRYWavXq1UpLS9O6devCmj8AoGMEXSOYNm2aXn31VaWlpTXbju84jj799FN3g7FGgDCxRgCbca4h\nQBQB7Ma5hgAA7UYRAIDlKAIAsFybiuDisQSS9Pnnn+vQoUOuhgIARE7IweJly5Zpz549+vjjj7V/\n/34dO3ZMhYWF2r59u7vBGCxGmBgshs1cGSz+61//qo0bNwZONDdgwACdPn06vIQAgJgTsgi6du2q\nhIQvJzt79qyrgQAAkRWyCGbPnq27775b1dXV+sMf/qDs7GwtWLAgEtkAABHQpgPKNm/erM2bN0uS\nJk+erJycHPeDMUaAMDFGAJu5cmTxoUOHlJqaqiuuuEKSdP78efn9/pAnnbtUFAHCRRHAZq4MFs+a\nNUudOnX68g0JCZo1a1b70wEAYlLIImhoaFCXLl0Cj7t27aq6ujpXQwEAIidkEfTr108bN24MPN64\ncaP69evnaigAQOSEHCP45JNPdMcdd+j48eOSpIEDB+rZZ5/VkCFD3A3GGAHCxBgBbNahF6aRLmwW\n+t3vfqf3338/cBBZjx49wk8IAIg5rRZBp06d9O6778oYQwEAwGUq5MXrMzIydNttt2n27NlKSkqS\ndGHVY+bMma6HAwC4L2QR1NTUqE+fPtq6dWuT5ykCALg8cKlKXHYYLIbNXDmgrLy8XDNmzFD//v3V\nv39/FRQU6OjRo2GHBADElpBFMG/ePOXl5en48eM6fvy4pk+frnnz5kUiGwAgAkJuGhozZoz+8Y9/\nhHyuw4OxaQhhYtMQbObKpqG+ffvq2WefVUNDg+rr6/Xcc89xZDEAXEZCrhGUlZXp3nvv1c6dOyVJ\n119/vVatWqX/+7//czcYawQIE2sEsFmHnoZ6586d+ta3vtUhwcJBESBcFAFs1qGbhu65557A/euu\nuy78VACAmBZyjEC6cFAZAODyFPTI4oaGBlVVVckYE7j/VX369HE9HADAfUHHCNLS0uQ4jiTJGBO4\nL13YBvXpp5+6G4wxAoSJMQLYzJVrFkcLRYBwUQSwmSvHEQAALm8UAQBYjiIAAMu1WgT19fUaPnx4\npLIAAKKg1SJITEzUiBEjdPjw4UjlAQBEWMgrlFVVVSk9PV3XXnutunXrJunCqHRJSUnImZeXl+v7\n3/++PvvsMzmOo4ULF+q+++5TVVWVbr/9dh0+fFhpaWlat26devXqden/NQCAdgu5+6jP52vxea/X\nG3LmlZWVqqysVEZGhs6cOaNx48Zpw4YNWrNmjfr166clS5ZoxYoVOnnypIqLi5sGY/dRhIndR2Gz\nmD+OID8/X4sXL9bixYu1bds2eTweVVZWyuv16qOPPmoajCJAmCgC2MyV4wh27NihCRMmqHv37urc\nubMSEhKUnJzc7nBlZWUqLS1VVlaW/H6/PB6PJMnj8cjv97d7fgCAjhGyCBYvXqw//elPGjp0qGpq\narR69WotWrSoXR9y5swZFRQUaOXKlerRo0eT1xzHaXL6CgBAZIUcLJakoUOHqqGhQZ06ddK8efOU\nkZHRbJt+MHV1dSooKNDcuXOVn58vSYFNQqmpqaqoqFBKSkqL7122bFngvtfrbdO4BADYxOfzBR3L\nbauQYwQTJ07Uli1btGDBAl155ZVKTU3V2rVr23TNYmOMioqK1LdvXz355JOB55csWaK+ffvqgQce\nUHFxsaqrqxksRodhjAA2c2WwuKysTB6PR7W1tXryySd16tQpLVq0SEOGDAk583fffVcTJ07UNddc\nE9j88/Of/1zXXnutCgsLdeTIkaC7j1IECBdFAJu5ttfQuXPnVF5eHtGjjCkChIsigM1c2WuopKRE\nmZmZmjx5siSptLRUeXl54SUEAMSckEWwbNkyvf/+++rdu7ckKTMz0/WL0gAAIidkEXTu3LnZ9vuE\nBE5aCgCXi5C/6Onp6Xr++edVX1+vAwcO6N5779X1118fiWwAgAgIWQSrVq3Sv//9b3Xt2lVz5sxR\ncnKynnrqqUhkAwBEANcsxmWHvYZgs3B+O0MeWfzxxx/riSeeUFlZmerr6wMftHXr1vBSAgBiSsg1\ngmuuuUb33HOPxo4dq06dOl14k+No3Lhx7gZjjQBhYo0ANnPlgLJx48Zpz549lxQsHBQBwkURwGYd\nWgRVVVUyxmjVqlXq37+/Zs6cqa5duwZe79Onz6WlDRWMIkCYKALYrEOLIC0tLejpoR3Hcf2gMooA\n4aIIYLOYv0JZe1AECBdFAJt16LmGdu/erYqKisDjtWvXKi8vL3DxeQDA5SFoESxcuDAwJvD2229r\n6dKlKioqUnJyshYuXBixgAAAdwU9jqCxsTEwIPziiy/q7rvvVkFBgQoKCjRmzJiIBQQAuCvoGkFD\nQ4Pq6uokSW+++aYmTZoUeO3igWUAgPgXdI1gzpw5uummm9SvXz8lJSXpxhtvlCQdOHCg2dlIAQDx\nq9W9hnbs2KHKykrl5uaqW7dukqT9+/frzJkzGjt2rLvB2GsIYWKvIdiM3UcBUQSwmyuXqgQAXN4o\nAgCwHEUAAJajCADAchQBAFiOIgAAy1EEAGA5igAALEcRAIDlKAIAsBxFAACWowgAwHIUAQBYjiIA\nAMtRBABgOYoAACxHEQCA5Vwtgvnz58vj8ejqq68OPFdVVaWcnBwNGzZMubm5qq6udjMCACAEV4tg\n3rx52rRpU5PniouLlZOTo/379ys7O1vFxcVuRgAAhOD6NYvLyso0ffp0/fOf/5QkjRgxQtu2bZPH\n41FlZaW8Xq8++uij5sG4ZjHCxDWLYbO4uGax3++Xx+ORJHk8Hvn9/khHAAB8RWI0P9xxHDmO08rr\ny77yyPu/G9C63r2jnQCIHJ/PJ5/Pd0nziHgRXNwklJqaqoqKCqWkpASd1phlkQsGAHHI6/XK6/UG\nHj/66KPtnkfENw3l5eVp7dq1kqS1a9cqPz8/0hEAAF/h6mDxnDlztG3bNp04cUIej0c//elPddtt\nt6mwsFBHjhxRWlqa1q1bp169ejUPxmAxALRbOL+dru81FC6KAADaLy72GgIAxBaKAAAsRxEAgOUo\nAgCwHEUAAJajCADAchQBAFiOIgAAy1EEAGA5igAALEcRAIDlKAIAsBxFAACWowgAwHIUAQBYjiIA\nAMtRBABgOYoAACxHEQCA5SgCALAcRQAAlqMIAMByFAEAWI4iAADLUQQAYDmKAAAsRxEAgOUoAgCw\nHEUAAJajCADAchQBAFiOIgAAy1EEAGA5igAALEcRAIDlolYEmzZt0ogRIzR06FCtWLEiWjEAwHpR\nKYKGhgYtXrxYmzZt0r59+/TCCy/oP//5TzSiuMbn80U7QtjiObtE/mgjf/yJShHs2rVLQ4YMUVpa\nmjp37qzvfve72rhxYzSiuCae/2eK5+wS+aON/PEnKkVw7NgxXXXVVYHHAwcO1LFjx6IRBQCsF5Ui\ncBwnGh8LAGiJiYIdO3aYyZMnBx4//vjjpri4uMk0gwcPNpK4cePGjVs7boMHD273b7JjjDGKsPr6\neg0fPlx/+9vf9M1vflPXXnutXnjhBY0cOTLSUQDAeolR+dDERP3mN7/R5MmT1dDQoLvuuosSAIAo\nicoaAQAgdkT1yOK2HFR23333aejQoRozZoxKS0sjnLB1ofL7fD717NlTmZmZyszM1PLly6OQsmXz\n58+Xx+PR1VdfHXSaWF72ofLH8rKXpPLyck2aNEnp6ekaPXq0fv3rX7c4Xax+B23JH6vfQU1NjbKy\nspSRkaFRo0bpwQcfbHG6WF32bcnf7mV/SaO+l6C+vt4MHjzYHDp0yNTW1poxY8aYffv2NZnm1Vdf\nNVOmTDHGGLNz506TlZUVjagtakv+t956y0yfPj1KCVv39ttvm7///e9m9OjRLb4ey8vemND5Y3nZ\nG2NMRUWFKS0tNcYYc/r0aTNs2LC4+v+/Lflj+Ts4e/asMcaYuro6k5WVZd55550mr8fysjcmdP72\nLvuorRG05aCykpISFRUVSZKysrJUXV0tv98fjbjNtPWgOBOjW95uvPFG9e7dO+jrsbzspdD5pdhd\n9pKUmpqqjIwMSVL37t01cuRIHT9+vMk0sfwdtCW/FLvfQVJSkiSptrZWDQ0N6tOnT5PXY3nZS6Hz\nS+1b9lErgrYcVNbSNEePHo1Yxta0Jb/jOHrvvfc0ZswYTZ06Vfv27Yt0zLDF8rJvi3ha9mVlZSot\nLVVWVlaT5+PlOwiWP5a/g8bGRmVkZMjj8WjSpEkaNWpUk9djfdmHyt/eZR+VvYakth9U9vVWi5WD\n0dqSY+zYsSovL1dSUpJef/115efna//+/RFI1zFiddm3Rbws+zNnzmjWrFlauXKlunfv3uz1WP8O\nWssfy99BQkKCPvzwQ/33v//V5MmT5fP55PV6m0wTy8s+VP72LvuorREMGDBA5eXlgcfl5eUaOHBg\nq9McPXpUAwYMiFjG1rQlf48ePQKrcFOmTFFdXZ2qqqoimjNcsbzs2yIeln1dXZ0KCgr0ve99T/n5\n+c1ej/XvIFT+ePgOevbsqWnTpumDDz5o8nysL/uLguVv77KPWhGMHz9eBw4cUFlZmWpra/Xiiy8q\nLy+vyTR5eXn64x//KEnauXOnevXqJY/HE424zbQlv9/vD/yrYteuXTLGtLgtLxbF8rJvi1hf9sYY\n3XXXXRo1apTuv//+FqeJ5e+gLflj9Ts4ceKEqqurJUnnz5/Xli1blJmZ2WSaWF72bcnf3mUftU1D\nwQ4q+/3vfy9JuvvuuzV16lS99tprGjJkiLp166Y1a9ZEK24zbcn/0ksv6be//a0SExOVlJSkP//5\nz1FO/aU5c+Zo27ZtOnHihK666io9+uijqqurkxT7y14KnT+Wl70kbd++Xc8995yuueaawB/x448/\nriNHjkiK/e+gLflj9TuoqKhQUVGRGhsb1djYqLlz5yo7Oztufnvakr+9y54DygDAclyqEgAsRxEA\ngOUoAgCwHEUAAJajCADAchQBAFiOIkBcaek0DB3pqaee0vnz5zv8815++eWgp1oHoo3jCBBXevTo\nodOnT7s2/0GDBumDDz5Q3759I/J5QCxgjQBx7+DBg5oyZYrGjx+viRMn6uOPP5Yk3XnnnfrBD36g\nG264QYMHD9b69eslXThz46JFizRy5Ejl5uZq2rRpWr9+vVatWqXjx49r0qRJys7ODsz/oYceUkZG\nhq677jp99tlnzT7//vvv12OPPSZJeuONN3TTTTc1m+aZZ57Rvffe22quryorK9OIESM0b948DR8+\nXHfccYc2b96sG264QcOGDdPu3bsvfcEBF4V5XQQgKrp3797suZtvvtkcOHDAGHPhIiI333yzMcaY\noqIiU1hYaIwxZt++fWbIkCHGGGP+8pe/mKlTpxpjjKmsrDS9e/c269evN8YYk5aWZr744ovAvB3H\nMa+88ooxxpglS5aY5cuXN/v8c+fOmfT0dLN161YzfPhw8+mnnzab5plnnjGLFy9uNddXHTp0yCQm\nJpp//etfprGx0YwbN87Mnz/fGGPMxo0bTX5+fshlBbRV1M41BHSEM2fOaMeOHZo9e3bgudraWkkX\nTht88ayYI0eODFxY5N1331VhYaEkBc7nHkyXLl00bdo0SdK4ceO0ZcuWZtNcccUVevrpp3XjjTdq\n5cqVGjRoUKuZg+X6ukGDBik9PV2SlJ6erltuuUWSNHr0aJWVlbX6GUB7UASIa42NjerVq1fQa8p2\n6dIlcN/8bzjMcZwm55o3rQyTde7cOXA/ISFB9fX1LU63d+9e9e/fv9nFiYJpKdfXde3atclnX3xP\nazmAcDBGgLiWnJysQYMG6aWXXpJ04Ud17969rb7nhhtu0Pr162WMkd/v17Zt2wKv9ejRQ6dOnWpX\nhsOHD+tXv/qVSktL9frrr2vXrl3NpmmtbIBoowgQV86dO6errroqcHvqqaf0/PPPa/Xq1crIyNDo\n0aNVUlISmP6rV5W6eL+goEADBw7UqFGjNHfuXI0dO1Y9e/aUJC1cuFC33nprYLD46+//+lWqjDFa\nsGCBfvnLXyo1NVWrV6/WggULApungr032P2vvyfY41i6WhbiH7uPwkpnz55Vt27d9MUXXygrK0vv\nvfeeUlJSoh0LiArGCGCl73znO6qurlZtba0efvhhSgBWY40AACzHGAEAWI4iAADLUQQAYDmKAAAs\nRxEAgOUoAgCw3P8DfIlLuPJXvGsAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5dde2d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5df0ab0>"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.2,Page No.101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "w1=10 #KN/m #u.d.L\n",
+ "F_D=20 #KN #Force at pt D\n",
+ "F_C=30 #KN #Force at pt C\n",
+ "L_DB=4 #m #Length of DB\n",
+ "L_CD=L_AC=2 #m #Length of AC & CD\n",
+ "L=8 #m #Length of Beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A And R_B be the Reactions at pt A and B \n",
+ "#R_A+R_B=90 \n",
+ "#Now Taking moment at A,M_A we get\n",
+ "R_A=(w1*L_DB*(L_DB*2**-1)+F_D*L_DB+F_C*(L_CD+L_DB))*L**-1\n",
+ "R_B=90-R_A\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At Pt B\n",
+ "V_B1=0 #KN\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F At pt D\n",
+ "V_D1=R_B-w1*L_DB #KN\n",
+ "V_D2=V_D1-F_D #KN\n",
+ "\n",
+ "#S.F at Pt C\n",
+ "V_C1=V_D2 #KN\n",
+ "V_C2=V_C1-F_C \n",
+ "\n",
+ "#S.F at PT A\n",
+ "V_A1=V_C2 #KN\n",
+ "V_A2=V_C2+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At Pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M At Pt D\n",
+ "M_D=-R_B*L_DB+w1*L_DB*L_DB*2**-1 #KN.m\n",
+ "\n",
+ "#B.M At PT C\n",
+ "M_C=-R_B*(L_DB+L_CD)+w1*L_DB*(L_DB*2**-1+L_CD)+F_D*L_CD #KN.m\n",
+ "\n",
+ "#B.M At Pt A\n",
+ "M_A=-R_B*L+w1*L_DB*(L_DB*2**-1+L_CD+L_AC)+F_D*(L_CD+L_AC)+F_C*L_AC\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_DB,L_CD+L_DB,L_CD+L_DB,L_CD+L_DB+L_AC,L_CD+L_DB+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_D1,V_D2,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D,M_C,M_A]\n",
+ "X2=[0,L_DB,L_DB+L_CD,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEPCAYAAACtCNj2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH9FJREFUeJzt3XtUlHX+B/D3IGDJRUERiqEdFkQYUBjwWrmCiqUGeUEK\nMk1T98h6qbaMzumYv2MKapau2ba55qU8aS2nQDNXXBzFDC9hkcsmKExxtVYkRTQEvr8/WJ9AZhiQ\nmXlmmPfrnDnNDDPMe92at8/381wUQggBIiIiAA5yByAiIuvBUiAiIglLgYiIJCwFIiKSsBSIiEjC\nUiAiIomspVBbW4uEhASEhIRArVbj5MmTqKmpQWxsLIKCgjBx4kTU1tbKGZGIyK7IWgrLli3D5MmT\n8Z///AcFBQUIDg5Geno6YmNjUVRUhPHjxyM9PV3OiEREdkUh18Frv/zyCzQaDUpKSto8HxwcjKNH\nj8Lb2xvV1dWIjo7G999/L0dEIiK7I9uWQmlpKby8vDB37lxERkZiwYIFuH79Oi5dugRvb28AgLe3\nNy5duiRXRCIiuyNbKTQ2NiI/Px8pKSnIz8+Hi4tLu6UihUIBhUIhU0IiIjskZFJVVSVUKpX0ODc3\nV0yePFkEBweLqqoqIYQQlZWVYvDgwe3eGxAQIADwxhtvvPHWhVtAQIDR72bZthR8fHzg5+eHoqIi\nAMDhw4cRGhqKuLg47Ny5EwCwc+dOTJ06td17L168CCGE1d9ee+012TMwJ3MyJzPevl28eNHod7Oj\nab/qu2bz5s146qmn0NDQgICAAGzfvh1NTU1ITEzEtm3boFKp8PHHH8sZkYjIrshaCuHh4Th9+nS7\n5w8fPixDGiIi4hHNZhQdHS13hE5hTtNiTtOyhZy2kLGzZDtOoTsUCgVsMDYRkaw6893JLQUiIpKw\nFIiISMJSICIiCUuBiIgkLAUiIpKwFIiISMJSICIiCUuBiIgkLAUiIpKwFIiISMJSICIiCUuBiIgk\nLAUiIpKwFIiISMJSICIiCUuBiIgkNlsKubkAr7NDRGRaNlsK8+YBI0YAH30E3Loldxoiop7BZkvh\n/HlgxQrgvfeA3/8eWL8eqK2VOxURkW2z2VJwcADi4oAjR4DMTKCgoKUcli4FLl6UOx0RkW2y2VJo\nLTIS+OAD4LvvAFdXYNQoYPp0zh2IiLpKIYTtfW0qFAp0FPv6dWDnTuCtt4B+/YAXXgASEgAnJwuG\nJCKyMsa+O4EeWgq3NTcDn38OvPkmcOFCy9LSggUtRUFEZG86893ZI5aPDOHcgYioa3p0KbTGuQMR\nkXE9evmoI5w7EJG9sYnlo6amJmg0GsTFxQEAampqEBsbi6CgIEycOBG1Zjr4wMUFSEnh8Q5ERK3J\nXgqbNm2CWq2GQqEAAKSnpyM2NhZFRUUYP3480tPTzfr5nDsQEf1G1lIoLy/HgQMHMH/+fGmTJisr\nC3PmzAEAzJkzB5999pnF8uibO0ybxrkDEdkPWUvh+eefx/r16+Hg8FuMS5cuwdvbGwDg7e2NS5cu\nWTyXry+wZg2g0wGxsTzPEhHZD9lKYf/+/Rg4cCA0Go3BwYdCoZCWleRgaO6wbh1w5YpssYiIzMZR\nrg8+ceIEsrKycODAAdy8eRNXr17F008/DW9vb1RXV8PHxwdVVVUYOHCg3vevXLlSuh8dHY3o6Giz\nZb09d4iLA/LzW/ZYCggAZs0Cli1ruU9EZG20Wi20Wm2X3mMVu6QePXoUb7zxBvbt24fly5ejf//+\nePnll5Geno7a2tp2w2ZT7JLaXRUVwJYtwNatwMMPt+zS+vDDgIwbNkREHbKJXVJvu71MlJqaiuzs\nbAQFBSEnJwepqakyJ9OPcwci6omsYkuhq6xhS+FOd55nacmSlvMseXjInYyIqIVNbSnYujuPd/ju\nu5ZZA493ICJbwlIwAx7vQES2istHFsDzLBGRNbD76ylYG84diEhOnClYGc4diMjasRRkwrkDEVkj\nLh9ZCc4diMjcOFOwQZw7EJG5cKZggzh3ICI5sRSsGOcORGRpXD6yIbfnDhs3An37cu5ARF3DmUIP\nxbkDEd0NzhR6qNZzh6ws4Nw5zh2IyDRYCjZOowF27eLcgYhMg8tHPcz16y0l8dZbnDsQUVucKdgx\nzh2I6E6cKdgxzh2I6G6wFOwA5w5E1FlcPrJDnDsQ2SfOFKhDnDsQ2RfOFKhDnDsQ0Z1YCgSAcwci\nasHlI9KLcweinoczBeo2zh2Ieg7OFKjbOHcgsi8sBeo0zh2Iej4uH9Fd49yByLZwpkAWwbkDkW3o\nVinExMQY/KUAkJOT0814d4+lYL3Onm3Zcti/H5g1C1i2rGUGQUTy61YpnDlzps0vAoC8vDysXbsW\nAwcObPPzu1FWVobZs2fjp59+gkKhwMKFC7F06VLU1NTgiSeewA8//ACVSoWPP/4Y/fr16/L/MJJX\nRQWwZQuwdSvw8MMtS0sPPwz8718lIpKByZaPtFotXn/9ddy4cQOvvvoqJk2a1O1w1dXVqK6uRkRE\nBOrq6hAVFYXPPvsM27dvx4ABA7B8+XKsXbsWV65cQXp6etvQLAWbwbkDkfXodikcPHgQq1evhrOz\nM1599VWDS0qmMHXqVCxevBiLFy/G0aNH4e3tjerqakRHR+P7779vG5qlYHM4dyCSX7dKYfjw4fj5\n55/x4osvYvTo0dIvvC0yMtJkQXU6HcaOHYtz587hgQcewJUrVwAAQgh4enpKj6XQLAWbxrkDkTw6\n893paOgHLi4ucHFxQUZGBjIyMtr9/MiRI91PCKCurg4zZszApk2b4Obm1uZnCoWiTRG1tnLlSul+\ndHQ0oqOjTZKHzO/28Q635w6jRnHuQGQOWq0WWq22S+8xOlNobm6Gg0PbY9xu3ryJe+65p8sB73Tr\n1i089thjmDRpEp577jkAQHBwMLRaLXx8fFBVVYWYmBguH/VwnDsQWYZJTnMxf/78No/r6uowefLk\n7iVDy9LQs88+C7VaLRUCAMTHx2Pnzp0AgJ07d2Lq1Knd/iyybi4uwKJFwPffAytWAO+9B/z+98C6\ndcAdK4dEZGZGS8HX1xcpKSkAgCtXrmDixIl4+umnu/3BX375JT788EMcOXIEGo0GGo0GBw8eRGpq\nKrKzsxEUFIScnBykpqZ2+7PINvA8S0Ty69QuqS+99BKuXr2Kr7/+GqmpqUhISLBENoO4fGQ/eLwD\nkel0a++j28Pl279k1apVGD58OB599FEoFApMnz7d9Ik7iaVgfzh3IOq+bpXCM88802bPHyFEm8fb\nt283UcyuYynYLx7vQHT3eEI86tF4vANR1/AiO9Sj8foORKbHLQXqMTh3IOoYl4/ILnHuQKSfSUrh\n5s2byMjIgE6nQ2Njo/SLV6xYYbqkXcRSoM5qPXd46qmWuUNgoNypiORhkpnC448/jqysLDg5OcHV\n1RWurq5wcXExWUgic2o9d3BzA0aP5tyBqCNGtxTCwsJw7tw5S+XpFG4p0N1qPXdwd2+ZO8ycybkD\n2QeTbCk8+OCDKCgoMFkoIjm1Ps/Sa68Bf/87z7NE1JrRLYWQkBBcuHAB/v7+6N27d8ubFApZi4Jb\nCmRKnDuQvTDJoFmn0+l9XqVS3W2ubmMpkDlUVracZ+m993ieJeqZulUKV69ehbu7O2pqavS+0dPT\n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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5be93d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nsrBgEBGRLP8PAOBgfwTG6goAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5de54f0>"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.3,Page No.102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_DB=L_CD=1.5 #m #Length of DB & CD\n",
+ "L_AC=3 #m #Length of AC\n",
+ "F_D=80 #KN #Force at Pt D\n",
+ "w=40 #KN/m #u.v.l\n",
+ "L=6 #Length of beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the Reactions at Pt A & B respectively\n",
+ "#R_A+R_B=140 \n",
+ "#Taking moment at B we get,M_B\n",
+ "R_A=(1*2**-1*L_AC*w*(1*3**-1*L_AC+(L_CD+L_DB))+F_D*L_DB)*L**-1\n",
+ "R_B=140-R_A\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at B\n",
+ "V_B1=0 #KN\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F At D\n",
+ "V_D1=V_B2 #KN\n",
+ "V_D2=V_D1-F_D #KN\n",
+ "\n",
+ "#S.F at C\n",
+ "V_C=V_D2 #KN\n",
+ "\n",
+ "#S.F At A\n",
+ "V_A1=V_C-1*2**-1*w*L_AC #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M At D\n",
+ "M_D=-R_B*L_DB\n",
+ "\n",
+ "#B.M At C\n",
+ "M_C=F_D*L_CD-R_B*(L_DB+L_CD)\n",
+ "\n",
+ "#B.M At A\n",
+ "M_A=F_D*(L_CD+L_AC)-R_B*L+1*2**-1*w*L_AC*(1*3**-1*L_AC)+R_A\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_DB,L_DB+L_CD,L_DB+L_CD+L_AC,L_DB+L_CD+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_D1,V_D2,V_C,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "X2=[0,L_DB,L_CD+L_DB,L_AC+L_CD+L_DB]\n",
+ "Y2=[M_B,M_D,M_C,M_A]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nRK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58f0c10>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\ngg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x562f910>"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.4,Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M_D=120 #KN.m #B.M at Pt D\n",
+ "F_C=40 #KN #Force at Pt C\n",
+ "w1=20 #KN.m\n",
+ "L_DB=1.5 #m #Length of DB\n",
+ "L_CD=1.5 #m #Length of CD\n",
+ "L_AC=3 #m #Length of AC\n",
+ "L=6 #m #Length of Beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A And R_B be the Reactions at pt A and B \n",
+ "#R_A+R_B=100\n",
+ "#Now Taking Moment At Pt B We get,M_B\n",
+ "R_A=-(M_D-F_C*(L_CD+L_DB)-w1*L_AC*(L_AC*2**-1+L_CD+L_DB))*L**-1\n",
+ "R_B=100-R_A\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At Pt B\n",
+ "V_B1=0\n",
+ "V_B2=R_B\n",
+ "\n",
+ "#S.F at Pt D\n",
+ "V_D=V_B2 #KN\n",
+ "\n",
+ "#S.F At Pt C\n",
+ "V_C1=V_D #KN\n",
+ "V_C2=V_C1-F_C\n",
+ "\n",
+ "#S.F At Pt A\n",
+ "V_A1=V_C2-w1*L_AC #KN\n",
+ "V_A2=V_A1+R_A\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At Pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M At Pt D\n",
+ "M_D1=M_B-R_B*L_DB #KN.m\n",
+ "M_D2=M_B+M_D-R_B*L_DB\n",
+ "\n",
+ "#B.M At Pt C\n",
+ "M_C=M_D-R_B*(L_CD+L_DB)\n",
+ "\n",
+ "#B.M At Pt A\n",
+ "M_A=M_D-R_B*L+F_C*L_AC+w1*L_AC*L_AC*2**-1\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_DB+L_CD,L_DB+L_CD,L_DB+L_CD+L_AC,L_DB+L_CD+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_D,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D1,M_D2,M_C,M_A]\n",
+ "X2=[0,L_DB,L_DB,L_CD+L_DB,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55dcbf0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55ca4b0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.5,Page No.105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_C=20 #KN #Force at Pt C\n",
+ "F_D=40 #KN #Force at pt D\n",
+ "w=20 #KN.m #u.d.l \n",
+ "L_AD=L_DB=2 #m #Length of AD & DB\n",
+ "L_BC=1 #m #Length of BC\n",
+ "L=5 #m #Length of Beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=100 \n",
+ "#Now Taking Moment at B,M_B we get\n",
+ "R_A=-(F_C*L_BC-F_D*L_DB-w*L_AD*(L_AD*2**-1+L_DB))*(L_AD+L_DB)**-1\n",
+ "R_B=100-R_A\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At pt C\n",
+ "V_C1=0 #KN\n",
+ "V_C2=-F_C #KN\n",
+ "\n",
+ "#S.F At PT B\n",
+ "V_B1=V_C2 #KN\n",
+ "V_B2=V_C2+R_B #KN\n",
+ "\n",
+ "#S.F At Pt D\n",
+ "V_D1=V_B2 #KN\n",
+ "V_D2=V_D1-F_D #KN\n",
+ "\n",
+ "#S.F At Pt A\n",
+ "V_A1=V_D2-w*L_AD #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At Pt C\n",
+ "M_C=0 \n",
+ "\n",
+ "#B.M At Pt B\n",
+ "M_B=F_C*L_BC\n",
+ "\n",
+ "#B.M At Pt D\n",
+ "M_D=F_C*(L_BC+L_DB)-R_B*L_DB\n",
+ "\n",
+ "#B.M At Pt A\n",
+ "M_A=F_C*L-R_B*(L_DB+L_AD)+F_D*L_AD+w*L_AD*L_AD*2**-1\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_BC,L_BC,L_BC+L_DB,L_BC+L_DB,L_BC+L_DB+L_AD,L_BC+L_DB+L_AD]\n",
+ "Y1=[V_C1,V_C2,V_B1,V_B2,V_D1,V_D2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_C,M_B,M_D,M_A]\n",
+ "X2=[0,L_BC,L_BC+L_DB,L_BC+L_DB+L_AD]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\niJj+H1U+eMmY8O6MAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5d9c6f0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n776bzMxMs8Myxc0338yVV15pdhiW0KZNG2JjYwEIDQ2la9euHDx40OSozNOsWTMAKisrqa6urvNN\nwJ8dOHCAtWvX8tBDD+kQTXDpd+BTSaG0tJR27do5v9fmNjlfSUkJhYWFJCQkmB2KaU6fPk1sbCyt\nW7emX79+REVFmR2SaZ588knmzp1LUJBPvdV5hM1mIzExkZ49e7Jw4cJaH+dTvymtRJKLqaio4K67\n7uKVV14hNDTU7HBMExQURFFREQcOHOCzzz4L2GMe1qxZQ6tWrYiLi9MoAcjPz6ewsJB169Yxf/58\nNm7cWOPjfCoptG3blv379zu/379//znHYkjg+uWXXxgxYgT33nsvw4YNMzscS2jRogW33347X331\nldmhmOKLL75g9erVdOjQgdTUVD799FPuv/9+s8MyzZm9Yddccw133nlnrefK+VRS6NmzJ7t27aKk\npITKykqWL19OcnKy2WGJyRwOB+PGjSMqKoqJEyeaHY6pjhw54jxL7OTJk6xfv564uDiTozLHrFmz\n2L9/P3v37mXZsmX84Q9/4O233zY7LFOcOHGC48ePA/Dzzz+Tk5NT68pFn0oKwcHBzJs3j4EDBxIV\nFcWoUaMCdoVJamoqN910Ezt37qRdu3ZkZGSYHZJp8vPzeeedd9iwYYOzR0d2drbZYZni0KFD/OEP\nfyA2NpaEhASGDh1K//79zQ7LEgJ5+vnw4cPcfPPNzr8XQ4YMYcCAATU+1qeWpIqIiGf51EhBREQ8\nS0lBRESclBRERMRJSUFERJyUFERExElJQUREnJQUxK95+riL8PBwfvzxxwvuz8vL48svv6zxOVlZ\nWQF97LtYmymd10S8xdMblmw2W43n6mzYsIHmzZvTu3fvC342dOjQgD/bX6xLIwUJOHv27GHQoEH0\n7NmTW265hR07dgAwduxYnnjiCfr06UNERAQrVqwAjFNHx48fT9euXRkwYAC3336782cAr732GvHx\n8XTv3p0dO3ZQUlLCG2+8wV//+lfi4uL4/PPPz7n+W2+9xWOPPXbRa56tpKSEyMhIHnjgAbp06cI9\n99xDTk4Offr0oXPnzmzZssVTvyoJQEoKEnD++Mc/8tprr/HVV18xd+5cxo8f7/xZWVkZ+fn5rFmz\nhilTpgDw4Ycf8t1337F9+3aWLl3Kl19+ec4I5JprrmHr1q08+uijvPjii4SHh/PII48wadIkCgsL\nL2hwc/7opaZrnm/Pnj1MnjyZb7/9lh07drB8+XLy8/N58cUXmTVrlrt+NSKaPpLAUlFRwZdffsnI\nkSOd91VWVgLGm/WZE1a7du3K4cOHAfj8889JSUkBcPYoONvw4cMB6NGjBx9++KHzfldOkKntmufr\n0KED3bp1A6Bbt24kJiYCEB0dTUlJSZ3XEXGVkoIElNOnT3PFFVdQWFhY48+bNm3q/PrMm/r5dYPz\n3+wvueQSAJo0aUJVVVW9Y6rpmuc7cw0w+iWceU5QUFCDrilSG00fSUC5/PLL6dChAx988AFgvAn/\n61//uuhz+vTpw4oVK3A4HBw+fJi8vLw6r9O8eXPnUcXn0xmUYmVKCuLXTpw4Qbt27Zy3//3f/+Xd\nd99l0aJFxMbGEh0dfU4z97Pn+898PWLECMLCwoiKiuK+++6jR48etGjR4oJr2Ww253OGDh3KypUr\niYuLIz8/v9bH1XbNml67tu8D+UhocT8dnS3igp9//pnLLruM//znPyQkJPDFF1/QqlUrs8MScTvV\nFERcMGTIEMrLy6msrGTatGlKCOK3NFIQEREn1RRERMRJSUFERJyUFERExElJQUREnJQURETESUlB\nRESc/j+iaB8fTwtkoQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5c1ead0>"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.6,Page No.107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_BC=L_EB=L_AD=1 #m #Length of spans BC,ED,AD\n",
+ "L_ED=2 #m #Length of ED\n",
+ "w=60 #KNm #u.d.l\n",
+ "F_C=20 #KN Pt Load at C\n",
+ "L=5 #m #Span of beam \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=80 \n",
+ "#Taking Moment At A,we get M_A\n",
+ "R_B=(F_C*L+1*2**-1*L_ED*w*(2*3**-1*L_ED+L_AD))*(L_AD+L_ED+L_EB)**-1\n",
+ "R_A=80-R_B\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At C\n",
+ "V_C1=0 #KN\n",
+ "V_C2=-F_C #KN\n",
+ "\n",
+ "#S.F At B\n",
+ "V_B1=V_C2 #KN\n",
+ "V_B2=V_C2+R_B #KN \n",
+ "\n",
+ "#S.F aT E\n",
+ "V_E=V_B2 #KN\n",
+ "\n",
+ "#S.F AT D\n",
+ "V_D=V_B2-1*2**-1*L_ED*w #KN\n",
+ "\n",
+ "#S.F At A\n",
+ "V_A1=V_D #KN \n",
+ "V_A2=V_D+R_A\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at C\n",
+ "M_C=0 #KN.m\n",
+ "\n",
+ "#B.M at B\n",
+ "M_B=F_C*L_BC #KN.m\n",
+ "\n",
+ "#B.M at E\n",
+ "M_E=F_C*(L_EB+L_BC)-R_B*L_EB #KN.m\n",
+ "\n",
+ "#B.M at D\n",
+ "M_D=F_C*(L_ED+L_EB+L_BC)-R_B*(L_ED+L_EB)+1*2**-1*L_ED*w*1*3**-1*L_ED #KN.m\n",
+ "\n",
+ "#B.M at A\n",
+ "M_A=1*2**-1*L_ED*w*(2*3**-1*L_ED+L_AD)-R_B*(L_AD+L_ED+L_EB)+F_C*L\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_BC,L_BC,L_EB+L_BC,L_ED+L_EB+L_BC,L_AD+L_ED+L_EB+L_BC,L_ED+L_EB+L_BC+L_AD]\n",
+ "Y1=[V_C1,V_C2,V_B1,V_B2,V_E,V_D,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "X2=[0,L_BC,L_BC+L_EB,L_EB+L_BC+L_ED,L_EB+L_BC+L_ED+L_AD]\n",
+ "Y2=[M_C,M_B,M_E,M_D,M_A]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58a6f70>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nkeDZfAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x567bcf0>"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.7,Page No.109"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_BC=1 #m #Length of BC\n",
+ "L_DB=2 #m #Length of DB\n",
+ "L_AD=4 #m #Length 0f AD\n",
+ "M_D=30 #KN.m #Moment at D\n",
+ "w=45 #KN/m #u.d.l\n",
+ "L=7 #m #Span of beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_B & R_A be the Reactions at B & A respectively\n",
+ "#R_B+R_A=180+P ............(1)\n",
+ "\n",
+ "#Now Taking Moment about A,we get\n",
+ "#R_B=7*P+390 ...............(2)\n",
+ "\n",
+ "#Since R_A & R_B Are Equal\n",
+ "#2*R_B=180+P ...................(3)\n",
+ "\n",
+ "#From equation 1 and 3 we get\n",
+ "#3*(180+P)=7P+390\n",
+ "#After simplifying Further above equation we get\n",
+ "P=150*4**-1 #KN\n",
+ "R_A=R_B=(180+P)*2**-1\n",
+ "F_C=P\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At C\n",
+ "V_C1=0 #KN\n",
+ "V_C2=-P #KN\n",
+ "\n",
+ "#S.F At B\n",
+ "V_B1=V_C2 #KN\n",
+ "V_B2=V_C2+R_B #KN \n",
+ "\n",
+ "#S.F At D\n",
+ "V_D=V_B2 #KN\n",
+ "\n",
+ "#S.F At A\n",
+ "V_A1=V_D-w*L_AD #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at C\n",
+ "M_C=0 #KN.m \n",
+ "\n",
+ "#B.M at B\n",
+ "M_B=F_C*L_BC #KN.m\n",
+ "\n",
+ "#B.M at D\n",
+ "M_D1=F_C*(L_BC+L_DB)-R_B*L_DB #KN.m\n",
+ "M_D2=M_D1+M_D\n",
+ "\n",
+ "#B.M At A\n",
+ "M_A=w*L_AD*L_AD*2**-1+M_D-R_B*(L_AD+L_DB)+P*L\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_BC,L_BC,L_DB+L_BC,L_DB+L_BC+L_AD,L_DB+L_BC+L_AD]\n",
+ "Y1=[V_C1,V_C2,V_B1,V_B2,V_D,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "X2=[0,L_BC,L_DB+L_BC,L_DB+L_BC,L_AD+L_DB+L_BC]\n",
+ "Y2=[M_C,M_B,M_D1,M_D2,M_A]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEPCAYAAABRHfM8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9c1fWhx/HXAYlNkcQNUYGJV1CEKEHz50MHmj+YgZLK\nQuevIr362Ky7e1de7x6bM0u709m0uDOvqdlKK+ePfujUFFMn2JRuK5qSQRcRzTKvhhkC3/vHt840\nhXNAOJ9z4P18PHjscH5w3jo7b77fz+f7+Tgsy7IQERFxwc90ABER8Q0qDBERcYsKQ0RE3KLCEBER\nt6gwRETELSoMERFxi9HCuO+++wgLCyMhIcF537lz5xg+fDjdu3dnxIgRnD9/3vnYokWLiImJITY2\nlp07d5qILCLSYhktjOnTp7Njx45r7lu8eDHDhw/n+PHjDBs2jMWLFwNQWFjIxo0bKSwsZMeOHcye\nPZuamhoTsUVEWiSjhTF48GBCQkKuuW/btm1MnToVgKlTp7JlyxYAtm7dSlZWFgEBAURFRREdHc3h\nw4c9nllEpKXyujGMM2fOEBYWBkBYWBhnzpwB4NSpU0RERDifFxERQVlZmZGMIiItkdcVxtUcDgcO\nh6POx0VExDNamQ7wbWFhYZw+fZqOHTtSXl5Ohw4dAAgPD6e0tNT5vJMnTxIeHn7d66Ojozlx4oTH\n8oqINAfdunXjww8/rPM5XneEkZ6ezrp16wBYt24dY8eOdd6/YcMGKisrKS4upqioiL59+173+hMn\nTmBZls9+/frXvzaeoSVmV37zX8pv9sudX7SNHmFkZWWxb98+Pv30UyIjI1mwYAFz584lMzOT1atX\nExUVxUsvvQRAXFwcmZmZxMXF0apVK3JycnRKSkTEg4wWxosvvnjD+3fv3n3D++fNm8e8efOaMpKI\niNTC605JtXTJycmmIzSYL2cH5TdN+b2fw7KsZrWBksPhoJn9kUREmpw7n506whAREbeoMERExC0q\nDBERcYsKQ0RE3KLCEBERt6gwRETELSoMERFxiwpDRETcosIQERG3qDBERMQtKgwREXGLCkNERNyi\nwhAREbeoMERExC0qDBERcYsKQ0RE3KLCEBERt6gwRETELa1MB5B/OHECTp82naLlCguD6GjTKUS8\nl/b09iK33w7+/tC6tekkLdPx4/DYYzBjhukkIp7nzmenjjC8SHU1vPgixMebTtIyFRXB3XdDYSEs\n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\nImzdCg88AMuW2WtSmaDCEBHxAQMGwKFDsGYNzJwJX+8+4VEqDBERH9GlCxw8COXlMHIkeHq3bBWG\niIgPadvWnnKblGRfGX78uOfeW4UhIuJj/P1hyRJ4+GEYPBjefNMz76vCEBHxUdnZ9tTbiRNh5cqm\nfz8VhoiID0tJgQMH4He/g4cegurqpnsvI4Xx8ssvEx8fj7+/P0ePHr3msUWLFhETE0NsbCw7d+50\n3n/kyBESEhKIiYnhwQcf9HRkERGvFRNjLyfy/vv2pkwXLjTN+xgpjISEBDZv3syQIUOuub+wsJCN\nGzdSWFjIjh07mD17tnPLwFmzZrF69WqKioooKipix44dJqKLiHilkBB44w178cKBA6G4uPHfw0hh\nxMbG0r179+vu37p1K1lZWQQEBBAVFUV0dDT5+fmUl5dz8eJF+vbtC8CUKVPYsmWLp2OLiHi1gAB4\n+mn7Oo2BA+0puI3Jq8YwTp06RUREhPP7iIgIysrKrrs/PDycMm/fmkpExACHA372M3j2WXu59PXr\nG+9nN9l+GMOHD+f06dPX3f/444+TlpbWVG8LwPz58523k5OTSU5ObtL3ExHxNqmpsHevPabxwQew\ncKG9NtU3cnNzyc3NBdy/ALDJCmPXrl31fk14eDilpaXO70+ePElERATh4eGcPHnymvvDw8Nr/TlX\nF4aISEsVHw/5+XDPPfYWsM89B23a2I9d/cv088/D55//xuXPM35KyrpqFa309HQ2bNhAZWUlxcXF\nFBUV0bdvXzp27EhwcDD5+flYlsX69esZO3aswdQiIr4hNBR274agIBgyBG7mbL6Rwti8eTORkZHk\n5eUxevRoUlNTAYiLiyMzM5O4uDhSU1PJycnB8fX+hDk5OWRnZxMTE0N0dDSjRo0yEV1ExOcEBsLa\ntfZRRv/+cORIw36Ow7JMLZTbNBwOB83sjyQi0mg2b4YZM+C//gvGj7fvi46GEydcf3Y22RiGiIh4\nn4wM+1qNMWPg2DGYN8/916owRERamMRE+8rwMWPsGVSVle69zvigt4iIeF7nzrBvn10WV01OrZPG\nMEREWrCaGntcY/x415+dKgwREXHrs1OnpERExC0qDBERcYsKQ0RE3KLCEBERt6gwRETELSoMERFx\niwpDRETcosIQERG3qDBERMQtKgwREXGLCkNERNyiwhAREbeoMERExC0qDBERcYsKQ0RE3KLCEBER\nt6gwRETELSoMERFxiwpDRETcosIQERG3qDBERMQtKgwREXGLCkNERNyiwhAREbeoMERExC0qDBER\ncYsKQ0RE3KLCEBERt6gwRETELSoMERFxi5HCePnll4mPj8ff35+jR4867y8pKeG73/0uiYmJJCYm\nMnv2bOdjR44cISEhgZiYGB588EETsUVEWjQjhZGQkMDmzZsZMmTIdY9FR0dTUFBAQUEBOTk5zvtn\nzZrF6tWrKSoqoqioiB07dngyssfk5uaajtBgvpwdlN805fd+RgojNjaW7t27u/388vJyLl68SN++\nfQGYMmUKW7Zsaap4RvnyPzpfzg7Kb5ryez+vG8MoLi4mMTGR5ORkDhw4AEBZWRkRERHO54SHh1NW\nVmYqoohIi9SqqX7w8OHDOX369HX3P/7446Slpd3wNZ07d6a0tJSQkBCOHj3K2LFjef/995sqooiI\n1IdlUHJysnXkyBGXj586dcqKjY113v/CCy9YM2fOvOFrunXrZgH60pe+9KWvenx169bN5Wd2kx1h\nuMuyLOftTz/9lJCQEPz9/fnoo48oKirin/7pn2jXrh3BwcHk5+fTt29f1q9fz5w5c2748z788ENP\nRRcRaVGMjGFs3ryZyMhI8vLyGD16NKmpqQDs27ePO+64g8TERCZMmMDKlStp164dADk5OWRnZxMT\nE0N0dDSjRo0yEV1EpMVyWFf/ii8iIlILr5sl1VA7duwgNjaWmJgYnnjiCdNx6u2+++4jLCyMhIQE\n01HqrbS0lJSUFOLj47nttttYvny56Uj1cvnyZfr160evXr2Ii4vj3//9301HapDq6moSExNrnVTi\nzaKiorj99ttJTEx0Tp/3FefPn2f8+PH07NmTuLg48vLyTEdy27Fjx5wXSicmJnLrrbfW/d9vPcep\nvVJVVZXVrVs3q7i42KqsrLTuuOMOq7Cw0HSsennrrbeso0ePWrfddpvpKPVWXl5uFRQUWJZlWRcv\nXrS6d+/uc3//FRUVlmVZ1pUrV6x+/fpZ+/fvN5yo/pYuXWpNnDjRSktLMx2l3qKioqzPPvvMdIwG\nmTJlirV69WrLsux/P+fPnzecqGGqq6utjh07Wv/7v/9b63OaxRHG4cOHiY6OJioqioCAAO699162\nbt1qOla9DB48mJCQENMxGqRjx4706tULgKCgIHr27MmpU6cMp6qf1q1bA1BZWUl1dTXt27c3nKh+\nTp48yRtvvEF2dvY1E0l8iS/m/r//+z/279/PfffdB0CrVq249dZbDadqmN27d9OtWzciIyNrfU6z\nKIyysrJjFZu/AAAGPklEQVRr/pARERG6sM+QkpISCgoK6Nevn+ko9VJTU0OvXr0ICwsjJSWFuLg4\n05Hq5V/+5V/47W9/i5+fb/4n7XA4uOuuu+jTpw+rVq0yHcdtxcXFhIaGMn36dJKSknjggQe4dOmS\n6VgNsmHDBiZOnFjnc3zzX9e3OBwO0xEE+OKLLxg/fjy///3vCQoKMh2nXvz8/HjnnXc4efIkb731\nlk8t8/Daa6/RoUMHEhMTffK3dICDBw9SUFDA9u3befrpp9m/f7/pSG6pqqri6NGjzJ49m6NHj9Km\nTRsWL15sOla9VVZW8uqrrzJhwoQ6n9csCiM8PJzS0lLn96WlpdcsJSJN78qVK4wbN46f/OQnjB07\n1nScBrv11lsZPXo0f/3rX01Hcdtf/vIXtm3bRteuXcnKymLPnj1MmTLFdKx66dSpEwChoaFkZGRw\n+PBhw4ncExERQUREBHfeeScA48ePv2YFbl+xfft2evfuTWhoaJ3PaxaF0adPH4qKiigpKaGyspKN\nGzeSnp5uOlaLYVkW999/P3FxcTz00EOm49Tbp59+yvnz5wH48ssv2bVrF4mJiYZTue/xxx+ntLSU\n4uJiNmzYwNChQ3nuuedMx3LbpUuXuHjxIgAVFRXs3LnTZ2YLduzYkcjISI4fPw7Y4wDx8fGGU9Xf\niy++SFZWlsvnGb/SuzG0atWKp556ipEjR1JdXc39999Pz549Tceql6ysLPbt28dnn31GZGQkCxYs\nYPr06aZjueXgwYM8//zzzmmRAIsWLfKZiyvLy8uZOnUqNTU11NTUMHnyZIYNG2Y6VoP52inaM2fO\nkJGRAdineCZNmsSIESMMp3LfihUrmDRpEpWVlXTr1o01a9aYjlQvFRUV7N69262xI124JyIibmkW\np6RERKTpqTBERMQtKgwREXGLCkNERNyiwhAREbeoMERExC0qDGkRmnqpkieffJIvv/yy0d/v1Vdf\n9cnl+qV50nUY0iK0bdvWeTVxU+jatSt//etf+d73vueR9xMxQUcY0mKdOHGC1NRU+vTpw5AhQzh2\n7BgA06ZN48EHH2TQoEF069aNTZs2AfaKtrNnz6Znz56MGDGC0aNHs2nTJlasWMGpU6dISUm55grx\nX/7yl/Tq1YsBAwbwySefXPf+Dz30EI8++igAf/7zn/nhD3943XPWrl3Lz372szpzXa2kpITY2Fim\nT59Ojx49mDRpEjt37mTQoEF0796dt99+++b/4qTl8sC+HCLGBQUFXXff0KFDraKiIsuyLCsvL88a\nOnSoZVmWNXXqVCszM9OyLMsqLCy0oqOjLcuyrJdfftn60Y9+ZFmWZZ0+fdoKCQmxNm3aZFnW9RsA\nORwO67XXXrMsy7Iefvhha+HChde9/6VLl6z4+Hhrz549Vo8ePayPPvrouuesXbvW+ulPf1pnrqsV\nFxdbrVq1st577z2rpqbG6t27t3XfffdZlmVZW7dutcaOHevy70qkNs1iLSmR+vriiy84dOjQNcs5\nV1ZWAvZaTN+suNuzZ0/OnDkDwIEDB8jMzARw7ptRm1tuuYXRo0cD0Lt3b3bt2nXdc7773e+yatUq\nBg8ezO9//3u6du1aZ+bacn1b165dnQvgxcfHc9dddwFw2223UVJSUud7iNRFhSEtUk1NDe3ataOg\noOCGj99yyy3O29bXw3wOh+Oa/SasOob/AgICnLf9/Pyoqqq64fPeffddQkND3d7w60a5vi0wMPCa\n9/7mNXXlEHGHxjCkRQoODqZr16688sorgP3h++6779b5mkGDBrFp0yYsy+LMmTPs27fP+Vjbtm25\ncOFCvTJ8/PHH/O53v3NuHHSjPSDqKiURT1NhSItw6dIlIiMjnV9PPvkkf/zjH1m9ejW9evXitttu\nY9u2bc7nX71E+De3x40bR0REBHFxcUyePJmkpCTn/s0zZsxg1KhRzkHvb7/+20uOW5ZFdnY2S5cu\npWPHjqxevZrs7GznabHaXlvb7W+/prbvfW3pc/EumlYrUg8VFRW0adOGzz77jH79+vGXv/yFDh06\nmI4l4hEawxCph7vvvpvz589TWVnJr371K5WFtCg6whAREbdoDENERNyiwhAREbeoMERExC0qDBER\ncYsKQ0RE3KLCEBERt/w/DSM1oLe5H2sAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5d6f150>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n1FS8vLzw8PDAxcWFfv36kZiYqHescnnkkUe455579I5RIY0aNSIwMBCAWrVq0bx5c06cOKFzqvK5\n++67ASgsLKS4uJh69erpnKh8jh8/zooVKxg6dOgNG0lsiS3m/vPPP9mwYQNDhgwBoFq1atSpU0fn\nVBWzZs0aPD09ady4camfYxcFIzs7+4Y/pLu7uxzs00lmZia7d+8mNDRU7yjlUlJSQmBgIA0bNqRj\nx474+fnpHalcXn/9dT766COcnGzzn7TBYKBz5860bt2aWbNm6R3HZMeOHaN+/fo8++yztGrViuef\nf54LFy7oHatC5s2bR//+/e/4Obb5t+sm1/ejEvo5f/48vXv3ZurUqdSqVUvvOOXi5OTEnj17OH78\nOD///LNNtXlYtmwZDRo0ICgoyCa/SwfYtGkTu3fvZuXKlXzyySds2LBB70gmKSoqYteuXQwfPpxd\nu3ZRs2ZN4uPj9Y5VboWFhSxdupQ+ffrc8fPsomC4ubmRlZVl/DgrK+uGViLC8q5cuUKvXr14+umn\n6dGjh95xKqxOnTp069aNHTt26B3FZJs3b2bJkiU0bdqU6Oho1q5dy6BBg/SOVS73338/oBqQ9uzZ\nk9TUVJ0Tmcbd3R13d3ceeughAHr37s2uXbt0TlV+K1euJDg4mPr169/x8+yiYLRu3ZrDhw+TmZlJ\nYWEh8+fP5/HHH9c7lsPQNI3nnnsOPz8/XnvtNb3jlNvp06fJy8sD4OLFiyQnJxMUFKRzKtNNmDCB\nrKwsjh07xrx583j00Uf56quv9I5lsgsXLpCfnw9AQUEBq1evtpndgo0aNaJx48akp6cDah3A399f\n51Tl9/333xMdHV3m5+l+0tscqlWrxvTp0+nSpQvFxcU899xzNG/eXO9Y5RIdHc369es5c+YMjRs3\n5oMPPuDZZ5/VO5ZJNm3axDfffGPcFgkQFxdnM4crc3JyGDx4MCUlJZSUlDBw4EA6deqkd6wKs7Up\n2pMnT9KzZ09ATfEMGDCAiIgInVOZbtq0aQwYMIDCwkI8PT2ZO3eu3pHKpaCggDVr1pi0diQH94QQ\nQpjELqakhBBCWJ4UDCGEECaRgiGEEMIkUjCEEEKYRAqGEEIIk0jBEEIIYRIpGMJhWbp9iYeHB2fP\nnr3l8fXr17Nly5bbPmfp0qU22Z5fOAa7OLgnREVY+oCbwWC4bW+ndevW4erqesM1xNdERUXZ5H0W\nwjHICEOI62RkZBAZGUnr1q1p3749hw4dAuCZZ55hxIgRtG3bFk9PTxYuXAioLrfDhw+nefPmRERE\n0K1bN+PvgToFHBwcTMuWLTl06BCZmZl8+umnfPzxxwQFBbFx48Yb3v+LL77gH//4xx3f83qZmZn4\n+vry7LPP0qxZMwYMGMDq1atp27YtPj4+bN++3VL/qYQDkoIhxHVeeOEFpk2bxo4dO/joo48YPny4\n8fdyc3PZtGkTy5YtIyYmBoAff/yR//73vxw4cICvv/6aLVu23DByqV+/Pjt37uSll15i0qRJeHh4\n8OKLL/LGG2+we/du2rVrd8P73zzqud173iwjI4ORI0dy8OBBDh06xPz589m0aROTJk1iwoQJ5vpP\nI4RMSQlxzfnz59myZcsNLZ4LCwsB9YX8Whfe5s2bc/LkSQA2btxI3759AYx3aVzvySefBKBVq1b8\n+OOPxsdN6chT2nverGnTpsaGd/7+/nTu3BmAFi1akJmZWeb7CGEqKRhCXFVSUkLdunXZvXv3bX+/\nevXqxl9f+4J/8zrFzYWgRo0aADg7O1NUVFTuTLd7z5tdew9Q93pce46Tk1OF3lOI0siUlBBX1a5d\nm6ZNm/LDDz8A6gv0vn377victm3bsnDhQjRN4+TJk6xfv77M93F1dTW2876Z9AIV1kwKhnBYFy5c\noHHjxsYfU6ZM4dtvv2X27NkEBgbSokULlixZYvz869cXrv26V69euLu74+fnx8CBA2nVqtVt73Q2\nGAzG50RFRbFo0SKCgoLYtGlTqZ9X2nve7rVL+9jWWp0L6ybtzYWopIKCAmrWrMmZM2cIDQ1l8+bN\nNGjQQO9YQpidrGEIUUndu3cnLy+PwsJC3nvvPSkWwm7JCEMIIYRJZA1DCCGESaRgCCGEMIkUDCGE\nECaRgiGEEMIkUjCEEEKYRAqGEEIIk/w/Ax1NdOgaZEcAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5d79470>"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.8,Page No.110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=6 #m #Span Of beam\n",
+ "w=30 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Due to Symmetry\n",
+ "#Let R_B and R_C be the reactions at B & C Respectively\n",
+ "R_B=R_C=w*L*2**-1 #KN\n",
+ "\n",
+ "#Let a be the overhang.The Max -ve moment occurs at the support and max +ve moment at middle of the beam\n",
+ "#Now Equating these two equations we get\n",
+ "#30*a*a*2**-1=90*(3-a)-w*L*2**-1*L*4**-1\n",
+ "#After simplifying we get an equation as\n",
+ "#a**2+6*a-9=0\n",
+ "x=1\n",
+ "y=6\n",
+ "z=-9\n",
+ "\n",
+ "p=y**2-4*x*z\n",
+ "\n",
+ "a1=(-y+p**0.5)*2**-1\n",
+ "a2=(-y-p**0.5)*2**-1\n",
+ "\n",
+ "#Now Length cannot be negative,so taking a1 into Consideration\n",
+ "\n",
+ "L_CD=L_AB=a1\n",
+ "L_BC=L-2*a1\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At D\n",
+ "V_D=0\n",
+ "\n",
+ "#S.F At C\n",
+ "V_C1=V_D-w*L_CD #KN\n",
+ "V_C2=V_C1+R_C #KN\n",
+ "\n",
+ "#S.F At B\n",
+ "V_B1=-w*(L_BC+L_CD)+R_C\n",
+ "V_B2=V_B1+R_B\n",
+ "\n",
+ "#S.F At A\n",
+ "V_A=round(V_B2,2)-round(w*L_AB,2)\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At D\n",
+ "M_D=0\n",
+ "\n",
+ "#B.M At C\n",
+ "M_C=w*L_CD*L_CD*2**-1 #KN.m\n",
+ "\n",
+ "#B.M At B\n",
+ "M_B=w*(L_BC+L_CD)*(L_BC+L_CD)*2**-1-R_C*L_BC*L_BC*2**-1\n",
+ "\n",
+ "#B.M At A\n",
+ "X=w*L*L*2**-1\n",
+ "Y=-R_C*(L_AB+L_BC)-R_B*L_AB\n",
+ "M_A=X+Y\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_CD,L_CD,L_CD+L_BC,L_CD+L_BC,L_CD+L_BC+L_AB]\n",
+ "Y1=[V_D,V_C1,V_C2,V_B1,V_B2,V_A]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "X2=[0,L_CD,L_BC+L_CD,L_AB+L_BC+L_CD]\n",
+ "Y2=[M_D,M_C,M_B,M_A]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5945590>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nICIiWf4/U4J8H+TjvqoAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58e1750>"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.9,Page No.112"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_F=6 #KN #Force at F\n",
+ "w1=w2=w=3 #KN.m #u.d.l\n",
+ "M_D=24 #KN.m \n",
+ "L_AB=L_CD=L_DE=L_EF=4 #m #Length of AB,CD,DE,EF\n",
+ "L_BC=2 #m #Length of BC\n",
+ "L=18 #m #Span of Beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_B and R_E be the Reactions at B & E respectively\n",
+ "#R_B+R_E=42\n",
+ "\n",
+ "#Taking Moment At Pt B,M_B\n",
+ "R_E=(F_F*(L_BC+L_CD+L_DE+L_EF)+w*(L_CD+L_DE)*((L_CD+L_DE)*2**-1+L_BC)-w*L_AB*L_AB*2**-1-M_D)*(L_BC+L_CD+L_DE)**-1\n",
+ "R_B=42-R_E #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F aT F\n",
+ "V_F1=0 #KN \n",
+ "V_F2=-F_F #KN\n",
+ "\n",
+ "#S.F at E\n",
+ "V_E1=V_F2 #KN\n",
+ "V_E2=V_E1+R_E #KN\n",
+ "\n",
+ "#S.F aT C\n",
+ "V_C=V_E2-w*(L_CD+L_DE) #KN\n",
+ "\n",
+ "#S.F at B\n",
+ "V_B1=V_C #KN \n",
+ "V_B2=V_C+R_B #KN\n",
+ "\n",
+ "#S.F At A\n",
+ "V_A=V_B2-w*L_AB #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At F\n",
+ "M_F=0\n",
+ "\n",
+ "#B.M At E\n",
+ "M_E=F_F*L_EF #KN.m\n",
+ "\n",
+ "#B.M At D\n",
+ "M_D1=F_F*(L_DE+L_EF)-R_E*L_DE+w*L_DE*L_DE*2**-1 #KN.m\n",
+ "M_D2=M_D1-M_D\n",
+ "\n",
+ "#B.M At C\n",
+ "M_C=F_F*(L_CD+L_DE+L_EF)-R_E*(L_CD+L_DE)+w*(L_CD+L_DE)*(L_CD+L_DE)*2**-1-M_D\n",
+ "\n",
+ "#B.M At B\n",
+ "M_B=F_F*(L_BC+L_CD+L_DE+L_EF)-R_E*(L_BC+L_CD+L_DE)-M_D+w*(L_CD+L_DE)*((L_CD+L_DE)*2**-1+L_BC)\n",
+ "\n",
+ "#B.M At A\n",
+ "M_A=w*L_AB*L_AB*2**-1-R_B*L_AB+w*(L_CD+L_DE)*((L_CD+L_DE)*2**-1+L_BC+L_AB)-R_E*(L_AB+L_BC+L_CD+L_DE)+F_F*L-M_D\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_EF,L_EF,L_EF+L_DE+L_CD,L_EF+L_DE+L_CD+L_BC,L_EF+L_DE+L_CD+L_BC,L_EF+L_DE+L_CD+L_BC+L_AB]\n",
+ "Y1=[V_F1,V_F2,V_E1,V_E2,V_C,V_B1,V_B2,V_A]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "X2=[0,L_EF,L_DE+L_EF,L_DE+L_EF,L_CD+L_DE+L_EF,L_CD+L_DE+L_EF+L_BC,L_CD+L_DE+L_EF+L_BC+L_AB]\n",
+ "Y2=[M_F,M_E,M_D1,M_D2,M_C,M_B,M_A]\n",
+ "Z2=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5d75ab0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nfyRzHAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5c44130>"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.10,Page No.114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_DC=L_BA=2 #m #Length of BA & DC\n",
+ "L_CB=1 #m #Length of CB\n",
+ "F_A=10 #KN #Force at pt A\n",
+ "F_B=20 #KN #Force at pt B\n",
+ "w=4 #KN.m #u.d.l\n",
+ "L=5 #m #Length of beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_D be the reactions at Pt D\n",
+ "R_D=F_B+F_A+w*L_DC #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at Pt A\n",
+ "V_A1=0 #KN\n",
+ "V_A2=F_A #KN\n",
+ "\n",
+ "#S.F At Pt B\n",
+ "V_B1=V_A2\n",
+ "V_B2=F_B+F_A\n",
+ "\n",
+ "#S.F at Pt C\n",
+ "V_C=F_B+F_A #KN \n",
+ "\n",
+ "#S.F At Pt D\n",
+ "V_D1=V_B2+w*L_DC\n",
+ "V_D2=F_B+F_A+w*L_DC-R_D\n",
+ "\n",
+ "#B.M At Pt A\n",
+ "M_A=0\n",
+ "\n",
+ "#B.M At Pt B\n",
+ "M_B=F_A*L_BA\n",
+ "\n",
+ "#B.M at Pt C\n",
+ "M_C=F_B*L_CB+F_A*(L_BA+L_CB) #KN\n",
+ "\n",
+ "#B.M At Pt D\n",
+ "M_D1=F_A*L+F_B*(L_CB+L_DC)+w*L_DC*L_DC*2**-1\n",
+ "M_D2=(F_A*L+F_B*(L_CB+L_DC)+w*L_DC*L_DC*2**-1)-M_D1\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_BA,L_BA,L_BA+L_CB,L_BA+L_CB+L_DC,L_BA+L_CB+L_DC]\n",
+ "Y1=[V_A1,V_A2,V_B1,V_B2,V_C,V_D1,V_D2]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_A,M_B,M_C,M_D1,M_D2]\n",
+ "X2=[0,L_BA,L_CB+L_BA,L_CB+L_BA+L_DC,L_CB+L_BA+L_DC]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5738d10>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nCwAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5788db0>"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.11,Page No.115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "w=20 #KN/m #u.v.l\n",
+ "F_C=40 #KN #Force at Pt C\n",
+ "M_D=40 #KN.m #Moment at pt D\n",
+ "L_AB=3 #m #Length of AB\n",
+ "L_BC=1 #m #Length of BC\n",
+ "L_CD=L_DE=2 #m #Length of CD & DE\n",
+ "L=8 #8 #Length of beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_E be the Reactions at A & E respectively\n",
+ "#R_A+R_E=70\n",
+ "\n",
+ "#Taking Moments At Pt A we get,M_A\n",
+ "R_E=(F_C*(L_AB+L_BC)+1*2**-1*L_AB*w*2+40)*L**-1\n",
+ "R_A=70-R_E\n",
+ "\n",
+ "#shear Force Calculations\n",
+ "\n",
+ "#S.F At Pt E\n",
+ "V_E1=0\n",
+ "V_E2=R_E #KN\n",
+ "\n",
+ "#S.F aT pt D\n",
+ "V_D=V_E2\n",
+ "\n",
+ "#S.F At PT C\n",
+ "V_C1=V_D\n",
+ "V_C2=V_D-F_C #KN\n",
+ "\n",
+ "#S.F At Pt A\n",
+ "V_A1=V_C2-(1*2**-1*w*L_AB)\n",
+ "V_A2=V_A1+R_A\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At Pt E\n",
+ "M_E=0\n",
+ "\n",
+ "#B.M At Pt D\n",
+ "M_D1=M_E-R_E*L_DE\n",
+ "M_D2=M_D1+M_D\n",
+ "\n",
+ "#B.M At Pt C\n",
+ "M_C=-R_E*(L_DE+L_CD)+M_D\n",
+ "\n",
+ "#B.M At Pt B\n",
+ "M_B=-R_E*(L_DE+L_CD+L_BC)+M_D+F_C*L_BC\n",
+ "\n",
+ "#B.M At Pt A\n",
+ "M_A=-R_E*L+M_D+(1*2**-1*L_AB*w*2)+F_C*(L_BC+L_AB)\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DE,L_CD+L_DE,L_CD+L_DE,L_CD+L_DE+L_AB,L_CD+L_DE+L_AB]\n",
+ "Y1=[V_E1,V_E2,V_D,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_E,M_D1,M_D2,M_C,M_B,M_A]\n",
+ "X2=[0,L_DE,L_DE,L_CD+L_DE,L_DE+L_CD+L_BC,L_AB+L_BC+L_CD+L_DE]\n",
+ "Z2=[0,0,0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5df5230>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nMplYVsqi8ZiYGA4dOnTZ41OmTKGgoIC//vqLLVu2sHXrVmJjY/nNTsEek52/KRc2VtHR0URHR18x\nT2XWs6e6kS5eDN5+xLbJBK+9Bs8/D717q96D8F7PPqv+LJs1053EN6WkpJCSklKm19htFB49fzL2\niBEjyhVm9erVdr83d+5cevfuDUC7du2oUqUK//vf/wgICGD//v225x04cICAgIAS38MdPRhfVXwj\nffpp6NNHzTV4s65d1alsn32mVqwI75ScDHv3+sbOe0916S/MkxypMGlo8N577xnjx483DMMw0tLS\njMaNGxuGYRh79uwxIiMjjbNnzxq//fab0axZM6OoqOiy12uK7dWKigzj7rsNY8GCix9PSjKMvn21\nRHLKunWGERhoGGfP6k4iyiMvzzCaNDGM77/XnaRyceTeafd3xoiICLsNiclkYteuXWVory42ePBg\nBg8eTEREBNWqVeOTTz4BwGKxEBsbi8Viwc/Pj8TERLvDR6JsTCZ1aM3DD8OAAVC9uu5EzrnrLmjR\nQu3F+Oc/dacRZTV5Mtx5p1oVJzyL3c1rWVlZACQmJgJqOMkwDD7//HMArWcpyOa18uveXU04Dxum\nvvaWzWsl2bpVTTynp0PNmrrTCEft3q02IO7eDQ0b6k5Tubik9lGrVq3YuXPnRY9FRUWxY8cO5xOW\nkzQK5bd9O/TooW6kV13l3Y0CqEbhzjtViW3h+YqK4O671Z6T+HjdaSofl+xoNgyDDRs22L7euHGj\n3JC9WOvWcOut8O67upO4xquvqoPdndw6IyrIxx/D2bPw5JO6kwh7Su0pbNu2jccff5zjx48DUL9+\nfT788ENat25dIQFLIj0F51itqvueng4rV3p3TwHUPEloqNqLITzXkSMQFqZ2pGu8fVRqLiudDdga\nhXr16jmfzEnSKDhv4EB15kJIiPc3CunpqveTng5XX607jbBn6FA19zN7tu4klZdLGoUzZ86wZMkS\nsrKyKCgosL3x+PHjXZe0jKRRcN5vv0H79mr/wg8/eHejAOpAluuvV5v0hOfZtEntQLdawQN+r6y0\nXDKn8MADD7Bs2TL8/f2pXbs2tWvXplatWi4LKfRo1gweekjVnfEF48fDvHnwxx+6k4hLFRSognez\nZkmD4A1K7SmEh4eze/fuisrjEOkpuMaBA2oIqWdP7+8pgCqZUKWKqrYpPMcbb6hTAFetkvpGurmk\n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\nGhPHAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5dff130>"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.12,Page No.116"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_G=10 #KN #Force at Pt G\n",
+ "F_B=F_E=15 #KN #Force at Pt B & E\n",
+ "w=20 #KN/m #U.d.L\n",
+ "L_FG=L_EF=L_DE=L_CD=L_BC=L_AB=1 #m #Lengths of FG,EF,DE,CD,BC,AB respectively\n",
+ "L=6 #m #Length of beam\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_F & R_A be the Reactions at E & A respectively\n",
+ "#R_F+R_A=60\n",
+ "\n",
+ "#Taking Moment At Pt A,M_A\n",
+ "R_F=(F_G*L+F_E*(L_AB+L_BC+L_CD+L_DE)+w*L_CD*(L_AB+L_BC+L_CD*2**-1)+F_B*L_AB)*(L_AB+L_BC+L_CD+L_DE+L_EF)**-1\n",
+ "R_A=60-R_F\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At G\n",
+ "V_G1=0 #KN \n",
+ "V_G2=F_G #KN\n",
+ "\n",
+ "#S.F At F\n",
+ "V_F1=V_G2 #KN\n",
+ "V_F2=V_F1-R_F\n",
+ "\n",
+ "#S.F At E\n",
+ "V_E1=V_F2 #KN\n",
+ "V_E2=V_F2+F_E\n",
+ "\n",
+ "#S.F At D\n",
+ "V_D=V_E2\n",
+ "\n",
+ "#S.F At C\n",
+ "V_C=V_E2+w*L_CD\n",
+ "\n",
+ "#S.F At B\n",
+ "V_B1=V_C\n",
+ "V_B2=V_B1+F_B\n",
+ "\n",
+ "#S.F At A\n",
+ "V_A1=V_B2\n",
+ "V_A2=V_B2-R_A\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M At Pt G\n",
+ "M_G=0\n",
+ "\n",
+ "#B.M At F\n",
+ "M_F=F_G*L_FG \n",
+ "\n",
+ "#B.M At E\n",
+ "M_E=F_G*(L_FG+L_EF)-R_F*L_EF\n",
+ "\n",
+ "#B.M At D\n",
+ "M_D=F_G*(L_FG+L_EF+L_DE)-R_F*(L_EF+L_DE)+F_E*L_DE\n",
+ "\n",
+ "#B.M At C\n",
+ "M_C=F_G*(L_FG+L_EF+L_DE+L_CD)-R_F*(L_EF+L_DE+L_CD)+F_E*(L_DE+L_CD)+w*L_CD*L_CD*2**-1\n",
+ "\n",
+ "#B.M At B\n",
+ "M_B=F_G*(L_FG+L_EF+L_DE+L_CD+L_BC)-R_F*(L_EF+L_DE+L_CD+L_BC)+F_E*(L_DE+L_CD+L_BC)+w*L_CD*(L_CD*2**-1+L_BC)\n",
+ "\n",
+ "#B.M At A\n",
+ "M_A=F_G*L-R_F*(L_EF+L_DE+L_CD+L_BC+L_AB)+F_E*(L_DE+L_CD+L_BC+L_AB)+F_B*L_AB+w*L_CD*(L_CD*2**-1+L_BC+L_AB)\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_FG,L_FG,L_FG+L_EF,L_FG+L_EF,L_FG+L_EF+L_DE,L_FG+L_EF+L_DE+L_CD,L_FG+L_EF+L_DE+L_CD+L_BC,L_FG+L_EF+L_DE+L_CD+L_BC,L_FG+L_EF+L_DE+L_CD+L_BC+L_AB,L_FG+L_EF+L_DE+L_CD+L_BC+L_AB]\n",
+ "Y1=[V_G1,V_G2,V_F1,V_F2,V_E1,V_E2,V_D,V_C,V_B1,V_B2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "X2=[0,L_FG,L_EF+L_FG,L_EF+L_FG+L_DE,L_EF+L_FG+L_DE+L_CD,L_EF+L_FG+L_DE+L_CD+L_BC,L_EF+L_FG+L_DE+L_CD+L_BC+L_AB]\n",
+ "Y2=[M_G,M_F,M_E,M_D,M_C,M_B,M_A]\n",
+ "Z2=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEPCAYAAACtCNj2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHZJJREFUeJzt3XtYVAX+x/HPIOgmYt6hB3ie8eESF03whtZaoIKVK1kq\nhWUsZvbLrd32ktlly3IT3GrLLm5tP1O7PWnLFtiF1DVMKjTDbFf2UUowQGBLIu+LwPn9wXp+KgyD\nOTMHhvfreXicyxnPZ8pnPpzznXOOzTAMQwAASPKxOgAAoPOgFAAAJkoBAGCiFAAAJkoBAGCiFAAA\nJstK4cSJE0pISFBcXJxiYmJ07733SpLq6uqUnJysyMhIpaSkqL6+3qqIANDt2Kw8TuHYsWPq3bu3\nGhsb9dOf/lSPP/648vLyNGjQIC1cuFDLli3T999/r+zsbKsiAkC3Yunuo969e0uSGhoa1NTUpP79\n+ysvL08ZGRmSpIyMDL399ttWRgSAbsXSUmhublZcXJwCAwOVlJSk2NhY1dbWKjAwUJIUGBio2tpa\nKyMCQLfia+XKfXx89MUXX+iHH37QlClT9OGHH57xvM1mk81msygdAHQ/lpbCKRdeeKGmTp2qzz//\nXIGBgaqpqVFQUJCqq6s1ZMiQVsuHh4fr66+/tiApAHRdYWFh+uqrr9pdxrLdR9999535zaLjx49r\n48aNio+PV2pqqtasWSNJWrNmjaZPn97qtV9//bUMw/Dan4ceesjyDLw/3l93fH/e/N4Mw+jQL9OW\nbSlUV1crIyNDzc3Nam5u1pw5czRp0iTFx8crLS1NK1eulN1u17p166yKCADdjmWlMHz4cBUXF7d6\nfMCAAdq0aZMFiQAAHNHcCSUmJlodwa14f12bN78/b35vHWXpwWs/ls1mUxeMDQCW6shnJ1sKAAAT\npQAAMFEKAAATpQAAMFEKAAATpQAAMFEKAAATpQAAMFEKAAATpQAAMFEKAAATpQAAMFEKAAATpQAA\nMFEKAAATpQAAMFEKAAATpQAAMFEKAACTr9UBAKAzaGyUxo6VDh2yOom1bIazqzh3Qh25+DQAnIvj\nx6V+/aTdu61O4h47dkjp6c4/O9lSAID/8vGRwsOtTuEeNTUdW46ZAgDARCkAAEyUAgDARCkAAEyW\nlUJFRYWSkpIUGxurYcOG6emnn5Yk1dXVKTk5WZGRkUpJSVF9fb1VEQGg27GsFPz8/PTkk09q9+7d\nKioq0nPPPad//etfys7OVnJysvbu3atJkyYpOzvbqogA0O1YVgpBQUGKi4uTJPXp00fR0dGqqqpS\nXl6eMjIyJEkZGRl6++23rYoIAN1Op5gplJeXa+fOnUpISFBtba0CAwMlSYGBgaqtrbU4HQB0H5aX\nwpEjRzRjxgwtX75cAQEBZzxns9lks9ksSgYA3Y+lRzSfPHlSM2bM0Jw5czR9+nRJLVsHNTU1CgoK\nUnV1tYYMGdLmaxcvXmzeTkxMVGJiogcSA0DXUVBQoIKCAknSN9907DWWnfvIMAxlZGRo4MCBevLJ\nJ83HFy5cqIEDB+qee+5Rdna26uvrWw2bOfcRAFc7flwaMKDlT29UWChNmOD8s9OyUigsLNTll1+u\nSy65xNxFlJWVpbFjxyotLU3ffPON7Ha71q1bp379+p0ZmlIA4GKUQgvOkgoAohROsXzQDADoPCgF\nAICJUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJ\nUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJUgAAmCgFAICJUgAA\nmCgFAIDJ19ETSUlJbT5us9kkSZs3b3ZPIgCAZRyWwmOPPWbePlUERUVFWrZsmYYMGeKSlc+dO1fv\nvvuuhgwZon/84x+SpLq6Ol1//fXav3+/7Ha71q1bp379+rlkfQCA9jncfTR69Gjz5/Dhw7rnnnv0\n+uuv64UXXtCOHTtcsvLMzEzl5+ef8Vh2draSk5O1d+9eTZo0SdnZ2S5ZFwDAOYdbCpKUn5+vRx99\nVD179tQDDzzgcJfSjzVhwgSVl5ef8VheXp62bNkiScrIyFBiYiLFAAAe4rAUxowZo2+//Va/+93v\nNH78eElScXGx+fzIkSPdEqi2tlaBgYGSpMDAQNXW1ra53OLFbll9pxAXJ02fbnUKAN2Rw1Lw9/eX\nv7+/cnJylJOT0+r5Dz/80K3BpJZZxql5xtkKChabt+32RNntiW7P4wnffCNt2kQpADh/BQUFKigo\nkNTy2dIRDkvh1F/U3NwsH58zRw8nTpz4UQE7IjAwUDU1NQoKClJ1dbXDofbppeBNCgulRYusTgHA\nGyQmJioxMVFSy2fLqlUPO32N0+MU5s2bd8b9I0eO6Oqrr/5xCTsgNTVVa9askSStWbNG0/mVGQA8\n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\nKQAATP8HttSK1NQ812EAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x57502f0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nDsV00dHRjsOHD1sdhsfce++9jlmzZjkcDuPv6NGjR8t9nl+NFHJycmjatCnR0dGEh4dz1113kZmZ\naXVYpmnfvj116tSxOgyPadiwIUlJSQBEREQQFxfHvn37LI7KPJdeeikAxcXFlJSUULduXYsjMtcP\nP/zAf//7Xx544AEcATrrHKi/108//cTKlSsZPHgwAGFhYdSqVavc5/pVUsjPz6dRo0bOP0dFRZGf\nn29hRFJdeXl55ObmkpKSYnUopjl9+jRJSUk0aNCADh06EB8fb3VIpnr88cd5/vnnCQnxq7cNl9ls\nNjp16kSbNm2YOXOm1eGYavfu3VxxxRUMGjSIVq1aMWTIEIqKisp9rl/917XZbFaHICYoLCykb9++\nvPTSS0RERFgdjmlCQkJYt24dP/zwAytWrAiokgmLFy+mfv36JCcnB+yn6VWrVpGbm8uSJUt49dVX\nWblypdUhmebUqVOsXbuWoUOHsnbtWi677DImTZpU7nP9KilcffXVzoqqYCxcRkVFWRiRVNXJkye5\n4447uPvuu+nVq5fV4XhErVq16NGjB19//bXVoZjmyy+/ZOHChTRp0oQBAwbw2Wefce+991odlqmu\nvPJKAK644gp69+5NTk6OxRGZJyoqiqioKH7/+98D0LdvX9auXVvuc/0qKbRp04bt27eTl5dHcXEx\nc+fOpWfPnlaHJS5yOBzcf//9xMfHM3z4cKvDMdWhQ4c4evQoAL/88guffPKJ81BmIJgwYQJ79+5l\n9+7d/Otf/+LWW2/lnXfesTos0xQVFTlL6hw/fpylS5cG1C7Ahg0b0qhRI7Zt2wbAp59+SosWLcp9\nrmUF8aojLCyMV155hS5dulBSUsL9999PXFyc1WGZZsCAASxfvpzDhw/TqFEjxo4dy6BBg6wOyzSr\nVq3ivffec277A5g4cSJdu3a1ODL37d+/nz/84Q+cPn2a06dPc88999CxY0erw/KYQJvKPXDgAL17\n9waMqZaBAwfSuXNni6My18svv8zAgQMpLi4mJiaGOXPmlPs8HV4TEREnv5o+EhERz1JSEBERJyUF\nERFxUlIQEREnJQUREXFSUhARESclBQloni6jER0dzZEjR8o8vnz5clavXl3uaxYtWhRwZd8lcPjV\n4TWRqvL0ISubzVZuLaDPP/+cyMhIbrjhhjI/S0tLC8h+BBIYNFKQoLNz5066detGmzZtuPnmm9m6\ndSsA9913H4899hjt2rUjJiaGefPmAUb106FDhxIXF0fnzp3p0aOH82dgnBRt3bo11113HVu3biUv\nL4/p06fzj3/8g+TkZL744otS93/rrbf405/+dMF7nisvL4/Y2FgGDRrE7373OwYOHMjSpUtp164d\nzZs3Z82aNZ76VyVBSElBgs6DDz7Iyy+/zNdff83zzz/P0KFDnT8rKChg1apVLF68mBEjRgAwf/58\n9uzZw+bNm3n33XdZvXp1qRHIFVdcwTfffMMf//hHpkyZQnR0NA8//DBPPPEEubm53HTTTaXuf/7o\npbx7nm/nzp08+eSTbNmyha1btzJ37lxWrVrFlClTmDBhgln/akQ0fSTBpbCwkNWrV9OvXz/nY8XF\nxYDxZn22cmtcXBwHDhwA4IsvvuDOO+8EcPZKOFefPn0AaNWqFfPnz3c+7koFmYrueb4mTZo4C5i1\naNGCTp06AZCQkEBeXl6l9xFxlZKCBJXTp09Tu3ZtcnNzy/15jRo1nN+ffVM/f93g/Df7iy66CIDQ\n0FBOnTpV5ZjKu+f5zt4DjL4NZ18TEhJSrXuKVETTRxJUatasSZMmTfi///s/wHgT/vbbby/4mnbt\n2jFv3jwcDgcHDhxg+fLlld4nMjLSWYr5fKpBKb5MSUECWlFREY0aNXJ+vfjii7z//vvMmjWLpKQk\nEhISWLhwofP55873n/3+jjvuICoqivj4eO655x5atWpVbn9bm83mfE1aWhoLFiwgOTmZVatWVfi8\niu5Z3rUr+nOglbEWa6l0togLjh8/zmWXXcbhw4dJSUnhyy+/pH79+laHJWI6rSmIuOC2227j6NGj\nFBcXM2rUKCUECVgaKYiIiJPWFERExElJQUREnJQURETESUlBRESclBRERMRJSUFERJz+P8O/Vq30\nkcIBAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58b0ed0>"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3.13,Page No.117"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "L_AB=L_BC=L_CD=L_DE=L_EF=1 #m #LEngth of AB,BC,CD,DE,EF respectively\n",
+ "M_A=50 #KN/m #Moment at A\n",
+ "w=5 #KN/m #u.v.l\n",
+ "F_D=10 #KN\n",
+ "w2=5 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_B & R_E be the Reactions at B and E respectively\n",
+ "#R_B+R_E=20\n",
+ "\n",
+ "#Taking Moment At Pt B,M_B\n",
+ "R_E=(w2*L_EF*(L_EF*2**-1+L_DE+L_CD+L_BC)+w*L_BC*2**-1*2*3**-1+50+F_D*(L_BC+L_CD))*3**-1\n",
+ "R_B=17.5-R_E #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F At F\n",
+ "V_F=0\n",
+ "\n",
+ "#S.F aT E\n",
+ "V_E1=-w2*L_EF #KN\n",
+ "V_E2=V_E1+R_E\n",
+ "\n",
+ "#S.F at D\n",
+ "V_D1=R_E-w2*L_EF #KN\n",
+ "V_D2=V_D1-F_D #KN\n",
+ "\n",
+ "#S.F At C\n",
+ "V_C=V_D2\n",
+ "\n",
+ "#S.F aT B\n",
+ "V_B1=-L_BC*w*2**-1-F_D+R_E-w2*L_EF\n",
+ "V_B2=V_B1+R_B\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at F\n",
+ "M_F=0 #KN.m\n",
+ "\n",
+ "#B.M At E\n",
+ "M_E=w2*L_EF*L_EF*2**-1 #KN.m\n",
+ "\n",
+ "#B.M at D\n",
+ "M_D=-R_E*L_DE+w2*L_EF*(L_EF*2**-1+L_DE) #KN.m\n",
+ "\n",
+ "#B.M At C\n",
+ "M_C=F_D*L_CD*R_E*(L_CD+L_DE)+w2*L_EF*(L_EF*2**-1+L_DE+L_CD) #KN.m\n",
+ "\n",
+ "#B.M At B\n",
+ "M_B=F_D*(L_CD+L_BC)-R_E*(L_BC+L_CD+L_DE)+w2*L_EF*(L_EF*2**-1+L_BC+L_CD+L_DE)+1*2**-1*L_BC*w*2*3**-1\n",
+ "\n",
+ "#B.M At A\n",
+ "M_A1=w*L_EF*(L_EF*2**-1+L_AB+L_BC+L_CD+L_DE)-R_E*(L_AB+L_BC+L_CD+L_DE)+F_D*(L_AB+L_BC+L_CD)+1*2**-1*L_BC*w*(2*3**-1*L_BC+L_AB)-R_B*L_AB\n",
+ "M_A2=M_A1+M_A\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_EF,L_EF,L_DE+L_EF,L_DE+L_EF,L_CD+L_DE+L_EF,L_CD+L_DE+L_EF+L_BC,L_CD+L_DE+L_EF+L_BC]\n",
+ "Y1=[V_F,V_E1,V_E2,V_D1,V_D2,V_C,V_B1,V_B2]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "X2=[0,L_EF,L_DE+L_EF,L_CD+L_DE+L_EF,L_CD+L_DE+L_EF+L_BC,L_CD+L_DE+L_EF+L_BC+L_AB,L_CD+L_DE+L_EF+L_BC+L_AB]\n",
+ "Y2=[M_F,M_E,M_D,M_C,M_B,M_A1,M_A2]\n",
+ "Z2=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n9fRALU6VlZUpPDxckrRlyxaNHDmyxfVc+YUAAK6xZIRw8803q6ioSIZhKDo6WuvXr1doaKi3ywAA\nnMPyXUYAAN/gE2cq5+fna8SIERo6dKjuv//+Fte57bbbNHToUCUkJKiwsNDLFTZwVmdBQYEuuugi\n+wl399xzj9drnDdvnkJDQx3uhpN8oy+d1ekLfVlaWqq0tDTFxcUpPj5ejz76aIvrWd2fbanTF/rz\n7NmzSk5OVmJiomJjY/Wb3/ymxfWs7s+21OkL/SlJdXV1SkpK0owZM1p8v919aVqstrbWHDx4sFlc\nXGxWV1ebCQkJ5v79+5uss23bNnPq1KmmaZrmnj17zOTkZJ+s8+233zZnzJjh9drOtXPnTvPjjz82\n4+PjW3zfF/rSNJ3X6Qt9WVZWZhYWFpqmaZonTpwwhw0b5pP/NttSpy/0p2ma5qlTp0zTNM2amhoz\nOTnZfPfdd5u87wv9aZrO6/SV/nzooYfMn/70py3W4kpfWj5C2Lt3r4YMGaKoqCj5+/vrhhtu0Nat\nW5usk5eXp+zsbElScnKyqqqqVFFR4XN1StafcJeSkqJ+/fo5fN8X+lJyXqdkfV+GhYUpMTFRkhQY\nGKiYmBgdPXq0yTq+0J9tqVOyvj8lqU+fPpKk6upq1dXVqX///k3e94X+bEudkvX9efjwYb3++uta\nsGBBi7W40peWB8KRI0cUGRlpfx0REaEjR444Xefw4cNeq9FRDefXaRiG3n//fSUkJGjatGnav3+/\nV2tsC1/oy7bwtb4sKSlRYWGhkpOTmyz3tf50VKev9Gd9fb0SExMVGhqqtLQ0xcbGNnnfV/rTWZ2+\n0J+//OUv9cADD8jPr+WvcVf60vJAMNp4ttT5CdjWz7lLW9obPXq0SktL9cknn2jp0qWaOXOmFypr\nP6v7si18qS9PnjypWbNmae3atQoMDGz2vq/0Z2t1+kp/+vn5qaioSIcPH9bOnTtbvBSEL/Snszqt\n7s/XXntNISEhSkpKanWk0t6+tDwQBg0apNLSUvvr0tJSRUREtLrO4cOHNWjQIK/V2FINLdUZFBRk\nH2pOnTpVNTU1qqys9GqdzvhCX7aFr/RlTU2NsrKydOONN7b4R+8r/emsTl/pz0YXXXSRpk+fro8+\n+qjJcl/pz0aO6rS6P99//33l5eUpOjpac+bM0Y4dO3TzzTc3WceVvrQ8EMaOHauDBw+qpKRE1dXV\nevHFF5WZmdlknczMTD377LOSpD179qhv375eP2+hLXVWVFTYE3nv3r0yTbPFfY9W8oW+bAtf6EvT\nNDV//nzFxsZq2bJlLa7jC/3Zljp9oT+/++47+3XLzpw5o+3btyspKanJOr7Qn22p0+r+XL16tUpL\nS1VcXKwXXnhBEydOtPdbI1f60pIzlZsU0LOnHnvsMV111VWqq6vT/PnzFRMTo/Xr10uSFi1apGnT\npun111/XkCFDFBAQoI0bN/pknZs3b9af/vQn9ezZU3369NELL7zg9TrnzJmjd955R999950iIyN1\n9913q6amxl6jL/RlW+r0hb7ctWuXNm3apFGjRtm/EFavXq1//etf9jp9oT/bUqcv9GdZWZmys7NV\nX1+v+vp63XTTTZo0aZLP/a23pU5f6M9zNe4K6mhfcmIaAECSD+wyAgD4BgIBACCJQAAA2BAIAABJ\nBAIAwIZAAABIIhDQCbV0+Qh3euSRR3TmzBm3t/fqq686vLw74As4DwGdTlBQkE6cOOGx7UdHR+uj\njz7SgAEDvNIe4CsYIaBL+PrrrzV16lSNHTtWP/7xj3XgwAFJ0i233KJf/OIXmjBhggYPHqzc3FxJ\nDVezXLJkiWJiYpSRkaHp06crNzdX69at09GjR5WWlqZJkybZt3/nnXcqMTFR48eP17ffftus/WXL\nlmnVqlWSpH/84x+68sorm63z9NNPa+nSpa3Wda6SkhKNGDFCc+fO1fDhw/Wzn/1Mb7zxhiZMmKBh\nw4bpww8/7HjHAedy9cYMgFUCAwObLZs4caJ58OBB0zQbbgYyceJE0zRNMzs727zuuutM0zTN/fv3\nm0OGDDFN0zRffvllc9q0aaZpmmZ5ebnZr18/Mzc31zRN04yKijK///57+7YNwzBfe+010zRN8447\n7jDvueeeZu2fPn3ajIuLM3fs2GEOHz7cPHToULN1nn76afPWW29tta5zFRcXmz179jQ/++wzs76+\n3hwzZow5b9480zRNc+vWrebMmTOd9hXQHpZfywjoqJMnT2r37t2aPXu2fVl1dbWkhmu8NF79MyYm\nxn6DkPfee0/XXXedJNmvee9Ir169NH36dEnSmDFjtH379mbrXHjhhXryySeVkpKitWvXKjo6utWa\nHdV1vujoaMXFxUmS4uLiNHnyZElSfHy8SkpKWm0DaC8CAZ1efX29+vbt6/Cesb169bI/N21TZoZh\nNLlWvNnKVJq/v7/9uZ+fn2pra1tcb9++fRo4cGCzGyc50lJd5+vdu3eTths/01odgKuYQ0CnFxwc\nrOjoaG3evFlSw5frvn37Wv3MhAkTlJubK9M0VVFRoXfeecf+XlBQkI4fP96uGr755hv94Q9/UGFh\nof7+979r7969zdZpLXQAX0AgoNM5ffq0IiMj7Y9HHnlEzz33nDZs2KDExETFx8crLy/Pvv65d4lq\nfJ6VlaWIiAjFxsbqpptu0ujRo3XRRRdJkhYuXKgpU6bYJ5XP//z5d50yTVMLFizQQw89pLCwMG3Y\nsEELFiyw77Zy9FlHz8//jKPXvninO3RuHHaKbuvUqVMKCAjQ999/r+TkZL3//vsKCQmxuizAMswh\noNu6+uqrVVVVperqat11112EAbo9RggAAEnMIQAAbAgEAIAkAgEAYEMgAAAkEQgAABsCAQAgSfp/\np8METwRPdJcAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5c2a7b0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x1a108f0>"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.4_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.4_5.ipynb
new file mode 100644
index 00000000..09aec3f9
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.4_5.ipynb
@@ -0,0 +1,1628 @@
+{
+ "metadata": {
+ "name": "chapter no.4.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4:Stresses in Beams"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.1,Page no.130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=5000 #mm #Length of Beam\n",
+ "a=2000 #mm #Length of start of beam to Pt Load\n",
+ "b=3000 #mm #Length of Pt load to end of beam\n",
+ "A=150*250 #m**2 #Area of beam\n",
+ "b=150 #mm #Width of beam\n",
+ "d=250 #mm #Depth of beam\n",
+ "sigma=10#N/mm**2 #stress\n",
+ "l=2000 #m #Load applied from one end\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=1*12**-1*b*d**3 #m**4\n",
+ "\n",
+ "#Distance from N.A to end\n",
+ "y_max=d*2**-1 #m\n",
+ "\n",
+ "#Section Modulus\n",
+ "Z=1*6**-1*b*d**2 #mm**3\n",
+ "\n",
+ "#Moment Carrying Capacity\n",
+ "M=sigma*Z #N-mm\n",
+ "\n",
+ "#Let w be the Intensity of the Load in N/m,then Max moment\n",
+ "#M_max=w*L**2*8**-1 #N-mm\n",
+ "#After substituting values and further simplifying we get\n",
+ "#M_max=w*25*100*8**-1\n",
+ "\n",
+ "#EQuating it to moment carrying capacity,we get max intensity load\n",
+ "w=M*(25*1000)**-1*8*10**-3\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Let P be the concentrated load,then max moment occurs under the load and its value\n",
+ "#M1=P*a*b*L**-1 #N-mm\n",
+ "\n",
+ "#Equting it to moment carrying capacity we get\n",
+ "P=M*1200**-1*10**-3 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Intensity of u.d.l it can carry\",round(w,3),\"KN-m\"\n",
+ "print\"MAx concentrated Load P apllied at 2 m from one end is\",round(P,3),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Intensity of u.d.l it can carry 5.0 N-mm\n",
+ "MAx concentrated Load P apllied at 2 m from one end is 13.021 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.2,Page no.131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=70 #mm #External Diameter\n",
+ "t=8 #mm #Thickness of pipe\n",
+ "L=2500 #mm #span \n",
+ "sigma=150 #N/mm**2 #stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Internal Diameter \n",
+ "d=D-2*t #mm\n",
+ "\n",
+ "#M.I Of Pipe\n",
+ "I=pi*64**-1*(D**4-d**4) #mm**4\n",
+ "\n",
+ "y_max=D*2**-1 #mm\n",
+ "Z=I*(y_max)**-1 #mm**3\n",
+ "\n",
+ "#Moment Carrying capacity\n",
+ "M=sigma*Z #N*mm\n",
+ "\n",
+ "#Max moment int the beam occurs at the mid-span and is equal to\n",
+ "#m=P*L*4**-1\n",
+ "\n",
+ "#Equating Max moment to moment carrying capacity we get,\n",
+ "#M=P*2.5*L*4**-1\n",
+ "#After substituting and simplifying we get\n",
+ "P=4*M*(L)**-1*10**-3 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Max concentrated load that can be applied at the centre of span is\",round(P,3),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max concentrated load that can be applied at the centre of span is 5.22 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.3,Page no.132"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Flanges Dimension\n",
+ "b1=180 #mm #Width\n",
+ "d1=10 #mm #Thickness\n",
+ "\n",
+ "D=500 #mm #Overall depth\n",
+ "t=8 #mm #Thickness of web\n",
+ "\n",
+ "#Plate Dimensions\n",
+ "b2=240 #mm #Width\n",
+ "t2=12 #mm #Thickness\n",
+ "\n",
+ "sigma=150 #N/mm**2 #Stress\n",
+ "L=3000 #mm #span\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance of centroid from bottom fibre\n",
+ "y_bar=(b2*t2*(D+t2*2**-1)+b1*d1*(D-t1*2**-1)+(D-2*t1)*t*D*2**-1+(b1*t1*t1*2**-1))*(b2*t2+b1*d1+b1*d1+(D-2*d1)*t)**-1\n",
+ "\n",
+ "#M.I of section\n",
+ "I=(1*12**-1*b2*t2**3+b2*t2*(D+t2*2**-1-y_bar)**2+1*12**-1*b1*d1**3+b1*d1*(D-t1*2**-1-y_bar)**2+1*12**-1*b1*t1**3+b1*t1*(t1*2**-1-y_bar)**2+1*12**-1*t*(D-2*t1)**3+t*(D-2*t1)*(D*2**-1-y_bar)**2)\n",
+ "\n",
+ "#Section Modulus\n",
+ "Z=I*(y_bar)**-1 #mm**3\n",
+ "\n",
+ "#Moment or Resistance\n",
+ "M=sigma*Z\n",
+ "\n",
+ "#Let Load on Cantilever be w/m Length \n",
+ "#Max M.I produced\n",
+ "#M_max=w*L**2**-1 \n",
+ "\n",
+ "#Now Equating Moment of resistance to Max moment,we get Max load\n",
+ "#4.5*w=M\n",
+ "#After rearranging and further simplifying we get\n",
+ "w=M*4.5**-1*10**3*10**-9\n",
+ "\n",
+ "#Result\n",
+ "print\"Moment of Resistance is\",round(M,2),\"KN-mm\"\n",
+ "print\"Load the section can carry is\",round(w,3),\"KN/m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment of Resistance is 198770121.83 KN-mm\n",
+ "Load the section can carry is 44.171 KN/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.4,Page no.134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Flange (Top)\n",
+ "b1=80 #mm #Width \n",
+ "t1=40 #mm #Thickness\n",
+ "\n",
+ "#Flange (Bottom)\n",
+ "b2=160 #mm #width\n",
+ "t2=40 #mm #Thickness\n",
+ "\n",
+ "#web\n",
+ "d=120 #mm #Depth\n",
+ "t3=20 #mm #Thickness\n",
+ "\n",
+ "D=200 #mm #Overall Depth\n",
+ "sigma1=30 #N/mm**2 #Tensile stress\n",
+ "sigma2=90 #N/mm**2 #Compressive stress\n",
+ "L=6000 #mm #Span\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance of centroid from bottom fibre\n",
+ "y_bar=(b1*t1*(D-t1*2**-1)+d*t3*(d*2**-1+t2)+b2*t2*t2*2**-1)*(b1*t1+d*t3+b2*t2)**-1 #mm\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=1*12**-1*b1*t1**3+b1*t1*(D-t1*2**-1-round(y_bar,2))**2+1*12**-1*t3*d**3+t3*d*(d*2**-1+t2-round(y_bar,2))**2+1*12**-1*b2*t2**3+b2*t2*(t2*2**-1-round(y_bar,2))**2\n",
+ "\n",
+ "#Extreme fibre distance of top and bottom fibres are y_t and y_c respectively\n",
+ "\n",
+ "y_t=y_bar #mm\n",
+ "y_c=D-y_bar #mm\n",
+ "\n",
+ "#Moment carrying capacity considering Tensile strength \n",
+ "M1=sigma1*I*y_t**-1*10**-6 #KN-m\n",
+ "\n",
+ "#Moment carrying capacity considering compressive strength \n",
+ "M2=sigma2*I*y_c**-1*10**-6 #KN-m\n",
+ "\n",
+ "#Max Bending moment in simply supported beam 6 m due to u.d.l\n",
+ "#M_max=w*L*10**-3*8**-1\n",
+ "#After simplifying further we get\n",
+ "#M_max=4.5*w\n",
+ "\n",
+ "#Now Equating it to Moment carrying capacity, we get load carrying capacity\n",
+ "w=M1*4.5**-1 #KN/m\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Uniformly Distributed Load is\",round(w,3),\"KN/m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Uniformly Distributed Load is 5.096 KN/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.5,Page no.136"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Flanges\n",
+ "b=200 #mm #Width\n",
+ "t=25 #mm #Thickness \n",
+ "\n",
+ "D1=500 #mm #Overall Depth\n",
+ "t2=20 #mm #Thickness of web\n",
+ "\n",
+ "d=450 #mm #Depth of web\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Consider,Element of Thickness \"y\" at Distance \"dy\" from N.A \n",
+ "#Let Bending stress \"sigma_max\"\n",
+ "\n",
+ "#Stress on the element \n",
+ "#sigma=y*(D*2**-1)*sigma_max ..............(1)\n",
+ "\n",
+ "#Area of Element\n",
+ "#A=b*dy .................................(2)\n",
+ "\n",
+ "#Force on Element \n",
+ "#F=y*250**-1*sigma_max*b*dy\n",
+ "\n",
+ "#Let M be the Moment of resistance\n",
+ "#M=y*250**-1*sigma_max*b*dy*y\n",
+ "\n",
+ "#Moment of Resistance of top flange be M1\n",
+ "def integrand(y, b, D):\n",
+ " return b*y**2*D**-1\n",
+ "b=200 \n",
+ "D=250\n",
+ "\n",
+ "X = quad(integrand, 225, 250, args=(b,D))\n",
+ "\n",
+ "Y=2*X[0]\n",
+ "\n",
+ "#M1=Y*sigma\n",
+ "\n",
+ "#Now Moment of Inertia I section is\n",
+ "X=b*D1**3\n",
+ "Y=(b-t2)*d**3\n",
+ "I=(X-Y)*12**-1*10**-8\n",
+ "\n",
+ "#Moment acting on the entire section\n",
+ "#since sigmais the value at y=250\n",
+ "y_max=250\n",
+ "Z=I*10**8*y_max**-1\n",
+ "#M=sigma*Z \n",
+ "#After Simplifying Further we get\n",
+ "#M2=Z*sigma\n",
+ "\n",
+ "#Percentage Moment resisted by Flanges\n",
+ "P1=2258333.3*(2865833.3)**-1*100\n",
+ "\n",
+ "#Percentage Moment resisted by web\n",
+ "P2=100-P1\n",
+ "\n",
+ "#Result\n",
+ "print\"Percentage Moment resisted by Flanges\",round(P1,2),\"%\"\n",
+ "print\"Percentage Moment resisted by web\",round(P2,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage Moment resisted by Flanges 78.8 %\n",
+ "Percentage Moment resisted by web 21.2 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.6,Page no.137"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Flanges\n",
+ "b1=200 #mm #Width\n",
+ "t1=10 #mm #Thickness\n",
+ "\n",
+ "#Web\n",
+ "d=380 #mm #Depth \n",
+ "t2=8 #mm #Thickness\n",
+ "\n",
+ "D=400 #mm #Overall Depth\n",
+ "sigma=150 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Area\n",
+ "A=b1*t1+d*t2+b1*t1 #mm**2\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=1*12**-1*(b1*D**3-(b1-t2)*d**3)\n",
+ "\n",
+ "#Bending Moment\n",
+ "M=sigma*I*(D*2**-1)**-1\n",
+ "\n",
+ "#Square Section\n",
+ "\n",
+ "#Let 'a' be the side\n",
+ "a=A**0.5\n",
+ "\n",
+ "#Moment of Resistance of this section\n",
+ "M1=1*6**-1*a*a**2*sigma\n",
+ "\n",
+ "X=M*M1**-1\n",
+ "\n",
+ "#Rectangular section\n",
+ "#Let 'a' be the side and depth be 2*a\n",
+ "\n",
+ "a=(A*2**-1)**0.5\n",
+ "\n",
+ "#Moment of Rectangular secction\n",
+ "M2=1*6**-1*a*(2*a)**2*sigma\n",
+ "\n",
+ "X2=M*M2**-1\n",
+ "\n",
+ "#Circular section\n",
+ "#A=pi*d1**2*4**-1\n",
+ "\n",
+ "d1=(A*4*pi**-1)**0.5\n",
+ "\n",
+ "#Moment of circular section\n",
+ "M3=pi*32**-1*d1**3*sigma\n",
+ "\n",
+ "X3=M*M3**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Moment of resistance of beam section\",round(M,2),\"mm\"\n",
+ "print\"Moment of resistance of square section\",round(X,2),\"mm\"\n",
+ "print\"Moment of resistance of rectangular section\",round(X2,2),\"mm\"\n",
+ "print\"Moment of resistance of circular section\",round(X3,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment of resistance of beam section 141536000.0 mm\n",
+ "Moment of resistance of square section 9.58 mm\n",
+ "Moment of resistance of rectangular section 6.78 mm\n",
+ "Moment of resistance of circular section 11.33 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.7,Page no.139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=12 #KN #Force at End of beam\n",
+ "L=2 #m #span\n",
+ "\n",
+ "#Square section \n",
+ "b=d=200 #mm #Width and depth of beam\n",
+ "\n",
+ "#Rectangular section\n",
+ "b1=150 #mm #Width\n",
+ "d1=300 #mm #Depth\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Max bending Moment\n",
+ "M=F*L*10**6 #N-mm\n",
+ "\n",
+ "#M=sigma*b*d**2\n",
+ "sigma=M*6*(b*d**2)**-1 #N/mm**2\n",
+ "\n",
+ "#Let W be the central concentrated Load in simply supported beam of span L1=3 m\n",
+ "#MAx Moment\n",
+ "#M1=W*L1*4**-1\n",
+ "#After Further simplifying we get\n",
+ "#M1=0.75*10**6 #N-mm\n",
+ "\n",
+ "#The section has a moment of resistance\n",
+ "M1=sigma*1*6**-1*b1*d1**2\n",
+ "\n",
+ "#Equating it to moment of resistance we get max load W\n",
+ "#0.75*10**6*W=M1\n",
+ "#After Further simplifying we get\n",
+ "W=M1*(0.75*10**6)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Minimum Concentrated Load required to brek the beam\",round(W,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum Concentrated Load required to brek the beam 54.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.8,Page no.140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=3 #m #span\n",
+ "sigma_t=35 #N/mm**2 #Permissible stress in tension\n",
+ "sigma_c=90 #N/mm**2 #Permissible stress in compression\n",
+ "\n",
+ "#Flanges\n",
+ "t=30 #mm #Thickness\n",
+ "d=250 #mm #Depth\n",
+ "\n",
+ "#Web\n",
+ "t2=25 #mm #Thickness\n",
+ "b=600 #mm #Width\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let y_bar be the Distance of N.A from Extreme Fibres\n",
+ "y_bar=(t*d*d*2**-1*2+(b-2*t)*t2*t2*2**-1)*(t*d*2+(b-2*t)*t2)**-1\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=(1*12**-1*t*d**3+t*d*(d*2**-1-y_bar)**2)*2+1*12**-1*(b-2*t)*t2**3+(b-2*t)*t2*(t2*2**-1-y_bar)**2\n",
+ "\n",
+ "#Part-1\n",
+ "\n",
+ "#If web is in Tension\n",
+ "y_t=y_bar #mm\n",
+ "y_c=d-y_bar #mm\n",
+ "\n",
+ "#Moment carrying caryying capacity From consideration of tensile stress\n",
+ "M=sigma_t*I*(y_bar)**-1 #N-mm\n",
+ "\n",
+ "#Moment carrying caryying capacity From consideration of compressive stress\n",
+ "M1=sigma_c*I*(y_c)**-1 #N-mm\n",
+ "\n",
+ "#If w KN/m is u.d.l in beam,Max bending moment\n",
+ "#M=wl**2*8**-1\n",
+ "#After further simplifyng we get\n",
+ "#M=1.125*w*10**6 N-mm\n",
+ "w=M*(1.125*10**6)**-1 #KN\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#If web is in compression\n",
+ "y_t2=178.299 #mm\n",
+ "y_c2=71.71 #mm \n",
+ "\n",
+ "#Moment carrying caryying capacity From consideration of tensile stress\n",
+ "M2=sigma_t*I*(y_t2)**-1 #N-mm\n",
+ "\n",
+ "#Moment carrying caryying capacity From consideration of compressive stress\n",
+ "M3=sigma_c*I*(y_c2)**-1 #N-mm\n",
+ "\n",
+ "#Moment of resistance is M2\n",
+ "\n",
+ "#Equating it to bending moment we get\n",
+ "#M2=1.125*10**6*w2\n",
+ "#After further simplifyng we get\n",
+ "w2=M2*(1.125*10**6)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Uniformly Distributed Load carrying capacity if:web is in Tension\",round(w,2),\"KN\"\n",
+ "print\" :web is in compression\",round(w2,3),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Uniformly Distributed Load carrying capacity if:web is in Tension 73.21 KN\n",
+ " :web is in compression 29.446 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.9,Page no.141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "b1=200 #mm #Width at base\n",
+ "b2=100 #mm #Width at top\n",
+ "\n",
+ "L=8 #m Length\n",
+ "P=500 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Consider a section at y metres from top\n",
+ "\n",
+ "#At this section diameter d is\n",
+ "#d=b2+y*L**-1*(b1-b2)\n",
+ "#After Further simplifying we get\n",
+ "#d=b2+12.5*y #mm\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "#I=pi*64**-1*d**4\n",
+ "\n",
+ "#Section Modulus \n",
+ "#Z=pi*32**-1*(b1+12.5*y)**3\n",
+ "\n",
+ "#Moment \n",
+ "#M=5*10**5*y #N-mm\n",
+ "\n",
+ "#Let sigma be the fibre stress at this section then\n",
+ "#M=sigma*Z\n",
+ "#After sub values in above equation and further simplifying we get\n",
+ "#sigma=5*10**5*32*pi**-1*y*((b2+12.5*y)**3)**-1\n",
+ "\n",
+ "#For sigma to be Max,d(sigma)*(dy)**-1=0\n",
+ "#16*10**6*pi**-1*((b2+12.5*y)**-3+y*(-3)*(b2+12.5*y)**-4*12.5)\n",
+ "#After Further simplifying we get\n",
+ "#b2+12.5*y=37.5*y\n",
+ "#After Further simplifying we get\n",
+ "y=b2*25**-1 #m\n",
+ "\n",
+ "#Stress at this section\n",
+ "sigma=5*10**5*32*pi**-1*y*((b2+12.5*y)**3)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Stress at Extreme Fibre is max\",round(y,2),\"m\"\n",
+ "print\"Max stress is\",round(sigma,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stress at Extreme Fibre is max 4.0 m\n",
+ "Max stress is 6.04 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.10,Page no.143"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "H=10 #mm #Height\n",
+ "A1=160*160 #mm**2 #area of square section at bottom\n",
+ "L1=160 #mm #Length of square section at bottom\n",
+ "b1=160 #mm #width of square section at bottom\n",
+ "A2=80*80 #mm**2 #area of square section at top\n",
+ "L2=80 #mm #Length of square section at top\n",
+ "b2=80 #mm #Width of square section at top\n",
+ "P=100 #N #Pull\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Consider a section at distance y from top.\n",
+ "#Let the side of square bar be 'a'\n",
+ "#a=L2+y*(H)**-1*(b1-b2)\n",
+ "#After further simplifying we get\n",
+ "#a=L2+8*y\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "#I=2*1*12**-1*a*(2)**0.5*(a*((2)**0.5)**-1)**3\n",
+ "#After further simplifying we get\n",
+ "#I=a**4*12**-1\n",
+ "\n",
+ "#Section Modulus \n",
+ "#Z=a**4*(12*a*(2)**0.5)**-1\n",
+ "#After further simplifying we get\n",
+ "#Z=2**0.5*a**3*(12)**-1 #mm**3\n",
+ "\n",
+ "#Bending moment at this section=100*y N-mm\n",
+ "#M=100*10**3*y #N-mm\n",
+ "\n",
+ "#But\n",
+ "#M=sigma*Z\n",
+ "#After sub values in above equation we get\n",
+ "#sigma=M*Z**-1\n",
+ "#After further simplifying we get\n",
+ "#sigma=1200*10**3*(2**0.5)**-1*y*((80+80*y)**3)**-1 .......(1)\n",
+ "\n",
+ "#For Max stress df*(dy)**-1=0\n",
+ "#After taking Derivative of above equation we get\n",
+ "#df*(dy)**-1=1200*10**3*(2**0.5)**-1*((80+8*y)**-3+y(-3)*(80+8*y)**-4*8)\n",
+ "#After further simplifying we get\n",
+ "y=80*16**-1 #m\n",
+ "\n",
+ "#Max stress at this level is\n",
+ "sigma=1200*10**3*(2**0.5)**-1*y*((80+8*y)**3)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Bending stress is Developed at\",round(y,3),\"m\"\n",
+ "print\"Value of Max Bending stress is\",round(sigma,3),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Bending stress is Developed at 5.0 m\n",
+ "Value of Max Bending stress is 2.455 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.12,Page no.147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "b=200 #mm #Width of timber \n",
+ "d=400 #mm #Depth of timber\n",
+ "t=6 #mm #Thickness\n",
+ "b2=200 #mm #width of steel plate\n",
+ "t2=20 #mm #Thickness of steel plate\n",
+ "M=40*10**6 #KN-mm #Moment\n",
+ "#Let E_s*E_t**-1=X\n",
+ "X=20 #Ratio of Modulus of steel to timber\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#let y_bar be the Distance of centroidfrom bottom most fibre\n",
+ "y_bar=(b*d*(b+t)+t2*b2*t*t*2**-1)*(b*d+t2*b2*t)**-1 #mm\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=1*12**-1*b*d**3+b*d*(b+t-round(y_bar,3))**2+1*12**-1*t2*b2*t**3+b2*t2*t*(round(y_bar,3)-t*2**-1)**2\n",
+ "\n",
+ "#distance of the top fibre from N-A\n",
+ "y_1=d+t-y_bar #mm\n",
+ "\n",
+ "#Distance of the junction of timber and steel From N-A\n",
+ "y_2=y_bar-t #mm\n",
+ "\n",
+ "#Stress in Timber at the top\n",
+ "Y=M*I**-1*y_1 #N/mm**2\n",
+ "\n",
+ "#Stress in the Timber at the junction point\n",
+ "Z=M*I**-1*y_2\n",
+ "\n",
+ "#Coressponding stress in steel at the junction point\n",
+ "Z2=X*Z #N/mm**2 \n",
+ "\n",
+ "#The stress in Extreme steel fibre \n",
+ "Z3=X*M*I**-1*y_bar\n",
+ "\n",
+ "#Result\n",
+ "print\"Stress in Extreme steel Fibre\",round(Z3,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stress in Extreme steel Fibre 69.67 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.13,Page no.149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Timber size\n",
+ "b=150 #mm #Width\n",
+ "b2=120 #mm \n",
+ "d=300 #mm #Depth\n",
+ "\n",
+ "t=6 #mm #Thickness of steel plate\n",
+ "L=6 #m #Span\n",
+ "\n",
+ "#E_s*E_t**-1=20 \n",
+ "#X=E_s*E_t**-1\n",
+ "X=20 \n",
+ "sigma_timber=8 #N/mm**2 #Stress in timber\n",
+ "sigma_steel=150 #N/mm**2 #Stress in steel plate\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Y\n",
+ "\n",
+ "#Due to synnetry cenroid,the neutral axis is half the depth\n",
+ "I=1*12**-1*\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print Z"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "153.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.14,Page no.151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=6000 #mm #Span of beam\n",
+ "W=20*10**3 #N #Load\n",
+ "sigma=8 #N/mm**2 #Stress\n",
+ "b=200 #mm #Width of section\n",
+ "d=300 #mm #Depth of section\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#let x be the distance from left side of beam\n",
+ "\n",
+ "#Bending moment\n",
+ "#M=W*2**-1*x #Nmm .......(1)\n",
+ "\n",
+ "#But M=sigma*Z ..........(2)\n",
+ "\n",
+ "#Equating equation 1 and 2 we get\n",
+ "#W*2**-1*x=sigma*Z ............(3)\n",
+ "\n",
+ "#Section Modulus \n",
+ "#Z=1*6*b*d**2 ...............(4)\n",
+ "\n",
+ "#Equating equation 3 and 4 we get\n",
+ "#b*d**2=3*W*x*sigma**-1 .............(5)\n",
+ "\n",
+ "#Beam of uniform strength of constant depth\n",
+ "#b=3*W*x*(sigma*d**2) \n",
+ "\n",
+ "#When x=0\n",
+ "b=0\n",
+ "\n",
+ "#When x=L*2**-1\n",
+ "b2=3*W*L*(2*sigma*d**2)**-1 #mm\n",
+ "\n",
+ "#Beam with constant width of 200 mm\n",
+ "\n",
+ "#We have\n",
+ "#d=(3*W*x*(sigma*d)**-1)**0.5\n",
+ "#thus depth varies as (x)**0.5\n",
+ "\n",
+ "#when x=0\n",
+ "d1=0\n",
+ "\n",
+ "#when x=L*2**-1\n",
+ "d2=(2*W*L*(2*sigma*300)**-1)**0.5 #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Cross section of rectangular beam is:\",round(b2,2),\"mm\"\n",
+ "print\" :\",round(d2,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cross section of rectangular beam is: 250.0 mm\n",
+ " : 223.61 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.15,Page no.154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=800 #mm #Span\n",
+ "n=5 #number of leaves\n",
+ "b=60 #mm #Width\n",
+ "t=10 #mm #thickness\n",
+ "sigma=250 #N/mm**2 #Stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#section Modulus\n",
+ "Z=n*6**-1*b*t**2 #mm**3\n",
+ "\n",
+ "#from the relation\n",
+ "#sigma*Z=M ...................(1)\n",
+ "#M=P*L*4**-1\n",
+ "#sub values of M in equation 1 we get\n",
+ "P=sigma*Z*4*L**-1*10**-3 #KN #Load\n",
+ "\n",
+ "#Length of Leaves\n",
+ "L1=0.2*L #mm\n",
+ "L2=0.4*L #mm\n",
+ "L3=0.6*L #mm\n",
+ "L4=0.8*L #mm\n",
+ "L5=L #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Load it can take is\",round(P,2),\"KN\"\n",
+ "print\"Length of leaves:L1\",round(L1,2),\"mm\"\n",
+ "print\" :L2\",round(L2,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Load it can take is 6.25 KN\n",
+ "Length of leaves:L1 160.0 mm\n",
+ " :L2 320.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.16,Page no.161"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=20*10**3 #N #Shear Force\n",
+ "\n",
+ "#Tee section\n",
+ "\n",
+ "#Flange\n",
+ "b=100 #mm #Width\n",
+ "t=12 #mm #Thickness\n",
+ "\n",
+ "#Web\n",
+ "d=88 #mm #Depth\n",
+ "t2=12 #mm #Thicknes\n",
+ "\n",
+ "D=100 #mm #Overall Depth\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance of C.G from Top Fibre\n",
+ "y=(b*t*t*2**-1+t2*d*(d*2**-1+t))*(b*t+d*t2)**-1 #mm \n",
+ "\n",
+ "#Moment Of Inertia\n",
+ "I=1*12**-1*b*t**3+b*t*(y-t*2**-1)**2+1*12**-1*t2*d**3+t2*d*(t+d*2**-1-y)**2 #mm**4\n",
+ "\n",
+ "#shear stress at bottom Flange\n",
+ "\n",
+ "#Area above this level\n",
+ "A=b*t #mm**2\n",
+ "\n",
+ "#C.G of this area from N-A\n",
+ "y2=y-t*2**-1\n",
+ "\n",
+ "#Stress at bottom of flange\n",
+ "sigma=F*A*y2*(b*I)**-1 #N/mm**2 \n",
+ "\n",
+ "#sigma2 at same level but in web where width is 12 mm\n",
+ "sigma2=F*A*y2*(t2*I)**-1 #N/mm**2 \n",
+ "\n",
+ "#To find shear stress at N-A\n",
+ "X=t*b*(y-t*2**-1)+t2*(y-t2)*(y-t2)*2**-1 #mm**3\n",
+ "\n",
+ "sigma3=F*X*(t2*I)**-1 #N/mm**2\n",
+ "\n",
+ "#Shear stress at top and bottom fibre is zero\n",
+ "#sigma4 and sigma5 are top and bottom fibre shear stress\n",
+ "sigma4=sigma5=0\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,t,t,y,D]\n",
+ "Y1=[sigma4,sigma,sigma2,sigma3,sigma5]\n",
+ "Z1=[0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nnntYs2YN3bt3p3nz5nzxxRflv3Ail3JWibWIM/j5+V32Wq9evawDBw5YlmVZW7dutXr16mVZlmXd\nd9991tChQy3LsqxvvvnGuvXWWy3Lsqy3337b6tevn2VZlpWZmWndeOON1rJlyyzLsqygoCDr6NGj\nhcd2OBzWqlWrLMuyrCeeeMJ65plnLjv/qVOnrPDwcGvdunVWSEiI9d133132nvnz51sTJky4alwX\nS0lJsapWrWp9/fXXVkFBgdW+fXtr9OjRlmVZ1vLly62BAweWeK1ErlVVuxOSSHnk5OSwZcsWhgwZ\nUvhabm4uYJb6Pb/QV4sWLQrXid+4cSNDhw4FzEqRUVFRxR6/WrVq9O/fH4D27duzdu3ay95z/fXX\nM3fuXHr06MGsWbMIDg6+aszFxXWp4OBgwsPDAQgPD6d3794AtGzZktTU1KueQ6QslBDEoxUUFFCn\nTh127Nhxxd9Xq1at8Ll1brjM4XAU2WPBusowmq+vb+FzHx8f8vLyrvi+Xbt20aBBg1Jv6HSluC5V\nvXr1Iuc+/5mrxSFSHhpDEI9Wu3ZtgoODeeeddwBzc921a9dVP9O9e3eWLVuGZVlkZWWxfv36wt/V\nqlWLEydOXFMM33//PX/729/YsWMHH374Idu2bbvsPVdLOiLuQglBPMqpU6do0qRJ4ePFF1/kzTff\n5NVXX6Vt27a0bNmSFStWFL7/4h2izj9PTEwkMDCQsLAwhg8fTrt27bjhhhsAuP/+++nbt2/hoPKl\nn790xynLshg7diwvvPACAQEBvPrqq4wdO7aw26q4zxb3/NLPFPezt+4IJs6laafilU6ePEnNmjU5\nevQonTt3ZvPmzV61y5bIlWgMQbzSgAEDyM7OJjc3l6eeekrJQAS1EERE5ByNIYiICKCEICIi5ygh\niIgIoIQgIiLnKCGIiAighCAiIuf8f5wqyy9KzUKHAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x56a6270>"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.17,Page no.163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=40*10**3 #N #shear Force\n",
+ "\n",
+ "#I-section\n",
+ "\n",
+ "#Flanges\n",
+ "b=80 #mm #Width of flange\n",
+ "t=20 #mm #Thickness\n",
+ "\n",
+ "#Web\n",
+ "d=200 #mm #Depth\n",
+ "t2=20 #mm #Thickness\n",
+ "\n",
+ "#Flange-2\n",
+ "b2=160 #mm #Width\n",
+ "t3=20 #mm #Thickness\n",
+ "\n",
+ "D=240 #mm #Overall Depth\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance of N-A from Top Fibre \n",
+ "y=(b*t*t*2**-1+d*t2*(t+d*2**-1)+b2*t3*(t+d+t3*2**-1))*(b*t+d*t2+b2*t3)**-1 #mm\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=1*12**-1*b*t**3+b*t*(y-(t*2**-1))**2+1*12**-1*t2*d**3+t2*d*(y-(t+d*2**-1))**2+1*12**-1*b2*t3**3+t3*b2*((d+t+t3*2**-1)-y)**2 #mm**4\n",
+ "\n",
+ "#Shear stress bottom of flange\n",
+ "sigma=F*b*t*(y-t*2**-1)*(b*I)**-1 #N/mm**2\n",
+ "\n",
+ "#At same Level but in web\n",
+ "sigma2=F*b*t*(y-t*2**-1)*(t2*I)**-1 #N/mm**2\n",
+ "\n",
+ "#for shear stress at N.A\n",
+ "X=b*t*(y-t*2**-1)+t2*(y-t)*(y-t)*2**-1 #mm**3\n",
+ "sigma3=F*X*(t2*I)**-1 #N/mm**2\n",
+ "\n",
+ "#Shear stress at bottom of web\n",
+ "\n",
+ "X=b2*t3*((D-y)-t3*2**-1) #mm**3\n",
+ "\n",
+ "#Stress at bottom of web\n",
+ "sigma4=F*X*(t2*I)**-1 #N/mm**2\n",
+ "\n",
+ "#Stress at Lower flange\n",
+ "sigma5=F*X*(b2*I)**-1 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force Diagram is the result\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,20,20,140,220,220,240]\n",
+ "Y1=[0,sigma,sigma2,sigma3,sigma4,sigma5,0]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length in mm\")\n",
+ "plt.ylabel(\"Shear Force in N\")\n",
+ "plt.show()\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force Diagram is the result\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n/w/qZz1xEBCKMwAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5614110>"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.18,Page no.164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=30*10**3 #N #Shear Force\n",
+ "\n",
+ "#Channel Section\n",
+ "d=400 #mm #Depth of web \n",
+ "t=10 #mm #THickness of web\n",
+ "t2=15 #mm #Thickness of flange\n",
+ "b=100 #mm #Width of flange\n",
+ "\n",
+ "#Rectangular Welded section\n",
+ "b2=80 #mm #Width\n",
+ "d2=60 #mm #Depth\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance of Centroid From Top Fibre\n",
+ "y=(d*t*t*2**-1+2*t2*(b-t)*((b-t)*2**-1+10)+d2*b2*(d2*2**-1+t))*(d*t+2*t2*(b-t)+d2*b2)**-1 #mm\n",
+ "\n",
+ "#Moment Of Inertia of the section about N-A\n",
+ "I=1*12**-1*d*t**3+d*t*(y-t*2**-1)**2+2*(1*12**-1*t2*(b-t)**3+t2*(b-t)*(((b-t)*2**-1+t)-y)**2)+1*12**-1*d2**3*b2+d2*b2*(d2*2**-1+t-y)**2\n",
+ "\n",
+ "#Shear stress at level of weld\n",
+ "sigma=F*d*t*(y-t*2**-1)*((b2+t2+t2)*I)**-1 #N/mm**2\n",
+ "\n",
+ "#Max Shear Stress occurs at Neutral Axis\n",
+ "X=d*t*(y-t*2**-1)+2*t2*(y-t)*(y-t)*2**-1+b2*(y-t)*(y-t)*2**-1\n",
+ "\n",
+ "sigma_max=F*X*((b+t)*I)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Shear stress in the weld is\",round(sigma,2),\"N/mm**2\"\n",
+ "print\"Max shear stress is\",round(sigma_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shear stress in the weld is 3.62 N/mm**2\n",
+ "Max shear stress is 4.48 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.19,Page no.165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Wooden Section\n",
+ "b=300 #mm #Width\n",
+ "d=300 #mm #Depth\n",
+ "\n",
+ "D=100 #mm #Diameter of Bore\n",
+ "F=10*10**3 #N #Shear Force\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Moment Of Inertia Of Section\n",
+ "I=1*12**-1*b*d**3-pi*64**-1*D**4\n",
+ "\n",
+ "#Shear stress at crown of circle\n",
+ "sigma=F*b*D*(d*2**-1-D*2**-1)*(b*I)**-1\n",
+ "\n",
+ "#Let a*y_bar=X\n",
+ "X=b*d*2**-1*d*4**-1-pi*8**-1*D**2*4*D*2**-1*(3*pi)**-1 #mm**3\n",
+ "\n",
+ "#Shear Stress at Neutral Axis\n",
+ "sigma2=F*X*((b-D)*I)**-1 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Shearing Stress at Crown of Bore\",round(sigma,3),\"N/mm**2\"\n",
+ "print\"Shear Stress at Neutral Axis\",round(sigma2,3),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shearing Stress at Crown of Bore 0.149 N/mm**2\n",
+ "Shear Stress at Neutral Axis 0.246 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.20,Page no.166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#flanges\n",
+ "b=200 #mm #width\n",
+ "t1=25 #mm #Thickness\n",
+ "\n",
+ "#web\n",
+ "d=450 #mm #Depth \n",
+ "t2=20 #mm #thickness\n",
+ "\n",
+ "D=500 #mm #Total Depth of section\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Moment Of Inertia of the section about N-A\n",
+ "I=1*12**-1*b*D**3-1*12**-1*(b-t2)*d**3 #mm**4\n",
+ "\n",
+ "#Consider an element in the web at distance y from y from N-A\n",
+ "#Depth of web section=225-y\n",
+ "\n",
+ "#C.G From N-A\n",
+ "#y2=y+(((D*2**-1-t)-y)*2**-1)\n",
+ "\n",
+ "#ay_bar for section at y\n",
+ "#Let ay_bar be X\n",
+ "#X=X1 be of Flange + X2 be of web above y\n",
+ "#X=b*t1*(D*2**-1-t1*2**-1)+t2*(d-t1)*(d-t1+y)*2**-1\n",
+ "#After Sub values and Further simplifying we get\n",
+ "#X=1187500+10*(225**2-y**2)\n",
+ "\n",
+ "#Shear stress at y\n",
+ "#sigma_y=F*(X)*(t2*I)**-1\n",
+ "\n",
+ "#Shear Force resisted by the Element\n",
+ "#F1=F*X*t2*dy*(t2*I)**-1\n",
+ "\n",
+ "#Shear stress resisted by web \n",
+ "#sigma=2*F*I**-1*(X)*dy\n",
+ "\n",
+ "#After Integrating above equation and further simplifying we get\n",
+ "#sigma=0.9578*F\n",
+ "\n",
+ "sigma=0.9578*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Shear Resisted by web\",round(sigma,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shear Resisted by web 95.78 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.21,Page no.167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Wooden Beam\n",
+ "\n",
+ "b=150 #mm #width\n",
+ "d=250 #mm #Depth\n",
+ "\n",
+ "L=5000 #mm #span\n",
+ "m=11.2 #N/mm**2 #Max Bending stress\n",
+ "sigma=0.7 #N/mm**2 #Max shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let 'a' be the distance from left support\n",
+ "#Max shear force\n",
+ "#F=R_A=W*(L-a)*L**-1 \n",
+ "\n",
+ "#Max Moment\n",
+ "#M=W*(L-a)*a*L**-1\n",
+ "\n",
+ "#But M=sigma*Z\n",
+ "#W*(L-a)*a*L**-1=m*1*6**-1*b*d**2 .....................(1)\n",
+ "\n",
+ "#In Rectangular Section MAx stress is 1.5 times Avg shear stress\n",
+ "F=sigma*b*d*1.5**-1\n",
+ "\n",
+ "#W*(L-a)*L**-1=F .....................(2)\n",
+ "\n",
+ "#Dividing Equation 1 nad 2 we get\n",
+ "a=m*6**-1*b*d**2*1.5*(sigma*b*d)**-1\n",
+ "\n",
+ "#Sub above value in equation 2 we get\n",
+ "W=(L-a)**-1*L*F*10**-3 #KN \n",
+ "\n",
+ "#Result\n",
+ "print\"Load is\",round(W,2),\"KN\"\n",
+ "print\"Distance from Left support is\",round(a,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load is 21.87 KN\n",
+ "Distance from Left support is 1000.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.22,Page no.168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=1000 #mm #span\n",
+ "\n",
+ "#Rectangular Section\n",
+ "\n",
+ "b=200 #mm #width\n",
+ "d=400 #mm #depth\n",
+ "\n",
+ "sigma=1.5 #N/mm**2 #Shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let AB be the cantilever beam subjected to load W KN at free end\n",
+ "\n",
+ "#MAx shear Force\n",
+ "#F=W*10**3 #KN\n",
+ "\n",
+ "#Since Max shear stress in Rectangular section\n",
+ "#sigma_max=1.5*F*A**-1 \n",
+ "#After sub values and further simplifyng we get\n",
+ "W=1.5*b*d*(1.5*1000)**-1 #KN\n",
+ "\n",
+ "#Moment at fixwed end\n",
+ "M=W*1 #KN-m\n",
+ "y_max=d*2**-1 #mm\n",
+ "\n",
+ "#M.I\n",
+ "I=1*12**-1*b*d**3 #mm**3\n",
+ "\n",
+ "#MAx Stress\n",
+ "sigma_max=M*10**6*I**-1*y_max\n",
+ "\n",
+ "#Result\n",
+ "print\"Concentrated Load is\",round(sigma_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Concentrated Load is 15.0 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4.24,Page no.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=4000 #mm #span\n",
+ "\n",
+ "#Rectangular Cross-section\n",
+ "b=100 #mm #Width\n",
+ "d=200 #mm #Thickness\n",
+ "\n",
+ "F_per=10 #N/mm**2 #Max Bending stress\n",
+ "q_max=0.6 #N/mm**2 #Shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#If the Load W is in KN/m\n",
+ "\n",
+ "#Max shear Force\n",
+ "#F=w*l*2**-1 #KN\n",
+ "#After substituting values and further simplifying we get\n",
+ "#M=2*w #KN-m\n",
+ "\n",
+ "#Max Load from Consideration of moment\n",
+ "#M=1*6**-1*b*d**2*F_per\n",
+ "#After substituting values and further simplifying we get\n",
+ "w=(1*6**-1*b*d**2*F_per)*(2*10**6)**-1 #KN/m\n",
+ "\n",
+ "#Max Load from Consideration of shear stress\n",
+ "#q_max=1.5*F*(b*d)**-1 #N\n",
+ "#After substituting values and further simplifying we get\n",
+ "F=q_max*(1.5)*b*d #N\n",
+ "\n",
+ "#If w is Max Load in KN/m,then\n",
+ "#2*w*1000=8000\n",
+ "#After Rearranging and Further simplifying we get\n",
+ "w2=8000*(2*1000)**-1 #KN/m\n",
+ "\n",
+ "#Result\n",
+ "print\"Uniformly Distributed Load Beam can carry is\",round(w,2),\"KN/m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Uniformly Distributed Load Beam can carry is 3.33 KN/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.5_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.5_5.ipynb
new file mode 100644
index 00000000..8a54f301
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.5_5.ipynb
@@ -0,0 +1,1013 @@
+{
+ "metadata": {
+ "name": "chapter no.5.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5:Deflections Of Beams By Double Integration Methods"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.2,Page No.192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=3000 #mm #span of beam\n",
+ "a=2000 #mm\n",
+ "W1=20*10**3 #N #Pt Load Acting on beam\n",
+ "W2=30*10**3 #N #Pt Load Acting on beam\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus\n",
+ "I=2*10**8 #mm**4 #M.I\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Deflection at free End Due to W2\n",
+ "dell1=W2*L**3*(3*E*I)**-1 #mm\n",
+ "\n",
+ "#Deflection at free end Due to W1\n",
+ "dell2=W1*a**3*(3*E*I)**-1+(L-a)*W1*a**2*(2*E*I)**-1 #mm\n",
+ "\n",
+ "#Total Deflection at free end\n",
+ "dell=dell1+dell2 #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Deflection at Free End is\",round(dell,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deflection at Free End is 9.08 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.4,Page No.193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "E=2*10**5 #N/mm**2 #Young's Modulus\n",
+ "I=180*10**6 #mm**4 #M.I\n",
+ "W1=20 #N/m #u.d.l\n",
+ "W2=20*10**3 #N #Pt load\n",
+ "L=3000 #m #Span of beam\n",
+ "a=2000 #m #Span of u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Displacement of free End due to 20 KN Pt load at free end\n",
+ "dell1=W2*L**3*(3*E*I)**-1 #mm\n",
+ "\n",
+ "#Displacement of free end due to u.d.l\n",
+ "dell2=W1*a**4*(8*E*I)**-1+(L-a)*W1*a**3*(6*E*I)**-1\n",
+ "\n",
+ "#Deflection at free end\n",
+ "dell=dell1+dell2 #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"The Displacement of Free End of cantilever beam is\",round(dell,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Displacement of Free End of cantilever beam is 6.85 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.10,Page No.201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "E=200*10**6 #KN/m**2 #Young's Modulus\n",
+ "I=15*10**-6 #m**4 #M.I\n",
+ "a=4000 #m \n",
+ "L_AB=6 #m #Span of beam\n",
+ "L_CB=2 #m #Length of CB\n",
+ "F_C=18 #KN #force at C\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let V_A & V_B be the Reactions at A & B Respectively\n",
+ "#V_A+V_B=18\n",
+ "#Now taking moment at B,we get M_B\n",
+ "V_A=(F_C*L_CB)*L_AB**-1\n",
+ "V_B=18-V_A\n",
+ "\n",
+ "#Now Taking Moment at distance x\n",
+ "#M_x=6*x-18*(x-4)\n",
+ "#EI*d**2*y*(d*x**2)**-1=6*x-18*(x-4)\n",
+ "\n",
+ "#Now Integrating above equation,we get\n",
+ "#EI*dy*(dx)**-1=C1+3*x**2-9(x-4)**4\n",
+ "\n",
+ "#Again Integrating above equation we get\n",
+ "#EI*y=C2+C1*x+x**3-3*(x-4)**3\n",
+ "\n",
+ "#The Boundary conditions\n",
+ "x=0\n",
+ "y=0 #.....(a)\n",
+ "\n",
+ "x=6\n",
+ "y=0 #....(b)\n",
+ "\n",
+ "#From Boundary Condition(B.C) a we get\n",
+ "C2=0\n",
+ "\n",
+ "#From Boundary Condition(B.C) b we get\n",
+ "#6*C1+216-3*8\n",
+ "#After Further simplifying we get\n",
+ "C1=-(216-24)*6**-1\n",
+ "\n",
+ "#EI*y=-32*x+x**3-3*(x-4)**3\n",
+ "#EI*dy*(dx)**-1=-32+3*x**2-9(x-4)**4\n",
+ "\n",
+ "#For Max Deflection\n",
+ "#Assume it inthe Porion AC i.e x=4=a\n",
+ "#0=-32+3*x**2\n",
+ "x=(32*3**-1)**0.5\n",
+ "\n",
+ "#Value of Max deflection is\n",
+ "ymax=(-32*x+x**3)*(E*I)**-1 #mm\n",
+ "\n",
+ "#slope at mid-span\n",
+ "\n",
+ "#EI*(dy*(dx)**-1)_centre=-32+3*x**2\n",
+ "#at centre ,\n",
+ "x1=3 #m\n",
+ "\n",
+ "#Let (dy*(dx)**-1)_centre=X\n",
+ "X=-(-32+3*x1**2)*(E*I)**-1 #Radian\n",
+ "\n",
+ "#Deflection at Load Point\n",
+ "x2=4 #m\n",
+ "#EI*y_c=-32*x2+x2**3\n",
+ "\n",
+ "y_c=-(-32*x2+x2**3)*(E*I)**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Value of Max Deflection\",round(ymax,4),\"mm\"\n",
+ "print\"SLope at mid-span\",round(X,4),\"radian\"\n",
+ "print\"Deflection at the Load Point is\",round(y_c,4),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Max Deflection -0.0232 mm\n",
+ "SLope at mid-span 0.0017 radian\n",
+ "Deflection at the Load Point is 0.0213 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.11,Page No.203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_CB=2 #m #Length of CB\n",
+ "L_AC=4 #m #Length of AB\n",
+ "M_C=15 #KN.m #Moment At Pt C\n",
+ "F_C=30 #KN\n",
+ "L=6 #m Span of Beam\n",
+ "\n",
+ "#Let X=E*I\n",
+ "X=10000 #KN-m**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let V_A and V_B be the reactions at A & B respectively\n",
+ "#V_A+V_B=30\n",
+ "\n",
+ "#Taking Moment a A,we get\n",
+ "V_B=(F_C*L_AC+M_C)*L**-1\n",
+ "V_A=30-V_B\n",
+ "\n",
+ "#Now Taking Moment at distacnce x from A\n",
+ "#M_x=7.5*x-30*(x-4)+15\n",
+ "\n",
+ "#By using Macaulay's Method\n",
+ "#EI*(d**2*x/dx**2)=M_x=7.5*x-30*(x-4)+15\n",
+ "\n",
+ "#Now Integrating above Equation we get\n",
+ "#EI*(dy/dx)=C1+7.5*x**2*2**-1-15*(x-4)**2+15*(x-4) ............(1)\n",
+ "\n",
+ "#Again Integrating above Equation we get\n",
+ "#EIy=C2+C1*x+7.5*6**-1*x**3-5*(x-4)**3+15*(x-4)**2*2**-1..........(2)\n",
+ "\n",
+ "#Boundary Cinditions\n",
+ "x=0\n",
+ "y=0\n",
+ "\n",
+ "#Substituting above equations we get \n",
+ "C2=0\n",
+ "\n",
+ "x=6 #m\n",
+ "y=0\n",
+ "\n",
+ "C1=-(7.5*6**3*6**-1-5*2**3+15*2**2*2**-1)*6**-1\n",
+ "\n",
+ "#EIy_c=C2+C1*x+7.5*6**-1*x**3-5*(x-4)**3+15*(x-4)**2*2**-1\n",
+ "#Sub values in Above equation we get\n",
+ "y_c=(93.3333*(X)**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"The Deflection at C\",round(y_c,4),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Deflection at C 0.0093 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.12,Page No.204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AC=L_CD=L_DB=2 #m #Length of AC,CD,DB\n",
+ "F_C=40 #KN #Force at C\n",
+ "w=20 #KN/m #u.d.l\n",
+ "L=6 #m #span of beam\n",
+ "\n",
+ "#Let E*I=X\n",
+ "X=15000 #KN-m**2\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let V_A & V_B be the reactions at A & B respectively\n",
+ "#V_A+V_B=80\n",
+ "\n",
+ "#Taking Moment B,M_B\n",
+ "V_A=(F_C*(L_CD+L_DB)+w*L_DB*L_DB*2**-1)*L**-1 #KN\n",
+ "V_B=80-V_A #KN\n",
+ "\n",
+ "#Taking Moment at distance x from A\n",
+ "#M_x=33.333*x-40*(x-2)-20*(x-4)**2*2**-1\n",
+ "#EI*(d**2/dx**2)=33.333*x-40*(x-2)-10*(x-4)**2\n",
+ "\n",
+ "#Integrating above equation we get\n",
+ "#EI*(dy/dx)=C1+33.333*x**2*2**-1-20*(x-2)**2-10*3**-1*(x-4)**3\n",
+ "\n",
+ "#Again Integrating above equation we get\n",
+ "#EI*y=C2+C1*x+33.333*x**3*6**-1-20*3**-1*(x-2)**3-10*12**-1*(x-4)**4\n",
+ "\n",
+ "#At\n",
+ "x=0\n",
+ "y=0\n",
+ "C2=0\n",
+ "\n",
+ "#At\n",
+ "x=6\n",
+ "y=0\n",
+ "C1=-760*6**-1\n",
+ "\n",
+ "#Assuming Deflection to be max in portion CD and sustituting value of C1 in equation of slope we get\n",
+ "#EI*y=C2+C1*x+33.333*x**3*6**-1-20*3**-1*(x-2)**3-10*12**-1*(x-4)**4\n",
+ "#0=-126.667+33.333*x**2**-1-20*(x-2)**2\n",
+ "\n",
+ "#After rearranging and simplifying further we get\n",
+ "\n",
+ "#x**2-24*x+62=0\n",
+ "#From above equations\n",
+ "a=1\n",
+ "b=-24\n",
+ "c=62\n",
+ "\n",
+ "y=(b**2-4*a*c)**0.5\n",
+ "\n",
+ "x1=(-b+y)*(2*a)**-1\n",
+ "x2=(-b-y)*(2*a)**-1\n",
+ "\n",
+ "#Taking x2 into account\n",
+ "x=2.945 #m\n",
+ "C1=-126.667\n",
+ "C2=0\n",
+ "\n",
+ "y_max=(C2+C1*x+33.333*x**3*6**-1-20*3**-1*(x-2)**3)*X**-1 #mm\n",
+ "\n",
+ "#Max slope occurs at the ends\n",
+ "#At A,\n",
+ "#EI*(dy/dx)_A=-126.667\n",
+ "#At B\n",
+ "#EI*(dy/dx)_B=126.667+33.333*6**2*2**-1-20*4**2-10*2**3\n",
+ "#After simplifying Further we get\n",
+ "#EI*(dy/dx)_B=73.3273\n",
+ "\n",
+ "#Now Max slope is EI(dy/dx)_A=-126.667\n",
+ "#15000*(dy/dx)_=-126.667\n",
+ "\n",
+ "#Let Y=dy/dx\n",
+ "Y=-126.667*X**-1 #Radians\n",
+ "\n",
+ "#Result\n",
+ "print\"Maximum Deflection for Beam is\",round(y_max,4),\"mm\"\n",
+ "print\"Maximum Slope for beam is\",round(Y,4),\"radians\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum Deflection for Beam is -0.0158 mm\n",
+ "Maximum Slope for beam is -0.0084 radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.13,Page No.206"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "E=2*10**8 #KN/m**2\n",
+ "I=450*10**-6 #m**4\n",
+ "L_AC=1 #m #Length of AC\n",
+ "L_CD=3 #m #Length of CD\n",
+ "L_DB=2 #m #Length of DB\n",
+ "w=10 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let V_A & V_B be the reactions at A & B respectively\n",
+ "#V_A+V_B=30\n",
+ "\n",
+ "#Taking Moment at distance x from A\n",
+ "#M_x=17.5*x-10*(x-1)**2*2**-1+10*(x-4)**2*2**-1\n",
+ "#EI*(d**2/dx**2)=17.5*x-10*(x-1)**2*2**-1+10*(x-4)**2*2**-1\n",
+ "\n",
+ "#Now Integrating Above equation we get\n",
+ "#EI(dy/dx)=C1+17.5*x**2*2**-1-5*3**-1*(x-1)**2+5*3**-1*(x-4)**3\n",
+ "\n",
+ "#Again Integrating Above equation we get\n",
+ "#EI*y=C2+C1*x+17.5*x**3*6**-1-5*12**-1*(x-1)**4+5*12**-1*(x-4)**4\n",
+ "\n",
+ "#At \n",
+ "x=0\n",
+ "y=0\n",
+ "C2=0\n",
+ "\n",
+ "#At \n",
+ "x=6 \n",
+ "y=0\n",
+ "C1=(-17.5*x**3*6**-1+5*12**-1*(x-1)**4-5*12**-1*(x-4)**4)*x**-1\n",
+ "\n",
+ "# 1)Slope at A .i.e at x=0\n",
+ "#EI*(dy/dx)_A=C1=-62.708 #KN-m**2\n",
+ "#let (dy/dx)=X\n",
+ "X=C1*(E*I)**-1 #radiams\n",
+ "\n",
+ "#Deflection at mid-span\n",
+ "x=3 #m\n",
+ "#EI*y_centre=C1*x+17.5*x**3*6**-1-5*12**-1*(x-1)**2\n",
+ "y_centre=-(C1*x+17.5*x**3*6**-1-5*12**-1*(x-1)**4)*(E*I)**-1\n",
+ "\n",
+ "#Maximum Deflection\n",
+ "\n",
+ "#At point of Max deflection (dy/dx)=0\n",
+ "#Assuming it in portion CD\n",
+ "\n",
+ "#0=C1*x+17.5*x**2*2**-1-5*3**-1*(x-1)**3\n",
+ "\n",
+ "#Now Let\n",
+ "#F(x)=C1+17.5*x**2*2**-1-5*3**-1*(x-1)**3\n",
+ "\n",
+ "#Let F(x)=Y\n",
+ "#At \n",
+ "x=2.5\n",
+ "Y1=-(C1+17.5*x**2*2**-1-5*3**-1*(x-1)**3)\n",
+ "\n",
+ "#AT\n",
+ "x=3\n",
+ "Y2=-(C1+17.5*x**2*2**-1-5*3**-1*(x-1)**3)\n",
+ "\n",
+ "#At\n",
+ "x=2.9 #m\n",
+ "Y3=-(C1+17.5*x**2*2**-1-5*3**-1*(x-1)**3)\n",
+ "\n",
+ "#A curve may be plotted for (F(x) and the value for which F(x)=0 may be found\n",
+ "#For F(x)=0 for x=2.92 m\n",
+ "#Therefore y_max occur at x=2.92\n",
+ "\n",
+ "x=2.92 #m\n",
+ "y_max=(C1*x+17.5*x**3*6**-1-5*12**-1*(x-1)**4)*(E*I)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Slope at A\",round(X,6),\"mm\"\n",
+ "print\"Deflection at mid-span\",round(y_centre,6),\"mm\"\n",
+ "print\"Maxmimum Deflection is\",round(y_max,5),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Slope at A -0.000697 mm\n",
+ "Deflection at mid-span 0.001289 mm\n",
+ "Maxmimum Deflection is -0.00129 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.14,Page No.208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AC=LDE=L_EB=1 #m #Length of AC\n",
+ "L_CD=2 #m #Length of CD\n",
+ "E=200 #KN/mm**2\n",
+ "I=60*10**6 #mm**4 #M.I\n",
+ "F_C=20 #KN #Force at C\n",
+ "F_E=30 #KN #Force at E\n",
+ "w=10 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "X=E*I*10**-6 #KN-m**2\n",
+ "\n",
+ "#Let V_A & V_B be the reactions at A & B respectively\n",
+ "#V_A+V_B=70\n",
+ "\n",
+ "#Taking Moment at distance x from A\n",
+ "#M_x=34*x-20*(x-1)-10*(x-1)**2*2**-1+10*(x-3)**2*2**-1-30*(x-4)\n",
+ "#EI*(d**2y/dx**2)=34*x-20*(x-1)-10*(x-1)**2*2**-1+10*(x-3)**2*2**-1-30*(x-4)\n",
+ "\n",
+ "#Now Integrating Above equation,we get\n",
+ "#EI*(dy/dx)=C1+17*x**2-10*(x-1)**2-5*3**-1*(x-1)**3+5*3**-1*(x-3)**3-15*(x-4)**2\n",
+ "\n",
+ "#Again Integrating Above equation,we get\n",
+ "#EI*y=C2+C1*x+17*3**-1*x**3-10*3**-1*(x-1)**3-5*12**-1*(x-1)**4+5*12**-1*(x-3)**4-5*(x-4)**3\n",
+ "\n",
+ "#At\n",
+ "x=0\n",
+ "y=0\n",
+ "C2=0\n",
+ "\n",
+ "#At \n",
+ "x=5 #m\n",
+ "y=0\n",
+ "C1=(-17*3**-1*x**3+10*3**-1*(x-1)**3+5*12**-1*(x-1)**4-5*12**-1*(x-3)**4+5*(x-4)**3)*5**-1\n",
+ "\n",
+ "#EI*y=C2+C1*x+17*3**-1*x**3-10*3**-1*(x-1)**3-5*12**-1*(x-1)**4+5*12**-1*(x-3)**4-5*(x-4)**3\n",
+ "C2=0\n",
+ "C1=-78\n",
+ "x=1\n",
+ "y_c=(-78*x+17*3**-1*x)*(X)**-1\n",
+ "\n",
+ "#EI*y_D=C2+C1*x+17*3**-1*x**3-10*3**-1*(x-1)**3-5*12**-1*(x-1)**4\n",
+ "x=3\n",
+ "C1-78\n",
+ "C2=0\n",
+ "y_D=(C2+C1*x+17*3**-1*x**3-10*3**-1*(x-1)**3-5*12**-1*(x-1)**4)*(X**-1)\n",
+ "\n",
+ "#EI*y_E=C2+C1*x+17*3**-1*x**3-10*3**-1*(x-1)**3-5*12**-1*(x-1)**4+5*12**-1*(x-3)**4\n",
+ "x=4\n",
+ "C1-78\n",
+ "C2=0\n",
+ "y_E=(C2+C1*x+17*3**-1*x**3-10*3**-1*(x-1)**3-5*12**-1*(x-1)**4+5*12**-1*(x-3)**4)*X**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Deflections at C\",round(y_c,5),\"mm\"\n",
+ "print\"Deflections at D\",round(y_D,5),\"mm\"\n",
+ "print\"Deflections at E\",round(y_E,4),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deflections at C -0.00603 mm\n",
+ "Deflections at D -0.00953 mm\n",
+ "Deflections at E -0.0061 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.15,Page No.209"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "E=200 #KN/mm**2 #Modulus of Elasticity\n",
+ "I=300*10**6 #mm\n",
+ "L_AB=L_BC=L_CD=L_DE=1 #m #Length of AB,BC,CD,DE respectively\n",
+ "F_A=20 #KN #Force at A\n",
+ "F_C=10 #KN #Force at C\n",
+ "w=30 #KN/m #u.d.l\n",
+ "\n",
+ "#Let E*I=X\n",
+ "X=E*I*10**-6 #KN-2**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let V_E be the reactions at E\n",
+ "V_E=F_A+F_C+w*(L_BC+L_CD) #KN \n",
+ "\n",
+ "#Taking Moment at distance x\n",
+ "#EI*(d**2x/dy**2)=M=-20*x-30*(x-1)**2*2**-1-10*(x-2)+30*(x-3)**2*2**-1\n",
+ "\n",
+ "#Integrating above equation we get\n",
+ "#EI*(dy/dx)=C1-10*x**2-5*(x-1)**3-5*(x-2)**2+5*(x-3)**3\n",
+ "\n",
+ "#Again Integrating above equation\n",
+ "#EI*y=C2+C1*x-10*x**3*3**-1-5*(x-1)**4*4**-1-5*(x-3)**4*4**-1-5*3*(x-2)**3\n",
+ "\n",
+ "#At\n",
+ "#dy/dx=0\n",
+ "x=4 #m\n",
+ "C1=10*x**2+5*(x-1)**3+5*(x-2)**2-5*(x-3)**3\n",
+ "\n",
+ "#AT\n",
+ "x=4\n",
+ "y=0\n",
+ "C2=-C1*4+10*x**3*3**-1+5*(x-1)**4*4**-1-5*(x-3)**4*4**-1+5*3**-1*(x-2)**3\n",
+ "\n",
+ "#Max Deflection and Max slopes occurs at Free end in case of cantilever\n",
+ "y_max=y_A=C2*X**-1\n",
+ "\n",
+ "#EI*(dy/dx)_max=C1\n",
+ "#Let (dy/dx)=Y\n",
+ "Y=C1*X**-1 #radian\n",
+ "\n",
+ "#Now deflection at x=1 #m\n",
+ "C2=-913.333\n",
+ "C1=310\n",
+ "x=1\n",
+ "y_B=(C2+C1*x-10*x**3*3**-1)*X**-1\n",
+ "\n",
+ "#Now Deflection at x=2 #m\n",
+ "C2=-913.333\n",
+ "C1=310\n",
+ "x=2 #m\n",
+ "y_C=(C2+C1*x-10*x**3*3**-1-5*(x-1)**4*4**-1)*X**-1\n",
+ "\n",
+ "#Now Deflection at x=3 #m\n",
+ "C2=-913.333\n",
+ "C1=310\n",
+ "x=3 #m\n",
+ "y_D=(C2+C1*x-10*x**3*3**-1-5*(x-1)**4*4**-1-5*3**-1*(x-2)**3)*X**-1\n",
+ "\n",
+ "y_E=0\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Deflection for Beam\",round(y_A,4),\"mm\"\n",
+ "print\"Max Slope for beam\",round(Y,5),\"radians\"\n",
+ "\n",
+ "#Plotting the ELastic Curve\n",
+ "\n",
+ "Y2=[y_E,y_D,y_C,y_B,y_A]\n",
+ "X2=[L_AB+L_BC+L_CD+L_DE,L_AB+L_BC+L_CD,L_AB+L_BC,L_AB,0]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in mm\")\n",
+ "plt.ylabel(\"Deflection in mm\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Deflection for Beam -0.0152 mm\n",
+ "Max Slope for beam 0.00517 radians\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nHMidd97JRx99xKhRowgMDGT79u0AxMXFERMTQ3h4OH5+frz//vs8/vjjDB06lKioKCoqKpr9WUr7\npEQjUo8HHniAl19+mR07drBo0SJmzJjh+l1hYSGbN29m3bp1xMbGAvD++++zf/9+srKyePvtt9m6\ndSs2m41Zs2bRr18/0tLS+PjjjwE4evQoI0eO5IsvviA8PJzXXnut2vXPnhW3pmue7fvvv+fxxx/n\nm2++4dtvvyUpKYnNmzfzl7/8hQULFrjK7du3j08++YTk5GTuuusuHA4Hu3fvpmvXrnzwwQfn/OxE\noA3PdSbSHI4cOcLWrVu5/fbbXfvKysoAMwGcms04ODjYtfDTp59+ysSJEwFc647UpnPnzowfPx6A\n4cOHk5qaWmc8tV3zbP3792fQoEEADBo0iBtuuAGAwYMHk5OT4zpXVFQUHTt2ZPDgwVRWVjJ27FgA\nhgwZ4ioncq6UaETqUFlZSc+ePWtdE71z586un081d9pstiprddTVDOrl5eX6uUOHDg16XVXTNc/W\npUuXKuc9dczZ1zhzf1NiEWkIvToTqcOvfvUr+vfvz3vvvQeYX+y7d++u85hRo0axatUqDMOgqKiI\n9PR01+969OjBzz//3KgY3NVfR/2ApKUo0Yic4dixY/j6+ro+L730Eu+++y6vv/46oaGhDB48mOTk\nZFf5M9tPTv1822234ePjQ0hICFOnTuXKK6/kggsuAMz2nhtvvNHVGeDs42tapfDs/bX9fPYxtW2f\n+rmu89Z1bpHGUvdmETc4evQo3bp149ChQ4wYMYItW7bQp08fq8MSsYTaaETc4KabbqKkpISysjL+\n9Kc/KclIu6YajYiIuJXaaERExK2UaERExK2UaERExK2UaERExK2UaERExK2UaERExK3+P5k+A1z9\nL+mlAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5a29310>"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.16,Page No.211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_BD=L_CB=L_AC=2 #m #Length of BD,CB,AC\n",
+ "F_C=40 #KN #Force at C\n",
+ "F_D=10 #KN Force at D\n",
+ "L=6 #m spna of beam\n",
+ "\n",
+ "#EI is constant in this problem\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let V_A & V_B be the reactions at A & B Respectively\n",
+ "#V_A+V_B=50\n",
+ "\n",
+ "#Taking Moment at Pt A\n",
+ "V_B=(F_D*L+F_C*L_AC)*(L_AC+L_CB)**-1\n",
+ "V_A=50-V_B\n",
+ "\n",
+ "#Now Taking Moment at distance x from A,M_x\n",
+ "#M_x=15*x-40*(x-2)+35*(x-4)\n",
+ "#EI*(d**2*y/dx**2)=15*x-40*(x-2)+35*(x-4)\n",
+ "\n",
+ "#Now Integrating above equation we get\n",
+ "#EI*(dy/dx)=C1+7.5*x**2-20*(x-2)**2+17.5(x-4)**2\n",
+ "\n",
+ "#Again Integrating above equation we get\n",
+ "#EI*y=C2+C1*x+2.5*x**2-20*3**-1*(x-2)**3+17.5*(x-4)**3*3**-1\n",
+ "\n",
+ "#At\n",
+ "x=0\n",
+ "y=0\n",
+ "#we get\n",
+ "C2=0\n",
+ "\n",
+ "#At\n",
+ "x=4 \n",
+ "y=0\n",
+ "#we get\n",
+ "C1=(2.5*4**3-20*3**-1*2**3)*4**-1\n",
+ "\n",
+ "#Now Deflection at C\n",
+ "x=2\n",
+ "C1=-26.667\n",
+ "C2=0\n",
+ "y_C=C2+C1*x+2.5*x**3\n",
+ "\n",
+ "#Now Deflection at D\n",
+ "C1=-21.667\n",
+ "C2=0\n",
+ "y_D=-26.667*6+2.5*6**3-20*3**-1*4**3+17.5*2**3*3**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Deflections Under Loads are:y_D\",round(y_D,4)\n",
+ "print\" :y_C\",round(y_C,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deflections Under Loads are:y_D -0.002\n",
+ " :y_C -33.33\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.17,Page No.212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_BC=L_EB=2 #m #Length of BC & EB\n",
+ "E=200*10**6 #KN/m**2 #Modulus of eLasticity\n",
+ "I=45*10**-6 #mm**4 #M.I\n",
+ "L_DE=3 #m #Length of DE\n",
+ "L_AD=1 #m #Length of AD\n",
+ "w=20 #KN/m #u.d.l\n",
+ "L=8 #m #span of beam\n",
+ "F_C=30 #KN #Force at C\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let V_A & V_B be the reactions at A & B respectively\n",
+ "#V_A+V_B=90\n",
+ "\n",
+ "#Taking Moment at A,M_A\n",
+ "V_B=(w*L_DE*(L_DE*2**-1+L_AD)+F_C*L)*(L_AD+L_DE+L_EB)**-1\n",
+ "V_A=90-V_B\n",
+ "\n",
+ "#Taking Moment at distance x\n",
+ "#M_x=25*x-20*(x-1)**2*2**-1+20*(x-4)**2*2**-1+65*(x-6)\n",
+ "\n",
+ "#Integrating above equation we get\n",
+ "#EI*(d**2*y/dx**2)=25*x-10*(x-1)**2+10*(x-4)**2+65*(x-6)\n",
+ "\n",
+ "#again Integrating above equation we get\n",
+ "#EI*(dy/dx)=C1+25*x**2*2**-1-10*3**-1*(x-1)**3+10*3**-1*(x-4)**2+65*2**-1*(x-6)**2\n",
+ "\n",
+ "#again Integrating above equation we get\n",
+ "#EI*y=C2+C1*x+25*6**-1*x**3-10*12**-1*(x-1)**4+10*12**-1*(x-4)**4+65*6**-1*(x-6)**3\n",
+ "\n",
+ "x=0\n",
+ "y=0\n",
+ "#Sub these values in above equation,we get\n",
+ "C2=0\n",
+ "\n",
+ "x=6 #m\n",
+ "y=0\n",
+ "C1=-(25*6**-1*6**3-10*12**-1*5**4+10*12**-1*2**4)*6**-1\n",
+ "\n",
+ "#deflection at C is given by\n",
+ "x=8\n",
+ "y_c=(C2+C1*x+25*6**-1*x**3-10*12**-1*(x-1)**4+10*12**-1*(x-4)**4+65*6**-1*(x-6)**3)*(E*I)**-1\n",
+ "\n",
+ "#Assuming y is max in the portion DE,then\n",
+ "#(dy/dx)=0 for that point\n",
+ "\n",
+ "#0=-65.417+25*2**-1*x**2-10*3**-1*x(-1)**3\n",
+ "\n",
+ "#Let F(x)=-65.417+25*2**-1*x**2-10*3**-1*x(-1)**3\n",
+ "#Let z=F(x)\n",
+ "\n",
+ "#AT \n",
+ "x=3\n",
+ "z=-65.417+25*2**-1*x**2-10*3**-1*(x-1)**3\n",
+ "\n",
+ "x=2.5\n",
+ "z1=-65.417+25*2**-1*x**2-10*3**-1*(x-1)**3\n",
+ "\n",
+ "x=2.4\n",
+ "z2=-65.417+25*2**-1*x**2-10*3**-1*(x-1)**3\n",
+ "\n",
+ "#The assumption is max in portion DE\n",
+ "x=2.46\n",
+ "y_max=(-65.417*x+25*6**-1*x**3-10*12**-1*1.46**4)*(E*I)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Deflection at free end C\",round(y_c,4),\"mm\"\n",
+ "print\"Max Deflection between A and B\",round(y_max,4),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deflection at free end C -0.0101 mm\n",
+ "Max Deflection between A and B -0.0114 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5.18,Page No.213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_DB=L_AC=L_ED=2 #m #Length of DB & AC\n",
+ "L_CD=4 #m #Length of CD\n",
+ "L_CE=2 #m #Length of CE\n",
+ "F_A=40 #KN #Force at C\n",
+ "F_B=20 #KN #Force at A\n",
+ "E=200*10**6 #KN/mm**2 #Modulus of Elasticity\n",
+ "I=50*10**-6 #m**4 #M.I\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt V_C & V_D be the reactions at C & D respectively\n",
+ "#V_C+V_D=60\n",
+ "\n",
+ "#Taking Moment At D,M_D\n",
+ "V_C=-(-F_A*(L_AC+L_CE+L_ED)+F_B*L_DB)*L_CD**-1\n",
+ "V_D=60-V_C\n",
+ "\n",
+ "#Now Taking Moment at Distance x from A,\n",
+ "#M_x=-40*x+50*(x-2)+10*(x-6)\n",
+ "\n",
+ "#EI*(d**2*y/dx**2)=-40*x+50*(x-2)+10*(x-6)\n",
+ "\n",
+ "#Now Integrating above Equation we get\n",
+ "#EI*(dy/dx)=C1+20*x**2-25*(x-2)+5*(x-6)**2\n",
+ "\n",
+ "#Again Integrating above Equation we get\n",
+ "#EI*y=C2+C1*x-20*3**-1*x**3+25*3**-1*(x-2)**3+5*3**-1*(x-6)**3\n",
+ "\n",
+ "#At\n",
+ "x=0\n",
+ "y=0\n",
+ "#C2+2*C1=-53.33 ...............(1)\n",
+ "\n",
+ "#At \n",
+ "x=6\n",
+ "y=0\n",
+ "#C2+6*C1=906.667 ...............(2)\n",
+ "\n",
+ "#Subtracting Equation 1 from 2 we get\n",
+ "C1=853.333*4**-1\n",
+ "C2=53.333-2*C1\n",
+ "x=0\n",
+ "y_A=(C2+C1*x-20*3**-1*x**3+25*3**-1*(x-2)**3+5*3**-1*(x-6)**3)*(E*I)**-1\n",
+ "\n",
+ "#Answer For y_A is incorrect in textbook\n",
+ "\n",
+ "#At Mid-span\n",
+ "C1=853.333*4**-1\n",
+ "C2=53.333-2*C1\n",
+ "x=4\n",
+ "y_E=(C2+C1*x-20*3**-1*x**3+25*3**-1*(x-2)**3+5*3**-1*(x-6)**3)*(E*I)**-1\n",
+ "\n",
+ "#Answer For y_E is incorrect in textbook\n",
+ "\n",
+ "#At B\n",
+ "C1=853.333*4**-1\n",
+ "C2=53.333-2*C1\n",
+ "x=8\n",
+ "y_B=(C2+C1*x-20*3**-1*x**3+25*3**-1*(x-2)**3+5*3**-1*(x-6)**3)*(E*I)**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Deflection relative to the level of the supports:at End A\",round(y_A,4),\"mm\"\n",
+ "print\" :at End B\",round(y_B,4),\"mm\"\n",
+ "print\" :at Centre of CD\",round(y_E,4),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deflection relative to the level of the supports:at End A -0.08 mm\n",
+ " :at End B -0.0267 mm\n",
+ " :at Centre of CD 0.0107 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.6_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.6_5.ipynb
new file mode 100644
index 00000000..e3bdfbe1
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.6_5.ipynb
@@ -0,0 +1,1518 @@
+{
+ "metadata": {
+ "name": "chapter no.6.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter No.6:Torsion"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.1,Page No.225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=10000 #mm #Length of solid shaft\n",
+ "d=100 #mm #Diameter of shaft\n",
+ "n=150 #rpm\n",
+ "P=112.5*10**6 #N-mm/sec #Power Transmitted\n",
+ "G=82*10**3 #N/mm**2 #modulus of Rigidity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "J=pi*d**4*(32)**-1 #mm**3 #Polar Modulus\n",
+ "T=P*60*(2*pi*n)**-1 #N-mm #Torsional moment\n",
+ "\n",
+ "r=50 #mm #Radius\n",
+ "\n",
+ "q_s=T*r*J**-1 #N/mm**2 #Max shear stress intensity\n",
+ "Theta=T*L*(G*J)**-1 #angle of twist\n",
+ "\n",
+ "#Result\n",
+ "print\"Max shear stress intensity\",round(q_s,2),\"N/mm**2\"\n",
+ "print\"Angle of Twist\",round(Theta,3),\"radian\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max shear stress intensity 36.48 N/mm**2\n",
+ "Angle of Twist 0.089 radian\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.2,Page No.226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=440*10**6 #N-m/sec #Power transmitted\n",
+ "n=280 #rpm\n",
+ "theta=pi*180**-1 #radian #angle of twist\n",
+ "L=1000 #mm #Length of solid shaft\n",
+ "q_s=40 #N/mm**2 #Max torsional shear stress\n",
+ "G=84*10**3 #N/mm**2 #Modulus of rigidity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#P=2*pi*n*T*(60)**-1 #Equation of Power transmitted\n",
+ "T=P*60*(2*pi*n)**-1 #N-mm #torsional moment\n",
+ "\n",
+ "#From Consideration of shear stress\n",
+ "d1=(T*16*(pi*40)**-1)**0.333333 \n",
+ "\n",
+ "#From Consideration of angle of twist\n",
+ "d2=(T*L*32*180*(pi*84*10**3*pi)**-1)**0.25\n",
+ "\n",
+ "#result\n",
+ "print\"Diameter of solid shaft is\",round(d1,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diameter of solid shaft is 124.09 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.3,Page No.227"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "G=80*10**3 #N/mm**2 #Modulus of rigidity\n",
+ "q_s=80 #N/mm**2 #Max sheare stress\n",
+ "P=736*10**6 #N-mm/sec #Power transmitted\n",
+ "n=200\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "T=P*60*(2*pi*n)**-1 #N-mm #Torsional moment\n",
+ "\n",
+ "#Now From consideration of angle of twist\n",
+ "theta=pi*180**-1\n",
+ "#L=15*d\n",
+ "\n",
+ "d=(T*32*180*15*(pi**2*G)**-1)**0.33333\n",
+ "\n",
+ "#Now corresponding stress at the surface is\n",
+ "q_s2=T*32*d*(pi*2*d**4)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Max diameter required is\",round(d,2),\"mm\"\n",
+ "print\"Corresponding shear stress is\",round(q_s2,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max diameter required is 156.66 mm\n",
+ "Corresponding shear stress is 46.55 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.4,Page No.228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=25 #mm #Diameter of steel bar\n",
+ "p=50*10**3 #N #Pull\n",
+ "dell_1=0.095 #mm #Extension of bar\n",
+ "l=200 #mm #Guage Length\n",
+ "T=200*10**3 #N-mm #Torsional moment\n",
+ "theta=0.9*pi*180**-1 #angle of twist\n",
+ "L=250 #mm Length of steel bar\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A=pi*4**-1*d**2 #Area of steel bar #mm**2\n",
+ "E=p*l*(dell_1*A)**-1 #N/mm**2 #Modulus of elasticity \n",
+ "\n",
+ "J=pi*32**-1*d**4 #mm**4 #Polar modulus\n",
+ "\n",
+ "G=T*L*(theta*J)**-1 #Modulus of rigidity #N/mm**2\n",
+ "\n",
+ "#Now from the relation of Elastic constants\n",
+ "mu=E*(2*G)**-1-1\n",
+ "\n",
+ "#result\n",
+ "print\"The Poissoin's ratio is\",round(mu,3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Poissoin's ratio is 0.292\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.5,Page No.229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=6000 #mm #Length of circular shaft\n",
+ "d1=100 #mm #Outer Diameter\n",
+ "d2=75 #mm #Inner Diameter\n",
+ "R=100*2**-1 #Radius of shaft\n",
+ "T=10*10**6 #N-mm #Torsional moment\n",
+ "G=80*10**3 #N/mm**2 #Modulus of Rigidity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "J=pi*32**-1*(d1**4-d2**4) #mm**4 #Polar Modulus \n",
+ "\n",
+ "#Max Shear stress produced\n",
+ "q_s=T*R*J**-1 #N/mm**2\n",
+ "\n",
+ "#Angle of twist\n",
+ "theta=T*L*(G*J)**-1 #Radian\n",
+ "\n",
+ "#Result\n",
+ "print\"MAx shear stress produced is\",round(q_s,2),\"N/mm**2\"\n",
+ "print\"Angle of Twist is\",round(theta,2),\"Radian\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "MAx shear stress produced is 74.5 N/mm**2\n",
+ "Angle of Twist is 0.11 Radian\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.6,Page No.229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=200 #mm #External Diameter of shaft\n",
+ "t=25 #mm #Thickness of shaft\n",
+ "n=200 #rpm\n",
+ "theta=0.5*pi*180**-1 #Radian #angle of twist\n",
+ "L=2000 #mm #Length of shaft\n",
+ "G=84*10**3 #N/mm**2\n",
+ "d2=d1-2*t #mm #Internal Diameter of shaft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "J=pi*32**-1*(d1**4-d2**4) #mm**4 #Polar Modulus \n",
+ "\n",
+ "#Torsional moment\n",
+ "T=G*J*theta*L**-1 #N/mm**2 \n",
+ "\n",
+ "#Power Transmitted\n",
+ "P=2*pi*n*T*60**-1*10**-6 #N-mm\n",
+ "\n",
+ "#Max shear stress transmitted\n",
+ "q_s=G*theta*(d1*2**-1)*L**-1 #N/mm**2 \n",
+ "\n",
+ "#Result\n",
+ "print\"Power Transmitted is\",round(P,2),\"N-mm\"\n",
+ "print\"Max Shear stress produced is\",round(q_s,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power Transmitted is 824.28 N-mm\n",
+ "Max Shear stress produced is 36.65 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.7,Page No.230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=3750*10**6 #N-mm/sec\n",
+ "n=240 #Rpm\n",
+ "q_s=160 #N/mm**2 #Max shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#d2=0.8*d2 #mm #Internal Diameter of shaft\n",
+ "\n",
+ "#J=pi*32**-1*(d1**4-d2**4) #mm**4 #Polar modulus\n",
+ "#After substituting value in above Equation we get\n",
+ "#J=0.05796*d1**4\n",
+ "\n",
+ "T=P*60*(2*pi*n)**-1 #N-mm #Torsional moment\n",
+ "\n",
+ "#Now from Torsion Formula\n",
+ "#T*J**-1=q_s*R**-1 ......................................(1)\n",
+ "\n",
+ "#But R=d1*2**-1 \n",
+ "\n",
+ "#Now substituting value of R and J in Equation (1) we get\n",
+ "d1=(T*(0.05796*q_s*2)**-1)**0.33333\n",
+ "\n",
+ "d2=d1*0.8\n",
+ "\n",
+ "#Result\n",
+ "print\"The size of the Shaft is:d1\",round(d1,3),\"mm\"\n",
+ "print\" :d2\",round(d2,3),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The size of the Shaft is:d1 200.362 mm\n",
+ " :d2 160.289 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.8,Page No.231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=245*10**6 #N-mm/sec #Power transmitted\n",
+ "n=240 #rpm\n",
+ "q_s=40 #N/mm**2 #Shear stress\n",
+ "theta=pi*180**-1 #radian #Angle of twist\n",
+ "L=1000 #mm #Length of shaft\n",
+ "G=80*10**3 #N/mm**2\n",
+ "\n",
+ "#Tmax=1.5*T\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "T=P*60*(2*pi*n)**-1 #N-mm #Torsional Moment\n",
+ "Tmax=1.5*T\n",
+ "\n",
+ "#Now For Solid shaft\n",
+ "#J=pi*32*d**4\n",
+ "\n",
+ "#Now from the consideration of shear stress we get\n",
+ "#T*J**-1=q_s*(d*2**-1)**-1\n",
+ "#After substituting value in above Equation we get\n",
+ "#T=pi*16**-1*d**3*q_s\n",
+ "\n",
+ "#Designing For max Torque\n",
+ "d=(Tmax*16*(pi*40)**-1)**0.33333 #mm #Diameter of shaft\n",
+ "\n",
+ "#For max Angle of Twist\n",
+ "#Tmax*J**-1=G*theta*L**-1 \n",
+ "#After substituting value in above Equation we get\n",
+ "d2=(Tmax*32*180*L*(pi**2*G)**-1)**0.25\n",
+ "\n",
+ "#For Hollow Shaft\n",
+ "\n",
+ "#d1_2=Outer Diameter\n",
+ "#d2_2=Inner Diameter\n",
+ "\n",
+ "#d2_2=0.5*d1_2\n",
+ "\n",
+ "# Polar modulus\n",
+ "#J=pi*32**-1*(d1_2**4-d2_2**4)\n",
+ "#After substituting values we get\n",
+ "#J=0.092038*d1_2**4\n",
+ "\n",
+ "#Now from the consideration of stress\n",
+ "#Tmax*J**-1=q_s*(d1_2*2**-1)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "d1_2=(Tmax*(0.092038*2*q_s)**-1)**0.33333\n",
+ "\n",
+ "#Now from the consideration of angle of twist\n",
+ "#Tmax*J**-1=G*theta*L**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "d1_3=(Tmax*180*L*(0.092038*G*pi)**-1)**0.25\n",
+ "\n",
+ "d2_2=0.5*d1_2\n",
+ "\n",
+ "#result\n",
+ "print\"Diameter of shaft is:For solid shaft:d\",round(d,2),\"mm\"\n",
+ "print\" :For Hollow shaft:d1_2\",round(d1_2,3),\"mm\"\n",
+ "print\" : :d2_2\",round(d2_2,3),\"mm\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diameter of shaft is:For solid shaft:d 123.01 mm\n",
+ " :For Hollow shaft:d1_2 125.69 mm\n",
+ " : :d2_2 62.845 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.11,Page No.235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=250*10**6 #N-mm/sec #Power transmitted\n",
+ "n=100 #rpm\n",
+ "q_s=75 #N/mm**2 #Shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Equation of Power we have\n",
+ "T=P*60*(2*pi*n)**-1 #N-mm #Torsional moment\n",
+ "\n",
+ "#Now from torsional moment equation we have\n",
+ "#T=j*q_s*(d/2**-1)**-1\n",
+ "#After substituting values in above equation and further simplifying we get\n",
+ "#T=pi*16**-1**d**3*q_s\n",
+ "d=(T*16*(pi*q_s)**-1)**0.3333 #mm #Diameter of solid shaft\n",
+ "\n",
+ "#PArt-2\n",
+ "\n",
+ "#Let d1 and d2 be the outer and inner diameter of hollow shaft\n",
+ "#d2=0.6*d1\n",
+ "\n",
+ "#Again from torsional moment equation we have\n",
+ "#T=pi*32**-1*(d1**4-d2**4)*q_s*(d1/2)**-1\n",
+ "d1=(T*16*(pi*(1-0.6**4)*q_s)**-1)**0.33333\n",
+ "d2=0.6*d1\n",
+ "\n",
+ "#Cross sectional area of solid shaft\n",
+ "A1=pi*4**-1*d**2 #mm**2\n",
+ "\n",
+ "#cross sectional area of hollow shaft\n",
+ "A2=pi*4**-1*(d1**2-d2**2)\n",
+ "\n",
+ "#Now percentage saving in weight\n",
+ "#Let W be the percentage saving in weight\n",
+ "W=(A1-A2)*100*A1**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Percentage saving in Weight is\",round(W,3),\"%\"\n",
+ "print\"Size of shaft is:solid shaft:d\",round(d,3),\"mm\"\n",
+ "print\" :Hollow shaft:d1\",round(d1,3),\"mm\"\n",
+ "print\" : :d2\",round(d2,3),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage saving in Weight is 29.735 %\n",
+ "Size of shaft is:solid shaft:d 117.418 mm\n",
+ " :Hollow shaft:d1 123.031 mm\n",
+ " : :d2 73.818 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.12,Page No.237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "d=100 #mm #Diameter of solid shaft\n",
+ "d1=100 #mm #Outer Diameter of hollow shaft\n",
+ "d2=50 #mm #Inner Diameter of hollow shaft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Torsional moment of solid shaft\n",
+ "#T_s=J*q_s*(d*2**-1)**-1 \n",
+ "#After substituting values in above equation and further simplifying we get\n",
+ "#T_s=pi*16*d**3*q_s ...............(1)\n",
+ "\n",
+ "#torsional moment for hollow shaft is\n",
+ "#T_h=J*q_s*(d1**4-d2**4)**-1*(d1*2**-1)\n",
+ "#After substituting values in above equation and further simplifying we get\n",
+ "#T_h=pi*32**-1*2*d1**-1*(d1**4-d2**4)*q_s ...........(2)\n",
+ "\n",
+ "#Dividing Equation 2 by 1 we get\n",
+ "#Let the ratio of T_h*T_s**-1 Be X\n",
+ "X=1-0.5**4\n",
+ "\n",
+ "#Loss in strength \n",
+ "#Let s be the loss in strength\n",
+ "#s=T_s*T_h*100*T_s**-1\n",
+ "#After substituting values in above equation and further simplifying we get\n",
+ "s=(1-0.9375)*100\n",
+ "\n",
+ "#Weight Ratio \n",
+ "#Let w be the Weight ratio\n",
+ "#w=W_h*W_s**-1\n",
+ "\n",
+ "A_h=pi*32**-1*(d1**2-d2**2) #mm**2 #Area of Hollow shaft\n",
+ "A_s=pi*32**-1*d**2 #mm**2 #Area of solid shaft\n",
+ "\n",
+ "w=A_h*A_s**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"Loss in strength is\",round(s,2)\n",
+ "print\"Weight ratio is\",round(w,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Loss in strength is 6.25\n",
+ "Weight ratio is 0.75\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.13,Page No.239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "T=8 #KN-m #Torque \n",
+ "d=100 #mm #Diameter of portion AB\n",
+ "d1=100 #mm #External Diameter of Portion BC\n",
+ "d2=75 #mm #Internal Diameter of Portion BC\n",
+ "G=80 #KN/mm**2 #Modulus of Rigidity\n",
+ "L1=1500 #mm #Radial Distance of Portion AB\n",
+ "L2=2500 #mm #Radial Distance ofPortion BC\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R=d*2**-1 #mm #Radius of shaft\n",
+ "\n",
+ "#For Portion AB,Polar Modulus\n",
+ "J1=pi*32**-1*d**4 #mm**4 \n",
+ "\n",
+ "#For Portion BC,Polar modulus \n",
+ "J2=pi*32**-1*(d1**4-d2**4) #mm**4\n",
+ "\n",
+ "#Now Max stress occurs in portion BC since max radial Distance is sme in both cases\n",
+ "q_max=T*J2**-1*R*10**6 #N/mm**2 \n",
+ "\n",
+ "#Let theta1 be the rotation in Portion AB and theta2 be the rotation in portion BC\n",
+ "theta1=T*L1*(G*J1)**-1 #Radians\n",
+ "theta2=T*L2*(G*J2)**-1 #Radians\n",
+ "\n",
+ "#Total Rotational at end C\n",
+ "theta=(theta1+theta2)*10**3 #Radians\n",
+ "\n",
+ "#Result\n",
+ "print\"Max stress induced is\",round(q_max,2),\"N/mm**2\"\n",
+ "print\"Angle of Twist is\",round(theta,3),\"radians\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max stress induced is 59.6 N/mm**2\n",
+ "Angle of Twist is 0.053 radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.14,Page No.240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "q_b=80 #N/mm**2 #Shear stress in Brass\n",
+ "q_s=100 #N/mm**2 #Shear stress in Steel\n",
+ "G_b=40*10**3 #N/mm**2 \n",
+ "G_s=80*10**3 \n",
+ "L_b=1000 #mm #Length of brass shaft\n",
+ "L_s=1200 #mm #Length of steel shaft\n",
+ "d1=80 #mm #Diameter of brass shaft\n",
+ "d2=60 #mm #Diameter of steel shaft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Polar modulus of brass rod\n",
+ "J_b=pi*32**-1*d1**4 #mm**4 \n",
+ "\n",
+ "#Polar modulus of steel rod\n",
+ "J_s=pi*32**-1*d2**4 #mm**4\n",
+ "\n",
+ "#Considering bras Rod:AB\n",
+ "T1=J_b*q_b*(d1*2**-1)**-1 #N-mm \n",
+ "\n",
+ "#Considering Steel Rod:BC\n",
+ "T2=J_s*q_s*(d2*2**-1)**-1 #N-mm\n",
+ "\n",
+ "#Max Torque that can be applied\n",
+ "T2\n",
+ "\n",
+ "#Let theta_b and theta_s be the rotations in Brass and steel respectively\n",
+ "theta_b=T2*L_b*(G_b*J_b)**-1 #Radians\n",
+ "theta_s=T2*L_s*(G_s*J_s)**-1 #Radians\n",
+ "\n",
+ "theta=theta_b+theta_s #Radians #Rotation of free end\n",
+ "\n",
+ "#Result\n",
+ "print\"Total of free end is\",round(theta,3),\"Radians\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total of free end is 0.076 Radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.15,Page No.241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "G=80*10**3 #N/mm**2 #Modulus of Rigidity\n",
+ "d1=100 #mm #Outer diameter of hollow shft\n",
+ "d2=80 #mm #Inner diameter of hollow shaft\n",
+ "d=80 #mm #diameter of Solid shaft\n",
+ "d3=60 #mm #diameter of Solid shaft having L=0.5m\n",
+ "L1=300 #mm #Length of Hollow shaft\n",
+ "L2=400 #mm #Length of solid shaft\n",
+ "L3=500 #mm #LEngth of solid shaft of diameter 60mm\n",
+ "T1=2*10**6 #N-mm #Torsion in Shaft AB\n",
+ "T2=1*10**6 #N-mm #Torsion in shaft BC\n",
+ "T3=1*10**6 #N-mm #Torsion in shaft CD\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Now Polar modulus of section AB\n",
+ "J1=pi*32**-1*(d1**4-d2**4) #mm**4 \n",
+ "\n",
+ "#Polar modulus of section BC\n",
+ "J2=pi*32**-1*d**4 #mm**4\n",
+ "\n",
+ "#Polar modulus of section CD\n",
+ "J3=pi*32**-1*d3**4 #mm**4\n",
+ "\n",
+ "#Now angle of twist of AB\n",
+ "theta1=T1*L1*(G*J1)**-1 #radians\n",
+ "\n",
+ "#Angle of twist of BC\n",
+ "theta2=T2*L2*(G*J2)**-1 #radians\n",
+ "\n",
+ "#Angle of twist of CD\n",
+ "theta3=T3*L3*(G*J3)**-1 #radians\n",
+ "\n",
+ "#Angle of twist\n",
+ "theta=theta1-theta2+theta3 #Radians\n",
+ "\n",
+ "#Shear stress in AB From Torsion Equation\n",
+ "q_s1=T1*(d1*2**-1)*J1**-1 #N/mm**2 \n",
+ "\n",
+ "#Shear stress in BC\n",
+ "q_s2=T2*(d*2**-1)*J2**-1 #N/mm**2 \n",
+ "\n",
+ "#Shear stress in CD\n",
+ "q_s3=T3*(d3*2**-1)*J3**-1 #N-mm**2\n",
+ "\n",
+ "#As max shear stress occurs in portion CD,so consider CD\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle of twist at free end is\",round(theta,5),\"Radian\"\n",
+ "print\"Max Shear stress\",round(q_s3,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle of twist at free end is 0.00496 Radian\n",
+ "Max Shear stress 23.58 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.16,Page No.242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=1000 #mm #Length of bar\n",
+ "L1=600 #mm #Length of Bar AB\n",
+ "L2=400 #mm #Length of Bar BC\n",
+ "d1=60 #mm #Outer Diameter of bar BC\n",
+ "d2=30 #mm #Inner Diameter of bar BC\n",
+ "d=60 #mm #Diameter of bar AB\n",
+ "T=2*10**6 #N-mm #Total Torque\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Polar Modulus of Portion AB\n",
+ "J1=pi*32**-1*d**4 #mm*4\n",
+ "\n",
+ "#Polar Modulus of Portion BC\n",
+ "J2=pi*32**-1*(d1**4-d2**4) #mm**4\n",
+ "\n",
+ "#Let T1 be the torque resisted by bar AB and T2 be torque resisted by Bar BC\n",
+ "#Let theta1 and theta2 be the rotation of shaft in portion AB & BC\n",
+ "\n",
+ "#theta1=T1*L1*(G*J1)**-1 #radians\n",
+ "#After substituting values and further simplifying we get \n",
+ "#theta1=32*600*T1*(pi*60**4*G)**-1\n",
+ "\n",
+ "#theta2=T2*L*(J2*G)**-1 #Radians\n",
+ "#After substituting values and further simplifying we get \n",
+ "#theta2=32*400*T2*(pi*60**4*(1-0.5**4)*G)**-1 \n",
+ "\n",
+ "#Now For consistency of Deformation,theta1=theta2\n",
+ "#After substituting values and further simplifying we get \n",
+ "#T1=0.7111*T2 ..................................................(1)\n",
+ "\n",
+ "#But T1+T2=T=2*10**6 ...........................................(2)\n",
+ "#Substituting value of T1 in above equation\n",
+ "\n",
+ "T2=T*(0.7111+1)**-1\n",
+ "T1=0.71111*T2\n",
+ "\n",
+ "#Max stress in Portion AB\n",
+ "q_s1=T1*(d*2**-1)*(J1)**-1 #N/mm**2\n",
+ "\n",
+ "#Max stress in Portion BC\n",
+ "q_s2=T2*(d1*2**-1)*J2**-1 #N/mm**2 \n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses Developed in Portion:AB\",round(q_s1,2),\"N/mm**2\"\n",
+ "print\" :BC\",round(q_s2,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stresses Developed in Portion:AB 19.6 N/mm**2\n",
+ " :BC 29.4 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.17,Page No.243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=80 #mm #External Diameter of Brass tube\n",
+ "d2=50 #mm #Internal Diameter of Brass tube\n",
+ "d=50 #mm #Diameter of steel Tube\n",
+ "G_b=40*10**3 #N/mm**2 #Modulus of Rigidity of brass tube\n",
+ "G_s=80*10**3 #N/mm**2 #Modulus of rigidity of steel tube\n",
+ "T=6*10**6 #N-mm #Torque\n",
+ "L=2000 #mm #Length of Tube\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Polar Modulus of brass tube\n",
+ "J1=pi*32**-1*(d1**4-d2**4) #mm**4 \n",
+ "\n",
+ "#Polar modulus of steel Tube\n",
+ "J2=pi*32**-1*d**4 #mm**4\n",
+ "\n",
+ "#Let T_s & T_b be the torque resisted by steel and brass respectively\n",
+ "#Then, T_b+T_s=T ............................................(1)\n",
+ "\n",
+ "#Since the angle of twist will be the same\n",
+ "#Theta1=Theta2\n",
+ "#After substituting values and further simplifying we get \n",
+ "#Ts=0.360*Tb ...........................................(2)\n",
+ "\n",
+ "#After substituting value of Ts in eqn 1 and further simplifying we get \n",
+ "T_b=T*(0.36+1)**-1 #N-mm\n",
+ "T_s=0.360*T_b\n",
+ "\n",
+ "#Let q_s and q_b be the max stress in steel and brass respectively\n",
+ "q_b=T_b*(d1*2**-1)*J1**-1 #N/mm**2\n",
+ "q_s=T_s*(d2*2**-1)*J2**-1 #N/mm**2\n",
+ "\n",
+ "#Since angle of twist in brass=angle of twist in steel\n",
+ "theta_s=T_s*L*(J2*G_s)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses Developed in Materials are:Brass\",round(q_b,2),\"N/mm**2\"\n",
+ "print\" :Steel\",round(q_s,2),\"N/mm**2\"\n",
+ "print\"Angle of Twist in 2m Length\",round(theta_s,3),\"Radians\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stresses Developed in Materials are:Brass 51.79 N/mm**2\n",
+ " :Steel 64.71 N/mm**2\n",
+ "Angle of Twist in 2m Length 0.065 Radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.18,Page No.245"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=60 #mm #External Diameter of aluminium Tube\n",
+ "d2=40 #mm #Internal Diameter of aluminium Tube\n",
+ "d=40 #mm #Diameter of steel tube\n",
+ "q_a=60 #N/mm**2 #Permissible stress in aluminium\n",
+ "q_s=100 #N/mm**2 #Permissible stress in steel tube\n",
+ "G_a=27*10**3 #N/mm**2 \n",
+ "G_s=80*10**3 #N/mm**2 \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Polar modulus of aluminium Tube\n",
+ "J_a=pi*32**-1*(d1**4-d2**4) #mm**4\n",
+ "\n",
+ "#Polar Modulus of steel Tube\n",
+ "J_s=pi*32**-1*d**4 #mm**4\n",
+ "\n",
+ "#Now the angle of twist of steel tube = angle of twist of aluminium tube\n",
+ "#T_s*L_s*(J_s*theta_s)**-1=T_a*L_a*(J_a*theta_a)**-1\n",
+ "#After substituting values in above Equation and Further simplifyin we get\n",
+ "#T_s=0.7293*T_a .....................(1)\n",
+ "\n",
+ "#If steel Governs the resisting capacity\n",
+ "T_s1=q_s*J_s*(d*2**-1)**-1 #N-mm\n",
+ "T_a1=T_s1*0.7293**-1 #N-mm\n",
+ "T1=(T_s1+T_a1)*10**-6 #KN-m #Total Torque in steel Tube\n",
+ "\n",
+ "#If aluminium Governs the resisting capacity \n",
+ "T_a2=q_a*J_a*(d1*2**-1) #N-mm\n",
+ "T_s2=T_a2*0.7293 #N-mm\n",
+ "T2=(T_s2+T_a2)*10**-6 #KN-m #Total Torque in aluminium tube\n",
+ "\n",
+ "#Result\n",
+ "print\"Steel Governs the torque carrying capacity\",round(T1,2),\"KN-m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Steel Governs the torque carrying capacity 2.98 KN-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.19,Page No.247"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=225*10**6 #N-mm/sec #Power Trasmitted\n",
+ "q_b=80 #N/mm**2 #Shear stress\n",
+ "n=200 #Rpm\n",
+ "q_k=100 #N/mm**2 #PErmissible stress in Keys\n",
+ "D=300 #mm #Diameter of bolt circle\n",
+ "L=150 #mm #Length of shear key\n",
+ "d=16 #mm #Diameterr of bolt\n",
+ "\n",
+ "#Calculations\n",
+ "T=60*P*(2*pi*n)**-1 #N-mm #Torque\n",
+ "\n",
+ "#Now From Torsion Formula\n",
+ "#T*J**-1=q_s*R**-1\n",
+ "#After substituting values we get\n",
+ "#T=pi*16*d**3*n\n",
+ "#After further simplifying we get\n",
+ "d1=(T*16*(pi*q_s)**-1)**0.33333\n",
+ "\n",
+ "#Let b be the width of shear Key\n",
+ "#T=q_k*L*b*R\n",
+ "#After simplifying further we get\n",
+ "b=T*(q_k*L*(d1*2**-1))**-1 #mm\n",
+ "\n",
+ "#Let n2 be the no. of bolts required at bolt circle of radius\n",
+ "R_b=D*2**-1 #mm \n",
+ "\n",
+ "n2=T*4*(q_b*pi*d**2*R_b)**-1\n",
+ "\n",
+ "#result\n",
+ "print\"Minimum no. of Bolts Required are\",round(n2,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum no. of Bolts Required are 4.45\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.20,Page No.250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "T=2*10**6 #N-mm #Torque transmitted\n",
+ "G=80*10**3 #N/mm**2 #Modulus of rigidity\n",
+ "d1=40 #mm \n",
+ "d2=80 #mm\n",
+ "r1=20 #mm\n",
+ "r2=40 #mm\n",
+ "L=2000 #mm #Length of shaft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Angle of twist \n",
+ "theta=2*T*L*(r1**2+r1*r2+r2**2)*(3*pi*G*r2**3*r1**3)**-1 #radians\n",
+ "\n",
+ "#If the shaft is treated as shaft of average Diameter\n",
+ "d_avg=(d1+d2)*2**-1 #mm\n",
+ "\n",
+ "theta1=T*L*(G*pi*32**-1*d_avg**4)**-1 #Radians\n",
+ "\n",
+ "#Percentage Error\n",
+ "#Let Percentage Error be E\n",
+ "X=theta-theta1\n",
+ "E=(X*theta**-1)*100 \n",
+ "\n",
+ "#Result\n",
+ "print\"Percentage Error is\",round(E,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage Error is 32.28 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.21,Page No.252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "G=80*10**3 #N/mm**2 \n",
+ "P=1*10**9 #N-mm/sec #Power\n",
+ "n=300 \n",
+ "d1=150 #mm #Outer Diameter\n",
+ "d2=120 #mm #Inner Diameter\n",
+ "L=2000 #mm #Length of circular shaft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "T=P*60*(2*pi*n)**-1 #N-mm\n",
+ "\n",
+ "#Polar Modulus \n",
+ "J=pi*32**-1*(d1**4-d2**4) #mm**4\n",
+ "\n",
+ "q_s=T*J**-1*(d1*2**-1) #N/mm**2 \n",
+ "\n",
+ "\n",
+ "#Strain ENergy\n",
+ "U=q_s**2*(4*G)**-1*pi*4**-1*(d1**2-d2**2)*L\n",
+ "\n",
+ "#Result\n",
+ "print\"Max shear stress is\",round(q_s,2),\"N/mm**2\"\n",
+ "print\"Strain Energy stored in the shaft is\",round(U,2),\"N-mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max shear stress is 81.36 N/mm**2\n",
+ "Strain Energy stored in the shaft is 263181.37 N-mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.22,Page No.254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=12 #mm #Diameter of helical spring\n",
+ "D=150 #mm #Mean Diameter\n",
+ "R=D*2**-1 #mm #Radius of helical spring\n",
+ "n=10 #no.of turns\n",
+ "G=80*10**3 #N/mm**2 \n",
+ "W=450 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Max shear stress \n",
+ "q_s=16*W*R*(pi*d**3)**-1 #N/mm**2\n",
+ "\n",
+ "#Strain Energy stored\n",
+ "U=32*W**2*R**3*n*(G*d**4)**-1 #N-mm\n",
+ "\n",
+ "#Deflection Produced\n",
+ "dell=64*W*R**3*n*(G*d**4)**-1 #mm\n",
+ "\n",
+ "#Stiffness Spring\n",
+ "k=W*dell**-1 #N/mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Max shear stress is\",round(q_s,2),\"N/mm**2\"\n",
+ "print\"Strain Energy stored is\",round(U,2),\"N-mm\"\n",
+ "print\"Deflection Produced is\",round(dell,2),\"mm\"\n",
+ "print\"Stiffness spring is\",round(k,2),\"N/mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max shear stress is 99.47 N/mm**2\n",
+ "Strain Energy stored is 16479.49 N-mm\n",
+ "Deflection Produced is 73.24 mm\n",
+ "Stiffness spring is 6.14 N/mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.23,Page No.255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "K=5 #N/mm #Stiffness\n",
+ "L=100 #mm #Solid Length\n",
+ "q_s=60 #N/mm**2 #Max shear stress\n",
+ "W=200 #N #Max Load\n",
+ "G=80*10**3 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#K=W*dell**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "#d=0.004*R**3*n ........(1) #mm #Diameter of wire\n",
+ "#n=L*d**-1 ........(2)\n",
+ "\n",
+ "#From Shearing stress\n",
+ "#q_s=16*W*R*(pi*d**3)**-1 \n",
+ "#After substituting values and further simplifying we get\n",
+ "#d**4=0.004*R**3*n .................(4)\n",
+ "\n",
+ "#From Equation 1,2,3\n",
+ "#d**4=0.004*(0.0785*d**3)**3*100*d**-1\n",
+ "#after further simplifying we get\n",
+ "d=5168.101**0.25\n",
+ "n=100*d**-1\n",
+ "R=(d**4*(0.004*n)**-1)**0.3333\n",
+ "\n",
+ "#Result\n",
+ "print\"Diameter of Wire is\",round(d,2),\"mm\"\n",
+ "print\"No.of turns is\",round(n,2)\n",
+ "print\"Mean Radius of spring is\",round(R,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diameter of Wire is 8.48 mm\n",
+ "No.fo turns is 11.79\n",
+ "Mean Radius of spring is 47.83 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.24,Page No.255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=5*10**5 #Wagon Weighing\n",
+ "v=18*1000*36000**-1 \n",
+ "d=300 #mm #Diameter of Beffer springs\n",
+ "n=18 #no.of turns\n",
+ "G=80*10**3 #N/mm**2\n",
+ "dell=225\n",
+ "R=100 #mm #Mean Radius\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Energy of Wagon\n",
+ "E=m*v**2*(9.81*2)**-1 #N-mm\n",
+ "\n",
+ "#Load applied\n",
+ "W=dell*G*d**4*(64*R**3*n)**-1 #N \n",
+ "\n",
+ "#Energy each spring can absorb is\n",
+ "E2=W*dell*2**-1 #N-mm\n",
+ "\n",
+ "#No.of springs required to absorb energy of Wagon\n",
+ "n2=E*E2**-1 *10**7\n",
+ "\n",
+ "#Result\n",
+ "print\"No.of springs Required for Buffer is\",round(n2,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No.of springs Required for Buffer is 4.47\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.25,Page No.259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "b=180 #mm #width of flange\n",
+ "d=10 #mm #Depth of flange\n",
+ "t=10 #mm #Thickness of flange\n",
+ "D=400 #mm #Overall Depth \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "I_xx=1*12**-1*(b*D**3-(b-t)*(D-2*d)**3)\n",
+ "I_yy=1*12**-1*((D-2*d)*t**3+2*t*b**3)\n",
+ "\n",
+ "#If warping is neglected\n",
+ "J=I_xx+I_yy #mm**4\n",
+ "\n",
+ "#Since b/d>1.6,we get\n",
+ "J2=1*3**-1*d**3*b*(1-0.63*d*b**-1)*2+1*3**-1*t**3*(D-2*d)*(1-0.63*t*b**-1)\n",
+ "\n",
+ "#Over Estimation of torsional Rigidity would have been \n",
+ "T=J*J2**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Error in assessing torsional Rigidity if the warping is neglected is\",round(T,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Error in assessing torsional Rigidity if the warping is neglected is 808.28\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6.26,Page No.261"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=100 #mm #Outer Diameter\n",
+ "d2=95 #mm #Inner Diameter\n",
+ "T=2*10**6 #N-mm #Torque\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "J=pi*32**-1*(d1**4-d2**4) #mm**4 #Polar Modulus\n",
+ "\n",
+ "#Shear stress\n",
+ "q_max=T*J**-1*d1*2**-1 #N/mm**2 \n",
+ "\n",
+ "#Now theta*L**-1=T*(G*J)**-1\n",
+ "#After substituting values and further simplifying we get\n",
+ "#Let theta*L**-1=X\n",
+ "X=T*J**-1\n",
+ "\n",
+ "#Now Treating it as very thin walled tube\n",
+ "d=(d1+d2)*2**-1 #mm\n",
+ "\n",
+ "r=d*2**-1 \n",
+ "t=(d1-d2)*2**-1\n",
+ "q_max2=T*(2*pi*r**2*t)**-1 #N/mm**2\n",
+ "\n",
+ "X2=T*(2*pi*r**3*t)**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"When it is treated as hollow shaft:Max shear stress\",round(q_max,2),\"N/mm**2\"\n",
+ "print\" :Angle of Twist per unit Length\",round(X,3)\n",
+ "print\"When it is very thin Walled Tube :Max shear stress\",round(q_max2,2),\"N/mm**2\"\n",
+ "print\" :Angle of twist per Unit Length\",round(X2,3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When it is treated as hollow shaft:Max shear stress 54.91 N/mm**2\n",
+ " :Angle of Twist per unit Length 1.098\n",
+ "When it is very thin Walled Tube :Max shear stress 53.57 N/mm**2\n",
+ " :Angle of twist per Unit Length 1.099\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.7_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.7_5.ipynb
new file mode 100644
index 00000000..b75d886a
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.7_5.ipynb
@@ -0,0 +1,1328 @@
+{
+ "metadata": {
+ "name": "chapter no.7.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter No.7:Compound Stresses And Strains"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1,Page No.269"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "sigma1=30 #N/mm**2 #Stress in tension\n",
+ "d=20 #mm #Diameter \n",
+ "sigma2=90 #N/mm**2 #Max compressive stress\n",
+ "sigma3=25 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#In TEnsion\n",
+ "\n",
+ "#Corresponding stress in shear\n",
+ "P=sigma1*2**-1 #N/mm**2\n",
+ "\n",
+ "#Tensile force\n",
+ "F=pi*4**-1*d**2*sigma1\n",
+ "\n",
+ "#In Compression\n",
+ "\n",
+ "#Correspong shear stress\n",
+ "P2=sigma2*2**-1 #N/mm**2\n",
+ "\n",
+ "#Correspong compressive(axial) stress\n",
+ "p=2*sigma3 #N/mm**2 \n",
+ "\n",
+ "#Corresponding Compressive force\n",
+ "P3=p*pi*4**-1*d**2 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Failure Loads are:\",round(F,2),\"N\"\n",
+ "print\" :\",round(P3,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Failure Loads are: 9424.78 N\n",
+ " : 15707.96 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.2,Page No.270"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=25 #mm #Diameter of circular bar\n",
+ "F=20*10**3 #N #Axial Force\n",
+ "theta=30 #Degree #angle \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Axial stresses\n",
+ "p=F*(pi*4**-1*d**2)**-1 #N/mm**2\n",
+ "\n",
+ "#Normal Stress\n",
+ "p_n=p*(cos(30*pi*180**-1))**2\n",
+ "\n",
+ "#Tangential Stress\n",
+ "p_t=p*2**-1*sin(2*theta*pi*180**-1)\n",
+ "\n",
+ "#Max shear stress occurs on plane where theta2=45 \n",
+ "theta2=45\n",
+ "sigma_max=p*2**-1*sin(2*theta2*pi*180**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses developed on a plane making 30 degree is:\",round(p_n,2),\"N/mm**2\"\n",
+ "print\" :\",round(p_t,2),\"N/mm**2\"\n",
+ "print\"stress on max shear stress is\",round(sigma_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stresses developed on a plane making 30 degree is: 30.56 N/mm**2\n",
+ " : 17.64 N/mm**2\n",
+ "stress on max shear stress is 20.37 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.3,Page No.272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "theta=30 #degree\n",
+ "\n",
+ "#Stresses acting on material\n",
+ "p1=120 #N/mm**2\n",
+ "p2=80 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Normal Stress\n",
+ "P_n=(p1+p2)*2**-1+(p1-p2)*2**-1*cos(2*theta*pi*180**-1) #N/mm**2\n",
+ "\n",
+ "#Tangential stress\n",
+ "P_t=(p1-p2)*2**-1*sin(2*theta*pi*180**-1)\n",
+ "\n",
+ "#Resultant stress\n",
+ "P=(P_n**2+P_t**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Inclination to the plane\n",
+ "phi=arctan(P_n*P_t**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Angle made by resultant with 120 #N/mm**2 stress\n",
+ "phi2=phi+theta #Degree\n",
+ "\n",
+ "#Result\n",
+ "print\"Normal Stress is\",round(P_n,2),\"N/mm**2\"\n",
+ "print\"Tangential Stress is\",round(P_t,2),\"N/mm**2\"\n",
+ "print\"Angle made by resultant\",round(phi2,2),\"Degree\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Normal Stress is 110.0 N/mm**2\n",
+ "Tangential Stress is 17.32 N/mm**2\n",
+ "Angle made by resultant 111.05 Degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.4,Page No.272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Direct Stresses\n",
+ "P1=60 #N/mm**2 \n",
+ "P2=100 #N/mm**2\n",
+ "\n",
+ "Theta=25 #Degree #Angle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Normal Stress\n",
+ "P_n=(P1-P2)*2**-1+(P1+P2)*2**-1*cos(2*Theta*pi*180**-1) #N/mm**2\n",
+ "\n",
+ "#Tangential Stress\n",
+ "P_t=(P1+P2)*2**-1*sin(Theta*2*pi*180**-1) #N/mm**2\n",
+ "\n",
+ "#Resultant stress\n",
+ "P=(P_n**2+P_t**2)**0.5 #N/mm**2\n",
+ "\n",
+ "theta2=arctan(P_n*P_t**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses on the plane AC is:\",round(P_n,2),\"N/mm**2\"\n",
+ "print\" \",round(P_t,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stresses on the plane AC is: 31.42 N/mm**2\n",
+ " 61.28 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.6,Page No.278"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Stresses acting on material\n",
+ "p_x=180 #N/mm**2 \n",
+ "p_y=120 #N/mm**2\n",
+ "\n",
+ "q=80 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "theta=arctan(2*q*(p_x-p_y)**-1)*(180*pi**-1) #degrees\n",
+ "theta2=theta*2**-1 #Degrees\n",
+ "theta3=theta+180 #Degrees\n",
+ "theta4=theta3*2**-1 #Degrees\n",
+ "\n",
+ "#Stresses\n",
+ "p_1=(p_x+p_y)*2**-1+(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "p_2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Principal stress is:\",round(p_1,2),\"N/mm**2\"\n",
+ "print\" \",round(p_2,2),\"N/mm**2\"\n",
+ "print\"Magnitude of max shear stress is\",round(q_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Principal stress is: 235.44 N/mm**2\n",
+ " 64.56 N/mm**2\n",
+ "Magnitude of max shear stress is 85.44 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.7,Page No.279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#stresses\n",
+ "p_x=60 #N/mm**2\n",
+ "p_y=-40 #N/mm**2\n",
+ "\n",
+ "q=10 #N/mm**2 #shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Principal Stresses\n",
+ "p1=(p_x+p_y)*2**-1+(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "p2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Inclination of principal stress to plane\n",
+ "theta=arctan(2*q*(p_x-p_y)**-1)*(180*pi**-1)#Degrees\n",
+ "theta2=(theta)*2**-1 #degrees\n",
+ "\n",
+ "theta3=(theta+180)*2**-1 #degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Principal Stresses are:\",round(p1,2),\"N/mm**2\"\n",
+ "print\" :\",round(p2,2),\"N/mm**2\"\n",
+ "print\"Max shear stresses\",round(q_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal Stresses are: 60.99 N/mm**2\n",
+ " : -40.99 N/mm**2\n",
+ "Max shear stresses 50.99 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.8,Page No.280"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#stresses\n",
+ "p_x=-120 #N/mm**2\n",
+ "p_y=-80 #N/mm**2\n",
+ "\n",
+ "q=-60 #N/mm**2 #shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Principal Stresses\n",
+ "p1=(p_x+p_y)*2**-1+(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "p2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Inclination of principal stress to plane\n",
+ "theta=arctan(2*q*(p_x-p_y)**-1)*(180*pi**-1)#Degrees\n",
+ "theta2=(theta)*2**-1 #degrees\n",
+ "\n",
+ "theta3=(theta+180)*2**-1 #degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Principal Stresses are:\",round(p1,2),\"N/mm**2\"\n",
+ "print\" :\",round(p2,2),\"N/mm**2\"\n",
+ "print\"Max shear stresses\",round(q_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal Stresses are: -36.75 N/mm**2\n",
+ " : -163.25 N/mm**2\n",
+ "Max shear stresses 63.25 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.9,Page No.282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#stresses\n",
+ "p_x=-40 #N/mm**2\n",
+ "p_y=80 #N/mm**2\n",
+ "\n",
+ "q=48 #N/mm**2 #shear stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=((((p_x-p_y)*2**-1)**2)+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Inclination of principal stress to plane\n",
+ "theta=arctan(2*q*(p_x-p_y)**-1)*(180*pi**-1)#Degrees\n",
+ "theta2=(theta)*2**-1 #degrees\n",
+ "\n",
+ "theta3=(theta+180)*2**-1 #degrees\n",
+ "\n",
+ "#Normal Corresponding stress\n",
+ "p_n=(p_x+p_y)*2**-1+(p_x-p_y)*2**-1*cos(2*(theta2+45)*pi*180**-1)+q*sin(2*(theta2+45)*pi*180**-1) #Degrees\n",
+ "\n",
+ "#Resultant stress\n",
+ "p=((p_n**2+q_max**2)**0.5) #N/mm**2\n",
+ "\n",
+ "phi=arctan(p_n*q_max**-1)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#Inclination to the plane\n",
+ "alpha=round((theta2+45),2)+round(phi ,2)#Degree\n",
+ "\n",
+ "#Answer in book is incorrect of alpha ie41.25\n",
+ "\n",
+ "#Result\n",
+ "print\"Planes of max shear stress:\",round(p_n,2),\"N/mm**2\"\n",
+ "print\" \",round(q_max,2),\"N/mm*2\"\n",
+ "print\"Resultant Stress is\",round(p,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Planes of max shear stress: 20.0 N/mm**2\n",
+ " 76.84 N/mm*2\n",
+ "Resultant Stress is 79.4 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.10,Page No.283"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Stresses\n",
+ "p_x=50*cos(35*pi*180**-1)\n",
+ "q=50*sin(35*pi*180**-1)\n",
+ "p_y=0\n",
+ "\n",
+ "theta=40 #Degrees #Plane AB inclined to vertical\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Normal Stress on AB\n",
+ "p_n=(p_x+p_y)*2**-1+(p_x-p_y)*2**-1*cos(2*theta*pi*180**-1)+q*sin(2*theta*pi*180**-1)\n",
+ "\n",
+ "#Tangential Stress on AB\n",
+ "p_t=(p_x-p_y)*2**-1*sin(2*theta*pi*180**-1)-q*cos(2*theta*pi*180**-1) #N/mm**2\n",
+ "\n",
+ "#Resultant stress\n",
+ "p=(p_n**2+p_t**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Angle of resultant\n",
+ "phi=arctan(p_n*p_t**-1)*(180*pi**-1) #degrees\n",
+ "phi2=phi+theta #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of resultant stress is\",round(p,2),\"N/mm**2\"\n",
+ "print\"Direction of Resultant stress is\",round(phi2,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of resultant stress is 54.44 N/mm**2\n",
+ "Direction of Resultant stress is 113.8 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.12,Page No.285"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Direct stresses\n",
+ "p_x=120 #N/mm**2 #Tensile stress\n",
+ "p_y=-100 #N/mm**2 #Compressive stress\n",
+ "p1=160 #N/mm**2 #Major principal stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let q be the shearing stress\n",
+ "\n",
+ "#p1=(p_x+p_y)*2**-1+((((p_x+p_y)*2**-1)**2)+q**2)**0.5\n",
+ "#After further simplifying we get\n",
+ "q=(p1-((p_x+p_y)*2**-1))**2-((p_x-p_y)*2**-1)**2 #N/mm**2\n",
+ "q2=(q)**0.5 #N/mm**2\n",
+ "\n",
+ "#Minimum Principal stress\n",
+ "p2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q2**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shearing stress\n",
+ "q_max=(((p_x-p_y)*2**-1)**2+q2**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Shearing stress of material\",round(q,2),\"N/mm**2\"\n",
+ "print\"Min Principal stress\",round(p2,2),\"N/mm**2\"\n",
+ "print\"Max shearing stress\",round(q_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shearing stress of material 10400.0 N/mm**2\n",
+ "Min Principal stress -140.0 N/mm**2\n",
+ "Max shearing stress 150.0 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.14,Page No.291"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=40*10**3 #N #Shear Force\n",
+ "M=20*10**6 #Bending Moment\n",
+ "\n",
+ "#Rectangular section\n",
+ "b=100 #mm #Width\n",
+ "d=200 #mm #Depth\n",
+ "\n",
+ "x=20 #mm #Distance from Top surface upto point\n",
+ "y=80 #mm #Distance from point to Bottom\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "I=1*12**-1*b*d**3 #mm**4 #M.I\n",
+ "\n",
+ "#At 20 mm Below top Fibre\n",
+ "f_x=M*I**-1*y #N/mm**2 #Stress\n",
+ "\n",
+ "#Assuming sagging moment ,f_x is compressive p_x=f_x=-24 #N/mm**2\n",
+ "p_x=f_x=-24 #N/mm**2\n",
+ "\n",
+ "#Shearing stress\n",
+ "q=F*(b*I)**-1*(b*x*(b-x*2**-1)) #N/mm**2\n",
+ "\n",
+ "#Direct stresses\n",
+ "\n",
+ "p_y=0 #N/mm**2\n",
+ "\n",
+ "p1=(p_x+p_y)*2**-1+(((p_x+p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "p2=(p_x+p_y)*2**-1-(((p_x+p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Directions of principal stresses at a point below 20mm is:\",round(p1,2),\"N/mm**2\"\n",
+ "print\" \",round(p2,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Directions of principal stresses at a point below 20mm is: 0.05 N/mm**2\n",
+ " -24.05 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.15,Page No.292"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=4000 #mm #Span\n",
+ "W1=W2=W3=2*10**3 #N #Load\n",
+ "\n",
+ "#SEction of beam\n",
+ "b=100 #mm #Width\n",
+ "d=240 #mm #Dept\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions\n",
+ "R_A=R_B=(W1+W2+W3)*2**-1 #KN\n",
+ "\n",
+ "#Now at the section 1.5m from left support A\n",
+ "#Shear Force\n",
+ "F=R_A-W1 #KN\n",
+ "\n",
+ "#B.M\n",
+ "M=R_A*1.5-W1*0.5 #KN-m\n",
+ "\n",
+ "#M.I\n",
+ "I=1*12**-1*b*d**3 #mm**4\n",
+ "\n",
+ "#Bending stress\n",
+ "#f=M*I**-1*y\n",
+ "#After Sub values and further simplifying we get\n",
+ "#f=3.04*10**-2*y\n",
+ "\n",
+ "#As it varies Linearly\n",
+ "\n",
+ "#at distance 0 From NA \n",
+ "f1=0\n",
+ "#at distance 60 mm from NA\n",
+ "f2=1.823 #N/mm**2\n",
+ "#at distance 120 mm from NA\n",
+ "f3=3.646 #N/mm**2\n",
+ "\n",
+ "#Shearing stress\n",
+ "q=F*b*d*2**-1*d*4**-1*(b*I)**-1\n",
+ "\n",
+ "#At 60 mm above NA\n",
+ "q2=F*b*d*4**-1*(d*2**-1-d*8**-1)*(b*I)**-1\n",
+ "\n",
+ "#At 120 mm above NA\n",
+ "q3=0 \n",
+ "\n",
+ "#At NA element is under pure shear\n",
+ "p1=q #N/mm**2\n",
+ "p2=-q #N/mm**2 \n",
+ "\n",
+ "#Inclination of principal plane to vertical\n",
+ "#theta=2*q*0**-1\n",
+ "#Further simplifying we get\n",
+ "#theta=infinity\n",
+ "\n",
+ "#therefore\n",
+ "theta=90*2**-1 #degrees\n",
+ "theta2=270*2**-1 #degrees\n",
+ "\n",
+ "#At 60 mm From NA\n",
+ "p_x=-1.823 #N/mm**2 \n",
+ "p_y=0\n",
+ "q=0.0469 #N/mm**2\n",
+ "\n",
+ "#principal planes\n",
+ "P1=(p_x+p_y)*2**-1+(((p_x+p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "P2=(p_x+p_y)*2**-1-(((p_x+p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Principal planes inclination to hte plane of p_x is given by\n",
+ "theta3=(arctan(2*q*(p_x-p_y)**-1)*(180*pi**-1))\n",
+ "theta4=theta3*2**-1#degrees\n",
+ "\n",
+ "theta5=theta3+180 #Degrees\n",
+ "\n",
+ "#At 120 mm From N-A\n",
+ "p_x2=3.646 #N/mm**2\n",
+ "p_y2=0 #N/mm**2\n",
+ "q2=0 #N/mm**2\n",
+ "\n",
+ "P3=p_x2 #N/mm**2\n",
+ "P4=0 #N/mm**2\n",
+ "\n",
+ "#Answer for P2 at 60 mm from NA is incorrect\n",
+ "\n",
+ "#Result\n",
+ "print\"Principal Planes at 60 mm from NA:\",round(p_x,2),\"N/mm**2\"\n",
+ "print\" \",round(p_y,2),\"N/mm**2\"\n",
+ "print\"Principal Stresses at 60 mm From NA\",round(P1,4),\"N/mm**2\"\n",
+ "print\" \",round(P2,4),\"N/mm**2\"\n",
+ "print\"Principal Planes at 60 mm from NA:\",round(p_x2,4),\"N/mm**2\"\n",
+ "print\" \",round(p_y2,4),\"N/mm**2\"\n",
+ "print\"Principal Stresses at 60 mm From NA\",round(P3,4),\"N/mm**2\"\n",
+ "print\" \",round(P4,4),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal Planes at 60 mm from NA: -1.82 N/mm**2\n",
+ " 0.0 N/mm**2\n",
+ "Principal Stresses at 60 mm From NA 0.0012 N/mm**2\n",
+ " -1.8242 N/mm**2\n",
+ "Principal Planes at 60 mm from NA: 3.646 N/mm**2\n",
+ " 0.0 N/mm**2\n",
+ "Principal Stresses at 60 mm From NA 3.646 N/mm**2\n",
+ " 0.0 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.16,Page No.295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=8000 #mm #Span of beam\n",
+ "w=40*10**6 #N/mm #udl\n",
+ "\n",
+ "#I-section\n",
+ "\n",
+ "#Flanges\n",
+ "b=100 #mm #Width\n",
+ "t=10 #mm #Thickness\n",
+ "\n",
+ "D=400 #mm #Overall Depth\n",
+ "t2=10 #mm #thickness of web\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the Reactions at A & B respectively\n",
+ "R_A=w*2**-1*L*10**-9 #KN\n",
+ "\n",
+ "#Shear force at 2m for left support\n",
+ "F=R_A-2*w*10**-6 #KN\n",
+ "\n",
+ "#Bending Moment\n",
+ "M=R_A*2-2*w*10**-6 #KN-m\n",
+ "\n",
+ "#M.I\n",
+ "I=1*12**-1*b*D**3-1*12**-1*(b-t)*(D-2*t2)**3 #mm**4\n",
+ "\n",
+ "#Bending stress at 100 mm above N_A\n",
+ "f=M*10**6*I**-1*b\n",
+ "\n",
+ "#Shear stress \n",
+ "q=F*10**3*(t*I)**-1*(b*t*(D-t)*2**-1 +t2*(b-t2)*145) #N/mm**2\n",
+ "\n",
+ "p_x=-197.06 #N/mm**2 \n",
+ "p_y=0 #N/mm**2\n",
+ "q=21.38 #N/mm**2\n",
+ "\n",
+ "#Principal Stresses\n",
+ "\n",
+ "P1=(p_x+p_y)*2**-1+(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "P2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Principal Stresses are:\",round(P1,2),\"N/mm**2\"\n",
+ "print\" \",round(P2,2),\"N/mm**2\"\n",
+ "print\"Max shear stress\",round(q_max,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal Stresses are: 2.29 N/mm**2\n",
+ " -199.35 N/mm**2\n",
+ "Max shear stress 100.82 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.18,Page No.298"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=100 #mm #Diameter of shaft\n",
+ "M=3*10**6 #N-mm #B.M\n",
+ "T=6*10**6 #N-mm #Twisting Moment\n",
+ "mu=0.3\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Max principal Stress\n",
+ "\n",
+ "P1=16*(pi*d**3)**-1*(M+(M**2+T**2)**0.5) #N/mm**2 \n",
+ "P2=16*(pi*d**3)**-1*(M-(M**2+T**2)**0.5) #N/mm**2 \n",
+ "\n",
+ "#Direct stress\n",
+ "P=round(P1,2)-mu*round(P2,2) #N/mm**2 \n",
+ "\n",
+ "#Result\n",
+ "print\"Principal stresses are:\",round(P1,2),\"N/mm**2\"\n",
+ "print\" :\",round(P2,2),\"N/mm**2\"\n",
+ "print\"Stress Producing the same strain is\",round(P,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal stresses are: 49.44 N/mm**2\n",
+ " : -18.89 N/mm**2\n",
+ "Stress Producing the same strain is 55.11 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.19,Page No.299"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=75 #mm #diameter \n",
+ "P=30*10**6 #W #Power transmitted\n",
+ "W=6 #N-mm/sec #Load\n",
+ "L=1000 #mm \n",
+ "N=300 #r.p.m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#B.M\n",
+ "M=W*L*4**-1 #N-mm\n",
+ "T=P*60*(2*pi*N)**-1 #Torque transmitted\n",
+ "\n",
+ "#M.I\n",
+ "I=pi*64**-1*d**4 #mm**4\n",
+ "\n",
+ "#Bending stress\n",
+ "f_A=M*I**-1*(d*2**-1) #N/mm**2\n",
+ "\n",
+ "#At A\n",
+ "p_x=f_A\n",
+ "p_y=0\n",
+ "\n",
+ "#Polar Modulus\n",
+ "J=pi*32**-1*d**4 #mm**4\n",
+ "\n",
+ "#Shearing stress\n",
+ "q=T*J**-1*(d*2**-1) #N/mm**2\n",
+ "\n",
+ "#Principal Stresses\n",
+ "P1=(p_x+p_y)*2**-1+(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "P2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Bending stress\n",
+ "p_x2=0\n",
+ "p_y2=0\n",
+ "\n",
+ "#Shearing stress\n",
+ "q2=T*J**-1*d*2**-1 #N/mm**2\n",
+ "\n",
+ "#Principal stresses\n",
+ "P3=(p_x2+p_y2)*2**-1+(((p_x2-p_y2)*2**-1)**2+q2**2)**0.5 #N/mm**2\n",
+ "P4=(p_x2+p_y2)*2**-1-(((p_x2-p_y2)*2**-1)**2+q2**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max2=(((p_x2-p_y2)*2**-1)**2+q2**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Answer for Principal Stresses P1,P2 and Max stress i.e q_max is incorrect in Book\n",
+ "\n",
+ "#Result\n",
+ "print\"Principal Stresses at vertical Diameter:P1\",round(P1,2),\"N/mm**2\"\n",
+ "print\" :P2\",round(P2,2),\"N/mm**2\"\n",
+ "print\"Max stress at vertical Diameter : \",round(q_max,2),\"N/mm**2\"\n",
+ "print\"Principal Stresses at Horizontal Diameter:P3\",round(P3,2),\"N/mm**2\"\n",
+ "print\" :P4\",round(P4,2),\"N/mm**2\"\n",
+ "print\"Max stress at Horizontal Diameter : \",round(q_max2,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal Stresses at vertical Diameter:P1 11.55 N/mm**2\n",
+ " :P2 -11.51 N/mm**2\n",
+ "Max stress at vertical Diameter : 11.53 N/mm**2\n",
+ "Principal Stresses at Horizontal Diameter:P3 11.53 N/mm**2\n",
+ " :P4 -11.53 N/mm**2\n",
+ "Max stress at Horizontal Diameter : 11.53 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.20,Page No.302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=100 #mm #External Diameter\n",
+ "d2=50 #mm #Internal Diameter\n",
+ "N=500 #mm #r.p.m\n",
+ "P=60*10**6 #N-mm/sec #Power\n",
+ "p=100 #N/mm**2 #principal stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#M.I\n",
+ "I=pi*(d1**4-d2**4)*64**-1 #mm**4\n",
+ "\n",
+ "#Bending Stress\n",
+ "#f=M*I*d1*2**-1 #N/mm**2\n",
+ "\n",
+ "#Principal Planes\n",
+ "#p_x=32*M*(pi*(d1**4-d2**4))*d1\n",
+ "#p_y=0\n",
+ "\n",
+ "#Shear stress\n",
+ "#q=T*J**-1*(d1*2**-1)\n",
+ "#After sub values and further simplifying we get\n",
+ "#q=16*T*d1*(pi*(d1**4-d2**4))*d1\n",
+ "\n",
+ "#Principal stresses\n",
+ "#P1=(p_x+p_y)*2**-1+(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "#After sub values and further simplifying we get\n",
+ "#P1=16*(pi*(d1**4-d2**4))*d1*(M+(M**2+t**2)**0.5) ...............(1)\n",
+ "\n",
+ "#P=2*pi*N*T*60**-1\n",
+ "#After sub values and further simplifying we get\n",
+ "T=P*60*(2*pi*N)**-1*10**-6 #N-mm\n",
+ "\n",
+ "#Again Sub values and further simplifying Equation 1 we get\n",
+ "M=(337.533)*(36.84)**-1 #KN-m\n",
+ "\n",
+ "#Min Principal stress\n",
+ "#P2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "#Sub values and further simplifying we get\n",
+ "P2=16*(pi*(d1**4-d2**4))*d1*(M-(M**2+T**2)**0.5)*10**-11\n",
+ "\n",
+ "#Result\n",
+ "print\"Bending Moment safely applied to shaft is\",round(M,2),\"KN-m\"\n",
+ "print\"Min Principal Stress is\",round(P2,3),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bending Moment safely applied to shaft is 9.16 KN-m\n",
+ "Min Principal Stress is -0.336 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.21,Page No.303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=150 #mm #Diameter\n",
+ "T=20*10**6 #N #Torque\n",
+ "M=12*10**6 #N-mm #B.M\n",
+ "F=200*10**3 #N #Axial Thrust\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#M.I\n",
+ "I=(pi*64**-1*d**4)\n",
+ "\n",
+ "#Bending stress \n",
+ "f_A=M*I**-1*(d*2**-1) #N/mm**2\n",
+ "f_B=-f_A #N/mm**2\n",
+ "\n",
+ "#Axial thrust due to thrust\n",
+ "sigma=F*(pi*4**-1*d**2)**-1\n",
+ "\n",
+ "#At A\n",
+ "p_x=f_A-sigma #N/mm**2\n",
+ "\n",
+ "#At B\n",
+ "p_x2=f_B-sigma #N/mm**2\n",
+ "\n",
+ "p_y=0 #At A and B\n",
+ "\n",
+ "#Polar Modulus\n",
+ "J=pi*32**-1*d**4 #mm**4\n",
+ "\n",
+ "#Shearing stress at A and B\n",
+ "q=T*J**-1*(d*2**-1) #N/mm**2\n",
+ "\n",
+ "\n",
+ "#Principal Stresses\n",
+ "#At A\n",
+ "P1=(p_x+p_y)*2**-1+(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "P2=(p_x+p_y)*2**-1-(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max1=(((p_x-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#At B\n",
+ "P1_2=(p_x2+p_y)*2**-1+(((p_x2-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "P2_2=(p_x2+p_y)*2**-1-(((p_x2-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max2=(((p_x2-p_y)*2**-1)**2+q**2)**0.5 #N/mm**2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"MAx Principal Stresses:P1\",round(P1,2),\"N/mm**2\"\n",
+ "print\" :P2\",round(P2,2),\"N/mm**2\"\n",
+ "print\"Min Principal Stresses:P1_2\",round(P1_2,2),\"N/mm**2\"\n",
+ "print\" :P2_2\",round(P2_2,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "MAx Principal Stresses:P1 45.1 N/mm**2\n",
+ " :P2 -20.2 N/mm**2\n",
+ "Min Principal Stresses:P1_2 14.65 N/mm**2\n",
+ " :P2_2 -62.18 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.22,Page No.311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#strains\n",
+ "e_A=500 #microns\n",
+ "e_B=250 #microns\n",
+ "e_C=-150 #microns\n",
+ "E=2*10**5 #N/mm**2 #Modulus of Elasticity\n",
+ "mu=0.3 #Poissoin's ratio\n",
+ "theta=45 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "e_x=e_A=500\n",
+ "e_45=e_B=250\n",
+ "e_y=e_C=-150 \n",
+ "\n",
+ "#e_45=(e_x+e_y)*2**-1+(e_x-e_y)*2**-1*cos(2*theta)+rho_x_y*2**-1*sin(2*theta)\n",
+ "#After sub values and further simplifying we get\n",
+ "rho_x_y=(e_45-(e_x+e_y)*2**-1-(e_x-e_y)*2**-1*cos(2*theta*pi*180**-1))*(sin(2*theta*pi*180**-1))**-1*2\n",
+ "\n",
+ "#Principal strains are given by\n",
+ "e1=(e_x+e_y)*2**-1+(((e_x-e_y)*2**-1)**2+(rho_x_y*2**-1)**2)**0.5 #microns\n",
+ "e2=(e_x+e_y)*2**-1-(((e_x-e_y)*2**-1)**2+(rho_x_y*2**-1)**2)**0.5 #microns\n",
+ "\n",
+ "#Principal Stresses\n",
+ "sigma1=E*(e1+mu*e2)*(1-mu**2)**-1*10**-6 #N/mm**2\n",
+ "sigma2=E*(e2+mu*e1)*(1-mu**2)**-1*10**-6 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Principal Strains are:e1\",round(e1,2),\"N/mm**2\"\n",
+ "print\" :e2\",round(e2,2),\"N/mm**2\"\n",
+ "print\"Principal Stresses are:sigma1\",round(sigma1,2),\"N/mm**2\"\n",
+ "print\" :sigma2\",round(sigma2,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal Strains are:e1 508.54 N/mm**2\n",
+ " :e2 -158.54 N/mm**2\n",
+ "Principal Stresses are:sigma1 101.31 N/mm**2\n",
+ " :sigma2 -1.31 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No.7.23,Page No.313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Strains\n",
+ "e_A=600 #microns\n",
+ "e_B=-450 #microns\n",
+ "e_C=100 #micron\n",
+ "E=2*10**5 #N/mm**2 #Modulus of Elasticity\n",
+ "mu=0.3 #Poissoin's ratio\n",
+ "theta=240\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "e_x=e_A=600\n",
+ "\n",
+ "#e_A=(e_x+e_y)*2**-1+(e_x-e_y)*2**-1*cos(theta)+rho_x_y*2**-1*sin(theta)\n",
+ "#After sub values and further simplifying we get\n",
+ "#-450=(e_x+e_y)*2**-1-(e_x-e_y)*2**-1*(0.5)-0.866*2**-1*rho_x_y .....................(1)\n",
+ "\n",
+ "#e_C=(e_x+e_y)*2**-1+(e_x-e_y)*2**-1*cos(2*theta)+rho_x_y*2**-1*sin(2*theta)\n",
+ "#After sub values and further simplifying we get\n",
+ "#100=(e_x+e_y)*2**-1-0.5*(e_x-e_y)*2**-1*(0.5)-0.866*2**-1*rho_x_y .....................(2)\n",
+ "\n",
+ "#Adding Equation 1 and 2 we get equations as\n",
+ "#-350=e_x+e_y-(e_x-e_y)*2**-1 ...............(3)\n",
+ "#Further simplifying we get\n",
+ "\n",
+ "e_y=(-700-e_x)*3**-1 #micron \n",
+ "\n",
+ "rho_x_y=(e_C-(e_x+e_y)*2**-1-(e_x-e_y)*2**-1*cos(2*theta*pi*180**-1))*(sin(2*theta*pi*180**-1))**-1*2 #micron\n",
+ "\n",
+ "#Principal strains\n",
+ "e1=(e_x+e_y)*2**-1-(((e_x-e_y)*2**-1)**2+(rho_x_y*2**-1)**2)**0.5 #microns\n",
+ "e2=(e_x+e_y)*2**-1+(((e_x-e_y)*2**-1)**2+(rho_x_y*2**-1)**2)**0.5 #microns\n",
+ "\n",
+ "#Principal Stresses\n",
+ "sigma1=E*(e1+mu*e2)*(1-mu**2)**-1*10**-6 #N/mm**2\n",
+ "sigma2=E*(e2+mu*e1)*(1-mu**2)**-1*10**-6 #N/mm**2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Principal Stresses are:sigma1\",round(sigma1,2),\"N/mm**2\"\n",
+ "print\" :sigma2\",round(sigma2,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal Stresses are:sigma1 -69.49 N/mm**2\n",
+ " :sigma2 117.11 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.8_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.8_5.ipynb
new file mode 100644
index 00000000..08f57912
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.8_5.ipynb
@@ -0,0 +1,1527 @@
+{
+ "metadata": {
+ "name": "chapter no.8.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter No.8:Thin And Thick Cyclinders And Spheres"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.1,Page No.322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=3000 #mm #Length\n",
+ "d1=1000 #mm #Internal diameter\n",
+ "t=15 #mm #Thickness\n",
+ "P=1.5 #N/mm**2 #Fluid Pressure\n",
+ "E=2*10**5 #n/mm**2 #Modulus of elasticity\n",
+ "mu=0.3 #Poissoin's ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Hoop stress\n",
+ "f1=P*d1*(2*t)**-1 #N/mm**2\n",
+ "\n",
+ "#Longitudinal Stress\n",
+ "f2=P*d1*(4*t)**-1 #N/mm**2\n",
+ "\n",
+ "#Max shear stress\n",
+ "q_max=(f1-f2)*2**-1 #N/mm**2\n",
+ "\n",
+ "#Diametrical Strain\n",
+ "#Let e1=dell_d*d**-1 .....................(1)\n",
+ "e1=(f1-mu*f2)*E**-1 \n",
+ "\n",
+ "#Sub values in equation 1 and further simplifying we get\n",
+ "dell_d=e1*d1 #mm\n",
+ "\n",
+ "#Longitudinal strain\n",
+ "#e2=dell_L*L**-1 ......................(2)\n",
+ "e2=(f2-mu*f1)*E**-1 \n",
+ "\n",
+ "#Sub values in equation 2 and further simplifying we get\n",
+ "dell_L=e2*L #mm\n",
+ "\n",
+ "#Change in Volume \n",
+ "#Let Z=dell_V*V**-1 ................(3)\n",
+ "Z=2*e1+e2\n",
+ "\n",
+ "#Sub values in equation 3 and further simplifying we get\n",
+ "dell_V=Z*pi*4**-1*d1**2*L\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Intensity of shear stress\",round(q_max,2),\"N/mm**2\"\n",
+ "print\"Change in the Dimensions of the shell is:dell_d\",round(dell_d,2),\"mm\"\n",
+ "print\" :dell_L\",round(dell_L,2),\"mm\"\n",
+ "print\" :dell_V\",round(dell_V,2),\"mm**3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Intensity of shear stress 12.5 N/mm**2\n",
+ "Change in the Dimensions of the shell is:dell_d 0.21 mm\n",
+ " :dell_L 0.15 mm\n",
+ " :dell_V 1119192.38 mm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.2,Page No.323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=2000 #mm #Length\n",
+ "d=200 #mm # diameter\n",
+ "t=10 #mm #Thickness\n",
+ "dell_V=25000 #mm**3 #Additional volume\n",
+ "E=2*10**5 #n/mm**2 #Modulus of elasticity\n",
+ "mu=0.3 #Poissoin's ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let p be the pressure developed\n",
+ "\n",
+ "#Circumferential Stress\n",
+ "\n",
+ "#f1=p*d*(2*t)**-1 #N/mm**2\n",
+ "#After sub values and further simplifying\n",
+ "#f1=10*p\n",
+ "\n",
+ "#f1=p*d*(4*t)**-1 #N/mm**2\n",
+ "#After sub values and further simplifying\n",
+ "#f1=5*p\n",
+ "\n",
+ "#Diameterical strain = Circumferential stress\n",
+ "#Let X=dell_d*d**-1 ................................(1)\n",
+ "#X=e1=(f1-mu*f2)*E**-1 \n",
+ "#After sub values and further simplifying\n",
+ "#e1=8.5*p*E**-1\n",
+ "\n",
+ "#Longitudinal strain\n",
+ "#Let Y=dell_L*L**-1 ......................................(2)\n",
+ "#Y=e2=(f2-mu*f1)*E**-1 \n",
+ "#After sub values and further simplifying\n",
+ "#e2=2*p*E**-1\n",
+ "\n",
+ "#Volumetric strain\n",
+ "#Let X=dell_V*V**-1 \n",
+ "#X=2*e1+e2\n",
+ "#After sub values and further simplifying\n",
+ "#X=19*p*E**-1\n",
+ "#After further simplifying we get\n",
+ "p=dell_V*(pi*4**-1*d**2*L)**-1*E*19**-1 #N/mm**2\n",
+ "\n",
+ "#Hoop Stress\n",
+ "f1=p*d*(2*t)**-1\n",
+ "\n",
+ "X=e1=8.5*p*E**-1\n",
+ "#Sub value of X in equation 1 we get\n",
+ "dell_d=8.5*p*E**-1*d\n",
+ "\n",
+ "Y=e2=2*p*E**-1\n",
+ "#Sub value of Y in equation 2 we get\n",
+ "dell_L=2*p*E**-1*L\n",
+ "\n",
+ "#Result\n",
+ "print\"Pressure Developed is\",round(p,2),\"N/mm**2\"\n",
+ "print\"Hoop stress Developed is\",round(f1,2),\"N/mm**2\"\n",
+ "print\"Change in diameter is\",round(dell_d,2),\"mm\"\n",
+ "print\"Change in Length is\",round(dell_L,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pressure Developed is 4.19 N/mm**2\n",
+ "Hoop stress Developed is 41.88 N/mm**2\n",
+ "Change in diameter is 0.04 mm\n",
+ "Change in Length is 0.08 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.3,Page No.324"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=750 #mm #Diameter of water supply pipes\n",
+ "h=50*10**3 #mm #Water head\n",
+ "sigma=20 #N/mm**2 #Permissible stress\n",
+ "rho=9810*10**-9 #N/mm**3\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Pressure of water\n",
+ "P=rho*h #N/mm**2\n",
+ "\n",
+ "#Stress\n",
+ "#sigma=p*d*(2*t)**-1\n",
+ "#After further simplifying\n",
+ "t=P*d*(2*sigma)**-1 #mm \n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of seamless pipe is\",round(t,3),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thickness of seamless pipe is 9.197 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.4,Page No.326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=2500 #mm #Diameter of riveted boiler\n",
+ "P=1 #N/mm**2 #Pressure\n",
+ "rho1=0.7 #Percent efficiency\n",
+ "rho2=0.4 #Circumferential joints\n",
+ "sigma=150 #N/mm**2 #Permissible stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Equating Bursting force to longitudinal joint strength ,we get\n",
+ "#p*d*L=rho1*2*t*L*sigma\n",
+ "#After rearranging and further simplifying we get\n",
+ "t=P*d*(2*sigma*rho1)**-1 #mm\n",
+ "\n",
+ "#Considering Longitudinal force\n",
+ "#pi*d**2*4**-1*P=rho2*pi*d*t*sigma\n",
+ "#After rearranging and further simplifying we get\n",
+ "t2=P*d*(4*sigma*rho2)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness of plate required is\",round(t,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thickness of plate required is 11.9 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.5,Page No.326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Boiler Dimensions\n",
+ "t=16 #mm #Thickness\n",
+ "p=2 #N/mm**2 #internal pressure\n",
+ "f=150 #N/mm**2 #Permissible stress\n",
+ "rho1=0.75 #Longitudinal joints\n",
+ "rho2=0.45 #circumferential joints\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Equating Bursting force to longitudinal joint strength ,we get\n",
+ "d1=rho1*2*t*f*p**-1 #mm\n",
+ "\n",
+ "#Considering circumferential strength \n",
+ "d2=4*rho2*t*f*p**-1 #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Largest diameter of Boiler is\",round(d1,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Largest diameter of Boiler is 1800.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.6,Page No.329"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=250 #mm #Diameter iron pipe\n",
+ "t=10 #mm #Thickness\n",
+ "d2=6 #mm #Diameter of steel\n",
+ "p=80 #N/mm**2 #stress\n",
+ "P=3 #N/mm**2 #Pressure\n",
+ "E_c=1*10**5 #N/mm**2\n",
+ "mu=0.3 #poissoin's ratio\n",
+ "E_s=2*10**5 #N/mm**2\n",
+ "n=1 #No.of wires\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "L=6 #mm #Length of cyclinder\n",
+ "\n",
+ "#Force Exerted by steel wire at diameterical section\n",
+ "F=p*2*pi*d2**2*1*4**-1 #N\n",
+ "\n",
+ "#Initial stress in cyclinder\n",
+ "f_c=F*(2*t*d2)**-1 #N/mm**2\n",
+ "\n",
+ "#LEt due to fluid pressure alone stresses developed in steel wire be F_w and in cyclinder f1 and f2\n",
+ "f2=P*d*(4*t)**-1 #N/mm**2\n",
+ "\n",
+ "#Considering the equilibrium of half the cyclinder, 6mm long we get\n",
+ "#F_w*2*pi*4**-1*d2**2*n+f1*2*t*d2=P*d*d2\n",
+ "#After further simplifying we get\n",
+ "#F_w+2.122*f1=79.58 . ......................................(1)\n",
+ "\n",
+ "#Equating strain in wire to circumferential strain in cyclinder \n",
+ "#F_w=(f1-mu*f2)*E_s*E_c**-1 #N/mm**2\n",
+ "#After further simplifying we get\n",
+ "#F_w=2*f1-11.25 ....................................(2)\n",
+ "\n",
+ "#Sub in equation in1 we get\n",
+ "f1=(79.58+11.25)*(4.122)**-1 #N/mm**2\n",
+ "F_w=2*f1-11.25 #N/mm**2\n",
+ "\n",
+ "#Final stresses\n",
+ "#1) In steel Wire\n",
+ "sigma=F_w+p #N/mm**2\n",
+ "\n",
+ "#2) In Cyclinder\n",
+ "sigma2=f1-f_c\n",
+ "\n",
+ "#Result\n",
+ "print\"Final Stresses developed in:cyclinder is\",round(sigma,2),\"N/mm**2\"\n",
+ "print\" :Steel is\",round(sigma2,2),\"N/mm**2\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Final Stresses developed in:cyclinder is 112.82 N/mm**2\n",
+ " :Steel is -15.66 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.7,Page No.332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=750 #mm #Diameter of shell\n",
+ "t=8 #mm #THickness\n",
+ "p=2.5 #N/mm**2\n",
+ "E=2*10**5 #N/mm**2\n",
+ "mu=0.25 #Poissoin's ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Hoop stress\n",
+ "f1=f2=p*d*(4*t)**-1 #N/mm**2\n",
+ "\n",
+ "#Change in Diameter\n",
+ "dell_d=d*p*d*(1-mu)*(4*t*E)**-1 #mm\n",
+ "\n",
+ "#Change in Volume\n",
+ "dell_V=3*p*d*(1-mu)*(4*t*E)**-1*pi*6**-1*d**3\n",
+ "\n",
+ "#Answer for Change in diameter is incorrect in book\n",
+ "\n",
+ "#Result\n",
+ "print\"Stress introduced is\",round(f1,2),\"N/mm**2\"\n",
+ "print\"Change in Diameter is\",round(dell_d,2),\"N/mm**2\"\n",
+ "print\"Change in Volume is\",round(dell_V,2),\"mm**3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stress introduced is 58.59 N/mm**2\n",
+ "Change in Diameter is 0.16 N/mm**2\n",
+ "Change in Volume is 145608.33 mm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.8,Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=600 #mm #Diameter of sherical shell\n",
+ "t=10 #mm #Thickness\n",
+ "f=80 #N/mm**2 #Permissible stress\n",
+ "rho=0.75 #Efficiency joint\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Max Pressure\n",
+ "p=f*4*t*rho*d**-1 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Pressure is\",round(p,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Pressure is 4.0 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.9,Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=1000 #mm #Length of shell\n",
+ "d=200 #mm #Diameter\n",
+ "t=6 #mm #Thickness\n",
+ "p=1.5 #N/mm**2 #Internal Pressure\n",
+ "E=2*10**5 #N/mm**2\n",
+ "mu=0.25 #Poissoin's Ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Change in Volume of sphere\n",
+ "dell_V_s=3*p*d*(1-mu)*(4*t*E)**-1*pi*6**-1*d**3\n",
+ "\n",
+ "#Hoop stress\n",
+ "f1=p*d*(2*t)**-1 #N/mm**2\n",
+ "\n",
+ "#Longitudinal stress\n",
+ "f2=p*d*(4*t)**-1 #N/mm**2\n",
+ "\n",
+ "#Principal strain\n",
+ "e1=(f1-mu*f2)*E**-1\n",
+ "e2=(f2-mu*f1)*E**-1\n",
+ "\n",
+ "V_c=1000 #mm**3\n",
+ "\n",
+ "#Change in Volume of cyclinder\n",
+ "dell_V_c=(2*e1+e2)*pi*4**-1*d**2*L\n",
+ "\n",
+ "#Total Change in Diameter\n",
+ "dell_V=dell_V_s+dell_V_c #mm**3\n",
+ "\n",
+ "#Result\n",
+ "print\"Change in Volume is\",round(dell_V,2),\"mm**3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in Volume is 8443.03 mm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.10,Page No.337"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=400 #mm #Internal Diameter\n",
+ "t=100 #mm #Thickness\n",
+ "p=80 #N/mm**2 #Fluid pressure\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Internal Radius\n",
+ "r1=d1*2**-1 #mm\n",
+ "\n",
+ "#Outer Radius\n",
+ "r_o=r1+t #mm\n",
+ "\n",
+ "p1=80 #N/mm**2\n",
+ "p2=0\n",
+ "\n",
+ "#Now From Lame's Euation\n",
+ "#p_x=b*(x**2)**-1-a\n",
+ "#at x=200 #mm \n",
+ "p_x=80 #N/mm**2\n",
+ "#80=b*(200**2)**-1-a ..........................(1)\n",
+ "\n",
+ "#at x=300 #mm\n",
+ "#p_x2=0\n",
+ "#0=b*(300**2)**-1-a ...........................(2)\n",
+ "\n",
+ "#Sub equation 2 from 1\n",
+ "#80=b*(200**2)**-1-b*(300**2)**-1\n",
+ "#After Further simplifying we get\n",
+ "b=(50000)**-1*(200**2*300**2*80)\n",
+ "\n",
+ "#From equation 2 we get\n",
+ "a=b*(300**2)**-1\n",
+ "\n",
+ "#Variation of radial pressure p_x;\n",
+ "#p_x=b*(x**2)**-1-a\n",
+ "#After sub values and further simplifying we get\n",
+ "\n",
+ "#Radial pressure Variation\n",
+ "#At \n",
+ "x=200 #mm\n",
+ "p_x=b*(x**2)**-1-a #N/mm**2\n",
+ "\n",
+ "#At\n",
+ "x2=250 #mm\n",
+ "p_x2=b*(x2**2)**-1-a #N/mm**2\n",
+ "\n",
+ "#At \n",
+ "x3=300 #mm\n",
+ "p_x3=b*(x3**2)**-1-a #N/mm**2\n",
+ "\n",
+ "\n",
+ "#Hoop stress Distribution\n",
+ "#Variation of F_x\n",
+ "\n",
+ "#At \n",
+ "x=200 #mm\n",
+ "F_x=b*(x**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#At\n",
+ "x2=250 #mm\n",
+ "F_x2=b*(x2**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#At\n",
+ "x3=300 #mm\n",
+ "F_x3=b*(x3**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Hoop stress is\",round(F_x,2),\"N/mm**2\"\n",
+ "print\"Min Hoop stress is\",round(F_x3,2),\"N/mm**2\"\n",
+ "print\"Plot of Hoop stress\"\n",
+ "\n",
+ "#Plotting Variation of hoop stress\n",
+ "\n",
+ "X1=[x,x2,x3]\n",
+ "Y1=[p_x,p_x2,p_x3]\n",
+ "Y2=[-F_x,-F_x2,-F_x3]\n",
+ "Z1=[0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Y2,X1,Z1)\n",
+ "plt.xlabel(\"Length x in mm\")\n",
+ "plt.ylabel(\"Radial Stress Distribution & Hoop Stress Distribution in N/mm**2\")\n",
+ "plt.show()\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Hoop stress is 208.0 N/mm**2\n",
+ "Min Hoop stress is 128.0 N/mm**2\n",
+ "Plot of Hoop stress\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAFRCAYAAABe/ivgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlU1PX+P/DnsAkICKKyDBoIKqBsMwouecXUcslyKUsz\nzLJb9i1L/aktt7TN7WY39F6qW3nt3pOV5pq55YJpLhhgmJjKlqyKogIC4sD798fER0YYBmb4DAM8\nH+fMYeY9y/s1n9udl+9dIYQQICIiMpJVSwdAREStGxMJERGZhImEiIhMwkRCREQmYSIhIiKTMJEQ\nEZFJmEiIiMgkehOJRqPBJ598gr/97W/4+eefdZ577733ZA+MiIhaB72J5LnnnsNPP/0Ed3d3zJkz\nB/PmzZOe27Rpk1mCIyIiy6c3kSQkJGD9+vWYO3cujh8/jpKSEkyaNAkVFRXmjI+IiCyc3kRy+/Zt\n6b6trS0+++wzhIWFYcSIESgtLTVLcEREZPn0JhK1Wo1du3bplC1evBgzZ85EVlaW3HEREVEroeCm\njUREZIoGp/++8cYbAIA333zTLMEQEVHr02AiiYyMxP/93/+hf//+5oqHiIhaGRt9T7z99tsoKirC\n119/DRsbG5w6dQqLFy82Z2xERNQK6G2R1CSNo0ePQqFQMIkQEVG9GhxsP3XqFMLDw/Hrr78iLCzM\nnHEREVErobdFIoTAxo0bAQDfffed2QIiIqLWRW8iUSgUHGwnIiKDONhOREQm4WA7ERGZhIPtRERk\nEoNbpGg0Gvzwww/IysqCRqPRvkmh0NlWnoiI2i+9YyQ1xo8fDwcHB4SEhMDKigcqEhGRLoOJJDc3\nFykpKeaIhYiIWiGDTYz7778fe/bsMUcsRETUChlskQwePBgTJ05EdXU1bG1tAWjHSIqLi2UPjoiI\nLJ/BwXZfX19s374d/fr14xgJERHVYTAz9OjRA3379mUSISKiehns2vLz88Pw4cMxZswY2NnZAeD0\nXyIiuqNRicTPzw+VlZWorKyEEAIKhcIcsRERUSvAM9uJiMgkBlskJ0+exNKlS+usbOfaEiIiAhrR\nIunduzc++OCDOrO2fH195Y6NiIhaAYMtkq5du+Khhx4yRyxERNQKGWyR7N27F99++y1GjhypM2tr\n0qRJZgmQiIgsm8EWyZdffolz585Bo9HodG0xkRAREdCIFkmfPn3w+++/c8ovERHVy+By9cGDByM1\nNdUcsRARUStksEUSGBiI9PR0+Pn5oUOHDto3cfovERH9yWAiycrKqrec03+JiAhoYLBdrVbj3nvv\nxZgxYxAdHQ17e3tzxkVERK2E3hbJ7du3ceTIEezevRvx8fHo3LkzRo8ejTFjxqB3797mjpOIiCxU\no/fays3Nxe7du7Fnzx6kpaVh4MCBiIuLkzs+IiKycEZt2lhVVYXjx49jyJAhcsREREStiN4xkpkz\nZ9ZbXrOeZO3atfJERERErYreRDJu3DgoFAqd80eys7Px4YcfoqqqymwBEhGRZWtU11Z6ejqWLVuG\nn376CXPnzsUzzzwj7btFRETtW4Mr28+ePYvp06dj/PjxGDJkCFJTUzF79mwmESIikuhtkTzyyCNI\nSkrC/Pnz8eijj8La2lpnv63OnTubLUgiIrJcehNJzcr1+jZrVCgUyMjIMLnyp59+Gj/88AO6deuG\n06dPAwCKiorw2GOP4Y8//oCvry82bNgAV1dXAMCyZcuwdu1aWFtbY/Xq1bj//vtNjoGIiEzTome2\nHz58GE5OToiJiZESycKFC9GlSxcsXLgQK1aswLVr17B8+XKkpqZi2rRpOHnyJHJzczFy5EicP39e\nZ2t7IiIyvxb9FR46dCjc3Nx0yrZv344ZM2YAAGbMmIGtW7cCALZt24apU6fC1tYWvr6+CAgIQEJC\ngtljJiIiXRb3z/lLly7Bw8MDAODh4YFLly4BAPLy8uDj4yO9zsfHB7m5uS0SIxER3WFxiaQ2hULR\n4IFaPGyLiKjlGTxqF9BuiXLp0iVoNBqprEePHrIE5OHhgYKCAnh6eiI/Px/dunUDACiVSmRnZ0uv\ny8nJgVKprPP+gIAApKenyxIbEVFb5e/vj7S0NKPea7BFsmbNGnh4eGDkyJEYN26cdJPLQw89hC+/\n/BKA9rz4CRMmSOXffPMNKisrkZmZiQsXLiAyMrLO+9PT0yGE4E0ILF68uMVjsJQbrwWvBa9FwzdT\n/gFusEXy0Ucf4dy5c3B3dze6En2mTp2KQ4cO4cqVK+jevTveeecdvPrqq5gyZQq++OILafovAAQH\nB2PKlCkIDg6GjY0N4uLi2LVFRGQBDCaSHj16wMXFRZbKv/7663rL9+3bV2/566+/jtdff12WWIiI\nyDgGE4mfnx+GDx+OcePGSVujKBQKzJs3T/bgyDTR0dEtHYLF4LW4g9fiDl6L5mFwQeKSJUu0L/yz\nG0kI7W7Aixcvlj04Y9TsWExERI1nym9ni65slwMTCRFR05ny26m3a+vll19GbGwsxo8fX2+F27dv\nN6pCIiJqW/QmkpiYGADA/Pnz6zzH2VJERFSDXVtERGTSb6dFb5FCRESWj4mEiIhM0iYTyaJFwIYN\nQFoawF4uIiJ5GVyQeO7cOXzwwQfIysqSNm1UKBQ4cOCA7MEZy8kJ+Ppr4P/9P6C4GIiIANRq7U2l\nAnr1AngeFhFR8zA42B4aGorZs2dDpVLB2tpa+yaFAmq12iwBNtXdA0aFhUBSkvaWmKi9Xb0KhIff\nSSxqNdCnD/Dn1yMiandkXZCoVquRmJho1Ie3hMZcjKIi3eSSlATk5wNhYXcSi1oNBAUBNo3aaJ+I\nqHWTNZEsWbIEXbt2xaRJk9ChQwepvHPnzkZVKDdjL8b160Bysm5yyc4GQkLuJBeVCujbF/hzyzEi\nojZD1kTi6+tbZwGiQqFARkaGURXKrTnXkZSUAKdO3UksiYlAZqY2mdROLiEhQK0cS0TU6nCvrVrk\nXpB48ybw66+6ySUtTTvGUnvMJTQUcHCQLQwiomYlayKprKzExx9/jJ9++gkKhQLDhg3D888/D1tb\nW6MqlFtLrGwvLwdSUnS7xX7/HQgI0E0uYWFAx45mDY2IqFFkTSTPPPMMNBoNZsyYASEE/ve//8HG\nxgaff/65URXKzVK2SLl1Czh9Wje5nDkD+PnpDuiHhwPOzi0dLRG1d7ImktDQUKSkpBgssxSWkkjq\nU1kJpKbemYaclKRNNt276465qFRAp04tHS0RtSeybCMvvcDGBmlpaQgICAAApKenw4ZzYo1iZ6dt\ngYSHA888oy3TaICzZ+8kls2btWMwnp663WIqFWChE+WIqJ0z2CLZv38/Zs6cCT8/PwBAVlYW/vOf\n/+C+++4zS4BNZcktksaqqgLOndNdRHnqFODuXje5dO3a0tESUVsg+6ytiooKnDt3DgqFAn369NFZ\nT2Jp2kIiqU91NXDhgu6YS1IS4OJSN7l4erZ0tETU2siSSPbv348RI0Zg06ZNOhXUrCmZNGmSkeHK\nq60mkvpUV2vXtdQec0lM1E47rp1Y1GrA2xvgeWREpI8sYyQ//fQTRowYge+//77eExEtNZG0J1ZW\ngL+/9jZlirZMCOCPP+4klrg47X1r67rJpXt3JhciMp3Brq2MjAz07NnTYFlz8/X1hYuLC6ytrWFr\na4uEhAQUFRXhsccewx9//AFfX19s2LABrq6uOu9rTy2SxhICyMnRbbUkJmrHYmpmidVMR/b1ZXIh\nao9kHSNRqVRISkrSKTPHRo5+fn5ITEzU2dNr4cKF6NKlCxYuXIgVK1bg2rVrWL58uc77mEgaLy9P\nd8wlMREoK9NNLiqVtsXDbfeJ2jZZurbOnj2L1NRUXL9+HZs3b4YQAgqFAsXFxaioqDA62Ka4+0tt\n374dhw4dAgDMmDED0dHRdRIJNZ63t/b24IN3yi5dupNUvv0WWLgQuHFDe6ZL7eTSuzeTCxFp6W2R\nbNu2DVu2bMH333+Phx56SCp3dnbG448/jsGDB8saWM+ePdGpUydYW1vjueeew7PPPgs3Nzdcu3YN\ngDbJdO7cWXpcgy2S5nflSt0zXQoL657pEhjIM12IWitZu7aOHTuGQYMGGfXhpsjPz4eXlxcKCwsx\natQorFmzBg899JBO4ujcuTOKiop03sdEYh7XrtU90yUvT7tZZe3kEhQEWOi2bERUi6wr2//973/j\n3//+t05lALB27VqjKmwsLy8vAEDXrl0xceJEJCQkwMPDAwUFBfD09ER+fj66detW73uXLFki3Y+O\njkZ0dLSssbZHbm7AiBHaW40bN+5su79vH7ByJXDxItCvn263WL9+PNOFqKXFx8cjPj6+WT7LYIvk\nu+++k5JHeXk5tmzZAm9vb6xZs6ZZAqhPWVkZqqqq4OzsjJs3b+L+++/H4sWLsW/fPri7u2PRokVY\nvnw5rl+/zsF2C1dSUnfb/YwMIDi47pku9vYtHS1R+2XW80iqq6sxZMgQHDt2zKgKGyMzMxMTJ04E\nAGg0GjzxxBN47bXXUFRUhClTpuDixYuc/tuKlZXVTS4XLmgH8GumIatU2m33eaYLkXmYNZH8/vvv\nePDBB5GWlmZUhXJjImmdKirqnuly9qx26nHtMZfwcJ7pQiQHWROJk5OT1LWlUCjg4eGB5cuXY/Lk\nyUZVKDcmkrbj1i3gt9/qnulyzz11k4uLS0tHS9S68ajdWphI2rbbt++c6VKTYFJSAB+fume63NXr\nSUQNkDWRCCGwefNmHDlyBFZWVrj33nul8QtLxETS/mg02qONayeXX38FPDzqJhd395aOlsgyyZpI\nZs+ejfT0dEydOhVCCHz77bfw9/dHXFycURXKjYmEAO0+YufP6y6iTE7WHg5Wu1tMreaZLkSAzIkk\nMDAQqampsPpzP4zq6moEBwfj999/N6pCuTGRkD7V1UBaWt0zXZyc6p7p8ucyJqJ2Q9YFiQEBAdJ0\nWwC4ePGidOwuUWtiZaWdYty7N/D449oyIe6c6ZKUBMTGau936KDbalGpAKWSOyMT1Udvi2T8+PEA\ngOLiYiQkJCAyMhIKhQIJCQkYMGCAtHmipWGLhEwlhHZF/t3b7isUdc906dGDyYXaBlm6thpaOq9Q\nKDBs2DCjKpQbEwnJQQggN1c3uSQlAZWVdZOLnx+TC7U+nP5bCxMJmVN+ft0zXUpL657pEhDAbffJ\nssmSSIYMGYKff/5ZZ0Fi7QqLi4uNqlBuTCTU0i5frptcrl0D+vbVHm+sVGrXvdT+6+3NjSypZbFF\nUgsTCVmiq1e1Cylzc7XHHt/9t6BAu6NyfUmm9l9n55b+JtRWyZZINBoN+vXrZ7FTfevDREKtUVWV\ntiVTX6KpuZ+Toz047O4Ec3ey6dKF3WjUdLJN/7WxsUGfPn3wxx9/4J577jGqAiIyzNpau3bFywvo\n37/+1wihPfPl7mRz6hSwY8edxyUl2q6yhlo3Xl7sSqPmY7Bra+jQoUhOTkZkZCQ6/rntqkKhwPbt\n280SYFOxRULtXXm59rTK2q2Zu/9euqRd5W+oK83JqaW/DZmLrGMkhw4dqvPhnP5L1LpVVWmTSX1d\naLX/2tg0riuN051bP1kTycKFC7Fy5UqdskWLFmHFihVGVSg3JhKi5iEEcP26/lZNTfIpLdXflVZz\n38sLsLVt6W9EDZE1kURERCA5OVmnLCQkBKdPnzaqQrkxkRCZV01Xmr5kk5OjnUjg7t5wV5pSya60\nliTLYPvHH3+MuLg4pKenIyQkRCovKSnBkCFDjKqMiNoeBwftSZb+/vpfo9Hc6UqrnWTOnNF9bGen\nvwut5q+7O7vSLI3eFsmNGzdw7do1vPrqq1ixYoWUqVxcXNC5c2ezBtkUbJEQtU5CaBduNjQFOjcX\nuHlTf6Kp3ZVmY3BLWqpN1q6ttLQ0+Pj4wN7eHgcPHsTp06cRExMDVws9fo6JhKhtKysz3JVWWKid\nBGCoK+3PiagEmRNJeHg4fvnlF2RlZWHs2LF4+OGHcebMGezcudOoCuXGREJENV1pDSWb3FzA3t5w\nV1rnzu2jK80sg+0rV66Eg4MDXnrppXoH4C0FEwkRNYYQQFGR4SnQ5eWGu9I8PVt/V5qsB1vZ2dlh\n/fr1+O9//4vvv/8eAHD79m2jKiMishQKhXbg3t0dCA3V/7qysroJ5sIF4ODBO8mnsFB7ZLOhrjRH\nR/N9P3My2CI5c+YMPvnkEwwePBhTp05FRkYGNmzYgFdffdVcMerYvXs3XnnlFVRVVWHWrFlYtGiR\nzvNskRCRuWk02o03G+pKy8vTznAztJuAm1vLdKW1m91/q6qq0KdPH+zbtw9KpRIDBgzA119/jaCg\nIOk1TCREZImE0O4Cbagr7datul1pdycbT0/t/mzNSZaurUcffRQbN27UWUNSu8KUlBSjKjRFQkIC\nAgICpPPjH3/8cWzbtk0nkRARWSKFQjuTrEsXICxM/+tu3qybYM6fBw4cuJN8rlwBunUz3JXm4GCe\n76Y3kcTGxgKANC5iCXJzc9G9e3fpsY+PD06cONGCERERNa+OHYHevbU3fW7frr8rLTlZtyutY0fD\nXWmurqZ3pelNJN7e3gAAV1dXXLhwAQDQu3dvdOrUybQaTXD3SY1ERO2Rra32tM1a/66uo6Yr7e5k\nc/So7uPKSm1CMYXeRHLr1i0899xz2Lp1K/z8/CCEQFZWFiZOnIhPP/0Udi1wmIFSqUR2drb0ODs7\nGz71XIEltRJO9J83IqL2RAGgy5+38Hqej//zBgC4ALxtSl36BtvffPNNZGRk4JNPPoHzn+d7lpSU\n4IUXXoCvry/effddE6o1jkajQZ8+fbB//354e3sjMjKSg+1ERM1Alllbffv2RUJCgnSYVY3S0lJE\nRUXhzJkzRlVoql27dknTf5955hm89tprOs8zkRARNZ0ss7asra3rJBEAcHJyglULHgg9ZswYjBkz\npsXqJyIiXQ2ubC8qKqpTJoTgoDcREUn0JpLi4mKo1WpzxkJERK1Qq1rZ3hgcIyEiajpTfjtbbrCD\niIjaBCYSIiIyCRMJERGZxGAiSUtLQ0VFBQDg4MGDWL16Na5fvy57YERE1DoYTCSTJ0+GjY0N0tLS\n8NxzzyE7OxvTpk0zR2xERNQKGEwkVlZWsLGxwebNm/HSSy/h73//O/Lz880RGxERtQIGE0nto3Yf\nfPBBCCF41C4REUkMJpK1a9fi+PHjeOONN+Dn54esrCw8+eST5oiNiIhagSYtSCwqKkJOTg5CQ0Pl\njMkkXJBIRNR0si5IHDZsGIqLi1FUVAS1Wo1Zs2Zh7ty5RlVGRERtj8FEcuPGDbi4uGDz5s2IiYlB\nQkIC9u3bZ47YiIioFTCYSKqqqpCfn48NGzZg3LhxAHjkLRER3WEwkbz11lt44IEH4O/vj8jISKSn\np6NXr17miI2IiFoB7v5LRETyDrafO3cOI0aMQN++fQEAKSkpeO+994yqjIiI2h6DieTZZ5/F0qVL\nYWdnBwAICQnB119/LXtgRETUOhhMJGVlZYiKipIeKxQK2NrayhoUERG1HgYTSdeuXZGWliY9/u67\n7+Dl5SVrUERE1HoYHGxPT0/HX//6Vxw7dgyurq7w8/PDV199BV9fXzOF2DQcbCciajpTfjttGnqy\nqqoKH3/8Mfbv34/S0lJUV1fDxcXFqIqIiKhtarBry9raGkeOHIEQAk5OTmZJIkuWLIGPjw8iIiIQ\nERGBXbt2Sc8tW7YMvXr1QmBgIPbu3St7LEREZFiDLRIACA8Px8MPP4xHH30Ujo6OALRNoEmTJskS\nkEKhwLx58zBv3jyd8tTUVHz77bdITU1Fbm4uRo4cifPnz8PKiqcFExG1JIOJpKKiAu7u7jhw4IBO\nuVyJBEC9/XTbtm3D1KlTYWtrC19fXwQEBCAhIQEDBw6ULQ4iIjLMYCKZNWsW7r33Xp2yI0eOyBYQ\nAKxZswb//e9/0b9/f6xatQqurq7Iy8vTSRo+Pj7Izc2VNQ4iIjLMYL/QnDlzGlXWFKNGjUJISEid\n2/bt2zF79mxkZmbi1KlT8PLywvz58/V+DjePJCJqeXpbJMeOHcPRo0dx+fJlfPjhh1J3U0lJCaqq\nqkyq9Mcff2zU62bNmoXx48cDAJRKJbKzs6XncnJyoFQq633fkiVLpPvR0dGIjo42OlYiorYoPj4e\n8fHxzfJZeteRHDp0CAcPHsSnn36K559/Xip3dnbG+PHjZdsBOD8/X1rw+I9//AMnT57E+vXrkZqa\nimnTpiEhIUEabE9LS6vTKuE6EiKipjPlt9PggsSsrCxp8WFRURFcXV1lnSkVExODU6dOQaFQwM/P\nD59++ik8PDwAAEuXLsXatWthY2OD2NhYPPDAA3Xez0RCRNR0siSSt99+G1OmTEFQUBBu3bqF0aNH\n49dff4WNjQ2++uorjBo1yqSg5cJEQkTUdLJsI//tt98iMDAQAPDll19CCIHCwkIcOnQIr7/+unGR\nEhFRm6M3kXTo0EEaf9i9ezcef/xxWFtbIygoCBqNxmwBEhGRZWswkZw+fRqFhYWIj4/H/fffLz1X\nVlZmluCIiMjy6Z3++9FHH+GRRx5BYWEh5s6di549ewIAfvjhB6hUKrMFSERElo1nthMRkbxnthMR\nETWEiYSIiEzCREJERCYxuPtveXk54uLicOTIESgUCgwdOhSzZ8+Gvb29OeIjIiILZ3Cw/dFHH4WL\niwumT58OIQTWr1+PGzduYOPGjeaKsUk42E5E1HSy7rUVHByM1NRUg2WWgomEiKjpZJ21pVKpcOzY\nMenx8ePHoVarjaqMiIjaHoMtksDAQJw/fx7du3eHQqHAxYsX0adPH9jY2EChUCAlJcVcsTYKWyRE\nRE0n+zbyNZUAdc9Tr9li3lIwkRARNZ2siQQATp06hcOHD0uztsLCwoyqzByYSIiImk7WMZLY2FhM\nnz4dhYWFuHTpEqZPn47Vq1cbVRkREbU9BlskISEhOH78ODp27AgAuHnzJgYOHIjTp0+bJcCmYouE\niKjpZN9rq/bRunIes0tERK2PwZXtM2fORFRUFCZNmgQhBLZu3Yqnn37aHLEREVEr0KjB9sTERPz8\n888AgKFDhyIiIkL2wIzFri0ioqYz5bfTYIsEAKytraXpv+zaIiKi2po0a+vy5cuctUVERDoMJpLP\nP/8cJ06cwDvvvIN3330Xx48fx2effWZSpRs3bkTfvn1hbW2NpKQkneeWLVuGXr16ITAwEHv37pXK\nExMTERISgl69euHll182qX4iImo+LTJrKyQkBFu2bMFf/vIXnfLU1FR8++23SE1Nxe7du/HCCy9I\nfXazZ8/GF198gQsXLuDChQvYvXu3yXEQEZHpWmTWVmBgYL3l27Ztw9SpU2FrawtfX18EBATgxIkT\nuOeee1BSUoLIyEgAQExMDLZu3YrRo0ebFAcREZnOYCKZN28ehg0bJh1stW7dOtlmbeXl5WHgwIHS\nYx8fH+Tm5sLW1hY+Pj5SuVKpRG5uriwxEBFR0+hNJEVFRdJ9Pz8/aXNGhUKBoqIidO7cucEPHjVq\nFAoKCuqUL126FOPHjzcyXCIisjR6E4lKpZKm/Obl5cHb21t6TqFQICMjo8EP/vHHH5scjFKpRHZ2\ntvQ4JycHPj4+UCqVyMnJ0SlXKpV6P2fJkiXS/ejoaERHRzc5FiKitiw+Ph7x8fHN82GiEcLDwxvz\nsiaLjo4Wv/zyi/T4zJkzIiwsTNy6dUtkZGSInj17iurqaiGEEJGRkeL48eOiurpajBkzRuzatave\nz2zkVyIiolpM+e1skdWFW7ZsQffu3XH8+HGMGzcOY8aMAaA9wnfKlCkIDg7GmDFjEBcXJ7WK4uLi\nMGvWLPTq1QsBAQEcaCcishCN2iIlIiICycnJ5ojHZNwihYio6WTZImXVqlXSBxcWFuLDDz+UKlEo\nFJg3b55x0RIRUZuiN5GUlJRI3UqzZs1CSUmJ2YIiIqLWo1FdW60Ju7aIiJpO9oOtiIiI9GEiISIi\nkzCREBGRSRqdSBYsWIDExEQIIfDKK6/IGRMREbUijU4kkZGRWLlyJUJDQ3Hjxg05YyIiolZEbyL5\n+OOPcfHiRenxgw8+iNLSUri4uKB3795mCY6IiCyf3kTyr3/9Cz169AAAXLt2DSNHjkRQUBAOHz6M\nzZs3my1AIiKybHoTiUajQWlpKbKysjB06FBERUXhgw8+gJWVFSoqKswZIxERWTC9K9vnz58Pf39/\naDQa+Pv7w9nZGVlZWdiwYQO7toiISNLgynaNRiP9fe2117B3715ERETgo48+QpcuXcwWZFNwZTsR\nUdOZ8tvJLVKIiNqpalGNwpuFyC3Jhdpb3fy7/xIRUetVWVWJ/JJ85BTnILckV/u3OBc5JX/+Lc5B\nfmk+XDq4QOms/8TZxmCLhIiolSm5VaKbHGoniz//Xiu/Bk8nTyhdlPBx8YHS+a6/Lkp4O3vD3sYe\nALu2dDCREFFrVS2qcaXsSr3JoXaZplqjNznUPO7WsRusrawbXbesiaSiogKbNm1CVlaWNPiuUCjw\n1ltvGVWh3JhIiMgS3a66jbySvDpJofbf/JJ8ONk53UkKztq/dyeKTh06SedFNRdZTkis8fDDD8PV\n1RVqtRr29vZGVUJE1JaVVpbWTQ53jUcUlRfBw8mjTitC5aWSHns7e8PB1qGlv06TGWyR9OvXD7/9\n9pu54jEZWyRE1FyEENqupgbGI3KLc1FZVVmna+nuLiePjh5N6moyN1lbJIMHD0ZKSgpCQ0ONqoCI\nyBLdrrqN/NJ8neRwdysiryQPHe061kkOg7sP1ilztXdt9q6m1sRgiyQoKAhpaWnw8/NDhw4dtG9S\nKJCSkmKWAJuKLRIiull5s95B6tp/r5ZdRbeO3RpsRSidla2yq8kYsg62Z2VlSZUAkCry9fU1qkK5\nMZEQtV1CCFwtv2pwPOJW1S2Ds5o8nDxgY8WldDVkn/576tQpHD58GAqFAkOHDkVYWJhRldXYuHEj\nlixZgt9//x0nT56ESqUCoE1aQUFBCAwMBAAMGjQIcXFxAIDExEQ89dRTqKiowNixYxEbG1v/F2Ii\nIWqVNNUdY9fjAAAd4UlEQVQa5Jfk1zseUVOWV5IHBxuHOrOa7k4WbvZu7bqryRiyjpHExsbis88+\nw6RJkyCEwPTp0/Hss89izpw5RlUIACEhIdiyZQuee+65Os8FBAQgOTm5Tvns2bPxxRdfIDIyEmPH\njsXu3bsxevRoo2MgIvO5WXmzTjfT3a2IK2VX0LVjVykp1CSGMM+wO2UuSjjaOrb016G7GEwkn3/+\nOU6cOIGOHTsCAF599VUMHDjQpERS0+JorPz8fJSUlCAyMhIAEBMTg61btzKRELUwIQSKyosMrrKu\n0FRIiaAmKfRy74Vo32ipFeHp5MmuplaqUf+rWVlZ1XtfDpmZmYiIiECnTp3w3nvv4d5770Vubi58\nfHyk1yiVSuTm5soaB1F7p6nWoKC0QG9yyC3WdjnZ29jXGY+IUkZhUtAk6XFnh87samrDDCaSmTNn\nIioqSura2rp1K55++mmDHzxq1CgUFBTUKV+6dCnGjx9f73u8vb2RnZ0NNzc3JCUlYcKECThz5kwj\nvgYRNUXZ7TIpEegbjyi8WYgujl10ZjD5uPggpFuITllHu44t/XWohRlMJPPmzcOwYcNw5MgRKBQK\nrFu3DhEREQY/+Mcff2xyMHZ2drCzswMAqFQq+Pv748KFC1AqlcjJyZFel5OTA6VS/26VS5Yske5H\nR0cjOjq6ybEQtUZCCFyruKbTYqhvVlPZ7TLdrTeclQjoHIBhvsOkx55OnrC1tm3pr0QyiY+PR3x8\nfLN8lt5ZW8XFxXBxcUFRURGAO9N+a5qnnTt3Nrny4cOH44MPPoBarQYAXLlyBW5ubrC2tkZGRgb+\n8pe/4LfffoOrqyuioqKwevVqREZGYty4cZgzZ069YySctUVtVVV1lbarycAqaztrO4Ozmtwd3NnV\nRDpkmf47btw4/PDDD/D19a33P7jMzEyjKgSALVu2YM6cObhy5Qo6deqEiIgI7Nq1C5s2bcLixYth\na2sLKysrvPPOOxg3bhyAO9N/y8vLMXbsWKxevbr+L8REQq1Q+e3yBhfP5Rbn4vLNy3B3dK8zHlE7\nUShdlHCyc2rpr0OtELeRr4WJhCyNEAI5xTlILUxFTnFOvYniZuVNeDt7N7jK2svJi11NJBtZE8mI\nESOwf/9+g2WWgomEWpIQAlnXs5CUn4TE/EQk5SchKT8JVgorhHiEoLtL93pXWXdx7MKuJmpRsixI\nLC8vR1lZGQoLC6VxEkA7dsKpt0TapJF+LV2bNPISkVSgTRr2NvZQe6mh8lLh/wb8H9Teang5eTFR\nUJulN5F8+umniI2NRV5enjQYDgDOzs548cUXzRIckaWoFtW4cPWC1NJIzE9Ecn4yXDq4QO2thtpL\njbkD50LlpYKnk2dLh0tkVga7ttasWYOXXnrJXPGYjF1bZKqq6iqcu3pO28r4M3GcKjiFLo5doPJS\nSa0NlZcKXTt2belwiZqFrGMkX375Zb1N8piYGKMqlBsTCTWFplqDs4Vnta2MP7unfi34FV7OXlLS\nUHupEeEVgc4Opk95J7JUsm7aePLkSSmRlJeX48CBA1CpVBabSIj0qayqxJnLZ3QGwk9fPo3uLt2h\n9lZD5anC5ODJCPcMh6u9a0uHS9RqNHn67/Xr1/HYY49hz549csVkErZICABuaW7h9OXTOgPhZy6f\ngZ+bn9Q1pfZSI9wzHM4dnFs6XKIWJ2uL5G6Ojo4mLUYkam7lt8uRcilFamUk5ifi3JVz6OXeS0oY\nM8JnIMwjjPtCEcnAYCKpvcFidXU1UlNTMWXKFFmDItLnZuVN/HrpV6mVkZiXiLSiNAR2CZSSxrOq\nZxHqEdpujkglamkGu7ZqNvVSKBSwsbFBjx490L17d3PEZhR2bbUdJbdKkFyQrDOmkXktE3279dXp\nnurXrR862HRo6XCJWjXZt0jJz89HQkICrKysMGDAAHh6Wu48eSaS1ulGxQ1pFXhN0sguzkZIt5A7\nScNbjeCuwbCztmvpcInaHFkTyeeff4533nkHw4cPB6Btobz11lt45plnjKpQbkwklq+ovEhnEDwx\nLxEFpQUI8wyTptuqvFQI6hrEE/OIzETWRNK7d28cO3YM7u7uAICrV69i0KBBOH/+vFEVyo2JxLIU\n3izUaWUk5ifiatlVRHhFQOWpbWWovFTo494H1lbWLR0uUbsl66ytLl26wMnpzrbUTk5O6NKli1GV\nUdtWUFogtTRqEkfxrWJpFfjkoMl4/7730cu9F6wU8h7ZTETmozeRrFq1CgAQEBCAqKgoTJgwAQCw\nbds2hIaGmic6skhCCOSV5Om0MpLyk1ChqZAGwKeFTMOq+1fBz82PSYOojdObSEpKSqBQKODv74+e\nPXtKq9sffvhh7mLajgghkF2crbPvVFJ+EqpElTSe8VTYU1gzZg3u6XQP/9sgaod4sBVJhBDIvJ5Z\nZ1t0a4W1tMNtzUC4j4sPkwZRGyLLYPvLL7+M2NhYnQWJtSvcvn27URXKjYmkcapFNdKL0uscwORo\n6yjtO1UzEO7t7N3S4RKRzGRJJImJiVCr1Th06FCdD1coFBg2bJhRFcqNiaSuquoqXCi6oNM9lVyQ\nDFd7V52FfSovFTycPFo6XCJqAbJN/9VoNIiJicH69euNDs7c2nsi0VRrcO7KOZ2B8FMFp9CtY7c6\nZ2l0ceTsOyLSkm36r42NDS5evIhbt26hQwduQWFpblfdxtkrZ3Wm26ZcSoG3s7eUNMb3Hg+Vlwpu\nDm4tHS4RtVEG15H4+fnh3nvvxUMPPQRHR0cA2sw1b9482YOjOyqrKvHb5d90BsJ/u/wbenTqIbUy\nHg1+FOGe4ehk36mlwyWidsRgIvH394e/vz+qq6tRWlpqjpjavQpNBU5fOq1zPvjZwrPo6dZTGgh/\nIvQJhHuGw8nOyfAHEhHJyGAiCQ4OrrNt/IYNG0yqdMGCBdixYwfs7Ozg7++P//znP+jUSfuv6GXL\nlmHt2rWwtrbG6tWrcf/99wPQDv4/9dRTqKiowNixYxEbG2tSDJai7HaZ9iyNWgPh56+eRy/3XtJ0\n25nhMxHmGQZHW8eWDpeIqA6D60giIiKQnJxssKwpfvzxR4wYMQJWVlZ49dVXAQDLly9Hamoqpk2b\nhpMnTyI3NxcjR47EhQsXoFAoEBkZiX/+85+IjIzE2LFjMWfOHIwePbruF7LgwfbSylL8WvCrzkB4\nelE6groG6Uy3DfUIhb2NfUuHS0TtiCyD7bt27cLOnTuRm5uLOXPmSBWUlJTA1tbWuEj/NGrUKOl+\nVFQUNm3aBEC7/crUqVNha2sLX19fBAQE4MSJE7jnnntQUlKCyMhIAEBMTAy2bt1abyKxFMW3ipGc\nr3uWxh83/kDfrn2h8lJhSPchmBM1B3279uVZGkTUqulNJN7e3lCr1di2bRvUarWUSFxcXPCPf/yj\n2QJYu3Ytpk6dCgDIy8vDwIEDped8fHyQm5sLW1tb+Pj4SOVKpRK5ubnNFoOprldcr3OWRk5xDkI9\nQqH2UuM+v/uwYPACBHcNhq21aUmYiMjS6E0kYWFhCAsLwxNPPCG1QIqKipCTkwM3N8NTSUeNGoWC\ngoI65UuXLpVWy7///vuws7PDtGnTjI3f7K6WXa2zLfrlm5cR5qE9S2O0/2i8MfQNBHYJ5FkaRNQu\nGPylGzVqFLZv3w6NRgO1Wo2uXbtiyJAhBlslP/74Y4PPr1u3Djt37sT+/fulMqVSiezsbOlxTk4O\nfHx8oFQqkZOTo1OuVCr1fvaSJUuk+9HR0YiOjm4wFn0u37xc5wCmaxXXEOEZAZWXCg/3eRhvR7+N\n3u69eZYGEbUq8fHx0lHqpjI42B4eHo5Tp07h888/R3Z2Nt5++22EhITg9OnTRle6e/duzJ8/H4cO\nHdI526RmsD0hIUEabE9LS4NCoUBUVBRWr16NyMhIjBs3rtkH2/NL8nWm2yblJ6G0slS7CrzWQHhA\n5wBui05EbY6sB1tVVVUhPz8fGzZswHvvvSdVaIqXXnoJlZWV0qD7oEGDEBcXJ001Dg4Oho2NDeLi\n4qS64uLi8NRTT6G8vBxjx441eqBdCIHcktw626LfqrolTbedHjId/3jgH/Bz9eMOt0REBhhskWzc\nuBHvvvsuhgwZgo8//hjp6elYuHChNNPK0tTOqkIIXLxxUdvKqNU9BUDaFr1mK5EenXowaRBRuyXr\nme2tjUKhwKIfF0mzqOys7XQ2K1R7q6F0VjJpEBHVIkvX1ooVK7Bo0SK89NJLdSpQKBRYvXq1URWa\ng6OtI16OehkqLxW8nL1aOhwiojZNbyIJDg4GAKjV6jrPWfq/5t8a9lZLh0BE1G60ya6tNvaViIhk\nZ8pvZ4PzWNetWweVSgVHR0c4Ojqif//++PLLL42qiIiI2ia9XVtffvklYmNj8eGHHyIiIgJCCCQn\nJ2PBggVQKBSIiYkxZ5xERGSh9HZtRUVF4ZtvvoGfn59OeVZWFh577DGcOHHCLAE2Fbu2iIiaTpau\nrZKSkjpJBAB8fX1RUlJiVGVERNT26E0k9vb6z8No6DkiImpf9HZtOTg4ICAgoN43paeno6ysTNbA\njMWuLSKippNlQeLZs2eNDoiIiNoPriMhIiL51pEQEREZwkRCREQmaVIiKSoqQkpKilyxEBFRK2Qw\nkQwbNgzFxcUoKiqCWq3GrFmzMHfuXHPERkRErYDBRHLjxg24uLhg8+bNiImJQUJCAvbt22eO2IiI\nqBUwmEhqH7U7btw4AJa/jTwREZmPwUTy1ltv4YEHHoC/vz8iIyORnp6OXr16mSM2IiJqBbiOhIiI\n5F1HsnDhQhQXF+P27dsYMWIEunTpgv/9739GVUZERG2PwUSyZ88euLi4YMeOHfD19UV6ejr+/ve/\nmyM2IiJqBQwmEo1GAwDYsWMHHnnkEXTq1ImD7UREJDGYSMaPH4/AwEAkJiZixIgRuHz5ssnbyC9Y\nsABBQUEICwvDpEmTcOPGDQDaQ7McHBwQERGBiIgIvPDCC9J7EhMTERISgl69euHll182qX4iImpG\nohGuXr0qNBqNEEKI0tJSkZ+f35i36bV3715RVVUlhBBi0aJFYtGiRUIIITIzM0W/fv3qfc+AAQPE\niRMnhBBCjBkzRuzatave1zXyK7ULBw8ebOkQLAavxR28FnfwWtxhym+nwRbJzZs38a9//QvPP/88\nACAvLw+//PKLSclr1KhRsLLSVh0VFYWcnJwGX5+fn4+SkhJERkYCAGJiYrB161aTYmgP4uPjWzoE\ni8FrcQevxR28Fs3DYCKZOXMm7OzscPToUQCAt7c33njjjWYLYO3atRg7dqz0ODMzExEREYiOjsaR\nI0cAALm5ufDx8ZFeo1QqkZub22wxEBGR8fQebFUjPT0dGzZswDfffAMA6NixY6M+eNSoUSgoKKhT\nvnTpUowfPx4A8P7778POzg7Tpk0DoE1S2dnZcHNzQ1JSEiZMmIAzZ840+ssQEVELMNT3NWjQIFFW\nVibCw8OFEEKkpaWJAQMGGN2XVuM///mPGDx4sCgvL9f7mujoaJGYmCjy8vJEYGCgVL5+/Xrx3HPP\n1fsef39/AYA33njjjbcm3Pz9/Y3+PTfYIlmyZAlGjx6NnJwcTJs2DT///DPWrVtn6G0N2r17N/7+\n97/j0KFDOjPArly5Ajc3N1hbWyMjIwMXLlxAz5494erqChcXF5w4cQKRkZH43//+hzlz5tT72Wlp\naSbFRkRETdPgFinV1dXYuHEjRowYgePHjwPQDo537drVpEp79eqFyspKdO7cGQAwaNAgxMXFYdOm\nTVi8eDFsbW1hZWWFd955R9ooMjExEU899RTKy8sxduxYrF692qQYiIioeRjca0utViMxMdFc8RAR\nUStjcNbWqFGj8MEHHyA7OxtFRUXSrSVkZ2dj+PDh6Nu3L/r16ye1SoqKijBq1Cj07t0b999/P65f\nvy69Z9myZejVqxcCAwOxd+/eFolbDvquhb7FnkD7uxY1Vq1aBSsrK53/btvjtVizZg2CgoLQr18/\nLFq0SCpvb9ciISEBkZGRiIiIwIABA3Dy5EnpPW31WlRUVCAqKgrh4eEIDg7Ga6+9BqAZfzsNDaLc\nc889wtfXt86tJeTn54vk5GQhhBAlJSWid+/eIjU1VSxYsECsWLFCCCHE8uXLpQWOZ86cEWFhYaKy\nslJkZmYKf39/aSFka6fvWuhb7Nker4UQQly8eFE88MADwtfXV1y9elUI0T6vxYEDB8TIkSNFZWWl\nEEKIy5cvCyHa57UYNmyY2L17txBCiJ07d4ro6GghRNu+FkIIcfPmTSGEELdv3xZRUVHi8OHDzfbb\nabBF8vvvvyMzM1PndvbsWdPSo5E8PT0RHh4OAHByckJQUBByc3Oxfft2zJgxAwAwY8YMabHitm3b\nMHXqVNja2sLX1xcBAQFISEhokdibW33XIi8vT+9iz/Z4LQBg3rx5WLlypc7r29u1yM3NxSeffILX\nXnsNtra2ACCNc7bHa+Hl5SW11K9fvw6lUgmgbV8LAHB0dAQAVFZWoqqqCm5ubs3222kwkQwePLhR\nZeaWlZWF5ORkREVF4dKlS/Dw8AAAeHh44NKlSwC0q/BrL2T08fFpkwsZa1+L2mov9myP12Lbtm3w\n8fFBaGiozmva47U4f/48fvrpJwwcOBDR0dHS7hTt7VoMHDgQy5cvx/z589GjRw8sWLAAy5YtA9D2\nr0V1dTXCw8Ph4eEhdfk112+n3um/+fn5yMvLQ1lZGZKSkiCEgEKhQHFxMcrKyprruxmltLQUkydP\nRmxsLJydnXWeUygUDe5O3NZ2Li4tLcUjjzyC2NhYODk5SeV3L/asT1u+FlZWVli6dCl+/PFH6XnR\nwLyStnwtnJ2dodFocO3aNRw/fhwnT57ElClTkJGRUe972/K1cHJywoQJE7B69WpMnDgRGzduxNNP\nP63z30ltbelaWFlZ4dSpU7hx4wYeeOABHDx4UOd5U3479SaSPXv2YN26dcjNzcX8+fOlcmdnZyxd\nurQp8Ter27dvY/LkyXjyyScxYcIEANpMWlBQAE9PT+Tn56Nbt24AtFupZGdnS+/NycmRmrFtQc21\nmD59unQtAGDdunXYuXMn9u/fL5W1t2tx+vRpZGVlISwsDID2+6rVapw4caLdXQtA+y/KSZMmAQAG\nDBgAKysrXLlypV1ei4SEBOzbtw8A8Mgjj2DWrFkA2v7/R2p06tQJ48aNQ2JiYvP9dhoaoNm4caPp\nozzNpLq6Wjz55JPilVde0SlfsGCBWL58uRBCiGXLltUZMLp165bIyMgQPXv2FNXV1WaPWw76rsWu\nXbtEcHCwKCws1Clvj9eitvoG29vTtfjkk0/EW2+9JYQQ4ty5c6J79+5CiPZ5LSIiIkR8fLwQQoh9\n+/aJ/v37CyHa9rUoLCwU165dE0IIUVZWJoYOHSr27dvXbL+dehPJtm3bRGZmpvR4yZIlIiQkRIwf\nP15kZGQ0x3drssOHDwuFQiHCwsJEeHi4CA8PF7t27RJXr14VI0aMEL169RKjRo2SLpgQQrz//vvC\n399f9OnTR5qp0RbUdy127twpAgICRI8ePaSy2bNnS+9pb9eiNj8/PymRCNG+rsWuXbtEZWWlmD59\nuujXr59QqVQ626e3p2uxc+dOcfLkSREZGSnCwsLEwIEDRVJSkvSetnotUlJSREREhAgLCxMhISFi\n5cqVQgjRbL+dehckhoSE4MSJE3B0dMSOHTswd+5cfPPNN0hOTsbGjRuxZ8+e5m1vERFRq6R31paV\nlZU0XWzz5s145plnoFarMWvWLFy+fNlsARIRkWXTm0iEECgpKUF1dTX279+PESNGSM9VVFSYJTgi\nIrJ8emdtvfLKK4iIiICzszOCgoIwYMAAAEBSUhK8vb3NFiAREVm2BjdtzMnJweXLlxEeHi6tls7P\nz8ft27fRo0cPswVJRESWy+Duv0RERA0xuEUKERFRQ5hIqE2qvV2MHD766COUl5c3e33ff/89VqxY\n0SyfRWQueru2DJ05UnO6IZElcnZ2RklJiWyf7+fnh19++QXu7u5mqY/IkumdtaVSqRrcpCszM1OW\ngIjkkp6ejhdffBGFhYVwdHTEZ599hj59+uCpp55Cp06d8Msvv6CgoAArV67E5MmTUV1djRdffBEH\nDx5E9+7dYWtri6effhp5eXnIy8vD8OHD0bVrV2lPs7/97W/YsWMHHBwcsG3bNmnfohqvvPIK3N3d\n8eabb2LPnj1YunQpDh06pPOadevWITExEWvWrNEbV21ZWVkYPXo0Bg0ahKNHj6J///6YMWMG3n77\nbRQWFuKrr77CgAEDsGTJEukYiIsXL+LDDz/E0aNHsXfvXiiVSnz//fewsdH7c0DUMDmW4xO1NCcn\npzpl9913n7hw4YIQQojjx4+L++67TwghxIwZM8SUKVOEEEKkpqaKgIAAIYR2n7mxY8cKIYQoKCgQ\nbm5uYtOmTUII3b27hBBCoVCIHTt2CCGEWLhwoXjvvffq1F9WVib69u0rDhw4IPr06VPvVkPr1q0T\nL774YoNx1ZaZmSlsbGzEb7/9Jqqrq4VarRZPP/20EEK7zdGECROEEEIsXrxYDB06VGg0GvHrr78K\nBwcHaduLiRMniq1btzZwNYka1qh/gly7dg0XLlzQWYj4l7/8RbbkRtTcSktLcezYMTz66KNSWWVl\nJQDt9tg1O8MGBQVJZzIcOXIEU6ZMAQDpDAd97OzsMG7cOACAWq2ud1tyBwcHfPbZZxg6dChiY2Ph\n5+fXYMz64rqbn58f+vbtCwDo27cvRo4cCQDo168fsrKypM8aM2YMrK2t0a9fP1RXV+OBBx4AoN0O\nqeZ1RMYwmEg+++wzrF69GtnZ2YiIiMDx48cxaNAgHDhwwBzxETWL6upquLq6Ijk5ud7n7ezspPvi\nz2FDhUKhc4aJaGCmfM3Jg4B2eyGNRlPv61JSUtC1a9dGH5hUX1x369Chg07dNe+5O47a5Y2Nl6gx\nDM7aio2NRUJCAnx9fXHw4EEkJyejU6dO5oiNqNm4uLjAz88P3333HQDtj3JKSkqD7xkyZAg2bdoE\nIQQuXbqkM57h7OyM4uLiJsXwxx9/4MMPP0RycjJ27dpV79GlDSUrU8j1uURAIxKJvb09HBwcAGj3\n2AoMDMS5c+dkD4zIFGVlZejevbt0++ijj/DVV1/hiy++QHh4OPr164ft27dLr689saTm/uTJk+Hj\n44Pg4GA8+eSTUKlU0j+i/vrXv2L06NHSHnR3v//uiSpCCMyaNQurVq2Cp6cnvvjiC8yaNUvqXtP3\nXn33736Pvsc19xv63IY+m6gxDK5snzhxItauXYvY2Fjs378fbm5u0Gg02Llzp7liJGoxN2/eRMeO\nHXH16lVERUXh6NGjdWZjEbV3TdoiJT4+HsXFxRg9erRO3y1RWzV8+HBcv34dlZWVWLRoEWJiYlo6\nJCKLozeRFBcXw8XFRe/CRC5IJCIioIFEMm7cOPzwww/w9fWtt/+UCxKJiAjg7r9ERGQivetIkpKS\nGnyjSqVq9mCIiKj10dsiiY6OhkKhQHl5ORITExEaGgpAu6Cqf//+OHbsmFkDJSIiy6R3HUl8fDwO\nHjwIb29vJCUlITExEYmJiUhOTuZRu0REJDE4RhIcHIzU1FSDZURE1D4Z3GsrNDQUs2bNwvTp0yGE\nwPr16xEWFmaO2IiIqBUw2CIpLy/Hxx9/jMOHDwPQ7vo7e/Zs2NvbmyVAIiKybJz+S0REJjHYtXX+\n/Hm8/vrrSE1Nlc6oVigUyMjIkD04IiKyfAZ3/505cyaef/552NjY4ODBg5gxYwaeeOIJc8RGRESt\ngMGuLZVKhaSkJISEhOD06dM6ZURERAa7tuzt7VFVVYWAgAD885//hLe3N27evGmO2IiIqBUw2CJJ\nSEhAUFAQrl+/jjfffBPFxcVYuHAhBg4caK4YiYjIgjV51pYQAhs2bMBjjz0mV0xERNSK6B1sLy0t\nxapVq/DCCy8gLi4O1dXV2LJlC/r27YuvvvrKnDESEZEF09simTRpElxcXDBo0CDs3bsX2dnZsLe3\nx+rVqxEeHm7uOImIyELpTSShoaFISUkBAFRVVcHLywt//PEHHBwczBogERFZNr1dW9bW1jr3lUol\nkwgREdWht0VibW0NR0dH6XF5ebmUSBQKBYqLi80TIRERWTTutUVERCYxuEUKERFRQ5hIiIjIJEwk\nRERkEiYSIiIyCRMJERGZhImEiIhM8v8BOmQpuVllnG0AAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x50e8310>"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.11,Page No.338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d_o=300 #mm #Outside diameter \n",
+ "d2=200 #mm #Internal Diameter\n",
+ "p=14 #N/mm**2 #internal Fluid pressure\n",
+ "t=50 #mm #Thickness\n",
+ "r_o=150 #mm #Outside Diameter\n",
+ "r2=100 #mm #Internal Diameter\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Lame's Equation\n",
+ "#p_x=b*(x**2)**-1-a #N/mm**2 ...................(1)\n",
+ "#F_x=b*(x**2)**-1+a #N/mm**2 ...................(2)\n",
+ "\n",
+ "#At \n",
+ "x=r2=100 #mm\n",
+ "p_x=14 #N/mm**2\n",
+ "\n",
+ "#Sub value of p_x in equation 1 we get\n",
+ "#14=(100)**-1*b-a ............................(3)\n",
+ "\n",
+ "#At\n",
+ "x2=r_o=150 #mm\n",
+ "p_x2=0 #N/mm**2\n",
+ "\n",
+ "#Sub value in equation 1 we get\n",
+ "#0=b*(150**2)**-1-a ......................(4)\n",
+ "\n",
+ "#From Equations 3 and 4 we get\n",
+ "#14=b*(100**2)**-1-b*(100**2)**-1\n",
+ "#After sub values and further simplifying we get\n",
+ "b=14*100**2*150**2*(150**2-100**2)**-1\n",
+ "\n",
+ "#From equation 4 we get\n",
+ "a=b*(150**2)**-1\n",
+ "\n",
+ "#Hoop Stress\n",
+ "#F_x=b*(x**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#At \n",
+ "x=100 #mm\n",
+ "F_x=b*(x**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#At\n",
+ "x2=125 #mm\n",
+ "F_x2=b*(x2**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#At\n",
+ "x3=150 #mm\n",
+ "F_x3=b*(x3**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#If thin Cyclindrical shell theory is used,hoop stress is uniform and is given by\n",
+ "F=p*d2*(2*t)**-1 #N/mm**2\n",
+ "\n",
+ "#Percentage error in estimating max hoop tension\n",
+ "E=(F_x-F)*F_x**-1*100 #%\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Hoop Stress Developed in the cross-section is\",round(F,2),\"N/mm**2\"\n",
+ "print\"Plot of Variation of hoop stress\"\n",
+ "\n",
+ "#Plotting Variation of hoop stress\n",
+ "\n",
+ "X1=[x,x2,x3]\n",
+ "Y1=[F_x,F_x2,F_x3]\n",
+ "Z1=[0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in mm\")\n",
+ "plt.ylabel(\"Radial Stress Distribution & Hoop Stress Distribution in N/mm**2\")\n",
+ "plt.show()\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Hoop Stress Developed in the cross-section is 28.0 N/mm**2\n",
+ "Plot of Variation of hoop stress\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nSUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58c2e30>"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.12,Page No.339"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d_o=300 #mm #Outside diameter \n",
+ "d2=200 #mm #Internal Diameter\n",
+ "p=12 #N/mm**2 #internal Fluid pressure\n",
+ "F_max=16 #N/mm**2 #Tensile stress\n",
+ "r_o=150 #mm #Outside Diameter\n",
+ "r2=100 #mm #Internal Diameter\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let p_o be the External Pressure applied.\n",
+ "#From LLame's theorem\n",
+ "#p_x=b*(x**2)**-1-a ..............(1)\n",
+ "#F_x=b*(x**2)**-1+a ...........................(2)\n",
+ "\n",
+ "#Now At\n",
+ "x=100 #mm\n",
+ "p_x=12 #N/mm**2\n",
+ "#sub in equation 1 we get\n",
+ "#12=b*(100**2)**-1-a . ..................(3)\n",
+ "\n",
+ "#The Max Hoop stress occurs at least value of x where\n",
+ "x=r1=100 #mm\n",
+ "#16=b*(100**2)**-1+a .......................(4)\n",
+ "\n",
+ "#From Equations 1 and 2 we get\n",
+ "#28=b*(100**2)**-1+b*(100**2)**-1\n",
+ "#After furhter Simplifying we get\n",
+ "b=28*100**2*2**-1\n",
+ "\n",
+ "#sub in equation 1 we get\n",
+ "a=-(12-(b*(100**2)**-1))\n",
+ "\n",
+ "#Thus At\n",
+ "x2=150 #mm\n",
+ "p_o=b*(x2**2)**-1-a\n",
+ "\n",
+ "#Result\n",
+ "print\"Minimum External applied is\",round(p_o,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum External applied is 4.22 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.13,Page No.340"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=160 #mm #Internal Diameter \n",
+ "r1=80 #mm #External Diameter\n",
+ "p1=40 #N/mm**2 #Internal Diameter\n",
+ "P_max=120 #N/mm**2 #Allowable stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Lame's Equation we have\n",
+ "#p_x=b*(x**2)**-1-a ..........................(1)\n",
+ "#F_x=b*(x**2)**-1+a ...........................(2)\n",
+ "\n",
+ "#At \n",
+ "x=r1=80 #N/mm**2 \n",
+ "#Sub in equation 1 we get\n",
+ "#120=b*(80**2)**-1+a ........................(3)\n",
+ "\n",
+ "#The hoop tension at inner edge is max stress\n",
+ "#Hence\n",
+ "#120=b*(80**2)**-1+a .............................(4)\n",
+ "\n",
+ "#From Equation 3 and 4 we get\n",
+ "b=160*80**2*2**-1 \n",
+ "\n",
+ "#Sub in equation 3 we get\n",
+ "a=-(40-(b*(80**2)**-1))\n",
+ "\n",
+ "#Let External radius be r_o.Since at External Surface is Zero,we get\n",
+ "#0=b*(r_o)**-1-a\n",
+ "#After Further simplifying we get\n",
+ "r_o=(b*a**-1)**0.5\n",
+ "\n",
+ "#Thickness of Cyclinder \n",
+ "t=r_o-r1 #mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Thickness Required is\",round(t,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thickness Required is 33.14 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.14,Page No.341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d_o=300 #mm #Outside diameter \n",
+ "d1=180 #mm #Internal Diameter\n",
+ "p=12 #N/mm**2 #internal Fluid pressure\n",
+ "p_o=6 #N/mm**2 #External Pressure\n",
+ "r_o=150 #mm #Outside Diameter\n",
+ "r=90 #mm #Internal Diameter\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Lame's Equation we have\n",
+ "#p_x=b*(x**2)**-1-a ..........................(1)\n",
+ "#F_x=b*(x**2)**-1+a ...........................(2)\n",
+ "\n",
+ "#At \n",
+ "x=r1=90 #N/mm**2 \n",
+ "p=42 #N/mm**2\n",
+ "#Sub in equation 1 we get\n",
+ "#42=b*(90**2)**-1-a ..............................(3)\n",
+ "\n",
+ "#At \n",
+ "x=r_o=150 #mm\n",
+ "p2=6 #N/mm**2\n",
+ "#sub in equation 1 we get\n",
+ "#6=b*(150**2)**-1-a ..............................(4)\n",
+ "\n",
+ "#From equations 3 and 4 weget\n",
+ "#36=b*(90**2)**-1-b2(150**2)**-1\n",
+ "#After further simplifying we get\n",
+ "b=36*90**2*150**2*(150**2-90**2)**-1\n",
+ "\n",
+ "#Sub value of b in equation 4 we get\n",
+ "a=b*(150**2)**-1-p_o\n",
+ "\n",
+ "#At \n",
+ "x=r1=90 #mm\n",
+ "F_x=b*(x**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#At \n",
+ "x2=r_o=150 #mm \n",
+ "F_x2=b*(x2**2)**-1+a #N/mm**2\n",
+ "\n",
+ "#Now if External pressure is doubled i.e p_o2=12 #N/mm**2 We have\n",
+ "p_o2=12 #N/mm**2\n",
+ "#sub in equation 4 we get\n",
+ "#12=b2*(150**2)**-1-a2 ..........................(5)\n",
+ "\n",
+ "#Max Hoop stress is to be 70.5 #N/mm**2,which occurs at x=r1=90 #mm\n",
+ "#Sub in equation 4 we get\n",
+ "#70.5=b*(90**2)**-1+a2 ................................(6)\n",
+ "\n",
+ "#Adding equation 5 and 6\n",
+ "#82.5=b2*(150**2)**-1+b*(90**2)**-1\n",
+ "#After furhter simplifying we get\n",
+ "b2=82.5*150**2*90**2*(150**2+90**2)**-1\n",
+ "\n",
+ "#Sub in equation 5 we get\n",
+ "a2=b2*(150**2)**-1-12 \n",
+ "\n",
+ "#If p_i is the internal pressure required then from Lame's theorem\n",
+ "p_i=b2*(r1**2)**-1-a2\n",
+ "\n",
+ "#Result\n",
+ "print\"Stresses int the material are:F_x\",round(F_x,2),\"N/mm**2\"\n",
+ "print\" :F_x2\",round(F_x2,2),\"N/mm**2\"\n",
+ "print\"Internal Pressure that can be maintained is\",round(p_i,2),\"N/mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stresses int the material are:F_x 70.5 N/mm**2\n",
+ " :F_x2 34.5 N/mm**2\n",
+ "Internal Pressure that can be maintained is 50.82 N/mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.15,Page No.344"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "r1=200 #mm #Inner Radius\n",
+ "r2=250 #mm #Radius at common surface\n",
+ "r3=300 #mm #Outer radius\n",
+ "p=6 #N/mm**2 #Inital pressure\n",
+ "p2=80 #N/mm**2 #Pressure\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Inner Cyclinder:\n",
+ "\n",
+ "#From Lame's Equation we have\n",
+ "#p_x=b*(x**2)**-1-a ..........................(1)\n",
+ "#F_x=b*(x**2)**-1+a ...........................(2)\n",
+ "\n",
+ "#At \n",
+ "x=r1=200 #mm\n",
+ "p_x=0\n",
+ "#0=b1*(250**2)**-1-a1 .................(3)\n",
+ "\n",
+ "#At x=r2=250 #mm\n",
+ "p_x2=6 #N/mm**2\n",
+ "#6=b1*(250**2)-a1 ...................(4)\n",
+ "\n",
+ "#From Equation 3 and 4 we get\n",
+ "b1=6*200**2*250**2*(200**2-250**2)**-1\n",
+ "\n",
+ "#From equation 3 we get\n",
+ "a1=b1*(200**2)**-1\n",
+ "\n",
+ "F_200=b1*(200**2)**-1+a1\n",
+ "F_250=b1*(250**2)**-1+a1\n",
+ "\n",
+ "#For outer cyclinder \n",
+ "#From Lame's Equation we have\n",
+ "#p_x2=b2*(x**2)**-1-a2 ..........................(5)\n",
+ "#F_x2=b2*(x**2)**-1+a2 ...........................(6)\n",
+ "\n",
+ "\n",
+ "#At \n",
+ "x2=r2=250 #mm\n",
+ "p_x2=6 #N/mm**2\n",
+ "#6=b2*(250**2)**-1-a2 ...........................(7) \n",
+ "\n",
+ "#At\n",
+ "x3=300 #mm\n",
+ "#p_x2=0\n",
+ "#0=b2**2*(300**2)**-1-a2 .................................(8)\n",
+ "\n",
+ "#from equation 7 and 8 we get\n",
+ "b2=6*250**2*300**2*(300**2-250**2)**-1\n",
+ "\n",
+ "#sub in equation 8 we get\n",
+ "a2=b2*(300**2)**-1\n",
+ "\n",
+ "F_250_2=b2*(250**2)**-1+a2\n",
+ "F_300_2=b2*(300**2)**-1+a2\n",
+ "\n",
+ "#When Fluid is admitted\n",
+ "#Let Lame's equation be\n",
+ "#p_x3=b3*(x**2)**-1-a3 ..........................(5)\n",
+ "#F_x3=b3*(x**2)**-1+a3 ...........................(6)\n",
+ "\n",
+ "\n",
+ "#At x=200\n",
+ "p_x3=80 #N/mm**2\n",
+ "#80=b3*(200**2)**-1-a3 ................................(7)\n",
+ "\n",
+ "#At x=300 #mm\n",
+ "#p_x=0\n",
+ "#0=b3*(300**2)**-1-a3 ..............................(8)\n",
+ "\n",
+ "#from Equation 7 and 8 we get\n",
+ "b3=80*200**2*300**2*(300**2-200**2)**-1\n",
+ "\n",
+ "#From Equation 8 we get\n",
+ "a3=b3*(300**2)**-1\n",
+ "\n",
+ "#Hoop stresses \n",
+ "F_200_3=b3*(200**2)**-1+a3 #N/mm**2\n",
+ "F_250_3=b3*(250**2)**-1+a3 #N/mm**2\n",
+ "F_300_3=b3*(300**2)**-1+a3 #N/mm**2\n",
+ "\n",
+ "#Pressure at common surface\n",
+ "p_250=b3*(250**2)**-1-a3 #N/mm**2\n",
+ "\n",
+ "#final stress\n",
+ "f_200=F_200+F_200_3 #N/mm**2\n",
+ "f_250=F_250+F_250_3 #N/mm**2\n",
+ "f_300=F_250_2+F_250_3 #N/mm**2\n",
+ "f_300_2=F_300_2+F_300_3 #N/mm**2\n",
+ "\n",
+ "#Result\n",
+ "print\"final Hoop stress are:f_200\",round(f_200,2),\"N/mm**2\"\n",
+ "print\" :f_250\",round(f_250,2),\"N/mm**2\"\n",
+ "print\" :f_300\",round(f_300,2),\"N/mm**2\"\n",
+ "print\" :f_300_2\",round(f_300_2,2),\"N/mm**2\"\n",
+ "print\"Variation of Hoop stress and Radial stress\"\n",
+ "\n",
+ "#Final stresses\n",
+ "#Variation of hoop stress \n",
+ " \n",
+ "X1=[x,x2,x3,x3]\n",
+ "Y1=[f_200,f_250,f_300,f_300_2]\n",
+ "Z1=[0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in mm\")\n",
+ "plt.ylabel(\"Hoop Stress Distribution in N/mm**2\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Due to Fluid\n",
+ "#Variation of hoop stress \n",
+ " \n",
+ "X1=[x,x2,x3]\n",
+ "Y1=[F_200_3,F_250_3,F_300_3]\n",
+ "Z1=[0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in mm\")\n",
+ "plt.ylabel(\"Hoop Stress Distribution in N/mm**2\")\n",
+ "plt.show()\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "final Hoop stress are:f_200 174.67 N/mm**2\n",
+ " :f_250 128.83 N/mm**2\n",
+ " :f_300 189.43 N/mm**2\n",
+ " :f_300_2 155.27 N/mm**2\n",
+ "Variation of Hoop stress and Radial stress\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5604510>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x56e5cb0>"
+ ]
+ }
+ ],
+ "prompt_number": 89
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.16,Page No.348"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "do=200 #mm #Inner Diameter\n",
+ "r_o=100 #mm #Inner radius\n",
+ "d1=300 #mm #outer diameter\n",
+ "r1=150 #mm #Outer radius\n",
+ "d2=250 #mm #Junction Diameter\n",
+ "r2=125 #mm #Junction radius\n",
+ "E=2*10**5 #N/mm**2 #Modulus of Elasticity\n",
+ "p=30 #N/mm**2 #radial pressure\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#from Lame's Equation we get\n",
+ "#p_x=b*(x**2)**-1-a ..........................(1)\n",
+ "#F_x=b*(x**2)**-1+a ...........................(2)\n",
+ "\n",
+ "#Then from Boundary condition \n",
+ "#p_x=0 at x=100 #mm\n",
+ "#0=b1*(100**2)**-1-a1 .....................(3)\n",
+ "\n",
+ "#p_x2=30 #N/mm**2 at x2=125 #mm\n",
+ "#30=b1*(125**2)**-1-a1 ................................(4)\n",
+ "\n",
+ "#From equation 3 and 4 we get\n",
+ "b1=30*125**2*100**2*(100**2-125**2)**-1\n",
+ "\n",
+ "#From Equation 3 we get\n",
+ "a1=b1*(100**2)**-1\n",
+ "\n",
+ "#therefore Hoop stress in inner cyclinder at junction\n",
+ "F_2_1=b1*(125**2)**-1+a1 #N/mm**2\n",
+ "\n",
+ "#Outer Cyclinder\n",
+ "#p_x=b*(x**2)**-1-a ..........................(5)\n",
+ "#F_x=b*(x**2)**-1+a ...........................(6)\n",
+ "\n",
+ "#Now at x=125 #mm\n",
+ "#p_x3=30 #N/mm**2\n",
+ "#30=b2*(125**2)**-1-a2 ..................................(7)\n",
+ "\n",
+ "#At x=150 #mm\n",
+ "#p_x4=0\n",
+ "#0=b2*(150**2)**-1-a2 ...................................(8)\n",
+ "\n",
+ "#From equations 7 and 8\n",
+ "b2=30*150**2*125**2*(150**2-125**2)**-1\n",
+ "\n",
+ "#From eqauation 8 we get\n",
+ "a2=b2*(150**2)**-1\n",
+ "\n",
+ "#Hoop stress at junction \n",
+ "F_2_0=b2*(125**2)**-1+a2 #N/mm**2\n",
+ "\n",
+ "rho_r=(F_2_0-F_2_1)*E**-1*r2\n",
+ "\n",
+ "#Result\n",
+ "print\"Shrinkage Allowance is\",round(rho_r,3),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shrinkage Allowance is 0.189 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.17,Page No.350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d_o=500 #mm #Outer Diameter\n",
+ "r_o=250 #mm #Outer Radius\n",
+ "d1=300 #mm #Inner Diameter\n",
+ "r1=150 #mm #Inner Radius\n",
+ "d2=400 #mm #Junction Diameter\n",
+ "E=2*10**5 #N/mm**2 #Modulus ofElasticity\n",
+ "alpha=12*10**-6 #Per degree celsius\n",
+ "dell_d=0.2 #mm\n",
+ "dell_r=0.1 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let p be the radial pressure developed at junction\n",
+ "#Let Lame's Equation for internal cyclinder be\n",
+ "#p_x=b*(x**2)**-1-a ................................(1)\n",
+ "#F_x=b*(x**2)**-1+a ...............................(2)\n",
+ "\n",
+ "#At \n",
+ "x=150 #mm \n",
+ "p_x=0\n",
+ "#Sub in equation 1 we get\n",
+ "#0=b*(150**2)**-1-a .........................(3)\n",
+ "\n",
+ "#At \n",
+ "x2=200 #mm\n",
+ "#p_x2=p\n",
+ "#p=b*(200**2)**-1-a ......................(4)\n",
+ " \n",
+ "#From Equation 3 and 4\n",
+ "#p=b*(200**2)**-1-b(150**2)**-1\n",
+ "#after further simplifying we get\n",
+ "#b=-51428.571*p\n",
+ "\n",
+ "#sub in equation 3 we get\n",
+ "#a1=-2.2857*p\n",
+ "\n",
+ "#therefore hoop stress at junction is\n",
+ "#F_2_1=-21428.571*p*(200**2)**-1-2.2857*p\n",
+ "#after Further simplifying we geet\n",
+ "#F_2_1=3.5714*p\n",
+ "\n",
+ "#Let Lame's Equation for cyclinder be \n",
+ "#p_x=b*(x**2)**-1-a .........................5\n",
+ "#F_x=b*(x**2)**-1+a .............................6\n",
+ "\n",
+ "#At \n",
+ "x=200 #mm\n",
+ "#p_x=p2\n",
+ "#p2=b2*(20**2)**-1-a2 ...................7\n",
+ "\n",
+ "#At\n",
+ "x2=200 #mm\n",
+ "p_x2=0\n",
+ "#0=b2*(250**2)**-1-a2 ....................8\n",
+ "\n",
+ "#from equation 7 and 8 we get\n",
+ "#p2=b2*(200**2)**-1-b2*(250**2)**-1\n",
+ "#After further simplifying we get\n",
+ "#p2=b2*(250**2-200**2)*(200**2*250**2)**-1\n",
+ "#b2=111111.11*p\n",
+ "\n",
+ "#from equation 7\n",
+ "#a2=b2*(250**2)**-1\n",
+ "#further simplifying we get\n",
+ "#a2=1.778*p\n",
+ "\n",
+ "#At the junctionhoop stress in outer cyclinder \n",
+ "#F_2_0=b2*(200**2)**-1+a2\n",
+ "#After further simplifying we get\n",
+ "#F_2_0=4.5556*p\n",
+ "\n",
+ "#Considering circumferential strain,the compatibility condition\n",
+ "#rho_r*r2**-1=1*E**-1*(F_2_1+F_2_0)\n",
+ "#where F_2_1 is compressive and F_2_0 is tensile\n",
+ "#furter simplifying we get\n",
+ "p=0.1*200**-1*2*10**5*(3.5714+4.5556)**-1\n",
+ "\n",
+ "#Let T be the rise in temperature required\n",
+ "#dell_d=d*alpha*T\n",
+ "#After sub values and further simplifying we get\n",
+ "d=250 #mm\n",
+ "T=dell_d*(d*alpha)**-1 #Per degree celsius\n",
+ "\n",
+ "#Result\n",
+ "print\"Radial Pressure Developed at junction\",round(p,2),\"N/mm**2\"\n",
+ "print\"Min Temperatureto outer cyclinder\",round(T,2),\"Per degree Celsius\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Radial Pressure Developed at junction 12.3 N/mm**2\n",
+ "Min Temperatureto outer cyclinder 66.67 Per degree Celsius\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 8.8.18,Page No.355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d_o=400 #mm #Outer Diameter\n",
+ "r_o=200 #mm #Outer radius\n",
+ "t=50 #mm #Thickness\n",
+ "r1=150 #mm #Internal Radius\n",
+ "p=50 #N/mm**2 #Internal Pressure\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#The Radial Pressure and hoop stress at any radial distance x are given by\n",
+ "#p_x=b*(x**2)**-1-a ..........................(1)\n",
+ "#F_x=b*(x**2)**-1+a ...........................(2)\n",
+ "\n",
+ "#Now at\n",
+ "x=150 #N/mm**2\n",
+ "p_x1=50 #N/mm**2\n",
+ "#Sub in equation 1 we get\n",
+ "#50=2*b*(150**3)**-1-a ...........................(3)\n",
+ "\n",
+ "#At x=200 #mm\n",
+ "p_x2=0\n",
+ "#0=2*b*(200**2)**-1-a ....................(4)\n",
+ "\n",
+ "#From equation 3 and 4 we get\n",
+ "#50=2*b*(150**3)**-1-2*b*(200**3)**-1\n",
+ "#After further simplifying we get\n",
+ "b=50*150**3*200**3*(200**3-150**3)**-1*2**-1\n",
+ "\n",
+ "#Sub in equation 3 we get\n",
+ "a=b*(200**3)**-1\n",
+ "\n",
+ "#Now At\n",
+ "x=150 #mm\n",
+ "F_x=b*(x**3)**-1+a\n",
+ "\n",
+ "#Now At\n",
+ "x2=160 #mm\n",
+ "F_x2=b*(x2**3)**-1+a\n",
+ "\n",
+ "#Now At\n",
+ "x3=170 #mm\n",
+ "F_x3=b*(x3**3)**-1+a\n",
+ "\n",
+ "#Now At\n",
+ "x4=180 #mm\n",
+ "F_x4=b*(x4**3)**-1+a\n",
+ "\n",
+ "#Now At\n",
+ "x5=190 #mm\n",
+ "F_x5=b*(x5**3)**-1+a\n",
+ "\n",
+ "#Now At\n",
+ "x6=200 #mm\n",
+ "F_x6=b*(x6**3)**-1+a\n",
+ "\n",
+ "#Result\n",
+ "print\"Plot of Variation of hoop stress\"\n",
+ "\n",
+ "#Plotting Variation of hoop stress\n",
+ "\n",
+ "X1=[x,x2,x3,x4,x5,x6]\n",
+ "Y1=[F_x,F_x2,F_x3,F_x4,F_x5,F_x6]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in mm\")\n",
+ "plt.ylabel(\"Hoop Stress Distribution in N/mm**2\")\n",
+ "plt.show()\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Plot of Variation of hoop stress\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nBgIREQEA/h+bezx5xlsz+QAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x56b4bf0>"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.9_5.ipynb b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.9_5.ipynb
new file mode 100644
index 00000000..cecacb12
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.9_5.ipynb
@@ -0,0 +1,779 @@
+{
+ "metadata": {
+ "name": "chapter no.9.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9:Columns And Struts"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.1,Page No.377"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "L=5000 #mm #Length of strut\n",
+ "dell=10 #mm #Deflection\n",
+ "W=10 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Central Deflection of a simply supported beam with central concentrated load is\n",
+ "#dell=W*L**3*(48*E*I)**-1 \n",
+ "\n",
+ "#Let E*I=X\n",
+ "X=W*L**3*(48*dell)**-1 #mm\n",
+ "\n",
+ "#Euler's Load\n",
+ "#Let Euler's Load be P\n",
+ "P=pi**2*X*(L**2)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Critical Load of Bar is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Critical Load of Bar is 1028.08 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.2,Page No.377"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=2000 #mm #Length of square column\n",
+ "E=12*10**3 #N/mm**2 #Modulus of Elasticity\n",
+ "sigma=12 #N/mm*2 #stress\n",
+ "W1=95*10**3 #N #Load1\n",
+ "W2=200*10**3 #N #Load2\n",
+ "FOS=3\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Euler's Formula\n",
+ "#P=pi**2*E*I*(L**2)**-1 .........(1)\n",
+ "\n",
+ "#Working Load\n",
+ "#W=P*(FOS)**-1\n",
+ "\n",
+ "#Part-1\n",
+ "\n",
+ "#At W1=95*10**3 #N\n",
+ "#W1=P*(3*L**2)**-1\n",
+ "\n",
+ "#Let 'a' be the side of the square\n",
+ "#I=1*12**-1*a**4\n",
+ "\n",
+ "#sub value of I in Equation 1 and further rearranging we get\n",
+ "a=(W1*3*12*L**2*(pi**2*E)**-1)**0.25 #mm\n",
+ "\n",
+ "#From Consideration of direct crushing\n",
+ "#sigma*a**2=W1\n",
+ "#After Reaaranging the above equation we get\n",
+ "a2=(W1*(sigma)**-1)**0.5 #mm\n",
+ "\n",
+ "#required size is 103.67*103.67 i.e a*a\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#At W2=200*10**3 #N\n",
+ "#W2=P*(3*L**2)**-1\n",
+ "#After substituting values and further Rearranging the above equation we get\n",
+ "a3=(W2*3*12*L**2*(pi**2*E)**-1)**0.25 #mm\n",
+ "\n",
+ "#From consideration of direct compression,size required is\n",
+ "a4=(W2*sigma**-1)**0.5\n",
+ "\n",
+ "#required size is 129.10*129.10 i.e a4*a4\n",
+ "\n",
+ "#Result\n",
+ "print\"For W1 Load Required size is\",round(a*a,2),\"mm**2\"\n",
+ "print\"For W2 Load Required size is\",round(a4*a4,2),\"mm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For W1 Load Required size is 10747.38 mm**2\n",
+ "For W1 Load Required size is 16666.67 mm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.3,Page No.378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Flange \n",
+ "b=100 #mm #Width\n",
+ "\n",
+ "D=80 #mm #Overall Depth\n",
+ "t=10 #mm #Thickness of web and flanges\n",
+ "L=3000 #mm #Length of strut\n",
+ "E=200*10**3 #N/mm**2 #Modulus of Elasticity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let centroid be at depth y_bar from top fibre\n",
+ "y_bar=(b*t*t*2**-1+(D-t)*t*((D-t)*2**-1+t))*(b*t+(D-t)*t)**-1 #mm \n",
+ "\n",
+ "#M.I at x-x axis\n",
+ "I_x=1*12**-1*b*t**3+b*t*(y_bar-t*2**-1)**2+1*12**-1*t*((D-t))**3+t*((D-t))*((((D-t)*2**-1)+t)-y_bar)**2\n",
+ "\n",
+ "#M.I at y-y axis\n",
+ "I_y=1*12**-1*t*b**3+1*12**-1*(D-t)*t**3 #mm**3\n",
+ "\n",
+ "#Least M.I\n",
+ "I=I_y\n",
+ "\n",
+ "#Since both ends are hinged\n",
+ "#Feective Length=Actual Length\n",
+ "L=l=3000 #mm\n",
+ "\n",
+ "#Buckling Load \n",
+ "P=pi**2*E*I*(l**2)**-1*10**-3 #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"The Buckling Load for strut of tee section\",round(P,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Buckling Load for strut of tee section 184.05 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.4,Page No.379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=400 #mm #Overall Depth\n",
+ "\n",
+ "#Flanges\n",
+ "b=300 #mm #Width\n",
+ "t=50 #mm #Thickness\n",
+ "\n",
+ "t2=30 #mm #Web Thickness\n",
+ "\n",
+ "dell=10 #mm #Deflection\n",
+ "w=40 #N/mm #Load\n",
+ "FOS=1.75 #Factor of safety\n",
+ "E=2*10**5 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#M.I at x-x axis\n",
+ "I_x=1*12**-1*(b*D**3-(b-t2)*b**3) #mm**4\n",
+ "\n",
+ "#Central Deflection\n",
+ "#dell=5*w*L**4*(384*E*I)**-1\n",
+ "#After sub values in above equation and further simplifying we get\n",
+ "L=(dell*384*E*I_x*(5*w)**-1)**0.25\n",
+ "\n",
+ "#M.I aty-y axis\n",
+ "I=I_y=1*12**-1*t*b**3+1*12**-1*b*t2**3+1*12**-1*t*b**3 #mm**4\n",
+ "\n",
+ "#Both the Ends of column are hinged\n",
+ "\n",
+ "#Crippling Load\n",
+ "P=pi**2*E*I*(L**2)**-1 #N\n",
+ "\n",
+ "#Safe Load\n",
+ "S=P*(FOS)**-1*10**-3 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Safe Load if I-section is used as column with both Ends hhinged\",round(S,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Safe Load if I-section is used as column with both Ends hhinged 4123.29 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.5,Page No.381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=200 #mm #External Diameter\n",
+ "t=20 #mm #hickness\n",
+ "d=200-2*t #mm #Internal Diameter\n",
+ "E=1*10**5 #N/mm**2\n",
+ "a=1*(1600)**-1 #Rankine's Constant\n",
+ "L=4.5 #m #Length\n",
+ "sigma=550 #N/mm**2 #Stress\n",
+ "FOS=2.5\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=pi*D**4*64**-1-pi*d**4*64**-1\n",
+ "\n",
+ "#Both Ends are fixed\n",
+ "\n",
+ "#Effective Length\n",
+ "l=1*2**-1*L*10**3 #mm\n",
+ "\n",
+ "#Euler's Critical Load\n",
+ "P_E=pi**2*E*I*(l**2)**-1\n",
+ "\n",
+ "A=pi*4**-1*(D**2-d**2) #mm*2\n",
+ "\n",
+ "k=(I*A**-1)**0.5\n",
+ "\n",
+ "#Rankine's Critical Load\n",
+ "P_R=sigma*A*(1+a*(l*k**-1)**2)**-1\n",
+ "\n",
+ "X=P_E*P_R**-1 \n",
+ "\n",
+ "#Safe Load using Rankine's Formula\n",
+ "S=P_R*(FOS)**-1*10**-3 #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Safe Load by Rankine's Formula is\",round(S,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Safe Load by Rankine's Formula is 1404.36 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.6,Page No.382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=3000 #mm #Length of column\n",
+ "W=800*10**3 #N #Load\n",
+ "a=1*1600**-1 #Rankine's constant\n",
+ "FOS=4 #Factor of safety\n",
+ "sigma=550 #N/mm**2 #stress\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Effective Length\n",
+ "l=L*2**-1 #mm \n",
+ "\n",
+ "#Let d1=outer diameter & d2=inner diameter\n",
+ "#d1=5*8**-1*d2\n",
+ "\n",
+ "#M.I\n",
+ "#I=pi*64**-1*(d1**4-d2**4) #mm**4\n",
+ "\n",
+ "#Area of section\n",
+ "#A=pi4**-1*(d1**2-d2**2) #mm**2\n",
+ "\n",
+ "#k=(I*A**-1) \n",
+ "#substituting values in above equation \n",
+ "#k=1*16**-1*(d1**2-d2**2)\n",
+ "#after simplifying further we get\n",
+ "#k=0.2948119.d1\n",
+ "\n",
+ "#X=l*k**-1\n",
+ "#substituting values in above equation and after simplifying further we get\n",
+ "#X=5087.9898*d1**-1\n",
+ "\n",
+ "#Crtitcal Load\n",
+ "P=W*FOS #N\n",
+ "\n",
+ "#From Rankine's Load\n",
+ "#P2=sigma*A*(1+a*(X)**2)**-1\n",
+ "#substituting values in above equation and after simplifying further we get\n",
+ "#d1**4-12156618*d1**4-1.96691*10**8=0\n",
+ "#Solving Quadratic Equation we get\n",
+ "#d1**2-12156618*d1-196691000=0\n",
+ "a=1\n",
+ "b=-12156.618\n",
+ "c=-196691000\n",
+ "\n",
+ "Y=b**2-4*a*c\n",
+ "\n",
+ "d1_1=((-b+Y**0.5)*(2*a)**-1)**0.5 #mm\n",
+ "d1_2=((-b-Y**0.5)*(2*a)**-1) #mm\n",
+ "\n",
+ "d2=5*8**-1*d1_1\n",
+ "\n",
+ "#Result\n",
+ "print\"Section of cast iron hollow cylindrical column is:d1_1\",round(d1_1,2),\"mm\"\n",
+ "print\" :d2 \",round(d2,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Section of cast iron hollow cylindrical column is:d1_1 146.16 mm\n",
+ " :d2 91.35 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.7,Page No.383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Let X=(P*A**-1) #Average Stress at Failure \n",
+ "Lamda_1=70 #Slenderness Ratio\n",
+ "Lamda_2=170 #Slenderness Ratio\n",
+ "X1=200 #N/mm**2 \n",
+ "X2=69 #N/mm**2 \n",
+ "\n",
+ "#Rectangular section\n",
+ "b=60 #mm #width\n",
+ "t=20 #mm #Thickness\n",
+ "\n",
+ "L=1250 #mm #Length of strut\n",
+ "FOS=4 #Factor of safety\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Slenderness ratio\n",
+ "#Lamda=L*k**-1\n",
+ "\n",
+ "#The Rankine's Formula for strut\n",
+ "#P=sigma*A*(1+a*(L*k**-1)**-1\n",
+ "\n",
+ "#From test result 1,\n",
+ "#After sub values in above equation we get and further simplifying we get\n",
+ "#sigma_1=200+980000*a ...................(1)\n",
+ "\n",
+ "#From test result 2,\n",
+ "#After sub values in above equation we get and further simplifying we get\n",
+ "#sigma_2=69+1994100*a ...................(2)\n",
+ "\n",
+ "#Substituting it in equation (1) we get\n",
+ "a=131*1014100**-1 \n",
+ "\n",
+ "#Substituting a in equation 1\n",
+ "sigma_1=200+980000*a #N/mm**2\n",
+ "\n",
+ "#Effective Length \n",
+ "l=1*2**-1*L #mm\n",
+ "\n",
+ "#Least of M.I\n",
+ "I=1*12**-1*b*t**3 #mm**4\n",
+ "\n",
+ "#Area \n",
+ "A=b*t #mm**2 \n",
+ "\n",
+ "k=(I*A**-1)**0.5\n",
+ "\n",
+ "#Slenderness ratio\n",
+ "Lamda=l*k**-1\n",
+ "\n",
+ "#From Rankine's Ratio\n",
+ "P=sigma_1*A*(1+a*(Lamda)**2)**-1\n",
+ "\n",
+ "#Safe Load\n",
+ "S=P*(FOS)**-1*10**-3 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Constant in the Formula is:a \",round(a,6)\n",
+ "print\" :sigma_1\",round(sigma_1,2)\n",
+ "print\"Safe Load is\",round(S,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Constant in the Formula is:a 0.000129\n",
+ " :sigma_1 326.6\n",
+ "Safe Load is 38.98 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.8,Page No.385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=200 #mm #Depth\n",
+ "b=140 #mm #width\n",
+ "\n",
+ "#Plate\n",
+ "b2=160 #mm #Width\n",
+ "t2=10 #mm #Thickness\n",
+ "\n",
+ "L=l=4000 #mm #Length\n",
+ "FOS=4 #Factor of safety\n",
+ "sigma=315 #N/mm**2 #stress\n",
+ "a2=1*7500**-1 \n",
+ "I_xx=26.245*10**6 #mm**4 #M.I at x-x\n",
+ "I_yy=3.288*10**6 #mm**4 #M.I at y-y\n",
+ "a=3671 #mm**2 #Area\n",
+ "k_x=84.6#mm\n",
+ "k_y=29.9 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Total Area\n",
+ "A=a+2*t2*b2 #mm**2\n",
+ "\n",
+ "#M.I\n",
+ "I=I_yy+2*12**-1*t2*b2**3 #mm**4\n",
+ "\n",
+ "k=(I*A**-1)**0.5 #mm\n",
+ "\n",
+ "#Let X=L*k**-1\n",
+ "X=L*k**-1\n",
+ "\n",
+ "#Appliying Rankine's Formula\n",
+ "P=sigma*A*(1+a2*(X)**2)**-1 #N\n",
+ "\n",
+ "#Safe Load\n",
+ "S=P*(FOS)**-1*10**-3 #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Safe axial Load is\",round(S,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Safe axial Load is 220.93 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.9,Page No.389"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "E=200*10**3 #N/mm**2 #Modulus of elasticity\n",
+ "sigma=330 #N/mm**2 #Stress\n",
+ "a=1*7500**-1 #Rankine's constant\n",
+ "A=5205 #mm**2 #area of column\n",
+ "I_xx=59.431*10**6 #mm**4 #M.I at x-x axis\n",
+ "I_yy=8.575*10**6 #mm**24#M.I at y-y axis\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Total M.I\n",
+ "I=I_xx+I_yy #mm**4\n",
+ "\n",
+ "#Area of compound Section \n",
+ "A2=2*A #mm**2\n",
+ "\n",
+ "k=(I*A2**-1)**0.5 #mm\n",
+ "\n",
+ "#Equating Euler's Load to Rankine's Load we get\n",
+ "#pi**2*E*I*(L**2)**-1=sigma*A*(1+a*(L*k)**2)**-1\n",
+ "#After Substitt=uting values and further simplifying we get\n",
+ "L=(39076198*(1-0.7975432)**-1)**0.5*10**-3 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of column for which Rankine's formula and Euler's Formula give the same result is\",round(L,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of column for which Rankine's formula and Euler's Formula give the same result is 13.89 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.10,Page No.387"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "sigma=326 #N/mm**2 #stress\n",
+ "E=2*10**5 #N/mm**2 #Modulus of Elasticity\n",
+ "FOS=2 #Factor of safety\n",
+ "a=1*7500**-1 #Rankine's constant\n",
+ "D=350 #mm #Overall Depth \n",
+ "\n",
+ "#Cover plates\n",
+ "b1=500 #mm #width\n",
+ "t1=10 #mm #Thickness\n",
+ "\n",
+ "d=220 #mm #Distance between two channels\n",
+ "\n",
+ "L=6000 #mm #Length of column\n",
+ "\n",
+ "A=5366 #mm**2 #Area of Column section \n",
+ "I_xx=100.08*10**6 #mm**4 #M.I of x-x axis\n",
+ "I_yy=4.306*10**6 #mm**4 #M.I of y-y axis\n",
+ "C_yy=23.6 #mm #Centroid at y-y axis\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Symmetric axes are the centroidal axes is\n",
+ "\n",
+ "#M.I of Channel at x-x axis\n",
+ "I_xx_1=2*I_xx+2*(1*12**-1*b1*t1**3+b1*t1*(D*2**-1+t1*2**-1)**2)\n",
+ "\n",
+ "#M.I of Channel at y-y axis\n",
+ "I_yy_1=2*(I_yy+A*(d*2**-1+C_yy)**2)+2*12**-1*t1*b1**3\n",
+ "\n",
+ "#As I_yy<I_xx\n",
+ "#So\n",
+ "I=I_yy_1 #mm**4 \n",
+ "\n",
+ "A2=2*A+2*t1*b1 #Area of channel\n",
+ "\n",
+ "k=(I*A2**-1)**0.5 #mm\n",
+ "\n",
+ "#Critical Load\n",
+ "P=sigma*A2*(1+a*(L*k**-1)**2)**-1 \n",
+ "\n",
+ "#Safe Load\n",
+ "S=P*2**-1*10**-3 #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Safe Load carrying Capacity is\",round(S,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Safe Load carrying Capacity is 2717.35 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9.11,Page No.390"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "I=4.085*10**8 #mm**4 #M.I\n",
+ "A=20732.0 #mm**2 #area of column\n",
+ "f_y=250 #N/mm**2 \n",
+ "L=6000 #mm #Length of column\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "k=(I*A**-1)**0.5 #mm\n",
+ "lamda=L*k**-1 #Slenderness ratro\n",
+ "\n",
+ "#From Indian standard table\n",
+ "lamda_1=40 \n",
+ "sigma_a_c_1=139 #N/mm**2\n",
+ "lamda_2=50 \n",
+ "sigma_a_c_2=132 #N/mm**2 \n",
+ "\n",
+ "#Linearly interpolating between these values for lambda=42.744\n",
+ "\n",
+ "sigma_a_c_3=sigma_a_c_1-2.744*10**-1*(sigma_a_c_1-sigma_a_c_2)\n",
+ "\n",
+ "#Safe Load carrying capacity of column\n",
+ "P=sigma_a_c_3*A*10**-3\n",
+ "\n",
+ "#Result\n",
+ "print\"Safe Load carrying capacity is\",round(P,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Safe Load carrying capacity is 2841.93 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/B.M.D_1_1.png b/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/B.M.D_1_1.png
new file mode 100644
index 00000000..11bcf467
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/B.M.D_1_1.png
Binary files differ
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_1.png b/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_1.png
new file mode 100644
index 00000000..ba2ef24e
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_1.png
Binary files differ
diff --git a/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_3_1.png b/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_3_1.png
new file mode 100644
index 00000000..202b2e93
--- /dev/null
+++ b/Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_3_1.png
Binary files differ
diff --git a/sample_notebooks/VinayBadhan/chapter7.ipynb b/sample_notebooks/VinayBadhan/chapter7.ipynb
new file mode 100644
index 00000000..3d02cc6c
--- /dev/null
+++ b/sample_notebooks/VinayBadhan/chapter7.ipynb
@@ -0,0 +1,2175 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#Chapter 7 , Transistor Amplifiers , Biasing and Thermal Stabilization"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.1 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Maximum collector current that can be allowd during any part of the input signal is 3.0 mA.\n",
+ "Minimum zero signal collector current required : 1.5 mA.\n",
+ "Maximum base current 0.03 mA.\n",
+ "Signal voltage (VBE) : 0.75 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 10 #Collector supply voltage (in volts)\n",
+ "RC = 3.0 * 10**3 #Collector load resistance (in ohm)\n",
+ "Vknee = 1 #Knee voltage for silicon transistor (in volts)\n",
+ "beta = 100 #Current gain\n",
+ "ICperVBE = 4.0 * 10**-3 #Change in IC per volt change in VBE (in Ampere per volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VCmax = VCC - Vknee #Maximum voltage drop across resistance RC (in volts)\n",
+ "ICmax = VCmax/RC #Maximum allowable collector current (in Ampere)\n",
+ "ICzero = ICmax/2 #Zero signal collector current (in Ampere)\n",
+ "IBmax = ICmax/beta #Maximum base current (in Ampere)\n",
+ "VBE = ICmax/ICperVBE #Base-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum collector current that can be allowd during any part of the input signal is \",ICmax* 10**3,\"mA.\"\n",
+ "print \"Minimum zero signal collector current required : \",ICzero*10**3,\"mA.\"\n",
+ "print \"Maximum base current \",IBmax*10**3,\"mA.\"\n",
+ "print \"Signal voltage (VBE) : \",VBE,\"V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.2 , Page Number 232 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the graph showing necessary details : \n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x63c07b0>"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x615d910>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,ylim,xlim,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20 #Collector supply voltage (in volts)\n",
+ "RC = 2.0 * 10**3 #Collector load ressitance (in ohm)\n",
+ "RE = 3.0 * 10**3 #Emitter resistance (in ohm) \n",
+ "IC = 0 #Collector current at saturation point (in Ampere)\n",
+ "VCE1 = 0 #Collector-to-emitter voltage at cut-off point (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VCE = VCC - IC*(RC + RE) #Collector-to-emitter voltage (in volts)\n",
+ "IC1 = VCC/(RC + RE) #Cut-off point collector current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the graph showing necessary details : \"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "y1 = numpy.linspace(0,2,100)\n",
+ "x1 = numpy.linspace(0,10,100)\n",
+ "plot(x,4-4.0/20*x,'b')\n",
+ "plot(x1,2+x1-x1,'--',color='g')\n",
+ "plot(10+y1-y1,y1,'--',color='g')\n",
+ "annotate('Q - POINT',xy=(10,2))\n",
+ "xlim(0,30)\n",
+ "ylim(0,6)\n",
+ "title(\"DC Load line\")\n",
+ "xlabel(\"-VCE in Volts->\")\n",
+ "ylabel(\"-IC in mA->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.3 , Page Number 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Q-point will be ICQ = 0.6 mA and VCEQ = 3.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 6 #Collector supply voltage (in volts)\n",
+ "VBE = 0 #Emitter-to-base voltage (in volts)\n",
+ "RB = 1.0 * 10**6 #base resistance (in ohm)\n",
+ "beta = 100 #Current gain in CE \n",
+ "RC = 5 * 10**3 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC/RB #Base current (in Ampere)\n",
+ "IC = beta*IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC*RC #Collector-to-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Q-point will be ICQ = \",IC * 10**3,\"mA and VCEQ = \",VCE,\"V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.4 , Page Number 237 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base current : 10.0 micro-A.\n",
+ "Collector current : 1.0 mA.\n",
+ "VC : 8.0 V.\n",
+ "VB : 0.7 V.\n",
+ "VCB : 7.3 V.\n",
+ "Operating point is ICQ : 1.0 mA and VCEQ : 8.0 V.\n",
+ "Stability factof : 101 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 12 #Collector supply voltage (in volts)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "RB = 1130.0 * 10**3 #base resistance (in ohm)\n",
+ "beta = 100 #Current gain in CE \n",
+ "RC = 4 * 10**3 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC-VBE)/RB #Base current (in Ampere)\n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC*RC #Collector-to-emitter voltage (in volts)\n",
+ "VC = VCE #Collector voltage (in volts)\n",
+ "VB = VBE #Base voltage (in volts)\n",
+ "VCB = VC - VB #Collector-to-base voltage (in volts)\n",
+ "S = beta + 1 #Stability factor \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current : \",IB*10**6,\"micro-A.\"\n",
+ "print \"Collector current : \",IC * 10**3,\"mA.\"\n",
+ "print \"VC : \",VC,\"V.\\nVB : \",VB,\"V.\\nVCB : \",VCB,\"V.\"\n",
+ "print \"Operating point is ICQ : \",IC*10**3,\"mA and VCEQ : \",VC,\"V.\"\n",
+ "print \"Stability factof : \",S,\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.5 , Page Number 237 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stability factor : 31.37 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "dIC = 1.6 * 10**-3 #Change in collector current (in Ampere)\n",
+ "dt = 30 #Change in temperature (in Celsius degree)\n",
+ "ICO = 1.7 * 10**-6 #Reverse saturation current change (in Ampere per Celsius-degree)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dICO = dt*ICO #Change in reverse saturation current (in Ampere) \n",
+ "S = dIC/dICO #Stability factor \n",
+ "\n",
+ "#Result\n",
+ "print \"Stability factor : \",round(S,2),\".\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.6 , Page Number 237 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base current : 28.2 micro-A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VBB = 10.0 #Base supply voltage (in volts)\n",
+ "VBE = 0.7 #Base-to-emitter voltage (in volts)\n",
+ "RB = 330 * 10**3 #Base resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current : \",round(IB*10**6,1),\"micro-A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.7 , Page Number 238 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cut-off point : (0, 6.06 mA).\n",
+ "Saturation point : ( 20 V ,0).\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x6e21990>"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x62e3290>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,ylim,xlim\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20 #Collector supply voltage (in volts)\n",
+ "RC = 3.3 * 10**3 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = VCC/RC #Collector current at cut-off point (in Ampere)\n",
+ "VCE = 0 #Collector-to-emitter voltage at cut-off point (in volts) \n",
+ "VCE1 = VCC #Collector-to-emitter voltage at saturation point (in volts)\n",
+ "IC1 = 0 #Collector current at saturation point (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Cut-off point : (0,\",round(IC*10**3,2),\"mA).\"\n",
+ "print \"Saturation point : (\",VCE1,\"V ,0).\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "plot(x,6-6.0/20*x,'b')\n",
+ "xlim(0,30)\n",
+ "ylim(0,10)\n",
+ "title(\"DC Load line\")\n",
+ "xlabel(\"-VCE in Volts->\")\n",
+ "ylabel(\"-IC in mA->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.8 , Page Number 238 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Visualizing that VCE = 0.7 , we can say that transistor is just gone to saturation from active region (not well within saturation).\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 20 #Collector supply voltage (in volts)\n",
+ "RB = 1.0 * 10**3 #Base resistance (in ohm)\n",
+ "VBE = 0.7 #Base-to-emitter voltage (in volts)\n",
+ "beta = 100 #Current gain in CE\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/RB #Base current (in Ampere)\n",
+ "IC = beta *IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC*RC #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Visualizing that VCE = 0.7 , we can say that transistor is just gone to saturation from active region (not well within saturation).\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.9 , Page Number 238 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum value of RC for which transistor remains in saturation is 4.667 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 10 #Collector supply voltage (in volts)\n",
+ "VBB = 5 #Base supply votlage (in volts)\n",
+ "RB = 200 * 10**3 #Base resistance (in ohm)\n",
+ "VBEsat = 0.8 #Base-to-emitter voltage in saturation state (in volts)\n",
+ "VCEsat = 0.2 #Collector-to-emitter voltage in saturation state (in volts)\n",
+ "beta = 100 #Current gain in CE\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB-VBEsat)/RB #Base current (in Ampere)\n",
+ "IC = beta*IB #Collector current (in Ampere)\n",
+ "RC = (VCC - VCEsat)/IC #Collector resistance (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of RC for which transistor remains in saturation is \",round(RC*10**-3,3),\"ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.10 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IC : 1.98 mA.\n",
+ "IB : 0.02 mA.\n",
+ "VEE : 2.7 V.\n",
+ "VCC : 8.92 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "IE = 2.0 * 10**-3 #Emitter current (in Ampere)\n",
+ "alpha = 0.99 #Current gain in CB\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm) \n",
+ "VBE = 0.7 #Base-emitter voltage (in volts) \n",
+ "VCB = 1 #Collector-base voltage (in volts)\n",
+ "RC = 4.0 * 10**3 #Collector resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha*IE #Collector current (in Ampere)\n",
+ "IB = IE - IC #Base current (in Ampere) \n",
+ "VEE = IE*RE + VBE #Emitter supply voltage (in volts)\n",
+ "VCC = IC*RC + VCB #Collector supply voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IC : \",IC * 10**3,\"mA.\\nIB : \",IB * 10**3,\"mA.\\nVEE : \",VEE,\"V.\\nVCC : \",VCC,\"V.\"\n",
+ "\n",
+ "#Slight variation due to higher precision in the value of VCC."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.11 , Page Number 239 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IB : 5.3 micro-A and IC : 0.54 mA at 25 Celsius degree.\n",
+ "IB : 5.375 micro-A and IC : 0.6183 mA at 55 Celsius degree.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 30 #Collector supply voltage (in volts)\n",
+ "VBB = 6 #Base voltage (in volts)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "RB = 1.0 * 10**6 #Base resistance (in ohm)\n",
+ "beta = 100 #Current gain in CB\n",
+ "ICBO = 0.1 * 10**-6 #Reverse saturation current (in Ampere) \n",
+ "dt = 55-25 #Change in temperature (in Celsius degree)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base current (in Ampere)\n",
+ "IC = beta*IB + (beta+1)*ICBO #Collector current (in Ampere)\n",
+ "ICBO55 = ICBO * 2**(dt/10.0) #ICBO at 55 Celsius degree (in Ampere)\n",
+ "VBE55 = 0.7 - 2.5*10**-3*dt #VBE at 55 Celsius degree (in Ampere)\n",
+ "IB55 = (VBB - VBE55)/RB #Base current at 55 Celsius degree(in Ampere)\n",
+ "IC55 = beta*IB55 + (beta+1)*ICBO55 #Collector current 55 Celsius degree (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IB : \",round(IB * 10**6,1),\"micro-A and IC :\",round(IC*10**3,2),\"mA at 25 Celsius degree.\"\n",
+ "print \"IB : \",round(IB55 * 10**6,3),\"micro-A and IC :\",round(IC55*10**3,4),\"mA at 55 Celsius degree.\"\n",
+ "\n",
+ "#Slight variation in IC55 due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.12 , Page Number 239 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since , beta is very less than hfe , therefore it is in saturation region.\n",
+ "VC : -2.3365 V.\n",
+ "Minimum value of RB for which it operates in active region : 36.27 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "hfe = 100 #Current gain in CE\n",
+ "VBE = 0.8 #Base-emitter voltage (in volts)\n",
+ "VBB = 3.0 #Base supply voltage (in volts)\n",
+ "RB = 7.0 * 10**3 #Base resistance (in ohm)\n",
+ "RL = 500 #Load resistance (in ohm)\n",
+ "RC = 3.0 * 10**3 #Collector resistance (in ohm)\n",
+ "VCC = 10 #Collector supply voltage (in volts) \n",
+ "VCE = 1 #Collector-emitter voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "# 7500IB + 500IC = 2.2 ----Eq. 1\n",
+ "# 500IB + 2500IC = 9.0 ----Eq. 2\n",
+ "IC = 2.55 #Collector current (in milli-Ampere)\n",
+ "IB = 0.123 #Base current (in milli-Ampere)\n",
+ "beta = IC/IB #Current gain in CB\n",
+ "VC = -VCE - (IB + IC)*RL*10**-3 #Collector voltage in saturation (in volts)\n",
+ "IBmax = IC/hfe #Maximum base current (in milli-Ampere)\n",
+ "RB = (VBB - VBE - IC*RL*10**-3 )/IBmax #Base resistance (in kilo-ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since , beta is very less than hfe , therefore it is in saturation region.\"\n",
+ "print \"VC :\",VC,\"V.\"\n",
+ "print \"Minimum value of RB for which it operates in active region : \",round(RB,2),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.13 , Page Number 242 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R1 : 133.55 kilo-ohm.\n",
+ "RC : 4.06 kilo-ohm.\n",
+ "S : 18.65 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "R2 = 30.0 * 10**3 #Resistance (in ohm)\n",
+ "R1 = 133.55 * 10**3 #Resistance (in ohm) \n",
+ "alpha = 0.985 #Current gain in CB\n",
+ "VCC = 16 #Collector supply voltage (in volts) \n",
+ "VCE = 6 #Collector-emitter voltage (in volts)\n",
+ "IE = 2.0 * 10**-3 #Emitter current (in Ampere)\n",
+ "IC = alpha*IE #Collector current (in Ampere)\n",
+ "IB = IE - IC #Base current (in Ampere)\n",
+ "beta = alpha/(1-alpha) #Current gain in CE \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "VBE = 0.2 #Base-emitter voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RC = (VCC - VCE - IE*RE)/IC #Collector resistance (in ohm)\n",
+ "Vth = R2/(R1 + R2)*VCC #Voltage across R2 (in volts)\n",
+ "Rth = R1*R2/(R1+R2) #Thevenin's equivalence resistance (in ohm)\n",
+ "S = (1+beta)/(1 + beta*RE/(Rth+RE)) #Stability factor \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"R1 : \",round(R1 * 10**-3,2),\"kilo-ohm.\"\n",
+ "print \"RC : \",round(RC * 10**-3,2),\"kilo-ohm.\"\n",
+ "print \"S : \",round(S,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.14 , Page Number 243 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IB : 0.04 mA.\n",
+ "IE : 2.04 mA.\n",
+ "Rth : 5.765 kilo-ohm.\n",
+ "Vth : 3.4826 V.\n",
+ "R1 : 33.1 kilo-ohm.\n",
+ "R2 : 6.98 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 50.0 #Current gain in CE\n",
+ "VBE = 0.6 #Base-emitter voltage (in\n",
+ "RC = 4.7 * 10**3 #Collector resistance (in ohm)\n",
+ "VCC = 20 #Collector supply voltage (in volts) \n",
+ "IC = 2.0 * 10**-3 #Collector current (in Ampere)\n",
+ "VCE = 8 #Collector-emitter voltage (in volts)\n",
+ "RE = 1.3 * 10**3 #Emitter resistance (in ohm)\n",
+ "S = 5 #Stability factor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IC/beta #base current (in Ampere) \n",
+ "IE = IB + IC #Emitter current (in Ampere)\n",
+ "Rth = (S - 1)*RE/(1 -S/(1+beta)) #Thevenin's equivalent resistance (in ohm)\n",
+ "Vth = IB * Rth + VBE + IE*RE #Thevenin's equivalent voltage (in volts)\n",
+ "R1 = Rth * VCC/Vth #Resistance1 (in ohm)\n",
+ "R2 = Vth * R1/(VCC - Vth) #Resistance2 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IB : \",IB*10**3,\"mA.\"\n",
+ "print \"IE : \",IE*10**3,\"mA.\"\n",
+ "print \"Rth : \",round(Rth*10**-3,3),\"kilo-ohm.\"\n",
+ "print \"Vth : \",round(Vth,4),\"V.\"\n",
+ "print \"R1 :\",round(R1*10**-3,1),\"kilo-ohm.\"\n",
+ "print \"R2 : \",round(R2*10**-3,2),\"kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.15 , Page Number 244 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "RC : 5.376 kilo-ohm.\n",
+ "RE : 9.75 kilo-ohm.\n",
+ "R1 : 248.0 kilo-ohm.\n",
+ "R2 : 141.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "dICbyIC = 10 #Percentage change in IC \n",
+ "VBE25max = 0.7 #Max VBE at 25 degree Celsius (in volts)\n",
+ "VBE25min = 0.6 #Min VBE at 25 degree Celsius (in volts)\n",
+ "ICO25 = 5 * 10**-9 #Reverse saturation current at 25 degree celsius (in Ampere)\n",
+ "ICO145 = 3 * 10**-6 #Reverse saturation current at 145 degree celsius (in Ampere)\n",
+ "VCC = 20 #Collector supply voltage (in volts)\n",
+ "VCE = 10 #Collector-emitter voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dIC = 5.0/100 * 0.6 #Change in collector current (in milli-Ampere)\n",
+ "dICO = ICO145 - ICO25 #Change in reverse saturation current (in Ampere)\n",
+ "S = dIC/dICO #Stability factor\n",
+ "dVBE = -2.5 * (145 - 25) #Change in VBE (in volts)\n",
+ "SV = dIC/dVBE #SV\n",
+ "beta = hfe = 400 #Current gain in CE\n",
+ "#Rth + Re = 99750.6 \n",
+ "#RE = 391.0/3609 * Rth\n",
+ "RE = 9.75 #Emitter resistance (in kilo-ohm) \n",
+ "Rth = 90 #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "dIC1 = S*ICO145 + SV*dVBE #Change in collector current1 (in milli-Ampere) \n",
+ "IC = 0.6 + dIC1 #Collector current (in milli- Ampere) \n",
+ "IE = IC + IC/beta #Emitter current (in milli-Ampere)\n",
+ "RC = (VCC - IE*RE - VCE)/IC #Collector resistance (in ohm)\n",
+ "VBE = 0.65 #emitter-base voltage (in volts)\n",
+ "Vth = IC/beta*Rth + VBE + IE*RE #Thevenin's equivalent voltage (in volts)\n",
+ "R1 = Rth * VCC/Vth #Resistance1 (in kilo-ohm)\n",
+ "R2 = Vth * R1/(VCC - Vth) #Resistance2 (in kilo-ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"RC : \",round(RC,3),\" kilo-ohm.\\nRE : \",RE,\" kilo-ohm.\\nR1 : \",round(R1),\" kilo-ohm.\\nR2 : \",round(R2),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.16 , Page Number 245 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R1 : 36.238 kilo-ohm.\n",
+ "RC : 2.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "hfe = 100 #Current gain in CE\n",
+ "VBE = 0.7 #Emitter-base voltage (in volts)\n",
+ "ICO = 0 #Reverse saturation current (in Ampere)\n",
+ "IC = 1.0 * 10**-3 #Collector current (in Ampere)\n",
+ "VCE = 2.5 #Collector-emitter voltage (in volts) \n",
+ "VCC = 5 #Collector supply voltage (in volts) \n",
+ "R2 = 10 * 10**3 #Resistance2 (in ohm) \n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1 = 36.238 * 10**3 #Resistance1 (in ohm) \n",
+ "RC = (VCC - VCE)/IC #Collector resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"R1 : \",R1*10**-3,\"kilo-ohm.\\nRC : \",RC*10**-3,\"kilo-ohm.\"\n",
+ "\n",
+ "#Printing mistake in the value of RC in book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.17 , Page Number 245 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VCE : 5.0 V.\n",
+ "IE : 1.1 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 100 #Current gain in CE\n",
+ "R1 = 10.0 * 10**3 #Resistance1 (in ohm)\n",
+ "R2 = 2.2 * 10**3 #Resistance2 (in ohm)\n",
+ "VCC = 10 #Collector supply voltage (in volts)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RC = 3.6 * 10**3 #Collector resistance (in ohm)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RB = R1*R2/(R1+R2) #Base resistance (in ohm)\n",
+ "Vth = VCC*R2/(R1 + R2) #Thevenin's voltage (in volts)\n",
+ "IE = (Vth - VBE)/(RE - Rth/(beta + 1)) #Emitter current (in Ampere)\n",
+ "IC = beta*1.0/(beta + 1)*IE #Collector current (in Ampere) \n",
+ "VCE = VCC - IC*RC - IE*RE #Collector-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "\n",
+ "print \"VCE : \",round(VCE),\"V.\\nIE : \",round(IE*10**3,2),\"mA.\"\n",
+ "\n",
+ "#Slight varaition due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.18 , Page Number 246 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VC : -14.25 V.\n",
+ "IB : -17.62 micro-A\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 200 #Current gain in CE\n",
+ "R1 = 82.0 * 10**3 #Resistance1 (in ohm)\n",
+ "R2 = 16.0 * 10**3 #Resistance2 (in ohm)\n",
+ "VCC = -22 #Collector supply voltage (in volts)\n",
+ "RE = 750 #Emitter resistance (in ohm)\n",
+ "RC = 2.2 * 10**3 #Collector resistance (in ohm)\n",
+ "VBE = -0.7 #Base-emitter voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC*R2/(R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "Rth = R1*R2/(R1+R2) #Thevenin's equivalent resistance (in ohm)\n",
+ "IB = (Vth - VBE)/(Rth +(beta+1)*RE)#Base current (in Ampere) \n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "VC = VCC - IC*RC #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"VC : \",round(VC,2),\"V.\"\n",
+ "print \"IB : \",round(IB * 10**6,2),\" micro-A\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.19 , Page Number 246"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IB : 0.04 mA.\n",
+ "IC : 2.0 mA.\n",
+ "VCE : 14.0 V.\n",
+ "VE : 2.0 V.\n",
+ "VB : 2.8 V.\n",
+ "VC : 16.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 20 #collector supply voltage (in volts)\n",
+ "beta = 50 #Current gain in CE\n",
+ "RB = 430.0 * 10**3 #Base resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RC = 2.0 * 10**3 #Collector resistance (in ohm)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts) \n",
+ "IC = 2 * 10**-3 #Collector current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VCE = VCC - IC*(RC+RE) #Collector-emitter voltage (in volts) \n",
+ "VC = VCC - RC*IC #Output voltage (in volts)\n",
+ "VE = VC - VCE #Emitter voltage (in volts)\n",
+ "IB = 0.04 * 10**-3 #Base current (in Ampere)\n",
+ "IE = (1+beta)*IB #Emitter current (in Ampere)\n",
+ "VB = VCC - 430*10**3*IB #Base voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IB : \",IB*10**3,\"mA.\\nIC : \",IC*10**3,\"mA.\\nVCE : \",VCE,\"V.\\nVE : \",VE,\"V.\\nVB : \",VB,\"V.\\nVC : \",VC,\"V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.20 , Page Number 246 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point will be ICQ : 2.23 mA , VCEQ : 8.85 V.\n",
+ "Stability factor : 7.35 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "alpha = 0.985 #Current gain in CB\n",
+ "R1 = 50.0 * 10**3 #Resistance1 (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance2 (in ohm)\n",
+ "VCC = 20 #Collector supply voltage (in volts)\n",
+ "RE = 2.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RC = 3.0 * 10**3 #Collector resistance (in ohm)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC*R2/(R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "Rth = R1*R2/(R1+R2) #Thevenin's equivalent resistance (in ohm)\n",
+ "beta = alpha/(1-alpha) #Current gain in CE\n",
+ "IB = (Vth - VBE)/(Rth +(beta+1)*RE)#Base current (in Ampere) \n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC*(RE + RC) #Collector-emitter voltage (in volts)\n",
+ "S = (1 + beta)/(1 + beta*(RE/(Rth + RE))) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point will be ICQ : \",round(IC*10**3,2),\"mA , VCEQ : \",round(VCE,2),\"V.\"\n",
+ "print \"Stability factor : \",round(S,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.21 , Page Number 247 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R1 : 81.54 kilo-ohm.\n",
+ "R2 : 26.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "RL = 1.0 * 10**3 #Load resistance (in ohm) \n",
+ "RE = 200 #Emitter resistance (in ohm)\n",
+ "beta = 100 #Current gain in CE\n",
+ "VCC = 9 #Collector supply voltage (in volts)\n",
+ "ICQ = 3.75 * 10**-3 #Q-point Collector current (in Ampere)\n",
+ "VCEQ = 4.5 #Q-point collector-emitter voltage (in volts)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = ICQ/beta #Base current (in Ampere)\n",
+ "IE = (1 + beta)*IB #Emitter current (in Ampere)\n",
+ "Rth = 20.0 * 10**3 #Thevenin's eq. resistance (in ohm)\n",
+ "Vth = IB*Rth + VBE +IE*RE #Thevenin's equivalent voltage (in volts)\n",
+ "R1 = Rth*VCC/Vth #Resistance1 (in ohm)\n",
+ "R2 = R1*Vth/(VCC - Vth) #Resistance2 (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"R1 : \",round(R1*10**-3,2),\"kilo-ohm.\\nR2 : \",round(R2*10**-3,1),\"kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.22 , Page Number 248 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point , Q will be ICQ = 1.9 mA and VCEQ = 9.9 V.\n",
+ "Stability factor : 8.62 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 22.5 #collector supply voltage (in volts)\n",
+ "beta = 55 #Current gain in CE\n",
+ "RB = 430.0 * 10**3 #Base resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RC = 5.6 * 10**3 #Collector resistance (in ohm)\n",
+ "VBE = 0 #Base-emitter voltage (in volts) \n",
+ "IC = 2 * 10**-3 #Collector current (in Ampere)\n",
+ "R1 = 90 * 10**3 #Resistance1 (in ohm)\n",
+ "R2 = 10 * 10**3 #Resistance2 (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Rth = R1*R2/(R1+R2) #Thevenin's eq. resistance (in ohm) \n",
+ "Vth = VCC * R2/(R1 + R2) #Thevenin's eq. voltage (in volts)\n",
+ "IB = (Vth - VBE)/(Rth +(beta + 1)*RE) #Base current (in Ampere)\n",
+ "IC = beta*IB #Collector current (in Ampere)\n",
+ "IE = (beta + 1)*IB #Emitter current (in Ampere)\n",
+ "VCE = VCC - IC*RC - IE*RE #Collector-emitter voltage (in volts)\n",
+ "S = (1 + beta)/(1 + beta*RE/(Rth + RE)) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point , Q will be ICQ =\",round(IC*10**3,2),\"mA and VCEQ =\",VCE,\"V.\"\n",
+ "print \"Stability factor : \",round(S,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "##Example 7.23 , Page Number 248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "beta : 153.4 .\n",
+ "VCC : 17.6842 V.\n",
+ "RB : 779.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "RC = 2.7 * 10**3 #Collector resistance (in ohm)\n",
+ "RE = 0.68 * 10**3 #Emitter resistance (in ohm)\n",
+ "IB = 20.0 * 10**-6 #Base current (in Ampere)\n",
+ "VCE = 7.3 #Collector-emitter voltage (in volts)\n",
+ "VE = 2.1 #Emitter voltage (in volts)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = VE/RE #Emitter current (in Ampere)\n",
+ "beta = IE/IB - 1 #Current gain in CE\n",
+ "VCC = beta*IB*RC + VCE + IE*RE #Collector supply voltage (in volts)\n",
+ "RB = (VCC - VE)/IB #Base resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"beta : \",round(beta,1),\".\\nVCC : \",round(VCC,4),\"V.\\nRB : \",round(RB*10**-3),\"kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.24 , Page Number 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R1 : 45.0 kilo-ohm.\n",
+ "R2 : 9.14 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta=hfe = 100.0 #Current gain in CE\n",
+ "VBE = .6 #Base-emitter voltage (in volts)\n",
+ "IC = 1.0 * 10**-3 #Collector current (in Ampere)\n",
+ "S = 8 #Stability factor\n",
+ "VCC = 10 #Collector supply voltage (in volts)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm) \n",
+ "VCE = 5 #Collector-emitter resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IC/beta #Base current (in Ampere)\n",
+ "IE = IC + IB #Emitter current (in Ampere)\n",
+ "RC = (VCC - VCE - IE*RE)/IC #Collector resistance (in ohm)\n",
+ "Rth = RE*(beta*S/(1+beta-S) -1) #Thevenin's resistance(in ohm)\n",
+ "Vth = IB*Rth + VBE + IE*RE #Thevenin's eq. voltage (in volts)\n",
+ "R1 = Rth*VCC/Vth #Resistance1 (in ohm)\n",
+ "R2 = (Vth*R1)/(VCC-Vth) #Resistance2 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"R1 : \",round(R1*10**-3),\"kilo-ohm.\\nR2 : \",round(R2*10**-3,2),\"kilo-ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.25 , Page Number 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VCEQ : 3.2 V.\n",
+ "ICQ : 1.8 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 100 #Current gain in CE\n",
+ "R1 = 2.2 * 10**3 #Resistance1 (in ohm)\n",
+ "R2 = 2.2 * 10**3 #Resistance2 (in ohm)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "VCC = 5 #Collector supply voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VA = VCC * R2/(R1 + R2) #Voltage at A (in volts)\n",
+ "IE = (VA - VBE)/RE #Emitter current (in Ampere)\n",
+ "VCEQ = VCC - IE*RE #Q-point VCE (in volts)\n",
+ "ICQ = IE #Q-point IC (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"VCEQ : \",VCEQ,\"V.\"\n",
+ "print \"ICQ : \",ICQ * 10**3,\"mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.26 , Page Number 250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VCEQ : 9.74 V.\n",
+ "ICQ : 1.13 mA.\n",
+ "IB : 11.3 micro-A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 100 #current gain in CE \n",
+ "VCC = 12 #Collector supply voltage (in volts)\n",
+ "R1 = 15.0 * 10**3 #Resistance1 (in ohm)\n",
+ "R2 = 2.7 * 10**3 #Resistance2 (in ohm)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RC = 1.0 * 10**3 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VA = VCC*R2/(R1 + R2) #Potential at A (in volts)\n",
+ "IE = (VA - VBE)/RE #Emitter current (in Ampere)\n",
+ "IC = IE #Collector current (in Ampere) \n",
+ "VCEQ = VCC - IC*(RC + RE) #VCE at Q (in volts)\n",
+ "ICQ = IE #IC at Q (in volts)\n",
+ "IB = IC/beta #Base current (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"VCEQ : \",round(VCEQ,2),\"V.\\nICQ : \",round(ICQ*10**3,2),\"mA.\"\n",
+ "print \"IB : \",round(IB * 10**6,1),\"micro-A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.27 , Page Number 250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operation point : ICQ = 1.955 mA , VCQ = 6.224 V.\n",
+ "Stability factor : 7.54 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 16 #Collector supply voltage (in volts)\n",
+ "RC = 3.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RE = 2.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "R1 = 56.0 * 10**3 #Resistance1 (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance2 (in ohm)\n",
+ "alpha = 0.985 #Current gain in CB \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = alpha/(1-alpha) #Current gain in CE\n",
+ "VBE = 0.3 #Base-emitter voltage (in volts)\n",
+ "VB = VCC * R2/(R1 + R2) #Base voltage (in volts)\n",
+ "IC = (VB - VBE)/RE #Collector current (in Ampere)\n",
+ "VCE = VCC - IC*(RE + RC) #Collector-emitter voltage (in volts)\n",
+ "Rth = R1*R2/(R1 + R2) #Thevenin's eq. resistance (in ohm)\n",
+ "S = (1 + beta)*(1 + Rth/RE)/(1 + beta + Rth/RE) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operation point : ICQ = \",round(IC*10**3,3),\"mA , VCQ = \",round(VCE,3),\"V.\"\n",
+ "print \"Stability factor : \",round(S,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.28 , Page Number 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0.002 8.95e-05 0.0018795 3192.33838787 20000.0 8.49\n",
+ "R1 : 47.1 kilo-ohm.\n",
+ "R2 : 34.75 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 20 #Collector supply voltage (in volts)\n",
+ "RL = 4.0 * 10**3 #Load resistance (in ohm)\n",
+ "VCE = 6.0 #Collector-emitter voltage (in volts)\n",
+ "IC = 2.0 * 10**-3 #Collector current (in Ampere)\n",
+ "beta=hfe = 20 #Current gain in CE\n",
+ "ICO = 10 * 10**-6 #Reverse saturation current (in Ampere)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (IC - (1 + beta)*ICO)/beta #Base current (in Ampere)\n",
+ "IC = beta*IB + (1 + beta)*ICO #Collector current (in Ampere)\n",
+ "IE = (beta + 1)*IB #Emitter current (in Ampere)\n",
+ "RE = (VCC - IC*RL - VCE)/IE #Emitter resistance (in ohm)\n",
+ "Rth = 20.0 * 10**3 #Thevenin's eq. resistance (in ohm)\n",
+ "Vth = IB*Rth + VBE + IE*RE #Thevenin's eq. voltage (in volts)\n",
+ "R1 = Rth*VCC/Vth #Resitance1 (in ohm)\n",
+ "R2 = R1*Vth/(VCC - Vth) #Resistance2 (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"R1 : \",round(R1*10**-3,1),\"kilo-ohm.\\nR2 : \",round(R2*10**-3,2),\"kilo-ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.29 , Page Number 252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the graph: \n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x637cf70>"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5e39390>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,ylim,xlim,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 100\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICQ = 1.07 #Collector current at Q-point (in milli-Ampere)\n",
+ "VCQ = 5.067 #Collector-emitter voltage at Q-point (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the graph: \"\n",
+ "\n",
+ "x = numpy.linspace(0,5.07,100)\n",
+ "y1 = numpy.linspace(0,1.07/2,100)\n",
+ "x1 = numpy.linspace(0,5.067/2,100)\n",
+ "plot(x,1.07-1.07/5.07*x,'b')\n",
+ "plot(x1,1.07/2+x1-x1,'--',color='g')\n",
+ "plot(5.067/2+y1-y1,y1,'--',color='g')\n",
+ "annotate('Q - POINT',xy=(5.067/2,1.07/2))\n",
+ "xlim(0,6)\n",
+ "ylim(0,1.1)\n",
+ "title(\"DC Load line\")\n",
+ "xlabel(\"-VCE in Volts->\")\n",
+ "ylabel(\"-IC in mA->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.30 , Page Number 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RB : 61.43 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 50 #current gain in CE \n",
+ "VCC = 12 #Collector supply voltage (in volts)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "RB = 100.0 * 10**3 #Base resistance (in ohm)\n",
+ "RC = 2.0 * 10**3 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/(beta*RC + RB) #Base current (in Ampere) \n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC*RC #Collector-emitter voltage (in volts)\n",
+ "VCE1 = 5 #New collector-emitter voltage (in volts) \n",
+ "IC1 = (VCC - VCE1)/RC #Collector current1 (in Ampere)\n",
+ "IB1 = IC1/beta #Base current1 (in Ampere)\n",
+ "RB1 = (VCC - VBE - beta*IB1*RC)/IB1 #Base resistance1 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RB :\",round(RB1*10**-3,2),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.31 , Page Number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0.016 0.0158415841584 0.000158415841584\n",
+ "Value of collector to base resistance : 25.25 kilo-ohm.\n",
+ "Stability factor : 21.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 100.0 #Current gain in CE\n",
+ "RC = 1.0 * 10**3 #Collector resistance (in ohm)\n",
+ "VCC = 20.0 #Collector supply voltage (in volts)\n",
+ "VBE = 0 #Base-emitter voltage (in volts)\n",
+ "VCEQ = 4 #VCE at Q-point (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1C = (VCC - VCEQ)/RC #Collector current1 (in Ampere)\n",
+ "IC = I1C/(1+1/beta) #Collector current (in Ampere)\n",
+ "IB = I1C - IC #base current (in Ampere)\n",
+ "RB = (VCEQ + VBE)/IB #Base resistance (in ohm)\n",
+ "S = (1 + beta)/(1 + beta*RC/(RB + RC)) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of collector to base resistance :\",RB*10**-3,\"kilo-ohm.\"\n",
+ "print \"Stability factor :\",S,\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.32 , Page Number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ICQ : 2.475 mA , VCEQ : 4.95 V.\n",
+ "Stability factor : 25.75 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables \n",
+ "\n",
+ "beta = 50 #Current gain in CB\n",
+ "VCC = 10 #Collector supply voltage (in volts)\n",
+ "RC = 2.0 * 10**3 #Collector resistance (in ohm)\n",
+ "VBE = 0 #Base-emitter voltage (in volts)\n",
+ "RB = 100 * 10**3 #Base resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC/(RB + (1 + beta)*RC) #Base current (in Ampere)\n",
+ "IC = beta*IB #Collector current (in Ampere)\n",
+ "VCE = VCC - (IC + IB)*RC #Collector-emitter voltage (in volts)\n",
+ "ICQ = IC #IC at Q-point (in Ampere)\n",
+ "S = (1 + beta)/(1 + beta*RC/(RC + RB)) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"ICQ : \",round(ICQ * 10**3,3),\"mA , VCEQ : \",round(VCE,2),\"V.\"\n",
+ "print \"Stability factor : \",round(S,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.33 , Page Number 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum collector current : 3.66 mA.\n",
+ "Minimum collector current : 2.13 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "betamax = 180 #Current gain max. in CE\n",
+ "betamin = 60 #Current gain min. in CE\n",
+ "VCC = 15 #Collector supply voltage (in volts)\n",
+ "RB = 250.0 * 10**3 #Base resistance (in ohm)\n",
+ "RC = 2.5 * 10**3 #Collector resistance (in ohm) \n",
+ "VBE = 0.7 #Base-collector voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#IC = (VCC - VBE)/(RC + RC/beta + RB/beta) #Collector current (in Ampere)\n",
+ "ICmax = (VCC - VBE)/(RC + RC/betamax + RB/betamax) #Max. collector current (in Ampere)\n",
+ "ICmin = (VCC - VBE)/(RC + RC/betamin + RB/betamin) #Min. collector current (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum collector current : \",round(ICmax*10**3,2),\"mA.\"\n",
+ "print \"Minimum collector current : \",round(ICmin*10**3,2),\"mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.34 , Page Number 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When beta increases due to temperature , VCE will decrease.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 90 #Current gain in CE\n",
+ "VCC = 18 #Collector supply voltage (in volts)\n",
+ "RB = 510.0 * 10**3 #Base resistance (in ohm)\n",
+ "RC = 2.2 * 10**3 #Collector resistance (in ohm) \n",
+ "RE = 1.8 * 10**3 #Emitter resistance (in ohm) \n",
+ "VBE = 0.7 #Base-collector voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC/(RB + (1 + beta)*(RC+RE)) #Base current (in Ampere)\n",
+ "IC = beta*IB #Collector current (in Ampere)\n",
+ "VCE = VCC - (IC + IB)*RC -IE*RE #Collector-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"When beta increases due to temperature , VCE will decrease.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.35 , Page Number 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Old ICQ : 1.06 mA and new ICQ : 1.2 mA.\n",
+ "Old VCEQ : 3.65 V and new VCEQ : 2.85 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "beta = 90.0 #Current gain in CE\n",
+ "VCC = 10 #Collector supply voltage (in volts)\n",
+ "RB = 250.0 * 10**3 #Base resistance (in ohm)\n",
+ "RC = 4.7 * 10**3 #Collector resistance (in ohm) \n",
+ "RE = 1.2 * 10**3 #Emitter resistance (in ohm) \n",
+ "VBE = 0.7 #Base-collector voltage (in volts)\n",
+ "beta1 = 135 #New current gain in CE\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC-VBE)/((RE+RC)*(1/beta + 1) + RB/beta)#Collector current (in Ampere)\n",
+ "ICQ = IC #Collector current at Q-point (in Ampere)\n",
+ "IB = IC/beta #Base current (in Ampere)\n",
+ "VCE = VCC - (IC + IB)*(RC+RE) #Collector-emitter voltage (in volts)\n",
+ "VCEQ = VCE #Collector-emitter voltage at Q-point (in volts)\n",
+ "ICQ1 = (VCC-VBE)/((RE+RC)*(1/beta1 + 1) + RB/beta1) #Collector current1 at Q-point (in Ampere)\n",
+ "IB1 = ICQ1/beta #Base current1 (in Ampere) \n",
+ "VCEQ1 = VCC - (ICQ1 + IB)*(RC+RE) #Collector-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "\n",
+ "print \"Old ICQ :\",round(ICQ*10**3,2),\"mA and new ICQ :\",round(ICQ1*10**3,3),\"mA.\"\n",
+ "print \"Old VCEQ :\",round(VCEQ,2),\"V and new VCEQ :\",round(VCEQ1,2),\"V.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.36 , Page Number 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Vo : 13.9 V.\n",
+ "RF : 110.91 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 15 #Collector supply voltage (in volts) \n",
+ "IE = 1.0 * 10**-3 #Emitter current (in Ampere)\n",
+ "beta = 99 #Current gain in CE\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "R1 = 17.0 * 10**3 #Resistance1 (in ohm)\n",
+ "RC = 1.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (IE)/(beta + 1) #Base current (in Ampere)\n",
+ "IC = beta*IB #Collector current (in Ampere)\n",
+ "IR1 = (VBE + IE*RE)/R1 #Current through R1 (in Ampere)\n",
+ "IRF = IR1 + IB #Current through RF (in Ampere)\n",
+ "I1C = IC + IRF #Current through RC (in Ampere)\n",
+ "Vo = VCC - I1C*RC #Output voltage (in volts)\n",
+ "RF = (Vo - VBE - IE*RE)/IRF #Resistance RF (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Vo : \",round(Vo,1),\"V.\"\n",
+ "print \"RF : \",round(RF*10**-3,2),\"kilo-ohm.\"\n",
+ "\n",
+ "#Calculation error in book for value of RF."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.37 , Page Number 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R : 106.9 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 24 #Collector supply voltage (in volts)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "RC = 10.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RE = 270.0 #Emitter resistance (in ohm)\n",
+ "VCE = 5 #Collector-emitter voltage (in volts) \n",
+ "beta = 45 #Current gain in CE\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VCC - VCE )/(RC + RE) #Emitter current (in Ampere)\n",
+ "IB = IE/(beta + 1) #Base current (in Ampere)\n",
+ "RB = (VCC - VBE - IE*(RE + RC))/IB #Base resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "\n",
+ "print \"R : \",round(RB*10**-3,1),\"kilo-ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.38 , Page Number 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rth : 9989.0 ohm.\n",
+ "IB : 20.0 micro-A.\n",
+ "IE : 2.0 mA.\n",
+ "Vth : 2.9 V.\n",
+ "R1 : 68.4 kilo-ohm.\n",
+ "R2 : 11.7 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VCC = 20 #Collector supply voltage (in volts)\n",
+ "VBE = 0.7 #Base-emitter voltage (in volts)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "beta = 100 #Current gain in CE\n",
+ "IC = 2.0 * 10**-3 #Collector current (in Ampere) \n",
+ "S = 10 #Stability factor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IC/beta #Base current (in Ampere)\n",
+ "IE = IB + IC #Emitter current (in Ampere)\n",
+ "Rth = beta*S*RE/(1 + beta - S) - RE #Thevenin's eq. resistance (in ohm)\n",
+ "Vth = IB*Rth + VBE + IE*RE #Thevenin's eq. voltage (in volts) \n",
+ "R1 = Rth*VCC/Vth #Resitance1 (in ohm)\n",
+ "R2 = R1*Vth/(VCC - Vth) #Resistance2 (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Rth : \",round(Rth),\"ohm.\"\n",
+ "print \"IB : \",round(IB*10**6),\"micro-A.\"\n",
+ "print \"IE : \",round(IC*10**3,2),\"mA.\"\n",
+ "print \"Vth : \",round(Vth,1),\"V.\"\n",
+ "print \"R1 : \",round(R1*10**-3,1),\"kilo-ohm.\"\n",
+ "print \"R2 : \",round(R2*10**-3,1),\"kilo-ohm.\"\n",
+ "\n",
+ "#Slight variations due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.39 , Page Number 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 94,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the graph of ac and dc load lines.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x858b350>"
+ ]
+ },
+ "execution_count": 94,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nBwAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x8721e70>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,ylim,xlim,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 3.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RL = 12.0 * 10**3 #Load resistance (in ohm)\n",
+ "R1 = 16.0 * 10**3 #Resitance1 (in ohm)\n",
+ "R2 = 4.0 * 10**3 #Resistance2 (in ohm)\n",
+ "RE = 2.0 * 10**3 #Emitter Resistance (in ohm)\n",
+ "VCEcutoff = VCC = 20 #Collector supply voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = VCC/(RC + RE) #Collector current(in Ampere) \n",
+ "VE = VCC*R2/(R1 + R2) #Voltage across R2 (in volts)\n",
+ "IE = VE/RE #Emitter current (in Ampere)\n",
+ "ICQ = IE #IC at Q-point (in Ampere)\n",
+ "VCEQ = VCC - ICQ*(RC + RE) #VCE at Q-point (in Ampere)\n",
+ "Rac = RC*RL/(RC + RL) #AC resistance (in ohm)\n",
+ "ICsat = ICQ + VCEQ/Rac #IC saturation (in Ampere)\n",
+ "VCEoff = VCEQ + ICQ*Rac #VCE cut-off for ac load line (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the graph of ac and dc load lines.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "x2 = numpy.linspace(0,14.8,100)\n",
+ "y1 = numpy.linspace(0,2,100)\n",
+ "x1 = numpy.linspace(0,10,100)\n",
+ "plot(x,4-4/20.0*x,'b')\n",
+ "plot(x2,6.17-6.17/14.8*x2,'r')\n",
+ "plot(x1,2+x1-x1,'--',color='g')\n",
+ "plot(10+y1-y1,y1,'--',color='g')\n",
+ "annotate('Q',xy=(10,2.2))\n",
+ "annotate('DC load line',xy=(14,1.3))\n",
+ "annotate('AC load line',xy=(5.5,4))\n",
+ "xlim(0,20)\n",
+ "ylim(0,7)\n",
+ "title(\"DC and AC Load lines\")\n",
+ "xlabel(\"-VCE in Volts->\")\n",
+ "ylabel(\"-IC in mA->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 7.40 , Page Number 268"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 95,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Input resistance : 1.667 kilo-ohm.\n",
+ "Current gain : 80.0 .\n",
+ "AC load : 4.0 kilo-ohm.\n",
+ "Voltage gain : 192.0 .\n",
+ "Power gain : 15360.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "dVBE = 0.025 #Change in VBE (in volts)\n",
+ "dIB = 15.0 * 10**-6 #Change in base current (in Ampere)\n",
+ "dIC = 1.2 * 10**-3 #Change in collector current (in Ampere)\n",
+ "RC = 6.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RL = 12.0 * 10**3 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Rin = dVBE/dIB #Input resistance (in ohm)\n",
+ "beta = dIC/dIB #Current gain in CE\n",
+ "Rac = RC*RL/(RC+RL) #AC load (in ohm)\n",
+ "Av = beta*Rac/Rin #Voltage gain \n",
+ "Ap = beta*beta*Rac/Rin #Power gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance : \",round(Rin*10**-3,3),\"kilo-ohm.\"\n",
+ "print \"Current gain : \",beta,\".\"\n",
+ "print \"AC load : \",Rac*10**-3,\"kilo-ohm.\"\n",
+ "print \"Voltage gain : \",Av,\".\"\n",
+ "print \"Power gain : \",Ap,\".\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}