Why a coarse mesh can be a good mesh
The following is a post I published on LinkedIn some weeks ago. Since it’s still topical, and I have new shiny figures to add, I thought why not share it here, too. Enjoy!
Right now, one of our summer employees (basically a paid intern for those unfamiliar with the term) is working on parametric FEA models for electrical machines in Matlab/Octave. In other words, how to generate a coarse mesh for a particular machine topology with arbitrary dimensions. An example can be seen in the header, of an induction motor (the discontinuous field lines are from a bug we have now fixed).
Rather than going through the boring details on implementation, let’s answer the bigger question:
Why? Why are we re-inventing the wheel of mesh generation? Why not just strap in gmsh, or do everything in FEMM instead?
Well, aside the limitations of FEMM, there are three main reasons:
They are faster
Well, first of all, most existing mesh generators produce quite dense meshes by default. This, obviously, translates to longer computation times. And even though 2D analysis is quite fast nowadays, the difference between a 5 ms and 50 ms Newton iteration does add up once the number of steps is increased. And it will be increased the very moment you want to analyze converter supply, or torque harmonics for instance.
And if you include some optimization as well, you are easily looking at an hours-versus-days comparison. On that scale, there really exists a highly nonlinear dependency between computation time and frustration. At least in my honest opinion.
They are good enough
Furthermore, even a coarse mesh is often accurate enough. Or the solution obtained with the said mesh is. You get my point. Of course, you would get some convergence (in the mathematical sense, towards a more accurate solution) by using a denser mesh. But, thanks to all the simplifying assumptions (hello, 3D) and uncertainties (“anisotropic” steel, for example) included, the agreement between FEA and measurements probably wouldn’t get that much better.
They can be better
And talking about theoretical accuracy, a custom-built mesh can occasionally be more accurate than another coarse mesh from a general-purpose mesh generator. Specifically, it seems that latter can create some some nonphysical harmonics in the source field distribution.
I wrote earlier in my blog about what I thought was an isolated phenomenon, only to be shown later that it was anything but. Anyways, the figure below shows the vector potential at two points on the rotor surface, with the rotor rotating at the synchronous speed and with the relative permeability of iron set to 1 (to obtain the source field). The DC component is correct, as is the ripple caused by the stator conductors.
However, the peaks every 180 degrees shouldn’t be there. There’s simply no real cause for them. Indeed, my current hypothesis is that a topologically-less-than-optimal (lovely word, btw) coarse mesh is causing them. Simply put, the two outermost teeth at the edges of the symmetry sector are mirror-symmetric around their axis, while the others are not. But I digress.
Conclusion
Coarse meshes are awesome, and we’re making them.
UPDATE:
I don’t really have much to add. The work’s still going on, nicely getting better and better. So, here’s a fluxplot of Tesla Model S60 motor (or something close to it, in any case).
Check out EMDtool - Electric Motor Design toolbox for Matlab.
Need help with electric motor design or design software? Let's get in touch - satisfaction guaranteed!
Good article as always! While I agree coarse mesh is usually accurate enough for torque prediction, care to comment on the accuracy of core loss calculation with such coarse mesh?
Thanks! Core losses might not be very accurate, at least if first-order elements are used. And by “accurate”, I mean “compared to what would be obtained with a very dense mesh, using the same model”. The accuracy of the loss model itself is whole another story, again.
Winding losses are also complicated, but in another way. Cage and damper windings can be treated easily enough, but any other kind (be it stranded or form-wound) usually requires quite a dense mesh due to the sheer number of conductors alone. Well, that’s why I spent four years writing a thesis about them 🙂