FEMM 21Apr2019


David Meeker
dmeeker@ieee.org

The distribution also includes the OctaveFEMM, SciFEMM, and MathFEMM toolboxes for interfacing Octave/Matlab, Scilab, and Mathematica to FEMM. See the documentation in FEMM 4.2 folder of your Start menu for more details.

21Apr2019

* Start from previous solution for magnetics problems. To use this, specify a file name in "Previous Solution" edit box in the Problem Definition dialog. Specify the "Prev Type" to be "None". This works if the mesh has not changed from the last solution, for example, rotating problems using the "sliding band" boundary connecting the rotor and stator. These problems often involve consideration of a sequence of problems with slightly different rotor angles and currents. The "sliding band" approach lets the rotor move without modifying the mesh.
* Updated materials library for heat flow problems (thanks to Daniel Gheorghe). A detailed explanation of the updated values and their sources is at the SpecificHeat page.
* Updated hard magnetic materials in magnetics materials library (thanks to Mike Devine). Includes new definitions for Sintered NdFeB, Bonded NdFeB, Sintered SmCo, and Alnico. See the explanatory web page HardMagneticMaterials for sources and rationale.
* Fixed precision in exported DXF so that no precision is lost in DXF exports.
* Changed the algorithm that identifies limits for plotting flux density so that exterior regions (both Kelvin Transformation and IABC) are not considered. These exterior regions can have high flux densities that mask the flux density variations in the interior region of interest.

06Oct2018: (Test Build)

* Fixed the cause of an occasional error that happens running many runs in Mathematica. Fkn.exe occasionally could not open a *.ans file to write over older results. The fix adds a retry if the file can't be opened.
* Fixed a bug with the computation of the "sliding band" incremental torque integral. The "previous solution" used to calculate the integral was not obtained correctly.
* For incremental runs, mesh temporary files never got deleted, leaving extra, spurious files hanging around. Code has been added to get rid of these files when they're not needed any more.

From 25Feb2018 Release

Rotor Motion Model

In the 25Feb2018 version, a rotor motion model was added to FEMM. The rotor motion model is described in detain on the SlidingBand page. This functionality makes it possible to analyze a rotating machine at different rotor angles without changing the mesh. Smooth torque and voltage vs. rotor angle can be obtained from relatively coarsely meshed models.

Rotor Motion Example 1

An example application of the rotor motion model (animated in Figure 1 below) is given on the RotorMotion page. Performance is compared to a benchmark problem from the literature, and performance appears to be similar to that of a moving band approach with high-order elements inside the moving band.

text
Figure 1: Animation of rotor motion model example.

Rotor Motion Example 2

A second example is provided by the TorqueBenchmark page. Torque results from FEMM are compared to exact results for the case of torque on a bar magnet in a constant magnetic field. Agreement with the analytical solution is good.

text
Figure 2: Solution for torque bench mark with a rotor angle of 45 degrees.

Rotor Motion Example 3

A reworked version of the script for computing loss in the laminations, magnets, and coils of a surface mount permanent magnet machine are now at the end of SPMLoss. In the reworked script, the mesh is the same for every time step, which eliminates a source of numerical noise in the original calculation. The script also no longer has to rotate the locations of the rotor elements, since the rotor is always pictured in a reference frame where the rotor looks stationary.

Frozen Permeability / Incremental Permeability Solvers

A 23Jun2016 test build is available with support for "Frozen Permeability" and "Incremental Permeability" formulations in DC Magnetics problems.

To link a problem to an existing solution (i.e. to automatically use the element-by-element permeabilities determined in a previous DC solution in a new DC solution), specify the name of the problem in the "Previous Solution" edit box in the problem properties. Pick "Incremental" or "Frozen" in the associated drop list, depending on what sort of problem is desired.

FrozenBenchmark Frozen Permeability Benchmark and FrozenTorqueSeparation Torque Separation examples are available.

The "incremental permeability" solution type essentially implements the hooks necessary to do transient problems using the methods described in:

E. Lange, F. Henrotte, and K. Hameyer, "An Efficient Field-Circuit Coupling Based on a Temporary Linearization of FE Electrical Machine Models", IEEE Transactions on Magnetics, 45(3):1258-1261, Mar 2009.

First, a nonlinear problem is solved at a particular nonlinear operating point (i.e. a particular set of instantaneous currents at a particular rotor orientation) Then, a linear, incremental problem based on the incremental permeabilities gleaned from the nonlinear operating point is solved for each phase where the phase of interest has a current of 1A and all other excitation is turned off. For each solution, the self inductance and the mutual inductances with all other phases are computed to generate one row of the incremental inductance matrix. Then, the "interaction torque" with the full nonlinear solution is computed to determine the back EMF voltage seen by the phase of interest. The development build contains a new torque integral that evaluates this interaction torque using the "weighted stress tensor" paradigm for good accuracy.

Looking at it another way, linearizing for small changes in current, \(i\), a very general equation that describes most rotating machines is: \[ L_{inc} \frac{di}{dt} + \omega \frac{d \psi}{d\theta} + R i = v \] where \(L_{inc}\) is the incremental inductance matrix gleaned by evaluation of inductance from the incremental permeability solutions; \(\frac{d \psi}{d\theta}\) is the change in flux linkage with respect to the change in rotor orientation gleaned by the evaluation of interaction force from the incremental permeability solutions; \(\theta\) represents the rotor orientation; and \(\omega\) is the change in \(\theta\) with respect to time. Matrix \(R\) is the phase resistance matrix (which is not necessarily evaluated by FEA and should contain resistance contributions from the end turns), and \(v\) is an externally applied voltage vector.

It should then be possible to include a direct link to FEMM in various transient simulation engines, by wrapping the above generalized model in in the "right way". In particular, I am interested in making a full transient simulation of a rotating electric machine that couples FEMM directly to Simulink. The Simscape Power Systems toolbox could be used for modeling the associated drive electronics.

Visual Studio 2017

The source code for FEMM development builds now compiles with either Visual Studio 2008 or Visual Studio 2017. Solution files are included in the source code distribution for both versions of Visual Studio (femm43_VS2008.sln and femm43_VS2017.sln). To compile with Visual Studio Community 2017, you need to specify the optional Visual C++ and MFC components when you install Visual Studio.


Release Notes


FEMM 4.2 25Feb2018



FEMM 4.2 12Jan2016


FEMM 4.2 01Nov2015


FEMM 4.2 15Nov2013


FEMM 4.2 25Aug2013


FEMM 4.2 11Apr2012 with installer fix


FEMM 4.2 11Apr2012


FEMM 4.2 01Oct2011


FEMM 4.2 09Nov2010


FEMM 4.2 11Oct2010

Valid XHTML :: Valid CSS: :: Powered by WikkaWiki