Python Library for Electrical Engineering Computational Analysis

pip install pyleecan==1.3.9



PyPI version License Code style: black


PYLEECAN project provides a user-friendly, unified, flexible simulation framework for the multiphysic design and optimization of electrical machines and drives.

The main objective of PYLEECAN is to boost reproducible research and open-science in electrical engineering. Thus, it is intended for researchers, R&D engineers and teachers in electrical engineering, both on standard and novel topologies of electrical machines.

For example, PhD students should start with PYLEECAN:

  • You can save a lot of time by using existing algorithms dedicated to electrical engineering (e.g. coupling Scilab or Matlab with Femm),
  • You can benefit from the community expertise for your research.
  • You can contribute to the project to make sure your code is maintained and to enable other researchers to easily reproduce your results.

To achieve all of that, Pyleecan is open source with a very permissive license (Apache V2 license).

Getting Started

The procedure to install and use Pyleecan is detailed on pyleecan website

Origin and Current Status of the Project

EOMYS ENGINEERING initiated this open-source project in 2018 for the study of electric motors. The project is now backed by Green Forge Coop non profit organization, who also supports the development of Mosqito for sound quality and SciDataTool for efficient scientific data exploitation.

Main Models and Couplings:

  • PYLEECAN is fully coupled to FEMM to carry non-linear magnetostatic analysis including sliding band and symmetries. For now this coupling is available (only on Windows OS).
  • PYLEECAN includes an iron losses model (based on FEMM coupling output).
  • PYLEECAN includes an electrical model to solve the equivalent circuit of PMSM and SCIM machines.
  • PYLEECAN is coupled to GMSH 2D/3D finite element mesh generator to run third-party multiphysic solvers.
  • PYLEECAN is coupled to a multiobjective optimization library to carry design optimization of electrical machines.
  • PYLEECAN enables to define Parameter Sweep of variable speed simulations.

Main Topologies Features:

  • PYLEECAN includes a Graphical User Interface to define main 2D radial flux topologies parametrized geometries (SPMSM, IPMSM, SCIM, DFIM, WRSM, SRM, SynRM) including material library.
  • Possibility to import Slot or Hole from DXF files
  • Star of Slot Winding (with swat-em) and User Defined Winding
  • Generic Geometry modeler to draw complex machines in the software coupled with PYLEECAN
  • Notches (Yoke and Bore) / Uneven Bore shape (Lamination without slot only) / Machine with more than 2 laminations

If you are interested by a topology or a specific model, you can open an issue or a discussion on this Github repository to talk about it. We will gladly explain how to develop it yourself or we will add it to the development list. We are always looking for experimental data and model validation based on the last scientific research work. Even if you don't have time to work on pyleecan, sharing your expertise will be valued by the community.


The mid/long term roadmap of the project is detailed here

Documentation / Website

All the information on the project are available at In particular, the media page gathers the publications, video and screenshots of the project.


You can contact us:

  • By opening an issue on Github (to request a feature, ask a question or report a bug) or starting a discussion
  • By sending an email at pyleecan(at) that redirect to all the maintainers.

You can follow us: