Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
May 26, 2023 10:39
October 26, 2023 15:52
October 25, 2023 07:44
November 29, 2023 09:38
March 15, 2019 11:41
November 12, 2023 12:41
August 31, 2023 11:31
December 1, 2022 16:44
November 14, 2023 16:25
April 27, 2017 11:12

Introduction to Femagtools


Build status

Femagtools is an Open-Source Python-API for FEMAG offering following features:

  • run Femag with a FSL script file anywhere: locally (single and multi-core), remote (ZMQ), HT Condor, Cloud (Amazon AWS, Google Cloud), Docker
  • read I7/ISA7, NC, BCH/BATCH, PLT, ERG files
  • read and write MCV files (magnetizing curves)
  • create a variety of plots
  • create FSL files from model and calculation templates and/or user specific FSL
  • create FSL files from DXF
  • create and analyze symmetrical windings
  • sizing and parameter identification
  • calculate machine characteristics by using analytic machine models
  • execute parameter studies and multi-objective optimization

The package can be used with Python 3.x on Linux, MacOS or Windows and is hosted on github:` where also many examples can be found in the examples directory. Contributions and feedback to this project are highly welcome.

The installation can be done in the usual ways with pip:

pip install femagtools[all]

([all] pulls in all optional dependencies.

For details see the documentation

Modules and Scripts

The package provides following modules:

  • mcv, tks, jhb, losscoeffs: handling magnetizing curves and iron losses
  • erg, bch: read ERG, BCH/BATCH files created by FEMAG
  • model, fsl: create machine and calculation models
  • femag: manage the FEMAG calculation
  • airgap: read airgap induction file created by a previous calculation
  • machine: analytical machine models
  • windings: create and analyze windings
  • grid: running parameter variations
  • opt: running multi objective optimizations
  • plot: creating a variety of plots
  • dxfsl: create FSL from DXF
  • isa7, nc: read ISA7/I7, NC (NetCDF) files
  • windings: create and analyze windings
  • forcedens: read PLT files
  • amazon, google, condor, multiproc: engines for the calculation in Cloud and HTCondor environments or locally using multiple cores

The following modules can be executed as script:

  • bch: print content in json format if invoked with a BCH/BATCH file as argument
  • bchxml: produces an XML file when invoked with a BCH/BATCH file as argument
  • plot: produces a graphical report of a BCH/BATCH file
  • airgap: prints the base harmonic amplitude of the radial component of the airgap induction when invoked with the file name of an airgap induction file
  • mcv: print content in json format if invoked with a MC/MCV file as argument
  • dxfsl/conv: show geometry or create fsl from dxf


For many applications it is sufficient to import femagtools:

import femagtools

The version can be checked with: