User Tools

Site Tools


download5
You were redirected here from femm-qt.

Table of Contents

Overview

FEMM 5 is a modernized version of Finite Element Method Magnetics (FEMM). It incorporates Qt so that it can run natively on many platforms. Tested platforms include Windows, Linux, macOS, and FreeBSD.

Many changes have been made to increase speed. In general, solutions are 3X-5X faster.

TCP Inter-Process Communication (IPC) is used in cross-platform bindings to Matlab/Octave, Python, Mathematica, Scilab, and Julia. The relatively simple TCP IPC API makes it straightforward to create other applications or bindings that communicate with FEMM 5.

FEMM 5 embeds MicroPython as its internal scripting language, allowing Python scripts to be directly interpreted by FEMM 5. The full set of supported packages are listed on local MicroPython page. For full Python functionality, the pyFEMM binding to Python can be used instead. For scripting backward compatibility, the Lua 4 REPL and a binding to Lua 4 is included in the distribution. These tools allow Lua 4 scripts from FEMM 4.2 to be run on FEMM 5 without modification. Here are some notes about using femm-lua.

A new 2D Delaunay meshing tool, tangle, is used by FEMM 5. The tangle mesher natively implements features needed by FEMM like periodic boundary conditions, sliding band boundary conditions, and per-point and per-segment mesh density specifications.

Licensing

The FEMM 5 application (the GUI, the libfemm engine, the IPC server, the tangle mesher, the shared math, and the language bindings) is released under the MIT License. The finite element field solvers (in solvers/ directory of the source tree) are released under the GNU General Public License v3 or later. The SPDX-License-Identifier tag in each source file is authoritative.

Bundled components keep their own licenses: Qt (LGPL-3.0); MicroPython, ulab, complexEigenPairSolver (MIT); bdwgc (MIT-like); Lua 4 and LuaSocket 1.0 (BSD-like Lua 4.0 License), etc.

Download

See the Change Log for changes since the last build.

Binary distributions are currently available only for Windows and macOS. For Linux and FreeBSD, you'll need to build from the source code. For each platform, there is a batch file that performs the build. Detailed build instructions are below.

Bindings

To set up the bindings to Octave/Matlab, Python, Mathematica, Scilab, and Julia, see the BindingSetup page.

download5.txt · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki