diff options
Diffstat (limited to 'DC_Machines_and_Synchronous_Machines/ch6.ipynb')
-rwxr-xr-x | DC_Machines_and_Synchronous_Machines/ch6.ipynb | 2427 |
1 files changed, 2427 insertions, 0 deletions
diff --git a/DC_Machines_and_Synchronous_Machines/ch6.ipynb b/DC_Machines_and_Synchronous_Machines/ch6.ipynb new file mode 100755 index 00000000..b2228585 --- /dev/null +++ b/DC_Machines_and_Synchronous_Machines/ch6.ipynb @@ -0,0 +1,2427 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:9f548e729a327e12aefb50cf84c5cae777df427713c1104c34d610a547e935f3" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6 : Synchronization and Parallel Operation of Alternators" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + " \n", + "Example 6.2 Page no : 31" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "X_d = 0.7 \n", + "X_q = 0.4 \t\t\t#direct and quadrature axis synchronous reactance p.u.\n", + "R_a = 0\n", + "phi = math.acos(0.8) \t\t\t#Lag\n", + "\n", + "V_t = 1. \t\t\t#assumed rated terminal Voltage \n", + "I_a = 1. \t\t\t#Full-load armature current\n", + "\n", + "# Calculations\n", + "psi = math.atan( (V_t*math.sin(phi)+I_a*X_q)/(V_t*math.cos(phi)+I_a*R_a) )\n", + "delta = psi-phi\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(psi)\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "\n", + "# Results\n", + "print 'Total e.m.f induced on open circuit is %.4f p.u.'%(E_f)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total e.m.f induced on open circuit is 1.5149 p.u.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.3 Page no : 35" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*cmath.exp((math.pi*Theeeta/180.)*1j);\n", + "\n", + "# Variables\n", + "Z1 = complex(0,3) \t\t\t#impedance of alternator 1\n", + "Z2 = complex(0,4) \t\t\t#impedance of alternator 2\n", + "Z = 6. #load\n", + "\n", + "E1 = p2z(220,0) \t\t\t#induced emf vector on no load\n", + "E2 = p2z(220,10)\t\t\t#induced emf vector on no load\n", + "\n", + "# Calculations and Results\n", + "I1 = ((E1-E2)*Z+E1*Z2)/(Z*(Z1+Z2)+Z1*Z2)\n", + "I2 = ((E2-E1)*Z+E2*Z1)/(Z*(Z1+Z2)+Z1*Z2)\n", + "\n", + "phi1 = math.degrees(math.atan(I1.imag/I1.real)) \t\t\t#Phasemag returns the angle of complex number in degrees\n", + "phi2 = math.degrees(math.atan(I2.imag/I2.real)) \t\t\t#Phasemag returns the angle of complex number in degrees\n", + "\n", + "I = I1+I2\n", + "V = I*Z \t\t\t#Terminal voltage\n", + "print 'i) Terminal voltage is %.1f volts at %.2f degrees'%(abs(V),math.degrees(math.atan(V.imag/V.real)))\n", + "print 'ii) Currents are %.2f A at %.2f degrees and %.2f A at %.2f degrees \\\n", + "\\nTotal current is %.2f A at %.2f degrees '%(abs(I1),math.degrees(math.atan(I1.imag/I1.real)),\\\n", + " abs(I2),math.degrees(math.atan(I2.imag/I2.real)),\\\n", + " abs(I),math.degrees(math.atan(I.imag/I.real)))\n", + "\n", + "P1 = abs(V)*abs(I1)*math.cos(math.radians(phi1))\n", + "P2 = abs(V)*abs(I2)*math.cos(math.radians(phi2))\n", + "print 'iii)Power delivered is %.2f watts and %.2f watts'%(P1,P2)\n", + "\n", + "# note : rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) Terminal voltage is 210.7 volts at -11.66 degrees\n", + "ii) Currents are 14.91 A at -17.71 degrees and 20.36 A at -7.24 degrees \n", + "Total current is 35.12 A at -11.66 degrees \n", + "iii)Power delivered is 2992.46 watts and 4257.11 watts\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.4 Page no : 54" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_l = 10000.\n", + "V_ph = V_l/math.sqrt(3)\n", + "VA = 10.*10**6\n", + "I_FL = VA/(V_l*math.sqrt(3)) \t\t\t#Current at full laod\n", + "IX_s = (20./100)*V_ph \t\t\t#product of I and X_s\n", + "\n", + "# Calculations\n", + "X_s = IX_s/I_FL\n", + "N_s = 1500.\n", + "f = 50.\n", + "P = 120*f/N_s \t\t\t#poles\n", + "\n", + "delta_dash_mech = math.pi/180 \t\t\t#phase print lacement in degree mechanical\n", + "delta_dash_elec = delta_dash_mech*(P/2) \t\t\t#P/2 is pole pairs(and not poles)\n", + "E = V_ph \t\t\t#math.since alternator is on no-load\n", + "P_SY = delta_dash_elec*E**2/X_s \t\t\t#Synchronous Power\n", + "P_SY_3ph = P_SY*3 \t\t\t#For 3 phases\n", + "\n", + "# Results\n", + "print 'Synchronising Power of armature is %.3f kW.\\\n", + "\\nSynchronising Power for 3 phase is %.3f kW'%(P_SY*10**-3,P_SY_3ph*10**-3)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising Power of armature is 581.776 kW.\n", + "Synchronising Power for 3 phase is 1745.329 kW\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.5 Page no : 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*cmath.exp(1j*math.pi*Theeeta/180.);\n", + "\n", + "# Variables\n", + "V_L = 6.6*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 3.*10**6\n", + "I_FL = VA/(V_L*math.sqrt(3)) \t\t\t#full load current \n", + "P = 8.\n", + "f = 50. \t\t\t#poles and frequency\n", + "\n", + "X_s = complex(0,2.9)\t\t\t#X_s = 2.9\n", + "delta_dash_mech = math.pi/180\n", + "delta_dash_elec = delta_dash_mech*(P/2) \t\t\t#P/2 is pole pairs(and not poles)\n", + "\n", + "# Calculations and Results\n", + "#part(i)\n", + "E = V_ph\n", + "P_SY = delta_dash_elec*E**2/abs(X_s) \t\t\t#Synchronous Power per phase\n", + "P_SY_3ph = P_SY*3 \t\t\t#For 3 phases\n", + "print 'i) Synchronising power at no load is %.3f kW'%(P_SY*10**-3)\n", + "print ' Total Synchronising power at no load is %.2f kW'%(P_SY_3ph*10**-3)\n", + "\n", + "N_s = 120*f/P \t\t\t#in rpm\n", + "n_s = (N_s)/60 \t\t\t#in rps\n", + "T_SY = P_SY_3ph/(2*math.pi*n_s)\n", + "print 'Synchronous torque per mechanical degree of phase print lacement is %.2f * 10**3 N-m'%(T_SY*10**-3)\n", + "\n", + "#part(ii)\n", + "phi = math.acos(math.radians(0.85))\n", + "I = p2z(I_FL,0)\n", + "V = p2z(V_ph,phi)\n", + "\n", + "E = V+I*X_s\n", + "#E leads I by phasemag(E). V leads I by phasemag(V)\n", + "\n", + "delta = (math.pi/180)* (math.atan(E.imag/E.real)-math.atan(V.imag/V.real) ) \t\t\t#power angle in radians\n", + "P_SY2 = abs(E)*abs(V)*math.cos(delta)*math.sin(delta_dash_elec)/abs(X_s)\n", + "\n", + "P_SY_total_2 = 3*P_SY2\n", + "#n_s = T_SY/(P_SY/(2*math.pi) ) \t\t\t#because T_SY = P_SY/(2*math.pi*n_s)\n", + "print 'ii)Total Synchronising power is %.0f kW'%(P_SY_total_2*10**-3)\n", + "\n", + "T_SY2 = P_SY_total_2/(2*math.pi*n_s)\n", + "print 'Synchronising torque is %.2f * 10**3 N-m'%(T_SY2/1000)\n", + "\n", + "# note : book answer is wrong.\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) Synchronising power at no load is 349.547 kW\n", + " Total Synchronising power at no load is 1048.64 kW\n", + "Synchronous torque per mechanical degree of phase print lacement is 13.35 * 10**3 N-m\n", + "ii)Total Synchronising power is 1074 kW\n", + "Synchronising torque is 13.68 * 10**3 N-m\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.6 Page no : 57" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*cmath.exp(1j*math.pi*Theeeta/180.)\n", + "\n", + "# Variables\n", + "V_l = 10.*10**3\n", + "V_ph = V_l/math.sqrt(3)\n", + "R_a = 0.4\n", + "Z = complex(R_a,6)\n", + "I_a = p2z(300,-math.acos(math.radians(0.8)))\n", + "E = V_ph+I_a*Z\n", + "\n", + "# Calculations\n", + "phi = math.acos(0.8)\n", + "alternator_op_ph = V_ph*abs(I_a)*math.cos(phi) \t\t\t#Power delivered to infinite bus per phase\n", + "\n", + "#Power deliered to the altrernator = Power delivewred to bus bar + I**2*R losses in armature\n", + "alternator_power = alternator_op_ph+ abs(I_a)**2*R_a\n", + "\n", + "#this power developed remains constant.change pf to 1 and calculate corresponding armature current\n", + "#alternator_power = V_ph*I_a1*math.cos(phi1)+I_a1**2*0.4\n", + "#solve the quadratic equation 0.4 I_a1**2+5773.50 I_a1- 1421640 = 0\n", + "I_a1 = (-1*V_ph+math.sqrt(V_ph**2-4*R_a*-1*alternator_power))/(2*R_a)\n", + "\n", + "#also as follows \n", + "E1 = V_ph+I_a1*Z\n", + "decrease = 100*(abs(E)-abs(E1))/abs(E)\n", + "\n", + "# Results\n", + "print 'Percentage decrease in induced e.m.f is %.1f percent'%(decrease)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Percentage decrease in induced e.m.f is 2.6 percent\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.7 Page no : 58" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "#Line PQ for Altermnator 1 and PR for alternaator 2.AB is at frequency x from P where total load is 3000 kW\n", + "\n", + "# Variables\n", + "QC = 2000.\n", + "PS = 2.5\n", + "#PC = x\n", + "TR = 2000.\n", + "PT = 2.\n", + "\n", + "# Calculations and Results\n", + "#using similarity of triangles PAC and PQS\n", + "AC_by_PC = (QC/PS)\t\t\t# because (AC/QC) = (PC/PS)\n", + "#using similarity of triangles PCB and PTR\n", + "CB_by_PC = (TR/PT) \t\t\t# because (CB/TR) = (PC/PT)\n", + "\n", + "AC_by_x = AC_by_PC \t\t\t#which implies AC = 12.5*x\n", + "CB_by_x = CB_by_PC \t\t\t#which implies CB = 16.67*x\n", + "\n", + "AC_plus_CB = 3000. \t\t\t#total load at the frequency at P is 30 kW\n", + "x = AC_plus_CB/(AC_by_x + CB_by_x)\n", + "AC = AC_by_x * x\n", + "CB = CB_by_x * x \n", + "frequency = 50-x\n", + "print 'Loads shared by alternator 1 and 2 are %.2f kW and %.2f kW respectively'%(AC,CB)\n", + "\n", + "#construction for max load: RT is extended to cut PQ at X.\n", + "QS = 2000.\n", + "RT = 2000. \t\t\t#see figure\n", + "XT = QS*(PT/PS)\n", + "RX = RT+XT \t\t\t#maximum load\n", + "\n", + "print 'Maximum load is %.0f kW'%(RX)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loads shared by alternator 1 and 2 are 1333.33 kW and 1666.67 kW respectively\n", + "Maximum load is 3600 kW\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.8 Page no : 60" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "P_out = 1500.*10**3\n", + "V_L = 11000.\n", + "phi = math.acos(0.8)\n", + "I_L = P_out/(math.sqrt(3)*V_L*math.cos(phi))\n", + "\n", + "I_L_actv = I_L*math.cos(phi) \t\t\t#wattful or active component of current\n", + "I_L_reactive = I_L*math.sin(phi) \t\t\t#wattless or reactive component of current\n", + "\n", + "# Calculations and Results\n", + "I_each = I_L/2 \t\t\t#in identical conditions\n", + "I_arm1 = 45. \t\t\t#given\n", + "I_1_reactive = math.sqrt(I_arm1**2-39.364**2 ) \t\t\t#from the power triangle \n", + "I_2_reactive = 59.046-21.80\n", + "I_a_2 = math.sqrt( 39.364**2 + I_2_reactive**2 ) \t\t\t#required armature current of 2nd alternator\n", + "print 'Required armature current of second alternator is %.4f A'%(I_a_2)\n", + "#power factors of 2 machines\n", + "cos_phi1 = 39.364/45 \n", + "cos_phi2 = 39.364/54.1921\n", + "\n", + "print 'Power factors are %.4f lagging and %.4f lagging'%(cos_phi1,cos_phi2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Required armature current of second alternator is 54.1921 A\n", + "Power factors are 0.8748 lagging and 0.7264 lagging\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.9 Page no : 61" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "#Line AB for Altermnator 1 and AC for alternator 2.AF is at frequency x measured from A where total load is 3000 kW\n", + "# Variables\n", + "BO = 2000.\n", + "AO = 5.\t\t\t#AF = x\n", + "DC = 2000.\n", + "AD = 3.\n", + "#AF = x\n", + "\n", + "# Calculations\n", + "#using similarity of triangles AEF and ABO\n", + "EF_by_AF = (BO/AO)\t\t\t# because (EF/BO) = (AF/AO)\n", + "#using similarity of triangles AFG and ADC\n", + "FG_by_AF = (DC/AD) \t\t\t#because (FG/DC) = (AF/AD)\n", + "\n", + "EF_by_x = EF_by_AF \t\t\t#which implies EF = 400*x\n", + "FG_by_x = FG_by_AF \t\t\t#which implies FG = 666.67*x\n", + "\n", + "EF_plus_FG = 3000 \t\t\t#total load at the frequency at P is 3000 kW\n", + "x = EF_plus_FG/(EF_by_x + FG_by_x)\n", + "EF = (BO/AO)*x\n", + "FG = (DC/AD)*x \n", + "\n", + "# Results\n", + "print 'Loads shared by machine 1 and 2 are %.0f kW and %.0f kW respectively'%(EF,FG)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loads shared by machine 1 and 2 are 1125 kW and 1875 kW respectively\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.10 Page no : 63" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*cmath.exp(1j*math.pi*Theeeta/180.);\n", + "\n", + "# Variables\n", + "V_l = 6000.\n", + "V_ph = V_l/math.sqrt(3)\n", + "VA = 2000.*10**3\n", + "I_FL = VA/(V_l*math.sqrt(3))\n", + "X_s = complex(0,6) \t\t\t#synchronous reactance\n", + "P = 8.\n", + "f = 50.\n", + "\n", + "delta_mech = math.pi/180 \t\t\t#phase print lacemant in degree mechanical \n", + "#phase print lacemant in degree electrical\n", + "delta_elec = delta_mech*(P/2) \t\t\t#P/2 is pole pairs(and not poles)\n", + "\n", + "phi = math.acos(math.radians(0.8))\n", + "V = p2z(V_ph,phi)\n", + "E = V+I_FL*X_s\n", + "#E leads I by phasemag(E). V leads I by phasemag(V)\n", + "\n", + "# Calculations and Results\n", + "delta = (math.pi/180)* (math.atan(E.imag/E.real)-(math.atan(V.imag/V.real ) ) ) \t\t\t#power angle in radians\n", + "P_SY = abs(E)*abs(V)*math.cos(delta)*math.sin(delta_elec)/abs(X_s) \t\t\t#Synchronising power\n", + "P_SY_total = 3*P_SY \t\t\t#totla Synchronising power \n", + "print 'Total Synchronising power is %.3f kW'%(10**-3*P_SY_total)\n", + "\n", + "N_s = 120*f/P \t\t\t#in rpm\n", + "n_s = (N_s)/60 \t\t\t#in rps\n", + "T_SY = P_SY_total/(2*math.pi*n_s)\n", + "print 'Synchronising torque is %.0f N-m'%(T_SY)\n", + "\n", + "# note : book answer it seems wrong." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total Synchronising power is 444.753 kW\n", + "Synchronising torque is 5663 N-m\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.11 Page no : 64" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*cmath.exp(1j*math.pi*Theeeta/180.);\n", + "\n", + "# Variables\n", + "V_l = 3300.\n", + "V_ph = V_l/math.sqrt(3)\n", + "VA = 3*10.**6\n", + "I_FL = VA/(V_l*math.sqrt(3))\n", + "IX_s = (25./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = complex(0,IX_s/I_FL) \t\t\t#synchronous reactance\n", + "N_s = 1000. \t\t\t#in rpm\n", + "P = 6.\n", + "f = 50.\n", + "\n", + "# Calculations and Results\n", + "delta_dash_mech = math.pi/180\n", + "delta_dash_elec = delta_dash_mech*(P/2) \t\t\t#P/2 is pole pairs(and not poles)\n", + "\n", + "I = I_FL\n", + "phi = math.acos(math.radians(0.8))\n", + "V = p2z(V_ph,phi)\n", + "E = V+I*X_s\n", + "#E leads I by phasemag(E). V leads I by phasemag(V)\n", + "\n", + "delta = (math.pi/180)* (math.atan(E.imag/E.real)-math.atan(V.imag/V.real) ) \t\t\t#power angle in radians\n", + "P_SY = abs(E)*abs(V)*math.cos(delta)*math.sin(delta_dash_elec)/abs(X_s) \t\t\t#Synchronising power per phase\n", + "print 'Synchronising power is %.3f kW'%(10**-3*P_SY)\n", + "P_SY_total = 3*P_SY \t\t\t#Total Synchronising power\n", + "\n", + "N_s = 120*f/P \t\t\t#in rpm\n", + "n_s = (N_s)/60 \t\t\t#in rps\n", + "T_SY = P_SY_total/(2*math.pi*n_s)\n", + "print 'Synchronising torque is %.0f N-m'%(T_SY)\n", + "\n", + "print 'Answer mismatches due to approximation'\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power is 217.160 kW\n", + "Synchronising torque is 6221 N-m\n", + "Answer mismatches due to approximation\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.12 Page no : 65" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_l = 3300.\n", + "V_ph = V_l/math.sqrt(3)\n", + "VA = 3*10.**6\n", + "I_FL = VA/(V_l*math.sqrt(3))\n", + "IX_s = (20./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = complex(0,IX_s/I_FL) \t\t\t#synchronous reactance\n", + "N_s = 1000.\n", + "P = 6.\n", + "f = 50.\n", + "\n", + "delta_dash_mech = math.pi/180 \t\t\t#phase print lacement in degree mechanical\n", + "#phase print lacement in degree electrical\n", + "delta_dash_elec = delta_dash_mech*(P/2) \t\t\t#P/2 is pole pairs(and not poles)\n", + "\n", + "# Calculations and Results\n", + "E = V_ph\n", + "Z_s = X_s \t\t\t#math.since R = 0\n", + "P_SY = abs(E)*abs(V_ph)*delta_dash_elec/abs(Z_s) \t\t\t#Synchronising power per phase\n", + "print 'Synchronising power is %.3f kW'%(10**-3*P_SY)\n", + "P_SY_total = 3*P_SY \t\t\t#Total Synchronising power\n", + "print '3 phase Synchronising power is %.3f kW'%(10**-3*P_SY_total)\n", + "\n", + "N_s = 120*f/P \t\t\t#in rpm\n", + "n_s = (N_s)/60 \t\t\t#in rps\n", + "T_SY = P_SY_total/(2*math.pi*n_s)\n", + "print 'Synchronising torque is %.0f N-m'%(T_SY)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power is 261.799 kW\n", + "3 phase Synchronising power is 785.398 kW\n", + "Synchronising torque is 7500 N-m\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.13 Page no : 66" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 11.*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 700.*10**3\n", + "I_FL = VA/(math.sqrt(3)*V_L) \t\t\t#full load current\n", + "IR_a = (1.5/100)*V_ph \t\t\t#product of I and R_a\n", + "R_a = IR_a/I_FL\n", + "IX_s = (14./100)*V_ph \t\t\t# product of I and X_s\n", + "X_s = IX_s/I_FL \t\t\t#synchronous reactance\n", + "\n", + "# Calculations\n", + "#at full load and 0.8 pf\n", + "I = I_FL\n", + "phi = math.acos(0.8)\n", + "V_ph = complex(V_ph*math.cos(phi),V_ph*math.sin(phi)) \t\t\t#just introduced the angle\n", + "E_ph = math.sqrt( (abs(V_ph)*math.cos(phi)+ IR_a)**2+ (abs(V_ph)*math.sin(phi)+ IX_s)**2 )\n", + "\n", + "Poles = 4.\n", + "f = 50. \t\t\t#poles and frequency\n", + "delta = math.asin( (abs(V_ph)*math.sin(phi)+IX_s)/E_ph) -phi\n", + "delta_dash_mech = (math.pi/180) \t\t\t#print lacement in degree mechanical\n", + "\t\t\t#print lacement in degree electrical\n", + "delta_dash_elec = delta_dash_mech*(Poles/2)\n", + "P_SY = abs(E_ph)*abs(V_ph)*math.cos(delta)*math.sin(delta_dash_elec)/X_s \t\t\t#Synchronising power per phase \n", + "P_SY_total = 3*P_SY \t\t\t#total Synchronising power\n", + "\n", + "ns = 120*f/(60*Poles) \t\t\t#in r.p.s\n", + "T_SY = P_SY_total/(2*math.pi*ns) \t\t\t#Synchronising torque \n", + "\n", + "# Results\n", + "print 'Synchronising power is %.2fkW'%(P_SY_total/1000)\n", + "print 'Synchronising torque is %.2f N-m'%(T_SY)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power is 191.25kW\n", + "Synchronising torque is 1217.53 N-m\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.14 Page no : 68" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_l = 9.*10**3\n", + "V_ph = V_l/math.sqrt(3)\n", + "VA = 5.5*10**6\n", + "I_FL = VA/(V_l*math.sqrt(3))\n", + "IX_s = (25./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = complex(0,IX_s/I_FL) \t\t\t#synchronous reactance\n", + "N_s = 1500. \t\t\t#in rpm\n", + "n_s = N_s/60 \t\t\t#in rps\n", + "f = 50.\n", + "P = 120.*f/N_s \t\t\t#frequency and pole\n", + "\n", + "# Calculations\n", + "delta_dash_mech = math.pi/180 \t\t\t#print lacemnt in degree mechanical \n", + "#print lacemnt in degree electrical\n", + "delta_dash_elec = delta_dash_mech*(P/2) \t\t\t#P/2 is pole pairs(and not poles)\n", + "\n", + "E = V_ph\n", + "P_SY = abs(E)*abs(V_ph)*delta_dash_elec/abs(X_s) \t\t\t#Synchronising power per phase\n", + "P_SY_total = 3*P_SY \t\t\t#Total Synchronising power\n", + "\n", + "T_SY = P_SY_total/(2*math.pi*n_s)\n", + "\n", + "# Results\n", + "print 'Synchronising torque is %.2f N-m'%(T_SY)\n", + "print 'Answer mismatches due to approximation'\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising torque is 4888.89 N-m\n", + "Answer mismatches due to approximation\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.15 Page no : 69" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 6.*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 2000.*10**3\n", + "I_FL = VA/(math.sqrt(3)*V_L) \n", + "I = I_FL\n", + "\n", + "# Calculations\n", + "X_s = 1.2\n", + "R_a = 0.01 \t\t\t#both per unit\n", + "IR_a = (1/100)*V_ph \t\t\t#product of I and R_a\n", + "R_a = IR_a/I_FL\n", + "IX_s = (120/100)*V_ph \t\t\t#product of I and X_s\n", + "#IX_s = (12/100)*V_ph \t\t\t# this is the mistake made in the textbook\n", + "X_s = IX_s/I_FL\n", + "\n", + "#at full load and 0.8 pf\n", + "phi = math.acos(0.8)\n", + "#V_ph = complex(V_ph*math.cos(phi)V_ph*math.sin(phi)) \t\t\t#just introduced the angle\n", + "E_ph = math.sqrt( (abs(V_ph)*math.cos(phi)+ IR_a)**2+ (abs(V_ph)*math.sin(phi)+ IX_s)**2 )\n", + "Poles = 8\n", + "f = 50\n", + "\n", + "delta = math.asin( (abs(V_ph)*math.sin(phi)+IX_s)/E_ph) -phi\n", + "delta_dash_mech = (math.pi/180) \t\t\t#print lacemnt in degree mechanical \n", + "#print lacemnt in degree electrical\n", + "delta_dash_elec = delta_dash_mech*(Poles/2)\n", + "P_SY = abs(E_ph)*abs(V_ph)*math.cos(delta)*math.sin(delta_dash_elec)/X_s \t\t\t#Synchronising power per phase\n", + "P_SY_total = 3*P_SY \t\t\t#total Synchronising power\n", + "\n", + "ns = 120*f/(60*Poles) \t\t\t#in r.p.s\n", + "T_SY = P_SY_total/(2*math.pi*ns) \t\t\t#Synchronising torque \n", + "\n", + "# Results\n", + "print 'Synchronising power is %.2f kW'%(P_SY_total/1000)\n", + "print 'Synchronising torque is %.2f N-m'%(T_SY)\n", + "\n", + "print 'Note that answer obtained doesnt match with textbook due to the following reasons: \\\n", + "\\niIX_s is considered wrong in textbook.It should have been 4156.92instead of 415.692 To verify this use commented statement of IX_s line 13and notice that it matches with textbook ans then' \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power is 223.22 kW\n", + "Synchronising torque is 2960.56 N-m\n", + "Note that answer obtained doesnt match with textbook due to the following reasons: \n", + "iIX_s is considered wrong in textbook.It should have been 4156.92instead of 415.692 To verify this use commented statement of IX_s line 13and notice that it matches with textbook ans then\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.16 Page no : 71" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "E = 11.*10**3/math.sqrt(3)\n", + "I_sc = 1000.\n", + "Pole = 2.\n", + "f = 50.\n", + "delta_dash_mech = 1*math.pi/180 \t\t\t#print lacemnt in degree mechanical \n", + "\n", + "# Calculations\n", + "#print lacemnt in degree electrical \n", + "delta_dash_elec = delta_dash_mech*(Pole/2)\n", + "P_SY = E*I_sc*delta_dash_mech \t\t\t#Synchronising power per phase\n", + "P_SY_total = P_SY*3 \t\t\t#total Synchronising power\n", + "\n", + "ns = 120*f/(60*Pole) \t\t\t#in r.p.s\n", + "T_SY = P_SY_total/(2*math.pi*ns) \t\t\t#Synchronising torque \n", + "\n", + "# Results\n", + "print 'Synchronising power is %.2f kW'%(P_SY_total/1000)\n", + "print 'Synchronising torque is %.2f N-m'%(T_SY)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power is 332.53 kW\n", + "Synchronising torque is 1058.48 N-m\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.17 Page no : 72" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "#Line PQ for Altermnator 1 and PR for alternaator 2.AB is at frequency x from P where total load is 30 MW\n", + "# Variables\n", + "QT = 25.\n", + "PT = 2.\n", + "#PC = x\n", + "SR = 25.\n", + "PS = 1.5\n", + "\n", + "# Calculations\n", + "#using similarity of triangles PAC and PQT\n", + "AC_by_PC = (QT/PT)\t\t\t# because (AC/QT) = (PC/PT)\n", + "#using similarity of triangles PCB and PSR\n", + "CB_by_PC = (SR/PS)\n", + "\n", + "AC_by_x = AC_by_PC \t\t\t#which implies AC = 12.5*x\n", + "CB_by_x = CB_by_PC \t\t\t#which implies CB = 16.67*x\n", + "\n", + "AC_plus_CB = 30 \t\t\t#total load at the frequency at P is 30 MW\n", + "x = AC_plus_CB/(AC_by_x + CB_by_x)\n", + "AC = 12.5*x\n", + "CB = 16.67*x \n", + "frequency = 50-x\n", + "\n", + "# Results\n", + "print 'Loads shared by alternator 1 and 2 are %.2f MW and %.2f MW respectively'%(AC,CB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loads shared by alternator 1 and 2 are 12.86 MW and 17.15 MW respectively\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.18 Page no : 73" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*cmath.exp(1j*math.pi*Theeeta/180.);\n", + "\n", + "# Variables\n", + "load_total = 1600.*10**3\n", + "pf = 1/math.sqrt(2) \t\t\t#lag\n", + "V_L = 6600.\n", + "\n", + "# Calculations\n", + "I_L = p2z(load_total/(math.sqrt(3)*V_L*pf),-1*math.acos(math.radians(pf)) )\n", + "I_1 = p2z(90,-1*math.acos(math.radians(0.8)))\n", + "I_2 = I_L-I_1\n", + "phi = abs(math.atan(I_2.imag/I_2.real))\n", + "I_a = abs(I_2)\n", + "R_a = 1.05\n", + "X_s = 5 \t\t\t#resistance and synchronous reactance per phase\n", + "V_ph = V_L/math.sqrt(3)\n", + "E_ph = math.sqrt( (V_ph*math.cos(phi)+I_a*R_a )**2 + ( V_ph*math.sin(phi)+I_a*X_s )**2 )\n", + "E_line = math.sqrt(3)*E_ph\n", + "\n", + "# Results\n", + "print 'Excitation of second alternator is %.2f V '%(E_line)\n", + "print ' The corresponding field current from the graph is about 310 A'\n", + "print 'Note: The answer obtained will differ from textbook answer because of higher degree of accuracy while storing I_2 and the improper rounding off of I_2 in the textbook'\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Excitation of second alternator is 6884.65 V \n", + " The corresponding field current from the graph is about 310 A\n", + "Note: The answer obtained will differ from textbook answer because of higher degree of accuracy while storing I_2 and the improper rounding off of I_2 in the textbook\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.19 Page no : 75" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 10.*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 5.*10**6\n", + "I_FL = VA/(math.sqrt(3)*V_L) \t\t\t#full-load current\n", + "IX_s = (20./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = IX_s/I_FL \t\t\t#synchronous reactance\n", + "P = 4.\n", + "\n", + "# Calculations\n", + "delta_dash_mech = 1*(math.pi/180) \t\t\t#print lacement in degree mechanical \n", + "#print lacement in degree electrical\n", + "delta_dash_elec = delta_dash_mech*(P/2)\n", + "E = V_ph \t\t\t#at no load\n", + "P_SY = delta_dash_elec*E**2/X_s \t\t\t#Synchronising power per phase\n", + "P_SY_total = P_SY*3 \t\t\t#Total Synchronising power\n", + "\n", + "# Results\n", + "print 'Synchronising power per phase is %.2fkW \\\n", + "\\nTotal Synchronising power is %.2fkW '%(P_SY/1000,P_SY_total/1000)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power per phase is 290.89kW \n", + "Total Synchronising power is 872.66kW \n" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.20 Page no : 76" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "Power_total = 1.414 \t\t\t#per unit\n", + "V_L = 1. \t\t\t#per unit\n", + "phi_t = math.acos(0.707)\n", + "I_L_T = Power_total/(math.sqrt(3)*V_L*math.cos(phi_t)) \t\t\t#Total current\n", + "\n", + "# Calculations\n", + "#Current supplied by each alternator\n", + "I_1 = I_L_T/2\n", + "I_2 = I_1\n", + "V_ph = V_L/math.sqrt(3)\n", + "\n", + "phi = math.acos(0.707)\n", + "R_a = 0\n", + "X_s = 0.6 \t\t\t#resistacne and synchronous reactance\n", + "E_ph = math.sqrt( (V_ph*math.cos(phi)+ I_1*R_a)**2 + (V_ph*math.sin(phi)+I_1*X_s)**2 )\n", + "delta = math.atan((I_1*X_s+V_ph*math.sin(phi)) / (V_ph*math.cos(phi))) - phi \t\t\t#power angle\n", + "\n", + "# Results\n", + "print 'EMF is %.4f p.u. and power angle is %.2f degrees '%(E_ph,delta*180/math.pi)\n", + "print 'Following assumptions were made :'\n", + "print '1.Terminal or bus bar voltage at ppoint of connection is constant'\n", + "print '2.The alternators are identical and are initially equally excited'\n", + "print '3.The power supplied by prime movers is adjusted so that each machine carries half the load represented by external impedance Z = R+ j 2pifL %( where R and L are constant'\n", + "print '4.The stator resistance is negligible'\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "EMF is 0.8580 p.u. and power angle is 16.58 degrees \n", + "Following assumptions were made :\n", + "1.Terminal or bus bar voltage at ppoint of connection is constant\n", + "2.The alternators are identical and are initially equally excited\n", + "3.The power supplied by prime movers is adjusted so that each machine carries half the load represented by external impedance Z = R+ j 2pifL %( where R and L are constant\n", + "4.The stator resistance is negligible\n" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.21 Page no : 77" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_l = 480.\n", + "X_d = 0.1\n", + "X_q = 0.075\n", + "R_a = 0. \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "I_l = 1200.\n", + "I_ph = I_l/math.sqrt(3)\n", + "V_ph = V_l\n", + "V_t = V_l\n", + "I_a = I_ph\n", + "\n", + "# Calculations\n", + "phi = math.acos(0.8)\n", + "psi = math.atan( (V_t*math.sin(phi)+I_a*X_q)/(V_t*math.cos(phi)+I_a*R_a) )\n", + "delta = psi-phi \n", + "\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(psi)\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "\n", + "# Results\n", + "print 'Excitation e.m.f is %.f V '%(E_f)\n", + "\n", + "# note : rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Excitation e.m.f is 524 V \n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.22 Page no : 78" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "VA = 3.5*10**6\n", + "P = 32. \t\t\t#Poles\n", + "Power = 2.5*10**6 \t\t\t#In watts\n", + "V_l = 6.6*10**3\n", + "phi = math.acos(0.8)\n", + "I_l = Power/(V_l*math.cos(phi)*math.sqrt(3))\n", + "X_d = 9.6\n", + "X_q = 6.\n", + "R_a = 0. \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "\n", + "# Calculations\n", + "V_t = V_l/math.sqrt(3)\n", + "psi = math.atan( (V_t*math.sin(phi)+I_l*X_q)/(V_t*math.cos(phi)+I_l*R_a) )\n", + "delta = psi-phi\n", + "I_s = I_l\n", + "I_d = I_s*math.sin(psi)\n", + "I_q = I_s*math.cos(psi)\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "regulation = 100*(E_f-V_t)/V_t\n", + "\n", + "# Results\n", + "print 'percentage regulation is %.2f percent'%(regulation)\n", + "print 'Excitation emf = %.0f V'%(E_f)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "percentage regulation is 50.85 percent\n", + "Excitation emf = 5748 V\n" + ] + } + ], + "prompt_number": 38 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.23 Page no : 79" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "X_d = 7.6\n", + "X_q = 4.5\n", + "R_a = 0.15 \t\t\t#armature resistance and synchronous reactance of directquadrature \n", + "axisV_l = 13.8*10**3\n", + "V_l = 13.8*10**3\n", + "V_t = V_l/math.sqrt(3)\n", + "phi = math.acos(0.8)\n", + "VA = 25*10**6\n", + "I_a = VA/(math.sqrt(3)*V_l)\n", + "psi = math.atan( (V_t*math.cos(phi)+I_a*X_q)/(V_t*math.sin(phi)+I_a*R_a) )\n", + "\n", + "# Calculations\n", + "delta = psi-phi\n", + "I_s = I_a\n", + "I_d = I_s*math.sin(psi)\n", + "I_q = I_s*math.cos(psi)\n", + "\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "regulation = 100*(E_f-V_t)/V_t\n", + "\n", + "# Results\n", + "print 'percentage regulation is %.2f percent'%(regulation)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "percentage regulation is 79.30 percent\n" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.24 Page no : 80" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "X_d = 1.\n", + "X_q = 0.6\n", + "R_a = 0. \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "phi = math.acos(0.8) \t\t\t#lag\n", + "V_t = 1.\n", + "I_a = 1. \t\t\t#full load\n", + "psi = math.atan( (V_t*math.sin(phi)+I_a*X_q)/(V_t*math.cos(phi)+I_a*R_a) )\n", + "\n", + "# Calculations\n", + "delta = psi-phi\n", + "I_s = I_a\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(psi)\n", + "\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "regulation = 100*(E_f-V_t)/V_t\n", + "\n", + "# Results\n", + "print 'percentage regulation is %.2f percent'%(regulation)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "percentage regulation is 77.50 percent\n" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.25 Page no : 81" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "I_a = 10.\n", + "phi = 20. \t\t\t#lag and degrees\n", + "V_t = 400.\n", + "X_d = 10.\n", + "X_q = 6.5\n", + "R_a = 0. \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "\n", + "# Calculations\n", + "psi = math.atan((V_t*math.sin(math.radians(phi))+I_a*X_q)/(V_t*math.cos(math.radians(phi))+I_a*R_a))\n", + "delta = math.degrees(psi)-phi\n", + "I_d = math.degrees(I_a*math.sin(math.radians(psi)))\n", + "I_q = (I_a*math.cos(psi))\n", + "\n", + "# Results\n", + "print 'Load angle is %.2f degrees '%(delta)\n", + "print 'I_d and I_q are %.4f A and %.4f A respectively '%(I_d,I_q )\n", + "\n", + "# note : rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Load angle is 8.23 degrees \n", + "I_d and I_q are 4.9272 A and 8.8105 A respectively \n" + ] + } + ], + "prompt_number": 53 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.26 Page no : 81" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "X_d = 0.8\n", + "X_q = 0.5\n", + "R_a = 0.02 \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "\n", + "\t\t\t#case(i) lag\n", + "phi = math.acos(0.8)\n", + "V_t = 1\n", + "I_a = 1\t\t\t#full-load\n", + "psi = math.atan( (V_t*math.sin(phi)+I_a*X_q)/(V_t*math.cos(phi)+I_a*R_a) )\n", + "delta = psi-phi\n", + "\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(psi)\n", + "\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "regulation = 100*(E_f-V_t)/V_t\n", + "print 'percentage regulation at 0.8 pf lag is %.2f percent'%(regulation)\n", + "\n", + "\t\t\t#case(ii) lead\n", + "phi2 = -1*math.acos(0.8) \t\t\t#minus sign because of leading pf\n", + "psi2 = math.atan( (V_t*math.sin(phi2)+I_a*X_q)/(V_t*math.cos(phi2)+I_a*R_a) )\n", + "delta2 = psi2-phi2\n", + "\n", + "I_d2 = I_a*math.sin(psi2)\n", + "I_q2 = I_a*math.cos(psi2)\n", + "\n", + "E_f2 = V_t*math.cos(delta2)+I_d2*X_d+I_q2*R_a\n", + "regulation2 = 100*(E_f2-V_t)/V_t\n", + "print 'percentage regulation at 0.8 pf lead is %.f percent'%(regulation2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "percentage regulation at 0.8 pf lag is 61.25 percent\n", + "percentage regulation at 0.8 pf lead is -21 percent\n" + ] + } + ], + "prompt_number": 55 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.27 Page no : 83" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import *\n", + "\n", + "# Variables\n", + "kW = array([800,500,1000,600])\n", + "cosphi = array([1,0.9,0.8,0.9])\n", + "tanphi = tan(arccos(cosphi))\n", + "kVAR = kW*tanphi\n", + "\n", + "# Calculations\n", + "kW_total = kW[0]+kW[1]+kW[2]+kW[3]\n", + "kVAR_total = kVAR[0]+kVAR[1]+kVAR[2]+-1*kVAR[3] \t\t\t#4th case is leading \n", + "\n", + "phi_c = math.atan(kVAR_total/kW_total) \t\t\t#total power factor angle\n", + "phi_1 = math.acos(0.95)\t\t\t#pf of machine 1\n", + "kW_1 = 1000 \t\t\t#active component of machine 1\n", + "kVAR_1 = kW_1*math.tan(phi_1) \t\t\t#reactive component of machine 1\n", + "kW_2 = kW_total - kW_1 \t\t\t#active component of machine 1\n", + "kVAR_2 = kVAR_total-kVAR_1 \t\t\t#reactive component of machine 2\n", + "\n", + "phi_2 = math.atan(kVAR_2/kW_2) \n", + "pf_2 = math.cos(phi_2) \t\t\t#power factor of machine 2\n", + "\n", + "# Results\n", + "print 'Output of second alternator = %.0f kW'%(kW_2)\n", + "print 'power factor of machine 2 = %.2f and lagging'%(pf_2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Output of second alternator = 1900 kW\n", + "power factor of machine 2 = 0.98 and lagging\n" + ] + } + ], + "prompt_number": 56 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.28 Page no : 84" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import *\n", + "\n", + "# Variables\n", + "kW = array([250,300,150])\n", + "cosphi = array([0.9,0.75,0.8]) \t\t\t#all lagging\n", + "tanphi = tan(arccos(cosphi))\n", + "kVAR = kW*tanphi\n", + "\n", + "# Calculations\n", + "kW_total = kW[0]+kW[1]+kW[2]\n", + "kVAR_total = kVAR[0]+kVAR[1]+kVAR[2] \n", + "\n", + "phi_1 = math.acos(0.8)\t\t\t#pf of machine 1\n", + "kW_1 = 100 \t\t\t#active component of machine 1\n", + "kVAR_1 = kW_1*math.tan(phi_1) \t\t\t#reactive component of machine 1\n", + "kW_2 = kW_total - kW_1 \t\t\t#active component of machine 1\n", + "kVAR_2 = kVAR_total-kVAR_1 \t\t\t#reactive component of machine 2\n", + "phi_2 = math.atan(kVAR_2/kW_2) \n", + "pf_2 = math.cos(phi_2) \t\t\t#power factor of machine 2\n", + "\n", + "# Results\n", + "print 'Output of second alternator = %.0f kW'%(kW_2)\n", + "print 'power factor of machine 2 = %.4f and lagging'%(pf_2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Output of second alternator = 600 kW\n", + "power factor of machine 2 = 0.8172 and lagging\n" + ] + } + ], + "prompt_number": 57 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.29 Page no : 85" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 6.6*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "V_t = V_ph\n", + "X_d = 9.6\n", + "X_q = 6.\n", + "R_a = 0. \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "VA = 3.5*10**6\n", + "I_L = VA/(math.sqrt(3)*V_L)\n", + "\n", + "# Calculations\n", + "P = 2.5*10**6\n", + "phi = math.acos(0.8)\n", + "I_a = P/(math.sqrt(3)*V_L*math.cos(phi))\n", + "psi = math.atan( (V_t*math.sin(phi)+ I_a*X_q)/(V_t*math.cos(phi)+ I_a*R_a) )\n", + "\n", + "delta = psi-phi\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(phi)\n", + "\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "regulation = 100*(E_f-V_t)/V_t\n", + "P_max = (V_ph**2/2)*((X_d-X_q)/(X_d*X_q))*(math.sin(2*delta))\n", + "\n", + "# Results\n", + "print 'percentage voltage regulation is %.2f percent'%(regulation)\n", + "print 'Power under open circuit is %.1f kW per phase'%(P_max/1000)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "percentage voltage regulation is 50.85 percent\n", + "Power under open circuit is 231.1 kW per phase\n" + ] + } + ], + "prompt_number": 58 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.30 Page no : 86" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 3.3*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 3.*10**6\n", + "I_FL = VA/(math.sqrt(3)*V_L)\n", + "IX_s = (25./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = complex(0,IX_s/I_FL)\n", + "N_s = 1000 \t\t\t#in r.p.m\n", + "\n", + "\n", + "# Calculations\n", + "Poles = 6.\n", + "f = 50.\n", + "delta_dash_mech = (math.pi/180) \t\t\t#print lacement in degree mechanical\n", + "#print lacement in degree electrical\n", + "delta_dash_elec = delta_dash_mech*(Poles/2)\n", + "\n", + "I = I_FL\n", + "phi = math.acos(0.8)\n", + "V = complex(V_ph*math.cos(phi),V_ph*math.sin(phi))\n", + "E = V+ I*X_s\n", + "\n", + "delta = (math.pi/180)*math.atan(E.imag/E.real)-phi \t\t\t#E leads I by (math.pi/180)*phasemag(E) and V leads I by phi radians \n", + "P_SY = abs(E)*abs(V_ph)*math.cos(delta)*math.sin(delta_dash_elec)/abs(X_s) \t\t\t#Synchronising power per phase \n", + "P_SY_total = 3*P_SY \t\t\t#total Synchronising power\n", + "\n", + "ns = 120*f/(60*Poles) \t\t\t#in r.p.m\n", + "T_SY = P_SY_total/(2*math.pi*ns) \t\t\t#Synchronising torque \n", + "\n", + "# Results\n", + "print 'Synchronising power per phase is %.3f kW'%(P_SY/1000)\n", + "print 'Synchronising torque is %.0f N-m'%(T_SY)\n", + "print 'Answer mismatches due to improper approximation'\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power per phase is 197.555 kW\n", + "Synchronising torque is 5660 N-m\n", + "Answer mismatches due to improper approximation\n" + ] + } + ], + "prompt_number": 60 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.31 Page no : 87" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 3.3*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 3.*10**6\n", + "I_FL = VA/(math.sqrt(3)*V_L)\n", + "IX_s = (20./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = complex(0,IX_s/I_FL)\n", + "N_s = 1000. \t\t\t#in r.p.m\n", + "Poles = 6.\n", + "f = 50.\n", + "\n", + "# Calculations\n", + "delta_dash_mech = (math.pi/180) \t\t\t#print lacement in degree mechanical\n", + "#print lacement in degree electrical \n", + "delta_dash_elec = delta_dash_mech*(Poles/2)\n", + "\n", + "#E = V as the alternator is on no-load and X_s = Z_s\n", + "P_SY = abs(V_ph)**2*(delta_dash_elec)/abs(X_s) \t\t\t#Synchronising power per phase\n", + "P_SY_total = 3*P_SY \t\t\t#total Synchronising power\n", + "\n", + "ns = 120*f/(60*Poles) \t\t\t#in r.p.s\n", + "T_SY = P_SY_total/(2*math.pi*ns) \t\t\t#Synchronising torque \n", + "\n", + "# Results\n", + "print 'Synchronising power per phase is %.3f kW'%(P_SY/1000)\n", + "print 'Total Synchronising power is %.3f kW'%(P_SY_total/1000)\n", + "print 'Synchronising torque is %.0f N-m'%(T_SY)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power per phase is 261.799 kW\n", + "Total Synchronising power is 785.398 kW\n", + "Synchronising torque is 7500 N-m\n" + ] + } + ], + "prompt_number": 61 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.32 Page no : 88" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 11.*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 700.*10**3\n", + "I_FL = VA/(math.sqrt(3)*V_L)\n", + "IX_s = (14./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = IX_s/I_FL\n", + "#X_s = complex(0,IX_s/I_FL)\n", + "IR_a = (1.5/100)*V_ph \t\t\t#product of I and R_a\n", + "R_a = IR_a/I_FL\n", + "\n", + "\n", + "# Calculations\n", + "I = I_FL\n", + "phi = math.acos(0.8)\n", + "V = complex(V_ph*math.cos(phi),V_ph*math.sin(phi))\n", + "E_ph = math.sqrt( (V_ph*math.cos(phi)+IR_a)**2 +(V_ph*math.sin(phi)+IX_s)**2 )\n", + "delta = math.asin((V_ph*math.sin(phi)+IX_s)/E_ph) -phi\n", + "\n", + "Poles = 4.\n", + "f = 50.\n", + "delta_dash_mech = (math.pi/180) \t\t\t#phase print lacemnt in degree mechanical\n", + "delta_dash_elec = delta_dash_mech*(Poles/2)\t\t\t#phase print lacemnt in degree electrical\n", + "\n", + "P_SY = abs(V_ph)*abs(E_ph)*math.cos(delta)*math.sin(delta_dash_elec)/abs(X_s) \t\t\t#Synchronising power per phase\n", + "P_SY_total = 3*P_SY \t\t\t#total Synchronising power\n", + "\n", + "ns = 120*f/(60*Poles) \t\t\t#in r.p.s\n", + "T_SY = P_SY_total/(2*math.pi*ns) \t\t\t#Synchronising torque \n", + "\n", + "# Results\n", + "print 'Synchronising power per phase is %.3f kW'%(P_SY/1000)\n", + "print 'Synchronising power is %.3f kW ; '%(P_SY/1000)\n", + "print 'Total Synchronising power is %.3f kW'%(P_SY_total/1000)\n", + "print 'Synchronising torque is %.2f N-m'%(T_SY)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power per phase is 63.750 kW\n", + "Synchronising power is 63.750 kW ; \n", + "Total Synchronising power is 191.249 kW\n", + "Synchronising torque is 1217.53 N-m\n" + ] + } + ], + "prompt_number": 62 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.33 Page no : 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*cmath.exp(1j*math.pi*Theeeta/180.);\n", + "\n", + "# Variables\n", + "Z1 = complex(0,2)\n", + "Z2 = complex(0,3)\n", + "Z = 6.\n", + "E1 = p2z(230,0)\n", + "E2 = p2z(230,10)\n", + "\n", + "# Calculations\n", + "I1 = ((E1-E2)*Z+E1*Z2)/(Z*(Z1+Z2)+Z1*Z2)\n", + "I2 = ((E2-E1)*Z+E2*Z1)/(Z*(Z1+Z2)+Z1*Z2)\n", + "\n", + "phi1 = math.atan(I1.imag/I1.real) \t\t\t#Phasemag returns the angle of complex number in degrees\n", + "phi2 = math.atan(I2.imag/I2.real) \t\t\t#Phasemag returns the angle of complex number in degrees\n", + "\n", + "I = I1+I2\n", + "V = I*Z \t\t\t#Terminal voltage\n", + "\n", + "# Results\n", + "print 'i) Terminal voltage is %.2f volts at %.1f degrees'%(abs(V),math.degrees(math.atan(V.imag/V.real)))\n", + "print 'ii) Currents are %.2f A at %.0f degrees and %.2f A at %.2f degrees \\\n", + "\\nTotal current is %.2f A at %.1f degrees '%(abs(I1),math.degrees(math.atan(I1.imag/I1.real)),abs(I2),\\\n", + " math.degrees(math.atan(I2.imag/I2.real)),abs(I) \\\n", + " ,math.degrees(math.atan(I.imag/I.real)))\n", + "\n", + "P1 = abs(V)*abs(I1)*math.cos(math.radians(phi1))\n", + "P2 = abs(V)*abs(I2)*math.cos(math.radians(phi2))\n", + "print 'iii)Power delivered %.2f watts and %.2f watts'%(P1,P2)\n", + "\n", + "# note : rounding off error. kindly check the calculations\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i) Terminal voltage is 224.71 volts at -7.3 degrees\n", + "ii) Currents are 14.74 A at -14 degrees and 22.88 A at -3.03 degrees \n", + "Total current is 37.45 A at -7.3 degrees \n", + "iii)Power delivered 3311.43 watts and 5141.03 watts\n" + ] + } + ], + "prompt_number": 65 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.34 Page no : 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "X_d = 0.8\n", + "X_q = 0.5 \t\t\t#both per unit\n", + "R_a = 0. \t\t\t#assumed\n", + "phi = math.acos(0.8)\n", + "V_t = 1.\t\t\t#pu\n", + "I_a = 1. \t\t\t#full-load\n", + "\n", + "# Calculations\n", + "psi = math.atan( (V_t*math.sin(phi)+I_a*X_q)/(V_t*math.cos(phi)+I_a*R_a) )\n", + "delta = psi-phi\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(psi)\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "\n", + "# Results\n", + "print 'Open circuit voltage is %.3f p.u.'%(E_f)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Open circuit voltage is 1.603 p.u.\n" + ] + } + ], + "prompt_number": 66 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.35 Page no : 92" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import *\n", + "\n", + "# Variables\n", + "V_L = 6600.\n", + "I_L = 110.\n", + "phi_1 = math.acos(0.9) \t\t\t#lagging\n", + "kW = array([400,1000,400,300])*10**3\n", + "cosphi = array([1,0.71,0.8,0.9])\n", + "tanphi = tan(arccos(cosphi))\n", + "kVAR = kW*tanphi\n", + "\n", + "# Calculations\n", + "kW_total = kW[0]+kW[1]+kW[2]+kW[3]\n", + "kVAR_total = kVAR[0]+kVAR[1]+kVAR[2]+kVAR[3]\n", + "\n", + "phi_c = math.atan(kVAR_total/kW_total) \t\t\t#total power factor angle\n", + "load_1 = math.sqrt(3)*V_L*I_L*math.cos(phi_1)\n", + "\n", + "kW_1 = load_1 \t\t\t#active component of machine 1\n", + "kVAR_1 = kW_1*math.tan(phi_1) \t\t\t#reactive component of machine 1\n", + "kW_2 = kW_total - kW_1 \t\t\t#active component of machine 1\n", + "kVAR_2 = kVAR_total-kVAR_1 \t\t\t#reactive component of machine 2\n", + "\n", + "phi_2 = math.atan(kVAR_2/kW_2) \n", + "pf_2 = math.cos(phi_2) \t\t\t#power factor of machine 2\n", + "\n", + "# Results\n", + "print 'Output of second alternator = %.2f kW'%(kW_2/1000)\n", + "print 'Power factor of machine 2 = %.4f and lagging'%(pf_2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Output of second alternator = 968.28 kW\n", + "Power factor of machine 2 = 0.7366 and lagging\n" + ] + } + ], + "prompt_number": 67 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.36 Page no : 93" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 11000.\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 2.*10**6\n", + "phi = math.acos(0.8)\n", + "I_FL = VA/(math.sqrt(3)*V_L)\n", + "phi_1 = math.acos(0.8)\n", + "IX_s = (20./100)*V_ph \t\t\t#product of I and X_s\n", + "\n", + "# Calculations\n", + "X_s = IX_s/I_FL\n", + "I_1 = I_FL\n", + "BC = I_1*math.cos(phi_1)*X_s\n", + "AB = I_1*math.sin(phi_1)*X_s \n", + "OA = V_ph\n", + "OC = math.sqrt( (OA+AB)**2+(BC)**2 ) \n", + "E_1 = OC\n", + "E_2 = 1.25*E_1\n", + "OE = E_2\n", + "DE = BC\n", + "AD = math.sqrt(OE**2-DE**2) -OA \t\t\t#because OE = math.sqrt( (OA+AD)**2 + (DE)**2 )\n", + "\n", + "I_2sinphi2 = AD/X_s\n", + "I_2cosphi2 = I_1*math.cos(phi)\n", + "I_2 = math.sqrt( (I_2cosphi2)**2 + (I_2sinphi2)**2 )\n", + "phi2 = math.atan( I_2sinphi2/ I_2cosphi2 )\n", + "new_pf = math.cos(phi2)\n", + "\n", + "# Results\n", + "print 'Machine current is %.2f A '%(I_2)\n", + "print 'Power factor is %.4f lagging'%(new_pf)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Machine current is 228.62 A \n", + "Power factor is 0.3673 lagging\n" + ] + } + ], + "prompt_number": 68 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.37 Page no : 95" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "def p2z(RRRR,Theeeta):\n", + " return RRRR*exp(1j*math.pi*Theeeta/180.);\n", + "\n", + "\n", + "# Variables\n", + "P_out = 3000.*10**3\n", + "V_L = 6.6*10**3\n", + "V_ph = V_L/math.sqrt(3)\n", + "phi = math.acos(0.8)\n", + "I_L = p2z(P_out/(math.sqrt(3)*V_L*math.cos(phi)),-1*(180/math.pi)*phi)\n", + "\n", + "# Calculations\n", + "P_out1 = P_out/2\n", + "I_L1 = 150 \t\t\t#given\n", + "phi_L1 = math.acos( P_out1/(math.sqrt(3)*V_L*I_L1) )\n", + "I_L1 = p2z(I_L1,-1*(180/math.pi)*phi_L1)\n", + "\n", + "I_L2 = I_L-I_L1\n", + "pf_2 = math.cos(math.atan(I_L2.imag/I_L2.real))\n", + "Z_1 = complex(0.5,10)\n", + "I_1 = I_L1\n", + "E_1 = V_ph + I_1*Z_1\n", + "delta_1 = math.atan(E_1.imag/E_1.real) \t\t\t#load angle of alternator 1\n", + "E_1L = math.sqrt(3)*E_1\n", + "\n", + "Z_2 = complex(0.4,12)\n", + "I_2 = I_L2\n", + "E_2 = V_ph + I_2*Z_2\n", + "delta_2 = (math.pi/180)*math.atan(E_2.imag/E_2.real) \t\t\t#load angle of alternator 2\n", + "\n", + "# Results\n", + "print 'Part i) Currents are %.0f A at %.1f degrees and %.1f A at %.1f degrees\\nTotal current is %.0f at %.2f' %(abs(I_L1),\\\n", + " math.degrees(math.atan(I_L1.imag/I_L1.real)),abs(I_L2),\\\n", + " math.degrees(math.atan(I_L2.imag/I_L2.real)),abs(I_L),math.degrees(math.atan(I_L.imag/I_L.real)))\n", + "print 'Part ii)Power factor is %.4f and lagging'%(math.cos(phi_L1))\n", + "print 'Part iii)emf are %.2f V at %.2f degrees and %.4f V at %.0f degrees'%(abs(E_1),\\\n", + " math.degrees(math.atan(E_1.imag/E_1.real)),abs(E_2),math.degrees(math.atan(E_2.imag/E_2.real)))\n", + "print 'Part iv)Power angles are %.2f degrees and %.0f degrees '%(180/math.pi*delta_1,(180/math.pi)*delta_2)\n", + "\n", + "# note : rounding off error. kindly check the calculations\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Part i) Currents are 150 A at -29.0 degrees and 180.6 A at -43.4 degrees\n", + "Total current is 328 at -36.87\n", + "Part ii)Power factor is 0.8748 and lagging\n", + "Part iii)emf are 4776.46 V at 15.49 degrees and 5565.7081 V at 16 degrees\n", + "Part iv)Power angles are 15.49 degrees and 0 degrees \n" + ] + } + ], + "prompt_number": 73 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.38 Page no : 97" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "Z1 = complex(0.2,2)\n", + "Z2 = Z1\n", + "ZL = complex(3,4)\n", + "Z = ZL\n", + "E1 = complex(2000,0)\n", + "E2 = complex(2200,100)\n", + "\n", + "# Calculations\n", + "I1 = ((E1-E2)*Z+E1*Z2)/(Z*(Z1+Z2)+Z1*Z2)\n", + "I2 = ((E2-E1)*Z+E2*Z1)/(Z*(Z1+Z2)+Z1*Z2)\n", + "\n", + "IL = I1+I2\n", + "V = IL*Z \t\t\t#Terminal voltage\n", + "\n", + "phi1 = math.atan(V.imag/V.real)-math.atan(I1.imag/I1.real) \t\t\t#Phasemag returns the angle of complex number in degrees\n", + "phi2 = math.atan(V.imag/V.real)-math.atan(I2.imag/I2.real) \t\t\t#Phasemag returns the angle of complex number in degrees\n", + "\n", + "Pout1 = math.sqrt(3)*math.sqrt(3)*abs(V)*abs(I1)*math.cos(math.radians(phi1))\n", + "Pout2 = math.sqrt(3)*math.sqrt(3)*abs(V)*abs(I2)*math.cos(math.radians(phi2))\n", + "\n", + "# Results\n", + "print 'Power delivered is %.2f kW and %.2f kW at power-factors %.4f lag and %.4f lag respectively'%(Pout1/1000,Pout2/1000,math.cos(math.radians(phi1)),math.cos(math.radians(phi2)))\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power delivered is 658.24 kW and 1253.92 kW at power-factors 0.9999 lag and 0.9999 lag respectively\n" + ] + } + ], + "prompt_number": 74 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.39 Page no : 99" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "f = 50.\n", + "P = 12.\n", + "V_L = 6600.\n", + "V_ph = V_L/math.sqrt(3)\n", + "VA = 2000.*10**3\n", + "I_FL = VA/(math.sqrt(3)*V_L)\n", + "\n", + "# Calculations\n", + "IX_s = (25./100)*V_ph \t\t\t#product of I and X_s\n", + "X_s = complex(0,IX_s/I_FL)\n", + "N_s = 12*f/P \t\t\t#in rpm\n", + "delta_dash_mech = (math.pi/180) \t\t\t#phase print lacemnt in degree mechanical\n", + "delta_dash_elec = delta_dash_mech*(P/2) \t\t\t#phase print lacemnt in degree electrical\n", + "\n", + "phi = math.acos(0.8) \t\t\t#lag\n", + "I = complex(I_FL*math.cos(-1*phi),I_FL*math.sin(-1*phi))\n", + "V = V_ph\n", + "E = V + I*X_s\n", + "delta = math.atan(E.imag/E.real)*(math.pi/180)\n", + "P_SY = abs(E)*abs(V)*math.cos(delta)*math.sin(delta_dash_elec)/abs(X_s)\n", + "P_SY_total = 3*P_SY\n", + "\n", + "# Results\n", + "print 'Synchronising power is %.2f kW'%(P_SY/1000)\n", + "print 'Total Synchronising power is %.2f kW'%(P_SY_total/1000)\n", + "\n", + "# note : rounding off error. kindly check." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Synchronising power is 325.36 kW\n", + "Total Synchronising power is 976.09 kW\n" + ] + } + ], + "prompt_number": 76 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.40 Page no : 101" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_L = 22000.\n", + "V_ph = V_L/math.sqrt(3)\n", + "power = 230.*10**6\n", + "phi = math.acos(1.)\n", + "I_FL = power/(math.sqrt(3)*V_L*math.cos(phi))\n", + "I_1 = I_FL\n", + "X_s = 1.2\n", + "\n", + "# Calculations\n", + "E_1 = math.sqrt( V_ph**2 + (I_1*X_s)**2 )\n", + "E_2 = 1.3*E_1\n", + "AC = math.sqrt( E_2**2-(I_1*X_s)**2 ) -V_ph \t\t\t# because E**2 = (V_ph+AC)**2+(I_1*X_s)**2\n", + "I2X_S = AC\n", + "\n", + "I_2cosphi2 = I_1 \t\t\t#because phi_2 = math.acos(I_1/I_2) \t\t\t#from ACD\n", + "I_2sinphi2 = AC/X_s\n", + "I_2 = math.sqrt( (I_2cosphi2)**2 + (I_2sinphi2)**2 )\n", + "phi2 = math.atan( I_2sinphi2/ I_2cosphi2 )\n", + "new_pf = math.cos(phi2)\n", + "\n", + "# Results\n", + "print 'Machine current is %.2f A '%(I_2)\n", + "print 'Power factor is %.4f and lagging'%(new_pf)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Machine current is 7274.58 A \n", + "Power factor is 0.8297 and lagging\n" + ] + } + ], + "prompt_number": 77 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.41 Page no : 102" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import cmath\n", + "\n", + "#note that a new function p2z has been defined below for direct representation of complex numbers in polar form\n", + "def p2z(RRRR,Theeeta):\n", + "\treturn RRRR*cmath.exp(1j*math.pi*Theeeta/180.);\n", + "\n", + "# Variables\n", + "P_out = 1500.*10**3\n", + "V_L = 3.3*10**3\n", + "phi = math.acos(0.8)\n", + "I_L = p2z(P_out/(math.sqrt(3)*V_L*math.cos(phi)),-1*math.acos(math.radians(0.8)))\n", + "\n", + "I_L1_magnitude = 150. \t\t\t#given\n", + "P_out1 = (3.*10**6)/2 \t\t\t#because load is EQUALLY shared between 2 alternators\n", + "pf_L1 = P_out1/(math.sqrt(3)*2*V_L*I_L1_magnitude) \t\t\t#operating pf of alternator 1\n", + "phi1 = math.acos(math.radians(pf_L1))\n", + "I_L1 = p2z(I_L1_magnitude,-1*phi1)\n", + "I_L2 = I_L-I_L1 \t\t\t#because I_L = I_L1 + I_L2\n", + "pf_L2 = math.cos(math.atan(I_L2.imag/I_L2.real))\n", + "\n", + "# Calculations\n", + "V_ph = 6.6*10**3/math.sqrt(3)\n", + "Z_1 = complex(0.5,10)\n", + "I_1 = I_L1\n", + "E_1 = V_ph + I_1*Z_1\n", + "delta_1 = math.atan(E_1.imag/E_1.real) \t\t\t#load angle of alternator 1\n", + "I_2 = I_L2\n", + "\n", + "Z_2 = complex(0.4,12)\n", + "E_2 = V_ph + I_2*Z_2\n", + "delta_2 = math.atan(E_2.imag/E_2.real) \t\t\t#load angle of alternator 1\n", + "\n", + "# Results\n", + "print 'for machine 1current is %.0f A at %.2f degrees \\nPower factor of %.4f laginduced emf \\\n", + " of %.2f V \\nload angle of %.2f degrees'%(abs(I_L1),math.degrees(math.atan(I_L1.imag/I_L1.real)),pf_L1,abs(E_1),delta_1)\n", + "print 'for machine 2current is %.1f A at %.1f degrees\\nPower factor of %.4f laginduced emf \\\n", + " of %.2f V\\nload angle of %.0f degrees'%(abs(I_L2),math.degrees(math.atan(I_L2.imag/I_L2.real)),pf_L2,abs(E_2),math.degrees(delta_2))\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "for machine 1current is 150 A at -1.56 degrees \n", + "Power factor of 0.8748 laginduced emf of 4202.06 V \n", + "load angle of 0.36 degrees\n", + "for machine 2current is 178.0 A at -1.6 degrees\n", + "Power factor of 0.9996 laginduced emf of 4480.49 V\n", + "load angle of 28 degrees\n" + ] + } + ], + "prompt_number": 81 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.42 Page no : 104" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_l = 230\n", + "VA = 5*10**3\n", + "X_d = 12\n", + "X_q = 7\n", + "R_a = 0 \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "phi = math.acos(1)\n", + "\n", + "# Calculations\n", + "I_l = VA/(V_l*math.sqrt(3))\n", + "V_ph = V_l/math.sqrt(3)\n", + "V_t = V_ph\n", + "I_a = I_l\n", + "\n", + "psi = math.atan( (V_t*math.sin(phi)+I_a*X_q)/(V_t*math.cos(phi)+I_a*R_a) )\n", + "delta = psi-phi\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(psi)\n", + "E_f = V_t*math.cos(delta)+I_d*X_d+I_q*R_a\n", + "\n", + "# Results\n", + "print 'Excitation voltage is %.3f V '%(E_f)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Excitation voltage is 193.852 V \n" + ] + } + ], + "prompt_number": 82 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.43 Page no : 104" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "V_l = 6.6*10**3\n", + "V_t = V_l/math.sqrt(3)\n", + "X_d = 23.2\n", + "X_q = 14.5\n", + "R_a = 0. \t\t\t#armature resistance and synchronous reactance of direct quadrature axis\n", + "VA = 1800.*10**3\n", + "phi = math.acos(0.8) \t\t\t#lag\n", + "\n", + "# Calculations and Results\n", + "I_a = VA/(V_l*math.sqrt(3))\n", + "\n", + "psi = math.atan( (V_t*math.sin(phi)-I_a*X_q)/(V_t*math.cos(phi)-I_a*R_a) ) \t\t\t#minus sign in numerator and denomenator for motors\n", + "delta = psi+phi\n", + "I_d = I_a*math.sin(psi)\n", + "I_q = I_a*math.cos(psi)\n", + "E_f = V_t*math.cos(delta)-I_d*X_d-I_q*R_a\n", + "print 'Excitation emf = %.4f V'%(E_f)\n", + "#P_m = ( V_t*E_f*math.sin(delta)/X_d ) + ((1/X_q)-(1/X_d))*0.5*math.sin(2*delta)*V_t**2\n", + "#P_m = 0.4996*math.cos(delta)+0.1877*math.sin(2*delta)\n", + "#for maximum power output differenciate and equate to zero\n", + "\n", + "delta_max = 63.4 \t\t\t#degree\n", + "\n", + "P_m_max = ((1/X_q)-(1/X_d))*0.5*math.sin(math.radians(2*delta_max))*V_t**2 \t\t\t#Maximuum load supplied with E_f = 0\n", + "print 'Maximum load the motor can supply is %.4f MW per phase '%(P_m_max*10**-6 )\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Excitation emf = 3042.2721 V\n", + "Maximum load the motor can supply is 0.1503 MW per phase \n" + ] + } + ], + "prompt_number": 83 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |