Skip to main content

Python API for FEMAG

Project description

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:


Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

femagtools-1.4.4.tar.gz (351.4 kB view hashes)

Uploaded source

Built Distribution

femagtools-1.4.4-py3-none-any.whl (413.2 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page