Skip to main content

motulator: Motor Drive and Grid Converter Simulator in Python

DOI Build Status License PyPI version shields.io All Contributors

Introduction

This open-source software includes simulation models and controllers for electric machine drives and grid converter systems. The machine models include an induction machine, a synchronous reluctance machine, and a permanent-magnet synchronous machine. Various subsystem models are provided for modeling grid converter systems, such as an LCL filter connected to an inductive-resistive grid.

The system models are simulated in the continuous-time domain while the control algorithms run in discrete time. The default solver is the explicit Runge-Kutta method of order 5(4) from scipy.integrate.solve_ivp. Various control algorithms are provided as examples. The documentation is available here:

https://aalto-electric-drives.github.io/motulator/

Installation

This software can be installed using pip:

pip install motulator

Alternatively, the repository can be cloned:

https://aalto-electric-drives.github.io/motulator/installation.html

Usage

The system models, controllers, reference sequences etc. are easy to configure. As a starting point, example scripts and Jupyter notebooks can be downloaded here:

https://aalto-electric-drives.github.io/motulator/drive_examples/index.html

https://aalto-electric-drives.github.io/motulator/grid_examples/index.html

New system models and controllers can be developed using the existing ones as templates.

Contributing

If you would like to help us develop motulator, see these guidelines first.

Contributors

Thanks go to these wonderful people:

Lauri Tiitinen
Lauri Tiitinen

💻 🤔 💡 🧑‍🏫
HannuHar
HannuHar

💻 🐛
Marko Hinkkanen
Marko Hinkkanen

💻 🤔 💡 🧑‍🏫
silundbe
silundbe

💻 💡
JoonaKukkonen
JoonaKukkonen

💻 🚇
jarno-k
jarno-k

🤔 👀 🧑‍🏫
angelicaiaderosa
angelicaiaderosa

💻 💡
Luca Peretti
Luca Peretti

🤔 📣
GianmarioPellegrinoPolito
GianmarioPellegrinoPolito

🔣
Simone Ferrari
Simone Ferrari

🔣
Jialed0303
Jialed0303

🤔
murgui
murgui

🐛
Nithin Valiyaveettil Sadanandan
Nithin Valiyaveettil Sadanandan

🐛
saarela
saarela

🐛
Ushnish
Ushnish

🐛
Francesco-Lelli
Francesco-Lelli

💻 💡 🤔
Mikko Sarén
Mikko Sarén

💻 💡 🤔
Juho Määttä
Juho Määttä

💻 💡 🤔
rayanmour
rayanmour

💻 💡 🤔 👀 🧑‍🏫
Cosimo Bassi
Cosimo Bassi

🚇
Junyi Li
Junyi Li

💻 💡 🤔
Tim Foißner
Tim Foißner

🔣 🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

Acknowledgement

This project has been sponsored by ABB Oy and by the Research Council of Finland Centre of Excellence in High-Speed Electromechanical Energy Conversion Systems. The example control methods included in this repository are based on published algorithms (available in textbooks and scientific articles). They do not present any proprietary control software.

Metadata

Release files for motulator 0.7.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for motulator 0.7.7
File Size Uploaded
motulator-0.7.7.tar.gz 58.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for motulator 0.7.7
File Interpreter ABI Platform
motulator-0.7.7-py3-none-any.whl Python 3 none any Details

Total release size: 58.6 MB

Release files / motulator-0.7.7.tar.gz

Download URL motulator-0.7.7.tar.gz
Size 58.5 MB
Tags Source
SHA-256 checksum
How to use checksums
38caf43027f52806970000d370dc07a2357bf80d6e9856ae810f80719f9dab0c
BLAKE2b-256 checksum
How to use checksums
8b4c0bf37a2a69c1a4dab760366dffa60e3e39a6f9409abc7c2d21b4f9f237f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / motulator-0.7.7-py3-none-any.whl

Download URL motulator-0.7.7-py3-none-any.whl
Size 127.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e2f3e6ad229fac381ecc3eab02d181cfd72ee44f9b7394bb4575a3112653cb24
BLAKE2b-256 checksum
How to use checksums
caa9a7ac92772bbc26fd70e2ad719e298a964ccdb82a361b62612fc3230efd86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.8

2 release files

This release

0.7.7 This release

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page