Bericht über FEMAG 3D Dr.-Ing. Bogdan Funieru Würzburg, 21 October 2008 Dr.-Ing. B. Funieru 1
Contents Motivation and Concept LUA Script Extrusion Control Periodic Boundary Condition FEMAG 2D 3D Results Comparison Winding Overhangs Mesh Next Steps Dr.-Ing. B. Funieru 2
Motivation and Concept for FEMAG 3D FEMAG 3D mesh FEMAG 2D mesh FEMAG 2D based regarding Mesh, Materials Electrical machines specific methods Low Cost Programming in University Simple use for electrical machines Dr.-Ing. B. Funieru 3
FEMAG 3D Modules Overview DXF, IGES, STEP CAD Electrical machine specific input Coils, Materials, Windings Gmsh Mesh generation FEMAG 2D GetDP Models for the equations system FE equations solve Field Forces Inductivity General Post-Processing Gmsh Electrical machine specific Post-Processing Losses, Winding Inductivity, EMF Dr.-Ing. B. Funieru 4
Contents Motivation and Concept LUA Script Extrusion Control Periodic Boundary Condition FEMAG 2D 3D Results Comparison Winding Overhangs Mesh Next Steps Dr.-Ing. B. Funieru 5
Lua - Script Lua Script Motivation Flexible interpreter, freeware and easy to implement into a C or C++ code. Allows the control of a software Included in FEMAG 2D Application in FEMAG 3D Common Code with FEMAG 2D Use of common script files for the two Programs. Dr.-Ing. B. Funieru 6
Lua Script Actual Status Status Implemented for all existing FEMAG 3D functions Not yet connected to FEMAG 2D Script Allows two way communication with the FEMAG 3D classes Existing Functions: File management: exportfromfemag2d load2dmesh Solver: solve General: pause Post processing/ Viewing: showmshfile hardcopymshfile Mesh management: basicextrude showmeshstatus Control variables: mesh2d{nrnodes,nrelements,nrsuperelements,nrboundarynodes} mesh3d{nrnodes,nrelements,nrsuperelements,nrboundarynodes} superelements2d[i]{id,mur,br1,br2,bhid,kappa,densj,bestextrusion, nrmeshregions, Dr.-Ing. B. Funieru 7
Contents Motivation and Concept LUA Script Extrusion Control Periodic Boundary Condition FEMAG 2D 3D Results Comparison Winding Overhangs Mesh Next Steps Dr.-Ing. B. Funieru 8
Example Extrusion Control Done with the control variables. superelements2d[i]{id,mur,br1,br2,bhid,kappa,densj,bestextrusion,nrmeshregions, seregion[q],dzregion[q],nrsegmentsperregion[q],regionskewing[q],regionposition[q], regioninitialangle[q]}, 1<=i<=nrsuperelements, 1<=q<=superelements2d[i].nrmeshregions Coil SE 1 SE 2 SE 3 SE 4 Air SE 5 SE 6 y x Fe superelements2d[1]{nrmeshregions=3, z seregion={1,4,1},dzregion={1mm,2mm,3mm}, Air nrsegmentsperregion={2,4,4},regionskewing={0,0,0}, regionposition{0,1mm,3mm},regioninitialangle={0,0,0}} superelements2d[3]{nrmeshregions=3, seregion={3,3,3},dzregion={1mm,2mm,3mm}, nrsegmentsperregion={2,4,4},regionskewing={0,0,0}, regionposition{0,1mm,3mm},regioninitialangle={0,0,0}} y x Coil Fe Dr.-Ing. B. Funieru 9
Lua Code Example Extrusion Control Code --extrude control example exportfromfemag2d("mesh7.a7","ec.msh"); load2dmesh("ec.msh"); generatenodekey2d(); generateelementkey2d(); calculateelementminmaxedges2d(); calculateelementareas2d(); set2dnodessearchpattern(); splitsuperelements(); calculateedgenr(); generateedgeslist(); generatenodechains(); locateseneighbors(); generateboundaryelements2d(); for i=1,mesh2d.nrsuperelements,1 do superelements2d[i].dzregion[1]=0.001; superelements2d[i].nrsegmentsperregion[1]=2; superelements2d[i].dzregion[2]=0.002; superelements2d[i].nrsegmentsperregion[2]=4; superelements2d[i].regionposition[2]=0.001; superelements2d[i].regionskewing[2]=0; superelements2d[i].regioninitialangle[2]=0; superelements2d[i].nrmeshregions=3; if i~=3 then superelements2d[i].seregion[2]=4; else superelements2d[i].seregion[2]=3; end superelements2d[i].dzregion[3]=0.003; superelements2d[i]. nrsegmentsperregion[3]=4; superelements2d[i].regionposition[3]=0.003; superelements2d[i].seregion[3]=i; superelements2d[i].regionskewing[3]=0; superelements2d[i].regioninitialangle[3]=0; end extrude(); save3dmesh("ec1.msh"); showmshfile("ec1.msh",1024,780,0,0,0); Dr.-Ing. B. Funieru 10
Contents Motivation and Concept LUA Script Extrusion Control Periodic Boundary Condition FEMAG 2D 3D Results Comparison Winding Overhangs Mesh Next Steps Dr.-Ing. B. Funieru 11
Examples: Periodic Boundary Conditions Carthesian Coordinates Example 1: Slotless linear motor at no load FEMAG 2D mesh Periodical Positive Boundary Conditions y x FEMAG 3D A z y z x FEMAG 2D field lines A z [T m] Dr.-Ing. B. Funieru 12
r θ Examples: Periodic Boundary Conditions Cylindrical Coordinates Example 2: Slotless PM machine FEMAG 2D mesh Periodical Negative Boundary Conditions θ z r FEMAG 3D A z A z [T m] r θ FEMAG 2D field lines FEMAG 3D B B [T] θ z r Dr.-Ing. B. Funieru 13
What works until now? 2D as 3D 3D Winding type 1: Tooth coil FEMAG getdp ANSYS getdp Not completely tested Dr.-Ing. B. Funieru 14
Contents Motivation and Concept LUA Script Extrusion Control Periodic Boundary Condition FEMAG 2D 3D Results Comparison Winding Overhangs Mesh Next Steps Dr.-Ing. B. Funieru 15
Comparison FEMAG 2D 3D Example: EBM Motor 2D Outer rotor PM Machine (Magnets parallel magnetized) FEMAG 2D Mesh (nodes: 9707, elements: 15540) FEMAG 3D Mesh (nodes: 10677, elements: 196080, layers: 10) 3D CAD Drawing (EBM) Dr.-Ing. B. Funieru 16
Comparison of the B and of the flux lines FEMAG 2D B FEMAG 3D B [T] FEMAG 2D Flux lines FEMAG 3D Mesh A z [T m] Dr.-Ing. B. Funieru 17
Comparison of A z on a path in the middle of the air gap Dr.-Ing. B. Funieru 18
Comparison of B r and B θ on a path in the middle of the air gap Dr.-Ing. B. Funieru 19
Contents Motivation and Concept LUA Script Extrusion Control Periodic Boundary Condition FEMAG 2D 3D Results Comparison Winding Overhangs Mesh Next Steps Dr.-Ing. B. Funieru 20
Winding Overhang Mesh Mesh without air Iron Coil Example: Linear machine stator with tooth wound coil without secondary Meshed air Dr.-Ing. B. Funieru 21
Winding Overhang Mesh - Parameters Example: Superelements: 1, 2, 5, 6 Iron (μ r = 100) 3 Air 4 Copper (J = 5 A/mm 2 ) 7 Copper (J = 5 A/mm 2 ) FEMAG 2D Model Extrusion path is defined via 4 vectors: dx, dy, dz, drotation which give the distance between neighboring nodes on the extrusion path. dx 1,dy 1,dz 1 dx n,dy n,dz n Extrusion path Dr.-Ing. B. Funieru 22
Winding Overhang Mesh Commands Functions for generating the extrusion path (arcs and lines): FEMAG 2D Model Script commands: endwinding(se coil 1,zposition, dx, dy, dz, drotation); meshoverhangsair(bc SE,Outer end winding elements,depth z-direction, Air SE,SE coil 1,SE coil2); pathaddline(x1,y1,z1,x2,y2,z2, skewing,nrsegments) pathaddarc(x1,y1,z1,x2,y2,z2,xcen, ycen,zcen,skewing,nrsegments) Dr.-Ing. B. Funieru 23
Winding Overhang Mesh Vector Plot B Method B Method A gives similar results B T B T Vector plot of B for an infinitely long model (No end effect) Vector plot of B for a model with end winding model (Visible end effect) Dr.-Ing. B. Funieru 24
Winding Overhang Mesh Vector Plot B and H Method B Method A gives similar results B T H A/m Vector plots of B and H for a model with end winding model (Visible end effect) Dr.-Ing. B. Funieru 25
Winding Overhang Mesh Comparison with ANSYS ANSYS 3D Model Display path for B Dr.-Ing. B. Funieru 26
Winding Overhang Mesh Method B: B x, B y, B z on the path in air Comparison with a similar 3D ANSYS model Dr.-Ing. B. Funieru 27
Contents Motivation and Concept LUA Script Extrusion Control Periodic Boundary Condition FEMAG 2D 3D Results Comparison Winding Overhangs Mesh Next Steps Dr.-Ing. B. Funieru 28
Next Steps Imediate: Finish testing for winding overhang generation Implementation of skewing Export to ANSYS and/or Maxwell Next year: Implementation of Rotation (Translation) Harmonic and Transient simulation E-Machines specific input (.poc files, basic functions for mask geometry generation). Results validation (analytic, measurements) Dr.-Ing. B. Funieru 29
Thank you very much for your attention! Dr.-Ing. B. Funieru 30