summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch1.ipynb860
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch10.ipynb957
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch11.ipynb529
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch12.ipynb145
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch2.ipynb600
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch3.ipynb529
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch4.ipynb757
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch5.ipynb290
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch6.ipynb474
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch7.ipynb1604
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch8.ipynb282
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/Ch9.ipynb474
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve.pngbin0 -> 11643 bytes
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve2.pngbin0 -> 11656 bytes
-rw-r--r--Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadDurationCurve.pngbin0 -> 13380 bytes
-rw-r--r--sample_notebooks/FameethaAlamBasha/Chapter7_1.ipynb78
-rw-r--r--sample_notebooks/Hrituraj/Ch-6_1.ipynb547
-rw-r--r--sample_notebooks/NishthaRani/Chapter12.ipynb428
-rw-r--r--sample_notebooks/SaleemAhmed/Chapter10_1.ipynb441
-rw-r--r--sample_notebooks/VivekMaindola/chap3.ipynb617
20 files changed, 9612 insertions, 0 deletions
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch1.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch1.ipynb
new file mode 100644
index 00000000..7a41be48
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch1.ipynb
@@ -0,0 +1,860 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1 : Introduction : Economics of Power Generation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.1 Page23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a)Load factor of the plant is 0.65\n",
+ "(b)Load factor of a standby equipment of 30 capacity if it takes up all the loads above 70 MW is 0.75\n",
+ "(c)Use factor is 0.75\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nB0lSx/8HyW8b+IT12xEAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f5c10894090>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n",
+ "#Input data\n",
+ "C=30#Capacity in MW\n",
+ "M=70#Loads are taken above 70 MW\n",
+ "t1=[0,6]#Time range in hours\n",
+ "t2=[6,10]#Time range in hours\n",
+ "t3=[10,12]#Time range in hours\n",
+ "t4=[12,16]#Time range in hours\n",
+ "t5=[16,20]#Time range in hours\n",
+ "t6=[20,22]#Time range in hours\n",
+ "t7=[22,24]#Time range in hours\n",
+ "L=[30,70,90,60,100,80,60]#Load in MW\n",
+ "\n",
+ "#Calculations\n",
+ "E=((L[0]*(t1[1]-t1[0]))+(L[1]*(t2[1]-t2[0]))+(L[2]*(t3[1]-t3[0]))+(L[3]*(t4[1]-t4[0]))+(L[4]*(t5[1]-t5[0]))+(L[5]*(t6[1]-t6[0]))+(L[6]*(t7[1]-t7[0])))#Energy generated in MWh\n",
+ "AL=(E/24)#Average load in MW\n",
+ "PL=max(L[0],L[1],L[2],L[3],L[4],L[5],L[6])#Peak load in MW\n",
+ "LF=(AL/PL)#Load factor of the plant\n",
+ "E1=((L[2]-M)*(t3[1]-t3[0]))+((L[4]-M)*(t5[1]-t5[0]))+((L[5]-M)*(t6[1]-t6[0]))#Energy generated if the load above 70 MW is supplied by a standby unit of 30 MW capacity in MWh\n",
+ "T=(t3[1]-t3[0])+(t5[1]-t5[0])+(t6[1]-t6[0])#Time during which the standby unit remains in operation in h\n",
+ "AL1=(E1/T)#Average load in MW\n",
+ "LF1=(AL1/C)#Load factor \n",
+ "U=(E1/(C*T))#Use factor\n",
+ "\n",
+ "#Output\n",
+ "t=[0,0,6,6,10,10,12,12,16,16,20,20,22,22,24,24]#Time for plotting load curve in hours\n",
+ "l=[0,30,30,70,70,90,90,60,60,100,100,80,80,60,60,0]#Load for plotting load curve in MW\n",
+ "plot(t,l)#Load curve taking Time in hours on X-axis and Load in MW on Y- axis\n",
+ "title('Load Curve')\n",
+ "xlabel('Time hours')\n",
+ "ylabel('Load MW')\n",
+ "print \"(a)Load factor of the plant is %3.2f\\n(b)Load factor of a standby equipment of %3.0f capacity if it takes up all the loads above %3.0f MW is %3.2f\\n(c)Use factor is %3.2f\"%(LF,C,M,LF1,U)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.2 Page25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The average load on the power plant is 30 MW \n",
+ "(b) The energy supplied per year is 262.8 *10**6 kWh \n",
+ "(c) Demand factor is 0.811 \n",
+ "(d) Diversity factor is 1.233\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "P=60#Peak load on power plant in MW\n",
+ "L=[30,20,10,14]#Loads having maximum demands in MW\n",
+ "C=80#Capacity of the power plant in MW\n",
+ "A=0.5#Annual load factor\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "AL=(P*A)#Average load in MW\n",
+ "E=(AL*1000*Y)/10**6#Energy supplied per year in kWh*10**6\n",
+ "DF=(P/(L[0]+L[1]+L[2]+L[3]))#Demand factor \n",
+ "DIF=((L[0]+L[1]+L[2]+L[3])/P)#Diversity factor\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) The average load on the power plant is %3.0f MW \\n(b) The energy supplied per year is %3.1f *10**6 kWh \\n(c) Demand factor is %3.3f \\n(d) Diversity factor is %3.3f\"%(AL,E,DF,DIF)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.3 Page25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The annual revenue earned by the power plant is Rs 46.25 crore \n",
+ "(b) Capacity factor is 0.457\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "C=210#Capacity of thermal power plant in MW\n",
+ "P=160#Maximum load in MW\n",
+ "L=0.6#Annual load factor \n",
+ "m=1#Coal consumption per kWh of energy generated\n",
+ "Rs=450#Cost of coal in Rs per tonne\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "AL=(L*P)#Average load in MW\n",
+ "E=(AL*Y)#Energy generated per year in MWh\n",
+ "CL=(E*1000)#Coal required per year in kg\n",
+ "CY=(E*Rs)#Cost of coal per year\n",
+ "CE=CL#Cost of energy sold in Rs\n",
+ "RY=(CE-CY)/10**7#Revenue earned by the power plant per year in Rs crore\n",
+ "CF=(AL/C)#Capacity factor\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) The annual revenue earned by the power plant is Rs %3.2f crore \\n(b) Capacity factor is %3.3f\"%(RY,CF)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.4 Page 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) Annual energy production is 394.2 * 10**6 kWh \n",
+ "(b) Reserve capacity over and above the peak load is 15 MW \n",
+ "(c) The hours during which the plant is not in service per year is 674 hrs\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "L=0.75#Load factor\n",
+ "C=0.60#Capacity factor\n",
+ "U=0.65#Use factor\n",
+ "M=60#Maximum power demand in MW\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "A=(L*M)#Average load in MW\n",
+ "P=((A*1000)*Y)/10**6#Annual energy production in kWh *10**6\n",
+ "PC=(A/C)#Plant capacity in MW\n",
+ "R=(PC-M)#Reserve capacity in MW\n",
+ "HIO=(P*1000/(U*PC))#Hours in operation in hrs\n",
+ "NH=(Y-HIO)#Hours not in service in a year in hrs\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) Annual energy production is %3.1f * 10**6 kWh \\n(b) Reserve capacity over and above the peak load is %3.0f MW \\n(c) The hours during which the plant is not in service per year is %3.0f hrs\"%(P,R,NH)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.5 Page26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i)Overall cost per kWh in Steam power plant is 91 paise \n",
+ "(ii)Overall cost per kWh in Hydroelectric power plant is 67 paise \n",
+ "(iii)Overall cost per kWh in Nuclear power plant is 99 paise\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "Dd=500#Maximum demand in MW\n",
+ "L=0.7#Load factor \n",
+ "#1)Steam power plant 2)Hydroelectric power plant 3)Nuclear power plant\n",
+ "CC=[0,3,4,5]#Capital cost per MW installed in Rs. crore\n",
+ "I=[0,6,5,5]#Interest in percent\n",
+ "D=[0,6,4,5]#Depreciation in percent\n",
+ "OP=[0,30,5,15]#Operating cost (including fuel) per kWh\n",
+ "TD=[0,2,3,2]#Transmission and distribution cost per kWh\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "#1)Steam power plant\n",
+ "CCX=(CC[(1)]*Dd*10**7)#Capital cost in Rs\n",
+ "IX=((I[(1)]/100)*CCX)#Interest in Rs\n",
+ "DX=((D[(1)]/100)*CCX)#Depreciation in Rs\n",
+ "AFCX=IX+DX#Annual fixed cost in Rs\n",
+ "EX=(L*Dd*1000*Y)#Energy generated per year in kWh\n",
+ "RX=(OP[(1)]+TD[(1)])#Running cost/kWh in paise\n",
+ "OX=((AFCX/EX)+(RX/100))*100#Overall cost/kWh in paise\n",
+ "\n",
+ "#2)Hydroelectric Power plant\n",
+ "CCY=(CC[(2)]*Dd*10**7)#Capital cost in Rs\n",
+ "IY=((I[(2)]/100)*CCY)#Interest in Rs\n",
+ "DY=((D[(2)]/100)*CCY)#Depreciation in Rs\n",
+ "AFCY=IY+DY#Annual fixed cost in Rs\n",
+ "EY=(L*Dd*1000*Y)#Energy generated per year in kWh\n",
+ "RY=(OP[(2)]+TD[(2)])#Running cost/kWh in paise\n",
+ "OY=((AFCY/EY)+(RY/100))*100#Overall cost/kWh in paise\n",
+ "\n",
+ "#3)Nuclear power plant\n",
+ "CCZ=(CC[(3)]*Dd*10**7)#Capital cost in Rs\n",
+ "IZ=((I[(3)]/100)*CCZ)#Interest in Rs\n",
+ "DZ=((D[(3)]/100)*CCZ)#Depreciation in Rs\n",
+ "AFCZ=IZ+DZ#Annual fixed cost in Rs\n",
+ "EZ=(L*Dd*1000*Y)#Energy generated per year in kWh\n",
+ "RZ=(OP[(3)]+TD[(3)])#Running cost/kWh in paise\n",
+ "OZ=((AFCZ/EZ)+(RZ/100))*100#Overall cost/kWh in paise\n",
+ "\n",
+ "#Output\n",
+ "print \"(i)Overall cost per kWh in Steam power plant is %3.0f paise \\n(ii)Overall cost per kWh in Hydroelectric power plant is %3.0f paise \\n(iii)Overall cost per kWh in Nuclear power plant is %3.0f paise\"%(OX,OY,OZ)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.6 Page28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The cost of power generation per kWh is 70 paise \n",
+ "(b) The reserve capacity is 21 MW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "C=210#Capacity in MW\n",
+ "ID=12#Interest and depreciation in percent\n",
+ "CC=18000#Capital cost/kW installed in Rs\n",
+ "L=0.6#Annual load factor\n",
+ "AC=0.54#Annual capacity factor\n",
+ "RC=(200*10**6)#Annual running charges in Rs\n",
+ "E=6#Energy consumed by power plant auxiliaries in percent\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "MD=(C/L)*AC#Maximum demand in MW\n",
+ "RSC=(C-MD)#Reserve Capacity in MW\n",
+ "AL=(L*MD)#Average load in MW\n",
+ "EP=(AL*1000*Y)#Energy produced per year in kWh\n",
+ "NE=((100-E)/100)*EP#Net energy delivered in kWh\n",
+ "AID=((ID/100)*CC*C*1000)#Annual interest and depreciation in Rs\n",
+ "T=(AID+RC)#Total annual cost in Rs\n",
+ "CP=(T/NE)*100#Cost of power generation in paise\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) The cost of power generation per kWh is %3.0f paise \\n(b) The reserve capacity is %3.0f MW\"%(CP,RSC)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.7 Page28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a)The economic loading of two units when the total load supplied by the power plants is 200 MW are 75.86 MW and 124.14 MW\n",
+ "(b)The loss in fuel cost per hour if the load is equally shared by both units is Rs.42.24 per hour\n"
+ ]
+ }
+ ],
+ "source": [
+ "from numpy import mat\n",
+ "#Input data\n",
+ "L=200#The total load supplied by the plants in MW\n",
+ "#The incremental fuel costs for generating units a and b of power plant are given by\n",
+ "#dFa/dPa=0.065Pa+25\n",
+ "#dFb/dPb=0.08Pa+20\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving two equations\n",
+ "#Pa+Pb=200\n",
+ "#0.065Pa+25=0.08Pb+20\n",
+ "A=mat([[1, 1],[0.065, -0.08]])#Coefficient matrix\n",
+ "B=mat([[L],[(20-25)]])#Constant matrix\n",
+ "X=(A**-1)*B#Variable matrix\n",
+ "P=100#If load is shared equally then Pa=Pb=100MW\n",
+ "a=(((0.065*P**2)/2)+(25*P))-(((0.065*X[0]**2)/2)+(25*X[0]))#increase in fuel cost for unit a in Rs. per hour\n",
+ "b=(((0.08*P**2)/2)+(20*P))-(((0.08*X[1]**2)/2)+(20*X[1]))#increase in fuel cost for unit a in Rs. per hour\n",
+ "x=a+b#Net increase in fuel cost due to departure from economic distribution of load in Rs. per hour\n",
+ "\n",
+ "#Output\n",
+ "print \"(a)The economic loading of two units when the total load supplied by the power plants is 200 MW are %3.2f MW and %3.2f MW\\n(b)The loss in fuel cost per hour if the load is equally shared by both units is Rs.%3.2f per hour\"%(X[0],X[1],x)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.8 page29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Cost of generation per kWh is 61 paise \n",
+ " Saving in cost per kWh if the annual load factor is raised to 60 percent is 11 paise\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import ceil\n",
+ "#Input data\n",
+ "C=200#Installed capacity of the plant in MW\n",
+ "CC=400#Capital cost in Rs crores\n",
+ "ID=12#Rate of interest and depreciation in percent\n",
+ "AC=5#Annual cost of fuel, salaries and taxation in Rs. crores\n",
+ "L=0.5#Load factor\n",
+ "AL2=0.6#Raised Annual load\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "AvL=(C*L)#Average Load in MW\n",
+ "E=(AvL*1000*Y)#Energy generated per year in kWh\n",
+ "IDC=((ID/100)*CC*10**7)#Interest and depreciation (fixed cost) in Rs\n",
+ "T=(IDC+(AC*10**7))#Total annual cost in Rs\n",
+ "CP1=(T/E)*100#Cost per kWh in paise\n",
+ "AvL2=(C*AL2)#Average Load in MW\n",
+ "E2=(AvL2*1000*Y)#Energy generated per year in kWh\n",
+ "CP2=(T/E2)*100#Cost per kWh in paise\n",
+ "S=((CP1)-(CP2))#Saving in cost per kWh in paise\n",
+ "S1=ceil(S)#Rounding off to next higher integer\n",
+ "\n",
+ "#Output\n",
+ "print \" Cost of generation per kWh is %3.0f paise \\n Saving in cost per kWh if the annual load factor is raised to 60 percent is %3.0f paise\"%(CP1,S1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.9 Page30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) Load factor is 0.875 \n",
+ "(b) Capacity factor is 0.70\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "C=300#Capacity of power plant in MW\n",
+ "MXD=240#Maximum demand in MW in a year\n",
+ "MND=180#Minimum demand in MW in a year\n",
+ "#Assuming the load duration curve shown in Figure E1.9 on page no 30 to be straight line\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "E=((MND*Y)+0.5*(MXD-MND)*Y)*1000#Energy supplied per year in kWh\n",
+ "AL=(E/Y)#Average load in kW\n",
+ "L=((AL/1000)/MXD)#Load factor\n",
+ "CF=((AL/1000)*Y)/(C*Y)#Capacity factor\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) Load factor is %3.3f \\n(b) Capacity factor is %3.2f\"%(L,CF)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.10 Page 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Revenue earned by the power plant = 3.679e+08 Rs./year\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "C=60#Capacity of power plant in MW\n",
+ "MXD=50#Maximum demand in MW in a year\n",
+ "L=60/100#Load factor\n",
+ "cc = 1 # kg/unit (Coal consumption)\n",
+ "c_cost = 600 # Rs/Tonne\n",
+ "e_cost = 2 # Rs/kWh\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "AL=(MXD*L)#Average load in MW\n",
+ "E=AL*10**3*Y #Energy generated per year in kWh\n",
+ "Coal = E*cc/10**3 # Tonnes (Coal required per year)\n",
+ "CC = Coal*c_cost # rupees (Coal cost / year)\n",
+ "CE = E*e_cost # Rs (Cost of energy sold)\n",
+ "Rev = CE-CC\n",
+ "#Output\n",
+ "print \"Revenue earned by the power plant = %0.3e Rs./year\"%(Rev)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.11 Page31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f5c10894c50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f5bf6f06d50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(c)Suitable generating units to supply the load are\n",
+ "i)One unit of 30 MW will run for 24 hours\n",
+ "ii)One unit of 30 MW will run for 18 hours\n",
+ "iii)One unit of 30 MW will run for 10 hours\n",
+ "iv)One unit of 10 MW will run for 4 hours\n",
+ "\n",
+ "(d)Load factor is 0.64\n",
+ "\n",
+ "(e)Capacity of the plant is 130 MW and Capacity factor is 0.494\n"
+ ]
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,subplot,title,xlabel,ylabel,show\n",
+ "#Input data\n",
+ "t1x=[0,6]#Time range in hours\n",
+ "t2x=[6,12]#Time range in hours\n",
+ "t3=[12,14]#Time range in hours\n",
+ "t4=[14,18]#Time range in hours\n",
+ "t5=[18,24]#Time range in hours\n",
+ "L=[30,90,60,100,50]#Load in MW\n",
+ "\n",
+ "#Calculations\n",
+ "t1=[0,6,6,12,12,14,14,18,18,24,24]#Time in hours for Load curve\n",
+ "L1=[30,30,90,90,60,60,100,100,50,50,0]#Load in MW for Load curve\n",
+ "t2=[0,4,4,10,10,12,12,18,18,24,24]#Time in hours for Load duration curve\n",
+ "L2=[100,100,90,90,60,60,50,50,30,30,24]#Load in MW for Load duration curve\n",
+ "E=((L[0]*(t1x[1]-t1x[0]))+(L[1]*(t2x[1]-t2x[0]))+(L[2]*(t3[1]-t3[0]))+(L[3]*(t4[1]-t4[0]))+(L[4]*(t5[1]-t5[0])))#Energy generated in MWh\n",
+ "AL=E/24#Average load in MW\n",
+ "MD=max(L[0],L[1],L[2],L[3],L[4])#Maximum demand in MW\n",
+ "LF=(AL/MD)#Load factor\n",
+ "Lx=[30,10]#Loads for selecting suitable generating units in MW\n",
+ "tx=[24,18,10,4]#Time for selecting suitable generating units in hrs\n",
+ "PC=(Lx[0]*tx[3]+Lx[1]*1)#Plant capacity in MW\n",
+ "CF=(E/(PC*24))#Capacity factor \n",
+ "\n",
+ "#Output\n",
+ "plot(t1,L1)#Load curve taking Time in hrs on X- axis and Load in MW on Y- axis\n",
+ "title('Load curve')\n",
+ "xlabel('Time hrs')\n",
+ "ylabel('Load MW')\n",
+ "show()\n",
+ "plot(t2,L2)#Load duration curve taking Time in hrs on X- axis and Load in MW on Y- axis\n",
+ "title('Load duration curve')\n",
+ "xlabel('Time hrs')\n",
+ "ylabel('Load MW')\n",
+ "show()\n",
+ "print \"(c)Suitable generating units to supply the load are\\ni)One unit of %3.0f MW will run for %3.0f hours\\nii)One unit of %3.0f MW will run for %3.0f hours\\niii)One unit of %3.0f MW will run for %3.0f hours\\niv)One unit of %3.0f MW will run for %3.0f hours\\n\\n(d)Load factor is %3.2f\\n\\n(e)Capacity of the plant is %3.0f MW and Capacity factor is %3.3f\"%(Lx[0],tx[0],Lx[0],tx[1],Lx[0],tx[2],Lx[1],tx[3],LF,PC,CF)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.12 Page32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overall cost of energy per kWh for:\n",
+ "(a)Domestic consumers is 70 paise\n",
+ "(b)Industrial consumers is 36 paise\n",
+ "(c)Street-lighting load is 51 paise\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "C=10#Capacity of generating unit in MW\n",
+ "MD=[6,3.6,0.4]#Maximum demand for domestic consumers, industrial consumers and street-lighting load respectively in MW\n",
+ "L=[0.2,0.5,0.3]#Load factor for domestic consumers, industrial consumers and street-lighting load respectively\n",
+ "CC=10000#Capital cost of the plant per kW in Rs\n",
+ "RC=3600000#Total rumming cost per year in Rs\n",
+ "AID=10#Annual interest and depreciation on capital cost in percent\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "E=((MD[0]*L[0])+(MD[1]*L[1])+(MD[2]*L[2]))*Y*1000#Energy supplied per year to all three consumers in kWh\n",
+ "OC=(RC/E)#Operating charges per kWh in Rs\n",
+ "CCP=(C*1000*CC)#capital cost of the plant in Rs\n",
+ "FCY=((AID/100)*CCP)#Fixed charges per year in Rs\n",
+ "FCkW=(FCY/CC)#Fixed charges per kW in Rs\n",
+ "#a) For domestic consumers\n",
+ "TC1=((FCkW*MD[0]*1000)+(OC*MD[0]*L[0]*Y*1000))#Total chrges in Rs\n",
+ "OC1=(TC1/(MD[0]*L[0]*Y*1000))*100#Overall cost per kWh in paise\n",
+ "#b)For industrial consumers\n",
+ "TC2=((FCkW*MD[1]*1000)+(OC*MD[1])*L[1]*Y*1000)#Total chrges in Rs\n",
+ "OC2=(TC2/(MD[1]*L[1]*Y*1000))*100#Overall cost per kWh in paise\n",
+ "#c) For street-lighting load\n",
+ "TC3=((FCkW*MD[2]*1000)+(OC*MD[2])*L[2]*Y*1000)#Total chrges in Rs\n",
+ "OC3=(TC3/(MD[2]*L[2]*Y*1000))*100#Overall cost per kWh in paise\n",
+ "\n",
+ "#Output\n",
+ "print \"Overall cost of energy per kWh for:\\n(a)Domestic consumers is %3.0f paise\\n(b)Industrial consumers is %3.0f paise\\n(c)Street-lighting load is %3.0f paise\"%(OC1,OC2,OC3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.13 Page32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The amount of money to be saved annually is Rs.961317/-\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "CC=(80*10**6)#Capital cost in Rs\n",
+ "L=30#Useful life in years\n",
+ "S=5#Salvage value of the capital cost in percent\n",
+ "i=0.06#Yearly rate of compound interest\n",
+ "\n",
+ "#Calculations\n",
+ "A=((100-S)/100)*CC#Difference of capital cost and salvage value in Rs\n",
+ "P=((A*i)/((1+i)**L-1))#The amount of money to be saved annually in Rs\n",
+ "\n",
+ "#Output\n",
+ "print \"The amount of money to be saved annually is Rs.%3.0f/-\"%(P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.14 Page34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Present worth of the payments at the time of commissioning is Rs.5994.39 crores\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "i=4000#Initial investment in Rs crore\n",
+ "Y=4#Period in years\n",
+ "A=1200#Amount added in Rs crore\n",
+ "B=400#Amount paid from 5th year onwards to the 12th year in Rs crore\n",
+ "a=5#5th year\n",
+ "b=12#12th year\n",
+ "y=30#Period in years\n",
+ "C=600#Salvage value in Rs crore\n",
+ "I=0.1#Interest rate \n",
+ "\n",
+ "#Calculations\n",
+ "X=(1/(1+I))#X value for calculations\n",
+ "PW=(i+(A*X**Y)+((B/I)*X**b*((I+1)**b-1))-((B/I)*X**a*((I+1)**a-1))-(C*X**y))#Present worth of the payments at the time of commissioning in Rs. crores\n",
+ "\n",
+ "#Output\n",
+ "print \"Present worth of the payments at the time of commissioning is Rs.%3.2f crores\"%(PW)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.15 Page 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Incremental heat transfer rate at which the combined output of the two units is 1000 MW is IR = (IR)P = (IR)Q = 9293 kJ/kWh\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "O=1000#Combined output of two units in MW\n",
+ "#Two coal generating units P and Q have the incremental heat rate defined by\n",
+ "#(IR)P=0.4818*10**-7.LP**4 - 0.9089*10**-4.LP**3 + 0.6842*10**-1.LP**2 - 0.2106*10.LP + 9860\n",
+ "#(IR)R=0.9592*10**-7.LQ**4 - 0.7811*10**-4.LQ**3 + 0.2625*10**-1.LQ**2 - 0.2189*10.LQ + 9003\n",
+ "\n",
+ "#Calculations\n",
+ "#LP+LQ=1000\n",
+ "#By making (IR)P=(IR)Q and solving the above three equations by a numerical methos such as Newton-Raphson algorithm, we get \n",
+ "LP=732.5#Heat rate in MW\n",
+ "LQ=(O-LP)#Heat rate in MW\n",
+ "IR=0.4818*10**-7*LP**4 - 0.9089*10**-4*LP**3 + 0.6842*10**-1*LP**2 - 0.2106*100*LP + 9860\n",
+ "IR1=0.9592*10**-7*LQ**4 - 0.7811*10**-4*LQ**3 + 0.2625*10**-1*LQ**2 - 0.2189*10*LQ + 9003\n",
+ "\n",
+ "#Output\n",
+ "print \"Incremental heat transfer rate at which the combined output of the two units is %3.0f MW is IR = (IR)P = (IR)Q = %d kJ/kWh\"%(O,IR)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex1.16 Page 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "==============================================================================\n",
+ "Load Energy produced Fixed cost Fuel and Total cost Cost per\n",
+ "factor in 1hr with per hr operating cost per hr kWh\n",
+ "(percent) 1kW plant(kWh) (paise) (paise) (paise) (paise)\n",
+ "==============================================================================\n",
+ "100 1 31 40 71 71\n",
+ " 75 0.75 31 30 61 81\n",
+ " 50 0.50 31 20 51 102\n",
+ " 25 0.25 31 10 41 163\n",
+ "==============================================================================\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "F=2700#Fixed cost of the thermal station per kW of installed capacity per year in Rs,\n",
+ "FO=40#Fuel and operating costs per kWh generated in paise\n",
+ "L=[100,75,50,25]#Load factors\n",
+ "Y=8760#Number of hours in a year of 365 days\n",
+ "\n",
+ "#Calculations\n",
+ "FC=(F/Y)*100#Fixed costs per kW per hour in paise\n",
+ "E1=(L[0]/100)#Energy produced in 1 hr with 1 kW plant in kWh\n",
+ "FOC1=(E1*FO)#Fuel and operating cost in paise\n",
+ "TC1=(FC+FOC1)#Total cost per hr in paise\n",
+ "C1=(TC1/E1)#Cost per kWh in paise\n",
+ "E2=(L[1]/100)#Energy produced in 1 hr with 1 kW plant in kWh\n",
+ "FOC2=(E2*FO)#Fuel and operating cost in paise\n",
+ "TC2=(FC+FOC2)#Total cost per hr in paise\n",
+ "C2=(TC2/E2)#Cost per kWh in paise\n",
+ "E3=(L[2]/100)#Energy produced in 1 hr with 1 kW plant in kWh\n",
+ "FOC3=(E3*FO)#Fuel and operating cost in paise\n",
+ "TC3=(FC+FOC3)#Total cost per hr in paise\n",
+ "C3=(TC3/E3)#Cost per kWh in paise\n",
+ "E4=(L[3]/100)#Energy produced in 1 hr with 1 kW plant in kWh\n",
+ "FOC4=(E4*FO)#Fuel and operating cost in paise\n",
+ "TC4=(FC+FOC4)#Total cost per hr in paise\n",
+ "C4=(TC4/E4)#Cost per kWh in paise\n",
+ "\n",
+ "#Output\n",
+ "print \"==============================================================================\\nLoad Energy produced Fixed cost Fuel and Total cost Cost per\\nfactor in 1hr with per hr operating cost per hr kWh\\n(percent) 1kW plant(kWh) (paise) (paise) (paise) (paise)\\n==============================================================================\\n%3.0f %3.0f %3.0f %3.0f %3.0f %3.0f\\n%3.0f %3.2f %3.0f %3.0f %3.0f %3.0f\\n%3.0f %3.2f %3.0f %3.0f %3.0f %3.0f\\n%3.0f %3.2f %3.0f %3.0f %3.0f %3.0f\\n==============================================================================\"%(L[0],E1,FC,FOC1,TC1,C1,L[1],E2,FC,FOC2,TC2,C2,L[2],E3,FC,FOC3,TC3,C3,L[3],E4,FC,FOC4,TC4,C4)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch10.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch10.ipynb
new file mode 100644
index 00000000..9acec3f7
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch10.ipynb
@@ -0,0 +1,957 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10 : Hydroelecric power plant"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.1 Pg: 709"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the efficiency of the runner is 93.17 percent \n",
+ " (b) the diameter of each jet is 0.1614 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,cos,pi\n",
+ "from __future__ import division\n",
+ "#Input data\n",
+ "P=4000#Power in kW\n",
+ "N=400#Speed in r.p.m\n",
+ "h=200#Head in m\n",
+ "e=90#Efficiency in percent\n",
+ "d=1.5#Diameter in m\n",
+ "vd=10#Percentage decrease in velocity\n",
+ "a=165#Angle with which jet is deflected in degrees\n",
+ "\n",
+ "#Calculations\n",
+ "V1=sqrt(2*9.81*h*(e/100))#Velocity in m/s\n",
+ "Vb=(3.14*d*N)/60#Velocity in m/s\n",
+ "nn=((2*(1-((e/100)*cos(pi/180*a)))*(V1-Vb)*Vb)/V1**2)*100#Efficiency in percent\n",
+ "p=(P/(nn/100))#Power developed in kW\n",
+ "pj=(p/2)#Power developed per jet in kW\n",
+ "dx=sqrt((pj*8)/(3.14*V1**3))#Diameter of each jet in m\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the efficiency of the runner is %3.2f percent \\n (b) the diameter of each jet is %3.4f m\"%(nn,dx)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.2 Pg: 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the number of jets are 3 \n",
+ " (b) diameter of each jet is 0.123 m \n",
+ " (c) diameter of the wheel is 1.23 m \n",
+ " (d) the quantity of water required is 2.4 m**3/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "P=6000#Power in kW\n",
+ "h=300#Net head availabe in m\n",
+ "N=550#Speed in r.p.m\n",
+ "rd=(1/10)#Ratio of jet diameter to wheel diameter\n",
+ "nh=0.85#Hydraulic efficiency \n",
+ "Cv=0.98#Coefficient of velocity\n",
+ "f=0.46#Speed ratio\n",
+ "d=1000#Density in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "V1=Cv*sqrt(2*9.81*h)#Velocity in m/s\n",
+ "Vb=f*sqrt(2*9.81*h)#Velocity in m/s\n",
+ "Q=((P*10**3)/(nh*d*9.81*h))#Discharge in m**3/s\n",
+ "D=((Vb*60)/(3.14*N))#Diameter in m\n",
+ "d=(D/10)#Diameter of jet in m\n",
+ "n=(Q/((V1*(3.14/4)*d**2)))#Number of jets\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the number of jets are%3.0f \\n (b) diameter of each jet is %3.3f m \\n (c) diameter of the wheel is %3.2f m \\n (d) the quantity of water required is %3.1f m**3/s\"%(n,d,D,Q)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.3 Pg: 711"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Diameter of jet is 0.183 m \n",
+ " Diameter of bucket wheel is 3.61 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "from __future__ import division\n",
+ "#Input data\n",
+ "P=10#Capacity in MW\n",
+ "h=500#Head in m\n",
+ "Ns=10#Specific speed of the turbine\n",
+ "on=80#Overall efficiency in percent\n",
+ "Cv=0.98#Coefficient of velocity\n",
+ "x=0.46#Speed of the bucket wheel to the velocity of jet\n",
+ "da=1000#Density in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "N=(Ns*h**(5/4))/sqrt(P*10**3)#Speed in r.p.m\n",
+ "V=(Cv*sqrt(2*9.81*h))#Velocity in m/s\n",
+ "Vb=(x*V)#Speed of bucket wheel in m/s\n",
+ "D=((60*Vb)/(3.14*N))#Diameter in m\n",
+ "d=sqrt((P*10**6)/((on/100)*(3.14/4)*da*V*9.81*h))#Diameter in m\n",
+ "\n",
+ "#Output\n",
+ "print \" Diameter of jet is %3.3f m \\n Diameter of bucket wheel is %3.2f m\"%(d,D)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.4 Pg: 711"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The specific speed of a single jet Pelton wheel is about 202 (d/D) where d and D represent the jet and bucket wheel diameters respectively\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "Cv=0.97#Coefficient of velocity\n",
+ "f=0.45#Friction coefficient\n",
+ "h=0.85#Head in m\n",
+ "d=1000#Density in kg/m**3\n",
+ "n=1#For a single jet turbine\n",
+ "\n",
+ "#Calculations\n",
+ "Ns=((60/3.14)*(f*sqrt(2*9.8))*sqrt(n*(3.14/4)*Cv*sqrt(2*9.8)*9.8*h))#Specific speed in terms of d/D \n",
+ "\n",
+ "#Output\n",
+ "print \"The specific speed of a single jet Pelton wheel is about %3.0f (d/D) where d and D represent the jet and bucket wheel diameters respectively\"%(Ns)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.5 Pg: 712"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Velocity of the jet for maximum efficiency is 90 m/s \n",
+ " Power developed is 4050 kW \n",
+ " Hydraulic efficiency is 98.3 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import cos,pi\n",
+ "#Input data\n",
+ "n=4#Number of jets\n",
+ "d=60#Diameter of each jet in mm\n",
+ "a=165#Angle in degrees\n",
+ "v=45#Speed of the bucket wheel in m/s\n",
+ "de=1000#Density in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "v1=(2*v)#Jet velocity in m/s\n",
+ "Q=(3.14/4)*(d/1000)**2*v1#Discharge in m**3/s\n",
+ "P=(1-cos(pi/180*a))*(v1**2/4)*Q*de*10**-3#Power developed in kW\n",
+ "P4=(P*4)#For four jets in kW\n",
+ "nd=((1-cos(pi/180*a))/2)*100#Maximum efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" Velocity of the jet for maximum efficiency is %3.0f m/s \\n Power developed is %d kW \\n Hydraulic efficiency is %3.1f percent\"%(v1,P4,nd)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.6 Pg: 713"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Head on the wheel is 43.3 m \n",
+ " The power generated by the turbine is 238 kW \n",
+ " Eit angle of guide vanes is 173.29 degrees and Inlet blade angle is 33.7 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import atan, degrees\n",
+ "#Input data\n",
+ "v=20#Peripheral velocity in m/s\n",
+ "vw=17#Velocity of whirl in m/s\n",
+ "vr=2#Radial velocity in m/s\n",
+ "Q=0.7#Flow in m**3/s\n",
+ "hn=80#Hydraulic efficiency in percent\n",
+ "d=1000#Density in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "H=((vw*v)/(9.81*(hn/100)))#Head on the wheel in m\n",
+ "P=(d*Q*9.81*H*(hn/100)*10**-3)#Power generated in kW\n",
+ "al=180-degrees(atan(vr/vw))#Angle of guide vanes in degrees\n",
+ "bl=degrees(atan(vr/(v-vw)))#Inlet blade angle in degrees\n",
+ "\n",
+ "#Output\n",
+ "print \" Head on the wheel is %3.1f m \\n The power generated by the turbine is %3.0f kW \\n Eit angle of guide vanes is %3.2f degrees and Inlet blade angle is %3.1f degrees\"%(H,P,al,bl)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.7 Pg: 714"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Inlet blade angle is 35 degrees 38 minutes \n",
+ " Outlet blade angle is 17 degrees 16 minute\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import atan,tan,pi,sqrt,degrees\n",
+ "#Input data\n",
+ "od=1.5#Outer diameter in m\n",
+ "id=0.75#Inner diameter in m\n",
+ "h=150#Head in m\n",
+ "P=14000#Power in kW\n",
+ "Ns=120#Specific speed \n",
+ "vw2=0#Velocity in m/s\n",
+ "a=(11+(20/60))#Angle in degrees\n",
+ "hn=92#Hydraulic efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "N=(Ns*h**(5/4))/sqrt(P)#Speed in rpm\n",
+ "vb1=(3.14*od*N)/60#velocity in m/s\n",
+ "vw1=(((hn/100)*9.81*h)/vb1)#velocity in m/s\n",
+ "vf1=(tan(pi/180*a)*vw1)#Velocity in m/s\n",
+ "vf2=vf1#Velocity in m/s\n",
+ "b1=degrees(atan(vf1/(vb1-vw1)))#Angle in degrees\n",
+ "b1x=(b1-int(b1))*60#For output\n",
+ "vb2=(vb1/2)#Velocity in m/s\n",
+ "b2=degrees(atan(vf1/(vb2-vw2)))#Angle in degrees\n",
+ "b2x=(b2-int(b2))*60#For output\n",
+ "\n",
+ "#Output\n",
+ "print \" Inlet blade angle is %3.0f degrees %3.0f minutes \\n Outlet blade angle is %3.0f degrees %3.0f minute\"%(b1,b1x,b2,b2x)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.8 Pg: 715"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)the guide vane angle is 13.3 degrees \n",
+ " (b)the runner vane angle at inlet is 26.6 degrees and outlet is 41.72 degrees \n",
+ " (c)the diametres of the runner at inlet is 0.5 metre and outlet is 0.25 metre\n",
+ " (d)the width of the wheel at inlet is 0.05 metre\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi,atan,degrees\n",
+ "#Input data\n",
+ "h=70#net head in m\n",
+ "N=700#speed in rpm\n",
+ "o=85#over all efficiency in %\n",
+ "P=350#shaft power in kW\n",
+ "he=92#hydraulic efficiency in %\n",
+ "fr=.22#flow ratio\n",
+ "b=.1#breadth ratio\n",
+ "s=2#outer diameter in terms of inner diametre\n",
+ "#Calculations\n",
+ "vf1=fr*sqrt(2*9.81*h)#velocity in m/s\n",
+ "q=(P/(9.81*h*(o/100)))#discharge in m**3/s\n",
+ "d1=sqrt(q/(.94*b*vf1*3.14))#diameter in metre\n",
+ "b1=d1*b#breadth in metre\n",
+ "d2=d1/2#diametre in metre\n",
+ "vb1=(3.14*d1*N)/60#velocity in m/s\n",
+ "vw1=((he/100)*9.81*h)/vb1#velcity in m/s\n",
+ "a=degrees(atan(vf1/vw1))#angle in degrees\n",
+ "bet=degrees(atan(vf1/(vw1-vb1)))#angle in degrees\n",
+ "vb2=(d2/d1)*vb1#velocity in m/s\n",
+ "bet2=degrees(atan(vf1/vb2))#angle in degrees\n",
+ "\n",
+ "#Output\n",
+ "print \" (a)the guide vane angle is %3.1f degrees \\n (b)the runner vane angle at inlet is %3.1f degrees and outlet is %3.2f degrees \\n (c)the diametres of the runner at inlet is %3.1f metre and outlet is %3.2f metre\\n (d)the width of the wheel at inlet is %3.2f metre\"%(a,bet,bet2,d1,d2,b1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.9 Pg: 717"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the discharge of the turbine is 15.34 m**3/s \n",
+ " (b) the jet diameter is 0.227 m \n",
+ " (c) the nozzle tip diameter is 0.284 m \n",
+ " (d) the pitch circle diameter of the wheel is 2.89 m \n",
+ " (e) the specific speed is 69.04 \n",
+ " (f) the number of buckets on the wheel are 22 \n",
+ " (g) the workdone per kg of water on the wheel is 443.02 kg.m/kg \n",
+ " (h) the hydraulic efficiency is 93 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import ceil,sqrt,cos,pi\n",
+ "#Input data\n",
+ "n=4#Number of units\n",
+ "P=70000#Power in kVA\n",
+ "f=50#Frequency in Hz\n",
+ "p=10#No.of pair of poles\n",
+ "h=505#Gross head in m\n",
+ "tn=94#Transmission efficiency in percent\n",
+ "po=260#Power in MW\n",
+ "e=91#Efficiency in percent\n",
+ "nn=0.98#Nozzle efficiency\n",
+ "Cv=0.98#Coefficient of velocity\n",
+ "x=0.48#Vb=0.48 V\n",
+ "dd=25#Nozzle diameter is 25% bigger than jet diameter\n",
+ "a=165#Angle of buckets in degrees\n",
+ "de=99.75#Discharge efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "N=(120*f)/(p*2)#Synchronous speed in r.p.m\n",
+ "nh=((tn/100)*h)#Net head in m\n",
+ "pt=(po*10**3)/n#Power developed per turbine in kW\n",
+ "ip=(pt/(e/100))#Input water power in kW\n",
+ "Q=(ip/(9.81*nh))#Discharge in m**3/s\n",
+ "Qj=(Q/n)#Discharge per jet in m**3/s\n",
+ "V1=Cv*sqrt(2*9.81*nh)#Velocity in m/s\n",
+ "d=sqrt((4/3.14)*(Qj/V1))#Diameter of jet in m\n",
+ "nd=(1+(dd/100))*d#Nozzle tip diameter in m\n",
+ "Vb=(x*V1)#Velocity in m/s\n",
+ "D=((Vb*60)/(3.14*N))#Pitch circle diameter of the wheel in m\n",
+ "Ns=((N*sqrt(po*10**3))/nh**(5/4))#Specific speed\n",
+ "jr=(D/d)#Jet ratio\n",
+ "nob=(jr/2)+15#Number of buckets\n",
+ "nobb=ceil(nob)#Rounding off to next integer\n",
+ "W=((V1-Vb)*(1-(nn*cos(pi/180*a)))*Vb)/9.81#Workdone per kg in kg.m/kg\n",
+ "nth=((W/nh)*de)#Hydraulic efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the discharge of the turbine is %3.2f m**3/s \\n (b) the jet diameter is %3.3f m \\n (c) the nozzle tip diameter is %3.3f m \\n (d) the pitch circle diameter of the wheel is %3.2f m \\n (e) the specific speed is %3.2f \\n (f) the number of buckets on the wheel are %3.0f \\n (g) the workdone per kg of water on the wheel is %3.2f kg.m/kg \\n (h) the hydraulic efficiency is %3.0f percent\"%(Q,d,nd,D,Ns,nobb,W,nth)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.10 Pg: 718"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Blade angle at inlet is 62 degrees \n",
+ " Hydraulic efficiency is 81 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sin,cos,degrees,atan,sqrt,pi\n",
+ "#Input data\n",
+ "gh=35#Gross head in m\n",
+ "md=2#Mean diameter in m\n",
+ "N=145#Speed in rpm\n",
+ "a=30#Angle in degrees\n",
+ "oa=28#Outlet angle in degrees\n",
+ "x=7#Percentage of gross head lost\n",
+ "y=8#Reduction in relative velocity in percent\n",
+ "\n",
+ "#Calculations\n",
+ "H=((100-x)/100)*gh#Net haed in m\n",
+ "V1=sqrt(2*9.81*H)#Velocity in m/s\n",
+ "Vb=(3.14*md*N)/60#Velocity in m/s\n",
+ "b1=degrees(atan((V1*sin(pi/180*a))/((V1*cos(pi/180*a))-Vb)))#Angle in degrees\n",
+ "Vr1=((V1*sin(pi/180*a))/sin(pi/180*b1))#Velocity in m/s\n",
+ "Vr2=((100-y)/100)*Vr1#Velocity in m/s\n",
+ "Vw1=(V1*cos(pi/180*a))#Velocity in m/s\n",
+ "Vw2=(Vb-(Vr2*cos(pi/180*oa)))#Velocity in m/s\n",
+ "E=((Vb*(Vw1-Vw2))/9.81)#Workdone in kg.m/kg\n",
+ "nb=(E/gh)*100#Hydraulic efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" Blade angle at inlet is %3.0f degrees \\n Hydraulic efficiency is %3.0f percent\"%(b1,nb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.11 Pg: 719"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the speed is 166.7 rpm \n",
+ " (b) the diameter of the runner is 3.56 m \n",
+ " (c) the specific speed is 746\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "P=10000#Power in kW\n",
+ "h=12#Head in m\n",
+ "Nr=2#Speed ratio\n",
+ "Fr=0.65#Flow ratio\n",
+ "x=0.3#Diameter of hub is 0.3 times the eternal diameter of the vane \n",
+ "on=94#Overall efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "Q=(P/(9.81*h*(on/100)))#Discharge in m**3/s\n",
+ "Vr1=(Fr*sqrt(2*9.81*h))#Velocity in m/s\n",
+ "Ab=(Q/Vr1)#Area of flow in m**2\n",
+ "D=sqrt(((Ab*4)/3.14)/(1-x**2))#Diameter of runner in m\n",
+ "Vb=(Nr*sqrt(2*9.81*h))#Velocity in m/s\n",
+ "N=((Vb*60)/(3.14*D))#Speed in rpm\n",
+ "f=50#Taking frequency as 50 Hz\n",
+ "p=(120*50)/N#Number of poles\n",
+ "N1=(120*f)/int(p)#Speed in rpm\n",
+ "Ns=(N1*sqrt(P))/h**(5/4)#Specific speed\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the speed is %3.1f rpm \\n (b) the diameter of the runner is %3.2f m \\n (c) the specific speed is %3.0f\"%(N1,D,Ns)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.12 Pg: 721"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Specific speed is 241.5 \n",
+ " Normal speed is 120.7 rpm \n",
+ " Output under a head of 20 m is 7155 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "P=10000#Power in kW\n",
+ "h=25#Head in m. In textbook it is given wrong as 2 m\n",
+ "N=135#Speed in rpm\n",
+ "h1=20#Head in m\n",
+ "\n",
+ "#Calculations\n",
+ "Ns=((N*sqrt(P))/h**(5/4))#Specific speed\n",
+ "N1=sqrt(h1/h)*N#Speed in rpm\n",
+ "P2=P/(h/h1)**(3/2)#Power in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" Specific speed is %3.1f \\n Normal speed is %3.1f rpm \\n Output under a head of %d m is %3.0f kW\"%(Ns,N1,h1,P2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.13 Pg: 721"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The number of turbines in \n",
+ " (a) Francis turbine are 2 \n",
+ " (b) Kaplan turbine are 4\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import ceil\n",
+ "#Input data\n",
+ "Q=175#Discharge in m**3/s\n",
+ "h=18#Head in meter\n",
+ "N=150#Speed in rpm\n",
+ "oe=82#Overall efficiency in percent\n",
+ "Ns1=460#Maximum specific speed\n",
+ "Ns2=350#Maximum specific speed\n",
+ "d=1000#Density in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "P=(d*Q*9.81*h*(oe/100)*10**-3)#power in kW\n",
+ "P1=((Ns1*h**(5/4))/N)**2#Power in kW\n",
+ "n1=P/P1#No.of turbains\n",
+ "P2=((Ns2*h**(5/4))/N)**2#Power in kW\n",
+ "n2=ceil(P/P2)#No.of turbains\n",
+ "\n",
+ "#Output\n",
+ "print \"The number of turbines in \\n (a) Francis turbine are%3.0f \\n (b) Kaplan turbine are %d\"%(n1,n2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.14 Pg: 722"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Speed is 285 rpm \n",
+ " Power is 23.309 kW \n",
+ " Scale ratio is 5.518 \n",
+ " Flow through the turbine is 63.6 m**3/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "Ns=210#Specific speed \n",
+ "P=30#Power in MW\n",
+ "N=180#Speed in rpm\n",
+ "Q=0.6#Discharge in m**3/s\n",
+ "h=4.5#Head in m\n",
+ "e=88#Efficiency in percent\n",
+ "d=1000#Density in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "Pm=(d*Q*9.81*h*(e/100)*10**-3)#Power in kW\n",
+ "Nm=(Ns*h**(5/4))/sqrt(Pm)#Speed in rpm\n",
+ "Hp=((N*sqrt(P*1000))/Ns)**(4/5)#Head in m\n",
+ "Dpm=(Nm/N)*sqrt(Hp/h)#Scale ratio\n",
+ "Qp=(P*10**6)/(d*9.81*Hp*(e/100))#Discharge in m**3/s\n",
+ "\n",
+ "#Output\n",
+ "print \" Speed is %3.0f rpm \\n Power is %3.3f kW \\n Scale ratio is %3.3f \\n Flow through the turbine is %3.1f m**3/s\"%(Nm,Pm,Dpm,Qp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.15 Pg: 723"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Speed is 402 rpm \n",
+ " Power is 11180 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "x=1/5#Scale model\n",
+ "h=1.5#Head in m\n",
+ "P=5#Power in kW\n",
+ "N=450#Speed in rpm\n",
+ "h1=30#Head in m\n",
+ "\n",
+ "#Calculations\n",
+ "N1=(x*N)/sqrt(h/h1)#Speed in rpm\n",
+ "Ns=(N*sqrt(P))/h**(5/4)#Specific speed\n",
+ "P1=((Ns*h1**(5/4))/N1)**2#Power in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" Speed is %3.0f rpm \\n Power is %3.0f kW\"%(N1,P1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.16 Pg: 723"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Speed of the turbine is 307.8 rpm \n",
+ " Maximum flow rate is 1.5 m**3/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "h=19#Head in m\n",
+ "Q=3#Flow rate in m**3/s\n",
+ "N=600#Speed in rpm\n",
+ "h1=5#Head in m\n",
+ "\n",
+ "#Calculations\n",
+ "N1=N/sqrt(h/h1)#Speed in rpm\n",
+ "Q1=Q/sqrt(h/h1)#Discharge in m**3/s\n",
+ "\n",
+ "#Output\n",
+ "print \" Speed of the turbine is %3.1f rpm \\n Maximum flow rate is %3.1f m**3/s\"%(N1,Q1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.17 Pg: 724"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Least number of machines required if using \n",
+ " (a) Francis turbines are 13 \n",
+ " (b) Kaplan turbines are 2\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import ceil\n",
+ "#Input data\n",
+ "Q=350#Discharge in m**3/s\n",
+ "h=30#Head in m\n",
+ "e=87#Turbine efficiency in percent\n",
+ "f=50#Frequency in Hz\n",
+ "p=24#Number of poles\n",
+ "Ns1=300#Specific speed\n",
+ "Ns2=820#Specific speed\n",
+ "d=1000#Dnsity of water in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "N=(120*f)/p#Speed in rpm\n",
+ "P=d*Q*9.81*h*(e/100)*10**-3#Power in kW\n",
+ "P1=((Ns1*h**(5/4))/N)**2#Power in kW\n",
+ "n1=P/P1#No.of turbines\n",
+ "P2=((Ns2*h**(5/4))/N)**2#Power in kW\n",
+ "n2=ceil(P/P2)#No.of turbines\n",
+ "\n",
+ "#Output\n",
+ "print \"Least number of machines required if using \\n (a) Francis turbines are %3.0f \\n (b) Kaplan turbines are %3.0f\"%(n1,n2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.18 Pg: 725"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) Power developed is 2302 kW \n",
+ " (b) As the available head is low, Kaplan turbines are suggested.\n",
+ " Two turbines each of 3000kW capacity may be installed.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "h=27#Head in m\n",
+ "A=430#Area in sq.km\n",
+ "R=150#Rainfall in cm/year\n",
+ "pr=65#Percentage of rainfall utilised\n",
+ "pe=95#Penstock efficiency in percent\n",
+ "te=80#Turbine efficiency in percent\n",
+ "ge=86#Generator efficiency in percent\n",
+ "lf=0.45#Load factor\n",
+ "d=1000#Density of water in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "Q=A*10**6*(R/100)*(pr/100)#Discharge in m**3 per year\n",
+ "Qs=(Q/(365*24*3600))#Quantity of water per second in m**3\n",
+ "P=(pe/100)*(te/100)*(ge/100)*d*Qs*9.81*h*10**-3#Power in kW\n",
+ "plc=(P/lf)#Peak load capacity in kW\n",
+ "C=(plc/(2*(ge/100)))#Capacity of each unit in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) Power developed is %3.0f kW \\n (b) As the available head is low, Kaplan turbines are suggested.\\n Two turbines each of 3000kW capacity may be installed.\"%(P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 10.19 Pg: 725"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEZCAYAAACTsIJzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYJWV99vHvDYjs0CM6wz6AQQQRIUpQNDYqCQREsggS\nRUSTEI2i4AIT3zdMTPRFjDsSXyMgoCCIiqIgINKCgoLsgoCIoywyLDNssjN3/qinZ85puntOnz5b\n19yf65prTu2/Oqe6fvU8T9VTsk1ERMSolfodQEREDJYkhoiIaJLEEBERTZIYIiKiSRJDREQ0SWKI\niIgmSQwDQtJ/S/o/01j+bZIu7mRM0yFpG0mXt7nsppIekqQyPCLpHeVz036W+eZ2IuZ4puUdV5LO\nkLR7L2PqJUlLJG3R7zh6LYmhByQtkPSIpAclLZb0U0kHj574AGy/0/Z/9jPODvsP4BPtLGj797bX\n9rKHbFz+jTfv2rYXtBdiZ0k6oZXxknaVdG05FhZJOk/SNmPmWVXSPZLW6GbMY7Y5t5wIp3Je+DjQ\n9eO2/A09Luk5Y8ZfVWLetAPbWHoBsqJLYugNA3vZXgfYFDgKOBw4rq9RTUDSKtNcfgNgGDizIwEN\nOElHS3pR+byGpE+VUs9/j56wJD1H0v+XtDpwPbCH7SFgNnAVcPyY1f45cJXtR3q4K6O0/Fkqti8H\n1pH0p12MB6q/oVuB/UdHSNoOWJ0JLhra3EaQxNBzth+yfRawH3Dg6JWipK9I+o/yeX1J3ytXlPdJ\nuqihWmUTSd+SdLekeyV9vnH9kj5RrkJvbSziSzpI0g2l1PIbSf/UMG1Y0u2SPiTpD8BxklaTdGJZ\n1w1l2m0Ny2wo6ZsljlslvachjN2AK2w/0TD/AkkfKFfKD0k6TtJsSedIekDS+ZLWK/O2fOXaWNSX\ntK6kk0pMCyR9uOF7e5ukn0z0/Yyz3pbjpbpq/mdgV+Ak4Azbvwf+H/AR4FXAF4DP2n7U9t227yjL\nrgQsAf4wJoS/As4usYxI+o9S0nxI0nfLMfK1EstlkjZriP0Vki6XdH+Z9vKGaSOSPlK+iwclndtw\nFX5R+f/+Mm1nyslyOd/bCLDnBN/jryTt2TC8iqqS0EvKMfbVchwvLrE+b6LfBPgq8NaG4QOpvu+l\niazdY0DSR6l+p2PKd/y5hu3sJunmEuMxk8RXG0kMfVKutG6nOhihubrk/cBtwPrA84B5ti1pZeB7\nwG+BzYCNgFMbVvtnwI3Ac4CjaS6RLAT2LKWWg4BPS9qhYfpsYIiqRHMwML983pzqRP8Wlp0kVgLO\norrS3RB4LfA+SX9R1rUdcNPYXQb+psz7AmAv4BzgiLKPKwGHTPqlLd/ngbVLzK+mOokc1DB9Jyb+\nfsaaSryiOrmPLqcx4zVm/Gg7ymLgEaqT6tgqjD2A7zcM70f1G2wEbAlcWuKfBfwKOLKsd1ZZ7jNl\n2qeA70saaljX/sDbyn6sCnygjB89Fte1vY7tn5WYJzuuKNvfnvGdQsNVPvCXwN22r6Y6sa8DbFxi\nPRh4dIL1APyMqnSydflb2I8qWTRq6xiw/WHgYuBfSvVk47G4J/BS4MXAvpL+cpIYayGJob/upPqD\nGOsJYANgru2nbf+0jN+pjP9gufJ83PYlDcv9zvZxpW7+JGCD0Ssw22fb/m35fBFwHstOBFCdwI60\n/aTtx4A3Ah+z/UC5uv0sy05sLwPWt/2ftp8q6/0y8KYyfV3g4XH26/O277F9J9Uf4aW2r7H9OPBt\nYIdxlmlJw4linu0/2v4d8EnggFa+nwm0Gu+HgC8BF1Kd7P5OVRXSEVQJ9iLg3cAhqqqSRttRhqiS\n/zXA0nYISVsCq9j+dRll4ATbv7X9IFWCutn2j2w/DXyjIZY9gZtsf832EttfpzoR7j1mXbeU3/l0\n4CWjm57ge1je9/YwsN74i3IKsLek1crw37PsYuYJqhP0n7hyle2HJljPqJOpTva7ATcAoyWvTh0D\n430HR9l+0PZtVL/xS8aZp1aSGPprY2BRw/DoQfkJ4BbgPFXVPoeX8ZtQHdhLGN9dox8a6qbXApC0\nh6SfqaqaWkxVVdHYkHdPY9UPVUngtobh2xs+bwZsWIrWi8v65lFdgQIsprpqG2thw+dHxww/Nhpr\nm9YHngX8rmHc76musEdN+P1MoKV4bX/I9i9H12v70HLif2epUsL2fbYPtt10RWx7MdUV++slrVNG\nL61GmiCWx4C7x4uF6nf7/Zhlf1fGj7qr4fOjLP97X973tjZw/3gL2v4NVYlib1UN6a+nShZQneTP\nBb4u6Q5JH9fk7Vsuy7yZcaqR6MwxMF47Q+P39QjTO05nhCSGPpH0Mqo/1p+MnWb7YdsfsL0l1ZXe\nYZJeQ3WQb1qujKayrWcD36QqOj+vXKmeTfMf1dg/iD9QJaJRjZ9vA35re6jh3zq29yrTrwW2aiW0\nqezHctwLPAnMbRi3Kc0Jbbomjdf2QVMZ3+BZVCW2x8vweImhaZWTTLuDKnE32oyGK+s21zuZFwJX\nTzL9VKrqpDcA19u+FaCUNj9ie1vgFVTVdW+deDVVSYuqEXoP4FtjJk/3GEjjc5HE0DujDWDrSNqL\n6o/lZNvXN04v8+wl6fml0exB4Ony7zKqE/ZRqu5+WU3SK1rY9qrl373AEkl7AH8x+SKcDsyTtJ6k\njaiqQkb/cC4DHlLVIL26pJUlvUjSS8v0HwI7Slq1hdg6olSpnA58VNJapTH2UJ5ZB913kv5a0laS\nVpL0XKp2gLNtP16uql9GVWXRtNgEn8c6B9hK0v6loXc/YGuqtqnlLX8PVYLacir7Q3UH1TmTTP86\nVdvCP7OstDB608N25ULnIaqT+tMtbO8dwGvGKX1N9xhYyPL3vZMXMwMriaF3zpL0INVV/zyqus/G\nK8nGxufnA+dT/bFcAnzB9o9LFdLry/TfU1257zvO8o3rpNTbHkL1R7OI6urtO+PN2+AjVFdav6Vq\nj/gGVZ3w6B/gXlR1rbdSnVC+RNWQiO2FwI+AfZbznXjM57HDEy0z0XzvAf5YYroY+BrL6u4n/H6m\nYLJ4p2Ij4AdUSf9Kqqq3A8u01wCXjKnWa2Xbo7/1fVS/zfupLgQ+QHWr9KKx845dV6la+Sjw03LX\nzp9Nti1YWvJ9yPYvJtpZ23dRHccvB05rmDSH6rh6gKq9YISqqmhStm+1feUE+zOdY+CzVO1DiyR9\nZqLNj7OO2pG79KIeScdTNYTdbXu7Mu4TVAftE8BvgINsP1CmzQPeTnXFcIjt87oSWLRF0juBfW3v\n2uL8LwROtL1TdyOrF0lfAK6z/cV+x9IKSWcAX7b9g37HEp3TzRLDCcDY+53PA7a1vT1wM9WVM6ru\n5d8P2KYsc6ym9vRldJikOZJ2KdUdLwAOo7oTpyW2f5Wk0JarmcL33G+2/y5JoX66dvK1fTFVEblx\n3PkNd9T8nOquHKgapU4tt0ouoLojJyeV/loV+CJVdccFVE8xH9vXiFYAtv+nVMVF9M20uj6Yprez\n7H7mDakeXhl1O823mEWPlbs/tut3HBHRe32prpH0YeAJ26dMMlvtG3giIgZRz0sMkt5GdZ/2axtG\n30HzffIbM85915KSLCIi2mC75Vtte1piKB1WfRB4Q3kcf9R3gTep6mp4c+BPqO6Vfwbbtf135JFH\n9j2G7F/2b0Xcvzrvmz316+mulRgknUrVidX6qnrlPJLqLqRVgfNLh4eX2n6X7RsknU51L/NTwLvc\nzt5ERMS0dS0x2N5/nNFj+5xvnP9jwMe6FU9ERLQmzwoMkOHh4X6H0FXZv5mtzvtX531rR9eefO4G\nSalhioiYIkl4UBufIyJi8CUxREREkySGiIhoksQQERFNkhgiIqJJEkNERDRJYoiIiCZJDBER0SSJ\nISIimiQxREREkySGiIhoksQQERFNkhgioiWzZoHUu3+zZvV7j1dc6V01IloiQS///Hq9vTpL76oR\nETEtSQwREdEkiSEiIpokMURERJMkhoiIaJLEEBERTZIYIiKiSRJDREQ0SWKIiIgmSQwREdEkiSEi\nIpokMURERJOuJQZJx0taKOm6hnGzJJ0v6WZJ50lar2HaPEm/lnSjpL/oVlwRETG5bpYYTgB2HzPu\nCOB821sBF5RhJG0D7AdsU5Y5VlJKMxERfdC1k6/ti4HFY0bvDZxYPp8I7FM+vwE41faTthcAtwA7\ndSu2iIiY2CrLm0HStsCfA3MBAwuAi21f38b2ZtteWD4vBGaXzxsCP2uY73ZgozbWHxER0zRhiUHS\nAZIuA/4LmAPcSpUUNgD+S9Llkt7S7obLG3cmew1HXtEREdEHk5UYhoDX2n5ovImS1gHeNsXtLZQ0\nx/ZdkjYA7i7j7wA2aZhv4zLuGebPn7/08/DwMMPDw1MMIaIeZs2CxWMra7toaKh324rpGRkZYWRk\npO3lu/pqT0lzgbNsb1eGjwbus/1xSUcA69k+ojQ+n0LVrrAR8EPg+WPf45lXe0YsU/dXX9Z9/3pp\nqq/2bKWN4XnAP1K1MYzOb9tvX85ypwKvBtaXdBvwb8BRwOmS3kFVLbVvWdkNkk4HbgCeAt6VDBAR\n0R/LLTFIuhS4CLgCWFJG2/Y3uxzbeLEkX0QUdb+irvv+9dJUSwytJIarbb9k2pF1QBJDxDJ1P3HW\nff96aaqJoZXnGL4nac9pxBQRETPIhCUGSQ+z7JbRNYEngCfLsG2v0/3wnhFTSgwRRd2vqOu+f73U\nscZn22t1JqSIiJhJlluVJOmCVsZFREQ9TFhikLQ6sAbwXEmzGiatQ7qriIiorcmeYzgYeC9VP0ZX\nNIx/CDimm0FFRET/tHK76iG2P9ejeCaVxueIZereOFv3/euljj/HUFb6CpqffMb2Se0EOB1JDBHL\n1P3EWff966VudInxVWAL4Grg6YZJPU8MERHRfctNDMCfAtvkUj0iYsXQypPPv6R6B0NERKwAWikx\nPBe4oby05/Eyzrb37l5YERHRL60khvnl/9GqJJG3q0VE1FardyXNAV5GlRAus333chbpityVFLFM\n3e/aqfv+9VLHe1eVtC/wc+CNVC/WuUzSG9sPMSIiBlkrD7hdC7xutJQg6bnABbZf3IP4xsaSEkNE\nUfcr6rrvXy91430MAu5pGL6vjIuIiBpqpfH5B8C5kk6hSgj7Aed0NaqIiOibVqqSBPwNsEsZdbHt\nb3c7sAliSVVSRFH3qpa6718vdaWvpLLidalKGAawvaitCKchiSFimbqfOOu+f73Ujb6SDgb+nerh\ntiVltKn6T4qIiJpppSrpFmBn2/f2JqRJY0mJIaKo+xV13fevl7pxV9KtwKPthxQRETNJKyWGHYGv\nAJcCT5TRtn1Id0MbN5aUGCKKul9R133/eqnjbQzAl4AfAtdRtTGkr6SIiBprJTGsbPuwrkcSERED\noZU2hnMkHSxpA0mzRv91PbKIiOiLVtoYFvDMqiPb7vntqmljiFim7nXwdd+/XurYA26SNrR9Z8ci\na173POAtVG0W1wEHAWsCpwGbAQuAfW3fP2a5JIaIou4nzrrvXy91MjGcA8wCLqTqL+kntp/qQIBz\ngR8BL7T9uKTTgLOBbYF7bR8t6XBgyPYRY5ZNYogo6n7irPv+9VLHnmOwvQcwDPyYqq+kn0n6tqR/\nkrTpNGJ8EHgSWEPSKsAawJ3A3sCJZZ4TgX2msY2IiGhTy30lAUjaAtgD+Etgju2d2tqo9E/AJ6ke\nnDvX9gGSFtseKtMFLBodblguJYaIou5X1HXfv17qxnMMS9m+FfgC8AVJz55qcACStgTeB8wFHgC+\nIektY7ZjSeMeEvPnz1/6eXh4mOHh4XbCiOi4WbNg8eLebW9oaPnzxIppZGSEkZGRtpefrI1he6qr\n+nuBecDxwI7AtcBBtm9pa4PSfsButv+hDB8A7Ay8BtjV9l2SNgAutL31mGVTYoiBlSvczsr32Tmd\n7Cvpi8Bnge8Al1A9AT0EHA0cO40YbwR2lrR6qTJ6HXADcBZwYJnnQODMaWwjIiLaNFmJ4SrbO5TP\nt9h+/njT2tqo9CGqk/8S4ErgH4C1gdOBTcntqjED5Qq3s/J9dk4nb1e91vaLy+d32T62Ydovbb9o\n2tFOURJDDLKcyDor32fndLIq6VhJawOMSQrPp+pULyIiamjS21UlrWb7sdH/exjXRPGkxBADK1e4\nnZXvs3M6/aKeL0panek1NkdExAwyYWKQ9GrgF8BFwBVlOCIiam55JYYlZZ4U6CIiVhCTJYaLgJ2A\nVwEvtf3j3oQUERH9lMbniA5JY2ln5fvsnDQ+R0TEtKTxOSIimqTxOSIimqTxOSIimqTxOaJD0lja\nWfk+O6ejL+opSWEL4D3lXc2rLJvkvduOMiIiBlYrb3A7E/gy1fsSlpRxyeMRETXVSmJ4zPbnuh5J\nREQMhEnbGGDpqze3BM4FHh8db/vK7oY2bixpY4iBlTrxzsr32TkdbWMotgUOAHZlWVUSZTgiImqm\nlRLDb4AX2n6iNyFNGktKDDGwcoXbWfk+O6fTXWIAXAcMtR9SRETMJK1UJQ0BN0q6nGVtDLldNSKi\nplpJDEeOMy4FvIiImlpuG8MgSRtDDLLUiXdWvs/O6UYbQ0RErEBaqUqKiOi5oaGq1NCrbS1a1Jtt\nzQSpSorokFR9zFx1/+06/oCbpFdSNUDPpbkTvS3aijAiIgZaKw+43QS8D7gSeHp0vO17uxvauLGk\nxBADq+5XnXVW99+uG11i3G/7nGnEFBERM0grJYajgJWBb9GhTvQkrUfVlfe2VM9EHAT8GjgN2AxY\nAOxr+/4xy6XEEAOr7leddVb3326qJYZWEsMI4zzQZrvtTvQknQj82PbxklYB1gQ+DNxr+2hJhwND\nto8Ys1wSQwysup9c6qzuv13HE0OnSVoXuGps47WkG4FX214oaQ4wYnvrMfMkMcTAqvvJpc7q/tt1\n/AE3SetJ+rSkK8q/T5aTe7s2B+6RdIKkKyX9j6Q1gdm2F5Z5FgKzp7GNiIhoUyuNz8dT9bD6RkBU\n72Y4AfibaWxzR+Ddti+X9BmgqcrItiWNm7/nz5+/9PPw8DDDw8NthhERUU8jIyOMjIy0vXwrbQzX\n2N5+eeNa3mBVTXSp7c3L8CuBecAWwK6275K0AXBhqpJiJql7dUSd1f2360ZfSY9KelXDBl4JPNJO\ncAC27wJuk7RVGfU64HrgLODAMu5A4Mx2txEREe1rpcTwEuAkYLRdYTFwoO1r2t6otD3V7aqrAr+h\nul11ZeB0YFNyu2rMQHW/6qyzuv92XbsrSdI6ALYfbDO2aUtiiEFW95NLndX9t+vYk8+SDrB9sqT3\n0/AcgyRRtQ9/anqhRkTEIJrsrqQ1yv9r0/yAm8gb3CIiaivdbkd0SN2rI+qs7r9dJ6uSPj/JcrZ9\nyJQii4iIGWGyqqQrqKqMxssyNc6tERErtlQlRXRI3asj6qzuv10nq5LOmmQ52957SpFFRMSMMFlV\n0id7FkVERAyMVCVFdEjdqyPqrO6/XSerkr5h+42Srhtnsm2/uK0IIyJioE1YYpC0oe07Jc0db7rt\nBd0La3wpMcQgq/tVZ53V/bfrdl9JS0sYthdNPbzpSWKIQVb3k0ud1f2361hVUsMKDwb+HXgcWFJG\nm+r9CRERUTOtdLt9C7Cz7Xt7E9KksaTEEAOr7leddVb3367jJQbgVuDR9kOK6I9Zs2Dx4t5tb2io\nd9uK6KZWSgw7Al8BLgWeKKP70ldSSgwxFXW/CozOqfux0o0Sw5eAHwLXUbUxpNvtiIgaayUxrGz7\nsK5HEhERA2GlFuY5R9LBkjaQNGv0X9cji4iIvmiljWEBz6w6su2e366aNoaYirrXG0fn1P1Y6doD\nboMgiSGmou5/7NE5dT9WppoYJqxKkjTcwsZ2bXVDERExM0zW+LyXpKOp7kj6BfAHqkQyB3gp8Drg\nwvIvIiJqYtKqJElrA28AXglsWkb/DvgJ8B3bD3c9wuZ4UpUULat79UB0Tj8ehlzUw97m0sYQUSQx\nxKDq9bHZsTaGhhXOkXScpB+U4W0kvWM6QUZExOBq5TmGrwDnARuW4V8Dh3YroIiI6K9WEsP6tk8D\nngaw/STwVFejioiIvmklMTws6TmjA5J2Bh6Y7oYlrSzpKklnleFZks6XdLOk8yStN91tRETE1LWS\nGN4PnAVsIekS4GSgEz2rvhe4gWVPVR8BnG97K+CCMhwRET3W0l1Jkp4FvKAM3lSqk9rfqLQxVdvF\nR4HDbL9e0o3Aq20vlDQHGLG99ZjlcldStCx3JcWgGvS7klp5teff0txX0laSHgCus313GzECfBr4\nILBOw7jZtheWzwuB2W2uOyIipqGVbrffDrycZU84DwNXAptL+ojtk6ayQUl7AXfbvmqibjdsW9K4\n+XT+/PlLPw8PDzM8PO4qIiJWWCMjI4yMjLS9fCu9q54HHDB6NS9pNlU7w/7ARba3ndIGpY8BB1Dd\n2bQaVanhW8DLgGHbd0naALgwVUkxHalKikE16FVJrTQ+b9JQxQNwdxl3H8te9dky2/9qexPbmwNv\nAn5k+wDgu8CBZbYDgTOnuu6IiJi+VqqSLpT0feB0qtd6/i0wImlN4P4OxDCaN48CTi9PVS8A9u3A\nuiMiYopaqUoaTQa7lFE/Bb7ZjzqdVCXFVKQqKQbVoFclLa931VWAX46t6++XJIaYiiSGGFSDnhgm\nbWOw/RRwk6TNph1ZRETMCK20McwCrpd0GfDHMs629+5eWBER0S+tJIb/2/UoIiJiYORFPVFbaWOI\nQTWj2xjKCl8u6XJJD0t6UtISSQ9OL8yIiBhUrTzgdgzw91Qv6FkNeAdwbDeDioiI/mklMWD718DK\ntp+2fQKwe3fDioiIfmml8fmPkp4NXCPpaOAuqiegIyKihlopMby1zPdu4BFgY6onoSMiooZyV1LU\nVu5KikE16HcltfKinlcCRwJzG+a37S3aijAiIgZaK53o3QS8j+rlPE+Pjrd9b3dDGzeWlBiiZSkx\nxKCa8SUG4H7b50wjpoiImEEmLDFI+tPy8Y3AylRvWXt8dLrtK7se3TNjcvPrp7traAgWLerZ5qLD\nUmKIQTVrFixe3MstdqjbbUkjTHIWtr3rlGObpl5XJeXEMrPl94uodPR9DIMmiSGmIr9fRKUbfSV9\nTNJ6DcNDkv6z3QAjImKwtfKA21/ZXvpuZ9uLgT27F1JERPRTK4lhJUmrjQ5IWh1YtXshRUREP7Vy\nu+rXgAskHU/VR9JBwEldjSoiIvqmpcZnSXsAry2D59s+t6tRTRxHGp+jZfn9IiodvytJ0prAY7af\nlvQC4AXAObafnF6oU5fEEFOR3y+i0vG7koCLgWdL2gg4FzgA+Ep74c0sQ0PVyaVX/2bN6vceR0S0\n1sYg249IegdwrO2jJV3T7cAGQa+felbechERA6ClN7hJejnwZuD7U1kuIiJmnlZO8O8D5gHftn29\npC2BC7sbVkRE9Eu6xBggaSztrHyfEZWOdbst6bO23yvprHEm2/bebQa4CdVzEM+j6qTvS7Y/J2kW\ncBqwGbAA2LfxieuIiOiNSbvdtn2FpOFxJtv2j9vaoDQHmGP7aklrAVcA+1A9OHdvadw+HBiyfcSY\nZVNiiJbl+4yodKV3VUnPBbB9zzRim2jdZwLHlH+vtr2wJI8R21uPmTeJIVqW7zOi0rHnGFSZL+le\n4GbgZkn3SjqyE4GWbcwFdgB+Dsy2vbBMWgjM7tR2IiKidZPdlXQosAvwMttDtoeAnYBdJB023Q2X\naqRvAu+1/VDjtFIsyLVeREQfTPaA21uB3Rqrj2zfKunNwPnAp9rdqKRnUSWFk22fWUYvlDTH9l2S\nNgDuHm/Z+fPnL/08PDzM8PBwu2EMnNEnrXu5vby6NKJ+RkZGGBkZaXv5yRqff2n7RVOdttwNSgJO\nBO6zfWjD+KPLuI9LOgJYb0VrfO61utfB133/IlrVsdtVgck6yZtOB3q7AG8BrpV0VRk3DzgKOL10\nvbEA2Hca24iIiDZNVmJ4GnhkguVWt91KP0sdlRJDZ9X9irru+xfRqo6VGGyv3JmQIiJiJklneBER\n0SSJISIimiQxREREkySGiIhoksQQERFNkhgiIqJJEkNERDRJYoiIiCZJDBER0SSJISIimiQxRERE\nkySGiIhoksQQERFNet51dqy4Zs2CxYt7t72hod5tK6JOJnwfwyDK+xg6q9fvK8j7ESL6Y6rvY0hV\nUkRENEliiIiIJkkMERHRJIkhIiKaJDFERESTJIaIiGiSxBAREU2SGCIiokkSQ0RENEliiIiIJkkM\nERHRJIkhIiKaDFRikLS7pBsl/VrS4f2OJyJiRTQwiUHSysAxwO7ANsD+kl7Y36h6a2RkpN8hdNlI\nvwPoqrr/fnXevzrvWzsGJjEAOwG32F5g+0ng68Ab+hxTT9X/4BzpdwBdVfffr877V+d9a8cgJYaN\ngNsahm8v4yIioocGKTHkFS4REQNgYN7gJmlnYL7t3cvwPGCJ7Y83zDMYwUZEzDBTeYPbICWGVYCb\ngNcCdwKXAfvb/lVfA4uIWMGs0u8ARtl+StK7gXOBlYHjkhQiInpvYEoMERExGAap8XlSdX74TdIm\nki6UdL2kX0o6pN8xdZqklSVdJemsfsfSaZLWk3SGpF9JuqG0l9WGpHnl2LxO0imSnt3vmKZD0vGS\nFkq6rmHcLEnnS7pZ0nmS1utnjNMxwf59ohyf10j6lqR1J1vHjEgMK8DDb08Ch9reFtgZ+Jea7R/A\ne4EbqOfdZ58Fzrb9QuDFQG2qQCXNBf4R2NH2dlTVvG/qZ0wdcALVuaTREcD5trcCLijDM9V4+3ce\nsK3t7YGbgXmTrWBGJAZq/vCb7btsX10+P0x1Ytmwv1F1jqSNgb8Cvgy0fGfETFCuvF5l+3io2sps\nP9DnsDrpQaoLlzXKDSJrAHf0N6TpsX0xsHjM6L2BE8vnE4F9ehpUB423f7bPt72kDP4c2HiydcyU\nxLDCPPxWrtB2oPrx6uLTwAeBJcubcQbaHLhH0gmSrpT0P5LW6HdQnWJ7EfBJ4PdUdwveb/uH/Y2q\nK2bbXlhm7imFAAADnElEQVQ+LwRm9zOYLns7cPZkM8yUxFDH6odnkLQWcAbw3lJymPEk7QXcbfsq\nalZaKFYBdgSOtb0j8EdmdjVEE0lbAu8D5lKVYteS9Oa+BtVlru7IqeU5R9KHgSdsnzLZfDMlMdwB\nbNIwvAlVqaE2JD0L+CbwVdtn9jueDnoFsLek3wKnAq+RdFKfY+qk24HbbV9ehs+gShR18VLgEtv3\n2X4K+BbVb1o3CyXNAZC0AXB3n+PpOElvo6rSXW5inymJ4RfAn0iaK2lVYD/gu32OqWMkCTgOuMH2\nZ/odTyfZ/lfbm9jenKrR8ke239rvuDrF9l3AbZK2KqNeB1zfx5A67UZgZ0mrl+P0dVQ3EdTNd4ED\ny+cDgTpdnCFpd6rq3DfYfmx588+IxFCuVEYffrsBOK1mD7/tArwF2LXc0nlV+SHrqI5F9PcAX5N0\nDdVdSR/rczwdY/sa4CSqi7Nry+gv9S+i6ZN0KnAJ8AJJt0k6CDgK2E3SzcBryvCMNM7+vR34PLAW\ncH45vxw76TrygFtERDSaESWGiIjonSSGiIhoksQQERFNkhgiIqJJEkNERDRJYoiIiCZJDLHCk7RE\n0skNw6tIuqfdLsIlrSvpnQ3Dw3XsbjzqK4khourfaFtJq5Xh3ai6umj3IZ8h4F2dCCyiH5IYIipn\nA3uWz/tT9eskWPoSlzPLS04ulbRdGT+/vBTlQkm/kfSesvxRwJblCdOjqRLMWpK+UV6W8tXRjUo6\nqrwE5xpJn+jVzkZMZmDe+RzRZ6cB/ybpe8B2VH1XvapM+3fgCtv7SNqVqouIHcq0rYBdgXWAm0pX\nA4dTvRRlB6iqksr82wB/AH4qaReqfoj2sb11mW+dru9lRAtSYogAbF9H1bX0/sD3x0zeBTi5zHch\n8BxJa1OVBL5v+0nb91H1yDmb8bsXv8z2naVL56uBzYD7gcckHSfpr4FHO79nEVOXxBCxzHeB/6Kh\nGqnBRO+SeKLh89NMXAp/fMx8z7L9NNXbCc8A9gJ+MNWAI7ohiSFimeOB+bbHdpt9MaUP+1ItdI/t\nh5g4WTwErL28jUlaE1jP9jnAYcD2bcYd0VFpY4godx/ZvgM4pmHc6F1J84HjS7faf2RZv/3jvunL\n9n2SfirpOqpG7bPHmc9UyeM75W4oAYd2aocipiPdbkdERJNUJUVERJMkhoiIaJLEEBERTZIYIiKi\nSRJDREQ0SWKIiIgmSQwREdEkiSEiIpr8L6I2DxQIB5NYAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f04b38d7a10>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f04cd2ebed0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power developed is 13.79 MW\n"
+ ]
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, subplot, title,show,xlabel,ylabel\n",
+ "#Input data\n",
+ "q=[0,30,25,20,0,10,50,80,100,110,65,45,30]#Mean discharge in millions of cu.m per month respectively\n",
+ "h=90#Head in m\n",
+ "n=86#Overall efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "Qm=(q[(1)]+q[(2)]+q[(3)]+q[(4)]+q[(5)]+q[(6)]+q[(7)]+q[(8)]+q[(9)]+q[(10)]+q[(11)]+q[(12)])/12#Mean discharge in millions m**3/s\n",
+ "Q=[0,30,30,25,25,20,20,0,0,10,10,50,50,80,80,100,100,110,110,65,65,45,45,30,30,0]#Discharge(million m**3/month) on y-axis\n",
+ "y=[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12]#Months on x-ais\n",
+ "D=[0,110,100,90,80,70,60,50,40,30,25,20,10,0]#Discharge per month in million m**3\n",
+ "pt=[0,8.3,16.7,25,25,25,33.3,41.7,50,66.7,75,83.3,91.7,100]#Percentage time \n",
+ "Po=((Qm*10**6*9.81*h*(n/100))/(30*24*3600*1000))#Power developed in MW\n",
+ "\n",
+ "#Output\n",
+ "#subplot(131)\n",
+ "plot(y[1:],Q[1:])#Graph Discharge(million m**3/month) vs Month\n",
+ "title(\"Discharge(million m**3/month) vs Month\")\n",
+ "xlabel(\"Months\")\n",
+ "ylabel(\"Discharge(million m**3/month)\")\n",
+ "show()\n",
+ "#subplot(133)\n",
+ "plot(pt[1:],D[1:])#Graph percentage time vs Discharge(million m**3/month)\n",
+ "title(\"percentage time vs Discharge(million m**3/month)\")\n",
+ "xlabel(\"percentage time\")\n",
+ "ylabel(\"Discharge(million m**3/month)\")\n",
+ "show()\n",
+ "print \"Power developed is %3.2f MW\"%(Po)\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch11.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch11.ipynb
new file mode 100644
index 00000000..84b289a0
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch11.ipynb
@@ -0,0 +1,529 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 11 : Diesel engine and Gas Turbine Power Plants"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.1 Pg: 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net increase in brake power is 28.67 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "C=3.5#Capacity in litres\n",
+ "P=13.1#Indicated power in kW/m**3\n",
+ "N=3600#Speed in rpm\n",
+ "ve=82#Volumetric efficiency in percent\n",
+ "p1=1.013#Pressure in bar\n",
+ "T1=25+273#Temperature in K\n",
+ "rp=1.75#Pressure ratio\n",
+ "ie=70#Isentropic efficiency in percent\n",
+ "me=80#Mechanical efficiency in percent\n",
+ "g=1.4#Ratio of specific heats\n",
+ "R=0.287#Gas constant in kJ/kg.K\n",
+ "Cp=1.005#Specific heat in kJ/kg.K\n",
+ "\n",
+ "#Calculations\n",
+ "EC=(C/1000)#Engine capacity in m**3\n",
+ "Vs=(N/2)*EC#Swept volume in m**3\n",
+ "Vui=(ve/100)*Vs#Unsupercharged induced volume in m**3/min\n",
+ "dp=(rp*p1)#Blower delivery pressure in bar\n",
+ "T2sT1=(rp)**((g-1)/g)#Ratio of temperatures\n",
+ "T2s=(T2sT1*T1)#Temperature in K\n",
+ "dT21=(T2s-T1)/(ie/100)#Difference in temperature in K\n",
+ "T2=dT21+T1#Temperature in K\n",
+ "EV=(Vs*dp*T1)/(p1*T2)#Equivalent volume in m**3/min\n",
+ "iiv=EV-Vui#Increase in induced volume in m**3/min\n",
+ "iip=(P*iiv)#Increase in indicated power in kW\n",
+ "iipi=((dp-p1)*100*Vs)/60#Increase in induced power due to increase in induction pressure in kW\n",
+ "tiip=iip+iipi#Total increase in indicated power in kW\n",
+ "tibp=tiip*(me/100)#Total increase in brake power in kW\n",
+ "ma=(dp*100*Vs)/(60*R*T2)#Mass of air in kg/s\n",
+ "WI=(ma*Cp*(T2-T1))#Work input to heater in kW\n",
+ "Pb=(WI/(me/100))#Power required in kW\n",
+ "NI=tibp-Pb#Net increase in brake power in kW\n",
+ "\n",
+ "#Output\n",
+ "print \"Net increase in brake power is %3.2f kW\"%(NI)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.2 Pg: 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the temperature of air leaving the compressor is 129.76 degree C \n",
+ " (b) the temperature of gases leaving the turbine is 482.26 degree C \n",
+ " (c) the mechanical power loss in the turbocharger as a percentage of the power generated in the turbine is 15.08 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "p1=0.97#Pressure in bar\n",
+ "t1=30+273#Temperature in K\n",
+ "p2=2.1#Pressure in bar\n",
+ "af=18#Air fuel ratio\n",
+ "t3=580+273#Temperature in K\n",
+ "p3=1.9#Pressure in bar\n",
+ "p4=1.06#Pressure in bar\n",
+ "iec=0.75#Isentropic efficiency of compressor\n",
+ "iet=0.85#Isentropic efficiency of turbine\n",
+ "cpa=1.01#Specific heat for air in kJ/kg.K\n",
+ "ga=1.4#Ratio of specific heats\n",
+ "cpex=1.15#Specific heat in kJ/kg.K\n",
+ "gex=1.33#Ratio of specific heats\n",
+ "\n",
+ "#Calculations\n",
+ "t2s=t1*(p2/p1)**((ga-1)/ga)#Tempeature in K\n",
+ "t21=(t2s-t1)/iec#Temperature in K\n",
+ "t2=t21+t1#Temperature in K\n",
+ "T2=t2-273#Temperature in degree C\n",
+ "t3t4s=(p3/p4)**((gex-1)/gex)#Ratio of temperatures\n",
+ "t4s=(t3/t3t4s)#Temperature in K\n",
+ "t4=t3-((t3-t4s)*iet)#Temperature in K\n",
+ "T4=t4-273#Temperature in degree C\n",
+ "mp=(((cpex*(1+(1/af))*(t3-t4))-(cpa*(t2-t1)))/(cpex*(1+(1/af))*(t3-t4)))*100#Percentage of mechanical power loss\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the temperature of air leaving the compressor is %3.2f degree C \\n (b) the temperature of gases leaving the turbine is %3.2f degree C \\n (c) the mechanical power loss in the turbocharger as a percentage of the power generated in the turbine is %3.2f percent\"%(T2,T4,mp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.3 Pg: 770"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " ENERGY BALANCE SHEET \n",
+ " (in kW) (in percent)\n",
+ " 1. Brake power 53.12 37.69 \n",
+ " 2. Heat carried away by exhaust gases 29.09 20.64 \n",
+ " 3. Heat lost to jacket cooling water 45.10 32.00 \n",
+ " 4. Heat loss unaccounted 13.64 9.67 \n",
+ " Total 140.94 100.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "a=215#Current in A\n",
+ "v=210#Voltage in V\n",
+ "e=85#Efficiency in percent\n",
+ "q=11.8#Quantity of fuel supplied in kg/h\n",
+ "cv=43#Calorific value in MJ/kg\n",
+ "af=18#Air fuel ratio\n",
+ "w=560#Water in litres/h\n",
+ "tw=38#Temeparature in degree C\n",
+ "te=97#Temeparature in degree C\n",
+ "cp=1.04#Specific heat in kJ/kg.K\n",
+ "ta=30#Temeparature in degree C\n",
+ "l=32#Percentage lost \n",
+ "sw=4.187#Specific heat in kJ/kg.K\n",
+ "\n",
+ "#Calculations\n",
+ "P=(a*v)/1000#Power in kW\n",
+ "BP=(P/(e/100))#Brake power in kW\n",
+ "E=(q/3600)*cv*1000#Energy supplied in kW\n",
+ "mg=(q/3600)*(1+af)#Rate of gases in kg/s\n",
+ "he=(mg*cp*(te-ta))+((w/3600)*sw*tw)#Heat carried away by exhaust gases in kW\n",
+ "hj=(l/100)*E#Heat lost to jacket cooling water in kW\n",
+ "pBP=(BP/E)*100#Percentage\n",
+ "pE=(E/E)*100#Percentage\n",
+ "phe=(he/E)*100#Percenatge\n",
+ "phj=(hj/E)*100#Percenatge \n",
+ "\n",
+ "#Output\n",
+ "print \" ENERGY BALANCE SHEET \\n (in kW) (in percent)\\n 1. Brake power %3.2f %3.2f \\n 2. Heat carried away by exhaust gases %3.2f %3.2f \\n 3. Heat lost to jacket cooling water %3.2f %3.2f \\n 4. Heat loss unaccounted %3.2f %3.2f \\n Total %3.2f %3.2f\"%(BP,pBP,he,phe,hj,phj,(E-(BP+he+hj)),(((E-(BP+he+hj))/E)*100),E,(pBP+phe+phj+(((E-(BP+he+hj))/E)*100)))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.4 Pg: 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Indicated power is 18.07 kW \n",
+ " Brake power is 12.811 kW \n",
+ "\n",
+ " ENERGY BALANCE SHEET \n",
+ " (in kJ) (in percent)\n",
+ " 1. Energy equivalent in ip 21685 31.59 \n",
+ " 2. Energy carried away by cooling water 16748 24.40 \n",
+ " 3. Energy carried away by exhaust gases 18887 27.52 \n",
+ " 4. Unaccounted for energy loss 11320 16.49 \n",
+ " Total 68640 100.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "t=20#Trial time in minutes\n",
+ "NL=680#Net brake load in N\n",
+ "mep=3#Mean effective pressure in bar\n",
+ "N=360#Speed in rpm\n",
+ "Fc=1.56#Fuel consumption in kg\n",
+ "cw=160#Cooling water in kg\n",
+ "Tw=32#Temperature of water at inlet in degree C\n",
+ "Wo=57#Water outlet temperature in degree C\n",
+ "a=30#Air in kg\n",
+ "Ta=27#Room temperature in degree C\n",
+ "Te=310#Exhaust gas temperature in degree C\n",
+ "d=210#Bore in mm\n",
+ "l=290#Stroke in mm\n",
+ "bd=1#Brake diameter in m\n",
+ "cv=44#Calorific value in MJ/kg\n",
+ "st=1.3#Steam formed in kg per kg fuel in the exhaust\n",
+ "cp=2.093#Specific heat of steam in exhaust in kJ/kg.K\n",
+ "cpx=1.01#Specific heat of dry exhaust gases in kJ/kg.K\n",
+ "cpw=4.187#Specific heat of water in kJ/kg.K\n",
+ "\n",
+ "#Calculations\n",
+ "ip=(mep*100*(l/1000)*(3.14/4)*(d/1000)**2*N)/60#Indicated Power in kW\n",
+ "bp=((2*3.14*N*(NL*(1/2)))/60)/1000#Brake power in kW\n",
+ "nm=(bp/ip)*100#Mechanical efficiency in percent\n",
+ "qs=(Fc*cv*10**3)#Heat supplied in kJ\n",
+ "qip=(ip*t*60)#Heat equivalent of ip in kJ\n",
+ "qcw=(cw*cpw*(Wo-Tw))#Heat carried away by cooling water in kJ\n",
+ "tm=(Fc*a)#Toatl mass of exhaust gas in kg\n",
+ "ms=(st*Fc)#Mass of steam formed in kg\n",
+ "mde=(tm-ms)#Mass of dry exhaust gas in kg\n",
+ "Ed=(mde*cpx*(Te-Ta))#Energy carried away by dry exhaust gases in kJ\n",
+ "Es=(ms*((cpw*(100-Ta))+2257.9+(cp*(Te-100))))#Energy carried away by steam in kJ\n",
+ "TE=(Ed+Es)#Total energy carried away by exhaust gases in kJ\n",
+ "ue=(qs-(qip+qcw+TE))#Unaccounted energy in kJ\n",
+ "pqip=(qip/qs)*100#Percentage\n",
+ "pqcw=(qcw/qs)*100#Percentage\n",
+ "pTE=(TE/qs)*100#Percentage\n",
+ "pue=(ue/qs)*100#Percentage\n",
+ "\n",
+ "#Output\n",
+ "print \" Indicated power is %3.2f kW \\n Brake power is %3.3f kW \\n\\n ENERGY BALANCE SHEET \\n (in kJ) (in percent)\\n 1. Energy equivalent in ip %3.0f %3.2f \\n 2. Energy carried away by cooling water %3.0f %3.2f \\n 3. Energy carried away by exhaust gases %3.0f %3.2f \\n 4. Unaccounted for energy loss %3.0f %3.2f \\n Total %3.0f %3.2f\"%(ip,bp,qip,pqip,qcw,pqcw,TE,pTE,ue,pue,qs,(pqip+pqcw+pTE+pue))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.5 Pg: 796"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)The flow velocity is 393 m/s \n",
+ " (b) The blade angles at the tip are : \n",
+ " Fixed blades (root) are 57.28 degrees and 23.88 degrees \n",
+ " Moving blades (root) are 38.78 degrees and 50.10 degrees \n",
+ " Fixed blades (tip) are 47.38 degrees and 17.17 degrees \n",
+ " Moving blades (tip) are 0.45 degrees and 54.23 degrees \n",
+ " (c) The degree of reaction at : \n",
+ " the tip is 64 percent \n",
+ " the root is 26 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import tan,sin,atan,degrees,pi,cos,sqrt\n",
+ "#Input data\n",
+ "Vbm=360#Blade velocity in m/s\n",
+ "b1=20#Blade angle at inlet in degrees\n",
+ "a2=b1#Angle in degrees\n",
+ "b2=52#Blade angle at exit in degrees\n",
+ "a1=b2#Angle in degrees\n",
+ "R=50#Degree of reaction in percent\n",
+ "dm=0.45#Mean diameter of the blade in m\n",
+ "bh=0.08#Mean blade height in m\n",
+ "\n",
+ "#Calculations\n",
+ "Vf=(Vbm/(tan(pi/180*b2)-tan(pi/180*b1)))#Velocity in m/s\n",
+ "rt=(dm/2)+(bh/2)#Mean radius in m\n",
+ "Vbt=(Vbm*(rt/(dm/2)))#Velocity in m/s\n",
+ "Vw1m=Vf*tan(pi/180*a1)#Velocity in m/s\n",
+ "Vw1t=(Vw1m*((dm/2)/rt))#Velocity in m/s\n",
+ "dVw1=(Vf*(tan(pi/180*b1)+tan(pi/180*b2))*Vbm)/Vbt#Velocity in m/s\n",
+ "rr=(dm/2)-(bh/2)#Radius in m\n",
+ "Vbr=(Vbm*(rr/(dm/2)))#Velocity in m/s\n",
+ "Vw1r=(Vw1m*((dm/2)/rr))#Velocity in m/s\n",
+ "Vr2=Vf/cos(pi/180*b2)#Velocity in m/s\n",
+ "dVwr=((Vw1m+((Vr2*sin(pi/180*b2))-Vbm))*Vbm)/Vbr#Velocity in m/s\n",
+ "a1r=degrees(atan(Vw1r/Vf))#Angle in degrees\n",
+ "a2r=degrees(atan((dVwr-Vw1r)/Vf))#Angle in degrees\n",
+ "b1r=degrees(atan((Vw1r-Vbr)/Vf))#Angle in degrees\n",
+ "b2r=degrees(atan((Vbr+(Vf*tan(pi/180*a2r)))/Vf))#Angle in degrees\n",
+ "a1t=degrees(atan(Vw1t/Vf))#Angle in degrees\n",
+ "a2t=degrees(atan((dVw1-Vw1t)/Vf))#Angle in degrees\n",
+ "b1t=degrees(atan((Vw1t-Vbt)/Vf))#Angle in degrees\n",
+ "b2t=degrees(atan((Vbt+(Vf*tan(pi/180*a2t)))/Vf))#Angle in degrees\n",
+ "Rt=((Vf*(tan(pi/180*b2t)-tan(pi/180*b1t)))/(2*Vbt))*100#Degree of reaction at the tip in percent\n",
+ "Rr=((Vf*(tan(pi/180*b2r)-tan(pi/180*b1r)))/(2*Vbr))*100#Degree of reaction at the root in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" (a)The flow velocity is %3.0f m/s \\n (b) The blade angles at the tip are : \\n Fixed blades (root) are %3.2f degrees and %3.2f degrees \\n Moving blades (root) are %3.2f degrees and %3.2f degrees \\n Fixed blades (tip) are %3.2f degrees and %3.2f degrees \\n Moving blades (tip) are %3.2f degrees and %3.2f degrees \\n (c) The degree of reaction at : \\n the tip is %3.0f percent \\n the root is %3.0f percent\"%(Vf,a1r,a2r,b1r,b2r,a1t,a2t,b1t,b2t,Rt,Rr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.6 Pg: 799"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Impeller tip diameter is 549 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import tan,sin,atan,degrees,pi,cos,sqrt\n",
+ "#Input data\n",
+ "N=16000#Speed in rpm\n",
+ "T1=17+273#Temperature in K\n",
+ "rp=4#Pressure ratio\n",
+ "In=82#Isentropic efficiency in percent\n",
+ "s=0.85#Slip factor\n",
+ "a=20#Angle in degrees\n",
+ "d=200#Diameter in mm\n",
+ "V=120#Velocity in m/s\n",
+ "cp=1.005#Specific heat in kJ/kg.K\n",
+ "g=1.4#Ratio of specific heats\n",
+ "\n",
+ "#Calculations\n",
+ "T2sT1=(rp)**((g-1)/g)#Temperature ratio\n",
+ "T2s=T1*T2sT1#Temeprature in K\n",
+ "dTs=(T2s-T1)#Temperature difference in K\n",
+ "dT=dTs/(In/100)#Temperature difference in K\n",
+ "Wc=(cp*dT)#Power input in kJ/kg\n",
+ "Vb1=(3.14*(d/1000)*N)/60#Velocity in m/s\n",
+ "Vw1=(V*sin(pi/180*a))#Pre-whirl velocity in m/s\n",
+ "Vb2=sqrt(((Wc*1000)+(Vb1*Vw1))/s)#Velocity in m/s\n",
+ "d2=((Vb2*60)/(3.14*N))*1000#Tip diameter in mm\n",
+ "\n",
+ "#Output\n",
+ "print \"Impeller tip diameter is %3.0f mm\"%(d2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.7 Pg: 801"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Workdone factor of the compressor is 0.86\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import tan,sin,atan,degrees,pi,cos,sqrt\n",
+ "#Input data\n",
+ "T1=25+273#Temperature in K\n",
+ "rp=6#Pressure ratio\n",
+ "Vb=220#Mean velocity in m/s\n",
+ "b1=45#Angle in degrees\n",
+ "a2=b1#Angle in degrees\n",
+ "b2=15#Angle in degrees\n",
+ "a1=b2#Angle in degrees\n",
+ "R=50#Degree of reaction in percent\n",
+ "n=10#Number of stages\n",
+ "In=83#Isentropic efficiency in percent\n",
+ "cp=1.005#Specific heat in kJ/kg.K\n",
+ "g=1.4#Ratio of specific heats\n",
+ "\n",
+ "#Calculations\n",
+ "V1=(Vb/(sin(pi/180*b2)+(cos(pi/180*a1)*tan(pi/180*a2))))#Velocity in m/s\n",
+ "V2=(V1*cos(pi/180*b2))/cos(pi/180*b1)#Velocity in m/s\n",
+ "dVw=(V2*sin(pi/180*a2))-(V1*sin(pi/180*a1))#Velocity in m/s.Textbook answer is wrong. Correct answer is 127 m/s\n",
+ "T2sT1=rp**((g-1)/g)#Temperature ratio\n",
+ "T2s=(T2sT1*T1)#Temperature in K\n",
+ "dTs=(T2s-T1)#Temperature difference in K\n",
+ "dT=(dTs/(In/100))#Temperature difference in K\n",
+ "W=(cp*dT)#Workdone in kJ/kg\n",
+ "w=(W*10**3)/(Vb*dVw*n)#Work done factor\n",
+ "\n",
+ "#Output\n",
+ "print \"Workdone factor of the compressor is %3.2f\"%(w)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 11.8 Pg: 802"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the air fuel ratio is 75.55 \n",
+ " (b) the cycle efficiency is 41.8 percent \n",
+ " (c) the power supplied by the plant is 41 MW \n",
+ " (d) the specific fuel consumption of the plant is 0.244 kg/kW.h and the fuel consumption per hour is 10007.26 kg\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "#Input data\n",
+ "p1=1#Pressure in bar\n",
+ "T1=20+273#Temperature in K\n",
+ "Tm=900+273#Maximum temperature in K\n",
+ "rp=6#Pressure ratio\n",
+ "e=0.7#Effectiveness of regenerator\n",
+ "ma=210#Rate of air flow in kg/s\n",
+ "CV=40800#Calorific value in kJ/kg\n",
+ "ic=0.82#Isentropic efficiencies of both the compressors\n",
+ "it=0.92#Isentropic efficiencies of both the turbine\n",
+ "cn=0.95#Combustion efficiency \n",
+ "mn=0.96#Mechanical efficiency\n",
+ "gn=0.95#Generator efficiency\n",
+ "cp=1.005#Specific heat of air in kJ/kg.K\n",
+ "cpg=1.08#Specific heat of gas in kJ/kg.K\n",
+ "g1=1.4#Ratio of specific heats for air\n",
+ "g=1.33#Ratio of specific heats for gas\n",
+ "\n",
+ "#Calculations\n",
+ "pi=sqrt(p1*rp)#Intermediate pressure in bar\n",
+ "T2sT1=(pi/p1)**((g1-1)/g1)#Temperature ratio\n",
+ "T2s=(T2sT1*T1)#temperature in K\n",
+ "T2=((T2s-T1)/ic)+T1#Temperature in K\n",
+ "T4s=(T1*(rp/pi)**((g1-1)/g1))#Temperature in K\n",
+ "T4=((T4s-T1)/ic)+T1#Temperature in K\n",
+ "T7s=(Tm/(rp/p1)**((g-1)/g))#Temperature in K\n",
+ "T7=Tm-(it*(Tm-T7s))#Temperature in K\n",
+ "T5=(e*(T7-T4))+T4#Temperature in K\n",
+ "mf=1/((cp*(Tm-T5))/((CV*cn)-(cp*(Tm-T5))))#Air fuel ratio\n",
+ "Wgt=((1+(1/mf))*cpg*(Tm-T7))#Workdone by turbine in kJ/kg of air\n",
+ "Wc=(cp*((T2-T1)+(T4-T1)))#Workdone by compressor in kJ/kg of air\n",
+ "Wnet=(Wgt-Wc)#Net workdone in kJ/kg of air\n",
+ "Q=(CV*cn)/mf#Heat supplied in kJ/kg of air\n",
+ "ncy=(Wnet/Q)*100#Cycle efficiency in percent\n",
+ "PO=(Wnet*ma*mn*gn)/10**3#Power output in MW\n",
+ "Fc=(ma*3600*(1/mf))#Fuel consumption per hour in kg\n",
+ "SFC=(Fc/(PO*10**3))#Specific fuel consumption in kg/kW.h\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the air fuel ratio is %3.2f \\n (b) the cycle efficiency is %3.1f percent \\n (c) the power supplied by the plant is %3.0f MW \\n (d) the specific fuel consumption of the plant is %3.3f kg/kW.h and the fuel consumption per hour is %3.2f kg\"%(mf,ncy,PO,SFC,Fc)\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch12.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch12.ipynb
new file mode 100644
index 00000000..cb66198b
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch12.ipynb
@@ -0,0 +1,145 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 : Flywheel Energy storage"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 12.1 Pg: 849"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the compressed sir temperature is 1162 degree C \n",
+ " (b) the storage time is 7.71 hour \n",
+ " (c) the total energy storage is 2426 MWh \n",
+ " (d) the total energy delivered by the peaking turbine is 1455 MWh\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "V=64000#Volume in m**3\n",
+ "Q=8300#Discharge in m**3/hr\n",
+ "p1=1#Pressure in bar\n",
+ "T1=20+273#Temperature in K\n",
+ "p2=100#Pressure in bar\n",
+ "pn=70#Polytropic efficiency in percent\n",
+ "pt=60#Peaking turbine efficiency in percent\n",
+ "g=1.4#Ratio of specific heats\n",
+ "cp=1.005#Specific heat in kJ/kg.K\n",
+ "R=0.287#Gas constant in kJ/kg.K\n",
+ "\n",
+ "#Calculations\n",
+ "T2sT1=(p2/p1)**((g-1)/g)#Temperature ratio \n",
+ "T2s=(T1*T2sT1)#Temperature in K\n",
+ "T21=(T2s-T1)/(pn/100)#Difference in Temperatures in K\n",
+ "T2=(T21+T1)-273#Temperature in degree C\n",
+ "v=(R*T1)/(p2*100)#Specific volume in m**3/kg\n",
+ "mf=(Q/(v*3600))#Mass flow rate in kg/s\n",
+ "E=(mf*cp*T21)/1000#Rate of energy storage in MW\n",
+ "t=(V/Q)#Storage time in hour\n",
+ "tE=(E*t)#Total energy storage in MWh\n",
+ "Ed=(tE*(pt/100))#Total energy delivered by the peaking turbine in MWh\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the compressed sir temperature is %3.0f degree C \\n (b) the storage time is %3.2f hour \\n (c) the total energy storage is %3.0f MWh \\n (d) the total energy delivered by the peaking turbine is %3.0f MWh\"%(T2,t,tE,Ed)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 12.2 Pg: 850"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the storage time is 13.969 h \n",
+ " (b) the total energy stored in the accumulator is 16678.8 MWh \n",
+ " (c) the total energy that can be delivered by the peaking turbine is 4002.92 MWh\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import log\n",
+ "#Input data\n",
+ "V=175000#Volume in m**3\n",
+ "d=4#Diameter in m\n",
+ "U=1.5#Overall heat transfer coefficient in W/m**2.K\n",
+ "p2=2#Pressure in bar\n",
+ "p1=20#Pressure in bar\n",
+ "Ta=20#Ambient temperature in degree C\n",
+ "cp=4.35#Specific heta of water in kJ/kg.K\n",
+ "e=96#Efficiency in percent\n",
+ "ppe=25#Peaking plant efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "#At 20 bar\n",
+ "T1=212.37#Saturation temperature in degree C\n",
+ "hf1=908.5#Enthalpy in kJ/kg\n",
+ "vf1=0.0011766#Specific volume in m**3/kg\n",
+ "#At 2 bar\n",
+ "T2=120.23#Saturation temperature in degree C\n",
+ "hf2=504.8#Enthalpy in kJ/kg\n",
+ "vf2=0.0010605#Specific volume in m**3/kg\n",
+ "ad=(1/2)*((1/vf1)+(1/vf2))#Average density of water in kg/m**3\n",
+ "tc=(d*ad*cp*1000)/(4*U*3600)#Time constant in h\n",
+ "ts=(log(1/(1-((1-((e/100)))/((T1-Ta)/(T1-T2))))))*tc#Storage time in h\n",
+ "m=(V/vf1)#Mass of water needed in kg\n",
+ "E=(m*(hf1-hf2))/(3600*10**3)#Total energy stored in MWh\n",
+ "Ed=(E*(e/100)*(ppe/100))#Energy delivered in MWh\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the storage time is %3.3f h \\n (b) the total energy stored in the accumulator is %3.1f MWh \\n (c) the total energy that can be delivered by the peaking turbine is %3.2f MWh\"%(ts,E,Ed)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch2.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch2.ipynb
new file mode 100644
index 00000000..1f75887b
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch2.ipynb
@@ -0,0 +1,600 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2 : Analysis of Steam Cycles"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.1 Pg: 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a)Power output of the cycle is 1746.3 kW \n",
+ " Efficiency of the cycle is 35.1 percent \n",
+ "\n",
+ " (b)Without geothermal heat supply \n",
+ " Power output of the cycle is 955.17 kW \n",
+ " Efficiency of the cycle is 19.22 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "p1=40#Initial pressure of steam in bar\n",
+ "T1=500#Initial temperature of steam in degree C\n",
+ "m1=5500#Rate of steam in kg/h\n",
+ "p2=2#Pressure of steam after expansion in bar\n",
+ "n1=0.83#Isentropic efficiency \n",
+ "q=0.87#Quality\n",
+ "m2=2700#Mass flow rate in kg/h\n",
+ "p3=0.1#Pressure of steam after expansion in l.p turbine in bar\n",
+ "n2=0.78#Isentropic efficiency\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3445.3#Enthalpy in kJ/kg\n",
+ "s1=7.0901#Entropy in kJ/kg.K which is 1.5301+x2s*5.5970\n",
+ "x2s=(5.5600/5.5970)#dryness fraction\n",
+ "h2s=(504.7+(x2s*2201.9))#Enthalpy in kJ/kg\n",
+ "h2=h1-(n1*(h1-h2s))#Enthalpy in kJ/kg\n",
+ "h3=(504.7+(q*2201.9))#Enthalpy in kJ/kg\n",
+ "h4=((m2*h3+m1*h2)/(m1+m2))#Enthalpy in kJ/kg\n",
+ "x4=(2183.78/2201.9)#dryness fraction\n",
+ "s4=(1.5301+x4*5.5970)#Entropy in kJ/kg.K\n",
+ "x5s=0.8574#dryness fraction\n",
+ "h5s=(191.84+x5s*2392.5)#Enthalpy in kJ/kg\n",
+ "dh4h5=(n2*(h4-h5s))#Difference in enthalpy (h4-h5) in kJ/kg\n",
+ "h6=191.83#Enthalpy in kJ/kg\n",
+ "W1=((m1*(h1-h2))+((m1+m2)*dh4h5))/3600#Power output of the plant in kW\n",
+ "Q1=(m1*(h1-h6))/3600#Heat input in kW\n",
+ "n1=(W1/Q1)*100#Efficiency in percent\n",
+ "WT=(m1*(h1-h2))/3600#Power output without the geothermal heat supply in kW\n",
+ "Q2=(m1*(h1-h6))/3600#Heat input without the geothermal heat supply in kW\n",
+ "n2=(WT/Q2)*100#Efficiency of the cycle without the geothermal heat supply in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"(a)Power output of the cycle is %3.1f kW \\n Efficiency of the cycle is %3.1f percent \\n\\n (b)Without geothermal heat supply \\n Power output of the cycle is %3.2f kW \\n Efficiency of the cycle is %3.2f percent\"%(W1,n1,WT,n2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.2 Pg: 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a)Mass flow rate of steam at turbine inlet is 452 kg/s \n",
+ " (b)The cycle efficiency is 38.82 percent \n",
+ " (c)Work ratio is 0.999\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "p1=90#Initial pressure of steam in bar\n",
+ "T1=500#Initial temperature of steam in degree C\n",
+ "O=(500*1000)#Output in kW\n",
+ "T2=40#Condensation temperature in degree C\n",
+ "nhp=0.92#Efficiency of h.p turbine\n",
+ "nlp=0.9#Efficiency of l.p turbine\n",
+ "np=0.75#Isentropic efficiency of the pump \n",
+ "TTD=-1.6#Temperature in degree C\n",
+ "\n",
+ "#Calculations\n",
+ "p2=(0.2*p1)#Optimum reheat pressure in bar\n",
+ "h1=3386.1#Enthalpy in kJ/kg\n",
+ "s1=6.6576#Entropy in kJ/kg.K\n",
+ "s2s=s1#Entropy in kJ/kg.K\n",
+ "h2s=2915#Enthalpy in kJ/kg\n",
+ "h3=3469.8#Enthalpy in kJ/kg\n",
+ "s3=7.4825#Entropy in kJ/kg.K\n",
+ "x4s=(s3-0.5725)/7.6845#Dryness fraction\n",
+ "h4s=(167.57+x4s*2406.7)#Enthalpy in kJ/kg\n",
+ "h5=167.57#Enthalpy in kJ/kg\n",
+ "h7=883.42#Enthalpy in kJ/kg\n",
+ "Wps=(0.001008*p1*10)#Workdone by the pump in kJ/kg\n",
+ "h6s=176.64#Enthalpy in kJ/kg\n",
+ "dh1h2=(nhp*(h1-h2s))#Difference in enthalpy (h1-h2) in kJ/kg\n",
+ "h2=h1-dh1h2#Enthalpy in kJ/kg\n",
+ "dh3h4=(nlp*(h3-h4s))#Difference in enthalpy (h3-h4) in kJ/kg\n",
+ "h4=h3-dh3h4#Enthalpy in kJ/kg\n",
+ "Wp=(Wps/np)#Workdone by the pump in kJ/kg\n",
+ "h6=(Wp+h5)#Enthalpy in kJ/kg\n",
+ "tsat=207.15#Saturation temperature at 18 bar in degree C\n",
+ "t9=(tsat-TTD)#Temperature in degree C\n",
+ "h9=875#Enthalpy in kJ/kg\n",
+ "m=((h9-h6)/(h2-h7))#Mass of steam in kg\n",
+ "WT=(dh1h2+(1-m)*dh3h4)#Workdone by the turbine in kJ/kg\n",
+ "Wnet=(WT-Wp)#Net workdone in kJ/kg\n",
+ "ws=(O/Wnet)#Mass flow rate of steam at turbine inlet in kg/s\n",
+ "Q1=((h1-h9)+(1-m)*(h3-h2))#Heat input in kJ/kg\n",
+ "n=(Wnet/Q1)*100#Efficiency of the cycle in percent\n",
+ "Wr=(Wnet/WT)#Work ratio\n",
+ "\n",
+ "#Output\n",
+ "print \"(a)Mass flow rate of steam at turbine inlet is %3.0f kg/s \\n (b)The cycle efficiency is %3.2f percent \\n (c)Work ratio is %3.3f\"%(ws,n,Wr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.3 Pg: 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The optimum pressure and temperature at different heaters are: \n",
+ " Heater 1: t1 = 255.2 degree C and p1 = 4.33 MPa\n",
+ " Heater 2: t2 = 224.5 degree C and p2 = 2.5318 MPa\n",
+ " Heater 3: t3 = 193.8 degree C and p3 = 1.367 MPa\n",
+ " Heater 4: t4 = 163.1 degree C and p4 = 0.6714 MPa\n",
+ " Heater 5: t5 = 132.4 degree C and p5 = 0.2906 MPa\n",
+ " Heater 6: t6 = 101.7 degree C and p6 = 0.108 MPa\n",
+ " Heater 7: t7 = 71.0 degree C and p7 = 32.65 kPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "p1=70#Pressure at which an ideal seam power plant operates in bar\n",
+ "T1=550#Temperature at which an ideal seam power plant operates in degrees C\n",
+ "p2=0.075#Pressure at which an ideal seam power plant operates in bar\n",
+ "\n",
+ "#Calculations\n",
+ "TB=285.9#Saturation temperature at 70 bar in degree C\n",
+ "TC=40.3#Saturation temperature at 0.075 bar in degree C\n",
+ "Tr=(TB-TC)/(7+1)#Temperature rise per heater for maximum cycle efficiency in degree C\n",
+ "t1=(TB-Tr)#Temperature at heater 1 in degree C\n",
+ "P1=4.33#Pressure at heater 1 in MPa\n",
+ "t2=(t1-Tr)#Temperature at heater 2 in degree C\n",
+ "P2=2.5318#Pressure at heater 2 in MPa\n",
+ "t3=(t2-Tr)#Temperature at heater 3 in degree C\n",
+ "P3=1.367#Pressure at heater 3 in MPa\n",
+ "t4=(t3-Tr)#Temperature at heater 4 in degree C\n",
+ "P4=0.6714#Pressure at heater 4 in MPa\n",
+ "t5=(t4-Tr)#Temperature at heater 5 in degree C\n",
+ "P5=0.2906#Pressure at heater 5 in MPa\n",
+ "t6=(t5-Tr)#Temperature at heater 6 in degree C\n",
+ "P6=0.108#Pressure at heater 6 in MPa\n",
+ "t7=(t6-Tr)#Temperature at heater 7 in degree C\n",
+ "P7=32.65#Pressure at heater 7 in kPa\n",
+ "\n",
+ "#Output\n",
+ "print \"The optimum pressure and temperature at different heaters are: \\n Heater 1: t1 = %3.1f degree C and p1 = %3.2f MPa\\n Heater 2: t2 = %3.1f degree C and p2 = %3.4f MPa\\n Heater 3: t3 = %3.1f degree C and p3 = %3.3f MPa\\n Heater 4: t4 = %3.1f degree C and p4 = %3.4f MPa\\n Heater 5: t5 = %3.1f degree C and p5 = %3.4f MPa\\n Heater 6: t6 = %3.1f degree C and p6 = %3.3f MPa\\n Heater 7: t7 = %3.1f degree C and p7 = %3.2f kPa\"%(t1,P1,t2,P2,t3,P3,t4,P4,t5,P5,t6,P6,t7,P7)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.4 Pg: 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Percentage of total electricity generated which is consumed in running the auxiliaries is 7.32 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "ng=0.97#Efficiency of electric generator \n",
+ "nt=0.95#Efficiency of turbine\n",
+ "nb=0.92#Efficiency of boiler\n",
+ "nc=0.42#Efficiency of cycle\n",
+ "no=0.33#Efficiency of overall plant\n",
+ "\n",
+ "#Calculations\n",
+ "na=(no/(ng*nt*nb*nc))#Efficiency of auxiliaries\n",
+ "n=(1-na)*100#Percentage of total electricity generated which is consumed in running the auxiliaries\n",
+ "\n",
+ "#Output\n",
+ "print \"Percentage of total electricity generated which is consumed in running the auxiliaries is %3.2f percent\"%(n)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.5 Pg: 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Efficiency of steam generator is 91.54 percent \n",
+ "\n",
+ " Heat transfer per kg fuel in \n",
+ " (i)economiser is 5.3155 MJ/kg \n",
+ " (ii)boiler is 13.086 MJ/kg \n",
+ " (iii)superheater is 4.665 MJ/kg \n",
+ " (iv)air pre-heater is 3.392 MJ/kg \n",
+ "\n",
+ " Percentage of total heat absorption taking place in \n",
+ " (i)economiser is 23.04 percent \n",
+ " (ii)boiler is 56.73 percent \n",
+ " (iii)superheater is 20.23 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "T1=140#Temperature with which feed water enters into economiser in degree C\n",
+ "T2=[25,250]#Temperature from air is preheated to in degree C\n",
+ "P1=60#Pressure with which steam leaves the drum in bar\n",
+ "x1=0.98#Dryness fraction\n",
+ "T3=450#Temperature with which steam leaves the superheater in degree C\n",
+ "cc=25.2#Calorific value of coal in MJ/kg\n",
+ "r=8.5#Rate of evaporation of steam per kg coal \n",
+ "wf=1#Mass of coal in kg\n",
+ "R=15#Air fuel ratio by mass\n",
+ "Cpa=1.005#Specific heat of air at constant pressure in kJ/kg.K\n",
+ "Cpw=4.2#Specific heat of water at constant pressure in kJ/kg.K\n",
+ "\n",
+ "#Calculations\n",
+ "h1=(T1*Cpw)#Enthalpy in kJ/kg\n",
+ "hf=1213.35#Enthalpy in kJ/kg\n",
+ "h2=hf#Enthalpy in kJ/kg\n",
+ "hfg=1571#Enthalpy in kJ/kg\n",
+ "h4=3301.8#Enthalpy in kJ/kg\n",
+ "h3=(hf+x1*hfg)#Enthalpy in kJ/kg\n",
+ "n=((r*(h4-h1))/(wf*cc*1000))*100#Efficiency\n",
+ "he=(r*(h2-h1))/wf*10**-3#Heat transfer in the economiser in MJ/kg\n",
+ "hb=(r*(h3-h2))/wf*10**-3#Heat transfer in the boiler in MJ/kg\n",
+ "hs=(r*(h4-h3))/wf*10**-3#Heat transfer in the superheater in MJ/kg\n",
+ "ha=(R*Cpa*(T2[1]-T2[0]))/wf*10**-3#Heat transfer in the air preheater in MJ/kg\n",
+ "pe=((h2-h1)/(h4-h1))*100#Percentage of total heat absorbed in the economiser in percent\n",
+ "pb=((h3-h2)/(h4-h1))*100#Percentage of total heat absorbed in the boiler in percent\n",
+ "ps=((h4-h3)/(h4-h1))*100#Percentage of total heat absorbed in the superheater in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"Efficiency of steam generator is %3.2f percent \\n\\n Heat transfer per kg fuel in \\n (i)economiser is %3.4f MJ/kg \\n (ii)boiler is %3.3f MJ/kg \\n (iii)superheater is %3.3f MJ/kg \\n (iv)air pre-heater is %3.3f MJ/kg \\n\\n Percentage of total heat absorption taking place in \\n (i)economiser is %3.2f percent \\n (ii)boiler is %3.2f percent \\n (iii)superheater is %3.2f percent\"%(n,he,hb,hs,ha,pe,pb,ps)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.6 Pg: 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The cycle efficiency is 48.58 percent \n",
+ " (b) The feedwater temperature is 264 degree C \n",
+ " (c) The steam rate is 2.69 kJ/kWh \n",
+ " (d) The heat rate is 7411 kJ/kWh \n",
+ " (e) The quality of steam at turbine exhaust is 0.8932 \n",
+ " (f) The power output is 111.58 MW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "p1=150#Pressure of inlet steam in bar\n",
+ "T1=550#Temperature of steam in degree C\n",
+ "p2=20#Pressure after expansion in bar\n",
+ "T2=500#Reheat temperature in degree C\n",
+ "pc=0.075#Condenser pressure in bar\n",
+ "php=50#Pressure of steam in h.p turbine in bar\n",
+ "pip=[10,5,3]#Pressure of steam in i.p turbines in bar\n",
+ "plp=1.5#Pressure of steam in l.p turbine in bar\n",
+ "m=300*1000#Steam flow rate in kg/h\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3448.6#Enthalpy in kJ/kg\n",
+ "h4=3467.6#Enthalpy in kJ/kg\n",
+ "s1=6.5119#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "s3=s1#Entropy in kJ/kg.K\n",
+ "s4=7.4317#Entropy in kJ/kg.K\n",
+ "s5=s4#Entropy in kJ/kg.K\n",
+ "s6=s5#Entropy in kJ/kg.K\n",
+ "s7=s6#Entropy in kJ/kg.K\n",
+ "s8=s7#Entropy in kJ/kg.K\n",
+ "s9=s8#Entropy in kJ/kg.K\n",
+ "t2=370#Temperature in degree C\n",
+ "t3=245#Temperature in degree C\n",
+ "t5=400#Temperature in degree C\n",
+ "t6=300#Temperature in degree C\n",
+ "t7=225#Temperature in degree C\n",
+ "t8=160#Temperature in degree C\n",
+ "h2=3112#Enthalpy in kJ/kg\n",
+ "h3=2890#Enthalpy in kJ/kg\n",
+ "h5=3250#Enthalpy in kJ/kg\n",
+ "h6=3050#Enthalpy in kJ/kg\n",
+ "h7=2930#Enthalpy in kJ/kg\n",
+ "h8=2790#Enthalpy in kJ/kg\n",
+ "x9=(s9-0.5764)/7.6751#Dryness fraction\n",
+ "h9=168.79+x9*2406##Enthalpy in kJ/kg\n",
+ "h10=168.79#Enthalpy in kJ/kg\n",
+ "h11=h10+0.001*pip[1]*100#Enthalpy in kJ/kg\n",
+ "h12=467.11#Enthalpy in kJ/kg\n",
+ "t14=111.37#Temperature in degree C\n",
+ "h14=467#Enthalpy in kJ/kg\n",
+ "h13=h12#Enthalpy in kJ/kg\n",
+ "h14=h13#Enthalpy in kJ/kg\n",
+ "h15=h14#Enthalpy in kJ/kg\n",
+ "h16=561.47#Enthalpy in kJ/kg\n",
+ "h17=h16#Enthalpy in kJ/kg\n",
+ "h18=640.23#Enthalpy in kJ/kg\n",
+ "h19=h18+0.001*(p1-pip[1])*100#Enthalpy in kJ/kg\n",
+ "h20=762.8#Enthalpy in kJ/kg\n",
+ "h21=h20#Enthalpy in kJ/kg\n",
+ "h22=1154.23#Enthalpy in kJ/kg\n",
+ "h23=h22#Enthalpy in kJ/kg\n",
+ "m1=((h23-h21)/(h2-h22))#Mass in kg\n",
+ "m2=((h21-h19)-(m1*(h22-h20)))/(h5-h20)#Mass in kg\n",
+ "m3=(((1-m1-m2)*(h18-h17))-((m1+m2)*(h20-h18)))/(h6-h18+h18-h17)#Mass in kg\n",
+ "m4=((1-m1-m2-m3)*(h17-h15))/(h7-h16)#Mass in kg\n",
+ "m5=(((1-m1-m2-m3-m4)*(h14-h11))-(m4*(h16-h12)))/(h8-h12+h14-h11)#Mass in kg\n",
+ "WT=(h1-h2)+(1-m1)*(h2-h3)+(1-m1)*(h4-h5)+(1-m1-m2)*(h5-h6)+(1-m1-m2-m3)*(h6-h7)+(1-m1-m2-m3-m4)*(h7-h8)+(1-m1-m2-m3-m4-m5)*(h8-h9)#Workdone by turbine in kJ/kg\n",
+ "Wp=(0.5+14.5+0.15)#Workdone in kJ/kg\n",
+ "Wnet=(WT-Wp)#Net workdone in kJ/kg\n",
+ "Q1=(h1-h23)+(1-m1)*(h4-h3)#Heat supplied in kJ/kg\n",
+ "ncy=(Wnet/Q1)*100#Cycle efficiency in percent\n",
+ "t23=264#Temperature in degree C\n",
+ "sr=(3600/Wnet)#Steam rate in kJ/kWh\n",
+ "hr=((Q1/Wnet)*3600)#Heat rate in kJ/kWh\n",
+ "P=((Wnet*m)/3600)/10**3#Power output in MW\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) The cycle efficiency is %3.2f percent \\n (b) The feedwater temperature is %d degree C \\n (c) The steam rate is %3.2f kJ/kWh \\n (d) The heat rate is %3.0f kJ/kWh \\n (e) The quality of steam at turbine exhaust is %3.4f \\n (f) The power output is %3.2f MW\"%(ncy,t23,sr,hr,x9,P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.7 Pg: 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The steam condition required at inlet of the turbine: \n",
+ " Enthalpy is 3085.3 kJ/kg \n",
+ " Entropy is 6.6192 kJ/kg.K \n",
+ " Pressure is 37.3 bar \n",
+ " Temperature is 344 degree C\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "m=10000#Mass flow rate of steam in kg/h\n",
+ "p=3#Pressure of steam in bar\n",
+ "P=1000#Power in kW\n",
+ "n=0.7#Internal efficiency of turbine\n",
+ "\n",
+ "#Calculations\n",
+ "dh=(P*3600)/m#Change in enthalpy in kJ/kg\n",
+ "h2=2725.3#Enthalpy in kJ/kg from Fig. E2.7 \n",
+ "h1=dh+h2#Enthalpy in kJ/kg \n",
+ "dh1h2s=dh/n#Change in enthalpy in kJ/kg\n",
+ "h2s=h1-dh1h2s#Enthalpy in kJ/kg\n",
+ "x2s=(h2s-561.47)/2163.8#Dryness fraction\n",
+ "s2s=1.6718+x2s*(6.999-1.6718)#Entropy in kJ/kg.K\n",
+ "s1=s2s#Entropy in kJ/kg.K\n",
+ "p1=37.3#Pressure in bar from Mollier diagram\n",
+ "t1=344#Temperature in degree C\n",
+ "\n",
+ "#Output\n",
+ "print \"The steam condition required at inlet of the turbine: \\n Enthalpy is %3.1f kJ/kg \\n Entropy is %3.4f kJ/kg.K \\n Pressure is %3.1f bar \\n Temperature is %d degree C\"%(h1,s1,p1,t1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.8 Pg: 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) the steam generation capacity of the bolier is 16.74 t/h \n",
+ " (b) the heat input to the boiler is 15113.7 kW \n",
+ " (c) the fuel burning rate of the bolier is 2.473 t/h \n",
+ " (d) the heat rejected to the condensor is 8369 kW \n",
+ " (e) the rate of flow of cooling water in the condensor is 0.333 m**3/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "Pl=5.6#Power load in MW\n",
+ "Hl=1.163#Heat load in MW\n",
+ "p1=40#Pressure in bar\n",
+ "T1=500+273#Temperature in K\n",
+ "p2=0.06#Pressure in bar\n",
+ "p3=2#Pressure in bar\n",
+ "CV=25#Calorific value in MJ/kg\n",
+ "n=88#Boiler efficiency in percent\n",
+ "T=6#Temperature rise in degree C\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3445.3#Enthalpy in kJ/kg\n",
+ "s1=7.0901#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "s3=s1#Entropy in kJ/kg.K\n",
+ "x2=(s2-1.5301)/5.5970#Dryness fraction\n",
+ "h2=2706.7#Enthalpy in kJ/kg\n",
+ "h26=2201.9#Difference in enthalpy in kJ/kg\n",
+ "w=(Hl*10**3)/h26#Rate of steam extraction in kg/h\n",
+ "x3=(s1-0.52)/7.815#Dryness fraction\n",
+ "h3=(149.79+x3*2416)#Enthalpy in kJ/kg\n",
+ "h4=149.79#Enthalpy in kJ/kg\n",
+ "ws=((Pl*10**3+(w*(h2-h3)))/((h1-h2)+(h2-h3)))#Steam generation capacity in kg/s\n",
+ "ws1=(ws*3600)/1000#Steam generation capacity in t/h\n",
+ "h7=(504.7+(1.061*10**-3*(p1-p3)*100))#Enthalpy in kJ/kg\n",
+ "h5=(149.79+(1.006*100*p1*10**-3))#Enthalpy in kJ/kg\n",
+ "Q1=(((ws-w)*(h1-h5))+(w*(h1-h7)))#Heat input in kW\n",
+ "wf=((Q1/1000)/((n/100)*CV))*(3600/1000)#Fuel burning rate in t/h\n",
+ "Q2=((ws-w)*(h3-h4))#Heat rejected to the condensor in kW\n",
+ "wc=(Q2/(4.187*T))/1000#Rate of flow of cooling water in m**3/s\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) the steam generation capacity of the bolier is %3.2f t/h \\n (b) the heat input to the boiler is %3.1f kW \\n (c) the fuel burning rate of the bolier is %3.3f t/h \\n (d) the heat rejected to the condensor is %3.0f kW \\n (e) the rate of flow of cooling water in the condensor is %3.3f m**3/s\"%(ws1,Q1,wf,Q2,wc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 2.9 Pg: 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) the steam quality at the exhaust of the h.p turbine is 0.956 \n",
+ " (b) the power developed by the h.p turbine is 1154.62 kW \n",
+ " (c) the isentropic efficiency of the h.p turbine is 76.61 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "m=21000#Steam rate in kg/h\n",
+ "p1=17#Pressure in bar\n",
+ "T1=230+273#Temperature in K\n",
+ "P=132.56#Power in kW\n",
+ "x2=0.957#Dryness fraction\n",
+ "p2=3.5#Pressure in bar\n",
+ "Pl=1337.5#Power in l.p turbine in kW\n",
+ "p3=0.3#Pressure in bar\n",
+ "x3=0.912#Dryness fraction\n",
+ "\n",
+ "#Calculations\n",
+ "h1=2869.7#Enthalpy in kJ/kg\n",
+ "s1=6.5408#Entropy in kJ/kg.K\n",
+ "h2=(870.44+x2*1924.7)#Enthalpy in kJ/kg\n",
+ "h3=h2#Enthalpy in kJ/kg\n",
+ "h56=(Pl*3600)/m#Difference in Enthalpy in kJ/kg\n",
+ "h6=(289.23+x3*2336.1)#Enthalpy in kJ/kg\n",
+ "h5=2649.04#Enthalpy in kJ/kg\n",
+ "s4s=s1#Entropy in kJ/kg.K\n",
+ "x4s=(s4s-1.7275)/5.2130#Dryness fraction\n",
+ "h4s=584.33+x4s*2148.1#Enthalpy in kJ/kg\n",
+ "w=(P/(h1-h2))#Flow rate in kg/s\n",
+ "ws=(m/3600)#Steam flow rate in kg/s\n",
+ "h4=((ws*h5)-(w*h3))/(ws-w)#Enthalpy in kJ/kg\n",
+ "x4=(h4-584.33)/2148.1#Dryness fraction\n",
+ "W=(ws-w)*(h1-h4)#Power developed by h.p turbine in kW\n",
+ "n=((h1-h4)/(h1-h4s))*100#Isentropic efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) the steam quality at the exhaust of the h.p turbine is %3.3f \\n (b) the power developed by the h.p turbine is %3.2f kW \\n (c) the isentropic efficiency of the h.p turbine is %3.2f percent\"%(x4,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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch3.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch3.ipynb
new file mode 100644
index 00000000..72e7fae0
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch3.ipynb
@@ -0,0 +1,529 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 : Combined Cycle Power Generation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.1 Pg: 143"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The amount of mercury circulated per kg of water is 7.4151 kg \n",
+ " (b) The efficiency of the combined cycle is 48.1 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "p=40#Pressure in bar\n",
+ "T1=400+273#Temperature in K\n",
+ "T2=40+273#Temperature in K\n",
+ "x=[0,10,515.5,72.23,363.0,0.1478,0.5167,80.9*10**-6,0.0333]#Property values from table p(bar),t(degree C), hf,hg(kJ/kg),sf,sg(kJ/kg.K),vf,vg(m**3/kg)\n",
+ "y=[0,0.2,277.3,38.35,336.55,0.0967,0.6385,77.4*10**-6,1.163]#Property values from table p(bar),t(degree C), hf,hg(kJ/kg),sf,sg(kJ/kg.K),vf,vg(m**3/kg)\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3216#Enthalpy in kJ/kg\n",
+ "s1=6.7690#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "x2=(s2-0.5725)/(8.2570-0.5725)#Dryness fraction\n",
+ "h2=167.57+x2*2406.7#Enthalpy in kJ/kg\n",
+ "h3=167.57#Enthalpy in kJ/kg\n",
+ "h4=(167.57+p*100*1.008*10**-3)#Enthalpy in kJ/kg\n",
+ "h5=1087.31#Enthalpy in kJ/kg\n",
+ "h6=2801.4#Enthalpy in kJ/kg\n",
+ "ha=x[(4)]#Enthalpy in kJ/kg\n",
+ "sa=x[(6)]#Entropy in kJ/kg.K\n",
+ "sb=sa#Entropy in kJ/kg.K\n",
+ "xb=(sb-y[(5)])/(y[(6)]-y[(5)])#Dryness fraction\n",
+ "hb=(y[(3)]+xb*(y[(4)]-y[(3)]))#Enthalpy in kJ/kg\n",
+ "hc=y[(3)]#Enthalpy in kJ/kg\n",
+ "hd=hc#Enthalpy in kJ/kg\n",
+ "m=(h6-h5)/(hb-hc)#Mass of mercury circulated per kg of steam\n",
+ "Q1=m*(ha-hd)+(h1-h6)+(h5-h4)#Heat supplied in kJ/kg\n",
+ "Q2=(h2-h3)#Heat rejected in kJ/kg\n",
+ "nc=(1-(Q2/Q1))*100#Efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The amount of mercury circulated per kg of water is %3.4f kg \\n (b) The efficiency of the combined cycle is %3.1f percent\"%(m,nc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.2 Pg: 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) Rate of heat transfer in the steam generator is 14.844 kW \n",
+ " (b) The net power output of the binary cycle is 4030 kW \n",
+ " (c) The rate of heat transfer to the industrial process is 5799 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "m=5#Mass flow rate in kg/s\n",
+ "p1=40#Pressure in bar\n",
+ "T1=440+273#Temperature in K\n",
+ "p2=1.5#Pressure in bar\n",
+ "p3=1#Pressure in bar\n",
+ "T3=60+273#Temperature in K\n",
+ "p4=16#Pressure in bar\n",
+ "T4=100+273#Temperature in K\n",
+ "p5=9#Pressure in bar\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3307.1#Enthalpy in kJ/kg\n",
+ "s1=6.9041#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "h2=2570.8#Enthalpy in kJ/kg\n",
+ "h3=417.46#Enthalpy in kJ/kg\n",
+ "h6=(251.13+(1.0172*10**-3)*(p3-0.1994)*100)#Enthalpy in kJ/kg\n",
+ "m3=(m/2)#Mass flow rate in kg/s\n",
+ "m6=m3#Mass flow rate in kg/s\n",
+ "h4=(m3*h3+m6*h6)/m#Enthalpy in kJ/kg\n",
+ "h5=(h4+(1.0291*10**-3)*(p1-p3)*100)#Enthalpy in kJ/kg\n",
+ "ha=241.58#Enthalpy in kJ/kg\n",
+ "sa=0.7656#Entropy in kJ/kg.K\n",
+ "sb=sa#Entropy in kJ/kg.K\n",
+ "hb=229.43#Enthalpy in kJ/kg\n",
+ "hc=71.93#Enthalpy in kJ/kg\n",
+ "hd=hc+(0.7914*10**-3*(p4-p5)*100)#Enthalpy in kJ/kg\n",
+ "Q1=(m*(h1-h5))/1000#Heat supplied in kW\n",
+ "Wnets=(m*((h1-h2)-(h5-h4)))#Net workdone by steam in kW\n",
+ "mR12=(m3*(h2-h3))/(ha-hd)#Mass of R12 in kg/s\n",
+ "WnetR=(mR12*((ha-hb)-(hd-hc)))#Net workdone by R12 in kW\n",
+ "T=Wnets+WnetR#Total output in kW\n",
+ "Qh=(m6*(h2-h6))#Heat rejected in kW\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) Rate of heat transfer in the steam generator is %3.3f kW \\n (b) The net power output of the binary cycle is %d kW \\n (c) The rate of heat transfer to the industrial process is %3.0f kW\"%(Q1,T,Qh)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.3 Pg: 146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The flow rate of air is 396.33 kg/s and steam is 82.22 kg/s \n",
+ " (b) The power outputs of the gas turbine is 87.77 MW and steam turbine is 112.23 MW \n",
+ " (c) The thermal efficiency of the combined plant is 50 percent \n",
+ " (d) The air fuel ratio is 42.7\n"
+ ]
+ }
+ ],
+ "source": [
+ "from numpy import mat\n",
+ "#Input data\n",
+ "rp=7.5#Pressure ratio \n",
+ "T1=15+273#Inlet air temperature in K\n",
+ "T3=750+273#Maximum temperature in K\n",
+ "T6=100+273#Temperature in K\n",
+ "p1=50#Pressure in bar\n",
+ "T7=600+273#Temperature in K\n",
+ "p2=0.1#Pressure in bar\n",
+ "P=200#Total power in MW\n",
+ "CV=43.3#calorific value in MJ/kg\n",
+ "cpg=1.11#Specific heat for gas in kJ/kg.K\n",
+ "g=1.33#Ratio of specific heats for gas\n",
+ "cpa=1.005#Specific heat for air in kJ/kg.K\n",
+ "g1=1.4#Ratio of specific heats for air\n",
+ "\n",
+ "#Calculations\n",
+ "T2=(T1*rp**((g1-1)/g1))#Temperature in K\n",
+ "T4=(T3/rp**((g-1)/g))#Temperature in K\n",
+ "ha=3670#Enthalpy in kJ/kg\n",
+ "hb=2305#Enthalpy in kJ/kg\n",
+ "hc=192#Enthalpy in kJ/kg\n",
+ "hd=hc#Enthalpy in kJ/kg\n",
+ "#ma*cpg*(T3-T6)=ms*(ha-hd)\n",
+ "#ma*cpg*(T3-T4)-ma*cpa*(T2-T1)+ms*(ha-hb)=P*1000\n",
+ "#Solving these two equations\n",
+ "A=mat([[cpg*(T3-T6), (hd-ha)],[cpg*(T3-T4)-cpa*(T2-T1), (ha-hb)]])#Coefficient matrix\n",
+ "B=mat([[0],[(P*10**3)]])#Constant matrix\n",
+ "X=(A**-1)*B#Variable matrix\n",
+ "\n",
+ "Wgt=(cpg*(T3-T4)-cpa*(T2-T1))*X[0]*10**-3#Net workdone by Gas turbine in MW\n",
+ "Wst=(P-Wgt)#Net workdone by steam turbine in MW\n",
+ "Q1=(X[0]*cpg*(T3-T2+T3-T4))#Heat supplied in MW\n",
+ "nth=(P/(Q1*10**-3))*100#Thermal efficiency in percent\n",
+ "af=(CV*10**3)/(cpg*(T3-T2+T3-T4))#Air fuel ratio\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The flow rate of air is %3.2f kg/s and steam is %3.2f kg/s \\n (b) The power outputs of the gas turbine is %3.2f MW and steam turbine is %3.2f MW \\n (c) The thermal efficiency of the combined plant is %3.0f percent \\n (d) The air fuel ratio is %3.1f\"%(X[0],X[1],Wgt,Wst,nth,af)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.4 Pg: 148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) Total power output is 82422.08 kW and overall efficiency is 41.54 percent lost heat coefficient is 0.351\n",
+ " Exergy efficiency is 40 percent \n",
+ "\n",
+ " Input is 212810 kW \n",
+ " Total Output is 82422 kW \n",
+ " Total losses is 123309 kW \n",
+ " Exergy outut + exergy destruction = 205731 kW which is 1.3 percent gretter than the exergy input\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import log\n",
+ "#Input data\n",
+ "p1=1#Pressure in bar\n",
+ "T1=25+273#Temperature in K\n",
+ "rp=8#Pressure ratio of compressor\n",
+ "Tm=900+273#Maximum temperature in K\n",
+ "pd=3#pressure drop in combustion chamber in percent\n",
+ "nc=0.88#Efficiency of compressor\n",
+ "nt=0.88#Efficiency of turbine\n",
+ "CV=44.43#Calorific value of fuel in MJ/kg\n",
+ "cpa=1.006#Specific heat of air in kJ/kg.K\n",
+ "cpg=1.148#Specific heat of gas in kJ/kg.K\n",
+ "g1=1.333#Specific heat ratio of gas\n",
+ "g=1.4#Specific heat ratio of air\n",
+ "T3=425+273#Temperature in K\n",
+ "p2=40#Pressure in bar\n",
+ "p3=0.04#Condensor pressure in bar\n",
+ "Th=170.4+273#Temperature of feed water to the HRSG in K\n",
+ "nst=0.82#Efficiency of steam turbine\n",
+ "pdh=5#Pressure drop in HRSG in kPa\n",
+ "m=29.235#Steam flow rate in kg/s\n",
+ "A=1.0401#si=1.0401+0.1728*(h/c)\n",
+ "B=0.1728#si=1.0401+0.1728*(h/c)\n",
+ "\n",
+ "#Calculations\n",
+ "#Gas turbine plant\n",
+ "T2=(rp**((g-1)/(g*nt)))*T1#Temperature in K\n",
+ "#Combustor\n",
+ "pc=((pd/100)*rp)#Pressure loss in bar\n",
+ "pcx=(rp-pc)#Pressure in bar\n",
+ "f=((cpg*(Tm-T1))-(cpa*(T2-T1)))/((CV*10**3)-(cpa*(T2-T1)))#Fuel flow rate in kg/s\n",
+ "af=(1-f)/f#Air fuel ratio\n",
+ "#C8H18+12.5O2->8CO2+9H2O\n",
+ "afc=(12.5*32)/(0.232*114)#Air fuel ratio for stoichiometric combustion\n",
+ "ea=((af-afc)/afc)*100#Excess air in percent\n",
+ "#Gas turbine\n",
+ "p4=p1+0.05#Pressure in bar\n",
+ "T4=(Tm/(pcx/p4)**(((g1-1)*nt)/g1))#Temperature in K\n",
+ "#HRSG\n",
+ "T5=250+30#Temeprature in K\n",
+ "ha=3272#Enthalpy in kJ/kg\n",
+ "hf=1087.31#Enthalpy in kJ/kg\n",
+ "ws=(cpg*((T4-273)-T5))/(ha-hf)#Flow rate in kg/s\n",
+ "he=721.1#Enthalpy in kJ/kg\n",
+ "T6=(T4-273)-((ws*(ha-he))/cpg)#Temperature in degree C\n",
+ "#Power output\n",
+ "sa=6.853#Entropy in kJ/kg.K\n",
+ "sbs=sa#Entropy in kJ/kg.K\n",
+ "xbs=(sbs-0.4266)/8.052#Dryness fraction\n",
+ "hbs=(121.46+xbs*2432.9)#ENthalpy in kJ/kg\n",
+ "Wst=(m*(ha-hbs)*nst)#Workdone in kW\n",
+ "wg=(m/ws)#gas flow rate in kg/s\n",
+ "wa=(1-f)*wg#Air flow rate entering the compressor in kg/s\n",
+ "Wgt=(wg*cpg*(Tm-T4))-(wa*cpa*(T2-T1))#Power output of gas turbine in kW\n",
+ "TO=Wst+Wgt#Total power output in kW\n",
+ "wf1=(f*wa)#Fuel mass flow rate in kg/s\n",
+ "wf=4.466#Rounding off of wf1 for exact answers\n",
+ "no=(TO/(wf*(CV*10**3)))*100#Overall efficiency of the combined plant in percent\n",
+ "ns=((ha-hbs)/(ha-he))*nst#Efficiency of steam plant\n",
+ "ngtp=(Wgt/(wf*(CV*10**3)))#Efficiency of the GT plant\n",
+ "xL=((wg*cpg*(T6-(T1-273)))/(wf*(CV*10**3)))#Lost heat coefficient\n",
+ "nov=(ns+ngtp-ns*ngtp-ngtp*xL)#The overall efficiency\n",
+ "#Energy fluxes and irreversibilities\n",
+ "si=(A+B*((18*1)/(8*12)))#si for octane C8H18\n",
+ "dHo=(wf*CV*10**3)#Power in kW\n",
+ "dGo=(si*dHo)#Power in kW\n",
+ "TS=(dGo-dHo)#Power in kW\n",
+ "#Compressor\n",
+ "dS=(cpa*log(T2/T1))-(((cpa*(g-1))/g)*log(rp))#change in entropy in kJ/kg.K\n",
+ "Ic=(wa*T1*dS)#power in kW\n",
+ "Icx=((wg*T1*((cpg*log(Tm/T1))-(((cpg*(g1-1))/g1)*log(pcx))))-(wa*T1*((cpa*log(T2/T1))-(((cpa*(g-1))/g)*log(rp))))+TS)#Compressor in kW\n",
+ "Icg=(-cpg*log(Tm/T4))-(((cpg*(g1-1))/g1)*log(p4/pcx))#Difference in entropy in kJ/kg.K\n",
+ "IGT=(Icg*T1*wg)#Gas turbine in kW\n",
+ "se=2.046#Enntropy in kJ/kg.K\n",
+ "sae=(sa-se)#Difference in entropy in kJ/kg.K\n",
+ "s64=(cpg*log((T6+273)/T4))-(((cpg*(g1-1))/g1)*log(p4/p1))#Difference in entropy in kJ/kg.K\n",
+ "Ih=(T1*m*sae)+(wg*T1*s64)#For HRSG in kW\n",
+ "hb=(ha-(nst*(ha-hbs)))#Enthalpy in kJ/kg\n",
+ "xb=(hb-121.46)/2432.9#Dryness Fraction\n",
+ "sb=(0.4226+xb*8.052)#Entropy in kJ/kg.K\n",
+ "Ist=(m*(sb-sa)*T1)#For steam turbine in kW\n",
+ "Iexh=(wg*cpg*((T6-(T1-273))-(T1*log((T6+273)/T1))))#For exhaust in kW\n",
+ "Tl=Icx+Icg+IGT+Ih+Ist+Iexh#Exergy losses in kW\n",
+ "T=Tl+Wgt+Wst#Total exergy output and exergy destruction in kW\n",
+ "ee=((Wst+Wgt)/T)*100#Exergy efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) Total power output is %3.2f kW and overall efficiency is %3.2f percent lost heat coefficient is %3.3f\\n Exergy efficiency is %3.0f percent \\n\\n Input is %3.0f kW \\n Total Output is %3.0f kW \\n Total losses is %3.0f kW \\n Exergy outut + exergy destruction = %3.0f kW which is 1.3 percent gretter than the exergy input\"%(TO,no,xL,ee,dGo,(Wgt+Wst),Tl,T)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.5 Pg: 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The overall efficiency of the combined cycle is 77.5 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "n1=0.5#Efficiency of mercury\n",
+ "n2=0.4#Efficiency of steam\n",
+ "n3=0.25#Efficiency of composite cycle\n",
+ "\n",
+ "#Calculations\n",
+ "n=(1-(1-n1)*(1-n2)*(1-n3))*100#Overall efficiency of the combined cycle in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"The overall efficiency of the combined cycle is %3.1f percent\"%(n)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.6 Pg: 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The overall efficiency of the combined plant is 58 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "z=30.0#Percentage of total energy of fuel\n",
+ "n=40.0#Cycle efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "on=((z/100)+(1-(z/100))*(n/100))*100#Overall efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"The overall efficiency of the combined plant is %3.0f percent\"%(on)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.7 Pg: 158"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The output voltage is 1.1629 V \n",
+ " (b) The current density in the cathode is 4.239 A/cm**2 and anode is 1.092 A/cm**2 \n",
+ " (c) Power output per unit area is 3.66 W/cm**2 \n",
+ " (d) Thermal efficiency is 44.3 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import exp\n",
+ "#Input data\n",
+ "Tc=1250+273#Cathode temperature in K\n",
+ "Ta=500+273#Anode temperature in K\n",
+ "e=1.602*10**-19#Charge in coloumb\n",
+ "K=1.38*10**-23#Boltzmann constant in J/molecule.K\n",
+ "b=18#Constant\n",
+ "\n",
+ "#Calculations\n",
+ "Va=((b*K*Ta)/e)#Voltage of anode in V\n",
+ "Vc=((b*K*Tc)/e)#Voltage of cathode in V\n",
+ "Vo=Vc-Va#Output voltage in V\n",
+ "Ja=(120*Ta**2*exp(-b))#Current density in Cathode in A/cm**2\n",
+ "Jc=(120*Tc**2*exp(-b))#Current density in Anode in A/cm**2\n",
+ "P=Vo*(Jc-Ja)#Power output per unit area in /cm**2\n",
+ "nth=(((Tc-Ta)/Tc)*(b/(b+2)))*100#Thermal efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) The output voltage is %3.4f V \\n (b) The current density in the cathode is %3.3f A/cm**2 and anode is %3.3f A/cm**2 \\n (c) Power output per unit area is %3.2f W/cm**2 \\n (d) Thermal efficiency is %3.1f percent\"%(Vo,Jc,Ja,P,nth)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 3.8 Pg: 159"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The thermal efficiency of thermocouple generator is 9.1 percent \n",
+ " (b) The number of thermo couples in series is 309 \n",
+ " (c) The lenght of the thermal elements is 0.519 cm and area is 43.48 cm**2 \n",
+ " (d) The output open-circuit voltage is 0.6 V \n",
+ " (e) At full load: \n",
+ " The heat input is 3.558 kW \n",
+ " The heat rejected is 3.236 kW \n",
+ " At no load: \n",
+ " The heat input is 2.093 kW \n",
+ " The heat rejected is 2.093 kW \n",
+ " (f) The overall efficiency of the combined thermo-electric steam power plant is 34.18 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "#Input data\n",
+ "P=100#Power in kW\n",
+ "V=115#Voltage in V\n",
+ "To=1500#Outer temperature in K\n",
+ "Te=1000#Exit temperature in K\n",
+ "Ta=350#Ambient temperature in K\n",
+ "nth=30#Thermal efficiency in percent\n",
+ "nge=92#Generator efficiency in percent\n",
+ "#Properties of thermoelectrons \n",
+ "a=0.0012#At 1250K in V/K\n",
+ "kp=0.02#In W/cm.K\n",
+ "kn=0.03#In W/cm.K\n",
+ "dp=0.01#In ohm.cm\n",
+ "dn=0.012#In ohm.cm\n",
+ "J=20#Current density in A/cm**2\n",
+ "\n",
+ "#Calculations\n",
+ "zmax=(a**2/(sqrt(dp*kp)+sqrt(dn*kn))**2)#Maximum value of figure of merit in K**-1\n",
+ "mo=sqrt(1+(zmax*((To+Te)/2)))#Optimum value of the resistance ratio\n",
+ "nmax=(((To-Te)/To)*((mo-1)/(mo+(Te/To))))*100#Maximum thermal efficiency in percent\n",
+ "Vl=(a*(To-Te)*(mo/(mo+1)))#Voltage per couple in V\n",
+ "nc=(V/Vl)#Number of couples in series\n",
+ "L=((a*(To-Te))/((1+mo)*(dp+dn)))/J#Length in cm\n",
+ "A=((P*Te)/V)/J#Area in cm**2\n",
+ "I=(J*A)#Current in A\n",
+ "Vo=(a*(To-Te))#Voltage in V\n",
+ "Q1=((a*I*To)-((1/2)*(L/A)*I**2*(dp+dn))+((A/L)*(kp+kn)*(To-Te)))/1000#Heat input to the thermoelectric generator in kW\n",
+ "Q2=((a*I*Te)+((A/L)*(kp+kn)*(To-Te))+P)/1000#Heat rejected at full load in kW\n",
+ "Q1n=(((A/L)*(kp+kn)*(To-Te)))/1000#At no load heat input in kW\n",
+ "Q2n=Q1n#At no load heat rejected in kW\n",
+ "no=((nmax/100)+(1-(nmax/100))*(nth/100)*(nge/100))*100#Overall efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) The thermal efficiency of thermocouple generator is %3.1f percent \\n (b) The number of thermo couples in series is %d \\n (c) The lenght of the thermal elements is %3.3f cm and area is %3.2f cm**2 \\n (d) The output open-circuit voltage is %3.1f V \\n (e) At full load: \\n The heat input is %3.3f kW \\n The heat rejected is %3.3f kW \\n At no load: \\n The heat input is %3.3f kW \\n The heat rejected is %3.3f kW \\n (f) The overall efficiency of the combined thermo-electric steam power plant is %3.2f percent\"%(nmax,nc,L,A,Vo,Q1,Q2,Q1n,Q2n,no)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch4.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch4.ipynb
new file mode 100644
index 00000000..0658d992
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch4.ipynb
@@ -0,0 +1,757 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4 : Fuels and combustion"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.1 Pg: 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) Mass of air supplied WA = 13.80 kg \n",
+ " (b)Percentage excess air supplied = 4.68 percentage \n",
+ " (c)mass of dry flue gas formed = 13.82 kg \n",
+ " (d) Mass of water vapour formed = 0.90 kg\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "C=84##The mass of carbon present in the fuel in %\n",
+ "H=10##The mass of hydrogen present in the fuel in %\n",
+ "S=3.2##The mass of sulphur present in the fuel in %\n",
+ "O=1.6##The mass of oxygen present in the fuel in %\n",
+ "I=1.2##The mass of incombustible in the fuel in %\n",
+ "X=15.72##The flue gas of combined CO2 and SO2 by volume in %\n",
+ "Og=1##The flue gas of O2 by volume in %\n",
+ "Y=100##Let us consider the fuel oil in kg\n",
+ "C1=12##Molecular weight of Carbon \n",
+ "H1=2##Molecular weight of hydrogen\n",
+ "S1=32##Molecular weight of sulphur\n",
+ "O1=32##Molecular weight of oxygen\n",
+ "Co2=44##Molecular weight of carbondioxide\n",
+ "So2=64##Molecular weight of sulphurdioxide\n",
+ "N1=28##Molecular weight of nitrogen \n",
+ "H2O=18##Molecular weight of water\n",
+ "\n",
+ "#Calculations\n",
+ "b=C/C1##Equating coefficients of the carbon from equation\n",
+ "g=H/H1##Equating coefficients of the hydrogen from equation\n",
+ "d=S/S1##Equating coefficients of the sulphur from the equation\n",
+ "e=(b+d)/(X/Og)##By volumetric analysis\n",
+ "x=b+d+e+(g/2)-(O/O1)##Moles of oxygen are supplied for combustion\n",
+ "f=3.76*x##Equating coefficients of the nitrogen from equation\n",
+ "Mo=x*O1##Mass of oxygen supplied in kg\n",
+ "Ma=Mo/0.232##Mass of air supplied for 100 kg of fuel in kg\n",
+ "Wa=Ma/100##Mass of air supplied for 1 kg fuel in kg\n",
+ "Wrh=((11.5*C)+(34.5*((H)-(O/8))+(4.3*S)))/100##Theoretical air required per kg of fuel in kg\n",
+ "E=((Wa-Wrh)/Wrh)*100##Percentage of excess air in %\n",
+ "D=(b*Co2)+(d*So2)+(e*O1)+(f*N1)##Mass of dry flue gas formed for 100 kg fuel in kg\n",
+ "dfg=D/100##Mass of dry flue gas formed per kg of fuel in kg\n",
+ "Mw=(g*H2O)/100##Mass of water vapour formed per kg of fuel\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) Mass of air supplied WA = %3.2f kg \\n (b)Percentage excess air supplied = %3.2f percentage \\n (c)mass of dry flue gas formed = %3.2f kg \\n (d) Mass of water vapour formed = %3.2f kg\"%(Wa,E,dfg,Mw)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.2 Pg 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage excess air used is = 11.3 percentage\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "CO2=11.5##Percentage of carbondioxide present in combustion in %\n",
+ "O2=2.7##Percentage of oxygen present in the combustion in %\n",
+ "CO=0.7##Percentage of carbonmonoxide present in the combuston in %\n",
+ "\n",
+ "#Calculations \n",
+ "a=85.1/3.76##Equating moles for nitrogen from the equation \n",
+ "x=(CO2+CO)/3##Equating moles for carbon from the equation \n",
+ "b=(a-CO2-(CO/2)-O2)*2##Equating moles for oxygen from the equation \n",
+ "y=a/x##Moles of oxygen supplied for one mole of propane gas\n",
+ "z=5##Theoretically 5 moles of oxygen are required for reacting\n",
+ "E=((y-z)/z)*100##The excess of air supplied in %\n",
+ "\n",
+ "#Output\n",
+ "print \"The percentage excess air used is = %3.1f percentage\"%(E)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.3 Pg: 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The air fuel ratio during the test = 17.05 \n",
+ " (b) The excess or deficiency of air used = 18 Percentage of excess air used\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "CO2=12.1##The amount of carbondioxide released from the combustion in %\n",
+ "O2=3.8##The amount of oxygen released from the combustion in %\n",
+ "CO=0.9##The amount of carbonmonoxide released from the combustion in %\n",
+ "MO=32##Molecular weight of Oxygen\n",
+ "\n",
+ "#Calculations\n",
+ "a=83.2/3.76##Equating moles for nitrogen from the equation \n",
+ "b=(2*a)-(2*CO2)-(2*O2)-CO##Equating moles for oxygen from the equation\n",
+ "x=CO2+CO##Equating moles for carbon from the equation\n",
+ "y=2*b##Equating moles for hydrogen from the equation\n",
+ "z=18.75##Moles of Oxygen from the stoichiometric equation \n",
+ "z1=a##Moles of Oxygen from the combustion equation \n",
+ "E=((z1-z)/z)*100##Percentage of excess air in%\n",
+ "A=(a*MO)/0.232##Actual air supplied per mole of C13H23\n",
+ "Mc=179##Molecular weight of C13H23\n",
+ "Af=A/Mc##Air fuel ratio during the test\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The air fuel ratio during the test = %3.2f \\n (b) The excess or deficiency of air used = %3.0f Percentage of excess air used\"%(Af,E)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.4 Pg: 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)The amount of dry flue gas produced per kg fuel = 11.73 kg \n",
+ " (b)The dry exhaust loss = 1723.7 kJ/kg fuel and incomplete combustion loss per kg fuel = 1648.15 kJ/kg fuel \n",
+ " (c)The boiler efficiency = 83.12 percentage \n",
+ " (d) THe fuel burning rate = 5.566 kg/s \n",
+ " (e)The percentage of excess air used = 31.12 percentage \n",
+ " (f) The percentage of energy absorbed in the superheater = 24.05 percentage\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "C=61##The mass of carbon present in the coal according to coal analysis on mass basis in %\n",
+ "H=4##The mass of hydrogen present in the coal according to coal analysis on mass basis in %\n",
+ "O=3##The mass of oxygen present in the coal according to coal analysis on mass basis in %\n",
+ "N=2##The mass of nitrogen present in the coal according to coal analysis on mass basis in %\n",
+ "S=1##The mass of sulphur present in the coal according to coal analysis on mass basis in %\n",
+ "M=4##The mass of moisture present in the coal according to coal analysis on mass basis in %\n",
+ "A=25##The mass of ash present in the coal according to coal analysis on mass basis in %\n",
+ "HHV=24.3##The high heating value of the coal i.e energy released by complete combustion of 1 kg fuel in MJ/kg\n",
+ "CO2=12##The amount of carbondioxide by volume according to dry flue gas analysis in %\n",
+ "CO=1.5##The amount of carbonmonoxide by volume according to dry flue gas analysis in %\n",
+ "O2=7##The amount of oxygen by volume according to dry flue gas analysis in %\n",
+ "N2=79.5##The amount of nitrogen by volume according to dry flue gas analysis in %\n",
+ "Te=170##Exhaust gas temperature in degree centigrade\n",
+ "L=0.03##Energy loss other than dry exhaust loss and incomplete combustion is 3% of HHV\n",
+ "R=150##Steam generation rate in t/h\n",
+ "Po=100##Steam condition at boiler outlet in bar\n",
+ "To=500##Steam condition at boiler outlet in degree centigrade\n",
+ "Ti=160##Feed water inlet temperature in degree centigrade\n",
+ "HCO2=33083##Heat of reaction in kJ/kg carbon\n",
+ "HCO=9500##Heat of reaction in kJ/kg carbon\n",
+ "cp=1.05##Heat capacity of dry flue gas (dfg) in kJ/kgK\n",
+ "Ta=30##The ambient temperature of air in degree centigrade\n",
+ "Mc=44##Molecular weight of Carbondioxide\n",
+ "Mco=28##Molecular weight of carbonmonoxide\n",
+ "Mo=32##Molecular weight of oxygen\n",
+ "Mn=28##Molecular weight of nitrogen\n",
+ "Mx=12##Molecular weight of carbon\n",
+ "h1=3373.7##Enthalpy at 100 bar and 500 degree centigrade in kJ/kg\n",
+ "hf=675.55##Enthalpy at 160 degree centigrade in kJ/kg\n",
+ "hg=2724.7##Enthalpy at 100 bar in kJ/kg\n",
+ "\n",
+ "#Calculations\n",
+ "Mdfg=(((C/100)*((Mc*(CO2/100))+(Mco*(CO/100))+(Mo*(N2/100))))/(Mx*((CO2/100)+(CO/100))))##Mass of dry flue gas produced per kg of fuel in kg\n",
+ "Ed=Mdfg*cp*(Te-Ta)##Energy loss due to dry exhaust gas in kJ/kg fuel\n",
+ "#Since Mdfg is 11.73kg through sciab calculation, there is a variation in Ed value and Ei value\n",
+ "Ei=((Mdfg)*(HCO2-HCO)*(Mx/Mco))*((Mco*(CO/100))/((Mc*(CO2/100))+(Mco*(CO/100))+(Mo*(O2/100))+(Mco*(N2/100))))##Energy loss due to incomplete combustion in kJ/kg fuel\n",
+ "El=L*HHV##Energy loss other than dry exhaust loss and incomplete combustion loss in MJ/kg fuel\n",
+ "TEl=(Ed/1000)+(Ei/1000)+El##Total energy loss in MJ/kg fuel\n",
+ "Be=((HHV-TEl)/(HHV))*100##Boiler efficiency in %\n",
+ "Wf=(((R*1000)*(h1-hf))/((Be/100)*HHV*1000))/3600##The fuel burning rate in kg/s\n",
+ "Wth=(11.5*(C/100))+(34.5*((H/100)-(O/800)))+(4.3*(S/100))##Thearetical air required per kg of fuel in kg\n",
+ "WA=(((3.04*(N2/100)*(C/100)))/((CO2/100)+(CO/100)))-((N/100)*(1/0.768))##Actual air supplied per kg of fuel in kg\n",
+ "per=((WA-Wth)/Wth)*100##Percentage excess air used in %\n",
+ "pea=((h1-hg)/(h1-hf))*100##Percentage of energy absorbed in the superheater\n",
+ "\n",
+ "#Output\n",
+ "print \" (a)The amount of dry flue gas produced per kg fuel = %3.2f kg \\n (b)The dry exhaust loss = %3.1f kJ/kg fuel and incomplete combustion loss per kg fuel = %3.2f kJ/kg fuel \\n (c)The boiler efficiency = %3.2f percentage \\n (d) THe fuel burning rate = %3.3f kg/s \\n (e)The percentage of excess air used = %3.2f percentage \\n (f) The percentage of energy absorbed in the superheater = %3.2f percentage\"%(Mdfg,Ed,Ei,Be,Wf,per,pea)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.5 Pg: 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)The total volume of combustion products at 200 degee centigrade and 1.013 bar = 26.26 m**3 \n",
+ " (b)The dry flue gas analysis based on carbondioxide,oxygen and nitrogen is \n",
+ " Carbondioxide = 11.64 percent \n",
+ " Oxygen = 5.07 percent \n",
+ " Nitrogen = 83.29 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "C=83.7##The amount of carbon present in the fuel oil according to ultimate analysis of a fuel oil in %\n",
+ "H=12.7##The amount of hydrogen present in the fuel oil according to ultimate analysis of a fuel oil in %\n",
+ "O=1.2##The amount of oxygen present in the fuel oil according to ultimate analysis of a fuel oil in %\n",
+ "N=1.7##The amount of nitrogen present in the fuel oil according to ultimate analysis of a fuel oil in %\n",
+ "S=0.7##The amount of sulphur present in the fuel oil according to ultimate analysis of a fuel oil in %\n",
+ "td=27##The dry bulb temperature of combustion air in degree centigrade\n",
+ "tw=21##The wet bulb temperature of combustion air in degree centigrade\n",
+ "E=0.3##Excess air and assuming complete combustion in %\n",
+ "t=200##Temperature to find total volume of combustion products in degree centigrade\n",
+ "p=1.013##Pressure to find total volume of combustion procucts in bar\n",
+ "\n",
+ "#Calculations\n",
+ "Wth=(11.5*(C/100))+(34.5*((H/100)-(O/100)*(1/8)))+(4.3*(S/100))##Theoretical air required per kg of fuel in kg\n",
+ "WA=(1+E)*Wth##Actual air required per kg of fuel in kg/kg fuel\n",
+ "sh=0.0132##Specific humidity at DBT and WBT in kg moisture/kg dry air\n",
+ "W=WA*sh##Water vapour entering with air per kg fuel in kg vap/kg fuel\n",
+ "Tw=(9*(H/100))+WA##Total water vapour formed per kg fuel in kg\n",
+ "CO2=(44/12)*(C/100)##mass of carbondioxide gas per kg of fuel\n",
+ "O2=0.232*E*Wth##Mass of oxygen gas per kg of fuel\n",
+ "N2=0.768*(1+E)*Wth+(N/100)##Mass of nitrogen gas per kg of fuel\n",
+ "SO2=(64/32)*(S/100)##Mass of nitrogen gas per kg of fuel\n",
+ "H2O=1.383##Mass of water per kg of fuel\n",
+ "M=(CO2/44)+(O2/32)+(N2/28)+(SO2/64)+(H2O/18)##Moles of combustion gases formed per kg fuel\n",
+ "VG=M*22.4*((273+t)/273)*(1.013/1.013)##Volume of flue gases at 200 degree centigrade and 1.013 bar per kg fuel\n",
+ "CO21=((CO2/44)/((CO2/44)+(O2/32)+(N2/28)))*100##Composition of dry flue gas CO2 by volume\n",
+ "O21=((O2/32)/((CO2/44)+(O2/32)+(N2/28)))*100##Composition of dry flue gas O2 by volume\n",
+ "N21=((N2/28)/((CO2/44)+(O2/32)+(N2/28)))*100##Composition of dry flue gas N2 by volume\n",
+ "\n",
+ "#Output\n",
+ "print \" (a)The total volume of combustion products at 200 degee centigrade and 1.013 bar = %3.2f m**3 \\n (b)The dry flue gas analysis based on carbondioxide,oxygen and nitrogen is \\n Carbondioxide = %3.2f percent \\n Oxygen = %3.2f percent \\n Nitrogen = %3.2f percent\"%(VG,CO21,O21,N21)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.6 Pg: 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)The molecular weight of the combustion products M = 28.36 kg/kg mol \n",
+ " (b) The total gas volume for complete combustion at 260 degree centigrade and 1.013 bar is 31.49 m**3/kg fuel \n",
+ " (c)The dry flue gas analysis on \n",
+ " carbondioxide = 9.7 percent \n",
+ " oxygen = 4.6 percent \n",
+ " nitrogen = 85.7 percent \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "C2H6=22.6##The amount of gas present in the fuel gas according to volumetric analysis of fuel gas by volume in %\n",
+ "CH4=73.6##The amount of gas present in the fuel gas according to volumetric analysis of fuel gas by volume in %\n",
+ "CO2=2.4##The amount of gas present in the fuel gas according to volumetric analysis of fuel gas by volume in %\n",
+ "N2=1.4##The amount of gas present in the fuel gas according to volumetric analysis of fuel gas by volume in %\n",
+ "E=0.25##Assuming combustion air to be dry and in excess\n",
+ "t=260##The temperature for the total gas volume for complete combustion in degree centigrade\n",
+ "p=1.013##The pressure for the total gas volume for complete combustion in bar\n",
+ "Mch=30##Molecular weight of C2H6\n",
+ "Mc=16##Molecular weight of CH4\n",
+ "Mco=44##Molecular weight of CO2\n",
+ "Mn=28##Molecular weight of N2\n",
+ "Mo=32##Molecular weight of O2\n",
+ "Mh=18##Molecular weight of H2O\n",
+ "\n",
+ "#Calculations\n",
+ "x=100##Assuming 100 moles of fuel gas \n",
+ "Mf=((C2H6/100)*Mch)+((CH4/100)*Mc)+((N2/100)*Mn)+((CO2/100)*Mco)##Molecular weight of fuel gas\n",
+ "Ma=((226.3*(Mo+(3.76*Mn))*(1+E)))/28.96##Moles of air supplied\n",
+ "Mc=1440##Moles of combustion gas from the equation \n",
+ "Mr=x+Ma+Mc##Total reaction molecules\n",
+ "Mwc=((121.2*Mco)+(215*Mh)+(56.6*Mo)+(1065.4*Mn))/Mc##Molecular weight of combustion gas in kg/kgmol\n",
+ "Mt=Mc/(x*20)##Total number of moles of combustion gas per kg fuel gas\n",
+ "VG=Mt*22.4*((273+t)/273)##Volume of combustion products per kg fuel gas\n",
+ "CO21=(121.2/(121.2+56.6+1065.4))*100##Gas analysis of CO2 by volume\n",
+ "O21=(56.6/1243.2)*100##Gas analysis of O2 by volume\n",
+ "N2=(1065.4/1243.2)*100##Gas analysis of N2 by volume\n",
+ "\n",
+ "#Output\n",
+ "print \" (a)The molecular weight of the combustion products M = %3.2f kg/kg mol \\n (b) The total gas volume for complete combustion at 260 degree centigrade and 1.013 bar is %3.2f m**3/kg fuel \\n (c)The dry flue gas analysis on \\n carbondioxide = %3.1f percent \\n oxygen = %3.1f percent \\n nitrogen = %3.1f percent \"%(Mwc,VG,CO21,O21,N2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.7 Pg: 218"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The air leakage into the air preheater per kg of coal fired is 1 kg air/kg fuel\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "CO21=9.7##Carbondioxide gas analysis before the air preheater \n",
+ "CO22=9.2##Carbondioxide gas analysis after the air preheater\n",
+ "O21=4.0##Oxygen gas analysis before the air preheater\n",
+ "O22=4.9##Oxygen gas analysis after the air preheater\n",
+ "N21=86.3##Nitrogen gas analysis before the air preheater\n",
+ "N22=85.9##Nitrogen gas analysis after the air preheater\n",
+ "C=72.0##The coal used shows the carbon percentage by mass in %\n",
+ "\n",
+ "#Calculations\n",
+ "W1=((3.04)*(N21/100)*(C/100))/((CO21/100))##Before air preheater in kg air/kg fuel\n",
+ "W2=((3.04)*(N22/100)*(C/100))/((CO22/100))##After air preheater in kg air/kg fuel\n",
+ "A=W2-W1##Air leakage in kg air/kg fuel\n",
+ "\n",
+ "#Output\n",
+ "print \"The air leakage into the air preheater per kg of coal fired is %3.0f kg air/kg fuel\"%(A)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.8 Pg: 218"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a)The height of the stack H = 36.44 m \n",
+ " (b)The diameter at its base D = 1.06 m \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "n=6##Total lancashire boilers in a textile factory\n",
+ "Ws=6##Each boiler supplying steam in t/h\n",
+ "p=16##Pressure at which steam is supplied in bar\n",
+ "t=250##Temperature at which steam is supplied in degree centigrade\n",
+ "CV=43960##Calorific value of the fuel oil in kJ/kg\n",
+ "no=75##Overall efficiency of the boiler in %\n",
+ "a=16##The amount of air required for efficient burning of the fuel inkg\n",
+ "H=20##Drought of water gauge required at the base of chimney in mm\n",
+ "tf=320##The flue gases leave the boiler in degree centigrade\n",
+ "ts=300##The average temperature of the gases in the stack in degree centigrade\n",
+ "ta=30##The atmospheric temperature in degree centigrade\n",
+ "R=0.287##Real Gas constant in kJ/kgK\n",
+ "h1=2919.2##enthalpy at the entrance of the boiler in kJ/kgK\n",
+ "hf=125.8##Enthalpy at the feed in kJ/kgK\n",
+ "pi=3.1412##Mathematical constant\n",
+ "g=9.81##gravitational fore constant in m/s**2\n",
+ "P=1.013##Atmospheric pressure in bar\n",
+ "\n",
+ "#Calculations\n",
+ "H1=((H*R*(273+ta)*(273+ts)))/(P*100*((273+ts)-(273+ta)))##The draught produced in m\n",
+ "Wf=(((Ws*1000)*6*(h1-hf))/((no/100)*CV))/3600##Air fuel ratio in kg/s\n",
+ "Wa=a*Wf##Actual air fuel ratio in kg/s\n",
+ "Wfg=17*Wf##Air fuel ratio in kg/s\n",
+ "D=(((Wfg*R*(273+ts)*(4/pi)))/((101.3)*(2*g*H1)**(1/2)))**(1/2)##Diameter at its base in m\n",
+ "\n",
+ "#Output\n",
+ "print \"(a)The height of the stack H = %3.2f m \\n (b)The diameter at its base D = %3.2f m \"%(H1,D)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.9 Pg: 219"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required motor capacity needed for the FD fan is 90.49 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "Wf=10##Coal rate in t/h\n",
+ "C=78##The mass of carbon present in the coal according to coal analysis on mass basis in %\n",
+ "H=3##The mass of hydrogen present in the coal according to coal analysis on mass basis in %\n",
+ "O=3##The mass of oxygen present in the coal according to coal analysis on mass basis in %\n",
+ "S=1##The mass of sulphur present in the coal according to coal analysis on mass basis in %\n",
+ "M=7##The mass of moisture present in the coal according to coal analysis on mass basis in %\n",
+ "A=8##The mass of ash present in the coal according to coal analysis on mass basis in %\n",
+ "E=0.3##Excess air in percentage\n",
+ "p=180##Plenum chamber pressure in mm water gauge\n",
+ "nm=0.6##Mechanical efficiency of the fan\n",
+ "ta=30##Room temperature in degree centigrade\n",
+ "R=0.287##Real gas constant\n",
+ "P=101.325##Atmospheric pressure in kPa\n",
+ "g=9.812##gravitational force constant m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "Wth=(11.5*(C/100))+(34.5*((H/100)-(O/(8*100))))+(4.3*(S/100))##Theoretical air required per kg fuel in kg air/kg fuel\n",
+ "WA=Wth*(1+0.3)##Actual air required per kg fuel in kg air/kg fuel\n",
+ "Va=(R*(273+ta))/P##Volume flow rate of air in m**3/kg\n",
+ "FD=((WA*Wf*1000*Va*p*g)/(3600*nm))/1000##FD fan motor capacity in kW\n",
+ "\n",
+ "#Output\n",
+ "print \"The required motor capacity needed for the FD fan is %3.2f kW \"%(FD)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.10 Pg: 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The motor capacity of the ID fan is 233.64 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "tg=180##The gas temperature in degree centigrade\n",
+ "p=250##The draught produced by the ID fan in mm\n",
+ "nf=0.52##The efficiency of the fan\n",
+ "Va=0.858##Volume flow rate of air in m**3/kg\n",
+ "g=9.812##gravitational force constant in m/s**2\n",
+ "Wf=10##Coal rate in t/h\n",
+ "Wa=12.9##Actual air required per kg fuel in kg air/kg fuel\n",
+ "ta=30##Room temperature in degree centigrade\n",
+ "\n",
+ "#Calculations\n",
+ "Wfg=((Wf+(Wa*10))*1000)/3600##Fuel gas required in kg/s\n",
+ "Vfg=(Va*(tg+273))/(ta+273)##Volume flow rate of fuel gas in m**3/kg\n",
+ "ID=((Wfg*Vfg*p*g)/(nf))/1000##ID fan motor capacity in kW\n",
+ "\n",
+ "#Output\n",
+ "print \"The motor capacity of the ID fan is %3.2f kW \"%(ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.11 Pg: 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a)The complete volumetric composition of the dry flue gas is \n",
+ " Carbondioxide by volume = 13.20 percentage \n",
+ " Oxygen by volume = 3.20 percentage \n",
+ " Carbonmonoxide by volume = 4.21 percentage \n",
+ " Nitrogen by volume = 79.39 percentage \n",
+ " (b) The actual amount of air supplied per kg coal = 12.27 kg \n",
+ " (c) Mass of water vapour formed per kg coal = 0.40 kg \n",
+ " (d) The dew point temperature of the flue gas = 32.90 degree centigrade \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "CO2=13.2##The volume of carbondioxide present in the partial analysis of dry flue gas in %\n",
+ "O2=3.2##The volume of oxygen present in the partial analysis of dry flue gas in %\n",
+ "C=88##The mass of carbon present in the coal according to coal analysis on mass basis in %\n",
+ "H=4.4##The mass of hydrogen present in the coal according to coal analysis on mass basis in %\n",
+ "A=7.6##The mass of ash present in the coal according to coal analysis on mass basis in %\n",
+ "M=0##Moisture present in the fuel was nil\n",
+ "Mc=12##Molecular weight of the carbon \n",
+ "Mh=2##Molecular weight of the hydrogen\n",
+ "Mo=32##Molecular weight of the oxygen\n",
+ "Mho=18##Molecular weight of water\n",
+ "p=101.325##Atmospheric pressure in kPa\n",
+ "\n",
+ "#Calculations\n",
+ "c=C/Mc##Equating coefficients of the carbon from the equation \n",
+ "g=H/Mh##Equating coefficients of the hydrogen from the equation \n",
+ "x=(CO2/100)/(O2/100)##From dry fuel gas analysis (dfg) \n",
+ "d=(((CO2/100)*(47.5))-7.333)/(((CO2/100)*(3.032))-1)##Coefficient of the carbonmonoxide in the equations product side\n",
+ "b=c-d##Coefficient of the carbondioxide in the equation product side\n",
+ "a=10.21-(0.742*d)##Coefficient of the oxygen in the reactant side of the equation \n",
+ "e=b/x##Coefficient of the oxygen in the product side of the equation \n",
+ "f=3.76*a##Equating coefficients of the nitrogen from the equation \n",
+ "ma=(a*Mo)/0.232##Mass of air supplied for 100 kg coal in kg\n",
+ "ma1=ma/100##Mass of air supplied per kg coal in kg\n",
+ "T=b+d+e+f##Total number of moles of dry flue gas (dfg)\n",
+ "CO21=(b/T)*100##Carbondioxide by volume in percentage\n",
+ "O21=(e/T)*100##Oxygen by volume in percentage\n",
+ "CO1=(d/T)*100##Carbonmonoxide by volume in percentage\n",
+ "N21=(f/T)*100##Nitrogen by volume in percentage\n",
+ "Mwv=(g*Mho)/100##Mass of watervapour formed per kg coal in kg\n",
+ "Mf=(g)/(b+d+e+f+g)##Mole fraction of water vapour in flue gas\n",
+ "P=Mf*p##Partial pressure of water vapour in kPa\n",
+ "D=32.9##Dew point temperature from steam tables in degree centigrade\n",
+ "\n",
+ "#Output\n",
+ "print \"(a)The complete volumetric composition of the dry flue gas is \\n Carbondioxide by volume = %3.2f percentage \\n Oxygen by volume = %3.2f percentage \\n Carbonmonoxide by volume = %3.2f percentage \\n Nitrogen by volume = %3.2f percentage \\n (b) The actual amount of air supplied per kg coal = %3.2f kg \\n (c) Mass of water vapour formed per kg coal = %3.2f kg \\n (d) The dew point temperature of the flue gas = %3.2f degree centigrade \"%(CO21,O21,CO1,N21,ma1,Mwv,D)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.12 Pg: 222"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The height of the gas plume is H = 1842.5 m \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "H=200##Height of the stack in m\n",
+ "D=4##Diameter of the stack in m\n",
+ "m=1000##Mass flow rate of gas in kg/s\n",
+ "Ts=100##Stack exit gas temperature in degree centigrade\n",
+ "Ta=5##Ambient air temperature in degree centigrade\n",
+ "Vw=50##Wind velocity in Km/h\n",
+ "Cp=1.005##Specific heat of the gas in kJ/kgK\n",
+ "pi=3.142##Mathematical constant the value of pi\n",
+ "\n",
+ "#Calculations\n",
+ "Vw1=(50*1000)/(60*60)##Wind velocity in m/s\n",
+ "Qe=m*Cp*(Ts-Ta)##Heat emission from plume in kW\n",
+ "Qe1=Qe/1000##Heat emission from the plume in MW\n",
+ "p=(101.325)/(0.287*373)##Density of the gas in kg/m**3\n",
+ "A=(pi*D**2)/4##Area of the stack in m**2\n",
+ "Vs=m/(p*A)##Stack gas exict velocity in m/s\n",
+ "H1=((2.62*(Qe1**(1/2))*1000)/Vw1)-((0.029*Vs*D)/Vw1)##The height of the gas plume in m\n",
+ "\n",
+ "#Output\n",
+ "print \"The height of the gas plume is H = %3.1f m \"%(H1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 4.13 Pg: 222"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The maximum temperature of the cycle T3 = 1168 K \n",
+ " (b)Thermal efficiency of the plant = 0.492 or 49.23 percentage\n",
+ " (c) Specific fuel consumption = 0.641 kg/kWh \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "CV=20##Calorific value of the fuel in MJ/kg\n",
+ "C=65##The amount of carbon present in the fuel according to gravimetric analysis in %\n",
+ "H=25##The amount of hydrogen present in the fuel according to gravimetric analysis in %\n",
+ "O=10##The amount of oxygen present in the fuel according to gravimetric analysis in %\n",
+ "p1=1##Pressure at the inlet of the compressor in bar\n",
+ "t1=27##Temperature at the inlet of the compressor in degree centigrade\n",
+ "p2=4##The pressure which compressor compresses it isentropically in bar\n",
+ "Re=78##The regenerator effectiveness in %\n",
+ "CO2=6##The amount of carbondioxide according to the analysis of dry exhaust gas in %\n",
+ "CO=1.5##The amount of carbonmonoxide according to the analysis of dry exhaust gas in %\n",
+ "Cp=1.005##Specific heat capacity of the air in kJ/kgK\n",
+ "i=1.44##Isentropic index for the air\n",
+ "Cp1=1.15##Specific heat capacity of the air in kJ/kgK\n",
+ "i1=1.33##Isentropic index for the combustion products\n",
+ "Mc=12##Molecular weight of the carbon \n",
+ "Mh=2##Molecular weight of the hydrogen\n",
+ "Mo=32##Molecular weight of the oxygen\n",
+ "Mho=18##Molecular weight of water\n",
+ "T0=288##Datum temperature in K (Assumed)\n",
+ "\n",
+ "#Calculations\n",
+ "h=(C/100)/(Mc)##Equating coefficients of the carbon from the equation \n",
+ "e=(H/100)/Mh##Equating coefficients of the hydrogen from the equation \n",
+ "y=(CO/100)/(CO2/100)##From dry exhaust gas analysis for solving\n",
+ "a=h/(1+y)##The coefficient of the carbondioxide in the product side of the equation \n",
+ "b=h-a##The coefficient of the carbonmonoxide in the product side of the equation \n",
+ "z=b/(CO/100)##The sum of coefficients of the product side of the equation \n",
+ "x=z-(b/2)+(e/2)##Mol of air supplied in kmol\n",
+ "wa=x*28.96##Air supplied in kg/kg fuel\n",
+ "wf=1##Assuming 1 kg of fuel supplied\n",
+ "T2=(t1+273)*(p2/p1)**((i-1)/i)##Temperature at the outlet of the compressor in K\n",
+ "T3=(((wa*Cp*(T2-T0))+(wf*CV*1000))/((wa+wf)*(Cp1)))+T0##Maximum temperature of the cycle in K\n",
+ "T4=T3/((4)**((i1-1)/i1))##Temperature at point of the cycle in K\n",
+ "T5=((Re/100)*(T4-T2))+T2##Temperature at point of the cycle in K\n",
+ "Wc=wa*Cp*(T2-(t1+273))##Work done by the compressor in kW\n",
+ "Wt=23.54*Cp1*(T3-T4)##Work done by the turbine in kW\n",
+ "Q1=23.54*Cp1*(T3-T5)##Total work done by the system in kW\n",
+ "nc=(Wt-Wc)/Q1##Efficiency of the cycle \n",
+ "nc1=nc*100##Efficiency of the cycle in %\n",
+ "spc=3600/(Wt-Wc)##Specific fuel consumption in kg/kWh\n",
+ "\n",
+ "#Output \n",
+ "print \" (a) The maximum temperature of the cycle T3 = %3.0f K \\n (b)Thermal efficiency of the plant = %3.3f or %3.2f percentage\\n (c) Specific fuel consumption = %3.3f kg/kWh \"%(T3,nc,nc1,spc)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch5.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch5.ipynb
new file mode 100644
index 00000000..9eb71916
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch5.ipynb
@@ -0,0 +1,290 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5 : Combustion Mechanism, Combustion Equipment And Firing Methods"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex 5.1 Page 308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " The total surface area of the particles in the bed As = 8423 m**2 \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "Vs=2500##The mass of a bed of solid particles in kg\n",
+ "p=2650##The density of the solid in kg/m**3\n",
+ "d=800*10**-6##The mean particle size in m\n",
+ "s=0.84##The sphericity of the particle\n",
+ "\n",
+ "#Calculations\n",
+ "As=(6*Vs)/(p*d*s)##The total surface area of the particles in the bed\n",
+ "\n",
+ "#Output\n",
+ "print \" The total surface area of the particles in the bed As = %3.0f m**2 \"%(As)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex 5.2 Page 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The voidage of the bed = 0.417 \n",
+ " (b) The minimum fluidization velocity Umf = 0.187 m/s \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "d=427*10**-6##The mean particle size in m\n",
+ "pg=1.21##The density of air in kg/m**3\n",
+ "v=1.82*10**-5##The viscosity of air in kg/ms\n",
+ "pl=1620##The density of the loosely packed bed in kg/m**3\n",
+ "ps=2780##The density of the solids in kg/m**3\n",
+ "c1=27.2##(Grace,1982)constant value.\n",
+ "c2=0.0408##(Grace,1982)constant value\n",
+ "g=9.812##Gravitational forc constant in m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "E=1-(pl/ps)##The voidage of the bed\n",
+ "Ar=((pg)*(ps-pg)*g*(d**3))/v**2##Archimedes number\n",
+ "Re=(c1**2+(c2*Ar))**(0.5)-c1##Reynolds number\n",
+ "Umf=Re*v/(pg*d)##Minimum superficial velocity in m/s\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The voidage of the bed = %3.3f \\n (b) The minimum fluidization velocity Umf = %3.3f m/s \"%(E,Umf)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex 5.3 Page 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The sphericity of particles is = 0.811 \n"
+ ]
+ }
+ ],
+ "source": [
+ "from scipy.optimize import fsolve\n",
+ "#Input data\n",
+ "d=427*10**-6##The mean particle size in m\n",
+ "pg=1.21##The density of air in kg/m**3\n",
+ "v=1.82*10**-5##The viscosity of air in kg/ms\n",
+ "Umf=0.14##Minimum superficial velocity in m/s\n",
+ "Ar=7753##Archimedes number from previous example problem\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Re=(Umf*pg*d)/v##Reynolds number\n",
+ "def F(x):##function definition\n",
+ " f = 7753*x**2- 381.1*x -4793#\n",
+ " return f\n",
+ "x = 100##Initial guss\n",
+ "y = fsolve(F,x)#\n",
+ "\n",
+ "#Output\n",
+ "print \"The sphericity of particles is = %3.3f \"%(y)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex 5.4 Page 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required flow rate of limestone is 2405.3 kg/h \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "O=35##The output of the fluidized bed combustion system in MW\n",
+ "n=0.80##Efficiency of the fluidized bed combustion system \n",
+ "H=26##The heating value of coal in MJ/kg\n",
+ "S=3.6##Sulphur content in the coal in %\n",
+ "C=3##The calcium sulphur ratio \n",
+ "Ca=85##The amount of calcium carbonate in the limestone in %\n",
+ "CaCO3=100##The molecular weight of CaCO3\n",
+ "\n",
+ "#Calculations\n",
+ "Cb=O/(n*H)##Coal burning rate in kg/s\n",
+ "Cb1=Cb*3600##Coal burning rate in kg/h\n",
+ "Sf=(Cb1*(S/100))/32##Flow rate of sulphur in Kmol/h\n",
+ "Cf=Sf*C##The flow rate of calcium in Kmol/h\n",
+ "Caf=Cf*CaCO3##Mass flow rate of CaCO3 in kg/h\n",
+ "L=Caf/(Ca/100)##Mass flow rate of limestone in kg/h\n",
+ "\n",
+ "#Output\n",
+ "print \"The required flow rate of limestone is %3.1f kg/h \"%(L)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex 5.5 Page 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The rate of heat removal from the bed = 6405 kW \n",
+ " (b) The rate of heat removal from the above bed zone = 16333 kW \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "CV=24##The calorific value of the fuel in MJ/kg\n",
+ "C=0.65##The amount of calorific value released in the bed in %\n",
+ "to=850##Temperature at which products leave in degree centigrade\n",
+ "ti=30##The inlet temperature in degree centigrade\n",
+ "tb=850##The bed temperature in degree centigrade\n",
+ "A=14.5##The air fuel ratio by mass\n",
+ "Cp=1.035##The specific heat of the products leaving the bed surface in kJ/kgK\n",
+ "B=7000##The burning rate of coal in kg/h\n",
+ "\n",
+ "#Calculations\n",
+ "H=(C*CV*1000)-(A*Cp*(to-ti))##Heat removal from the bed per kg fuel in kJ/kg fuel\n",
+ "Hr=(H*B)/3600##Rate of heat removal from the bed in kW\n",
+ "Hb=(B/3600)*(1-C)*CV*1000##The rate of heat removal from the above bed zone in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The rate of heat removal from the bed = %3.0f kW \\n (b) The rate of heat removal from the above bed zone = %3.0f kW \"%(Hr,Hb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex 5.6 Page 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The planform area = 2.4 m**2 \n",
+ " (b) Fuel burning rate = 0.192 kg/s \n",
+ " Air flow rate = 2.1888 kg/s \n",
+ " Planform area = 2.58 m**2 \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "tb=850##The bed temperature in degree centigrade\n",
+ "CV=25##The calorific value of the fuel in MJ/kg\n",
+ "A=9.5##The stoichiometric air fuel ratio by mass\n",
+ "E=20##The amount of excess air used in %\n",
+ "F=4.8##The total fueling rate in MW\n",
+ "p=0.3145##The density of air at bed temperature in kg/m**3\n",
+ "f=2##The firing rate in MW/m**2\n",
+ "v=2.7##The fluidizing velocity in m/s\n",
+ "\n",
+ "#Calculations\n",
+ "P=F/f##Planform area in m**2\n",
+ "m=(F*1000)/(CV*1000)##Fuel burning rate in kg/s\n",
+ "ma=A*(1+(E/100))*m##Mass flow rate of air in kg/s\n",
+ "Pa=ma/(p*v)##Planform area in m**2\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The planform area = %3.1f m**2 \\n (b) Fuel burning rate = %3.3f kg/s \\n Air flow rate = %3.4f kg/s \\n Planform area = %3.2f m**2 \"%(P,m,ma,Pa)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch6.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch6.ipynb
new file mode 100644
index 00000000..499e2ad1
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch6.ipynb
@@ -0,0 +1,474 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6 : Steam generators"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.1 Pg: 411"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The pressure head developed = 35.8 kPa \n",
+ " (b)The void fraction at riser exit = 0.5519 \n",
+ " (c) The heat transfer rate per unit projected area = 293.1 kW/m**2 \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "H=18##The length of furnace wall riser in m\n",
+ "O=76.2##The outer diameter of the furnace wall riser in mm\n",
+ "T=6.1##The thickness of the furnace wall riser in mm\n",
+ "P=80##Pressure at which saturated water is recieved in bar\n",
+ "V=1.5##The velocity of the saturated water in m/s\n",
+ "CR=12.5##Assuming circulation ratio\n",
+ "S=1.2##Assuming slip ratio\n",
+ "g=9.81##Gravitational force constant in m/s**2\n",
+ "pi=3.142##Mathematical constant\n",
+ "\n",
+ "#Calculations\n",
+ "xt=1/CR##The quality of steam at the top of the riser\n",
+ "vf=0.001384##Specific volume of saturated liquid at 80 bar in m**3/kg\n",
+ "vfg=0.02214##Specific volume of Evaporation gas at 80 bar in m**3/kg\n",
+ "vg=0.02352##Specific volume of saturated gas at 80 bar in m**3/kg\n",
+ "pf=1/vf##Density of the saturated liquid at 80 bar in kg/m**3\n",
+ "vt=vf+(xt*vfg)##Specific volume of the steam at the top of the riser in m**3/kg\n",
+ "pt=1/vt##Density of steam at the top of the riser in kg/m**3\n",
+ "pm=(pt+pf)/2##Mean density in kg/m**3\n",
+ "Ph=(H*g*(pf-pm))/1000##The pressure head developed in kPa\n",
+ "C=(vf/vg)*S##The part of calculation for the void fraction\n",
+ "VF=1/(1+((1-xt)*C)/xt)##The void fraction at riser exit\n",
+ "hfg=1441.3##Enthalpy of the evaporation in kJ/kg\n",
+ "di=O-12.2##Inner diameter of the furnace wall riser in mm\n",
+ "A=(pi*di**2)/4##Inner area in m**2\n",
+ "w=pf*A*V##Mass flow rate of saturated water entering the riser in kg/s\n",
+ "ws=xt*w##The rate of steam formation in the riser tube in kg/s\n",
+ "h=((ws*hfg)/(O*H))/1000##Heat transfer rate per unit projected area in kW/m**2\n",
+ "\n",
+ "#output\n",
+ "print \" (a) The pressure head developed = %3.1f kPa \\n (b)The void fraction at riser exit = %3.4f \\n (c) The heat transfer rate per unit projected area = %3.1f kW/m**2 \"%(Ph,VF,h)\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.2 Pg: 413"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The amount of water that must be sprayed is 7.737 t/h or 2.149 kg/s \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "t=60##The temperature of water while supplying it to desuperheater in degree centigrade\n",
+ "ws=200##The amount of steam carrying in a steam line in t/h\n",
+ "p=35##The pressure of steam in bar\n",
+ "ts=400##The temperature to be maintained by the steam in degree centigrade\n",
+ "to=450##The outlet temperature of the steam from boiler in degree centigrade\n",
+ "h1=3337.2##The enthalpy of steam at 450 degree C in kJ/kg\n",
+ "h2=252##The enthalpy of water at 60 degree C in kJ/kg\n",
+ "h3=3222.3##The enthalpy of steam at 400 degree C in kJ/kg\n",
+ "\n",
+ "#Calculations\n",
+ "w=(ws*(h1-h3))/(h3-h2)##Mass flow rate of water in t/h\n",
+ "w1=w*(1000/3600)##Mass flow rate of water in kg/s\n",
+ "\n",
+ "#Output\n",
+ "print \"The amount of water that must be sprayed is %3.3f t/h or %3.3f kg/s \"%(w,w1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.3 Pg: 413"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The pressure head developed due to natural circulation is 38163 N/m**2 or 38.163 kPa\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "#Input data\n",
+ "\n",
+ "H=15##The high of downcomer riser circuit in m\n",
+ "P=160##The pressure at which downcomer riser circuit operates in bar\n",
+ "xe=0.5##The exit quality of the steam \n",
+ "S=1.2##Slip factor\n",
+ "vf=0.001711##Specific volume of saturated liquid in m**3/kg\n",
+ "vg=0.009306##Specific volume of saturated gas in m**3/kg\n",
+ "g=9.806##Gravitational force constant in m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "C=S*(vf/vg)##The part of calculation for the void fraction \n",
+ "VF=1/(1+((1-xe)*C)/xe)##The void fraction at riser exit\n",
+ "pf=1/vf##Density of the saturated liquid in kg/m**3\n",
+ "pg=1/vg##Density of the saturated gas in kg/m**3\n",
+ "pm=pf-(((pf-pg)/(1-C))*(1-((1/((VF)*(1-C)))-1)*log(1/(1-(VF*(1-C))))))##The average mixture density in the riser in kg/m**3\n",
+ "P1=g*(pf-pm)*H##Pressure head developed due to natural circulation in N/m**2\n",
+ "P2=P1/1000##ressure head developed due to natural circulation in kPa\n",
+ "\n",
+ "#Output \n",
+ "print \"The pressure head developed due to natural circulation is %3.0f N/m**2 or %3.3f kPa\"%(P1,P2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.4 Pg: 414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)The steam generation rate = 93.383 kg/s \n",
+ " (b) The fuel burning rate = 10.898 kg/s \n",
+ " (c) The evaporation factor = 8.57 \n",
+ " (d) The pressure head available for natural circulation = 0.6448 bar \n",
+ " (e) The circulation ratio = 12.5 \n",
+ " (f)The number of risers required = 713 \n",
+ " (g) The heat absorbtion rate per unit projected area of the riser = 72.51 kW/m**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import ceil\n",
+ "#Input data\n",
+ "\n",
+ "W=120##The amount of electricity produced in the power plant in MW\n",
+ "po=100##The pressure of the steam at the outlet of boiler in bar\n",
+ "to=500##The temperature of steam at the outlet of boiler in degree centigrade\n",
+ "p=0.1##The condenser pressure in bar\n",
+ "nb=0.9##The efficiency of the boiler\n",
+ "CV=25.7##The calorific value of the coal in MJ/kg\n",
+ "ti=160##The feed water temperature at boiler inlet in degree centigrade\n",
+ "H=40##The high of the risers in the furnace wall in m\n",
+ "xt=0.08##The quality of the steam at the top of the riser\n",
+ "v=2##The exit velocity of the riser and entering the drum in m/s\n",
+ "Do=60##The outer diameter of the risers in mm\n",
+ "T=3##The thickness of the wall in mm\n",
+ "pi=3.142##Mathematical constant\n",
+ "g=9.806##Gravitational force constant in m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3374.8##Enthalpy at point 1 in kJ/kg\n",
+ "s1=6.6011##Entropy at point 1 in kJ/kgK\n",
+ "sf=0.6479##Entropy of the saturated liquid at point 1 in kJ/kgK\n",
+ "sg=7.5055##Entropy of the Saturated vapour at point 1 in kJ/kgK\n",
+ "x2=(s1-sf)/sg##The quality of the steam\n",
+ "h2=191.46+(x2*2393.29)##Enthalpy at point 2 in kJ/kg\n",
+ "h3=191.46##Enthalpy at point 3 in kJ/kg\n",
+ "h5=675.5##Enthalpy at point 5 in kJ/kg\n",
+ "ws=(W*1000)/(h1-h2)##Mass flow rate of steam in kg/s\n",
+ "wf=(ws*(h1-h5))/(nb*CV*1000)##Mass flow rate of fuel in kg/s\n",
+ "E=ws/wf##Evaporation factor \n",
+ "vf=0.0014523##The specific volume of saturated liquid in m**3/kg\n",
+ "vg=0.0165884##The specific volume of saturated vapour in m**3/kg\n",
+ "vt=vf+(xt*vg)##Specific volume at the top in m**3/kg\n",
+ "pt=1/vt##Density of the steam at the top in kg/m**3\n",
+ "pf=1/vf##The density of the steam in kg/m**3\n",
+ "pm=(pf+pt)/2##The average mixture density in kg/m**3\n",
+ "H1=(g*H*(pf-pm))/10**5##Pressure head available for natural circulation in bar\n",
+ "CR=1/xt##Circulation ratio\n",
+ "di=(Do-(2*T))/1000##The inner diameter of the riser in m\n",
+ "A=(pi*di**2)/4##Area for the inner diameter in m**2\n",
+ "w=(A*pt*v*xt)##The rate of steam formation in the riser in kg/s\n",
+ "Nr=ceil(ws)/w##The number of risers\n",
+ "hfg=1319.8##Enthalpy of the evaporation in kJ/kg\n",
+ "Ha=(w*hfg)/((Do/1000)*H)##Heat absorption rate per unit projected area of the riser in kW/m**2\n",
+ "\n",
+ "#Output \n",
+ "print \" (a)The steam generation rate = %3.3f kg/s \\n (b) The fuel burning rate = %3.3f kg/s \\n (c) The evaporation factor = %3.2f \\n (d) The pressure head available for natural circulation = %3.4f bar \\n (e) The circulation ratio = %3.1f \\n (f)The number of risers required = %3.0f \\n (g) The heat absorbtion rate per unit projected area of the riser = %3.2f kW/m**2\"%(ws,wf,E,H1,CR,Nr,Ha)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.5 Pg: 415"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)The blowdown required = 0.2796 kg/s \n",
+ " (b) Heat loss in blowdown as a percentage of total heat released in the furnace = 0.19 percentage \n",
+ " (c) The deposition of scale in superheater tube = 0.553 kg/day \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "ws=64##The steam flow rate in kg/s\n",
+ "p=60##The pressure at which steam leaves the boiler in bar\n",
+ "m=0.02##Moisture contant in the steam \n",
+ "wf=62##The feedwater flow rate in kg/s\n",
+ "Pf=3##concentration of feedwater in ppm\n",
+ "wm=2##The flow rate of makeup water \n",
+ "Pm=50##concentration of makeup water in ppm\n",
+ "Ps=5##Leaving the drum water in ppm\n",
+ "Pw=1000##The concentration in the drum water in ppm\n",
+ "mf=7##The fuel burning rate in kg/m\n",
+ "CV=23##The heating value in MJ/kg\n",
+ "ta=30##The room temperature in degree centigrade\n",
+ "hf=1213.35##Enthalpy of saturated liquid at 60 bar in kJ/kg\n",
+ "ha=125.79##Enthalpy at ambient temperature in kJ/kg\n",
+ "\n",
+ "#Calculations\n",
+ "BD=((wf*Pf)+(wm*Pm)-(m*ws*Ps))/1000##The rate of blowdown in kg/s\n",
+ "E=((BD*(hf-ha))/(mf*CV*1000))*100##The energy loss in blowdown in percentage\n",
+ "S=m*ws*Ps*10**-6*3600*24##Scale deposition in superheater tubes\n",
+ "\n",
+ "#Output\n",
+ "print \" (a)The blowdown required = %3.4f kg/s \\n (b) Heat loss in blowdown as a percentage of total heat released in the furnace = %3.2f percentage \\n (c) The deposition of scale in superheater tube = %3.3f kg/day \"%(BD,E,S)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.6 Pg: 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The number of coils needed in the economiser = 285 \n",
+ " (b) The length of one coil = 314.7 m \n",
+ " (c) The verticle height of the duct occupied by the economiser coils = 5.26 m \n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "#Input data\n",
+ "ws=600##Mass flow rate of feedwater in kg/s\n",
+ "p=140##The inlet pressure of the feedwater in bar\n",
+ "t=170##The inlet temperature of the feedwater in degree centigrade\n",
+ "wg=1250##The mass flow rate of flue gases in kg/s\n",
+ "tg2=450##The temperature at which flue gases leave the economisers coils in degree centigrade\n",
+ "Vf=12##The velocity of the flue gas in m/s\n",
+ "Vw=1.2##The velocity of the water leaving the coil in m/s\n",
+ "Do=0.07##The outer diameter of the tube in m\n",
+ "Di=0.06##The inner diameter of the tube in m\n",
+ "U=70##The overall heat transfer coefficient in W/m**2K\n",
+ "Cp=1.12##The specific heat capacity of the flue gases in kJ/kgK\n",
+ "V=0.08##The vertical pitch of the coil in m\n",
+ "B=4.8##The width of the duct in m\n",
+ "C=0.005##The clearence on the both sides of the duct in m\n",
+ "pi=3.142##Mathematical constant\n",
+ "\n",
+ "#Calculations\n",
+ "hf=1571.1##The enthalpy of the saturated liquid at 140 bar in kJ/Kg\n",
+ "ts=336.75##The saturated temperature at 140 bar in degree centigrade\n",
+ "vf=0.001611##The specific volume of the saturated liquid at 140 bar in m**3/kg\n",
+ "hf1=719.21##The enthalpy of the saturated liquid at 170 degree C in kJ/kg\n",
+ "vf1=0.001114##The specific volume of the saturated liquid at 170 degree C in m**3/kg\n",
+ "tg1=((ws*(hf-hf1))/(wg*Cp))+tg2##The temperature at which flue gases enters the economisers coils in degree centigrade\n",
+ "t1m=(478.25-280)/(log(478.25/280))##The mean temperature for inlet and exit temperature in degree centigrade \n",
+ "Q=ws*(hf-hf1)##The rate of heat transfer in the economiser in kW\n",
+ "Ao=(Q/(U*t1m))*10**3##The outer area in m**2\n",
+ "n=((ws*(vf/Vw)*(4/pi)*(1/Di**2)))##The number of coils needed in the economiser\n",
+ "l=Ao/(n*pi*Do)##The length of one coil in m\n",
+ "nt=l/(B-(2*C))##The number of turns in on ecoil \n",
+ "VH=nt*V##The vertical height of the duct occupied by the economiser coils\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The number of coils needed in the economiser = %3.0f \\n (b) The length of one coil = %3.1f m \\n (c) The verticle height of the duct occupied by the economiser coils = %3.2f m \"%(n,l,VH)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.7 Pg: 418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a)The length of the tubes = 9.55 m\n",
+ " (b) The number of tubes = 69647 \n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "#Input data\n",
+ "\n",
+ "tg2=160##The temperature to which the flue gases are cooled in degree centigrade\n",
+ "ta1=35##The ambient temperature of the air in degree centigrade\n",
+ "wa=1167##The mass flow rate of air in kg/s\n",
+ "Vg=13##The inlet velocity of the flue gases in m/s\n",
+ "U=30##The overall heat transfer coefficient in W/m**2K\n",
+ "Cpg=1.10##The specific heat of the flue gas in kJ/kgK\n",
+ "Cpa=1.005##The specific heat of the air in kJ/kgK\n",
+ "R=0.287##Real gas constant in kJ/kgK\n",
+ "wg=1250##The mass flow rate of gas in kg/s\n",
+ "tg1=450##The temperature at the inlet of flue gas in degree centigrade\n",
+ "P=101.325##Atmospheric temperature in kPa\n",
+ "pi=3.1414##Mathematical constant\n",
+ "Di=0.06##The inner diameter of the tube in m\n",
+ "Do=0.065##The outer diameter of the tube in m\n",
+ "\n",
+ "#Calculations\n",
+ "vg1=(R*(273+tg1))/P##Specific volume of the gas in m**3/kg\n",
+ "ta2=((wg*Cpg*(tg1-tg2))/(wa*Cpa))+ta1##The temperature of the heated air in degree centigrade\n",
+ "t1m=(75-125)/log(75/125)##The mean temperature of the inlet and exit temperature in degree centigrade\n",
+ "Q=wg*Cpg*(tg1-tg2)##The rate of heat transfer in the economiser in kW\n",
+ "Ao=(Q/(U*t1m))*10**3##The outer area in m**2\n",
+ "n=((wg*(vg1/Vg)*(4/pi)*(1/Di**2)))##The number of coils needed in the economiser\n",
+ "l=Ao/(n*pi*Do)##The length of one coil in m\n",
+ "\n",
+ "#Output\n",
+ "print \"(a)The length of the tubes = %3.2f m\\n (b) The number of tubes = %3.0f \"%(l,n)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 6.8 Pg: 419"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a)The length of the one coil = 8.38 m\n",
+ " (b) The number of coils = 231 \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "di=0.05##The inner diameter of the superheater coil in m\n",
+ "T=0.005##The thickness of the coil in m\n",
+ "p=60##The pressure of the steam at the exit in bar\n",
+ "t=500##The temperature of the steam at the exit in degree centigrade\n",
+ "V2=10##The velocity of the steam at the exit in m/s\n",
+ "ws=80##The mass flow rate of steam in kg/s\n",
+ "H=140##The heat flux in the super heated coils in kW/m**2\n",
+ "pi=3.142##Mathematical constant\n",
+ "Do=0.06##The outer diameter of the tube in m\n",
+ "\n",
+ "#Calculations\n",
+ "h1=2784.3##The enthalpy of the saturated gas at 60 bar in kJ/kg\n",
+ "h2=3422.2##The enthalpy of the saturated gas at 500 degreeC in kJ/kg\n",
+ "v2=0.05665##The specific volume of gas at 500 degreeC in m**3/kg\n",
+ "Q=ws*(h2-h1)##Heat absorption rate in superheater coil in kW\n",
+ "Ao=Q/H##Surface area required in m**2\n",
+ "n=((ws*(v2/V2)*(4/pi)*(1/di**2)))##The number of coils needed in the economiser\n",
+ "l=Ao/(n*pi*Do)##The length of one coil in m\n",
+ "\n",
+ "#Output\n",
+ "print \" (a)The length of the one coil = %3.2f m\\n (b) The number of coils = %3.0f \"%(l,n)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch7.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch7.ipynb
new file mode 100644
index 00000000..5a7f9b93
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch7.ipynb
@@ -0,0 +1,1604 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7 : Steam generators"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.1 Pg: 510"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Minimum area of the nozzles is 7.626 sq.cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=10#Initial pressure in bar\n",
+ "T1=300+273#Initial temperature in K\n",
+ "p2=2#Final pressure in bar\n",
+ "m=1#Mass flow rate of steam in kg/s\n",
+ "\n",
+ "#Calculations\n",
+ "px=(0.546*p1)#Critical pressure in bar\n",
+ "ho=3052.2#Enthalpy in kJ/kg\n",
+ "so=7.1229#Entropy in kJ/kg.K\n",
+ "sx=so#Entropy in kJ/kg.K\n",
+ "hx=2905.9#Enthalpy in kJ/kg\n",
+ "vx=0.4125#Specific volume in m**3/kg\n",
+ "Vx=(44.72*sqrt(ho-hx))#Critical velocity in m/s\n",
+ "Ax=(vx/Vx)*10**4#Minimum area of the nozzle in sq.cm\n",
+ "\n",
+ "#Output\n",
+ "print \"Minimum area of the nozzles is %3.3f sq.cm\"%(Ax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.2 Pg: 511"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Minimum area of the nozzles is 7.98 cm**2 \n",
+ " the number of nozzles are 4\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=10#Initial pressure in bar\n",
+ "T1=300+273#Initial temperature in K\n",
+ "p2=1#Final pressure in bar\n",
+ "x=0.15#Friction loss of the isentropic enthalpy drop\n",
+ "ms=1#Steam flow rate in kg/s\n",
+ "d=25#Exit diameter of the nozzles in mm\n",
+ "\n",
+ "#Calculations\n",
+ "px=(0.546*p1)#Critical pressure in bar\n",
+ "h1=3052.2#Enthalpy in kJ/kg\n",
+ "s1=7.1276#Entropy in kJ/kg\n",
+ "s2s=s1#Entropy in kJ/kg\n",
+ "h2s=2916.2#Enthalpy in kJ/kg\n",
+ "Vx=(44.72*sqrt(h1-h2s))#Critical velocity in m/s\n",
+ "h3s=2605#Enthalpy in kJ/kg\n",
+ "V1=(44.72*sqrt((h1-h2s)+(0.85*(h2s-h3s))))#Velocity in m/s\n",
+ "s3s=s1#Entropy in kJ/kg\n",
+ "x3s=(s3s-1.3025)/6.0579#Dryness fraction\n",
+ "h3s=(417.46+(x3s*2258.01))#Enthalpy in kJ/kg\n",
+ "h2s3=((1-x)*(h2s-h3s))#Enthalpy in kJ/kg\n",
+ "h3=h2s-h2s3#Enthalpy in kJ/kg\n",
+ "x3=(h3-417.46)/2258.01#Dryness fraction\n",
+ "v3=(0.001043+(x3*1.694))#Specific volume in m**3/kg\n",
+ "v2s=0.416#Specific volume in m**3/kg\n",
+ "vx=v2s#Specific volume in m**3/kg\n",
+ "Ax=(ms/Vx)*vx*10**4#Minimum area in cm**2\n",
+ "A1=(ms*v3)/V1*10**4#Area in cm**2\n",
+ "n=(A1*4)/(3.14*(d/10)**2)#Number of nozzles\n",
+ "\n",
+ "#Output\n",
+ "print \" Minimum area of the nozzles is %3.2f cm**2 \\n the number of nozzles are %3.0f\"%(Ax,n)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.3 Pg: 512"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Area of throat is 2430 mm**2 \n",
+ " Exit area is 4029 mm**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=7.8#Pressure in bar\n",
+ "t1=180+273#Temperature in K\n",
+ "p2=1.03#pressure in bar\n",
+ "m=3.6#flow rate of air in kg/s\n",
+ "g=1.4#Ratio of specific heats\n",
+ "R=287#Characteristic gas constant in J/kg.K\n",
+ "cp=1.005#Specific heat in kJ/kg.K\n",
+ "\n",
+ "#Calculations\n",
+ "pxpo=(2/(g+1))**(g/(g-1))#Ratio of pressure\n",
+ "px=pxpo*p1#Critical pressure in bar\n",
+ "txto=(2/(g+1))#Ratio of temperatures\n",
+ "tx=t1*txto#Critical temperature in K\n",
+ "vx=(R*tx)/(px*10**5)#Critical specific volume in m**3/kg\n",
+ "Vx=sqrt(g*R*tx)#Critical velocity in m/s\n",
+ "Ax=((m*vx)/Vx)*10**6#Critical area in mm**2\n",
+ "tot1=(p1/p2)**((g-1)/g)#Ratio of temperatures\n",
+ "t1i=t1/tot1#Temperature in K\n",
+ "v1=(R*t1i)/(p2*10**5)#Specific volume in m**3/kg\n",
+ "V1=44.72*sqrt(cp*(t1-t1i))#Velocity in m/s\n",
+ "A1=((m*v1)/V1)*10**6#Area in mm**2\n",
+ "\n",
+ "#Output\n",
+ "print \" Area of throat is %3.0f mm**2 \\n Exit area is %d mm**2\"%(Ax,A1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.4 Pg: 514"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Throat raea is 0.0286 m**2 \n",
+ " Exit arae is 0.0370 m**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=3.8#pressure in bar\n",
+ "T1=450+273#Tempereture in K\n",
+ "p2=1#pressure in bar\n",
+ "m=16#Flow rate in kg/s\n",
+ "Cd=0.98#coefficient of discharge\n",
+ "nv=0.93#nozzile effeciency\n",
+ "cp=1.11#Specific heat in kJ/kg.K\n",
+ "g=1.333#Ratio of specific heats\n",
+ "\n",
+ "#Calculations\n",
+ "pxpo=(2/(g+1))**(g/(g-1))#Pressure ratio\n",
+ "px=pxpo*p1#Critical pressure in bar\n",
+ "TxTo=2/(g+1)#Temperature ratio\n",
+ "Tx=T1*TxTo#Critical temperature in K\n",
+ "Vx=44.72*sqrt(cp*(T1-Tx))#critical velocity in m/s\n",
+ "R=(cp*(g-1)*1000)/g#Characteristic gas constant in J/kg.K\n",
+ "vx=(R*Tx)/(px*10**5)#Critical specific volume in m**3/kg\n",
+ "ws=(m/Cd)#Mass flow rate in kg/s\n",
+ "Ax=(ws*vx)/Vx#Critical area in m**2\n",
+ "T1sTo=(p2/p1)**((g-1)/g)#Temperature ratio\n",
+ "T1s=T1*T1sTo#Temperature in K\n",
+ "T1i=(T1-(nv*(T1-T1s)))#Temperature in K\n",
+ "v1=(R*T1i)/(p2*10**5)#Specific volume in m**3/kg\n",
+ "V1=44.72*sqrt(cp*(T1-T1i))#Velocity in m/s\n",
+ "A1=(ws*v1)/V1#Area in m**2\n",
+ "\n",
+ "#Output\n",
+ "print \" Throat raea is %3.4f m**2 \\n Exit arae is %3.4f m**2\"%(Ax,A1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.5 Pg: 515"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) Area of throat is 112.6 mm**2 \n",
+ " Exit area is 184.5 mm**2 \n",
+ "\n",
+ " (b) Area of throat is 143.6 mm**2 \n",
+ " Exit area is 219.0 mm**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=20#pressure in bar\n",
+ "T1=300+273#Tempereture in K\n",
+ "p2=3#pressure in bar\n",
+ "m=0.3#Flow rate in kg/s\n",
+ "n=1.3#Adiabatic constant\n",
+ "Cd=0.98#Coefficient of discharge\n",
+ "Cv=0.92#Coefficient of velocity\n",
+ "\n",
+ "#Calculations\n",
+ "vo=0.1255#Specific volume in m**3/kg\n",
+ "px=(0.546*p1)#Critical pressure in bar\n",
+ "vx=(p1/px)**(1/n)*vo#Critical specific volume in m**3/kg\n",
+ "Vx=sqrt(n*px*10**5*vx)#Critical velocity in m/s\n",
+ "Ax=((m*vx)/Vx)*10**6#Critical area in m**2\n",
+ "v1vo=(p1/p2)**(1/n)#Ratio of specific volumes\n",
+ "v1=(vo*v1vo)#Specific volume in m**3/kg\n",
+ "V1=sqrt(2*((n/(n-1))*10**5*((p1*vo)-(p2*v1))))#Velocity in m/s\n",
+ "A1=((m*v1)/V1)*10**6#Area in mm**2\n",
+ "ho=3050#Enthalpy in kJ/kg\n",
+ "hx=2920#Enthalpy in kJ/kg\n",
+ "h1s=2650#Enthalpy in kJ/kg\n",
+ "ws=(m/Cd)#Flow rate in kg/s\n",
+ "Vsx=44.72*sqrt(ho-hx)#Velocity in m/s\n",
+ "V1s=44.72*sqrt(ho-h1s)#Velocity in m/s\n",
+ "Vo1=(V1s*Cv)#Velocity in m/s\n",
+ "hoh1=(V1/44.72)**2#Change in enthalpy in kJ/kg\n",
+ "h1=ho-hoh1#Enthalpy in kJ/kg\n",
+ "x1=(h1-561.47)/2163.8#Dryness fraction\n",
+ "vo1=(0.001073+(x1*0.6047))#Specific volume in m**3/kg\n",
+ "Ao1=((ws*vo1)/Vo1)*10**6#Exit nozzle area in mm**2\n",
+ "Vox=(Vsx*Cv)#Velocity in m/s\n",
+ "hohx=(Vox/44.72)**2#Change in enthalpy in kJ/kg\n",
+ "hox=(ho-hohx)#Enthalpy in kJ/kg\n",
+ "vox=0.22#Specific volume in m**3/kg\n",
+ "Aox=((ws*vox)/Vox)*10**6#Critical area in m**2\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) Area of throat is %3.1f mm**2 \\n Exit area is %3.1f mm**2 \\n\\n (b) Area of throat is %3.1f mm**2 \\n Exit area is %3.1f mm**2\"%(Ax,A1,Aox,Ao1)\n",
+ "#In textbook, Ao1 is given wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.6 Pg: 517"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Mass flow rate is 0.966 kg/s \n",
+ " Nozzle efficiency is 0.971\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=5#Pressure of steam in bar\n",
+ "V=100#Velocity in m/s\n",
+ "p2=1.5#Exit pressure in bar\n",
+ "At=1280#Throat area in mm**2\n",
+ "Ae=1600#Exit area in mm**2\n",
+ "rp=0.58#Critical pressure ratio\n",
+ "\n",
+ "#Calculations\n",
+ "ho=2749#Enthalpy in kJ/kg\n",
+ "so=6.822#Entropy in kJ/kg.K\n",
+ "px=(rp*p1)#Critical pressure in bar\n",
+ "sx=so#Entropy in kJ/kg.K\n",
+ "xx=(sx-1.660)/5.344#Dryness fraction\n",
+ "hx=(556+(xx*2168))#Enthalpy in kJ/kg\n",
+ "Vx=sqrt(((ho+((V**2*10**-3))/2)-hx)*(2/10**-3))#Velocity in m/s\n",
+ "vx=(xx*0.6253)#Specific volume in m**3/kg\n",
+ "w=(At*10**-6*Vx)/vx#Mass flow rate in kg/s\n",
+ "s1s=sx#Entropy in kJ/kg.K\n",
+ "x1s=(so-1.434)/5.789#Dryness fraction\n",
+ "h1s=(467+x1s*2226)#ENthalpy in kJ/kg\n",
+ "z=((Vx**2*10**-3)/2)-hx#z value\n",
+ "#By iteratio scheme\n",
+ "x1=0.932#Dryness fraction\n",
+ "v1=1.080#Specific volume in m**3/kg\n",
+ "h1=2542#Enthalpy in kJ/kg\n",
+ "V1=652.2#Velocity in m/s\n",
+ "nn=((hx-h1)/(hx-h1s))#Nozzle efficiency\n",
+ "\n",
+ "#Output\n",
+ "print \" Mass flow rate is %3.3f kg/s \\n Nozzle efficiency is %3.3f\"%(w,nn)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.7 Pg: 819"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) Exit area when the flow is in equilibrium throughout is 398 mm**2 \n",
+ " (b) Exit area when the flow is supersaturated is 435.4 mm**2 \n",
+ " (i) The degree of supercooling is 10.38 degree C \n",
+ " (ii) The degree of supersaturation is 1.396\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=5#Pressure in bar\n",
+ "T1=200+273#Temperature in K\n",
+ "p2=2#Pressure in bar\n",
+ "m=0.3#Mass flow rate in kg/s\n",
+ "n=1.3#Adiabatic index\n",
+ "\n",
+ "#Calculations\n",
+ "vo=0.4249#Specific volume in m**3/kg\n",
+ "ho=2855.4#Enthalpy in kJ/kg\n",
+ "so=7.0592#Entropy in kJ/kg.K\n",
+ "x1=0.972#Dryness fraction \n",
+ "h1=(504.7+x1*2201.9)#Enthalpy in kJ/kg\n",
+ "v1=x1*0.8857#Specific volume in m**3/kg\n",
+ "V1=44.72*sqrt(ho-h1)#Velocity in m/s\n",
+ "A1=((m*v1)/V1)*10**6#Area in mm**2\n",
+ "rp=(p1/p2)**(1/n)#Specific volume ratio\n",
+ "vR=(vo*rp)#Specific volume in m**3/kg\n",
+ "VR=sqrt(2*((n/(n-1))*(p1*vo-p2*vR)*10**5))#Velocity in m/s\n",
+ "AR=((m*vR)/VR)*10**6#Area in mm**2\n",
+ "TR=T1/(p1/p2)**((n-1)/n)#Temperature in K\n",
+ "tR=(TR-273)#Temperature in degree C\n",
+ "ts=120.23#Saturation temperature at pressure p1 in degree C\n",
+ "ds=ts-tR#Degree of subcooling in degree C\n",
+ "ps=1.4327#Saturation pressure at tR in bar\n",
+ "dsu=(p2/ps)#Degree of supersaturation\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) Exit area when the flow is in equilibrium throughout is %3.0f mm**2 \\n (b) Exit area when the flow is supersaturated is %3.1f mm**2 \\n (i) The degree of supercooling is %3.2f degree C \\n (ii) The degree of supersaturation is %3.3f\"%(A1,AR,ds,dsu)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.8 Pg: 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Exit area is 403.2 mm**2 which upon checking is 400 mm**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#Input data\n",
+ "p1=5#Pressure in bar\n",
+ "T1=200#Temperature in degree C\n",
+ "p2=2#Pressure in bar\n",
+ "m=0.3#Mass flow rate in kg/s\n",
+ "n=1.3#Adiabatic index\n",
+ "nn=0.92#Nozzle efficiency\n",
+ "cp=1.925#mean specific heat in kJ/kg.K\n",
+ "x=[0,2.308,1943]#pv*10**3 = 2.308(h-1943)\n",
+ "\n",
+ "#Calculations\n",
+ "vo=0.4249#Specific volume in m**3/kg\n",
+ "ho=2855.4#Enthalpy in kJ/kg\n",
+ "so=7.0592#Entropy in kJ/kg.K\n",
+ "x1=0.972#Dryness fraction \n",
+ "h1=(504.7+x1*2201.9)#Enthalpy in kJ/kg\n",
+ "v1=x1*0.8857#Specific volume in m**3/kg\n",
+ "V1=44.72*sqrt(ho-h1)#Velocity in m/s\n",
+ "h=ho-h1#Change in enthalpy in kJ/kg\n",
+ "hoq=nn*h#Change in enthalpy in kJ/kg\n",
+ "VQ=44.72*sqrt(hoq)#Velocity in m/s\n",
+ "toq=(hoq/cp)#Temperature difference in degree C\n",
+ "tQ=(T1-toq)#Temperature in degree C\n",
+ "TQ=tQ+273#Temperature in K\n",
+ "vQ=((p1*100*vo)/(T1+273))*(TQ/T1)#Specific volume in m**3/kg\n",
+ "A1=((m*vQ)/VQ)*10**6#Area in mm**2\n",
+ "vQ=(x[(1)]*(ho-hoq-x[(2)]))/(10**3*p2)#Specific volume in m**3/kg\n",
+ "A11=((m*vQ)/VQ)*10**6#Area in mm**2\n",
+ "\n",
+ "#Output\n",
+ "print \"Exit area is %3.1f mm**2 which upon checking is %3.0f mm**2\"%(A1,A11)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.9 Pg: 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Blade Angle is 32.36 degrees \n",
+ "\n",
+ " Neglecting the friction effects \n",
+ " Tangential force is 809.49 N \n",
+ " Axial thrust is 0 N \n",
+ " Diagram efficiency is 86.3 percent \n",
+ "\n",
+ " Considering the friction effects \n",
+ " Axial thrust is 51.3 N \n",
+ " Diagram Power is 291.42 kW \n",
+ " Diagram efficiency is 77.71 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "V1=1000#Speed in m/s\n",
+ "Vb=400#Peripheral velocity in m/s\n",
+ "a=20#Nozzle angle in degree\n",
+ "m=0.75#Mass flow in kg/s\n",
+ "f=80#Percentage reduction of relative velocity\n",
+ "\n",
+ "#Calculations\n",
+ "b1=degrees(atan((V1*sin(a*pi/180))/((V1*cos(a*pi/180))-Vb)))#Blade angle in degree\n",
+ "V=342#Velocity from E7.9 in m/s\n",
+ "Vr1=V/sin(b1*pi/180)#Velocity in m/s\n",
+ "dVw=(2*Vr1*cos(b1*pi/180))#Velocity in m/s\n",
+ "Pt=(m*dVw)#Tangential thrust in N\n",
+ "WD=(Pt*Vb)/1000#Diagram power in kW\n",
+ "nD=(WD/(0.5*m*V1**2*10**-3))*100#Diagram efficiency in percent\n",
+ "Pa=0#Axial thrust in N\n",
+ "Vr2=(f/100)*Vr1#Velocity in m/s\n",
+ "Pa2=m*sin(b1*pi/180)*(Vr1-Vr2)#Axial thrust in N\n",
+ "WD2=(m*(Vr1+Vr2)*cos(b1*pi/180)*Vb)/1000#Diagram power in kW\n",
+ "nD2=(WD2/(0.5*m*V1**2*10**-3))*100#Diagram efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" Blade Angle is %3.2f degrees \\n\\n Neglecting the friction effects \\n Tangential force is %3.2f N \\n Axial thrust is %d N \\n Diagram efficiency is %3.1f percent \\n\\n Considering the friction effects \\n Axial thrust is %3.1f N \\n Diagram Power is %3.2f kW \\n Diagram efficiency is %3.2f percent\"%(b1,Pt,Pa,nD,Pa2,WD2,nD2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:7.10 Pg: 523"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) Work done in the stage per kg of steam is 42.56 kJ/kg \n",
+ " Stage efficiency is 66.4 percent \n",
+ "\n",
+ " (b) Number of stages are 15\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import atan, sin, cos, degrees, ceil,pi\n",
+ "#Input data\n",
+ "a=20#Nozzle angle in degrees\n",
+ "b2=30#Blade exit angle in degrees\n",
+ "Vb=130#Mean blade speed in m/s\n",
+ "V1=330#Velocity of steam in m/s\n",
+ "f=0.8#Friction factor\n",
+ "nn=0.85#Nozzle efficiency\n",
+ "p1=20#Pressure in bar\n",
+ "T1=250+273#Temperature in K\n",
+ "p2=0.07#Pressure in bar\n",
+ "rf=1.06#Reheat factor\n",
+ "\n",
+ "#Calculations\n",
+ "b1=degrees(atan((V1*sin(a*pi/180))/((V1*cos(a*pi/180))-Vb)))#Blade angle in degrees\n",
+ "Vr1=((V1*sin(a*pi/180))/sin(b1*pi/180))#Velocity in m/s\n",
+ "Vr2=(f*Vr1)#Velocity in m/s\n",
+ "dVw=(Vr1*cos(b1*pi/180))+(Vr2*cos(b2*pi/180))#Vecoity in m/s\n",
+ "WD=(dVw*Vb)/1000#Workdone in kJ/kg\n",
+ "nb1=((2*dVw*Vb)/V1**2)*100#Efficiency in percent\n",
+ "nst=(nn*nb1)#Efficiency in percent\n",
+ "nin=(nst*rf)*100#Efficiency in percent\n",
+ "h1=2902.3#Enthalpy in kJ/kg\n",
+ "s1=6.5466#Entropy in kJ/kg.K\n",
+ "x2s=(s1-0.5582)/7.7198#Dryness fraction\n",
+ "h2s=(163.16+x2s*2409.54)#Enthalpy in kJ/kg\n",
+ "h12=(0.7041*(h1-h2s))#Change in enthalpy in kJ/kg\n",
+ "n=ceil(h12/WD)#Number of stages\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) Work done in the stage per kg of steam is %3.2f kJ/kg \\n Stage efficiency is %3.1f percent \\n\\n (b) Number of stages are %3.0f\"%(WD,nst,n)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.10 Pg: 525"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power deveoped in the blading is 355.89 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import atan, sin, cos, degrees, ceil,pi\n",
+ "#Input data\n",
+ "d=800#Diameter in mm\n",
+ "N=3000#Speed in rpm\n",
+ "V1=300#Velocity in m/s\n",
+ "a=20#Nozzle angle in degrees\n",
+ "f=0.86#Frictional factor\n",
+ "T=140#Axial thrust in N\n",
+ "\n",
+ "#Calculations\n",
+ "Vb=((3.14*(d/1000)*N)/60)#Velocity in m/s\n",
+ "b1=degrees(atan((V1*sin(a*pi/180))/((V1*cos(a*pi/180))-Vb)))#Blade angle in degrees\n",
+ "b2=b1#Blade angle in degrees\n",
+ "Vr1=(V1*sin(a*pi/180))/sin(b1*pi/180)#Velocity in m/s\n",
+ "Vr2=f*Vr1#Velocity in m/s\n",
+ "w=(T/((Vr1*sin(b1*pi/180))-(Vr2*sin(b2*pi/180))))#Mass flow rate in kg/s\n",
+ "dVw=(Vr2*cos(b2*pi/180))+(Vr1*cos(b1*pi/180))#Velocity in m/s\n",
+ "P=(w*dVw*Vb*10**-3)#Power developed in kW\n",
+ "\n",
+ "#Output\n",
+ "print \"Power deveoped in the blading is %3.2f kW\"%(P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.12 Pg: 525"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) Axial thrust is 11.56 N \n",
+ " Tangential thrust is 146.85 N \n",
+ "\n",
+ " (b) Diagram Power is 29.437 kW \n",
+ "\n",
+ " (c) Diagram Efficiency is 86.3 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, cos, pi, atan,sin, degrees\n",
+ "#Input data\n",
+ "p1=15#Pressure in bar\n",
+ "T1=300+273#Temperature in K\n",
+ "p2=10#Pressure in bar\n",
+ "nn=95#Nozzle efficiency in percent\n",
+ "a=20#Nozzle angle in degrees\n",
+ "x=5#The blade exit angle is 5 degrees less than the inlet angle\n",
+ "f=0.9#Friction factor\n",
+ "m=1350#Steam flow rate in kg/h\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3038.9#Enthalpy in kJ/kg\n",
+ "s1=6.9224#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "t2s=250#Temperature in degree C\n",
+ "h2s=2943.1#Enthalpy in kJ/kg\n",
+ "V1=44.72*sqrt((nn/100)*(h1-h2s))#Velocity in m/s\n",
+ "Vb=V1*(cos(a*pi/180)/2)#Velocity in m/s\n",
+ "b1=degrees(atan((V1*sin(a*pi/180))/((V1*cos(a*pi/180))-Vb)))#Blade angle in degrees\n",
+ "b2=b1-x#Blade angle in degrees\n",
+ "Vr1=((V1*sin(a*pi/180))/sin(b1*pi/180))#Velocity in m/s\n",
+ "Vr2=(f*Vr1)#Velocity in m/s\n",
+ "dVw=(Vr1*cos(b1*pi/180))+(Vr2*cos(b2*pi/180))#Velocity in m/s\n",
+ "dVa=(Vr1*sin(b1*pi/180))-(Vr2*sin(b2*pi/180))#Velocity in m/s\n",
+ "Pa=(m/3600)*dVa#Axial thrust in N\n",
+ "Pt=(m/3600)*dVw#Tangential thrust in N\n",
+ "WD=(Pt*Vb*10**-3)#Diagram Power in kW\n",
+ "dn=((WD*1000)/((1/2)*(m/3600)*V1**2))*100#Diagram efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) Axial thrust is %3.2f N \\n Tangential thrust is %3.2f N \\n\\n (b) Diagram Power is %3.3f kW \\n\\n (c) Diagram Efficiency is %3.1f percent\"%(Pa,Pt,WD,dn)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.13 Pg: 527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the tangential thrust is 5.355 kW \n",
+ " (b) Axial thrust is 0.29 kN \n",
+ " (c) Power developed is 642.54 kW \n",
+ " (d) Diagram efficiency is 71.39 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, cos, pi, atan,sin, degrees\n",
+ "\n",
+ "#Input data\n",
+ "V1=600#Velocity in m/s\n",
+ "a=16#Nozzle angle in degrees\n",
+ "Vb=120#Mean blade angle in degrees\n",
+ "b2=18#Exit angle in degrees\n",
+ "aa1=22#Exit angle in degrees\n",
+ "b4=36#Exit angle in degrees\n",
+ "m=5#Steam flow rate in kg/s\n",
+ "f=0.85#Friction coefficient\n",
+ "\n",
+ "#Calculations\n",
+ "b1=degrees(atan((V1*sin(a*pi/180))/((V1*cos(a*pi/180))-Vb)))#Exit angle in degrees\n",
+ "Vr1=((V1*sin(a*pi/180))/sin(b1*pi/180))#Velocity in m/s\n",
+ "Vr2=(f*Vr1)#Velocity in m/s\n",
+ "a1=degrees(atan((Vr2*sin(pi/180*b2))/((Vr2*cos(pi/180*b2))-Vb)))#Angle in degrees\n",
+ "V2=((Vr2*sin(pi/180*b2))/sin(pi/180*a1))#Velocity in m/s\n",
+ "V3=(f*V2)#Velocity in m/s\n",
+ "dVw1=(Vr1*cos(pi/180*b1))+(Vr2*cos(pi/180*b2))#Velocity in m/s\n",
+ "dVa1=(V1*sin(pi/180*a))-(V2*sin(pi/180*a1))#Velocity in m/s\n",
+ "b3=degrees(atan((V3*sin(pi/180*aa1))/((V3*cos(pi/180*aa1))-Vb)))#Angle in degrees\n",
+ "Vr3=((V3*sin(pi/180*aa1))/sin(pi/180*b3))#Velocity in m/s\n",
+ "Vr4=(f*Vr3)#velocity in m/s\n",
+ "dVw2=(Vr3*cos(pi/180*b3))+(Vr4*cos(pi/180*b4))#Velocity in m/s\n",
+ "dVa2=(V3*sin(pi/180*aa1))-(Vr4*sin(pi/180*b4))#Velocity in m/s\n",
+ "udVw=(dVw1+dVw2)#Total velocity in m/s\n",
+ "udVa=(dVa1+dVa2)#Total velocity in m/s\n",
+ "Pt=(m*udVw*10**-3)#tangential thrust in kN\n",
+ "Pa=(m*udVa*10**-3)#Axial thrust in kN\n",
+ "WD=(Pt*Vb)#Power developed in kW\n",
+ "nd=((2*udVw*Vb)/V1**2)*100#Diagram efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the tangential thrust is %3.3f kW \\n (b) Axial thrust is %3.2f kN \\n (c) Power developed is %3.2f kW \\n (d) Diagram efficiency is %3.2f percent\"%(Pt,Pa,WD,nd)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.14 Pg: 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) Absolute velocity of steam leaving the stage is 75 m/s \n",
+ " (b) the diagram work is 130 kJ/kg \n",
+ " (c) the diagram efficiency is 78.64 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "a=17#Nozzle angle in degrees\n",
+ "Vb=125#Blade velocity in m/s\n",
+ "b2=22#Blade angle n degrees\n",
+ "a1=26#Blade angle n degrees\n",
+ "b4=30#Blade angle n degrees\n",
+ "f=0.9#Friction factor\n",
+ "a2=90#Axial angle in degrees\n",
+ "\n",
+ "#Calculations\n",
+ "dVw=1040#Velocity in m/s from Velocity triangles Fig. E.7.14\n",
+ "V1=575#Velocity in m/s from Velocity triangles Fig. E.7.14\n",
+ "V4=75#Velocity of steam exiting stage in m/s from Velocity triangles Fig. E.7.14\n",
+ "WD=(dVw*Vb)/1000#Diagram work in kJ/kg\n",
+ "nd=((WD*1000)/((1/2)*V1**2))*100#Diagram efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) Absolute velocity of steam leaving the stage is %3.0f m/s \\n (b) the diagram work is %3.0f kJ/kg \\n (c) the diagram efficiency is %3.2f percent\"%(V4,WD,nd)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.15 Pg: 530"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Efficiency of first stage is 66.67 percent \n",
+ " Percentage of the total power developed by the turbine is 22.22 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "p1=35#Pressure in bar\n",
+ "T1=350+273#Temperature in K\n",
+ "p2=0.07#Pressure in bar\n",
+ "x=1/4#Fraction of drop in isentropic enthalpy\n",
+ "a=20#Nozzle angle in degrees\n",
+ "nn=88#Nozzle efficiency in percent\n",
+ "y=0.2#Velocity ratio\n",
+ "b2=30#Exit blade angle in degrees\n",
+ "b4=30#Exit blade angle in degrees\n",
+ "f=0.9#Friction coefficienct\n",
+ "In=75#Internal efficiency of the turbine in percent\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3106.4#Enthalpy in kJ/kg\n",
+ "s1=6.6643#Entropy in kJ/kg.K\n",
+ "x2s=(s1-0.5582)/7.7198#dryness fraction\n",
+ "h2s=(163.16+x2s*2409.54)#Enthalpy in kJ/kg\n",
+ "dh=(h1-h2s)#Change in enthalpy in kJ/kg\n",
+ "h13s=x*dh#Change in enthalpy in kJ/kg\n",
+ "h13=(nn/100)*h13s#Change in enthalpy in kJ/kg\n",
+ "V1=(44.72*sqrt(h13))#Velocity in m/s\n",
+ "Vb=(y*V1)#Velocity in m/s\n",
+ "b1=degrees(atan((V1*sin(pi/180*a))/((V1*cos(pi/180*a))-Vb)))#Angle in degrees\n",
+ "Vr1=((V1*sin(pi/180*a))/sin(pi/180*b1))#Velocity in m/s\n",
+ "Vr2=(f*Vr1)#Velocity in m/s\n",
+ "dVw1=(Vr1*cos(pi/180*b1))+(Vr2*cos(pi/180*b2))#Velocity in m/s\n",
+ "V2=sqrt((Vr2*sin(pi/180*b2))**2+((Vr2*cos(pi/180*b2))-Vb)**2)#Velocity in m/s\n",
+ "V3=f*V2#Velocity in m/s\n",
+ "b3=degrees(atan((V3*sin(pi/180*b2))/((V3*cos(pi/180*b2))-Vb)))#Angle in degrees\n",
+ "Vr3=((V3*sin(pi/180*b2))/sin(pi/180*b3))#Velocity in m/s\n",
+ "Vr4=f*Vr3#Velocity in m/s\n",
+ "dVw2=(Vr3*cos(pi/180*b3))+(Vr4*cos(pi/180*b4))#Velocity in m/s\n",
+ "dVw=(dVw1+dVw2)#Velocity in m/s\n",
+ "nb1=((2*dVw*Vb)/V1**2)*100#Efficiency in percent\n",
+ "ns=(nn*nb1)/100#Efficiency in percent\n",
+ "ht=(In/100)*dh#Total change in enthalpy in kJ/kg\n",
+ "hc=(ns/100)*h13s#Total change in enthalpy in kJ/kg\n",
+ "pp=(hc/ht)*100#Percentage of enthalpy\n",
+ "\n",
+ "#Output\n",
+ "print \" Efficiency of first stage is %3.2f percent \\n Percentage of the total power developed by the turbine is %3.2f percent\"%(ns,pp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.16 Pg: 532 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the required height of blading is 127.2 mm \n",
+ " (b) the power developed by the ring is 2.368 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "R=50#Percentage of reaction\n",
+ "b1=35#Angle in degrees\n",
+ "q=b1#Angle in degrees\n",
+ "b2=20#Angle in degrees\n",
+ "a=b2#Angle in degrees\n",
+ "N=1500#Speed in rpm\n",
+ "d=0.67#Mean diameter in m\n",
+ "p=1.5#Pressure in bar\n",
+ "x=0.96#Dryness fraction\n",
+ "w=3.6#Flow rate in kg/s\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Vb=(3.14*d*N)/60#Velocity in m/s\n",
+ "V1=(Vb*(sin(pi/180*180-b1)/sin(pi/180*b1-b2)))#Veocity in m/s\n",
+ "Vr1=(Vb*(sin(pi/180*b2)/sin(pi/180*b1-b2)))#Velocity in m/s\n",
+ "dVw=(V1*cos(pi/180*a))+(Vr1*cos(pi/180*q))#Velocity in m/s\n",
+ "v1=(0.001052+x*1.15937)#Specific volume in m**3/kg\n",
+ "hb=((w*v1)/(3.14*d*V1*sin(pi/180*a)))*1000#Required height in mm\n",
+ "P=(w*dVw*Vb)/1000#Power developed in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the required height of blading is %3.1f mm \\n (b) the power developed by the ring is %3.3f kW\"%(hb,P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.17 Pg: 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) Blade height is 138 mm \n",
+ " (b) the diagram power is 15.42 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "N=400#Speed in rpm\n",
+ "P=5#Power in MW\n",
+ "m=6#Flow rate in kg/kWh\n",
+ "b2=20#Blade angle in degrees\n",
+ "a=b2#Angle in degrees\n",
+ "x=1.35#Velocity ratio\n",
+ "p=1.2#Pressure in bar\n",
+ "x1=0.95#Steam quality \n",
+ "Dh=12#Ratio of Dm and hb\n",
+ "\n",
+ "#Calculations\n",
+ "w=(m*P*1000)/3600#Mass flow rate in kg/s\n",
+ "v1=(0.0010468+x1*1.454)#Specific volume in m**3/kg\n",
+ "hb=((w*v1)/(Dh*3.14*x*((Dh*N)/60)*3.14*sin(pi/180*a)))**(1/3)*1000#Blade height in mm\n",
+ "Vb=((3.14*Dh*(hb/1000)*N)/60)#velocity in m/s\n",
+ "V1=(x*Vb)#Velocity in m/s\n",
+ "dVw=((2*V1*cos(pi/180*a))-Vb)#velocity in m/s\n",
+ "WD=(w*dVw*Vb*10**-3)#Diagram power in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) Blade height is %3.0f mm \\n (b) the diagram power is %3.2f kW\"%(hb,WD)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.18 Pg: 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Mass flow rate of steam is 4.698 kg/s \n",
+ " Useful enthalpy drop is 117.80 kJ/kg \n",
+ " The diagram power is 553.4 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "N=3000#Speed in rpm\n",
+ "Vb=100#Mean blade speed in m/s\n",
+ "x=0.56#Velocity ratio\n",
+ "a=20#Blade angle in degrees\n",
+ "b2=a#Blade angle in degrees\n",
+ "v=0.65#Specific volume in m**3/kg\n",
+ "h=25#Mean height in mm\n",
+ "n=5#Number of pairs of blades\n",
+ "\n",
+ "#Calculations\n",
+ "V1=(Vb/x)#Velocity in m/s\n",
+ "Vr2=V1#Velocity in m/s\n",
+ "Dm=(Vb*60)/(3.14*N)#Diameter in m\n",
+ "w=((3.14*Dm*h*V1*sin(pi/180*a))/v)/1000#Mass flow rate in kg/s\n",
+ "ws=(w*3600)#Mass flow rate in kg/hr\n",
+ "b1=degrees(atan((V1*sin(pi/180*a))/((V1*cos(pi/180*a))-Vb)))#Blade angle in degrees\n",
+ "Vr1=((V1*sin(pi/180*a))/sin(pi/180*b1))#Velocity in m/s\n",
+ "dhmb=(1/2)*(Vr2**2-Vr1**2)/1000#Change in enthalpy in kJ/kg\n",
+ "dsta=(2*dhmb)#Change in enthalpy of stage in kJ/kg\n",
+ "dsta5=(n*dsta)#Total Change in enthalpy of stage in kJ/kg\n",
+ "Dp=(w*dsta5)#Diagram power in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" Mass flow rate of steam is %3.3f kg/s \\n Useful enthalpy drop is %3.2f kJ/kg \\n The diagram power is %3.1f kW\"%(w,dsta5,Dp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.19 Pg: 535"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the number of impulse stages are 6 \n",
+ " (b) the nozzle height is 2.4 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "P=8#Power in MW\n",
+ "N=5000#Speed in rpm\n",
+ "p=40#pressure in bar\n",
+ "T=500#Temperature in degree C\n",
+ "p2=0.1#Pressure in bar\n",
+ "In=0.85#Internal efficiency of turbine\n",
+ "nm=0.96#Mechanical efficiency\n",
+ "nn=0.92#Nozzle efficiency\n",
+ "a=15#Nozzle angle in degrees\n",
+ "Vb=300#Blade velocity in m/s\n",
+ "\n",
+ "#Calculations\n",
+ "V1=(2*Vb)/cos(pi/180*a)#Velocity in m/s\n",
+ "dh=((V1/44.72)**2/nn)#Change in enthalpy in kJ/kg\n",
+ "h1=3445.3#Enthalpy in kJ/kg\n",
+ "s1=7.0901#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "x2=(s2-0.6493)/7.5009#Dryness fraction\n",
+ "h2s=(191.83+x2*2392.8)#Enthalpy in kJ/kg\n",
+ "h12s=(h1-h2s)#Change in enthalpy in kJ/kg\n",
+ "n=(h12s/dh)#Number of stages\n",
+ "w=((P*1000)/(In*nm))/h12s#Mass flow rate in kg/s\n",
+ "h13=(nn*dh)#Change in enthalpy in kJ/kg\n",
+ "h3=h1-h13#Enthalpy in kJ/kg\n",
+ "v3=0.17#Specific volume in m**3/kg\n",
+ "A=(w*v3)/V1#Area in m**2\n",
+ "hm=(A/(((Vb*60)/N)*sin(pi/180*a)))*1000#Height in mm\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the number of impulse stages are%3.0f \\n (b) the nozzle height is %3.1f mm\"%(n,hm)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.20 Pg: 537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Height of the moving blades at exit is 58.3 mm \n",
+ " Power developed in the blade row is 166.70 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "from __future__ import division\n",
+ "#Input data\n",
+ "p=1.5#Pressure in bar\n",
+ "x1=0.9#Dryness fraction\n",
+ "m=7#Steam flow rate in kg/s\n",
+ "N=3000#Turbine speed in rpm\n",
+ "x=0.7#Velocity ratio\n",
+ "y=0.75#Velocity ratio\n",
+ "a=20#Exit angle in degrees\n",
+ "b2=a#Angle in degrees\n",
+ "hx=1/10#Fraction of height\n",
+ "\n",
+ "#Calculations\n",
+ "v=0.001052+x1*1.15937#Specific volume in m**3/kg\n",
+ "Dm=((m*v*60)/(3.14*hx*y*3.14*N))**(1/3)#Diameter in m\n",
+ "hb=Dm*1000*hx#Height in mm\n",
+ "Vb=(3.14*Dm*N)/60#Velocity in m/s\n",
+ "dVw=((2*x*Vb*cos(pi/180*a)/sin(pi/180*a))-Vb)#Velocity in m/s\n",
+ "P=(m*dVw*Vb)/1000#Power developed in kW\n",
+ "\n",
+ "#Output\n",
+ "print \" Height of the moving blades at exit is %3.1f mm \\n Power developed in the blade row is %3.2f kW\"%(hb,P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.21 Pg: 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mean diameter of the wheel if the turbine were of \n",
+ " (a) single impulse stage is 4.74 m \n",
+ " (b) single 50 percent reaction stage is 6.7 m \n",
+ " (c) four pressure (or Rateau) stages is 2.37 m \n",
+ " (d) one two-row Curtis stage is 2.370 m \n",
+ " (e) four stage 50 percent reaction stages is 3.35 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "p=40#Pressure in bar\n",
+ "T=500#Temperature in degree C\n",
+ "p1=0.1#Pressure in bar\n",
+ "a=16#Nozzle angle in degrees\n",
+ "N=3000#Speed in rpm\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3445.3#Enthalpy in kJ/kg\n",
+ "s1=7.0901#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "x2s=(s2-0.6493)/7.5009#Dryness fraction\n",
+ "h2s=(191.83+x2s*2392.8)#Enthalpy in kJ/kg\n",
+ "V1=44.72*sqrt(h1-h2s)#Velocity in m/s\n",
+ "Vb=V1*(cos(pi/180*a)/2)#Velocity in m/s\n",
+ "Dm=(Vb*60)/(3.14*N)#Diameter in m\n",
+ "V2=44.72*sqrt((h1-h2s)/2)#Velocity in m/s\n",
+ "Vb2=V2*cos(pi/180*a)#Velocity in m/s\n",
+ "Dm2=(Vb2*60)/(3.14*N)#Diameter in m\n",
+ "V3=44.72*sqrt((h1-h2s)/4)#Velocity in m/s\n",
+ "Vb3=V3*(cos(pi/180*a)/2)#Velocity in m/s\n",
+ "Dm3=(Vb3*60)/(3.14*N)#Diameter in m\n",
+ "V4=44.72*sqrt(h1-h2s)#Velocity in m/s\n",
+ "Vb4=V4*(cos(pi/180*a)/4)#Velocity in m/s\n",
+ "Dm4=(Vb4*60)/(3.14*N)#Diameter in m\n",
+ "V5=44.72*sqrt((h1-h2s)/(2*4))#Velocity in m/s\n",
+ "Vb5=V5*cos(pi/180*a)#Velocity in m/s\n",
+ "Dm5=(Vb5*60)/(3.14*N)#Diameter in m\n",
+ "\n",
+ "#Output\n",
+ "print \"The mean diameter of the wheel if the turbine were of \\n (a) single impulse stage is %3.2f m \\n (b) single 50 percent reaction stage is %3.1f m \\n (c) four pressure (or Rateau) stages is %3.2f m \\n (d) one two-row Curtis stage is %3.3f m \\n (e) four stage 50 percent reaction stages is %3.2f m\"%(Dm,Dm2,Dm3,Dm4,Dm5)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.22 Pg: 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of stages required in \n",
+ " (a) all simple impulse stages are 8 \n",
+ " (b) all 50 percent reaction stages are 13 \n",
+ " (c) a 2-row Cutris stage follwed by simple impulse stages are 3 \n",
+ " (d) a 2-row Cutris stage followed by 50 percent reaction stages are 6\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees,ceil\n",
+ "from __future__ import division\n",
+ "#Input data\n",
+ "p=150#Pressure in bar\n",
+ "T=600#Temperature in degree C\n",
+ "Vb=300#Velocity in m/s\n",
+ "nn=95#Nozzle efficiency in percent\n",
+ "a=15#Nozzle angle in degrees\n",
+ "a1=25#Angle in degrees\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3582.3#Enthalpy in kJ/Kg\n",
+ "s1=6.6776#Entropy in kJ/kg.K\n",
+ "s2=s1#Entropy in kJ/kg.K\n",
+ "x2s=(s2-0.6493)/7.5009#Dryness fraction\n",
+ "h2s=(191.83+x2s*2392.8)#Enthalpy in kJ/kg\n",
+ "h12s=(h1-h2s)#Difference in enthalpy in kJ/kg\n",
+ "V1=(Vb*2)/cos(pi/180*a)#Velocity in m/s\n",
+ "dhs=(V1/44.72)**2/(nn/100)#Change in enthalpy in kJ/kg\n",
+ "n1=ceil(h12s/dhs)#Number of stages\n",
+ "V2=(Vb/cos(pi/180*a1))#Velocity in m/s\n",
+ "dhs2=(V2/44.72)**2/(nn/(2*100))#Change in enthalpy in kJ/kg\n",
+ "n2=h12s/dhs2#Number of stages\n",
+ "V3=(Vb*4)/cos(pi/180*a)#Velocity in m/s\n",
+ "dhs3=(V3/44.72)**2/(nn/100)#Change in enthalpy in kJ/kg\n",
+ "dhhs3=(h12s-dhs3)#Change in enthalpy in kJ/kg\n",
+ "n3=dhhs3/dhs#Number of stages\n",
+ "n4=dhhs3/dhs2#Number of stages\n",
+ "\n",
+ "#Output\n",
+ "print \"Number of stages required in \\n (a) all simple impulse stages are %3.0f \\n (b) all 50 percent reaction stages are %3.0f \\n (c) a 2-row Cutris stage follwed by simple impulse stages are %3.0f \\n (d) a 2-row Cutris stage followed by 50 percent reaction stages are %3.0f\"%(n1,n2,n3,n4)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.23 Pg: 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " The interstage pressures are 8 bar, 2.6 bar, 0.6 bar \n",
+ " The reheat factor is 1.071 \n",
+ " The turbine internal efficiency is 80.3 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "p1=20#Pressure in bar\n",
+ "T=400#Temperature in degree C\n",
+ "p2=0.1#Pressure in bar\n",
+ "n=4#Number of stages\n",
+ "ns=75#Stage efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "h16s=(3250-2282)#Change in enthalpy in kJ/kg\n",
+ "h12s=(h16s/n)#Change in enthalpy in kJ/kg\n",
+ "p=[0,8,2.6,0.6]#pressures in bar from Mollier chart\n",
+ "h12=(ns/100)*h12s#Change in enthalpy in kJ/kg\n",
+ "h23s=(3060-2800)#Change in enthalpy in kJ/kg\n",
+ "h23=(ns/100)*h23s#Change in enthalpy in kJ/kg\n",
+ "h34s=(2870-2605)#Change in enthalpy in kJ/kg\n",
+ "h34=(ns/100)*h34s#Change in enthalpy in kJ/kg\n",
+ "h45s=(2680-2410)#Change in enthalpy in kJ/kg\n",
+ "h45=(ns/100)*h45s#Change in enthalpy in kJ/kg\n",
+ "h5=2470#Enthalpy in kJ/kg\n",
+ "rf=(h12s+h23s+h34s+h45s)/h16s#Reheat factor\n",
+ "nth=((h12+h23+h34+h45)/h16s)*100#Internal efficiency in percent\n",
+ "nin=(ns*rf)#Internal efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \" The interstage pressures are %d bar, %3.1f bar, %3.1f bar \\n The reheat factor is %3.3f \\n The turbine internal efficiency is %3.1f percent\"%(p[(1)],p[(2)],p[(3)],rf,nin)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.25 Pg: 544"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) the flow rate of steam required is 17.99 kg/s \n",
+ " (b) the mean blade diameter is 1.302 m \n",
+ " (c) the speed of the rotor is 2065 rpm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "n=20#Number of stages\n",
+ "P=12#Power in MW\n",
+ "p=15#Pressure in bar\n",
+ "T=350#Temperature in degree C\n",
+ "p1=0.14#Pressure in bar\n",
+ "ns=75#Stage efficiency in percent\n",
+ "rf=1.04#Reheat factor\n",
+ "p2=1#Pressure in bar\n",
+ "a=20#Angle in degrees\n",
+ "v=0.7#Velocity ratio\n",
+ "h=1/12#Blade height in terms of mean blade diameter\n",
+ "\n",
+ "#Calculations\n",
+ "nint=(ns/100)*rf#Internal efficiency \n",
+ "dhs=855#Enthalpy in kJ/kg\n",
+ "dha=ceil(nint*dhs)#Actual enthalpy change in kJ/kg\n",
+ "w=(P*1000)/dha#Mass flow rate in kg/s\n",
+ "Vb=(sqrt((dha/n)/((((2/v)*cos(pi/180*a))-1)*10**-3)))#Velocity in m/s#\n",
+ "vg=1.694#Specific volume in m**3/kg\n",
+ "Dm=sqrt((w*vg)/(3.14*h*(Vb/v)*sin(pi/180*a)))#Diameter in m\n",
+ "N=((Vb*60)/(3.14*Dm))#Speed in rpm\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) the flow rate of steam required is %3.2f kg/s \\n (b) the mean blade diameter is %3.3f m \\n (c) the speed of the rotor is %3.0f rpm\"%(w,Dm,N)\n",
+ "#In textbook, Vb is given wrong as 141.4 m/s instead of 140.6 m/s. Hence the answers are different."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.26 Pg: 546"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Blade heights at the exit of each row: \n",
+ " First row of moving blades is 29.4 mm \n",
+ " Fixed row of guide blades is 37.8 mm \n",
+ " Second row of moving blades is 40.6 mm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt, atan,sin,cos,pi,degrees\n",
+ "#Input data\n",
+ "V1=600#Velocity in m/s\n",
+ "Vb=120#Mean blade velocity in m/s\n",
+ "a=16#Nozzle angle in degrees\n",
+ "b=[0,18,21,35]#Exit angles in degrees\n",
+ "m=5#Steam flow rate in kg/s\n",
+ "h=25#Nozzle height in mm\n",
+ "v=0.375#Specific volume in m**3/kg\n",
+ "p=25#Pitch in mm\n",
+ "t=0.5#Thickness in mm\n",
+ "kb=0.9#Constant\n",
+ "\n",
+ "#Calculations\n",
+ "l=((m*v)/(sin(pi/180*a)*V1*(h/1000)*kb))#Length of the nozzle arc in m #Length of the nozzle arc is calculated wrong as 0.454m instead of 0.5 m\n",
+ "b1= degrees(atan((V1*sin(pi/180*a))/((V1*cos(pi/180*a))-Vb)))#Angle in degrees\n",
+ "Vr1=((V1*sin(pi/180*a))/sin(pi/180*b1))#Velocity in m/s\n",
+ "Vr2=kb*Vr1#Velocity in m/s\n",
+ "V2=sqrt(Vr2**2+Vb**2-2*Vr2*Vb*cos(pi/180*b[(1)]))#Velocity in m/s\n",
+ "V3=291#Velocity in m/s\n",
+ "b3=degrees(atan((V3*sin(pi/180*b[(2)]))/((V3*cos(pi/180*b[(2)]))-Vb)))#Angle in degrees\n",
+ "Vr3=((V3*sin(pi/180*b[(2)]))/sin(pi/180*b3))#Velocity in m/s\n",
+ "Vr4=(Vr3*kb)#Velocity in m/s\n",
+ "hb1=((m*v*(h/1000))/(l*((p/1000)*sin(pi/180*b[(1)])-(t/1000))*Vr2))*1000#Height in mm\n",
+ "hn=((m*v*(h/1000))/(l*((p/1000)*sin(pi/180*b[(2)])-(t/1000))*V3))*1000#Height in mm\n",
+ "hb2=((m*v*(h/1000))/(l*((h/1000)*sin(pi/180*b[(3)])-(t/1000))*Vr4))*1000#Height in mm\n",
+ "\n",
+ "#Output\n",
+ "print \" Blade heights at the exit of each row: \\n First row of moving blades is %3.1f mm \\n Fixed row of guide blades is %3.1f mm \\n Second row of moving blades is %3.1f mm\"%(hb1,hn,hb2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.27 Pg: 548"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of parallel exhausts in : \n",
+ " (a)condition a are 4 \n",
+ " (b)condition b are 8\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, atan,sin,cos,pi,degrees, ceil\n",
+ "#Input data\n",
+ "P=200#Power in MW\n",
+ "p=180#Pressure in bar\n",
+ "T=550#Temperature in degree C\n",
+ "P1=600#Power in MW\n",
+ "p1=300#Pressure in bar\n",
+ "T1=580#Temperature in degree C\n",
+ "nt=90#Turbine efficiency in percent\n",
+ "\n",
+ "#Calculations\n",
+ "h1=3430#Enthalpy in kJ/kg\n",
+ "h2s=3040#Enthalpy in kJ/kg\n",
+ "h12s=(h1-h2s)#Enthalpy in kJ/kg\n",
+ "h12=(nt/100)*h12s#Enthalpy in kJ/kg\n",
+ "h2=3070#Enthalpy in kJ/kg\n",
+ "v2=0.06#Specific volume in m**3/kg\n",
+ "h4=3560#Enthalpy in kJ/kg\n",
+ "h3s=2000#Enthalpy in kJ/kg\n",
+ "h13s=(h1-h3s)#Enthalpy in kJ/kg\n",
+ "h13=(nt/100)*h13s#Enthalpy in kJ/kg\n",
+ "w=(P*10**3)/h13#Mass flow rate in kg/s\n",
+ "Vbm=350#Velocity in m/s\n",
+ "N=3000#Speed in rpm\n",
+ "a=25#Angle in degrees\n",
+ "Dm=(Vbm*60)/(3.14*N)#Diameter in m\n",
+ "hD=0.3#Assuming (hb/Dm)max \n",
+ "hb=(hD*Dm)#Height in m\n",
+ "Ab=(3.14*Dm*hb*0.9*sin(pi/180*a))#Flow area in m**2\n",
+ "V1=(Vbm/cos(pi/180*a))#Velocity in m/s\n",
+ "Vo=(Ab*V1)#Volume flow rate in m**3/s\n",
+ "v=(Vo/w)#Specific volume in m**3/kg\n",
+ "h5s=2456#Enthalpy in kJ/kg\n",
+ "p5=0.36#Pressure in bar\n",
+ "h45s=(h4-h5s)#Enthalpy in kJ/kg\n",
+ "h45=(nt/100)*h45s#Enthalpy in kJ/kg\n",
+ "h5=h4-h45#Enthalpy in kJ/kg\n",
+ "x5=0.952#Dryness fraction\n",
+ "h56s=(h5-2340)#Enthalpy in kJ/kg\n",
+ "h56=(nt/100)*h56s#Enthalpy in kJ/kg\n",
+ "h6=h5-h56#Enthalpy in kJ/kg\n",
+ "v6=18#Specific volume in m**3/kg\n",
+ "mm=(Vo/v6)#Maximum mass flow that one stage can accommodate in kg/s\n",
+ "np=(w/mm)#Number of parallel exhausts\n",
+ "rp=(p1/4)#Reheat pressure in bar\n",
+ "xh1=3410#Enthalpy in kJ/kg\n",
+ "xh2s=3015#Enthalpy in kJ/kg\n",
+ "xh12s=xh1-xh2s#Enthalpy in kJ/kg\n",
+ "xh12=(nt/100)*xh12s#Enthalpy in kJ/kg\n",
+ "xv2=0.035#Specific volume in m**3/kg\n",
+ "xh4=3060#Enthalpy in kJ/kg\n",
+ "xh3s=1960#Enthalpy in kJ/kg\n",
+ "xh13s=xh1-xh3s#Enthalpy in kJ/kg\n",
+ "xh3=(xh1-xh13s)#Enthalpy in kJ/kg\n",
+ "xw=(P1*10**3)/xh13s#Mass flow rate in kg/s\n",
+ "xvm=(Vo/xw)#Maximum specific volume in m**3/kg\n",
+ "Vf=(xw*xv2)#Volume flow rate in m**3/s\n",
+ "xh5s=2300#Enthalpy in kJ/kg\n",
+ "xh45s=xh4-xh5s#Enthalpy in kJ/kg\n",
+ "xh45=(nt/100)*xh45s#Enthalpy in kJ/kg\n",
+ "xh5=xh4-xh45s#Enthalpy in kJ/kg\n",
+ "xv5=1.25#Specific volume in m**3/kg\n",
+ "xx5=0.86#Dryness fraction\n",
+ "xh6s=2050#Enthalpy in kJ/kg\n",
+ "xh56s=xh5-xh6s#Enthalpy in kJ/kg\n",
+ "xh56=(nt/100)*xh56s#Enthalpy in kJ/kg\n",
+ "xh6=(xh5-xh56)#Enthalpy in kJ/kg\n",
+ "xv6=12#Specific volume in m**3/kg\n",
+ "xx6=0.792#Dryness fraction\n",
+ "xmm=(Vo/xv6)#Maximum mass flow in kJ/kg\n",
+ "xnp=ceil(xw/xmm)#Number of parallel exhausts\n",
+ "\n",
+ "#Output\n",
+ "print \"Number of parallel exhausts in : \\n (a)condition a are %d \\n (b)condition b are %d\"%(np,xnp) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 7.28 Pg: 552"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) Steam rate at: \n",
+ " One-fourth load is 5.75 kg/kWh \n",
+ " Half load is 5.25 kg/kWh \n",
+ " Three-fourth load is 5.08 kg/kWh \n",
+ " Full load is 5.0 kg/kWh \n",
+ "\n",
+ " (b) Rankine cycle efficiency is 40.7 percent \n",
+ " (c) Actual efficiency at full load is 21.7 percent \n",
+ " (d) The turbogenerator efficiency at full load is 53.2 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "P=100#Power in MW\n",
+ "T=550#temperature in degree C\n",
+ "p=0.1#Pressure in bar\n",
+ "m=500000#Mass flow rate in kg/h at rated load\n",
+ "mo=25000#Mass flow rate in kg/h at zero load\n",
+ "x=[0,1/4,1/2,3/4,1]#Fraction of load\n",
+ "\n",
+ "#Calculations\n",
+ "b=(m-mo)/(P*10**3)#Steam rate in kg/kWh\n",
+ "y1=(x[(1)]*(P*10**3))#For one-fourth load\n",
+ "s1=(mo/y1)+b#Steam rate in kg/kWh\n",
+ "y2=(x[(2)]*(P*10**3))#For one-fourth load\n",
+ "s2=(mo/y2)+b#Steam rate in kg/kWh\n",
+ "y3=(x[(3)]*(P*10**3))#For one-fourth load\n",
+ "s3=(mo/y3)+b#Steam rate in kg/kWh\n",
+ "y4=(x[(4)]*(P*10**3))#For one-fourth load\n",
+ "s4=(mo/y4)+b#Steam rate in kg/kWh\n",
+ "h1=3511#Enthalpy in kJ/kg\n",
+ "xs1=6.8142#Entropy in kJ/kg.K\n",
+ "xs2=xs1#Entropy in kJ/kg.K\n",
+ "x2s=(xs2-0.6493)/7.5009#Dryness fraction\n",
+ "h2s=191.83+x2s*2392.8#Enthalpy in kJ/kg\n",
+ "nR=((h1-h2s)/(h1-191.83))*100#Rankine efficiency in percent\n",
+ "nac=((P*10**3*3600)/(m*(h1-191.83)))*100#Actual efficiency in percent\n",
+ "nTG=((P*10**3*3600)/(m*(h1-h2s)))*100#Turbogenerator efficiency in percent\n",
+ "\n",
+ "#Output\n",
+ "print \"(a) Steam rate at: \\n One-fourth load is %3.2f kg/kWh \\n Half load is %3.2f kg/kWh \\n Three-fourth load is %3.2f kg/kWh \\n Full load is %3.1f kg/kWh \\n\\n (b) Rankine cycle efficiency is %3.1f percent \\n (c) Actual efficiency at full load is %3.1f percent \\n (d) The turbogenerator efficiency at full load is %3.1f percent\"%(s1,s2,s3,s4,nR,nac,nTG)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch8.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch8.ipynb
new file mode 100644
index 00000000..37aa3970
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch8.ipynb
@@ -0,0 +1,282 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8 : Condenser Feedwater and Circulating water systems"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 8.1 Pg: 591 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The rate of flow of cooling water = 5817.7 kg/s \n",
+ " (b) The rate of air leakage into the condenser shell = 5.615 kg/s \n",
+ " (c) The length of tubes = 20.74 m \n",
+ " (d) The number of tubes = 7849 \n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,log\n",
+ "#Input data\n",
+ "ws=250##The amount of steam received by the surface condenser in t/h\n",
+ "tsat=40##The saturated temperature in degree centigrade\n",
+ "m=12##The amount of moisture present in the steam in percentage\n",
+ "tc1=32##The inlet temperature of cooling water in degree centigrade\n",
+ "tc2=38##The outlet temperature of cooling water in degree centigrade\n",
+ "p=0.078##The pressure inside the condenser in bar\n",
+ "V=1.8##velocity of circulating water in m/s\n",
+ "do=0.0254##The outer diameter of the condenser tubes in m\n",
+ "T=0.00125##The thickness of the condenser tubes in m\n",
+ "pi=3.141##Mathematical constant of pi\n",
+ "U=2.6##The overall heat transfer coefficient in kW/m**2K\n",
+ "Cpc=4.187##The specific heat of water in kJ/kgK\n",
+ "R=0.287##Real gas constant in kJ/kgK\n",
+ "P=1000##The density of water in kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "x2=0.88##The quality of the steam\n",
+ "hfg=2407##The enthalpy of evaporation at 40 degreeC in kJ/kg\n",
+ "h=x2*hfg##The change in enthalpy in kJ/kg\n",
+ "di=do-(2*T)##The inner diameter of the condenser tubes in m\n",
+ "wc=(((ws*1000)/3600)*h)/(Cpc*(tc2-tc1))##Mass flow rate of water in kg/s\n",
+ "psat=0.07375##The saturated pressure at 40 degree centigrade in bar\n",
+ "pair=(p-psat)*100##The pressure of air in kPa\n",
+ "vf=0.001008##Specific volume of saturated liquid in m**3/kg\n",
+ "vfg=19.544##Specific volume of vapour in m**3/kg\n",
+ "v2=vf+(x2*vfg)##Specific volume at 40 degree centigrade in m**3/kg\n",
+ "wair=(pair*((ws*1000)/3600)*v2)/(R*(tsat+273))##Mass flow rate of air in kg/s\n",
+ "t1m=(8-2)/log(8/2)##The mean temperature in degree centigrade\n",
+ "Ao=(((ws*1000)/3600)*h)/(U*t1m)##The area of the tubes in m**2\n",
+ "n=(wc*(4/pi)*(1/di**2)*(1/(P*V)))##The number of tubes\n",
+ "l=Ao/(pi*do*n)##Yhe length of tubes in m\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The rate of flow of cooling water = %3.1f kg/s \\n (b) The rate of air leakage into the condenser shell = %3.3f kg/s \\n (c) The length of tubes = %3.2f m \\n (d) The number of tubes = %3.0f \"%(wc,wair,l,n)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 8.2 Pg: 592"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The rate of saving of condensate and the rate of saving in the heat supply in the boiler due to seperate air extraction pump = 1.105 kW \n",
+ " (b) The percentage reduction in air ejector load due to this seperate air extraction method = 80.8 percent \n",
+ " (c) The rate of cooling water flow = 533 kg/s \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "ws=20##The amount of dry saturated steam received by a surface condencer in t/h\n",
+ "tsh=40##The temperature of dry saturated steam in degree centigrade \n",
+ "wa=(0.35/1000)##The mass flow rate of air per 1000 kg of steam in kg\n",
+ "tc=38##The temperature at which condensate leaves the temperature in degree centigrade\n",
+ "tm=10##The temperature at which makeup water is supplied in degree centigrade\n",
+ "tc1=32##The inlet temperature of cooling water in degree centigrade\n",
+ "tc2=38##The outlet temperature of cooling water in degree centigrade\n",
+ "tas=27##The temperature of air along with steam in degree centigrade\n",
+ "psat=0.07384##The saturated pressure at 40 degree C in bar\n",
+ "vg=19.52##The specific volume at 40 degree C in m**3/kg\n",
+ "R=0.287##Real gas constant in kJ/kgK\n",
+ "Cpc=4.187##The specific heat of water in kJ/kgK\n",
+ "Cp=1.005##The specific heat of air in kJ/kgK\n",
+ "\n",
+ "#Calculations\n",
+ "pair=((wa*R*(tsh+273)*1000)/vg)*10**-5##The pressure of air in bar\n",
+ "psat1=0.06624##The saturated pressure at 38 degree C in bar\n",
+ "vg1=21.63##The specific volume at 38 degree C in m**3/kg\n",
+ "pair1=psat-psat1##The pressure of air in bar\n",
+ "wa1=(ws*1000)*wa##Mass of air removed per hour in kg/h\n",
+ "V1=((wa1*R*(273+tc2)*1000))/(pair1*10**5)##Volume of air remove per hour\n",
+ "ws1=V1/vg1##The mass of steam accompanying air in kg/h\n",
+ "psat2=0.03564##The saturated pressure at 27 degree C in bar\n",
+ "vg2=38.81##The specific volume at 27 degree C in m**3/kg\n",
+ "pair2=psat-psat2##The pressure of air in bar\n",
+ "V2=(wa1*R*1000*(tas+273))/(pair2*10**5)##Volume of air removed per hr in m**3/hr\n",
+ "ws2=V2/vg2##The mass of steam accompanying air in kg/h\n",
+ "ws3=ws1-ws2##Saving mass of steam by using seperate extraction in kg/hr\n",
+ "Q3=(ws3*Cpc*(tc-tm))/3600##Saving in heat supply in the boiler in kW\n",
+ "V=((V1-V2)/V1)*100##Percentage reduction in air ejector load in %\n",
+ "hc=159.3##Enthalpy at 38 degree C in kJ/kg\n",
+ "hs1=2574.3##Enthalpy at 40 degree C in kJ/kg\n",
+ "hs2=2550.3##Enthalpy at 27 degree C in kJ/kg\n",
+ "Q2=(((ws*1000)*(hs1-hc))-((wa1*(Cp*(tsh-tas))))-(ws3*hs2))/3600##The amount of heat in kW\n",
+ "wc=Q2/(Cpc*(tc2-tc1))##The mass flow rate of water in kg/s\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The rate of saving of condensate and the rate of saving in the heat supply in the boiler due to seperate air extraction pump = %3.3f kW \\n (b) The percentage reduction in air ejector load due to this seperate air extraction method = %3.1f percent \\n (c) The rate of cooling water flow = %3.0f kg/s \"%(Q3,V,wc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 8.3 Pg: 593"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The temperature of water leaving the tower = 21.8 degree centigrade \n",
+ " (b) The fraction of water evaporated = 0.0125 kg/kg dry air \n",
+ " (c) The approach of the cooling tower = 6.6 degree centigrade \n",
+ " The Range of the cooling tower = 8.2 degree centigrade \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "tw3=30##The inlet temperature of water in degree centigrade\n",
+ "wc=1.15##Mass flow rate of cooling water in kg per kg air\n",
+ "tdb1=20##The dry bulb temperature of air in degree centigrade\n",
+ "R1=60##Relative humidity of air while entering in percentage\n",
+ "tdb2=28##The dry bulb temperature while leaving in degree centigrade\n",
+ "R2=90##Relative humidity of air while leaving in percentage\n",
+ "tm=20##The temperature of makeup water in degree centigrade\n",
+ "Cpc=4.187##The specific heat of water in kJ/kgK\n",
+ "G=1##Mass flow rate of dry air in kg/s\n",
+ "\n",
+ "#Calculations\n",
+ "twb1=15.2## from psychrometric chart The wet bulb temperature while entering in degree centigrade\n",
+ "twb2=26.7## from psychrometric chart The wet bulb temperature while leaving in degree centigrade\n",
+ "h1=43##The enthalpy from chart for dry air in kJ/kg dry air\n",
+ "h2=83.5##The enthalpy from chart in kJ/kg dry air\n",
+ "W1=0.0088##Humidity in kg water vapour/kg dry air\n",
+ "W2=0.0213##Humidity in kg water vapour/kg dry air\n",
+ "hw3=125.8##Enthalpy of water entering the tower in kJ/kg\n",
+ "hw=84##Enthalpy of makeup water in kJ/kg\n",
+ "hwc=((G/wc)*((h2-h1)-(W2-W1)*hw))##The change in enthalpy of water in kJ/kg\n",
+ "tw4=tw3-(hwc/Cpc)##The exit temperature of water in degree centigrade\n",
+ "ta=tw4-twb1##The approach temperature in degree centigrade\n",
+ "tr=tw3-tw4##The range temperature in degree centigrade\n",
+ "x=G*(W2-W1)##Fraction of water evaporated in kg/kg dry air\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The temperature of water leaving the tower = %3.1f degree centigrade \\n (b) The fraction of water evaporated = %3.4f kg/kg dry air \\n (c) The approach of the cooling tower = %3.1f degree centigrade \\n The Range of the cooling tower = %3.1f degree centigrade \"%(tw4,x,ta,tr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 8.4 Pg: 593"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The final temperature of the water = 16.60 degree centigrade \n",
+ " (b)The amount of makeup water required per second = 0.2605 kg/s \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "tw3=45##The temperature of warm water in degree centigrade\n",
+ "wc1=6##The cooling water inflow in kg/s\n",
+ "V=10##volume flow of ID fan in m**3/s\n",
+ "Ws=4.90##Heat absorbed by air in kW\n",
+ "ti=20##The temperature of air entering the tower in degree centigrade\n",
+ "R=60##The relative humidity in percentage\n",
+ "to=26##The temperature of air leaving the tower in degree centigrade\n",
+ "p=1.013##The constant pressure throughout the tower in bar\n",
+ "r=0.287##Real gas constant in kJ/kgK\n",
+ "Cpc=4.187##The specific heat of water in kJ/kgK\n",
+ "Cp=1.005##The specific heat of air in kJ/kgK\n",
+ "\n",
+ "#Calculations\n",
+ "ps=0.0234##The pressure at 20 degreec in bar\n",
+ "ps1=(R/100)*ps##The pressure of water vapour in bar\n",
+ "pa1=p-ps1##The pressure of air in bar\n",
+ "G1=(pa1)/(r*10**-3*(ti+273))##The mass flow rate of dry air in kg/s\n",
+ "w1=(ps1*10**5*V)/(0.4619*10**3*(ti+273))##Mass flow rate of vopour in kg/s\n",
+ "W1=w1/G1##Moisture flow in kg vap/kg dry air\n",
+ "ps2=0.0336##The pressure at 26 degree C at exit in bar\n",
+ "pw2=0.0336##The pressure of water vapour at 26 degree C at exit in bar\n",
+ "W2=(0.622)*(pw2/(1-pw2))##oisture flow in kg vap/kg dry air\n",
+ "G2=G1##The mass flow rate of dry air in kg/s\n",
+ "w2=W2*G2##Moisture flow at exit in kg/s\n",
+ "wm=w2-w1##Makeup water required in kg/s\n",
+ "wc2=wc1-wm##The cooling water outflow in kg/s\n",
+ "hw3=Cpc*tw3##The enthalpy of warm water in kJ/kg\n",
+ "hg=2538.1##The enthalpy of gas at 20 degree C in kJ/kg\n",
+ "tsat=12##The saturation temperature in degree centigrade\n",
+ "pw1=0.01404##The pressure at 12 degree C in bar\n",
+ "hw1=hg+(1.88*(ti-tsat))##The enthalpy of warm water in kJ/kg\n",
+ "hw2=2548.4##The enthalpy of evaporation at 26 degree C in kJ/kg\n",
+ "hw4=((G1*((Cp*(to-ti))+W2*hw2-W1*hw1)-Ws)-(wc1*hw3))/-wc2##The enthapy of warm water at point 4 in kJ/kg\n",
+ "E=hw4/Cpc##Exit water temperature in degree centigrade\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The final temperature of the water = %3.2f degree centigrade \\n (b)The amount of makeup water required per second = %3.4f kg/s \"%(E,wm)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/Ch9.ipynb b/Power_Plant_Engineering_by_P._K._Nag/Ch9.ipynb
new file mode 100644
index 00000000..b7e3e772
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/Ch9.ipynb
@@ -0,0 +1,474 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9 : Nuclear Power Plant"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.1 Pg: 648"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " The mass defect = 0.13703 amu \n",
+ " The binding energy per nucleon = 7.97 MeV \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "mp=1.007277##Atomic Mass of proton in amu\n",
+ "mn=1.008665##Atomic Mass of neutron in amu\n",
+ "me=0.00055##Atomic Mass of electron in amu\n",
+ "mo=15.99491##Atomic Mass of oxygen in amu\n",
+ "np=8##Number of protons in oxygen\n",
+ "ne=8##Number of electrons in oxygen\n",
+ "nn=8##Number of neutrons in oxygen\n",
+ "a=931##One amu in MeV\n",
+ "No=16##Number of nucleons in oxygen\n",
+ "\n",
+ "#Calculations\n",
+ "m=(np*mp)+(ne*me)+(nn*mn)-mo##The mass defect in amu\n",
+ "B=m*a##Binding energy in MeV\n",
+ "Bn=B/No##Binding energy per nucleon\n",
+ "\n",
+ "#Output\n",
+ "print \" The mass defect = %3.5f amu \\n The binding energy per nucleon = %3.2f MeV \"%(m,Bn)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.2 Pg: 649"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The decay constant = 1.36e-11 s**-1\n",
+ "The initial activity of 1 g of radium 226 = 3.61e+10 dis/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "amr=226.095##Atomic mass of radium in amu\n",
+ "AC=6.023*10**23##Avogadro constant in molecules/g.mol\n",
+ "h=1620##Half life of radium in years\n",
+ "\n",
+ "#Calculations\n",
+ "D=(0.6931/(h*365*24*3600))##The decay constant in 1/s\n",
+ "Na=AC/amr##Number of atoms per gram of radium \n",
+ "Ao=D*Na##Initial activity in dis/s\n",
+ "\n",
+ "#Output\n",
+ "print \"The decay constant = %0.2e s**-1\"%D\n",
+ "print \"The initial activity of 1 g of radium 226 = %0.2e dis/s\"%Ao,"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.3 Pg: 649"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The fuel consumed of U-235 per day = 3.9 g/day \n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Input data\n",
+ "F=190##Each fission of U-235 yeilds in MeV\n",
+ "a=85##Assuming the Neutrons absorbed by U-235 cause fission in percentage\n",
+ "b=15##Non fission capture to produce an isotope U-236 in percentage\n",
+ "Q=3000##The amount of thermal power produced in MW\n",
+ "\n",
+ "#Calculations\n",
+ "E=F*1.60*10**-13##Each fission yields a useful energy in J\n",
+ "N=1/E##Number of fissions required \n",
+ "B=((10**6)*(N*86400))/(a/100)##One day operation of a reactor the number of U-235 nuclei burned is in absorptions per day\n",
+ "M=(B*235)/(6.023*10**23)##Mass of U-235 consumed to produce one MW power in g/day\n",
+ "M1=M*3##Mass of U-235 consumed to produce 3000 MW power in g/day\n",
+ "\n",
+ "#Output\n",
+ "print \"The fuel consumed of U-235 per day = %3.1f g/day \"%(M1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.4 Pg: 650"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cross section of neutrons = 5.02 barns \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "sa1=10##Cross section of nucleus in barns\n",
+ "N=2200##Neutrons in m/s\n",
+ "En1=0.1##Kinetic energy of neutrons increases in eV\n",
+ "En2=0.02525##Kinetic energy of neutron in eV\n",
+ "\n",
+ "#Calculations\n",
+ "sa2=sa1/((En1/En2)**0.5)##The cross section of neutrons in barns\n",
+ "\n",
+ "#Output\n",
+ "print \"The cross section of neutrons = %3.2f barns \"%(sa2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.5 Pg: 650"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The microscopic absorption cross section of natural uranium = 7.6 barns \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "U1=99.285##Uranium consists of U-238 in percentage \n",
+ "U2=0.715##Uranium consists of U-235 in Percentage\n",
+ "E=0.025##The energy of neutrons in eV\n",
+ "sc=2.72##Capture cross section for U-238 in barns\n",
+ "sf=0##fission cross section for U-238 in barns\n",
+ "sc1=101##Capture cross section for U-235 in barns\n",
+ "sf1=579##fission cross section for U-235 in barns\n",
+ "\n",
+ "#Calculations\n",
+ "sa=(U1/100)*(sc+sf)+(U2/100)*(sc1+sf1)##The microscopic absorption cross section of natural uranium in barns\n",
+ "\n",
+ "#Output\n",
+ "print \"The microscopic absorption cross section of natural uranium = %3.1f barns \"%(sa)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.6 Pg: 650"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The microscopic capture cross section of water = 0.0222 cm**-1 \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "p=1##The density of water in g/cm**3\n",
+ "sch=0.332##The microscopic capture cross section of hydrogen in barn\n",
+ "sco=0.0002##The microscopic capture cross section of oxygen in barn\n",
+ "\n",
+ "#Calculations\n",
+ "N=(6.023*10**23)*p/18##Number of molecules of water per cm**3\n",
+ "scw=(2*N*sch*10**-24)+(N*sco*10**-24)##The microscopic capture cross section of water in cm**-1\n",
+ "\n",
+ "#output\n",
+ "print \"The microscopic capture cross section of water = %3.4f cm**-1 \"%(scw)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.7 Pg: 650"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The thermal neutron flux = 9.10e+11 cm**-2s**-1\n",
+ "The average distance that a neutron travels before it is absorbed = 0.010 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "m=230##The amount of boron piece in g\n",
+ "mw=10##The molecular weight of boron \n",
+ "R=9.57*10**13##Reaction rate in cm**-3s**-1\n",
+ "d=2.3##Density of boron in g/cm**3\n",
+ "sa=755##Absorbption cross section in barns\n",
+ "ss=4##Elastic scattering cross section in barns\n",
+ "\n",
+ "#Calculations\n",
+ "st=sa+ss##The total cross section in barns\n",
+ "N=(d*6.023*10**23)/mw##The number density of neutrons in cm**-3\n",
+ "S=N*st*10**-24##Number density of neutrons for total in cm**-1\n",
+ "F=R/S##Neutron flux in cm**-2s**-1\n",
+ "L=1/S##Average distance a neutron travels before it is absorbed in cm\n",
+ "\n",
+ "#Output\n",
+ "print \"The thermal neutron flux = %0.2e cm**-2s**-1\"%F\n",
+ "print \"The average distance that a neutron travels before it is absorbed = %0.3f cm\"%L"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.8 Pg: 651"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " The logarithmic energy decrement representing the neutron energy loss per elastic collision = 0.158 \n",
+ " The number of collisions necessary = 121 \n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "#Input data\n",
+ "Eni=4.8##The energy of the newly born electron in MeV\n",
+ "Enf=0.025##The energy of the electron after slow down in eV\n",
+ "A=12##The mass number of the graphite (carbon)\n",
+ "\n",
+ "#Calculations\n",
+ "L=1-(((A-1)**2/(2*A))*log((A+1)/(A-1)))##The logarithmic energy decrement\n",
+ "n=(log(Eni*10**6/Enf))/L##The number of collisions required to slowdown the neutron \n",
+ "\n",
+ "#Output\n",
+ "print \" The logarithmic energy decrement representing the neutron energy loss per elastic collision = %3.3f \\n The number of collisions necessary = %3.0f \"%(L,n)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.9 Pg: 651"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " (a) The rating of the reactor = 3.36 MW/tonne \n",
+ " (b)The rate of consumption of U-235 per day = 0.353 kg/day (or) 353 g/day \n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "f=100##The reactor is fuelled of natural uranium in tonnes\n",
+ "A=238.05##The atomic mass of natural uranium \n",
+ "F=10**13##The average thermal neutron flux in neutrons/cm**2s\n",
+ "A1=235.04##The atomic mass of U-235\n",
+ "sf=579##The fission cross section of U-235 in barns\n",
+ "sc=101##The capture cross section of U-235 in barns\n",
+ "E=200##The energy released per fission in MeV\n",
+ "P=0.715##U-235 in natural uranium in percentage\n",
+ "N=2200##The average thermal neutron in m/s\n",
+ "\n",
+ "#Calculations\n",
+ "n=((f*1000)*6.023*10**26*(P/100))/A##The number of U-235 atoms in the reactor in atoms\n",
+ "R=(sf*10**-24)*F*n##The rate of fission in the reactor in fissions/s\n",
+ "T=R*E*1.602*10**-19##Thermal power of the reactor in MW\n",
+ "Rr=T/f##Rating the reactor MW/tonne\n",
+ "Rc=(((R*A1*60*60*24))/(6.023*10**26))##The rate of consumption of U-235 by fission in kg/day\n",
+ "Rcc=Rc*1000##The rate of consumption of U-235 by fission in g/day\n",
+ "\n",
+ "#Output\n",
+ "print \" (a) The rating of the reactor = %3.2f MW/tonne \\n (b)The rate of consumption of U-235 per day = %3.3f kg/day (or) %3.0f g/day \"%(Rr,Rc,Rcc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.10 Pg: 652"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The specific energy release rate for a light water uranium reactor = 138.13 W/cm**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Input data\n",
+ "f=3.5##Mass fraction of U-235 in the fuel in percentage\n",
+ "G=180##Energy per fission in Mev\n",
+ "F=10**13##The neutron flux in neutrons/cm**2s\n",
+ "sf=577##Fission cross section of U-235 in barns\n",
+ "M=1.602*10**-13##One MeV in J\n",
+ "\n",
+ "#Calculations\n",
+ "N=2.372*(f/100)*10**22##The fuel density for a uranium oxide fuel in nuclei/cm**3\n",
+ "q=G*N*sf*10**-24*F##The rate of energy release in MeV/cm**3s\n",
+ "qg=q*M##The rate of energy release in W/cm**3\n",
+ "\n",
+ "#Output\n",
+ "print \"The specific energy release rate for a light water uranium reactor = %3.2f W/cm**3\"%(qg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex: 9.11 Pg: 653"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reactor power level at the end of 1s is 3.196 MW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import exp\n",
+ "#Input data\n",
+ "P=1##The operating power of a reactor in W\n",
+ "K=1.0015##The effective multiplication factor of Reactor becomes suppercritical \n",
+ "t=0.0001##The average neutron life in s\n",
+ "t1=1.0001##Neutron life time in s\n",
+ "\n",
+ "#Calculations \n",
+ "d=(K-1)/K##The reactivity \n",
+ "Z=(d*P)/t##The number of neutrons\n",
+ "n=exp(Z)/10**6##Neutron density * 10**6\n",
+ "\n",
+ "#Output\n",
+ "print \"The reactor power level at the end of 1s is %3.3f MW\"%(n)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve.png b/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve.png
new file mode 100644
index 00000000..509068ba
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve.png
Binary files differ
diff --git a/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve2.png b/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve2.png
new file mode 100644
index 00000000..e9a1e64f
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadCurve2.png
Binary files differ
diff --git a/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadDurationCurve.png b/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadDurationCurve.png
new file mode 100644
index 00000000..adc15e4e
--- /dev/null
+++ b/Power_Plant_Engineering_by_P._K._Nag/screenshots/LoadDurationCurve.png
Binary files differ
diff --git a/sample_notebooks/FameethaAlamBasha/Chapter7_1.ipynb b/sample_notebooks/FameethaAlamBasha/Chapter7_1.ipynb
new file mode 100644
index 00000000..b42dd470
--- /dev/null
+++ b/sample_notebooks/FameethaAlamBasha/Chapter7_1.ipynb
@@ -0,0 +1,78 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7:Starting And Speed Control Of Induction Motor "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.1,Page 7-6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x= 0.7453\n",
+ "Thus 74.53 % tapping is required\n",
+ "Ist= 3.33 IF.L\n",
+ "Thus supply starting current is 3.33 times the full load current\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#variable declaration\n",
+ "Isc=6 # starting current at rated voltage(amp)\n",
+ "Sf=5 # full load slip\n",
+ "Tfl=Tst=1 # full load torque=starting torque(N-m)\n",
+ "Ifl=1 # full load current(amp)\n",
+ "\n",
+ "#calculation\n",
+ "x=math.sqrt((Tst/Tfl) * ((float(Ifl)/float(Isc))**2)*(1/(float(Sf)/100)))\n",
+ "print 'x=',str (x)[:6]\n",
+ "print 'Thus',str(x*100)[:5],'% tapping is required'\n",
+ "\n",
+ "#Ist(supply)=x**2 * 6\n",
+ "Ist=(x**2) * Isc # supply starting current(IF.L)\n",
+ "Ist=round(Ist,2)\n",
+ "print 'Ist=',Ist,'IF.L'\n",
+ "print 'Thus supply starting current is',Ist,'times the full load current'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/Hrituraj/Ch-6_1.ipynb b/sample_notebooks/Hrituraj/Ch-6_1.ipynb
new file mode 100644
index 00000000..4aa9a7a3
--- /dev/null
+++ b/sample_notebooks/Hrituraj/Ch-6_1.ipynb
@@ -0,0 +1,547 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Ch-6 : Frequency response, bode plots and resonance"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 6.1 Page No: 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "peak value of Vout = 6.00 volts\n",
+ "phase angle of Vout = 70.00 degrees\n",
+ "with frequency equal to = 1000.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi, cos, sin, atan, sqrt\n",
+ "# given V_in(t)=2*cos(2000*pi*t+A), A=40*pi/180\n",
+ "w=2000*pi# #omega\n",
+ "f=w/(2*pi)# #frequency\n",
+ "A=40*pi/180# #40 degrees = %0.2f radians\n",
+ "#equation of straight line of H_magnitude vs f is x+1000*y-4000=0\n",
+ "H_max=(4000-f)/1000# #magnitude of H(traansfer function)\n",
+ "#equation of straight line of H_phase angle vs f is 6000*y=pi*x (phase angle = %0.2f radians)\n",
+ "H_phi=pi*f/6000# #phase angle of H\n",
+ "H=H_max*complex(cos(H_phi),sin(H_phi))\n",
+ "V_in=2*complex(cos(A),sin(A))# #input voltage phasor\n",
+ "V_out=H*V_in# #output voltage phasor\n",
+ "V_out_R=(V_out.real)# #real part\n",
+ "V_out_I=(V_out.imag)# #imaginary part\n",
+ "V_out_max=sqrt((V_out_R**2)+(V_out_I**2))# #peak value\n",
+ "V_out_phi=atan(V_out_I/V_out_R)\n",
+ "print 'peak value of Vout = %0.2f volts'%V_out_max\n",
+ "print 'phase angle of Vout = %0.2f degrees'%(V_out_phi*180/pi)\n",
+ "print 'with frequency equal to = %0.2f'%f"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 6.2 Page No: 477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is Vout1+Vout2+Vout3 where\n",
+ "\n",
+ "FOR Vout1:\n",
+ "peak value = 12.00 volts\n",
+ "phase angle = 0.00 degrees\n",
+ "with frequency = 0.00 hertz\n",
+ "\n",
+ "FOR Vout2:\n",
+ "peak value = 6.00 volts\n",
+ "phase angle = 30.00 degrees\n",
+ "with frequency = 1000.00 hertz\n",
+ "\n",
+ "FOR Vout3:\n",
+ "peak value = 2.00 volts\n",
+ "phase angle = -10.00 degrees\n",
+ "with frequency = 2000.00 hertz\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi, cos, sin, atan, sqrt\n",
+ "\n",
+ "#given V_in(t)=3+2*cos(2000*pi*t)+cos(4000*pi*t-A), A=70*pi/180\n",
+ "#the three parts of V_in(t) are V_in_1=3, V_in_2=2*cos(2000*pi*t),V_in_3=cos(4000*pi*t-A)\n",
+ "\n",
+ "#first component V_1\n",
+ "V_in_1=3\n",
+ "f_1=0# #as omega is zero\n",
+ "#equation of straight line of H_magnitude vs f is x+1000*y-4000=0\n",
+ "H_1_max=(4000-f_1)/1000# #magnitude of H(traansfer function)\n",
+ "#equation of straight line of H_phase angle vs f is 6000*y=pi*x (phase angle = %0.2f radians)\n",
+ "H_1_phi=pi*f_1/6000# #phase angle of H\n",
+ "H_1=H_1_max*complex(cos(H_1_phi),sin(H_1_phi))\n",
+ "V_out_1=H_1*V_in_1\n",
+ "V_out_1_R=(V_out_1).real# #real part\n",
+ "V_out_1_I=(V_out_1).imag# #imaginary part\n",
+ "V_out_1_max=sqrt((V_out_1_R**2)+(V_out_1_I**2))# #peak value\n",
+ "V_out_1_phi=atan(V_out_1_I/V_out_1_R)# #phase angle\n",
+ "\n",
+ "#second component V_in_2\n",
+ "V_in_2=2*complex(cos(0),sin(0))# #V_in_2 phasor\n",
+ "w=2000*pi# #omega\n",
+ "f_2=w/(2*pi)# #frequency\n",
+ "#equation of straight line of H_magnitude vs f is x+1000*y-4000=0\n",
+ "H_2_max=(4000-f_2)/1000# #magnitude of H(traansfer function)\n",
+ "#equation of straight line of H_phase angle vs f is 6000*y=pi*x (phase angle = %0.2f radians)\n",
+ "H_2_phi=pi*f_2/6000# #phase angle of H\n",
+ "H_2=H_2_max*complex(cos(H_2_phi),sin(H_2_phi))\n",
+ "V_out_2=H_2*V_in_2\n",
+ "V_out_2_R=(V_out_2).real# #real part\n",
+ "V_out_2_I=(V_out_2).imag# #imaginary part\n",
+ "V_out_2_max=sqrt((V_out_2_R**2)+(V_out_2_I**2))# #peak value\n",
+ "V_out_2_phi=atan(V_out_2_I/V_out_2_R)# #phase angle\n",
+ "\n",
+ "#third component\n",
+ "A=-70*pi/180# #-70 degrees = %0.2f radians\n",
+ "V_in_3=complex(cos(A),sin(A))# #V_in_3 phasor\n",
+ "w=4000*pi# #omega\n",
+ "f_3=w/(2*pi)# #frequency\n",
+ "#equation of straight line of H_magnitude vs f is x+1000*y-4000=0\n",
+ "H_3_max=(4000-f_3)/1000# #magnitude of H(traansfer function)\n",
+ "#equation of straight line of H_phase angle vs f is 6000*y=pi*x (phase angle = %0.2f radians)\n",
+ "H_3_phi=pi*f_3/6000# #phase angle of H\n",
+ "H_3=H_3_max*complex(cos(H_3_phi),sin(H_3_phi))\n",
+ "V_out_3=H_3*V_in_3\n",
+ "V_out_3_R=(V_out_3).real# #real part\n",
+ "V_out_3_I=(V_out_3).imag# #imaginary part\n",
+ "V_out_3_max=sqrt((V_out_3_R**2)+(V_out_3_I**2))# #peak value\n",
+ "V_out_3_phi=atan(V_out_3_I/V_out_3_R)# #phase angle\n",
+ "\n",
+ "print 'Output voltage is Vout1+Vout2+Vout3 where'\n",
+ "print ''\n",
+ "print 'FOR Vout1:'\n",
+ "print 'peak value = %0.2f volts'%V_out_1_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_out_1_phi*180/pi)\n",
+ "print 'with frequency = %0.2f hertz'%f_1\n",
+ "print ''\n",
+ "print 'FOR Vout2:'\n",
+ "print 'peak value = %0.2f volts'%V_out_2_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_out_2_phi*180/pi)\n",
+ "print 'with frequency = %0.2f hertz'%f_2\n",
+ "print ''\n",
+ "print 'FOR Vout3:'\n",
+ "print 'peak value = %0.2f volts'%V_out_3_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_out_3_phi*180/pi)\n",
+ "print 'with frequency = %0.2f hertz'%f_3"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 6.3 Page No: 477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " All the values in the textbook are approximated, hence the values in this code differ from those of Textbook\n",
+ "Output voltage is Vout1+Vout2+Vout3 where\n",
+ "\n",
+ "FOR Vout1:\n",
+ "peak value = 4.98 volts\n",
+ "phase angle = -5.71 degrees\n",
+ "with frequency = 10.00 hertz\n",
+ "\n",
+ "FOR Vout2:\n",
+ "peak value = 3.54 volts\n",
+ "phase angle = -45.00 degrees\n",
+ "with frequency = 100.00 hertz\n",
+ "\n",
+ "FOR Vout3:\n",
+ "peak value = 0.50 volts\n",
+ "phase angle = -84.29 degrees\n",
+ "with frequency = 1000.00 hertz\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi, cos, sin, atan, sqrt\n",
+ "\n",
+ "R=1000/(2*pi)# #resistance\n",
+ "C=10*10**-6# #capacitance\n",
+ "f_B=1/(2*pi*R*C)# #half-power frequency\n",
+ "#the three parts of V_in are V_1=5*cos(20*pi*t)+5*cos(200*pi*t)+5*cos(2000*pi*t)\n",
+ "\n",
+ "#first component V_in_1\n",
+ "V_in_1=5*complex(cos(0),sin(0))# #V_in_1 phasor\n",
+ "w_1=20*pi# #omega\n",
+ "f_1=w_1/(2*pi)# #frequency\n",
+ "H_1=1/(1+1J*(f_1/f_B))# #transfer function\n",
+ "V_out_1=H_1*V_in_1\n",
+ "V_out_1_R=(V_out_1).real# #real part\n",
+ "V_out_1_I=(V_out_1).imag# #imaginary part\n",
+ "V_out_1_max=sqrt((V_out_1_R**2)+(V_out_1_I**2))# #peak value\n",
+ "V_out_1_phi=atan(V_out_1_I/V_out_1_R)# #phase angle\n",
+ "\n",
+ "#second component V_in_2\n",
+ "V_in_2=5*complex(cos(0),sin(0))# #V_in_2 phasor\n",
+ "w_2=200*pi# #omega\n",
+ "f_2=w_2/(2*pi)# #frequency\n",
+ "H_2=1/(1+1J*(f_2/f_B))# #transfer function\n",
+ "V_out_2=H_2*V_in_2\n",
+ "V_out_2_R=(V_out_2).real #real part\n",
+ "V_out_2_I=(V_out_2).imag #imaginary part\n",
+ "V_out_2_max=sqrt((V_out_2_R**2)+(V_out_2_I**2))# #peak value\n",
+ "V_out_2_phi=atan(V_out_2_I/V_out_2_R)# #phase angle\n",
+ "\n",
+ "#third component V_in_3\n",
+ "V_in_3=5*complex(cos(0),sin(0))# #V_in_3 phasor\n",
+ "w_3=2000*pi# #omega\n",
+ "f_3=w_3/(2*pi)# #frequency\n",
+ "H_3=1/(1+1J*(f_3/f_B))# #transfer function\n",
+ "V_out_3=H_3*V_in_3\n",
+ "V_out_3_R=(V_out_3).real #real part\n",
+ "V_out_3_I=(V_out_3).imag #imaginary part\n",
+ "V_out_3_max=sqrt((V_out_3_R**2)+(V_out_3_I**2))# #peak value\n",
+ "V_out_3_phi=atan(V_out_3_I/V_out_3_R)# #phase angle\n",
+ "\n",
+ "print \" All the values in the textbook are approximated, hence the values in this code differ from those of Textbook\"\n",
+ "print 'Output voltage is Vout1+Vout2+Vout3 where'\n",
+ "print ''\n",
+ "print 'FOR Vout1:'\n",
+ "print 'peak value = %0.2f volts'%V_out_1_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_out_1_phi*180/pi)\n",
+ "print 'with frequency = %0.2f hertz'%f_1\n",
+ "print ''\n",
+ "print 'FOR Vout2:'\n",
+ "print 'peak value = %0.2f volts'%V_out_2_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_out_2_phi*180/pi)\n",
+ "print 'with frequency = %0.2f hertz'%f_2\n",
+ "print ''\n",
+ "print 'FOR Vout3:'\n",
+ "print 'peak value = %0.2f volts'%V_out_3_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_out_3_phi*180/pi)\n",
+ "print 'with frequency = %0.2f hertz'%f_3\n",
+ "#we can observe that there is a clear discrimination = %0.2f output signals based on frequencies i.e, lesser the frequency lesser the effect."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 6.4 Page No: 478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " All the values in the textbook are approximated, hence the values in this code differ from those of Textbook\n",
+ "Break frequency = 1897.37 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "H_max=-30# #transfer function magnitude\n",
+ "f=60\n",
+ "m=20# #low-frequency asymptote slope rate = %0.2f db/decade\n",
+ "#f_B must be K higher than f where K is\n",
+ "K=abs(H_max)/m\n",
+ "#(base 10)log(f_B/60)=1.5 ==>\n",
+ "f_B=60*10**1.5\n",
+ "print \" All the values in the textbook are approximated, hence the values in this code differ from those of Textbook\"\n",
+ "print 'Break frequency = %0.2f Hz'%f_B"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 6.5 Page No: 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Phasor voltage across Resistance\n",
+ "peak value = 1.00 volts\n",
+ "phase angle = 0.00 degrees\n",
+ "\n",
+ "Phasor voltage across Inductance\n",
+ "peak value = 10.00 volts\n",
+ "phase angle = 90.00 degrees\n",
+ "\n",
+ "Phasor voltage across Capacitance\n",
+ "peak value = 10.00 volts\n",
+ "phase angle = -90.00 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi, cos, sin, atan, sqrt\n",
+ "V_s=1*complex(cos(0),sin(0))\n",
+ "L=159.2*10**-3\n",
+ "R=100\n",
+ "C=0.1592*10**-6\n",
+ "f_o=1/(2*pi*sqrt(L*C))# #resonant frequency\n",
+ "Q_s=2*pi*f_o*L/R# #quality factor\n",
+ "B=f_o/Q_s# #Bandwidth\n",
+ "#Approximate half-power frequencies are\n",
+ "f_H=f_o+(B/2)\n",
+ "f_L=f_o-(B/2)\n",
+ "#At resonance\n",
+ "Z_L=1J*2*pi*f_o*L# #impedance of inductance\n",
+ "Z_C=-1J/(2*pi*f_o*C)# #impedance of capacitance\n",
+ "Z_s=R+Z_L+Z_C\n",
+ "I=V_s/Z_s# #phasor current\n",
+ "#voltages across diffrent elements are\n",
+ "#for resistance\n",
+ "V_R=R*I\n",
+ "V_R_R=(V_R).real #real part\n",
+ "V_R_I=(V_R).imag #imaginary part\n",
+ "V_R_max=sqrt((V_R_R**2)+(V_R_I**2))# #peak value\n",
+ "V_R_phi=atan(V_R_I/V_R_R)# #phase angle\n",
+ "#for inductance\n",
+ "V_L=Z_L*I\n",
+ "V_L_R=(V_L).real #real part\n",
+ "V_L_I=(V_L).imag #imaginary part\n",
+ "V_L_max=sqrt((V_L_R**2)+(V_L_I**2))# #peak value\n",
+ "#Z_L is pure imaginary ==> V_L is pure imaginary which means V_L_phi can be +or- pi/2\n",
+ "if ((V_L/1J)==abs(V_L)):\n",
+ " V_L_phi=pi/2\n",
+ "elif ((V_L/1J)==-abs(V_L)):\n",
+ " V_L_phi=-pi/2\n",
+ "\n",
+ "\n",
+ "#for capacitance\n",
+ "V_C=Z_C*I\n",
+ "V_C_R=(V_C).real #real part\n",
+ "V_C_I=(V_C).imag #imaginary part\n",
+ "V_C_max=sqrt((V_C_R**2)+(V_C_I**2))# #peak value\n",
+ "#Z_C is pure imaginary ==> V_C is pure imaginary which means V_C_phi can be +or- pi/2\n",
+ "if ((V_C/1J)==abs(V_C)) :\n",
+ " V_C_phi=pi/2\n",
+ "elif ((V_C/1J)==-abs(V_C)) :\n",
+ " V_C_phi=-pi/2\n",
+ "\n",
+ " \n",
+ "print 'Phasor voltage across Resistance'\n",
+ "print 'peak value = %0.2f volts'%V_R_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_R_phi*180/pi)\n",
+ "print ''\n",
+ "print 'Phasor voltage across Inductance'\n",
+ "print 'peak value = %0.2f volts'%V_L_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_L_phi*180/pi)\n",
+ "print ''\n",
+ "print 'Phasor voltage across Capacitance'\n",
+ "print 'peak value = %0.2f volts'%V_C_max\n",
+ "print 'phase angle = %0.2f degrees'%(V_C_phi*180/pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 6.6 Page No: 480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current phasor across Resistance\n",
+ "peak value = 0.001 amperes\n",
+ "phase angle = 0 degrees\n",
+ "\n",
+ "Current phasor across Inductance\n",
+ "peak value = 0.010 amperes\n",
+ "phase angle = -90.00 degrees\n",
+ "\n",
+ "current phasor across capacitance\n",
+ "peak value = 0.010 amperes\n",
+ "phase angle = 90.00 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi, cos, sin, atan, sqrt\n",
+ "R=10*10**3\n",
+ "f_o=1*10**6\n",
+ "B=100*10**3\n",
+ "I=10**-3*complex(cos(0),sin(0))\n",
+ "Q_p=f_o/B# #quality factor\n",
+ "L=R/(2*pi*f_o*Q_p)\n",
+ "C=Q_p/(2*pi*f_o*R)\n",
+ "#At resonance\n",
+ "V_out=I*R\n",
+ "Z_L=1J*2*pi*f_o*L\n",
+ "Z_C=-1J/(2*pi*f_o*C)\n",
+ "\n",
+ "#across resistance\n",
+ "I_R=V_out/R\n",
+ "I_R_R=(I_R).real# #real part\n",
+ "I_R_I=(I_R).imag# #imaginary part\n",
+ "I_R_max=sqrt((I_R_R**2)+(I_R_I**2))# #peak value\n",
+ "I_R_phi=atan(I_R_I/I_R_R)# #phase angle\n",
+ "\n",
+ "#across inductance\n",
+ "I_L=V_out/Z_L\n",
+ "I_L_R=(I_L).real #real part\n",
+ "I_L_I=(I_L).imag# #imaginary part\n",
+ "I_L_max=sqrt((I_L_R**2)+(I_L_I**2))# #peak value\n",
+ "#Z_L is pure imaginary ==> V_L is pure imaginary which means V_L_phi can be +or- pi/2\n",
+ "if ((I_L/1J)==abs(I_L)):\n",
+ " I_L_phi=pi/2\n",
+ "elif ((I_L/1J)==-abs(I_L)) :\n",
+ " I_L_phi=-pi/2\n",
+ "\n",
+ "\n",
+ "#across capacitor\n",
+ "I_C=V_out/Z_C\n",
+ "I_C_R=(I_C).real# #real part\n",
+ "I_C_I=(I_C).imag# #imaginary part\n",
+ "I_C_max=sqrt((I_C_R**2)+(I_C_I**2))# #peak value\n",
+ "#Z_C is pure imaginary ==> V_C is pure imaginary which means V_C_phi can be +or- pi/2\n",
+ "if ((I_C/1J)==abs(I_C)):\n",
+ " I_C_phi=pi/2\n",
+ "elif ((I_C/1J)==-abs(I_C)) :\n",
+ " I_C_phi=-pi/2\n",
+ "\n",
+ "\n",
+ "print 'Current phasor across Resistance'\n",
+ "print 'peak value = %0.3f amperes'%I_R_max\n",
+ "print 'phase angle = %0.f degrees'%(I_R_phi*180/pi)\n",
+ "print ''\n",
+ "print 'Current phasor across Inductance'\n",
+ "print 'peak value = %0.3f amperes'%I_L_max\n",
+ "print 'phase angle = %0.2f degrees'%(I_L_phi*180/pi)\n",
+ "print ''\n",
+ "print 'current phasor across capacitance'\n",
+ "print 'peak value = %0.3f amperes'%I_C_max\n",
+ "print 'phase angle = %0.2f degrees'%(I_C_phi*180/pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 6.7 Page No: 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " All the values in the textbook are approximated, hence the values in this code differ from those of Textbook\n",
+ "\n",
+ "The required second order circuit configuration is\n",
+ "Inductance = 50.00 KH\n",
+ "Capacitance = 0.51 mF(micro Farads)\n",
+ "Resistance = 314.16 ohms\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi\n",
+ "#We need a high-pass filter\n",
+ "L=50*10**-3\n",
+ "#for the transfer function to be approximately constant = %0.2f passband area(from graph given = %0.2f the text), we choose\n",
+ "Q_s=1\n",
+ "f_o=1*10**3\n",
+ "C=1/(((2*pi)**2)*f_o**2*L)\n",
+ "R=2*pi*f_o*L/Q_s\n",
+ "print \" All the values in the textbook are approximated, hence the values in this code differ from those of Textbook\"\n",
+ "print ''\n",
+ "print 'The required second order circuit configuration is'\n",
+ "print 'Inductance = %0.2f KH'%(L*10**3)\n",
+ "print 'Capacitance = %0.2f mF(micro Farads)'%(C*10**6)\n",
+ "print 'Resistance = %0.2f ohms'%R\n",
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/NishthaRani/Chapter12.ipynb b/sample_notebooks/NishthaRani/Chapter12.ipynb
new file mode 100644
index 00000000..63660758
--- /dev/null
+++ b/sample_notebooks/NishthaRani/Chapter12.ipynb
@@ -0,0 +1,428 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 : Absorption of Gases"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page No 669 Example 12.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " For S02:\n",
+ "\n",
+ " kGa = 0.00012 ol/s m**3(kN/m**2)\n",
+ "\n",
+ " For NH3:\n",
+ "\n",
+ " kGa = 0.00016 kmol/s m**3(kN/m**2)\n",
+ "\n",
+ " For a very soluble gas such as NH3, kGa = KGa.\n",
+ "\n",
+ " For NH3 the liquid-film resistance will be small, and:\n",
+ "\n",
+ " kGa =KGa = 0.00016 mol/s m**3(kN/m**2)\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "#Overall liquid transfer coefficient KLa = 0.003 kmol/s.m**3(kmol/m**3)\n",
+ "\n",
+ "#(1/KLa)=(1/kLa)+(1/HkGa)\n",
+ "# let (KLa)=x\n",
+ "x = 0.003#\n",
+ "overall = 1/x#\n",
+ "\n",
+ "#For the absorption of a moderately soluble gas it is reasonable to assume that the liquid and gas phase resistances are of the same order ofmagnitude, assuming them to be equal.\n",
+ "#(1/KLa)=(1/kLa)+(1/HkGa)\n",
+ "#let 1/kLa = 1/HkGa = y\n",
+ "y = (1/(2*x))#\n",
+ "z = (1/y)# #z is in kmol/s m**3(kmol/m**3)\n",
+ "print \"\\n For S02:\"\n",
+ "print \"\\n kGa = %0.5f ol/s m**3(kN/m**2)\"%(z/50)#\n",
+ "print \"\\n For NH3:\"\n",
+ "d_SO2 = 0.103# #diffusivity at 273K for SO2 in cm**2/sec\n",
+ "d_NH3 = 0.170# #diffusivity at 273K for NH3 in cm**2/sec\n",
+ "print \"\\n kGa = %0.5f kmol/s m**3(kN/m**2)\"%((z/50)*(d_NH3/d_SO2)**0.56)#\n",
+ "print \"\\n For a very soluble gas such as NH3, kGa = KGa.\"\n",
+ "print \"\\n For NH3 the liquid-film resistance will be small, and:\"\n",
+ "print \"\\n kGa =KGa = %0.5f mol/s m**3(kN/m**2)\"%((z/50)*(d_NH3/d_SO2)**0.56)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page No 671 Example 12.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " d = 0.05 mm\n",
+ "\n",
+ " kG = 1.19*10**(-8) kmol/m**2sec(N/m**2)\n",
+ "\n",
+ " kG = 7.59*10**(-4)kg SO2/m**2sec(kN/m**2)\n"
+ ]
+ }
+ ],
+ "source": [
+ "G = 2# #air flow rate in kg/m**2.sec\n",
+ "Re = 5160# #Re stands for Reynolds number\n",
+ "f = 0.02# #friction factor = R/pu**2\n",
+ "d_SO2 = 0.116*10**(-4)# #diffusion coefficient in m**2/sec\n",
+ "v = 1.8*10**(-5)# #viscosity in mNs/m**2\n",
+ "p = 1.154# #density is in kg/m**3\n",
+ "\n",
+ "#(hd/u)(Pm/P)(u/p/d_SO2)**0.56 = BRe**(-0.17)=jd\n",
+ "\n",
+ "def a1():\n",
+ " x = (v/(p*d_SO2))**(0.56)#\n",
+ " return x\n",
+ "\n",
+ "\n",
+ "#jd = f =R/pu**2\n",
+ "def a2():\n",
+ " y = f/a1()#\n",
+ " return y\n",
+ "#G = pu\n",
+ "u = (G/p)# #u is in m/sec\n",
+ "\n",
+ "def a3():\n",
+ " x1 = a2()*u#\n",
+ " return x1\n",
+ "\n",
+ "def d1():\n",
+ " d = Re*v/(G)#\n",
+ " return d\n",
+ "\n",
+ "print \"\\n d = %0.2f mm\"%(d1())#\n",
+ "R = 8314# #R is in m**3(N/m**2)/K kmol\n",
+ "T = 298# #T is in Kelvins\n",
+ "def kG1():\n",
+ " kG = a3()/(R*T)#\n",
+ " return kG\n",
+ "\n",
+ "print \"\\n kG = %.2f*10**(-8) kmol/m**2sec(N/m**2)\"%(kG1()*10**(8))#\n",
+ "print \"\\n kG = %.2f*10**(-4)kg SO2/m**2sec(kN/m**2)\"%(kG1()*10**(7)*64)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page No 694 Example 12.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " x1 = 0.01\n",
+ "\n",
+ " NoL =7.38\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import symbols, solve, log\n",
+ "#as the system are dilute mole fractions are approximately equal to mole ratios.\n",
+ "#At the bottom of the tower\n",
+ "y1 =0.015# #mole fraction\n",
+ "G = 1# #Gas flow rate is in kg/m**2sec\n",
+ "#At the top of the tower\n",
+ "y2 = 0.00015# #mole fraction\n",
+ "x2 = 0#\n",
+ "L = 1.6# #liquid flow rate is in kg/m**2.sec\n",
+ "Lm = 1.6/18# #liquid flow rate is in kmol/m**2.sec\n",
+ "Gm = 1.0/29# #gas flow rate is in kmol/m**2.sec\n",
+ "\n",
+ "x1 = symbols('x1')\n",
+ "x11 = solve(Gm*(y1-y2)-Lm*(x1),x1)[0]\n",
+ "\n",
+ "print \"\\n x1 = %0.2f\"%(x11)#\n",
+ "def henry_law(x):\n",
+ " ye1 = 1.75*x#\n",
+ " return ye1\n",
+ "bottom_driving_force = y1 - henry_law(x11)#\n",
+ "def log_mean():\n",
+ " lm = (bottom_driving_force-y2)/log(bottom_driving_force/y2)\n",
+ " return lm\n",
+ "NoG = (y1-y2)/log_mean()\n",
+ "NoL = NoG*1.75*(Gm/Lm)#\n",
+ "print \"\\n NoL =%.2f\"%(NoL)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page No 699 Example 12.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Z =7.80m\n",
+ "\n",
+ " Height of transfer unit HoG = 0.375m\n",
+ "\n",
+ " Number of transfer units NoG = 21.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import symbols, solve\n",
+ "from math import ceil\n",
+ "Gm = 0.015#\n",
+ "KGa = 0.04#\n",
+ "top = 0.0003#\n",
+ "Y1 = 0.03#\n",
+ "Ye = 0.026#\n",
+ "bottom = (Y1-Ye)#\n",
+ "log_mean_driving_force = (bottom-top)/log(bottom/top)#\n",
+ "Z = symbols('Z')\n",
+ "Z1 = solve(Gm*(Y1-top)-KGa*log_mean_driving_force*Z,Z)[0]\n",
+ "print \"\\n Z =%.2fm\"%(Z1)#\n",
+ "HoG = Gm/KGa#\n",
+ "print \"\\n Height of transfer unit HoG = %.3fm\"%(HoG)#\n",
+ "print \"\\n Number of transfer units NoG = %0.2f\"%(ceil(7.79/0.375))#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page No 700 Example 12.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\nwxhjTNj+D3ist4aa/CKkAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f4b195450d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The height of the tower is 4.91 meters\n"
+ ]
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, show, xlabel, ylabel, title\n",
+ "from numpy import arange\n",
+ "y1 = 0.10#\n",
+ "Y1 = 0.10/(1-0.10)#\n",
+ "y2 = 0.001#\n",
+ "Y2 = y2#\n",
+ "mass_flowrate_gas = 0.95# #mass flow rate in kg/m**2.sec\n",
+ "mass_percent_air = (0.9*29/(0.1*17+0.9*29))*100#\n",
+ "mass_flowrate_air = (mass_percent_air*mass_flowrate_gas)##in kg/m**2.sec\n",
+ "Gm = (mass_flowrate_air/29)#\n",
+ "Lm = 0.65/18# #Lm is in kmol/m**2.sec\n",
+ "#A mass balance between a plane in the tower where the compositions are X and Y and the top of the tower gives:\n",
+ "\n",
+ "#Y = 1.173X+0.001\n",
+ "X = arange(0,0.159,0.001)\n",
+ "Y=[]\n",
+ "for x in X:\n",
+ " Y.append(1.173*x+0.001)\n",
+ "plot(X,Y)#\n",
+ "\n",
+ "x=[0.021,0.031,0.042,0.053,0.079,0.106,0.159]\n",
+ "\n",
+ "PG = [12,18.2,24.9, 31.7, 50.0, 69.6, 114.0]\n",
+ "i=0\n",
+ "Y1=[]\n",
+ "while i<7:\n",
+ " Y1.append(PG[(i)]/(760-PG[(i)]))\n",
+ " i=i+1\n",
+ "\n",
+ "plot(x,Y1)#\n",
+ "#xlabel(\"Area under the curve is 3.82m\"%(\"kmolNH3/kmolH2O\"%(\"kmolNH3/kmol air\"\n",
+ "\n",
+ " \n",
+ "title(\"Operating and equilibrium lines\")\n",
+ "xlabel(\"kmol NH3/kmol H2O\")\n",
+ "ylabel(\"kmol NH3/kmol air\")\n",
+ "show()\n",
+ "#If the equilibrium line is assumed to be straight, then:\n",
+ "#Gm(Y2 − Y1) = KGaZdeltaPlm\n",
+ "\n",
+ "#Top driving force\n",
+ "deltaY2 = 0.022#\n",
+ "#Bottom driving force\n",
+ "deltaY1 = 0.001#\n",
+ "deltaYlm = 0.0068#\n",
+ "Z = (0.0307*0.11)/(0.001*0.688)#\n",
+ "print \"The height of the tower is %.2f meters\"%(Z)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page No 708 Example 12.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Number of theoretical plates = 9\n",
+ "\n",
+ " LHS = 0.98\n",
+ "\n",
+ " 1/A = 1.00\n",
+ "\n",
+ " Gm/Lm = 0.333\n",
+ "\n",
+ " Actual/minimum Gm/Lm = 1.39\n",
+ "\n",
+ " Actual Gm/Lm = 0.656\n",
+ "\n",
+ " 1/A = mGm/Lm = 1.968\n",
+ "\n",
+ " The actual number of plates are : 17.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import symbols, solve, log\n",
+ "print \"\\n Number of theoretical plates = %d\"%((30*0.3))#\n",
+ "\n",
+ "#At the bottom of the tower:\n",
+ "#Flowrate of steam = Gm (kmol/m**22s)\n",
+ "#Mole ratio of pentane in steam = Y1, and\n",
+ "#Mole ratio of pentane in oil = X1\n",
+ "X1 = 0.001#\n",
+ "\n",
+ "#At the top of the tower:\n",
+ "#exit steam composition = Y2\n",
+ "#inlet oil composition = X2\n",
+ "X2 = 0.06#\n",
+ "#flowrate of oil = Lm (kmol/m**2.sec)\n",
+ "\n",
+ "#The minimum steam consumption occurs when the exit steam stream is in equilibrium with the inlet oil, that is when:\n",
+ "#The equilibrium relation for the system may be taken as Ye = 3.0X, where Ye and X are expressed in mole ratios of pentane in the gas and liquid phases respectively.\n",
+ "Ye2 = X2*3#\n",
+ "#Lmin(X2 − X1) = Gmin(Y2 − Y1)\n",
+ "#If Y1 = 0, that is the inlet steam is pentane-free, then:\n",
+ "ratio_min = (X2 - X1)/Ye2#\n",
+ "\n",
+ "\n",
+ "#The operating line may be fixed by trial and error as it passes through the point (0.001, 0), and 9 theoretical plates are required for the separation. Thus it is a matter of selecting the operating line which, with 9 steps, will give X2 = 0.001 when X1 = 0.06. This is tedious but possible, and the problem may be better solved analytically since the equilibrium line is straight.\n",
+ "\n",
+ "#let x = 1/A\n",
+ "#for a stripping operation\n",
+ "LHS = (X2-X1)/(X2)#\n",
+ "print \"\\n LHS = %0.2f\"%(LHS)#\n",
+ "x = symbols('x')\n",
+ "x1 = solve((x**10-x)-LHS*(x**(10)-1),x)[0]\n",
+ "print \"\\n 1/A = %.2f\"%(x1)#\n",
+ "#A = Lm/mGm\n",
+ "print \"\\n Gm/Lm = %.3f\"%(x1/3)#\n",
+ "print \"\\n Actual/minimum Gm/Lm = %.2f\"%(0.457/0.328)#\n",
+ "\n",
+ "#If (actual Gm/Lm)/(min Gm/Lm) = 2,\n",
+ "print \"\\n Actual Gm/Lm = %.3f\"%(.328*2)#\n",
+ "x2 = 3*(0.656)#\n",
+ "print \"\\n 1/A = mGm/Lm = %.3f\"%(3*0.656)#\n",
+ "\n",
+ "#y = (1.968)**(N+1)\n",
+ "y = symbols('y')\n",
+ "y1 = solve(0.983*(y-1)-(y-1.968),y)[0]\n",
+ "N = log(y1)/log(1.968)-1#\n",
+ "print \"\\n The actual number of plates are : %.1f\"%(ceil(N/0.3))#"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/SaleemAhmed/Chapter10_1.ipynb b/sample_notebooks/SaleemAhmed/Chapter10_1.ipynb
new file mode 100644
index 00000000..70597c5b
--- /dev/null
+++ b/sample_notebooks/SaleemAhmed/Chapter10_1.ipynb
@@ -0,0 +1,441 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter10 - Optical Fiber Systems"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.1 Page No: 349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage required to have a pi radian phase change = 4.56 volt\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "r=30.8*10**-12## electro optice coefficient in m/V\n",
+ "L=3*10**-2## length in m\n",
+ "y=1.3*10**-6## wavelength in m\n",
+ "n=2.1#\n",
+ "d=30*10**-6## distance between the electrodes in m\n",
+ "V=(y*d)/((n)**3*r*L)## voltage required to have a pi radian phase change in volt\n",
+ "print \"The voltage required to have a pi radian phase change = %0.2f volt\"%( V)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.2 Page No: 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total channel loss =31 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ "a_fc=4## fider cable loss in dB/km\n",
+ "aj=0.7## splice loss in db/km\n",
+ "L=5## length in km\n",
+ "a_cr1=4## connector losses\n",
+ "a_cr2=3.5## connector losses\n",
+ "CL=(a_fc+aj)*L+(a_cr1+a_cr2)## total channel loss in dB\n",
+ "print \"The total channel loss =%d dB\"%( CL)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.3 Page No: 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "with mode coupling, the total rms broadening = 1.73 ns\n",
+ "\n",
+ " The dispersion equalization penalty = 1.84 dB\n",
+ "\n",
+ " without mode coupling, the total rms broadening = 6.00 dB\n",
+ "\n",
+ " without mode coupling, equalization penalty = 0.03 dB\n",
+ "\n",
+ " without mode coupling,dispersion equalization penalty with 125 Mb/s = 83.98 dB\n",
+ "\n",
+ " with mode coupling,dispersion equalization penalty with 125 Mb/s = 0.28 dB\n",
+ "\n",
+ " The answer is wrong in the textbook\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "p=0.5*10**-9## pulse broadening in s/km\n",
+ "L=12## length in km\n",
+ "Pt=p*sqrt(L)## with mode coupling, the total rms broadening in s\n",
+ "BT=20*10**6##\n",
+ "DL=2*(2*Pt*BT*sqrt(2))**4## dispersion equalization penalty in dB\n",
+ "Pt1=p*L## without mode coupling, the total rms broadening in s\n",
+ "DL1=2*(2*Pt1*BT*sqrt(2))**4## without mode coupling, equalization penalty in dB\n",
+ "DL2=2*(2*Pt1*150*10**6*sqrt(2))**4## without mode coupling,dispersion equalization penalty with 125 Mb/s\n",
+ "DL3=2*(2*Pt*125*10**6*sqrt(2))**4## with mode coupling,dispersion equalization penalty with 125 Mb/s\n",
+ "print \"with mode coupling, the total rms broadening = %0.2f ns\"%( Pt*10**9)#\n",
+ "print \"\\n The dispersion equalization penalty = %0.2f dB\"%( DL*10**4)#\n",
+ "print \"\\n without mode coupling, the total rms broadening = %0.2f dB\"%( Pt1*10**9)#\n",
+ "print \"\\n without mode coupling, equalization penalty = %0.2f dB\"%( DL1)#\n",
+ "print \"\\n without mode coupling,dispersion equalization penalty with 125 Mb/s = %0.2f dB\"%( DL2)#\n",
+ "print \"\\n with mode coupling,dispersion equalization penalty with 125 Mb/s = %0.2f dB\"%( DL3)#\n",
+ "print \"\\n The answer is wrong in the textbook\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.4 Page No: 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The length when system operating at 25 Mbps = 78.89 km\n",
+ "\n",
+ " The length when system operating at 350 Mbps = 56.67 km\n"
+ ]
+ }
+ ],
+ "source": [
+ "Pi=-2.5## mean optical power launched into the fiber in dBm\n",
+ "Po=-45## mean output optical power available at the receiver in dBm\n",
+ "a_fc=0.35## fider cable loss in dB/km\n",
+ "aj=0.1## splice loss in db/km\n",
+ "a_cr=1## connector losses\n",
+ "Ma=6## safety margin in dB\n",
+ "L=(Pi-Po-a_cr-Ma)/(a_fc+aj)## length in km when system operating at 25 Mbps\n",
+ "Po1=-35## mean output optical power available at the receiver in dBm\n",
+ "L1=(Pi-Po1-a_cr-Ma)/(a_fc+aj)## length in km when system operating at 350 Mbps\n",
+ "print \"The length when system operating at 25 Mbps = %0.2f km\"%( L)#\n",
+ "print \"\\n The length when system operating at 350 Mbps = %0.2f km\"%( L1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.5 Page No: 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The fider loss = 20.00 dB\n",
+ "\n",
+ " The total splicing loss = 3.20 dB\n",
+ "\n",
+ " The fangle effects & future splice = 5.00 dB\n",
+ "\n",
+ " The total attenuation = 29.20 dB\n",
+ "\n",
+ " The excess power margin = 2.80 dB\n",
+ "\n",
+ " hence the system can operate with small excess power margin\n"
+ ]
+ }
+ ],
+ "source": [
+ "Tx=-80## transmitter output in dBm\n",
+ "Rx=-40## receiver sensitivity in dBm\n",
+ "sm=32## system margin in dB\n",
+ "L=10## in km\n",
+ "fl=2*L## fider loss in dB\n",
+ "cl=1## detector coupling loss in dB\n",
+ "tl=0.4*8## total splicing loss in dB\n",
+ "ae=5## angle effects & future splice in dB\n",
+ "ta=29.2## total attenuation in dB\n",
+ "Ep=2.8## excess power margin in dB\n",
+ "print \"The fider loss = %0.2f dB\"%( fl)#\n",
+ "print \"\\n The total splicing loss = %0.2f dB\"%( tl)#\n",
+ "print \"\\n The fangle effects & future splice = %0.2f dB\"%( ae)#\n",
+ "print \"\\n The total attenuation = %0.2f dB\"%( ta)#\n",
+ "print \"\\n The excess power margin = %0.2f dB\"%( Ep)#\n",
+ "print \"\\n hence the system can operate with small excess power margin\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.6 Page No: 352"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max transmission length when transmission star coupler is used = 1.99 km\n",
+ "\n",
+ " The max transmission length when reflection star coupler is used = 1.24 km\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "Lc=1## connector loss in db\n",
+ "Ls=5## star coupler insertion loss in dB\n",
+ "af=2## fider loss in dB\n",
+ "Ps=-14## transmitted power in dBm\n",
+ "Pr=-49## receiver sensitivity in dBm\n",
+ "sm=6## system margin in dB\n",
+ "N=16#\n",
+ "L=(Ps-Pr-Ls-4*Lc-(10*log(N))/log(10)-sm)/(2*af)## max transmission length in km when transmission star coupler is used\n",
+ "N1=32#\n",
+ "L1=(Ps-Pr-Ls-4*Lc-(10*log(N1))/log(10)-sm)/(2*af)## max transmission length in km when reflection star coupler is used\n",
+ "print \"The max transmission length when transmission star coupler is used = %0.2f km\"%( L)#\n",
+ "print \"\\n The max transmission length when reflection star coupler is used = %0.2f km\"%( L1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.7 Page No: 353"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The system rise time = 18.51 ns\n",
+ "\n",
+ " The max bit rate for NRZ coding = 37.81 Mbit/s\n",
+ "\n",
+ " The max bit rate for RZ coding = 18.90 Mbit/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "y=860*10**-9## wavelength in m\n",
+ "L=5000## length in m\n",
+ "X=0.024#\n",
+ "dy=20*10**-9## spectral width in m\n",
+ "dts=6*10**-9## silica optical link rise time in s\n",
+ "dtr=8*10**-9## detector rise in s\n",
+ "c=3*10**8## speed of light in m/s\n",
+ "dtm=-(L*dy*X)/(c*y)## material dispersion delay time in s\n",
+ "id=2.5*10**-12## intermodel dispersion in s/m\n",
+ "dti=id*L## intermodel dispersion delay time\n",
+ "dtsy=sqrt((dts**2)+(dtr**2)+(dtm**2)+(dti**2))## system rise time in s\n",
+ "Br_max=0.7/dtsy## max bit rate for NRZ coding in bit/s\n",
+ "Br_max1=0.35/dtsy## max bit rate for RZ coding in bit/s\n",
+ "print \"The system rise time = %0.2f ns\"%( dtsy*10**9)#\n",
+ "print \"\\n The max bit rate for NRZ coding = %0.2f Mbit/s\"%( Br_max/10**6)#\n",
+ "print \"\\n The max bit rate for RZ coding = %0.2f Mbit/s\"%( Br_max1/10**6)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.8 Page No: 353"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The transmission distance for Si fiber = 71.43 m\n",
+ "\n",
+ " The transmission distance for GRIN fiber = 420.00 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "Br=50*10**6## data rate in b/s\n",
+ "c=3*10**8## speed of light in m/s\n",
+ "n1=1.47## \n",
+ "dl=0.02## \n",
+ "n12=n1*dl## the difference b/w n1 and n2\n",
+ "L_si=(0.35*c)/(n12*Br)## transmission distance for Si fiber\n",
+ "L_GI=(2.8*c*n1**2)/(2*n1*n12*Br)## transmission distance for GRIN fiber\n",
+ "print \"The transmission distance for Si fiber = %0.2f m\"%( L_si)#\n",
+ "print \"\\n The transmission distance for GRIN fiber = %0.2f m\"%( L_GI)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.9 Page No: 353"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The material dispersion limited transmission distance =627 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "Br=20.0*10**6## data rate in b/s\n",
+ "c=3*10**8## speed of light in m/s\n",
+ "y=86*10**-9## wavelength in m\n",
+ "dy=30*10**-9## spectral width in m\n",
+ "X=0.024#\n",
+ "Tb=1/Br#\n",
+ "Lmax=(0.35*Tb*c*y)/(dy*X)## material dispersion limited transmission distance for RZ coding in m\n",
+ "print \"The material dispersion limited transmission distance =%d m\"%( Lmax)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex:10.10 Page No: 354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The material dispersion limited distance = 12.54*10**10*1/Br m\n",
+ "\n",
+ " The model dispersion limited distance = 2.10*10**10*1/Br m\n",
+ "\n",
+ " The attenuation limited distance =60-20log(Br) km\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "y=860*10**-9## wavelength in m\n",
+ "c=3*10**8## speed of light in m/s\n",
+ "n1=1.47## \n",
+ "dl=0.02## \n",
+ "n12=n1*dl## the difference b/w n1 and n2\n",
+ "La=1/1000## loss a in dB/m\n",
+ "Pr=-65## receiver power in dB\n",
+ "Pt=-5## transmitted power in dB\n",
+ "dy=30*10**-9## line width in m\n",
+ "X=0.024#\n",
+ "Lmax=(0.35*c*y)/(dy*X)## material dispersion limited distance for RZ coding in m\n",
+ "L_GI=(1.4*c*n1)/(n12)## model dispersion limited distance for RZ coding in m\n",
+ "L_At=(Pt-Pr)/(La)## attenuation limited distance for RZ coding in m \n",
+ "print \"The material dispersion limited distance = %0.2f*10**10*1/Br m\"%( Lmax/10**10)#\n",
+ "print \"\\n The model dispersion limited distance = %0.2f*10**10*1/Br m\"%( L_GI/10**10)#\n",
+ "print \"\\n The attenuation limited distance =%d-20log(Br) km\"%( L_At/10**3)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/VivekMaindola/chap3.ipynb b/sample_notebooks/VivekMaindola/chap3.ipynb
new file mode 100644
index 00000000..299b3f5a
--- /dev/null
+++ b/sample_notebooks/VivekMaindola/chap3.ipynb
@@ -0,0 +1,617 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter No.3 : The cellular concept system design fundamentals"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.1 Page No.61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " The number of channels available per cell for 4-cell reuse system = 165 channels\n",
+ "\n",
+ " One control channel and 160 voice channels would be assigned to each cell.\n",
+ "\n",
+ " \n",
+ " The number of channels available per cell for 7-cell reuse system = 95 channels\n",
+ "\n",
+ " Each cell would have one control channel, four cells would have 90 voice channels and three cells would have 91 voice channels.\n",
+ "\n",
+ " \n",
+ " The number of channels available per cell for 12-cell reuse system = 55 channels\n",
+ "\n",
+ " Each cell would have one control channel, eight cells would have 53 voice channels and four cells would have 54 voice channels.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import ceil\n",
+ "# To compute the number of channels available per cell for a)four-cell reuse system a)seven-cell reuse system a)12-cell reuse system\n",
+ "\n",
+ "# Given data\n",
+ "B=33*10**6# # Total bandwidth allocated to particular FDD system in Hz\n",
+ "Bc=25*10**3# # Bandwidth per channel in Hz\n",
+ "Nc=2# # Number of simplex channels\n",
+ "Bc=Bc*Nc# # Channel bandwidth in Hz\n",
+ "\n",
+ "Ntotal=B/Bc# # Total number of channels\n",
+ "\n",
+ "#a) To compute the number of channels available per cell for four-cell reuse system\n",
+ "N=4# # frequency reuse factor\n",
+ "chpercell=Ntotal/N# # number of channels available per cell for four-cell reuse system\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n The number of channels available per cell for 4-cell reuse system = %0.0f channels\"%(chpercell)\n",
+ "print \"\\n One control channel and 160 voice channels would be assigned to each cell.\"\n",
+ "\n",
+ "# b) To compute the number of channels available per cell for seven-cell reuse system\n",
+ "N=7# # frequency reuse factor\n",
+ "chpercell=ceil(Ntotal/N)# # number of channels available per cell for seven-cell reuse system\n",
+ "\n",
+ "# Answer is varrying due to round-off error\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n The number of channels available per cell for 7-cell reuse system = %0.0f channels\"%(chpercell)\n",
+ "print \"\\n Each cell would have one control channel, four cells would have 90 voice channels and three cells would have 91 voice channels.\"\n",
+ "\n",
+ "# c) To compute the number of channels available per cell for 12-cell reuse system\n",
+ "N=12# # frequency reuse factor\n",
+ "chpercell=Ntotal/N# # number of channels available per cell for seven-cell reuse system\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n The number of channels available per cell for 12-cell reuse system = %0.0f channels\"%(chpercell)\n",
+ "print \"\\n Each cell would have one control channel, eight cells would have 53 voice channels and four cells would have 54 voice channels.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.2 Page No.72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Signal to noise ratio for n=4 with frequency reuse factor N=7 = 18.66 dB\n",
+ "\n",
+ " Signal to noise ratio for n=3 with frequency reuse factor N=7 = 12.05 dB\n",
+ "\n",
+ " Signal to noise ratio for n=3 with frequency reuse factor N=12 = 15.56 dB\n",
+ "\n",
+ " Since SIR is for n=3 with frequency reuse factor N=7 greater than the minimum required, so N=12 is used.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, log10\n",
+ "from __future__ import division\n",
+ "# To find frequency reuse factor for path loss exponent (n) a)n=4 b)n=3\n",
+ "\n",
+ "# Given data\n",
+ "SIdB=15# # Signal to interference(dB)\n",
+ "io=6# # Number of cochannel cell\n",
+ "\n",
+ "# For n=4\n",
+ "n1=4# # Path loss exponent\n",
+ "N1=7# # First consideration: frequency reuse factor N=7\n",
+ "DR1=sqrt(3*N1)# # Co-channel reuse ratio\n",
+ "si1=(1/io)*(DR1)**n1# # Signal to interference\n",
+ "sidB1=10*log10(si1)# # Signal to interference(dB)\n",
+ "\n",
+ "# For n=3\n",
+ "n2=3# # Path loss exmponent\n",
+ "si=(1/io)*(DR1)**n2# # Signal to interference for first consideration: frequency reuse factor N=7\n",
+ "sidB=10*log10(si)# # Signal to interference(dB)\n",
+ "\n",
+ "N2=12# # second consideration : frequency reuse factor N=12 since sidB<SIdB \n",
+ "DR2=sqrt(3*N2)# # Co-channel reuse ratio\n",
+ "si2=(1/io)*(DR2)**n2# # Signal to interference\n",
+ "sidB2=10*log10(si2)# # Signal to interference(dB)\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Signal to noise ratio for n=4 with frequency reuse factor N=7 = %0.2f dB\"%(sidB1)\n",
+ "print \"\\n Signal to noise ratio for n=3 with frequency reuse factor N=7 = %0.2f dB\"%(sidB)\n",
+ "print \"\\n Signal to noise ratio for n=3 with frequency reuse factor N=12 = %0.2f dB\"%(sidB2)\n",
+ "print \"\\n Since SIR is for n=3 with frequency reuse factor N=7 greater than the minimum required, so N=12 is used.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.4 Page No.80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Total number of users for 1 channel = 1\n",
+ "\n",
+ " Total number of users for 5 channel = 11\n",
+ "\n",
+ " Total number of users for 10 channel = 40\n",
+ "\n",
+ " Total number of users for 20 channel = 111\n",
+ "\n",
+ " Total number of users for 100 channel = 809\n"
+ ]
+ }
+ ],
+ "source": [
+ "# To find number of users for Number of channels (C) a)C=1 b)C=5 c)C=10 d)C=20 e)C=100\n",
+ "\n",
+ "# Given data\n",
+ "GOS=0.005# #G rade of Service\n",
+ "Au=0.1# # Traffic intensity per user\n",
+ "\n",
+ "# a)To find number of users for C=1\n",
+ "C1=1# # Number of channels\n",
+ "A1=0.005# # Total traffic intensity from Erlangs B chart\n",
+ "U1=(A1/Au)# # Number of users\n",
+ "U1=1# # Since one user could be supported on one channel\n",
+ "\n",
+ "# b)To find number of users for C=5\n",
+ "C2=5# # Number of channels\n",
+ "A2=1.13# # Total traffic intensity from Erlangs B chart\n",
+ "U2=round(A2/Au)# # Number of users\n",
+ "\n",
+ "# c)To find number of users for C=10\n",
+ "C3=10# # Number of channels\n",
+ "A3=3.96# # Total traffic intensity from Erlangs B chart\n",
+ "U3=round(A3/Au)# # Number of users\n",
+ "\n",
+ "# Answer is varrying due to round off error\n",
+ "\n",
+ "# d)To find number of users for C=20\n",
+ "C4=20# # Number of channels\n",
+ "A4=11.10# # Total traffic intensity from Erlangs B chart\n",
+ "U4=round(A4/Au)# # Number of users\n",
+ "\n",
+ "# Answer is varrying due to round off error\n",
+ "\n",
+ "# e)To find number of users for C=100\n",
+ "C5=100# # Number of channels\n",
+ "A5=80.9# # Total traffic intensity from Erlangs B chart\n",
+ "U5=round(A5/Au)# # Number of users\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Total number of users for 1 channel = %0.0f\"%(U1)\n",
+ "print \"\\n Total number of users for 5 channel = %0.0f\"%(U2)\n",
+ "print \"\\n Total number of users for 10 channel = %0.0f\"%(U3)\n",
+ "print \"\\n Total number of users for 20 channel = %0.0f\"%(U4)\n",
+ "print \"\\n Total number of users for 100 channel = %0.0f\"%(U5)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.5 Page No.83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Total number of users in system A = 47280\n",
+ "\n",
+ " The percentage market penetration of system A = 2.36\n",
+ "\n",
+ " \n",
+ " Total number of users in system B = 44100\n",
+ "\n",
+ " The percentage market penetration of system B = 2.205\n",
+ "\n",
+ " \n",
+ " Total number of users in system C = 43120\n",
+ "\n",
+ " The percentage market penetration of system C = 2.156\n",
+ "\n",
+ " \n",
+ " Total number of users in all 3 systems = 134500\n",
+ "\n",
+ " The combined Market penetration percentage of all systems = 6.725\n"
+ ]
+ }
+ ],
+ "source": [
+ "# To find number of users for a)system A b)system B c)system C\n",
+ "\n",
+ "# Given data\n",
+ "GOS=0.02# # Grade of Service (Probability of bloacking)\n",
+ "lamda=2# # Average calls per hour\n",
+ "H=(3/60)# # Call duration in seconds\n",
+ "\n",
+ "Au=lamda*H# # Traffic intensity per user\n",
+ "\n",
+ "# a)To find number of users for System A\n",
+ "C1=19# # Number of channels used\n",
+ "A1=12# # Traffic intensity from Erlang B chart\n",
+ "U1=round(A1/Au)# # Number of users per cell\n",
+ "cells1=394\n",
+ "TU1=U1*cells1# # Total number of users\n",
+ "MP1=TU1/(2*10**6)*100# # Market penetration percentage\n",
+ "\n",
+ "# b)To find number of users for System B\n",
+ "C2=57# # No. of channels used\n",
+ "A2=45# # Traffic intensity from Erlang B chart\n",
+ "U2=round(A2/Au)# # Number of users per cell\n",
+ "cells2=98\n",
+ "TU2=U2*cells2# # Total no. of users\n",
+ "MP2=TU2/(2*10**6)*100# # Market penetration percentage\n",
+ "\n",
+ "# c)To find number of users for System C\n",
+ "C3=100# # Number of channels used\n",
+ "A3=88# # traffic intensity from Erlang B chart\n",
+ "U3=round(A3/Au)# # Number of users per cell\n",
+ "cells3=49\n",
+ "TU3=U3*cells3# # Total no. of users\n",
+ "MP3=TU3/(2*10**6)*100# # Market penetration percentage\n",
+ "\n",
+ "TU=TU1+TU2+TU3# # Total number of users in all 3 systems\n",
+ "MP=TU/(2*10**6)*100# # Combined Market penetration percentage\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Total number of users in system A = %0.0f\"%(TU1)\n",
+ "print \"\\n The percentage market penetration of system A = %0.2f\"%(MP1)\n",
+ "print \"\\n \\n Total number of users in system B = %0.0f\"%(TU2)\n",
+ "print \"\\n The percentage market penetration of system B = %0.3f\"%(MP2)\n",
+ "print \"\\n \\n Total number of users in system C = %0.0f\"%(TU3)\n",
+ "print \"\\n The percentage market penetration of system C = %0.3f\"%(MP3)\n",
+ "print \"\\n \\n Total number of users in all 3 systems = %0.0f\"%(TU)\n",
+ "print \"\\n The combined Market penetration percentage of all systems = %0.3f\"%(MP)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.6 Page No.84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Number of cells in given system = 31 cells\n",
+ "\n",
+ " \n",
+ " Number of channels per cell in given system = 95 channels/cell\n",
+ "\n",
+ " \n",
+ " Traffic intensity in given system = 84 Erlangs/cell\n",
+ "\n",
+ " \n",
+ " Maximum carried traffic in given system = 2604 Erlangs\n",
+ "\n",
+ " \n",
+ " Total number of users = 86800 users\n",
+ "\n",
+ " \n",
+ " Number of mobiles per unique channel = 130 mobiles/channel\n",
+ "\n",
+ " \n",
+ " Theoretically maximum number of served mobiles is the number of available channels in the system.\n",
+ "\n",
+ " Theoretical Maximum number of users could be served at one time = 2945 users\n",
+ "It is 3.4% of customer base.\n"
+ ]
+ }
+ ],
+ "source": [
+ "# To find a)Number of cells in given area b)Number of channels/cell c)Traffic intensity per cell d)Maximum carried traffic e)Total number of users for 2% GOS f) Number of mobiles per unique channel g)Maximum number of users could be served at one time\n",
+ "\n",
+ "# Given data\n",
+ "Area=1300# # Total coverage area in m**2\n",
+ "R=4# # Radius of cell in m\n",
+ "N=7# # Frequecy reuse factor\n",
+ "S=40*10**6# # Allocated spectrum in Hz\n",
+ "Ch=60*10**3# # Channel width in Hz\n",
+ "\n",
+ "# a)Number of cells\n",
+ "CA=2.5981*R**2# # Area of hexagonal cell in m**2\n",
+ "Nc=round(Area/CA)# # Number of cells\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Number of cells in given system = %0.0f cells\"%(Nc)\n",
+ "\n",
+ "# b)Number of channels/cell\n",
+ "C1=round(S/(Ch*N))# # Number of channels\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n Number of channels per cell in given system = %0.0f channels/cell\"%(C1)\n",
+ "\n",
+ "# c) Traffic intensity per cell\n",
+ "C1=95# # Number of channels from b)\n",
+ "GOS=0.02# # Grade of service\n",
+ "A=84# # Traffic intensity from Erlang B chart\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n Traffic intensity in given system = %0.0f Erlangs/cell\"%(A)\n",
+ "\n",
+ "# d)Maximum carried traffic\n",
+ "traffic=Nc*A# # Maximum carried traffic\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n Maximum carried traffic in given system = %0.0f Erlangs\"%(traffic)\n",
+ "\n",
+ "# e)Total number of users for 2% GOS \n",
+ "trafficperuser=0.03# # Given traffic per user\n",
+ "U=traffic/trafficperuser# # Total number of users\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n Total number of users = %0.0f users\"%(U)\n",
+ "\n",
+ "# f) Number of mobiles per unique channel\n",
+ "C=666# # Number of channels\n",
+ "mobilesperchannel=round(U/C)# # Number of mobiles per unique channel\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n Number of mobiles per unique channel = %0.0f mobiles/channel\"%(mobilesperchannel)\n",
+ "\n",
+ "# g)Maximum number of users could be served at one time\n",
+ "print \"\\n \\n Theoretically maximum number of served mobiles is the number of available channels in the system.\"\n",
+ "C=C1*Nc# # Maximum number of users could be served at one time\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Theoretical Maximum number of users could be served at one time = %0.0f users\"%(C)\n",
+ "print \"It is 3.4% of customer base.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.7 Page 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Number of users per square km in given system = 62 users/sq km\n",
+ "\n",
+ " \n",
+ " Percentage of probability that delayed call have to wait longer than t=10 sec = 56.29 percent\n",
+ "\n",
+ " \n",
+ " Percentage of probability that call is delayed more than 10 sec = 2.81 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import exp\n",
+ "# To find a)number of users per square km b)probability that delayed call have to wait longer than t=10sec c)probability that call is delayed more than 10 sec\n",
+ "\n",
+ "# Given data\n",
+ "R=1.387# # Radius of cell in m\n",
+ "Area=2.598*R**2# # Area of hexagonal cell in m**2\n",
+ "cellpercluster=4# # Number of cells/cluster\n",
+ "channels=60# # Number of channels\n",
+ "\n",
+ "channelspercell=channels/cellpercluster# # Number of channels per cell\n",
+ "\n",
+ "# a)To find number of users per square km\n",
+ "A=0.029# # Traffic intensity per user\n",
+ "delayprob=0.05# # Grade of service\n",
+ "traffic=9# # Traffic intensity from Erlang chart C\n",
+ "U1=traffic/A# # Total number of users in 5sq.km.\n",
+ "U=round(U1/Area)# # Number of users per square km\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Number of users per square km in given system = %0.0f users/sq km\"%(U)\n",
+ "\n",
+ "# b)To find the probability that delayed call have to wait longer than t=10sec\n",
+ "lamda=1# # Holding time\n",
+ "H1=A/lamda# # Duration of call\n",
+ "H=H1*3600# # Duration of call in second\n",
+ "t=10\n",
+ "Pr=exp(-(channelspercell-traffic)*t/H)*100# # probability that delayed call have to wait longer than t=10sec.\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n Percentage of probability that delayed call have to wait longer than t=10 sec = %0.2f percent\"%(Pr)\n",
+ "\n",
+ "# c)To find the probability that call is delayed more than 10 sec\n",
+ "Pr10=delayprob*Pr# # probability that call is delayed more than 10 sec\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n \\n Percentage of probability that call is delayed more than 10 sec = %0.2f percent\"%(Pr10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.8 Page 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Number of channels without use of microcell = 300 channels\n",
+ "\n",
+ " \n",
+ " Number of channels with the use of lettered microcells = 660 channels\n",
+ "\n",
+ " \n",
+ " Number of channels if all base stations are replaced by microcells = 1020 channels\n"
+ ]
+ }
+ ],
+ "source": [
+ "# To find number of channels in 3 km by 3 km square centered around A in Figure 3.9 for a)without use of microcell b)with the use of lettered microcells c)all base stations are replaced by microcells\n",
+ "\n",
+ "# Given data\n",
+ "R=1# # Cell radius in km\n",
+ "r=0.5# # Micro-cell radius in km\n",
+ "Nc=60# # Number of channels in base station\n",
+ "\n",
+ "# a)To find number of channels without use of microcell\n",
+ "Nb1=5# # Number of base stations in given area\n",
+ "N1=Nb1*Nc# # Number of channels without use of microcell\n",
+ "\n",
+ "# b)To find number of channels with the use of lettered microcells\n",
+ "Nb2=6# # Number of lettered microcells\n",
+ "Nb2=Nb1+Nb2# # Total number of base stations in given area\n",
+ "N2=Nb2*Nc# # Number of channels with the use of lettered microcells\n",
+ "\n",
+ "# c)To find number of channels if all base stations are replaced by microcells\n",
+ "Nb3=12# # Number of all the microcells\n",
+ "Nb3=Nb1+Nb3# # Total number of base stations in given area\n",
+ "N3=Nb3*Nc# # Number of channels if all base stations are replaced by microcells\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Number of channels without use of microcell = %0.0f channels\"%(N1)\n",
+ "print \"\\n \\n Number of channels with the use of lettered microcells = %0.0f channels\"%(N2)\n",
+ "print \"\\n \\n Number of channels if all base stations are replaced by microcells = %0.0f channels\"%(N3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.9 Page 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Cell capacity of unsectored system = 1326 calls/hour\n",
+ "\n",
+ " \n",
+ " Cell capacity of 120 degree sectored system = 1008 calls/hour\n",
+ "\n",
+ " \n",
+ " Decrease in cell capacity in 120 degree sectored system = 24 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "# To analyze trunking efficiency capacity of sectoring and unsectoring\n",
+ "\n",
+ "# Given data\n",
+ "H=2/60# # Average call duration in hour\n",
+ "GOS=0.01# # Probability of blocking\n",
+ "\n",
+ "# Unsectored system\n",
+ "C1=57# # Number of traffic channels per cell in unsectored system\n",
+ "A=44.2# # Carried traffic in unsectored system\n",
+ "calls1=1326# # Number of calls per hour in unsectored system from Erlangs B table\n",
+ "\n",
+ "# 120 degree sectored system\n",
+ "C2=C1/3# # Number of traffic channels per antenna sector in 120 degree sectored system\n",
+ "calls2=336# # Number of calls per hour in 120 degree sectored system from Erlangs B table\n",
+ "Ns1=3# # Number of sectors\n",
+ "capacity=Ns1*calls2# # Cell capacity or number of calls handled by system per hour\n",
+ "\n",
+ "dif=calls1-capacity# # decrease in cell capacity in 120 degree sectored system\n",
+ "percentdif=(dif/calls1)*100# # decrease in cell capacity in 120 degree sectored system in percentage\n",
+ "\n",
+ "# Displaying the result in command window\n",
+ "print \"\\n Cell capacity of unsectored system = %0.0f calls/hour\"%(calls1)\n",
+ "print \"\\n \\n Cell capacity of 120 degree sectored system = %0.0f calls/hour\"%(capacity)\n",
+ "print \"\\n \\n Decrease in cell capacity in 120 degree sectored system = %0.0f percent\"%(percentdif)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}