diff options
Diffstat (limited to 'Power_Plant_Engineering_by_P._K._Nag/Ch1.ipynb')
-rw-r--r-- | Power_Plant_Engineering_by_P._K._Nag/Ch1.ipynb | 860 |
1 files changed, 860 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 +} |