diff options
Diffstat (limited to 'ELECTRIC_MACHINERY_by_Fitzgerald_Kingsley_and_Umans/chapter2.ipynb')
-rwxr-xr-x | ELECTRIC_MACHINERY_by_Fitzgerald_Kingsley_and_Umans/chapter2.ipynb | 761 |
1 files changed, 761 insertions, 0 deletions
diff --git a/ELECTRIC_MACHINERY_by_Fitzgerald_Kingsley_and_Umans/chapter2.ipynb b/ELECTRIC_MACHINERY_by_Fitzgerald_Kingsley_and_Umans/chapter2.ipynb new file mode 100755 index 00000000..855c3bd6 --- /dev/null +++ b/ELECTRIC_MACHINERY_by_Fitzgerald_Kingsley_and_Umans/chapter2.ipynb @@ -0,0 +1,761 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2: Transformers" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.1, Page number: 63" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import math\n", + "\n", + "#Variable declaration\n", + "Pc=16 #Core loss at Bmax=1.5 T\n", + "VIrms=20 #Voltamperess for the core\n", + "Vrms=194 #Rms induced voltage(V)\n", + "\n", + "\n", + "#Calculation:\n", + "pf=Pc/VIrms\n", + "a=math.acos(pf)\n", + "I=VIrms/Vrms\n", + "Ic=I*pf\n", + "Im=I*math.fabs(math.sin(a))\n", + "\n", + "#Results:\n", + "print \"Power factor = \", round(pf,1),\"lagging\"\n", + "print \"The core-loss current,Ic =\", round(Ic,3), \"A rms\"\n", + "print \"The magnetising current,Im =\", round(Im,2),\"A rms\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power factor = 0.8 lagging\n", + "The core-loss current,Ic = 0.082 A rms\n", + "The magnetising current,Im = 0.06 A rms\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.2, Page number: 67" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "\n", + "#Variable declarations:\n", + "k=5 #turns ratio,N1/N2\n", + "Z2=1+4j #Impedance of secondary side(ohm)\n", + "Vp=120 #primary voltage(V)\n", + "\n", + "#Calculations:\n", + "Z2p=k**2*(Z2)\n", + "I=Vp/Z2p\n", + "Is=k*I\n", + "\n", + "#Results:\n", + "print \"Primary current:\",complex(round(I.real,2),round(I.imag,2)), \"A rms\"\n", + "print \"Current in the short:\",round(Is.real,2)+1j*round(Is.imag,2),\"A\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Primary current: (0.28-1.13j) A rms\n", + "Current in the short: (1.41-5.65j) A\n" + ] + } + ], + "prompt_number": 53 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.4, Page number: 74" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import cmath\n", + "\n", + "#Variable declaration:\n", + "R1=0.72 #Resistance at high voltage side(ohm)\n", + "R2=0.70 #Resistance at low voltage side(ohm)\n", + "X1=0.92 #Reactance at high voltage side(ohm)\n", + "X2=0.90 #Reactance at low voltage side(ohm)\n", + "Zq=632+4370j #Impedance of exciting circuit(ohm)\n", + "\n", + "#Calculations:\n", + "Req=R1+R2\n", + "Xeq=X1+X2 \n", + "Vcd=2400*Zq/(Zq+complex(R1,X1))\n", + "V=complex(round(Vcd.real,2),round(Vcd.imag,3))\n", + "\n", + "#Results:\n", + "print \"Req:\",Req,\"ohm\",\" and Xeq:\",Xeq,\"ohm\"\n", + "print \"Voltage at low voltage terminal:\",V,\"V\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Req: 1.42 ohm and Xeq: 1.82 ohm\n", + "Voltage at low voltage terminal: (2399.45+0.316j) V\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.5, Page number: 76" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import math\n", + "\n", + "#Variable declaration:\n", + "Zf=0.30+.160j #Impedance of feeder(ohm)\n", + "Zeq=1.42+3.42j #Equiv.impedance of transformer refd. to primary(ohm)\n", + "k=2400/240 #turns ratio\n", + "P=50000 #power rating of the transformer(VA)\n", + "Vs=2400 #sending end vltage of feeder(V)\n", + "\n", + "\n", + "\n", + "#Calculations:\n", + "I=P/2400 #Rated current(A)\n", + "theta=math.acos(0.80)\n", + "Zt=Zf+Zeq #combned impedance of feeder & transformer(ohm)\n", + "R=Zt.real\n", + "X=Zt.imag\n", + "bc=I*X*math.cos(theta)-I*R*math.sin(theta)\n", + "ab=I*R*math.cos(theta)+I*X*math.sin(theta)\n", + "Ob=(Vs**2-bc**2)**0.5\n", + "V2=Ob-ab\n", + "\n", + "\n", + "#Results:\n", + "print \"The voltage at the secondary terminals:\",round(V2/10,0),\"V\\n\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage at the secondary terminals: 233.0 V\n", + "\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.6, Page number: 80" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import cmath\n", + "import math\n", + "\n", + "#Variable declaration:\n", + "#short ckt test readings:\n", + "Vsc=48 #voltage(V)\n", + "Isc=20.8 #current(A)\n", + "Psc=617 #power(W)\n", + " \n", + "#Open ckt test readings:\n", + "Vs=240 #Voltage(V)\n", + "I=5.41 #current(A)\n", + "P=186 #power(W)\n", + "V2ph=2400 #voltage at full load at high voltage side(V)\n", + "pf=0.8 #lagging power factor at full load\n", + "\n", + "\n", + "\n", + "#Calculations:\n", + "theta=math.acos(pf)\n", + "Zeqh=Vsc/Isc #subscript h refers to high voltage side\n", + "Reqh=Psc/Isc**2\n", + "Xeqh=math.sqrt(Zeqh**2-Reqh**2)\n", + "Ih=50000/V2ph\n", + "Pout=50000*pf\n", + "Pwind=Ih**2*Reqh\n", + "Ptloss=P+Pwind\n", + "e=(1-Ptloss/(Ptloss+Pout))*100\n", + "Iph=(50000/2400)*complex(math.cos(theta),math.sin(-theta))\n", + "V1ph=V2ph+Iph*complex(Reqh,Xeqh)\n", + "r=(round(abs(V1ph),2)-2400)*100/V2ph\n", + "\n", + "\n", + "#Results:\n", + "print \"The efficiency of the transformer:\",round(e,0),\"%\"\n", + "print \"Volatge Regulation:\",round(r,2),\"%\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The efficiency of the transformer: 98.0 %\n", + "Volatge Regulation: 1.94 %\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.7, Page number: 82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "\n", + "#Varaible declaration:\n", + "Vx=2400 #Voltage at low voltage side(V)\n", + "Vbc=2400 #Voltage across branch bc(V)\n", + "Vab=240 #Voltage induced in winding ab(V)\n", + "Pl=803 #transformer losses(W)\n", + "pf=0.8 #Power factor of the transformer\n", + "\n", + "#Calculations:\n", + "Vh=Vab+Vbc\n", + "Ih=50000/Vab\n", + "KVA=Vh*Ih/1000 #Kva rating\n", + "P=pf*550000\n", + "e=(1-Pl/(P+Pl))*100\n", + "\n", + "\n", + "#Results:\n", + "print \"Voltage ratings, Vh:\",Vh,\"V \", \"& Vx:\",Vx,\"V\"\n", + "print \"KVA rating as an autotransformer:\",KVA,\"KVA\"\n", + "print \"full-load efficiency:\", round(e,2),\"%\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage ratings, Vh: 2640 V & Vx: 2400 V\n", + "KVA rating as an autotransformer: 550.0 KVA\n", + "full-load efficiency: 99.82 %\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.8, Page number: 87" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import math\n", + "\n", + "#Variable declaration:\n", + "Vl1=4160 #line-to-line voltage at feeder's sending end(V)\n", + "Zf=0.30+.160j #Impedance of feeder(ohm)\n", + "Zeq=1.42+3.42j #Equiv.impedance of transformer refd. to primary(ohm)\n", + "k=2400/240 #turns ratio\n", + "P=50000 #power rating of the transformer(VA)\n", + "Vs=2400 #sending end vltage of feeder(V)\n", + "\n", + "\n", + "\n", + "#Calculation:\n", + "#this problem can be treated on a single phase basis,\n", + "#and whole problem is similar to Ex 2.5.\n", + "\n", + "I=P/2400 #Rated current(A)\n", + "theta=math.acos(0.80)\n", + "Zt=Zf+Zeq #combned impedance of feeder & transformer(ohm)\n", + "R=Zt.real\n", + "X=Zt.imag\n", + "bc=I*X*math.cos(theta)-I*R*math.sin(theta)\n", + "ab=I*R*math.cos(theta)+I*X*math.sin(theta)\n", + "Ob=(Vs**2-bc**2)**0.5\n", + "V2=Ob-ab\n", + "Vload=V2/k\n", + "\n", + "#Results:\n", + "print \"The line to line voltage:\",round(Vload,0),\"V line-to-line\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The line to line voltage: 233.0 V line-to-line\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.9, Page number: 89" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import math\n", + "import cmath\n", + "\n", + "#Variable decclaration:\n", + "#All resistances, reactances, & impedances are on per phase basis\n", + "Req=1.42 #Series resist. of del-del transformer referred to 2400v side(ohm)\n", + "Xeq=1.82 #Series react. of del-del transformer referred to 2400v side(ohm)\n", + "Zs=0.17+0.92j #Equiv impedance of sending end transformer(ohm)\n", + "Xf=0.8j #Reactance of the feeder(ohm)\n", + "Vf=2400 #Voltage of the feeder(V)\n", + "k=10 #turns ratio(Vp/Vs)\n", + "\n", + "\n", + "#Calculations:\n", + "Zt=(complex(Req,Xeq)/3)+Zs+Xf\n", + "Ztot=complex(round(Zt.real,2),round(Zt.imag,2))\n", + "If=math.floor(Vf/(math.sqrt(3))/round(abs(Ztot),2))\n", + "I1=If/math.sqrt(3)\n", + "I2=I1*k\n", + "Ic=I2*math.sqrt(3)\n", + "\n", + "\n", + "#Results:\n", + "print \"Short circuit current in the 2400 feeder, per phase wires:\",round(Ic,1),\"A\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Short circuit current in the 2400 feeder, per phase wires: 5720.0 A\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.10, Page number: 92" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import cmath\n", + "from math import *\n", + "\n", + "#Variable declaration:\n", + "X1=143 #Reactance of primary(ohm)\n", + "X21=164 #Reactance of secondary ref. to primary(ohm)\n", + "Xm=163*10**3 #Reactance of magnetising ckt(ohm)\n", + "R1=128 #Resistance of primary(ohm)\n", + "R21=141 #Resistane of secondary ref. to primary(ohm)\n", + "k=20 #turns ratio(2400/120)\n", + "V1=2400 #primary voltage(V)\n", + "\n", + "\n", + "\n", + "#Calculations:\n", + "V2=(V1/k)*complex(0,Xm)/complex(R1,X1+Xm)\n", + "mag=abs(V2)\n", + "ph=degrees(cmath.phase(V2))\n", + "\n", + "\n", + "#Results:\n", + "print \"Magnitude of V2:\",round(mag,2),\"V\"\n", + "print \"Phase of V2:\",round(ph,3),\"degrees\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Magnitude of V2: 119.89 V\n", + "Phase of V2: 0.045 degrees\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.11, Page number: 94" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import cmath\n", + "\n", + "\n", + "#variable declaration:\n", + "X1=44.8*10**-6 #Reactance of the primary(ohm)\n", + "R1=10.3*10**-6 #Resistance of the primary(ohm)\n", + "X21=54.3*10**-6 #Reactance of the secondary refd. to primary(ohm)\n", + "R21=9.6*10**-6 #Resistance of secondary ref. to primary(ohm)\n", + "Xm=17.7*10**-3 #Reactance of the magnetising ckt(ohm)\n", + "k=5/800 #turms ratio(I2/I1)\n", + "Zl=2.5+0j #Impedance ofthe load(ohm)\n", + "I1=800 #primary current(A)\n", + "\n", + "#Calculations:\n", + "Zp=k**2*Zl\n", + "I2=I1*k*Xm*1j/(Zp+R21+(X21+Xm)*1j)\n", + "phase=cmath.phase(I2)\n", + "\n", + "\n", + "#Results:\n", + "print \"Magnitude of current:\",round(abs(I2),2),\"A\"\n", + "print \"Phase of the current:\",round(math.degrees(phase),3),\"degrees\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Magnitude of current: 4.98 A\n", + "Phase of the current: 0.346 degrees\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.12, Page number: 97" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import math\n", + "\n", + "#Variable declaration:\n", + "XL=0.040 #Reactance at l.v side(ohm)\n", + "XH=3.75 #Reactance at h.v side(ohm)\n", + "Xm=114 #Magnetising reactance(ohm)\n", + "RL=0.76*10**-3 #Resistance at l.v.side(ohm)\n", + "RH=0.085 #Resistance at l.v.side(ohm)\n", + "VA_base=100*10**6 #base VA\n", + "V_base=7.97*10**3 #base voltage(V)\n", + "\n", + "\n", + "\n", + "#Calculations:\n", + "#for l.v side\n", + "VA_base=100*10**6 #base VA\n", + "V_base=7.97*10**3 #base voltage(V)\n", + "Rbase1=Xbase1=V_base**2/VA_base\n", + "\n", + "#for h.v side:\n", + "VA_base=100*10**6 #base VA\n", + "V_base=79.7*10**3 #base voltage(V)\n", + "Rbase2=Xbase2=V_base**2/VA_base\n", + "\n", + "XL_pu=XL/Xbase1\n", + "XH_pu=XH/Xbase2\n", + "Xm_pu=Xm/Xbase1\n", + "RL_pu=RL/Rbase1\n", + "RH_pu=RH/Rbase2\n", + "K_pu=1 #per unit utrns ratio\n", + "\n", + "#Results:\n", + "print \"The per unit parameters are:\"\n", + "print \"XL_pu =\",round(XL_pu,3),\"p.u\"\n", + "print \"XH_pu =\",round(XH_pu,4),\"p.u\"\n", + "print \"Xm_pu =\",math.ceil(Xm_pu),\"p.u\"\n", + "print \"RL_pu =\",round(RL_pu,4),\"p.u\"\n", + "print \"XL_pu =\",round(RH_pu,4),\"p.u\"\n", + "print \"Turns ratio =\",K_pu,\"p.u\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The per unit parameters are:\n", + "XL_pu = 0.063 p.u\n", + "XH_pu = 0.059 p.u\n", + "Xm_pu = 180.0 p.u\n", + "RL_pu = 0.0012 p.u\n", + "XL_pu = 0.0013 p.u\n", + "Turns ratio = 1 p.u\n" + ] + } + ], + "prompt_number": 59 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.13, Page number: 98" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import cmath\n", + "\n", + "\n", + "#Variable declaration:\n", + "Ic=5.41 #Exciting current ref. to low volt. side(A)\n", + "k=10 #turns ratio(N1/N2=2400/240)\n", + "Vbh=2400 #base voltage at primary side(V)\n", + "Vbl=240 #base voltage at secondary side(V)\n", + "Ibh=20.8 #base current at primary side(A)\n", + "Ibl=208 #base current at secondary side(A)\n", + "Z=1.42+1.82j #Equiv.impedance ref.to high voltage side(ohm)\n", + "\n", + "\n", + "\n", + "#Calculations:\n", + "Zbh=Vbh/Ibh\n", + "Zbl=Vbl/Ibl\n", + "Icl=Ic/Ibl\n", + "Ich=Ic/(Ibh*k)\n", + "Zl=Z/(k**2*Zbl)\n", + "Zh=Z/Zbh\n", + "\n", + "\n", + "#Results:\n", + "print \"Per unit exciting current on low volt. sides:\",round(Icl,3,),\"A\" \n", + "print \"Per unit exciting current on high volt. sides:\",round(Ich,3),\"A\"\n", + "print \"per unit equiv.impedance at low volt. sides:\",round(Zl.real,4)+round(Zl.imag,4)*1j,\"ohm\"\n", + "print \"per unit equiv.impedance at high voltage sides:\",round(Zh.real,4)+round(Zh.imag,4)*1j,\"ohm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Per unit exciting current on low volt. sides: 0.026 A\n", + "Per unit exciting current on high volt. sides: 0.026 A\n", + "per unit equiv.impedance at low volt. sides: (0.0123+0.0158j) ohm\n", + "per unit equiv.impedance at high voltage sides: (0.0123+0.0158j) ohm\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.14, Page number: 100" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "from math import *\n", + "\n", + "\n", + "#Variable declaration:\n", + "Vb=24000 #Base voltage of secondary of sending end transformer(V) \n", + "Z=0.17+0.92j #Impedance of sending end transformer ref. to 2400V side(ohm)\n", + "P=150 #Power rating of the transformer(KVA)\n", + "V=2400 #Primary voltage of sending end transformer(v)\n", + "Ztot=0.64+2.33j #Total series impedance(ohm)\n", + "\n", + "#Calculations:\n", + "Zb=V**2/(P*10**3)\n", + "Ztotb=Ztot/Zb\n", + "Vsb=1 #Vs in terms of per unit values\n", + "Isc=Vsb/abs(Ztotb) #Short current in per unit values(A)\n", + "Ib1=P*10**3/(sqrt(3)*2400) #base current of the feeder at 2400V side(A)\n", + "If=Ib1*Isc\n", + "Ib2=P*10**3/(sqrt(3)*240)\n", + "Iscs=Isc*Ib2 #short ckt current at 2400V afeeder side (A)\n", + "\n", + "#Results:\n", + "print \"Short circuit current in 2400 feeder:\",round(Iscs/10**3,2),\"KA\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Short circuit current in 2400 feeder: 5.73 KA\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.15, Page number: 102" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "\n", + "#Variable declaration:\n", + "P=250*10**3 #power rating of transformer(KVA)\n", + "Vp=2400 #primary volatge(V)\n", + "Vs=460 #secondary voltage(V)\n", + "Pb=100*10**3 #new base power of transformer(KVA)\n", + "Vb=460 #new base voltage(V)\n", + "Z=0.026+0.12j #series impedance on its own base(ohm)\n", + "Vl=438 #load voltage(V)\n", + "Pl=95*10**3 #power drawn by the load(kW)\n", + "\n", + "#Calculations:\n", + "Zbo=Vs**2/P #base impedance for the transformer(ohm)\n", + "Zbn=Vb**2/Pb #base impedance for the transformer at 100KVA base(ohm)\n", + "Zpn=Z*Zbo/Zbn #base impedance at 100KVA base(ohm)\n", + "Vpl=Vl/Vb #per unit load voltage(V)\n", + "Ppl=Pl/Pb #per unit load power\n", + "Ipl=Ppl/Vpl #per unit load current(A)\n", + "Vpp=Vpl+Ipl*Zpn #high side voltage of the transformer(V) \n", + "\n", + "\n", + "#Results:\n", + "print \"The high side voltage:\",round(abs(Vpp*Vp),0),\"V\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The high side voltage: 2313.0 V\n" + ] + } + ], + "prompt_number": 14 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |