[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"nonlinear time harmonic" solver again.



The nonlinear time harmonic solver is something that I've been threatening to try for a long time.  After thinking about it for quite a while, I've coded it up and put it into a version of the program that I'm calling 3.3 alpha1.  If anyone is interested in trying it out (e.g. people interested in analyzing induction motors with highly saturated "closed" rotor slot), I've put the executable up at: http://femm.berlios.de/femm33bin.exe
and the source at: http://femm.berlios.de/femm33src.zip
This formulation is really something of a kludge (the way that hysteresis and eddy currents in nonlinear laminations are handled, the hysteresis loss vs. flux amplitude relationship that is assumed, the method of obtaining an "effective" B-H curve for harmonic problems, the iterative scheme that is used in solving the problem, etc., etc.), so if anyone is interested in talking about the theory behind it (and possibly improving it), that would be great.  If you use the 3.3 version, you will get a warning if you analyze a problem and then try to load it back into the 3.2 version preprocessor--this is because some extra information has been defined in the 3.3 file format (to accommodate the definition of anisotropic hysteresis lag, which could be useful for proximity effect loss calcuations) .  You can more or less ignore the warning--nothing bad will happen by trading a *.fem file between v. 3.2 and the 3.3 alpha.

I've also put an updated version of the 3.2 code on the website.  (I actually put up a different updated version this morning, but I'd somehow messed up the nonlinear axisymmetric solver.  If you downloaded it, get the new 03Dec02 version off of the website and ditch the one labeled 28Nov02--sorry about that....).  The updated 3.2 version contains a fix for the crash pointed out by guyhm2002 that could occur during the solution of harmonic problems (Thanks again Guy!).  It also contains an extended dxf interpreter that now understands how to parse lwpolyline entities, which means that most ascii r14 dxf files ought to now be readable (Many thanks to Stefan Nilsson for helping me to look into the dxf thing).  There are also fixes for a couple of bugs that I ran across while I was working on the 3.3 alpha version.  For nonlinear planar problems where laminations are used with a LamFill < 1, the solver took account of the reduction in lamination cross-section twice, making the lamination appear slightly more reluctant than it should be.  This is now fixed.  There were also mistakes in the implementation of the prescribed A boundary condition in harmonic problems, where it could apply the wrong phase to a boundary if a non-zero phase angle was specified.  This is also now fixed.

The 3.3 alpha also contains fixes for some other stuff that had been bugging me.  The Newton iteration for nonlinear problems is now a little bit smarter, so it should not get derailed by B-H curves with a significant initial permeability region any more. (At least, I haven't created one yet that's made it hang, which might not be saying that much.)  I've changed the material properties dialog a little bit so that it might be more intuitive.  I've fixed the preprocessor dialogs so that they don't use bitmaps to draw Greek letters any more--this could look ugly, depending on what color scheme you are running on your machine.  I've changed the file format for the materials library so that it stores materials in the same format as in the *.fem files.  The 3.3 version also contains all fixes described above that are in the update of 3.2.

In both the updated 3.2 and 3.3a1 versions, I've streamlined the source code distributions.  All the different femm components are now collected into one workspace--even the LaTeX manual is included as a project in the workspace. All paths internal to the code have been made relative so that you can unpack the source distribution anywhere and get it to compile OK without rooting around inside the code.  Because all of the components are collected into a single workspace, you can now build the entire executable distribution (including the manual, if you have MiKTeX installed) with one command (i.e. Build | Batch Build | Rebuild All), and the executable are collected into collective debug and release directories, rather than being scattered through local debug and release directories for each project.

Dave.
-- 
David Meeker
dmeeker@xxxxxxxx
http://femm.berlios.de/dmeeker