Most recent edit on 2008-06-10 10:36:24 by DavidMeeker
Additions:
FEMM 42. 23May2008
Patched to fix a bug that can sometimes arise in the implementation of periodic and antiperiodic boundary conditions in all problem types.
Edited on 2008-01-07 13:20:18 by DavidMeeker
No differences.
Oldest known version of this page was edited on 2007-09-07 07:35:03 by DavidMeeker []
Page view:
FEMM 4.2
David Meeker
dmeeker@ieee.org
FEMM 42. 06Sep2007
- Fixed a bug in the definition of the temperature prescribed for a thermal conductor in hsolv.exe.
- Fixed a bug in the axisymmetric AC magnetics solver incorrect results were returned for problems with complex-valued permeability. (Fix is now rolled back into v4.0.1, too.)
- Fixed a bug in both the axisymmetric and planar magnetics solvers where incorrect results were returned if a non-zero fixed boundary condition was applied at the boundary of a material with complex-valued permeability.
FEMM 4.2 03Jun2007
- Fixed a few bugs in hsolv, the thermal solver.
- Removed the "fast point location" routines. The purpose of these routines is to figure out which mesh element (if any) in which a given point is located. Although these routines work well 99.9% of the time, there are special cases where this code could give the wrong triangle or hang the program altogether. The old (mindless) InTriangle routine (which the fast point location routines had been designed to replace) just looked through the triangles one at a time until it found the correct triangle. This could make the plotting of values along a user-defined line quite slow, especially for large meshes. I realized that the way that InTriangle is typically used where execution time matters (plotting points along a line), the desired triangle is usually in the same triangle as the last InTriangle call, or it is one of the neighboring triangles of the result of the last call to InTriangle. The implication is that the mindless version of InTriangle can be fast as long as
- Each search starts in the triangle that was returned in the last call to InTriangle
- The elements are sorted in a bandwidth-minimizing way so that difference in the indices of nearby elements is small.
FEMM 4.2 03May2007
- Fixed implemenation of trig functions like atan and atan2 so that they return purely real results for purely real arguments, as applicable. Previously, atan could return a result with a round-off sized imaginary component in addition to the correct real value for a real valued argument.
- Fixed some formatting errors in property definition menus for thermal problems.
FEMM 4.2 02Apr2007
- Changed the way that stored energy is computed for permanent magnet materials. Energy in PMs was computed incorrectly in previous versions. Energy is now computed in a way that is similar to the method described here.
- The program now loads and runs the contents of the file init.lua as part of its startup procedure. The user can edit this file to add in "standard" extra definitions and functions.
FEMM 4.2 02Mar2007
As compared to FEMM 4.0.1, version 4.2 :
- Incorporates a new problem type for conduction problems encompassing both DC and AC conductivity, in addition to DC Magnetics, AC Magnetics, Electrostatics, and Heat Flow.
- Incorporates ComplexLua, a modified verison of the Lua scripting language in which the default number type is complex (rather than double). Modifications resulting from this change are:
- There are no longer separate edit boxes for the real and complex parts of complex-valued parameters (e.g. source current density in the material properties dialog for magnetic problems). Instead, there is a single edit box in which a complex number can be entered.
- No longer need to separately specify real and imaginary parts of complex numbers in Lua function calls--these parameters are now rolled into one complex-valued parameter
- Real and imaginary parts no longer returned separately by Lua functions; they now return complex values as appropriate.
- Can include complex math in Lua scripts. All standard math functions have been modified to yield correct answers for complex-values arguments.
- The setcompatibilitymode(1) command can be used to temporarily revert to the lua function definitions as defined in FEMM 4.0. However, some caution is in order--in FEMM 4.2, all trigonometric functions take arguments in radians regardless of compatibility mode setting, whereas in FEMM 4.0, trigonometric functions take arguments in terms of degrees.
- However, Matlab, Mathematica, and Octave interfaces are unchanged from the user's perspective. These interfaces already collected and returned values as complex numbers. All Octave/Matlab scripts and Mathematica notebooks from FEMM 4.0 should work without modification in FEMM 4.2
- Additional math functions defined: arg, conj, sinh, cosh, tanh.
- Can define a magnetization direction as an equation, rather than a fixed value. For the purposes of defining the magnetization direction, the variables x, y, r, z and theta are built-in variables that are used to denote the location of the particular spot at which the magnetization is being defined. For example, to define a radial magnetization, one would enter theta into the block property dialog, rather than a fixed number.
- For magnetic problems, density plots allow field intensity (H) to be plotted, in addition to flux density (B) and current density (J).
- Incorporates a modified version of the continuum proximity/skin effect loss model deployed in FEMM 4.0. The version in FEMM 4.2 is based on a similar form, but parameters are selected to provide a best fit match to a battery finite element calculations. There is an improvement in accuracy as compared to the FEMM 4.0 approach, especially in the case of very high or very low fill factors.
The distribution also includes the
OctaveFEMM and
MathFEMM toolboxes for interfacing Octave/Matlab and Mathematica to FEMM. See the documentation in FEMM 4.2 folder of your Start menu for more details.