diff options
Diffstat (limited to 'Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb')
-rwxr-xr-x | Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb | 674 |
1 files changed, 0 insertions, 674 deletions
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb deleted file mode 100755 index cdaa827a..00000000 --- a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb +++ /dev/null @@ -1,674 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:b75473f9f4345efd6ca0ec6782f30e07c9e95389ed3851945260a1b3129ea6b2" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Ch-10, Economic Operations of Steam Plants" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.2 Page 193" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "mp=250 #from example 10.1\n", - "def unit1(p1):\n", - " ic=0.2*p1+30\n", - " return ic\n", - "def unit2(p2):\n", - " ic=0.15*p2+40\n", - " return ic\n", - "mil=20\n", - "ttt=225\n", - "def un(ic):\n", - " p1=(ic-30)/0.2\n", - " p2=(ic-40)/0.15\n", - " return [p1, p2]\n", - "from numpy import arange\n", - "for x in arange(40,61,5):\n", - " [e,r]=un(x)\n", - " if ttt==e+r:\n", - " print \"for the same incremental costs unit1 should supply %dMW and unit 2 shold supply %dMW,for equal sharing each unit should supply %3.1fMW\"%(e,r,ttt/2)\n", - " break\n", - " \n", - "\n", - "opo=ttt/2\n", - "from sympy.mpmath import quad\n", - "u1=quad(unit1,[opo,e])\n", - "u2=quad(unit2,[r,opo])\n", - "uuu=(u1+u2)*8760\n", - "print \"\\nyearly extra cost is (%3.2f-%3.2f)8760 =%dper year\"%(u1,u2,uuu)\n", - "print \"\\nthis if the load is equally shared by the two units an extra cost of Rs.%d will be incurred.in other words economic loading would result in saving of Rs.%dper year\"%(uuu,uuu)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "for the same incremental costs unit1 should supply 125MW and unit 2 shold supply 100MW,for equal sharing each unit should supply 112.0MW\n", - "\n", - "yearly extra cost is (698.10-670.80)8760 =11991564per year\n", - "\n", - "this if the load is equally shared by the two units an extra cost of Rs.11991564 will be incurred.in other words economic loading would result in saving of Rs.11991564per year\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.3 Page 198" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def unit1(p1):\n", - " ic=0.2*p1+30\n", - " return ic\n", - "def unit2(p2):\n", - " ic=0.15*p2+40\n", - " return ic\n", - "tol=400\n", - "pd=50\n", - "u1c=5\n", - "u2c=1/0.15#from example10_1\n", - "p1pd=u1c/(u1c+u2c)\n", - "p2pd=u2c/(u1c+u2c)\n", - "pi=p1pd*pd\n", - "pt=p2pd*pd\n", - "print \"p1=%1.5fMW\\np2=%1.5fMW\"%(pi,pt)\n", - "p11=pi+tol/2\n", - "p22=pt+tol/2\n", - "up1=unit1(p11)\n", - "up2=unit2(p22)\n", - "print \"\\nthe total load on 2 units would be %3.2fMW and %3.2fMW respectevily. it is easy to check that incremental cost will be same for two units at these loading.\\n incremental cost of unit1 is %3.2fRs.MW,\\n incremantal cost of unit 2 is %3.2fRs./MW\"%(p11,p22,up1,up2)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "p1=21.42857MW\n", - "p2=28.57143MW\n", - "\n", - "the total load on 2 units would be 221.43MW and 228.57MW respectevily. it is easy to check that incremental cost will be same for two units at these loading.\n", - " incremental cost of unit1 is 74.29Rs.MW,\n", - " incremantal cost of unit 2 is 74.29Rs./MW\n" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example10.5 Page 200" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "i1=0.8\n", - "i2=1.0\n", - "l1=complex(0.04,0.12)\n", - "l2=complex(0.03,0.1)\n", - "l3=complex(0.03,0.12)\n", - "vl=1\n", - "\n", - "i3=i1+i2\n", - "v1=vl+i3*(l1)+i1*(l2)\n", - "v2=vl+i3*(l1)+i2*(l3)\n", - "p1=(i1*v1).real\n", - "p2=(i2*v2).real\n", - "cos1=(v1).real/abs(v1)\n", - "cos2=(v2).real/abs(v2)\n", - "b11=abs(((l1).real+(l2).real)/(v1**2*cos1**2))\n", - "b22=abs(((l1).real+(l3).real)/(v2**2*cos2**2))\n", - "b12=abs(((l1).real/(v1*v2*cos1*cos2)))\n", - "pl=(p1**2)*b11+(p2**2)*b22+2*p1*p2*b12\n", - "print \"i1+i3=%dpu\\nv1=%1.3f+%1.3fp.u\\nv2=%1.3f+%1.3fp.u\\np1=%1.3fp.u\\np2=%1.3fp.u\\ncos(ph1)=%1.3f\\ncos(ph2)=%1.3f\\nb11=%1.5fp.u\\nb22=%1.5fp.u\\nb12=%1.5fp.u\\npl=%1.6fp.u\"%(i3,v1.real,(v1).imag,v2.real,(v2).imag,p1,p2,cos1,cos2,b11,b22,b12,pl)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "i1+i3=1pu\n", - "v1=1.096+0.296p.u\n", - "v2=1.102+0.336p.u\n", - "p1=0.877p.u\n", - "p2=1.102p.u\n", - "cos(ph1)=0.965\n", - "cos(ph2)=0.957\n", - "b11=0.05827p.u\n", - "b22=0.05764p.u\n", - "b12=0.03312p.u\n", - "pl=0.178800p.u\n" - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example10.7 Page 206" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "from math import atan, cos\n", - "za=complex(0.03,0.09)\n", - "zb=complex(0.1,0.3)\n", - "zc=complex(0.03,0.09)\n", - "zd=complex(0.04,0.12)\n", - "ze=complex(0.04,0.12)\n", - "ia=complex(1.5,-0.4)\n", - "ib=complex(0.5,-0.2)\n", - "ic=complex(1,-0.1)\n", - "id=complex(1,-0.2)\n", - "ie=complex(1.5,-0.3)\n", - "il1=.4\n", - "il2=.6\n", - "na1=1 ;nb1=0.6; nc1=0; nd1=.4; ne1=.6\n", - "na2=0 ;nb2=-0.4; nc2=1 ;nd2=.4; ne2=.6\n", - "vl=1\n", - "#some thing is messed\n", - "v1=vl+za*ia\n", - "v2=vl-zb*ib+zc*ic\n", - "a1=atan((ia).imag/(ia).real)\n", - "a2=atan((ic).imag/(ic).real)\n", - "cosa=cos(a1-a2)\n", - "cosph1=cos(atan((v1).imag/(v1).real)-a1)\n", - "cosph2=cos(atan((v2).imag/(v2).real)-a2)\n", - "b11=(na1**2*(za).real+nb1**2*(zb).real+nc1**2*(zc).real+nd1**2*(zd).real+ne1**2*(ze).real)/(abs(v1)**2*cosph1)\n", - "b22=(na2**2*(za).real+nb2**2*(zb).real+nc2**2*(zc).real+nd2**2*(zd).real+ne2**2*(ze).real)/((abs(v2)**2)*cosph2)\n", - "bb12=(abs(v1)*abs(v2)*cosph1*cosph2)\n", - "ab12=(na2*na1*(za).real+nb2*nb1*(zb).real+nc1*nc2*(zc).real+nd2*nd1*(zd).real+ne2*ne1*0.03)\n", - "b12=cosa*ab12/bb12\n", - "print \"bus voltages at 2 buses are \\nv1=%1.3f+i%1.3f,\\nv2=%1.3f+i%1.3f\"%((v1).real,(v1).imag,(v2).real,(v2).imag)\n", - "print \"\\nloss coffecients are \\nb11=%1.5fp.u\\nb22=%1.5fp.u\\nb12=%1.5fp.u \\n\"%(b11,b22,b12)\n", - "print \"loss coffecients in actual values is \\nb11=%eM(W)-1\\nb22=%eM(W)-1\\nb12=%eM(W)-1\\n\"%(b11/100,b22/100,b12/100)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "bus voltages at 2 buses are \n", - "v1=1.081+i0.123,\n", - "v2=0.929+i-0.043\n", - "\n", - "loss coffecients are \n", - "b11=0.07877p.u\n", - "b22=0.07735p.u\n", - "b12=-0.00714p.u \n", - "\n", - "loss coffecients in actual values is \n", - "b11=7.877236e-04M(W)-1\n", - "b22=7.734557e-04M(W)-1\n", - "b12=-7.136298e-05M(W)-1\n", - "\n" - ] - } - ], - "prompt_number": 16 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.8 Page 207" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "r1=22 ;r2=30 ;q1=0.2 ;q2=0.15\n", - "b22=0; b12=0 ;p1=100 ;pl=15#transmission losses are 0\n", - "b11=pl/(p1)**2\n", - "def power(x): #mathematical computation\n", - " p1=(x-r1)/(q1+2*b11*x)\n", - " p2=(x-r2)/q2\n", - " return [p1, p2]\n", - "[a,b]=power(60)\n", - "print \"l1=1/(1-%.3f*p1)\\nl2=[1/(1-0)]=1\\ngiven lamda=60\\nsince ic1*l1=lamda ic2*l2=lamda\\ntotal load=%dMW\"%(b11*2,a+b-(b11*a**2))" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "l1=1/(1-0.000*p1)\n", - "l2=[1/(1-0)]=1\n", - "given lamda=60\n", - "since ic1*l1=lamda ic2*l2=lamda\n", - "total load=390MW\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.9 Page 208" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "r1=22 ;r2=30 ;q1=0.2 ;q2=0.15\n", - "b22=0; b12=0 ;p1=100 ;pl=15#transmission losses are 0\n", - "b11=pl/(p1)**2\n", - "def power(x): #mathematical computation\n", - " p1=(x-r1)/(q1+2*b11*x)\n", - " p2=(x-r2)/q2\n", - " return [p1,p2]\n", - "[a,b]=power(60)\n", - "pt=a+b-(b11*a**2)\n", - "from sympy.mpmath import quad\n", - "#z=quad('q1*u+r1','u',a,161.80)\n", - "z=quad(lambda u:q1*u+r1,[a,161.80])\n", - "#y=quad('q2*v+r2','v',b,162.5)\n", - "y=quad(lambda v:q2*v+r2,[b,162.5])\n", - "m=z+y\n", - "print \"net change in cost =Rs.%dper hour\"%(m)\n", - "print \"\\nthus scheduling the generation by taking transmission losses into account would mean a saving of Rs.%dper hour in fuel cost\"%(m)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "net change in cost =Rs.-3757per hour\n", - "\n", - "thus scheduling the generation by taking transmission losses into account would mean a saving of Rs.-3757per hour in fuel cost\n" - ] - } - ], - "prompt_number": 18 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.10 Page 208" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "b11=0.001\n", - "b12=-0.0005\n", - "b22=0.0024\n", - "q1=0.08\n", - "r1=16\n", - "q2=0.08\n", - "r2=12\n", - "lamda=20\n", - "\n", - "p2=0\n", - "for x in range(1,5):\n", - " p1=(1-(r1/lamda)-(2*p2*b12))/((q1/lamda)+2*b11)\n", - " p2=(1-(r2/lamda)-(2*p1*b12))/((q2/lamda)+2*b22)\n", - "\n", - "pl=b11*p1**2+2*b12*p1*p2+b22*p2**2\n", - "pr=p1+p2-pl\n", - "print \"p1=%2.1fMW,p2=%2.1fMW\\npl=%1.1fMW\\npower recevied %2.1fMW\"%(p1,p2,pl,pr)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "p1=189.2MW,p2=135.1MW\n", - "pl=54.1MW\n", - "power recevied 270.3MW\n" - ] - } - ], - "prompt_number": 19 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.11 Page 209" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "a1=561 ;b1=7.92 ;c1=0.001562\n", - "a2=310 ;b2=7.85 ;c2=0.00194\n", - "ce=c1*c2/(c1+c2)\n", - "print \"ce=%e\"%(ce)\n", - "be=((b1/c1)+(b2/c2))*ce\n", - "print \"be=%1.4f\"%(be)\n", - "ae=a1-((b1**2)/4*c1)+a2-((b2**2)/4*c2)+((be**2)/4*ce)\n", - "print \"ae=%3.3f \\ncost characteristics of composite unit for demand pt is \\nct=%3.3f+%1.4f*p1+%ep1**2\"%(ae,ae,be,ce)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "ce=8.652998e-04\n", - "be=7.8888\n", - "ae=870.959 \n", - "cost characteristics of composite unit for demand pt is \n", - "ct=870.959+7.8888*p1+8.652998e-04p1**2\n" - ] - } - ], - "prompt_number": 20 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.12 Page 210" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "a1=7700 ;b1=52.8 ;c1=5.5*10**-3\n", - "a2=2500; b2=15 ;c2=0.05#given eqution\n", - "plo=200 ;pup=800\n", - "ct=1000\n", - "l=[500,900,1200,500] ;t=[6, 16 ,20 ,24]#from given graph\n", - "def cost(y):\n", - " p1=(2*c2*y-(b1-b2))/(2*(c1+c2))\n", - " p2=y-p1\n", - " return [p1,p2]\n", - "ma=max(l)\n", - "mi=min(l)\n", - "for x in range(0,3):\n", - " [e ,g]=cost(l[x])\n", - " if e<plo or g<plo or e>pup or g>pup:\n", - " if e<plo or g<plo:\n", - " v=min(e,g)\n", - " [u for u, j in enumerate((e,g)) if j == v]\n", - " if u==0:\n", - " e=plo\n", - " g=l(x)-e\n", - " else:\n", - " g=plo\n", - " e=l[x]-g\n", - " \n", - " \n", - "print \"\\np1=%3.2fMW\\tp2=%3.2fMW\"%(e,g)\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "p1=1000.00MW\tp2=200.00MW\n" - ] - } - ], - "prompt_number": 21 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.13 Page 211" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "a1=2000 ;b1=20 ;c1=0.05; p1=350; p2=550\n", - "a2=2750 ;b2=26 ;c2=0.03091\n", - "def cost(a,b,c,p):\n", - " co=a+b*p+c*p**2\n", - " return co\n", - "print \"(a)\"\n", - "toco=cost(a1,b1,c1,p1)+cost(a2,b2,c2,p2)\n", - "print \"total cost when each system supplies its own load Rs%.3f per hour\"%(toco)\n", - "l=p1+p2\n", - "p11=(b2-b1+2*c2*l)/(2*(c1+c2))\n", - "p22=l-p11\n", - "totco=cost(a1,b1,c1,p11)+cost(a2,b2,c2,p22)\n", - "sav=toco-totco\n", - "tilo=p11-p1\n", - "print \"(b)\"\n", - "print \"\\n total cost when load is supplied in economic load dispatch method Rs%d per hour \\n saving %.3f \\n tie line load %.3f MW\"%(totco,sav,tilo)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "(a)\n", - "total cost when each system supplies its own load Rs41525.275 per hour\n", - "(b)\n", - "\n", - " total cost when load is supplied in economic load dispatch method Rs41447 per hour \n", - " saving 77.277 \n", - " tie line load 30.905 MW\n" - ] - } - ], - "prompt_number": 22 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example10.14 Page 212" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "a1=5000 ;b1=450 ;c1=0.5 #for system 1 \n", - "e1=0.02 ;e2=-0.02#error\n", - "a1c=a1*(1-e1); b1c=b1*(1-e1) ;c1c=c1*(1-e1)\n", - "a2c=a1*(1-e2) ;b2c=b1*(1-e2) ;c2c=c1*(1-e2)\n", - "tl=200\n", - "def cost(a,b,c,p):\n", - " co=a+b*p+c*p**2\n", - " return co\n", - "p11=(b2c-b1c+2*c2c*tl)/(2*(c1c+c2c))\n", - "p22=tl-p11\n", - "totco=cost(a1c,b1c,c1c,p11)+cost(a2c,b2c,c2c,p22)\n", - "print \"\\npower at station 1 is %dMW \\t power at station 2 is %dMW \\n total cost on economic critieria method Rs%d per hour\"%(p11,p22,totco)\n", - "tocoe=cost(a1c,b1c,c1c,tl/2)+cost(a2c,b2c,c2c,tl/2)\n", - "eop=tocoe-totco\n", - "print \"\\nextra operating cost due to erroneous scheduling Rs.%d per hour\"%(eop)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "power at station 1 is 111MW \t power at station 2 is 89MW \n", - " total cost on economic critieria method Rs109879 per hour\n", - "\n", - "extra operating cost due to erroneous scheduling Rs.121 per hour\n" - ] - } - ], - "prompt_number": 23 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.16 Page 215" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "#given\n", - "ia=32 ;ib=32 ;ic=1.68; f=10**5\n", - "wt=18; rt=24-wt\n", - "p=30\n", - "def inpu(a,b,c,f,t,p):\n", - " In=(a+b*p+c*p**2)*f*t\n", - " return In\n", - "hi1=inpu(ia,ib,ic,f,wt,p); hi2=inpu(ia,ib,ic,f,rt,p/2)\n", - "print \"(a)\"\n", - "print \"for full load condition for %d hours is %ekj \\n for half load condition for%d s %ekj \\n total load %ekj\"%(wt,hi1,rt,hi2,hi1+hi2)\n", - "print \"(b)\"\n", - "te=p*wt+(p/2)*rt\n", - "ul=te/24\n", - "hin=inpu(ia,ib,ic,f,24,ul)\n", - "sav=hi1+hi2-hin\n", - "savp=sav/(te*1000)\n", - "print \"\\n total energy produced\\t%dMW \\n unifor load\\t%dMW \\n heat input under uniform load condition %ekj \\n saving in heat energy %ekj \\n saving in heat energy per kWh %dkj/kWh\"%(te,ul,hin,sav,savp)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "(a)\n", - "for full load condition for 18 hours is 4.507200e+09kj \n", - " for half load condition for6 s 5.340000e+08kj \n", - " total load 5.041200e+09kj\n", - "(b)\n", - "\n", - " total energy produced\t630MW \n", - " unifor load\t26MW \n", - " heat input under uniform load condition 4.799232e+09kj \n", - " saving in heat energy 2.419680e+08kj \n", - " saving in heat energy per kWh 384kj/kWh\n" - ] - } - ], - "prompt_number": 24 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "example 10.17 Page 216" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "#given\n", - "a1=450 ;b1=6.5 ;c1=0.0013\n", - "a2=300 ;b2=7.8 ;c2=0.0019\n", - "a3=80 ;b3=8.1 ;c3=0.005\n", - "tl=800#total load\n", - "ma = [600, 400, 200]\n", - "mi = [100, 50, 50]\n", - "d=np.mat([[1 ,1, 1] ,[2*c1, -2*c2, 0], [0, -2*c2, 2*c3]])\n", - "p=np.mat([[tl], [(b2-b1)], [(b2-b3)]]) \n", - "pp=(d**-1)*p #matrix inversion method\n", - "print \"\\nloads on generaating station by economic creatirian method isp1=%fMW,p2=%fMW,p3=%fMW\"%(pp[0],pp[1],pp[2])\n", - "for i in range(0,3):\n", - " if pp[i]<mi[i]:\n", - " pp[i]=mi[i]\n", - " \n", - " if pp[i]>mi[i]:\n", - " pp[i]=ma[i]\n", - " \n", - "\n", - "pp[1] = tl-pp[0] - pp[2]\n", - "print \"\\nloads on generating station under critical conditions p1=%dMW p2=%dMW p3=%dMW\"%(pp[0],pp[1],pp[2])" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "loads on generaating station by economic creatirian method isp1=669.734705MW,p2=116.134272MW,p3=14.131023MW\n", - "\n", - "loads on generating station under critical conditions p1=600MW p2=150MW p3=50MW\n" - ] - } - ], - "prompt_number": 25 - } - ], - "metadata": {} - } - ] -} |