diff options
35 files changed, 15188 insertions, 0 deletions
diff --git a/Electronic_Devices_and_Circuits_by_J._Paul/Ch1.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch1.ipynb new file mode 100644 index 00000000..780683b1 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch1.ipynb @@ -0,0 +1,982 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1 - Semiconductor Physics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 24 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "minority concentration = 2.25e+12 per metre square\n", + "shift in fermi = 0.23 volt\n", + "minority concentration when n doubled = 9.00e+12 per cubic metre\n" + ] + } + ], + "source": [ + "from math import log\n", + "incaco=1.5*10**16##cubic metre\n", + "resist=2*10**3##ohm metre\n", + "dopcon=10**20##metre\n", + "q=26*10**-3##electron volt\n", + "#(1)\n", + "w=2.25*10**32/dopcon#\n", + "#(3)\n", + "shifer=q*log(dopcon/incaco)##shift in fermi level\n", + "ni=9*10**32#\n", + "#(3)\n", + "w1=ni/dopcon#\n", + "print \"minority concentration = %0.2e\"%((w)),\"per metre square\"#\n", + "print \"shift in fermi = %0.2f\"%((shifer)),\"volt\"#\n", + "print \"minority concentration when n doubled = %0.2e\"%((w1)),\"per cubic metre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 25 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "conductivity = 7.12e+24 second per metre\n", + "drift velocity = 10.44 metre per second\n", + "density = 2.14e+28 ampere per cubic metre\n" + ] + } + ], + "source": [ + "numfre=7.87*10**28##per cubic metre\n", + "molity=34.8##square centimetre/velocity second\n", + "e=30##volt per centimetre\n", + "#(1)\n", + "molity=molity*10**-4#q=1.6*10**-19#\n", + "conduc=numfre*q*molity#\n", + "#(2)\n", + "e=e*10**2#\n", + "veloci=(molity*e)#\n", + "curden=conduc*e#\n", + "print \"conductivity = %0.2e\"%((conduc)),\"second per metre\"#\n", + "print \"drift velocity = %0.2f\"%((veloci)),\"metre per second\"#\n", + "print \"density = %0.2e\"%((curden)),\"ampere per cubic metre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 26 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "conductivity = 0.0224 second per centimetre\n", + "conductivity at extent of 1 impurity = 0.30 second per centimetre\n", + "conductivity acceptor to extent of 1 impurity = 1.30 second per centimetre\n" + ] + } + ], + "source": [ + "ni=2.5*10**13##per square centimetre\n", + "moe=3800#square centimetre/velocity second\n", + "mo1=1800##square centimetre/velocity second\n", + "num=4.51*10**22##number of atoms\n", + "q=1.6*10**-19#\n", + "conduc=ni*q*(moe+mo1)#\n", + "num=num/10**7#\n", + "impura=(ni**2)/num#\n", + "ni=5*10**14#\n", + "condu1=ni*q*moe#\n", + "print \"conductivity = %0.4f\"%((conduc)),\"second per centimetre\"#\n", + "print \"conductivity at extent of 1 impurity = %0.2f\"%((condu1)),\"second per centimetre\"##there is mistake in book as 3.04s/cm\n", + "conduc=num*q*mo1#\n", + "print \"conductivity acceptor to extent of 1 impurity = %0.2f\"%((conduc)),\"second per centimetre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 27 example 4" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "conductivity intrinisc at 300kelvin = 4.32e-06 second per centimetre\n", + "conductivity when donor atom added to extent of 1 impurity = 0.104 second per centimetre\n", + "conductivity when acceptor added to extent of 1 impurity = 0.040 second per centimetre\n" + ] + } + ], + "source": [ + "ni=1.5*10**10##per cubic centimetre\n", + "moe=1300##square centimetre/velocity second\n", + "mo1=500##square centimetre/velocity second\n", + "w=5*10**22##atoms per cubic centimetre\n", + "q=1.6*10**-19#\n", + "#(a) conductivity intrinisc at 300kelvin\n", + "conduc=ni*q*(moe+mo1)##conductivity\n", + "u=((ni)/(5*10**14))#\n", + "ni=5*10**14#\n", + "#(b)conductivity when donor atom added to extent of 1 impurity\n", + "condu1=ni*q*moe#\n", + "print \"conductivity intrinisc at 300kelvin = %0.2e\"%((conduc)),\"second per centimetre\"#\n", + "print \"conductivity when donor atom added to extent of 1 impurity = %0.3f\"%((condu1)),\"second per centimetre\"#\n", + "#conductivity when acceptor added to extent of 1 impurity\n", + "conduc=ni*q*mo1#\n", + "print \"conductivity when acceptor added to extent of 1 impurity = %0.3f\"%((conduc)),\"second per centimetre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 28 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "conductivity intrinisc at 300kelvin = 0.022 second per centimetre\n", + "conductivity with donor impurity 1 = 27.36 second per centimetre\n", + "conductivity with acceptor impurity 1 = 2.88e-09 second per centimetre\n", + "conductivity on both = 24.62 second per centimetre\n" + ] + } + ], + "source": [ + "ni=2.5*10**13##per cubic centimetre\n", + "moe=3800##square centimetre/velocity second\n", + "mo1=1800##square centimetre/velocity second\n", + "w=4.5*10**22##atoms per cubic centimetre\n", + "q=1.6*10**-19#\n", + "#(1) conductivity intrinisc at 300kelvin\n", + "conduc=ni*q*(moe+mo1)#\n", + "u=10**6#\n", + "u=((w)/(u))#\n", + "#(2) conductivity with donor impurity 1\n", + "condu1=u*q*moe#\n", + "print \"conductivity intrinisc at 300kelvin = %0.3f\"%((conduc)),\"second per centimetre\"#\n", + "print \"conductivity with donor impurity 1 = %0.2f\"%((condu1)),\"second per centimetre\"#\n", + "u=10**7#u=w/u#\n", + "#(3) conductivity with acceptor impurity 1\n", + "conduc=u*q*mo1#\n", + "print \"conductivity with acceptor impurity 1 = %0.2e\"%((conduc)),\"second per centimetre\"#\n", + "u=0.9*(w/10**6)#\n", + "#(4) conductivity on both\n", + "conduc=u*q*moe#\n", + "print \"conductivity on both = %0.2f\"%((conduc)),\"second per centimetre\"#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 29 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fermi = 0.33 electron volt\n", + "fermi below the conduction band\n" + ] + } + ], + "source": [ + "ferlev=0.3##electron volt\n", + "u=300##kelvin\n", + "u1=330##kelvin\n", + "ferlev=ferlev*u1/u#\n", + "print \"fermi = %0.2f\"%((ferlev)),\"electron volt\"#\n", + "print \"fermi below the conduction band\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 29 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fermi = 0.17 electron volt\n" + ] + } + ], + "source": [ + "from math import log\n", + "ferlev=0.02##electron volt\n", + "q=4##donor impurity added\n", + "w=0.025##electron volt\n", + "ferlev=-((log(q)-8))/40#\n", + "print \"fermi = %0.2f\"%((ferlev)),\"electron volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 30 example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance = 1570.39 ohm\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "area=1.5*10**-2##centimetre square\n", + "w=1.6##centimetre\n", + "resist=20##ohm centimetre\n", + "durati=60*10**-6##second in book given as mili\n", + "quanti=8*10**15##photons per second\n", + "\n", + "\n", + "#(1) resistance at each photon gives a electron hole pair\n", + "up=1800##centimetre square per velocity second\n", + "un=3800##centimetre square per velocity second\n", + "q=1.6*10**-19##coulomb\n", + "ni=2.5*10**13##per cubic centimetre\n", + "sigma1=1/resist#\n", + "z1=3800#\n", + "z=-sigma1/q#\n", + "u=ni**2/up#\n", + "#n=poly([(z1) z u],'n')#\n", + "n=symbols('n')\n", + "expr=z1*n**2+z*n+u\n", + "n=solve(expr,n)[1]\n", + "n=7.847*10**13##n>ni taken so it is admissible\n", + "p1=ni**2/n#\n", + "volume=w*area#\n", + "nchang=quanti*durati/volume#\n", + "pchang=nchang#\n", + "sigm11=q*((n+nchang)*un+(pchang+p1)*up)#\n", + "resis1=1/sigm11#\n", + "r1=resis1*w/area#\n", + "print \"resistance = %0.2f\"%((r1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 31 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "concentration of electron = 8660254037.84 per cubic centimetre\n", + "concentration of holes = 25980762113.53 per cubic centimetre\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "moe=1350##square centimetre/velocity second\n", + "mo1=450##square centimetre/velocity second\n", + "ni=1.5*10**10##per cubic centimetre\n", + "concn1=ni*((sqrt(mo1/moe)))##concentration\n", + "concne=((ni**2)/(concn1))\n", + "\n", + "print \"concentration of electron = %0.2f\"%((concn1)),\"per cubic centimetre\"#\n", + "print \"concentration of holes = %0.2f\"%((concne)),\"per cubic centimetre\"#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 32 example 10" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "concentration of hole = 1.09e+21 per cubic centimetre\n", + "concentration of electron = 2.07e+11 per cubic centimetre\n" + ] + } + ], + "source": [ + "resist=0.12##ohm metre\n", + "q=1.6*10**-19#\n", + "concn1=((1/resist)/(0.048*q))##concentration of hole\n", + "concne=((1.5*10**16)**(2))/concn1##concentration of electron\n", + "print \"concentration of hole = %0.2e\"%((concn1)),\"per cubic centimetre\"#\n", + "print \"concentration of electron = %0.2e\"%((concne)),\"per cubic centimetre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 32 example 11" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "concentration of acceptor atoms = 6.25e+19 per cubic metre\n" + ] + } + ], + "source": [ + "resist=1*10**3##ohm\n", + "w=20*10**-6##wide metre\n", + "w1=400*10**-6##long metre\n", + "mo1=500##square centimetre/velocity second\n", + "q=1.6*10**-19#\n", + "conduc=(resist*w*4*10**-6)/w1#\n", + "concentration=((1)/(conduc*mo1*q))#\n", + "print \"concentration of acceptor atoms = %0.2e\"%((concentration)),\"per cubic metre\"##correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 32 example 12" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dn constants = 98.80 square metre per second\n", + "dp constants = 33.80 square metre per second\n" + ] + } + ], + "source": [ + "w=0.026#\n", + "moe=3800##square centimetre/velocitysecond\n", + "mo1=1300##square centimetre/velocitysecond\n", + "u=(moe*w)#\n", + "u1=(mo1*w)#\n", + "print \"dn constants = %0.2f\"%((u)),\"square metre per second\"##correction in the book\n", + "print \"dp constants = %0.2f\"%((u1)),\"square metre per second\"##correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 33 example 13" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "distance of fermi level from center = 0.021 electron volt\n" + ] + } + ], + "source": [ + "from math import log\n", + "w=0.026*(3/2)*log(3)/2#\n", + "print \"distance of fermi level from center = %0.3f\"%((w)),\" electron volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 33 example 14" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistivity = 44.64 ohm centimetre\n", + "resistivity equal to 45\n", + "resistivity = 32.42 ohm centimetre\n", + "resistivity equal to 32.4\n" + ] + } + ], + "source": [ + "up=1800##centimetre square per velocity second\n", + "un=3800##centimetre square per velocity second\n", + "\n", + "#(1) resistivity is 45 ohm\n", + "q=1.6*10**-19##coulomb\n", + "ni=2.5*10**13#\n", + "sigma1=(un+up)*q*ni#\n", + "resist=1/sigma1#\n", + "print \"resistivity = %0.2f\"%((resist)),\" ohm centimetre\"#\n", + "print \"resistivity equal to 45\"#\n", + "#(2) impurity added to extent of 1 atom per 10**9\n", + "n=4.4*10**22/10**9\n", + "p1=ni**2/n#\n", + "sigma1=(n*un+p1*up)*q#\n", + "resist=1/sigma1\n", + "print \"resistivity = %0.2f\"%((resist)),\" ohm centimetre\"#\n", + "print \"resistivity equal to 32.4\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 34 example 15" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "concentration of the a free electrons = 1.05e+04\n", + "concentration of the a free holes = 1.00e+14\n", + "sample p\n", + "n = 1.00e+15 electrons per cubic centimetre\n", + "p = 1.10e+15 holes per cubic centimetre\n", + "essentially intrinsic\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve, exp\n", + "nd=4*10**14##atoms per cubic centimetre\n", + "na=5*10**14##atoms per cubic centimetre\n", + "#(1) concentration\n", + "ni=2.5*10**13#\n", + "np=ni**2#\n", + "#p1=n+10**14\n", + "z=1#\n", + "z1=10**14#\n", + "u=-ni**2#\n", + "#n=poly([z z1 u],'q')#\n", + "n=symbols('n')\n", + "expr = z*n**2+z1*n+u\n", + "n = solve(expr,n)[1]\n", + "n=1.05*10**4#\n", + "print \"concentration of the a free electrons = %0.2e\"%((n))\n", + "p1=n+10**14#\n", + "print \"concentration of the a free holes = %0.2e\"%((p1))\n", + "#(2)\n", + "print \"sample p\"#\n", + "a=ni**2/(300**3*exp(-(0.785/0.026)))#\n", + "w=400##kelvin\n", + "ni=sqrt(a*w**3*exp(-0.786/(8.62*10**-5*w)))#\n", + "ni=((n)*(n+10**14))/10**3#\n", + "n=ni-0.05*10**15#\n", + "print \"n = %0.2e\"%((n)),\"electrons per cubic centimetre\"\n", + "p1=n+10**14#\n", + "print \"p = %0.2e\"%((p1)),\"holes per cubic centimetre\"\n", + "\n", + "print \"essentially intrinsic\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 35 example 16" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "concentration of n = 6.00e+08 electrons per cubic centimetre\n", + "concentration of holes = 1.04e+18 holes per cubic centimetre\n" + ] + } + ], + "source": [ + "w=300##kelvin\n", + "conduc=300##ohm centimetre inverse\n", + "u=1800#\n", + "p=conduc/(u*1.6*10**-19)##concentration holes\n", + "n=(2.5*10**13)**2/(p)#\n", + "print \"concentration of n = %0.2e\"%((n)),\"electrons per cubic centimetre\"\n", + "print \"concentration of holes = %0.2e\"%((p)),\"holes per cubic centimetre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 35 example 17" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current density = 0.17 ampere per square centimetre\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "nd=10**14##atoms per cubic centimetre\n", + "na=5*10**13##atoms per cubic centimetre\n", + "un=3800#\n", + "up=1800#\n", + "q=1.6*10**-19##coulomb\n", + "resist=80##ohm metre\n", + "e1=5##volt per metre\n", + "w=nd-na#\n", + "ni=(un+up)*q*resist#\n", + "n=symbols('n')\n", + "#p1=oly([1 w -ni**2],'q')#\n", + "expr = n**2+w*n-ni**2\n", + "##p1=taken as 3.65*19**12\n", + "p1=solve(expr, p1)\n", + "p1=3.65*10**12#\n", + "n=p1+w#\n", + "j=(n*un+p1*up)*q*e1#\n", + "print \"current density = %0.2f\"%((j)),\"ampere per square centimetre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 36 example 18" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistivity = 1.25 ohm centimetre\n" + ] + } + ], + "source": [ + "na=1*10**16##per cubic centimetre correction in the book\n", + "ni=1.48*10**10##per cubic centimetre\n", + "un=0.13*10**4##centimetre square per velocity second\n", + "u=0.05*10**4##centimetre square per velocity second\n", + "n=ni**2/na#\n", + "q=1/(1.6*10**-19*(un*n+(u*na)))#\n", + "print \"resistivity = %0.2f\"%((q)),\"ohm centimetre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 37 example 19" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage across sample = 9.38 volt\n", + "drift velocity = 37.50 metre per second\n", + "transverse force per coulomb = 1.88 newton per coulomb\n", + "transverse electric field = 1.88 volt per metre\n", + "hall voltage = 0.02 volt\n" + ] + } + ], + "source": [ + "e1=750##volt per metre\n", + "b=0.05##metre square per velocity second\n", + "un=0.05##metre square per velocity second\n", + "up=0.14##metre square per velocity second\n", + "#(1) voltage\n", + "w=1.25*10**-2##metre\n", + "v1=e1*w#\n", + "print \"voltage across sample = %0.2f\"%((v1)),\"volt\"#\n", + "#(2) drift velocity\n", + "vd=un*e1#\n", + "print \"drift velocity = %0.2f\"%((vd)),\"metre per second\"#\n", + "#transverse force per coulomb\n", + "f1=vd*b#\n", + "print \"transverse force per coulomb = %0.2f\"%((f1)),\"newton per coulomb\"#\n", + "#(4) transverse electric field\n", + "e1=vd*b#\n", + "print \"transverse electric field = %0.2f\"%((e1)),\"volt per metre\"#\n", + "#(5) hall voltage\n", + "q=0.9*10**-2#\n", + "vh=e1*q\n", + "print \"hall voltage = %0.2f\"%((vh)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 37 example 20" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistivity at 300kelvin = 2.31e+05 ohm centimetre\n", + "resistivity at impurity of 1 atom included per 10**5 atoms = 0.010 ohm centimetre\n" + ] + } + ], + "source": [ + "un=1300##centimetre square per velocity second\n", + "#at 300kelvin\n", + "ni=1.5*10**10#\n", + "u=500##centimetre square per velocity second\n", + "conduc=1.6*10**-19*1.5*10**10*(un+u)#\n", + "q=1/conduc#\n", + "#impurity of 1 atom included per 10**5 atoms\n", + "print \"resistivity at 300kelvin = %0.2e\"%((q)),\"ohm centimetre\"#\n", + "n=5*10**22/10**5#\n", + "p=ni**2/n#\n", + "q=1/(1.6*10**-19*(un*n+(u*p)))\n", + "\n", + "print \"resistivity at impurity of 1 atom included per 10**5 atoms = %0.3f\"%((q)),\"ohm centimetre\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 38 example 21" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ec-ef = -0.20\n", + "ec-ef = 0.04 electron volt ef above ec\n", + "impurities included per germanium atoms = 0.0002\n" + ] + } + ], + "source": [ + "from math import sqrt, log, log10\n", + "n=4.4*10**22#\n", + "nd=n/10**7#\n", + "w=300##kelvin\n", + "nc=4.82*10**15*w**(3/2)/1/sqrt(8)#\n", + "ec_ef1=-0.026*log((nc/(nd)))#\n", + "print \"ec-ef = %0.2f\"%((ec_ef1))\n", + "#(2) impurities included inratio 1 to 10**3\n", + "n=4.4*10**22#\n", + "nd=n/(10**3)#\n", + "ec_ef1=-0.026*log(nc/nd)#\n", + "print \"ec-ef = %0.2f\"%((ec_ef1)),\"electron volt ef above ec\"#\n", + "q=log10(nd/nc)/log10(10)#\n", + "print \"impurities included per germanium atoms = 0.0002\"#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 39 example 22" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ef-ec = 0.15 electron volt\n", + "ef-ec = 0.03 electron volt\n", + "temperature = 240.33 kelvin\n" + ] + } + ], + "source": [ + "from math import log\n", + "n=5*10**22##atoms per cubic centimetre\n", + "#(1) 1 atom per 10**6\n", + "m=0.8##metre\n", + "na=n/10**6#\n", + "w=300##kelvin\n", + "nv=4.82*10**15*(m)**(3/2)*w**(3/2)#\n", + "ef_ec=0.026*log(nv/na)#\n", + "print \"ef-ec = %0.2f\"%((ef_ec)),\"electron volt\"#\n", + "#(2) impurity included 10*10**3 per atom\n", + "na=n/(10*10**3)#\n", + "ef_ec=0.026*log(nv/na)#\n", + "print \"ef-ec = %0.2f\"%((ef_ec)),\"electron volt\"#\n", + "#(3) condition to concide ec=ef\n", + "na=4.81*10**15#\n", + "w=(nv/na)**(2/3)#\n", + "print \"temperature = %0.2f\"%((w)),\"kelvin\"##correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 40 example 23 " + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hall voltage = 0.17 volt\n", + "remains the same but there change in polarity\n" + ] + } + ], + "source": [ + "#figure is not given in the book\n", + "nd=10**7##per cubic centimetre\n", + "na=10**17##per cubic centimetre\n", + "voltag=0.1*3800*10**-4*1500*3*10**-3#\n", + "print \"hall voltage = %0.2f\"%((voltag)),\"volt\"#\n", + "print \"remains the same but there change in polarity\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 40 example 24" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mobilty = 0.12 metre square per velocity second\n" + ] + } + ], + "source": [ + "vh=60*10**-3##volt\n", + "w=6*10**-3##metre\n", + "bz=0.1##weber per metre square\n", + "i1=10*10**-6##ampere\n", + "resist=300000*10**-2##ohm metre\n", + "#(1)\n", + "#mobility\n", + "rh=vh*w/(bz*i1)#\n", + "u1=rh/resist#\n", + "print \"mobilty = %0.2f\"%((u1)),\"metre square per velocity second\"" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch10.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch10.ipynb new file mode 100644 index 00000000..9f6d76d4 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch10.ipynb @@ -0,0 +1,224 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 10 - Negative Feedback Amplifiers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 467 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "reverse transmission = 0.10\n", + "gain with feedback = 10.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "av=1000#\n", + "chvoga=0.001##change in voltage gain\n", + "beta1=1/((chvoga)/(100/av))-1#\n", + "beta1=beta1/av#\n", + "fegain=(av)/(1+(av*(beta1)))#\n", + "print \"reverse transmission = %0.2f\"%((beta1))\n", + "print \"gain with feedback = %0.2f\"%((fegain))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 467 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "output voltage = 2.19\n", + "input voltage = 0.25 volt\n" + ] + } + ], + "source": [ + "voltag=36##volt\n", + "w=0.07##harmonic distortion\n", + "inpvol=0.028##volt\n", + "beta1=0.012#\n", + "a=voltag/inpvol#\n", + "fegain=a/(1+beta1*a)##correction in book\n", + "volta1=fegain*inpvol#\n", + "print \"output voltage = %0.2f\"%((volta1))\n", + "#decrease of gain 9\n", + "inpvol=9*inpvol#\n", + "print \"input voltage = %0.2f\"%((inpvol)),\"volt\"#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 468 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "required input = 1.00 volt\n", + "harmonic distortion = 0.10\n" + ] + } + ], + "source": [ + "volgain=2000##voltage gain\n", + "outpower=20##watts\n", + "inpsig=10*10**-3##volts\n", + "fedbac=40##decibel\n", + "fedgai=volgain/100#\n", + "outvol=volgain*inpsig##output voltage\n", + "inpvol=outvol/fedgai##required input\n", + "#10 second harmonic distortion\n", + "distor=(10/100)#\n", + "print \"required input = %0.2f\"%((inpvol)),\"volt\"#\n", + "print \"harmonic distortion = %0.2f\"%((distor))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 469 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "feedback factor = 0.019\n", + "over gain = 0.005\n" + ] + } + ], + "source": [ + "fedgai=60##decibel\n", + "outimp=10*10**3##ohm\n", + "outim1=500##ohm modified impedance\n", + "fedgai=1000#\n", + "fedbac=((outimp/outim1)-(1))/fedgai#\n", + "#10 change in gain\n", + "overga=1/((1+(fedgai*fedbac))/0.1)##over gain\n", + "print \"feedback factor = %0.3f\"%((fedbac))\n", + "print \"over gain = %0.3f\"%((overga))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 470 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current gain = -11.60\n", + "voltage gain = -46.40\n", + "transconductance = -0.01 ampere per volt\n", + "transresistance = -46403.71 ohm\n", + "input resistance = 1042.65 ohm\n", + "output resistance = 3636.36 ohm\n" + ] + } + ], + "source": [ + "colres=4*10**3##ohm\n", + "r=4*10**3##ohm\n", + "basres=20*10**3##ohm\n", + "r1=1*10**3##ohm\n", + "hie=1.1*10**3#\n", + "hfe=50#\n", + "hoe=(40*10**3)#\n", + "ri=basres*hie/(basres+hie)#\n", + "curgai=((r1/(r1+ri)))*((basres/(basres+hie)))*((-hfe*colres)/(colres+r))#\n", + "volgai=curgai*r/r1#\n", + "tranco=volgai/r#\n", + "tranre=r1*volgai#\n", + "outres=hoe*colres/(hoe+colres)#\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "print \"transconductance = %0.2f\"%((tranco)),\"ampere per volt\"#\n", + "print \"transresistance = %0.2f\"%((tranre)),\"ohm\"#\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"#\n", + "print \"output resistance = %0.2f\"%((outres)),\"ohm\"#" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch11.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch11.ipynb new file mode 100644 index 00000000..27787f8c --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch11.ipynb @@ -0,0 +1,320 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 11 - Sinusoidal Oscillators" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 514 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "min frequency = 1769.29hertz\n", + "max frequency = 17692.85hertz\n", + "resistance r3 = 20000.00ohm\n" + ] + } + ], + "source": [ + "macapa=900*10**-12##farad\n", + "micapa=90*10**-12##farad\n", + "r=100*10**3##ohm\n", + "#(a) frequency range\n", + "fremin=1/(2*3.14*r*macapa)\n", + "print \"min frequency = %0.2f\"%((fremin))+\"hertz\"\n", + "fremax=1/(2*3.14*r*micapa)\n", + "print \"max frequency = %0.2f\"%((fremax))+\"hertz\"\n", + "#(b) r3\n", + "r=10*10**3##ohm\n", + "r3=2*r\n", + "print \"resistance r3 = %0.2f\"%((r3))+\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 516 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "min voltage >= 7.50volt\n", + "frequency = 42379.83hertz\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "c1=0.004*10**-6##farad\n", + "c2=0.03*10**-6##farad\n", + "induct=4*10**-3##henry\n", + "#min voltage\n", + "mivolt=c2/c1\n", + "print \"min voltage >= %0.2f\"%((mivolt))+\"volt\"\n", + "#frequency\n", + "freque=(((1/(2*3.14)))*sqrt((c1+c2)/(induct*c1*c2)))\n", + "print \"frequency = %0.2f\"%((freque))+\"hertz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 517 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "frequency = 166467.63hertz\n", + "ratio1 greater than 1 so oscillations possible\n" + ] + } + ], + "source": [ + "induct=500*10**-6##henry\n", + "induc1=5000*10**-6##henry\n", + "mutuin=300*10**-6##henry\n", + "c1=150*10**-12##farad\n", + "#(a) frequency\n", + "indcto=induct+induc1+2*mutuin\n", + "freque=1/((2)*3.14*sqrt(indcto*c1))\n", + "#(b) condition\n", + "r=10*10**3##ohm\n", + "conduc=8*10**-3##ampere per volt\n", + "r1=50*10**3##ohm\n", + "r_=r*r1/(r+r1)\n", + "volgai=conduc*r_\n", + "print \"frequency = %0.2f\"%((freque))+\"hertz\"\n", + "ratio1=(induc1+mutuin)/(induct+mutuin)\n", + "ratio1=ratio1*volgai\n", + "print \"ratio1 greater than 1 so oscillations possible\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 518 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resonanting capacitance = 5.00e-14farad\n", + "resonant frequency = 1.42e+06hertz\n", + "parallel resonant frequency = 1.03e+06hertz\n", + "series resonant frequency = 1.01e+06hertz\n", + "quality factor = 3162.28\n", + "loop gain = 100.00\n", + "bias = 6.00e-05second\n" + ] + } + ], + "source": [ + "cgs=5*10**-12##farad\n", + "cds=1*10**-12##farad\n", + "conduct=10*10**-3##ampere per volt\n", + "rd=50*10**3##ohm\n", + "r=10*10**6##ohm\n", + "induct=0.5##henry\n", + "c1=0.05*10**-12##farad\n", + "rse=1*10**3##ohm\n", + "c=1*10**-12##farad\n", + "#(1) c11\n", + "c11=((((cds*cgs)/(cds+cgs))+1)*c1)/(((cds*cgs)/(cds+cgs))+1+c1)\n", + "print \"resonanting capacitance = %0.2e\"%((c11))+\"farad\"\n", + "#(2) frequency\n", + "freque=((sqrt(2))/(2*3.14*sqrt(induct*c11)))\n", + "print \"resonant frequency = %0.2e\"%((freque))+\"hertz\"\n", + "#(3) frequency parallel\n", + "\n", + "freque=1/(2*3.14*sqrt(((induct*c*c1))/(c+c1)))\n", + "print \"parallel resonant frequency = %0.2e\"%((freque))+\"hertz\"\n", + "#frequency series\n", + "freque=1/((2*3.14*sqrt(induct*c1)))\n", + "print \"series resonant frequency = %0.2e\"%((freque))+\"hertz\"\n", + "qualit=((induct/c1)**(0.5))/rse\n", + "print \"quality factor = %0.2f\"%((qualit))\n", + "#correction required in book\n", + "#(4) loop gain\n", + "abeta1=conduct*rd*cds/cgs\n", + "print \"loop gain = %0.2f\"%((abeta1))\n", + "#(5)\n", + "w=r*(cds+cgs)\n", + "print \"bias = %0.2e\"%((w))+\"second\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 519 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "frequency = 1.23e+06hertz\n", + "gain = 5.00\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "c=200*10**-12##farad\n", + "c1=1000*10**-12##farad\n", + "induct=100*10**-6##henry\n", + "#(1) frequency\n", + "ceq=(c*c1)/(c+c1)\n", + "freque=1/(2*3.14*(sqrt(induct*ceq)))\n", + "print \"frequency = %0.2e\"%((freque))+\"hertz\"##correction in the book\n", + "gaimin=c1/c\n", + "print \"gain = %0.2f\"%((gaimin))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 520 example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "inductance = 4.02e-05henry\n" + ] + } + ], + "source": [ + "induc1=0.4*10**-3##henry\n", + "c=0.004*10**-6##farad\n", + "freque=120*10**3##hertz\n", + "induct=((1/(4*3.14**2*freque**2*c)))-induc1\n", + "print \"inductance = %0.2e\"%((induct))+\"henry\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 520 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "frequency = 1087243.22hertz\n", + "ratio parallel series = 1.03\n", + "quality factor = 409.67\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "induct=0.33##henry\n", + "c=0.065*10**-12##farad\n", + "c1=1*10**-12##farad\n", + "r=5.5*10**3##ohm\n", + "#(1) series resonant frequency\n", + "freque=(1/(2*(3.14)))*sqrt(1/((induct)*c))\n", + "print \"frequency = %0.2f\"%((freque))+\"hertz\"\n", + "#(2)exceed of frequency\n", + "ratio1=sqrt((1+(c/c1)))\n", + "print \"ratio parallel series = %0.2f\"%((ratio1))\n", + "#correction required in the book\n", + "#(3) quality factor\n", + "qualit=(1/r)*sqrt(induct/c)\n", + "print \"quality factor = %0.2f\"%((qualit))" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch12.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch12.ipynb new file mode 100644 index 00000000..2af2f2f6 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch12.ipynb @@ -0,0 +1,349 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 12 - Power Electronic devices " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 553 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "source resistance = 111.87 ohm\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "slope1=130\n", + "trivol=15##volt\n", + "d=0.5##watts\n", + "ig=sqrt(d/slope1)\n", + "vg=slope1*ig\n", + "r=(trivol-vg)/ig\n", + "print \"source resistance = %0.2f\"%((r)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 553 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current = 0.010 ampere\n", + "input current less than required current\n" + ] + } + ], + "source": [ + "from math import exp\n", + "latcur=50*10**-3##ampere\n", + "durpul=50*10**-6##second\n", + "induct=0.5##henry\n", + "r=20##ohm\n", + "voltag=100##volt\n", + "w=induct/r\n", + "inpcur=-(voltag/r)*((1)-exp(-durpul/w))\n", + "print \"current = %0.3f\"%(abs(inpcur)),\"ampere\"\n", + "print \"input current less than required current\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 554 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "min duration = 4.00e-06 second\n" + ] + } + ], + "source": [ + "latcur=4*10**-3##ampere\n", + "induct=0.1##henry\n", + "voltag=100##volt\n", + "durmin=induct*latcur/voltag\n", + "print \"min duration = %0.2e\"%((durmin)),\"second\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 554 example 4" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "source resistance = 2000.00 ohm\n" + ] + } + ], + "source": [ + "slope1=3*10**3\n", + "egs=10##volt\n", + "d=0.012##watts\n", + "ig=sqrt(d/slope1)\n", + "vg=slope1*ig\n", + "r=(egs-vg)/ig\n", + "\n", + "print \"source resistance = %0.2f\"%((r)),\"ohm\"##it is not given in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 554 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance = 14.00 ohm\n", + "frequency = 18750.00 hertz\n" + ] + } + ], + "source": [ + "slope1=16\n", + "durmax=4*10**-6##second\n", + "curmin=500*10**-3##ampere\n", + "voltag=15##volt\n", + "#(1) resistance\n", + "vg=slope1*curmin\n", + "r=(voltag-vg)/curmin\n", + "#(2)\n", + "d=vg*curmin\n", + "freque=0.3/(d*durmax)\n", + "print \"resistance = %0.2f\"%((r)),\"ohm\"\n", + "print \"frequency = %0.2f\"%((freque)),\"hertz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 555 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "change of voltage = 800.00 volt per microsecond\n" + ] + } + ], + "source": [ + "c1=20*10**-12##farad\n", + "limcur=16*10**-3##ampere\n", + "w=(limcur/c1)*10**-6##convert second to microsecond\n", + "print \"change of voltage = %0.2f\"%((w)),\"volt per microsecond\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 555 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current = 2121.32 ampere\n", + "current = 45000.00 ampere square second\n" + ] + } + ], + "source": [ + "ratcur=3000##ampere\n", + "freque=50##hertz\n", + "i=sqrt(ratcur**2/2)\n", + "print \"current = %0.2f\"%((i)),\"ampere\"\n", + "i=((ratcur)/sqrt(2))**2/(2*freque)\n", + "print \"current = %0.2f\"%((i)),\"ampere square second\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 556 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max limit resistance = 1410000.00 ohm\n", + "min limit resistance = 2650.00 ohm\n", + "resistance = 4.67e+04 ohm\n", + "rb1 = 100.00 ohm\n", + "rb2 = 653.59 ohm\n", + "peak voltage = 15.90 volt\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log\n", + "voltag=30##volt\n", + "w=0.51\n", + "i1=10*10**-6##ampere\n", + "v1=3.5##volt\n", + "curen1=10*10**-3##ampere\n", + "freque=60##hertz\n", + "tridun=50*10**-6##second\n", + "pinvol=w*voltag+0.6\n", + "r=(voltag-pinvol)/i1\n", + "print \"max limit resistance = %0.2f\"%((r)),\"ohm\"\n", + "r=(voltag-v1)/(curen1)\n", + "print \"min limit resistance = %0.2f\"%((r)),\"ohm\"\n", + "capac1=0.5*10**-6##farad\n", + "r=(1/freque)*(1/(capac1*log(1/(1-w))))\n", + "print \"resistance = %0.2e\"%((r)),\"ohm\"\n", + "rb2=10**4/(w*voltag)\n", + "rb1=tridun/capac1\n", + "print \"rb1 = %0.2f\"%((rb1)),\"ohm\"\n", + "print \"rb2 = %0.2f\"%((rb2)),\"ohm\"\n", + "print \"peak voltage = %0.2f\"%((pinvol)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 557 example 10" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage = 7.00 volt\n", + "this voltage makes to off\n" + ] + } + ], + "source": [ + "re=1*10**3##ohm\n", + "i1=5*10**-3##ampere\n", + "\n", + "voltag=re*i1+2\n", + "print \"voltage = %0.2f\"%((voltag)),\"volt\"\n", + "\n", + "\n", + "print \"this voltage makes to off\"" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch13.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch13.ipynb new file mode 100644 index 00000000..af7d0ea6 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch13.ipynb @@ -0,0 +1,351 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter13 - Cathode Ray Oscilloscope" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 578 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "power to electrons = 8.0 watts\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "quanti=3*10**17#\n", + "voltag=10*10**3##volt\n", + "distan=40*10**-3##metre per minute\n", + "w=quanti*1.6*10**-19*voltag\n", + "w=w/60##per second\n", + "\n", + "print \"power to electrons = \",round((w),2),\"watts\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 578 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input voltage = 9.55 volt\n", + "frequency = 4761.9 hertz\n", + "vm1coswt vm2sinwt squaring and adding gives ellipse\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "sensit=5## per centimetre\n", + "q=50*10**-6##second per centimetre\n", + "petope=5.4##centimetre\n", + "horiax=8.4##centimetre\n", + "voltag=petope*sensit#\n", + "voltag=voltag/((2)*sqrt(2))#\n", + "#one cycle\n", + "horiax=(horiax/2)*q#\n", + "freque=1/horiax#\n", + "print \"input voltage = \",round((voltag),2),\"volt\"\n", + "print \"frequency = \",round((freque),2),\"hertz\"\n", + "\n", + "\n", + "print \"vm1coswt vm2sinwt squaring and adding gives ellipse\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 579 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "velocity x = 1.874e+07 metre per second\n", + "velocity x = 3.10e+05 metre per second\n" + ] + } + ], + "source": [ + "voltag=1000##volt\n", + "#(1) velocity\n", + "vx=sqrt(2*1.6*10**-19*(voltag)/(9.11*10**-31))#\n", + "print \"velocity x = %0.3e\"%vx,\"metre per second\"\n", + "vox=1*10**5##metre per second intial velocity\n", + "vx=sqrt((vox)+((2*1.6*10**-19*voltag)/(2.01*1.66*10**-27)))#\n", + "\n", + "print \"velocity x = %0.2e\"%vx,\"metre per second\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 580 example 4" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "transverse magnetic field = 3.87e-04 weber per metre square\n" + ] + } + ], + "source": [ + "voltag=2000##volt\n", + "d=15##centimetre\n", + "d1=3##centimetre\n", + "r1=((d**2+d1**2)/(6))*10**-2##centimetre to metre\n", + "vox=sqrt(2*1.6*10**-19*(voltag)/(9.11*10**-31))#\n", + "b=vox/((1.6*10**-19*r1)/(9.11*10**-31))#\n", + "\n", + "print \"transverse magnetic field = %0.2e\"%b,\"weber per metre square\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 581 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max frequency = 6.63e+08 hertz\n", + "duration electron between the plates = 4.53e-08 second\n" + ] + } + ], + "source": [ + "voltag=2000##volt\n", + "d=2*10**-2##metre\n", + "#(1) frequency\n", + "vx=sqrt(2*1.6*10**-19*(voltag)/(9.11*10**-31))#\n", + "durati=d/vx#\n", + "freque=1/(2*durati)#\n", + "print \"max frequency = %0.2e\"%freque,\"hertz\"\n", + "#(2)\n", + "durati=60*durati#\n", + "print \"duration electron between the plates = %0.2e\"%durati,\"second\"#correction in book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 582 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max velocity = 1.68e+07 metre per second\n" + ] + } + ], + "source": [ + "voltag=800##volt\n", + "\n", + "\n", + "q=1.6*10**-19##coulomb\n", + "m=9.11*10**-31##kilogram\n", + "vox=sqrt(2*q*voltag/m)#\n", + "\n", + "print \"max velocity = %0.2e\"%vox,\"metre per second\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 582 example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "velocity = 2.65e+07 metre per second\n", + "sensitivity = 3.75e-04 metre per volt\n", + "deflection factor = 2666.67 volt per metre\n" + ] + } + ], + "source": [ + "voltag=2000##volt\n", + "d=1.5*10**-2##centimetre\n", + "d1=5*10**-3##metre\n", + "distan=50*10**-2##metre\n", + "#(1) velocity\n", + "vox=sqrt(2*1.6*10**-19*(voltag)/(9.11*10**-31))#\n", + "#(2) sensitivity\n", + "defsen=distan*d/(2*d1*voltag)#\n", + "#deflection factor\n", + "g=1/defsen#\n", + "print \"velocity = %0.2e\"%vox,\"metre per second\"\n", + "print \"sensitivity = %0.2e\"%defsen,\"metre per volt\"\n", + "\n", + "print \"deflection factor = \",round((g),2),\"volt per metre\"#correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 582 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "velocity = 2.65e+07 metre per second\n", + "fc = 1.33e+08 hertz\n" + ] + } + ], + "source": [ + "voltag=2000##volt\n", + "d=50*10**-3##metre\n", + "#(1) velocity\n", + "vox=sqrt(2*1.6*10**-19*(voltag)/(9.11*10**-31))#\n", + "print \"velocity = %0.2e\"%vox,\"metre per second\"\n", + "#(2) fc\n", + "fc=vox/(4*d)#\n", + "\n", + "print \"fc = %0.2e\"%fc,\"hertz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber : 582 example 10" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "phase angle = 30.0 degre\n" + ] + } + ], + "source": [ + "y=2.5##divisions\n", + "y1=1.25##divisions\n", + "y=y1/y#\n", + "from math import asin, degrees\n", + "w=degrees(asin(y))\n", + "\n", + "print \"phase angle = \",round((w),2),\"degre\"" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch2.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch2.ipynb new file mode 100644 index 00000000..1385990a --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch2.ipynb @@ -0,0 +1,851 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2 - Semiconductor Diodes" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 99 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ratio of reverse saturation current = 4963.36\n" + ] + } + ], + "source": [ + "q=0.01##centimetre\n", + "sigma1=1##ohm centimetre inverse\n", + "q1=0.01##centimetre\n", + "sigm11=0.01##ohm centimetre inverse\n", + "iratio=(0.0224**2*2.11*20)*3.6**2/((3.11*(4.3**2*10**-6)**2*2.6*20*10**3))#\n", + "for q in range(0,2):\n", + " if q==1:\n", + " un=3800#\n", + " up=1500#\n", + " q=1.6*10**-19#\n", + " ni=2.5*10#\n", + " else:\n", + " q=1.6*10**-19#\n", + " up=500\n", + " un=1300#\n", + " ni=1.5*10\n", + "\n", + " \n", + " b=un/up#\n", + " sigmai=(un+up)*q*ni#\n", + "\n", + "print \"ratio of reverse saturation current = %0.2f\"%((iratio))\n", + "##correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 100 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "reverse current ratio = 7.79e-09\n" + ] + } + ], + "source": [ + "sigma1=0.01##ohm centimetre inverse\n", + "area11=4*10**-3##metre square\n", + "q=0.01*10**-2##metre\n", + "un=1300.0#\n", + "up=500.0#\n", + "ni=1.5*10**15##per cubic centimetre\n", + "sigma1=(un+up)*1.6*10**-19*ni#\n", + "iratio=(4*10**-10*0.026*sigma1**2*2.6*2/10**-4)/3.6**2#\n", + "print \"reverse current ratio = %0.2e\"%((iratio))\n", + "##correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 100 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "reverse saturation current = 3.48e-06 ampere\n" + ] + } + ], + "source": [ + "a=4*10**-4##metre square\n", + "sigmap=1#\n", + "sigman=0.1#\n", + "de=0.15#\n", + "vtem=26*10**-3#\n", + "i=(a*vtem*((2.11)*(0.224))/((3.22)**(2)))*((1/de*sigman)+(1/de*sigmap))#\n", + "print \"reverse saturation current = %0.2e\"%(i),\"ampere\"#correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 101 example 4" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage at which the reverse saturation current at saturate = -0.06 volt\n", + "reverse saturation current = -6.84 ampere\n", + "reverse saturation current 0.10 = 0.000 ampere\n", + "reverse saturation current 0.20 = 0.022 ampere\n", + "reverse saturation current 0.30 = 1.026 ampere\n" + ] + } + ], + "source": [ + "from math import log, exp\n", + "w=0.9#\n", + "voltaf=0.05##volt\n", + "revcur=10*10**-6##ampere\n", + "#(1) voltage\n", + "volrev=0.026*(log((-w+1)))##voltage at which the reverse saturation current at saturate\n", + "resacu=((exp(voltaf/0.026)-1)/((exp(-voltaf/0.026)-1)))##reverse saturation current\n", + "print \"voltage at which the reverse saturation current at saturate = %0.2f\"%((volrev)),\"volt\"\n", + "print \"reverse saturation current = %0.2f\"%((resacu)),\"ampere\"\n", + "u=0.1#\n", + "for q in range(0,3):\n", + " reverc=revcur*(exp((u/0.026))-1)\n", + " print \"reverse saturation current %0.2f\"%((u)),\" = %0.3f\"%((reverc)),\"ampere\"\n", + " u=u+0.1#\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 103 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "capacitance = 7.08e-11 farad\n" + ] + } + ], + "source": [ + "a=1*10**-6##metre square\n", + "w=2*10**-6##thick centimetre\n", + "re=16#\n", + "eo=8.854*10**-12#\n", + "c=(eo*re*a)/w#\n", + "print \"capacitance = %0.2e\"%(c),\"farad\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 105 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "width of depletion layer at -10.00 = 7.73e-06 metre\n", + "width of depletion layer at -0.10 = 1.33e-06 metre\n", + "width of depletion layer at 0.10 = 7.65e-07 metre\n", + "capacitance at -10.00 = 1.57e-11 farad\n", + "capacitance at -0.10 = 9.13e-11 farad\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "volbar=0.2##barrier voltage for germanium volt\n", + "na=3*10**20##atoms per metre\n", + "#(1) width of depletion layer at 10 and 0.1 volt\n", + "\n", + "for q in [-10, -0.1, 0.1]:\n", + " w=2.42*10**-6*sqrt((0.2-(q)))#\n", + " print \"width of depletion layer at %0.2f\"%((q)),\" = %0.2e\"%((w)),\"metre\"#for -0.1volt correction in the book\n", + "\n", + "#(d) capacitance\n", + "for q in [-10, -0.1]:\n", + " capaci=0.05*10**-9/sqrt(0.2-q)#\n", + " print \"capacitance at %0.2f\"%((q)),\" = %0.2e\"%((capaci)),\"farad\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 104 example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum forward current = 2.22 ampere\n", + "forward diode resistance = 0.40 ohm\n" + ] + } + ], + "source": [ + "p=2##watts\n", + "voltaf=900*10**-3##volt\n", + "i1=p/voltaf#\n", + "r1=voltaf/i1#\n", + "print \"maximum forward current = %0.2f\"%(i1),\"ampere\"\n", + "\n", + "\n", + "print \"forward diode resistance = %0.2f\"%(r1),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 108 example 11" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "alpha = 104.86 degree\n" + ] + } + ], + "source": [ + "from math import atan, degrees\n", + "r=250##ohm\n", + "c=40*10**-6##farad\n", + "alpha1=180-degrees(atan(377*r*c))\n", + "print \"alpha = %0.2f\"%(alpha1),\"degree\" " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 109 example 12" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "inductance = 3022899.27 henry\n", + "output voltage = 31.03 volt\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "i1=0.1##current in ampere\n", + "vms=40##rms voltage in volts\n", + "c=40*10**-6##capacitance in farad\n", + "r1=50##resistance in ohms\n", + "ripple=0.0001#\n", + "induct=((1.76/c)*sqrt(0.472/ripple))##inductance\n", + "outv=(2*sqrt(2)*vms)/3.14-i1*r1##output voltage\n", + "print \"inductance = %0.2f\"%(induct),\"henry\"#correction in the book\n", + "print \"output voltage = %0.2f\"%(outv),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 109 example 14" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ripple voltage = 0.093 volt\n", + "ripple voltage including filters = 118.49 volt\n", + "ripple voltage = 0.0040 volt\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "voltag=40##volt\n", + "i1=0.2##ampere\n", + "c1=40*10**-6##farad\n", + "c2=c1#\n", + "induct=2##henry\n", + "#(1) ripple\n", + "vdc=2*sqrt(2)*voltag/3.14#\n", + "r1=vdc/i1#\n", + "induc1=r1/1130#\n", + "v1=voltag/(3*3.14**3*120**2*4*induct*c1)#\n", + "print \"ripple voltage = %0.3f\"%((v1)),\"volt\"\n", + "#(2) with two filter\n", + "v1=4*voltag/((3*3.14**5)*(16*120**2*induct**2*c1**2))#\n", + "print \"ripple voltage including filters = %0.2f\"%((v1)),\"volt\"#correction in the book\n", + "#(3)ripple voltage\n", + "v1=4*voltag/(5*3.14*1.414*2*3.14*240*240*3.14*induct*c1)#\n", + "v1=v1/20#\n", + "print \"ripple voltage = %0.4f\"%((v1)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 111 example 15" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage and ripple with load\n", + "vdc = 250.21 volt\n", + "ripple = 3.13e-02\n", + "capacitance connected across load\n", + "vdc = 497.91 volt\n", + "ripple = 3.76e-02\n", + "filter containing two inductors and capacitors in parallel\n", + "vdc = 250.00 volt\n", + "ripple = 6.48e-04\n", + "two filter\n", + "vdc = 250.00 volt\n", + "ripple = 4.76e-06\n", + "vdc = 358.26 volt\n", + "ripple = 1.61e-04\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "voltag=375##volt\n", + "r1=2000##ohm\n", + "induct=20##henry\n", + "c1=16*10**-6##farad\n", + "r11=100##ohm\n", + "r=200##ohm\n", + "#(1) voltage and ripple with load\n", + "print \"voltage and ripple with load\"\n", + "r=r+r11+400#\n", + "vdc=((2*sqrt(2)*voltag/3.14))/1.35#\n", + "ripple=r1/(3*sqrt(2)*(377)*induct*2)#\n", + "print \"vdc = %0.2f\"%((vdc)),\"volt\"\n", + "print \"ripple = %0.2e\"%((ripple))\n", + "#(2) capacitance connected across load\n", + "print \"capacitance connected across load\"\n", + "vdc=sqrt(2)*voltag/(1+1/(4*(60)*r1*2*c1))#\n", + "ripple=1/(4*sqrt(3)*(60)*r1*2*c1)#\n", + "print \"vdc = %0.2f\"%((vdc)),\"volt\"\n", + "print \"ripple = %0.2e\"%((ripple))\n", + "#(3) filter containing two inductors and capacitors in parallel\n", + "print \"filter containing two inductors and capacitors in parallel\"\n", + "vdc=250##volt\n", + "ripple=0.83*10**-6/(2*induct*2*c1)##correction in the book\n", + "print \"vdc = %0.2f\"%((vdc)),\"volt\"\n", + "print \"ripple = %0.2e\"%((ripple))\n", + "#(4) two filter\n", + "print \"two filter\"\n", + "vdc=250#\n", + "ripple=sqrt(2)/(3*16*3.14**2*60**2*induct*c1)**2##correction in the book\n", + "print \"vdc = %0.2f\"%((vdc)),\"volt\"\n", + "print \"ripple = %0.2e\"%((ripple))\n", + "vdc=sqrt(2)*voltag/(1+(4170/(r1*16))+(r/r1))#\n", + "ripple=3300/(16**2*2*20*r1)#\n", + "print \"vdc = %0.2f\"%((vdc)),\"volt\"\n", + "print \"ripple = %0.2e\"%((ripple))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 112 example 16" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "output voltage = 362.14 volt\n", + "ripple voltage = 1.46e-03\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "capaci=4##farad\n", + "induct=20##henry\n", + "i1=50*10**-3##ampere\n", + "resist=200##ohm\n", + "maxvol=300*sqrt(2)#\n", + "vdc=maxvol-((4170/capaci)*(i1))-(i1*resist)#\n", + "ripple=(3300*i1)/((capaci**2)*(induct)*353)#\n", + "print \"output voltage = %0.2f\"%((vdc)),\"volt\"\n", + "print \"ripple voltage = %0.2e\"%((ripple))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 113 example 17" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "inductance of filter = 4.98 henry\n", + "resistance of filter = 250.00 ohm\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "voltag=25##volt\n", + "c1=10*10**-6##farad\n", + "i1=100*10**-3##ampere\n", + "ripple=0.001#\n", + "w=754##radians\n", + "#(1) inductance and resistance\n", + "\n", + "\n", + "r1=voltag/i1#\n", + "induct=40/(sqrt(2)*w**2*(c1))#\n", + "print \"inductance of filter = %0.2f\"%((induct)),\"henry\"#correction in the book\n", + "print \"resistance of filter = %0.2f\"%((r1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 113 example 18" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current = 2.83e-04 ampere\n", + "current at 100celsius rise\n", + "current = 6.81e-04 ampere\n" + ] + } + ], + "source": [ + "from math import exp\n", + "resacu=0.1*10**-12##ampere\n", + "u=20+273##kelvin\n", + "voltaf=0.55##volt\n", + "w=1.38*10**-23#\n", + "q=1.6*10**-19#\n", + "for z in range(1,3):\n", + " if z==2 :\n", + " u=100+273#\n", + " print \"current at 100celsius rise\"\n", + " \n", + " voltag=w*u/q#\n", + " i1=(10**-13)*(exp((voltaf/voltag))-1)#\n", + " if z==2:\n", + " i1=(256*10**-13)*((exp(voltaf/voltag)-1))#\n", + " \n", + " print \"current = %0.2e\"%((i1)),\"ampere\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 114 example 19" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "thermal voltage = 0.026 volt\n", + "barrier voltage = 0.535 volt\n" + ] + } + ], + "source": [ + "from math import log\n", + "na=10*22##atoms per cubic metre\n", + "nd=1.2*10**21##donor per cubic metre\n", + "voltag=1.38*10**-23*(273+298)/(1.6*10**-19)##correction in the book\n", + "voltag=0.026#\n", + "ni=1.5*10**16#\n", + "ni=ni**2#\n", + "v1=voltag*log((na*nd)/(ni))#\n", + "print \"thermal voltage = %0.3f\"%((voltag)),\"volt\"\n", + "print \"barrier voltage = %0.3f\"%(abs(v1)),\"volt\"#correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 114 example 20" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current = 9.16e-06 ampere\n" + ] + } + ], + "source": [ + "from math import exp\n", + "i1=2*10**-7##ampere\n", + "voltag=0.026##volt\n", + "i=i1*((exp(0.1/voltag)-1))#\n", + "print \"current = %0.2e\"%((i)),\"ampere\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 115 example 21" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance at 150mvolt = 80.74 ohm\n" + ] + } + ], + "source": [ + "from math import exp\n", + "resacu=1*10**-6##ampere\n", + "voltaf=150*10**-3##volt\n", + "w=8.62*10**-5#\n", + "voltag=0.026##volt\n", + "u=300##kelvin\n", + "uw=u*w#\n", + "resist=(uw)/((resacu)*exp(voltaf/voltag))#\n", + "print \"resistance at 150mvolt = %0.2f\"%((resist)),\"ohm\"#correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 115 example 22" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "change in barrier = 0.18 volt\n" + ] + } + ], + "source": [ + "from math import log\n", + "dopfac=1000#\n", + "w=300##kelvin\n", + "q=0.026*log(dopfac)#\n", + "print \"change in barrier = %0.2f\"%((q)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 116 example 23" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "depletion capacitance = 1.09e-11 farad\n", + "capacitance = 3.85e-07 farad\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "area12=1*10**-8##metre square\n", + "volre1=-1##reverse voltage\n", + "capac1=5*10**-12##farad\n", + "volbu1=0.9##volt\n", + "voltag=0.5##volt\n", + "i1=10*10**-3##ampere\n", + "durmin=1*10**-6##ssecond\n", + "#(1) capacitance\n", + "capac1=capac1*sqrt((volre1-volbu1)/(voltag-volbu1))#\n", + "print \"depletion capacitance = %0.2e\"%((capac1)),\"farad\"\n", + "#(2) capacitance\n", + "capac1=i1*durmin/(0.026)#\n", + "\n", + "print \"capacitance = %0.2e\"%((capac1)),\"farad\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 116 example 24" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "potential germanium = 0.34 volt\n", + "potential silicon = 0.74 volt\n" + ] + } + ], + "source": [ + "from math import log\n", + "quantg=4*10**22##atoms per cubic centimetre\n", + "quants=5*10**22##atoms per cubic centimetre\n", + "w=2.5*10**13##per cubic centimetre\n", + "w1=1.5*10**10##per cubic centimetre\n", + "for q in [quantg, quants]:\n", + " na=2*q/(10**8)\n", + " nd=500*na#\n", + " if q==quantg :\n", + " w=w#\n", + " voltag=0.026*log(na*nd/w**2)#\n", + " print \"potential germanium = %0.2f\"%((voltag)),\"volt\"\n", + " \n", + " if q==quants:\n", + " w=w1#\n", + " voltag=0.026*log(na*nd/w**2)#\n", + " print \"potential silicon = %0.2f\"%((voltag)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 117 example 25" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "electrons density = 9.62e+20 per cubic metre\n", + "holes density = 1.25e+23 per cubic metre\n" + ] + } + ], + "source": [ + "u=0.05##metre square per velocity second correction in the book\n", + "un=0.13##metre square per velocity second\n", + "condun=20##second per metre conductivity of n region\n", + "condup=1000##second per metre conductivity of p region\n", + "p=condup/(1.6*10**-19*u)#\n", + "no=condun/(1.6*10**-19*un)#\n", + "print \"electrons density = %0.2e\"%((no)),\"per cubic metre\"\n", + "print \"holes density = %0.2e\"%((p)),\"per cubic metre\"#others to find is not in the book" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch3.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch3.ipynb new file mode 100644 index 00000000..7fdd908f --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch3.ipynb @@ -0,0 +1,261 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 3 - Special Semiconductor Diodes " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 138 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance range from 196.00 to 217.78 ohms\n", + "resistance range at 50 from 146.00 to 167.78 ohms\n" + ] + } + ], + "source": [ + "#zener diode\n", + "voltag=5.2##volts\n", + "w=260*10**-3##watts\n", + "appv=15##voltsw1=50##watts\n", + "imax=w/voltag*0.1#\n", + "#to maitain a constant voltage\n", + "imax1=(w/voltag)-imax#\n", + "resmin=(appv-voltag)/(w/voltag)#\n", + "resmax=(appv-voltag)/imax1#\n", + "#load 50\n", + "resmax1=((9.8)/(45*10**-3))-50#\n", + "resmin1=((9.8)/(50*10**-3))-50#\n", + "res50=resmax1-resmin1#\n", + "print \"resistance range from %0.2f\"%(resmin),\" to %0.2f\"%(resmax),\"ohms\"\n", + "print \"resistance range at 50 from %0.2f\"%(resmin1),\" to %0.2f\"%(resmax1),\"ohms\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 139 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage drop = 5.67volts\n" + ] + } + ], + "source": [ + "i1=20*10**-3##ampere\n", + "i=30*10**-3##ampere\n", + "v1=5.6##volts\n", + "v=5.65##volts\n", + "#condition\n", + "u=35*10**-3##ampere\n", + "voltag=5*u+5.5#\n", + "print \"voltage drop = %0.2f\"%(voltag)+\"volts\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 139 example 3 " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fi0 = 4.96\n" + ] + } + ], + "source": [ + "from math import log\n", + "v=4.3##volt\n", + "q=4##volt\n", + "dop=10**17##per cubic centimetre\n", + "fi0=0.254*log(dop/(5.1*10**10))#\n", + "fi01=0.407+q+0.55#\n", + "print 'fi0 = %0.2f'%(fi01)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 140example 4 " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current = 9.95e-05 ampere\n", + "resistance = 1.61e+05 ohm\n", + "r1 = 1.60e+05 ohm\n", + "r2 = 4.02e+04 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "v1=20##volt\n", + "i1=((v1)/(200+1))*10**-3#\n", + "print 'current = %0.2e'%(i1),'ampere'\n", + "#greater than 20\n", + "vone=16#\n", + "r=vone/i1#\n", + "r1=r-1*10**3#\n", + "r11=200*10**3-r1#\n", + "print 'resistance = %0.2e'%(r),'ohm'\n", + "print \"r1 = %0.2e\"%((r1)),\"ohm\"\n", + "print \"r2 = %0.2e\"%((r11)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 142 example 6 " + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum current = 0.035 ampere\n", + "v1 minimum = 262.50 volt\n", + "v1 maximum = 393.75 volt\n" + ] + } + ], + "source": [ + "v1=150##volt\n", + "vone=300#volt\n", + "idmax=40*10**-3##ampere\n", + "idmin=5*10**-3##ampere\n", + "r=(vone-v1)/idmax#\n", + "imax=idmax-idmin#\n", + "print 'maximum current = %0.3f'%(imax),'ampere'\n", + "#minimum\n", + "zq=1#\n", + "while (zq<=2):\n", + " if zq==1 :\n", + " ione=25*10**-3#\n", + " i1=ione+idmin#\n", + " vmin=(i1*r)+v1#\n", + " print 'v1 minimum = %0.2f'%(vmin),'volt'\n", + " else:\n", + " ione=25*10**-3#\n", + " i1=ione+idmax#\n", + " vmin=(i1*r)+v1#\n", + " print 'v1 maximum = %0.2f'%(vmin),'volt'\n", + " \n", + " \n", + " zq=zq+1#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 142 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "width = 2.22e-08 metre\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "q=4.5*10**22##atoms per cubic metre\n", + "na=q/(10**4)#\n", + "eo=0.026*24.16#\n", + "e=1.6*10**-19#\n", + "W=sqrt((4*16*0.628)/(36*3.14*10**9*na*10**6*e))#\n", + "print 'width = %0.2e'%(W),'metre'" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch4.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch4.ipynb new file mode 100644 index 00000000..b6079247 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch4.ipynb @@ -0,0 +1,1705 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4 - Bipolar Junction Transistor" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 201 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r1 = 19990.91 ohm\n" + ] + } + ], + "source": [ + "alpha=0.98#\n", + "vbe=0.7##base emitter voltage volt\n", + "ie=-4*10**-3##emitter current\n", + "vc=12##colector voltage volt\n", + "colr=3.3*10**3##ohms\n", + "colCurrent=ie*(-alpha)#\n", + "baseCurrent=0.02*ie#\n", + "vbn=vbe+(-4*10**-3*100)#\n", + "i2=-vbn/(10*10**3)#\n", + "i1=-(baseCurrent+i2)#\n", + "vcn=(vc-((colCurrent+i1)*colr))#\n", + "v1=vcn-0.9#\n", + "r1=v1/i1#\n", + "print \"r1 = %0.2f\"%(abs(r1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 202 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rb = 21500.00 ohm\n", + "rc = 700.00 ohm\n", + "rb at emitter resistance 100ohm = 18950.00 ohm\n" + ] + } + ], + "source": [ + "colvoltag=12##volts\n", + "vbe=5##volts\n", + "colcur=10*10**-3##ampere\n", + "vce=5##volts\n", + "beta1=50#\n", + "ib=colcur/beta1#\n", + "rb=(vbe-0.7)/ib#\n", + "rc=(12-vbe)/colcur#\n", + "#when 100ohm included\n", + "print \"rb = %0.2f\"%(rb),\"ohm\"\n", + "print \"rc = %0.2f\"%(rc),\"ohm\"\n", + "rb=(vce-0.7-(colcur+ib)*beta1)/ib#\n", + "\n", + "print \"rb at emitter resistance 100ohm = %0.2f\"%(rb),\"ohm\"#correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 205 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max resistance = 76562.50 ohm\n", + "baseresistance = 100000.00 ohm\n", + "temperature = 46.70 celsius\n" + ] + } + ], + "source": [ + "from math import log\n", + "#given\n", + "reveri=2*10**-6##ampere at 25\n", + "icb=2*10**-6*2**5##ampere at 75\n", + "basevoltag=5##volt\n", + "#(1)\n", + "rb=(-0.1+basevoltag)/(icb)#\n", + "print \"max resistance = %0.2f\"%((rb)),\"ohm\"#correction in the book\n", + "#(2)\n", + "basevoltag=1#\n", + "rb=100*10**3#\n", + "reveri=(-0.1+basevoltag)/rb#\n", + "q=reveri/(2*10**-6)#\n", + "w=q**10#\n", + "u=log(w)\n", + "t=25+(u/log((2)))#\n", + "print \"baseresistance = %0.2f\"%((rb)),\"ohm\"\n", + "print \"temperature = %0.2f\"%((t)),\"celsius\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 205 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "min resistance = 3769.23 ohm\n" + ] + } + ], + "source": [ + "#given\n", + "vbe=0.8##volt\n", + "beta1=100#\n", + "vce=0.2##volt\n", + "rb=200*10**3##ohm\n", + "bascur=(6-vbe)/rb#\n", + "colres=(10-vce)/(beta1*bascur)#\n", + "print \"min resistance = %0.2f\"%((colres)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 206 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "in saturation mode\n", + "vo = 3.51 volt\n", + "emitter resistance < 688.58 ohm\n" + ] + } + ], + "source": [ + "beta1=100#\n", + "colres=3*10**3##collector resistance #ohm\n", + "rb=8*10**3##ohm\n", + "r1=500##ohm\n", + "voltag=5##volt\n", + "#(1)\n", + "ib=(-voltag+0.7)/((1+beta1)*r1+(rb))#\n", + "ic=beta1*ib#\n", + "vce=(-10-ic*(colres)+r1*(ib+ic))#\n", + "vcb=vce+0.7#\n", + "#(2)\n", + "volmin=-0.2+abs(ib+ic)*r1#\n", + "re=-(0.7+rb*ib+voltag)/((1+(beta1))*ib)#\n", + "print \"in saturation mode\"\n", + "print \"vo = %0.2f\"%((volmin)),\"volt\"#correction in the book\n", + "print \"emitter resistance < %0.2f\"%((re)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 207 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the operating point at vbb = 1.00 volt ic = 2.50e-03 ampere vce = 7.00 volt\n", + "the operating point at vbb = 12.00 volt ic = 5.95e-03 ampere vce = -176.33 volt\n", + "beta at saturation = 6.32\n" + ] + } + ], + "source": [ + "vcc=12##volt\n", + "rb=12*10**3##ohm\n", + "colres=2*10**3##ohm\n", + "beta1=100#\n", + "vb=0.7##volt\n", + "vce=0.1##volt\n", + "\n", + "for q in range(1,3):\n", + " if q==1:\n", + " vbb=1\n", + " else:\n", + " vbb=12\n", + " \n", + " ib=(vbb-vb)/rb\n", + " ic=beta1*ib\n", + " ie=ic+ib\n", + " vce=vcc-ic*colres\n", + " if q==2 :\n", + " ic=(vcc-0.1)/colres\n", + " \n", + "\n", + " print \"the operating point at vbb = %0.2f\"%((vbb)),\"volt ic = %0.2e\"%((ic)),\"ampere vce = %0.2f\"%((vce)),\" volt\"\n", + "\n", + "beta1=ic/ib#\n", + "\n", + "print \"beta at saturation = %0.2f\"%((beta1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 208 example 11" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current = 1.00e-03 ampere\n" + ] + } + ], + "source": [ + "vbe=0.65##volt\n", + "colres=2*10**3##ohm\n", + "voltag=10##volt\n", + "i1=voltag/10#\n", + "q=(1.65-vbe)/(1*10**3)#\n", + "\n", + "\n", + "print \"current = %0.2e\"%((q)),\"ampere\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 208 example 12" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vce = 5.70 volt\n", + "collector current = 1.05e-03 ampere\n" + ] + } + ], + "source": [ + "vcc=12##volt\n", + "r1=10*10**3##ohm\n", + "colres=1*10**3##ohm\n", + "re=5*10**3##ohm\n", + "rb=5*10**3##ohm\n", + "beta1=100#\n", + "vbe=0.7##volt\n", + "basvol=vcc*10/20#\n", + "ib=((basvol-vbe)/(rb+beta1*rb))#\n", + "ic=beta1*ib#\n", + "vce=vcc-ic*(colres+re)#\n", + "print \"vce = %0.2f\"%((vce)),\"volt\"\n", + "print \"collector current = %0.2e\"%((ic)),\"ampere\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 209 example 13" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r1 = 4.22 times r2\n", + "if r2 is 1200ohm\n", + "r1 = 5061.77 ohm\n", + "r2 = 1200.00 ohm\n" + ] + } + ], + "source": [ + "colres=330##ohm\n", + "re=0.1*10**3##ohm\n", + "vcc=12##volt\n", + "vce=0.2##volt\n", + "revcur=18*10**-3#ampere\n", + "ib=0.3*10**-3##ampere\n", + "stability=10#\n", + "beta1=100#\n", + "colres=0.330##ohm\n", + "re=0.1*10**3##ohm\n", + "vbe=0.2#\n", + "rb=(((1+beta1)*re)/10-((1+beta1)*re))/(1-10.1)#\n", + "vb=2+ib*rb#\n", + "w=vcc/vb#\n", + "q=w-1#\n", + "r1=1.2*10**3#\n", + "r=q*1.2*10**3#\n", + "print \"r1 = %0.2f\"%((q)),\"times r2\"\n", + "print \"if r2 is 1200ohm\"\n", + "print \"r1 = %0.2f\"%((r)),\"ohm\"\n", + "\n", + "print \"r2 = %0.2f\"%((r1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 210 example 14" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collector current = 2.49e-03 ampere\n", + "emitter current = 2.52e-03 ampere\n", + "collector current with ib = 2.47e-03 ampere\n", + "emitter current = 2.50e-03 ampere\n", + "error = 7.94e-03\n" + ] + } + ], + "source": [ + "alpha1=0.99#\n", + "ib=25*10**-6##ampere\n", + "icb=200*10**-9##ampere\n", + "beta1=alpha1/(1-alpha1)#\n", + "ic=beta1*ib+(beta1+1)*icb#\n", + "print \"collector current = %0.2e\"%((ic)),\"ampere\"\n", + "ie1=(ic-icb)/alpha1#\n", + "print \"emitter current = %0.2e\"%((ie1)),\"ampere\"\n", + "ic=beta1*ib#\n", + "print \"collector current with ib = %0.2e\"%((ic)),\"ampere\"\n", + "ie=ic/alpha1#\n", + "print \"emitter current = %0.2e\"%((ie)),\"ampere\"\n", + "w=(ie1-ie)/ie1#\n", + "print \"error = %0.2e\"%((w))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 211 example 15" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance = 381879.22 ohm\n", + "stability = 22.62\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "vcc=26##volt\n", + "colres=20*10**3##ohm\n", + "re=470##ohm\n", + "beta1=45#\n", + "vce=8##volt\n", + "ib=(vcc-vce)/((1+beta1)*(colres+re))#\n", + "ic=beta1*ib#\n", + "r1=((vcc-colres*(ib+ic)-re*(ib+ic)-(0.7)))/ib#\n", + "print \"resistance = %0.2f\"%((r1)),\"ohm\"\n", + "stability=(1+beta1)/(1+(beta1*re)/(re+colres))#\n", + "print \"stability = %0.2f\"%((stability))\n", + "#correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 211 example 16" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current = 6.69e-04 ampere\n", + "vce = 2.69 volt\n", + "resistance = 6.90e+02 ohm\n", + "current = 6.36e-04 ampere\n", + "vce = 2.63 volt\n" + ] + } + ], + "source": [ + "vcc=1.5#volt in book should be changed as 1.5\n", + "colres=1.5*10**3##ohm\n", + "emresi=0.27*10**3##ohm\n", + "r1=2.7*10**3##ohm\n", + "r=2.7*10**3##ohm\n", + "beta1=45#\n", + "basre1=690##ohm\n", + "voltag=r*vcc/(r*r1)#\n", + "basres=(r*r1)/(r+r1)#\n", + "vbe=0.2#\n", + "for q in range (1,3):\n", + " if q==2 :\n", + " print \"resistance = %0.2e\"%((basre1)),\"ohm\"\n", + " basres=basres+basre1\n", + " \n", + " bascur=(((voltag+vbe)))/(basres+(45*(emresi)))\n", + " colcur=beta1*bascur\n", + " vce=(vcc+colcur*colres+(bascur+colcur)*emresi)\n", + " print \"current = %0.2e\"%((colcur)),\"ampere\"\n", + " print \"vce = %0.2f\"%((vce)),\"volt\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 212 example 17" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "base resistance = 62500.00 ohm\n", + "stability = 26.00\n" + ] + } + ], + "source": [ + "beta1=25#\n", + "colres=2.5*10**3##ohm\n", + "vcc=10##volt\n", + "vce=-5##volt\n", + "ic=-(vcc+vce)/colres#\n", + "ib=ic/beta1#\n", + "rb=vce/ib#\n", + "stability=(1+beta1)/((1+beta1)*((colres)/(colres+rb)))#\n", + "print \"base resistance = %0.2f\"%((rb)),\"ohm\"#correction in book\n", + "print \"stability = %0.2f\"%((stability))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 212 example 18" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "junction temperature = 51.00 celsius\n" + ] + } + ], + "source": [ + "therre=8##celsius per watts\n", + "tepera=27##celsius ambient temperature\n", + "potran=3##watt\n", + "tejunc=tepera+(therre*potran)#\n", + "print \"junction temperature = %0.2f\"%((tejunc)),\"celsius\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 213 example 19" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dissipation = 9.75 watt\n" + ] + } + ], + "source": [ + "ambtep=40##celsius\n", + "juntep=160##celsius\n", + "hs_a=8#\n", + "j_c=5#\n", + "c_a=85#\n", + "j_a=(j_c)+(c_a*hs_a)/(c_a+hs_a)#\n", + "podiss=(juntep-ambtep)/j_a#\n", + "print \"dissipation = %0.2f\"%((podiss)),\"watt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 213 example 21" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "alpha = 0.99\n", + "beta = 199.00\n" + ] + } + ], + "source": [ + "emicur=1*10**-3##ampere\n", + "colcur=0.995*10**-3##ampere\n", + "alpha1=colcur/emicur#\n", + "beta1=alpha1/(1-alpha1)#\n", + "print \"alpha = %0.2f\"%((alpha1))\n", + "print \"beta = %0.2f\"%((beta1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 213 example 22" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "alpha = 0.99\n" + ] + } + ], + "source": [ + "beta1=100#\n", + "alpha1=beta1/(beta1+1)#\n", + "\n", + "print \"alpha = %0.2f\"%((alpha1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 213 example.23" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ic = 0.0067 ampere\n" + ] + } + ], + "source": [ + "rb=200*10**3##ohm\n", + "rc=2*10**3##ohm\n", + "vcc=20##volt\n", + "ib=(vcc)/(rb+200*rc)#\n", + "ic=200*ib#\n", + "print \"ic = %0.4f\"%((ic)),\"ampere\"\n", + "#correction required in book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 214 example 24" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collector current = 9.81e-04 ampere\n", + "base current = 1.90e-05 ampere\n" + ] + } + ], + "source": [ + "alpha1=0.98#\n", + "revcur=1*10**-6##ampere\n", + "emicur=1*10**-3##ampere\n", + "colcur=alpha1*emicur+revcur#\n", + "bascur=emicur-colcur#\n", + "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", + "print \"base current = %0.2e\"%((bascur)),\"ampere\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 214 example 25" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vce = 8.00 volt\n", + "emitter resistance = 50.00 ohm\n" + ] + } + ], + "source": [ + "colcur=100*10**-3##ampere\n", + "ouresi=20##ohm\n", + "r=200##ohm\n", + "r1=100##ohm\n", + "vcc=15##volt\n", + "basvol=((r1)/(r+r1))*vcc#\n", + "em1res=basvol/colcur#\n", + "vce=vcc-(ouresi+em1res)*colcur#\n", + "print \"vce = %0.2f\"%((vce)),\"volt\"\n", + "print \"emitter resistance = %0.2f\"%((em1res)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 214 example 26" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "emitter current = 0.019 ampere\n", + "collector to emitter = 3.112 volt\n", + "collector to emitter = -15.18 volt\n", + "collector current = 0.005 ampere\n" + ] + } + ], + "source": [ + "colres=1*10**3##ohm\n", + "beta1=50#\n", + "vbe=0.3##volt\n", + "vcc=6##volt\n", + "rb=10*10**3##ohm\n", + "re=100##ohm\n", + "em1cur=((vcc-vbe)*(beta1+1))/((rb+((beta1+1)*re)))#\n", + "for q in range(1,3):\n", + " if q==2 :\n", + " colres=1*10**3#\n", + " vce=vcc-(colres+re)*em1cur#\n", + " ic=vcc/(colres+re)#\n", + " print \"collector to emitter = %0.2f\"%((vce)),\"volt\"\n", + " print \"collector current = %0.3f\"%((ic)),\"ampere\"\n", + " \n", + " if q==1 :\n", + " colres=50#\n", + " rb=100#\n", + " vce=vcc-(colres+rb)*em1cur#\n", + " print \"emitter current = %0.3f\"%((em1cur)),\"ampere\"\n", + " print \"collector to emitter = %0.3f\"%((vce)),\"volt\"\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 216 example 27" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance = 3928.57 ohm\n", + "resistance r1 = 51281.87 ohm\n", + "resistance r2 = 34645.75 ohm\n" + ] + } + ], + "source": [ + "beta1=99#\n", + "stability=5#\n", + "vbe=0.2##volt\n", + "colres=2.5*10**3##ohm\n", + "vce=6##volt\n", + "ven=5.5##volt\n", + "vcc=15##volt\n", + "vcn=vce+ven#\n", + "colvol=vcc-vcn##voltage across collector resistance\n", + "ic=colvol/colres#\n", + "ib=ic/beta1#\n", + "colre1=ven/ic#\n", + "rb=stability*colre1/(1-(stability/(1+beta1)))##correction in the book taken collector resistance as 3.13*10**3ohm but it is 3.93*10**3ohm\n", + "v1=(ib*rb)+(vbe)+((ib+ic)*colre1)#\n", + "r=rb*vcc/v1#\n", + "r1=r*v1/(vcc-v1)#\n", + "print \"resistance = %0.2f\"%((colre1)),\"ohm\"\n", + "print \"resistance r1 = %0.2f\"%((r)),\"ohm\"\n", + "print \"resistance r2 = %0.2f\"%((r1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 216 example 28" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "base current = -4.22e-05 ampere\n", + "collector current = -2.11e-03 ampere\n", + "emitter current = -2.15e-03 ampere\n", + "vcb = 5.99 volt\n", + "the collector base junction is reverse biased the transistor in active region\n" + ] + } + ], + "source": [ + "beta1=50#\n", + "vbb=5##volt\n", + "rb=10*10**3##ohm\n", + "colres=800##ohm\n", + "re=1.8*10**3##ohm\n", + "vcc=5##volt\n", + "ib=(0.7-vbb)/((rb)+(beta1+1)*re)##correction in book\n", + "re=beta1*ib#\n", + "ie=(ib+re)#\n", + "vce=vcc-colres*re-re*ie#\n", + "vcb=(vce-0.7)#\n", + "print \"base current = %0.2e\"%((ib)),\"ampere\"\n", + "print \"collector current = %0.2e\"%((re)),\"ampere\"\n", + "print \"emitter current = %0.2e\"%((ie)),\"ampere\"\n", + "print \"vcb = %0.2f\"%((vcb)),\"volt\"#correction in book\n", + "print \"the collector base junction is reverse biased the transistor in active region\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 217 example 29" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collector current = 9.49e-04 ampere\n", + "collector emitter voltage = 6.31 volt\n" + ] + } + ], + "source": [ + "r=40*10**3##ohm\n", + "r1=5*10**3##ohm\n", + "colres=r1#\n", + "beta1=50#\n", + "em1res=1*10**3##ohm\n", + "vcc=12##volt\n", + "rth=r*r1/(r+r1)#\n", + "v1=r1*vcc/(r1+r)#\n", + "bascur=(v1-0.3)/(rth+(beta1*em1res))#\n", + "colcur=beta1*bascur#\n", + "vce=vcc-(colres+em1res)*colcur#\n", + "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", + "print \"collector emitter voltage = %0.2f\"%((vce)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 217 example 30" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " base resistance = 49500 ohm\n" + ] + } + ], + "source": [ + "colcur=8*10**-3##ampere\n", + "re=500##ohm\n", + "vce=3##volt\n", + "beta1=80#\n", + "vcc=9##volt\n", + "ib=colcur/beta1#\n", + "rb=(vcc-(1+beta1)*(ib*re))/ib#\n", + "print \" base resistance = %0.f\"%((rb)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 217 example 31" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "base current = 9.08e-06 ampere\n", + "collector current = 9.08e-04 ampere\n", + "emitter current = 9.17e-04 ampere\n" + ] + } + ], + "source": [ + "vcc=10##volt\n", + "basres=1*10**6##ohm\n", + "colres=2*10**3##ohm\n", + "em1res=1*10**3##ohm\n", + "beta1=100#\n", + "bascur=vcc/(basres+(beta1+1)*(em1res))#\n", + "colcur=beta1*bascur#\n", + "em1cur=colcur+bascur#\n", + "print \"base current = %0.2e\"%((bascur)),\"ampere\"\n", + "print \"collector current = %0.2e\"%((colcur)),\"ampere\"#correction in book\n", + "print \"emitter current = %0.2e\"%((em1cur)),\"ampere\"#correction in book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 218 example 32" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collector current = 1.98e-03 ampere\n", + "emitter current = -2.00e-03 ampere\n", + "collector emitter voltage = 5.34 volt\n" + ] + } + ], + "source": [ + "alpha1=0.99#\n", + "rebacu=1*10**-11##ampere\n", + "colres=2*10**3##ohm\n", + "vcc=10##volt\n", + "bascur=20*10**-6##ampere\n", + "beta1=alpha1/(1-alpha1)#\n", + "i1=(1+beta1)*rebacu#\n", + "colcur=beta1*bascur+i1#\n", + "em1cur=-(bascur+colcur)#\n", + "vcb=vcc-colcur*colres#\n", + "vce=vcb-0.7#\n", + "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", + "print \"emitter current = %0.2e\"%((em1cur)),\"ampere\"\n", + "print \"collector emitter voltage = %0.2f\"%((vce)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 220 example 33" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "base current = 2.15e-05 ampere\n", + "collector current = 2.15e-03 ampere\n", + "emitter current = 2.17e-03 ampere\n", + "base current = 2.56e-05 ampere\n", + "collector current = 2.56e-03 ampere\n", + "emitter current = 2.59e-03 ampere\n" + ] + } + ], + "source": [ + "beta1=100#\n", + "revcur=20*10**-9##ampere\n", + "colres=3*10**3##ohm\n", + "rb=200*10**3##ohm\n", + "vbb=5##volt\n", + "vcc=11##volt\n", + "em1res=2*10**3##ohm\n", + "ib=(vbb-0.7)/rb#\n", + "ic=beta1*ib#\n", + "ie=ib+ic#\n", + "print \"base current = %0.2e\"%((ib)),\"ampere\"\n", + "print \"collector current = %0.2e\"%((ic)),\"ampere\"\n", + "print \"emitter current = %0.2e\"%((ie)),\"ampere\"#question asked only currents\n", + "#2*10**3 ohm added to emitter\n", + "ib=-(0.7-vcc)/(rb+((1+beta1)*em1res))#\n", + "ic=beta1*ib#\n", + "ie=ib+ic#\n", + "print \"base current = %0.2e\"%((ib)),\"ampere\"#correction in book\n", + "print \"collector current = %0.2e\"%((ic)),\"ampere\"\n", + "print \"emitter current = %0.2e\"%((ie)),\"ampere\"#question asked only currents" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 221 example 34" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "emitter current = 2.00e-03 ampere\n", + "collector current = 2.00e-03 ampere\n", + "voltage = 10.00 volt\n", + "vcb = 2.00 volt\n", + "emitter resistance = 6000.00 ohm\n" + ] + } + ], + "source": [ + "em1cur=2*10**-3##ampere\n", + "v1=12##volt\n", + "vcc=12##volt\n", + "format(12)#\n", + "colres=5*10**3##ohm\n", + "em1res=v1/em1cur#\n", + "colcur=em1cur#\n", + "voltag=colcur*colres##ic*r\n", + "v1=vcc-(colres*colcur)#\n", + "print \"emitter current = %0.2e\"%((em1cur)),\"ampere\"\n", + "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", + "print \"voltage = %0.2f\"%((voltag)),\"volt\"\n", + "print \"vcb = %0.2f\"%(abs(v1)),\"volt\"\n", + "print \"emitter resistance = %0.2f\"%((em1res)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 221 example 35" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance at 0.0 volt 80000.00 ohm\n", + "resistance at 0.70 volt 66000.00 ohm\n", + "vbb at 12volt\n", + "resistance at 0.00 volt 240000.00 ohm\n", + "resistance at 0.70 volt 226000.00 ohm\n" + ] + } + ], + "source": [ + "vbb=4##volt\n", + "ib=50*10**-6##ampere\n", + "for q in [0, 0.7, 4, 12]:\n", + " if q==0 :\n", + " rb=(vbb-q)/ib#\n", + " print \"resistance at %0.1f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"\n", + " elif q==0.7:\n", + " rb=(vbb-q)/ib\n", + " print \"resistance at %0.2f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"\n", + " elif q==4:\n", + " print \"vbb at 12volt\"\n", + " q=0\n", + " vbb=12\n", + " rb=(vbb-q)/ib\n", + " print \"resistance at %0.2f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"\n", + " else:\n", + " q=0.7#\n", + " vbb=12#\n", + " rb=(vbb-q)/ib#\n", + " \n", + " \n", + " print \"resistance at %0.2f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 222 example 36" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta = 99.96\n", + "ie = 0.005 ampere\n", + "alpha = 1.00\n", + "ib = 9.80e-05 ampere\n" + ] + } + ], + "source": [ + "ic=5.2*10**-3##ampere\n", + "ib=50*10**-6##ampere\n", + "icb=2*10**-6##ampere\n", + "beta1=(ic-icb)/(ib+icb)#\n", + "print \"beta = %0.2f\"%((beta1))\n", + "ie=ib+ic#\n", + "\n", + "print \"ie = %0.3f\"%((ie)),\"ampere\"\n", + "alpha1=(ic-icb)/ic#\n", + "print \"alpha = %0.2f\"%((alpha1))\n", + "\n", + "\n", + "\n", + "ic=10*10**-3##ampere\n", + "ib=(ic-(beta1+1)*(icb))/beta1#\n", + "\n", + "\n", + "print \"ib = %0.2e\"%((ib)),\"ampere\"\n", + "#correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 222 example 37" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collector current at beta 160.00 = 1.07e-03 ampere\n", + "vce at beta 160.00 = -5.69 volt\n", + "collector current at beta 80.00 = 1.07e-03 ampere\n", + "vce at beta 80.00 = -3.03 volt\n" + ] + } + ], + "source": [ + "beta1=160\n", + "vb=-0.8##volt\n", + "re=2.5*10**3##ohm\n", + "vcc=10##volt\n", + "for q in [160, 80]:\n", + " ib=(vcc-vb)*10**2/((re)*(1+q)*400)#\n", + " ic=q*ib#\n", + " colres=1.5*10**3##ohm\n", + " print \"collector current at beta %0.2f\"%((q)),\" = %0.2e\"%((ic)),\"ampere\"\n", + " #correction required in the book\n", + " ie=(1+beta1)*ib#\n", + " vce=-(vcc-colres*ic-re*ie)#\n", + " print \"vce at beta %0.2f\"%((q)),\" = %0.2f\"%((vce)),\"volt\"\n", + " #correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 222 example 38" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rb = 630000.00 ohm\n", + "stability = 56.51\n", + "new point\n", + "ic = 6.42e-04 ampere\n", + "vce = 8.79 volt\n" + ] + } + ], + "source": [ + "vb=0.7##volt\n", + "vce=7##volt\n", + "ic=1*10**-3##ampere\n", + "vcc=12##volt\n", + "beta1=100#\n", + "colres=(vcc-vce)/ic#\n", + "ib=ic/beta1#\n", + "#rb\n", + "rb=(vcc-vb-ic*colres)/ib#\n", + "print \"rb = %0.2f\"%((rb)),\" ohm\"\n", + "#stability\n", + "stability=(1+beta1)/(1+beta1*(colres/(colres+rb)))#\n", + "print \"stability = %0.2f\"%((stability))\n", + "#beta=50\n", + "beta1=50#\n", + "print \"new point\"\n", + "ib=(vcc-vb)/(beta1*colres+rb)#\n", + "ic=beta1*ib#\n", + "print \"ic = %0.2e\"%((ic)),\" ampere\"\n", + "vce=vcc-(ic*colres)#\n", + "print \"vce = %0.2f\"%((vce)),\" volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 223 example 39" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "new point\n", + "vce = 4.21 volt\n", + "ic = 1.93e-03 ampere\n" + ] + } + ], + "source": [ + "vcc=16##volt\n", + "colres=3*10**3##ohm\n", + "re=2*10**3##ohm\n", + "r1=56*10**3##ohm\n", + "r2=20*10**3##ohm\n", + "alpha1=0.985#\n", + "vb=0.3##volt\n", + "#coordinates\n", + "beta1=alpha1/(1-alpha1)#\n", + "v1=vcc*r2/(r1+r2)#\n", + "rb=r2/(r1+r2)#\n", + "ic=(v1-vb)/((rb/beta1)+(re/beta1)+re)#\n", + "print \"new point\"\n", + "print \"vce = %0.2f\"%((v1)),\" volt\"\n", + "print \"ic = %0.2e\"%((ic)),\" ampere\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 224 example 40" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "re = 1300.00 ohm\n", + "r1 = 26233.18 ohm\n", + "r2 = 3725.66 ohm\n" + ] + } + ], + "source": [ + "vce=12##volt\n", + "ic=2*10**-3##ampere\n", + "vcc=24##volt\n", + "vb=0.7##volt\n", + "beta1=50#\n", + "colres=4.7*10**3##ohm\n", + "#re\n", + "re=((vcc-vce)/(ic))-colres#\n", + "print \"re = %0.2f\"%((re)),\" ohm\"\n", + "#r1\n", + "ib=ic/beta1#\n", + "v1=ib*3.25*10**3+vb+(ib+1.5*10**3)#\n", + "r1=3.25*18*10**3/2.23#\n", + "print \"r1 = %0.2f\"%((r1)),\" ohm\"\n", + "#r2\n", + "r2=26.23*2.23*10**3/(18-2.3)#\n", + "print \"r2 = %0.2f\"%((r2)),\" ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 225 example 41" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ib = 2.87e-05 ampere\n", + "ic = 3.58e-03 ampere\n", + "ie = 3.61e-03 ampere\n" + ] + } + ], + "source": [ + "colres=3*10**3##ohm\n", + "rb=150*10**3##ohm\n", + "beta1=125#\n", + "vcc=10##volt\n", + "v1=5##volt\n", + "vb=0.7##volt\n", + "ib=(v1-vb)/rb#\n", + "print \"ib = %0.2e\"%((ib)),\" ampere\"\n", + "ic=beta1*ib#\n", + "ie=ic+ib#\n", + "print \"ic = %0.2e\"%((ic)),\" ampere\"\n", + "print \"ie = %0.2e\"%((ie)),\" ampere\"#correction in the book in question to find only currents" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 226 example 42" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "re = 1033.33 ohm\n", + "rb = 4485.11 ohm\n" + ] + } + ], + "source": [ + "beta1=50#\n", + "vb=0.6##volt\n", + "vcc=18##volt\n", + "colres=4.3*10**3##ohm\n", + "ic=1.5*10**-3##ampere\n", + "vce=10##volt\n", + "stability=4#\n", + "r1=(vcc-vce)/ic#\n", + "re=r1-colres#\n", + "w=(beta1+1)*(stability)*re/(1+beta1-stability)#\n", + "print \"re = %0.2f\"%((re)),\"ohm\"\n", + "print \"rb = %0.2f\"%((w)),\"ohm\"#correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 226 example 43" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r1 = 3.8*r2\n" + ] + } + ], + "source": [ + "re=100##ohm\n", + "beta1=100#\n", + "rb=1*10**3##ohm\n", + "stability=(1+beta1)/(1+beta1*(re/(re+rb)))#\n", + "r1=3.8#r2\n", + "print \"r1 = 3.8*r2\"#correction in the book not given in question" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 228 example 45" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rb at 75 celsius = 14062.50 ohm\n", + "icb = 1.80e-05 ampere\n", + "temperature at which current till max = 58.40 celsius\n" + ] + } + ], + "source": [ + "from math import log10\n", + "icb=2*10**-6##ampere\n", + "vbb=1##volt\n", + "r1=50*10**3##ohm\n", + "#current increases every 10celsius rb at 75celsius\n", + "vb=-0.1##volt\n", + "icb=2**6*10**-6##at 75celsius\n", + "rb=(vb+vbb)/icb#\n", + "print \"rb at 75 celsius = %0.2f\"%((rb)),\"ohm\"\n", + "icb=(vb+vbb)/r1#\n", + "print \"icb = %0.2e\"%((icb)),\"ampere\"\n", + "w=(log10(icb*10**6)*20/log10(2))-25#\n", + "print \"temperature at which current till max = %0.2f\"%((w)),\"celsius\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 228 example 46" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "min collector resistance = 4558.14 ohm\n" + ] + } + ], + "source": [ + "vb=0.8##volt\n", + "beta1=100#\n", + "vce=0.2##volt\n", + "vcc=10##volt\n", + "rb=200*10**3##ohm\n", + "#collector resistance\n", + "ib=(5-0.7)/rb#\n", + "colres=(vcc-vce)/(beta1*ib)#\n", + "print \"min collector resistance = %0.2f\"%((colres)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 229 example 47" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ib2 = 4.00e-03 ampere\n", + "ie1 = -4.00e-03 ampere\n", + "ic2 = 9.60e-02 ampere\n", + "ib1 = 8.00e-05 ampere\n", + "ic1 = 3.92e-03 ampere\n", + "ic = 9.99e-02 ampere\n", + "ic/ib = 1249.00\n", + "ic/ie = -1.00\n", + "vce = 12.01 volt\n" + ] + } + ], + "source": [ + "alpha1=0.98#\n", + "alph11=0.96#\n", + "vcc=24##volt\n", + "colres=120##ohm\n", + "ie=100*10**-3##ampere\n", + "beta1=alpha1/(1-alpha1)#\n", + "bet11=alph11/(1-alph11)#\n", + "ib2=ie/(1+bet11)#\n", + "ie1=-ib2#\n", + "print \"ib2 = %0.2e\"%((ib2)),\"ampere\"\n", + "print \"ie1 = %0.2e\"%((ie1)),\"ampere\"\n", + "\n", + "\n", + "ic2=bet11*ib2#\n", + "ib1=ib2/(1+beta1)#\n", + "ic1=beta1*ib1#\n", + "print \"ic2 = %0.2e\"%((ic2)),\"ampere\"\n", + "print \"ib1 = %0.2e\"%((ib1)),\"ampere\"\n", + "print \"ic1 = %0.2e\"%((ic1)),\"ampere\"\n", + "ic=ic1+ic2#\n", + "vce=vcc-ic*colres#\n", + "ib=ib1#\n", + "w=ic/ib#\n", + "q=-ic/ie#\n", + "print \"ic = %0.2e\"%((ic)),\"ampere\"\n", + "print \"ic/ib = %0.2f\"%((w))\n", + "print \"ic/ie = %0.2f\"%((q))\n", + "#correction required in the book\n", + "print \"vce = %0.2f\"%((vce)),\"volt\"" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch5.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch5.ipynb new file mode 100644 index 00000000..acad3147 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch5.ipynb @@ -0,0 +1,1334 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5 - BJT Amplifier" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 283 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -50.00\n", + "input resistance = 2600.00 ohm\n", + "ce removed\n", + "voltage gain = -50.00\n", + "input resistance = 12600.00 ohm\n" + ] + } + ], + "source": [ + "ic=1*10**-3##ampere\n", + "vcc=5##volt\n", + "colres=2*10**3##ohm\n", + "r1=1.4*10**3##ohm\n", + "re=100##ohm\n", + "beta1=100\n", + "rb=100##ohm\n", + "v1=0.026\n", + "c1=25*10**-6##farad\n", + "g1=ic/v1\n", + "freque=10*10**3##hertz\n", + "xc=1/(2*freque*3.14*c1)\n", + "volgai=-beta1*colres/(r1+0.1*10**3+2.5*10**3)\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "ri=(0.1+2.5)*10**3-((xc.imag)*(1+beta1))\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"\n", + "#ce removed\n", + "volgai=-beta1*colres/((r1+0.1*10**3+2.5*10**3)+(101/1000)*10**3*100)\n", + "print \"ce removed\"\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "ri=(0.1+2.5)*10**3+100*101/1000*10**3\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 285 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = 260.00 <180\n", + "voltage gain reduced ce removed\n", + "when cb is short circuited the voltage gain increased\n" + ] + } + ], + "source": [ + "ic=1.3*10**-3##ampere\n", + "colres=2*10**3##ohm\n", + "re=500##ohm\n", + "v1=0.026##volt\n", + "beta1=100\n", + "vcc=15##volt\n", + "c1=10*10**-6##farad\n", + "ib=ic/beta1\n", + "ri=0.01/ib\n", + "volgai=beta1*colres*ib/0.01\n", + "print \"voltage gain = %0.2f\"%((volgai)),\"<180\"\n", + "print \"voltage gain reduced ce removed\"\n", + "print \"when cb is short circuited the voltage gain increased\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 286 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current gain = -11.62\n", + "voltage gain = -46.46\n", + "transconductance = -0.01 ampere per volt\n", + "transresistance = -46464.08 ohm\n", + "input resistance = 1042.65 ohm\n", + "output resistance = 3636.00 ohm\n" + ] + } + ], + "source": [ + "colres=4*10**3##ohm\n", + "r1=4*10**3##ohm\n", + "\n", + "rb=20*10**3##ohm\n", + "r=1*10**3##ohm\n", + "hie=1.1*10**3##ohm\n", + "\n", + "#current gain\n", + "ri=rb*hie/(rb+hie)\n", + "curgai=(1/2.04)*(rb/(rb+(hie)))*(-50*colres/(colres+(r1)))\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "#voltage gain\n", + "volgai=curgai*r1/r\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "#transconductance\n", + "conduc=volgai/r1\n", + "print \"transconductance = %0.2f\"%((conduc)),\"ampere per volt\"\n", + "#transresistance\n", + "resist=volgai*r\n", + "print \"transresistance = %0.2f\"%((resist)),\"ohm\"\n", + "#input resistance\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"\n", + "#output resistance\n", + "resist=40*10**3*colres/(40*10**3+colres)\n", + "\n", + "\n", + "\n", + "print \"output resistance = %0.2f\"%((resist)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 287 example 4" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rb = 235000.00 ohm\n", + "rb including emitter resistance = 230000.00 ohm\n" + ] + } + ], + "source": [ + "ib=20*10**-6##ampere\n", + "beta1=500\n", + "re=10##ohm correction in the book\n", + "r1=4.7*10**2##ohm correction in the book\n", + "ic=ib*beta1\n", + "voltag=ic*r1##voltage drop at 4.7*10**3ohm\n", + "vc=(10-voltag)\n", + "rb=(vc-0.6)/ib\n", + "print \"rb = %0.2f\"%((rb)),\"ohm\"\n", + "#re included\n", + "voltag=ic*re##voltage drop at re\n", + "vb=(0.6+voltag)\n", + "rb=(vc-vb)/ib\n", + "print \"rb including emitter resistance = %0.2f\"%((rb)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 288 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain with fedback = 73.92 decibel\n", + "beta = 1.20e-04\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "av=12480\n", + "fedbac=8##decibel\n", + "volgai=20*log10(av)##gain without fedback\n", + "volga1=volgai-fedbac\n", + "beta1=((av/5000)-1)/av\n", + "\n", + "print \"voltage gain with fedback = %0.2f\"%((volga1)),\"decibel\"\n", + "print \"beta = %0.2e\"%((beta1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 288 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collector current = 3.00e-03 ampere\n", + "emitter current = 3.00e-03 ampere\n", + "base current = 3.00e-05 ampere\n" + ] + } + ], + "source": [ + "beta1=100\n", + "r1=1.5*10**3##ohm\n", + "vcc=10##volt\n", + "r=100*10**3##ohm\n", + "vb=((vcc)/(r+10*10**3))*10*10**3\n", + "ie=0.3/100\n", + "ib=ie/beta1\n", + "print \"collector current = %0.2e\"%((ie)),\"ampere\"\n", + "print \"emitter current = %0.2e\"%((ie)),\"ampere\"\n", + "print \"base current = %0.2e\"%((ib)),\"ampere\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 268 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -125.00\n", + "power gain = 6250.00\n", + "error without hoe = 10.00\n", + "error = 21.00\n" + ] + } + ], + "source": [ + "hie=800##ohm\n", + "he=50*10**-6##mho\n", + "hfe=-55\n", + "z1=2*10**3##ohm\n", + "curgai=hfe/(1+he*z1)\n", + "zi=hie\n", + "volgai=curgai*z1/zi\n", + "powgai=volgai*curgai\n", + "#if hoe neglected\n", + "av=137.5\n", + "hfe=-55\n", + "w=((av-abs(volgai))*100)/abs(volgai)\n", + "ap=hfe*(-av)\n", + "w1=((ap-powgai)*100)/powgai\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "\n", + "\n", + "print \"power gain = %0.2f\"%((powgai))\n", + "print \"error without hoe = %0.2f\"%((w))\n", + "print \"error = %0.2f\"%((w1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 289 example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "emitter current = 1.92e-03 ampere\n", + "vc = 18.12 volt\n", + "collector emitter voltage = 8.53 volt\n" + ] + } + ], + "source": [ + "rb=5*10**3##ohm\n", + "vcc=20##volt\n", + "r=10*10**3##ohm\n", + "colres=5*10**3##ohm\n", + "vb=vcc*r/(r+r)\n", + "beta1=50\n", + "v1=0.6##volt\n", + "ib=(vb-v1)/(1+beta1*colres)\n", + "ic=beta1*ib\n", + "vc=vcc-ic*1*10**3\n", + "vce=vc-rb*(ic+ib)\n", + "print \"emitter current = %0.2e\"%((ic+ib)),\"ampere\"\n", + "print \"vc = %0.2f\"%((vc)),\"volt\"\n", + "print \"collector emitter voltage = %0.2f\"%((vce)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 290 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = 395.49\n" + ] + } + ], + "source": [ + "hib=25##ohm\n", + "hfb=0.999\n", + "hob=10**-6##ohm\n", + "colres=10*10**3##ohm\n", + "#voltage gain\n", + "curgai=hfb/(1+hob*colres)\n", + "zi=hib+hob*colres*curgai\n", + "volgai=curgai*colres/(zi)\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "#correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 290 example 10" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = 1.00\n", + "input resistance = 101050.00 ohm\n" + ] + } + ], + "source": [ + "re=1*10**3##ohm\n", + "hie=100##ohm\n", + "hfe=100\n", + "#voltage gain\n", + "volgai=1/((1+(hie/(2*(1+hfe)*re))))\n", + "#ri\n", + "ri=(hie/2)+(1+hfe)*re\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 292 example 11" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "emitter current = 4.16e-03 ampere\n", + "vce = 11.68 volt\n" + ] + } + ], + "source": [ + "beta1=90\n", + "re=2*10**3##ohm\n", + "rb=240*10**3##ohm\n", + "vcc=20\n", + "ib=(vcc-0.7)/(rb+(1+beta1)*(re))\n", + "ic=beta1*ib\n", + "vce=vcc-(ib+ic)*re\n", + "print \"emitter current = %0.2e\"%((ib+ic)),\"ampere\"\n", + "print \"vce = %0.2f\"%((vce)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 292 example 12" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -313.90\n", + "current gain = -100.55\n", + "impedance = 86666.67 ohm\n", + "parameters using approxmiate\n", + "voltage gain = -323.12\n", + "current gain = -110.00\n", + "impedance = 86666.67 ohm\n" + ] + } + ], + "source": [ + "hfe=110\n", + "hie=1.6*10**3##ohm\n", + "hoe=20*10**-6##ohm\n", + "colres=4.7*10**3##ohm\n", + "hre=2*10**-4\n", + "r1=470*10**3##ohm\n", + "curgai=-hfe/(1+hoe*colres)\n", + "ri=hie+hre*curgai*colres\n", + "volgai=curgai*colres/ri\n", + "y1=hoe-((hfe*hre)/(hie+1*10**3))\n", + "z1=1/y1\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "print \"impedance = %0.2f\"%((z1)),\"ohm\"\n", + "r0=z1*colres/(z1+colres)\n", + "curgai=-hfe\n", + "ri=hie\n", + "print \"parameters using approxmiate\"\n", + "volgai=curgai*(colres)/ri\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "#correction required in the book\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "print \"impedance = %0.2f\"%((z1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 293 example 13" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input resistance = 1.00e+07 ohm\n", + "voltage gain = 1.00\n", + "current gain = -10000.00\n" + ] + } + ], + "source": [ + "re=1*10**3##ohm\n", + "hie=1000##ohm\n", + "hfe=99\n", + "#inptut resistance\n", + "ri=hie+((1+hfe)*(hie+1+hfe*re))\n", + "\n", + "\n", + "print \"input resistance = %0.2e\"%((ri)),\"ohm\"##correction in the book\n", + "#voltage gain\n", + "volgai=((1+hfe)*(1+hfe)*re)/ri\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "\n", + "\n", + "#current gain\n", + "curgai=-((1+hfe)*(1+hfe))\n", + "\n", + "\n", + "print \"current gain = %0.2f\"%((curgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 294 example 14" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = 250.00 <180\n", + "input impedance = 2000.00 ohm\n", + "current gain = 100.00\n" + ] + } + ], + "source": [ + "hie=2*10**3##ohm\n", + "beta1=100\n", + "colres=5*10**3##ohm\n", + "volgai=beta1*colres/hie\n", + "print \"voltage gain = %0.2f\"%((volgai)),\"<180\"\n", + "print \"input impedance = %0.2f\"%((hie)),\"ohm\"\n", + "print \"current gain = %0.2f\"%((beta1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 294 example 15" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = 253.29\n", + "input impedance = 1546.39\n", + "coordinates ic = 1.14e-03 ampere vce = 8.30 volt\n" + ] + } + ], + "source": [ + "colres=4.7*10**3##ohm\n", + "beta1=150\n", + "r1=12*10**3##ohm\n", + "vcc=15##volt\n", + "re=1.2*10**3##ohm\n", + "rac=colres*r1/(colres+r1)\n", + "r=2*10**3##ohm\n", + "#voltage gain\n", + "volgai=beta1*rac/r\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "r1=75*10**3##ohm\n", + "r2=7.5*10**3##ohm\n", + "#input impedance\n", + "zin=(r1*r2)/(r1+r2)\n", + "zin=zin*r/(zin+r)\n", + "print \"input impedance = %0.2f\"%((zin))\n", + "#coordinates\n", + "vb=vcc*r2/(r1+r2)\n", + "ie=vb/re\n", + "vce=vcc-((colres+re)*(ie))\n", + "print \"coordinates ic = %0.2e\"%((ie)),\"ampere vce = %0.2f\"%((vce)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 296 example 16" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current gain = 57.14\n", + "input impedance = 115485.71 ohm\n", + "voltage gain = 0.99\n", + "output resistance = 32558.14 ohm\n" + ] + } + ], + "source": [ + "r1=2000##ohm\n", + "r=900##ohm\n", + "hie=1200##ohm\n", + "hre=2*10**-4\n", + "hfe=60\n", + "hoe=25*10**-6##ampere per volt\n", + "curgai=(hfe)/(1+hoe*r1)\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "ri=hie+(curgai*r1)\n", + "print \"input impedance = %0.2f\"%((ri)),\"ohm\"\n", + "volgai=curgai*r1/ri\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "admita=1/ri\n", + "admita=hoe-(-hfe*hre)/(hie+r)\n", + "r=1/admita\n", + "print \"output resistance = %0.2f\"%((r)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 296 example 17" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -609.86\n", + "current gain = -60.00\n", + "input impedance = 501.75 ohm\n", + "output impedance = 5100.00 ohm\n" + ] + } + ], + "source": [ + "hfe=60\n", + "hie=500##ohm\n", + "ic=3*10**-3##ampere\n", + "zi=hie\n", + "rb=220*10**3##ohm\n", + "colres=5.1*10**3##ohm\n", + "z=colres\n", + "volgai=-hfe*colres/hie\n", + "curgai=-hfe\n", + "vcc=12##volt\n", + "ib=(vcc-0.6)/rb\n", + "ie=hfe*ib\n", + "re=0.026/ie\n", + "zi=hfe*re\n", + "z=colres\n", + "volgai=-colres/re\n", + "curgai=-hfe\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "print \"input impedance = %0.2f\"%((zi)),\"ohm\"\n", + "print \"output impedance = %0.2f\"%((z)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 297 example 18" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input impedance = 1817.30 ohm\n", + "output impedance = 4000.00 ohm\n", + "voltage gain = -125.00\n", + "current gain = -56.79\n", + "parameters in re\n", + "input impedance = 1745.41 ohm\n", + "output impedance = 4000.00 ohm\n", + "voltage gain = -134.07\n", + "current gain = -58.50\n" + ] + } + ], + "source": [ + "hie=3.2*10**3##ohm\n", + "hfe=100\n", + "r=40*10**3##ohm\n", + "r1=4.7*10**3##ohm\n", + "colres=4*10**3##ohm\n", + "rb=r*r1/(r+r1)\n", + "zi=hie*rb/(hie+rb)\n", + "z=colres\n", + "re=1.2*10**3##ohm\n", + "volgai=-hfe*colres/hie\n", + "print \"input impedance = %0.2f\"%((zi)),\"ohm\"\n", + "print \"output impedance = %0.2f\"%((z)),\"ohm\"\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "curgai=-hfe*rb/(rb+hie)\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "hie=833\n", + "#(1) load open\n", + "vi=1\n", + "ib=vi/hie\n", + "volgai=hfe*ib*1.5*10**3\n", + "#load closed\n", + "hoe=50\n", + "r2=2*10**3##ohm\n", + "ib=vi/(r2+hie)\n", + "vb=1.682\n", + "ib=(vb-0.6)/(rb+(1+hfe)*(re))\n", + "ic=hfe*ib\n", + "ie=ic+ib\n", + "re=0.026/ie\n", + "zi=rb*hfe*re/((rb)+(hfe*re))\n", + "print \"parameters in re\"\n", + "print \"input impedance = %0.2f\"%((zi)),\"ohm\"\n", + "z=colres\n", + "print \"output impedance = %0.2f\"%((z)),\"ohm\"\n", + "volgai=colres/(-re)\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "curgai=-hfe*rb/(rb+hfe*re)\n", + "print \"current gain = %0.2f\"%((curgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 299 example 19" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -0.006\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "hfe=120\n", + "hie=0.02##ohm\n", + "r1=5.8*10**3##ohm\n", + "r=27*10**3##ohm\n", + "colres=1.5*10**3##ohm\n", + "re=330*10**3##ohm\n", + "vcc=10##volt\n", + "vb=vcc*r1/(r1+r)\n", + "rb=(r*r1)/(r+r1)\n", + "ib=(vb-0.7)/(rb+((1+hfe)*re))\n", + "volgai=-hfe*ib*2*10**3\n", + "print \"voltage gain = %0.3f\"%((volgai))\n", + "#correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 300 example 20" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "upper frequency voltage gain = 7.21e+06 hertz\n", + "upper current gain = 3.61e+06 hertz\n" + ] + } + ], + "source": [ + "freque=6*10**6##hertz\n", + "hfe=50\n", + "r1=500##ohm\n", + "g=0.04\n", + "rbb=100##ohm\n", + "\n", + "\n", + "c1=10*10**-12##farad\n", + "r=1000##ohm\n", + "rbe=hfe/g\n", + "ce=g/(2*3.14*freque)\n", + "c1=ce+c1*(1+g*r)\n", + "hie=rbb+rbe\n", + "resist=(r1+rbb)*rbe/(r1+rbb+rbe)\n", + "frequ2=1/(2*3.14*resist*c1)\n", + "curgai=-hfe*r1/(r1+hie)\n", + "volgai=(-hfe*r)/(r1+hie)\n", + "q=volgai*frequ2\n", + "print \"upper frequency voltage gain = %0.2e\"%(abs(q)),\"hertz\"##correction in the book\n", + "q=curgai*frequ2\n", + "print \"upper current gain = %0.2e\"%(abs(q)),\"hertz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 301 example 21" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current gain = -48.78\n", + "input resistance = 990.24 ohm\n", + "voltage gain = -49.26\n", + "output resistance = 51428.57 ohm\n", + "approximate\n", + "current gain = -50.00\n", + "input resistance = 1000.00 ohm\n", + "voltage gain = -50.00\n" + ] + } + ], + "source": [ + "hie=1*10**3##ohm\n", + "hre=2*10**-4\n", + "hoe=25*10**-6##ampere per volt\n", + "hfe=50\n", + "colres=1*10**3##ohm\n", + "curgai=-hfe/(1+hoe*colres)\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "ri=hie-hfe*hre/(hoe+1/colres)\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"\n", + "volgai=curgai*colres/ri\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "y1=hoe-((hfe*hre)/(hie+800))\n", + "r1=1/y1\n", + "print \"output resistance = %0.2f\"%((r1)),\"ohm\"\n", + "#approximate\n", + "print \"approximate\"\n", + "curgai=-hfe\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "ri=hie\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"\n", + "volgai=-hfe*colres/hie\n", + "print \"voltage gain = %0.2f\"%((volgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 301 example 22" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = 174.11\n" + ] + } + ], + "source": [ + "rb1=7.5*10**3##ohm\n", + "rb2=6.8*10**3##ohm\n", + "\n", + "rb3=3.3*10**3##ohm\n", + "re=1.3*10**3##ohm\n", + "colres=2.2*10**3##ohm\n", + "beta1=120\n", + "vcc=18##volt\n", + "vb1=rb3*vcc/(rb3+rb2+rb1)\n", + "ie1=(vb1-0.7)/(re)\n", + "re1=0.026/ie1\n", + "re2=0.026/ie1\n", + "volgai=colres/re2\n", + "print \"voltage gain = %0.2f\"%((volgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 302 example 23" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "forced beta = 114.29\n" + ] + } + ], + "source": [ + "vcc=5##volt\n", + "colres=250##ohm\n", + "v1=5##volt\n", + "rb=25*10**3##ohm\n", + "beta1=200\n", + "vbs=0.8##volt\n", + "vcon=0.3##volt\n", + "icon=(vcc-vcon)/colres\n", + "ibon=icon/beta1\n", + "ibs=(v1-vbs)/rb\n", + "ic=(vcc-0.2)/colres\n", + "beta1=ic/ibs\n", + "print \"forced beta = %0.2f\"%((beta1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 303 example 24" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "resistance r1 = 40847.46 ohm\n", + "resistance r3 = 2197.00 ohm\n" + ] + } + ], + "source": [ + "vb=0.6##volt\n", + "beta1=100\n", + "ic=1*10**-3##ampere\n", + "vce=2.5##volt\n", + "re=300##ohm\n", + "vcc=5##volt\n", + "ib=ic/beta1\n", + "ie=ic+ib\n", + "ve=ie*re\n", + "vce=vce+ve\n", + "r3=(vcc-vce)/ic\n", + "vb=ve+vb\n", + "r1=(vcc-vb)/(vb/(10*10**3)+(ib))\n", + "print \"resistance r1 = %0.2f\"%((r1)),\"ohm\"\n", + "print \"resistance r3 = %0.2f\"%((r3)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 304 example 25" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input impedance q1 = 1.75e+04 ohm\n", + "input impedance q2 = 3.50e+06 ohm\n" + ] + } + ], + "source": [ + "vce2=7.5##volt\n", + "vb=0.7##volt\n", + "beta1=200\n", + "v1=25##volt\n", + "r1=10*10**3##ohm\n", + "vcc=15##volt\n", + "i1=(vcc-vb)/r1\n", + "r=(vcc-vce2)/i1\n", + "z1=beta1*v1/i1\n", + "z=v1/i1\n", + "print \"input impedance q1 = %0.2e\"%((z)),\"ohm\"##correction in the book\n", + "print \"input impedance q2 = %0.2e\"%((z1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 305 example 26" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "make input = 0\n", + "ground dc\n", + "output resistance = 19.61 ohm\n" + ] + } + ], + "source": [ + "beta1=99\n", + "r1=1*10**3##ohm\n", + "g=beta1/r1\n", + "r=r1*((r1+r1)/(100))/((r1+((r1+r1)/(100))))\n", + "print \"make input = 0\"\n", + "print \"ground dc\"\n", + "print \"output resistance = %0.2f\"%((r)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 305 example 27" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "output resistance = 1000.00 ohm\n", + "input resistance very low\n", + "voltage gain = 19.23\n" + ] + } + ], + "source": [ + "ic=0.5*10**-3##ampere\n", + "rb=100*10**3##ohm\n", + "v1=0.026##volt\n", + "r1=50##ohm\n", + "colres=1*10**3##ohm\n", + "g=ic/v1\n", + "volgai=g*colres\n", + "print \"output resistance = %0.2f\"%((colres)),\"ohm\"\n", + "print \"input resistance very low\"##not given in the book\n", + "print \"voltage gain = %0.2f\"%((volgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 306 example 28" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current gain = -12.27\n", + "voltage gain = -49.07\n", + "transconductance = -0.01 ampere per volt\n", + "transresistance = -490686.77 ohm\n", + "input resistance = 990.99 ohm\n", + "output resistance = 4444.44 ohm\n" + ] + } + ], + "source": [ + "re=4*10**3##ohm\n", + "r1=4*10**3##ohm\n", + "hie=1.1*10**3##ohm\n", + "resist=10*10**3##ohm\n", + "hfe=50\n", + "rb=10*10**3##ohm\n", + "r=1*10**3##ohm\n", + "colres=5*10**3##ohm\n", + "#(1) current gain\n", + "ri=rb*hie/(rb+hie)\n", + "curgai=(1/2.04)*((rb)/(rb+hie))*((-hfe*colres)/(colres+r1))\n", + "print \"current gain = %0.2f\"%((curgai))\n", + "#(2) voltage gain\n", + "volgai=curgai*r1/r\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "#(3) tranconductance\n", + "conduc=volgai/r1\n", + "print \"transconductance = %0.2f\"%((conduc)),\"ampere per volt\"\n", + "#transresistance\n", + "resist=resist*volgai\n", + "print \"transresistance = %0.2f\"%((resist)),\"ohm\"\n", + "print \"input resistance = %0.2f\"%((ri)),\"ohm\"\n", + "r=(40*10**3*colres)/(40*10**3+colres)\n", + "print \"output resistance = %0.2f\"%((r)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 307 example 29" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "base resistance = 235000.00 ohm\n", + "base resistance with re\n", + "base resistance = 230000.00 ohm\n" + ] + } + ], + "source": [ + "beta1=500\n", + "ib=20*10**-6##ampere\n", + "re=100##ohm\n", + "ic=beta1*ib\n", + "vc=ic*0.47*10**3##voltage drop across collector resistance\n", + "v1=(10-vc)\n", + "vb=v1-0.6\n", + "rb=vc/ib\n", + "print \"base resistance = %0.2f\"%((rb)),\"ohm\"\n", + "ve=re*ic\n", + "print \"base resistance with re\"\n", + "b=0.6+0.1\n", + "rb=(v1-b)/ib\n", + "print \"base resistance = %0.2f\"%((rb)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 308 example 30" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collector current = 3.00e-03 ampere\n", + "base current = 3.00e-05 ampere\n", + "emitter current = 3.00e-03 ampere\n" + ] + } + ], + "source": [ + "beta1=100\n", + "re=100##ohm\n", + "vcc=10##volt\n", + "colres=1.5*10**3##ohm\n", + "r=100*10**3##ohm\n", + "r1=10*10**3##ohm\n", + "vb=vcc*r1/(r1+r)\n", + "ie=0.3/re\n", + "ib=ie/beta1\n", + "print \"collector current = %0.2e\"%((ie)),\"ampere\"\n", + "print \"base current = %0.2e\"%((ib)),\"ampere\"\n", + "print \"emitter current = %0.2e\"%((ie)),\"ampere\"" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch6.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch6.ipynb new file mode 100644 index 00000000..f277415a --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch6.ipynb @@ -0,0 +1,246 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6 - BJT at High Frequency" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 337 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "transconductance g = 0.38 ampere/volt\n", + "input conductance gbe = 3.85e-03 ampere/volt\n", + "feedback conductance gbc = 3.85e-07 ampere/volt\n", + "base spread resistance rbb = 240.00 ohm\n", + "output conductance = 1.15e-06 ampere/volt\n", + "transition capacitance cbe = 1.22e-09 farad\n", + "rbc = 2.60e+06 ohm\n", + "rce = 8.67e+05 ohm\n" + ] + } + ], + "source": [ + "colcur=10*10**-3##ampere\n", + "vce=10##volt\n", + "hie=500##ohm\n", + "hoe=4*10**-5\n", + "hfe=100\n", + "hre=1*10**-4\n", + "fqu=50*10**6##hertz\n", + "q=3*10**12##farad\n", + "voltag=26*10**-3##volt\n", + "g=colcur/voltag\n", + "gbe=g/hfe\n", + "gbc=gbe*hre\n", + "rbb=hie-260\n", + "oucond=hoe-(1+hfe)*gbc\n", + "cbe=g/(2*3.14*fqu)\n", + "rbc=1/gbc\n", + "rce=1/oucond\n", + "print \"transconductance g = %0.2f\"%((g)),\"ampere/volt\"\n", + "print \"input conductance gbe = %0.2e\"%((gbe)),\"ampere/volt\"\n", + "print \"feedback conductance gbc = %0.2e\"%((gbc)),\"ampere/volt\"\n", + "print \"base spread resistance rbb = %0.2f\"%((rbb)),\"ohm\"\n", + "print \"output conductance = %0.2e\"%((oucond)),\"ampere/volt\"\n", + "print \"transition capacitance cbe = %0.2e\"%((cbe)),\"farad\"\n", + "print \"rbc = %0.2e\"%((rbc)),\"ohm\"##correction as 2.6mega ohm\n", + "print \"rce = %0.2e\"%((rce)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 337 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fbeta = 1.00 hertz\n", + "f = 100.00 hertz\n", + "cbe = 3.06e-04 farad\n", + "rbe = 520.00 ohm\n", + "rbb = 80.00 ohm\n" + ] + } + ], + "source": [ + "colcur=5*10**-3##ampere\n", + "vce=10##volt\n", + "hfe=100\n", + "hie=600##ohm\n", + "cugain=10\n", + "fqu=10*10**6##hertz\n", + "\n", + "tracat=3*10**-12##farad\n", + "voltag=26*10**-3##volt\n", + "fbeta1=((((hfe**2)/(cugain**2))-1)/fqu**2)**(1/2)\n", + "fbeta1=1/fbeta1\n", + "fq1=hfe*fbeta1\n", + "cbe=colcur/(2*3.14*fq1*voltag)\n", + "rbe=hfe/(colcur/voltag)\n", + "rbb=hie-rbe\n", + "print \"fbeta = %0.2f\"%((fbeta1)),\"hertz\"\n", + "print \"f = %0.2f\"%((fq1)),\"hertz\"\n", + "print \"cbe = %0.2e\"%((cbe)),\"farad\"\n", + "print \"rbe = %0.2f\"%((rbe)),\"ohm\"\n", + "print \"rbb = %0.2f\"%((rbb)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 338 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cde = 8.18e-12 farad\n", + "frequency = 1.50e+09 hertz\n" + ] + } + ], + "source": [ + "w=1*10**-4##centimetre\n", + "em1cur=2*10**-3##ampere\n", + "q=47\n", + "voltag=26*10**-3##volt\n", + "cde=(em1cur*w**2)/(voltag*2*q)\n", + "fq1=(em1cur)/(2*3.14*cde*voltag)\n", + "print \"cde = %0.2e\"%((cde)),\"farad\"\n", + "print \"frequency = %0.2e\"%((fq1)),\"hertz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 339 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "re = 13.00 ohm\n", + "falpha = 5.99e+07 hertz\n", + "cde = 2.05e-10 farad\n", + "w = 2.66e-09 second\n" + ] + } + ], + "source": [ + "w=5*10**-4##centimetre\n", + "em1cur=2*10**-3##ampere\n", + "q=47\n", + "voltag=26*10**-3##volt\n", + "re=voltag/em1cur\n", + "fq1=2*q/(w**2*2*3.14)\n", + "cde=(em1cur*w**2)/(voltag*2*q)\n", + "w=(w**2)/(2*q)\n", + "print \"re = %0.2f\"%((re)),\"ohm\"\n", + "print \"falpha = %0.2e\"%((fq1)),\"hertz\"\n", + "print \"cde = %0.2e\"%((cde)),\"farad\"\n", + "print \"w = %0.2e\"%((w)),\"second\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f = 1.50e+13 hertz\n", + "cde = 1.64e-15 farad\n" + ] + } + ], + "source": [ + "w=10**-6##centimetre\n", + "em1cur=4*10**-3##ampere\n", + "voltag=26*10**-3##volt\n", + "q=47\n", + "cde=(em1cur*w**2)/(voltag*2*q)\n", + "fq1=(em1cur)/(2*3.14*cde*voltag)\n", + "print \"f = %0.2e\"%((fq1)),\"hertz\"\n", + "print \"cde = %0.2e\"%((cde)),\"farad\"##correction required in the book." + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch7.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch7.ipynb new file mode 100644 index 00000000..ecb2d362 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch7.ipynb @@ -0,0 +1,326 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chapter 7 - Field Effect Transistor" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 370 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vgs = 0.70 volt\n", + "id = 1.51e-03 ampere\n", + "vds = 11.23 volt\n", + "voltage gain = -21.25\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "rd=12*10**3##ohm\n", + "r=1*10**6##ohm\n", + "resour=470##ohm\n", + "vdd=30##volt\n", + "idss=3*10**-3##ampere\n", + "vd=2.4##volt\n", + "v = symbols('v')\n", + "vgs=[0.24, 2.175, 1.41]\n", + "expr = vgs[0]*v**2+vgs[1]*v+vgs[2]\n", + "vgs=-solve(expr,v)[1]\n", + "vgs=0.7\n", + "id=idss*((1-(vgs/vd)))**2\n", + "vds=vdd-id*(rd+resour)\n", + "g=(2*idss/vd)*(1-((vgs/vd)))\n", + "volgai=-g*rd\n", + "print \"vgs = %0.2f\"%((vgs)),\"volt\"\n", + "print \"id = %0.2e\"%((id)),\"ampere\"\n", + "print \"vds = %0.2f\"%((vds)),\"volt\"\n", + "print \"voltage gain = %0.2f\"%((volgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 371 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r1 = 2000.00 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "idss=1*10**-3##ampere\n", + "pinvol=1##volt\n", + "q=10##volt\n", + "rd=56*10**3##ohm\n", + "vdd=24##volt\n", + "dracur=(vdd-q)/rd\n", + "vgs=0.5\n", + "r1=vgs/dracur\n", + "print \"r1 = %0.2f\"%((r1)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 372 example 4" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "id = 2.25e-03 ampere\n", + "vds = 10.50 volt\n" + ] + } + ], + "source": [ + "ids=4*10**-3##ampere\n", + "vp=4##volt\n", + "r=1.3*10**3#ohm\n", + "r1=200*10**3##ohm\n", + "vdd=60##volt\n", + "drares=18*10**3##ohm\n", + "soresi=4*10**3##ohm\n", + "rth=(r*r1)/(r+r1)\n", + "vth=r1*(1-vdd)/(1500*10**3)\n", + "id=-2.25*10**-3\n", + "vds=-vdd-(drares+soresi)*id\n", + "print \"id = %0.2e\"%(abs(id)),\"ampere\"\n", + "print \"vds = %0.2f\"%(abs(vds)),\"volt\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 373 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "source resistance = 156.25 ohm\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "idss=10*10**-3##ampere\n", + "pinvol=-1##volt\n", + "ids=6.4*10**-3##ampere\n", + "vgs=-(sqrt(ids/idss)-(1))*pinvol\n", + "r=pinvol/ids\n", + "print \"source resistance = %0.2f\"%(abs(r)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 374 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "duration = 1.39e-07 second\n" + ] + } + ], + "source": [ + "from math import log\n", + "v1=2##volt\n", + "vgs=4##volt\n", + "voltag=5##volt\n", + "q=5*10**-3##ampere per volt square\n", + "id=q*(vgs-v1)\n", + "durati=10**-7*log(4)\n", + "\n", + "print \"duration = %0.2e\"%((durati)),\"second\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 7 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max transconductance = 4.00e-04 mho\n" + ] + } + ], + "source": [ + "idss=1*10**-3##ampere\n", + "pinvol=-5##volt\n", + "tracon=(2*idss)/abs(pinvol)\n", + "print \"max transconductance = %0.2e\"%((tracon)),\"mho\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 376 example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vgs = 3.24 volt\n", + "rd = 13527.86 ohm\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "vdd=10##volt\n", + "beta1=10**-4##ampere per square volt\n", + "ids=0.5*10**-3##ampere\n", + "voltag=1##volt\n", + "vgs=(sqrt(ids/beta1)+(1))\n", + "rd=(vdd-vgs)/ids\n", + "\n", + "print \"vgs = %0.2f\"%((vgs)),\"volt\"\n", + "print \"rd = %0.2f\"%((rd)),\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 376 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "point 10.75 >2.00 volt\n", + "vds greater than 2volt the point in pinch\n" + ] + } + ], + "source": [ + "v1=2##volt\n", + "ids=4*10**-3##ampere\n", + "\n", + "rd=910##ohm\n", + "r1=3*10**3##ohm\n", + "r=12*1**6##ohm\n", + "r11=8.57*10**6##ohm\n", + "vdd=24##volt\n", + "vg=vdd*(r11/(r+(r11)))\n", + "id=3.39*10**-3\n", + "vgsq=vg-id*r1\n", + "vdsq=vdd-id*(rd+r1)\n", + "vdgq=vdsq-vgsq\n", + "print \"point %0.2f\"%(vdsq),\">%0.2f\"%(v1),\"volt\"\n", + "print \"vds greater than 2volt the point in pinch\"" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/Ch8.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch8.ipynb new file mode 100644 index 00000000..74a1e0c9 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch8.ipynb @@ -0,0 +1,256 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8 - FET Amplifier" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 399 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -12.00\n", + "voltage gain = -11.99\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "freque=5*10**3##hertz\n", + "#(1)\n", + "g=2*10**-3##ampere per volt\n", + "rd=10*10**3##ohm\n", + "r1=30*10**3##ohm\n", + "r12=r1*r1/(r1+r1)\n", + "volgai=-(g*r12*rd)/(r12+rd)\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "#correction : r12 should be taken as 15*10**3ohm in book\n", + "#(2) capacitance included\n", + "c=0.025*10**-6##farad\n", + "frequ1=1/((2*3.14*(((rd*r1)/(rd+r1))+r1))*c)\n", + "volgai=(volgai/(sqrt((1+(frequ1/freque)**2))))\n", + "\n", + "print \"voltage gain = %0.2f\"%((volgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 400 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain -18.00\n" + ] + } + ], + "source": [ + "rd=80*10**3##ohm\n", + "r1=8*10**3##ohm\n", + "rd12=5*10**3##ohm\n", + "rd1=rd*r1/(rd+r1)\n", + "u=30\n", + "volgai=-(u*rd1)/(rd1+rd12)\n", + "\n", + "print \"voltage gain %0.2f\"%((volgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 401 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -1.18\n" + ] + } + ], + "source": [ + "r1=60*10**3##ohm\n", + "volgai=-17.7\n", + "rg=80*10**3##ohm\n", + "volgai=((volgai*rg)/(1-volgai))/((rg/(1-volgai))+r1)\n", + "print \"voltage gain = %0.2f\"%((volgai))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 405 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r1 = 500.00 ohm\n", + "effective input resistance = 1.25 r3ohm\n", + "r2 = 1500.00 ohm\n", + "voltage gain = 0.98 av`\n" + ] + } + ], + "source": [ + "vds=14##volt\n", + "idq=3*10**-3##ampere\n", + "vdd=20##volt\n", + "g=2*10**-2\n", + "rd=50*10**3##ohm\n", + "vgs=-1.5##volt\n", + "w=(vdd-vds)/idq\n", + "r1=-vgs/idq\n", + "r2=w-r1\n", + "inpres=1/(1-(0.8*((r1)/(r1+r2))))\n", + "volgai=(r1+r2)/(r1+r2+(1/(g)))\n", + "print \"r1 = %0.2f\"%((r1)),\"ohm\"\n", + "print \"effective input resistance = %0.2f\"%((inpres)),\"r3ohm\"\n", + "print \"r2 = %0.2f\"%((r2)),\"ohm\"\n", + "\n", + "\n", + "print \"voltage gain = %0.2f\"%((volgai)),\"av`\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 405 example 7" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "output voltage = -186.17 volt\n" + ] + } + ], + "source": [ + "rg=40*10**3##ohm\n", + "voltag=(1-6*50)*3.3*10**3/(5.3*10**3)\n", + "\n", + "print \"output voltage = %0.2f\"%((voltag)),\"volt\"#\n", + "#correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 406 example 9" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = -25.00\n", + "frequency = 1.59e+07 hertz\n", + "output capacitance = 2.00e-12 farad\n", + "req = 5000.00 ohm\n" + ] + } + ], + "source": [ + "u=50\n", + "rd=10*10**3##ohm\n", + "cgs=5*10**-12##farad\n", + "cgd=2*10**-12##farad\n", + "cds=2*10**-12##farad\n", + "freque=3##decibel\n", + "g=u/rd\n", + "volgai=-u*rd/(rd+rd)\n", + "req=rd*rd/(rd+rd)\n", + "frequ1=1/(2*3.14*cgd*req)\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "#correction required in book\n", + "print \"frequency = %0.2e\"%((frequ1)),\"hertz\"\n", + "capac1=cgd*(1+g)\n", + "print \"output capacitance = %0.2e\"%((capac1)),\"farad\"\n", + "print \"req = %0.2f\"%((req)),\"ohm\"\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/Electronic_Devices_and_Circuits_by_J._Paul/Ch9.ipynb b/Electronic_Devices_and_Circuits_by_J._Paul/Ch9.ipynb new file mode 100644 index 00000000..21db1e2f --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/Ch9.ipynb @@ -0,0 +1,296 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9 - Multistage Amplifier" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 424 example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "frequency1 = 50982.45 hertz\n", + "frequency2 = 196145.92 hertz\n", + "frequency = 269258240.36 hertz\n", + "frequency = 76822.13 hertz\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "from __future__ import division\n", + "#(1) frequency\n", + "freque=100*10**3*sqrt(2**(1/3)-(1))\n", + "frequ2=100*10**3/sqrt(2**(1/3)-(1))\n", + "print \"frequency1 = %0.2f\"%((freque)),\"hertz\"\n", + "print \"frequency2 = %0.2f\"%((frequ2)),\"hertz\"\n", + "#(2)frequency\n", + "freq11=100*10**6##hertz\n", + "freq12=150*10**6##hertz\n", + "freq13=200*10**6##hertz\n", + "freq21=100*10**3##hertz\n", + "freq22=150*10**3##hertz\n", + "freq23=200*10**3##hertz\n", + "frequ1=sqrt(freq11**2+freq12**2+freq13**2)\n", + "print \"frequency = %0.2f\"%((frequ1)),\"hertz\"##correction in the book 269.25mega hertz\n", + "frequ1=1/sqrt((1/(freq21**2))+(1/(freq22**2))+(1/(freq23**2)))\n", + "print \"frequency = %0.2f\"%((frequ1)),\"hertz\"##correction in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 424 example 2" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coupling capacitance = 5.48e-06 /r`\n" + ] + } + ], + "source": [ + "freque=60##hertz\n", + "frequ1=freque*0.484\n", + "cb=1/(frequ1*2*3.14*10**3)\n", + "print \"coupling capacitance = %0.2e\"%((cb)),\"/r`\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 425 example 3" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cb = 6.28e-08 farad\n", + "cb = 8.92e-08 farad\n", + "gain of each stage = 1.06e-03\n" + ] + } + ], + "source": [ + "g=10*10**-3##ampere per volt\n", + "rd=5.5*10**3##ohm\n", + "rg=1*10**6##ohm\n", + "#(1) cb frequency 1decibel to 10hertz\n", + "ri=rg\n", + "r1=(rd*8*10**3)/(rd+8*10**3)\n", + "cb=10**-6/(3.14*5.07)\n", + "print \"cb = %0.2e\"%((cb)),\"farad\"\n", + "#(2) cb\n", + "cb=(cb*(5)/(3.52))\n", + "print \"cb = %0.2e\"%((cb)),\"farad\"\n", + "#(3) gain\n", + "a1=g**2*(3.26**2)\n", + "print \"gain of each stage = %0.2e\"%((a1))\n", + "#correction required in the book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 427 example 4" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "upper frequency = 78895.46 hertz\n", + "lower frequency = 20408.16 hertz\n" + ] + } + ], + "source": [ + "freque=40*10**3##hertz\n", + "frequ1=freque/0.507\n", + "print \"upper frequency = %0.2f\"%((frequ1)),\"hertz\"\n", + "frequ1=freque/1.96\n", + "print \"lower frequency = %0.2f\"%((frequ1)),\"hertz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 427 example 5" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "overal voltage gain = 62.01 decibel\n", + "lower frequency of each = 31.70 hertz\n", + "lower frequency overal = 62.13 hertz\n" + ] + } + ], + "source": [ + "from math import log10\n", + "g=2.6*10**-3##ampere per volt\n", + "rd=7.7*10**3##ohm\n", + "rd1=12*10**3##ohm\n", + "cb=0.005*10**-6##farad\n", + "#(1) voltage gain\n", + "volgai=g*((1/rd)+1/rd1+1/(1*10**3))\n", + "volgai=(20*(log10(10.8)))*3\n", + "print \"overal voltage gain = %0.2f\"%((volgai)),\"decibel\"##correction in the book\n", + "#(2) lower frequency\n", + "r=rd*rd1/(rd+rd1)\n", + "freque=1/((2*3.14)*(r+1*10**6)*cb)\n", + "print \"lower frequency of each = %0.2f\"%((freque)),\"hertz\"\n", + "#(3) overal lower frequency\n", + "freque=freque*1.96\n", + "print \"lower frequency overal = %0.2f\"%((freque)),\"hertz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 429 example 6" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "voltage gain = 2851.60\n", + "cb = 2.61e-06 farad\n", + "cb <= 1.64e-05 farad\n" + ] + } + ], + "source": [ + "hfe=50\n", + "hie=1.1*10**3##ohm\n", + "#(1) gain\n", + "r1=2*10**3##ohm\n", + "volgai=-hfe*r1/(hie)\n", + "r11=25*10**3*hie/(25*10**3+hie)\n", + "r11=r1*r11/(r1+r11)\n", + "volga1=-hfe*r11/hie\n", + "volgai=volgai*volga1\n", + "print \"voltage gain = %0.2f\"%((volgai))\n", + "freque=20##hertz\n", + "ri=25*10**3*hie/(25*10**3+hie)\n", + "cb=1/(2*3.14*(ri+r1)*(freque))\n", + "print \"cb = %0.2e\"%((cb)),\"farad\"\n", + "cb=1/(2*3.14*3.05*10**3*10/3.14)\n", + "print \"cb <= %0.2e\"%((cb)),\"farad\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PageNumber 432 example 8" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "theta1 = 5.71\n", + "phase constant 10f1<=f<=0.1f11\n" + ] + } + ], + "source": [ + "from math import atan, degrees\n", + "theta1=degrees(atan(0.1))\n", + "print \"theta1 = %0.2f\"%((theta1))\n", + "print \"phase constant 10f1<=f<=0.1f11\"" + ] + } + ], + "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/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4CollCurr.png b/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4CollCurr.png Binary files differnew file mode 100644 index 00000000..e8e0b539 --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4CollCurr.png diff --git a/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4MaxNBasRes.png b/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4MaxNBasRes.png Binary files differnew file mode 100644 index 00000000..7ad2da7d --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4MaxNBasRes.png diff --git a/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4saturationMode.png b/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4saturationMode.png Binary files differnew file mode 100644 index 00000000..d3931c3f --- /dev/null +++ b/Electronic_Devices_and_Circuits_by_J._Paul/screenshots/4saturationMode.png diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10_1.ipynb new file mode 100644 index 00000000..6b89fd7f --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10_1.ipynb @@ -0,0 +1,670 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-10, Economic Operations of Steam Plants" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.2 Page 193" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "from numpy import arange\n", + "from sympy.mpmath import quad\n", + "mp=250 \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", + "\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", + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.3 Page 198" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example10.5 Page 200" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example10.7 Page 206" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.8 Page 207" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "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))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.9 Page 208" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "from sympy.mpmath import quad\n", + "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", + "z=quad(lambda u:q1*u+r1,[a,161.80])\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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.10 Page 208" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p1=189.2MW,p2=135.1MW\n", + "pl=54.1MW\n", + "power recevied 270.3MW\n" + ] + } + ], + "source": [ + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.11 Page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.12 Page 210" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "p1=1000.00MW\tp2=200.00MW\n" + ] + } + ], + "source": [ + "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" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.13 Page 211" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example10.14 Page 212" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.16 Page 215" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "#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)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 10.17 Page 216" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "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" + ] + } + ], + "source": [ + "import numpy as np\n", + "#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])" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11_1.ipynb new file mode 100644 index 00000000..515cdcdb --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11_1.ipynb @@ -0,0 +1,135 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-11, Hydro-Thermal Co-Ordination" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 11.2 Page 234" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "for load condition 500MW \n", + " then, \n", + " \t lamda 31.705000 \t p1=192.625000MW \n", + " \t p2=377.898428MW \t pl=0.377898MW\n", + "\n", + "daily water used 49431.586210m**3 \n", + "daily operating cost of thermal plant Rs155150.878125\n" + ] + } + ], + "source": [ + "from numpy import arange, mat\n", + "#given\n", + "l1=700 ;t1=14 ;l2=500; t2=10\n", + "ac=24 ;bc=0.02#variables of cost equation\n", + "aw=6 ;bw=0.0025 #variables of watere quantity equation\n", + "b22=0.0005 #loss coefficient\n", + "r2=2.5\n", + "lam=arange(1,40,0.001)\n", + "gg=1; q=1\n", + "for lam in arange(25,40,0.001):\n", + " a=mat([[2*bc ,0],[0, r2*bw*2+2*b22*lam]])\n", + " b=([[lam-ac] ,[lam-aw*r2]])\n", + " pq=(a**-1)*b\n", + " \n", + " g=round(pq[0]+pq[1])\n", + " lq=round(l2+b22*pq[1]**2)\n", + "\n", + " if g>=lq:\n", + " print \"\\nfor load condition %dMW \\n then, \\n \\t lamda %f \\t p1=%fMW \\n \\t p2=%fMW \\t pl=%fMW\"%(l2,lam,pq[0],pq[1],2*b22*pq[1])\n", + " break\n", + " #end\n", + "#end\n", + "dwu=[(aw+bw*p)*p*t1+t2*(aw+bw*pq[1])*pq[1]]*3600\n", + "doc=[(ac+bc*p)*p*t1+(ac+bc*pq[0])*pq[0]*t2]\n", + "print \"\\ndaily water used %fm**3 \\ndaily operating cost of thermal plant Rs%f\"%(dwu[0],doc[0])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 11.3 Page 235" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " hydro plant power is 237.047484MW \n", + " the cost of water is 0.788486Rs.per hour/m**3/sec\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "#given \n", + "p=250#load\n", + "rt=14 #run time\n", + "t=24#total time\n", + "ac=5 ;bc=8; cc=0.05 #variables of cost equation\n", + "bw=30; cw=0.05 #variables of water per power\n", + "qw=500#quantity of water\n", + "lam=bc+cc*2*p #lambda\n", + "a=-qw*(10**6)/(3600*rt)\n", + "inn=sqrt(bw**2-4*cw*a)\n", + "phh1=(-bw+inn)/(2*cw)#solution of quadratic equation\n", + "phh2=(-bw-inn)/(2*cw)\n", + "if phh1>0 :\n", + " r=lam/(bw+cw*phh1) \n", + " print \" hydro plant power is %fMW \\n the cost of water is %fRs.per hour/m**3/sec\"%(phh1,r) \n", + "\n", + "if phh2>0 :\n", + " r=lam/(bw+cw*phh2) \n", + " print \" hydro plant power is %fMW \\n the cost of water is %fRs.per hour/m**3/sec\"%(phh2,r) " + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter12.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter12.ipynb new file mode 100644 index 00000000..4985c795 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter12.ipynb @@ -0,0 +1,349 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-12, Parallel Operation of alternators" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 12.1 Page 243" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + " load on 1 alternator 2666.67kW \n", + " load on 2 alternator 3333.33kW\n", + "b\n", + " load supplied by machine 1 with full load on machine2 3200kW \n", + " total load is 2666kW\n" + ] + } + ], + "source": [ + "p=4000 #given kva of alternator\n", + "fnl1=50 #frequency on no load\n", + "fl1=47.5 #frequency on load\n", + "fnl2=50 #frequency on no load on second alternator\n", + "fl2=48 #frequency on load on second alternator\n", + "l=6000 #load given two to alternator\n", + "df1=fnl1-fl1 #change in 1 alternator frequency\n", + "df2=fnl2-fl2 #change in 2 alternator frequency\n", + "l1=df2*(l)/(df2+df1) #load on 1 alternator\n", + "print 'a'\n", + "l2=l-l1\n", + "print \" load on 1 alternator %.2fkW \\n load on 2 alternator %.2fkW\"%(l1,l2)\n", + "ml1=df2*p/df1 #load on 1 machine when machine 2 on full load\n", + "ll=ml1+p \n", + "print 'b'\n", + "print \" load supplied by machine 1 with full load on machine2 %dkW \\n total load is %dkW\"%(ml1,l1) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 12.2 page 243" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "induced emf of a machine a 5.35+1.52i =5.565708kV per phase\n", + "\n", + "induced emf of a machine b 4.60+1.28i =4.776461kV per phase\n" + ] + } + ], + "source": [ + "from math import sqrt, atan, acos, pi, sin\n", + "l1=3000 #load on 1 machine\n", + "pf1=0.8 #pf on 1 machine\n", + "i2=150 #current on 2 machine\n", + "z1=0.4+12*1J #synchronour impedence\n", + "z2=0.5+10*1J\n", + "vt=6.6 #terminal voltage\n", + "al=l1/2 #active load on each machine\n", + "cosdb=al/(vt*i2*sqrt(3)) #cos db\n", + "db=acos(cosdb)*180/pi #angle in digree\n", + "ib=i2*complex(cosdb,-sin(db*pi/180)) #current in complex number\n", + "it=l1/(vt*pf1*sqrt(3)) #total current\n", + "itc=complex(it*pf1,-it*sin(acos(pf1))) #total current in complex\n", + "ia=itc-ib \n", + "pfa=atan(ia.imag/ia.real) #pf of current a\n", + "ea=(vt/sqrt(3))+ia*(z1)/1000 #voltage a\n", + "pha=atan(ea.imag/ea.real)*180/pi #phase angle of unit a\n", + "print \"induced emf of a machine a %.2f+%.2fi =%fkV per phase\"%(ea.real,ea.imag,abs(ea))\n", + "eb=(vt/sqrt(3))+ib*(z2)/1000 #voltage b\n", + "phb=atan(eb.imag/eb.real)*180/pi #phase angle of unit b\n", + "print \"\\ninduced emf of a machine b %.2f+%.2fi =%fkV per phase\"%(eb.real,eb.imag,abs(eb))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 12.3 Page 244" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "current is 10.37-4.56iA =11.33A\n" + ] + } + ], + "source": [ + "from math import cos,pi\n", + "e1=3000 ;ph1=20 ;e2=2900; ph2=0 #given induced emf of two machines\n", + "z1=2+20*1J ;z2=2.5+30*1J #impedence of two synchronous machine\n", + "zl=10+4*1J #load impedence\n", + "e11=e1*(cos(ph1*pi/180)+sin(ph1*pi/180)*1J)\n", + "e22=e2*(cos(ph2*pi/180)+sin(ph2*pi/180)*1J)\n", + "Is=(e11-e22)*zl/(z1*z2+(z1+z2)*zl)\n", + "print \"current is %.2f%.2fiA =%.2fA\"%((Is).real,(Is).imag,abs(Is))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 12.4 Page 244" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "terminal voltage 239.68V \n", + "current supplied by each 10.72A \n", + "power factor of each 0.894 lagging \n", + "power delivered by each 2297.7941KW\n" + ] + } + ], + "source": [ + "from math import sqrt, atan, acos, pi, sin\n", + "z=10+5*1J #load\n", + "e1=250 ;e2=250 #emf of generator\n", + "z1=2*1J; z2=2*1J #synchronous impedence\n", + "v=(e1*z2+z1*e2)/((z1*z2/z)+z1+z2) \n", + "vph=atan(v.imag/v.real)*180/pi #substitution the value in equation 12.10\n", + "i1=(z2*e1+(e1-e2)*z)/(z1*z2+(z1+z2)*z); iph=atan((i1).imag/(i1).real)*180/pi #substitution the value in equation 12.7\n", + "pf1=cos(pi/180*(vph-iph))\n", + "pd=v*i1*pf1\n", + "z=10+5*1J #load\n", + "e1=250 ;e2=250 #emf of generator\n", + "z1=2*1J; z2=2*1J #synchronous impedence\n", + "v=(e1*z2+z1*e2)/((z1*z2/z)+z1+z2) \n", + "vph=atan(v.imag/v.real)*180/pi #substitution the value in equation 12.10\n", + "i1=(z2*e1+(e1-e2)*z)/(z1*z2+(z1+z2)*z) \n", + "iph=atan(i1.imag/i1.real)*180/pi #substitution the value in equation 12.7\n", + "pf1=cos(pi/180*(vph-iph))\n", + "pd=v*i1*pf1\n", + "print \"terminal voltage %.2fV \\ncurrent supplied by each %.2fA \\npower factor of each %.3f lagging \\npower delivered by each %.4fKW\"%(abs(v),abs(i1),abs(pf1),abs(pd))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 12.5 Page 247" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + " synchronous power 872kW \n", + " synchronous torque for 0.5 displacement 2777N-M\n", + "(b) full load\n", + " synchronous power 977kW \n", + " synchronous torque for 0.5 displacement 3111N-M\n" + ] + } + ], + "source": [ + "from math import sqrt, atan, acos, pi, sin\n", + "po=5 #mva rating\n", + "v=10 #voltage in kv\n", + "n=1500 ;ns=n/60 #speed\n", + "f=50 #freaquency\n", + "pfb=0.8#power factor in b\n", + "x=0.2*1J #reactance of machine\n", + "md=0.5 #machanical displacement\n", + "#no load\n", + "v=1 ;e=1 \n", + "p=4\n", + "spu=v*e/abs(x); sp=spu*po*1000 ;mt=(pi*p)/(180*2)\n", + "spm=sp*mt #synchronous power in per mech.deree\n", + "st=spm*md*1000/(2*ns*pi)\n", + "print '(a)'\n", + "print \" synchronous power %dkW \\n synchronous torque for %.1f displacement %dN-M\"%(spm,md,st)\n", + "print '(b) full load'\n", + "ee=e+x*(pfb-sin(acos(pfb))*1J)\n", + "spb=v*abs(ee)*cos(atan(ee.imag/ee.real))/abs(x) #synchronous power \n", + "sppm=spb*po*1000*mt #synchronous power per mech.degree\n", + "stp=sppm*md*1000/(2*pi*ns)#synchrounous torque under load\n", + "print \" synchronous power %dkW \\n synchronous torque for %.1f displacement %dN-M\"%(sppm,md,stp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 12.6 page 248" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " synchronous power 502.7kW per mech.degree \n", + " synchrounous torque 6666N-m\n" + ] + } + ], + "source": [ + "from math import sqrt, atan, acos, pi, sin\n", + "po=2*10**6 ;p=8 ;n=750; v=6000 ;x=6*1J ;pf=0.8 #given \n", + "i=po/(v*sqrt(3))\n", + "e=(v/sqrt(3))+i*x*(pf-sin(acos(pf))*1J)\n", + "mt=p*pi/(2*180)\n", + "cs=cos(atan(e.imag/e.real))\n", + "ps=abs(e)*v*sqrt(3)*cs*mt/(1000*abs(x))\n", + "ns=n/60\n", + "ts=ps*1000/(2*pi*ns)\n", + "print \" synchronous power %.1fkW per mech.degree \\n synchrounous torque %dN-m\"%(ps,ts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 12.7 page 248" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + " open circuit emf 6598volts per phase and -2.78 degree\n", + "b.\n", + " current 365.6A \n", + " power factor 0.998\n", + "c.\n", + "current 456.25A\n", + "current 456.25A\n" + ] + } + ], + "source": [ + "from math import sqrt, atan, acos, pi, sin\n", + "i=100 ;pf=-0.8 ;v=11*1000 ;x=4*1J ;ds=10; pfc=-0.8 #given,currents,power factor,voltage,reactance,delta w.r.t steem supply,pf of alternator\n", + "e=(v/sqrt(3))+(i*x*(pf-sin(acos(pf))*1J))\n", + "print 'a'\n", + "ph=atan(e.imag/e.real)*180/pi\n", + "print \" open circuit emf %dvolts per phase and %.2f degree\"%(abs(e),ph)\n", + "d=ds-ph\n", + "eee=round(abs(e)/100)*100\n", + "ic=round(abs(eee)*sin(d*pi/180)/abs(x))\n", + "iis=(eee**2-(abs(x)*ic)**2)**(0.5)\n", + "Is=(iis-v/sqrt(3))/abs(x)\n", + "tad=Is/ic\n", + "d=atan(tad)*180/pi\n", + "ii=ic/cos(d*pi/180)\n", + "pff=cos(d*pi/180)\n", + "print 'b.'\n", + "print \" current %.1fA \\n power factor %.3f\"%(ii,pff)\n", + "print 'c.'\n", + "ia=ii*pff/abs(pfc)\n", + "print \"current %.2fA\"%(ia)\n", + "\n", + "ia=ii*pff/abs(pfc)\n", + "print \"current %.2fA\"%(ia)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13_1.ipynb new file mode 100644 index 00000000..c894cb20 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13_1.ipynb @@ -0,0 +1,521 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-13, Major Electrical Equipment in Power Plant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13.1 Page 277" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + " p.u.feeder reactor 0.000p.u \n", + " total reactance is 0.050p.u \n", + " short circuit kVA 60000kVA \n", + " short circuit current 5454.5A\n", + "b\n", + " generator impedence 4.000ohm \n", + " total impedence 7.000 ohm \n", + " short circuit current 1571.4A\n" + ] + } + ], + "source": [ + "pg=3000 #kva rating of generators single phase\n", + "xg=0.1 #10%reactanse of generator\n", + "vg=11 #voltage at the terminals of generator\n", + "xbf=5 #reactanse of feeder fron bus to fault\n", + "pb=pg ;vb=vg ;ib=pg/vg #let power and voltage of as respective base then current base\n", + "zb=(vb*10**3)/ib #base impedence\n", + "xpu=xbf/zb #per unit reactance of feeder\n", + "tx=(xg/2)+(xpu) #total reactance \n", + "sckva=pg/tx #short circuit kva is ratio ofpower to total reactance\n", + "sci=sckva/vg #short circuit current\n", + "print 'a'\n", + "print \" p.u.feeder reactor %.3fp.u \\n total reactance is %.3fp.u \\n short circuit kVA %dkVA \\n short circuit current %.1fA\"%(xpu,tx,sckva,sci)\n", + "gz=zb*xg #generator impedence\n", + "tz=(gz/2)+xbf #total impedence\n", + "scc=(vg*10**3)/tz #short circuit current in ampears\n", + "print 'b' \n", + "print \" generator impedence %.3fohm \\n total impedence %.3f ohm \\n short circuit current %.1fA\"%(gz,tz,scc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13.2 page 277" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + " equivalent reactance is 0.3787 p.u \n", + " short circuit KVA 79220KVA\n", + "(b)\n", + " short circuit current on bus bar side 346.5A \n", + " short circuit current of generator 1 is 1908.6A \n", + " short circuit current of generator 2 is 2249.4A \n", + "\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "pa1=20000 ; pa2=30000 #kva in in 3 ph power\n", + "va1=11 ; va2=11 #voltage in kilo volts\n", + "pt1=20000 ; pt2=30000#kva of 3 ph transformer\n", + "vpt1=11 ; vpt2=11#voltage of primery of transformer\n", + "vst1=132 ; vst2=132#voltage of secondary of transformer\n", + "xg1=0.5 ; xg2=0.65 #reactance of generator\n", + "xt1=0.05 ;xt2=0.05 #reactance of transformer with their own kva\n", + "pb=pa2; vbg=va2 ;vbt=vpt2 #assumeing base quantoties\n", + "xtn1=xt1*pb/pa1 ;xtn2=xt2*pb/pa2 #transformer reactance with new base\n", + "xgn1=xg1*pb/pa1; xgn2=xg2*pb/pa2\n", + "xn1=xtn1+xgn1 ;xn2=xtn2+xgn2 #reactancee up to fault from each generator\n", + "xn=(xn1*xn2)/(xn1+xn2) #equalent reactance between generator and fault\n", + "sckva=pb/xn #short circuit KVA\n", + "print '(a)'\n", + "print \" equivalent reactance is %.4f p.u \\n short circuit KVA %dKVA\"%(xn,sckva)\n", + "print '(b)'\n", + "sccb=sckva/(vst1*sqrt(3))\n", + "sccg1=sccb*(xn2/(xn1+xn2))*vst1/vpt1\n", + "sccg2=sccb*(xn1/(xn1+xn2))*vst2/vpt2\n", + "print \" short circuit current on bus bar side %.1fA \\n short circuit current of generator 1 is %.1fA \\n short circuit current of generator 2 is %.1fA \\n\"%(sccb,sccg1,sccg2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13.3 Page 278" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " reactance to be added in circuit of generator 2 have -0.7 p.u. \n", + " reactance in ohms -406.0\n" + ] + } + ], + "source": [ + "pa1=20000 ; pa2=30000 #kva in in 3 ph power\n", + "va1=11 ; va2=11 #voltage in kilo volts\n", + "pt1=20000 ; pt2=30000#kva of 3 ph transformer\n", + "vpt1=11 ; vpt2=11#voltage of primery of transformer\n", + "vst1=132 ; vst2=132#voltage of secondary of transformer\n", + "xg1=0.5 ;xg2=0.65 #reactance of generator\n", + "xt1=0.05 ;xt2=0.05 #reactance of transformer with their own kva\n", + "pb=pa2 ;vbg=va2 ;vbt=vpt2 #assumeing base quantoties\n", + "xtn1=xt1*pb/pa1 ;xtn2=xt2*pb/pa2 #transformer reactance with new base\n", + "xgn1=xg1*pb/pa1 ;xgn2=xg2*pb/pa2\n", + "xn1=xtn1+xgn1 ;xn2=xtn2+xgn2 #reactancee up to fault from each generator\n", + "xn=(xn1*xn2)/(xn1+xn2) #equalent reactance between generator and fault\n", + "sckva=pb/xn #short circuit KVA\n", + "pf=50000 #fault kva rating\n", + "xf=pb/pf #reactance from fault\n", + "xx=xf*xn1/(xn1-xf)\n", + "x=xx-xn2 #reactance to be added \n", + "bi=(vst1**2)*1000/(pb)\n", + "xo=x*bi\n", + "print \" reactance to be added in circuit of generator 2 have %.1f p.u. \\n reactance in ohms %.1f\"%(x,xo)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13.4 Page 278" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " total reactance 0.1875.p.u \n", + " fault MVA 266.7MVA\n" + ] + } + ], + "source": [ + "pa=50; xgb=0.5; xb=0.1 #given power,reactance of generator\n", + "x1=xgb+xb \n", + "x=x1*x1*xgb/(x1*x1+x1*xgb+x1*xgb)\n", + "f=pa/x\n", + "print \" total reactance %.4f.p.u \\n fault MVA %.1fMVA\"%(x,f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example13_5 Page 279" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the rating of circuit breaker should be 671200 KVA, or 671 MVA\n" + ] + } + ], + "source": [ + "vb=33\n", + "pb=20 ;zb=vb**2/pb #base voltage and base power\n", + "pa1=10 ;pa2=10; xa1=0.08; xa2=0.08 #given power and reactance for different branches\n", + "pbb=20 ;xb=0.06 ;pc=15 ;xc=0.12; pd=20; xd=0.08 \n", + "xab=2.17; xbc=3.26; xcd=1.63; xda=4.35 \n", + "xap1=xa1*pb/pa1 \n", + "xap2=xa2*pb/pa2 ;xap=xap1*xap2/(xap1+xap2)\n", + "xbp=xb*pb/pbb \n", + "xcp=xc*pb/pc \n", + "xdp=xd*pb/pd #generators reactance in per unit\n", + "xabp=round(xab*100/zb)/100 \n", + "xbcp=round(xbc*100/zb)/100 \n", + "xcdp=round(xcd*100/zb)/100 \n", + "xdap=round(xda*100/zb)/100 #reactance in per unit between bus\n", + "def del2star(d12,d23,d31):\n", + " dsum=d12+d23+d31\n", + " s1=d12*d31/(dsum)\n", + " s2=d12*d23/(dsum)\n", + " s3=d31*d23/dsum\n", + " return [s1,s2,s3]\n", + "def star2del(s1,s2,s3):\n", + " d12=s1+s2+(s1*s2)/s3\n", + " d23=s2+s3+(s2*s3)/s1\n", + " d31=s3+s1+(s3*s1)/s2\n", + " return [d12,d31,d23]\n", + "[xac,xrc,xra]=star2del(xcdp,xdap,xdp)\n", + "rc=xrc*xcp/(xrc+xcp)\n", + "ra=xra*xap/(xra+xap)\n", + "[xpr,xpc,xpa]=del2star(xac,rc,ra)\n", + "xf1=xbcp+xpc\n", + "xf2=xpr+xabp\n", + "xf=xf1*xf2/(xf1+xf2)\n", + "xfr=xf+xpa\n", + "xx=xfr*xbp/(xfr+xbp)\n", + "netr=xx #net reactance\n", + "fkva=pb*1000/xx\n", + "print \"the rating of circuit breaker should be %d KVA, or %d MVA\"%(fkva,fkva/1000)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13_6 Page 285" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + "short circuit current is 8.333p.u \n", + " ratio of mechanical stress on short circuit to aech. stresses on full load 69.44\n", + "b\n", + "short circuit current is with reactor 5.000p.u \n", + " ratio of mechanical stress on short circuit to aech. stresses on full load with reactor 25\n" + ] + } + ], + "source": [ + "p=150 #given ,power\n", + "v=11 #given voltage\n", + "xg=0.12 #reactance of generator\n", + "xb=0.08 #reactance of line\n", + "scca=1/xg\n", + "ms=scca**2\n", + "sccb=1/(xg+xb)\n", + "ms1=sccb**2\n", + "print 'a'\n", + "print \"short circuit current is %.3fp.u \\n ratio of mechanical stress on short circuit to aech. stresses on full load %.2f\"%(scca,ms)\n", + "print 'b'\n", + "print \"short circuit current is with reactor %.3fp.u \\n ratio of mechanical stress on short circuit to aech. stresses on full load with reactor %.f\"%(sccb,ms1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example13_7 Page 286" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bus bar voltage 1.0245.p.u at angle 1.8\n", + "increase in voltage 0.0400 =4.0000 percent\n" + ] + } + ], + "source": [ + "from math import acos, pi, sin, cos, atan\n", + "xf=complex(0,0.04)\n", + "pf=0.8 ;ph=acos(pf)*180/pi\n", + "v=1 ;i=1 #let v and i\n", + "vb=v+i*xf*(complex(cos(ph*pi/180),-sin(ph*pi/180)))\n", + "iv=vb-abs(v) \n", + "print \"bus bar voltage %.4f.p.u at angle %.1f\\nincrease in voltage %.4f =%.4f percent\"%(abs(vb),atan(vb.imag/vb.real)*180/pi,abs(iv),abs(iv*100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13.8 page 286" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + "total reactance 0.1125 p.u \n", + " short circuit MVA on l.v.bus 266.67MVA\n", + "b\n", + "total reactance seen from h.v.side of transformer 0.23p.u \n", + " short circuit MVA 129.03MVA\n" + ] + } + ], + "source": [ + "p1=30 ;x1=0.3 #power and reactance of different sets\n", + "p2=30 ;x2=0.3\n", + "p3=20 ;x3=0.3\n", + "l=10 ;xl=0.04\n", + "pb=p1 ;xp3=x3*pb/p3\n", + "tr=(xp3*x1*x2)/(xp3*x1+xp3*x2+x1*x2)\n", + "sc=pb/tr\n", + "print 'a'\n", + "print \"total reactance %.4f p.u \\n short circuit MVA on l.v.bus %.2fMVA\"%(tr,sc)\n", + "print 'b'\n", + "xlp=xl*pb/l\n", + "trr=tr+xlp\n", + "scc=pb/trr\n", + "print \"total reactance seen from h.v.side of transformer %.2fp.u \\n short circuit MVA %.2fMVA\"%(trr,scc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13.9 Page 287" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " reactance of transformer is -0.0625.p.u \n", + " reactance of transformer on 10MVA base is -0.06250p.u. \n", + " reactance of transformer -0.0227ohm\n" + ] + } + ], + "source": [ + "p1=30 ;x1=0.15; p2=10; x2=0.125 \n", + "pt=10 ;vs=3.3 ;pm=100\n", + "pb=p1 #let base as power of unit 1\n", + "x22=x2*pb/p2; x11=x1*pb/p1\n", + "xx=1/((1/x22)+(1/x11)+(1/x11))\n", + "xl=(pb/pm)-xx\n", + "xt2=xl*pt/pb\n", + "bi=vs**2/pt\n", + "xtt=xt2*bi\n", + "print \" reactance of transformer is %.4f.p.u \\n reactance of transformer on %dMVA base is %.5fp.u. \\n reactance of transformer %.4fohm\"%(xl,pt,xl,xtt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13.10 Page 287" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + "fault current 5524.88ohm\n", + "b\n", + "reactance required 1.1400ohm\n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "#given #p=power/v=voltage/f=frequency/x=reactance/iff=feeder reactance take off\n", + "pa=20 ;va=11 ;f=50 ;xa=0.2 ;pb=30 ;xb=0.2 ;pf=10 ;xf=0.06; iff=0.5\n", + "pba=20 ;vba=11\n", + "xap=xa*pba/pb\n", + "xfp=xf*pba/pf\n", + "nx=xfp+(xa/2)*(xa/2+xap)/(xa+xap)\n", + "fcp=nx**(-1)\n", + "bc=pba*1000/(va*sqrt(3))\n", + "fc=fcp*bc\n", + "print 'a'\n", + "print \"fault current %.2fohm\"%(fc)\n", + "ic=iff*fcp\n", + "xtx=ic**(-1)\n", + "xn=xtx-nx\n", + "zb=va**2/pba\n", + "xnn=xn*zb\n", + "print 'b'\n", + "print \"reactance required %.4fohm\"%(xnn)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 13 11 Page 288" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + "fault MVA =(g/x)+(g*(n-1)/(x+nd)) \n", + " fault level is to equal to fault MVA if n=infinity\n", + "b\n", + " MVA=138.89MVA if n=5 \n", + " MVA=178.57MVA if n=10\n", + "c\n", + "\n", + "fault level 250MVA\n" + ] + } + ], + "source": [ + "n1=5 ;x=0.4 ;d=0.1; g=20 #given\n", + "mva=(g/x)+(g*(n1-1)/(x+n1*d))\n", + "n2=10 #given\n", + "mva2=(g/x)+(g*(n2-1)/(x+n2*d))\n", + "print 'a'\n", + "print \"fault MVA =(g/x)+(g*(n-1)/(x+nd)) \\n fault level is to equal to fault MVA if n=infinity\"\n", + "print 'b'\n", + "print \" MVA=%.2fMVA if n=%d \\n MVA=%.2fMVA if n=%d\"%(mva,n1,mva2,n2)\n", + "fl=g*((1/x)+(1/d))\n", + "print 'c'\n", + "print \"\\nfault level %dMVA\"%(fl)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14_1.ipynb new file mode 100644 index 00000000..4e65f061 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14_1.ipynb @@ -0,0 +1,903 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-14, System Interconnections" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.1 Page 302" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " speed regulation of alternator is 0.02Hz/MW \n", + " change in power output 5MW\n" + ] + } + ], + "source": [ + "p=100 #rating of alternater\n", + "sd=0.04 #speed of alrternator drops \n", + "df=-0.1 #change in frequency and drops so -ve\n", + "f=50 #frequency is 50hz\n", + "r=sd*f/p #r in hz/MW\n", + "dp=-(df)/r \n", + "print \" speed regulation of alternator is %.2fHz/MW \\n change in power output %dMW\"%(r,dp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example14.2 Page 302" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "kinetic energy stored at rated speed 5.0e+05 kW-sec \n", + "loss in kinetic energy due to increase in load 2.5e+04 kW-sec \n", + "new frequency 48.734Hz \n", + "frequency deviation 2.532\n" + ] + } + ], + "source": [ + "p=100 #power of alternator\n", + "f=50 #frequency\n", + "h=5 #h constant of machine kW-sec kVA\n", + "inl=50 #load suddenly increase by\n", + "de=0.5 #time delay\n", + "ke=h*p*10**3 #kinetic energy\n", + "lke=inl*10**3*de #loss in kinetic energy\n", + "nf=((1-(lke/ke))**(de))*f #now frequency \n", + "fd=(1-nf/f)*100 #frequency deviation\n", + "print \"kinetic energy stored at rated speed %.1e kW-sec \\nloss in kinetic energy due to increase in load %.1e kW-sec \\nnew frequency %.3fHz \\nfrequency deviation %.3f\"%(ke,lke,nf,fd)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.3 Page 303" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " R1=0.005ohm \n", + " R2=0.0125ohm\n" + ] + } + ], + "source": [ + "ar1=500 #alternator rating1\n", + "pl=0.5 #each alternator is operating at half load \n", + "ar2=200 #alternator rating2\n", + "f=50 #frequency\n", + "il=140 #load increase by 140 MW\n", + "fd=49.5 #frequency drops\n", + "fdd=-f+fd #frequency deviation \n", + "dp1=(ar1*pl)-il #change in load alternator 1\n", + "dp2=-(ar2*pl)+il #change in load of alternator 2\n", + "r1=-fdd/dp1 \n", + "r2=-fdd/dp2\n", + "print \" R1=%.3fohm \\n R2=%.4fohm\"%(r1,r2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example14.4 Page 303" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "static frequency drop -0.019608Hz \n", + "frequency drop -1Hz\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "rc=10000 #rated capacity\n", + "r=2 #regulation in all units\n", + "li=0.02 #load increase\n", + "f=50 #frequency\n", + "d=rc/(2*f) #d=partial derevative with respect to frequency\n", + "d=d/rc\n", + "b=d+1/r\n", + "m=li*rc/2\n", + "mpu=m/rc\n", + "df=-mpu/b \n", + "dff=-mpu/d\n", + "print \"static frequency drop %fHz \\nfrequency drop %dHz\"%(df,dff)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.5 Page 303" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d=0.01p.u.MW/hz, \n", + "kp=100hz/p.u.MW \n", + "tp=20second\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "cac=10000 #control area capacity\n", + "nol=5000 #normal operating\n", + "h=5 #inertial constent\n", + "r=3 #regulation\n", + "cf=1 #1%change in corresponds to 1% change in load\n", + "f=50 #frequency\n", + "d=cac/(2*f)\n", + "dpu=d/(cac)\n", + "kp=1/dpu\n", + "tp=2*h/(f*dpu)\n", + "print \"d=%.2fp.u.MW/hz, \\nkp=%dhz/p.u.MW \\ntp=%dsecond\"%(dpu,kp,tp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.6 Page 304" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the contribution of frequency drop to meet increase in load 1.961MW \n", + "increase in generation cost Rs98.04\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "rc=10000 #rated capacity\n", + "r=2 #regulation in all units\n", + "li=0.02 #load increase\n", + "f=50 #frequency\n", + "d=rc/(2*f) #d=partial derevative with respect to frequency\n", + "dd=d/rc\n", + "b=dd+1/r\n", + "m=li*rc/2\n", + "mpu=m/rc\n", + "df=-mpu/b \n", + "dff=-mpu/dd\n", + "cf=abs(df*d)\n", + "inc=-(df/r)*10**4\n", + "print \"the contribution of frequency drop to meet increase in load %.3fMW \\nincrease in generation cost Rs%.2f\"%(cf,inc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.7 Page 307" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ke at no load 450MW-sec \n", + "loss in k.e due to load 12.5MW-sec \n", + "new frequency 49.3Hz \n", + "frequency deviation 1.4percent\n" + ] + } + ], + "source": [ + "p=100 #MVA of generated\n", + "f=50 #frequency\n", + "rpm=3000 #no load rpm\n", + "lad=25 #load applied to the machiene\n", + "t=0.5 #time delay \n", + "h=4.5 #inertia constent\n", + "ke=h*p #kinetic energy is product of h*p\n", + "lke=lad*t #loss of ke\n", + "nf=(((ke-lke)/ke)**t)*f #new frequency ((1-lke/ke)**t)*f\n", + "fd=(1-(nf/f))*100 #frequency deviation\n", + "print \"ke at no load %dMW-sec \\nloss in k.e due to load %.1fMW-sec \\nnew frequency %.1fHz \\nfrequency deviation %.1fpercent\"%(ke,lke,nf,fd)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.8 Page 307" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "largest chang in load is 0.105p.u.MW=420MW\n", + "\n", + "df=(dff)(1-e**2.625000*t)\n" + ] + } + ], + "source": [ + "c=4000#capacity\n", + "f=50 #frequency\n", + "ol=2500 #operating load\n", + "r=2 #speed regulation\n", + "h=5 #inertial constant\n", + "dl=0.02 #change in load\n", + "df=0.01 #change in frequency\n", + "dff=-0.2 #change in steady state frequency\n", + "d=(dl*ol)/(df*f) #\n", + "dpu=d/c #din pu\n", + "b=dpu+(1/r)\n", + "m=-dff*b\n", + "print \"largest chang in load is %.3fp.u.MW=%dMW\"%(m,m*c)\n", + "kp=(1/dpu)\n", + "tp=(kp)*2*h/f\n", + "tt=(r+kp)/(r*tp) #time constant \n", + "print \"\\ndf=(dff)(1-e**%f*t)\"%(tt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example14.9 Page 307" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " df=-0.02439(1-e**(-4.1)) \n", + " ki=2002.0005p.u.MW/Hz\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "c=4000 #capacity of system\n", + "f=50 #frequency #operatingload=rated area capacity\n", + "h=5 #time constent\n", + "r=0.025 #\n", + "dl=0.01 #change in load\n", + "df=0.01 #change in frequency\n", + "rr=r*f #\n", + "d=(dl*c)/(df*f) \n", + "dpu=d/c\n", + "kp=1/dpu\n", + "tp=(kp)*(2*h/f)\n", + "tt=(rr+kp)/(rr*tp)\n", + "sfe=(kp*rr*dpu)/(rr+kp)\n", + "ki=(1+(kp/r))**2/(4*tp*kp)\n", + "print \" df=-%.5f(1-e**(-%.1f)) \\n ki=%.4fp.u.MW/Hz\"%(sfe,tt,ki)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example14.10 Page 308" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "\n", + "transfer function of governor gr= 1/(1+0.2*s) \n", + " transfer function of turbine gt=1/(1+2*s)\n", + "\n", + "transfer function of power system \n", + " Gp=(50/(1+10*s)\n", + " Df=-gp/(1+(0.5*(gr*gt*gp)))\n", + "(b)\n", + "\n", + "the largest step in the load if the frequency change by more than 0.01 in steady state -18765MW\n", + "\n", + "the minu sign is becose of the that if frequency is to increase by 0.010000 \n", + "the change in load be negative.\n", + "(c)\n", + "when integral controller is used,static frequency error is zero\n" + ] + } + ], + "source": [ + "tg=0.2 #time constent of steam turbine\n", + "t=2 #time constant of turbine\n", + "h=5 #inertia constent\n", + "r=0.04 #given\n", + "dl=0.01 #change in load\n", + "df=0.01 #change in frequency\n", + "c=1500 #capacity\n", + "f=50 #frequency\n", + "adl=0.01 #max allowable change in load\n", + "print '(a)'\n", + "print \"\\ntransfer function of governor gr= 1/(1+%.1f*s) \\n transfer function of turbine gt=1/(1+%d*s)\"%(tg,t)\n", + "rr=r*f\n", + "d=(dl*c)/(df*f)\n", + "dpu=(d/c)\n", + "kp=(1/dpu)\n", + "tp=(kp*(2*h)/(f))\n", + "print \"\\ntransfer function of power system \\n Gp=(%d/(1+%d*s)\\n Df=-gp/(1+(0.5*(gr*gt*gp)))\"%(kp,tp)\n", + "ddf=-(kp)/(1+kp/r)\n", + "dff=df*f\n", + "m=dff/(ddf)\n", + "mm=m*c\n", + "print '(b)'\n", + "print \"\\nthe largest step in the load if the frequency change by more than %.2f in steady state %dMW\"%(adl,mm)\n", + "if mm<0:\n", + " print \"\\nthe minu sign is becose of the that if frequency is to increase by %f \\nthe change in load be negative.\"%(adl)\n", + "else:\n", + " print \"\\nthe largest step in load if the frequency is to decrease by %f /n the change in load be positive\"%(adl)\n", + "print '(c)'\n", + "\n", + "print 'when integral controller is used,static frequency error is zero'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.11 Page 312" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "change in frequency is -0.01307Hz \n", + "change in power -0.003333 p.u.MW\n" + ] + } + ], + "source": [ + "pa=5000 #power of unit a\n", + "pb=10000 #power of unit b\n", + "r=2 #given speed regulation in p.uMW\n", + "d=0.01 #d in p.u.MW/Hz\n", + "dpa=0 #change in power in unit a\n", + "dpb=-100 #change in power in unit b \n", + "pbas=10000 #assume base as 10000 \n", + "ra=r*pbas/pa #speed regulation of the unit a\n", + "da=d*pa/pbas #da of unit b\n", + "rb=r*pbas/pb #speed regulation of unit b\n", + "db=d*pb/pbas #db of unit b\n", + "ba=da+(1/ra) #area frequency response of a\n", + "bb=db+(1/rb) #area frequency response of b\n", + "ma=dpa/pbas #change in power a in per unit in unit a \n", + "mb=dpb/pbas #change in power a in per unit in unit b\n", + "df=(ma+mb)/(ba+bb) #change in frequency\n", + "dpab=(ba*mb-bb*ma)/(ba+bb) #change in power between ab\n", + "print \"change in frequency is %.5fHz \\nchange in power %.6f p.u.MW\"%(df,dpab)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.12 page 314" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "change in frequency is -0.016Hz \n", + " change in power between ab -0.00832p.u.MW \n", + " \t\t-16.64MW\n", + "(b)\n", + " change in frequency is -0.016Hz \n", + " change in power between ab 0.00168p.u.MW \n", + "\n", + " change in power 3.360000MW\n" + ] + } + ], + "source": [ + "pa=500 #power of unit a\n", + "pb=2000 #power of unit b\n", + "ra=2.5 #speed regulation of a\n", + "rb=2 #speed regulation of b\n", + "dl=0.01 #change in load\n", + "df=0.01 # change in frequency\n", + "pt=20 #change in tie line power \n", + "ptl=0 #let other power station has zero \n", + "pbas=2000 #assume base as 2000MW\n", + "f=50 #assume frequency\n", + "da=(dl*pa)/(df*f) #change in power w.r.t frequency\n", + "dapu=da/(pbas) # change in power w.r.t frequency in per unit\n", + "db=(dl*pb)/(df*f) #change in power in unit b\n", + "dbpu=db/pbas #change in power w.r.t frequency in per unit\n", + "raa=ra*pbas/pa #speed regulation with pbase\n", + "rbb=rb*pbas/pb #speed regulation with pbase\n", + "ba=dapu+(1/raa) #area frequency response a\n", + "bb=dbpu+(1/rbb) #area frequency response b\n", + "ma=pt/pbas #assume change in power in unit a alone due to tie power\n", + "mb=ptl/pbas #change in power in unit b\n", + "df=-(ma+mb)/(ba+bb) #change in frequency\n", + "dpp=(ba*mb-bb*ma)/(ba+bb) #change in power\n", + "print '(a)'\n", + "print \"change in frequency is %.3fHz \\n change in power between ab %.5fp.u.MW \\n \\t\\t%.2fMW\"%(df,dpp,dpp*pbas)\n", + "ma2=ptl/pbas #assume change in power in unit a alone due to tie power\n", + "mb2=pt/pbas #change in power in unit b\n", + "df2=-(ma2+mb2)/(ba+bb) #change in frequency\n", + "dpp2=(ba*mb2-bb*ma2)/(ba+bb) #change in power\n", + "print '(b)'\n", + "dpba=dpp2*pbas\n", + "print \" change in frequency is %.3fHz \\n change in power between ab %.5fp.u.MW \\n\"%(df2,dpp2)\n", + "print \" change in power %fMW\"%(dpba)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.13 Page 315" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + " the damped angular frequency is 7.11radians/sec if speed govenor loop is closed\n", + "(b)\n", + " since the two area are imilier ,each area will supply half of increase in load .this also evident besause ba=bb \n", + " change in power 50MW \n", + " speed regulation is infininy\n", + " damped angular frequency if speed governor loop is open 2.687rad/sec \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import cos, pi\n", + "p=4000 #power area\n", + "n=2 #number of units\n", + "r=2 #speed regulation\n", + "h=5 \n", + "pt=600 #given tie power\n", + "pan=40 #power angle\n", + "stp=100\n", + "f=50\n", + "t=(pt/p)*cos(pan*pi/180)\n", + "wo=((2*pi*f*t/h)**2-(f/(4*r*h))**2)**(0.5)\n", + "print '(a)'\n", + "print \" the damped angular frequency is %.2fradians/sec if speed govenor loop is closed\"%(wo)\n", + "print '(b)'\n", + "print \" since the two area are imilier ,each area will supply half of increase in load .this also evident besause ba=bb \\n change in power %dMW \\n speed regulation is infininy\"%(stp/2)\n", + "wo1=(2*pi*f*t/h)**(0.5) #if govenor loop is open alpha is zero\n", + "print \" damped angular frequency if speed governor loop is open %.3frad/sec \"%(wo1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example14.14 Page 325" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the reactive power supply and reseving power is 132kV \n", + "reactive power -15.91Mvar\n", + "\n", + "the required compensator network neeeded 45.91Mvar\n", + "(b)\n", + "thus under no load condition the line delivers 3.33Mvar at receiving end.the reactive power must be absorbed by shunt reactor at receving end. thus the capacity of shunt reactor, for no load condition is 3.33Mvar. \n" + ] + } + ], + "source": [ + "from math import cos, acos, sin,pi\n", + "Aa=0.98; Ap=3 #magnitude and angle of constant A\n", + "Ba=110 ;Bp=75 #magnitude and angle of constant B\n", + "p=50 #given power 50\n", + "pf=0.8 #given power factor is 0.8\n", + "vr=132 #voltage at reseving station\n", + "vs=132 #voltage at source station to be maintained\n", + "vsr1=p*pf+(Aa*(vr**2)/Ba)*cos(pi/180*(Bp-Ap))\n", + "ph=vsr1*Ba/(vs*vr)\n", + "phh=acos(ph)*180/pi\n", + "Del=Bp-phh\n", + "qrr=((vs*vr/Ba)*sin(phh*pi/180))-((Aa*(vr)**(2)/Ba)*sin((Bp-Ap)*pi/180)) #reactive power to maintain voltage equal\n", + "qrre=p*sin(acos(pf)) #reactive power for the load\n", + "qrc=qrre-qrr\n", + "print \"the reactive power supply and reseving power is %dkV \\nreactive power %.2fMvar\"%(vs,qrr)\n", + "print \"\\nthe required compensator network neeeded %.2fMvar\"%(qrc)\n", + "print '(b)'\n", + "cosb=(Aa*cos(pi/180*(Bp-Ap))*(vr)**(2)/Ba)*(Ba/(vs*vr)) #under no oad condition\n", + "phb=acos(cosb)*180/pi\n", + "qrb=(vs*vr*sin(phb*pi/180)/Ba)-(Aa*vr*vr*sin(pi/180*(Bp-Ap))/Ba)\n", + "if qrb>0 :\n", + " print \"thus under no load condition the line delivers %.2fMvar at receiving end.the reactive power must be absorbed by shunt reactor at receving end. thus the capacity of shunt reactor, for no load condition is %.2fMvar. \"%(qrb,qrb)\n", + "else:\n", + " print \"thus under no load condition the line absorbs %.2fMvar at receiving end.the reactive power must be delivered by shunt reactor at receving end. or reactive must suppiled by the source thus the capacity of shunt reactor, for no load condition is %.2fMvar. \"%(qrb,qrb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.15 Page 326" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " tapping ratio at the source 1.058 \n", + " tapping ratio at the receving end 0.94\n" + ] + } + ], + "source": [ + "from math import sqrt,acos,sin,pi\n", + "v=220 #line voltage\n", + "ps=11 ; ss=220; pr=220 ;sr=11 #primer and secondary end terminal voltages of tapping transformer\n", + "zr=20; zi=60 #impedence of line in real ndimagenary parts\n", + "p=100 #power at recieving end is 100MVA\n", + "pf=0.8 #power factor at recievin t=1 #prodect of 2 off terminal tap setting is 1\n", + "vt=11 #tap setting for 11 kv voltage bus\n", + "P=(p*pf*10**6)/3 #real power \n", + "Q=(p*sin(acos(pf))*10**6)/3 #reactance power\n", + "v1=v*(10**3)/sqrt(3)\n", + "ts=(1/(1-(zr*P+zi*Q)/(v1**2)))**(0.5)\n", + "print \" tapping ratio at the source %.3f \\n tapping ratio at the receving end %.2f\"%(ts,1/ts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.16 page 327" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "vn=0.853.p.u \n", + " vn=112.628kV\n", + "(b)\n", + "vn=1.021.p.u \n", + " vn=134.772kV\n", + "\n", + " transformation ratio under load condition 3.413 \n", + " transformation ratio under no load condition 4.084 \n", + " the actual ratio can be taken as mean of the above value i.e.3.748percent\n", + " varying by (+/-)0.336percent\n" + ] + } + ], + "source": [ + "from math import sqrt,acos,sin,pi\n", + "vp=132; vs=33; vt=11 #voltage at primary ,secondary ,teritiory\n", + "pp=75; ps=50; pt=25 #MVA rating at prinary ,secondary,teritiory \n", + "rpr=0.12 ;rv=132; rp=75 #reactance power of primary under rv and rp as voltage and power base\n", + "poa=60 ;rea=50 #load real and reactive power a\n", + "pva=125 ;svaa=33 #primary and secondary voltage a\n", + "svsb=25 ;pvb=140; svbb=33 #primary and secondary voltage at no load\n", + "print '(a)'\n", + "vbas=132 ;mvabas=75 #assume voltage and MVA base \n", + "v1pu=pva/vbas #voltage in per unit\n", + "v1apu=round(v1pu*1000)/1000 #rounding off \n", + "qre=rea/mvabas #reactive power in per unit\n", + "vn1a=(v1apu+sqrt(v1apu**2-4*rpr*qre))/2 #voltage using quadratic equation formulae\n", + "vn2a=(v1apu-sqrt(v1apu**2-4*rpr*qre))/2\n", + "vnaa=vn1a*vbas\n", + "v12=pvb/vbas\n", + "q=svsb/mvabas\n", + "vn1b=(v12+sqrt(v12**2-4*rpr*q))/2 #voltage using quadratic equation formulae\n", + "vn1b=round(vn1b*1000)/1000\n", + "vnbb=vn1b*vbas #vn in no load condition\n", + "print \"vn=%.3f.p.u \\n vn=%.3fkV\"%(vn1a,vnaa)\n", + "print '(b)'\n", + "print \"vn=%.3f.p.u \\n vn=%.3fkV\"%(vn1b,vnbb)\n", + "z=vnaa/svaa ;x=vnbb/svbb \n", + "print \"\\n transformation ratio under load condition %.3f \\n transformation ratio under no load condition %.3f \\n the actual ratio can be taken as mean of the above value i.e.%.3fpercent\\n varying by (+/-)%.3fpercent\"%(z,x,(z+x)/2,x-(z+x)/2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.7 page 331" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " generation at the plant a is 160MW and \n", + " generation at the plant b is 40MW \n", + " transfer power from plant a to b is 60MW\n" + ] + } + ], + "source": [ + "ca=200 #capacity of unit a\n", + "cb=100 #capacity of unit b\n", + "ra=1.5 #speed regulation of unit a \n", + "rb=3 #speed regulation of unit b\n", + "f=50 #frequency\n", + "pla=100 #load on each bus\n", + "plb=100\n", + "raa=ra*f/(pla*ca)\n", + "rbb=rb*f/(plb*cb)\n", + "pa=rbb*(pla+plb)/(raa+rbb)\n", + "pb=pla+plb-pa\n", + "tp=pa-pla\n", + "print \" generation at the plant a is %dMW and \\n generation at the plant b is %dMW \\n transfer power from plant a to b is %dMW\"%(pa,pb,tp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.18 Page 332" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the current transfer is 1312.2A at an angle -36.87\n", + "\n", + "voltage drop in the interconnector is 3542.83+j1443.38V \n", + "so voltage boost needed is 3542.83+j1443.38V \n" + ] + } + ], + "source": [ + "from math import sqrt,acos,sin,pi\n", + "za=1.5 ;zb=2.5 #impedence between two lines \n", + "v=11 #plant operatio\\ng voltage\n", + "l=20 ; pf=0.8 #load at 20 MW at 0.8 pf\n", + "i=l*10**3/(v*pf*sqrt(3)) ;ph=-acos(pf)*180/pi #current and phase angle of transfrming current\n", + "vd=complex(za,zb)*complex(i*cos(ph*pi/180),i*sin(ph*pi/180)) #voltage drop due to loss\n", + "print \"the current transfer is %.1fA at an angle %.2f\"%(i,ph)\n", + "print \"\\nvoltage drop in the interconnector is %.2f+j%.2fV \\nso voltage boost needed is %.2f+j%.2fV \"%(vd.real,vd.imag,vd.real,vd.imag)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 14.19 Page 332" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "load angle is 1.00\n", + "\n", + "real power is 0.933p.u \n", + "reactive power 0.361p.u leading\n", + "(b)\n", + "load angle is 1.00\n", + "\n", + "real power is 0.981p.u \n", + "reactive power 0.192p.u lagging\n" + ] + } + ], + "source": [ + "from math import atan, cos,acos,pi\n", + "zaa=3 ;zbb=9 #impedence given between line\n", + "pas=1 #power at two units are equal to 1p.u \n", + "par=1 \n", + "pbs=1.05 #power at sending end is 1.05 and power at receiving end is 1p.u\n", + "pbr=1\n", + "i=1 #assume current is 1p.u\n", + "los=i*complex(zaa/100,zbb/100)\n", + "csd=((abs(los)**2)-pas**2-par**2)/(2*pas*par) #load angle between two stations\n", + "csa=(pas**2+abs(los)**2-par**2)/(2*pas*abs(los)) #angle between source and loss\n", + "ta=180-atan(zbb/zaa)*180/pi-acos(csa)*180/pi #transfering power factor angle\n", + "print \"(a)\"\n", + "print \"load angle is %.2f\\n\"%(cos(csd*pi/180))\n", + "if sin(ta*pi/180)<0:\n", + " print \"real power is %.3fp.u \\nreactive power %.3fp.u lagging\"%(cos(ta*pi/180),abs(sin(ta*pi/180)))\n", + "else:\n", + " print \"real power is %.3fp.u \\nreactive power %.3fp.u leading\"%(cos(ta*pi/180),sin(ta*pi/180))\n", + "\n", + "csd2=(abs(los)**2-pbs**2-pbr**2)/(2*pbs*pbr) #load angle between two stations\n", + "csa2=(pbr**2-pbs**2+abs(los)**2)/(2*pbr*abs(los)) #angle between source and loss\n", + "f=180-atan(zbb/zaa)*180/pi-acos(csa2)*180/pi #transfering power factor angle\n", + "print '(b)'\n", + "\n", + "print \"load angle is %.2f\\n\"%(cos(csd2*pi/180))\n", + "if sin(f*pi/180)<0 :\n", + " print \"real power is %.3fp.u \\nreactive power %.3fp.u lagging\"%(cos(f*pi/180),abs(sin(f*pi/180)))\n", + "else:\n", + " print \"real power is %.3fp.u \\nreactive power %.3fp.u leading\"%(cos(f*pi/180),sin(f*pi/180))" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15_1.ipynb new file mode 100644 index 00000000..ab3ec007 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15_1.ipynb @@ -0,0 +1,495 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-15, New Energy Sources" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.1 Page 345" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "E=1500V \n", + "internal resistence 0.5ohm \n", + "maximum power output 1125000W =1.125MW\n" + ] + } + ], + "source": [ + "a=0.1 #plate area\n", + "b=3 #flux density\n", + "d=0.5 #distence between plates\n", + "v=1000 #average gas velosity\n", + "c=10 #condectivity\n", + "e=b*v*d\n", + "ir=d/(c*a) #internal resistence\n", + "mapo=e**2/(4*ir) #maximum power output\n", + "print \"E=%dV \\ninternal resistence %.1fohm \\nmaximum power output %dW =%.3fMW\"%(e,ir,mapo,mapo/10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.2 Page 345" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " voltage E=1512V \n", + " voltage gradient 2520V/m \n", + " voltage across load 982.8V \n", + " voltage gradient due to load voltage 1638v\n" + ] + } + ], + "source": [ + "b=4.2 #flux density\n", + "v=600 #gas velocity\n", + "d=0.6 #dimension of plate\n", + "k=0.65 #constent\n", + "e=b*v*d #open circuit voltage\n", + "vg=e/d #voltage gradient\n", + "v=k*e #voltage across load\n", + "vgg=v/d #voltage gradient due to load voltage\n", + "print \" voltage E=%dV \\n voltage gradient %dV/m \\n voltage across load %.1fV \\n voltage gradient due to load voltage %dv\"%(e,vg,v,vgg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.3 Page 346" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " resistence of duct 0.016807ohms \n", + " voltage drop in duct 529.2V \n", + " current 31487.4A \n", + " current density 52920.000000A/m**2 \n", + " short circuit current 89964.0A \n", + " short current density 151200.000000A/m**2 \n", + " power 47.608949MW \n", + " power delivered to load 30.945817W \n", + " loss in duct 16.663132W \n", + " efficiency is 0.650000 \n", + " maximum power delivered to load 34MW\n" + ] + } + ], + "source": [ + "b=4.2 #flux density\n", + "v=600 #gas velocity\n", + "d=0.6 #dimension of plate\n", + "k=0.65 #constent\n", + "sl=0.6 #length given\n", + "sb=0.35 #breath given\n", + "sh=1.7 #height given\n", + "c=60 #given condectivity\n", + "e=b*v*d #open circuit voltage\n", + "vg=e/d #voltage gradient\n", + "v=k*e #voltage across load\n", + "vgg=v/d #voltage gradient due to load voltage\n", + "rg=d/(c*sb*sh)\n", + "vd=e-v #voltage drop in duct\n", + "i=vd/rg #current due to voltage drop in duct\n", + "j=i/(sb*sh) #current density\n", + "si=e/(rg) #short circuit current\n", + "sj=si/(sb*sh) #short circuit current density\n", + "pd=j*vg #power density\n", + "p=pd*sl*sh*sb #power \n", + "pp=e*i #also power\n", + "pde=v*i #power delevered is V*i\n", + "los=p-pde #loss\n", + "eff=pde/p #efficiency\n", + "maxp=e**2/(4*rg)\n", + "print \" resistence of duct %fohms \\n voltage drop in duct %.1fV \\n current %.1fA \\n current density %fA/m**2 \\n short circuit current %.1fA \\n short current density %fA/m**2 \\n power %fMW \\n power delivered to load %fW \\n loss in duct %fW \\n efficiency is %f \\n maximum power delivered to load %dMW\"%(rg,vd,i,j,si,sj,p/10**6,pde/10**6,los/10**6,eff,maxp/10**6) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.4 Page 347" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " output voltage 302.4V \n", + " total power 2.3328MW \n", + " efficiency 0.7 \n", + " output power 1.632960MW \n", + " open circuit voltage 432V \n", + " internal resistence 0.024ohm \n", + " short circuit current 18000A \n", + " maximum power output is 1.944MW\n" + ] + } + ], + "source": [ + "c=50 #conduntance\n", + "a=0.2 #area\n", + "d=0.24 #distence between electrodes\n", + "v=1800 #gas velosity\n", + "b=1 #flux density\n", + "k=0.7 \n", + "ov=k*b*v*d\n", + "tp=c*d*a*b**2*v**2*(1-k)\n", + "eff=k\n", + "op=eff*tp\n", + "e=b*v*d\n", + "rg=d/(c*a)\n", + "si=e/rg\n", + "maxp=e**2/(4*rg)\n", + "print \" output voltage %.1fV \\n total power %.4fMW \\n efficiency %.1f \\n output power %fMW \\n open circuit voltage %dV \\n internal resistence %.3fohm \\n short circuit current %dA \\n maximum power output is %.3fMW\"%(ov,tp/10**6,eff,op/10**6,e,rg,si,maxp/10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.5 Page 363" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " solar power collected by collector 35kW \n", + " energy input in one hour 1.260000e+08 J \n", + " rise in temperature is 30.1`C \n", + " temperature of water 60.1`c\n" + ] + } + ], + "source": [ + "from math import cos, pi\n", + "a=100 #area\n", + "spd=0.7 #sun light power density\n", + "m=1000 #weight of water collector\n", + "tp=30 #temperature of water\n", + "th2=60 #angle of incidence\n", + "cp=4186 #specific heat of water\n", + "sp=spd*cos(th2*pi/180)*a #solar power collected by collector\n", + "ei=sp*3600*10**3 #energy input in 1 hour\n", + "temp=ei/(cp*10**3)\n", + "tw=tp+temp\n", + "print \" solar power collected by collector %dkW \\n energy input in one hour %e J \\n rise in temperature is %.1f`C \\n temperature of water %.1f`c\"%(sp,ei,temp,tw)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.6 Page 364" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " energy needed o pump water every day 3.406250kWh/day \n", + " overall efficiency 0.34 \n", + " energy output of pv system 10kWh/day \n", + "\n", + " annual energy out of array 10Wh/Wp \n", + " daily energy output of array 5.000Wh/Wp \n", + " peak wattage of pv array 2000.00Wp \n", + " rms output voltage 222.14V\n", + " number of modules in series 13 \n", + " rated peak power output of each string 520.00W \n", + " number of strings in parallel 4\n" + ] + } + ], + "source": [ + "from math import sqrt, ceil\n", + "vo=100 #motor rated voltage\n", + "efm=0.4 #efficiency of motor pump\n", + "efi=0.85 #efficiency of inverter\n", + "h=50 #head of water\n", + "v=25 #volume of water per day\n", + "ov=18 #pv pannel output module\n", + "pr=40 #power rating\n", + "ao=2000 #annual output of array\n", + "dw=1000 #density of water\n", + "en=v*dw*h*9.81 #energy needed to pump water every day\n", + "enkw=en/(3.6*10**6) #energy in kilo watt hour\n", + "oe=efm*efi #overall efficiency\n", + "epv=round(enkw/oe) #energy out of pv system\n", + "de=ao/365 #daily energy output\n", + "pw=epv*10**3/de #peak wattage of pv array\n", + "rv=vo*(pi)/sqrt(2) #rms voltage\n", + "nm=rv/ov #number of modules in series\n", + "nm=ceil(nm)\n", + "rpp=nm*pr #rated peak power output\n", + "np=pw/rpp #number of strings in parallel\n", + "np=round(np)\n", + "print \" energy needed o pump water every day %fkWh/day \\n overall efficiency %.2f \\n energy output of pv system %dkWh/day \"%(enkw,oe,epv)\n", + "print \"\\n annual energy out of array %dWh/Wp \\n daily energy output of array %.3fWh/Wp \\n peak wattage of pv array %.2fWp \\n rms output voltage %.2fV\\n number of modules in series %d \\n rated peak power output of each string %.2fW \\n number of strings in parallel %d\"%(epv,de,pw,rv,nm,rpp,np)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.7 Page 373" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " power 406kW \n", + " power density 5.172kW/m**3 \n", + " maximum power 240.881303kW \n", + " maximum torque 15335.0N-m\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import cos, pi\n", + "ws=20 #wind speed\n", + "rd=10 #rotor diameter\n", + "ros=30 #rotor speed\n", + "ad=1.293 #air density\n", + "mc=0.593 #maximum value of power coefficient\n", + "p1=0.5*ad*(pi)*(rd**2)*(ws**3)/4 #power\n", + "p=p1/10**3\n", + "pd=p/((pi)*(rd/2)**2) #power density\n", + "pm=p*(mc) #maximum power\n", + "mt=(pm*10**3)/((pi)*rd*(ros/60))\n", + "print \" power %.fkW \\n power density %.3fkW/m**3 \\n maximum power %fkW \\n maximum torque %.1fN-m\"%(p,pd,pm,mt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.8 Page 373" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pressure in pascal 129.3pascal \n", + "pressure in height of mercury 0.97mm-hg \n", + "pressure in atmosphere 0.00128atm\n" + ] + } + ], + "source": [ + "cp=0.593\n", + "d=1.293\n", + "s=15\n", + "a=2/3\n", + "dp=2*d*(s**2)*a*(1-a)\n", + "dlp=760*dp/(101.3*10**3) #760 mmhg=101.3*10**3pascal then pressure in mm of hg\n", + "dpa=dlp/760 #pressure in atmosphere\n", + "print \"pressure in pascal %.1fpascal \\npressure in height of mercury %.2fmm-hg \\npressure in atmosphere %.5fatm\"%(dp,dlp,dpa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.9 Page 385" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "quantity of water for maximum output 368.330000m**3-sec \n", + "\n", + "surface area of reservoir 39.779640km**3 \n", + "\n", + "wash behind embankment 7.955928km \n", + "total energy output 3.285000e+06MWh\n", + "area of reservoir 39.779640km**3 \n", + "\n", + "wash behind embankment 7.955928km \n", + "total energy output 3.285000e+06MWh\n" + ] + } + ], + "source": [ + "from math import floor\n", + "ng=50 #number of generator\n", + "r=30 #rated power \n", + "mah=10 #maximum head\n", + "mih=1 #minimum head\n", + "tg=12 #duration of generation\n", + "efg=0.9 #efficiency of generated\n", + "g=9.81 #gravity\n", + "le=5 #lenght of embankment\n", + "ro=1025 #density\n", + "ti=r/(0.9)**2\n", + "q=ti*10**(6)/(ro*g*mah) #maximum input\n", + "q=floor(q*10**2)/10**2\n", + "qw=q*ng #total quantity of water\n", + "tcr=qw*tg*3600/2 #total capacity of resevoir\n", + "sa=tcr/mah #surface area \n", + "wbe=sa/(le*10**6) #wash behind embankment\n", + "avg=r/2\n", + "te=avg*tg*365*ng #total energy output\n", + "print \"quantity of water for maximum output %fm**3-sec \"%(q)\n", + "print \"\\nsurface area of reservoir %fkm**3 \"%(sa/10**6)\n", + "print \"\\nwash behind embankment %fkm \\ntotal energy output %eMWh\"%(wbe,te) \n", + "\n", + "print \"area of reservoir %fkm**3 \"%(sa/10**6)\n", + "print \"\\nwash behind embankment %fkm \\ntotal energy output %eMWh\"%(wbe,te) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 15.10 Page 385" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total quantity of water in reservoir 5.896832e+08m**3 \n", + "energy generated per year 4.599000e+06MW \n", + "cost of electrical energy Rs9.657900e+09 \n", + "saving in cost Rs.3.219300e+09 \n" + ] + } + ], + "source": [ + "tc=2100 #total capacity of plant\n", + "n=60 #number of generaed\n", + "p=35 #power of generated by each generator\n", + "h=10 #head of water\n", + "d=12 #duration of generation\n", + "cee=2.1 #cost of electrical energy per kWh\n", + "efft=0.85 #efficiency of turbine\n", + "effg=0.9 #efficiency of generator\n", + "g=9.81 #gravity\n", + "ro=1025 #density\n", + "acc=0.7 #assuming coal conumotion\n", + "pi=p/(efft*effg) #power input\n", + "q=pi*10**6/(h*g*ro) #quantity of water\n", + "tqr=q*n*d*3600/2 #total quantity of water in reservoir\n", + "avp=tc/2 #average output during 12h\n", + "toe=avp*d #total energy in 12 hours\n", + "eg=toe*365 #energy generated for totel year\n", + "coe=eg*cee*10**3 #cost of electrical energy generated\n", + "sc=eg*10**3*acc #saving cost \n", + "print \"total quantity of water in reservoir %em**3 \\nenergy generated per year %eMW \\ncost of electrical energy Rs%e \\nsaving in cost Rs.%e \"%(tqr,eg,coe,sc)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17_1.ipynb new file mode 100644 index 00000000..8503720c --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17_1.ipynb @@ -0,0 +1,375 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-17, Generating Capacity Reliability Evaluation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 17.1 Page 421" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No. of Units out\t\tCapacity Out MW\t\tCapacity Available MW\t\tProbability\n", + "0 \t\t\t\t0 \t\t\t\t80 \t\t\t0.9409\n", + "1 \t\t\t\t40 \t\t\t\t40 \t\t\t0.0582\n", + "2 \t\t\t\t80 \t\t\t\t0 \t\t\t0.0009\n" + ] + } + ], + "source": [ + "from math import factorial\n", + "#given\n", + "n=2 #number of generating station\n", + "f=0.03 #F.O.R\n", + "a=1-f\n", + "p=40 #generation station power \n", + "g = range(0,3)\n", + "Pg = range(0,3) \n", + "def comb(m,r):\n", + " y = factorial(m)/(factorial(m-r)*factorial(r))\n", + " return y\n", + "print \"No. of Units out\\t\\tCapacity Out MW\\t\\tCapacity Available MW\\t\\tProbability\"\n", + "for i in g:\n", + " Pg[i] = comb(n,i)*f**i*a**(n-i)\n", + " \n", + " print i,'\\t\\t\\t\\t',p*i,'\\t\\t\\t\\t',p*(n-i),'\\t\\t\\t',Pg[i]\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 17.2 Page: 422" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a):\n", + "\n", + "number of units out 0 ,capacity out 0MW ,capacity available 30MW ,probability 0.97 \n", + "\n", + "number of units out 1 ,capacity out 30MW ,capacity available 0MW ,probability 0.03 \n", + "Part(b):\n", + "\n", + "for exp 17 1 \n", + "\n", + "number of units out 0 ,capacity out 0MW ,capacity available 80MW ,probability 0.940900 \n", + "\n", + "number of units out 1 ,capacity out 40MW ,capacity available 40MW ,probability 0.058200 \n", + "combination of 2 set of stations\n", + "\n", + "capacity out 0MW ,capacity available 110MW ,individual state probability 0.912673 ,cumulative probability 1.000000\n", + "\n", + "capacity out 40MW ,capacity available 70MW ,individual state probability 0.056454 ,cumulative probability 0.087327\n" + ] + } + ], + "source": [ + "from math import factorial\n", + "#given\n", + "n1=2 #number of generating station\n", + "f1=0.03 #F.O.R\n", + "a1=1-f1\n", + "p1=40 #genetaion station power\n", + "n2=1 #number of genreting station \n", + "f2=0.03 #F.O.R for second set\n", + "a2=1-f2\n", + "p2=30 #generating station power in second set \n", + "def comb(m,r):\n", + " y=factorial(m)/(factorial(m-r)*factorial(r))\n", + " return y\n", + "pg2=range(0,n2+1)\n", + "co2=range(0,n2+1)\n", + "ca2=range(0,n2+1)\n", + "print \"Part(a):\"\n", + "for i in range(0,n2+1):\n", + " pg2[i]=comb(n2,i)*((f2)**i)*((a2)**(n2-i))\n", + " co2[i]=p2*i ;ca2[i]=p2*(n2-i)\n", + " print \"\\nnumber of units out %d ,capacity out %dMW ,capacity available %dMW ,probability %0.2f \"%(i,co2[i],ca2[i],pg2[i])\n", + "\n", + "pg1=range(0,n1)\n", + "co1=range(0,n1)\n", + "ca1=range(0,n1)\n", + "print \"Part(b):\"\n", + "print \"\\nfor exp 17 1 \"\n", + "for i in range(0,n1):\n", + " pg1[i]=comb(n1,i)*((f1)**i)*((a1)**(n1-i))\n", + " co1[i]=p1*i ;ca1[i]=p1*(n1-i)\n", + " print \"\\nnumber of units out %d ,capacity out %dMW ,capacity available %dMW ,probability %4f \"%(i,co1[i],ca1[i],pg1[i])\n", + "\n", + "print \"combination of 2 set of stations\"\n", + "tp=1\n", + "pocg=0\n", + "for i in range(0,n1):\n", + " \n", + " for j in range(0,n2):\n", + " og=co1[i]+co2[j] #now total system capacity out\n", + " cg=ca1[i]+ca2[j] #now total system capacity available\n", + " tp=tp-pocg\n", + " pocg=pg1[i]*pg2[j] #individual stste probability\n", + " print \"\\ncapacity out %dMW ,capacity available %dMW ,individual state probability %.6f ,cumulative probability %.6f\"%(og,cg,pocg,tp)\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 17.3: Page 423" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "number of units out 0 ,capacity out 0MW ,capacity available 200MW ,probability 0.814506 \n", + "\n", + "number of units out 1 ,capacity out 50MW ,capacity available 150MW ,probability 0.171475 \n", + "\n", + "number of units out 2 ,capacity out 100MW ,capacity available 100MW ,probability 0.013538 \n", + "\n", + "number of units out 3 ,capacity out 150MW ,capacity available 50MW ,probability 0.000475 \n" + ] + }, + { + "data": { + "image/png": "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\nmVlN/wkVxRcaayYErQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fbaec2a1190>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "number of units out 0 ,capacity out 0MW ,capacity available 200MW ,probability 0.814506 ,tg in percentage 0.00 ,expected load 0.000000MW\n", + "\n", + "number of units out 1 ,capacity out 50MW ,capacity available 150MW ,probability 0.171475 ,tg in percentage 0.00 ,expected load 0.000000MW\n", + "\n", + "number of units out 2 ,capacity out 100MW ,capacity available 100MW ,probability 0.013538 ,tg in percentage 200.00 ,expected load 2.707500MW\n", + "\n", + "\n", + "expected loss of load is 2.707500MW percent of time. assuming 365 days in a year, then expected loss of load is 9.882MW days per year\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import factorial\n", + "from numpy import arange\n", + "%matplotlib inline\n", + "from matplotlib import pyplot as plt\n", + "#given\n", + "n=4 #number of generating station\n", + "f=0.05 #F.O.R\n", + "a=1-f\n", + "p=50 #generation station power \n", + "mp=150 #maximum alowable power\n", + "lf=50 #load factor in percentage\n", + "def comb(m,r):\n", + " y=factorial(m)/(factorial(m-r)*factorial(r))\n", + " return y\n", + "pg = range(0,n)\n", + "co = range(0,n)\n", + "ca = range(0,n)\n", + "for i in range(0,n):\n", + " pg[i]=comb(n,i)*((f)**i)*((a)**(n-i))\n", + " co[i]=p*i ;ca[i]=p*(n-i)\n", + " print \"\\nnumber of units out %d ,capacity out %dMW ,capacity available %dMW ,probability %4f \"%(i,co[i],ca[i],pg[i])\n", + "\n", + "ld=arange(mp,0,-lf)\n", + "#[m n]=size(ld)\n", + "n =len(ld)\n", + "plt.plot(ld)\n", + "plt.title('Load Duration Curve')\n", + "plt.xlabel('Time -->')\n", + "plt.ylabel('MW -->')\n", + "plt.show()\n", + "tg = range(0,n+1)\n", + "tg[n-2]=round(10000/(n-2))/100\n", + "tg[n-1]=tg[n-2]*2\n", + "tg[n]=100\n", + "tg[1]=0 ;tg[0]=0 #maximum load limit\n", + "el = range(0,n)\n", + "for i in range(0,n):\n", + " el[i]=pg[i]*tg[i]\n", + " print \"\\nnumber of units out %d ,capacity out %dMW ,capacity available %dMW ,probability %4f ,tg in percentage %.2f ,expected load %.6fMW\"%(i,co[i],ca[i],pg[i],tg[i],el[i])\n", + "\n", + "lt=sum(el)\n", + "print \"\\n\\nexpected loss of load is %.6fMW percent of time. assuming 365 days in a year, then expected loss of load is %.3fMW days per year\"%(lt,lt*365/100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 17.4 Page 425" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "number of units out 0 ,capacity out 0MW ,capacity available 200MW ,probability 0.9223682 \n", + "\n", + "number of units out 1 ,capacity out 50MW ,capacity available 150MW ,probability 0.0752954 \n", + "\n", + "number of units out 2 ,capacity out 100MW ,capacity available 100MW ,probability 0.0023050 \n", + "\n", + "number of units out 3 ,capacity out 150MW ,capacity available 50MW ,probability 0.0000314 \n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEZCAYAAACNebLAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHE1JREFUeJzt3X20HHWd5/H3RwKjBHkIWZE8YDIa0PDkEwEZkXZYWUad\nRI07RHcvQnTWs8wCa5xRiLPkuo4g6grMOOTsKOEgHq5CUEhcntWWrDy4KMRgJkMiRBLAQEjQkMEh\nkO/+UXWTTtP33u57ux66+/M6555UV1VXfbtyb/36U79fdSsiMDMzq/eKogswM7NycgNhZmYNuYEw\nM7OG3ECYmVlDbiDMzKwhNxBmZtaQGwjrWJL6JV1TdB3DkXSYpG2SVHQtZq1yA2GZkLRe0ikZ72bI\nm3gkVSTtTE/O2yRtkPRdSW/PsqD0df/prgIjHouIV0cGNxwpca6kVZKeS1/jdZKOave+rDe5gbCs\nBMOcwHPyeHpyfjVwArAGWFF7Am+FpL2aWC2AvNLC5cC5wDnAQcDhwI3A+1rdkKRx7S3NuoEbCMuV\npD+SdJmkx9OfSyXtky47UNIPJD0laYuk5ZIm1zx3uqSfSPq9pNuBic3uNyIej4hFwDeBS9LtTUtT\nxq6/A0lVSR9Pp8+U9FNJX5O0GVgk6Y8l/UjSZklPS/q2pAPS9a8BDgOWp6nlr+v3IWmSpGWSnpG0\nVtInavbdnyaAq9PX+JCktw1xHGcAZwPzIqIaETsi4vmIuDYiBl/frtdS83pW1DzeKelsSQ8DD0u6\nQtJX6vZzk6RP1dR+Q/r/84ikc5o9/taZ3EBY3j4HzAKOTX9mAX+bLnsFcCXJSfYw4Hng6zXPvRb4\nf8DBwBeAj9F6Svk+8FZJrxpieX3ymQX8GngNcBFJOvgicCjwJmAq0A8QEX3AY8D70+Ty1Qbb/066\nzqHAh4GLJL27ZvmfAwPAAcAy9nz9tU4BNkTE/cO81mZS3Jz0Nb4p3e/pgwskHQS8BxhIG7jlwAPA\npHT//13SqSNs3zqYGwjL20eB/xkRmyNiM/B5oA8gIrZExPcj4g8R8RzJCflkSDp7gbcD/yN9t7yC\n5ITV6uWcJ9LnHNjs+hHxjxGxM63r1xHxw7SGzcClgzWORNJU4ETgsxHxQkSsJEk0Z9SstiIibk37\nLL5N0og2cjDw2yZfw3AujohnI+LfgP8LhKST0mUfBu6OiN8CxwETI+LvIuLFiHg0rX1eG2qwkvJ1\nR8vbJOA3NY8fS+chaV+SE+5/ILmmDrBfOgJoErA1Ip6vee5vSN7Bt2IyybvqZ4FDmlh/Q+0DSYeQ\nXPt/J/BqkjdZW5rc9yRgS0Rsr5n3GEnDN2hTzfS/Aq+U9IqI2Fm3rWdIUshY7Xp9ERGSvgN8BFhB\n0ph/K138OmCSpK01z90LuKsNNVhJOUFY3p4AptU8Pgx4PJ3+NElH66yIOIDknbnSnyeBg9JGZNDr\naP0S0weBn6cNzeCJunabr61bv377FwEvAUelNfax59/RcPU8AUyQtF/NvMOAjU3WXuuHwJSh+ihS\n24HxNY/rXxu8vN4B4MOSXkdy6emGdP5jwKMRcVDNz/4R8f5R1G4dwg2EZWkfSa+s+RlHcgL6W0kT\nJU0ELiS5lAKwH0m/w+8kTQAWDW4oIn4D3A98XtLekt4JNHVySoeDTpa0CPg4sDDd5tMkjVOfpL0k\nzQdeP8Lm9iM58f4+7UD/m7rlm4baRkRsAO4GLk47648B5te8/qZFxFrgCpL+gZMlDR7reZI+m672\nIPAhSa+S9AaS1z7Sdh8ENpNcPro1In6fLvoZsE3SZ9Lt7SXpKGU8bNiK5QbCsnQzyWWSwZ8Lgb8j\nOdH/Mv25P50HcBnwKpIT1N3ALez5DvejwPEkl3QuBK4eZt9BcklkG7CN5AR3JHByRNxZs95fkpzk\nNwMzgZ/WbaP+HfbngbcCvyPpA7mhbp2LSRrArZIW1Gxn0EdIEtQTwPeACyPiR8Psb8hEEhHnknRi\n/yOwFVhH0um8LF3lUuAFkkbrKpKGqHZ7Q237WuBP038H97WTpEF+M/AI8DTwT8D+Q9VnnU9ZfWGQ\npCUk47Gfioij03n9wCdIfrkAFkbELemyC0jeTb0EnBsRt2dSmJmZNSXLBuIk4DngWzUNxCJgW0R8\nrW7dmSTvVo4j6US8Ezi8QcecmZnlJLNLTOkwxK0NFjUaljgHGEiHDq4nicqzsqrNzMxGVkQfxDmS\nVkq6UtLgWPRJ7DmSYyNJkjAzs4Lk3UAsBqaTdHQ9CfyvYdYt+nN8zMx6Wq43ykXEU4PTkr5JMgoE\nkqGGtTc8TWH32HhqnuNGw8xsFCKi5Q+RzDVBSKq98/ODwKp0ehkwLx3LPR2YQTIs8WWeey4499xg\n0qTgppuCiN78WbRoUeE1lOXHx8LHwsdi+J/RyixBSBoguRN2oqQNJDc9VSS9meTy0aPAJwEiYrWk\n64DVwIvA2THEqxo/Hi6/HObOhfnz4frrk8cTJmT1SszMelOWo5g+EhGTImKfiJgaEUsi4oyIOCYi\njo2ID0TEppr1L4qIN0TEGyPitpG2/653wcqVScNw9NGwbNlIzzAzs1Z09J3Ug2liYAAWLIC+PtjS\n7MemdbhKpVJ0CaXhY7Gbj8VuPhZjl9mNclmQNNSVJ7Zvh4ULYelSWLwYZs/OuTgzs5KSRIyik7pr\nGohBd92V9E284x3umzAzg9E3EB19iakR902YmbVH1yWIWk4TZmZOEA05TZiZjV5XJ4haThNm1quc\nIEbgNGFm1pqeSRC1nCbMrJc4QbTAacLMbGQ9mSBqOU2YWbdzghglpwkzs8Z6PkHUcpows27kBNEG\nThNmZrs5QQzBacLMuoUTRJs5TZhZr3OCaILThJl1MieIDDlNmFkvcoJokdOEmXUaJ4icOE2YWa9w\nghgDpwkz6wROEAVwmjCzbuYE0SZOE2ZWVk4QBXOaMLNu4wSRAacJMysTJ4gScZows27gBJExpwkz\nK5oTREk5TZhZp8qsgZC0RNImSasaLPu0pJ2SJtTMu0DSWklrJJ2aVV1FGD8+SQ8DA7BgAfT1wZYt\nRVdlZja8LBPEVcBp9TMlTQXeA/ymZt5M4HRgZvqcKyR1XbpxmjCzTpLZSTgiVgBbGyz6GvCZunlz\ngIGI2BER64F1wKysaiuS04SZdYpc36VLmgNsjIhf1i2aBGysebwRmJxbYQVwmjCzssutgZC0L7AQ\nWFQ7e5indNZwpVFwmjCzMhuX475eD0wDVkoCmAL8XNLxwOPA1Jp1p6TzXqa/v3/XdKVSoVKpZFJs\nngbTxMKFSZpYvBhmzy66KjPrVNVqlWq1OubtZHofhKRpwPKIOLrBskeBt0XElrST+lqSfofJwJ3A\nG+pveujE+yBa5fsmzKzdSncfhKQB4G7gcEkbJJ1Vt8quM31ErAauA1YDtwBnd31LMAT3TZhZWfhO\n6hJzmjCzdihdgrCxc5owsyI5QXQIpwkzGy0niC7nNGFmeXOC6EBOE2bWCieIHuI0YWZ5cILocE4T\nZjYSJ4ge5TRhZllxgugiThNm1ogThDlNmFlbOUF0KacJMxvkBGF7cJows7FygugBThNmvc0Jwobk\nNGFmo+EE0WOcJsx6jxOENcVpwsya5QTRw5wmzHqDE4S1zGnCzIbjBGGA04RZN3OCsDFxmjCzek4Q\n9jJOE2bdxQnC2sZpwszACcJG4DRh1vmcICwTThNmvcsJwprmNGHWmZwgLHNOE2a9xQnCRsVpwqxz\nOEFYrpwmzLqfE4SNmdOEWbk5QVhhnCbMulNmDYSkJZI2SVpVM+8LklZKelDSDyVNrVl2gaS1ktZI\nOjWruiwb48cn6WFgABYsgL4+2LKl6KrMbCyyTBBXAafVzftyRBwbEW8GbgQWAUiaCZwOzEyfc4Uk\np5sO5DRh1j0yOwlHxApga928bTUP9wM2p9NzgIGI2BER64F1wKysarNsOU2YdYfc36VL+qKkx4Az\ngYvT2ZOAjTWrbQQm51yatZnThFlnG5f3DiPic8DnJJ0PXAacNdSqjWb29/fvmq5UKlQqlTZXaO00\nmCbmzk1GOl1/vUc6mWWtWq1SrVbHvJ1Mh7lKmgYsj4ijGyw7DLg5Io5KGwsi4kvpsluBRRFxX91z\nPMy1g23fDgsXwtKlsHgxzJ5ddEVmvaEjhrlKmlHzcA7wQDq9DJgnaR9J04EZwM/yrM2y574Js86S\n5TDXAeBu4AhJGyTNBy6WtErSg0AF+DRARKwGrgNWA7cAZzsqdC/3TZh1Bt9JbYXyXdhm2euIS0xm\n9ZwmzMrLCcJKw2nCLBtOENbxnCbMysUJwkrJacKsfZwgrKs4TZgVzwnCSs9pwmxsnCCsazlNmBXD\nCcI6itOEWeucIKwnOE2Y5ccJwjqW04RZc5wgrOc4TZhlywnCuoLThNnQnCCspzlNmLWfE4R1HacJ\nsz05QZilnCbM2qPpBCHptcBTEbEz25KGrcEJwlriNGGWcYKQNAF4FPC3CFtHcZowG72mEoSkc4D3\npOv/eeZVDV2HE4SNmtOE9aqs+yDOAv4KmCrp0FZ3YlYGThNmrRmxgZD0duDpiNgAXAOcmXVRZlkZ\nPz5JDwMDsGAB9PXBli1FV2VWTs0kiE8AS9Lpa4AzsivHLB9OE2YjG7YPQtJ44CHgiIh4IZ13I3BZ\nRFRzqXDPetwHYW3nvgnrdln1QbwAnDDYOKTOAH7R6o7Mysppwqyxlu6klvT+iPhBhvWMtH8nCMuU\n04R1o7zupP5Cqzsw6yROE2a7tZogHoiIt2RYz0j7d4Kw3DhNWLfIK0F8stUdmHUqpwnrda0miH+K\niP+SYT0j7d8JwgrhNGGdLK8EcVyzK0paImmTpFU1874i6Z8lrZT0PUkH1Cy7QNJaSWskndpiXWaZ\ncpqwXtRqA7GphXWvAk6rm3c7cGREHAs8DFwAIGkmcDowM33OFZL8UeRWKr4L23pNSyfhiKg/4Q+3\n7gpga928O2o+Lvw+YEo6PQcYiIgdEbEeWAfMaqU2s7w4TVivKPJd+nzg5nR6ErCxZtlGYHLuFZk1\nyWnCesG4InYq6XPACxFx7TCrNeyN7u/v3zVdqVSoVCptrc2sFYNpYuHCJE0sXgyz/a0pVrBqtUq1\nWh3zdoYcxSTpoIjY2nBhsxuXpgHLI+LomnlnAn8JnBIRf0jnnQ8QEV9KH98KLIqI++q251FMVloe\n6WRllcUopofTEUffkHSWpMPHUB8Akk4D/gaYM9g4pJYB8yTtI2k6MAP42Vj3Z5Yn901Ytxnp01yP\nAE5Mf94BvAa4B7g7Ii4ZdsPSAHAyMJFk9NMiklFL+wCDV2vviYiz0/UXkvRLvAicFxG3NdimE4R1\nBKcJK5PRJoimb5ST9HrgfcB5wOSIeGWrOxsrNxDWSbZvT/omli5134QVq+0NhKQ/YXdymAo8AtxL\nkiAeiIh/G325o+MGwjqR04QVLYs+iBXAPOB7QCUiTo+ISyPi3iIaB7NO5b4J61TDJYhD2Z0gZgF7\nAz8nSRD3RMQjeRVZU5MThHU0pwkrQtsTREQ8GRE3RMRfR8S7gFOANcDngbWjL9WsdzlNWCcZLkEc\nwO4RTCcCbyFpGO4GfhoRS/MqsqYmJwjrGk4Tlpcs+iB+DZwN/CtJapgSEcdHxKeKaBzMuo3ThJVd\nS98HUTQnCOtWThOWpSyGuS4n+TykRhuNiMh9VLcbCOtmvm/CspJFA/E0yaeqDpB8NDfsbiwiIn4y\nmkLHwg2E9QKnCWu3LPogDgUWAkcBlwHvAZ6OiGoRjYNZr3DfhJVFU30Qkv4I+AjwVaA/Ir6edWFD\n1OEEYT3FacLaIZPvpJb0SklzgW8DfwVcDnx/dCWaWaucJqxIw/VBXAMcSfKtb9+NiFV5FtaIE4T1\nMqcJG60sOql3AtuHeF5ExP6t7mys3EBYr/NIJxuNzD/uuwzcQJglnCasFZn0QZhZOblvwvLgBGHW\n4ZwmbCROEGY9ymnCsuIEYdZFnCasEScIM3OasLZygjDrUk4TNsgJwsz24DRhY+UEYdYDnCZ6mxOE\nmQ3JacJGwwnCrMc4TfQeJwgza4rThDXLCcKshzlN9AYnCDNrmdOEDSezBkLSEkmbJK2qmfcfJf1K\n0kuS3lq3/gWS1kpaI+nUrOoysz2NH5+kh4EBWLAA+vpgy5aiq7IyyDJBXAWcVjdvFfBB4K7amZJm\nAqcDM9PnXCHJ6cYsR04TVi+zk3BErAC21s1bExEPN1h9DjAQETsiYj2wDpiVVW1m1pjThNUqy7v0\nScDGmscbgckF1WLW85wmDGBc0QUMo+Fwpf7+/l3TlUqFSqWSUzlmvWUwTcydm4x0uv56j3TqFNVq\nlWq1OubtZDrMVdI0YHlEHF03/8fApyPiF+nj8wEi4kvp41uBRRFxX93zPMzVrAD+LuzO1onDXGuL\nXQbMk7SPpOnADOBnxZRlZvXcN9GbshzmOgDcDRwhaYOk+ZI+IGkDcALwfyTdAhARq4HrgNXALcDZ\njgpm5eO+id7iO6nNbFR8F3bn6MRLTGbWwZwmup8ThJmNmdNEuTlBmFlhnCa6kxOEmbWV00T5OEGY\nWSk4TXQPJwgzy4zTRDk4QZhZ6ThNdDYnCDPLhdNEcZwgzKzUnCY6jxOEmeXOaSJfThBm1jGcJjqD\nE4SZFcppIntOEGbWkZwmyssJwsxKw2kiG04QZtbxnCbKxQnCzErJaaJ9nCDMrKs4TRTPCcLMSs9p\nYmycIMysazlNFMMJwsw6itNE65wgzKwnOE3kxwnCzDqW00RznCDMrOc4TWTLCcLMuoLTxNCcIMys\npzlNtJ8ThJl1HaeJPTlBmJmlnCbawwnCzLqa00QJE4SkJZI2SVpVM2+CpDskPSzpdkkH1iy7QNJa\nSWsknZpVXWbWW5wmRi+zBCHpJOA54FsRcXQ678vA5oj4sqTPAgdFxPmSZgLXAscBk4E7gcMjYmfd\nNp0gzGzUejVNlC5BRMQKYGvd7NnA1en01cAH0uk5wEBE7IiI9cA6YFZWtZlZb3KaaE3endSHRMSm\ndHoTcEg6PQnYWLPeRpIkYWbWVuPHJ+lhYAAWLIC+PtiypeiqyqmwUUzptaLhrhf5WpKZZcZpYmTj\nct7fJkmvjYjfSjoUeCqd/zgwtWa9Kem8l+nv7981XalUqFQq2VRqZl1vME3MnZv0TVx/fXf0TVSr\nVarV6pi3k+kwV0nTgOV1ndTPRMQlks4HDqzrpJ7F7k7qN9T3SLuT2syysn07LFwIS5fC4sUwe3bR\nFbXPaDupsxzFNACcDEwk6W+4ELgJuA44DFgP/EVEPJuuvxCYD7wInBcRtzXYphsIM8tUN450Kl0D\nkQU3EGaWh25LE24gzMzarFvSROnugzAz63S9PtLJCcLMrAmdnCacIMzMMtSLacIJwsysRZ2WJpwg\nzMxy0itpwgnCzGwMOiFNOEGYmRWgm9OEE4SZWZuUNU04QZiZFazb0oQThJlZBsqUJpwgzMxKpBvS\nhBOEmVnGik4TThBmZiXVqWnCCcLMLEdFpAknCDOzDtBJacIJwsysIHmlCScIM7MOU/Y04QRhZlYC\nWaYJJwgzsw5WxjThBGFmVjLtThNOEGZmXaIsacIJwsysxNqRJpwgzMy6UJFpwgnCzKxDjDZNOEGY\nmXW5vNOEE4SZWQdqJU04QZiZ9ZA80kQhCULSecAnAAHfiIjLJU0Avgu8DlgP/EVEPFv3PCcIM7M6\nI6WJjkkQko4iaRyOA44F3i/p9cD5wB0RcTjww/SxDaFarRZdQmn4WOzmY7FbLx2LrNJEEZeY3gjc\nFxF/iIiXgJ8Ac4HZwNXpOlcDHyigto7RS7/8I/Gx2M3HYrdeOxbjxyfpYWAAFiyAvj7YsmVs2yyi\ngXgIOEnSBEn7Au8FpgCHRMSmdJ1NwCEF1GZm1tHamSbGta+s5kTEGkmXALcD24EHgZfq1glJ7mww\nMxuFwTQxd27SNzFahQ9zlfRFYCNwHlCJiN9KOhT4cUS8sW5dNxpmZqMwmk7q3BMEgKTXRMRTkg4D\nPgScAEwHPgZckv57Y/3zRvMCzcxsdIoa5noXcDCwA/hURPw4HeZ6HXAYQwxzNTOz/BR+icnMzMqp\nlHdSSzpN0hpJayV9doh1/j5dvlLSW/KuMS8jHQtJ/yk9Br+U9FNJxxRRZx6a+b1I1ztO0ouSPpRn\nfXlq8m+kIukBSQ9JquZcYm6a+BuZKOlWSQ+mx+LMAsrMnKQlkjZJWjXMOq2dNyOiVD/AXsA6YBqw\nN8kopzfVrfNe4OZ0+njg3qLrLvBYvAM4IJ0+rZePRc16PwJ+AMwtuu4Cfy8OBH4FTEkfTyy67gKP\nRT9w8eBxAJ4BxhVdewbH4iTgLcCqIZa3fN4sY4KYBayLiPURsQP4DjCnbp1dN9VFxH3AgZK68b6J\nEY9FRNwTEb9LH95Hck9JN2rm9wLgHGAp8HSexeWsmWPxUeCGiNgIEBGbc64xL80ciyeB/dPp/YFn\nIuLFHGvMRUSsALYOs0rL580yNhCTgQ01jzem80ZapxtPjM0ci1ofB27OtKLijHgsJE0mOTksTmd1\nawdbM78XM4AJkn4s6X5JfblVl69mjsU3gCMlPQGsJBlS34taPm8WMsx1BM3+UdcPee3Gk0HTr0nS\nu4H5wJ9kV06hmjkWlwHnR0RIEi//HekWzRyLvYG3AqcA+wL3SLo3ItZmWln+mjkWC4EHI6KSfu7b\nHZKOjYhtGddWRi2dN8vYQDwOTK15PJWkpRtunSnpvG7TzLEg7Zj+BnBaRAwXMTtZM8fibcB3kraB\nicCfSdoREQV95XtmmjkWG4DNEfE88Hw6tPxYoNsaiGaOxYnAFwEi4teSHgWOAO7PpcLyaPm8WcZL\nTPcDMyRNk7QPcDpQ/we+DDgDQNIJwLOx+3OcusmIxyK92fB7wH+OiHUF1JiXEY9FRPxxREyPiOkk\n/RD/tQsbB2jub+Qm4J2S9ko/8+x4YHXOdeahmWOxBvj3AOk19yOAR3KtshxaPm+WLkFExIuS/htw\nG8kIhSsj4p8lfTJd/r8j4mZJ75W0juTznM4qsOTMNHMsgAuBg4DF6TvnHRExq6ias9LksegJTf6N\nrJF0K/BLYCfJ9650XQPR5O/FRcBVklaSvCn+TESM8XNOy0fSAHAyMFHSBmARyaXGUZ83faOcmZk1\nVMZLTGZmVgJuIMzMrCE3EGZm1pAbCDMza8gNhJmZNeQGwszMGnIDYT1J0sHpR2E/IOlJSRvT6W2S\nvl50fWZl4PsgrOdJWgRsi4ivFbT/fUlucNxRxP7NhuIEYZYQ7PqSneXpdL+kqyXdJWm9pA9J+mr6\n5Uy3SBqXrvc2SdX0U1NvlfTaFvd9BPAvkr4i6Y3tfVlmo+cGwmx404F3k3yW/reBOyLiGOB54H2S\n9gb+geTLid4OXEX6wXDNiogHgGNIPjPom5JWSDpT0vg2vg6zlpXus5jMSiSAWyLiJUkPAa+IiNvS\nZatIvsXscOBI4M70s7D2Ap5oeUcRzwFXAldKelM6fTlwwFhfhNlouYEwG94LABGxU1JtH8FOkr8f\nAb+KiBOH2oCkvYCfkzQ4y4AHSD5IDeDjEfGLdL1pwMeAeSRfnXlhO1+IWavcQJgNrZkvHPoX4N9J\nOiEi7k0vOc2o/eTUiHgJeHPd827ctZOkYfgmcDCwBDixi7/XwzqIGwizRNT822gaXv7tWxEROyR9\nGPh7SQeQ/E1dSmvfvfAiyTfh9doX2FjJeZirmZk15FFMZmbWkBsIMzNryA2EmZk15AbCzMwacgNh\nZmYNuYEwM7OG3ECYmVlDbiDMzKyh/w8YEJUAVpFFJgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fbaec2a1310>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "number of units out -1 ,capacity out 0MW ,capacity available 200MW ,probability 0.922368 ,tg in percentage 0.00 ,expected load 0.000000MW\n", + "\n", + "number of units out 0 ,capacity out 50MW ,capacity available 150MW ,probability 0.075295 ,tg in percentage 0.00 ,expected load 0.000000MW\n", + "\n", + "number of units out 1 ,capacity out 100MW ,capacity available 100MW ,probability 0.002305 ,tg in percentage 41.67 ,expected load 0.096040MW\n", + "\n", + "number of units out 2 ,capacity out 150MW ,capacity available 50MW ,probability 0.000031 ,tg in percentage 83.33 ,expected load 0.002613MW\n", + "\n", + "\n", + "expected loss of load is 0.098653MW percent of time. assuming 365 days in a year, then expected loss of load is 0.360MW days per year ,some times the loss of load is also expressed as reciprocal of this figure and then the units are years per day this result is 2.7771MW years per day.\n" + ] + } + ], + "source": [ + "from math import factorial\n", + "from numpy import arange\n", + "%matplotlib inline\n", + "from matplotlib import pyplot as plt\n", + "\n", + "#given\n", + "n=4 #number of generating station\n", + "f=0.02 #F.O.R\n", + "a=1-f\n", + "p=50 #generation station power \n", + "mp=150 #maximum alowable power\n", + "minp=30 #minimum power \n", + "lf=60 #load factor in percentage\n", + "def comb(m,r):\n", + " y=factorial(m)/(factorial(m-r)*factorial(r))\n", + " return y\n", + "\n", + "pg = range(0,n)\n", + "co = range(0,n)\n", + "ca = range(0,n)\n", + "for i in range(0,n):\n", + " pg[i]=comb(n,i)*((f)**i)*((a)**(n-i))\n", + " co[i]=p*i ;ca[i]=p*(n-i)\n", + " print \"\\nnumber of units out %d ,capacity out %dMW ,capacity available %dMW ,probability %.7f \"%(i,co[i],ca[i],pg[i])\n", + "\n", + "\n", + "ld=arange(mp,minp,-lf)\n", + "#[m n1]=size(ld)\n", + "n1=len(ld)\n", + "#[mm m]=max(co)\n", + "m=max(co)\n", + "\n", + "plt.plot(ld)\n", + "plt.title('Load Duration Curve')\n", + "plt.xlabel('Time -->')\n", + "plt.ylabel('MW -->')\n", + "plt.show()\n", + "\n", + "tg = range(0,n)\n", + "tg[0]=0\n", + "for i in range(1,n):\n", + " \n", + " tg[i]=(mp-ca[i])*100/(2*lf) #percentage time \n", + "\n", + "print \"\"\n", + "el = range(0,n)\n", + "for i in range(0,n):\n", + " el[i]=pg[i]*tg[i]\n", + " print \"\\nnumber of units out %d ,capacity out %dMW ,capacity available %dMW ,probability %4f ,tg in percentage %.2f ,expected load %.6fMW\"%(i-1,co[i],ca[i],pg[i],tg[i],el[i])\n", + "\n", + "lt=sum(el)\n", + "print \"\\n\\nexpected loss of load is %.6fMW percent of time. assuming 365 days in a year, then expected loss of load is %.3fMW days per year ,some times the loss of load is also expressed as reciprocal of this figure and then the units are years per day this result is %.4fMW years per day.\"%(lt,lt*365/100,100/(lt*365))" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20_1.ipynb new file mode 100644 index 00000000..9780d787 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20_1.ipynb @@ -0,0 +1,165 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-20, Energy Audit" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example:20.1 Page:461" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "economic power factor 0.927lagging \n", + "(b) \n", + "capacitor kVAr to improve the power factor 0.4092 \n", + "(c) \n", + "initial kVA 1282.05KVA \n", + "annual energy used 7.008e+09kWh \n", + "electrical bill Rs2.452826e+10 per year\n", + "(d)\n", + "KVA after installation of capacitors 1078.75KVA \n", + "\n", + "energy bill after installation of capacitor Rs2.452822e+10 per year\n", + "annual interest and depreciation of capacitor bank Rs30690.0per year \n", + "total expendition after installation of capacitors Rs2.452825e+10 per year \n", + "annual savings due to installation of capacitors Rs9970 per year\n" + ] + } + ], + "source": [ + "from math import asin, cos, acos, tan\n", + "lod=1 #industrial installation load\n", + "pf=0.78 #power factor\n", + "tf=200 #tariff \n", + "md=3.5 #extra maximum demand\n", + "ic=500 #installation of capacitor\n", + "id=0.15 #interest and depreciation\n", + "lf=0.8 #load factor\n", + "sinp=ic*id/tf\n", + "ph2=asin(sinp)\n", + "epf2=cos(ph2)\n", + "ph1=acos(pf)\n", + "ph1=round(ph1*10**2)/10**2\n", + "ph2=round(ph2*10**2)/10**2\n", + "q=lod*(tan(ph1)-tan(ph2))\n", + "q=round(q*10**4)/10**4\n", + "ikva=lod/pf\n", + "ikv=round(ikva*(10**5))/10**2\n", + "aeu=lod*lf*8760*10**6\n", + "eb=ikv*tf+aeu*md\n", + "print \"(a)\\neconomic power factor %.3flagging \\n(b) \\ncapacitor kVAr to improve the power factor %.4f \\n(c) \\ninitial kVA %.2fKVA \\nannual energy used %0.3ekWh \\nelectrical bill Rs%e per year\"%(epf2,q,ikv,aeu,eb)\n", + "kvc=round((lod*10**3/(round(epf2*1000)/10**3))*10**2)/10**2\n", + "ebc=kvc*tf+aeu*md\n", + "aidc=q*10**3*ic*id\n", + "te=ebc+aidc\n", + "asc=eb-te\n", + "print \"(d)\\nKVA after installation of capacitors %.2fKVA \\n\"%kvc\n", + "print \"energy bill after installation of capacitor Rs%e per year\"%ebc\n", + "print \"annual interest and depreciation of capacitor bank Rs%.1fper year \\ntotal expendition after installation of capacitors Rs%e per year \\nannual savings due to installation of capacitors Rs%d per year\"%(aidc,te,asc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example:20.2 Page:468" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "part (a)\n", + " depreciation rate 0.01235 \n", + " total fixed charge rate 0.142350\n", + " annual cost of efficiency motor Rs7.118000e+05per year \n", + " total electrical bill with present motors Rs2.050000e+07per year \n", + " total electrical bill with efficiency motor Rs.1.845000e+07 \n", + " total annual cost if motors are replaced by high efficiency motors Rs1.916180e+07 per year \n", + " annual saving Rs1338200 per year\n", + "part (b)\n", + " present worth factor 0.14235 \n", + " present worth of annual cost with existing motors Rs1.440100e+08 \n", + " present worth of annual cost with new motor Rs1.296100e+08 \n", + " total present worth 1.346100e+08 per year\n" + ] + } + ], + "source": [ + "ee=5*10**16 #electrical energy requirement\n", + "eer=0.1 #energy requirement\n", + "i=5*10**6 #investement\n", + "n=20 #life time\n", + "ec=4.1 #energy cost\n", + "r=0.13 #interest rate\n", + "dr=r/((1+r)**(n)-1) #depreciation rate\n", + "dr=round(dr*10**5)/10**5\n", + "tfc=r+dr #total fixed cost\n", + "ace=i*tfc #annual cost\n", + "ace=round(ace/10**2)*10**2\n", + "eb=i*ec #electrical bill with present motor\n", + "teb=eb*(1-eer) #electrical bill with efficiency motor\n", + "tac=teb+ace #total annual cost with efficiency cost\n", + "As=eb-tac #annual saving\n", + "print 'part (a)'\n", + "print \" depreciation rate %.5f \\n total fixed charge rate %f\\n annual cost of efficiency motor Rs%eper year \\n total electrical bill with present motors Rs%eper year \\n total electrical bill with efficiency motor Rs.%e \\n total annual cost if motors are replaced by high efficiency motors Rs%e per year \\n annual saving Rs%d per year\"%(dr,tfc,ace,eb,teb,tac,As)\n", + "print 'part (b)'\n", + "pwf=r/(1-((1+r)**-n)) #present worth factor\n", + "pwf=round(pwf*10**5)/10**5\n", + "pwm=teb/pwf #present worth annual cost with existing motors\n", + "pwm=round(pwm/10**4)*10**4 #present worth with existing motors\n", + "pwem=eb/pwf #present worth with efficiency motor\n", + "pwem=round(pwem/10**4)*10**4\n", + "pwam=teb/pwf\n", + "pwam=round(pwam/10**4)*10**4\n", + "tpw=pwam+i #total persent worth\n", + "print \" present worth factor %.5f \\n present worth of annual cost with existing motors Rs%e \\n present worth of annual cost with new motor Rs%e \\n total present worth %e per year\"%(pwf,pwem,pwam,tpw)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23_1.ipynb new file mode 100644 index 00000000..d04896ca --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23_1.ipynb @@ -0,0 +1,183 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-23, Captive Power Generation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example:23.1 Page:500" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "capitel cost is 27272.0/kW\n", + "CRF=0.171\n", + "annual fixed cost is Rs4663.98/kW\n", + "heat rate is 2457.142857cal/kWh\n", + "number of kWh generated per liter of fuel is 4.11kWh/litre\n", + "fuel cost per unit Rs1.702970per kWh\n", + "annual operation cost Rs.545.4400/kW\n", + "annual fixed, operation and maintence cost Rs.5209.42/kW\n", + "energygenerated per year is 7008kWh\n", + "annual fixed operation and maintenence cost per kWh of energy 0.7434/kWh\n", + "generated cost is Rs2.4463/kWh\n" + ] + } + ], + "source": [ + "sp=11*10**3;pc=300*10**6 ; ir=0.15 ;lp=15 ;fc=7 ;eff=0.35; cv=10100; mc=0.02; lf=0.8 ;er=860 #let the given variable be --sp=size of plant ,pc=project cost,ir=interest rate,lp=life of the plant,fc=fuel cost,eff=efficiency,cv=calorific value,er=860,mc=maintenance cost,lf=load factor,\n", + "cac=pc/sp #let the variable cac be captel cost\n", + "print \"capitel cost is %.1f/kW\"%(cac)\n", + "crfd1=(1+ir)**(-lp)\n", + "crfd=1-crfd1\n", + "crf=ir/crfd #crf=capitel cost recovery factor\n", + "print \"CRF=%.3f\"%(crf)\n", + "anfc=cac*crf #anual fixed cost is prodect of capitel cost and capitel recovery factor\n", + "print \"annual fixed cost is Rs%.2f/kW\"%(anfc)\n", + "hr=er/eff #heat rate is energy ratedivided by efficiency\n", + "print \"heat rate is %fcal/kWh\"%(hr) \n", + "gpf=cv/hr #kW generated per liter is division of calorific value to hr\n", + "print \"number of kWh generated per liter of fuel is %.2fkWh/litre\"%(gpf)\n", + "fcp=fc/gpf #fuel cost per unit is fuel cost divided by generated per liter\n", + "print \"fuel cost per unit Rs%fper kWh\"%(fcp)\n", + "aomc=cac*mc #annual operation and maintenence cost\n", + "print \"annual operation cost Rs.%.4f/kW\"%(aomc)\n", + "afom=anfc+aomc \n", + "print \"annual fixed, operation and maintence cost Rs.%.2f/kW\"%(afom)\n", + "egpy=8760*lf #energy generated is 24*12*60\n", + "print \"energygenerated per year is %dkWh\"%(egpy)\n", + "afomc=afom/egpy\n", + "print \"annual fixed operation and maintenence cost per kWh of energy %.4f/kWh\"%(afomc)\n", + "gco=fcp+afomc #generated cost is sum of fuel cost and maintenence cost\n", + "print \"generated cost is Rs%.4f/kWh\"%(gco)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example:23.2 page:501" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "net capital cost Rs560*10**6 \n", + "net capital cost per KW Rs22400.000000/kW \n", + "crf 0.117460 \n", + "annual fixed cost Rs2631 per kW \n", + "annual operation and maintenance cost Rs1120per kW \n", + "Total annual cost Rs3751per kW \n", + "Annual energy generated per kW of plant capacity 5256.0kWh \n", + "generation cost Rs0.714kWh\n" + ] + } + ], + "source": [ + "sp=25*10**3 #size of the plant\n", + "cc=800*10**6 #capital cost\n", + "ir=0.1 #interest rate\n", + "lp=20 #life of the plant\n", + "mc=0.05 #maintence cost\n", + "lf=0.6 #load factor \n", + "sub=0.3 #subsidy\n", + "nc=cc*(1-sub)\n", + "nck=nc/sp \n", + "crf=ir/(1-(1+ir)**(-lp))\n", + "afc=nck*crf\n", + "aomc=nck*mc\n", + "tac=afc+aomc\n", + "aeg=8760*lf\n", + "gc=tac/aeg\n", + "print \"net capital cost Rs%d*10**6 \\nnet capital cost per KW Rs%f/kW \\ncrf %f \\nannual fixed cost Rs%d per kW \\nannual operation and maintenance cost Rs%dper kW \\nTotal annual cost Rs%dper kW \\nAnnual energy generated per kW of plant capacity %.1fkWh \\ngeneration cost Rs%.3fkWh\"%(nc/(10**6),nck,crf,afc,aomc,tac,aeg,gc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Problem:23.11.2 Page:505" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rate of depreciation is 2.833percent \n", + "total annual cost is Rs.6.80167 lakhs/year \n", + "energy received per year 1.282500e+07kWh/year \n", + "wheeling charges Rs0.053034\n" + ] + } + ], + "source": [ + "pp=11 #power capacity\n", + "cost=35 #cost of the system\n", + "In=0.14 #interest\n", + "lis=30 #life of system\n", + "sv=0.15 #salvage value\n", + "es=13.5*10**6 #energy sent\n", + "los=0.05 #losses\n", + "omc=0.02 #O&M charges\n", + "gr=0.006 #general revenue\n", + "rd=(1-sv)*100/lis\n", + "rdd=rd/100\n", + "tac=cost*(In+omc+rdd+gr)\n", + "ery=es*(1-los)\n", + "wc=(tac/ery)*10**5\n", + "print \"rate of depreciation is %.3fpercent \\ntotal annual cost is Rs.%.5f lakhs/year \\nenergy received per year %ekWh/year \\nwheeling charges Rs%f\"%(rd,tac,ery,wc)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2_1.ipynb new file mode 100644 index 00000000..9495c262 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2_1.ipynb @@ -0,0 +1,954 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-2, Loads & Load Curves" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.1, page - 17" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "solution for (a)\n", + "connected load = 1120W\n", + "\n", + "solution for (b)\n", + "\n", + "the maximum demand is 520 W\n", + "\n", + "solution for (c)\n", + "\n", + "demand factor =0.464\n", + "\n", + "solution for (d)\n", + "\n", + "total energy consumed during 24 hours = 4940 Wh = 4.94 kWh\n", + "\n", + "solution for (e)\n", + "\n", + "if all devices are used throughout the day the energy consumed = 26880 Wh = 26.88kWh\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "print \"solution for (a)\"\n", + "nb=8; nf=2; nl=2 #given number of equipments is 8 bulbs 2 fans 2plugs\n", + "lb=100 ;lf=60 ;ll=100 #corresponding wattages\n", + "cl=nb*lb+nf*lf+nl*ll #total connected load\n", + "print \"connected load = %dW\\n\"%(cl) \n", + "print \"solution for (b)\"\n", + "t1=5 ;t2=2 ;t3=2; t4=9; t5=6; # time periods in hours\n", + "# let = [bulb, fan, light]\n", + "w1=1*lf #12 to 5am period of duration 5h\n", + "w2=2*lf+1*ll #5am to 7am period of duration 2h\n", + "w3=0 #7am to 9am period of duration 2h\n", + "w4=2*lf #9am to 6pm period of duration 9h\n", + "w5=4*lb+2*lf #6pm to 12pm period of duration 6h\n", + "w=[w1 ,w2 ,w3, w4, w5]\n", + "print \"\\nthe maximum demand is %d W\\n\"%(max(w))\n", + "m=max(w)\n", + "print \"solution for (c)\"\n", + "df=m/cl\n", + "print \"\\ndemand factor =%0.3f\\n\"%(df)\n", + "print \"solution for (d)\"\n", + "#energy consumed is power multiply by corresponding time\n", + "energy=[w1*t1 ,w2*t2 ,w3*t3 ,w4*t4, w5*t5]\n", + "e=sum(energy)\n", + "print \"\\ntotal energy consumed during 24 hours = %d Wh = %0.2f kWh\\n\"%(e,e/1e3)\n", + "print \"solution for (e)\" \n", + "ec=cl*24 \n", + "print \"\\nif all devices are used throughout the day the energy consumed = %d Wh = %.2fkWh\"%(ec,ec/1000) \n", + "#for 24 hours of max. load\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.2, page - 19" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "maximum demand of consumer A = 1.1kW \n", + " \n", + "demand factor of consumer A = 0.44 \n", + " \n", + "maximum demand of consumer B = 1kW\n", + " \n", + "demand factor of consumer B = 0.333\n", + "(b)\n", + "The variation in demand versus time curves are plotted and shown in Fig This is known as chronological load curve.\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d88398890>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\njTYAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d701eeed0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(c)\n", + "maximum demand of the group is 1100W\n", + "group diversity factor = 1.909\n", + "(d)\n", + "energy consumed by A during 24 hours is = 5500 Wh = 5.50 kWh\n", + "(e)\n", + "maximum energy which A could consume in 24hours = 26.40kWh \n", + "maximum energy which B consume in 24 hours is =24.00kWh\n", + "(f)\n", + "actual energy/maximum energy\n", + "\n", + "for A = 0.2083 \n", + "for b = 0.2875\n" + ] + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, title, title, show, hist\n", + "print \"(a)\" \n", + "mca=1.1 ;cla=2.5; mcb=1; clb=3; #mca=maximum demand of consumera cla=connected load of a mcb=maximum load of consumer b clb=connected load of consumer b\n", + "print \"maximum demand of consumer A = %0.1fkW \\n \\ndemand factor of consumer A = %0.2f \\n \\nmaximum demand of consumer B = %dkW\\n \\ndemand factor of consumer B = %0.3f\"%(mca,mca/cla,mcb,mcb/clb)\n", + "print \"(b)\"\n", + "print \"The variation in demand versus time curves are plotted and shown in Fig This is known as chronological load curve.\"\n", + "a=([100]*5,[1100]*1,[200]*2,[0]*9,[500]*7)\n", + "i=0\n", + "A=range(1,25)\n", + "for x in a:\n", + "\n", + " for y in x:\n", + " \n", + " A[i]=y\n", + " i+=1\n", + "\n", + " \n", + "b=([0]*(7),[300]*(1),[1000]*(2),[200]*(8),[600]*(5),[0]*(1)) #time line of different periods by a and b consumers\n", + "i=0\n", + "B=range(1,25)\n", + "for x in b:\n", + "\n", + " for y in x:\n", + " \n", + " B[i]=y\n", + " i+=1\n", + "from numpy import arange, nditer\n", + "t=arange(1,25,1) #for 24 hours ploting\n", + "ma=max(A) ;mb=max(B) \n", + "subplot(211) #matrix plotting\n", + "plot(t,A) \n", + "plot(t,B) \n", + "title(\"load curves of A and B: fig(1) \\n\")\n", + "show()\n", + "C=range(1,25)\n", + "i=0\n", + "for x,y in nditer([A,B]):\n", + " C[i]=x+y \n", + " i+=1 \n", + "subplot(222) \n", + "plot(t,C) \n", + "title(\"chronological load of group : fig(2) \\n\")\n", + "show()\n", + "mg=max(C) #maximum demand of group\n", + "print \"(c)\"\n", + "print \"maximum demand of the group is %dW\"%(mg) \n", + "gd=(ma+mb)/mg \n", + "print \"group diversity factor = %.3f\"%(gd) #group diversity factor is sum of individual maximum consumaer load to the group max load \n", + "print \"(d)\"\n", + "sa=sum(A)\n", + "print \"energy consumed by A during 24 hours is = %d Wh = %0.2f kWh\"%(sa,sa/1e3)\n", + "sb=sum(B) \n", + "print \"(e)\" \n", + "print \"maximum energy which A could consume in 24hours = %.2fkWh \\nmaximum energy which B consume in 24 hours is =%.2fkWh\"%(mca*24,mcb*24 ) \n", + "print \"(f)\" \n", + "print \"actual energy/maximum energy\" \n", + "mca=mca*10**3; mcb=mcb*10**3\n", + "aemea=sa/(mca*24)\n", + "aemeb=sb/(mcb*24)\n", + "print \"\\nfor A = %0.4f \\nfor b = %.4f\"%(sa/(mca*24),aemeb) \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.3 : page - 22" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum demand of each appartment =2.50kWh \n", + "\n", + "maximum demand of 600 apatments =500.00kW \n", + "\n", + "demand of 600 apartments at time of the system peak =400kW \n", + "\n", + "maximum demand of total commertial complex=48kW \n", + "\n", + "demand of the commertial load at the time of the peak = 30kW\n", + "\n", + "demand of the street lighting at the time of the system peak =8kW\n", + "\n", + "increase in system peak deamand =438kW \n" + ] + } + ], + "source": [ + "cola=5 ;na=600; ns=20 \n", + "cls=2 ;clfm=10 ;clsm=5; cll=20; i=80 \n", + "dffl=0.7; dfsm=0.8; dfl=0.65; dfci=0.5 \n", + "nsl=200 ;clsl=0.04 ;dfa=0.5; gdfa=3.0 \n", + "pdfa=1.25; gdfc=2 ;pdfc=1.6; dfs=0.8 #given col||cl=connected load,n=number,df=demand factor,gdf=group diversity factor,pdf=peak diversity factor,a=appartement,c=commertials,s=shop,sl=streetlight,fm=flourmill,sm=saw mill,l=laundry,ci=cinema complex.\n", + "mdea=cola*dfa\n", + "print \"maximum demand of each appartment =%.2fkWh \\n\"%(mdea)\n", + "mda=(na*mdea)/gdfa\n", + "print \"maximum demand of 600 apatments =%.2fkW \\n\"%(mda) \n", + "datsp=mda/pdfa\n", + "print \"demand of 600 apartments at time of the system peak =%dkW \\n\"%(datsp) \n", + "mdtcc=((cls*ns*dfs)+(clfm*dffl)+(clsm*dfsm)+(cll*dfl)+(i*dfci))/gdfc\n", + "print \"maximum demand of total commertial complex=%dkW \\n\"%(mdtcc)\n", + "dcsp=mdtcc/pdfc\n", + "print \"demand of the commertial load at the time of the peak = %dkW\\n\"%(dcsp) \n", + "dsltsp=nsl*clsl\n", + "print \"demand of the street lighting at the time of the system peak =%dkW\"%(dsltsp) \n", + "ispd=datsp+dcsp+dsltsp\n", + "print \"\\nincrease in system peak deamand =%dkW \"%(ispd)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.4 : page -28" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the chronological load curve is plotted in fig 1 the durition of loads is as under :\n", + "[20, 20, 20, 20, 20, 20, 20, 40, 40, 40, 40, 80, 80, 80, 80, 80, 80, 80, 80, 80, 100, 100, 100, 100]\n", + "\n", + "the load duration curve is ploted in 2 the energy produced by plant in 24 hours = 1420 MWh \n", + "\n", + "load factor = 0.5917= 59.17 %\n" + ] + }, + { + "data": { + "image/png": "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\nNNIAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d7032fe50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d700abe90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, title, title, show, hist\n", + "\n", + "print \"the chronological load curve is plotted in fig 1 the durition of loads is as under :\"\n", + "LC=([20]*(5),[40]*4,[80]*9,[100]*4,[20]*2)\n", + "\n", + "i=0\n", + "lc=range(1,25)\n", + "for x in LC:\n", + " for y in x:\n", + " lc[i] = y\n", + " i+=1\n", + "lc.sort()\n", + "\n", + "nn=len(lc)\n", + "\n", + "e=sum(lc)\n", + "print lc\n", + "print \"\\nthe load duration curve is ploted in 2 the energy produced by plant in 24 hours = %d MWh \\n\"%(e) \n", + "lff=e/(24*max(lc)) \n", + "print \"load factor = %0.4f= %.2f %%\"%(lff,lff*100)\n", + "t=range(1,25)\n", + "subplot(211) \n", + "plot(t,lc) \n", + "show()\n", + "title(\"chronological curve\")\n", + "subplot(212) \n", + "plot(t,lc) \n", + "title(\"load duration curve\")\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.5 : page - 29" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "capacity factor =0.473\n", + "\n", + "utilisation factor =0.80\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "lf=0.5917; ml=100; ic=125 #lf=load factor,ic=installed capacity,ml=maximum load,cf=capacity factor,uf=utillization factor\n", + "cf=(ml*lf)/ic; uf=ml/ic\n", + "print \"capacity factor =%0.3f\"%(cf)\n", + "print \"\\nutilisation factor =%.2f\"%(uf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.6 : page - 29" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy at different load levels:\n", + "Load(MW)\t\tEnergy(MWh)\n", + "\n", + " 20 \t\t\t 480\n", + " 40 \t\t\t 820\n", + " 80 \t\t\t 1340\n", + " 100 \t\t\t 1420\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d8839b710>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy supplied uto different times of day:\n", + "Time\t\tEnergy(MWh)\n", + "\n", + "5am \t\t\t 100\n", + "9am \t\t\t 260\n", + "6pm \t\t\t 980\n", + "10pm \t\t\t 1380\n", + "12pm \t\t\t 1420\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d6bf86350>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import nditer\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, title, xlabel, ylabel, show\n", + "\n", + "t=[24, 24-7, 24-11, 4] # Periods for running load 20,40,80,100\n", + "l = [20,40,80,100] # different loads\n", + "E= range(0,len(l))\n", + "E[0] = t[0]*l[0] # MWh\n", + "i=1\n", + "for x in E[1:]:\n", + " E[i] = E[i-1]+(l[i]-l[i-1])*t[i]\n", + " i+=1\n", + "\n", + "print \"Energy at different load levels:\\nLoad(MW)\\t\\tEnergy(MWh)\\n\"\n", + "\n", + "for x, y in nditer([l, E]):\n", + " print ' ',x,'\\t\\t\\t ',y\n", + "\n", + "subplot(211)\n", + "plot(E,l,'bo')\n", + "plot(E,l)\n", + "title('Energy Load Curve')\n", + "xlabel('Energy MW Hrs')\n", + "ylabel('Load MW')\n", + "show()\n", + "######### Mass Curve #######\n", + "\n", + "\n", + "t = [5,4,9,4,2]\n", + "l = [20,40,80,100,20] # loads on different time of day\n", + "Es= range(0,len(l))\n", + "Es[0] = t[0]*l[0] # MWh\n", + "i=1\n", + "for x in Es[1:]:\n", + " Es[i] = Es[i-1]+(l[i])*t[i]\n", + " i+=1\n", + "\n", + "\n", + "print \"Energy supplied uto different times of day:\\nTime\\t\\tEnergy(MWh)\\n\"\n", + "times = ['5am', '9am', '6pm','10pm','12pm']\n", + "for x, y in nditer([times, Es]):\n", + " print x,'\\t\\t\\t ',y\n", + "\n", + " \n", + "td= range(0,len(t))\n", + "td[0] = t[0] # MWh\n", + "i=1\n", + "for x in td[1:]:\n", + " td[i] = td[i-1]+t[i]\n", + " i+=1\n", + " \n", + "subplot(212)\n", + "plot(td,Es,'bo')\n", + "plot(td,Es)\n", + "title('Mass Curve')\n", + "xlabel('Time')\n", + "ylabel('Load MW')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.7 : page 30" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "load factor = capacity factor/utilisation factor =0.625\n", + "(b)\n", + "plant capacity = maximum demand/utilisation factor =50MW\n", + "(c)\n", + "reserve capacity =10MW\n", + "(d)\n", + "annual energy production =219000MWh\n" + ] + } + ], + "source": [ + "md=40 ;cf=0.5; uf=0.8 #maximum demand in MW capacity factor utility factor\n", + "print \"(a)\"\n", + "lf=cf/uf #load factor is ratio of capacity factor to the utility factor\n", + "print \"load factor = capacity factor/utilisation factor =%0.3f\"%(lf)\n", + "print \"(b)\"\n", + "pc=md/uf #plant capacity is ratio of maximum demand to utility factor\n", + "print \"plant capacity = maximum demand/utilisation factor =%dMW\"%(pc)\n", + "print \"(c)\"\n", + "rc=pc-md #reserve capacity is plant capacity minus maximum demand \n", + "print \"reserve capacity =%dMW\"%(rc)\n", + "print \"(d)\"\n", + "print \"annual energy production =%dMWh\"%(md*lf*8760)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.8 : pge 30" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "energy required required by the system in 24 hrs = 2060 MWh\n", + "\n", + "daily load factor = 0.572222 or 57.22 %\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d88369b90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, title, xlabel, ylabel, show\n", + "a=[0, 5, 9 ,18, 20, 22, 24] #time in matrix format\n", + "b=[50 ,50 ,100 ,100 ,150 ,80 ,50]#load in matrix format\n", + "z= range (1,7)\n", + "for x in range (1,6):\n", + " \n", + " z[x]=((b[x]+b[x+1])/2)*(a[(x+1)])-a[x]\n", + "\n", + "e = b[0]*a[1]+(b[2]+b[1])*(a[2]-a[1])/2+(b[3]*a[2])+(b[3]+b[4])+(b[4]+b[5])+(b[5]+b[6]) # MWh\n", + "\n", + "print \"energy required required by the system in 24 hrs = %d MWh\"%(e)\n", + "#50x5MWh+((100+50)/2)x4MWh +(100x9)MWh+(100+150)MWh+(150+80)MWh+(80+50)MWh \\n =\n", + "dlf=e/(max(b)*24)\n", + "print \"\\ndaily load factor = %f or %0.2f %%\"%(dlf,dlf*100)\n", + "\n", + "#########PLOT##############\n", + "plot(a,b)\n", + "title('Load Curve')\n", + "xlabel(\"TIME -->\")\n", + "ylabel(\"MW -->\")\n", + "show()\n", + "#xtitle(\"load curve\"%(\"time\"%(\"MW\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.9: page 31" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "load duration curve in fig1\n", + "the energy consumed upto different times is as \n", + "\n", + "from mid night upto 0,energy=250MWh\n", + "\n", + "from mid night upto 5,energy=550MWh\n", + "\n", + "from mid night upto 9,energy=1450MWh\n", + "\n", + "from mid night upto 18,energy=1700MWh\n", + "\n", + "from mid night upto 20,energy=1930MWh\n", + "\n", + "from mid night upto 22,energy=2060MWh\n", + "energy curve in fig 2\n" + ] + }, + { + "data": { + "image/png": "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\nRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d7016aa50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, title, xlabel, ylabel, show\n", + "print \"load duration curve in fig1\"\n", + "print \"the energy consumed upto different times is as \"\n", + "a=[0, 5 ,9 ,18, 20, 22, 24] #time in matrix format\n", + "b=[50, 50 ,100 ,100 ,150 ,80 ,50] #load in matrix format\n", + "\n", + "z = range(0,6)\n", + "for x in range (0,6):\n", + " z[x]=((b[x]+b[x+1])/2)*(a[x+1]-a[x])\n", + "\n", + "et=0\n", + "q = range(0,7)\n", + "m = range(0,7)\n", + "ett = range(0,6)\n", + "for x in range(0,6):\n", + " et=et+z[x] \n", + " A=a[(x)]\n", + " ett[x]=et \n", + " q[x]=a[x+1]\n", + " print \"\\nfrom mid night upto %d,energy=%dMWh\"%(A,et)\n", + "n = sorted(range(len(b)), key=lambda k: b[k], reverse=True)\n", + "m = sorted(b, reverse=True)\n", + "print \"energy curve in fig 2\"\n", + "t=[0, 3.88, 15.88 ,19.88, 23]\n", + "k = range(0,6)\n", + "for j in range(0,6):\n", + " k[j]=a[(j+1)]\n", + "M =range(0,5)\n", + "#rearranging for mass curve\n", + "for i in range(0,5):\n", + " M[i] = m[i]\n", + "Q = range(0,6)\n", + "for i in range(0,6):\n", + " Q[i] = q[i]\n", + " \n", + " \n", + "subplot(121) \n", + "plot(t,M) \n", + "title(\"load duration\")\n", + "xlabel(\"hours\")\n", + "ylabel(\"MW\")\n", + "subplot(122) \n", + "plot(Q,ett) \n", + "title(\"energy curve\")\n", + "xlabel(\"time\")\n", + "ylabel(\"MWh\")\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.10 : page 31" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "annual load factor =energy generated during 1 year/(max. load)x8760=0.2 \n", + " maximum load =2500kW\n", + "\n", + "capacity factor =(max.load/plant capacity)x(load factor)\n", + " plant capacity =max.load/0.75 =3333.333333MW \n", + " reserve capacity =3.333-2.5=833.333333MW\n" + ] + } + ], + "source": [ + "egd1=438*10**4 ;plp=0.2; pcf=0.15 #annual load duration annual load factor plant capacity factor\n", + "pml=egd1/(plp*8760)\n", + "pc=(pml*plp)/pcf\n", + "print \"annual load factor =energy generated during 1 year/(max. load)x8760=%.1f \\n maximum load =%dkW\"%(plp,pml)\n", + "print \"\\ncapacity factor =(max.load/plant capacity)x(load factor)\\n plant capacity =max.load/0.75 =%fMW \\n reserve capacity =3.333-2.5=%fMW\"%(pc,pc-pml)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.11: page 32" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " sum of maximum=31MW\n", + "\n", + " maximum demand = sum of max.demands/diversity factor =31/1.500000 = 20.666667MW\n", + "\n", + " annual energy =117676.000000MWh \n", + " increase in maximum demand =12.400000MW \n", + " installed capacity =33.066667MW\n" + ] + } + ], + "source": [ + "p1=10; p2=6; p3=8; p4=7 #peak demands of 4 areas\n", + "df=1.5 ;lf=0.65 ;imdp=0.6 #diversity factor annual load factor ratio of maximum demand\n", + "p=p1+p2+p3+p4\n", + "md=p/df\n", + "ae=md*lf*8760\n", + "imd=imdp*md\n", + "ic=md+imd\n", + "print \" sum of maximum=%dMW\"%(p)\n", + "print \"\\n maximum demand = sum of max.demands/diversity factor =%d/%f = %fMW\"%(p,df,md)\n", + "print \"\\n annual energy =%fMWh \\n increase in maximum demand =%fMW \\n installed capacity =%fMW\"%(ae,imd,ic)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.12 : page 32" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Weekly Load factor = 53.74 %\n", + "Load Duration Curve is shown in figure.\n" + ] + }, + { + "data": { + "image/png": "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\n1bUwM2sGuXZmZ81Ge0naGrhB0sGdtoekWu1IXW6bOnXqW8ttbW20tbX1Pdh+UKllceSRqZbFpZem\nBGJmVm/t7e20t7f3y7HqVuFO0teB14DPAW0R8ZSk4aQrjd0knQ0QERdk+18PTImIOzsdp3R9FJ29\n8kq6bXbcuNQkpV61CpqZ9Z9S9lFI2q5yR5OkzYFDgYXAPODUbLdTgbnZ8jzgREmDJI0GdgXuyiu+\nPLmWhZk1kzybnoYD0yQNICWk6RFxs6SFwBWSJgKPAscDRMRSSVcAS4F1wOmlv3SowbUszKxZ1K3p\nqb80QtNTteXLU7I47zzXsjCz4vSl6ckjs3PmWhZm1uicKOrAtSzMrJH55s06cS0LM2tUThR15FoW\nZtaInCjqzLUszKzRuI+iAK5lYWaNxImiIK5lYWaNwomiQJMnpxoWhx+eRnEPHbrh15iZ1ZsH3BXM\ntSzMrB76MuDOiaIEOjpg4kRYuRLmzYPBg4uOyMyajRNFE1i3Dk44Ic00e/nlacpyM7P+UsrZY23j\nVGpZrF6dall0dGz4NWZm9eBEUSKDB8OcOfDAA3Dmman/wsysaE4UJeNaFmZWNm4JLyHXsjCzMnGi\nKKlhw2D+/PXJwrUszKwoThQl5loWZlYGThQl51oWZlY0d2Y3ANeyMLMiOVE0CNeyMLOiOFE0ENey\nMLMiuI+iwbiWhZnVmxNFA3ItCzOrJyeKBuVaFmZWL549toG5loWZ9ZSnGW9hrmVhZj3hRNHiXMvC\nzDbE9ShanGtZmFmenCiahGtZmFlenCiaiGtZmFke3JrdZFzLwsz6mxNFE3ItCzPrT04UTcq1LMys\nvzhRNDHXsjCz/uDO7CbnWhZm1le5JQpJIyUtkHSfpHslTcrWT5W0QtLC7PGJqtecI+khSfdL8vff\nfuJaFmbWF7mNzJa0PbB9RCySNAT4PfAp4HhgTURc1Gn/scBMYD9gB2A+MCYiOjrt55HZvXTllTBp\nErS3w5gxRUdjZvXUl5HZufVRRMRTwFPZ8suS/khKAABdBXs0MCsi1gKPSloGjAPuyCvGVuNaFmbW\nG3Xpo5C0M7A36z/0vyBpsaTLJFUmyB4BrKh62QrWJxbrJxMmpCnKDz0Unn666GjMrBH0KFFI2l3S\nJyQdLmm3jTlB1ux0JfDFiHgZ+E9gNLAX8CRwYY2Xu40pB5Mnw0knpVoWa9cWHY2ZlV23TU+SRgNn\n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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6d700681d0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n", + "\n", + "#Arranging data for Load Duration Curve\n", + "#week days 5-9pm load\n", + "L1=350 #MW\n", + "t1=4*5 #hours\n", + "#week days 8-12am & 1-5pm load\n", + "L2=250 #MW\n", + "t2=t1+8*5 #hours\n", + "#saturday & sunday 5-9pm load\n", + "L3=200 #MW\n", + "t3=t2+4*2 #hours\n", + "#All days 150MW load\n", + "L4=150 #MW\n", + "t4=t3+6*5+15*2 #hours\n", + "#All days 100MW load\n", + "L5=100 #MW\n", + "t5=t4+6*5+5*2 #hours\n", + "A=31600 #Total Load Curve Area\n", + "LF=A/L1/24/7*100 #%#Weekly load factor\n", + "print \"Weekly Load factor = %0.2f %%\"%LF\n", + "print \"Load Duration Curve is shown in figure.\" \n", + "#Load Duration Curve\n", + "L=[L1 ,L2, L3, L4, L5] #MW\n", + "T=[t1 ,t2 ,t3 ,t4 ,t5] #hours\n", + "plot(T,L) \n", + "title('Load Duration Curve')\n", + "xlabel('Time(Hours)')\n", + "ylabel('Load(MW)') \n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.13 : page 33" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "annual load factor = 0.825000x0.870000x0.780000 = 0.56\n" + ] + } + ], + "source": [ + "dlf=0.825 #daily load factor\n", + "lptmlp=0.87 #average daily peak load to monthly load peak\n", + "mlptalp=0.78 #average monthly peak load to annual load peak\n", + "print \"annual load factor = %fx%fx%f = %0.2f\"%(dlf,lptmlp,mlptalp,dlf*lptmlp*mlptalp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example - 2.14 : page 35" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "peak load on transformer 1 =(300x0.6+100x0.5)/2.3 =100kW \n", + "peak load on transformer 2 =80kW \n", + " peak load on transformer 3 =100kW\n", + "(b)\n", + "peak load on feeder =(100+80+100)/1.4 =200kW\n" + ] + } + ], + "source": [ + "print \"(a)\"\n", + "#given\n", + "transformer1_motorload=300 \n", + "transformer1_demandfactorm=0.6 \n", + "tarnsformer1_commercialload=100 \n", + "transformer1_demandfactorc=0.5 \n", + "transformer1_diversityfactor=2.3\n", + "transformer2_residentalload=500 \n", + "transformer2_demandfactor=0.4 \n", + "transformer2_diversitryfactor=2.5 \n", + "transformer3_residentalload=400 \n", + "transformer3_demandfactor=0.5 \n", + "transformer3_diversityfactor=2.0 \n", + "diversitybtwxmer=1.4\n", + "peakloadoftransformer1=((transformer1_motorload*transformer1_demandfactorm)+(tarnsformer1_commercialload*transformer1_demandfactorc))/transformer1_diversityfactor\n", + "peakloadonxmer=(transformer2_residentalload*transformer2_demandfactor)/transformer2_diversitryfactor\n", + "peakloadonxmer3=(transformer3_residentalload*transformer3_demandfactor)/(transformer3_diversityfactor)\n", + "print \"peak load on transformer 1 =(300x0.6+100x0.5)/2.3 =%dkW \\npeak load on transformer 2 =%dkW \\n peak load on transformer 3 =%dkW\"%(peakloadoftransformer1,peakloadonxmer,peakloadonxmer3)\n", + "print \"(b)\"\n", + "peakloadonfeeder=(peakloadoftransformer1+peakloadonxmer+peakloadonxmer3)/diversitybtwxmer\n", + "print \"peak load on feeder =(100+80+100)/1.4 =%dkW\"%(peakloadonfeeder)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3_1.ipynb new file mode 100644 index 00000000..1427bc33 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3_1.ipynb @@ -0,0 +1,529 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-3, Power Plant Economics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 3.1 - pg 43" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " solution for (a)\n", + " afc1=Rs.1.98e+08\n", + " e1=5.2998e+08 kWh\n", + " annualfual1=3.70986e+08 kg \n", + " fc1=Rs.5.56479e+08 \n", + " om1=Rs.1.112958e+08 \n", + " aoc1=Rs.5.564790e+08 \n", + " apc1=Rs.7.54479e+08 \n", + " gc1=1.3558 kWh\n", + "\n", + " solution for (b)\n", + " afc2=Rs.3.30e+08 \n", + " e2=5.7816e+08 kWh\n", + " annualfual2=3.75804e+08 kg \n", + " fc2=Rs.563706000 \n", + " om22=Rs.84555900 \n", + " aoc2=Rs.648261900 \n", + " apc2=Rs.978261900 \n", + " gc2=1kWh\n", + "\n", + " solution of (c)\n", + " ogc=Rs.1.564/kWh\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "totpow=110*10**3 #(kW)\n", + "uc1=18000; fcr1=0.1; cf1=0.55; fuelcons1=0.7; fuelcost1=1500/1000; om1=0.2; utilizationf1=1 \n", + "uc2=30000 ;fcr2=0.1; cf2=0.60 ;fuelcons2=0.65 ;fuelcost2=1500/1000 ;om2=0.15 ;utilizationf2=1 \n", + "#given uck=unit capital cost k fcrk= fixed charge rate of kth unit cfk=capacity factor at k th unit omk=annual cost of operating labour totpow=total power rating of units\n", + "afc1=fcr1*uc1*totpow; afc2=fcr2*uc2*totpow \n", + "e1=8760*cf1*totpow; e2=8760*cf2*totpow \n", + "annualfuel1=e1*fuelcons1 ;annualfuel2=e2*fuelcons2 \n", + "fc1=annualfuel1*fuelcost1 ;fc2=annualfuel2*fuelcost2 \n", + "om11=om1*fc1; om22=om2*fc2 \n", + "aoc1=fc1+om1 ;aoc2=fc2+om22 \n", + "apc1=aoc1+afc1; apc2=aoc2+afc2 \n", + "gc1=apc1/fc1 ;gc2=apc2/fc2\n", + "print \" solution for (a)\"\n", + "print \" afc1=Rs.%0.2e\\n e1=%0.4e kWh\\n annualfual1=%0.5e kg \\n fc1=Rs.%0.5e \\n om1=Rs.%0.6e \\n aoc1=Rs.%0.6e \\n apc1=Rs.%0.5e \\n gc1=%0.4f kWh\\n\"%(afc1,e1,annualfuel1,fc1,om11,aoc1,apc1,gc1)\n", + "print \" solution for (b)\"\n", + "print \" afc2=Rs.%0.2e \\n e2=%0.4e kWh\\n annualfual2=%0.5e kg \\n fc2=Rs.%d \\n om22=Rs.%d \\n aoc2=Rs.%.f \\n apc2=Rs.%.f \\n gc2=%.fkWh\\n\"%(afc2,e2,annualfuel2,fc2,om22,aoc2,apc2,gc1)\n", + "ogc=(apc1+apc2)/(e1+e2)\n", + "\n", + "print \" solution of (c)\\n ogc=Rs.%0.3f/kWh\"%(ogc)\n", + "# Ans in the textbook are not accurate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 3.2 - pg 45" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "solution for (a)\n", + "annual straight line depreciation reserve =Rs. 6.8e+06 per year\n", + "\n", + "solution for (b)\n", + "annual sinking fund depreciation reserve is =Rs. 2.325e+08 per year\n" + ] + } + ], + "source": [ + "c=2*10**8 #cost\n", + "s=0.15 #salvage value\n", + "ul=25 #/useful value\n", + "i=0.08 #life of plant\n", + "print \"solution for (a)\"\n", + "print \"annual straight line depreciation reserve =Rs. %.1e per year\\n\"%(c*(1-s)/ul)\n", + "print \"solution for (b)\"\n", + "it=(i+1)**25-1\n", + "iit=i/it\n", + "asdr=c*(1-s)*iit*100\n", + "print \"annual sinking fund depreciation reserve is =Rs. %.3e per year\"%(asdr)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 3.3 - pg 45" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rate of depretion by fixed percentage method = 7.3 %\n", + "remaining depreciation at the end of 10th year = Rs.9.364e+07\n", + "accumulated depreciation at the end of 10 year is Rs.1.064e+08\n" + ] + } + ], + "source": [ + "cost=2*10**8\n", + "sal=0.15\n", + "use=25\n", + "t=(1-(sal**(1/use)))\n", + "print \"rate of depretion by fixed percentage method = %0.1f %%\"%(t*100)\n", + "rd=cost*(1-t)**10\n", + "print \"remaining depreciation at the end of 10th year = Rs.%0.3e\"%(rd)\n", + "print \"accumulated depreciation at the end of 10 year is Rs.%0.3e\"%(cost-rd)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 3.4 - pg 46" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "negp : [1712418.7671232875, 856254.38356164377, 570866.25570776255, 428172.19178082189, 342555.75342465751]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fdb94733510>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "load factor\n", + "[ 20 40 60 80 100]\n", + "load MW\n", + "\n", + "20MW\t40MW\t60MW\t80MW\t100MW\n", + "fixed cost\n", + "Rs300000000\tRS300000000\tRs300000000\tRs300000000\tRs300000000\n", + "number of KW hrs of energy generated in paise per unit of energy\n", + "175200000kWh\t350400000kWh\t525600000kWh\t700800000kWh\t876000000kWh\n", + "fixed cost in paise per unit of energy\n", + "Rs1712328.767\tRS856164.384\tRs570776.256\tRs428082.192\tRs342465.753\n", + "operating cost in paise per unit of energy\n", + "Rs90.000\tRS90.000\tRs90.000\tRs90.000\tRs90.000\n", + "total generation cost in paise per unit of energy\n", + "Rs1712418.767\tRS856254.384\tRs570866.256\tRs428172.192\tRs342555.753\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "import numpy as np\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,show\n", + "\n", + "p=100 #ratring of steam station\n", + "fc=3000 #fixed cost of plant per year\n", + "rg=0.9 #90 paise per kv generation\n", + "uf=1 #utilization factor 1\n", + "lf=np.arange(20,101,20) #let load factor be 5 discreate units\n", + "lm=uf*lf #lwt load MW is as same as lf as utilisation factor is 1\n", + "n=len(lm)\n", + "fc=[fc*1e5]*n\n", + "op=[rg*100]*n\n", + "negp = range(0,n)\n", + "fcgp = range(0,n)\n", + "tgc = range(0,n)\n", + "for i in range(0,n):\n", + " negp[i]=lm[i]*8760 * 1e3 # kW-hrs/year\n", + " fcgp[i]=fc[i]*10000/negp[i]* 1e2 # Paisa/unit\n", + " tgc[i]=fcgp[i]+op[i]\n", + "\n", + "print \"negp : \",tgc\n", + " \n", + " \n", + "plot(lf,tgc)\n", + "show()\n", + "print \"load factor\"\n", + "print lf\n", + "print \"load MW\\n\"\n", + "#fcgp=fcgp/100 ;op=op/100; tgc=tgc/100\n", + "print \"%dMW\\t%dMW\\t%dMW\\t%dMW\\t%dMW\"%(lm[0],lm[1],lm[2],lm[3],lm[4])\n", + "print \"fixed cost\"\n", + "print \"Rs%d\\tRS%d\\tRs%d\\tRs%d\\tRs%d\"%(fc[0],fc[1],fc[2],fc[3],fc[4])\n", + "print \"number of KW hrs of energy generated in paise per unit of energy\"\n", + "print \"%dkWh\\t%dkWh\\t%dkWh\\t%dkWh\\t%dkWh\"%(negp[0],negp[1],negp[2],negp[3],negp[4])\n", + "print \"fixed cost in paise per unit of energy\"\n", + "print \"Rs%.3f\\tRS%.3f\\tRs%.3f\\tRs%.3f\\tRs%.3f\"%(fcgp[0],fcgp[1],fcgp[2],fcgp[3],fcgp[4])\n", + "print \"operating cost in paise per unit of energy\"\n", + "print \"Rs%.3f\\tRS%.3f\\tRs%.3f\\tRs%.3f\\tRs%.3f\"%(op[0],op[1],op[2],op[3],op[4])\n", + "print \"total generation cost in paise per unit of energy\"\n", + "print \"Rs%.3f\\tRS%.3f\\tRs%.3f\\tRs%.3f\\tRs%.3f\"%(tgc[0],tgc[1],tgc[2],tgc[3],tgc[4])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 3.5 page 47" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average load 60MW\n", + "energy generated =5.256000e+08kWhr\n", + "total investement Rs.4.800000e+06\n", + "investement amd depression is Rs.7.200000e+08\n", + "fuel consumtion is 3.363840e+08kgper year\n", + "fuel cost Rs.5.045760e+08per year \n", + "annual plant cost Rs1.279376e+09per year \n", + "generation cost Rs2.434125per year\n" + ] + } + ], + "source": [ + "ic=120 #installed capacity\n", + "ccppkw=40000 #/capital cost of plant\n", + "iand=0.15 #interest and depreciation\n", + "fco=0.64 #fuel consumption\n", + "fc=1.5#fuel cost\n", + "oc=50*10**6 #operating cost\n", + "pl=100#peak load\n", + "lf=0.6 #load factor\n", + "al=lf*pl#avarrage load\n", + "print \"average load %dMW\"%(al)\n", + "eg=al*8760*10**3#energy generated\n", + "print \"energy generated =%ekWhr\"%(eg)\n", + "ti=ic*ccppkw #total investiment\n", + "print \"total investement Rs.%e\"%(ti)\n", + "ind=ti*iand*10**3#interest and depreciation\n", + "print \"investement amd depression is Rs.%e\"%(ind)\n", + "fcons=eg*fco #fual consumption\n", + "print \"fuel consumtion is %ekgper year\"%(fcons)\n", + "fcost=fcons*fc#fuel cost\n", + "aco=ti+fcost+ind+oc#annual cost\n", + "print \"fuel cost Rs.%eper year \\nannual plant cost Rs%eper year \\ngeneration cost Rs%fper year\"%(fcost,aco,aco/eg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 3.6 page 47" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "solution of (a)\n", + " average load = 25000kW \n", + " energy consumton =219000000kWh\n", + " annual expenditure is Rs30000000peryear\n", + "\n", + "(b) private steam plant\n", + " installed capacity is Rs70000 \n", + " capital investiment is Rs2100000000 \n", + " interest and depreciation is Rs.315000000 \n", + " fuel consumption is Rs.131400000.000000 \n", + " fuel cost is Rs.183960000.000000 per year \n", + " wage,repair and other expenses are Rs175200000.000000 per year \n", + " total expenditure is Rs6.741600e+08 per year\n" + ] + } + ], + "source": [ + "md=50*10**3 #maximum demand in kW\n", + "ecy=0\n", + "pst=600*md+2.5*ecy#public supply tariff equation\n", + "lfr=0.5 #load factor\n", + "rc=20*10**3 #reserve capacity\n", + "cik=30000 #capital investiment\n", + "inad=0.15 #/interest and depreciation\n", + "fuc=0.6 ;fuco=1.4; oct=0.8#fuel consumption#fuel cost#other cost\n", + "avl=md*lfr #average load\n", + "ecy=avl*8760 #energy cosumption per year\n", + "print \"solution of (a)\"\n", + "print \" average load = %dkW \\n energy consumton =%dkWh\\n annual expenditure is Rs%dperyear\\n\"%(avl,ecy,pst)\n", + "print \"(b) private steam plant\"\n", + "ict=md+rc #installed capacity\n", + "caint=cik*ict #capital investiment\n", + "iande=inad*caint #interest and depreciation\n", + "fuelcon=ecy*fuc #fuel consumption\n", + "fucost=fuelcon*fuco #fuel cost\n", + "opwe=oct*ecy #other expenditure\n", + "totex=iande+fucost+opwe#total expenditure\n", + "print \" installed capacity is Rs%d \\n capital investiment is Rs%d \\n interest and depreciation is Rs.%d \\n fuel consumption is Rs.%f \\n fuel cost is Rs.%f per year \\n wage,repair and other expenses are Rs%f per year \\n total expenditure is Rs%e per year\"%(ict,caint,iande,fuelcon,fucost,opwe,totex)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 3.7 page 48" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total energy generated per year 2.19e+09W\n", + "capacity of hydro plant is 328MW \n", + " capacity of thermal plant 171MW\n", + " energy generatede by hydro plant 1933150684kWh\n", + " energy generated by thermal plant 256849315kWh\n", + " over all generation cost is 1.863/kWh\n" + ] + } + ], + "source": [ + "md=500 #given maximum demand\n", + "lf=0.5 #load factor\n", + "hp=7200 ;he=0.36#operating cost of hydro plant\n", + "tp=3600; te=1.56 #operating cost of thermal plant\n", + "teg=md*1000*lf*8760 #total energy generated\n", + "print \"total energy generated per year %2.2eW\"%(teg)\n", + "t=(hp-tp)/(te-he) #time of operating useing (de/dp)\n", + "ph=md*(1-t/8760) #from triangle adf\n", + "pt=md-ph\n", + "et=pt*t*1000/2\n", + "eh=teg-et\n", + "co=hp*ph*1000+he*eh+tp*pt*1000+te*et\n", + "ogc=co/teg\n", + "print \"capacity of hydro plant is %dMW \\n capacity of thermal plant %dMW\\n energy generatede by hydro plant %dkWh\\n energy generated by thermal plant %dkWh\\n over all generation cost is %.3f/kWh\"%(ph,pt,eh,et,ogc)\n", + "\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data 3.16 page 52" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cost calculation \n", + "using sinking fund depreciation\n", + "annual depretion reserve is 0.401262persent \n", + " annual fixed cost Rs11088529841.947702 \n", + " annual fixed cost per Rs11088kWh\n", + "fuel cost Rs.0.595238/kWh \n", + "energy generated per kW of plant capacity Rs.6044.400000kWh \n", + "energy available bus bar 5591.070000kWh \n", + " generation cost Rs2.578495 perkWh\n" + ] + } + ], + "source": [ + "pu=500*10**3 ; pc=2*pu #plant unit,plant capacity\n", + "land=11.865*10**9\n", + "cicost=30.135*10**9\n", + "ccost=land+cicost #capital cost =land cost+civil cost\n", + "plife=25 #plant life\n", + "ir=0.16 #interest rate\n", + "ond=1.5*10**-2 # o and mof capital cost\n", + "gr=0.5*10**-2 #grneral reserve of capital cost\n", + "calv=4158 #calorific value kj per kg\n", + "coalcost=990 #caol cost per ton\n", + "heat=2500#heat rate kcal/kWh\n", + "retur=0.08 #return\n", + "salvage=0\n", + "plf=0.69 ;auxcons=0.075 #auxiliary consumption\n", + "print \"cost calculation \"\n", + "print \"using sinking fund depreciation\"\n", + "ande=(ir/((ir+1)**(plife)-1))*100\n", + "afixcost=ccost*(ir+ond+retur+gr+(ande/100))\n", + "afcppc=afixcost/pc\n", + "print \"annual depretion reserve is %fpersent \\n annual fixed cost Rs%f \\n annual fixed cost per Rs%dkWh\"%(ande,afixcost,afcppc)\n", + "fo=(heat*coalcost)/(calv*1000)\n", + "engepc=24*365*plf\n", + "enavil=engepc*(1-auxcons)\n", + "gencost=(afcppc/enavil)+fo\n", + "print \"fuel cost Rs.%f/kWh \\nenergy generated per kW of plant capacity Rs.%fkWh \\nenergy available bus bar %fkWh \\n generation cost Rs%f perkWh\"%(fo,engepc,enavil,gencost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## data 3.17 page 53" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " total annual costs is Rs1.394000e+09 per year \n", + " energy generated per year =6.307200e+08kWh/year \n", + " energy available at bus bar 6.275664e+08kWh/year \n", + " generation cost is Rs.2.221279per kWh\n" + ] + } + ], + "source": [ + "pco=120*10**3 #3 units of 40MW\n", + "caco=68*10**8 #6 year of consumption\n", + "inr=0.16 #intrest rate\n", + "de=2.5*10**-2 #depreciation\n", + "oanm=1.5*10**-2#OandM\n", + "ger=0.5*10**-2#general reserve\n", + "pllf=0.6 #plant load facot\n", + "aucon=0.5*10**-2 #auxiliary consumption\n", + "tac=caco*(inr+de+oanm+aucon) #/total cost\n", + "engpy=pco*pllf*24*365 #energy generatedper year\n", + "eabb=engpy*(1-ger) #energy available at bus bar\n", + "geco=tac/eabb #generation cost\n", + "print \" total annual costs is Rs%e per year \\n energy generated per year =%ekWh/year \\n energy available at bus bar %ekWh/year \\n generation cost is Rs.%fper kWh\"%(tac,engpy,eabb,geco)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4_1.ipynb new file mode 100644 index 00000000..6be5ff49 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4_1.ipynb @@ -0,0 +1,1199 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-4, Tariffs & Power Factor Improvement" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.1 page 59" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total energy consumption in 30 day 123units \n", + "the monthly bill Rs308.16 \n", + "net monthly bill Rs292.75\n" + ] + } + ], + "source": [ + "day=30 #days \n", + "pll=40 ;nll=5; tll=3 #light load \n", + "pfl=100; nfl=3 ;tfl=5 #fan load\n", + "prl=1*1000 #refrigerator\n", + "pml=1*1000; nml=1 #misc. load \n", + "t1=2.74 ;t11=15#tariff\n", + "t2=2.70 ;t22=25 #tariff on 25 units\n", + "tr=2.32 #reamaining units\n", + "tc=7.00 #constant charge\n", + "dis=0.05#discount for prompt payment\n", + "te=(pll*nll*tll+pfl*nfl*tfl)*day+prl*day+pml*day\n", + "tee=te/1000\n", + "mb=tc+tr*(tee-t11-t22)+t1*t11+t2*t22\n", + "nmb=mb*(1-dis)\n", + "print \"total energy consumption in %d day %dunits \\nthe monthly bill Rs%.2f \\nnet monthly bill Rs%.2f\"%(day,tee,mb,nmb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.2 Page 59" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " energy consumption 525600kWh \n", + " total electricity bill per year Rs1008080\n" + ] + } + ], + "source": [ + "l=100 #connected load\n", + "md=80 #maximum demand\n", + "wt=0.6 #working time\n", + "c=6000 #constant cost\n", + "t=700 #cost on per kW\n", + "re=1.8 #rate\n", + "ec=l*wt*8760#electricity consumption per year\n", + "teb=c+md*t+re*ec #total electricity bill per year\n", + "print \" energy consumption %dkWh \\n total electricity bill per year Rs%d\"%(ec,teb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.3 Page 60" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + " capital cost of plant Rs6.000000e+09 \n", + " total capital cost Rs7.800000e+09\n", + " interest,depereiation system Rs8.580000e+08 \n", + "\n", + " sum of maximum demand of consumers energy prodused 272MW \n", + " energy produced 9.811200e+08kWh \n", + " energy consumed by auxilliries 4.905600e+07kWh\n", + " energy output 9.320640e+08kWH \n", + " energy sold to consumer 7.922544e+08kWh\n", + "\n", + "(b)fixed cost\n", + " interest, deprecition etc Rs8.580000e+08 per year\n", + " managerial and maintence Rs3e+07per year \n", + " total \t Rs8.880000e+08 \n", + "\n", + " profit@25 \tRs2.220000e+08per year \n", + " grand total Rs1.110000e+09 per year\n", + "Operating cost\n", + " Operating labour,supplies maintenance etc Rs.2.360000e+08per year \n", + " metering,billing etc Rs9.000000e+07per year\n", + " total\t\tRs3.260000e+08 per year\n", + " profit \t Rs8.150000e+07per year \n", + " grand total \t Rs4.075000e+08 per year\n", + "tariff\n", + " cost per kW \tRs4.080882e+03 \n", + " cost per kWh \tRs5.143550e-01\n", + "(b)\n", + " energy produced 1.121280e+09kWh \n", + " energy consumed by auxiliaries 5.606400e+07kWh/year \n", + " energy output of plant 1.065216e+09kWh \n", + " energy sold to consumer 9.054336e+08kWh\n" + ] + } + ], + "source": [ + "md=160 ;lff=0.7 ;dfc=1.7#maximum demand #load factor#diversity factor bt consumers\n", + "ic=200 #installed capacity\n", + "ccp=30000#capital cost of plant per kW\n", + "ctds=1800*10**6 #capital cost of transmission and distribution\n", + "idi=0.11 #interest,depreciation insurance and taxes on capital investiment\n", + "fmc=30*10**6 #fixed managerial and general maintanance cost\n", + "ol=236*10**6 #operating labour,maintanance and suppies\n", + "cm=90*10**6 #cost of metering,billing and collection\n", + "eca=0.05 #energy consumed by auxillary\n", + "el=0.15#energy loss and maintanance\n", + "p=0.25\n", + "lf=0.8#load factor\n", + "ap=0.5 #addition energy for profit\n", + "print 'a'\n", + "print \" capital cost of plant Rs%e \\n total capital cost Rs%e\\n interest,depereiation system Rs%e \"%(ccp*ic*10**3,ccp*ic*10**3+ctds,(ccp*ic*10**3+ctds)*idi)\n", + "print \"\\n sum of maximum demand of consumers energy prodused %dMW \\n energy produced %ekWh \\n energy consumed by auxilliries %ekWh\\n energy output %ekWH \\n energy sold to consumer %ekWh\\n\"%(md*dfc,md*8760*lff*10**3,md*8760*lff*eca*10**3,md*8760*lff*10**3*(1-eca),md*8760*lff*10**3*(1-eca)*(1-el))\n", + "print '(b)fixed cost'\n", + "idetc=(ccp*ic*10**3+ctds)*idi\n", + "tot=idetc+fmc \n", + "print \" interest, deprecition etc Rs%e per year\\n managerial and maintence Rs%.eper year \\n total \\t Rs%e \"%(idetc,fmc,tot)\n", + "pro=p*tot\n", + "gtot=tot+pro\n", + "print \"\\n profit@%d \\tRs%eper year \\n grand total Rs%e per year\"%(p*100,pro,gtot)\n", + "print 'Operating cost'\n", + "tot2=ol+cm\n", + "pro2=tot2*p\n", + "gtot2=tot2+pro2\n", + "print \" Operating labour,supplies maintenance etc Rs.%eper year \\n metering,billing etc Rs%eper year\\n total\\t\\tRs%e per year\\n profit \\t Rs%eper year \\n grand total \\t Rs%e per year\"%(ol,cm,tot2,pro2,gtot2)\n", + "print 'tariff'\n", + "co=gtot/(md*dfc*1000)\n", + "es=md*8760*lff*10**3*(1-eca)*(1-el)\n", + "cs=gtot2/es\n", + "print \" cost per kW \\tRs%e \\n cost per kWh \\tRs%e\"%(co,cs)\n", + "print '(b)'\n", + "ep=md*1000*8760*lf\n", + "print \" energy produced %ekWh \\n energy consumed by auxiliaries %ekWh/year \\n energy output of plant %ekWh \\n energy sold to consumer %ekWh\"%(ep,ep*eca,ep*(1-eca),ep*(1-eca)*(1-el))\n", + "estc=ep*(1-eca)*(1-el)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.4 Page 61" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " energy corresponding to maximum demand 552kWh \n", + " cost of above energy Rs1932 \n", + " remaining energy 1468kWh \n", + " cost of reamaining energy Rs2642.4 \n", + " total monthly bill Rs.4574.4\n", + " avarage tariff Rs2.265per kWh\n" + ] + } + ], + "source": [ + "v=230 ;ec=2020 #voltage #energy consumption\n", + "i=40; pf=1 ;t=2; c=3.5; rc=1.8 ;mon=30 #current/power factor/time/cost/reamining cost/month\n", + "ecd=v*i*pf*t*mon/1000 #energy corresponding to maximum demand\n", + "cost=ecd*c\n", + "ren=ec-ecd\n", + "rcost=ren*rc\n", + "tmb=cost+rcost\n", + "at=tmb/ec\n", + "print \" energy corresponding to maximum demand %dkWh \\n cost of above energy Rs%d \\n remaining energy %dkWh \\n cost of reamaining energy Rs%.1f \\n total monthly bill Rs.%.1f\\n avarage tariff Rs%.3fper kWh\"%(ecd,cost,ren,rcost,tmb,at)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.5 Page 62" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "if energy consumption per month is more than 1428.6kWh,\n", + "tariff is more suitable\n" + ] + } + ], + "source": [ + "t1=3000 ;t11=0.9 #cost equation \n", + "t2=3 #rate\n", + "x=t1/(t2-t11)\n", + "print \"if energy consumption per month is more than %.1fkWh,\\ntariff is more suitable\"%(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.6 Page 62" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + "maximum demand 65.72kW \n", + " yearly bill Rs.526164 per year \n", + "(b)\n", + " maximum demand 41.82kW \n", + " yearly bill Rs.497486per year\n", + "c\n", + " new energy 151125kWh \n", + " maximum demand 49.29kW \n", + " yearly bill Rs.395623per year \n", + " average energy cost in case a Rs2.6112per kWh \n", + " average energy cost in case b Rs2.469per kWh\n", + " average energy cost in case c Rs2.618per kWh \n" + ] + } + ], + "source": [ + "aec=201500 #annual energy consumption\n", + "lf=0.35#load factor constnt\n", + "t=4000#tariff\n", + "tmd=1200#tariff for maximum demand\n", + "t3=2.2\n", + "lfb=0.55 #load factor improved\n", + "ecd=0.25#energy consumption reduced\n", + "md=aec/(8760*lf)\n", + "yb=t+md*tmd+t3*aec\n", + "mdb=aec/(8760*lfb)\n", + "ybb=t+mdb*tmd+t3*aec\n", + "ne=aec*(1-ecd)\n", + "md3=ne/(8760*lf)\n", + "ybc=t+md3*tmd+t3*ne\n", + "aeca=yb/aec\n", + "aecb=ybb/aec\n", + "aecc=ybc/ne\n", + "print 'a'\n", + "print \"maximum demand %.2fkW \\n yearly bill Rs.%d per year \\n(b)\\n maximum demand %.2fkW \\n yearly bill Rs.%dper year\"%(md,yb,mdb,ybb)\n", + "print \"c\"\n", + "print \" new energy %dkWh \\n maximum demand %.2fkW \\n yearly bill Rs.%dper year \\n average energy cost in case a Rs%.4fper kWh \\n average energy cost in case b Rs%.3fper kWh\\n average energy cost in case c Rs%.3fper kWh \"%(ne,md3,ybc,aeca,aecb,aecc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.7 Page 66" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " \n", + "first transformer : \n", + " total full load losses 300kW \n", + " full load copper losses 180kW \n", + " energy loss due to copper losses 405900kWh/year\n", + " energy loss due to iron losses 420000kWh/year \n", + " cost of energy losses Rs660720per year\n", + " \n", + "second transformer :\n", + " total full load losses 200kW \n", + " full load copper losses 110kW \n", + " energy loss due to copper losses 248050kWh/year\n", + " energy loss due to iron losses 315000kWh/year \n", + " cost of energy losses Rs450440per year\n", + " additional interest and depreciation due to higher cost of second transformer Rs30000 \n", + " total yearly charges for second transformer Rs480440 per year\n" + ] + } + ], + "source": [ + "pl1=20 ;pf1=0.8; t1=2000#load in MVA #power factor #duration\n", + "pl2=10 ;pf2=0.8 ;t2=1000#load in MVA #power factor #duration\n", + "pl3=2 ;pf3=0.8 ;t3=500#load in MVA #power factor #duration\n", + "pt=20 #/transformar power rating\n", + "fte=0.985 ;ste=0.99 #/full load efficiency for first and second transformer\n", + "ftl=120 ;stl=90 #core loss inKW for first and second transformer\n", + "cst=200000 #cost of second transformer with compared with first transformer\n", + "aid=0.15 #annual interest and depreciation\n", + "ce=0.8 #cost of energy\n", + "tfl=pt*(1-fte)*1000#total full load\n", + "fle=tfl-ftl #full load copper loss\n", + "elc=fle*t1+(fle*t2/(pt/pl2)**2)+(fle*t3/(pt/pl3)**2) #energy loss due to copper loss\n", + "eli=ftl*(t1+t2+t3)#energy loss due to iron loss\n", + "celo=(elc+eli)*ce #cost of energy loss\n", + "print \" \\nfirst transformer : \"\n", + "print \" total full load losses %dkW \\n full load copper losses %dkW \\n energy loss due to copper losses %dkWh/year\\n energy loss due to iron losses %dkWh/year \\n cost of energy losses Rs%dper year\"%(tfl,fle,elc,eli,celo)\n", + "stfl=pt*(1-ste)*1000#total full load\n", + "sle=stfl-stl#full load copper loss\n", + "selc=sle*t1+(sle*t2/(pt/pl2)**2)+(sle*t3/(pt/pl3)**2)#energy loss due to copper loss\n", + "seli=stl*(t1+t2+t3)#energy loss due to iron loss\n", + "scelo=(selc+seli)*ce#cost of energy loss\n", + "print \" \\nsecond transformer :\"\n", + "print \" total full load losses %dkW \\n full load copper losses %dkW \\n energy loss due to copper losses %dkWh/year\\n energy loss due to iron losses %dkWh/year \\n cost of energy losses Rs%dper year\"%(stfl,sle,selc,seli,scelo)\n", + "aidc=stfl*aid*1000\n", + "tybc=aidc+scelo\n", + "print \" additional interest and depreciation due to higher cost of second transformer Rs%d \\n total yearly charges for second transformer Rs%d per year\"%(aidc,tybc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.8 Page 67" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " the most economic power factor 0.986 lagging \n", + " kvar requirement 291.35kVAR\n" + ] + } + ], + "source": [ + "from math import asin, acos, tan, cos\n", + "p=500 #load\n", + "pf=0.8#power factor\n", + "t=400 #tariff\n", + "md=100 #maximum demand tariff\n", + "ccb=600 #cost of capacitor bank\n", + "id=0.11#interest and deprecistion\n", + "sd=ccb*id/t#sin(ph2)\n", + "d2=asin(sd)\n", + "pf2=cos(d2)\n", + "kva=p*(tan(acos(pf))-tan(d2))\n", + "print \" the most economic power factor %.3f lagging \\n kvar requirement %.2fkVAR\"%(pf2,kva)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.9 Page 68" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " for 300kW unit power factor load \n", + " power factor angle 0\n", + " reactive power 0kvr\n", + " \n", + "for 1000kW unit power factor load \n", + " power factor angle 0.45\n", + " reactive power 484.32kvr\n", + " \n", + "for 1500kW unit power factor load \n", + " power factor angle 0.64\n", + " reactive power 1125.00kvr\n", + "\n", + " total kW \t2800kW\n", + " total kVAR 1609.3kVAR \n", + " total kVA 3229.54kVA \n", + " overall power factor 0.867lagging\n", + "\n", + " the maximum unity power factor load which yhe station can supply is equal to the kVA i.e.3229.54kVR\n" + ] + } + ], + "source": [ + "from math import asin, acos, tan, cos\n", + "l1=300 #load and power factor for three different loads\n", + "pf1=1 \n", + "l2=1000 \n", + "pf2=0.9 \n", + "l3=1500 \n", + "pf3=0.8\n", + "print \" for %dkW unit power factor load \\n power factor angle %.f\\n reactive power %.fkvr\"%(l1,acos(pf1),l1*(tan(acos(pf1))))\n", + "print \" \\nfor %dkW unit power factor load \\n power factor angle %.2f\\n reactive power %.2fkvr\"%(l2,acos(pf2),l2*(tan(acos(pf2))))\n", + "print \" \\nfor %dkW unit power factor load \\n power factor angle %.2f\\n reactive power %.2fkvr\"%(l3,acos(pf3),l3*(tan(acos(pf3))))\n", + "tl=l1+l2+l3\n", + "tt=l3*(tan(acos(pf3)))+l2*(tan(acos(pf2)))+l1*(tan(acos(pf1)))\n", + "print \"\\n total kW \\t%dkW\\n total kVAR %.1fkVAR \\n total kVA %.2fkVA \\n overall power factor %.3flagging\"%(tl,tt,(tl**2+tt**2)**0.5,tl/(tl**2+tt**2)**0.5)\n", + "print \"\\n the maximum unity power factor load which yhe station can supply is equal to the kVA i.e.%.2fkVR\"%((tl**2+tt**2)**0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.10 Page 68" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "kw rating of induction motor 13.86kW\n", + "\n", + " power factor angle 0.64 \n", + " reactive power 10.39kVR\n", + "\n", + " final power factor 0.45 \n", + " final reactance power 6.71kVR\n", + "\n", + " kvar rating of capacitor bank 3.6813 \n", + " current through each capacitor 5.31A\n", + " voltage across each capacitor 230.94 \n", + " reactance of each capacitor 43.46ohm \n", + " capacitance of each capacitance 73.24uf\n" + ] + } + ], + "source": [ + "from math import asin, acos, tan, cos,sqrt, pi\n", + "v=400#voltage\n", + "i=25#/current\n", + "pf=0.8#at power factor\n", + "pf2=0.9#over all power factor\n", + "kw=v*i*pf*sqrt(3)/1000\n", + "print \"kw rating of induction motor %.2fkW\"%(kw)\n", + "dm=acos(pf)\n", + "rp=kw*tan(dm)\n", + "print \"\\n power factor angle %.2f \\n reactive power %.2fkVR\"%(dm,rp)\n", + "fdm=acos(pf2)\n", + "rp2=kw*tan(fdm)\n", + "print \"\\n final power factor %.2f \\n final reactance power %.2fkVR\"%(fdm,rp2)\n", + "ckvb=rp-rp2\n", + "cc=ckvb*1000/(sqrt(3)*v)\n", + "vc=v/sqrt(3)\n", + "xc=vc/cc\n", + "f=50\n", + "cec=1*10**(6)/(xc*2*pi*f)\n", + "print \"\\n kvar rating of capacitor bank %.4f \\n current through each capacitor %.2fA\\n voltage across each capacitor %.2f \\n reactance of each capacitor %.2fohm \\n capacitance of each capacitance %.2fuf\"%(ckvb,cc,vc,xc,cec)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.11 Page 69" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " kw rating of installation 27.7kW \n", + " kVA rating of installation 34.64kva \n", + " kVAR rating 20.78kvar \n", + " kw input to synchrounous motor 20.43kw \n", + " total kw=48.14\n", + "\n", + " overall power factor angle 0.32kw \n", + " total kvar 15.82kvar \n", + " kvar of synchrounous motor -4.96kvar capacitor \n", + " kva of synchrounous motor 21.02kva \n", + " power factor of synchrounous motor 0.97 leading\n" + ] + } + ], + "source": [ + "from math import asin, acos, tan, cos,sqrt, pi\n", + "v=400#line voltage\n", + "i=50 #line current\n", + "pf=0.8 #at power factor\n", + "pf2=0.95 # overall power factor\n", + "sm=25 #hp of synchronous motor \n", + "e=0.9#efficiency\n", + "kwri=v*i*pf*sqrt(3)/1000\n", + "kvari=v*i*sqrt(3)/1000\n", + "karri=(-kwri**2+kvari**2)**0.5\n", + "kwsm=sm*735.5/(e*1000)\n", + "tkw=kwri+kwsm\n", + "print \" kw rating of installation %.1fkW \\n kVA rating of installation %.2fkva \\n kVAR rating %.2fkvar \\n kw input to synchrounous motor %.2fkw \\n total kw=%.2f\\n\"%(kwri,kvari,karri,kwsm,tkw)\n", + "pd=acos(pf2)\n", + "tkr=tkw*tan(pd)\n", + "krsm=tkr-karri\n", + "kasm=(kwsm**2+krsm**2)**0.5\n", + "pfsm=kwsm/kasm\n", + "if krsm<0:\n", + " ch='capacitor'\n", + " ich='leading'\n", + "else:\n", + " ch='inductive'\n", + " ich='lagging'\n", + "\n", + "print \" overall power factor angle %.2fkw \\n total kvar %.2fkvar \\n kvar of synchrounous motor %.2fkvar %s \\n kva of synchrounous motor %.2fkva \\n power factor of synchrounous motor %.2f %s\"%(pd,tkr,krsm,ch,kasm,pfsm,ich)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.12 page 69" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " (a)\n", + "\n", + " total current = (433.012701892-286.317624651j)\n", + "\n", + " overall power factor 0.834 lagging \n", + " copper losses in synchrounous motor 6250W \n", + " copper losses in cable 24.25KW\n", + "\n", + " (b)\n", + "\n", + " total current = (433.012701892-178.064449178j)\n", + "\n", + " overall power factor 0.925 lagging \n", + " copper losses in synchrounous motor 6250W \n", + " copper losses in cable 19.73KW\n", + "\n", + " (c)\n", + "\n", + " total current = (433.012701892-93.8675349216j)\n", + "\n", + " overall power factor 0.977 lagging \n", + " copper losses in synchrounous motor 6250W \n", + " copper losses in cable 17.67KW\n", + "(d)\n", + "copper loss of synchronous motor this is evidently minimum when tand=0 cosd=1\n" + ] + } + ], + "source": [ + "from math import asin, acos, tan, cos,sqrt, pi,sin, atan\n", + "psm=100 #power of synchrounous motors\n", + "pim=200 #power of inducion motor\n", + "v=400 #voltage \n", + "pff=0.71; pp=-1#power factor\n", + "rsm=0.1 #resistance of synchrounous motor\n", + "rt=0.03 #resistance of cable\n", + "#pf(1)=1 ;p(1)=1 #power factor in a\n", + "#pf(2)=0.8 ;p(2)=1 #power factor in b\n", + "#pf(3)=0.6 ;p(3)=1 #power factor in c\n", + "pf =[1,0.8,0.6]\n", + "p = [1,1,1]\n", + "\n", + "i1=pim*1000/(v*pff*sqrt(3))\n", + "i11=i1*(complex(pff,pp*sin(acos(pff))))\n", + "i2f=psm*1000/(v*sqrt(3))\n", + "ch=['a', 'b', 'c']\n", + "it = range(0,3)\n", + "opf = range(0,3)\n", + "for i in range(0,3):\n", + " print \"\\n (%s)\"%(ch[i])\n", + " d=acos(pf[i])\n", + " #it(i)=i11(1)+complex(i2f,(p(i)*i2f*tand(d)))\n", + " it[i]=i11+complex(i2f,(p[i]*i2f*tan(d)))\n", + " opf[i]=cos(atan((it[i]).imag/(it[i]).real))\n", + " clsm=3*((i2f)**2)*rsm\n", + " clt=3*(abs(it[i])**2)*rt/1000\n", + " print \"\\n total current =\",it[i]\n", + " print \"\\n overall power factor %.3f lagging \\n copper losses in synchrounous motor %.fW \\n copper losses in cable %.2fKW\"%(opf[i],clsm,clt)\n", + "\n", + "print \"(d)\"\n", + "print \"copper loss of synchronous motor this is evidently minimum when tand=%d cosd=%d\"%(0,1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.13 Page 71" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "power factor of indection generator is leading therefor induction generator output 2-0.97iMVA /n (a) \n", + "\n", + " total load 10+7.5iMW \n", + " synchronous generator load 8+8.469iMW \n", + "\t\t=11.65MW at angle 0.81 \n", + " power factor of synchronous generator is 0.69lagging\n", + "(b)\n", + " total load 5+3.7iMW \n", + " synchronous generator load 3+4.719iMW \n", + "\t\t=5.59MW at angle 1.00 \n", + " power factor of synchronous generator is 0.54lagging\n" + ] + } + ], + "source": [ + "from math import atan,tan,acos,pi\n", + "p=2#constant output in MW\n", + "pf=0.9#power factor\n", + "pa=10#load\n", + "pb=5\n", + "pfb=0.8#power factor at load of 5MW\n", + "td=tan(acos(pf))\n", + "go=p*(1-td*1J)\n", + "op=0.8\n", + "tp=tan(acos(pfb))\n", + "print \"power factor of indection generator is leading therefor induction generator output %d%.2fiMVA /n (a) \\n\"%(go.real,go.imag)\n", + "tl=pa*(1+tp*1J)\n", + "sg=tl-go\n", + "da=atan(sg.imag/sg.real)\n", + "print \" total load %d+%.1fiMW \\n synchronous generator load %d+%.3fiMW \\n\\t\\t=%.2fMW at angle %.2f \\n power factor of synchronous generator is %.2flagging\"%(tl.real,tl.imag,sg.real,sg.imag,abs(sg),da,cos(da))\n", + "tl1=pb*(1+tp*1J)\n", + "sg1=tl1-go\n", + "da1=atan(sg1.imag/sg1.real)\n", + "print \"(b)\"\n", + "print \" total load %d+%.1fiMW \\n synchronous generator load %d+%.3fiMW \\n\\t\\t=%.2fMW at angle %.2f \\n power factor of synchronous generator is %.2flagging\"%(tl1.real,(tl1).imag,sg1.real,(sg1).imag,abs(sg1),da1,cos(da1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.14 page 71" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + " line current of capacitor bank 2.9A \n", + " load current 32-23iA \n", + " total line current 32-21.1jA \n", + " overall p.f 0.835 \n", + " new line loss to old line loss 0.000\n", + "\n", + " phase current of capacitor bank 5.027A\n", + "\n", + " line current of capacitor bank 8.7A\n", + "\n", + " total current = (32-15.2937630517j)\n", + "-15.3jA =35.47A at an angle -0.45\n", + "\n", + " power factor 0.9 \n", + " ratio of new line loss to original loss 0.786\n" + ] + } + ], + "source": [ + "from math import atan,tan,acos,pi,sqrt,sin\n", + "c=40*10**(-6) #bank of capacitors in farads\n", + "v=400 #line voltage\n", + "i=40#/line current\n", + "pf=0.8#power factor\n", + "f=50#line frequency\n", + "xc=1/(2*pi*f*c)\n", + "ic=v/(sqrt(3)*xc)\n", + "il=i*(pf-sin(acos(pf))*1J)\n", + "til=il+1J*ic\n", + "od=atan(til.imag/til.real)\n", + "opf=cos(od)\n", + "nlol=(abs(od)/i)**2\n", + "print \"(a)\"\n", + "print \" line current of capacitor bank %.1fA \\n load current %d%diA \\n total line current %d%.1fjA \\n overall p.f %.3f \\n new line loss to old line loss %.3f\"%(ic,il.real,il.imag,(til).real,(til).imag,opf,nlol)\n", + "pcb=(v/xc)\n", + "print \"\\n phase current of capacitor bank %.3fA\"%(pcb)\n", + "lcb=pcb*sqrt(3)\n", + "print \"\\n line current of capacitor bank %.1fA\"%(lcb)\n", + "tcu=il+lcb*1J\n", + "print \"\\n total current =\",tcu\n", + "print \"%.1fjA =%.2fA at an angle %.2f\"%(tcu.imag,abs(tcu),atan(tcu.imag/tcu.real))\n", + "pf2=cos(atan(tcu.imag/(tcu).real))\n", + "print \"\\n power factor %.1f \\n ratio of new line loss to original loss %.3f\"%(pf2,(abs(tcu)/i)**2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.15 Page 72" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " current drawn by motor is 47.5A \n", + " \n", + "the line loss will be minimum when i is munimum.the minimum value of i is (38.0032324249-28.5024243187j) A\n", + " and occurs when the capacitor bank draws a line current of -28jA \n", + " capacitor C 130.95uf \n", + " percentage loss reduction 35\n" + ] + } + ], + "source": [ + "from math import atan,tan,acos,pi,sqrt\n", + "p=30 #b.h.p of induction motor\n", + "f=50#line frequency\n", + "v=400#line voltage\n", + "e=0.85#effiency\n", + "pf=0.8 #power factor\n", + "i=p*746/(v*e*pf*sqrt(3))\n", + "i=i*complex(pf,-sin(acos(pf)))\n", + "ccb=(i).imag/sqrt(3)\n", + "xc=v/ccb\n", + "c=10**6/(2*f*pi*xc)\n", + "prl=((abs(i)**2-i.real**2)/abs(i)**2)*100\n", + "print \" current drawn by motor is %.1fA \\n \"%abs(i)\n", + "print \"the line loss will be minimum when i is munimum.the minimum value of i is\",i,\"A\"\n", + "print \" and occurs when the capacitor bank draws a line current of %djA \\n capacitor C %.2fuf \\n percentage loss reduction %d\"%(i.imag,abs(c),prl)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.16 page 72" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " load current i1 = (962.240826145-721.680619609j) A \n", + "\n", + " load current current on improved power factor = (962.240826145-316.273264908j) A\n", + "(a)\n", + " line current of 400V capacitor bank 405.41A\n", + " line current of 2200 capacitor bank 73.71A \n", + " phase current of capacitor bank 42.56A \n", + " reactance 51.70 \n", + " capacitance 61.57F*10**(-6)\n", + "(b)\n", + " kVA rating 280.9kVA \n", + " kVA rating of transformer to convert 400V to 2200V will be the same as the kVA rating of capacitor bank\n", + "percentage reduction in losses 29 percent\n", + "(d)\n", + " phase current 234.1A \n", + " reactance 1.71ohm \n", + " capasitance 25.00*10**-6F \n", + " ratio of capacitance 2.463\n" + ] + } + ], + "source": [ + "from math import atan,tan,acos,pi,sqrt\n", + "po=666.66 #power\n", + "f=50 #frequency\n", + "v=400 #voltage\n", + "pf=0.8 ;p=-1#power factor\n", + "pf2=0.95 ;p2=-1#improved power factor\n", + "vc=2200 #capacitor voltage \n", + "rc=vc\n", + "il=po*1000/(v*pf*sqrt(3))\n", + "il1=il*(complex(pf,p*sin(acos(pf))))\n", + "i2c=il*pf\n", + "tad=tan(acos(pf2))\n", + "i2=complex(i2c,i2c*tad*p2)\n", + "print \" load current i1 =\",il1,\"A \"\n", + "print \"\\n load current current on improved power factor =\",i2,\"A\"\n", + "print \"(a)\"\n", + "ic=abs(il1-i2)\n", + "ilc=ic*v/vc\n", + "pic=ilc/sqrt(3)\n", + "xc=vc/pic\n", + "ca=10**6/(2*pi*f*xc)\n", + "print \" line current of %dV capacitor bank %.2fA\\n line current of %d capacitor bank %.2fA \\n phase current of capacitor bank %.2fA \\n reactance %.2f \\n capacitance %.2fF*10**(-6)\"%(v,ic,vc,ilc,pic,xc,ca)\n", + "print \"(b)\"\n", + "kr=3*vc*pic/1000\n", + "print \" kVA rating %.1fkVA \\n kVA rating of transformer to convert %dV to %dV will be the same as the kVA rating of capacitor bank\"%(kr,v,vc)\n", + "pl=100*(abs(il1)**2-abs(i2)**2)/abs(il1)**2\n", + "print \"percentage reduction in losses %d percent\"%(pl)\n", + "print \"(d)\"\n", + "pi=ic/sqrt(3)\n", + "xcc=v/pi\n", + "cc=1*10**6/(2*pi*f*xcc)\n", + "roc=ca/cc\n", + "print \" phase current %.1fA \\n reactance %.2fohm \\n capasitance %.2f*10**-6F \\n ratio of capacitance %.3f\"%(pi,xcc,cc,roc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.17 Page 74" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " MVA rating of secondary = 10MVA =9+5jMVA \n", + " \n", + "\n", + " since the power factor at primary terminals is unity,rating of primary need be 9MVA only \n", + " the tertiary will supply capacitor curren.since p.f is to be raised to 1 ,the mav compensation needed is 6MVA so rating of teritiary is 5MVA\n" + ] + } + ], + "source": [ + "from math import acos,pi,sqrt,sin\n", + "v1=132#line voltage at primary\n", + "v2=11#line voltage at secondary\n", + "p=10 #power\n", + "pf=0.8 #power factor\n", + "mva=p*(complex(pf,sin(acos(pf))))\n", + "print \" MVA rating of secondary = %dMVA =%d+%djMVA \\n \"%(p,abs(mva),mva.imag)\n", + "print \"\\n since the power factor at primary terminals is unity,rating of primary need be %dMVA only \\n the tertiary will supply capacitor curren.since p.f is to be raised to 1 ,the mav compensation needed is 6MVA so rating of teritiary is %dMVA\"%(abs(mva),mva.imag)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.18 Page 74" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a\n", + "when pf is rased to 1 the alternator can supply 500kW for the same value of armture current hence it can supply 100KW to synchronous motor\n", + "b\n", + "b.h.p =113.94HP\n", + "\n", + "cosd=0.316leading\n" + ] + } + ], + "source": [ + "from math import sin,acos,pi,sqrt,acos,cos\n", + "v=11 #line voltage\n", + "f=50#line frequency\n", + "l=400 #load of alternator\n", + "pf=0.8 #power factor\n", + "e=0.85#efficiency\n", + "p=l/pf\n", + "lo=l+p*sin(acos(pf))*1J\n", + "print \"a\"\n", + "print \"when pf is rased to 1 the alternator can supply %dkW for the same value of armture current hence it can supply %dKW to synchronous motor\"%(p,p-l)\n", + "print \"b\"\n", + "print \"b.h.p =%.2fHP\"%(100*e/0.746)\n", + "kvam=p-lo\n", + "td=atan((kvam).imag/(kvam).real)\n", + "pff=cos(td)\n", + "print \"\\ncosd=%.3fleading\"%(pff)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.19 Page 74" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " capacitor kVAR required for 6kW\n", + " load for same power factor improvement 60KVAR\n" + ] + } + ], + "source": [ + "from math import tan,acos\n", + "kw=100 #let kw=100kw\n", + "pf=0.6 #power foctor\n", + "pf2=0.8 #power factor\n", + "kvar=kw*tan(acos(pf))\n", + "kvar2=kw*tan(acos(pf2))\n", + "ckar=((kvar-kvar2))/10\n", + "ck=round(ckar)*10\n", + "print \" capacitor kVAR required for %dkW\\n load for same power factor improvement %dKVAR\"%(round(ckar),ck)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.20 Page 75" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " required capacitor kVAR 54KVAR \n", + " overall power factor 0.75 \n", + " it is seen that point d is on 0.75 line\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import tan,acos\n", + "p=160 #kva for transformer \n", + "pf=0.6 #power factor\n", + "el=96 #effective load\n", + "eli=120 #effective load increase\n", + "rc=eli*(tan(acos(pf))-tan(acos(eli/p)))\n", + "opf=eli/p\n", + "print \" required capacitor kVAR %dKVAR \\n overall power factor %.2f \\n it is seen that point d is on %.2f line\"%(rc,opf,opf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.21 page 76" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " initial kVA 1131.54kVA \n", + " initial annual fixed charges Rs90523.2 \n", + " after installation of synchronous motor reactive power of induction motor 800kVars\n", + " active power input of synchrounous motor 148.59kW\n", + " reactive power input to synchrounous motor -89.15KVAR \n", + " total kW 948.59KW \n", + " total kVars 710.85kVARS \n", + " total kVA 1185.38kVA \n", + " increase in KVA demand 53.84kVA\n", + " increase in annual fixed charges Rs4306.9 \n" + ] + } + ], + "source": [ + "from math import atan,tan,acos,pi,sqrt,sin\n", + "md=800 #maximum demand\n", + "pf=0.707 #power factor\n", + "c=80 #cost\n", + "p=200 #power\n", + "e=0.99#efficiency\n", + "pff=0.8 #fulload pf\n", + "ikva=md/pf\n", + "iafc=(round(ikva*100)*(c)/100)\n", + "rsm=ikva*pf\n", + "act=p*(0.7355)/e\n", + "at=-act*sin(acos(pff))\n", + "tkw=rsm+act\n", + "tkvr=rsm+at\n", + "tkva=(tkw**2+tkvr**2)**0.5\n", + "ikvad=tkva-ikva\n", + "infc=ikvad*c\n", + "print \" initial kVA %.2fkVA \\n initial annual fixed charges Rs%.1f \\n after installation of synchronous motor reactive power of induction motor %dkVars\\n active power input of synchrounous motor %.2fkW\\n reactive power input to synchrounous motor %.2fKVAR \\n total kW %.2fKW \\n total kVars %.2fkVARS \\n total kVA %.2fkVA \\n increase in KVA demand %.2fkVA\\n increase in annual fixed charges Rs%.1f \"%(ikva,iafc,rsm,act,at,tkw,tkvr,tkva,ikvad,infc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 4.22 Page 77" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " total energy requirement 1.20e+06kWH \n", + " maximum demand 375KVA\n", + "(a)HV supply\n", + " cost of HV equipment Rs1.875000e+05\n", + " interest and depreciation charges Rs22500 \n", + " energy received 1.263158e+06kWh\n", + " demand charges Rs18750 \n", + " energy charges Rs1.263000e+06 \n", + " total annual cost Rs1304250\n", + "(b) LV supply\n", + " demand charges Rs22500 \n", + " energy charges Rs1e+06 \n", + " total annual cost Rs1342500 \n", + " difference in annual cost Rs38250\n" + ] + } + ], + "source": [ + "t=16#working time\n", + "d=300 #working days\n", + "hv=1 ;hvmd=50 #tariff on high voltage\n", + "lv=1.1 ;lvmd=60 #tariff on low voltage\n", + "al=250#avarage load\n", + "pf=0.8#power factor\n", + "md=300 #maximum demand\n", + "hvec=500#cost of hv equipment\n", + "l=0.05 #loss of hv equipment\n", + "id=0.12 #interest and deprecistion\n", + "ter=al*md*t \n", + "mdv=md/pf\n", + "print \" total energy requirement %2.2ekWH \\n maximum demand %dKVA\"%(ter,mdv)\n", + "print \"(a)HV supply\"\n", + "chv=mdv*hvec\n", + "idc=chv*id\n", + "ere=ter/(1-l)\n", + "dch=mdv*hvmd\n", + "ech=round(ere*hv/1000)*1000\n", + "tanc=ech+dch+idc\n", + "print \" cost of HV equipment Rs%e\\n interest and depreciation charges Rs%d \\n energy received %ekWh\\n demand charges Rs%d \\n energy charges Rs%2e \\n total annual cost Rs%d\"%(chv,idc,ere,dch,ech,tanc)\n", + "print \"(b) LV supply\"\n", + "lvdc=mdv*lvmd\n", + "lvec=ter*lv\n", + "lvtac=lvec+lvdc\n", + "lvdac=lvtac-tanc\n", + "print \" demand charges Rs%d \\n energy charges Rs%2.e \\n total annual cost Rs%d \\n difference in annual cost Rs%d\"%(lvdc,lvec,lvtac,lvdac)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5_1.ipynb new file mode 100644 index 00000000..4a188815 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5_1.ipynb @@ -0,0 +1,413 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-5, Selection of Plant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 5.1 Page 87" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "depreciation rate 0.024393 \n", + "total fixed rate =0.139393\n", + "\n", + "annual fixed cost of a is Rs37636089 fuel cost of plan a is Rs18000000 and total cost of a is Rs56095689\n", + "\n", + "annual fixed cost of b is Rs43908771 fuel cost of plan b is Rs15750000 and total cost of b is Rs60118371\n", + "\n", + "annual fixed cost of c is Rs50181453 fuel cost of plan c is Rs13500000 and total cost of c is Rs64141053\n", + "\n", + "annual cost of purchasing electricty from utility is Rs600x25000+0.3x1.0e+08 is Rs45000000\n" + ] + } + ], + "source": [ + "aerpe=100*10**6\n", + "md=25*10**3\n", + "def ucc(dd,e):\n", + " u=600*dd+0.3*e #rs per kW\n", + " return u\n", + "sc=30*10**3\n", + "\n", + "a_cci=9000#per kW\n", + "a_shr=4000\n", + "b_cci=10500\n", + "b_shr=3500\n", + "c_cci=12000\n", + "c_shr=3000\n", + "salc=3000\n", + "sal=2280\n", + "sh=10\n", + "tax=0.04\n", + "ins=0.5*10**-2\n", + "cir=0.07\n", + "hv=5000#l cal per kg\n", + "fuc=225#rs per ton\n", + "acsnm=150000#for each plan\n", + "pl=20\n", + "dr=cir/((cir+1)**pl-1)\n", + "tfcr=cir+dr+tax+ins\n", + "print \"depreciation rate %f \\ntotal fixed rate =%f\"%(dr,tfcr)\n", + "a_ci=a_cci*sc ;b_ci=b_cci*sc ;c_ci=c_cci*sc\n", + "a_afca=a_ci*tfcr ;b_afca=b_ci*tfcr ;c_afca=c_ci*tfcr\n", + "a_afuc=a_shr*fuc*10**8/(hv*10**3)\n", + "b_afuc=b_shr*fuc*10**8/(hv*10**3)\n", + "c_afuc=c_shr*fuc*10**8/(hv*10**3)\n", + "ass=12*(salc+sh*sal)\n", + "tota=a_afca+ass+a_afuc+acsnm\n", + "totb=b_afca+ass+b_afuc+acsnm\n", + "totc=c_afca+ass+c_afuc+acsnm\n", + "print \"\\nannual fixed cost of a is Rs%d fuel cost of plan a is Rs%d and total cost of a is Rs%d\"%(a_afca,a_afuc,tota)\n", + "print \"\\nannual fixed cost of b is Rs%d fuel cost of plan b is Rs%d and total cost of b is Rs%d\"%(b_afca,b_afuc,totb)\n", + "print \"\\nannual fixed cost of c is Rs%d fuel cost of plan c is Rs%d and total cost of c is Rs%d\"%(c_afca,c_afuc,totc)\n", + "\n", + "ppt=ucc(md,aerpe)\n", + "print \"\\nannual cost of purchasing electricty from utility is Rs600x%d+0.3x%.1e is Rs%d\"%(md,aerpe,ppt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 5.2 Page 88" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "persent of worth factor is 0.094393\n", + "\n", + "annual cost excludinding interest and \n", + "depreciation of a \t\tRs30609600 \n", + "persent worth factor \t\t 0.094393 \n", + "present worth annual cost of a is Rs324278538 \n", + " investement of a is \tRs270000000 \n", + " total persent worth of a is \t594278538\n", + "\n", + "\n", + " annual cost excludinding interest and \n", + "depreciation of b \t\tRs30384600 \n", + "persent wort factor \t\t0.094393 \n", + "present worth annual cost of b is Rs321894885 \n", + " investement of b is \tRs315000000 \n", + " total persent worth of b is \t636894885\n", + "\n", + " \n", + "annual cost excludinding interest and \n", + "depreciation of c \t\tRs30159600 \n", + "persent wort factor \t\t0.094393 \n", + "present worth annual cost of c is Rs319511232 \n", + " investement of c is \tRs360000000 \n", + " total persent worth of c is \t679511232\n", + "\n", + " \n", + "annual cost excludinding interest and \n", + "depreciation of utility service \tRs45000000 \n", + "persent wort factor \t\t\t0.094393 \n", + "present worth annual cost of utility service is Rs476730641 \n", + " investement of utility service is \t\t nill \n", + " total persent worth of utility service is 476730641\n", + "\n", + "\n", + "\tsince the present worth of the utility service is the minimum,it is the obvious choice \n", + "out of the other plans,plan A is the best since it has the lowest present worth\n" + ] + } + ], + "source": [ + "aer=100*10**6\n", + "md=25*10**3\n", + "def ucc(dd,e):\n", + " u=600*dd+0.3*e #rs per kW\n", + " return u\n", + "p=30*10**3\n", + "ap=9000#per kW\n", + "ahr=4000\n", + "bp=10500\n", + "bhr=3500\n", + "cp=12000\n", + "Chr=3000\n", + "salc=3000\n", + "sal=2280\n", + "sh=10\n", + "t=0.04\n", + "i=0.5*10**-2\n", + "r=0.07\n", + "hv=5000#l cal per kg\n", + "fuc=225#rs per ton\n", + "mc=150000#for each plan\n", + "n=20\n", + "dr=r/((r+1)**n-1)\n", + "pwf=r/(1-(r+1)**(-n))\n", + "print \"persent of worth factor is %f\"%(pwf)\n", + "afc=ahr*fuc*10**8/(hv*10**3)\n", + "bfc=bhr*fuc*10**8/(hv*10**3)\n", + "cfc=Chr*fuc*10**8/(hv*10**3)\n", + "ass=12*(salc+sh*sal)\n", + "aaoc=ass+mc+afc\n", + "baoc=ass+mc+bfc\n", + "caoc=ass+mc+cfc\n", + "ai=ap*p ;bi=bp*p ;ci=cp*p\n", + "atac=(t+i)*ap*p+aaoc\n", + "btac=(i+t)*bp*p+baoc\n", + "ctac=(i+t)*cp*p+caoc\n", + "uts=ucc(md,aer)\n", + "apw=atac/pwf ;bpw=btac/pwf ;cpw=ctac/pwf; utss=uts/pwf\n", + "ta=apw+ai ;tb=bpw+bi; tc=cpw+ci\n", + "print \"\\nannual cost excludinding interest and \\ndepreciation of a \\t\\tRs%d \\npersent worth factor \\t\\t %f \\npresent worth annual cost of a is Rs%d \\n investement of a is \\tRs%d \\n total persent worth of a is \\t%d\"%(atac,pwf,apw,ai,ta)\n", + "print \"\\n\\n annual cost excludinding interest and \\ndepreciation of b \\t\\tRs%d \\npersent wort factor \\t\\t%f \\npresent worth annual cost of b is Rs%d \\n investement of b is \\tRs%d \\n total persent worth of b is \\t%d\"%(btac,pwf,bpw,bi,tb)\n", + "print \"\\n \\nannual cost excludinding interest and \\ndepreciation of c \\t\\tRs%d \\npersent wort factor \\t\\t%f \\npresent worth annual cost of c is Rs%d \\n investement of c is \\tRs%d \\n total persent worth of c is \\t%d\"%(ctac,pwf,cpw,ci,tc)\n", + "print \"\\n \\nannual cost excludinding interest and \\ndepreciation of utility service \\tRs%d \\npersent wort factor \\t\\t\\t%f \\npresent worth annual cost of utility service is Rs%d \\n investement of utility service is \\t\\t nill \\n total persent worth of utility service is %d\"%(uts,pwf,utss,utss)\n", + "print \"\\n\\n\\tsince the present worth of the utility service is the minimum,it is the obvious choice \\nout of the other plans,plan A is the best since it has the lowest present worth\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 5.3 Page 89" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " plan A is \t\tRs.801366999 \n", + " plan B is \t\tRs.858833880 \n", + " planC is \t\tRs.916300760 \n", + "utility services is \tRs642887142\n", + "the utility service has the lowest capitalized cost and is the obvious choice. Out of the other plans,plan A is the best\n" + ] + } + ], + "source": [ + "aer=100*10**6 #from example 5.1\n", + "md=25*10**3\n", + "def ucc(dd,e):\n", + " u=600*dd+0.3*e #rs per kW\n", + " return u\n", + "p=30*10**3\n", + "ap=9000#per kW\n", + "ahr=4000\n", + "bp=10500\n", + "bhr=3500\n", + "cp=12000\n", + "Chr=3000\n", + "salc=3000\n", + "sal=2280\n", + "sh=10\n", + "t=0.04\n", + "i=0.5*10**-2\n", + "r=0.07\n", + "hv=5000#l cal per kg\n", + "fuc=225#rs per ton\n", + "mc=150000#for each plan\n", + "n=20\n", + "dr=r/((r+1)**n-1)\n", + "pwf=r/(1-(r+1)**(-n))\n", + "uts=ucc(md,aer)\n", + "afc=ahr*fuc*10**8/(hv*10**3)\n", + "bfc=bhr*fuc*10**8/(hv*10**3)\n", + "cfc=Chr*fuc*10**8/(hv*10**3)\n", + "ass=12*(salc+sh*sal)\n", + "aaoc=ass+mc+afc\n", + "baoc=ass+mc+bfc\n", + "caoc=ass+mc+cfc\n", + "aw=(((dr+t+i)*ap*p+aaoc)/r)+ap*p\n", + "bw=(((dr+t+i)*bp*p+baoc)/r)+bp*p\n", + "cw=(((dr+t+i)*cp*p+caoc)/r)+cp*p\n", + "utt=uts/r+p\n", + "print \"\\n plan A is \\t\\tRs.%d \\n plan B is \\t\\tRs.%d \\n planC is \\t\\tRs.%d \\nutility services is \\tRs%d\"%(aw,bw,cw,utt)\n", + "print \"the utility service has the lowest capitalized cost and is the obvious choice. Out of the other plans,plan A is the best\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 5.4 page 90" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "for (a)\n", + "total annual cost Rs.30609600\n", + "investement Rs.270000000\n", + "annuity Rs35390400 \n", + "ratio of a and b 0.131076 \n", + "rate of return 11.4percent\n", + "for (b)\n", + "total annual cost Rs.30384600\n", + "investement Rs.315000000\n", + "annuity Rs35615400 \n", + "ratio of a and b 0.113065 \n", + "rate of return 8.9percent\n", + "for (c)\n", + "total annual cost Rs.30159600\n", + "investement Rs.360000000\n", + "annuity Rs35840400 \n", + "ratio of a and b 0.099557 \n", + "rate of return 7.6percent\n", + "\n", + "saving in annual cost excluding interest and depreciation B over A \t 225000 C over A \t 225000\n", + "\n", + "additional investement P is \t\t\t\tB over A \t 45000000 C over A \t 45000000\n", + "\n", + "rate of saving to investement \t\t\t\tAoverB \t\t 0.005000 BoverC \t0.005000\n", + "\n", + "rate of return on capital investement\n", + " evidently plan A is the best \t\t\t\tA over B \tNegative B over C \tNegative\n" + ] + } + ], + "source": [ + "from numpy import arange\n", + "aer=100*10**6\n", + "md=25*10**3\n", + "utse=6600*10**4\n", + "p=30*10**3\n", + "ap=9000#per kW\n", + "ahr=4000\n", + "bp=10500\n", + "bhr=3500\n", + "cp=12000\n", + "Chr=3000\n", + "\n", + "salc=3000\n", + "sal=2280\n", + "sh=10\n", + "t=0.04\n", + "i=0.5*10**-2\n", + "r=0.07\n", + "hv=5000#l cal per kg\n", + "fuc=225#rs per ton\n", + "mc=150000#for each plan\n", + "n=20\n", + "dr=r/((r+1)**n-1)\n", + "pwf=r/(1-(r+1)**(-n))\n", + "afc=ahr*fuc*10**8/(hv*10**3)\n", + "bfc=bhr*fuc*10**8/(hv*10**3)\n", + "cfc=Chr*fuc*10**8/(hv*10**3)\n", + "ass=12*(salc+sh*sal)\n", + "aaoc=ass+mc+afc\n", + "baoc=ass+mc+bfc\n", + "caoc=ass+mc+cfc\n", + "\n", + "sol_a_totalannualcost=(t+i)*ap*p+aaoc\n", + "sol_b_totalannualcost=(i+t)*bp*p+baoc\n", + "sol_c_totalannualcost=(i+t)*cp*p+caoc\n", + "\n", + "sol_a_pinvestement=ap*p \n", + "sol_b_pinvestement=bp*p \n", + "sol_c_pinvestement=cp*p\n", + "\n", + "sol_a_annuity=utse-sol_a_totalannualcost \n", + "sol_b_annuity=utse-sol_b_totalannualcost \n", + "sol_c_annuity=utse-sol_c_totalannualcost \n", + "\n", + "sol_a_ratioaandp=sol_a_annuity/sol_a_pinvestement \n", + "sol_b_ratioaandp=sol_b_annuity/sol_b_pinvestement \n", + "sol_c_ratioaandp=sol_c_annuity/sol_c_pinvestement \n", + "def alt(r):\n", + " R=abs(r/(1-wr))\n", + " return R\n", + "ra=round((sol_a_ratioaandp)*100)\n", + "rb=round((sol_b_ratioaandp)*100)\n", + "rc=round((sol_c_ratioaandp)*100)\n", + "\n", + "for x in arange(-0.12,-0.07,0.001): #for itration\n", + " wr=(1+x)**n\n", + " re=alt(x)\n", + " re=(round(re*100))\n", + " if re==ra :\n", + " sol_a_return=(abs(x)*100)\n", + " #end\n", + " if re==rb :\n", + " sol_b_return=(abs(x)*100)\n", + " #end\n", + " if re==rc :\n", + " sol_c_return=(abs(x)*100)\n", + " #end\n", + " #end\n", + "print \"for (a)\"\n", + "print \"total annual cost Rs.%d\\ninvestement Rs.%d\\nannuity Rs%d \\nratio of a and b %f \\nrate of return %.1fpercent\"%(sol_a_totalannualcost,sol_a_pinvestement,sol_a_annuity,sol_a_ratioaandp,sol_a_return)\n", + "print \"for (b)\"\n", + "print \"total annual cost Rs.%d\\ninvestement Rs.%d\\nannuity Rs%d \\nratio of a and b %f \\nrate of return %.1fpercent\"%(sol_b_totalannualcost,sol_b_pinvestement,sol_b_annuity,sol_b_ratioaandp,sol_b_return)\n", + "print \"for (c)\"\n", + "print \"total annual cost Rs.%d\\ninvestement Rs.%d\\nannuity Rs%d \\nratio of a and b %f \\nrate of return %.1fpercent\"%(sol_c_totalannualcost,sol_c_pinvestement,sol_c_annuity,sol_c_ratioaandp,sol_c_return)\n", + "sb=sol_b_annuity-sol_a_annuity\n", + "sc=sol_c_annuity-sol_b_annuity\n", + "ib=sol_b_pinvestement-sol_a_pinvestement\n", + "ic=sol_b_pinvestement-sol_a_pinvestement\n", + "rcb=sb/ib; rcc=sc/ic \n", + "print \"\\nsaving in annual cost excluding interest and depreciation B over A \\t %d C over A \\t %d\"%(sb,sc)\n", + "print \"\\nadditional investement P is \\t\\t\\t\\tB over A \\t %d C over A \\t %d\"%(ib,ic)\n", + "print \"\\nrate of saving to investement \\t\\t\\t\\tAoverB \\t\\t %f BoverC \\t%f\"%(rcb,rcc)\n", + "print \"\\nrate of return on capital investement\\n evidently plan A is the best \\t\\t\\t\\tA over B \\tNegative B over C \\tNegative\"" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7_1.ipynb new file mode 100644 index 00000000..5639c996 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7_1.ipynb @@ -0,0 +1,68 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:4bf0487ef61060d74c76e88260cd9371bbf64a818ec5d960914c1be96c7eb7a6" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Ch-7, Thermal Power Plants" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "example7.1 Page 127" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "pow=100*10**6\n", + "calv=6400\n", + "threff=0.3\n", + "elceff=0.92\n", + "kcal=0.239*10**-3\n", + "eo=pow*3600\n", + "ei=eo/(threff*elceff)\n", + "eikc=ei*kcal\n", + "colreq=eikc/6400\n", + "print \" energy output in 1 hour is %eWatt.sec \"%eo\n", + "print \"\\n energy input in one hour is %ejoules Watt.sec\\n\"%ei\n", + "print \" energy input in 1 hour is %ekcal.\"%eikc\n", + "print \"\\n coal required is %.3fkg per hour\"%colreq" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " energy output in 1 hour is 3.600000e+11Watt.sec \n", + "\n", + " energy input in one hour is 1.304348e+12joules Watt.sec\n", + "\n", + " energy input in 1 hour is 3.117391e+08kcal.\n", + "\n", + " coal required is 48709.239kg per hour\n" + ] + } + ], + "prompt_number": 9 + } + ], + "metadata": {} + } + ] +} diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter8_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter8_1.ipynb new file mode 100644 index 00000000..47a06040 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter8_1.ipynb @@ -0,0 +1,430 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-8, Hydro-Electric Plants" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 8.1 Page 134" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "power developed by hydro plant is 176.52 MW\n" + ] + } + ], + "source": [ + "h=100 #given height\n", + "q=200 #discharge\n", + "e=0.9 #efficiency\n", + "p=(735.5/75)*q*h*e\n", + "print \"\\npower developed by hydro plant is %0.2f MW\"%(p/1e3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 8.2 page 134" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "average rate of inflow is 1000cu-m/sec\n", + "\n", + "power developed is 1250.35 MW\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6ff866bf90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hydrograph is ploted in figure\n", + "\n", + "storage capacity of given plant is 3000sec-m-month\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n", + "\n", + "flow=[0, 1000, 800, 600 ,400 ,400 ,1200, 2400 ,2400, 1000 ,400 ,400 ,1000] #flow in matrix from in the order of months\n", + "y=range(0,13)\n", + "yy = [(0,1),(1,2),(2,3),(3,4),(4,5)]\n", + "xx = [(0,1),(1,2),(2,3),(3,4),(4,5)]\n", + "h=150\n", + "e=0.85\n", + "avg=sum(flow)/12\n", + "print \"\\naverage rate of inflow is %dcu-m/sec\"%(avg)\n", + "p=(735.5/75)*avg*h*e\n", + "print \"\\npower developed is %0.2f MW\"%(p/1e3)\n", + "plot(y,flow)\n", + "title('hydrograph')\n", + "xlabel('months')\n", + "ylabel('run in cu-m/sec')\n", + "show()\n", + "print \"hydrograph is ploted in figure\"\n", + "flow1 = range(0,12)\n", + "for x in range(0,12):\n", + " t=flow[x]\n", + " a=avg\n", + " if t<a or t==avg:\n", + " t=0\n", + " else:\n", + " t=t-1000\n", + " #end\n", + " flow1[x]=t \n", + " #end\n", + "sto=sum(flow1)\n", + "print \"\\nstorage capacity of given plant is %dsec-m-month\"%(sto)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 8.3 Page 135" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "storage capacity of plant is -11934sec-m-month\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6ff864d990>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n", + "\n", + "flow=[1500, 1000, 500, 500, 500, 1200, 2900, 2900, 1000, 400 ,600 ,1600]\n", + "cod=1000#constant demand\n", + "#plot2d2(flow)\n", + "plot(flow)\n", + "title('hydrograph for exp 8.3')\n", + "xlabel('months')\n", + "ylabel('run off in m**3/sec')\n", + "avg=sum(flow)/12\n", + "if cod<avg:\n", + " flow1 = range(0,6)\n", + " for x in range(0,6):\n", + " t=flow[x]\n", + " if t>cod|t==avg:\n", + " t=0\n", + " else:\n", + " t=cod-t\n", + " #end \n", + " flow1[x]=t \n", + " #end\n", + " \n", + " else:\n", + " flow = range(0,12)\n", + " flow1 = range(0,12)\n", + " for x in range(0,12):\n", + " t=flow[x]\n", + " a=cod\n", + " if t>a|t==avg:\n", + " t=0\n", + " else:\n", + " t=t-cod\n", + " #end\n", + " flow1[x]=t \n", + " #end\n", + "#end\n", + "\n", + "sto=sum(flow1)\n", + "print \"storage capacity of plant is %dsec-m-month\"%(sto)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 8.4 Page 135" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "storage capacity of plant is -5149sec-m-month\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f70102c80d0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n", + "\n", + "flow=[1500, 1000, 500, 500, 500, 1200, 2900, 2900, 1000, 400 ,600 ,1600]\n", + "cod=1000#constant demand\n", + "#[m n]=size(flow)len\n", + "n=len(flow)\n", + "mf = range(0,n)\n", + "mf[0]=1500\n", + "for i in range(2,n):\n", + " mf[i]=mf[i-1]+flow[i]\n", + "\n", + "plot(mf)\n", + "from numpy import arange\n", + "dd= arange(1,mf[n-1],cod)\n", + "\n", + "avg=sum(flow)/12\n", + "if cod<avg:\n", + " for x in range(0,6):\n", + " t=flow[x]\n", + " if t>cod|t==avg:\n", + " t=0\n", + " else:\n", + " t=cod-t\n", + " #end\n", + " flow1[x]=t \n", + " #end\n", + " \n", + "else: \n", + " for x in range(0,12):\n", + " t=flow[x]\n", + " a=cod\n", + " if t>a|t==avg:\n", + " t=0\n", + " else:\n", + " t=t-cod\n", + " #end\n", + " flow1[x]=t \n", + " #end\n", + "#end\n", + "\n", + "sto=sum(flow1)\n", + "print \"storage capacity of plant is %dsec-m-month\"%(sto)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 8.5 Page 154" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "load duration data is as under\n", + "[0, 20, 40, 50, 80, [], 100, [], 120, 150, 200, 250, 0, 1, 2, 3, 5, [], 7, [], 8, 9, 10, 11]\n", + "(a)\n", + "meanflow is 459.104938m**3-sec\n", + "(b)\n", + "power delevered in 36018312kW=36018.313MW\n" + ] + }, + { + "data": { + "image/png": "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\nJg4AAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6ff835f690>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show, subplot\n", + "flow=[80, 50 ,40 ,20 ,0 ,100, 150 ,200 ,250 ,120 ,100, 80]\n", + "h=100; e=80\n", + "\n", + "subplot(211)\n", + "plot(flow)\n", + "title('hydrograph')\n", + "xlabel('months')\n", + "ylabel('run off,millon m**3/month' )\n", + "fd=sorted(flow)\n", + "\n", + "subplot(212)\n", + "plot(fd)\n", + "title('flow duration')\n", + "xlabel('months')\n", + "ylabel('run off')\n", + "\n", + "t= range(0,12)\n", + "for x in range(1,10):\n", + " d=fd[x]\n", + " ad=fd[(x-1)]\n", + " if d==ad:\n", + " t[x]=[]\n", + " t[x-1]=t[x-1]+1\n", + " fd[x]=[]\n", + " #end\n", + "#end\n", + "ffw=fd+t\n", + "print \"load duration data is as under\"\n", + "print ffw\n", + "mf=sum(flow)*10**6/(30*24*3600)\n", + "print \"(a)\"\n", + "print \"meanflow is %fm**3-sec\"%(mf)\n", + "print \"(b)\"\n", + "p=(735.5/75)*mf*h*e\n", + "print \"power delevered in %dkW=%.3fMW\"%(p,p/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 8.6 Page 156" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "water used is \t\t31.709792m**3/sec\n", + "\n", + "effective head is \t200m\n", + "\n", + "power generated is \t53175.418569kW =\t53.175419MW\n", + "\n", + "peak load is \t\t70.900558Mw \n", + "therefore the MW rating of station is \t70.900558MW\n", + "\n", + "for a head above 200m pelton turbine is suitable,\n", + "francis turbine is suitable in the range of 30m-200m.,\n", + "however pelton is most suitable\n" + ] + } + ], + "source": [ + "mh=205#mean height\n", + "a=1000*10**6#in miters\n", + "r=1.25#annual rain fall\n", + "er=0.8#efficiency\n", + "lf=0.75#load factor\n", + "hl=5#head loss\n", + "et=0.9#efficiency of turbine\n", + "eg=0.95#efficiency of generator\n", + "wu=a*r*er/(365*24*3600)\n", + "print \"\\nwater used is \\t\\t%fm**3/sec\"%(wu)\n", + "eh=mh-hl\n", + "print \"\\neffective head is \\t%dm\"%(eh)\n", + "p=(735.5/75)*(wu*eh*et*eg)\n", + "print \"\\npower generated is \\t%fkW =\\t%fMW\"%(p,p/1000)\n", + "pl=p/lf\n", + "print \"\\npeak load is \\t\\t%fMw \\ntherefore the MW rating of station is \\t%fMW\"%(pl/1000,pl/1000)\n", + "if eh<=200:\n", + " print \"\\nfor a head above 200m pelton turbine is suitable,\\nfrancis turbine is suitable in the range of 30m-200m.,\\nhowever pelton is most suitable\"\n", + "else:\n", + " print \"only pelton turbine is most suitable\"" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9_1.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9_1.ipynb new file mode 100644 index 00000000..ae702219 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9_1.ipynb @@ -0,0 +1,298 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-9, Nuclear Power Stations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 9.1 Page 169" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "energy equivalent of 1 gram is 25000000kWh\n" + ] + } + ], + "source": [ + "m=1*10**-3#mass of 1 grm in kgs\n", + "c=3*10**8\n", + "e=m*c**2 \n", + "E=e/(1000*3600)\n", + "print \"energy equivalent of 1 gram is %dkWh\"%E" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 9.2 Page 169" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " energy evalent in joules is 1.494000e-10joules \n", + " energy equvalent in Mev is 932MeV \n", + " hense shown\n" + ] + } + ], + "source": [ + "amu=1.66*10**-27#mass equvalent in kgs\n", + "c=3*10**8\n", + "j=6.242*10**12\n", + "e=amu*c**2\n", + "E=e*j \n", + "print \" energy evalent in joules is %ejoules \\n energy equvalent in Mev is %dMeV \\n hense shown\"%(e,E)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 9.3 Page 169" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\t(a)\n", + " mass defect is for hydrogen 0.002390amu \n", + " total binding energy for hydrogens 2.225090Mev \n", + " average binding energy for hydrogen is 1.112545MeV\n", + "\n", + "\t(b)\n", + " mass defect is for nickel 0.553515amu \n", + " total binding energy for nickel is 515.322465Mev \n", + " average binding energy for nickelis 8.734279MeV\n", + "\n", + "\t(c)\n", + " mass defect of uranium is 1.915095amu \n", + " total binding energy uranium is 1782.953445Mev \n", + " average binding energy uranium is 7.587036MeV\n" + ] + } + ], + "source": [ + "hm=2.0141\n", + "hp=1.007825\n", + "hn=1.008665\n", + "nm=58.9342\n", + "np=28\n", + "nn=59\n", + "um=235.0439\n", + "up=92\n", + "un=235\n", + "hmd=hp+hn-hm ;nmd=np*hp+(nn-np)*hn-nm ;umd=up*hp+(un-up)*hn-um \n", + "hbe=931*hmd ;nbe=931*nmd; ube=931*umd \n", + "ahbe=hbe/2 ;anbe=nbe/nn ;aube=ube/un \n", + "print \"\\t(a)\\n mass defect is for hydrogen %famu \\n total binding energy for hydrogens %fMev \\n average binding energy for hydrogen is %fMeV\"%(hmd,hbe,ahbe)\n", + "print \"\\n\\t(b)\\n mass defect is for nickel %famu \\n total binding energy for nickel is %fMev \\n average binding energy for nickelis %fMeV\"%(nmd,nbe,anbe)\n", + "print \"\\n\\t(c)\\n mass defect of uranium is %famu \\n total binding energy uranium is %fMev \\n average binding energy uranium is %fMeV\"%(umd,ube,aube)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 9.4 Page 170" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(lamda) disintegrations per sec is 3.095054e-17bq \n", + " initial activity is lamda*na is 5.261592e+07bq \n", + " final number of atoms is 6.405500e+23atoms\n" + ] + } + ], + "source": [ + "from math import exp\n", + "no=1.7*10**24\n", + "hl=7.1*10**8\n", + "t=10*10**8\n", + "lm=0.693/(hl)\n", + "lmda=lm/(8760*3600)\n", + "ia=lmda*no\n", + "n=no*(exp(-lm*t))\n", + "print \"(lamda) disintegrations per sec is %ebq \\n initial activity is lamda*na is %ebq \\n final number of atoms is %eatoms\"%(lmda,ia,n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 9.5 Page 170" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 watt power requvires 2.678400e+15fussions per day \n", + " number of atoms in 5 gram is 1.281489e+22atoms \n", + " power is 4.784533e+06MW \n" + ] + } + ], + "source": [ + "um=5\n", + "owp=2.6784*10**15\n", + "an=6.023*10**23\n", + "na1g=an/235\n", + "na5g=an*5/235\n", + "p=na5g/owp\n", + "print \" 1 watt power requvires %efussions per day \\n number of atoms in 5 gram is %eatoms \\n power is %eMW \"%(owp,na5g,p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 9.6 Page 171" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total energy input 7.410960e+15Watt sec \n", + " energy input is 2.245745e+16Watt-sec\n", + " total number of fissions required is 6.961811e+26fissions \n", + " fuel required is 2.716274e+05 grams 271kg\n" + ] + } + ], + "source": [ + "pp=235\n", + "pe=0.33\n", + "lf=1\n", + "teo=pp*8760*3600*10**6\n", + "ei=teo/pe\n", + "nfr=3.1*10**10#fessions required\n", + "tnfr=nfr*ei\n", + "t1gu=2.563*10**21 #total uranium atoms in 1 grm\n", + "fure=tnfr/t1gu\n", + "print \"total energy input %eWatt sec \\n energy input is %eWatt-sec\\n total number of fissions required is %efissions \\n fuel required is %e grams %dkg\"%(teo,ei,tnfr,fure,fure/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 9.7 Page 171" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)\n", + "ratio of energies per collision is 1.171043\n", + "(b)\n", + "patio of iniial to final energies is 3.000000e+07 \n", + "logarithemic decrement in energy is 17.216708 \n", + "number of collisions is 109\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log,exp\n", + "en=3*10**6\n", + "a=12\n", + "fen=0.1\n", + "Es=2/(12+2/3)\n", + "re=exp(Es)\n", + "print \"(a)\\nratio of energies per collision is %f\"%(re)\n", + "rietf=en/fen\n", + "ldie=log(rietf)\n", + "nc=ldie/Es\n", + "print \"(b)\\npatio of iniial to final energies is %e \\nlogarithemic decrement in energy is %f \\nnumber of collisions is %d\"%(rietf,ldie,nc)" + ] + } + ], + "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/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve_1.png b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve_1.png Binary files differnew file mode 100644 index 00000000..9993d13d --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve_1.png diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2_1.png b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2_1.png Binary files differnew file mode 100644 index 00000000..be07af4b --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2_1.png diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur_1.png b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur_1.png Binary files differnew file mode 100644 index 00000000..c21d78a0 --- /dev/null +++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur_1.png |