Asynchronous Startup of a Salient Pole Synchronous Generator A View on Operas Conductors (and other Features) VF EUGM 2015, Dr. G. Maier Contents Pumped Storage plants – topologies Impact of Asynchronous Startup on machine design FE Model Features FE Model Symmetry Circuits Controlling via motion.comi Further features to include in circuits Results 2 www.andritz.com Pumped Storage - Topologies One question is: How to bring up the pump to synchronous speed … by hydraulic means T MG MG HC C P FC PM CL MG MG MG MG PT PT PT PT Asyn Startup T … by electrical means ST ST P Only a few illustrational examples shown. No claim of completeness. 3 www.andritz.com MG C HC T P PT ST FC PM CL Motor – Generator Clutch Hydraulic converter Turbine Pump Pump-Turbine Starting turbine Frequency converter Pony motor Current limiter Pumped Storage – Topologies II Shown arrangements differ by 4 Operational flexibility power change rate / switch over time (approx. 40 … 700s) Necessity of pump dewatering Necessity of standstill between turbine and pump operation Controllability of pump power Complexity of the plant Number of hydraulic & electric machines and their necessary rating Power electronics involved Waterway Arrangement, size & complexity of surge tanks Shaft length Building volume / excavation volume Cost Examples for pumped storage with asynchronous startup: La Rance (Tidal, France) Lower Olt (Romania) www.andritz.com Interesting. But what does this have to do with Opera? 5 www.andritz.com Interesting. But what does this have to do with Opera? Asynchronous startup can yield a rather simple arrangement, but possesses an untypical loading of a salient pole machines damper. E/M engineers will have to do FE. 6 www.andritz.com Impact of Asynchronous Startup on machine design Asynchronous startup – especially under mechanic load – causes a high load for the damper winding Typical items of interest (for the electric engineer) Startup time Damper bar currents Damper bar temperatures (considering skin effect) Grid disturbances (flicker, voltage dip) Further on for the mechanical engineer Thermally induced stresses and Deformations Possible „screws“ to achieve the desired performance are e.g. stator winding, pole shoe contour, damper slot geometry, damper materials, damper bar distribution on the pole shoe,… in all parts of the damper system Today, FE is the typically chosen tool Time to calculate: 10 … (60s) … 120s depending on topology and conditions Therefore there’s a strong need to keep it 2D. 7 www.andritz.com FE Model Features Stator laminations Stator bars (filamentary) Pole shoe Opera circuits including external elements for: Stator winding (connected to grid) Field winding Damper winding Damper winding (eddy current) Field winding (filamentary or eddy current) Pole body 8 www.andritz.com FE Model Symmetry Long “time to solve” needs a fast and efficient model. To limit the necessary number of poles in the FE model, substituting a fractional slot stator winding by a integer slot one can be considered. It has to be noted, that effects connected to the stator winding scheme (e.g. pull up torques) will appear differently in the model than in reality. If these are of interest, a model using the exact representation of the stator winding has to be used. For integer slot stator windings one pole in the FE model is sufficient, although the circuit connections across the (negative) symmetry boundary have to be set up with special care. 9 Verification especially of the damper circuits against a model comprising 2 poles is recommended. www.andritz.com 0 Damper Circuits Elements representing the bar to bar connections of both sides Portion of the bars outside the 2D model Negative symmetry connection 6 1 2 3 4 5 6 Circuits as entered in Opera Opera conductors 10 www.andritz.com Damper Circuits Elements representing the bar to bar connections of both sides Portion of the bars outside the 2D model Negative symmetry connection 6 1 2 3 4 5 6 Circuits as entered in Opera Opera conductors Short circuit of one conductor 11 www.andritz.com Damper Circuits II But: The short circuit of bar 1 cannot be observed in the results. All bars show reasonable current amplitudes Phase shift between bar currents is as expected Open circuit bar voltages (ring with very high resistivity) show a similar image. No bar stands out of the crowd, phase shifts as expected. 0 0 What‘s wrong?! 12 www.andritz.com Damper Circuits III Elements representing the bar to bar connections of one side Negative symmetry connection This schematic does not have one bar shorted. Calculated results can be explained is 3different to4 the one 5 6 But: 1 The schematic 2 entered in Operas circuits! Portion of the bars outside the 2D model 6 Opera conductors Circuits as entered in Opera Elements representing the bar to bar connections of one side Be careful when translating Operas circuits into schematics 13 www.andritz.com Motion.comi For analyzing synchronous salient pole machines we use a home „grown“ pre- and post processor for Building the model Setting up & controlling the analysis Post processing & setting up the next simulation Evaluating the results & report generation For easiest integration of some „special features“ of the built up asynchronous startup models in the above environment, it would have been beneficial to have some basic result evaluations available right at the end of the simulation. COOL! Motion.comi is a comi getting called at every time step Intended for calculating #accel for mechanically coupled models (e.g. motor – shaft – load) During my studies it turned out to be a bit like a 14 www.andritz.com ? (of course full of ) Motion.comi II Motion.comi behaviour the user might not expect Gets called several times before the solver calculates timestep 1 Section from .res file ... Unlabelled and Default Drives will use: DEFAULT: DC drive Called at the very beginning of the run (when the model / circuit data is set up) Running command file motion.comi called Value of ttime: 0.0 motion.comi called Value of ttime: 0.0 Warning: Variable #ACCEL has not been defined in the comi file. Using value from simple coupling. Warning: Variable #ACCEL2 has not been defined in the comi file. Using zero. Number of nodes = 11033, number of elements= 8314 Number of fixed Potential nodes = 28 Motion.comi: $displayline 'motion.comi called‘ $displayline 'Value of ttime: %REAL(ttime)' ... Checking Circuit data: No errors found. CIRCUIT DATA USED FOR THIS SOLUTION Circuit 1:... 15 www.andritz.com Motion.comi III Section from .res file Might get called multiple times during one timestep Can get called with ttime not monotonic ascending (e.g. adaptive timestepping) 16 ... Converged in 1 iterations to 5.0E-05 (Mu change=2.33882E-16) motion.comi called Value of ttime: 7.08339E-03 motion.comi called Value of ttime: 6.66672E-03 motion.comi called Value of ttime: 6.80561E-03 motion.comi called Value of ttime: 6.80561E-03 motion.comi called Value of ttime: 6.875055E-03 motion.comi called Value of ttime: 7.08339E-03 motion.comi called Value of ttime: 7.08339E-03 motion.comi called Value of ttime: 6.66672E-03 motion.comi called Value of ttime: 6.80561E-03 motion.comi called Value of ttime: 6.80561E-03 motion.comi called Value of ttime: 6.875055E-03 motion.comi called Value of ttime: 7.08339E-03 motion.comi called Value of ttime: 7.08339E-03 Converged in 1 iterations to 5.0E-05 (Mu change=2.33882E-16) www.andritz.com Motion.comi: $displayline 'motion.comi called‘ $displayline 'Value of ttime: %REAL(ttime)' ... Motion.comi IV Section from .res file Loops might show unexpected behaviour Variables can get reset Motion.comi: $displayline 'motion.comi called‘ ... $displayline 'Value of ttime: %REAL(ttime)' motion.comi called ... Value of ttime: 8.3334E-03 $if ((#tmax-0)*#dt+#t0-ttime)<=1E-6 Opening file for reading: test.txt $if #p_berechnet EQ 0 25 items read from file $ open 8 test.txt read Value of #p_ber: 0.0 $ read 8 -print Value of #Rt #Rid4: 4.1667E-04 4.349108E-07 ... $cons #loop 1 Value of #Rt #Rid4: 8.3334E-03 2.582376E-05 Value of #p_ber: 0.0 $ errorhandler no Command file error 150 at line 47. $while #loop $ end while $displayline 'Value of #p_ber: %REAL(#p_berechnet)' BreakError: control exited a loop $ read 8 #Rt #Rid4 ... -print File closed $ breakerror Value of #p_ber: 1.0 $displayline 'Value of #Rt #Rid4: %REAL(#Rt) %REAL(#Rid4)' ... $ end while motion.comi called $ errorhandler yes Value of ttime: 8.3334E-03 / Converged in 1 iterations to 5.0E-05 (Mu change=2.24243E-16) $ close 8 ... $displayline 'File closed' motion.comi called $cons #p_berechnet 1 Value of ttime: 8.3334E-03 $displayline 'Value of #p_ber: %REAL(#p_berechnet)' Opening file for reading: test.txt P_berechnet got reset! $end if 25 items read from file (permitting execution of the rest) $end if Value of #p_ber: 0.0 Value of #Rt #Rid4: 4.1667E-04 4.349108E-07 File closed Value of #p_ber: 1.0 ... Loop reading the file gets executed only once! (only first line; no breakerror) 17 www.andritz.com Motion comi – (my) conclusion When using motion.comi for anything „off label“ (for the „on label“ use see the 2D reference) Use $displayline command in motion.comi for validation of correct execution + debugging (especially loops + if-clauses) Study the .res file carefully Do not use code, that relies on monotonic ascending ttime or a defined call sequence of the motion.comi Judge results critically and carefully In this case, simulations finally had to be done +/- completely outside of our processing environment. New comi file for controlling simulation setup, postprocessing, result evaluation + restarts. Motion.comi used only to a very minor extent. 18 www.andritz.com Further features – saturable reactors in circuits Saturable reactors change their value typically depending on the current. Opera permits functional inductances and capacitances in circuits. Different from resistors, the actual value used is only updated at restarts (NOT every timestep / substep) Further on, trying to find, what value has actually been used ( debugging), yields different results, depending on where you look. „Edit circuit“ shows the name of the function „List circuit“ shows a value (in henry), but this is updated according to the function Consulting the “CIRCUIT DATA” section of the .res file seems most reliable. The saturation characteristic to be used for the reactor needs to take into account the way the inductance value will be computed (e.g using peak current data or using rms current data); Nevertheless, it will be a +/- severe (depending on the application) simplification. A more accurate possibility would be the inclusion via functional drives, although at the price of a higher complexity ( debugging) 19 $para #u +/-L(#some_current) * some_didt www.andritz.com check the sign; equation to use has to follow the circuit topology Results (Simple) Thermal model in the control routine Functional conductivity of the damper bars Taking the temperature calculated at the end of the previous run Changing skin effect with changing conductivity considered Especially interesting for materials with (comparatively) high TC 0 20 0 www.andritz.com Any Questions? 21 www.andritz.com