From 57cd788699e63eb029c2dda15f64512629df2a95 Mon Sep 17 00:00:00 2001 From: Trupti Kini Date: Thu, 10 Dec 2015 23:30:17 +0600 Subject: Added(A)/Deleted(D) following books M Fundamental_of_internal_combustion_engines/Chap2.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch2.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch3.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch4.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch5.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch6.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch7.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch8.ipynb A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/screenshots/Ch6Output_Voltage.png A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/screenshots/Ch7(Acceleration_and_Coasting_Period).png A Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/screenshots/Ch7time_taken_by_the_train.png --- .../Chap2.ipynb | 10 +- .../ch2.ipynb | 597 +++++++++ .../ch3.ipynb | 963 +++++++++++++++ .../ch4.ipynb | 1098 +++++++++++++++++ .../ch5.ipynb | 507 ++++++++ .../ch6.ipynb | 561 +++++++++ .../ch7.ipynb | 1293 ++++++++++++++++++++ .../ch8.ipynb | 227 ++++ .../screenshots/Ch6Output_Voltage.png | Bin 0 -> 75280 bytes .../Ch7(Acceleration_and_Coasting_Period).png | Bin 0 -> 52615 bytes .../screenshots/Ch7time_taken_by_the_train.png | Bin 0 -> 57144 bytes 11 files changed, 5255 insertions(+), 1 deletion(-) create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch2.ipynb create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch3.ipynb create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch4.ipynb create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch5.ipynb create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch6.ipynb create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch7.ipynb create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch8.ipynb create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/screenshots/Ch6Output_Voltage.png create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/screenshots/Ch7(Acceleration_and_Coasting_Period).png create mode 100644 Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/screenshots/Ch7time_taken_by_the_train.png diff --git a/Fundamental_of_internal_combustion_engines/Chap2.ipynb b/Fundamental_of_internal_combustion_engines/Chap2.ipynb index a4ae8119..5baf7b4f 100755 --- a/Fundamental_of_internal_combustion_engines/Chap2.ipynb +++ b/Fundamental_of_internal_combustion_engines/Chap2.ipynb @@ -7,6 +7,14 @@ "worksheets": [ { "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2 Test" + ] + }, { "cell_type": "heading", "level": 2, @@ -531,4 +539,4 @@ "metadata": {} } ] -} \ No newline at end of file +} diff --git a/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch2.ipynb b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch2.ipynb new file mode 100644 index 00000000..b7662b3e --- /dev/null +++ b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch2.ipynb @@ -0,0 +1,597 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:431173d6100b9446145193aba59ac72220ea87bbaab0a5b6f70b90bad00211cf" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter2, Economics of Generation" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1 : Page 73" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "#To Determine the Demand and Supply Parameters for 15 bulbs\n", + "\n", + "W=60 #Wattage of the bulb\n", + "N=15 #No. of bulbs\n", + "CL=W*N #Connected Load \n", + "Wih=2*(10**3) #Wattage of immersion heater\n", + "Wh=2*(10**3) #Wattage of heater\n", + "\n", + "#Usage of Bulbs at different time periods\n", + "N1=5 \n", + "N2=10 \n", + "N3=6\n", + "\n", + "#Time periods for bulbs\n", + "T1=2 #6pm - 8pm\n", + "T2=2 #8pm - 10pm\n", + "T3=2 #10pm - 12pm\n", + "#Time Periods for heaters\n", + "T4=4 #1pm - 5pm\n", + "T5=3 #8pm - 11pm\n", + "\n", + "#CASE 1\n", + "MD1=W*N2 #Maximum Demand\n", + "DF=MD1*100/CL #Demand Factor\n", + "EC1=(N1*W*T1)+(N2*W*T2)+(N3*W*T3) #Energy Consumed\n", + "DLF1=EC1*100/(24*MD1) #Daily Load Factor\n", + "\n", + "#CASE 2\n", + "MD2=(W*N2)+Wh #From 8pm - 10pm\n", + "EC2=(T4*Wih)+(T5*Wh)+EC1 #Energy Consumed\n", + "DLF2=EC2*100/(24*MD2) #Daily Load Factor\n", + "\n", + "print '''i)a) Connected Load is %g W\n", + "b) The Maximum Demand is %g W\n", + "c) The Demand Factor is %0.2f percent\n", + "d) The Daily Load Factor is %g percent'''%(CL,MD1,DF,DLF1)\n", + "print 'ii) The Improved Daily Load Factor is %0.2f %%'%DLF2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i)a) Connected Load is 900 W\n", + "b) The Maximum Demand is 600 W\n", + "c) The Demand Factor is 66.67 percent\n", + "d) The Daily Load Factor is 17.5 percent\n", + "ii) The Improved Daily Load Factor is 26.47 %\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2 : Page 74" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the Demand and supply parameter of four consumers\n", + "#Maximum Demands of various users\n", + "MD1=2*(10**3) #9pm\n", + "MD2=2*(10**3) #12 noon\n", + "MD3=8*(10**3) #5pm\n", + "MD4=4*(10**3) #8pm\n", + "MDT=MD1+MD2+MD3+MD4 #Sum of all Maximum Demands\n", + "\n", + "#Demands of various users\n", + "D1=1.6*(10**3) #8pm\n", + "D2=1*(10**3) #8pm\n", + "D3=5*(10**3) #8pm\n", + "\n", + "#The Number after the Alphabets represents the Consumer\n", + "\n", + "#Maximum Demand of the System arises at 8.00 PM\n", + "MDS = D1+D2+D3+MD4 \n", + "\n", + "TDF=MDT/MDS #Diversity Factor\n", + "#Given Values\n", + "#Average Loads\n", + "AL2=500 \n", + "AL4=1000 \n", + "#Load Factors\n", + "LF1=15/100 \n", + "LF3=25/100 \n", + "#Calculated Values\n", + "#Average Loads\n", + "AL1=LF1*MD1 \n", + "AL3=LF3*MD3 \n", + "#Load Factors\n", + "LF2=AL2*100/MD2 \n", + "LF4=AL4*100/MD4 \n", + "\n", + "ALS=AL1+AL2+AL3+AL4 #Combined Average Loads\n", + "LFS=ALS*100/MDS #Combined Load Factor\n", + "\n", + "print 'i) The Diversity Factor is %0.3f '%TDF\n", + "print 'ii) The Average load and Load factor of:'\n", + "print ' Consumer 1 : %g kW and %g %%'%(AL1/1000,LF1*100)\n", + "print ' Consumer 2 : %g kW and %g %%'%(AL2/1000,LF2)\n", + "print ' Consumer 3 : %g kW and %g %%'%(AL3/1000,LF3*100)\n", + "print ' Consumer 4 : %g kW and %g %%'%(AL4/1000,LF4)\n", + "print 'iii) The Combined Load Factor and The Combined Average Load is %0.2f percent and %0.2f kW respectively'%(LFS,ALS/1000 )" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) The Diversity Factor is 1.379 \n", + "ii) The Average load and Load factor of:\n", + " Consumer 1 : 0.3 kW and 15 %\n", + " Consumer 2 : 0.5 kW and 25 %\n", + " Consumer 3 : 2 kW and 25 %\n", + " Consumer 4 : 1 kW and 25 %\n", + "iii) The Combined Load Factor and The Combined Average Load is 32.76 percent and 3.80 kW respectively\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3 : Page 75" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the Yearly Cost of the substation\n", + "\n", + "Teff=95/100 #Transmission Efficiency\n", + "Deff=85/100 #Distribution Efficiency\n", + "DFT=1.2 #Diversity Factor For Transmission\n", + "DFD=1.3 #Diversity Factor For Distribution\n", + "MDGS=100*(10**6) #Maximum Demand of Generating Station\n", + "ALF=40/100 #Annual Load Factor\n", + "ACCT=2.5*(10**6) #Annual Capital Charge for Transmission\n", + "ACCD=2*(10**6) #Annual Capital Charge for Distribution\n", + "GCC=100 #Generating Cost per KW demand\n", + "GCCU=5/100 # Per Unit Cost\n", + "#Fixed Charges from Supply to Substation Annually\n", + "GFC=GCC*MDGS/1000 #Generating\n", + "TFC=ACCT #Transmission\n", + "TotFCS=GFC+TFC #Total\n", + "#Fixed Charges for supply upto Consumer Annually\n", + "DFC=ACCD #Distribution\n", + "TotFCC=TotFCS+DFC #Total\n", + "\n", + "AMDS= DFT*MDGS/1000 #Aggregate of Maximum Demand at Supply\n", + "AMDC= DFD*AMDS #Aggregate of Maximum Demand for Consumers\n", + "\n", + "FCS=TotFCS/AMDS #Fixed Charges Per KW at substation\n", + "CES=GCCU/Teff #Cost of energy at the substation\n", + "\n", + "FCC=TotFCC/AMDC #Fixed Charges per KW at the consumer premises\n", + "CEC=CES/Deff #Cost of Energy at the consumer premises\n", + "\n", + "print 'The Yealy Cost per KW demand and the cost per KWhr at:'\n", + "print 'a) The substation is %0.2f rupees per KW and %0.2f paise per KWhr'%(FCS,CES*100)\n", + "print 'b) The consumer premises is %g rupees per KW and %0.1f paise per KWhr'%(FCC,CEC*100)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Yealy Cost per KW demand and the cost per KWhr at:\n", + "a) The substation is 104.17 rupees per KW and 5.26 paise per KWhr\n", + "b) The consumer premises is 92.9487 rupees per KW and 6.2 paise per KWhr\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex4 : Page 78" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the Load factor and suitable units for 24 hr operation of the plant\n", + "\n", + "\n", + "#Demands at Various Time Periods starting from 12PM to 12PM\n", + "D1=500*(10**3) \n", + "D2=800*(10**3) \n", + "D3=2000*(10**3) \n", + "D4=1000*(10**3) \n", + "D5=2500*(10**3) \n", + "D6=2000*(10**3) \n", + "D7=1500*(10**3) \n", + "D8=1000*(10**3) \n", + "\n", + "MD=D5 #Maximum Demand\n", + "#Time Periods of demands ststing from 12PM\n", + "T1=5 \n", + "T2=5 \n", + "T3=2 \n", + "T4=2 \n", + "T5=3 \n", + "T6=3 \n", + "T7=2 \n", + "T8=2 \n", + "\n", + "#Total Energy Demand in 24hrs\n", + "TED=(T1*D1)+(T2*D2)+(T3*D3)+(D4*T4)+(T5*D5)+(D6*T6)+(D7*T7)+(T8*D8) \n", + "\n", + "LF=TED*100/(24*MD) \n", + "\n", + "print '''Since Maximum Demand is 2500 kW, \n", + "2 units 0f 1000W and one unit of 500W is required.\n", + "Also for continuity of supply, A reserve of 1000W unit is required.'''\n", + "\n", + "C1000=3*1000*(10**3) #1000 unit \n", + "C500=1*500*(10**3) #500 Unit\n", + "\n", + "TCP=C1000+C500 #Total capacity of the plant\n", + "PCF=TED*100/(24*TCP) #Plant Capacity Factor\n", + "\n", + "#Operating Schedule, Units operated can be seen in the textbook\n", + "G1=500*(10**3) \n", + "G2=1000*(10**3) \n", + "G3=2000*(10**3) \n", + "G4=1000*(10**3) \n", + "G5=2500*(10**3) \n", + "G6=2000*(10**3) \n", + "G7=1500*(10**3) \n", + "G8=1000*(10**3) \n", + "\n", + "TEG=(T1*G1)+(T2*G2)+(T3*G3)+(G4*T4)+(T5*G5)+(G6*T6)+(G7*T7)+(T8*G8) #Total Energy Generated\n", + "PUF=TED*100/(TEG) #Plant Use Factor\n", + "\n", + "print 'a) The Reserve Capacity is a 1000kW Unit and Load Factor is %0.2f percent'%LF\n", + "print 'b) The Plant Capacity Factor is %0.2f percent'%PCF \n", + "print 'c) The Plant Use Factor is %0.2f percent'%PUF" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Since Maximum Demand is 2500 kW, \n", + "2 units 0f 1000W and one unit of 500W is required.\n", + "Also for continuity of supply, A reserve of 1000W unit is required.\n", + "a) The Reserve Capacity is a 1000kW Unit and Load Factor is 51.67 percent\n", + "b) The Plant Capacity Factor is 36.90 percent\n", + "c) The Plant Use Factor is 96.88 percent\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex5 : Page 80" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the Plant use factore of each unit\n", + "\n", + "\n", + "MDS=25*(10**6) #Maximum Demand on the System\n", + "U1=15*(10**6) #Load Supplied By Unit 1\n", + "U2=12.5*(10**6) #Load Supplied By Unit 2\n", + "#Running Time Factor of the Unit\n", + "T1=1 \n", + "T2=40/100 \n", + "\n", + "#Energy generated by each unit\n", + "E1=1*(10**8) \n", + "E2=1*(10**7) \n", + "Et=E1+E2 #Total Energy\n", + "\n", + "#Maximum Demands on Each Units\n", + "MD1=U1 \n", + "MD2=MDS-U1 \n", + "\n", + "#Annual Load Factor for the Units\n", + "ALF1=E1*1000*100/(MD1*8760) \n", + "ALF2=E2*1000*100/(MD2*8760) \n", + "\n", + "LF2=E2*1000*100/(MD2*0.4*8760) #Load Factor for the it is loaded\n", + "\n", + "#Since Unit runs all through the year without any reserve, Load Factor ,Plant Use Factor and Plant Capacity Factor are the same\n", + "PUF1=ALF1 #Plant Use Factor\n", + "PCF1=ALF1 # Plant Capacity Factor\n", + "\n", + "PCF2=E2*1000*100/(U2*8760) #Plant Capacity Factor for Unit 2\n", + "PUF2=E2*1000*100/(U2*0.4*8760) #Plant Use Factor for Unit 2\n", + "\n", + "LFP=Et*100*1000/(MDS*8760) #Annual Load Factor of the Complete Plant\n", + "\n", + "print 'The Load Factor, Plant Capacity Factor, Plant Use Factor of: ' \n", + "print 'Unit 1 : %g percent, %g percent, %0.2f %%'%(ALF1,PCF1,PUF1)\n", + "print 'Unit 2 : %g percent, %g percent, %0.2f %%'%(ALF2,PCF2,PUF2)\n", + "print 'The Annual Load Factor of the Entire Plant is %0.2f %%'%(LFP)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Load Factor, Plant Capacity Factor, Plant Use Factor of: \n", + "Unit 1 : 76.1035 percent, 76.1035 percent, 76.10 %\n", + "Unit 2 : 11.4155 percent, 9.13242 percent, 22.83 %\n", + "The Annual Load Factor of the Entire Plant is 50.23 %\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex6 : Page 82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the Overall cost per kWhr\n", + "\n", + "\n", + "# C1 =(100,000 rupees + 100 rupees/kW + 6 paise /kWhr) #Base Load Station\n", + "# C2 =(80,000 rupees + 60 rupees/kW + 8 paise /kWhr) #Peak Load Station\n", + "\n", + "MaxD=15*(10**6) \n", + "MinD=5*(10**6) \n", + "\n", + "BLS=lambda b,c:100000+(b*100)+((6/100)*c) #Function to Find Annual Cost of Base Load Station.\n", + "\n", + "PLS = lambda b,c:80000+(b*60)+((8/100)*c) #Function to Find Annual Cost of Peak Load Station.\n", + "\n", + "\n", + "a1=100 \n", + "a2=60 \n", + "b1=6/100 \n", + "b2=8/100 \n", + "\n", + "Tpeak=(a1-a2)/(b2-b1) #Number of hours the peak plant should operate\n", + "#From the straight line annual load duration curve, Maximum Demand at Peak Load Station can be calculated\n", + "MDP=Tpeak*(MaxD-MinD)/8760 \n", + "\n", + "TotEG=(MaxD+MinD)*8760/(2*1000) #Total Energy Generated\n", + "EGP=MDP*Tpeak/(2*1000) #Energy Generated by Peak Load\n", + "EGB=TotEG-EGP #Energy Generated by Base Load\n", + "\n", + "MDB=MaxD-MDP #Maximum Demand at the Base Load\n", + "\n", + "#Total Annual Cost of Base Load and Peak Load Stations Respectively\n", + "C1=BLS((MDB/1000),EGB) \n", + "C2=PLS((MDP/1000),EGP) \n", + "\n", + "TotC=C1+C2 #Total Cost of both the plants\n", + "CE=TotC*100/TotEG #Cost of energy in paise per kWhr\n", + "\n", + "print 'The Operating Scedule of Peak Load Station for Minimum Annual Cost is %g hours'%Tpeak\n", + "print 'The Overall Cost per kWhr is %0.1f paise'%CE" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Operating Scedule of Peak Load Station for Minimum Annual Cost is 2000 hours\n", + "The Overall Cost per kWhr is 7.9 paise\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex7 : Page 90" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the amount saved to replace the equipment\n", + "\n", + "\n", + "Pc=80000 #Plant Cost\n", + "UL= 15 #Useful Life of the Plant\n", + "SVE=5000 #Salvage Value of the Equipment\n", + "r=5/100 #Compound Interest Rate\n", + "\n", + "A1=(Pc-SVE)/UL #Annual Amount to be saved using straight line method\n", + "A2=(Pc-SVE)*r*100/(100*(((1+r)**UL)-1))# Annual Amount to be saaved using Sink Fund Method\n", + "\n", + "print 'i) The Amount to be Saved Annually according to straight line method is %g Rupees'%(A1)\n", + "print 'ii) The Amount to be Saved Annually according to sink fund method is %g Rupees'%(A2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) The Amount to be Saved Annually according to straight line method is 5000 Rupees\n", + "ii) The Amount to be Saved Annually according to sink fund method is 3475.67 Rupees\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex8 : Page 90" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Obatin a two part tariff for the consumers\n", + "\n", + "\n", + "EG=390*(10**6) #Energy Generated in kWhr\n", + "MD=130*(10**6) #Maximum Demand of the Supply\n", + "SCeff=90/100 #The Amount of energy transferred from Substation to Consumer\n", + "#Total Cost for Each Division\n", + "Fuel=5*(10**6) \n", + "Gen=2.4*(10**6) \n", + "Trans=5*(10**6) \n", + "Dist=3.4*(10**6) \n", + "Tot=Fuel+Gen+Trans+Dist #Total Cost\n", + "\n", + "Runcost = lambda y,z:(y*z/100) #Function to Find out the Running Costs\n", + "#Running Costs\n", + "Fuelr=Runcost(90,Fuel) \n", + "Genr=Runcost(10,Gen) \n", + "Transr=Runcost(5,Trans) \n", + "Distr=Runcost(7,Dist) \n", + "Totr=Fuelr+Genr+Transr+Distr #Total Cost\n", + "\n", + "FixCost=Tot-Totr # Fixed Cost\n", + "FixChar=FixCost*1000/MD #Fixed Charges per KW\n", + "EnChar=Totr*100/(EG*SCeff) #Energy Charges in Paise for Consumer\n", + "OverCost=Tot*100/(EG*SCeff) #Overall Energy Charges\n", + "\n", + "LF=40/100 #Load Factor Raised to 40%\n", + "EG1=LF*MD*8760/1000 #Energy Generated for Different Load Factor\n", + "Totr1=Totr*(EG1/EG) #Cost of Energy Generated\n", + "Tot1=FixCost+Totr1 #Total Cost for the New Load Factor\n", + "OverCost1=Tot1*100/(EG1*SCeff) #Overall Energy Charges\n", + "\n", + "Saving=(OverCost-OverCost1)*100/OverCost #Percentage Saving in the Overall Cost per kWhr\n", + "\n", + "print 'The Fixed Charges is %0.2f rupees per kW'%FixChar \n", + "print 'The Energy Charges for the Consumer is %0.3f paise per kWhr '%(EnChar)\n", + "print '''IF the Load Factor is raised to 40percent of the Same Maximum Demand,\n", + "then the percentage saving in the overall costs is %0.2f percent'''%Saving" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Fixed Charges is 81.32 rupees per kW\n", + "The Energy Charges for the Consumer is 1.489 paise per kWhr \n", + "IF the Load Factor is raised to 40percent of the Same Maximum Demand,\n", + "then the percentage saving in the overall costs is 9.62 percent\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex8 : Page 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import numpy as np\n", + "#To determine the most economic power factor\n", + "\n", + "\n", + "P=200*(10**3) #Maximum Demand\n", + "pf=0.707 #Power Factor Lagging\n", + "\n", + "a=100 #Tariff per kVA per year\n", + "\n", + "b=200 #Power factor improvement cost Per kVA.\n", + "r=20 #Interest Depriciation, maintenance and cost of losses amount to 20% of capital cost per year\n", + "\n", + "# Economic PF = sqrt(1-((b1/a)**2))\n", + "\n", + "b1=r*b/100 # b' term accrding to the equation above\n", + "\n", + "pfeco=np.sqrt(1-((b1/a)**2)) #Economic Power Factor\n", + "\n", + "print 'The Economic Power Factor is %0.4f'%pfeco" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Economic Power Factor is 0.9165\n" + ] + } + ], + "prompt_number": 9 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch3.ipynb b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch3.ipynb new file mode 100644 index 00000000..8794bc77 --- /dev/null +++ b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch3.ipynb @@ -0,0 +1,963 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:afc5e10b4cd0ce9a61f1ca826a0d70820843f939cde405f3a80a807266886e6b" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter3, Distribution\n" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1 : Page 103" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "from numpy import sqrt\n", + "#To Determine the most economical current density\n", + "\n", + "\n", + "OFC=15 #Cost of single phase overhead feeder per km per unit area\n", + "AIDC= 10*OFC/100 #Annual Interest and depriciation charges\n", + "R=1/58 #Resistance of 1m length and 1 sq.mm\n", + "CLPUL= 2*R*1000 # Copper Loss per unit length per unit area per unit square current\n", + "ACL= CLPUL*365*24*0.5 # Annual Copper Loss\n", + "GC= 5/100 # Genereating Cost per unit.\n", + "ACEL= ACL*GC/1000 # Annual cost of energy loss\n", + "CD= sqrt(AIDC/ACEL) #Current Density\n", + "print 'The Most Economical Current Density for this Case is %0.2f A/sq.mm'%CD " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Most Economical Current Density for this Case is 0.45 A/sq.mm\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2 : Page 104" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the most economical cross sectional area\n", + "\n", + "\n", + "OFC=180 #Cost of single phase overhead feeder per km per unit area + 1200\n", + "AIDC= 10*OFC/100 #Annual Interest and depriciation charges + 120\n", + "R=1/58 #Resistance of 1m length and 1 sq.mm\n", + "I=200 # Maximum Current Flowing\n", + "CLPUL= 2*(I**2)*R*1000 # Copper Loss per unit length per unit area\n", + "ACL= CLPUL*365*24*(8/12) # Annual Copper Loss\n", + "GC= 5/100 # Genereating Cost per unit.\n", + "ACEL= ACL*GC/1000 # Annual cost of energy loss\n", + "A= sqrt(ACEL/AIDC) #Cross Sectional Area of the cable\n", + "print 'The Most Economical cross sectional area of the cable for this Case is %0.2f sq.mm'%A " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Most Economical cross sectional area of the cable for this Case is 149.58 sq.mm\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3 : Page 105" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# To determine the Most Economical Cross Sectional Area to supply a 3 Phase Load\n", + "\n", + "LLF = lambda b:(0.25*b)+(0.75*(b**2)) # Function to determine the Loss Load Factor\n", + "\n", + "OFC=0.20 #Cost of single phase overhead feeder per m per unit area + 10\n", + "AIDC= 10*OFC/100 #Annual Interest and depriciation charges + 1\n", + "TE= 2.5*(10**6) # Total energy to be supplied per annum\n", + "CEW=10/100 # Cost of energy wasted per unit\n", + "LFS= TE/(1000*365*24) # Load factor of supply\n", + "Llf=LLF(LFS) # Load Loss factor\n", + "R=1/58 # Resistance of the cable per unit length\n", + "PF=1 # Unity power factor\n", + "MD= 1*(10**6) # Maximum Demand\n", + "V=11*(10**3) # Voltage of the feeder\n", + "I=MD/(sqrt(3)*V*PF) # Full Load Current\n", + "FLCL= 3*(I**2)*R # Full Load Copper Loss per Metre\n", + "ACL= Llf*FLCL # Actual Copper Loss\n", + "CCL=ACL*(365*24*CEW/1000) # Cost of Copper Loss\n", + "A=sqrt(CCL/AIDC) \n", + "print 'The Most Economical Cross sectional area for this Case is %g A/sq.mm'%A \n", + "# Calculation Mistake in the Book. Hence according to the concepts in the book the answer is as calculated. Please Note." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Most Economical Cross sectional area for this Case is 28.7493 A/sq.mm\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex4 : Page 106" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the most economical cross section for a 3 Phase line 8 km long\n", + "\n", + "\n", + "OFC=5000 #Cost of feeder per km per unit area + 6250\n", + "AIDC= 8*OFC/100 #Annual Interest and depriciation charges + 625\n", + "AIDCPD= AIDC/365 # Annual Interest and depriciation charges per day\n", + "R=1/58 #Resistance of 1m length and 1 sq.mm\n", + "CEU= 5/100 # Cost of energy per unit\n", + "V=33*(10**3) # Voltage of the feeder\n", + "L10=3000*(10**3) # Load for 10 hrs at unity power factor.\n", + "L8=1000*(10**3) # Load for 8 hrs at unity power factor.\n", + "L6=2000*(10**3) # Load for 6 hrs at unity power factor.\n", + "\n", + "LC = lambda b:b/(sqrt(3)*V) # Funtion to determine the Load Current\n", + "I10=LC(L10) # Load Current for 10 hrs at unity power factor.\n", + "I8=LC(L8) # Load Current for 8 hrs at unity power factor.\n", + "I6=LC(L6) # Load Current for 6 hrs at unity power factor.\n", + "ELPD=3*(((I10**2)*10)+((I8**2)*8)+((I6**2)*6))*1000/(100*58) # Energy Loss Over the DAy per km (Area in sq.cm)\n", + "CEL=ELPD*CEU/1000 # Cost of energy loass per km\n", + "A=sqrt(CEL/AIDCPD) # Cross Sectional Area\n", + "print 'The Most Economical Cross Sectional Area for a 3 Phase line 8 km Long is %0.4f sq..cm'%A " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Most Economical Cross Sectional Area for a 3 Phase line 8 km Long is 0.9388 sq..cm\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex5 : Page 109" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# To Calculate Voltage between middle wire and outer at each load point\n", + "\n", + "\n", + "Vs=220 #Supply Voltage\n", + "#Resistances of the respective Sections\n", + "Rab=0.2 \n", + "Rbc=0.2 \n", + "Rdh=0.2 \n", + "Rhe=0.2 \n", + "Ref=0.3 \n", + "Rfl=0.1 \n", + "Rlg=0.3 \n", + "Rij=0.25 \n", + "Rjk=0.2 \n", + "Ra=0.2 \n", + "Rd=0.4 \n", + "Ri=0.3 \n", + "\n", + "#Currents following through the respective Section, Found using KCL\n", + "Iad=5 \n", + "Ibe=10 \n", + "Icl=12 \n", + "Ihi=15 \n", + "Ifj=5 \n", + "Igk=15 \n", + "Ia=Iad+Ibe+Icl # Current through the positive wire\n", + "Iab=Ia-Iad \n", + "Ibc=Ia-Iad-Ibe \n", + "Ii=Ihi+Ifj+Igk # Current through the negative wire\n", + "Id=Ii-Ia #Current through the Middle wire\n", + "Idh=Iad+Id \n", + "Ihe=Ihi-Idh \n", + "Ief=Ibe-Ihe \n", + "Ifl=Ief-Ifj \n", + "Ilg=Igk \n", + "Iij=Ii-Ihi \n", + "Ijk=Ii-Ihi-Ifj \n", + "\n", + "#Voltage drops across each section\n", + "Va= Ra*Ia \n", + "Vab=Iab*Rab \n", + "Vbc=Ibc*Rbc \n", + "Vi=Ii*Ri \n", + "Vd=Id*Rd \n", + "Vdh=Idh*Rdh \n", + "Vhe=Ihe*Rhe \n", + "Vef=Ief*Ref \n", + "Vfl=Ifl*Rfl \n", + "Vlg=Ilg*Rlg \n", + "Vij=Iij*Rij \n", + "Vjk=Ijk*Rjk \n", + "\n", + "#Voltage across the middle wire and the outer load points Using KVL\n", + "Vad=Vs-Va+Vd \n", + "Vbe=Vad-Vab-Vhe+Vdh \n", + "Vcl=Vbe-Vbc+Vfl+Vef \n", + "Vhi=Vs-Vd-Vdh-Vi \n", + "Vfj=Vhi-Vef+Vhe-Vij \n", + "Vgk=Vfj-Vfl-Vlg-Vjk \n", + "\n", + "print 'The Voltages between middle wire and outer wire at each load point are:'\n", + "print ' 1. Vad = %g V'%(Vad)\n", + "print ' 2. Vbe = %g V'%(Vbe)\n", + "print ' 3. Vcl = %g V'%(Vcl)\n", + "print ' 4. Vhi = %g V'%(Vhi)\n", + "print ' 5. Vfj = %g V'%(Vfj)\n", + "print ' 6. Vgk = %g V'%(Vgk)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Voltages between middle wire and outer wire at each load point are:\n", + " 1. Vad = 217.8 V\n", + " 2. Vbe = 215.6 V\n", + " 3. Vcl = 215.9 V\n", + " 4. Vhi = 203.7 V\n", + " 5. Vfj = 196.7 V\n", + " 6. Vgk = 188.9 V\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex6 : Page 110" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To obtain the voltages at the far end of the positive and negative wires\n", + "\n", + "\n", + "Vs=220 # Supply Voltage\n", + "#Resistances of the given sections\n", + "r1=0.015 \n", + "r2=0.035 \n", + "r3=0.02 \n", + "r4=0.01 \n", + "r5=0.025 \n", + "r6=0.015 \n", + "r7=0.03 \n", + "r8=0.01 \n", + "r9=0.02 \n", + "r10=0.03 \n", + "r11=0.04 \n", + "\n", + "#Currents follwing in between the two wires\n", + "I1=10 \n", + "I2=20 \n", + "I3=25 \n", + "I4=5 \n", + "I5=15 \n", + "I6=15 \n", + "I7=15 \n", + "I8=15 \n", + "I9=18 \n", + "I10=30 \n", + "I11=15 \n", + "\n", + "#Effective resistances for the above currents\n", + "R1=r1 \n", + "R2=r1+r2 \n", + "R3=r1+r2+r3 \n", + "R4=r1+r2+r3+r4 \n", + "R5=r1+r2+r3+r4+r5 \n", + "R6=r1+r2+r3+r4+r5+r6 \n", + "R7=r7 \n", + "R8=r7+r8 \n", + "R9=r7+r8+r9 \n", + "R10=r7+r8+r9+r10 \n", + "R11=r7+r8+r9+r10+r11 \n", + "\n", + "#Voltage drop in the respective wires\n", + "#Outer positive wire\n", + "Vop=(I1*R1)+(I2*R2)+(I3*R3)+(I4*R4)+(I5*R5)+(I6*R6) \n", + "#Outer Negative wire\n", + "Vnp=(I7*R7)+(I8*R8)+(I9*R9)+(I10*R10)+(I11*R11) \n", + "# Net drop in neutral wire\n", + "Vn=Vop-Vnp \n", + "\n", + "#Effective drop in the respective wires\n", + "#Outer positive wire\n", + "Veop=Vop+Vn \n", + "#Outer negative wire\n", + "Venp=Vnp-Vn \n", + "\n", + "#Voltage at far end of the wires\n", + "#Positive Wire\n", + "Vpf=Vs-Veop \n", + "#Negaitve Wire\n", + "Vnf=Vs-Venp \n", + "\n", + "print \"The voltage drop at the far end of the wires are:\" \n", + "print \"Positive Wire: %g V\"%(Vpf)\n", + "print \"Negative Wire: %g V\"%(Vnf)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage drop at the far end of the wires are:\n", + "Positive Wire: 213.43 V\n", + "Negative Wire: 213.115 V\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex7 : Page 111" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the cross section of the conductor for a minimum consumer voltage\n", + "\n", + "from sympy import symbols, solve\n", + "#Unknown Variable obtained in the equation\n", + "Ib, r=symbols(\"Ib r\") \n", + "\n", + "\n", + "#Voltages at the respective ends\n", + "Va=230 \n", + "Vb=230 \n", + "\n", + "#Minimum Consumers's Voltage\n", + "Vc=220 \n", + "\n", + "#Lenghths of the segments\n", + "r1=200 \n", + "r2=200 \n", + "r3=100 \n", + "r4=300 \n", + "r5=300 \n", + "r6=100 \n", + "\n", + "#Effective length of segments\n", + "R1=r1 \n", + "R2=r1+r2 \n", + "R3=r1+r2+r3 \n", + "R4=r1+r2+r3+r4 \n", + "R5=r1+r2+r3+r4+r5 \n", + "R6=r1+r2+r3+r4+r5+r6 \n", + "\n", + "#Current drawn by different loads\n", + "I1=25 \n", + "I2=20 \n", + "I3=25 \n", + "I4=25 \n", + "I5=10 \n", + "\n", + "#By the law of momemts of currents\n", + "Vnet=2*((I1*R1)+(I2*R2)+(I3*R3)+(I4*R4)+(I5*R5)-(Ib*R6)) #Since the equation is equated to zero, r vanishes\n", + "X=Vnet-(Va-Vb) #Polynomial Equation to Find Ib\n", + "Ib=float(solve(X, Ib)[0]) # Numerical Value of Ib\n", + "\n", + "Ia=(I1+I2+I3+I4+I5)-Ib \n", + "\n", + "#From the given figure it is clear that point M is the point of Minimum Potential\n", + "Vd=Va-Vc \n", + "X=(2*r*((Ia*r1)+((Ia-I1)*r2)+((Ia-I1-I2)*r3)))-Vd #Polynomial Equation to Find r\n", + "r=float(solve(X, r)[0]) # Resistance per unit length (Numerical Value)\n", + "\n", + "Rstd=(1/58) # Resistance for 1m and 1 sq.mm\n", + "\n", + "A=Rstd/r # Cross Section of Conductor required.\n", + "\n", + "print 'The Cross Section of the Conductor to provide minimal consumer''s voltage is %0.f sq.mm '%A" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Cross Section of the Conductor to provide minimal consumers voltage is 67 sq.mm \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex8 : Page 111" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the cross section of the conductor for a minimum consumer voltage\n", + "\n", + "from sympy import symbols, solve\n", + "#Unknown Variable obtained in the equation\n", + "x,r = symbols(\"x r\") \n", + "\n", + "#Voltages at the respective ends\n", + "Va=235 \n", + "Vb=230 \n", + "\n", + "#Minimum Consumers's Voltage\n", + "Vc=220 \n", + "\n", + "#Lenghths of the segments\n", + "r1=200 \n", + "r2=200 \n", + "r3=100 \n", + "r4=300 \n", + "r5=300 \n", + "r6=100 \n", + "\n", + "#Effective length of segments\n", + "R1=r1 \n", + "R2=r1+r2 \n", + "R3=r1+r2+r3 \n", + "R4=r1+r2+r3+r4 \n", + "R5=r1+r2+r3+r4+r5 \n", + "R6=r1+r2+r3+r4+r5+r6 \n", + "\n", + "#Current drawn by different loads\n", + "I1=25 \n", + "I2=20 \n", + "I3=25 \n", + "I4=25 \n", + "I5=10 \n", + "\n", + "#The Minimum Point assumed is N, Hence the current following to Point N is given by 'x'\n", + "\n", + "#The Effective Drops\n", + "Van=Va-Vc \n", + "Vbn=Vb-Vc \n", + "V=Van/Vbn \n", + "A=2*(((x+I1)*r1)+(r2*x)) #Wrt to Van\n", + "B=2*(((I2-x)*r3)+((I2+I3-x)*r4)+((I2+I3+I4-x)*r5)+((I2+I3+I4+I5-x)*r6)) #Wrt to Vbn\n", + "C=A/B # The 'r' term gets eliminated\n", + "X=C-V # Polynomial Eqaution to find x\n", + "x=solve(X,x)[0]\n", + "Ia=I1+x #Current Supplied at end A \n", + "#It is clear the above assumed Minimal Point is wrong and it has to Point M\n", + "#Therefore finding drop at Point M\n", + "\n", + "X=(2*r*(((x+I1)*r1)+(r2*x)+((x-20)*r3)))-Van #Polynomial Equation to find r\n", + "r=solve(X,r)[0] # Numerical Value of r\n", + "Rstd=(1/58) # Resistance for 1m and 1 sq.mm\n", + "\n", + "A=Rstd/r # Cross Section of Conductor required.\n", + "\n", + "print 'The Cross Section of the Conductor to provide minimal consumer''s voltage is %0.2f sq.mm'%A\n", + "\n", + "# Please note the calculation mistake in the book. The value of r found out is wrong in the text book." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Cross Section of the Conductor to provide minimal consumers voltage is 51.26 sq.mm\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex9 : Page 114" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the location and magnitude of minimum voltage\n", + "\n", + "\n", + "Vs=220 #Supply Voltage at End A and B\n", + "#Different Conductor Lenghts\n", + "#From End A\n", + "L1=100 \n", + "L2=50 \n", + "L3=50 \n", + "L4=400 #Length of uniform loading\n", + "\n", + "A=0.5 #Uniforming loading spread over 400m\n", + "r=0.05 # Resistance of Conductor per Km\n", + "#Different Currents drawn by various loads\n", + "I1=50 \n", + "I2=75 \n", + "I3=A*L4 \n", + "\n", + "#Taking moments of all currents at A \n", + "Ib=((I1*L1)+((L1+L2)*I2)+((L1+L2+L3+(L4/2))*I3))/(L1+L2+L3+L4) \n", + "Ia=I1+I2+I3-Ib \n", + "\n", + "#Minimum Potential Point in this case is the point where All the current from B is drawn\n", + "X=Ib/A # Distance from B \n", + "Y=(L1+L2+L3+L4)-X #Distance from A \n", + "\n", + "#Minimum Potential Drop\n", + "Vmind=(2*r/1000)*((Ia*L1)+((Ia-I1)*L2)+((Ia-I1-I2)*L3)+(((Y-L1-L2-L3)*A)*((Y-L1-L2-L3)/2))) \n", + "\n", + "Vmin=Vs-Vmind #Minimum Potential\n", + "print 'The Location of The Minimum Voltage is %g m from side A and its magnitude is %0.1f V'%(Y,Vmin)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Location of The Minimum Voltage is 279.167 m from side A and its magnitude is 217.4 V\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex10 : Page 115" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "#To determine the currents supplied to the ring main from A and B\n", + "\n", + "from numpy import array, linalg\n", + "#Currents in the ring scheme going clockwise\n", + "I1=50 \n", + "I2=15 \n", + "I3=25 \n", + "I4=10 \n", + "It = I1+I2+I3+I4 # Total Current\n", + "#Resistances of the respective segments going clockwise\n", + "R1=0.1 \n", + "R2=0.12 \n", + "R3=0.04 \n", + "R4=0.08 \n", + "R5=0.06 \n", + "R6=0.02 \n", + "\n", + "Ra=0.04 #Resistance at A \n", + "Rb=0.06 #Resistance at B \n", + "\n", + "# Va=Vb Net Voltage is Zero\n", + "#Dividing the total current from A as x and y\n", + "#Taking voltage drops in clockwise direction and anticlockwise directions\n", + "# We get two simultaneous equations\n", + "# 3.2x + y = 120\n", + "# x + 3y = 114\n", + "R=array([[3.2,1],[1,3] ])\n", + "V=array([[120],[114] ])\n", + "I=linalg.inv(R)*V \n", + "\n", + "#To calculate and seperate the respective currents from the above matrix eqution\n", + "x=I[0] \n", + "y=I[1] \n", + "Ia=x+y \n", + "Ib=It-Ia \n", + "print 'a) When Va = Vb Ia = %g A and Ib =%g'%(Ia[0],Ib[0]) \n", + "\n", + "# Va+5=Vb Net Voltage is 5V\n", + "#Dividing the total current from A as x and y\n", + "#Taking voltage drops in clockwise direction and anticlockwise directions\n", + "# We get two simultaneous equations\n", + "# 3.2x + y = 120 -(5*NetVoltage) = 70\n", + "# x + 3y = 114 -(5*NetVoltage) = 64\n", + "R=array([[3.2,1],[1,3]] )\n", + "V=array([[70],[64] ])\n", + "I=linalg.inv(R)*V \n", + "\n", + "#To calculate and seperate the respective currents from the above matrix eqution\n", + "x=I[0]\n", + "y=I[1] \n", + "Ia=x+y \n", + "Ib=It-Ia \n", + "print 'b) When Va + 5 = Vb Ia = %g A and Ib =%g'%(Ia[0],Ib[0]) \n", + "\n", + "#Highly Accurate Answers, Text Book answers are rounded off." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "a) When Va = Vb Ia = 28.6047 A and Ib =71.3953\n", + "b) When Va + 5 = Vb Ia = 16.9767 A and Ib =83.0233\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex11 : Page 116" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Compare the volume of copper required\n", + "from sympy import symbols, solve\n", + "#Unknown Resistances\n", + "r, r1, x=symbols('r r1 x') \n", + "\n", + "#Lengths of the segements of the ring scheme\n", + "L1=100 \n", + "L2=200 \n", + "L3=200 \n", + "L4=150 \n", + "L5=150 \n", + "#Currents taken by respective loads\n", + "I1=40 \n", + "I2=20 \n", + "I3=100 \n", + "I4=40 \n", + "It=I1+I2+I3+I4 #Total Current\n", + "\n", + "#Without Interconnector\n", + "#Let x be the current flowing through the entire ring\n", + "\n", + "Eq=(L1*x)+(L2*(x-I1))+(L3*(x-I1-I2))+(L4*(x-I1-I2-I3))+(L4*(x-I1-I2-I3-I4)) #Polynomial Equation to find x\n", + "\n", + "x=float(solve(Eq, x)[0])\n", + "x1=It-x #Current flowing in the other direction\n", + "\n", + "Vac1=((x1*L5)+((x1-I4)*L4))*r # Voltage across AC without the connector\n", + "MVac1=((x1*L5)+((x1-I4)*L4)) # Magnitude of Vac1 \n", + "\n", + "#With Interconnector\n", + "#Considering x amount of current to flow clockwise through segment AE\n", + "#Considering y amount of current to flow anticlockwise through segment AB\n", + "#Considering 200-(x+y) amount if current to flow through the segment AC\n", + "# Mesh Analysis of ABCDE gives 5x - 3y = 140 \n", + "# Mesh Analysis of ABC gives 5x + 11y = 1120 \n", + "R=array([[5,-3],[5,11]]) \n", + "V=array([[140],[1120] ])\n", + "I=linalg.inv(R)*V \n", + "x=I[0] \n", + "y=I[1] \n", + "Vac2=(It-(x+y))*250*r1 # Voltage across AC with connector\n", + "MVac2=(It-(x+y))*250 # Magnitude of Vac2 \n", + "print 'The Voltage drop across AC in both case is the same.'\n", + "print Vac2[0],'Is Equal to',Vac1\n", + "\n", + "#To Compute the Numerical Values of the Ratio of resistances\n", + "RatioA = MVac1/MVac2 \n", + "\n", + "print RatioA[0],'is',r1,'divided by',r\n", + "\n", + "#Effective Length of both the cases\n", + "Leff=L1+L2+L3+L4+L5 \n", + "LeffC=Leff+250 \n", + "#Volume is Length * Area\n", + "RatioV=Leff*RatioA/LeffC \n", + "print 'The Volume of copper without the connector is %g times the volume required with connector'%RatioV[0] " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Voltage drop across AC in both case is the same.\n", + "64500.0*r1 Is Equal to 26250.0*r\n", + "0.406976744186 is r1 divided by r\n", + "The Volume of copper without the connector is 0.310078 times the volume required with connector\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex12 : Page 117" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the Voltage at the far end\n", + "from math import sin, acos\n", + "r=0.3 # Loop Resistance per km\n", + "x=0.15 # Loop Reactance per km\n", + "\n", + "reactive = lambda y,z,v:(sin(acos(y)))*z*v*x/1000 #To find the reactive drop of the current\n", + "\n", + "active = lambda y,z,v:y*z*v*r/1000 #To find the reactive drop of the current\n", + "\n", + "#Power Factors of the loads from left to right\n", + "pf1=0.707 \n", + "pf2=1 \n", + "pf3=0.8 \n", + "#Currents delivering the respective loads from left to right\n", + "I1=50 \n", + "I2=60 \n", + "I3=40 \n", + "#Length of the conductors in metres\n", + "l1=200 \n", + "l2=300 \n", + "l3=300 \n", + "#Effective length of the conductors in metres\n", + "L1=l1 \n", + "L2=l1+l2 \n", + "L3=l1+l2+l3 \n", + "#Active component drops of the respective currents\n", + "Va1=active(pf1,I1,L1) \n", + "Va2=active(pf2,I2,L2) \n", + "Va3=active(pf3,I3,L3) \n", + "Vat=Va1+Va2+Va3 #Total Active Component Drop\n", + "#Reactive component drops of the respective currents\n", + "Vr1=reactive(pf1,I1,L1) \n", + "Vr2=reactive(pf2,I2,L2) \n", + "Vr3=reactive(pf3,I3,L3) \n", + "Vrt=Vr1+Vr2+Vr3 #Total Reactive Component Drop\n", + "\n", + "Vt=Vrt+Vat # Total voltage drop\n", + "\n", + "print 'The voltage drop at the far end is %g V '%(Vt)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage drop at the far end is 22.7418 V \n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex13 : Page 118" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine line currents and neutral currents\n", + "from math import sqrt, acos, exp, atan, degrees, pi\n", + "from cmath import exp\n", + "V=400 # Supply Voltage\n", + "Vph=400/sqrt(3) #Phase Voltage\n", + "L=480*(10**3) #Balanced Load\n", + "#Loads at unit power factor\n", + "Lr=50*(10**3) #Load in R phase\n", + "Ly=150*(10**3) #Load in Y phase\n", + "Lb=200*(10**3) #Load in B phase\n", + "pf=0.8 #Power Factor lagging\n", + "theta=-1 * acos(pf) #Angle in radians of the balanced LAGGING current\n", + "\n", + "I=L/(sqrt(3)*V*pf)*exp(1J*theta) #Balanced Current Magnitude\n", + "Ir=Lr/Vph #Magnitude of R phase voltage\n", + "Iy=Ly/Vph #Magnitude of Y phase voltage\n", + "Ib=Lb/Vph #Magnitude of B phase voltage\n", + "\n", + "#Vr is taken as reference\n", + "#Angles of the phase voltages wrt to the reference\n", + "Thetay=-120 \n", + "Thetab=120 \n", + "Thetar=0 \n", + "#Net Currents in the respective phases (RYB)\n", + "Irf=Ir+I \n", + "Iyf=Iy+I \n", + "Ibf=Ib+I \n", + "#Angle of the above currents in degrees\n", + "r=degrees(atan((Irf.imag)/(Irf.real)) )\n", + "y=degrees(atan((Iyf.imag)/(Iyf.real)) )\n", + "b=degrees(atan((Ibf.imag)/(Ibf.real)) )\n", + "#Angles of the above currents with respect to the reference\n", + "rf=Thetar+r \n", + "yf=Thetay+y \n", + "bf=Thetab+b \n", + "#Effective Currents wrt to the reference voltage\n", + "Irn=abs(Irf)*exp(1J*pi*rf/180)\n", + "Iyn=abs(Iyf)*exp(1J*pi*yf/180)\n", + "Ibn=abs(Ibf)*exp(1J*pi*bf/180)\n", + "In=Irn+Iyn+Ibn # Neutral Current\n", + "#Note Take Vr as reference\n", + "print 'The Net Current in phase R is %g/_%g A'%(abs(Irf),rf) \n", + "print 'The Net Current in phase Y is %g/_%g A'%(abs(Iyf),yf)\n", + "print 'The Net Current in phase B is %g/_%g A '%(abs(Ibf),bf)\n", + "print 'The Net Neutral Current is %g/_%g A\\n'%(abs(In),degrees(atan((In.imag)/(In.real))))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Net Current in phase R is 1047.32/_-29.7449 A\n", + "The Net Current in phase Y is 1439.4/_-141.161 A\n", + "The Net Current in phase B is 1643.17/_101.565 A \n", + "The Net Neutral Current is 572.822/_-19.1066 A\n", + "\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex14 : Page 123" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the best location of the substation for a given set of loads\n", + "\n", + "\n", + "#Various loads and how they are positioned on the corners of a square of length 25km\n", + "L1=5000 #(0,25)\n", + "L2=8000 #(25,25)\n", + "L3=3000 #(25,0)\n", + "L4=6000 #(0,0)\n", + "\n", + "L=25 #Length of the square\n", + "\n", + "TL=L1+L2+L3+L4 # Total load\n", + "\n", + "X=((L1*0)+(L2*L)+(L3*L)+(L4*0))/TL # X coordinate\n", + "Y=((L1*25)+(L2*L)+(L3*0)+(L4*0))/TL# Y coordinate\n", + "\n", + "print 'The Susbstation must be located at (%g km,%0.2f km) '%(X,Y)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Susbstation must be located at (12.5 km,14.77 km) \n" + ] + } + ], + "prompt_number": 14 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch4.ipynb b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch4.ipynb new file mode 100644 index 00000000..c5a90fa5 --- /dev/null +++ b/Generation_Distribution_and_Utilization_of_Electrical_Energy_by_C._L._Wadhwa/ch4.ipynb @@ -0,0 +1,1098 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:121582880c5a7f12c6bf9cc2001dd40f139b035b14a8fcc31cbfd227f209a2bd" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter4, Electrical Drives and Industrial Applications" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1 : Page 191" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "from sympy import symbols, solve\n", + "#To Determine Motor Parameters of Series Motor rated at 220V\n", + "\n", + "V=220 #Rated Voltage\n", + "N=1000 #Rated Speed\n", + "Ish=20 #Current without Armature being shunted\n", + "Ra=0.15 #Armature Resistance\n", + "Rf=0.2 #Field Resistance\n", + "Eb=V-(Ish*(Ra+Rf)) #Back EMF\n", + "K=Eb/(Ish*N) #Motor Constant\n", + "Rsh=20 #Shunt Resistance\n", + "\n", + "#After Armature is shunted\n", + "x=symbols('x') #Field Current Variable Value\n", + "Ia=(Ish**2)/x #Armature Current #Since Torque is assumed constant\n", + "I20=(V-(x*Rf))/Rsh #Current Through the Shunt resistance\n", + "\n", + "X=Ia+I20-x #Polynomial to find field Current\n", + "\n", + "x=solve(X, x) #Numerical Value of Field Current\n", + "\n", + "#Conditon to find the Positive Root\n", + "if abs(x[0]+x[1])==0:\n", + " x=x[1] \n", + "else:\n", + " x=x[0] \n", + "\n", + "\n", + "Ia=(Ish**2)/x #Armature when shunted\n", + "Ebsh=V-(Ia*Ra)-(x*Rf) #Back Emf when shunted\n", + "Nsh=Ebsh/(K*x) #Speed when armature is shunted\n", + "\n", + "#When Load is not there, Ia = 0\n", + "If=V/(Rsh+Rf) #Field Current at No Load\n", + "Ebnl=V-(If*Rf) #Back Emf at No Load\n", + "Nnl=Ebnl/(K*If) #Speed at No Load\n", + "\n", + "Rex=5 #External Resistance\n", + "#At Starting when Eb = 0\n", + "Is=V/(Rex+Rf+(Ra*Rsh/(Ra+Rsh))) #Supply Current\n", + "Ifs=Is #Field Current\n", + "Ias=Ifs*Rsh/(Rsh+Ra) #Armature Current At the Start\n", + "\n", + "#Torque is directly proportional to square of Current\n", + "T20 = (Ish**2) #Torque at shunted condition\n", + "Tas= Ias*Ifs #Torque at start\n", + "\n", + "RT=Tas/T20 #Ratio of Torques\n", + "\n", + "print 'a) The Speed of Motor if the Load Torque remains constant & magnetic circuit is assumed unsaturated is %g RPM'%abs(Nsh )\n", + "print 'b) The No Load Speed of the Motor is %0.f RPM'%Nnl \n", + "print 'c) The Starting Torque represented in terms of torque corresponding 20A (without armature shunted) is %0.1f times'%RT\n", + "# Answer is not accurate for part 1 in the book." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "a) The Speed of Motor if the Load Torque remains constant & magnetic circuit is assumed unsaturated is 1403.42 RPM\n", + "b) The No Load Speed of the Motor is 1878 RPM\n", + "c) The Starting Torque represented in terms of torque corresponding 20A (without armature shunted) is 4.2 times\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2 : Page 193" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the resistance to be inserted for various cases\n", + "\n", + "\n", + "N1=1500 #Rated Speed\n", + "N2=1200 #Reduced Speed\n", + "rs=N2/N1 #Ratio of final speed to original speed\n", + "eff=80/100 #Efficiency\n", + "Pr=10*(10**3) #Power Rating\n", + "V=250 #Voltage supply\n", + "Il=Pr/(V*eff) #Full Load Current\n", + "Rf=110 #Field Resistance\n", + "Ra=0.25 #Armature Resistance\n", + "If=V/Rf #Field Current\n", + "Ia1=Il-If #Load Current\n", + "Eb=V-(Ia1*Ra) #Back EMF\n", + "Eb1200=Eb*rs #Back EMF for 1200 rpm\n", + "\n", + "Res =lambda y:((V-Eb1200)/y) #Function to calculate the Resistance of various cases\n", + "#Torque directly proportional to current\n", + "Ia2=(rs)*Ia1 # Torque directly propostional to speed\n", + "Ia3=(rs**2)*Ia1 #Torque directly proportional to square of the speed\n", + "\n", + "#Resistances for Various Cases\n", + "R1=Res(Ia1)-Ra \n", + "R2=Res(Ia2)-Ra \n", + "R3=Res(Ia3)-Ra \n", + "\n", + "Pow = lambda y:((V-Eb1200)/y)*(y**2)/1000 #Function to Find Power Loss\n", + "#Power Lost in kW for various cases\n", + "P1=Pow(Ia1) \n", + "P2=Pow(Ia2) \n", + "P3=Pow(Ia3) \n", + "\n", + "print 'The External Resistances to be connected and the power loss for '\n", + "print 'a) The Load Torque is independent of the speed : %0.f ohm and %0.2f kW respectively '%(R1,P1)\n", + "print 'b) The Load Torque is directly proportional to the speed : %0.2f ohm and %0.3f kW respectively '%(R2,P2)\n", + "print 'c) The Load Torque is directly proportional to square of the speed : %0.2f ohm and %0.3f kW respectively '%(R3,P3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The External Resistances to be connected and the power loss for \n", + "a) The Load Torque is independent of the speed : 1 ohm and 2.84 kW respectively \n", + "b) The Load Torque is directly proportional to the speed : 1.31 ohm and 2.274 kW respectively \n", + "c) The Load Torque is directly proportional to square of the speed : 1.70 ohm and 1.819 kW respectively \n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 3 : Page 194" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from sympy import symbols, diff, solve\n", + "from fractions import Fraction\n", + "#To determine the speed for which the torque is maximum\n", + "\n", + "\n", + "#In The Figure, The author has taken the resistance in series with the motor as 0.2 ohm, but in the figure it is given as 1 ohm\n", + "\n", + "#This Doesn't Affect the calculation of the speed but it does affect the Maximum Torque\n", + "\n", + "#So if we consider 1 ohm we get 0.8333 instead of 2.5\n", + "\n", + "#The Equation for the Torque is found out to be 2.5*K2*(V**2)*(1.1-K1*w)/((76.1-(50*K1*w)))\n", + "\n", + "w=symbols('w') #Variable Value of w \n", + "\n", + "#Lets assume the value of 2.5*K2*(V**2) = 1 and K1 = 1 to particularly to calculate the co-effcients\n", + "\n", + "T=2.5*(1.1-w)/((76.1-(50*w))**2) #Torque\n", + "\n", + "#Maximum Torque is derivative of the above equation\n", + "X=diff(T, w) #Polynomial to find the value co - effcient of w \n", + "w=solve(X, w) \n", + "w=w[0] #We Choose value less than 1 to suit the differenciation process\n", + "\n", + "Tmax=2.5*(1.1-w)/((76.1-(50*w))**2) #Maximum Torque Co-Efficient\n", + "\n", + "print 'The Speed at which the torque is Maximum is (%g/K1) rad/sec'%w \n", + "print 'The Maximum Torque is (K2*(V**2)*%g*10**-4) Nm '%(Tmax/(10**-4))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Speed at which the torque is Maximum is (0.678/K1) rad/sec\n", + "The Maximum Torque is (K2*(V**2)*5.92417*10**-4) Nm \n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 4 Page 195" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from sympy import symbols, solve\n", + "#To Determine the slip at maximum torque and at full load\n", + "from math import floor\n", + "from __future__ import division\n", + "Tl=1 #Assume that the Full Load torque is unity\n", + "Tst=125*Tl/100 #Starting Torque\n", + "Tmax=275*Tl/100 #Maximum Torque\n", + "si=1 #At the Start\n", + "RT=Tst/Tmax #Ratio of Starting Torque and Maximum Torque\n", + "#R1 is negligible, elminating the terms with R1 and hence formulating the starting torque and Maximum Torque we get\n", + "\n", + "# Tst/Tmax = 2*sTmax*s/((sTmax**2)+(s**2))\n", + "#Where sTmax is the Slip at Maximum Torque and s is the slip at the start\n", + "\n", + "sTmx=symbols('sTmx') #Variable Value of slip at Maximum Torque\n", + "\n", + "X=RT-(2*sTmx*si/((sTmx**2)+(si**2))) #Polynomial to find sTmax\n", + "\n", + "sTmx = solve(X, sTmx) \n", + "\n", + "#Condition to find the value of sTmax less than 1\n", + "if floor(sTmx[0])==0:\n", + " sTmx=sTmx[0] \n", + "else:\n", + " sTmx=sTmx[1] \n", + "\n", + "s=symbols('s') #Variable value of slip for Starting torque at full load\n", + "\n", + "Y=(Tl/Tmax)-(2*sTmx*s/((sTmx**2)+(s**2))) #Polynomial to find s\n", + "\n", + "s=solve(Y, s) #Numerical Value of s\n", + "\n", + "#Condition to find the value of s less than 1\n", + "if floor(s[0])==0 :\n", + " s=s[0] \n", + "else:\n", + " s=s[1] \n", + "\n", + "\n", + "print 'i) The Slip at Maximum Torque is %0.2f'%(sTmx)\n", + "print 'ii) The Slip at Full Load is %0.3f'%(s)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) The Slip at Maximum Torque is 0.24\n", + "ii) The Slip at Full Load is 0.045\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 5 : Page 195" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the Maximum Torque as ratio of nominal value of voltage\n", + "from math import sqrt\n", + "\n", + "#Resistances and Reactance for Nomrmal Value of Volttage and Frequency\n", + "w=50 #Frequency of supply\n", + "V=1 #Assumed Voltage\n", + "R1=0.05 \n", + "R2=0.05 \n", + "x1=0.3 \n", + "x2=0.3 \n", + "\n", + "#Resistance and reactance at half voltage and half frequency\n", + "wh=50/2 #Frequency of supply\n", + "Vh=1/2 #Assumed Voltage\n", + "R1h=0.05 \n", + "R2h=0.05 \n", + "x1h=0.3/2 \n", + "x2h=0.3/2 \n", + "\n", + "#Function to Determine the Maximum Torque\n", + "Max = lambda a,b,c,d,e:(3*(a**2))/(2*b*(c+(sqrt((c**2)+((d+e)**2)))))\n", + "#Function to Determine to the Starting Torque\n", + "Start =lambda a,b,c,d,e,f:(3*(a**2)*f)/(b*(((c+f)**2)+((d+e)**2)))\n", + "#Maximum Torques and Starting Torques at\n", + "#Normal Voltage And Frequency\n", + "Tm=Max(V,w,R1,x1,x2) \n", + "Tst=Start(V,w,R1,x1,x2,R2) \n", + "#Half Voltage and Half Frequency\n", + "Tmh=Max(Vh,wh,R1h,x1h,x2h) \n", + "Tsth=Start(Vh,wh,R1h,x1h,x2h,R2h) \n", + "\n", + "#Ratio of torques as fraction of its normal value\n", + "R1=Tmh/Tm \n", + "R2=Tsth/Tst \n", + "\n", + "print 'i)The Maximum Torque at the reduced value of supply as a fraction of its normal value is %0.4f'%R1\n", + "print 'ii)The Starting Torque at the reduced value of supply as a fraction of its normal value is %0.2f'%R2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i)The Maximum Torque at the reduced value of supply as a fraction of its normal value is 0.9207\n", + "ii)The Starting Torque at the reduced value of supply as a fraction of its normal value is 1.85\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 6 : Page 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the starting torque and starting current for various starters\n", + "from math import pi\n", + "V=400 #Rated Voltage #Phase Voltage #Delta Connected\n", + "Pr=50*735.5 #Rated Power\n", + "N=750 #Rated Speed\n", + "s=4.5/100 #Full load Slip\n", + "Il=50 #Full Load Current\n", + "Z=2.5 #Impedance per phase\n", + "w=2*pi*N/60 #Angular Frequency\n", + "Tl=Pr/w #Full Load Torque\n", + "Ist=V/Z #Starting Current\n", + "Isl=sqrt(3)*Ist #Line Current\n", + "\n", + "\n", + "#DOL Starter\n", + "Tstd=((Isl/Il)**2)*s*Tl #Starting Torque\n", + "\n", + "#Star - Delta Starter\n", + "Tsts=Tl*((1/sqrt(3))**2) #Starting Torque\n", + "\n", + "#Autotransformer\n", + "tap=70/100 #Tapping \n", + "Tsta=(tap**2)*Tl #Starting Torque\n", + "\n", + "print 'The Starting Current for all the three starter are the same that is %0.2f A'%Isl \n", + "print 'The Starting torque for: ' \n", + "print 'i) D.O.L Starter : %0.2f Nm '%(Tstd)\n", + "print 'ii) Star -Delta Starter : %0.2f Nm '%(Tsts)\n", + "print 'ii) Auto Transformer with 70 percent tapping : %0.2f Nm '%(Tsta)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Starting Current for all the three starter are the same that is 277.13 A\n", + "The Starting torque for: \n", + "i) D.O.L Starter : 647.29 Nm \n", + "ii) Star -Delta Starter : 156.08 Nm \n", + "ii) Auto Transformer with 70 percent tapping : 229.43 Nm \n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 7 : Page 197" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Detemine Minimum Starting Current drawn from the supply\n", + "from math import exp, pi, acos, degrees, sin\n", + "from sympy import symbols, solve\n", + "TR=0.5 #Torque Ratio, Tst:Tl\n", + "V=400 #Supply Voltage\n", + "Pr=30*735 #Power Rating \n", + "N=500 #Rated Speed\n", + "eff=0.85 #Efficieny\n", + "pf=0.88 #Power Factor\n", + "Is=150 #Short Circuit Current\n", + "s=5/100 #Full load Slip\n", + "pfs=0.25 #Power Factor of the Short Cicuit Current\n", + "Il=Pr/(sqrt(3)*V*eff*pf) #Full Load Current\n", + "#Case 1\n", + "x=symbols('x') #Tapping Percent\n", + "X=TR-(((Is/Il)**2)*(x**2)*s) #Polynomial to determine the 'x'\n", + "x=solve(X, x)\n", + "x=x[0] #Taking the Postive Root\n", + "Ist1=Is*x*x #Starting Current numerical Value\n", + "#Case 2\n", + "Ist2=sqrt((TR*(Il**2)/s)) #Starting Current for Full Voltage\n", + "Z1=V/(sqrt(3)*Ist2) #impedance for the starting current at full voltage\n", + "Z2=complex((V/(sqrt(3)*Is))*pfs,(V/(sqrt(3)*Is))*sin(acos(pfs))) #Phasor form of the Impedance of for the short cicuit current\n", + "R=sqrt((Z1**2)-(Z2.imag**2)) \n", + "Rs=R-Z2.real #Resistance to be connected the stator circuit\n", + "\n", + "print 'i) The Tapping of the Transformer is %0.1f percent and the starting Current is %0.2f A\\n'%(abs(x*100),Ist1)\n", + "print 'ii) The Starting Current is %0.2f A and the Resistance to be added to the stator circuit is %0.4f ohm\\n'%(Ist2,Rs)\n", + "# Answer in the textbook is not accurate." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) The Tapping of the Transformer is 89.7 percent and the starting Current is 120.69 A\n", + "\n", + "ii) The Starting Current is 134.55 A and the Resistance to be added to the stator circuit is 0.4658 ohm\n", + "\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 8 : Page 198" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the value of resistor connected in series to run the fan at a particular speed\n", + "\n", + "Pf=100*(10**3) #Power rating of the fan\n", + "f=50 #Supply Frequency\n", + "V=400 #Supply Line Voltage\n", + "V1=V/sqrt(3) #Phase Voltage\n", + "SR=1.4 #Ratio of stator to rotor turns\n", + "Rr=0.03 #Rotor Resistance per phase\n", + "R2=SR*SR*Rr #Rotor Resistance referred to the stator\n", + "N=240 #Rated Speed\n", + "w=2*pi*N/60 #Angular Frequency\n", + "P=24 #number of poles\n", + "Ns=120*f/P #Synchronous Speed\n", + "ws=2*pi*Ns/60 #Synchronous angular Frequency\n", + "s=(Ns-N)/Ns #Slip\n", + "T=Pf/w #Full Load Torque\n", + "X2=symbols('X2') #Reactance of Rotor referred to stator, Variable Value\n", + "\n", + "X=T-(3*(V1**2)*R2/(ws*s*(((R2/s)**2)+(X2**2)))) #Polynomial Expression to find X2\n", + "X2=solve(X, X2) #Numerical Value of Rotor Resistance\n", + "X2=X2[0] \n", + "N1=180 #Speed of the fan\n", + "s1=(Ns-N1)/Ns #Slip\n", + "T1=T*((N1/N)**2) #Torque\n", + "R21=symbols('R21') #Variable Value\n", + "Y=T1-(3*(V1**2)*R21/(ws*s1*(((R21/s1)**2)+(X2**2)))) #Polynomial Expression to find R21\n", + "R21=solve(Y, R21) #Numerical Value\n", + "#R21 = 0.7545054 and 0.0100813\n", + "#We have to choose the value of R21 such that it is greater than R2\n", + "\n", + "R21=R21[1]\n", + "Rex=(R21-R2)/(SR*SR) #External Resistance\n", + "\n", + "print 'The Value of Resistance to be connected in series so that teh fan runs at 180 rpm is %0.3f ohm'%Rex " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Value of Resistance to be connected in series so that teh fan runs at 180 rpm is 0.355 ohm\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 9 : Page 212" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi, sqrt\n", + "#To Determine the time taken to start the motor\n", + "from sympy.mpmath import quad\n", + "HP=746 #According to the TextBook\n", + "P=150*HP #Power Rating\n", + "Lim=1.5 #Limited Current Factor\n", + "Eshp=5000 #energy stored per hp\n", + "N=750 #Rated Speed\n", + "w=N*2*pi/60 #Angular Frequency\n", + "Es=Eshp*P/HP #Total Energy Stored\n", + "Tfl=P/w #Full Load Torque \n", + "Ts=Tfl*Lim #Starting Torque\n", + "Ta=Ts-Tfl #Torque Available for acceleration\n", + "I=2*Es/(w**2) #Moment of Inertia\n", + "a=Ta/I #Angular Accleration\n", + "#Intergrating wrt angular frequency\n", + "f = lambda x : 1/a # function for integration\n", + "t=quad(f,[0,w]) #Time Taken to start #Angular Acceleration is constant\n", + "\n", + "print '''The time taken to start the motor if the load torque is equal to full load torque,\n", + "during the starting period, \n", + "& the current is limited to 1.5 times the full load current is %0.2f seconds '''%(t)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The time taken to start the motor if the load torque is equal to full load torque,\n", + "during the starting period, \n", + "& the current is limited to 1.5 times the full load current is 26.81 seconds \n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 10 : Page 213" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "#To time taken and the number of revolutions made before the motor is stopped\n", + "\n", + "\n", + "from sympy.mpmath import quad\n", + "\n", + "P=50*735.5 #Power Rating\n", + "V=400 #Rated Voltage\n", + "N=750 #Rated Speed\n", + "w=N*pi*2/60 #Angular Frequency\n", + "I=20 #Moment Inertia\n", + "pf=0.95 #Full Load power factor\n", + "eff=90/100 #Overall Efficiency\n", + "Rb=2 #Braking Resistor\n", + "\n", + "Tm=P/w #Full Load Torque\n", + "Ifl=P/(sqrt(3)*V*eff*pf) #Full Load Current\n", + "Ilb=V/(sqrt(3)*Rb) #The Line Current at the start of braking\n", + "Te=Tm*Ilb/Ifl #Torque for electric braking\n", + "\n", + "Tb=Te+Tm #Total Braking torque\n", + "\n", + "K=Te/w #Motor constant\n", + "B=Tb/I #Retardation\n", + "\n", + "f1 = lambda x:(I/(Tm+(K*x))) # function for integration\n", + "ts=quad(f1,[0,w]) #Time Taken for the motor to stop\n", + "\n", + "f2 = lambda t:(((Tm+(K*w))*exp(-1*K*t/I))-Tm) # function for integration\n", + "NoR=(1/(2*pi*K))*quad(f2,[0,ts]) #Number of Revolutions\n", + "\n", + "#Note The answer in the textbook is wrong, Calculation error\n", + "\n", + "print 'The Time Taken for the Motor to stop is %0.2f seconds\\n'%ts\n", + "print 'The Number of revolutions undergone before it stops is %0.2f revolutions which is approx %g revolutions\\n'%(NoR,round(NoR))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Time Taken for the Motor to stop is 1.90 seconds\n", + "\n", + "The Number of revolutions undergone before it stops is 9.81 revolutions which is approx 10 revolutions\n", + "\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 11 : Page 219" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the 30 mins rating of motor\n", + "from math import exp\n", + "\n", + "Pr=100 #Power Rating in horse power\n", + "Tc=90*3600 #Time Constant\n", + "Tr=30*3600 #Time to determine the rating\n", + "theta=50 #Temperature Rise\n", + "theta1=50 #Temperature rise for the new case\n", + "\n", + "P=symbols('P') #Power rating for 30min variable value\n", + "\n", + "#Loss Corresponding to 30 mins\n", + "\n", + "P30=(P/Pr)**2 # Times the Power loss corresponding to the 100 hp motor\n", + "\n", + "theta2=theta*P30 #Final Temperature rise if run continuously\n", + "\n", + "X=theta1-(theta2*(1-exp(-1*Tr/Tc))) #Polynominal to find the 30min rating\n", + "\n", + "P=solve(X, P) #Numerical Value\n", + "#We Consider the Positive Real Value of the root\n", + "\n", + "P=P[0] #Power Rating of the 1/2 Hr\n", + "\n", + "print 'The 1/2 Hr Power Rating is %0.1f hp'%abs(P )" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The 1/2 Hr Power Rating is 187.8 hp\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex12 : Page 219" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the Continous Rating of the Motor for Suitable Conditions\n", + "\n", + "\n", + "from sympy.mpmath import quad\n", + "\n", + "T=120 #Total Time\n", + "t1=0 #Power Rise to 1050\n", + "t2=15 #Constant Power of 600\n", + "t3=85 #Regenerative Breaking at 200\n", + "t4=95 #Motor At Rest\n", + "t5=120 #End\n", + "#Note Power Rating are in Horse Power\n", + "HP1=1050 #First Rise\n", + "T1=(t2-t1) #Time for Rise of the Horse Power\n", + "HP2=600 #Constant Power\n", + "T2=(t3-t2) #Time For which the power is constant\n", + "HP3=200 #Braking Initial Point\n", + "T3=(t4-t3) #Time Period of Breaking\n", + "\n", + "#Different Intergration\n", + "\n", + "f1 = lambda t:((HP1/T1)*t)**2 # function for integration\n", + "I1=quad(f1,[t1,t2]) \n", + "f2 = lambda t:(HP2**2) # function for integration\n", + "I2=quad(f2,[t2,t3]) \n", + "f3 = lambda t:((HP3/T3)*t)**2 # function for integration\n", + "I3=quad(f3,[0,T3]) \n", + "\n", + "HPrms=sqrt((I1+I2+I3)/120) \n", + "\n", + "HPav=(((HP1*T1/2)+(HP2*T2)+(HP3*T3/2))/T) \n", + "\n", + "print 'i) The H.P Rating according to the RMS Value of loading is %g hp\\n'%HPrms\n", + "print 'ii) The H.P Rating according to the Average Value of Loading is %0.f hp\\n'%HPav" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) The H.P Rating according to the RMS Value of loading is 507 hp\n", + "\n", + "ii) The H.P Rating according to the Average Value of Loading is 424 hp\n", + "\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 13 : Page 220" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To estimate the final temperature of the machine and its time constant\n", + "\n", + "\n", + "Eff=90/100 #Efficiency\n", + "P=15*735.5 #Power Rating in W\n", + "D=75*(10**-2) #Cylinder Diameter\n", + "L=120*(10**-2) #Length of the Cylinder\n", + "OSHD=12 #Outer Surface Heat Dissipation\n", + "A=pi*L*D #Curved Surface Area\n", + "M=450 #Motor Weight\n", + "SH=700 #Specific Heat\n", + "\n", + "HTC=M*SH/(A*OSHD*3600) #The Heating Time Constant\n", + "Loss=(P/Eff)-P #Loss in Motor\n", + "print 'Loss in Motor = %0.1f W'%Loss\n", + "FT=Loss/(A*OSHD) #Final Temperature\n", + "OSHD2=20 #Semi Closed Cooling Capacity\n", + "LossSC=FT*A*OSHD2 #Loss in Semi Closed System\n", + "print 'Final Temperature = %0.2f degree C'%FT\n", + "L2=symbols('L2') #Variable Load Value\n", + "X=(L2/(L2+LossSC)-Eff) #Polynomial to Calculate L2\n", + "L2=solve(X, L2) #Numerical Value of The Load\n", + "\n", + "print 'The Final Temperature of the Machine & its Heating Time Constant is %0.2f degree Celsius and %0.2f Hrs respectively'%(FT,HTC)\n", + "print 'The Load which could be delivered is %0.f W '%(L2[0])\n", + "Rating = L2[0]/736 # hp\n", + "print 'Rating = %0.f h.p.'%Rating" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loss in Motor = 1225.8 W\n", + "Final Temperature = 36.13 degree C\n", + "The Final Temperature of the Machine & its Heating Time Constant is 36.13 degree Celsius and 2.58 Hrs respectively" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "The Load which could be delivered is 18388 W \n", + "Rating = 25 h.p.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 14 : Page 223" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the Moment of intertia for a slip of 8 percent\n", + "from math import log\n", + "Tl=900 #load Torque\n", + "To=0 \n", + "s=8/100 #Slip\n", + "t=15 #time period for which the load torque was applied\n", + "Tm=675 # Limited motor Torque\n", + "N=600 #No Load Speed\n", + "Wo=2*pi*N/60 #Angular Frequency\n", + "K=s/Tm #Motor Constant\n", + "I=(t/(Wo*K*log((Tl-To)/(Tl-Tm)))) #Moment of Inertia\n", + "\n", + "print 'The Moment of inertia of the flywheel is %g Kg m**2'%I \n", + "#Please Note the Calculation Mistake in the book. (Power of e)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Moment of inertia of the flywheel is 1453.01 Kg m**2\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex15 : Page 224" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the Moment of intertia of the flywheel\n", + "\n", + "Pi=100*(10**3) #Power Rating\n", + "P=6 #Poles of the Machine\n", + "N=950 #Rated Speed\n", + "Wo=2*pi*N/60 #Angular Frequency\n", + "Ta=3000 #Additional Torque\n", + "Tmin=600 #Constant Load Torque\n", + "Tm=Pi*60/(2*pi*N) #Rated Torque\n", + "Tmax=2*Tm #Maximum Torque\n", + "Tl=Tmin+Ta #Total Torque\n", + "tp=15 #Time for which the additional torque is applied\n", + "#Assuming Slip Characteristic to Be a Straight line\n", + "s=0.05 \n", + "K=s/Tm #Motor Load Constant\n", + "\n", + "I=tp/(Wo*K*log((Tl-Tmin)/(Tl-Tmax))) #Moment Of intertia\n", + "\n", + "Tm1=1500 #Trasistion Torque\n", + "\n", + "t=I*Wo*K*log((Tmax-Tmin)/(Tm1-Tmin)) #Time Taken to become 1500 Nm\n", + "\n", + "print 'a) The Moment of intertia of the flywheel for Maximum Torque to be twice the rated torque is %0.1f Nm'%I \n", + "print 'b) The Time Taken after the removal of additional load before the motor torque becomes 1500 Nm is %0.2f seconds '%t" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "a) The Moment of intertia of the flywheel for Maximum Torque to be twice the rated torque is 4772.7 Nm\n", + "b) The Time Taken after the removal of additional load before the motor torque becomes 1500 Nm is 10.61 seconds \n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex16 : Page 231" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the speed and torque of a single phase full converter\n", + "from math import cos\n", + "P=5*735.5 #Power Rating\n", + "Vr=220 #Rated Voltage\n", + "N=1500 #Rated Speed\n", + "\n", + "Ra=0.25 #Armature Resistance\n", + "Ia=20 #Rated Armature Current\n", + "Vs=250 #Supply Voltage\n", + "Kaphi=0.0278 #Motor Voltage Constant\n", + "a=30 #Firing Angle\n", + "\n", + "Va=2*sqrt(2)*Vs*cos(a*pi/180)/pi #Armature Voltage\n", + "Eb=Va-(Ia*Ra) #Back EMF\n", + "w=Eb/(Kaphi*60) #Angular Frequency in Radians per second\n", + "Ta=Kaphi*Ia*60 #Torque\n", + "\n", + "print 'The Speed and Torque of the Single Phase Full Converter are %0.1f rad/s and %g Nm respectively '%(w,Ta)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Speed and Torque of the Single Phase Full Converter are 113.9 rad/s and 33.36 Nm respectively \n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex17 : Page 232" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To Determine the motor current and torque for a particular firing angle\n", + "\n", + "P=15*735.5 #Power Rating of the Motor\n", + "Raw=0.2 #Combined Armature and Field winding resistance\n", + "N=1000 #Speed\n", + "K=0.03 #Motor Constant\n", + "a=30 #Firing Angle\n", + "E=250 #Supply Voltage\n", + "\n", + "#Semi Converter\n", + "w=2*pi*N/60 #Angular Frequency\n", + "Vas=sqrt(2)*E*(1+cos(a*pi/180))/pi \n", + "Ias=Vas/(Raw+(K*w)) #Armature Current\n", + "Tas=K*(Ias**2) #Motor Torque\n", + "\n", + "#FullConverter\n", + "Vaf=2*sqrt(2)*E*cos(a*pi/180)/pi \n", + "Iaf=Vaf/(Raw+(K*w)) #Armature Current\n", + "Taf=K*(Iaf**2) #Motor Torque\n", + "\n", + "#Accurate Caclculation, Rounding Off not done.\n", + "print 'The Motor Current And Motor Torque for:' \n", + "print 'i) Semi Converter : %0.2f A and %0.2f Nm'%(Ias,Tas)\n", + "print 'ii) Full Converter : %0.2f A and %0.2f Nm'%(Iaf,Taf)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Motor Current And Motor Torque for:\n", + "i) Semi Converter : 62.84 A and 118.48 Nm\n", + "ii) Full Converter : 58.33 A and 102.08 Nm\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex18 : Page 234" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the pulse width for a particular average value of back EMF\n", + "\n", + "E=220 #DC Supply\n", + "Raw=0.2 #Combined Armature and Field Winding Resistance\n", + "Ia=25 #Average Current\n", + "f=200 #Chopper Frequency\n", + "Eb=100 #Average Value of Back EMF\n", + "\n", + "Eav=(Ia*Raw)+Eb #Average Load Voltage\n", + "Ton=Eav*1000/(E*f) # Pulse Width in m sec\n", + "\n", + "print 'The Pulse Width for the 100V back EMF is %0.2f m seconds'%Ton " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Pulse Width for the 100V back EMF is 2.39 m seconds\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex 19 : Page 235" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#To determine the range of speed control and duty cycle\n", + "E=220 #DC supply voltage\n", + "Ra=0.2 \n", + "Kaphi=0.08 # Motor Constant\n", + "Ia=25 #Average Current\n", + "Eav=Ia*Ra #Voltage Drop\n", + "\n", + "#Eav = lamda * E \n", + "#For Maximum Speed, lamba =1\n", + "\n", + "lamda=Eav/E \n", + "\n", + "lamda1=1 #Maximum Speed \n", + "Eb= (E*lamda1)-(Ia*Ra) #Back EMF\n", + "\n", + "Speed = Eb/Kaphi # Maximum Speed\n", + "\n", + "print 'i) The Range of speed control is 0