summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrupti Kini2016-02-08 23:30:15 +0600
committerTrupti Kini2016-02-08 23:30:15 +0600
commitee3f9ba4c4e92a8c0df92e30b48e042d7cd5324c (patch)
tree0c47f6e8c6734af3310bc9d0cd06ae816513f618
parentbcae634a8e0a602f72c22933377bb13fdfe8361c (diff)
downloadPython-Textbook-Companions-ee3f9ba4c4e92a8c0df92e30b48e042d7cd5324c.tar.gz
Python-Textbook-Companions-ee3f9ba4c4e92a8c0df92e30b48e042d7cd5324c.tar.bz2
Python-Textbook-Companions-ee3f9ba4c4e92a8c0df92e30b48e042d7cd5324c.zip
Added(A)/Deleted(D) following books
A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/README.txt A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chaper12.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter8.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9.ipynb A Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve.png A Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2.png A Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur.png A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter11_Control_of_DC_Motors.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter12_Controllers_and_Their_Optimisation.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter13_Choppers_and_Transportation_system_Application.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter15_The_AC_motor_control.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter16_Faults_and_Protection.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter3_Fabrication_and_Thermal_characteristics.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter4_Series_and_Parallel_Connection_of_Thyristors.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter5_Line_Commutated_converters.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter7_Inverter_Circuits.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter8_Harmonic_and_PowerFactor_with_the_converter_system.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter_2_The_Device_.ipynb A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/11.png A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/13.png A Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/8.png A Turbomachines_by_A._V._Arasu/README.txt A sample_notebooks/UmangAgarwal/Sample_Notebook_Umang.ipynb A "sample_notebooks/Vishwajith VRao/Chapter1_1.ipynb"
-rw-r--r--Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/README.txt10
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chaper12.ipynb343
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb674
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11.ipynb140
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13.ipynb522
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14.ipynb907
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15.ipynb495
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17.ipynb359
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2.ipynb935
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20.ipynb158
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23.ipynb177
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3.ipynb525
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4.ipynb1202
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5.ipynb406
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7.ipynb68
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter8.ipynb416
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9.ipynb296
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve.pngbin0 -> 27727 bytes
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2.pngbin0 -> 18008 bytes
-rw-r--r--Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur.pngbin0 -> 14511 bytes
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter11_Control_of_DC_Motors.ipynb402
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter12_Controllers_and_Their_Optimisation.ipynb362
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter13_Choppers_and_Transportation_system_Application.ipynb304
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter15_The_AC_motor_control.ipynb623
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter16_Faults_and_Protection.ipynb281
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter3_Fabrication_and_Thermal_characteristics.ipynb213
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter4_Series_and_Parallel_Connection_of_Thyristors.ipynb106
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter5_Line_Commutated_converters.ipynb349
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter7_Inverter_Circuits.ipynb138
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter8_Harmonic_and_PowerFactor_with_the_converter_system.ipynb457
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter_2_The_Device_.ipynb250
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/11.pngbin0 -> 366080 bytes
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/13.pngbin0 -> 77888 bytes
-rw-r--r--Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/8.pngbin0 -> 395823 bytes
-rw-r--r--Turbomachines_by_A._V._Arasu/README.txt10
-rw-r--r--sample_notebooks/UmangAgarwal/Sample_Notebook_Umang.ipynb163
-rw-r--r--sample_notebooks/Vishwajith VRao/Chapter1_1.ipynb2750
37 files changed, 14041 insertions, 0 deletions
diff --git a/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/README.txt b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/README.txt
new file mode 100644
index 00000000..531d9aa3
--- /dev/null
+++ b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Saleem Ahmed
+Course: btech
+College/Institute/Organization: UKTU
+Department/Designation: EN
+Book Title: Generation Distribution and Utilization of Electrical Energy
+Author: C. L. Wadhwa
+Publisher: NEW AGE INTERNATIONAL PUBLISHERS LTD.-NEW DELHI
+Year of publication: 2010
+Isbn: 9788122428216
+Edition: 3 \ No newline at end of file
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chaper12.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chaper12.ipynb
new file mode 100644
index 00000000..e57b4fb8
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chaper12.ipynb
@@ -0,0 +1,343 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b9d84b1a6a0dbb810fc6a5bae05f1ff37f6ce977a8c979c290e417ab5d5dbdef"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-12, Parallel Operation of alternators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.1 Page 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.2 page 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.3 Page 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import cos\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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current is 10.37-4.56iA =11.33A\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.4 Page 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.5 Page 247"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.6 page 248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " synchronous power 502.7kW per mech.degree \n",
+ " synchrounous torque 6666N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.7 page 248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb
new file mode 100644
index 00000000..cdaa827a
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter10.ipynb
@@ -0,0 +1,674 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b75473f9f4345efd6ca0ec6782f30e07c9e95389ed3851945260a1b3129ea6b2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-10, Economic Operations of Steam Plants"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.2 Page 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mp=250 #from example 10.1\n",
+ "def unit1(p1):\n",
+ " ic=0.2*p1+30\n",
+ " return ic\n",
+ "def unit2(p2):\n",
+ " ic=0.15*p2+40\n",
+ " return ic\n",
+ "mil=20\n",
+ "ttt=225\n",
+ "def un(ic):\n",
+ " p1=(ic-30)/0.2\n",
+ " p2=(ic-40)/0.15\n",
+ " return [p1, p2]\n",
+ "from numpy import arange\n",
+ "for x in arange(40,61,5):\n",
+ " [e,r]=un(x)\n",
+ " if ttt==e+r:\n",
+ " print \"for the same incremental costs unit1 should supply %dMW and unit 2 shold supply %dMW,for equal sharing each unit should supply %3.1fMW\"%(e,r,ttt/2)\n",
+ " break\n",
+ " \n",
+ "\n",
+ "opo=ttt/2\n",
+ "from sympy.mpmath import quad\n",
+ "u1=quad(unit1,[opo,e])\n",
+ "u2=quad(unit2,[r,opo])\n",
+ "uuu=(u1+u2)*8760\n",
+ "print \"\\nyearly extra cost is (%3.2f-%3.2f)8760 =%dper year\"%(u1,u2,uuu)\n",
+ "print \"\\nthis if the load is equally shared by the two units an extra cost of Rs.%d will be incurred.in other words economic loading would result in saving of Rs.%dper year\"%(uuu,uuu)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for the same incremental costs unit1 should supply 125MW and unit 2 shold supply 100MW,for equal sharing each unit should supply 112.0MW\n",
+ "\n",
+ "yearly extra cost is (698.10-670.80)8760 =11991564per year\n",
+ "\n",
+ "this if the load is equally shared by the two units an extra cost of Rs.11991564 will be incurred.in other words economic loading would result in saving of Rs.11991564per year\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.3 Page 198"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def unit1(p1):\n",
+ " ic=0.2*p1+30\n",
+ " return ic\n",
+ "def unit2(p2):\n",
+ " ic=0.15*p2+40\n",
+ " return ic\n",
+ "tol=400\n",
+ "pd=50\n",
+ "u1c=5\n",
+ "u2c=1/0.15#from example10_1\n",
+ "p1pd=u1c/(u1c+u2c)\n",
+ "p2pd=u2c/(u1c+u2c)\n",
+ "pi=p1pd*pd\n",
+ "pt=p2pd*pd\n",
+ "print \"p1=%1.5fMW\\np2=%1.5fMW\"%(pi,pt)\n",
+ "p11=pi+tol/2\n",
+ "p22=pt+tol/2\n",
+ "up1=unit1(p11)\n",
+ "up2=unit2(p22)\n",
+ "print \"\\nthe total load on 2 units would be %3.2fMW and %3.2fMW respectevily. it is easy to check that incremental cost will be same for two units at these loading.\\n incremental cost of unit1 is %3.2fRs.MW,\\n incremantal cost of unit 2 is %3.2fRs./MW\"%(p11,p22,up1,up2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p1=21.42857MW\n",
+ "p2=28.57143MW\n",
+ "\n",
+ "the total load on 2 units would be 221.43MW and 228.57MW respectevily. it is easy to check that incremental cost will be same for two units at these loading.\n",
+ " incremental cost of unit1 is 74.29Rs.MW,\n",
+ " incremantal cost of unit 2 is 74.29Rs./MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example10.5 Page 200"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "i1=0.8\n",
+ "i2=1.0\n",
+ "l1=complex(0.04,0.12)\n",
+ "l2=complex(0.03,0.1)\n",
+ "l3=complex(0.03,0.12)\n",
+ "vl=1\n",
+ "\n",
+ "i3=i1+i2\n",
+ "v1=vl+i3*(l1)+i1*(l2)\n",
+ "v2=vl+i3*(l1)+i2*(l3)\n",
+ "p1=(i1*v1).real\n",
+ "p2=(i2*v2).real\n",
+ "cos1=(v1).real/abs(v1)\n",
+ "cos2=(v2).real/abs(v2)\n",
+ "b11=abs(((l1).real+(l2).real)/(v1**2*cos1**2))\n",
+ "b22=abs(((l1).real+(l3).real)/(v2**2*cos2**2))\n",
+ "b12=abs(((l1).real/(v1*v2*cos1*cos2)))\n",
+ "pl=(p1**2)*b11+(p2**2)*b22+2*p1*p2*b12\n",
+ "print \"i1+i3=%dpu\\nv1=%1.3f+%1.3fp.u\\nv2=%1.3f+%1.3fp.u\\np1=%1.3fp.u\\np2=%1.3fp.u\\ncos(ph1)=%1.3f\\ncos(ph2)=%1.3f\\nb11=%1.5fp.u\\nb22=%1.5fp.u\\nb12=%1.5fp.u\\npl=%1.6fp.u\"%(i3,v1.real,(v1).imag,v2.real,(v2).imag,p1,p2,cos1,cos2,b11,b22,b12,pl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i1+i3=1pu\n",
+ "v1=1.096+0.296p.u\n",
+ "v2=1.102+0.336p.u\n",
+ "p1=0.877p.u\n",
+ "p2=1.102p.u\n",
+ "cos(ph1)=0.965\n",
+ "cos(ph2)=0.957\n",
+ "b11=0.05827p.u\n",
+ "b22=0.05764p.u\n",
+ "b12=0.03312p.u\n",
+ "pl=0.178800p.u\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example10.7 Page 206"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import atan, cos\n",
+ "za=complex(0.03,0.09)\n",
+ "zb=complex(0.1,0.3)\n",
+ "zc=complex(0.03,0.09)\n",
+ "zd=complex(0.04,0.12)\n",
+ "ze=complex(0.04,0.12)\n",
+ "ia=complex(1.5,-0.4)\n",
+ "ib=complex(0.5,-0.2)\n",
+ "ic=complex(1,-0.1)\n",
+ "id=complex(1,-0.2)\n",
+ "ie=complex(1.5,-0.3)\n",
+ "il1=.4\n",
+ "il2=.6\n",
+ "na1=1 ;nb1=0.6; nc1=0; nd1=.4; ne1=.6\n",
+ "na2=0 ;nb2=-0.4; nc2=1 ;nd2=.4; ne2=.6\n",
+ "vl=1\n",
+ "#some thing is messed\n",
+ "v1=vl+za*ia\n",
+ "v2=vl-zb*ib+zc*ic\n",
+ "a1=atan((ia).imag/(ia).real)\n",
+ "a2=atan((ic).imag/(ic).real)\n",
+ "cosa=cos(a1-a2)\n",
+ "cosph1=cos(atan((v1).imag/(v1).real)-a1)\n",
+ "cosph2=cos(atan((v2).imag/(v2).real)-a2)\n",
+ "b11=(na1**2*(za).real+nb1**2*(zb).real+nc1**2*(zc).real+nd1**2*(zd).real+ne1**2*(ze).real)/(abs(v1)**2*cosph1)\n",
+ "b22=(na2**2*(za).real+nb2**2*(zb).real+nc2**2*(zc).real+nd2**2*(zd).real+ne2**2*(ze).real)/((abs(v2)**2)*cosph2)\n",
+ "bb12=(abs(v1)*abs(v2)*cosph1*cosph2)\n",
+ "ab12=(na2*na1*(za).real+nb2*nb1*(zb).real+nc1*nc2*(zc).real+nd2*nd1*(zd).real+ne2*ne1*0.03)\n",
+ "b12=cosa*ab12/bb12\n",
+ "print \"bus voltages at 2 buses are \\nv1=%1.3f+i%1.3f,\\nv2=%1.3f+i%1.3f\"%((v1).real,(v1).imag,(v2).real,(v2).imag)\n",
+ "print \"\\nloss coffecients are \\nb11=%1.5fp.u\\nb22=%1.5fp.u\\nb12=%1.5fp.u \\n\"%(b11,b22,b12)\n",
+ "print \"loss coffecients in actual values is \\nb11=%eM(W)-1\\nb22=%eM(W)-1\\nb12=%eM(W)-1\\n\"%(b11/100,b22/100,b12/100)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "bus voltages at 2 buses are \n",
+ "v1=1.081+i0.123,\n",
+ "v2=0.929+i-0.043\n",
+ "\n",
+ "loss coffecients are \n",
+ "b11=0.07877p.u\n",
+ "b22=0.07735p.u\n",
+ "b12=-0.00714p.u \n",
+ "\n",
+ "loss coffecients in actual values is \n",
+ "b11=7.877236e-04M(W)-1\n",
+ "b22=7.734557e-04M(W)-1\n",
+ "b12=-7.136298e-05M(W)-1\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.8 Page 207"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "r1=22 ;r2=30 ;q1=0.2 ;q2=0.15\n",
+ "b22=0; b12=0 ;p1=100 ;pl=15#transmission losses are 0\n",
+ "b11=pl/(p1)**2\n",
+ "def power(x): #mathematical computation\n",
+ " p1=(x-r1)/(q1+2*b11*x)\n",
+ " p2=(x-r2)/q2\n",
+ " return [p1, p2]\n",
+ "[a,b]=power(60)\n",
+ "print \"l1=1/(1-%.3f*p1)\\nl2=[1/(1-0)]=1\\ngiven lamda=60\\nsince ic1*l1=lamda ic2*l2=lamda\\ntotal load=%dMW\"%(b11*2,a+b-(b11*a**2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "l1=1/(1-0.000*p1)\n",
+ "l2=[1/(1-0)]=1\n",
+ "given lamda=60\n",
+ "since ic1*l1=lamda ic2*l2=lamda\n",
+ "total load=390MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.9 Page 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "r1=22 ;r2=30 ;q1=0.2 ;q2=0.15\n",
+ "b22=0; b12=0 ;p1=100 ;pl=15#transmission losses are 0\n",
+ "b11=pl/(p1)**2\n",
+ "def power(x): #mathematical computation\n",
+ " p1=(x-r1)/(q1+2*b11*x)\n",
+ " p2=(x-r2)/q2\n",
+ " return [p1,p2]\n",
+ "[a,b]=power(60)\n",
+ "pt=a+b-(b11*a**2)\n",
+ "from sympy.mpmath import quad\n",
+ "#z=quad('q1*u+r1','u',a,161.80)\n",
+ "z=quad(lambda u:q1*u+r1,[a,161.80])\n",
+ "#y=quad('q2*v+r2','v',b,162.5)\n",
+ "y=quad(lambda v:q2*v+r2,[b,162.5])\n",
+ "m=z+y\n",
+ "print \"net change in cost =Rs.%dper hour\"%(m)\n",
+ "print \"\\nthus scheduling the generation by taking transmission losses into account would mean a saving of Rs.%dper hour in fuel cost\"%(m)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "net change in cost =Rs.-3757per hour\n",
+ "\n",
+ "thus scheduling the generation by taking transmission losses into account would mean a saving of Rs.-3757per hour in fuel cost\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.10 Page 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "b11=0.001\n",
+ "b12=-0.0005\n",
+ "b22=0.0024\n",
+ "q1=0.08\n",
+ "r1=16\n",
+ "q2=0.08\n",
+ "r2=12\n",
+ "lamda=20\n",
+ "\n",
+ "p2=0\n",
+ "for x in range(1,5):\n",
+ " p1=(1-(r1/lamda)-(2*p2*b12))/((q1/lamda)+2*b11)\n",
+ " p2=(1-(r2/lamda)-(2*p1*b12))/((q2/lamda)+2*b22)\n",
+ "\n",
+ "pl=b11*p1**2+2*b12*p1*p2+b22*p2**2\n",
+ "pr=p1+p2-pl\n",
+ "print \"p1=%2.1fMW,p2=%2.1fMW\\npl=%1.1fMW\\npower recevied %2.1fMW\"%(p1,p2,pl,pr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p1=189.2MW,p2=135.1MW\n",
+ "pl=54.1MW\n",
+ "power recevied 270.3MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.11 Page 209"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "a1=561 ;b1=7.92 ;c1=0.001562\n",
+ "a2=310 ;b2=7.85 ;c2=0.00194\n",
+ "ce=c1*c2/(c1+c2)\n",
+ "print \"ce=%e\"%(ce)\n",
+ "be=((b1/c1)+(b2/c2))*ce\n",
+ "print \"be=%1.4f\"%(be)\n",
+ "ae=a1-((b1**2)/4*c1)+a2-((b2**2)/4*c2)+((be**2)/4*ce)\n",
+ "print \"ae=%3.3f \\ncost characteristics of composite unit for demand pt is \\nct=%3.3f+%1.4f*p1+%ep1**2\"%(ae,ae,be,ce)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ce=8.652998e-04\n",
+ "be=7.8888\n",
+ "ae=870.959 \n",
+ "cost characteristics of composite unit for demand pt is \n",
+ "ct=870.959+7.8888*p1+8.652998e-04p1**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.12 Page 210"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "a1=7700 ;b1=52.8 ;c1=5.5*10**-3\n",
+ "a2=2500; b2=15 ;c2=0.05#given eqution\n",
+ "plo=200 ;pup=800\n",
+ "ct=1000\n",
+ "l=[500,900,1200,500] ;t=[6, 16 ,20 ,24]#from given graph\n",
+ "def cost(y):\n",
+ " p1=(2*c2*y-(b1-b2))/(2*(c1+c2))\n",
+ " p2=y-p1\n",
+ " return [p1,p2]\n",
+ "ma=max(l)\n",
+ "mi=min(l)\n",
+ "for x in range(0,3):\n",
+ " [e ,g]=cost(l[x])\n",
+ " if e<plo or g<plo or e>pup or g>pup:\n",
+ " if e<plo or g<plo:\n",
+ " v=min(e,g)\n",
+ " [u for u, j in enumerate((e,g)) if j == v]\n",
+ " if u==0:\n",
+ " e=plo\n",
+ " g=l(x)-e\n",
+ " else:\n",
+ " g=plo\n",
+ " e=l[x]-g\n",
+ " \n",
+ " \n",
+ "print \"\\np1=%3.2fMW\\tp2=%3.2fMW\"%(e,g)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "p1=1000.00MW\tp2=200.00MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.13 Page 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "a1=2000 ;b1=20 ;c1=0.05; p1=350; p2=550\n",
+ "a2=2750 ;b2=26 ;c2=0.03091\n",
+ "def cost(a,b,c,p):\n",
+ " co=a+b*p+c*p**2\n",
+ " return co\n",
+ "print \"(a)\"\n",
+ "toco=cost(a1,b1,c1,p1)+cost(a2,b2,c2,p2)\n",
+ "print \"total cost when each system supplies its own load Rs%.3f per hour\"%(toco)\n",
+ "l=p1+p2\n",
+ "p11=(b2-b1+2*c2*l)/(2*(c1+c2))\n",
+ "p22=l-p11\n",
+ "totco=cost(a1,b1,c1,p11)+cost(a2,b2,c2,p22)\n",
+ "sav=toco-totco\n",
+ "tilo=p11-p1\n",
+ "print \"(b)\"\n",
+ "print \"\\n total cost when load is supplied in economic load dispatch method Rs%d per hour \\n saving %.3f \\n tie line load %.3f MW\"%(totco,sav,tilo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "total cost when each system supplies its own load Rs41525.275 per hour\n",
+ "(b)\n",
+ "\n",
+ " total cost when load is supplied in economic load dispatch method Rs41447 per hour \n",
+ " saving 77.277 \n",
+ " tie line load 30.905 MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example10.14 Page 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "a1=5000 ;b1=450 ;c1=0.5 #for system 1 \n",
+ "e1=0.02 ;e2=-0.02#error\n",
+ "a1c=a1*(1-e1); b1c=b1*(1-e1) ;c1c=c1*(1-e1)\n",
+ "a2c=a1*(1-e2) ;b2c=b1*(1-e2) ;c2c=c1*(1-e2)\n",
+ "tl=200\n",
+ "def cost(a,b,c,p):\n",
+ " co=a+b*p+c*p**2\n",
+ " return co\n",
+ "p11=(b2c-b1c+2*c2c*tl)/(2*(c1c+c2c))\n",
+ "p22=tl-p11\n",
+ "totco=cost(a1c,b1c,c1c,p11)+cost(a2c,b2c,c2c,p22)\n",
+ "print \"\\npower at station 1 is %dMW \\t power at station 2 is %dMW \\n total cost on economic critieria method Rs%d per hour\"%(p11,p22,totco)\n",
+ "tocoe=cost(a1c,b1c,c1c,tl/2)+cost(a2c,b2c,c2c,tl/2)\n",
+ "eop=tocoe-totco\n",
+ "print \"\\nextra operating cost due to erroneous scheduling Rs.%d per hour\"%(eop)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "power at station 1 is 111MW \t power at station 2 is 89MW \n",
+ " total cost on economic critieria method Rs109879 per hour\n",
+ "\n",
+ "extra operating cost due to erroneous scheduling Rs.121 per hour\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.16 Page 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given\n",
+ "ia=32 ;ib=32 ;ic=1.68; f=10**5\n",
+ "wt=18; rt=24-wt\n",
+ "p=30\n",
+ "def inpu(a,b,c,f,t,p):\n",
+ " In=(a+b*p+c*p**2)*f*t\n",
+ " return In\n",
+ "hi1=inpu(ia,ib,ic,f,wt,p); hi2=inpu(ia,ib,ic,f,rt,p/2)\n",
+ "print \"(a)\"\n",
+ "print \"for full load condition for %d hours is %ekj \\n for half load condition for%d s %ekj \\n total load %ekj\"%(wt,hi1,rt,hi2,hi1+hi2)\n",
+ "print \"(b)\"\n",
+ "te=p*wt+(p/2)*rt\n",
+ "ul=te/24\n",
+ "hin=inpu(ia,ib,ic,f,24,ul)\n",
+ "sav=hi1+hi2-hin\n",
+ "savp=sav/(te*1000)\n",
+ "print \"\\n total energy produced\\t%dMW \\n unifor load\\t%dMW \\n heat input under uniform load condition %ekj \\n saving in heat energy %ekj \\n saving in heat energy per kWh %dkj/kWh\"%(te,ul,hin,sav,savp)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "for full load condition for 18 hours is 4.507200e+09kj \n",
+ " for half load condition for6 s 5.340000e+08kj \n",
+ " total load 5.041200e+09kj\n",
+ "(b)\n",
+ "\n",
+ " total energy produced\t630MW \n",
+ " unifor load\t26MW \n",
+ " heat input under uniform load condition 4.799232e+09kj \n",
+ " saving in heat energy 2.419680e+08kj \n",
+ " saving in heat energy per kWh 384kj/kWh\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.17 Page 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given\n",
+ "a1=450 ;b1=6.5 ;c1=0.0013\n",
+ "a2=300 ;b2=7.8 ;c2=0.0019\n",
+ "a3=80 ;b3=8.1 ;c3=0.005\n",
+ "tl=800#total load\n",
+ "ma = [600, 400, 200]\n",
+ "mi = [100, 50, 50]\n",
+ "d=np.mat([[1 ,1, 1] ,[2*c1, -2*c2, 0], [0, -2*c2, 2*c3]])\n",
+ "p=np.mat([[tl], [(b2-b1)], [(b2-b3)]]) \n",
+ "pp=(d**-1)*p #matrix inversion method\n",
+ "print \"\\nloads on generaating station by economic creatirian method isp1=%fMW,p2=%fMW,p3=%fMW\"%(pp[0],pp[1],pp[2])\n",
+ "for i in range(0,3):\n",
+ " if pp[i]<mi[i]:\n",
+ " pp[i]=mi[i]\n",
+ " \n",
+ " if pp[i]>mi[i]:\n",
+ " pp[i]=ma[i]\n",
+ " \n",
+ "\n",
+ "pp[1] = tl-pp[0] - pp[2]\n",
+ "print \"\\nloads on generating station under critical conditions p1=%dMW p2=%dMW p3=%dMW\"%(pp[0],pp[1],pp[2])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "loads on generaating station by economic creatirian method isp1=669.734705MW,p2=116.134272MW,p3=14.131023MW\n",
+ "\n",
+ "loads on generating station under critical conditions p1=600MW p2=150MW p3=50MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11.ipynb
new file mode 100644
index 00000000..60b17609
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter11.ipynb
@@ -0,0 +1,140 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:efee43f3cff9fdca8c69d559c1c84e6f19cd4b3e6da3711c7567d0790f5b7290"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-11, Hydro-Thermal Co-Ordination"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 11.2 Page 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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",
+ "from numpy import arange, mat\n",
+ "lam=arange(1,40,0.001)\n",
+ "gg=1; q=1\n",
+ "for lam in arange(25,4,0.0010):\n",
+ " a=[2*bc, 0, 0, r2*bw*2+2*b22*lam]\n",
+ " b=[lam-ac ,lam-aw*r2]\n",
+ " p=inv(a)*b\n",
+ " g=round(p(1)+p(2))\n",
+ " l=round(l1+b22*p(2)**2)\n",
+ " lq=round(l2+b22*p(2)**2)\n",
+ " if g>=l:\n",
+ " print \"\\nfor load condition %dMW \\n then, \\n \\t lamda %f \\t p1=%fMW \\n \\t p2=%fMW \\t pl=%fMW\"%(l1,lam,p[0],p[1],2*b22*p[1])\n",
+ " break\n",
+ " #end\n",
+ "#end\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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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 26664.961210m**3 \n",
+ "daily operating cost of thermal plant Rs55337.878125\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 11.3 Page "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " hydro plant power is 237.047484MW \n",
+ " the cost of water is 0.788486Rs.per hour/m**3/sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13.ipynb
new file mode 100644
index 00000000..2ff5f29b
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter13.ipynb
@@ -0,0 +1,522 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e3f5e499dcd1ee49e675b7d331eadcbb56a69331fd31c0617d103de1bd691963"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-13, Major Electrical Equipment in Power Plant"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.1 Page 277"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.2 page 277"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.3 Page 278"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " reactance to be added in circuit of generator 2 have -0.7 p.u. \n",
+ " reactance in ohms -406.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.4 Page 278"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " total reactance 0.1875.p.u \n",
+ " fault MVA 266.7MVA\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example13_5 Page 279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the rating of circuit breaker should be 671200 KVA, or 671 MVA\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13_6 Page 285"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example13_7 Page 286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "bus bar voltage 1.0245.p.u at angle 1.8\n",
+ "increase in voltage 0.0400 =4.0000 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.8 page 286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.9 Page 287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.10 Page 287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "fault current 5524.88ohm\n",
+ "b\n",
+ "reactance required 1.1400ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13 11 Page 288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14.ipynb
new file mode 100644
index 00000000..a2681fd4
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter14.ipynb
@@ -0,0 +1,907 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:7ee8895bf918e29dc996fcc120f35aefc5913500e53b4df4d74c03c3d0bc218c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-14, System Interconnections"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.1 Page 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " speed regulation of alternator is 0.02Hz/MW \n",
+ " change in power output 5MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example14.2 Page 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.3 Page 303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " R1=0.005ohm \n",
+ " R2=0.0125ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example14.4 Page 303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "static frequency drop -0.019608Hz \n",
+ "frequency drop -1Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.5 Page 303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "d=0.01p.u.MW/hz, \n",
+ "kp=100hz/p.u.MW \n",
+ "tp=20second\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.6 Page 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the contribution of frequency drop to meet increase in load 1.961MW \n",
+ "increase in generation cost Rs98.04\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.7 Page 307"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.8 Page 307"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "largest chang in load is 0.105p.u.MW=420MW\n",
+ "\n",
+ "df=(dff)(1-e**2.625000*t)\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example14.9 Page 307"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " df=-0.02439(1-e**(-4.1)) \n",
+ " ki=2002.0005p.u.MW/Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example14.10 Page 308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.11 Page 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "change in frequency is -0.01307Hz \n",
+ "change in power -0.003333 p.u.MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.12 page 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.13 Page 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example14.14 Page 325"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import cos, acos, sin\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.15 Page 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " tapping ratio at the source 1.058 \n",
+ " tapping ratio at the receving end 0.94\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.16 page 327"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.7 page 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.18 Page 332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 14.19 Page 332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import atan, cos\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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15.ipynb
new file mode 100644
index 00000000..737eae87
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter15.ipynb
@@ -0,0 +1,495 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:543241e2957635d03b859da9db1a20b76f4037f0de553827d6103edb92a77b0c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-15, New Energy Sources"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.1 Page 345"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "E=1500V \n",
+ "internal resistence 0.5ohm \n",
+ "maximum power output 1125000W =1.125MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.2 Page 345"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " voltage E=1512V \n",
+ " voltage gradient 2520V/m \n",
+ " voltage across load 982.8V \n",
+ " voltage gradient due to load voltage 1638v\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.3 Page 346"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.4 Page 347"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.5 Page 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.6 Page 364"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.7 Page 373"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " power 406kW \n",
+ " power density 5.172kW/m**3 \n",
+ " maximum power 240.881303kW \n",
+ " maximum torque 15335.0N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.8 Page 373"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "pressure in pascal 129.3pascal \n",
+ "pressure in height of mercury 0.97mm-hg \n",
+ "pressure in atmosphere 0.00128atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.9 Page 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 15.10 Page 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17.ipynb
new file mode 100644
index 00000000..dccece3a
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter17.ipynb
@@ -0,0 +1,359 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:95ea4a7b39974854edf27cd54ce8388d8f0d40efb44e4e2ed2e5394147a23212"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-17, Generating Capacity Reliability Evaluation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 17.1 Page 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 17.2 Page: 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 17.3: Page 423"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 persentage\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",
+ "from numpy import arange\n",
+ "ld=arange(mp,0,-lf)\n",
+ "#[m n]=size(ld)\n",
+ "n =len(ld)\n",
+ "\n",
+ "%matplotlib inline\n",
+ "from matplotlib import pyplot as plt\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 persentage %.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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEZCAYAAACNebLAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG5BJREFUeJzt3X+8HHV97/HXOwkUEE2AaCAQDFoSgoIKEnJpaVa9WKsW\nvCmPBjGAgD76KG2I96oQqE0Oty3BC4qplse9lR9GeRDgqqTJvYBEymKESkATiIbkgIokUEIiQRBi\nCZxP/5g5YbPZc87uOTs7s7vv5+OxD2ZnZ2c+u2z2c2be851VRGBmZlZtVN4FmJlZMblBmJlZTW4Q\nZmZWkxuEmZnV5AZhZmY1uUGYmVlNbhDWtiT1SPpW3nUMRtLhkl6UpLxrMWuUG4RlQtITkj6Q8WYG\nHMQjqSSpL/1yflHSJkm3SHpvlgWlr/v9uwqMeDIi3hgZDDhS4kJJ6yT9Nn2Nt0p6Z7O3Zd3JDcKy\nEgzyBd4iT6Vfzm8EZgAbgFWVX+CNkDS6jsUCaNXewmLgQmAucAAwBVgGfKTRFUka09zSrBO4QVhL\nSfo9SV+R9FR6u1rS3ulj4yT9P0nPSnpO0gpJh1Y89whJ90p6QdJdwPh6txsRT0XEQuBa4Ivp+ian\nexm7/h1IKks6P53+pKT7JH1Z0jZgoaS3SfpXSdskbZV0o6Sx6fLfAg4HVqR7LZ+r3oakiZKWS/q1\npMckfapi2z3pHsCS9DX+VNLxA7yPRwIXAGdERDkidkbEjoi4KSL6X9+u11LxelZV3O+TdIGkXqBX\n0jWSrqzazr9I+u8VtX8n/f/zC0lz633/rT25QVir/Q0wHXhXepsOfCF9bBRwHcmX7OHADuBrFc+9\nCXgQOAj4O+AcGt9LuQ04TtK+AzxeveczHfg58BbgcpK9g38ADgGmAZOAHoCIOAt4EvhouudyVY31\n35wucwhwOnC5pPdVPP6nwFJgLLCc3V9/pQ8AmyLioUFeaz17caelr3Faut3Z/Q9IOgA4BViaNrgV\nwBpgYrr9z0j64BDrtzbmBmGtdibwPyNiW0RsAy4DzgKIiOci4raI+F1E/JbkC3kmJGEv8F7gb9O/\nlleRfGE1ejjn6fQ54+pdPiL+KSL60rp+HhF3pzVsA67ur3EokiYBJwEXR8QrEfEwyR7N2RWLrYqI\nO9PM4kaSJlrLQcAzdb6GwSyKiOcj4j+AHwIh6eT0sdOB+yPiGeAEYHxE/H1EvBoRv0xrP6MJNVhB\n+bijtdpE4FcV959M5yFpP5Iv3D8mOaYOsH96BtBEYHtE7Kh47q9I/oJvxKEkf1U/D0yoY/lNlXck\nTSA59v+HwBtJ/sh6rs5tTwSei4iXKuY9SdL4+m2pmH4Z2EfSqIjoq1rXr0n2QkZq1+uLiJB0M/Bx\nYBVJM/9m+vBbgYmStlc8dzTwgybUYAXlPQhrtaeByRX3DweeSqc/SxK0To+IsSR/mSu9/TtwQNpE\n+r2Vxg8x/Tfgx2mj6f+irlznwVXLV6//cuA14J1pjWex+7+jwep5GjhQ0v4V8w4HNtdZe6W7gcMG\nyihSLwFvqLhf/dpgz3qXAqdLeivJoafvpPOfBH4ZEQdU3N4UER8dRu3WJtwgLEt7S9qn4jaG5Avo\nC5LGSxoPLCA5lAKwP0nu8BtJBwIL+1cUEb8CHgIuk7SXpD8E6vpySk8HPVTSQuB84NJ0nVtJmtNZ\nkkZLOg94+xCr25/ki/eFNED/fNXjWwZaR0RsAu4HFqVh/bHAeRWvv24R8RhwDUk+MFNS/3t9hqSL\n08XWArMk7Svp90le+1DrXQtsIzl8dGdEvJA+tBp4UdJF6fpGS3qnMj5t2PLlBmFZup3kMEn/bQHw\n9yRf9I+kt4fSeQBfAfYl+YK6H7iD3f/CPRM4keSQzgJgySDbDpJDIi8CL5J8wb0DmBkR369Y7tMk\nX/LbgKOB+6rWUf0X9mXAccBvSDKQ71Qts4ikAW6X9D8q1tPv4yR7UE8D3wUWRMS/DrK9AfdIIuJC\nkhD7n4DtwOMkofPydJGrgVdImtYNJI2ocn0Drfsm4P3pf/u31UfSkN8N/ALYCvwz8KaB6rP2p6x+\nMEjS9STnYz8bEcdUzJ9Lcnrea8D/j4iL0/mXkPw19RpwYUTclUlhZmZWlyxD6huAr/J6yEV6Ot+p\nwLERsVPSm9P5R5OcXnc0SYj4fUlTagRzZmbWIpkdYkpPQ9xeNfsvSU6r25kuszWdfxqwND118AmS\nXeXpWdVmZmZDa3UGcSTwR5J+lI7y7A+4JrL7mRybSfYkzMwsJ60eBzEGOCAiZkg6AbgVeNsAy+Z9\nHR8zs67W6gaxmeTMDSLiwfRaMONJTjWsHPB0GK+fG7+LJDcNM7NhiIiGLyLZ6kNMy0hOn0PSFGDv\n9HIFy4Ez0nO5jyA5FLW61goiwrcm3RYuXJh7DZ108/vp97Oot+HKbA9C0lKSkbAHSdpEct769cD1\nktaRnJ99NkBErJd0K7AeeBW4IEbyqszMbMQyaxAR8fEBHjprgOUvJ7mMgZmZFYBHUnexUqmUdwkd\nxe9nc/n9zF9mI6mzIMlHnszMGiSJaIOQ2szM2oQbhJmZ1eQGYWZmNblBmJlZTW4QZmZWkxuEmZnV\n5AZhZmY1uUGYmVlNbhBmZlaTG4SZmdXkBmFmZjW1XYPwpZjMzFqj7RrEjBmwalXeVZiZdb62axAX\nXghz5sCsWdDbm3c1Zmadq+0axCc+ARs2wPTpcNJJMG8ebNuWd1VmZp2n7RoEwL77wvz58Oij8Npr\nMG0aXHkl/O53eVdmZtY52rJB9Hvzm+FrX4Mf/jC5TZsGN9/sINvMrBk66hflymX43Odg9Gi46io4\n+eTW1WZmVlTD/UW5jmoQAH19sHQpXHopHH88XHEFTJnSogLNzArIPzmaGjXKQbaZWTN0XIPo5yDb\nzGxkOrZB9HOQbWY2PB2XQQzFQbaZdRuH1A1wkG1m3cQhdQMcZJuZDa0rG0Q/B9lmZgPLrEFIul7S\nFknrajz2WUl9kg6smHeJpMckbZD0wazqqsVBtpnZnjLLICSdDPwW+GZEHFMxfxLwdWAqcHxEPCfp\naOAm4ATgUOD7wJSI6KtaZ1MyiKE4yDazTlK4DCIiVgHbazz0ZeCiqnmnAUsjYmdEPAE8DkzPqrah\nlEqwerUvLW5m3a2lGYSk04DNEfFI1UMTgc0V9zeT7EnkxkG2mXW7ljUISfsBlwILK2cP8pRCJAAO\nss2sW41p4bbeDkwGHpYEcBjwY0knAk8BkyqWPSydt4eenp5d06VSiVKplEmx1fqD7Llz4aKL4Jpr\nYNEimD0b1PCRPTOz7JTLZcrl8ojXk+lAOUmTgRWVIXXFY79kz5B6Oq+H1L9fnUi3KqSuh4NsM2sX\nhQupJS0F7gemSNok6dyqRXZ900fEeuBWYD1wB3BBYTrBABxkm1mn68pLbTTbjh2weHGyJ3HmmbBg\nAYwfn3dVZmaJwu1BdJPKILuvz0G2mXUGN4gm8ohsM+skPsSUIQfZZlYEvtx3QfnS4maWN2cQBVVr\nRPaFF3pEtpkVnxtEizjINrN24wbRYg6yzaxdOIPImYNsM8uaQ+o25iDbzLLkkLqNOcg2syJygygQ\nB9lmViRuEAXkINvMisAZRBtwkG1mI+GQusM5yDaz4XJI3eEcZJtZq7lBtBkH2WbWKm4Qbao6yD7q\nqOQQVJcegTOzDDiD6BAOss1sIA6pzUG2mdXkkNocZJtZU7lBdCAH2WbWDG4QHcxBtpmNhDOILuIg\n26w7OaS2ujjINus+DqmtLg6yzaxebhBdykG2mQ3FDaLLVQbZ993nINvMXucMwnbjINus8ziktqZx\nkG3WWQoXUku6XtIWSesq5l0p6VFJD0v6rqSxFY9dIukxSRskfTCrumxoDrLNDLLNIG4APlQ17y7g\nHRHxLqAXuARA0tHAbODo9DnXSHI+kjMH2WbdLbMv4YhYBWyvmrcyIvrSuw8Ah6XTpwFLI2JnRDwB\nPA5Mz6o2a4yDbLPulOdf6ecBt6fTE4HNFY9tBg5teUU2qKlTYdky+MY34EtfghkzYNWqvKsys6yM\nyWOjkv4GeCUibhpksZp/n/b09OyaLpVKlEqlptZmQyuVYPXqZC9izhwH2WZFUy6XKZfLI15Ppmcx\nSZoMrIiIYyrmfRL4NPCBiPhdOm8+QERckd6/E1gYEQ9Urc9nMRXMjh2weHFySuyZZ8KCBTB+fN5V\nmVmlwp3FVIukDwGfB07rbw6p5cAZkvaWdARwJLC6lbXZ8DjINutcWZ7muhS4H5gqaZOk84CvAvsD\nKyWtkXQNQESsB24F1gN3ABd4V6G9DBRk9/UN/VwzKyYPlLNM9I/IHjUqCbQ9ItssPx5JbYXjEdlm\nxdAWGYR1F4/INmtvbhCWOQfZZu3JDcJaxkG2WXtxBmG5cZBt1hoOqa0tOcg2y55DamtLDrLNissN\nwgrBQbZZ8bhBWKE4yDYrDmcQVmgOss1GziG1dSwH2WYj45DaOpaDbLN8uEFY23CQbdZabhDWdhxk\nm7WGMwhrew6yzQaXeQYh6WBJ3uOwwun/jex585LfyJ41C3p7867KrP3V9YUv6UDgl8Cp2ZZjNjwO\nss2ar949gk8AK4HzM6zFbMQcZJs1T70N4lzgr4BJkg7JsB6zpnCQbTZyQzYISe8FtkbEJuBbwCez\nLsqsWaZOhWXL4BvfSALsGTNg1aq8qzJrD0OexSTpfwP3RMQtkt4C3BsR01pS3Z61+CwmGzaPyLZu\nlclZTJLeAPwxcBtARDwLbJRUGk6RZnlykG3WmKEOMb0CzIiIVyrmnQ38JLuSzLLlINusPoM2iIjY\nGRFb+u9L+mhEvBARL2Rfmlm2HGSbDa6hkdSS1kTEezKsZ6jtO4OwzHhEtnUqX83VbIQ8Ittsd402\niL/IpAqzgnCQbfa6RhvEpzKpwqxgHGSbNd4gTqh3QUnXS9oiaV3FvAMlrZTUK+kuSeMqHrtE0mOS\nNkj6YIN1mWXCQbZ1s0YbxJahF9nlBuBDVfPmAysjYgpwd3ofSUcDs4Gj0+dc4yvHWpF4RLZ1o4a+\nhCOi+gt/sGVXAdurZp8KLEmnlwAfS6dPA5amp9U+ATwOTG+kNrNWcJBt3aTVf6VPqBhXsQWYkE5P\nBDZXLLcZOLSVhZnVy0G2dYsxeW04IkLSYIMaaj7W09Oza7pUKlEqlZpbmFmd+oPs88+Hnp4kyL7o\nIpg7F/bZJ+/qrJuVy2XK5fKI1zPgQDlJB0RE9SGixlYuTQZWRMQx6f0NQCkinkkvG35PRBwlaT5A\nRFyRLncnsDAiHqhanwfKWWFt3AgXXwxr18KiRTB7drK3YZa3LAbK9Up6VNLXJZ0rqRnXvVwOnJNO\nnwMsq5h/hqS9JR0BHAmsbsL2zFqmP8hessRBtnWGQS+1IWkqcFJ6+y/AW4B/A+6PiC8OumJpKTAT\nGE+SNywA/gW4FTgceAL484h4Pl3+UuA84FVgXkR8r8Y6vQdhbcGXFrciGe4eRN3XYpL0duAjwDzg\n0Iho+VFWNwhrNzt2wOLFcNVVcOaZsGABjB+fd1XWbZp+iEnSH0j6vKTvSnoQuBwYTfL71GOHX6pZ\n9/CIbGtng4XUfcAa4Grgtoh4qZWF1eI9CGt3DrItD00/xJSeZdSfPUwH9gJ+TJJB/FtE/GL45Q6P\nG4R1invvhc9+1pcWt9ZoRQaxH0mI/BngiIgY3ejGRsoNwjqJg2xrlSwyiLGS/kTS30m6m2R081nA\nCpLrJpnZCHhEthXdYIeYtpGe0grcBzwUES+3sLZaNXkPwjrW1q1w2WVwyy0ekW3NlfkhpiJwg7Bu\n4CDbmi2LkHoFyfWQaq00IuLURjc2Um4Q1k0cZFuzZNEgtpLkDkuB/msi9W8gIuLe4RQ6Em4Q1m0c\nZFszZHEtpkOAS4F3Al8BTgG2RkQ5j+Zg1o0cZFueBmwQEfFqRNwREWcDM0h+xOdeSX/dsurMDPCI\nbMvHoNGXpH0k/RlwI/BXwGLgtlYUZmZ78m9kWysNlkF8C3gHcDtwS0Ssa2VhtTiDMNudg2yrRxYh\ndR8w0PWXIiLe1OjGRsoNwmxPDrJtKE0PqSNiVES8cYBby5uDmdXmINuy4uE3Zh3CQbY1mxuEWYdx\nkG3N4kttmHU4B9nmazGZ2YAcZHe3LEZSm1mHcJBtw+EGYdZFHGRbI9wgzLqQg2yrhzMIM3OQ3eEc\nUpvZiDjI7lwOqc1sRBxkWzU3CDPbjYNs6+cGYWY1Ocg2ZxBmVhcH2e2rrTIISZdI+pmkdZJukvR7\nkg6UtFJSr6S7JI3LozYzq23mTFi9GubNgzlzYNYs6O3NuyrLUssbhKTJwKeB4yLiGGA0cAYwH1gZ\nEVOAu9P7ZlYgDrK7Sx57EC8AO4H9JI0B9gOeBk4FlqTLLAE+lkNtZlYHB9ndoeUNIiKeA74EPEnS\nGJ6PiJXAhIjYki62BZjQ6trMrDEOsjvbmFZvUNLbgc8Ak4HfAP9X0pzKZSIiJNVMo3t6enZNl0ol\nSqVSVqWaWZ2mToVly14Psq++2kF2nsrlMuVyecTraflZTJJmA6dExKfS+2cBM4D3A++LiGckHQLc\nExFHVT3XZzGZFZxHZBdPO53FtAGYIWlfSQL+K7AeWAGcky5zDrAsh9rMbIQcZHeOPDKIh4FvAg8B\nj6Sz/xm4AjhFUi/J3sQVra7NzJrHQXb780A5M2uJjRvh4oth7VpYtAhmz072Nix7vpqrmbUFj8hu\nPTcIM2sbDrJbq51CajPrcg6y24MbhJnlxkF2sblBmFnuPCK7mJxBmFnhOMhuLofUZtZRHGQ3j0Nq\nM+solUH2iSc6yM6DG4SZFdq++yYD7Bxkt54bhJm1BQfZrecMwszakoPs+jmkNrOu4yC7Pg6pzazr\nOMjOlhuEmbU9B9nZcIMws47hILu5nEGYWcdykJ1wSG1mVoODbIfUZmY1OcgePjcIM+sKDrIb5wZh\nZl3FQXb9nEGYWVfrhiDbIbWZ2TB1epDtkNrMbJgcZNfmBmFmlnKQvTs3CDOzKg6yE84gzMyG0O5B\ntkNqM7MMtXOQ7ZDazCxD3Rhk59IgJI2T9G1Jj0paL+lESQdKWimpV9JdksblUZuZ2WC6KcjOaw9i\nMXB7REwDjgU2APOBlRExBbg7vW9mVkjdEGS3PIOQNBZYExFvq5q/AZgZEVskHQyUI+KoqmWcQZhZ\nIRU5yG6nDOIIYKukGyT9RNLXJb0BmBARW9JltgATcqjNzGxYZs6E1ath3jyYMwdmzYLe3ryrGpk8\nGsQY4Djgmog4DniJqsNJ6W6CdxXMrK10WpA9JodtbgY2R8SD6f1vA5cAz0g6OCKekXQI8GytJ/f0\n9OyaLpVKlEqlbKs1M2tQf5B93nlw2WVJkH3RRTB3LuyzT/bbL5fLlMvlEa8nl3EQkn4AfCoieiX1\nAPulD/06Ir4oaT4wLiLmVz3PGYSZtZ2NG5OGsXYtLFoEs2cnexut0lYD5SS9C7gW2Bv4OXAuMBq4\nFTgceAL484h4vup5bhBm1rbyCrLbqkEMlxuEmbW7PEZkt9NZTGZmXaudgmw3CDOzHLTDiGw3CDOz\nHBV5RLYzCDOzAskiyHZIbWbWIZodZDukNjPrEEUJst0gzMwKKu8g2w3CzKzg8gqynUGYmbWZRoNs\nh9RmZl2kkSDbIbWZWRdpRZDtBmFm1sayDLLdIMzMOkAWQbYzCDOzDlQZZD/4oENqMzOr0B9kz5nj\nBmFmZjX4LCYzM2sqNwgzM6vJDcLMzGpygzAzs5rcIMzMrCY3CDMzq8kNwszManKDMDOzmtwgzMys\nJjcIMzOryQ3CzMxqcoMwM7OacmsQkkZLWiNpRXr/QEkrJfVKukvSuLxqMzOzfPcg5gHrgf7Ls84H\nVkbEFODu9L5lqFwu511CR/H72Vx+P/OXS4OQdBjwYeBaoP8StKcCS9LpJcDHciitq/gfYHP5/Wwu\nv5/5y2sP4mrg80Dlj+FNiIgt6fQWYELLqzIzs11a3iAkfRR4NiLW8Prew27SXwXyLwOZmeWo5b8o\nJ+ly4CzgVWAf4E3Ad4ETgFJEPCPpEOCeiDiq6rluGmZmw9B2PzkqaSbwuYj4U0n/C/h1RHxR0nxg\nXEQ4qDYzy0kRxkH0d6grgFMk9QLvT++bmVlOct2DMDOz4irCHsQeJH1I0gZJj0m6eIBl/jF9/GFJ\n72l1je1kqPdTUknSb9KBi2skfSGPOtuBpOslbZG0bpBl/Nms01Dvpz+b9ZM0SdI9kn4m6aeSLhxg\nufo/nxFRqBswGngcmAzsBawFplUt82Hg9nT6ROBHeddd1Fud72cJWJ53re1wA04G3gOsG+Bxfzab\n+376s1n/e3kw8O50en9g40i/O4u4BzEdeDwinoiIncDNwGlVy+waVBcRDwDjJHncRG31vJ8wwCnH\ntruIWAVsH2QRfzYbUMf7Cf5s1iUinomIten0b4FHgYlVizX0+SxigzgU2FRxf3M6b6hlDsu4rnZV\nz/sZwEnpLuftko5uWXWdx5/N5vJncxgkTSbZM3ug6qGGPp9jml1YE9Sbmlf/VeG0vbZ63pefAJMi\n4mVJfwIsA6ZkW1ZH82ezefzZbJCk/YFvA/PSPYk9Fqm6P+Dns4h7EE8BkyruTyLpcoMtc1g6z/Y0\n5PsZES9GxMvp9B3AXpIObF2JHcWfzSbyZ7MxkvYCvgPcGBHLaizS0OeziA3iIeBISZMl7Q3MBpZX\nLbMcOBtA0gzg+Xj9Ok62uyHfT0kTJCmdnk5y+vNzrS+1I/iz2UT+bNYvfZ+uA9ZHxFcGWKyhz2fh\nDjFFxKuS/hr4HskZONdFxKOS/iJ9/P9ExO2SPizpceAl4NwcSy60et5P4HTgLyW9CrwMnJFbwQUn\naSkwExgvaROwkOTsMH82h2Go9xN/NhvxB8Ac4BFJa9J5lwKHw/A+nx4oZ2ZmNRXxEJOZmRWAG4SZ\nmdXkBmFmZjW5QZiZWU1uEGZmVpMbhJmZ1eQGYV1J0kEVl5D+d0mb0+kXJX0t7/rMisDjIKzrSVoI\nvBgRX85p+/sBO9Or7ZoVhvcgzBL9l3MoSVqRTvdIWiLpB5KekDRL0lWSHpF0h6Qx6XLHSypLekjS\nnZIObnDbU4GNkq6UdFRzX5bZ8LlBmA3uCOB9JNfRvxFYGRHHAjuAj6QXR/sq8GcR8V7gBuAfGtlA\nRKwBjgU2ANdKWiXpk5Le0MTXYdawwl2LyaxAArgjIl6T9FNgVER8L31sHcmv9E0B3gF8P72m3Gjg\n6YY3lFyW+TrgOknT0unFwNiRvgiz4XKDMBvcKwAR0SepMiPoI/n3I+BnEXHSQCuQNBr4MUnDWQ6s\nIbkoHcD5EfGTdLnJwDkkF6RbCyxo5gsxa5QbhNnA6vmpy43AmyXNiIgfpYecjoyI9f0LRMRrwLur\nnrfrWv1pY7gWOAi4HjgpIob6GU6zzLlBmCWi4r+1pmHPX96KiNgp6XTgHyWNJfk3dTWwnvq9CsyP\niIcaL9ssOz7N1czMavJZTGZmVpMbhJmZ1eQGYWZmNblBmJlZTW4QZmZWkxuEmZnV5AZhZmY1uUGY\nmVlN/wkVxRcaayYErQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f056d41bb90>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "number of units out 0 ,capacity out 0MW ,capacity available 200MW ,probability 0.814506 ,tg in persentage 0.00 ,expected load 0.000000MW\n",
+ "\n",
+ "number of units out 1 ,capacity out 50MW ,capacity available 150MW ,probability 0.171475 ,tg in persentage 0.00 ,expected load 0.000000MW\n",
+ "\n",
+ "number of units out 2 ,capacity out 100MW ,capacity available 100MW ,probability 0.013538 ,tg in persentage 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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 17.4 Page 425"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#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 persentage\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",
+ "from numpy import arange\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",
+ "%matplotlib inline\n",
+ "from matplotlib import pyplot as plt\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 persentage %.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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f0576ba1810>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ "number of units out -1 ,capacity out 0MW ,capacity available 200MW ,probability 0.922368 ,tg in persentage 0.00 ,expected load 0.000000MW\n",
+ "\n",
+ "number of units out 0 ,capacity out 50MW ,capacity available 150MW ,probability 0.075295 ,tg in persentage 0.00 ,expected load 0.000000MW\n",
+ "\n",
+ "number of units out 1 ,capacity out 100MW ,capacity available 100MW ,probability 0.002305 ,tg in persentage 41.00 ,expected load 0.094503MW\n",
+ "\n",
+ "number of units out 2 ,capacity out 150MW ,capacity available 50MW ,probability 0.000031 ,tg in persentage 83.00 ,expected load 0.002603MW\n",
+ "\n",
+ "\n",
+ "expected loss of load is 0.097106MW percent of time. assuming 365 days in a year, then expected loss of load is 0.354MW 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.8214MW years per day.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2.ipynb
new file mode 100644
index 00000000..7d5827eb
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter2.ipynb
@@ -0,0 +1,935 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:44ae6f2363996556e5b7037bd7c1155f8bdd64b6afae6e0bd73f2af88b36b33a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-2, Loads & Load Curves"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.1, page - 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.2, page - 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, subplot, title, title, show, hist\n",
+ "\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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31dcdedc90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\njTYAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31dcadf050>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.3 : page - 22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.4 : page -28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\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()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nNNIAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31f86db090>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31dc8e5090>"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.5 : page - 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "capacity factor =0.473\n",
+ "\n",
+ "utilisation factor =0.80\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.6 : page - 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\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",
+ "from numpy import nditer\n",
+ "for x, y in nditer([l, E]):\n",
+ " print ' ',x,'\\t\\t\\t ',y\n",
+ "\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, subplot, title, xlabel, ylabel, show\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()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31f86a5790>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31dc9118d0>"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.7 : page 30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.8 : pge 30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, subplot, title, xlabel, ylabel, show\n",
+ "plot(a,b)\n",
+ "title('Load Curve')\n",
+ "xlabel(\"TIME -->\")\n",
+ "ylabel(\"MW -->\")\n",
+ "show()\n",
+ "#xtitle(\"load curve\"%(\"time\"%(\"MW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "energy required required by the system in 24 hrs = 2060 MWh\n",
+ "\n",
+ "daily load factor = 0.572222 or 57.22 %\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31fa1d4f50>"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.9: page 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f31dc93f790>"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.10 : page 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.11: page 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.12 : page 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\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",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n",
+ "plot(T,L) \n",
+ "title('Load Duration Curve')\n",
+ "xlabel('Time(Hours)')\n",
+ "ylabel('Load(MW)') \n",
+ "show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weekly Load factor = 53.74 %\n",
+ "Load Duration Curve is shown in figure.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "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": [
+ "<matplotlib.figure.Figure at 0x7f31f86a5950>"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.13 : page 33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "annual load factor = 0.825000x0.870000x0.780000 = 0.56\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example - 2.14 : page 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20.ipynb
new file mode 100644
index 00000000..c676065f
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter20.ipynb
@@ -0,0 +1,158 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:cd162bdb1fe196cb47bf3eb77e7ebc05430fce626f0c2cb37a8e99707eb3d120"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-20, Energy Audit"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example:20.1 Page:461"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example:20.2 Page:468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23.ipynb
new file mode 100644
index 00000000..939a2b1a
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter23.ipynb
@@ -0,0 +1,177 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:787894feae8b9f9d4e62ecf0f6a482facb95a154f8e7d91d492783a33e4a8cc8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-23, Captive Power Generation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example:23.1 Page:500"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example:23.2 page:501"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Problem:23.11.2 Page:505"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3.ipynb
new file mode 100644
index 00000000..581f21ef
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter3.ipynb
@@ -0,0 +1,525 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d6e7f2f9dbbec04ab6ce85a655cc4a2febb0f8dbb382c2ed7a309b8620f6b4b2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-3, Power Plant Economics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.1 - pg 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.2 - pg 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.3 - pg 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.4 - pg 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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",
+ "import numpy as np\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",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot\n",
+ "plot(lf,tgc)\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])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "negp : [1712418.7671232875, 856254.38356164377, 570866.25570776255, 428172.19178082189, 342555.75342465751]\n",
+ "load factor"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f2bafc6d9d0>"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.5 page 47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.6 page 47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.7 page 48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Data 3.16 page 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "data 3.17 page 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4.ipynb
new file mode 100644
index 00000000..18d6d7fd
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter4.ipynb
@@ -0,0 +1,1202 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:fb68f886b3c2cdc28623218c177a66cd2a93d17c7bf83ed92891b0a04da2f4c6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-4, Tariffs & Power Factor Improvement"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.1 page 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "total energy consumption in 30 day 123units \n",
+ "the monthly bill Rs308.16 \n",
+ "net monthly bill Rs292.75\n"
+ ]
+ }
+ ],
+ "prompt_number": 75
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.2 Page 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " energy consumption 525600kWh \n",
+ " total electricity bill per year Rs1008080\n"
+ ]
+ }
+ ],
+ "prompt_number": 76
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.3 Page 60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 77
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.4 Page 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.5 Page 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "if energy consumption per month is more than 1428.6kWh,\n",
+ "tariff is more suitable\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.6 Page 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 80
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.7 Page 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.8 Page 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " the most economic power factor 0.986 lagging \n",
+ " kvar requirement 291.35kVAR\n"
+ ]
+ }
+ ],
+ "prompt_number": 82
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.9 Page 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.10 Page 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import 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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 84
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.11 Page 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 85
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.12 page 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import 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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 86
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.13 Page 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import atan\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))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.14 page 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.15 Page 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 89
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.16 page 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 90
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.17 Page 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 91
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.18 Page 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 92
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.19 Page 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " capacitor kVAR required for 6kW\n",
+ " load for same power factor improvement 60KVAR\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.20 Page 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " required capacitor kVAR 54KVAR \n",
+ " overall power factor 0.75 \n",
+ " it is seen that point d is on 0.75 line\n"
+ ]
+ }
+ ],
+ "prompt_number": 94
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.21 page 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.22 Page 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5.ipynb
new file mode 100644
index 00000000..94d5fce1
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter5.ipynb
@@ -0,0 +1,406 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:06110b459e793fe6a13fb1d3a89d2d5ed8547f434fe98d182911c57050d94ef4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-5, Selection of Plant"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.1 Page 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.2 Page 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.3 Page 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.4 page 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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",
+ "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",
+ "from numpy import arange\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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7.ipynb
new file mode 100644
index 00000000..5639c996
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter7.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.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter8.ipynb
new file mode 100644
index 00000000..8e55bc2d
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter8.ipynb
@@ -0,0 +1,416 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:89d211f2bab9ed7eb89e6e1658fcc2ecaf90b3f2ef927e14d02a2cb79920c159"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-8, Hydro-Electric Plants"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.1 Page 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "power developed by hydro plant is 176.52 MW\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.2 page 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\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",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "average rate of inflow is 1000cu-m/sec\n",
+ "\n",
+ "power developed is 1250.35 MW\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fb702908bd0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "hydrograph is ploted in figure\n",
+ "\n",
+ "storage capacity of given plant is 3000sec-m-month\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.3 Page 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "flow=[1500, 1000, 500, 500, 500, 1200, 2900, 2900, 1000, 400 ,600 ,1600]\n",
+ "cod=1000#constant demand\n",
+ "#plot2d2(flow)\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "storage capacity of plant is -11934sec-m-month\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fb702908050>"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.4 Page 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "storage capacity of plant is -5149sec-m-month\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fb702585410>"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.5 Page 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "flow=[80, 50 ,40 ,20 ,0 ,100, 150 ,200 ,250 ,120 ,100, 80]\n",
+ "h=100; e=80\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot, title, xlabel, ylabel, show, subplot\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEZCAYAAAB8culNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xe8U/X9x/HXu4gLRXFUHCio4B7gouK4OCqCVftrXbVa\nRW2r1lU7gA6w9mEVa6uitraVKgioqHUBAo6rVqsoIiqIgICCAiKCOJB1P78/vifemLtyk5ycJPfz\nfDzyIDk5OflEMJ9850dmhnPOOZfuG0kH4JxzrvR4cnDOOVeHJwfnnHN1eHJwzjlXhycH55xzdXhy\ncM45V4cnB1f2JM2TdHSpXKcYJFVLOi/pOFzlWq+pEyQdBgwEOqadb2a2c4xxOdccFt1K5TrFUE6x\nujLUZHIA7gAuB14F1sUbjnOlSVIrMyvIv39J65nZ2kJcy7m4ZNOttNzMxpnZYjP7KHWLPTLnmqer\npKmSlku6R9IGkt6UdELqBEmtJX0kab/o8VmS3o2ODUi/mKRBku6XNFzSJ8CPJG0n6RFJSyXNknR+\n2vkbSbpL0seSpkv6laT5ac/Pi469DnwqqZWkfpJmS1ohaZqkk9POP0fS85KGRJ/pLUlHZXzmjpL+\nG71+vKQtC/zf1LVgDSYHSQdIOgB4WtL1kr4lqVvqVsQYnWuKgFOA44BOwL7AOcBdwA/TzusNvG9m\nUyXtCdwGnAlsB2wJ7JBx3ROB0Wa2GTASuAd4D9gW+D5wjaSe0bkDgR2j9z82et/Mbp/TgeOBzaNW\nyGzgMDNrC1wF3C1pm7TzD47O2TK6/oOSNk/7zD+IPuc3gfWBXzT9n8q57DTWcrgB+DNwCHAgcE10\nLHVzrlQYcLOZLTKzZcCjwP7A3UAfSZtE550FDI/ufx941Mz+a2argd8BNRnXfcHMHonubw0cCvza\nzFab2VTgX8DZ0fOnANeY2Sdm9j5wE+ELPDPG981sFYCZ3W9mi6L79wGzCP+/pXxoZjeZ2bro+beB\nE9KuN9TMZpvZl8B90Wd2riAaHHMwsyoASTub2Zz05yT5YLQrNYvS7q8EtjWzhZKeB74v6SGgF3BJ\ndM62wILUC8zsC0lLM665IO3+dsDHZvZ52rH3gAPSnp+f9lz6a1PSn0fS2cAVhMkeAJsQWgkp72e8\n/t0o7pTMz7wJzhVINmMO99dzbHShA3GuwFK/2lNdS6cQWgILo+MLgQ5fnSxtzNe/mOHr3UIfAFuk\ntUIgdCOlvsC/dr2M+3WuJ2kn4B/AxcAWZtYOeJOvtza2z3j9TlEczsWuwZaDpD2APYHNJf0f4R+t\nAW2BDYsTnnN5ewi4FdgGuC7t+P3AS5J6AC8Df6CRH0tmNl/SC8CfJP0C2A3oS+j3h9Ct01/Sy0Ab\n4Gc0PtW0TfT8R8A3olbE3hnnfFPSpcDfgJOB3YGxac8L52LSWMuhC/AdYLPozxOiP7sBF8QfmnM5\n+2oNgJmtBB4kdN08+NUJZtMJv9pHEn6Nf8zXu33qW0dwRnSdD6Jr/d7Mnoqe+wOhK2kuMIHQul7d\nYIDh/W8A/kfoHtob+G/GaS8BnYElwNXA96IxlfQYG4vXuZypqWI/kg41sxeafWGpAzCMMJPCgH+Y\n2c2SBgHnE/7BAwwws3HRa/oTfo2tAy41swnNfV/nMkn6HdDZzM5u8uTCveeFwKlm1rPJk+t//TnA\neWZ2eEEDcy5L2SyCmy3pN9RdId23idetAa4ws9eiftrJkiYSEsVfzOwv6SdHUwtPI3RlbQ88IamL\nmWXOIHEua5K2IPzgOCvm92kP7EJoCXQGfg4MifM9nYtTNsnhYeBZYCK1U/2abL5GU/RS0/Q+k/QW\ntQNs9fWVngSMMrM1wDxJswnzvF/MIkbn6pB0AfBXYJiZZXbZFNr6wN8J6xyWA6MI6yhy5d1ELlHZ\ndCu9ZmZ5zZ+W1BF4BtgLuBI4F/gEeAW40syWSxoCvGhmI6LX/AsYZ2YP5PPezjnnmi+bqayPSeqT\n6xtEXUr3A5eZ2WeEmRedCAt2FtL4gjr/5eSccwnIplvpcmCApNWEcQQIYw5tm3qhpNbAA8DdZvZQ\n9MIP057/F2E1K4T54ulzw3eg7iIgJHnCcM65HJhZ1tOfm2w5mNkmZvYNM9vQzDaNbtkkBhF2dJ1u\nZjemHU9f4fld4I3o/iPA6ZLWl9SJMKg3qYGYKvY2cODAxGPwz+afb906Y/BgY+utjdGjw7FDDx3I\nT36SfGz+95fbrbmyaTkg6STgCEI3zzNm9mgTLwHoQViZ+rqkKdGxAcAZkvaPrjUX+AmEed+S7gOm\nA2uBiyyXT+Scy8uiRXD22fDFF/Dyy7DTTuF4jx4wdChceSV07pxsjC5+2RT7uRY4CBhBmGV0abT2\noX9jr7MwO6S+lsm4Rl5zDWGDP+dcAh5/HPr2hfPPh9//HtZL+4bYeGO44opwfNSo5GJ0xZFNy6EP\nsL9FhU4k3Qm8BjSaHFxuqqqqkg4hNpX82aC8P9/q1TBgANx7L4wcCfV9lKqqKg48MLQaXnsN9q+w\nPWDL+e8vDtlMZX0d6GlmS6PHWwJPm9m+RYivvni8t8m5Apo1C844A3bYAe64A7ZsomTQkCEwbhyM\nHdv4ea60SMIKOSAN/Al4NapydRcwGe/6ca4iDBsGhx4K554L//lP04kB4Mc/hrfegueeiz8+l5wm\nWw4AkrYjjDsYMMmiAiVJ8JaDc/lbsQIuvhgmT4Z77oF9m9kPMGwY/OMfIUHI94YtC3G0HCBUwQJo\nDRwabeHtnCtDL78M3bqFAeZXXml+YgA480xYvhzGjCl8fK40ZDPm8G9gH2AaaWUUzezceENrMB5v\nOTiXg5oauOEGuP56uO02+P7387veww/D734XBqe/ke3PTJeY5rYcskkO04G9SuUb2ZODc82XvnZh\nxIjatQv5MAvjFT/7WWhJuNIWR7fSy4RttJ1zZejxx0M3UvfuUF1dmMQAYazhT38K6x5WN1jWyJWr\nbFoOVYStLRYBq6LD5lNZnStt6WsXhg+vf+1CIRx3HJx8Mlx4YTzXd4URR7fSO8AVhOLn6WMO83KM\nMS+eHJxrWnPXLuRj8mT4znfCe7ZpE9/7uPzE0a30oZk9YmZzzGxe6pZ7iM65OOWydiEfBxwAhx0W\nFse5ypFNy+E2YHPC1tqpnkUzswcbflWjNaS3AO4FdgLmEersLo9e02QNaW85OFe/fNcu5OPtt0OC\nmDkT2rUr3vu67MXRctiYkBS+DZwQ3b6TxetSNaT3AroDF0vaA+gHTDSzLsCT0ePMGtK9gNsk+QQ5\n57JQiLUL+dhttzDuMHhwcd/XxafBloOkHwDjU3sq5f1G0kPALdHtSDNbHBVlrzaz3aNWQ42ZXRed\n/zgwyMxezLiOtxycixR67UI+FiyA/faDN9+Ebbdt+nxXXM1tOTS2K+uOwGhJ6wNPELbanpTLN3NU\nQ7or8BKwjZktjp5aDGwT3d8OSE8EC4Dtm/tezrUUDdVdSMoOO4RxjquvDonKlbcGu23M7FozOwro\nDbxOGAt4VdIoSWdL2qah16aLakg/QKgh/WnGexiN14n2JoJz9Yhr7UK++vWD++6Dd95JOhKXrybr\nOZjZCuDB6IakvYDjgeGEcYgGpdWQHm5RDWlgsaT2ZrYoKhmaqimdVQ1pgEGDBn11v6qqyvdhdy1G\nNnUXkrTVVnDppWFh3IgRSUfTslVXV1NdXZ3z6xudrSSpVVqRn7aEus6zooTR+IVDDem7gKVmdkXa\n8cHRsesk9QM2N7N+0YD0SOBgQnfSE8Cumd1YPubgWqpirl3Ix6efhoJAEyYUf2DcNaxgs5UknUb4\nlf9OVEP6dWAw8KakXllcO1VDuqekKdGtF3AtcKykmcBR0WPMbDqQqiE9Dq8h7dxXir12IR+bbgr9\n+8NvfpN0JC4fjc1Wep3QbbQRYUfWbmY2Q9JOwGgzO7h4YX4tLs8ZrsVIcu1CPlatCtNbR4yAHj2S\njsZBYdc5rDOzRWY2F5hrZjMAzOxdQl0H51yMkl67kI8NNoBBg8IAtf+WK0+NLjJLW4TWN+3Yenhy\ncC42NTVh3UKfPnDttXD77SFBlJuzzoKlS0O9aVd+GutWOhh4w8xWZhzvCBxmZnfHHl39cXm3kqtY\ncdRdSNJ//gNXXQWvvuoFgZJWsG4lM5sEdIkuum/a8XlJJQbnKlmprl3Ix8knhy6m++5LOhLXXE3l\n8r6SOgPnFSMY51qi1avhF7+ACy4Iaxf+8AdYr8kVSOVBgmuugd/+FtasSToa1xyNTWUdGD3/Unio\ngUWLyrkWYtasMEV19uxQi7nUFrUVwtFHQ6dOMHRo0pG45mhqEdyJhNXQ48zskaJF1Qgfc3CVYtgw\nuPLKMKvnoovCr+xK9fLLoYtp1qzyHFyvBIXesvsQM7sQOCi/sJxzKStWhJk8114LTz4Z1jFUcmIA\nOOgg+Na34JZbko7EZaup5JAaRhoddyDOtQTlvHYhX1dfDX/+MyxfnnQkLhs+IO1cEVTK2oV87LEH\nnHBC+O/gSl9j6xwGAlsBZwJ3EzbLu6qIsdXLxxxcuam0tQv5eO896NoVpk2D9u2TjqZlKeQ6h6uA\niYR6z0+UQmJwrtyMGxe+DCtp7UI+dtwxJMo//jHpSFxTYh2QljRU0mJJb6QdGyRpQdpOrcenPddf\n0ixJMyQ1WivCuVK2alWYifTjH8OoUZW1diFfAwaE/yZz5yYdiWtMo1NZ8764dDjwGTDMzPaJjg0E\nPjWzv2Scm6rncBC19Ry6mFlNxnnereRK2syZoe5Chw6lXXchSYMGwZw5YTqvK45CT2VF0neiX/jL\nJH0a3Zos9gNgZs8By+q7bD3HTgJGmdkaM5sHzCYU/nGuLJiFL7sePaBv39Kvu5Ckn/8cxo+HN95o\n+lyXjGy2wroR+BGwpZltGt3a5vm+l0iaKukOSZtHx7YDFqSds4DQgnCu5LXEtQv5aNs2bOf9298m\nHYlrSDa9oAuAaZndO3n4G/CH6P7VwA00PFW23v4jryHtSsmkSaEb6eijw9qFljZFNVcXXgh//Su8\n8ELYQsQVVqw1pAEkdSd8mT8NrI4OW+aYQSOv7wg8mhpzaOi5qJ40ZnZt9NzjwEAzeynjNT7m4EpC\nTU1Y1PXnP8Ntt8H3v590ROVn6NDQFff0097SilvBxxwIv+4/AzYENolum+YWHkjaNu3hd4FUr+Mj\nwOmS1pfUCegMTMr1fZyL06JF0KsXPPJIWPXsiSE3Z58NixfDhAlJR+IyZdOttK2ZHZvLxSWNAo4E\ntpI0HxgIVEnan9BlNBf4CYCZTZd0HzAdWAtc5E0EV4rGjQsDzhdcAL//vU9Rzcd664VtNfr3h2OP\n9YJApSSbbqXBwJNmNr44ITXOu5VcUlatCnP077sPhg+vzO21k2AWNub71a/g1FOTjqZyNbdbKZvk\n8BmwMWG8IVWuwwowYyknnhxcEnztQrwmTgwzvKZNg9ZeoT4WBR9zMLNNzOwbZrZhAaeyOlcWfO1C\ncRxzTEi8d96ZdCQuJdYV0nHwloMrlhUrQhGeV1+Fe+5pWdtrJ+Gll8LA/syZsNFGSUdTeeKYreRc\nizNpUtgwr02blld3ISmHHAIHHgi33pp0JA685eDc1/jahWRNmwY9e4ZyopttlnQ0laXgA9LRRVsB\n25A29dXM3sspwjx5cnBx8boLpeGcc8L4w9VXJx1JZYljttIlhPUJHwLrUsfrW/FcDJ4cXBx87ULp\nmDcPDjgA3nwTtt22ydNdlpqbHLL5X+ByYDczW5p7WM6VpvS1C6NG+dqFUtCxI1x6KXTpAocfHkqr\n9u4NnTolHVnLkk3L4Wng22a2ptETi8RbDq5QfO1CaVu+PGyrMXZsaNltsUVtojjsMFh//aQjLC9x\ndCsNBboAY8hh471C8+Tg8mUWVjhfeWUoOnPRRb7pW6mrqYHJk0OiGDMmJPajjw7J4vjjvfspG3Ek\nh0HR3dSJIiSHRGpKe3Jw+fC1C5Vh8WJ4/PGQKCZOhJ13rm1VHHQQtGqVdISlJ5bZStGFNwUws0+b\nEcxQoA/wYVqZ0C2Ae4GdgHnAqWa2PHquP9CXMPB9qZnV2avRk4PLVaruwjHHhDoCXnehMqxZE2pC\npFoVixeHHXN794bjjgvdUS6elsM+wDAg1SO7BPiRmb2ZRTD11ZAeDHxkZoMl/RpoZ2b9vIa0i4uv\nXWhZ3n03jFGMGQPPPBNah6lWxb77ttwuxDiSw/+AAWb2dPS4CrjGzLKq3ZRZ7EfSDOBIM1ssqT1Q\nbWa7R62GGjO7LjrvcWCQmb2YcT1PDi5rvnahZfvyS6iurm1VrFoVkkSfPmHMYpNNko6weOLYPmPj\nVGIAMLNqoE0OsaVsY2aLo/uLCYvrwGtIuwIbNy5sgdG9e/iC8MTQ8my4YehiuvlmmD071PfefXcY\nMiQMYn/723DjjWFFtvu6bNY5zJX0O2A4YTD6TGBOId7czExSY80AryHtcvLoo/DTn/raBVdLgt12\nC7ef/zxMTnjyydCiGDw47KOV6n468kjYYIOkI85PMWpIbwFcBfSIDj1H6O5ZltUb1N+tVGVmi6KS\noU9H3UpeQ9oVxJIlsN9+YWHbYYclHY0rB2bw2mu13U/TpoUfFampsh06JB1h/mKbrZSrepLDYGCp\nmV0XJYTNMwakD6Z2QHrXzEzgycE1xgy+9z3o3Bmuuy7paFy5+ugjGD8+JIvx42H77WvHKrp3L8/t\nVQqWHCQ92sjrzMxOzCKYr2pIE8YXfg88DNwH7EjdqawDCFNZ1wKX1Vea1JODa8zw4aGL4JVXyr9b\nwJWGdetCrYlUq+K998JYRe/eYTxj662TjjA7hUwOVY29MBqYLjpPDq4h8+eHDdsmTID99086Glep\n3n8/THYYOzaMWeyxR+1YRdeu8I0SrZJTct1KhebJwdWnpib8mjv6aOjfP+loXEuxejU891xtq+KT\nT8IYRZ8+YbFlKdWkKGTL4Y1GXmdmlsjGA54cXH2GDAkzk559tjz7g11leOedkCjGjoXnnw+V7VJj\nFbvvnuwCvEImh46NvdDM5jUnsELx5OAyzZgRtnZ+4YUwEO1cKfjiC3jqqdpWxTe+UZsoevYsfp3s\nFtGt9Pzzxre+1XKXwbtaa9fCoYfCuefChRcmHY1z9TOD6dNDkhg7Nmz8WF0N3boVL4ZCthyeN7Me\nkj6j7mI0M7O2ecSZM0m2yy7GFlvAZZfBKaf4vu4t2dVXh+b7uHH+Y8GVj+XLw6K71q2L954touWw\ndq0xdmxY9j5jRtiC+cc/Lp8pZa4wJk8Og39TpoR56M65hsWxtxKS2knaV1K31C33EPPXqhV85zth\nGtm4cTB3bigpeP758EZjw+iuYqxcCWedBTfd5InBuThks33G1cA5hP2Uvto+28x6xhpZw/HUOyC9\nZAncfnvYknnPPUOXU58+pTvn2OXnyithwYJQsMe7k5xrWhxbds8E9jaz1Y2eWCRNzVZavRpGjw5d\nTsuXh0Ll55wDm25avBhdvKqr4cwz4fXXve6zc9mKo1tpGtAu95CKa/31wxfHpElw551hgUrHjmEX\nxrlzk47O5WvFijAz6Z//9MTgXJyyaTkcRNgP6U1gVXQ4q72V4pDLOod334Vbb4WhQ8N8+MsvhyOO\n8O6IcnTeeWGR2+23Jx2Jc+Uljm6lt4C/EZJDaszBzOyZnKMM150HrCDUi15jZgc3Vl867XU5L4L7\n/HMYNiwMYm60UUgSp5/uG7SVi0cegSuugKlTW1YFL+cKIY7k8LKZHZR3ZHWvOxc4wMw+TjtWb33p\njNflvUK6piZsw3vTTWEP95/+NNzat8/rsi5GXqPBufzEkRz+QuhOeoTabiXM7NVcg4yuOxc40MyW\nph2rt750xusKun3G9OmhhOC998KJJ4ZZTsVcteia5jUanMtfHMmhmnrKdeY7lVXSHOATQrfS7Wb2\nT0nLzKxd9LyAj1OP014Xy95KH38cBjlvuQV23jkkiZNOCmsqXLK8RoNz+SubFdKStjWzhZK2BiYC\nlwCPpCcDSR+b2RYZr4t14701a+DBB8NU2IULw8B1587h1qVL+NOnxRaP12hwrjCamxyavbmxpJOB\nhZm1nZvLzBZGfy6R9B9CedDFktqn1Zf+sL7XDho06Kv7VVVVVBWwgnzr1nDaaeH22mtha4aZM+H+\n+2HWLJg9OySH9GSRuu26K2y8ccFCafFqasK01Suu8MTgXHNVV1dTXV2d8+ub3XKQ9Cdgb6C1mfXK\n6U2ljYFWZvappDbABOAq4BjqqS+d8dpEt+yuqYEPPgiJYtaskDhS9+fOha22qj9x7Lyzd4k0l9do\ncK5wCrkr6ylmNlrSzmY2p2ARhmt3Av4TPVwPGGFmf4qmstZbXzrttSVbz2HdutANkp4wUvfnz4ft\ntqvbRdW5c1ik519+X+c1GpwrrEImhylm1jX1Z8EizFMpJ4fGrFkD8+Z9PXGkbgsXwk47hYRRVRX2\nhNptt5a7SM9rNDhXeIVMDk8QZikdBDyX8XRZrZAudV9+CXPmhGm1EyeGYiCtW9cWLa+qKn7VqCR5\njQbnCq+QyWF9oBswHDgfSL9o3iukc1WJySGTWdh6PFVecOrUMGsqlSx22inpCOPjNRqci0chk8Nw\nMztL0q/MbHDBIsxTS0gOmZYtCyu6x44Nv6a/+c3aRNGjR3GrScVp5cowbfV3v4Mzzkg6GucqSyGT\nw3TC7KHHgarM59O3vSimlpgc0q1bFxaDpVoV77wDxxwTkkWvXuW9BYjXaHAuPoVMDpcCFwI7Ax9k\nPG1mtnPOUeahpSeHTIsWhdbE2LFhvKJz59Ci6NMHDjywfIodeY0G5+IVx/YZfzezn+YdWYF4cmjY\nmjVhIHfMmJAsliwJ/fe9e8O3vw3tSrQqx4oVYVO9W28NsTrnCi+W7TMk7QccQZi99JyZTc09xPx4\ncsje3LmhVTFmTFhI1rVr7VjF3nuXTteN12hwLn5xtBwuAy4AHiTMWDoZ+KeZ3ZxPoLny5JCblSvh\n6adrxyrWravtfjrqKGjTJpm4vEaDc8URR3J4A+huZp9Hj9sAL5rZPnlFmiNPDvkzCyuQU91PL78c\nZj2lksUuuxQnDq/R4FzxxJUcDjazldHjjYBJnhwqx4oVtYvvxo6Ftm1ru58OPzyePaG8RoNzxRVH\ncvg5cA5f71a608z+mkecOfPkEK+amrAbbapVMX166Hbq3TvcCrUwzWs0OFdccQ1IHwAcRu2A9JTc\nQ8yPJ4fi+ugjePzxkCjGj4cOHWpbFd2751YMyWs0OFd8zU0OWc2CN7PJZnaTmd0cd2KQ1EvSDEmz\nojrSLUo++6/HYaut4Ic/hJEjYfHiMN3UDC6+OKzU/sEPYMSIkESaUl1dXdE1Gkrt767Q/PO1LCW1\nREpSK+AWoBewJ3CGpD2Sjaq4Svkf6HrrhYHra64JXU9Tp0LPnjB6dBjEPvRQ+OMf4dVXQwLJVF1d\nza23whdfwC9/Wfz441bKf3eF4J+vZSm1KgIHA7PNbB6ApHuAk4C3kgzK1W+HHeCCC8Jt1aqwlmLs\nWDj9dPjss7AAr0+fsL1H27ahdXHrraFGg9evcK60lVTLAdgemJ/2eEF0zJW4DTaAY4+Fv/411Kx4\n5hnYd9+wsG377eHoo8OU1auu8uI9zpWDbGYrfQ+4FtiG2m27zczaFjyY8F69zOyC6PEPgUPM7JK0\nc3w02jnnctCcAelsGveDgRPMrBhdO+8DHdIedyC0Hr7SnA/nnHMuN9l0Ky0qUmIAeAXoLKljVGzo\nNOCRIr23c865SDYth1ck3Qs8BKyOjpmZPVjoYMxsraSfAeOBVsAdRUxMzjnnItmMOdwZ3f3aiWZ2\nbkwxOeecS1hWK6RLgaRewI2EFsW/zKxiduSR1AEYBnyTkIT/kdSut3GK1rG8Aiwws+8kHU8hSdoc\n+BewF+HvsK+ZvZhsVIUjqT/wQ6AGeAM418xWJRtVbiQNBfoAH6b2iJO0BXAvsBMwDzjVzJYnFmQe\nGvh81wMnEHp/3iH8/X3S2HWaHHOQ9O+M29DozYumBSyOWwNcYWZ7Ad2Biyvs86VcBkwnoxXaXJJ2\nk/SapBWSLpF0p6SrCxNi1jHUSEqvhngTMNbM9gD2pcBrcySNlXRWIa/ZjPfuSNi2v1v0ZdMKOD2J\nWArk34TvknT9gIlm1gV4Mnpcrur7fBOAvcxsP2Am0L+pi2QzID0GeCy6PQlsBnzerFDz99XiODNb\nA6QWx1UEM1tkZq9F9z8jfLFsl2xUhSVpB6A34dd1vjPOfgU8aWZtzWwIIdkk1gSWtBlwuJkNhTB2\n1tSvsiauN0jS8PRjZtbbzIY39JqYrSD8gNlY0nrAxoSZhWXJzJ4DlmUcPhG4K7p/F2GD0bJU3+cz\ns4lmVhM9fAnYoanrNDkgbWb3pz+WNBJ4PvtQC6K+xXGHFDmGooh+pXUl/AVWkr8CvwQKsT5mJ+CF\njGNJTnHuBCyR9G9gP2AycJmZfZF5oqT1zGxtsQPMh5l9LOkG4D1gJTDezJ5IOKxC28bMFkf3FxPW\ndVWqvsCopk7KZYV0F2DrHF6Xj/IYGMmTpE2A+wlfLJ8lHU+hSDqB0P85hTy/xCU9BVQBt0TdSnXW\nW0u6INq4camkhyVtGx2/StLN0f3Wkj6XNDh6vJGkL6Oxg/re95eSPpC0QFLfjKfvAA4AbjOzboTk\n9Vbaa2skXSRpFvB2dOwmSe9J+kTSK5IOi473IjT5T5P0qaQp0fFqSedF9yXpt5LmSVos6S5JbaPn\nOkbvd7akdyUtkTQgp//YtfHvAlwOdCS0aDeRdGY+1yxl0bbPFfmdI+k3wGozG9nUudmMOXwW/SP9\nVNIK4FGg2LulNrk4rtxJag08ANxtZg8lHU+BHQqcKGku4RfLUZKG5XIhMzsKeA64OOpWmpX+vKSj\ngGuAU4BtgXcJ3ZAA1YTEAnAQsJBQGx3gW8Bb9Q1CRl/YVwLHEH4cHZNxypfAMjN7OXr8MpBZ9PSk\n6D33jB5PIrQy2gEjgdGS1jezx6P47zGzTc2sa+qjU/uFdS7wo+iz7By91y0Z79cjivVo4PeSds/8\nXM1wIPAvpfT6AAAYa0lEQVSCmS2NWj0PEv5OK8liSe0Boh8THyYcT8FJOofQtZtVYm80OUgSsGf0\nj3TT6H/Gzmb2QP6hNktFL46L/jvfAUw3sxuTjqfQzGyAmXUws06EgcynzOzsPC+b2QJJfXGeSVgf\n85qZrSb8Cv+WpB2BFwn/jrYADif8N99eofTtkcAzDbzXqcBQM5sedRUNzHh+NfCxpC7R472AzC6l\nP5nZ8tQMHzMbYWbLzKzGzP4CbADslvbZGmthnQncEI3BfR59xtMlpf//fJWZrTKz14GphESUqxlA\n96h1JUJynJ7H9UrRI4SES/RnRf1Ai37g/BI4ycy+zOY12Q5IJyr6tZJaHDcduLfCFsf1IEwT7Clp\nSnTLnG1QSQrRZG/oGqnWQjgpfHkuBbaPSt2+QkgERxCSwQuE//6pxw1dM33M6716zhkJjJA0lTDY\nNz/j+a89lvQLSdMlLZe0jDDRY6sG3r++eN5Ne/weYfwwvZ98Udr9L4A2WV67DjObSphq/QrwenT4\nH7leL2mSRhH+3neTNF/SuYT9446VNBM4Knpclur5fH2BIYQW5sTo++W2pq7T6IC0mZmkVyUdbGaT\nChJ5jsxsHDAuyRjiYmb/pfR2yI2FmT1Dw1/ChfABoW8cgKhVsCW1s2ueIXS1dCV0/zxDmPZ3MPBs\nA9dcCOyY9njHjOc/Bz42s4Oi9+xHmGee7qtkJulwwq+4o8xsWnTsY9I2tmzOZ4ziWUsYSM2MrSDM\nbDBhn7WyZ2ZnNPBUZndhWWrg8zV7+UE2X0jdgf9JmiPpjej2epOvci5eyrifejwKOFfSfpI2IPTf\nv2hmqV/7zwBnA9OiadHVwPnAHDNb2sB73QecI2kPSRtTt1vpNeD/om6XXYHzmoh9U8KX+UeS1pf0\ne74+i2sR0DHqwqnPKOCKqJt1E2rHKGoaOB+Snc3lylA2yeE4YBdCU+s70e3EOINyLguWcd8AzOxJ\n4HeEwf0PCNNM0xds/Q/YkNpWwluE6ZkNtRqIBolvBJ4iLCB6MuP9/0oYd1hMWIB0dz3xpXs8us0k\nrMZdyde7qkZHfy6V9Eo9IQ0FhkcxzyF0G12S9nx9LY+KnH3j4hPb9hlqYEsISYMIv9SWRKcOiLqM\nUkv0+wLrgEvNbEIswTnnnGtUnMmhPdDezF6Lmr6TCasOTwU+jWZopJ+/J2FQ7yDCorcngC5NNJWd\nc87FILZB0Aa2hEiV/Kyv//MkYJSZrbFQQ3o2YZDQOedckRVlhoxqt4RI7VJ5iaSpku5IW5G6HV9f\n2Ob1o51zLiHZFPvJizK2hJD0N+AP0dNXAzfQ8OyOOn1e8hrSzjmXk+aUWY615VDflhBm9qFFCDt0\nprqOMrfI2IEGdn40s4q9DRw4MPEY/LP55/PPV/jbsmXGaacZ++xjTJtW/M/XXLElh4a2hIj2LUn5\nLqFwCITl66dH8747AZ0J+88451xZ+9//oGtX2GoreOkl2HPPpl+TtDi7lVJbQrye2lkSGEAo1LM/\noctoLvATADObLuk+wvYYa4GLLJd055xzJWLdOrjuOrjpJvjHP+CkMqpCE1tysIa3hGhwCwwzu4aw\n2rPFqqqqSjqE2FTyZwP/fOWu0J/v/ffhrLOgpgYmT4YdmiyvU1rKpoZ0iiRvUDjnStpjj8H558PF\nF8OAAdCqVdIRgSSsGQPSsc9Wcs65luLLL+HXv4aHH4YHHoAePZKOKHeeHJxzrgBmzIDTT4ddd4Up\nU6Bdu6Qjyk+L2CbaOefiYgZ33AGHHx66kUaPLv/EAN5ycM65nC1fDj/9KUyfDs88Ux5TVLPlLQfn\nnMtBOa5daA5vOTjnXDOU89qF5vDk4JxzWSr3tQvN4d1KzjmXhccegwMOgJ494cknKzsxgLccnHOu\nUZW0dqE5PDk451wDKm3tQnPEuStrB0lPS5om6U1Jl0bHt5A0UdJMSRPSiv0gqb+kWZJmSPp2XLE5\n51xjKnXtQnMkUUP6XOAjMxss6ddAOzPrl20Nad9byTkXp/S1C/fcUzlTVJu7t1ISNaRPBO6KTruL\nkDDAa0g75xKWWruw9dYwaVLlJIZcFGXMIa2G9EvANma2OHpqMbBNdH87amtMg9eQds4VSWrtws03\nw+23V+7aheYoVg3pBwg1pD8NBeICM7MmakJ7/5FzLlbpaxdeeaXyp6hmK9bkkFZDerhFNaSBxZLa\nm9miqGToh9HxrGtIDxo06Kv7VVVVFV+ExDkXj1TdhZ/9DPr3L426C4VSXV1NdXV1zq+Pc0BahDGF\npWZ2RdrxwdGx6yT1AzbPGJA+mNoB6V0zR599QNo5l6/0tQsjRrSMtQulVOynvhrS/YFrgfsknQfM\nA04FryHtnCuO1NqFzp1b3tqF5vAyoc65FsEMhg6Ffv3gmmtCd5Ky/h1d/kqp5eCccyWhkusuxMU3\n3nPOVbRKr7sQF285OOcqUkupuxAXTw7OuYrTkuouxMW7lZxzFaWl1V2Ii7ccnHMVoaXWXYiLJwfn\nXNlryXUX4uLdSs65suV1F+LjLQfnXFnytQvx8paDc67s+NqF+DWYHCSdEv25c/HCcc65hq1bF7a+\nOPlkuPFGuOUW2GijpKOqTA3urSRpipl1Tf1Z5Lga5HsrOdcyffBBWLuwbh3cfbdPUW2uQpYJXSpp\nItBJ0qMZt0eyDGaopMWS3kg7NkjSAklTotvxac/1lzRL0gxJ3872QzjnKttjj0G3blBV5WsXiqWx\nlsP6QDdgOHA+kJ5xzMyeafLi0uHAZ8AwM9snOjYQ+NTM/pJxbqqew0HU1nPoYmY1Ged5y8G5FmLV\nKvjVr1pW3YW4FHJX1jvM7CxJ/8wmEdTHzJ6L6kdnqi/Ak4BRZrYGmCdpNqHwz4v1nOucq3AzZsAZ\nZ8Auu/jahSQ01q10gKTtgB9K2iLzluf7XiJpqqQ7JG0eHdsOWJB2zgJCC8I514KsWAE33BDWLlx0\nka9dSEpjLYe/A08COwOTM56z6Hgu/gb8Ibp/NXADcF4D59bbf+Q1pJ2rPO+8A0OGwPDhcOyxvnYh\nX7HXkJb0dzP7ac5vELqVHk2NOTT0XFRPGjO7NnrucWCgmb2U8Rofc3CuQphBdXXYVvv55+G888JK\n5w4dko6s8hS8EpyZ/VTSfsARhF/yz5nZ1DwC3NbMFkYPvwukZjI9AoyU9BdCd1JnYFKu7+OcK11f\nfgmjRoW1CmvWwGWXhQHnNm2SjsylNJkcJF0GXAA8SBhIvjsapL45i9eOAo4EtpI0HxgIVEnan5Bo\n5gI/ATCz6ZLuA6YDa4GLvIngXGVZuBD+9je4/fawrfb114cupJZUy7lcZNOt9AbQ3cw+jx63AV6s\nr5uoGLxbybnyM3lyaCU89hj84AdwySWw++5JR9WyFHIRXLqaBu4751y91q6F++8Ps46++13Yd1+Y\nMwduvdUTQznIZlfWfwMvSUp1K50MDI01Kudc2Vq2LGyjPWRIGFi+/PKwF9J6vgd0WWmyWwlA0gHA\nYdQOSE+JO7BGYvFuJedK0Ntvw803w8iRcMIJYZD5wAOTjsqlFHy2EoCZTabuWgfnXAtnBhMnhvGE\nyZPhxz+GadNgu+2Sjszlyxt6zrlm++KLsFjt5puhVavQdfTAA759diXx5OCcy9qCBWFA+V//gkMP\nDeMKPXv6VNRK5JXgnHONWrUKJkyA008PM45WrgyV2B5+GI46yhNDpcpmEdz3gGuBbajdTdXMrG2c\ngTnnkrNgAYwdG25PPw177QWnnhoWr222WdLRuWLIZhHcO8AJZvZWcUJqnM9Wcq7w1q6FF18MyWDM\nmJAcjjsO+vQJf261VdIRunzFMVtpUakkBudc4SxZAuPHh2QwYQLsuCP07g233QaHHOLrElq6bFoO\nNwHtgYeA1dFhM7MHY46toXi85eBcDmpq4LXXQjIYOxamTw9jBn36wPHHw/ZePaWiNbflkE1yuDO6\n+7UTzezcLIIZCvQBPkwrE7oFcC+wEzAPONXMlkfP9Qf6AuuAS81sQj3X9OTgXJZWrAjrEMaMgXHj\noG3bkAx69w7bWmywQdIRumIpeHLIM5j6akgPBj4ys8GSfg20M7N+XkPaufyZhfKaqdbByy+Husu9\ne4fbrrsmHaFLSsHHHCT9O+OQAZhZ36Ze20AN6RMJ23gD3AVUA/3wGtLO5WTlylAwJ5UQ1qwJrYMr\nrgjdRl4jweUimyGnMdR2KW1EKNDzQR7vuY2ZLY7uLyZMkYVQQzo9EXgNaVc2Fi6E118Pv9yLZc6c\nkAyefRb23z8khIcfhr339rUHLn/ZVIK7P/2xpJHA84V4czMzSY397+Q1pF1JWrcOJk2qnfo5d24o\nXlPMGT7t28NZZ4VtLNq1K977uvIQew3pOi+QdgceM7Osei8za0hLmgFUmdkiSdsCT5vZ7l5D2pW6\njz+unfo5fjxsu23ox+/TB771LZ/66UpbHGMOn1H7C94IXUG/zi08INSK/hFwXfTnQ2nHvYa0Kxlm\noaso1Zf/+utQVRWSwTXXhHUBzlWqRlsOkgR0MLP3crp4Wg1pQlL5PfAwcB+wI3Wnsg4gTGVdC1xm\nZuPruaa3HFxsPvsMnniiduuIDTesnfp55JHhsXPlqKBTWaPk8HpS9aLr48nBFdrMmbVjBy++CN27\n13YXde7sg7uuMhS0WykaMH5V0sFm5l08riJ8+SU880xt6+CLL0IyuPhiePBB2HTTpCN0LnnZrJB+\nG9gVeBf4PDpsZrZvzLE1FI+3HFyzzZ9f2zqoroZ99qntLtpvP28duMoXx/YZHes7bmbzmhNYoXhy\nKE9m8M47sHp10+cWypIlYcuIsWPhgw+gV6+QDI47DrbcsnhxOFcKSmr7jDh4cigvX34J99wTagwv\nWVLcWgCbbgrHHhtaCAcfHMpZOtdSeXJwJWHRIvj738Nt//3hssvCL/ZveO1B5xLR3OTg/6u6gnr1\nVfjRj2CPPUKCeOopePzxsCW0Jwbnyof/7+rytm5dmOVzxBFw0kmw555hfOHvfw/3nXPlxxf8u5wt\nXw533AG33BK2krjsMvi//4PWrZOOzDmXL08OrtlmzYKbb4YRI8IMoHvuCWUlnXOVw7uVXFbMwrYS\nJ5wAhx4aKoq98QaMHOmJwblK5C0H16iVK+Huu+Gmm8Ljyy+H0aNho42Sjcs5F6/EkoOkecAKQr3o\nNWZ2cGP1pV1xvf8+3HYb/POfYY3AjTfC0Uf7SmLnWooku5WMUNehq5kdHB3rB0w0sy7Ak9FjV0ST\nJsEPfhCqia1YAf/9Lzz2GBxzjCcG51qSpMccMr9uTiTUlSb68+TihtMyrVkD994bxhJOPRUOPDBU\nNhsyBLp0STo651wSElshLWkO8AmhW+l2M/unpGVm1i56XsDHqcdpr/MV0gXy8ceh2+iWW6BTpzCe\ncOKJXtHMuUpU8EpwMephZgslbQ1MjMqHfiWL+tIuC+vWhR1JZ82qvc2cGf784AP43vdCUfpu3ZKO\n1DlXShJLDma2MPpziaT/AAcDiyW1T6sv/WF9rx00aNBX96uqqqiqqoo/4BJmFr7oM7/8Z82COXPC\nDqSdO4cuos6dQ6nLzp1h5529splzlaq6uprq6uqcX59It5KkjYFWZvappDbABOAq4BhgqZldJ6kf\nsLmZ9ct4bYvsVjILu5rWlwBmzYJNNqn98k/dunSBXXaBNm2Sjt45l7Sy2JVVUifgP9HD9YARZvan\naCprvfWl015b0clh2bL6v/xnzgxbTqcngPT7bdsmHblzrpSVRXLIR6Ulh2XLYMKEUJBmwgT4/PP6\nv/w7d/YCNc653HlyKHFm8OaboVzl2LEwZUrYzbRPn7BPUadOvp7AOVd4nhxK0Oefw5NP1ha0b9Wq\ntn5xz56+FYVzLn7lNJW1os2eXVvQ/oUX4KCDQjIYPx52391bB8650uYthwJZtQqee662u2jFipAM\nevcOdYx9wNg5lyTvViqi99+v7Sp66qlQ9ax379BltP/+XhbTOVc6PDnEaN06ePHF2u6i+fPhuONC\nQujVC7baKpGwnHOuSZ4cCuyjj8I4wZgx4c8OHWpbB4cc4vsQOefKgyeHPJmF6aWp7qJp08KMoj59\n4PjjYYcdYntr55yLjSeHHKxYEUpgjhkD48aFrShSU02POAI22KCgb+ecc0XnySELZvD227UziyZN\nCrUMUrOLOncuULDOOVciPDk0YOVKqK6uHUxes6a2dXDUUaG14JxzlarsF8FJ6gXcCLQC/mVm1+V6\nrXffrW0dPPtsmF7au3eoX7D33r4QzTnnGlJSM/EltQJuAXoBewJnSNoj29evWRNaB7/6Fey1Vyh3\n+eKLcNZZIVE8+yz06wf77FO6iSGf/ddLXSV/NvDPV+4q/fM1V0klB0LBn9lmNs/M1gD3ACc19oJF\ni+DOO+GUU+Cb34Rf/CLsVTR0aHhu2DA47TRo166xq5SOSv4HWsmfDfzzlbtK/3zNVWrdStsD89Me\nLwAOyTzppZdqp5rOng3HHBO6i4YMgfbtixarc85VrFJLDlmNNPftG5LB9ddDjx7QunXcYTnnXMtS\nUrOVJHUHBplZr+hxf6AmfVBaUukE7JxzZaRsp7JKWg94Gzga+ACYBJxhZm8lGphzzrUwJdWtZGZr\nJf0MGE+YynqHJwbnnCu+kmo5OOecKw2lNpW1QZJ6SZohaZakXycdTyFJ6iDpaUnTJL0p6dKkY4qD\npFaSpkh6NOlYCk3S5pLul/SWpOnR+FnFkNQ/+vf5hqSRksp2xzFJQyUtlvRG2rEtJE2UNFPSBEmb\nJxljPhr4fNdH/zanSnpQ0mZNXacskkO+i+PKwBrgCjPbC+gOXFxhny/lMmA6Wc5KKzM3AWPNbA9g\nX6BiukMldQQuALqZ2T6ELt/Tk4wpT/8mfJek6wdMNLMuwJPR43JV3+ebAOxlZvsBM4H+TV2kLJID\nOSyOKydmtsjMXovuf0b4Ytku2agKS9IOQG/gX0CJrk/PTfQr7HAzGwph7MzMPkk4rEJaQfgBs3E0\naWRj4P1kQ8qdmT0HLMs4fCJwV3T/LuDkogZVQPV9PjObaGY10cOXgCaLD5RLcqhvcdz2CcUSq+hX\nWlfCX2Al+SvwS6CmqRPLUCdgiaR/S3pV0j8lbZx0UIViZh8DNwDvEWYRLjezJ5KNquC2MbPF0f3F\nwDZJBhOzvsDYpk4ql+RQid0QdUjaBLgfuCxqQVQESScAH5rZFCqs1RBZD+gG3GZm3YDPKe9uia+R\ntAtwOdCR0KLdRNKZiQYVo2jb54r8zpH0G2C1mY1s6txySQ7vAx3SHncgtB4qhqTWwAPA3Wb2UNLx\nFNihwImS5gKjgKMkDUs4pkJaACwws5ejx/cTkkWlOBB4wcyWmtla4EHC32klWSypPYCkbYEPE46n\n4CSdQ+jazSqxl0tyeAXoLKmjpPWB04BHEo6pYCQJuAOYbmY3Jh1PoZnZADPrYGadCAOZT5nZ2UnH\nVShmtgiYL6lLdOgYYFqCIRXaDKC7pI2if6vHECYWVJJHgB9F938EVNQPtKgUwi+Bk8zsy2xeUxbJ\nIfq1klocNx24t8IWx/UAfgj0jKZ6Ton+MitVJTbZLwFGSJpKmK10TcLxFIyZTQWGEX6kvR4d/kdy\nEeVH0ijgBWA3SfMlnQtcCxwraSZwVPS4LNXz+foCQ4BNgInR98ttTV7HF8E555zLVBYtB+ecc8Xl\nycE551wdnhycc87V4cnBOedcHZ4cnHPO1eHJwTnnXB2eHJyLgaTNJF2Y9riqErcqd5XLk4Nz8WgH\nXJR0EM7lypODa/GibVlmRLuqvi1phKRvS3o+Kv5yUFQM5qGoWMr/JO0TvXZQVFzlaUnvSLokuuy1\nwC7RatTBhFXhm0gaHRVduTvt/a+NCulMlXR98f8LOFdXSdWQdi5BuwDfI2zP8jJwmpn1kHQiMICw\nZfxkMztZUk/CdhJdo9d2AXoCbYG3o60Jfk0ortIVQrdSdP6ewELgeUk9CPsWnWxmu0fntS3Gh3Wu\nKd5ycC6Ya2bTou2apwGpegVvEOo1HAYMBzCzp4EtJW1KaBGMMbM1ZraUsJvnNtS/NfkkM/sgeo/X\ngJ2A5cCXku6Q9F1gZXwf0bnseXJwLliVdr8GWB3dN0JZTKPhWhSr0+6vo+EW+aqM81qb2TpCpcP7\ngROAx5sXtnPx8OTgXHaeI9oHP+oiWmJmn9JwwvgU2LSpi0pqA2xuZuOAnwP7FSRa5/LkYw7OBZnb\nE1vG/auAodGW3J9Tu/d/vVXDzGxpNKD9BqEk49gG3mNT4GFJGxISzRX5fhDnCsG37HbOOVeHdys5\n55yrw5ODc865Ojw5OOecq8OTg3POuTo8OTjnnKvDk4Nzzrk6PDk455yrw5ODc865Ov4fj5I2Zx0G\nJg4AAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fb70255f810>"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.6 Page 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9.ipynb b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9.ipynb
new file mode 100644
index 00000000..fab737f3
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/Chapter9.ipynb
@@ -0,0 +1,296 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:5804a8cf03ec2dc9fe48e7282fc5bb2ad9c57bb262c9f4fea9720f853cbc6882"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Ch-9, Nuclear Power Stations"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.1 Page 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "energy equivalent of 1 gram is 25000000kWh\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.2 Page 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " energy evalent in joules is 1.494000e-10joules \n",
+ " energy equvalent in Mev is 932MeV \n",
+ " hense shown\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.3 Page 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.4 Page 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.5 Page 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.6 Page 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.7 Page 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import log\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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve.png b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve.png
new file mode 100644
index 00000000..9993d13d
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/EnergyLoadnMassCurve.png
Binary files differ
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2.png b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2.png
new file mode 100644
index 00000000..be07af4b
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadCurve2.png
Binary files differ
diff --git a/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur.png b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur.png
new file mode 100644
index 00000000..c21d78a0
--- /dev/null
+++ b/Generation_Of_Electrical_Energy_by_B._R._Gupta/screenshots/loadDurnECur.png
Binary files differ
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter11_Control_of_DC_Motors.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter11_Control_of_DC_Motors.ipynb
new file mode 100644
index 00000000..e8d8bf79
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter11_Control_of_DC_Motors.ipynb
@@ -0,0 +1,402 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter11 Control of DC Motors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example11.1,Pg.no.30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rated motor current=Idc= 434.8 amps\n",
+ "Hence AC voltage for six pulse configuration= 408.89 volts\n",
+ "AC rating of field converter = 170.37 V\n",
+ "DC power= 2300.0 Watts\n",
+ "AC power= 2415.0 Watts\n",
+ "Field converter shall be locked at an angle of A= 35.61 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import pi \n",
+ "Idc=(200.0/460.0)*(1000.0) #Rated motor current in amps\n",
+ "Idc=round(Idc,1)\n",
+ "print 'Rated motor current=Idc=',Idc,'amps' #Thus the main armature converter will be having dc side rating of 500Amps and 460 volts \n",
+ "Ac=552.0/1.35\n",
+ "Ac=round(Ac,2)\n",
+ "print 'Hence AC voltage for six pulse configuration=',Ac,'volts' #Hence a 3phase ,415v AC supply will be adequate for armature control\n",
+ "AC=230.0/1.35\n",
+ "AC=round(AC,2)\n",
+ "print 'AC rating of field converter =',AC,'V'\n",
+ "DCp=230.0*10.0\n",
+ "print 'DC power=',DCp,'Watts'\n",
+ "ACp=1.05*2300\n",
+ "print 'AC power=',ACp,'Watts'\n",
+ "Edca=(170+170/10)*1.35 #available voltage in volts\n",
+ "Edc=1.35*230\n",
+ "A=math.acos(Edca/Edc)*180/pi\n",
+ "A=round(A,2)\n",
+ "print 'Field converter shall be locked at an angle of A=',A,'degrees'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example11.2,Pg.no.31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Required voltage after allowing 10 percent drop=Edca= 484.0 volts\n",
+ "Cosine of the locked angle=C= 0.86\n",
+ "Converter shall be locked at an angle of A = 30.68 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi \n",
+ "Vdc=440.0 #Rated dc voltage in volts\n",
+ "Edca=Vdc+Vdc/10.0 #Required voltage after allowing 10 % drop\n",
+ "print 'Required voltage after allowing 10 percent drop=Edca=',Edca,'volts'\n",
+ "Edc=1.35*415.0\n",
+ "C=Edca/Edc\n",
+ "C=round(C,2)\n",
+ "print 'Cosine of the locked angle=C=',C\n",
+ "A=math.acos(C)*180/pi #locked angle in degrees\n",
+ "A=round(A,2)\n",
+ "print 'Converter shall be locked at an angle of A =',A,'degrees'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example11.3,Pg.no.32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Eb1= 210.0 volts\n",
+ "Eb2= 105.0 volts\n",
+ "Edca2= 145.0 volts\n",
+ "Cosine of the firing angle corresponding to 500 rpm load=C2= 0.63\n",
+ "firing angle corresponding to 500 rpm load A= 50.95 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi\n",
+ "Edca1=230.0\n",
+ "N1=1000.0\n",
+ "N2=500.0\n",
+ "Eb1=210.0\n",
+ "Eb1=Edca1-20.0\n",
+ "print 'Eb1=',Eb1,'volts'\n",
+ "Eb2=Eb1*N2/N1\n",
+ "print 'Eb2=',Eb2,'volts'\n",
+ "V=40.0 #motor armature drop at rated load in volts\n",
+ "Edca2=Eb2+V\n",
+ "print 'Edca2=',Edca2,'volts'\n",
+ "C1=1.0 #cosine of the firing angle corresponding to 1000 rpm load\n",
+ "C2=C1*Edca2/Edca1 #cosine of the firing angle corresponding to 500 rpm load\n",
+ "C2=round(C2,2)\n",
+ "print 'Cosine of the firing angle corresponding to 500 rpm load=C2=',C2\n",
+ "A=math.acos(C2)*180/pi #firing angle corresponding to 500 rpm load in degrees\n",
+ "A=round(A,2)\n",
+ "print 'firing angle corresponding to 500 rpm load A=',A,'degrees'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example11.4,Pg.np.32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rated output voltage from the converter= Edca1= 506.0 volts\n",
+ "Cosine of the triggering angle=C2= 0.6 Triggering angle=A2= 34.38 degrees\n",
+ "Powerfactor=PF2= 0.59\n",
+ "Reactive power at 75 percent load=RP2= 71.12 KVAR\n",
+ "Sixth harmonic ripple current=I6= 16 Amps\n",
+ "Inductance required in dc circuit=L= 4.06 mH\n",
+ "Cosine of the triggering angle=C1= 0.9\n",
+ "Triggering angle=A1= 51.57 degrees\n",
+ "Powerfactor=PF1= 0.9\n",
+ "Reactive power at 75 percent load=RP1= 51.2 KVAR\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "Edca1=1.15*440.0 #Rated output voltage from the converter for rated speed of750rpm\n",
+ "print 'Rated output voltage from the converter= Edca1=',Edca1,'volts'\n",
+ "N1=750.0\n",
+ "N2=500.0\n",
+ "Edca2=Edca1*N2/N1\n",
+ "E2=415.0\n",
+ "C2=Edca2/(1.35*E2)\n",
+ "C2=round(C2,2)\n",
+ "print 'Cosine of the triggering angle=C2=',C2,\n",
+ "A2=C2*180/pi\n",
+ "A2=round(A2,2)\n",
+ "print 'Triggering angle=A2=',A2,'degrees'\n",
+ "PF2=C2*(1+math.cos(15.0*pi/180.0))/2\n",
+ "PF2=round(PF2,2)\n",
+ "print 'Powerfactor=PF2=',PF2\n",
+ "Id=200 #dc current in amps\n",
+ "I2=0.75*0.817*Id #Current at 75 percent load in amps\n",
+ "RP2=sqrt(3)*E2*I2*sqrt(1-PF2**2)/1000 #Reactive power drawn at 75% load\n",
+ "RP2=round(RP2,2)\n",
+ "print 'Reactive power at 75 percent load=RP2=',RP2,'KVAR'\n",
+ "h=6\n",
+ "Wv=24.17 #maximum voltage ripple in percent\n",
+ "Wi=8 #maximum permissible current ripple in percent\n",
+ "I6=Wi*Id/100\n",
+ "print 'Sixth harmonic ripple current=I6=',I6,'Amps'\n",
+ "W=314\n",
+ "L=(Wv*Edca1*10)/(I6*h*W)\n",
+ "L=round(L,2)\n",
+ "print 'Inductance required in dc circuit=L=',L,'mH'\n",
+ "C1=Edca1/(1.35*E2)\n",
+ "C1=round(C1,2)\n",
+ "print 'Cosine of the triggering angle=C1=',C1\n",
+ "A1=C1*180/pi\n",
+ "A1=round(A1,2)\n",
+ "print 'Triggering angle=A1=',A1,'degrees'\n",
+ "PF1=C1*(1+math.cos(15*pi/180))/2\n",
+ "PF1=round(PF1,1)\n",
+ "print 'Powerfactor=PF1=',PF1\n",
+ "I1=0.817*Id # Current at 75 percent load in amps\n",
+ "RP1=sqrt(3)*E2*I1*sqrt(1-PF1**2)/1000.0 #Reactive power drawn at 75% load\n",
+ "RP1=round(RP1,1)\n",
+ "print 'Reactive power at 75 percent load=RP1=',RP1,'KVAR'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example11.5,Pg.no.34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cosine of the triggering angle=C= 0.82\n",
+ "Triggering angle=A= 47.0 degrees\n",
+ "Cosine of the triggering angle=C10= 0.1\n",
+ "Triggering angle=A10= 5.7 degrees\n",
+ "Active power drawn from the system at rated speed=AP= 104.5 KW\n",
+ "Reactive power drawn from the system=RP= 72.9 KVAR\n",
+ "Activepower drawn from thesystem at 10 percentrated speed=AP10= 12.7 KW\n",
+ "Reactive power drawn from the system=RP10= 126.8 KVAR\n",
+ "P= 1.7\n",
+ "Thus reactive power has increased by 74.589 percent due to reduction in motor speed\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "Edca=460\n",
+ "E2=415\n",
+ "C=Edca/(1.35*E2)\n",
+ "C=round(C,2)\n",
+ "print 'Cosine of the triggering angle=C=',C\n",
+ "A=C*180/pi\n",
+ "A=round(A,1)\n",
+ "print 'Triggering angle=A=',A,'degrees'\n",
+ "Edca10=0.1*460\n",
+ "C10=Edca10/(1.35*E2)\n",
+ "C10=round(C10,1)\n",
+ "print 'Cosine of the triggering angle=C10=',C10\n",
+ "A10=C10*180/pi\n",
+ "A10=round(A10,1)\n",
+ "print 'Triggering angle=A10=',A10,'degrees'\n",
+ "Id=10**5/Edca #dc current in amps\n",
+ "I2=0.817*Id #Current at rated speed in amps\n",
+ "AP=sqrt(3)*E2*I2*C/1000\n",
+ "AP=round(AP,1)\n",
+ "print 'Active power drawn from the system at rated speed=AP=',AP,'KW'\n",
+ "RP=sqrt(3)*E2*I2*sqrt(1-C**2)/1000 #Reactive power drawn from the system\n",
+ "RP=round(RP,1)\n",
+ "print 'Reactive power drawn from the system=RP=',RP,'KVAR'\n",
+ "AP10=sqrt(3)*E2*I2*C10/1000\n",
+ "AP10=round(AP10,1)\n",
+ "print 'Activepower drawn from thesystem at 10 percentrated speed=AP10=',AP10,'KW'\n",
+ "RP10=sqrt(3)*E2*I2*sqrt(1-C10**2)/1000 #Reactive power drawn from the system\n",
+ "RP10=round(RP10,1)\n",
+ "print 'Reactive power drawn from the system=RP10=',RP10,'KVAR'\n",
+ "P=RP10/RP\n",
+ "P=round(P,1)\n",
+ "print 'P=',P\n",
+ "print 'Thus reactive power has increased by 74.589 percent due to reduction in motor speed'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example11.6,Pg.no.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Reactive power at rated speed and rated load =72.79KVAR\n",
+ "Reactive power at rated speed and 10 percent load= 7.279 KVAR\n",
+ "reactive power at 10 percent speed and 10 percent load= 12.708 KVAR\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#given\n",
+ "Rp=72.79\n",
+ "Rp1=0.1*72.79 #Reactive power at rated speed and 10 percent load \n",
+ "Rp2=0.1*127.08 #reactive power at 10 percent speed and 10 percent load\n",
+ "print 'Reactive power at rated speed and rated load =72.79KVAR'\n",
+ "print 'Reactive power at rated speed and 10 percent load=',Rp1,'KVAR'\n",
+ "print 'reactive power at 10 percent speed and 10 percent load=',Rp2,'KVAR'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example11.7,Pg.no.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Eb2= 328 volts\n",
+ "Ia= 227.0 Amps\n",
+ "Ra= 0.1 ohms\n",
+ "Terminal voltage of dc motor at 500 rpm and 75 percent load=Edca= 345.0 volts\n",
+ "Cosine of the triggering angle of the converter=C2= 0.6\n",
+ "triggering angle of the converter A= 53.1 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi\n",
+ "N1=500\n",
+ "N2=400\n",
+ "Eb1=410\n",
+ "Eb2=Eb1*N2/N1\n",
+ "print 'Eb2=',Eb2,'volts'\n",
+ "V=440 #operating voltage of dc motor in volts\n",
+ "P=100 #input power of dc motor in KW\n",
+ "Ia=P*1000/V\n",
+ "Ia=round(Ia,1)\n",
+ "print 'Ia=',Ia,'Amps'\n",
+ "Ra=(V-Eb1)/Ia;\n",
+ "Ra=round(Ra,1)\n",
+ "print 'Ra=',Ra,'ohms'\n",
+ "E2=415\n",
+ "Edca=Eb2+(0.75*Ia*Ra) #terminal voltage of dc motor at 500 rpm and 75% load\n",
+ "Edca=round(Edca,1)\n",
+ "print 'Terminal voltage of dc motor at 500 rpm and 75 percent load=Edca=',Edca,'volts'\n",
+ "C=Edca/(1.35*E2) #cosine of the triggering angle of the converter\n",
+ "C=round(C,1)\n",
+ "print 'Cosine of the triggering angle of the converter=C2=',C\n",
+ "A=math.acos(C)*180/pi #triggering angle of the converter in degrees\n",
+ "A=round(A,1)\n",
+ "print 'triggering angle of the converter A=',A,'degrees'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter12_Controllers_and_Their_Optimisation.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter12_Controllers_and_Their_Optimisation.ipynb
new file mode 100644
index 00000000..290111f3
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter12_Controllers_and_Their_Optimisation.ipynb
@@ -0,0 +1,362 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 Controllers and Their Optimisation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.1,Pg.no.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "permanent Error of P controller=P= 2 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "V=40 #gain of the controller in volts\n",
+ "P=100/(1+V) #permanent error of p controller in percent\n",
+ "print 'permanent Error of P controller=P=',P,'percent'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.2,Pg.no.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "gain of the controller=V= 54.6 volts\n",
+ "Motor armature time constant=T1= 873.6 milliseconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "P=1.8 #permanent error of p controller in percent\n",
+ "V=100/1.8-1 #gain of the controller in volts\n",
+ "V=round(V,1)\n",
+ "print 'gain of the controller=V=',V,'volts'\n",
+ "G=8 #sum of all time constants in milliseconds \n",
+ "T1=2*G*V #motor armature time constant\n",
+ "T1=round(T1,1)\n",
+ "print 'Motor armature time constant=T1=',T1,'milliseconds'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.3,Pg.no.38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time constant for the current loop=t1= 1 ms\n",
+ "Smaller time constant=G= 2.5 ms\n",
+ "Time constant of the controller in AVO=Tn= 30 ms\n",
+ "Gain of the control system=V= 6.0\n",
+ "Gain of the PI controller=Vr= 0.43\n",
+ "R1= 25.6 Kiloohms\n",
+ "C1= 1.2 microfarads\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "f=50 #frequency in hz\n",
+ "p=6 #pulse number\n",
+ "t1=1000/(2*f*p) #time constant for the current loop in ms\n",
+ "print 'time constant for the current loop=t1=',t1,'ms'\n",
+ "t2=1.5 #time constant of feedback channel in ms\n",
+ "G=t1+t2 #smaller time constant in ms\n",
+ "print 'Smaller time constant=G=',G,'ms'\n",
+ "T1=30 #bigger time constant in ms\n",
+ "Tn=T1 #time constant of the controller in ms\n",
+ "print 'Time constant of the controller in AVO=Tn=',Tn,'ms'\n",
+ "V=T1/(2*G) #gain of the control system\n",
+ "print 'Gain of the control system=V=',V\n",
+ "Vg=14 #gain of the regulating current link\n",
+ "Vr=V/Vg #gain of the PI controller\n",
+ "Vr=round(Vr,2)\n",
+ "print 'Gain of the PI controller=Vr=',Vr\n",
+ "R2=11 #R2 in KiloOhms\n",
+ "R1=R2/Vr #R1 in kiloohms\n",
+ "R1=round(R1,1)\n",
+ "print 'R1=',R1,'Kiloohms'\n",
+ "C1=Tn/R1 #C1 in microfarads\n",
+ "C1=round(C1,1)\n",
+ "print 'C1=',C1,'microfarads'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.4,Pg.no.39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time constant of the controller in SO=Tn= 80.0 ms\n",
+ "Gain of the control system=V= 8.75\n",
+ "Gain of the PI regulator=Vr= 8.75\n",
+ "R2= 96.25 Kiloohms\n",
+ "C2= 0.8 microfarads\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "G=20.0 #smaller time constant in ms\n",
+ "T1=350.0 #bigger time constant in ms\n",
+ "Tn=4*G #time constant of the controller in ms\n",
+ "print 'Time constant of the controller in SO=Tn=',Tn,'ms'\n",
+ "V=T1/(2*G) #gain of the control system\n",
+ "print 'Gain of the control system=V=',V\n",
+ "Vg=1.0 #gain of the regulating current link\n",
+ "Vr=V/Vg #gain of the PI regulator\n",
+ "print 'Gain of the PI regulator=Vr=',Vr\n",
+ "R1=11.0 #R1 in KiloOhms\n",
+ "R2=R1*Vr #R2 in kiloohms\n",
+ "print 'R2=',R2,'Kiloohms'\n",
+ "C2=Tn/R2 #C1 in microfarads\n",
+ "C2=round(C2,1)\n",
+ "print 'C2=',C2,'microfarads'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.5,Pg.no.39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time constant of the controller=Tn= 80 ms\n",
+ "Gain of the control system=V= 6\n",
+ "Natural frequency of the system=Wn= 0.118 rad/ ms\n",
+ "time taken by the system to achieve its desired value=Tf= 28.2 ms\n",
+ "Maximum overshoot for a symmetrically optimised system is 4.3 percent\n",
+ "Time at which maximum overload will occur= Tmax= 37.44 ms\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import sqrt\n",
+ "G=6 #smaller time constant in ms\n",
+ "T1=80 #bigger time constant in ms\n",
+ "Tn=T1 #time constant of the controller in ms\n",
+ "print 'Time constant of the controller=Tn=',Tn,'ms'\n",
+ "V=T1/(2*G) #gain of the control system\n",
+ "print 'Gain of the control system=V=',V\n",
+ "Wn=1/(sqrt(2)*G) #Natural frequency of the system in rad/ms\n",
+ "Wn=round(Wn,3)\n",
+ "print 'Natural frequency of the system=Wn=',Wn,'rad/ ms'\n",
+ "Tf=4.7*G #time taken by the system to achiecve i t s desired output for firsttime \n",
+ "print 'time taken by the system to achieve its desired value=Tf=',Tf,'ms'\n",
+ "print 'Maximum overshoot for a symmetrically optimised system is 4.3 percent'\n",
+ "Tmax=6.24*G #time at which maximum overload will occur in ms\n",
+ "print 'Time at which maximum overload will occur= Tmax=',Tmax,'ms'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.6,Pg.no.40"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time constant of the controller=Tn= 80 ms\n",
+ "Gain of the control system=V= 4\n",
+ "time taken by the system to achieve its final value=Tf= 62.0 ms\n",
+ "Maximum overshoot for a symmetrically optimised system is 43 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "G=20 #smaller time constant in ms\n",
+ "Tn=4*G #time constant of the controller in ms\n",
+ "print 'time constant of the controller=Tn=',Tn,'ms'\n",
+ "T1=170 #bigger time constant in ms\n",
+ "V=T1/(2*G) #gain of the control system\n",
+ "print 'Gain of the control system=V=',V\n",
+ "Tf=3.1*G #time taken by the system to achiecve its final value on step input\n",
+ "print 'time taken by the system to achieve its final value=Tf=',Tf,'ms'\n",
+ "print 'Maximum overshoot for a symmetrically optimised system is 43 percent'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.7,Pg.no.40"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time taken by the system to achieve its final value=Tf= 47.0 ms\n",
+ "Maximum overshoot for a symmetrically optimised system is 4.3 percent\n",
+ "Time at which maximum overshoot will occur =Tmax= 62.4 ms\n",
+ "Settling time=Ts= 84.0 ms\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "G=10 #smaller time constant in ms\n",
+ "Tf=4.7*G #time taken by the system to achiecve its final output for firsttime\n",
+ "print 'time taken by the system to achieve its final value=Tf=',Tf,'ms'\n",
+ "print 'Maximum overshoot for a symmetrically optimised system is 4.3 percent'\n",
+ "Tmax=6.24*G #time at which maximum overshoot will occur in ms\n",
+ "print 'Time at which maximum overshoot will occur =Tmax=',Tmax,'ms'\n",
+ "Ts=8.4*G #settling time in ms\n",
+ "print 'Settling time=Ts=',Ts,'ms'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example12.8,Pg.no.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Response for an AVO system:\n",
+ "time taken by the system to achieve its final value=Tf= 47.0 ms\n",
+ "Maximum overshoot for a symmetrically optimised system is 4.3 percent\n",
+ "Settling time=Ts= 84.0 ms\n",
+ "Response for an SO system:\n",
+ "time taken by the system to achieve its final value=Tf= 31.0 ms\n",
+ "Settling time=Ts= 166.0 ms\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "print 'Response for an AVO system:'\n",
+ "G=10 #smaller time constant in ms\n",
+ "Tf=4.7*G #time taken by the system to achiecve its f i n a l output for firsttime\n",
+ "print 'time taken by the system to achieve its final value=Tf=',Tf,'ms'\n",
+ "print 'Maximum overshoot for a symmetrically optimised system is 4.3 percent'\n",
+ "Ts=8.4*G #settling time in ms\n",
+ "print 'Settling time=Ts=',Ts,'ms'\n",
+ "print 'Response for an SO system:'\n",
+ "G=10 #smaller time constant in ms\n",
+ "Tf=3.1*G #time taken by the system to achiecve its f i n a l output for firsttime\n",
+ "print 'time taken by the system to achieve its final value=Tf=',Tf,'ms'\n",
+ "Ts=16.6*G #settling time in ms\n",
+ "print 'Settling time=Ts=',Ts,'ms'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter13_Choppers_and_Transportation_system_Application.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter13_Choppers_and_Transportation_system_Application.ipynb
new file mode 100644
index 00000000..798713f1
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter13_Choppers_and_Transportation_system_Application.ipynb
@@ -0,0 +1,304 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter13 Choppers and Transportation system Application"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.1,Pg.no.43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time constant=t= 4.0 milliseconds\n",
+ "Discontinuous condition starts from Td= 332.5 microseconds\n",
+ "Output voltage=Eo= 88.0 volts\n",
+ "Average current=Iav= 264.0 amp\n",
+ "Maximum current=Imax= 330.85 amp\n",
+ "Minimum current=Imin= 199.87 amp\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import exp\n",
+ "E=220.0 #dc supply voltage in volts\n",
+ "El=22.0 #Load voltage in volts\n",
+ "Ton=1000.0 #conducting period in microseconds\n",
+ "T=2500.0 #Total timeperiod in microseconds\n",
+ "L=1.0 #inductance in milliHenry\n",
+ "R=0.25 #resistance in ohms\n",
+ "t=L/R #time constant in milliseconds\n",
+ "print 'time constant=t=',t,'milliseconds'\n",
+ "A=0.133\n",
+ "Td=A*T #Discontinuous condition starts at\n",
+ "print 'Discontinuous condition starts from Td=',Td,'microseconds'\n",
+ "Eo=0.4*E #output voltage in volts\n",
+ "print 'Output voltage=Eo=',Eo,'volts'\n",
+ "Iav=(Eo-El)/R #Average current in amps\n",
+ "print 'Average current=Iav=',Iav,'amp'\n",
+ "Imax=((E*(1-exp(-Ton/(t*1000))))/(R*(1-exp(-T/(t*1000)))))-(El/R)\n",
+ "Imax=round(Imax,2)\n",
+ "print 'Maximum current=Imax=',Imax,'amp'\n",
+ "Imin=((E*(exp(Ton/(t*1000))-1))/(R*(exp(T/(t*1000))-1)))-(El/R)\n",
+ "Imin=round(Imin,2)\n",
+ "print 'Minimum current=Imin=',Imin,'amp'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.2,Pg.no.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Conduction period=Ton= 0.75 ms\n",
+ "Total time period=T= 1.0 ms\n",
+ "Blocking period=Toff= 0.25 ms\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "f=1.0 #operating frequency in KHZ\n",
+ "E=220.0 #dc supply voltage in volts\n",
+ "El=165.0 #Load voltage in volts\n",
+ "Ton=El/(E*f) #conduction period in ms\n",
+ "print 'Conduction period=Ton=',Ton,'ms'\n",
+ "T=1/f #total time period in ms\n",
+ "print 'Total time period=T=',T,'ms'\n",
+ "Toff=T-Ton #blocking period in ms\n",
+ "print 'Blocking period=Toff=',Toff,'ms'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.3,Pg.no.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Load capacitance required for optimum frequency=C= 75.0 microfarad\n",
+ "Inductance parameters=L1=L2= 0.53 milliHenry\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi\n",
+ "E=220.0 #dc supply voltage in volts\n",
+ "Toff=200.0 #blocking period in microseconds\n",
+ "Il=50.0 #load current in amps\n",
+ "C=pi*Toff*Il/(2*E) #capacitance for optimum frequency in microfarad\n",
+ "C=75.0\n",
+ "print 'Load capacitance required for optimum frequency=C=',C,'microfarad'\n",
+ "L1=Toff**2*10**-3/C #inductance required in milliHenry\n",
+ "L2=L1\n",
+ "L1=round(L1,2)\n",
+ "print 'Inductance parameters=L1=L2=',L1,'milliHenry'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.4,Pg.no.45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Conduction period=Ton= 200.0 microseconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "E=220.0 #dc supply voltage in volts\n",
+ "El=660.0 #Load voltage in volts\n",
+ "Toff=100.0 #blocking period in microseconds\n",
+ "Ton=(El/E-1)*Toff #Conduction period in microseconds\n",
+ "print 'Conduction period=Ton=',Ton,'microseconds'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.5,Pg.no.45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Average voltage in the circuit=Eav= 53.0 volts\n",
+ "Conduction period=Ton= 1.2 ms\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "f=200.0 #chopper frequency in HZ\n",
+ "E=220.0 #dc supply voltage in volts\n",
+ "Iav=100.0 #Average current in the circuit in amps\n",
+ "Ra=0.02 #Armature resistance in ohms\n",
+ "Rf=0.01 #Field resistance in ohms\n",
+ "Ebav=50 #Average value of the Back emf in volts\n",
+ "Eav=Iav*(Ra+Rf)+Ebav #Average voltage in the circuit in volts\n",
+ "print 'Average voltage in the circuit=Eav=',Eav,'volts'\n",
+ "Ton=Eav*1000/(E*f) #conduction period in ms\n",
+ "Ton=round(Ton,2)\n",
+ "print 'Conduction period=Ton=',Ton,'ms'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.6,Pg.no.46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rotor resistance referred to stator=R= 5.2 ohms\n",
+ "Motor torque=MT= 662.4 Snc . Watts\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "f=200.0 #chopper frequency in HZ\n",
+ "T=1000/f #total time period in ms\n",
+ "Toff=4.0 #Blocking period in ms\n",
+ "Ton=T-Toff #conduction period in ms\n",
+ "R1=2.0 #R1 in ohms\n",
+ "R2=4.0 #R2 in ohms\n",
+ "R=((R1*Ton)+(R1+R2)*Toff)/T #rotor resistance referred to stator in ohms\n",
+ "print 'Rotor resistance referred to stator=R=',R,'ohms'\n",
+ "V=415.0 #stator voltage in volts\n",
+ "s=0.02 #slip of the motor\n",
+ "MT=V**2*s/R #motor torque in Syn . Watts\n",
+ "MT=round(MT,2)\n",
+ "print 'Motor torque=MT=',MT,'Snc . Watts'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.7,Pg.no.46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R2=1.5*R1\n",
+ "the above condition satisfies when Ton= Toff\n",
+ "Chopper frequency=f= 250.0 hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#R1=rotor resistance before introduction of control\n",
+ "#R2=rotor resistance after introduction of control \n",
+ "print 'R2=1.5*R1'\n",
+ "R2=((R1*Ton)+(R1+R1)*Toff)/T #rotor resistance referred to stator in ohms\n",
+ "print 'the above condition satisfies when Ton= Toff'\n",
+ "T=4 #total time period in ms\n",
+ "f=1000/T #chopper frequency in hz\n",
+ "f=round(f,1)\n",
+ "print 'Chopper frequency=f=',f,'hz'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter15_The_AC_motor_control.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter15_The_AC_motor_control.ipynb
new file mode 100644
index 00000000..7eaa0c91
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter15_The_AC_motor_control.ipynb
@@ -0,0 +1,623 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 15 The AC motor control"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.1,Pg.no.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of slip of motor=S2= 50.0 percentage\n",
+ "value of new stator current=I2= 250.0 Amp\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "S1=2.0 #value of slip in percentage of slip ring induction motor\n",
+ "Ns=1000.0 #value of stator speed in rpm\n",
+ "Nr=500.0 #value of rotor speed in rpm\n",
+ "S2=(Ns-Nr)*100/Ns #valu of slip in percentage of motor\n",
+ "print 'value of slip of motor=S2=',S2,'percentage'\n",
+ "I1=50.0 #stator current in amps\n",
+ "I2=I1*sqrt(S2/S1)\n",
+ "print 'value of new stator current=I2=',I2,'Amp'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.2,Pg.no.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of converter rated current=Icr= 75.0 amp\n",
+ "value of converter rated ac voltage=Vac= 74.07 volts\n",
+ "KVA rating of transformer=Pkva= 7.875 KVA\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "Imr=50.0 #motor field rating in amp//\n",
+ "Icr=1.5*Imr #converter rated current in amp\n",
+ "print 'value of converter rated current=Icr=',Icr,'amp'\n",
+ "Vdc=100.0 #converter dc rating in volts\n",
+ "Vac=Vdc/1.35 #converter ac rating voltage required\n",
+ "Vac=round(Vac,2)\n",
+ "print 'value of converter rated ac voltage=Vac=',Vac,'volts'\n",
+ "Pkva=(1.05*100*75)/1000 #KVA rating of the transformer\n",
+ "print 'KVA rating of transformer=Pkva=',Pkva,'KVA'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.3,Pg.no.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of speed N1= 1440.0 rpm\n",
+ "value of f= 0.3\n",
+ "value of new torque developed=T2= 6666.7 Watts\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "S1=0.04 #value of slip in of induction motor\n",
+ "Ns=1500.0 #value of initial speed in rpm\n",
+ "N2=1300.0 #value of speed reduced to in rpm\n",
+ "N1=Ns*(1-S1) #value of speed N1 in rpm\n",
+ "print 'value of speed N1=',N1,'rpm'\n",
+ "f=(Ns-N1)/(Ns-N2)\n",
+ "print 'value of f=',f\n",
+ "T1=2000.0 #developing torque in induction motor in watts\n",
+ "T2=T1/f #new value of torque developed by the motor in watts\n",
+ "T2=round(T2,1)\n",
+ "print 'value of new torque developed=T2=',T2,'Watts'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.4,Pg.no.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of new torque developed=Tb= 1000.0 Watts\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "f1a=50.0 #initial frequency in hertz\n",
+ "f1b=75.0 #value of frequency increased to in hertz\n",
+ "Ta=1500.0 #developing torque in induction motor in watts\n",
+ "Tb=Ta*f1a/f1b #new value of torque developed by the motor in watts\n",
+ "print 'value of new torque developed=Tb=',Tb,'Watts'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.5,Pg.no.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "torque developed by motor=T= 6889.0 watts\n",
+ "value of rotor frequency=f2= 3.0 hertz\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "V=415.0 #operating input voltage of induction motor in volts\n",
+ "S=0.04 #input slip\n",
+ "r2=1.0 #rotor resistance referred to stator in ohms\n",
+ "T=(S*V**2)/r2 #torque developed by motor in watts\n",
+ "print 'torque developed by motor=T=',T,'watts'\n",
+ "f1=75.0 #input stator frequency in hertz\n",
+ "f2=S*f1 #rotor frequency in hertz\n",
+ "print 'value of rotor frequency=f2=',f2,'hertz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.6,Pg.no.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of input voltage to the motor=Vb= 249.0 volts\n",
+ "value of input power to the motor=Pb= 60.0 KVA\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "f1a=50.0 #intial frequency in hertz\n",
+ "f1b=30.0 #value of frequency reduced to in hertz\n",
+ "Va=415.0 #operating voltage of induction motor in volts\n",
+ "Vb=Va*f1b/f1a #input voltage to the motor in volts\n",
+ "print 'value of input voltage to the motor=Vb=',Vb,'volts'\n",
+ "Pa=100.0 #operating power of induction motor in KVA\n",
+ "Pb=Pa*f1b/f1a #input power to the motor in KVA\n",
+ "print 'value of input power to the motor=Pb=',Pb,'KVA'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.7,Pg.no.51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of frequency changed to f1b= 30.0 hz\n",
+ "speed at 4 percent slip=Nb= 864.0 rpm\n",
+ "value of stator voltage to the motor=Vb= 243.75 volts\n",
+ "torque if stator drop is negligible=T= 1592.36 watts\n",
+ "rotor copper loss=P2= 6.0 KVA\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "f1a=40.0 #intial frequency in hertz\n",
+ "Pa=200.0 #input power of squirrel cage motor in KVA\n",
+ "Pb=150.0 #input power to the motor after change in speed in KVA\n",
+ "f1b=f1a*Pb/Pa #frequency changed to in hertz\n",
+ "print 'value of frequency changed to f1b=',f1b,'hz'\n",
+ "Nsa=1200.0 #motor initial syncronous speed in rpm\n",
+ "Nsb=Nsa*f1b/f1a\n",
+ "Sb=0.04\n",
+ "Nb=Nsb*(1-Sb) #speed in rpm at 4% slip\n",
+ "print 'speed at 4 percent slip=Nb=',Nb,'rpm'\n",
+ "Va=325 #operating voltage of induction motor in volts\n",
+ "Vb=Va*f1b/f1a #stator voltage to the motor in volts\n",
+ "print 'value of stator voltage to the motor=Vb=',Vb,'volts'\n",
+ "Pag=150.0 #power transferred from stator to rotor at 30 hz in KVA\n",
+ "Ws=2*3.14*Nsb/60\n",
+ "T=Pag*1000/Ws #torque if stator drop is negligible in watts\n",
+ "T=round(T,2)\n",
+ "print 'torque if stator drop is negligible=T=',T,'watts'\n",
+ "P2=Sb*Pag #rotor copper loss in KVA\n",
+ "print 'rotor copper loss=P2=',P2,'KVA'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.8,Pg.no.52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of stator frequency increased to f1b= 57.74 hertz\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "f1a=50.0 #i n t i a l input frequency in hertz\n",
+ "Ta=2000.0 #developing torque in induction motor in watts\n",
+ "Tb=1500.0 #new value of torque reduced to in watts\n",
+ "f1b=f1a*sqrt(Ta/Tb) #value of stator frequency increased to in hertz\n",
+ "f1b=round(f1b,2)\n",
+ "print 'value of stator frequency increased to f1b=',f1b,'hertz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.9,Pg.no.52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "firing angle starts from A1= 84.0 degrees\n",
+ "firing angle ends at A2= 65.2 degrees\n",
+ "input power factor=IPF= 0.0591\n",
+ "distortion factor=Mh= 0.3379\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "Vom1=sqrt(2)*41.5 #starting rms value of output voltage\n",
+ "Vom2=sqrt(2)*166 #ending rms value of output voltage\n",
+ "V=415.0 #operating voltage of cyclo converter\n",
+ "A1=(math.acos(Vom1/(1.35*V)))*180/pi #firing angle starts from\n",
+ "A1=round(A1,1)\n",
+ "print 'firing angle starts from A1=',A1,'degrees'\n",
+ "A2=(math.acos(Vom2/(1.35*V)))*180/pi #f i r i n g angle ends at \n",
+ "A2=round(A2,1)\n",
+ "print 'firing angle ends at A2=',A2,'degrees'\n",
+ "PFl=0.8 #load power factor\n",
+ "IPF=math.cos(pi*7/15)*PFl/sqrt(2) #input power factor\n",
+ "DF=0.7 #input displacement factor\n",
+ "IPF=round(IPF,4)\n",
+ "print 'input power factor=IPF=',IPF\n",
+ "Mh=math.cos(pi*0.3627)*PFl/(sqrt(2)*DF)\n",
+ "Mh=round(Mh,4)\n",
+ "print 'distortion factor=Mh=',Mh"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.10,Pg.no.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "trigger angle ranges fromA5= 83.99 degrees\n",
+ "trigger angle ranges upto A51= 96.01 degrees\n",
+ "highest value of input power factor=HIPF= 0.2\n",
+ "lowest value of input power factor=LIPF= 0.07\n",
+ "highest value of distortion factor=HDF= 0.27\n",
+ "lowest value of distortion factor=LDF= 0.09\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "Vo5m=sqrt(2)*41.5 #rms value of output voltage\n",
+ "V=415.0 #operating voltage of cyclo converter\n",
+ "A5=(math.acos(Vo5m/(1.35*V)))*180/pi #trigger angle ranges from\n",
+ "A5=round(A5,2)\n",
+ "print 'trigger angle ranges fromA5=',A5,'degrees'\n",
+ "A51=180.0-A5 #trigger angle ranges upto\n",
+ "A51=round(A51,2)\n",
+ "print 'trigger angle ranges upto A51=',A51,'degrees'\n",
+ "LPF=0.9 #load power factor\n",
+ "CA15=0.3132 #maximum cosine value corresponding to operating frequency 15hz\n",
+ "HIPF=CA15*LPF/sqrt(2) #highest value of input power factor\n",
+ "HIPF=round(HIPF,2)\n",
+ "print 'highest value of input power factor=HIPF=',HIPF\n",
+ "LIPF=math.cos(A5*pi/180)*LPF/sqrt(2) #lowest value of input power factor\n",
+ "LIPF=round(LIPF,2)\n",
+ "print 'lowest value of input power factor=LIPF=',LIPF\n",
+ "IDF=0.75 #input displacement factor\n",
+ "HDF=CA15*LPF/(sqrt(2)*IDF) #highest value of distortion factor\n",
+ "HDF=round(HDF,2)\n",
+ "print 'highest value of distortion factor=HDF=',HDF\n",
+ "LDF=HDF*math.cos(A5*pi/180)/CA15 #lowest value of distortion factor\n",
+ "LDF=round(LDF,2)\n",
+ "print 'lowest value of distortion factor=LDF=',LDF"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.11,Pg.no.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "highest value of cosAm= 0.866\n",
+ "laod power factor of cyclo converter= 0.817\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import sqrt\n",
+ "PFm=0.5 #highest value of input factor\n",
+ "Am=3.14/6 #highest value of input powerfactor occurs at 30 degrees\n",
+ "A=math.cos(Am) #highest value of cosAm if firingangle ranging from 30 to 150\n",
+ "A=round(A,3)\n",
+ "print 'highest value of cosAm=',A\n",
+ "PFl=(sqrt(2)*PFm)/A\n",
+ "PFl=round(PFl,3)\n",
+ "print 'laod power factor of cyclo converter=',PFl"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.12,Pg.no.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input displacement factor= 0.857\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "PFi=0.6 #input powerfactor\n",
+ "DF=0.7 #distortion factor\n",
+ "IDF=PFi/DF #input displacement factor\n",
+ "IDF=round(IDF,3)\n",
+ "print 'input displacement factor=',IDF"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.13,Pg.no.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "firing angle of cyclo converter drive=A= 81.0 degrees\n",
+ "distortion factor=DF= 0.143\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "PFi=0.1 #input powerfactor\n",
+ "PFl=0.9 #load powerfactor\n",
+ "A=(math.acos(sqrt(2)*PFi/PFl))*180/3.14 #firing angle indegrees\n",
+ "A=round(A,2)\n",
+ "print 'firing angle of cyclo converter drive=A=',A,'degrees'\n",
+ "IDF=0.7 #leading input displacement factor\n",
+ "DF=PFi/IDF #distortion factor\n",
+ "DF=round(DF,3)\n",
+ "print 'distortion factor=DF=',DF"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.14,Pg.no.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "triggering angle of negative group=An= 150.0 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "Ap=30.0 #triggering angle of positive group in degrees\n",
+ "An=180-Ap #triggering angle of negative group in degrees\n",
+ "print 'triggering angle of negative group=An=',An,'degrees'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.15,Pg.no.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input current to the converter=I= 100.362 amp\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "V=415.0 #input operating voltage of cycloconverter in volts\n",
+ "Pi=50.0 #input power of the cycloconverter in KVA\n",
+ "PF=0.8 #input power factor\n",
+ "A=0.785 #firing angle in radians \n",
+ "I=(Pi*1000*sqrt(2))/(3*V*PF*math.cos(A)) #input current to the converter in amp\n",
+ "I=round(I,3)\n",
+ "print 'input current to the converter=I=',I,'amp'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15.16,Pg.no.56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load power factor of motor=PF= 0.83\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "Vo=200.0 #input operating voltage of cycloconverter in volts\n",
+ "Po=50*10**3 #input power of the cycloconverter in VA\n",
+ "Io=100.0 #drawing current from motor in amp\n",
+ "PF=Po/(3*Vo*Io) #load power factor\n",
+ "PF=round(PF,2)\n",
+ "print 'load power factor of motor=PF=',PF"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter16_Faults_and_Protection.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter16_Faults_and_Protection.ipynb
new file mode 100644
index 00000000..07232131
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter16_Faults_and_Protection.ipynb
@@ -0,0 +1,281 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter16 Faults and Protection"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example16.1,Pg.no.57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "peak inverse voltage of the device=PIV= 2969.71 Volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "V=415.0 #AC input voltage\n",
+ "Vf=2.53 #voltage safety factor\n",
+ "PIV=2*sqrt(2)*V*Vf #peak inverse voltage of the device\n",
+ "PIV=round(PIV,2)\n",
+ "print 'peak inverse voltage of the device=PIV=',PIV,'Volts'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example16.2,Pg.no.57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "voltage safety factor of the device=Vf= 2.3\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "V=415.0 #AC input voltage in volts\n",
+ "PIV=1350.0 #peak inverse voltage of the device in volts\n",
+ "Vf=PIV/(sqrt(2)*V) #voltage safety factor of the device\n",
+ "Vf=round(Vf,2)\n",
+ "print 'voltage safety factor of the device=Vf=',Vf"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example16.3,Pg.no.58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "choke power of the converter=Pc= 8.0 KVA\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "P=100.0 #input power in KVA\n",
+ "Xt=0.04 #limiting ac reactance value\n",
+ "Fov=2.0 #current ovarload factor\n",
+ "Pc=Xt*P*Fov #choke power of the converter in KVA\n",
+ "print 'choke power of the converter=Pc=',Pc,'KVA'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example16.4,Pg.no.58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "capacitance in snubber circuit=C= 625.0 nanofarads\n",
+ "Resistance in snubber circuit=R= 3.58 Kilo Ohms\n",
+ "Permissible dv/dt of the circuit= 30.0 MV/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "Ls=0.1 #stray inductance in the circui t in milli Henry\n",
+ "L=2*Ls #inductance required for the snubber ckt for protection in mH\n",
+ "Im=250.0 #mean value of current in amp\n",
+ "C=2.5*Im #capacitance required for the snubber ckt in nano Farads\n",
+ "print 'capacitance in snubber circuit=C=',C,'nanofarads'\n",
+ "R=2*100*sqrt(L/C) #resistance in snubber circ uit in Kilo Ohms\n",
+ "R=round(R,2)\n",
+ "print 'Resistance in snubber circuit=R=',R,'Kilo Ohms'\n",
+ "Pdif=1*30.0 #permissible dv/dt of the circuit\n",
+ "print 'Permissible dv/dt of the circuit=',Pdif,'MV/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example16.5,Pg.no.59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "number of plates in series in the circuit=N= 9.6\n",
+ "So,we will use 10 plates in the circuit\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "V=240.0 #dc input voltage in volts\n",
+ "Vh=25.0 #each selenium plate handling voltage in volts\n",
+ "N=V/Vh #number of plates in series in the circuit\n",
+ "print 'number of plates in series in the circuit=N=',N\n",
+ "print 'So,we will use 10 plates in the circuit'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example16.6,Pg.no.59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "number of plates in series in each direction =N= 9.0\n",
+ "total number of plates in series in both directions=Nt= 18.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "V=230.0 #ac input voltage in volts\n",
+ "Vh=30.0 #each selenium plate handling voltage in volts\n",
+ "N=(V/Vh)+1 #number of plates in series in each direction in the ckt\n",
+ "N=round(N,0)\n",
+ "print 'number of plates in series in each direction =N=',N\n",
+ "Nt=2*N #total number of plates in series in the circuit\n",
+ "Nt=round(Nt,0)\n",
+ "print 'total number of plates in series in both directions=Nt=',Nt"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example16.7,Pg.no.59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "number of plates in each branch=N= 15.0\n",
+ "total number of plates=Nt= 45.0\n",
+ "Armature circuit inductance=L= 5.25 mH\n",
+ "Energy stored in armature circuit=Es= 48.55 wattsec\n",
+ "Energy dissipated per plate=Ed= 3.24 wattsec\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "V=415.0 #ac input voltage in volts\n",
+ "Vdc=440.0 #supplied voltage to dc motor in volts\n",
+ "Vh=30.0 #each selenium plate handling voltage in volts\n",
+ "N=Vdc/Vh #number of plates in series in each direction in the ckt\n",
+ "N=15.0\n",
+ "print 'number of plates in each branch=N=',N\n",
+ "Nt=3*N #total number of plates in series in the circuit\n",
+ "Nt=round(Nt,0)\n",
+ "print 'total number of plates=Nt=',Nt\n",
+ "Ipa=136.0 #peak armature current in amperes\n",
+ "T=30.0 #time constant in milliseconds\n",
+ "R=0.175 #Armature resistance in Ohms\n",
+ "L=T*R #Armature circuit Inductance in milliHenry\n",
+ "L=round(L,2)\n",
+ "print 'Armature circuit inductance=L=',L,'mH'\n",
+ "Es=0.5*L*Ipa**2*10**-3 #Energy stored in armature circuit in wattsec\n",
+ "Es=round(Es,2)\n",
+ "print 'Energy stored in armature circuit=Es=',Es,'wattsec'\n",
+ "Ed=Es/N #Energy dissipated per plate in wattsec\n",
+ "Ed=round(Ed,2)\n",
+ "print 'Energy dissipated per plate=Ed=',Ed,'wattsec'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter3_Fabrication_and_Thermal_characteristics.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter3_Fabrication_and_Thermal_characteristics.ipynb
new file mode 100644
index 00000000..c3ba0c41
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter3_Fabrication_and_Thermal_characteristics.ipynb
@@ -0,0 +1,213 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter3 Fabrication and Thermal characteristics"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.1, Pg.no 10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of junction temperature= 72.5 c\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math \n",
+ "Xa=50 #Ambient temperature\n",
+ "P=150 #on state power loss in Watts\n",
+ "Rjc=0.02 #junction case thermal resistance\n",
+ "Rcs=0.05 #case sink thermal resistance\n",
+ "Rsa=0.08 #sink atmosphere thermal resistance\n",
+ "Xj=Xa+P*(Rjc+Rcs+Rsa) #junction temperature \n",
+ "Xj=round(Xj,1)\n",
+ "print 'value of junction temperature=',Xj,'c'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.2,Pg.no 10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of time period of one cycle= 248 s\n",
+ "value of junction temperature= 54.75 c\n",
+ "power required to cool down= 325 watts\n",
+ "value of maximum junction temperature= 106.01 c\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import exp\n",
+ "import math\n",
+ "Xa=50 #Ambient temperature\n",
+ "P20=25 #on state power loss at 20%load in Watts\n",
+ "P200=350 #on state power loss at 200%load in Watts\n",
+ "Rjc=0.02 #junction case thermal resistance\n",
+ "Rcs=0.05 #case sink thermal resistance\n",
+ "Rsa=0.12 #sink atmosphere thermal resistance at 20% load cycle\n",
+ "T1=60 #time period for the supply of 200% load\n",
+ "T=((200**2-202)*T1)/(100**2-20**2) #time period of one cycle\n",
+ "print 'value of time period of one cycle=',T,'s'\n",
+ "Ts=140 #thermal time constant for heat sink\n",
+ "Xj20=Xa+P20*(Rjc+Rcs+Rsa) #junction temperature\n",
+ "print 'value of junction temperature=',Xj20,'c'\n",
+ "P=P200 -P20 #power required to cool down from 200 %load cycle to 20% load cycle\n",
+ "print 'power required to cool down=',P,'watts'\n",
+ "Rsa200=((Rsa)*(1-exp(-T1/Ts)))/(1-exp(-T/Ts)) #sink atmosphere thermal resistance at 200% load cycle\n",
+ "Xj200=Xj20+(P*(Rjc+Rcs+Rsa200)) #maximum junction temperature\n",
+ "Xj200=round(Xj200,2)\n",
+ "print 'value of maximum junction temperature=',Xj200,'c'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.3 ,Pg.no11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of junction temperature= 62.0 c\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math \n",
+ "Xa=35 #Ambient temperature\n",
+ "P=150 #on state power loss in Watts\n",
+ "Rjc=0.01 #junction case thermal resistance\n",
+ "Rcs=0.08 #case sink thermal resistance\n",
+ "Rsa=0.09 #sink atmosphere thermal resistance\n",
+ "Xj=Xa+P*(Rjc+Rcs+Rsa) #junction temperature\n",
+ "print 'value of junction temperature=',Xj,'c'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.4,Pg.no 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of on state power loss= 416.67 watts\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "Xa=45 #Ambient temperature \n",
+ "Rjs=0.1 #junction sink thermal resistance \n",
+ "Rsa=0.08 #sink atmosphere thermal resistance \n",
+ "Xj=120 #junction temperature\n",
+ "P=(Xj-Xa)/(Rjs+Rsa) #on state power loss\n",
+ "P=round(P,2)\n",
+ "print 'value of on state power loss=',P,'watts'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.5,Pg.no 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of case sink thermal resistance= -0.115 c/w\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "Xa=40 #Ambient temperature\n",
+ "P=300 #on state power loss in Watts\n",
+ "Rjc=0.015 #junction case thermal resistance\n",
+ "Rsa=0.1 #sink atmosphere thermal resistance\n",
+ "Xj=105 #junction temperature\n",
+ "Rcs=((Xj-Xa)/(P))-(Rjc+Rsa) #case sink thermal resistance\n",
+ "print 'value of case sink thermal resistance=',Rcs,'c/w'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter4_Series_and_Parallel_Connection_of_Thyristors.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter4_Series_and_Parallel_Connection_of_Thyristors.ipynb
new file mode 100644
index 00000000..075b01fe
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter4_Series_and_Parallel_Connection_of_Thyristors.ipynb
@@ -0,0 +1,106 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter4 Series and Parallel Connection of Thyristors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.1,Pg.no 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of Devices in Series= 5.0\n",
+ "Number of Devices in Parallel= 3.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "Vc=3500 #voltage rating of circuit\n",
+ "Vt=750 #voltage rating of each thyristor\n",
+ "Ic=1500 #current rating of circuit\n",
+ "It=500 #current rating of each thyristor\n",
+ "DF=0.1 #Derating factor of circuit\n",
+ "Ns=Vc/(Vt*(1-DF)) #number of devices in series\n",
+ "Ns=round(Ns,0)\n",
+ "print 'Number of Devices in Series=',Ns\n",
+ "Np=Ic/(It*(1-DF)) #number of devices in parallel\n",
+ "Np=round(Np,0)\n",
+ "print 'Number of Devices in Parallel=',Np"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.2,Pg.no 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of equivalent resistance=R= 20000.0 ohms\n",
+ "value of equivalent capacitance=C1= 0.5 microfarads\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "Ed=20.0 #permissible difference in voltage across devices in Volts\n",
+ "Id=1*10**-3 #maximum difference in latching current across devices in Amperes\n",
+ "Qd=10.0 #difference in recovery charge in Micro coloumbs\n",
+ "Vd=20.0 #permissible difference in blocking voltage in Volts\n",
+ "R=Ed/Id #equivalent resistance in Ohms\n",
+ "R1=R\n",
+ "print 'value of equivalent resistance=R=',R1,'ohms'\n",
+ "C1=Qd/Vd #equivalent capacitance in Micro farads\n",
+ "print 'value of equivalent capacitance=C1=',C1,'microfarads'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter5_Line_Commutated_converters.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter5_Line_Commutated_converters.ipynb
new file mode 100644
index 00000000..00a99c8b
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter5_Line_Commutated_converters.ipynb
@@ -0,0 +1,349 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter5 Line Commutated converters"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.1,Pg.no15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "cosine of the firing angle=C= 0.79\n",
+ "firing angle of the converter=A= 37.81 degrees\n",
+ "AC terminal power=Pac= 58.83 KW\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import pi\n",
+ "Edc=440 #dc terminal voltage of the thyristor in volts\n",
+ "E2=415 #input voltage of the thyristor in volts\n",
+ "Id=100 #dc motor current in amps\n",
+ "C=Edc/(1.35*E2)\n",
+ "C=round(C,2)\n",
+ "print 'cosine of the firing angle=C=',C\n",
+ "A=math.acos(C)*180/pi\n",
+ "A=round(A,2)\n",
+ "print 'firing angle of the converter=A=',A,'degrees'\n",
+ "Pac=1.05*1.35*E2*Id/1000 #Ac terminal power in Kilo watts\n",
+ "Pac=round(Pac,2)\n",
+ "print 'AC terminal power=Pac=',Pac,'KW'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.2,Pg.no15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AC line current of the thyristor=I2= 163.4 amperes\n",
+ "effective reactance of the thyristor=Xt= 0.15 ohms\n",
+ "cosine value of the commutational angle=C= 0.96\n",
+ "commutation angle=CA= 16.2602047083 degrees\n",
+ "Inductive voltage regulation=IVR= 0.02\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import sqrt\n",
+ "Id=200 #rated dc current in amperes\n",
+ "I2=0.817*Id #AC line current in amperes\n",
+ "print 'AC line current of the thyristor=I2=',I2,'amperes'\n",
+ "E2=415 #AC line voltage in volts\n",
+ "Xt=0.06*E2/I2 #effective reactance of the thyristor in ohms\n",
+ "Xt=round(Xt,2)\n",
+ "print 'effective reactance of the thyristor=Xt=',Xt,'ohms'\n",
+ "C=1-((Id*Xt)/(E2*sqrt(3))) #cosine value of the commutational angle\n",
+ "C=round(C,2)\n",
+ "print 'cosine value of the commutational angle=C=',C\n",
+ "CA=math.acos(C)*180/pi\n",
+ "print 'commutation angle=CA=',CA,'degrees'\n",
+ "IVR=(1-C)/2 #inductive voltage regulation\n",
+ "IVR=round(IVR,3)\n",
+ "print 'Inductive voltage regulation=IVR=',IVR"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.3,Pg.no16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "maximum value of dc voltage=Emax2= 586.9 volts\n",
+ "rms current through the device=Irms= 56.82 amps\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "E2=415 #input voltage in volts\n",
+ "Edc=1.17*E2 #dc terminal voltage in volts \n",
+ "Emax2=sqrt(2)*E2 #maximum value of dc voltage\n",
+ "Z=2 #total impedance in ohms\n",
+ "Emax2=round(Emax2,2)\n",
+ "print 'maximum value of dc voltage=Emax2=',Emax2,'volts'\n",
+ "Irms=Emax2*sqrt(pi/3+sqrt(3)/4)/(2*pi*Z)\n",
+ "Irms=round(Irms,2)\n",
+ "print 'rms current through the device=Irms=',Irms,'amps'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.4,Pg.no 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "cosine of the firing angle=C= 0.82\n",
+ "firing angle of the converter=A= 34.92 degrees\n",
+ "dc power delivered by the converter=Pdc= 92 KW\n",
+ "AC terminal power=Pac= 96.6 KVA\n",
+ "AC line current=Iac= 134.39 amps\n",
+ "Branch current through the device=Ib= 116.0 amps\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "Edc=460 #dc terminal voltage of the thyristor in volts\n",
+ "E2=415 #input voltage of the thyristor in volts\n",
+ "Id=200 #dc motor current in amps\n",
+ "C=Edc/(1.35*E2)\n",
+ "C=round(C,2)\n",
+ "print 'cosine of the firing angle=C=',C\n",
+ "A=math.acos(C)*180/pi\n",
+ "A=round(A,2)\n",
+ "print 'firing angle of the converter=A=',A,'degrees'\n",
+ "Pdc=Edc*Id/1000 #dc power delivered by the converter in kilo Watts\n",
+ "print 'dc power delivered by the converter=Pdc=',Pdc,'KW'\n",
+ "Pac=1.05*Pdc #Ac terminal power in KVA\n",
+ "print 'AC terminal power=Pac=',Pac,'KVA'\n",
+ "Iac=Pac*1000/(sqrt(3)*E2)\n",
+ "Iac=round(Iac,2)\n",
+ "print 'AC line current=Iac=',Iac,'amps'\n",
+ "Ib=0.58*Id #Branch current through the device in amps\n",
+ "print 'Branch current through the device=Ib=',Ib,'amps'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.5,Pg.no 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "cosine value of the commutational angle=C= 0.96\n",
+ "effective reactance of the thyristor=Xt= 0.19 ohms\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import pi,sqrt\n",
+ "Id=150 #rated dc current in amperes\n",
+ "E2=415 #AC line voltage in volts\n",
+ "Emax=sqrt(2)*E2\n",
+ "C=math.cos(16*pi/180) #cosine value of the commutational angle\n",
+ "C=round(C,2)\n",
+ "print 'cosine value of the commutational angle=C=',C\n",
+ "Xt=(1-C)*E2*sqrt(3)/Id #effective reactance of the thyristor in ohms\n",
+ "Xt=round(Xt,2)\n",
+ "print 'effective reactance of the thyristor=Xt=',Xt,'ohms'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.6,Pg.no 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AC load current=Id= 63.81 amps\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import sqrt,pi\n",
+ "E2=230 #AC line voltage in volts\n",
+ "Emax=sqrt(2)*E2 \n",
+ "C=math.cos(13*pi/180) #cosine value of the commutational angle\n",
+ "Xt=0.16 #effective reactance of the thyristor in ohms\n",
+ "Id=(1-C)*E2*sqrt(3)/Xt #AC load current in amperes\n",
+ "Id=round(Id,2)\n",
+ "print 'AC load current=Id=',Id,'amps'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.7,Pg.no 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Average value of dc voltage=Edc= 96.6 volts\n",
+ "Effective value of voltage=Eeff= 160.27 volts\n",
+ "Load current=Id= 9.66 amps\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "from math import sqrt,pi\n",
+ "E2=230 #input voltage in volts\n",
+ "Emax=sqrt(2)*E2 #maximum value of dc voltage\n",
+ "A=pi/6\n",
+ "Edc=Emax*(1+math.cos(A))/(2*pi)\n",
+ "Edc=round(Edc,2)\n",
+ "print 'Average value of dc voltage=Edc=',Edc,'volts'\n",
+ "Eeff=Emax*sqrt((pi-A)/(4*pi)+(math.sin(2*A)/(8*pi)))\n",
+ "Eeff=round(Eeff,2)\n",
+ "print 'Effective value of voltage=Eeff=',Eeff,'volts'\n",
+ "R=10 #total impedance in ohms\n",
+ "Id=Edc/R\n",
+ "Id=round(Id,2)\n",
+ "print 'Load current=Id=',Id,'amps'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.8,Pg.no 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "dc output voltage=Edc= 161.79 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "E2=415 #input voltage in volts\n",
+ "Emax=sqrt(2)*E2 #maximum value of dc voltage\n",
+ "A=pi/6 #triggering angle in degrees\n",
+ "Edc=Emax*math.cos(A)/pi #dc output voltage in volts\n",
+ "Edc=round(Edc,2)\n",
+ "print 'dc output voltage=Edc=',Edc,'volts'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter7_Inverter_Circuits.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter7_Inverter_Circuits.ipynb
new file mode 100644
index 00000000..8ed5fba6
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter7_Inverter_Circuits.ipynb
@@ -0,0 +1,138 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter7 Inverter Circuits"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.1,Pg.no.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of w= 24494.9 rad/sec\n",
+ "value of the Output Frequency=F= 3047.0 Hertz\n",
+ "value of the Attenuation Factor=AF= 0.0014\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt,exp\n",
+ "L=10*10**-3 #Inductance of s e r i e s inverter cir cui t in Henry\n",
+ "C=0.1*10**-6 #Capacitance of s e r i e s inverter ci rcu it in Farads\n",
+ "R=400 #Load Resistance in Ohms\n",
+ "Toff=0.2*10**-3 #Off time of Duty cycle in sec\n",
+ "w=sqrt((1/(L*C))-(R**2/(4*L**2))) #Angular Frequency in rad/ sec\n",
+ "w=round(w,1)\n",
+ "print 'value of w=',w,'rad/sec'\n",
+ "F=w/(3.14+(w*Toff)) #Output Frequency in Hertz\n",
+ "F=round(F,1)\n",
+ "print 'value of the Output Frequency=F=',F,'Hertz'\n",
+ "T=1/F #Time period of Output in sec\n",
+ "AF=exp((-R/(2*L))*T) #Attenuation Factor\n",
+ "AF=round(AF,4)\n",
+ "print 'value of the Attenuation Factor=AF=',AF"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.2,Pg.no.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of Inductance at resonance=L= 0.04 Henry\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "C=1*10**-6 #Capacitance of series inverter circuit in Farads\n",
+ "f=5*10**3 #operating Frequency of series Inverter in Hertz\n",
+ "L=1/(C*(f**2)) #value of Inductance under Resonance condition in Henry\n",
+ "print 'value of Inductance at resonance=L=',L,'Henry'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.3,Pg.no.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of resistance=R1= -12401.01 Ohms\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "L=5*10**-3 #Inductance of series inverter circuit in Henry\n",
+ "C=1*10**-6 #Capacitance of series inverter circuit in Farads\n",
+ "Rl=400 #Load Resistance in Ohms\n",
+ "R2=10**4 #value of the second resistance in Ohms\n",
+ "DF=0.7 #Damping Factor value of LC filter\n",
+ "R1=(2*(DF)*(sqrt(L/C)))-R2 -(1/(Rl*C)) #value of the first resistance in Ohms\n",
+ "R1=round(R1,2)\n",
+ "print 'value of resistance=R1=',R1,'Ohms'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter8_Harmonic_and_PowerFactor_with_the_converter_system.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter8_Harmonic_and_PowerFactor_with_the_converter_system.ipynb
new file mode 100644
index 00000000..de9d3e6c
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter8_Harmonic_and_PowerFactor_with_the_converter_system.ipynb
@@ -0,0 +1,457 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter8 Harmonic and PowerFactor with the converter system"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.1,Pg.no.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of AC converter power=Pc= 5.06 MVAR\n",
+ "value of the capacitance of shunt filter=C = 0.4 millifarads\n",
+ "Inductance of filter=L= 1.08 milliHenry\n",
+ "Resistance of filter=R= 33.91 milliOhms\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "I5=0.2 #amplitude of 5th harmonic current in Kilo Amperes\n",
+ "Vp= 11/(sqrt(3)) #Input supply phase voltage in Kilo Volts\n",
+ "P=5 #supply power per phase of filter in MVAR\n",
+ "Pc=P+((Vp**2*I5**2)/(5*P)) #AC Converter power per phase in MVAR\n",
+ "Pc=round(Pc,2)\n",
+ "print 'value of AC converter power=Pc=',Pc,'MVAR'\n",
+ "C=(Pc*10**3*3) /(11**2*314) #capacitance of the ShuntFilter in milliFarad\n",
+ "C=round(C,2)\n",
+ "print 'value of the capacitance of shunt filter=C =',C,'millifarads'\n",
+ "L=(106*10**6)/(400*4*25*250*3.14**2) #inductance of filter in mHenry\n",
+ "L=round(L,2)\n",
+ "print 'Inductance of filter=L=',L,'milliHenry'\n",
+ "Q=50 #value of Q\n",
+ "W5=2*3.14*5*50 #angular frequency of 5th harmonic\n",
+ "R=(W5*L)/Q #Resistance of filter in milliOhms\n",
+ "R=round(R,2)\n",
+ "print 'Resistance of filter=R=',R,'milliOhms'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.2,Pg.no.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For six pulse converter most effective harmonic is 6th and for worst case a=90 degree\n",
+ "voltage ripple=Wv= 24.1 percent\n",
+ "Harmonic current for 6th harmonic=I6= 10.0 amp\n",
+ "additional inductance required=L= 4.93 milliHenry\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "print 'For six pulse converter most effective harmonic is 6th and for worst case a=90 degree'\n",
+ "Wv=24.1 #voltage ripple in percentage\n",
+ "print 'voltage ripple=Wv=',Wv,'percent'\n",
+ "Id=200.0\n",
+ "I6=(5*Id)/100 #Harmonic current for 6th harmonic in amp\n",
+ "I6=round(I6,1)\n",
+ "print 'Harmonic current for 6th harmonic=I6=',I6,'amp'\n",
+ "Edc=460.0 #dc voltage in volts\n",
+ "W=2*3.14*50\n",
+ "La=1.0 #inductance already present in the circuit in milliHenry\n",
+ "L=((Wv*Edc*10)/(I6*6*W))-La #additional inductance required in milliHenry\n",
+ "L=5.93-1.0\n",
+ "L=round(L,2)\n",
+ "print 'additional inductance required=L=',L,'milliHenry'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.3,Pg.no.24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AC line current of the thyristor=I2= 163.4 amperes\n",
+ "effective reactance of the thyristor=Xt= 0.1 ohms\n",
+ "cosine value of the commutational angle=C= 0.97\n",
+ "commutation angle=CA= 14.07 degrees\n",
+ "cosine value of the firing value=F= 0.72\n",
+ "firing angle=FA= 43.95 degrees\n",
+ "AC line current=I2= 163.4 amps\n",
+ "Current through each device=Ied= 116.0 amps\n",
+ "power factor=PF= 0.71\n",
+ "active power drawn from the mains=AP= 83390.99 Watts\n",
+ "Reactive power drawn=RP= 82709.96 VAR\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "Id=200 #rated dc current in amperes\n",
+ "I2=0.817*Id #AC line current in amperes\n",
+ "print 'AC line current of the thyristor=I2=',I2,'amperes'\n",
+ "E2=415 #AC line voltage in volts\n",
+ "Edc=400 #dc terminal voltage in volts\n",
+ "Xt=0.04*E2/I2 #effective reactance of the thyristor in ohms\n",
+ "Xt=round(Xt,2)\n",
+ "print 'effective reactance of the thyristor=Xt=',Xt,'ohms'\n",
+ "C=1-((Id*Xt)/(E2*sqrt(3))) #cosine value of the commutational angle\n",
+ "C=round(C,2)\n",
+ "print 'cosine value of the commutational angle=C=',C\n",
+ "CA=math.acos(C)*180/pi\n",
+ "CA=round(CA,2)\n",
+ "print 'commutation angle=CA=',CA,'degrees'\n",
+ "F=Edc/(1.35*E2*(1+C)/2) #cosine value of the firing angle\n",
+ "F=round(F,2)\n",
+ "print 'cosine value of the firing value=F=',F\n",
+ "FA=math.acos(F)*180/pi\n",
+ "FA=round(FA,2)\n",
+ "print 'firing angle=FA=',FA,'degrees'\n",
+ "I2=0.817*Id #AC line current in amps\n",
+ "print 'AC line current=I2=',I2,'amps'\n",
+ "Ied=0.58*Id #current through each device in amps\n",
+ "print 'Current through each device=Ied=',Ied,'amps'\n",
+ "PF=F*(1+C)/2 #power factor\n",
+ "PF=round(PF,2)\n",
+ "print 'power factor=PF=',PF\n",
+ "AP=sqrt(3)*E2*I2*PF #active power drawn from the mains in Watts\n",
+ "AP=round(AP,2)\n",
+ "print 'active power drawn from the mains=AP=',AP,'Watts'\n",
+ "RP=sqrt(3)*E2*I2*sqrt(1-PF**2) #reactive power in VAR\n",
+ "RP=round(RP,2)\n",
+ "print 'Reactive power drawn=RP=',RP,'VAR'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.4,Pg.no.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AC line current of the thyristor=I2= 81.7 amperes\n",
+ "power factor=PF= 0.69\n",
+ "Reactive power to be supplied by shunt compensator=RP= 23557.8 VAR\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "Id=100 #rated dc current in amperes\n",
+ "I2=0.817*Id #AC line current in amperes\n",
+ "I2=round(I2,2)\n",
+ "print 'AC line current of the thyristor=I2=',I2,'amperes'\n",
+ "E2=230 #AC line voltage in volts\n",
+ "Edc=200 #dc terminal voltage in volts\n",
+ "PF=math.cos(pi/4)*(1+math.cos(pi/10))/2 #power factor\n",
+ "PF=round(PF,2)\n",
+ "print 'power factor=PF=',PF\n",
+ "RP=sqrt(3)*E2*I2*sqrt(1-PF**2) #reactive power to be supplied by shunt compensator in VAR\n",
+ "RP=round(RP,2)\n",
+ "print 'Reactive power to be supplied by shunt compensator=RP=',RP,'VAR'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.5,Pg.no.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of MVAR rating of the capacitor=Pc= 7.68 MVAR\n",
+ "value of the capacitance of shunt filter=C = 606.41 microfarads\n",
+ "Inductance of filter=L= 0.01 milliHenry\n",
+ "Resistance of filter=R= 0.99 milliOhms\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "I11=400/11 #amplitude of 11th harmonic current in Amperes\n",
+ "V1= 11/(sqrt(3)) #Input supply phase voltage in Kilo Volts\n",
+ "P=7 #supply power per phase of f i l t e r in MVAR/\n",
+ "Pc=P+((V1**2*I11**2*10**-3)/(11*P)) #AC Converter MVAR rating of the capacitor\n",
+ "Pc=round(Pc,2)\n",
+ "print 'value of MVAR rating of the capacitor=Pc=',Pc,'MVAR'\n",
+ "W=2*3.14*50\n",
+ "C=(Pc*10**6)/(V1**2*W) #capacitance of the ShuntFilter in microFarad\n",
+ "C=round(C,2)\n",
+ "print 'value of the capacitance of shunt filter=C =',C,'microfarads'\n",
+ "W11=11*W\n",
+ "L=10**8/(C*W11**2) #inductance of filter in mHenry\n",
+ "L=round(L,2)\n",
+ "print 'Inductance of filter=L=',L,'milliHenry'\n",
+ "Q=35 #value of Q\n",
+ "R=(W11*L)/Q #Resistance of filter in milliOhms\n",
+ "R=round(R,2)\n",
+ "print 'Resistance of filter=R=',R,'milliOhms'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.6,Pg.no.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For six pulse converter most effective harmonic is 6th and for worst case a=90 degree\n",
+ "voltage ripple=Wv= 24.1 percent\n",
+ "Harmonic current for 6th harmonic=I6= 9.81 amp\n",
+ "max. value of current ripple=Wi= 3.27 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "print 'For six pulse converter most effective harmonic is 6th and for worst case a=90 degree'\n",
+ "h=6.0\n",
+ "Wv=24.1 #voltage ripple in percentage\n",
+ "print 'voltage ripple=Wv=',Wv,'percent'\n",
+ "Edc=460.0 #dc voltage in volts\n",
+ "W=2*3.14*50\n",
+ "Ldc=6.0 #total dc circuit inductance in milliHenry\n",
+ "I6=Wv*Edc*10/(Ldc*h*W) #Harmonic current for 6th harmonic in amp\n",
+ "I6=round(I6,2)\n",
+ "print 'Harmonic current for 6th harmonic=I6=',I6,'amp'\n",
+ "Id=300.0\n",
+ "Wi=100*I6/Id #maximum value of current ripple in percentage\n",
+ "Wi=round(Wi,2)\n",
+ "print 'max. value of current ripple=Wi=',Wi,'percent'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.7,Pg.no.27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "voltage ripple of the 6th harmonic=Wv= 17.38 percent\n",
+ "For six pulse converter most effective harmonic is 6th and for worst case A=90degrees\n",
+ "maximum voltage ripple=Wv6= 24.24 percent\n",
+ "voltage ripple of the 12th harmonic=Wv= 8.42 percent\n",
+ "maximum voltage ripple=Wv12= 11.87 percent\n",
+ "percentage reduction in max. voltage ripple=PR= 51.03 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "#given\n",
+ "A=pi/4\n",
+ "h=6\n",
+ "#calculations\n",
+ "Wv=sqrt(2)*sqrt(h**2-math.cos(A)**2*(h**2-1))*100/(h**2-1)\n",
+ "Wv=round(Wv,2)\n",
+ "print 'voltage ripple of the 6th harmonic=Wv=',Wv,'percent'\n",
+ "print 'For six pulse converter most effective harmonic is 6th and for worst case A=90degrees'\n",
+ "A=pi/2\n",
+ "Wv6=sqrt(2)*sqrt(h**2-math.cos(A)**2*(h**2-1))*100/(h**2-1) #maximum voltage ripple in percentage\n",
+ "Wv6=round(Wv6,2)\n",
+ "print 'maximum voltage ripple=Wv6=',Wv6,'percent'\n",
+ "A=pi/4\n",
+ "h=12\n",
+ "Wv=sqrt(2)*sqrt(h**2-math.cos(A)**2*(h**2-1))*100/(h**2-1)\n",
+ "Wv=round(Wv,2)\n",
+ "print 'voltage ripple of the 12th harmonic=Wv=',Wv,'percent'\n",
+ "A=pi/2\n",
+ "Wv12=sqrt(2)*sqrt(h**2-math.cos(A)**2*(h**2-1))*100/(h**2-1) #maximum voltage ripple in percentage\n",
+ "Wv12=round(Wv12,2)\n",
+ "print 'maximum voltage ripple=Wv12=',Wv12,'percent'\n",
+ "PR=(Wv6-Wv12)*100/Wv6 #percentage reduction in max. voltage ripple\n",
+ "PR=round(PR,2)\n",
+ "print 'percentage reduction in max. voltage ripple=PR=',PR,'percent'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.8,Pg.no.28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "cosine of triggering angle=C= 0.65\n",
+ "triggering angle of the device=A= 49.46 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "#givem\n",
+ "Wv=18.6\n",
+ "h=6 \n",
+ "#calculations\n",
+ "C=sqrt(14.68/35) #cosine of triggering angle\n",
+ "C=round(C,2)\n",
+ "print 'cosine of triggering angle=C=',C\n",
+ "A=math.acos(C)*180/pi\n",
+ "A=round(A,2)\n",
+ "print 'triggering angle of the device=A=',A,'degrees'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example8.9,Pg.no.29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "cosine of the triggering angle=C= 0.75\n",
+ "triggering angle of the device=A= 41.41 degrees\n",
+ "power factor=PF= 0.74\n",
+ "Reactive power to be supplied by shuntcompensator=RP= 79.0 KVAR\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "E2=415 #AC line voltage in volts\n",
+ "Edc=380 #dc terminal voltage in volts\n",
+ "C=1.1*Edc/(1.35*E2)\n",
+ "C=round(C,2)\n",
+ "print 'cosine of the triggering angle=C=',C\n",
+ "A=math.acos(C)*180/pi\n",
+ "A=round(A,2)\n",
+ "print 'triggering angle of the device=A=',A,'degrees'\n",
+ "PF=C*(1+math.cos(pi/12))/2 #power factor\n",
+ "PF=round(PF,2)\n",
+ "print 'power factor=PF=',PF\n",
+ "Id=200\n",
+ "I2=0.817*Id\n",
+ "RP=sqrt(3)*E2*I2*sqrt(1-PF**2)/1000 #reactive power to be supplied by shunt compensator in KVAR\n",
+ "RP=round(RP,2)\n",
+ "print 'Reactive power to be supplied by shuntcompensator=RP=',RP,'KVAR'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter_2_The_Device_.ipynb b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter_2_The_Device_.ipynb
new file mode 100644
index 00000000..4d4e44fe
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/Chapter_2_The_Device_.ipynb
@@ -0,0 +1,250 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2 The Device"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.1,Page number 7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of voltage safety factor= 2.56\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "import math \n",
+ "Vpiv=1500 # peak inverse voltage\n",
+ "V=415 # main supply\n",
+ "Vf=Vpiv/(sqrt(2)*V) # voltage safety factor\n",
+ "Vf=round(Vf,2)\n",
+ "print 'value of voltage safety factor=',Vf"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.2,Page number 7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of peak inverse voltage= 683.07 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "import math \n",
+ "Vf=2.1 # voltage safety factor \n",
+ "V=230 # main supply\n",
+ "Vpiv=sqrt(2)*Vf*V # peak inverse voltage\n",
+ "Vpiv=round(Vpiv,2)\n",
+ "print 'value of peak inverse voltage=',Vpiv,'volts'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.3,Page number 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of capacitive current= 0.0045 Amp\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math \n",
+ "C=30*10**-12 # equivalent capacitance \n",
+ "diffV=150*10**6 # dv/dt value of capacitor\n",
+ "Ic=C*(diffV) # capacitive current\n",
+ "print 'value of capacitive current=',Ic,'Amp'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.4,Page number 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of equivalent capacitance= 28.57 pico farad\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math \n",
+ "Ic=5.0 # capacitive current in milli amperes\n",
+ "difV=175.0 # dv/dt value in mega V/s\n",
+ "C=Ic/(difV)*10**3 # equivalent capacitance in pico farad\n",
+ "C=round(C,2)\n",
+ "print 'value of equivalent capacitance=',C,'pico farad'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.5,Page number 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of dv/dt= 240.0 Mv/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math \n",
+ "Ic=6*10**-3 # capacitive current\n",
+ "C=25*10**-12 # equivalent capacitance\n",
+ "diffV=Ic/C # dv/dt value of capacitor\n",
+ "diffV=diffV/10**6\n",
+ "print 'value of dv/dt=',diffV,'Mv/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.6,Page number 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of dv/dt that can trigger the device= 142 V/microseconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math \n",
+ "Ic=5 # capacitive current in milli amperes\n",
+ "C=35 # equivalent capacitance in pico farad\n",
+ "difV=Ic*10**3/C # value of dv/dt that can trigger the device in V/ microseconds\n",
+ "print 'value of dv/dt that can trigger the device=',difV,'V/microseconds'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.7,Page number 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "value of voltage safety factor= 2.3 v\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt\n",
+ "import math \n",
+ "Vpiv=1350 # peak inverse voltage in volts\n",
+ "V=415 # main supply in volts\n",
+ "Vf=Vpiv/(sqrt(2)*V) # voltage safety factor\n",
+ "Vf=round(Vf,2)\n",
+ "print 'value of voltage safety factor=',Vf,'v'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/11.png b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/11.png
new file mode 100644
index 00000000..578b64c3
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/11.png
Binary files differ
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/13.png b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/13.png
new file mode 100644
index 00000000..c96a0bd3
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/13.png
Binary files differ
diff --git a/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/8.png b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/8.png
new file mode 100644
index 00000000..efb03866
--- /dev/null
+++ b/Thyristors_Theory_And_Applications_by_R._K._Sugandhi_And_K._K._Sugandhi/screenshots/8.png
Binary files differ
diff --git a/Turbomachines_by_A._V._Arasu/README.txt b/Turbomachines_by_A._V._Arasu/README.txt
new file mode 100644
index 00000000..b90f2a25
--- /dev/null
+++ b/Turbomachines_by_A._V._Arasu/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Mohd arif
+Course: btech
+College/Institute/Organization: UKTU
+Department/Designation: EC
+Book Title: Turbomachines
+Author: A. V. Arasu
+Publisher: Vikas Publishing, Noida
+Year of publication: 2009
+Isbn: 9788125908401
+Edition: 1 \ No newline at end of file
diff --git a/sample_notebooks/UmangAgarwal/Sample_Notebook_Umang.ipynb b/sample_notebooks/UmangAgarwal/Sample_Notebook_Umang.ipynb
new file mode 100644
index 00000000..1eb49726
--- /dev/null
+++ b/sample_notebooks/UmangAgarwal/Sample_Notebook_Umang.ipynb
@@ -0,0 +1,163 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "Sample Notebook - Heat and Mass Transfer by R.K. Rajput : Chapter 1 - Basic Concepts\n",
+ "author: Umang Agarwal\n",
+ "\n",
+ "\n",
+ "# Example 1.1 Page 16-17\n",
+ "\n",
+ "L=.045; \t\t \t\t\t#[m] - Thickness of conducting wall\n",
+ "delT = 350 - 50; \t\t #[C] - Temperature Difference across the Wall\n",
+ "k=370; \t\t\t\t\t#[W/m.C] - Thermal Conductivity of Wall Material\n",
+ "#calculations\n",
+ "#Using Fourier's Law eq 1.1\n",
+ "q = k*delT/(L*10**6); \t\t\t#[MW/m^2] - Heat Flux\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Rate of Heat Transfer per unit area =\",q,\" W\");\n",
+ "#END\n",
+ "\n",
+ "# Example 1.2 Page 17\n",
+ "\n",
+ "L = .15; \t\t \t\t\t#[m] - Thickness of conducting wall\n",
+ "delT = 150 - 45; \t\t #[C] - Temperature Difference across the Wall\n",
+ "A = 4.5; #[m^2] - Wall Area\n",
+ "k=9.35; \t\t\t\t\t#[W/m.C] - Thermal Conductivity of Wall Material\n",
+ "#calculations\n",
+ "#Using Fourier's Law eq 1.1\n",
+ "Q = k*A*delT/L; \t\t\t#[W] - Heat Transfer\n",
+ "#Temperature gradient using Fourier's Law\n",
+ "TG = - Q/(k*A); #[C/m] - Temperature Gradient\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Rate of Heat Transfer per unit area =\",Q,\" W\");\n",
+ "print '%s %.2f %s' %(\"\\n \\n The Temperature Gradient in the flow direction =\",TG,\" C/m\");\n",
+ "#END\n",
+ "\n",
+ "# Example 1.3 Page 17-18\n",
+ "\n",
+ "x = .0825; \t\t \t\t\t#[m] - Thickness of side wall of the conducting oven\n",
+ "delT = 175 - 75; \t\t #[C] - Temperature Difference across the Wall\n",
+ "k=0.044; \t\t\t\t\t#[W/m.C] - Thermal Conductivity of Wall Insulation\n",
+ "Q = 40.5; #[W] - Energy dissipitated by the electric coil withn the oven \n",
+ "#calculations\n",
+ "#Using Fourier's Law eq 1.1\n",
+ "A = (Q*x)/(k*delT); \t\t#[m^2] - Area of wall\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Area of the wall =\",A,\" m^2\");\n",
+ "#END\n",
+ "\n",
+ "# Example 1.4 Page 18-19\n",
+ "\n",
+ "delT = 300-20; \t\t #[C] - Temperature Difference across the Wall\n",
+ "h = 20; \t\t\t\t\t#[W/m^2.C] - Convective Heat Transfer Coefficient\n",
+ "A = 1*1.5; #[m^2] - Wall Area\n",
+ "#calculations\n",
+ "#Using Newton's Law of cooling eq 1.6\n",
+ "Q = h*A*delT; \t\t\t#[W] - Heat Transfer\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Rate of Heat Transfer =\",Q,\" W\");\n",
+ "#END\n",
+ "\n",
+ "# Example 1.5 Page 19\n",
+ "\n",
+ "L=.15; \t\t \t\t\t#[m] - Length of conducting wire\n",
+ "d = 0.0015; #[m] - Diameter of conducting wire\n",
+ "A = 22*d*L/7; #[m^2] - Surface Area exposed to Convection\n",
+ "delT = 120 - 100; \t\t #[C] - Temperature Difference across the Wire\n",
+ "h = 4500; \t\t\t\t\t#[W/m^2.C] - Convective Heat Transfer Coefficient\n",
+ "print 'Electric Power to be supplied = Convective Heat loss';\n",
+ "#calculations\n",
+ "#Using Newton's Law of cooling eq 1.6\n",
+ "Q = h*A*delT; \t\t\t#[W] - Heat Transfer\n",
+ "Q = round(Q,1);\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Rate of Heat Transfer =\",Q,\" W\");\n",
+ "#END\n",
+ "\n",
+ "# Example 1.6 Page 20-21\n",
+ "\n",
+ "T1 = 300 + 273; \t\t #[K] - Temperature of 1st surface\n",
+ "T2 = 40 + 273; #[K] - Temperature of 2nd surface\n",
+ "A = 1.5; #[m^2] - Surface Area\n",
+ "F = 0.52; \t\t\t\t #[dimensionless] - The value of Factor due geometric location and emissivity\n",
+ "sigma = 5.67*(10**-8) #(W/(m^2 * K^4)) - Stephen - Boltzmann Constant\n",
+ "#calculations\n",
+ "#Using Stephen-Boltzmann Law eq 1.9\n",
+ "Q = F*sigma*A*(T1**4 - T2**4) \t #[W] - Heat Transfer\n",
+ "#Equivalent Thermal Resistance using eq 1.10\n",
+ "Rth = (T1-T2)/Q; #[C/W] - Equivalent Thermal Resistance\n",
+ "#Equivalent convectoin coefficient using h*A*(T1-T2) = Q\n",
+ "h = Q/(A*(T1-T2)); #[W/(m^2*C)] - Equivalent Convection Coefficient\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Rate of Heat Transfer =\",Q,\" W\");\n",
+ "print '%s %.2f %s' %(\"\\n The equivalent thermal resistance =\",Rth,\" C/W\");\n",
+ "print '%s %.2f %s' %(\"\\n The equivalent convection coefficient =\",h,\" W/(m^2 * C)\");\n",
+ "#END\n",
+ "\n",
+ "# Example 1.7 Page 21-22\n",
+ "\n",
+ "L = 0.025; #[m] - Thickness of plate\n",
+ "A = 0.6*0.9; #[m^2] - Area of plate \n",
+ "Ts = 310; \t\t #[C] - Surface Temperature of plate\n",
+ "Tf = 15; #[C] - Temperature of fluid(air)\n",
+ "h = 22; \t\t\t\t\t #[W/m^2.C] - Convective Heat Transfer Coefficient\n",
+ "Qr = 250; \t\t\t\t #[W] - Heat lost from the plate due to radiation\n",
+ "k = 45; \t\t\t\t\t #[W/m.C] - Thermal Conductivity of Plate\n",
+ "#calculations\n",
+ "# In this problem, heat conducted by the plate is removed by a combination of convection and radiation\n",
+ "# Heat conducted through the plate = Convection Heat losses + Radiation Losses\n",
+ "# If Ti is the internal plate temperature, then heat conducted = k*A*(Ts-Ti)/L\n",
+ "Qc = h*A*(Ts-Tf); #[W] - Convection Heat Loss\n",
+ "Ti = Ts + L*(Qc + Qr)/(A*k); \t #[C] - Inside plate Temperature\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Rate of Heat Transfer =\",Ti,\" C\");\n",
+ "#END\n",
+ "\n",
+ "# Example 1.8 Page 22\n",
+ "\n",
+ "Ts = 250; \t\t #[C] - Surface Temperature\n",
+ "Tsurr = 110; #[C] - Temperature of surroundings\n",
+ "h = 75; \t\t\t\t\t #[W/m^2.C] - Convective Heat Transfer Coefficient\n",
+ "F = 1; \t\t\t\t #[dimensionless] - The value of Factor due geometric location and emissivity\n",
+ "sigma = 5.67*(10**-8) #(W/(m^2 * K^4)) - Stephen - Boltzmann Constant\n",
+ "k = 10; \t\t\t\t\t #[W/m.C] - Thermal Conductivity of Solid\n",
+ "#calculations\n",
+ "# Heat conducted through the plate = Convection Heat losses + Radiation Losses\n",
+ "qr = F*sigma*((Ts+273)**4-(Tsurr+273)**4) #[W/m^2] - #[W] - Heat lost per unit area from the plate due to radiation\n",
+ "qc = h*(Ts-Tsurr); #[W/m^2] - Convection Heat Loss per unit area\n",
+ "TG = -(qc+qr)/k; \t #[C/m] - Temperature Gradient\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n The temperature Gradient =\",TG,\" C/m\");\n",
+ "#END\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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/Vishwajith VRao/Chapter1_1.ipynb b/sample_notebooks/Vishwajith VRao/Chapter1_1.ipynb
new file mode 100644
index 00000000..3b2072cd
--- /dev/null
+++ b/sample_notebooks/Vishwajith VRao/Chapter1_1.ipynb
@@ -0,0 +1,2750 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#CHAPTER 1: INTRODUCTION"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.1, Page Number: 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x80a3190>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7ba2d70>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n",
+ "+VHgAAAAAElFTkSuQmCC\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5c74c10>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "As x(-t)=-x(t), x(t) is an odd signal\n"
+ ]
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Variable Declaration\n",
+ "t=numpy.arange(-1.0,1.0,0.01) #Time Base\n",
+ "x=numpy.zeros(numpy.size(t))\n",
+ "y1=numpy.zeros(numpy.size(t))\n",
+ "y2=numpy.zeros(numpy.size(t))\n",
+ "for i in range(0,numpy.size(t)):\n",
+ " \n",
+ " x[i]=math.sin(math.pi*t[i]) #x(t), T is assumed to be 1 \n",
+ " y1[i]=math.sin(-math.pi*t[i]) #y1=x(-t)\n",
+ " y2[i]=-math.sin(math.pi*t[i]) #y2=-x(t)\n",
+ "\n",
+ " \n",
+ "# Plots\n",
+ "#To plot x(t)\n",
+ "plt.plot(t,x)\n",
+ "plt.title('x(t)')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x(t)')\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "#To plot x(-t)\n",
+ "plt.plot(t,y1)\n",
+ "plt.title('x(-t)')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x(-t)')\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "#To plot -x(t)\n",
+ "plt.plot(t,y2)\n",
+ "plt.title('-x(t)')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('-x(t)')\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "#Result\n",
+ "print \"As x(-t)=-x(t), x(t) is an odd signal\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.2, Page Number: 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": [
+ "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\n",
+ "5P8DmSwkOvA53rsAAAAASUVORK5CYII=\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7c7def0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n",
+ "mVnb/j90Co9gOUC1+gAAAABJRU5ErkJggg==\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x8090c90>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x80efe70>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "import math\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Variable Declaration\n",
+ "t=numpy.arange(-4.0,4.0,0.01) #Time Base\n",
+ "x_e=numpy.zeros(numpy.size(t))\n",
+ "x_o=numpy.zeros(numpy.size(t))\n",
+ "x=numpy.zeros(numpy.size(t))\n",
+ "\n",
+ "for i in range(0,numpy.size(t)):\n",
+ " x[i]=(math.e**(-2*t[i]))*math.cos(t[i]) #Given Signal\n",
+ "\n",
+ "#Calculation\n",
+ " x_e[i]=0.5*(math.cos(t[i])*math.e**(-2*t[i])+math.cos(-t[i])*math.e**(2*t[i])) #Even Component\n",
+ " x_o[i]=0.5*(math.cos(t[i])*math.e**(-2*t[i])-math.cos(-t[i])*math.e**(2*t[i])) #Odd Component\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "#To plot x(t)\n",
+ "plt.plot(t,x)\n",
+ "plt.title('x(t)')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x(t)')\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "#To plot x_e(t)\n",
+ "plt.plot(t,x_e)\n",
+ "plt.title('Even Component of x(t)')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x_e(t)')\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "#To plot x_o(t)\n",
+ "plt.plot(t,x_o)\n",
+ "plt.title('Odd Component of x(t)')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x_o(t)')\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 1.3, Page Number: 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5b3b830>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n",
+ "xg6+gpMsAAAAAElFTkSuQmCC\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7bb0750>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Variable Declaration\n",
+ "\n",
+ "#To define x(t), assuming T1=1 and T2=2\n",
+ "t1=numpy.arange(-1.0,0.0,.01)\n",
+ "t2=numpy.arange(0.0,2.0,0.01)\n",
+ "\n",
+ "x=numpy.zeros(300) #x(t)\n",
+ "for i in range(0,100):\n",
+ " x[i]=1+t1[i]\n",
+ " \n",
+ "for i in range(0,200):\n",
+ " x[i+100]=1-0.5*t2[i]\n",
+ " \n",
+ "#Plots\n",
+ "#To plot x(t)\n",
+ "t=numpy.arange(-1.0,2.0,0.01) \n",
+ "plt.plot(t,x)\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x(t)')\n",
+ "plt.title('x(t)')\n",
+ "plt.ylim(0,2)\n",
+ "plt.xlim(-3,3)\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#To flip the signal\n",
+ "x1=numpy.zeros(numpy.size(x))\n",
+ "\n",
+ "for i in range (0,300):\n",
+ " x1[i]=x[299-i]\n",
+ "\n",
+ "#To plot flipped signal\n",
+ "\n",
+ "t3=numpy.arange(-2.0,1.0,0.01) \n",
+ "plt.plot(t3,x1)\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x(-t)')\n",
+ "plt.title('Reflection of x(t)')\n",
+ "plt.ylim(0,2)\n",
+ "plt.xlim(-3,3)\n",
+ "plt.grid(True)\n",
+ "plt.show() \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.4, Page Number: 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x26371b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7a0fef0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Variable Declaration\n",
+ "#x(t)\n",
+ "t=numpy.arange(-2.5,2.5,0.01)\n",
+ "x=numpy.zeros(500)\n",
+ "for i in range(200,300):\n",
+ " x[i]=1\n",
+ "\n",
+ "#y(t)=x(t-2)\n",
+ "y=numpy.zeros(500)\n",
+ "for i in range(400,500):\n",
+ " y[i]=1\n",
+ "\n",
+ "#Plots\n",
+ "plt.plot(t,x)\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x(t)')\n",
+ "plt.title('x(t)')\n",
+ "plt.ylim(0,2)\n",
+ "plt.xlim(-2.5,2.5)\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "plt.plot(t,y)\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('y(t)')\n",
+ "plt.title('y(t)=x(t-2)')\n",
+ "plt.ylim(0,2)\n",
+ "plt.xlim(-2.5,2.5)\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.5, Page Number: 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x79d4f90>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n",
+ "AElFTkSuQmCC\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5c5b7d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n",
+ "gg==\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7ed8530>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Variable Declaration\n",
+ "#x(t)\n",
+ "x=numpy.zeros(800)\n",
+ "for i in range(300,500):\n",
+ " x[i]=1\n",
+ " \n",
+ "#v(t)=x(t+3) \n",
+ "v=numpy.zeros(800)\n",
+ "for i in range(0,200):\n",
+ " v[i]=1\n",
+ "\n",
+ "#y(t)\n",
+ "y=numpy.zeros(800)\n",
+ "for i in range(200,300):\n",
+ " y[i]=1\n",
+ " \n",
+ "\n",
+ "#To plot x(t) \n",
+ "t1=numpy.arange(-4.0,4.0,0.01)\n",
+ "plt.plot(t1,x)\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('x(t)')\n",
+ "plt.title('x(t)')\n",
+ "plt.ylim(0,2)\n",
+ "plt.xlim(-4,4)\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "#To plot x(t+3)\n",
+ "plt.plot(t1,v,'b')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('v(t)')\n",
+ "plt.title('x(t+3)')\n",
+ "plt.ylim(0,2)\n",
+ "plt.xlim(-4,4)\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "#To plot y(t)\n",
+ "plt.plot(t1,y,'b')\n",
+ "plt.xlabel('t')\n",
+ "plt.ylabel('y(t)')\n",
+ "plt.title('y(t)=x(2t+3)')\n",
+ "plt.ylim(0,2)\n",
+ "plt.xlim(-4,4)\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.6, Page Number: 33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": [
+ "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\n",
+ "hfPzAAAAAElFTkSuQmCC\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7c7d2b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5b3b5b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": [
+ "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\n"
+ ],
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5b26750>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Variable Declaration \n",
+ "x=[0,0,0,-1,-1,0,1,1,0,0,0]\n",
+ "\n",
+ "#Calculation \n",
+ "x1=zeros(11)\n",
+ "for i in range(0,6):\n",
+ " x1[2*i]=x[2*i]\n",
+ "\n",
+ "#Plots\n",
+ "\n",
+ "n1=numpy.arange(-5,6,1)\n",
+ "plt.stem(n1,x)\n",
+ "plt.xlabel('n')\n",
+ "plt.ylabel('x[n]')\n",
+ "plt.title('x[n]')\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "n2=numpy.arange(-2,9,1)\n",
+ "plt.stem(n2,x)\n",
+ "plt.xlabel('n')\n",
+ "plt.ylabel('v[n]')\n",
+ "plt.title('v[n]=x[n+3]')\n",
+ "plt.xlim(-2,6)\n",
+ "plt.grid(True)\n",
+ "plt.show()\n",
+ "\n",
+ "n3=numpy.arange(-6.0,5.0,1)\n",
+ "plt.stem(n3,x1)\n",
+ "plt.xlabel('n')\n",
+ "plt.ylabel('y[n]')\n",
+ "plt.title('y[n]=x[2n+3]')\n",
+ "plt.grid(True)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.7, Page Number: 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common fundamental period is 2.0\n",
+ "Therefore, output signal is:\n",
+ "y[n]= 2.0 cos(5*pi*n -0.52 )\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "A1=-1 #Amplitude of x1 (in terms of cos)\n",
+ "A2=math.sqrt(3) #Amplitude of x2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#To find angular frequency\n",
+ "m=1 #Initialise m to 1\n",
+ "while((m*2.0/5!=int(m*2.0/5))): #To find smallest integer value \n",
+ " m=m+1\n",
+ "\n",
+ "\n",
+ "N=2*m*math.pi/(5*math.pi)\n",
+ "\n",
+ "#To find amplitude and phase angle\n",
+ "phi=math.atan(A1/A2) #Phase angle in radians\n",
+ "A=-1/math.sin(phi) #Amplitude\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print \"The common fundamental period is\",N\n",
+ "print \"Therefore, output signal is:\"\n",
+ "print \"y[n]=\",A,\"cos(5*pi*n\",round(phi,2),\")\"\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}