Conference PaperPDF Available

Pyleecan: An Open-Source Python Object-Oriented Software for the Multiphysic Design Optimization of Electrical Machines

Authors:

Abstract and Figures

This paper presents the first open-source development project for the electromagnetic design optimization of electrical machines and drives named Pyleecan – PYthon Library for Electrical Engineering Computational ANalysis. This paper first details the objectives of Pyleecan open-source development project, and the object-oriented architecture of the software that has been developed and released. Then it reviews and compares the available free and open-source software used during the multiphysic design of electrical machines including electromagnetics, heat transfer and vibro-acoustic analysis.
Content may be subject to copyright.
Φ
Abstract -- This paper presents the first open-source
development project for the electromagnetic design optimization
of electrical machines and drives named Pyleecan – PYthon
Library for Electrical Engineering Computational ANalysis.
This paper first details the objectives of Pyleecan open-source
development project, and the object-oriented architecture of the
software that has been developed and released. Then it reviews
and compares the available free and open-source software used
during the multiphysic design of electrical machines including
electromagnetics, heat transfer and vibro-acoustic analysis.
Index Terms—Simulation software, Open source, Electrical
machines, Design optimization, Multiphysics
I. I
NTRODUCTION
Many researchers, R&D engineers and PhD students in
electrical engineering develop their own design software of
electrical machines, often using Matlab [23] language and
Femm [7] - the 2D open source finite element software for
electromagnetics which has been downloaded more than one
million times over 19 years [11]. A large part of this scripting
work carried by electrical engineers consists in developing
drawing functions of a parametrized magnetic circuit
geometry (e.g. magnets, slot shapes, winding), writing post-
processing scripts of electromagnetic results (e.g. calculation
of back emf, losses, magnetic forces, efficiency maps,
inductance look-up tables), coupling this electromagnetic
model to sensitivity study or optimization tools, and
developing data visualization tools.
This scripting work is rarely shared with the electrical
engineering community. Such developments can suffer from
quality flaws due to missing peer reviewing, and they are
sometimes hardly maintainable due to missing documentation
and lack of knowledge transfer in the R&D department,
especially when PhD students leave their laboratory.
If this scripting effort was shared and unified in a common
environment, research in electrical engineering could be more
efficient, and researchers could spend more time on what may
be more important in their daily work: physics and creativity.
The scripting work would then only focus on the development
of innovative architectures of electrical machines.
The key motivation of this paper is therefore to lay the
foundations of the first open-source, collaborative
development project of a simulation software of electrical
machines and drives: Pyleecan, standing for “PYthon Library
for Electrical Engineering Computational Analysis”. Fig. 1
presents the logo of the project.
Φ
P. Bonneel, J. Le Besnerais, E. Devillers and R. Pile are with EOMYS
ENGINEERING, 121 rue de Chanzy, Lille-Hellemmes, France (website:
www.eomys.com, e-mail: contact@eomys.com).
Fig. 1. Pyleecan logo
This paper first details the Pyleecan (PYthon Library for
Electrical Engineering Computational ANalysis) open-source
project in terms of objectives, community rules, licensing and
development roadmap. Then, it reviews and compares the
most common free software or open source software used by
electrical engineers when designing electrical machines. Note
that at the time of writing the public repository of Pyleecan
software is not yet accessible: this article aims at
communicating a first vision of the project, in order to gather
potential contributors and update priorities in the
development roadmap according to the feedback of the
electrical engineering community. It is then planned to open
Pyleecan 1.0 repository in September 2018.
II. PYLEECAN
OPEN
SOURCE
PROJECT
A. Objectives
Pyleecan objective is to provide a user-friendly, unified,
flexible simulation framework for the multiphysic design and
optimization of electrical machines and drives based on open-
source software. Its key features include:
Python-based open-source software
Graphical User Interface
Object-oriented modeling of electrical machines and
drives
Multi-physic simulation of electrical machines
Different levels of modeling accuracy (e.g. analytic
and numeric)
Multi-objective optimization loops including
parallelization
Output data visualization scripts
Online detailed documentation
On a long-term basis, Pyleecan will include five physics:
Electrical, Electromagnetics, Heat Transfer, Structural
Mechanics and Acoustics. These physics are sequential: each
one takes the results of the previous as inputs. The software
enables to choose the model (analytical, numerical, calling an
external software...) to use for each physic. It is also possible
to run only the structural and acoustics computation by
enforcing the magnetic flux distribution computed by another
software for instance.
Pyleecan: an open-source Python object-
oriented software for the multiphysic design
optimization of electrical machines
P. Bonneel, J. Le Besnerais, R. Pile, E. Devillers
Pyleecan is open-source to encourage the research in
electrical engineering. It provides guidelines to help any user
to modify, improve or adapt the topologies and models. It also
gives access to any computation step to analyze its output or
workflow which is important for teaching and for software
validation.
B. Object-Oriented Modeling of Electrical Machines
1) Principle
Object-Oriented Programming (OOP) is a programming
paradigm based on the concept of “object”. The point of using
OOP is to gain in abstraction by using high level concepts (aka
the objects). These entities are defined by their attributes
(values that define the object, for instance the number of slot
of a stator) and their methods (functions that can interact with
the object attributes, for instance a method to compute the
surface of a lamination).
In Pyleecan OOP is used to define a simulation by
combining several objects together. Each object is dedicated
to a particular computation with a particular model/method.
For instance, there are three Magnetic model objects in
Pyleecan that compute the airgap flux in three different ways
(Analytical, subdomain, FEA). It enables the user to know
exactly how every step of the simulation is computed and to
switch easily from one method to another.
2) Evolutivity of OOP
OOP enables to define “interfaces”, defining parts of the
code as black boxes with predefined input and output formats.
This way, several different objects can be used to model this
part of the software provided that they follow the interface
standards.
As an example, the surface of an electrical machine
lamination can be defined by the surface of the equivalent
cylinder minus the slot surfaces. The “functional
programming” paradigm approach – the most common
scripting method used by engineers in languages such as
Matlab – would create a switch case to call a different function
according to the slot shape of the lamination. On the contrary,
the OOP approach consists in defining a “SlotTypeA” class
as a template for a specific slot shape with attributes that
define its geometrical parameters (height, width…). A
method comp_surface() is added to the class to compute the
surface of the slot according to its schematics and its
attributes.
In the software workflow, an instance of this class will be
created with the actual geometrical values of the machine
slots. To compute the lamination surface, the comp_surface()
method is called to get the slot surface according to the current
values of the attributes.
This process seems to be equivalent to the functional
programming paradigm approach, but it provides an
abstraction in the computation of the lamination surface. In
this function, the method comp_surface() of the slot object is
called regardless of what is the slot object. A “SlotTypeB”
class can be defined as a template for another slot shape with
different attributes and a different way to compute the surface
(in a method comp_surface() with the same input and output
features, called a “prototype” in OOP). Then, in the
simulation workflow, the instance of Slot_Type_B will be
handled exactly as the instance of Slot_Type_A without
modifying the other functions.
In functional programming paradigm (i.e. embedding parts
of the code within functions), adding a new slot shapes would
require editing all the functions using slots (for instance by
adding a new option to all the switch cases). This process is a
significant source of errors and is very time consuming. With
the OOP paradigm, adding a new slot only requires to define
a new class with its attributes and its methods matching the
slot interface requirements.
In Pyleecan, this feature is used to handle different machine
topologies and different models within the same simulation
workflow. It provides a convenient way to extend the software
features. Moreover, with this architecture, contributors that
are not familiar with computing science or OOP can
contribute by following the class template and focus on the
scientific part.
3) Efficiency of OOP
OOP enables to make a link between similar objects and
reuse the scripting work of their methods by “inheritance”: a
“daughter class” that inherits from a “parent class” takes all
its attributes and methods ; one can then define additional
methods, or redefine these inherited methods in the daughter
class.
introduces an example of inheritance between the Squirrel
Cage Induction Machine (SCIM) and Doubly Fed Induction
Machine (DFIM) classes.
Fig. 2. Simplified Pyleecan UML class diagram
In this example, the combination of a “LamWind” (a
lamination with winding) for the stator and a
“RotorSquirrelCage” for the rotor defines a “MachineSCIM”
class. “RotorSquirrelCage” class is defined as a particular
case of “LamWind” class with inheritance, as the short
circuited bars of an induction machine can be seen as a special
winding case. This way, all the scripting work done on
“LamWind” class methods can be reused in the
“RotorSquirrelCage” class. For instance, the comp_mmf()
method is defined in the “LamWind” class to compute the
winding magnetomotive force. If this method is generic
enough to be used in both classes, there is no need to define a
comp_mmf() method in “RotorSquirrelCage”. Otherwise, the
inheritance enables to overwrite the comp_mmf() method of
“LamWind” by a new method that could take into account the
specificities of the squirrel cage mmf computation.
To compute the overall mmf of the machine, the
corresponding method will call the respective functions
comp_mmf() of the rotor and stator, and combine their results
regardless of how they were computed thanks to the
abstraction of the OOP approach.
Finally, to extend the SCIM class to a DFIM, the only
necessary operation is to define a new machine type with a
“LamWind” object for both rotor and stator; the same method
comp_mmf() as for the “MachineSCIM” class can be used, so
scripting is more efficient.
C. Why Python?
Pyleecan is coded in Python for three main reasons.
Firstly, it is an interpreted language. It is not as efficient
(computation time wise) as compiled language (like C++ for
instance) but it provides some enhanced scripting features that
are useful when running scientific calculations. For instance,
several pre/post processing scripts can be included in the
simulation workflow to customize it. If necessary, some
packages are available to precompile Python code and speed-
up computation time to be almost as efficient as C (Cython for
instance).
Secondly, Python is free and has a very active scientific
community. Most functionalities of a commercial language
such as Matlab (numerical calculations, signal processing,
data visualization) are available as open source packages,
which can be reused or customized to speed up the
development of Pyleecan project. For instance, presents an
electrical machine plot with Matplotlib package. Other useful
packages include Numpy for matrix calculations or Sympy for
symbolic computation.
Fig. 3. Electrical machine plot with Matplotlib
Finally, Pyleecan aims at gathering a community of
electrical engineers who may not be used to computing
science. The complexity of C++ (pointers, compilation…)
could discourage them to contribute to the project, and one of
Python core rules is that “readability counts”. Python
language is therefore straightforward, simple to read [20], and
close from Matlab already widely used by engineers. Besides,
some development environments as user-friendly as Matlab
can be found in Python (e.g. PythonXY).
D. Python in Electrical Machines Design Tools
Several Python packages or Python software already exist
and may be coupled to Pyleecan:
- PySimulator [26]: GUI to define and run
OpenModelica [27] simulation models, for use in
AC drive simulation
- Dolomites [28] (formerly Koil): winding design
tool
- Pyfemm [30]: API for coupling with Femm
- Femagtools [29]: API for coupling with FEMAG
- Scipy.optimize: optimization tools
Femagtools is a Python-API for Femag to transparently
execute parameter studies and multi-objective optimization
either locally on a server or using multiple servers in a
network or a cloud infrastructure.
More generally there exists a large number of Python
packages for design of experiments, multiobjective
optimization, parallel computing, data mining and data
visualization.
All commercial finite element electromagnetic software
now propose high level Python scripting (e.g. PyFlux in
Flux
®
) to drive their simulation process. Pyleecan will
therefore be able to easily drive third party electromagnetic
FEA software when necessary.
E. Position of EOMYS
EOMYS, a privately-owned company, has initially
developed an object-oriented model of electrical machines
based on Python within its MANATEE commercial software
[1] dedicated to the fast electromagnetic and vibroacoustic
design of electrical machines.
MANATEE software handles various topologies of radial
flux electrical machines (e.g. inner and outer rotor surface,
inset or interior permanent magnet synchronous machines,
squirrel cage and doubly fed induction machines, wound rotor
synchronous machines, synchro-reluctant machines) and
several geometrical overlays (e.g. slot shapes, magnet
shapes). MANATEE is already coupled to Femm/XFemm,
Femag and GetDP. Its object-oriented model of electrical
machines including their AC drive is a natural basis to bring
together the key open-source initiatives such as
Femm/XFemm, OneLab and Dolomites.
The initial contribution of EOMYS to Pyleecan open-
source project therefore includes:
- the free release of its object-oriented model of electrical
machines (WRSM, SPMSM, IPMSM, SCIM, DFIM)
- the share of documentation on geometry overlays used in
MANATEE (see eomys.com)
- the share of electromagnetic validation cases (see
eomys.com)
EOMYS will be the first maintainer of Pyleecan and
intends to provide full time developers to the project. In
return, EOMYS aims at integrating Pyleecan to its
MANATEE software, which could then benefit from some
user contributions (e.g. new overlays, extension to linear
motors or axial flux machines).
F. Licensing
Pyleecan is under an Apache license. This license is
permissive (with no copyleft) which allows to use Pyleecan
even in a commercial close-source software. The Apache
license was chosen to open the community to as many
contributors as possible.
One of the key feature of Pyleecan is it flexibility, and in
particular the possibility to be coupled with almost any
software. With this license, private companies can include
Pyleecan in their electrical engineering design workflow
without the need to provide the resulting software code.
Companies may keep part of their work with Pyleecan
confidential, but they should be more prone to contribute to
the open-source project to increase the robustness of their
developments.
G. Community Rules
One of Pyleecan goal is to provide a universal framework
for the development of new electrical engineering models. It
will provide code guidelines (such as naming convention or
documentation templates) to ensure the consistency of the
code. OOP approach provides a natural structure for scripting
work.
To organize the community, EOMYS plan to schedule 4
meetings per year (every 3 months) to coordinate
development efforts and synchronize resources of interns,
Master’s thesis and PhD students. These meetings can be held
at conferences like EuroSciPy (European conference for
scientific Python usage) or scientific conferences on electrical
machines (e.g. ICEM, COMPUMAG, ISEF).
H. Code of Ethics and Code of Conduct
An Open Source software should theoretically comply with
the statement “No discrimination against fields of endeavor
[15]. The annotation says “the major intention of this clause
is to prohibit license traps that prevent open source from
being used commercially”. Pyleecan aims at being an open
source project, but EOMYS as founder and main contributor
would like to avoid the use of Pyleecan for the design,
development or production of electric actuators intended to be
used in military weapons or in defense applications.
One aim of Pyleecan project is to become a catalyst for
research in electrical machines applied to sustainable mobility
and energy production, towards more efficient,
environmental-friendly electrical drives.
Pyleecan also follows a code of conduct for its
development community inspired by the Django code of
conduct (https://www.djangoproject.com/conduct/).
I. Resources
Although the initial sources of Pyleecan fully come from
EOMYS company, the core development team should contain
developers both from private companies and public
laboratories. The core development team should reflect
Pyleecan user community. It consists now of
Pierre Bonneel, software engineer at EOMYS
(Manatee)
Emile Devillers, R&D engineer at EOMYS
(Manatee)
Christophe Geuzaine, Professor at ULg (GetDP)
Johan Gyselinck, Professor at ULB (GetDP)
Ronald Tanner, software architect at Semafor
(Femagtools).
EOMYS commits to contribute to Pyleecan with at least
one equivalent full-time employee in 2018-2019.
J. Development Roadmap
The initial development roadmap includes the following
tasks, their priority will be ordered according to the
contributors needs
Generic geometry templates (to be used in all the
model and to provide guidelines to extend the
software)
Coupling with Femm/XFemm (2D) for PMSM
magnetostatics
Coupling with Syr-E
Coupling with Dolomites
Coupling with Gmsh/GetDP (2D) for PMSM
magnetostatics
Coupling with Femag (2D) for PMSM magnetostatics.
Coupling with GetDP (2D) for IM magneto-harmonic
Flexible simulation workflow (multisimulation,
possibility to import data from any software, support
to cloud computing)
K. How to Join?
You can subscribe to Pyleecan newsletter at the following
link: http://eepurl.com/dov3PH. You can also subscribe to our
repository on Github to be warned of the changes.
III. REVIEW
OF
OPEN
SOURCE
/
FREE
SOFTWARE
USED
IN
ELECTRICAL
MACHINE
DESIGN
A. Why a new open source project?
Before creating a new open source project, it is important
to list the existing ones to know if it doesn’t already exist. It
is better to contribute to an existing project rather than
creating an equivalent one. Too many open source projects
died because of lack of contributors. This part presents the
existing electrical engineering open source project and what
differentiates them from the Pyleecan project.
B. SWOT Analysis of Open-Source Software
Strengths:
- Productivity: researchers can work more efficiently, as it
avoids “reinventing the wheel”
- Flexibility: open access to the code allows customization
- Reliability: “many eyes see every bug”
- Cost: anyone can use the software freely, even on clusters
Weaknesses:
- Durability: without funding, the project can lose its
contributors and stop being maintained
- Management: the community needs to be well organized
to drive the software development
- Reliability: technical support and validations are not
mandatory
Opportunities:
- The market of electrical machine design software is
shared by a few companies
- The challenges of sustainable energy and mobility require
innovative software tools
Threats:
- The community may want to develop a software different
from the one intended by the original maintainers
- Some modifications of the code made by private
companies may never be provided to the community
C. Software Licenses
Before reviewing the different software generally used by
electrical engineers when designing electrical machines, it is
important to clarify the licensing systems and the differences
between open source and free software.
The terms “free software” and “open source” software
historically refers to two different movements initiated
respectively by the Free Software Foundation (FSF, 1985)
and by the Open Source Initiative (OSI, 1998). For FSF “free
software” meant “free as in free speech, not as in free beer”.
One example of FSF developments is the GNU General
Public License (GPL) which guarantees the rights of end-
users to run, view, and share source code freely. Founded after
the FSF, the OSI decided not to use the word “free” to avoid
confusion and was initiated to emphasize the benefits of
community-driven collaborative development.
This paper does not only discuss about free (as in beer)
software use in electrical engineering, because the important
question is more about how flexible software are rather than
how cheap they are when dealing with advanced R&D work:
applied research in electrical machines is expected to
regularly push the conventional models to their limits,
requiring regular updates of the geometrical layouts, material
libraries, numerical solvers, post-processings, documentation,
etc. This requires the software to be open-source, allowing the
end-users to modify the software so that it fulfil new needs.
Some examples of licenses which can be found among
software used by electrical engineers are presented:
GNU GPL: everyone is free to use the software and
redistribute it on a free basis. It is a copyleft license
which means that derivative work can only be
distributed under the same license terms (i.e. open
source).
BSD: it allows to modify and distribute the software’s
code in the source or binary format as long as a copy of
the copyright notice, list of conditions, and the
disclaimer are retained. It is not a copyleft license: it is
permissive for the redistribution, even in commercial
close-source software.
Apache: similar to BSD license, plus more explicit
patent rights and the obligation to explicitly list all the
modifications done to the original software in any
redistribution.
Aladdin Free Public License: the results of the program
can be used for any purpose (including commercial),
but a special license is needed to resell the program
itself or to include parts of the source code in a new
commercial product.
D. Review of Electromagnetic Design Software
This part reviews free and open-source electromagnetic
design software. It presents the limitation of each software
that justified the creation of the Pyleecan project. Table 1
summarizes the different studied software.
iMOOSE (Innovative Modern Object-Oriented Solving
Environment) has been initially developed in the Department
of Electrical Machines of Aachen University, Germany. It is
no longer maintained, the last release was on the 03/11/2003
[17]. Femag3D project [22] has been stopped in 2013 and the
software currently belongs to the Institute of Electrical Energy
Conversion of TU Darmstadt, Germany - no open-source
license has been released.
Femag is a software package for the 2D-FE-simulation of
electric machines (static magnetic fields, temporally
sinusoidal currents or fields, mechanical deformations and
stresses, temperature fields, etc) initially developed by the
Institute for Electrical Machines of ETH-Zurich. It is
available under a commercial license but may be used freely
for non-commercial projects and academia. It can model both
induction motors and permanent magnet synchronous
machines, but without circuit coupling. Femag can be driven
with a Python library called Femagtools.
Similarly, Femm [7] is limited to 2D and cannot be used for
coupled circuit simulation. Femm core is in C but the
simulation models can be defined and solved using Lua higher
level programming language. Femm is coupled to Scilab,
Octave/Matlab. XFemm [4] allows to call Femm without the
use of ActiveX, enabling parallel execution.
OneLAB based on GetDP [25] and Gmsh [24] is a 2D/3D
computational tool for multi-physics problems which has
been applied to electrical machines [1] ; it can simulate strong
circuit coupling. If the user community is smaller compared
to Femag or Femm, a library of electrical machine examples
has been started.
Elmer is also a 2D/3D computational tool for multi-physics
problems, its solver Elmer FEM is open-source. Started in
Finland in 1995, it has been recently applied to electrical
machines design in several works [1][2].
SMEKlib is an open source 2D FEA library for electrical
machines developed in Matlab (object oriented) and released
in 2017 [1].
MotorAnalysis is a free software for 2D FEA of induction
machines and PM synchronous machines. The release date
and licensing are unknown to the authors.
Released in 2014, Syr-e [11] is a Matlab-based simulation
open source software initially developed at Politecnico di Bari
and Politecnico di Torino Universities (Italy) for the design of
synchronous reluctance machines, based on a coupling to
Femm. It is compatible with Octave under GNU GPL as an
alternative to the proprietary language Matlab. It is coupled
with a multiobjective optimization tool.
E. Review of Other CAE Software for Electrical Machine
Design
Winding design
Several tools for the design of the winding of AC electrical
machines have been developed and released.
Dolomites project [28], released in 2017, is a Python-based
GUI for winding design which was formerly developed in
C++ under the name Koil at the Electric Drives Lab (EDLab)
of the University of Padova, Italy. An export to GetDP of the
winding circuit definition is now included.
Anfractus tool [23] is a Matlab-based free software for the
design of electrical machines winding released in 2018. It is
free but not open source contrary to Dolomites.
Control & electronics
Some specific modelling tools are used when looking at the
electrical machine as a system for control purposes.
Scilab/Scicos can be used for Simulink-typed dynamic
modelling of electrical machines control [12] based on free
software.
OpenModelica (license OSMC-PL 1.2) can be also used to
make dynamic simulation of AC drives [14][13] as illustrated
in Fig. 2.
Fig. 4: Example of PMSM inverter drive model in OpenModelica
[1][13]
Others
Other open source or free works in electrical engineering
can be found on the internet (SourceForge, GitHub, Matlab
FielExchanche repositories) but they are not backed by
scientific publications and/or are no longer maintained.
F. Review of Multiphysic Design Software
III. The electrical machine designer must include heat
transfer analysis during the first electromagnetic design loops.
Similarly, acoustic noise and vibrations due to magnetic
forces which depend in particular on slot/pole combination
and lamination dimensions should also be assessed in pre-
sizing phase. It is therefore important to account for
multiphysic simulation capabilities, especially heat transfer,
structural mechanics and acoustics. Usually all
electromagnetic FEA software can solve heat diffusion
equation and can then handle simple conducto-convective
heat transfer problems.
Table 2 summarizes the different studied multiphysic
software.
TABLE
1
E
LECTRICAL ENGINEERING FREE
/
OPEN
-
SOURCE SOFTWARE
TABLE
2
M
ULTIPHYSIC ELECTRICAL ENGINEERING SOFTWARE
Name License Description
Elmer GNU GPL v2 Multiphysics
Code_Aster GNU GPL v3 Structural
mechanics
Acoustics
OpenFoam GNU GPL v3 Fluid mechanics
Kratos
Multiphysics
BSD Heat transfer
Fluid dynamics
Femm Aladdin Free
Public License
Heat transfer
diffusion
GetDP GNU GPL v2 Multiphysics
Agros2d GNU GPL Multiphysics
G. Review of Pre/Post Processing Software
Some specific software are used for pre-processing,
meshing, and post processing / data visualization.
Gmsh [24] is a mesh generator released under the GNU
GPL containing modules for geometry description, meshing,
solving and post-processing. Gmsh supports parametric input
and since version 3.0 supports constructive solid geometry
features, based on Open Cascade technology.
Salome [31] is an open-source software providing a generic
platform for pre/post processing of numerical simulations. Its
cross-platform solution distributed under the GNU LGPL
license also uses Open Cascade. Code-Aster and Salome
platform are both based on the scripting language Python.
ParaView is an open source cross-platform application for
interactive, scientific data visualization under BSD license.
H. Conclusions and Choice of Pyleecan Modules
Although several FEA open source electromagnetic
software are available, none of them includes at the same time
- a library of electrical machines topologies and layouts
- a library of magnetic materials
- a Graphical User Interface
- an intuitive scripting mode based on object-oriented
approach
Besides, several free software initiatives are carried in
Matlab commercial software. Even if Matlab code can be
compatible with Scilab or Octave, some of them use Matlab
toolboxes and cannot be executed without a Matlab
commercial license. The files are sometimes encrypted in
pcode so that the scripts are not open source and cannot
benefit of collaborative developments. The authors strongly
believe that these initiatives have no future when developed
in proprietary languages such as Matlab, and w the authors of
Name License Description Language
Femm [7] Aladdin Free Public
License
2d non linear
time-harmonic electromagnetic FEA
C++
Lua
OneLab
(Gmsh &
GetDP) [1]
GNU GPL 2d or 3d non-linear magnetoharmonic,
multiharmonic or time stepping electromagnetic FEA
C++
Python
Elmer [2] GNU GPL v2 2d or 3d [1] Fortran 90, C
and C++
Femag2d Proprietary license but
free for academic work
2D static or temporally sinusoidal changing
electromagnetic fields
Fortran-
2003, C/C++,
Lua
code_Carm
el
Proprietary license
(L2EP/EDF) but free for
academic work
3D non-linear time stepping electromagnetic FEA,
including circuit coupling
Fortran 90
Syr-E Apache 2.0 2d non linear magnetostatics (Femm based) Matlab/Scil
ab
SMEKlib MIT 2D-FEA Library for Electrical Machines in Matlab,
non linear time stepping or time harmonic
Matlab/Scil
ab
MotorAnaly
sis
? 2D-FEA software for induction motor and PM
machines
Matlab
Femag3d
[22]
? 3d non linear magnetostatic FEA (GetDP based) Lua
iMOOSE
[17]
GNU GPL v2 2d or 3d static, time–harmonic and transient
electromagnetic
C++
these packages are encouraged to join Pyleecan project and
translate their code to Python.
Several open-source-based initiatives have been given up
due to lack of resources and technical support: this is one
reason for which Pyleecan will be distributed under a software
license that allows commercial use.
IV. C
ONCLUSIONS
Several software developments have been initiated in the
community of researchers and R&D engineers to ease the
design of innovative electrical machines using free or open
source software. Pyleecan open-source project aims at
unifying and coordinating development efforts starting from
a Python-object-oriented model of electrical machines
released by EOMYS. This object-oriented model provides an
architecture that can be easily improved and extended even by
engineers with few skills in computing science.
VI. A
CKNOWLEDGEMENTS
We thank J. Gyselinck, C. Geuzaine and R. Tanner for
useful discussions around this paper.
V. R
EFERENCES
[1] P. Ponomarev, J. Keränen, M. Lyly, J. Westerlund and P. Råback,
"Multi-slice 2.5D modelling and validation of skewed electrical
machines using open-source tools," 2016 IEEE Conf. Electromagnetic
Field Computation (CEFC), Miami, FL, pp. 1-1.
[2] P. Ponomarev, J. Keränen and P. Pasanen, "Electromagnetic transient
finite element 3D modelling of electrical machines using open-source
tools," 2016 XXII Int. Conf. Electrical Machines (ICEM), Lausanne, pp.
1657-1661.
[3] S. Sathyan, A. Belahcen, J. Kataja, T. Vaimann and J. Sobra,
"Computation of stator vibration of an induction motor using nodal
magnetic forces," 2016 XXII Int. Conf. Electrical Machines (ICEM),
Lausanne, pp. 2198-2203.
[4] R. Crozier and M. Mueller, "A new MATLAB and octave interface to
a popular magnetics finite element code," 2016 XXII Int. Conf.
Electrical Machines (ICEM), Lausanne, pp. 1251-1256.
[5] E. A. Lomonova, J. J. H. Paulides, S. Wilkins, and J. Tegenbosch,
"ADEPT: ADvanced electric powertrain technology - Virtual and
hardware platforms," 2015 X International Conference on Ecological
Vehicles and Renewable Energies (EVER), Monte Carlo, pp. 1-10.
[6] J. Keränen et al., "Efficient Parallel 3-D Computation of Electrical
Machines With Elmer," in IEEE Trans. Magn., vol. 51, no. 3, pp. 1-4,
2015.
[7] FEMM (Finite Element Method Magnetics) by D. Meeker. [Online].
Available: http://www.femm.info
[8] MANATEE software (Magnetic Acoustic Noise Analysis Tool for
Electrical Engineering) by EOMYS ENGINERING. [Online]
Available: http://www.manatee-software.com
N.N. Zablodskii, V.E. Pliugin, and A.N. Petrenko, “Using object-oriented
oriented design principles in electric machines development”,
Electrical Engineering & Electromechanics, Kharkiv, no. 1, p. 17–20,
2016.
[10] C. Kral and A. Haumer, “Object Oriented Modeling of Rotating
Electrical Machines”, Advances in Computer Science and Engineering.
InTech, 2011. [Online]. Available:
https://www.intechopen.com/books/advances-in-computer-science-
and-engineering/object-oriented-modeling-of-rotating-electrical-
machines
[11] D. Meeker et al., "Electrical machine analysis using free software,"
2017 IEEE Energy Conversion Congress and Exposition (ECCE),
Cincinnati, OH, pp. 1-289.
[12] P. Aree, "Steady-state analysis of self-excited induction generator using
scilab open-source software," 2014 2
nd
IEEE Conference on Power
Engineering and Renewable Energy (ICPERE), Bali, pp. 185-188.
[13] G. Lalovic, “AC drives modeling in Modelica”, Bachelor’s Thesis,
BRNO University of Technology, 2014.
[14] M. Ceraolo, “A new Modelica Electric and Hybrid Power Trains
library”, 2015 11
th
Int. Modelica Conf., Versailles, France, pp. 785-794.
[15] Open Source Initiative. [Online]. Available :
https://opensource.org/osd-annotated
[16] Open Life Cycle Assessment (OpenLCA) software. [Online].
Available: http://www.openlca.org
[17] J. Keränen, A. Manninen, and J. Pippuri, “Multi-physics simulations for
electrical machine development”, VTT Research report, 2015.
[Online] Available: http://www.vtt.fi/inf/julkaisut/muut/2015/VTT-R-
04618-15.pdf.
[18] A. Lehikoinen, T. Davidsson, A. Arkkio, and A. Belahcen (in press),
"A High-Performance Open-Source Finite Element Analysis Library
for Magnetics in MATLAB," 2018 Int. Conf. Electrical Machines
(ICEM), 2018.
[19] D. van Riesen, C. Monzel, C. Kaehler, C. Schlensok, and G.
Henneberger,“iMOOSE-an open-source environment for finite-element
calculations,” IEEE Trans. on Magn., vol 40, no. 2, pp. 1390 - 1393,
2004.
[20] T. E. Oliphant, "Python for Scientific Computing," Computing in
Science & Engineering, vol. 9, no. 3, pp. 10-20, 2007.
[21] J. M. Díaz-Chacón, C. A. Hernández, V. M. Brauer, A. N. Valle, R. B.
B. Ovando-Martínez, and A. A. Adeniyi, "Development of a didactic
set of 3D-FEM magnetostatic simulations by using a free software,"
2017 IEEE International Autumn Meeting on Power, Electronics and
Computing (ROPEC), Ixtapa, pp. 1-6.
[22] B. Funieru, “FEMAG 3d status”, Proceedings of FEMAG
Anwendertreffen, Zürich, October 2013
[23] D. Ouamara, F. Dubas, M. Nadjib Benallal, S. A. Randi, C. Espanet,
« Automatic winding generation using matrix representation -
Anfractus tool 1.0”, Journal of Advanced Engineering, Acta
Polytecnica, Vol 58, n°1, 2018
[24] C. Geuzaine and J.-F. Remacle. Gmsh: a three-dimensional finite
element mesh generator with built-in pre- and post-processing facilities.
International Journal for Numerical Methods in Engineering 79(11), pp.
1309-1331, 2009.
[25] P. Dular, C. Geuzaine, F. Henrotte and W. Legros, "A general
environment for the treatment of discrete problems and its application
to the finite element method," in IEEE Transactions on Magnetics, vol.
34, no. 5, pp. 3395-3398, Sep 1998.
[26] Pfeiffer A., Hellerer M., Hartweg S., Otter M. and Reiner M.:
PySimulator – A Simulation and Analysis Environment in Python with
Plugin Infrastructure. In: Proceedings of 9th International Modelica
Conference, Munich, Germany, Sept. 2012.
[27] Ganeson A. K., Fritzson P., Rogovchenko O., Asghar A., Sjölund M.
and Pfeiffer A.: An OpenModelica Python Interface and its use in
PySimulator. Accepted for publica-tion in the Proceedings of 9th
International Modelica Conference, Munich, Germany, Sept. 2012
[28] Dolomites software, https://sourceforge.net/projects/dolomites/
[29] Femagtools Python library, https://pypi.python.org/pypi/femagtools
[30] Pyfemm Python library, https://pypi.python.org/pypi/pyfemm/0.1.0
[31] SALOME Platform, www.salome-platform.org
[32] Matlab, The MathWorks, Inc., Natick, Massachusetts, United States.
VII. B
IOGRAPHIES
P. Bonneel graduated in 2014 from the “Ecole Nationale Supérieure des
Sciences Appliquées et de Technologie” of Lannion (ENSSAT) in signal
analysis, computing science and electronics. After a first experience in
software development in speech synthesis at Voxygen, he currently works in
EOMYS ENGINEERING as an R&D engineer in informatics. He is
responsible of the development and support of MANATEE software
(Magnetic Acoustic Noise Analysis Tool for Electrical Engineering), a
Python-based simulation software of electrical machines specialized in the
calculation of electromagnetic noise and vibrations.
J. Le Besnerais currently works in EOMYS ENGINEERING as an R&D
engineer on the analysis and reduction of acoustic noise and vibrations in
electrical systems.
Following a M.Sc. specialized in Applied Mathematics (Ecole Centrale
Paris, France) in 2005, he made an industrial PhD thesis in Electrical
Engineering at the L2EP laboratory of the Ecole Centrale de Lille, North of
France, on the reduction of electromagnetic noise and vibrations in traction
induction machines with ALSTOM Transport. He worked from 2008 to 2013
as an engineer in the railway and wind industries (Alstom, Siemens Wind
Power, Nenuphar Wind) on some multiphysic design and optimization tasks
at system level (heat transfer, acoustic noise and vibrations, electromagnetics,
structural mechanics and aerodynamics). In 2013, he founded EOMYS
ENGINEERING, a company providing applied research and development
services including modeling and simulation, scientific software development
and experimental measurements.
... L'écosystème de la modélisation énergétique ouverte n'est en outre pas uniquement concentré dans les sphères académiques : les acteurs privés de l'énergie y sont aussi présents. En France, par exemple avec l'orchestrateur de cosimulation daccosim de EDF [131], le modèle de simulation offre-demande Antares de RTE [132], ou encore Pyleecan développé par l'entreprise Eomys à Lille pour la conception multiphysique de machines électriques [133]. La modélisation énergétique ouverte s'incarne également par des jeux de données ouverts et des applications à destination des citoyens, avec par exemple le service Datagir de l'ADEME [134]. ...
... Les pratiques de modélisation énergétique ouverte peuvent et doivent aussi se diffuser à ces niveaux, car les avantages de l'ouverture restent valables quelle que soit l'échelle de conception. Des exemples de pratiques de modélisation énergétique ouverte aux échelles composants s'incarnent au travers d'outils tels que openAFPM et WindSys [239] développés par le Rural Electrification Research Group à Athènes pour la conception d'éoliennes autoconstruites durables [166] ; ou encore Pyleecan développé par l'entreprise Eomys à Lille pour la conception multiphysique de machines électriques [133]. Au G2Elab, c'est l'outil NoLOAD qui a été développé aussi bien pour le dimensionnement de composants électriques (e.g. ...
Full-text available
Thesis
Energy appears as a major issue in the face of the current socio-ecological crisis. Energy modelling can be used to explore the design and management possibilities of components and systems, and thus to discern sustainable energy pathways. However, historical energy modelling and the main current approaches are proprietary and lack transparency, although the emergence of open energy modelling is promising. This thesis introduces the practices, interests and obstacles of open energy modelling, before presenting the ORUCE (Open and Reproducible Use Cases For Energy) method, designed as a transferable process to make these practices accessible to researchers in the field. This method focuses in particular on use cases as good vectors for reproducibility and capitalising on knowledge. Actual use cases in contact with energy stakeholders are presented, on the topics of waste heat recovery and photovoltaic self-consumption, illustrating the variety of uses of the ORUCE method. Finally, a concept of a collaborative open energy modelling platform is presented. This concept was refined in a user experience inquiry, and the resulting platform aims to make energy studies and associated resources accessible to stakeholders in research, public authorities and citizen collectives.
... Besides, research tools motivated by electrical engineering problems are, e.g. Agros [9], FEMM [10], openCFS [11], and for electrical machine problems Pyleecan [12]. These tools allow to study and further develop formulations, discretization techniques and solver strategies for electromagnetic field simulation, thereby covering a large fraction of research in a computational electromagnetics research group. ...
Full-text available
Preprint
Pyrit is a field simulation software based on the finite element method written in Python to solve coupled systems of partial differential equations. It is designed as a modular software that is easily modifiable and extendable. The framework can, therefore, be adapted to various activities, i.e. research, education and industry collaboration.
... Currently, OO programming languages [11,12,18,19] are mainly used as software products and design tools for EM. At the same time, the algorithms described in numerous textbooks and reference books, the sequences for calculating EM ideologically correspond to the outdated and obsolete procedural approach in programming. ...
Chapter
The paper considers the approach to the design of induction (asynchronous type) electric machines with a solid rotor, based on the method of object-oriented analysis. Such features of the object-oriented programming ideology as hierarchy, inheritance, polymorphism, are transferred to the formation of methods for designing electric machines, invariant to their type. In previous works of the authors, this approach has been partially considered, but this paper reveals the features of induction machines with a solid rotor. The special purpose is the design features of the stator and rotor parts, in particular the rotor, combines the functions of the actuator, heater and mixer of bulk materials. Directly the rotor has the form of a metal tube, on the outer surface of which are welded turns of the auger, and in the middle are two inverted stators with a slot part on the outer cylindrical core surface. A specific feature of induction machines with a solid rotor is the determination of its resistance and reactance parameters.
... In this way, the realized simulations can be accessed or used in a system level simulation by another researcher without a deep knowledge of the domain itself ( Figure 3). Nevertheless, the digital-twin-distiller is a good alternative for other open-source electrical machine design tools [42][43][44][45][46]. ...
Full-text available
Article
Tolerance analysis is crucial in every manufacturing process, such as electrical machine design, because tight tolerances lead to high manufacturing costs. A FEM-based solution of the tolerance analysis of an electrical machine can easily lead to a computationally expensive problem. Many papers have proposed the design of experiments, surrogate-model-based methodologies, to reduce the computational demand of this problem. However, these papers did not focus on the information loss and the limitations of the applied methodologies. Regardless, the absolute value of the calculated tolerance and the numerical error of the applied numerical methods can be in the same order of magnitude. In this paper, the tolerance and the sensitivity of BLDC machines’ cogging torque are analysed using different methodologies. The results show that the manufacturing tolerances can have a significant effect on the calculated parameters, and that the mean value of the calculated cogging torque increases. The design of the experiment-based methodologies significantly reduced the calculation time, and shows that the encapsulated FEM model can be invoked from an external system-level optimization to examine the design from different aspects.
... SHEHAB UND ABDALLA fokussierten in ihrer Arbeit die methodische Ermittlung von Produktkosten unter der Nutzung von KBS[168]. Das entwickelte System kann dabei sowohl Materialien als auch Fertigungsprozesse undparameter anhand eines Designs und Produktionsdaten auswählen.SCHÖNING verfolgt einen evolutionären Ansatz, um einzelne Bauteile wie den Stator durch Formeln auf die Anforderungen zu optimieren, und leistet damit einen Beitrag für eine mögliche Unterstützung des Neuentwicklungsprozesses von Elektromotoren[169].BONNEEL ET AL. erarbeiteten in dem Open-Source-Projekt PYLEECAN einen Ansatz für eine objektorientierte (Neu-)Auslegungssoftware von Elektromotoren basierend auf Python-Skripten[170].FAVI ET AL. stellten in ihren Arbeiten die kollaborative, web-basierte Entwicklungsplattform EROD (Energy Reduction Oriented Design) vor[171],[172]. Mehrere Softwaremodule unterschiedlicher Funktionalität werden hierbei in eine Plattform mit dem Ziel integriert, hocheffiziente Elektromotoren zu entwickeln. ...
Full-text available
Thesis
Moderne Fahrzeuge stehen im Fokus einer umfassenden Elektrifizierung, welche eine signifikante Steigerung der im Fahrzeug verbauten Anzahl an elektrischen Motoren und Antriebe zur Folge hat. Hersteller elektrischer Motoren müssen diese Produktvielfalt beherrschen und zudem eine hohe Anpassungsfähigkeit hinsichtlich der Abwicklung ihrer Aufträge sowie eine schnelle Reaktionsfähigkeit aufweisen. Vor diesem Hintergrund befasst sich diese Arbeit mit der Konzeption, der Entwicklung und der betrieblichen Einführung des wissensbasierten Assistenzsystems für elektrische Antriebe (engl. Drives-Development Assistance System, D-DAS). Um dies zu erreichen, werden zunächst die einzelnen Schritte der Entwicklung in einem adaptierten Elektromotor-Produktentstehungsprozess (aEMPEP) beschrieben und weiter unterteilt. Basierend auf diesem Prozess erfolgt die Konzeption des digitalen Assistenzsystems, das die Entwickler bei der Abarbeitung zeitaufwändiger, komplizierter oder fehleranfälliger Aufgaben unterstützen soll. Die Entwicklung, Implementierung und Einführung des Assistenzsystems in das fallgebende Unternehmen stellen ebenfalls den Gegenstand dieser Arbeit dar. Die Untersuchungen ergeben, dass die prozessuale Aufbereitung die Grundlage für eine Digitalisierung, Automatisierung und wissensbasierte Unterstützung darstellt. Gleichermaßen konnte mit D-DAS die Frage beantwortet werden, wie ein wissensbasiertes Assistenzsystem zur Unterstützung der Produktentwicklung elektrischer Motoren konzipiert, entwickelt und eingeführt werden muss, damit es sich für den betrieblichen Einsatz in der Industrie eignet. Abschließend erfolgt die Evaluation von D-DAS und des adaptierten Elektromotor-Produktentstehungsprozesses mittels einer Fallstudie von vier Motorenprojekten, die in einer geeigneten Ergebnisqualität resultiert.
... Some open source packages like Elmer and GetDDM [8]- [10] also support parallel computing. Furthermore, Pyleecan (Python Library for Electrical Engineering Computational Analysis) project is aiming to provide a user-friendly, unified, and license-free Python Object-Oriented computational tool for fast evaluation of electrical drives [11]. One more effective option for parallel computation is the time decomposition method (TDM) available in ANSYS Maxwell [12]. ...
Full-text available
Conference Paper
This paper investigates the losses of a 5-kW converter-fed induction motor. The loss evaluation sensitivity in Finite Element Analysis using different calculation time steps is studied. The motor losses are studied experimentally using a sinusoidal or PWM voltage supply at different operation points. In the experiments, the recorded voltage sampling interval is 1 µs to include all the PWM-induced harmonic content in the data. However, 1 µs time step leads to a long calculation time in time stepping FEA, therefore the data is downsampled to 10 us, 50 and 100 us. The length of the FEA time step is analyzed against the calculation speed and accuracy of the results.
... yleecan stands for PYthon Library for Electrical Engineering Computational ANalysis. This open-source project under Python and Apache license was first presented at ICEM 2018 [1]. The initial purpose of the project is to boost applied research and development in electric mobility and sustainable energies by providing an object-oriented development framework of electrical machines and drives modeling. ...
Full-text available
Conference Paper
Breakthrough innovations in electrical machines may be limited by parametric overlays and templates provided in commercial electromagnetic simulation software. Disruptive design spaces must therefore be explored using more flexible open-source software solutions. However, a significant scripting effort is necessary to define some new parametric geometries suitable for design optimization based on open source multiphysics solvers. This article illustrates the use of Pyleecan open-source simulation software under Python to more efficiently model, evaluate and optimize disruptive topologies of 2D or 3D electrical machines. The current status of Pyleecan initiative is first presented. Then, the principle and the advantages of the object-oriented approach of electrical machines are detailed. Some examples of complex innovative topologies that can be generated with Pyleecan are then introduced (e.g. complex winding, uneven slot types, multiple rotor and stators), as well as the optimization possibilities. Finally, the development roadmap of Pyleecan project is given.
Chapter
With the recent advancements of the fourth industrial revolution, many sensors are implemented into the products that collect the data and monitor their performance. The measurement data can be stored with the numerical models as a digital twin, and these can serve as a virtual replica of a physical object or process. These digital twins can improve the design and optimization process. The paper uses an open-source tool, the Digital-Twin-Distiller, which can encapsulate the realized finite element analysis of a model into a web application, which can be integrated easily into an optimization chain or any other business process. The paper proposes a numerical model and cogging torque analysis of an interior permanent magnet synchronous machine. The paper examines the effect of two parameters of the magnet groove shape on the cogging torque of the Prius 2004 motor model. It was found that the cogging torque of the motor is highly dependent on the shape of the flux barrier, even with minor changes. On the other hand, the wedge between the two magnets does not affect cogging torque much. KeywordsFEMElectrical machinesDigital twin
Chapter
Inhalt Zukünftiges Mobilitätsverhalten Mobilität 2050 – Selfdriving-eCo-Hyperflyyer, Drahtesel, oder was? . . . . . . . . . . . . . . . . . . .1 K. C. Keller, Aveniture GmbH, Freinsheim Ökobilanzierung Einfluss von Zellbauform und Zellchemie auf die Ökobilanz von batterieelektrischen Fahrzeugen . . . . . . .5 T. Semper, M. Clauß, IAV GmbH, Stollberg; A. Forell, IAV GmbH, Bad Cannstatt Anwendungsfallabhängige CO2 -Bilanzen elektrifizierter Fahrzeugantriebe – Use case driven CO2 footprint of electrified powertrains . . . . . . . . . . . . . . . . . . . . . . . . . . 17 O. Ludwig, J. Muth, M. Gernuks, H. Schröder, T. Löscheter Horst, Volkswagen AG, Wolfsburg Prädiktion der Lebensdauer von Traktionsbatteriesystemen für reale Nutzungsszenarien . . . .33 M. Ufert, Professur für Fahrzeugmechatronik, Technische Universität Dresden; A. Batzdorf, L. Morawietz, IAM GmbH, Dresden Predictive Energy Management Strategies for Hybrid Electric Vehicles: eHorizon for Battery Manage...
Full-text available
Conference Paper
Two-dimensional finite element analysis is a widely used tool in the design, analysis, and optimization of electrical machines and magnetic components. Although the core components of the method are relatively mature, numerous special applications are still being developed. This paper introduces an open-source library for finite element analysis in Matlab, tailored especially for electrical machines. The library is highly portable, and has a good performance. Furthermore, it provides all the basic functionality typically needed for magnetic analysis. As such, it can be used as a starting point for more advanced work.
Full-text available
Article
This paper describes an original approach dealing with AC/DC winding design in electrical machines. A research software called “ANFRACTUS Tool 1.0”, allowing automatic generation of all windings in multi-phases electrical machines, has been developed using the matrix representation. Unlike existent methods, where the aim is to synthesize a winding with higher performances, the proposed method provides the opportunity to choose between all doable windings. The specificity of this approach is based on the fact that it take only the slots, phases and layers number as input parameters. The poles number is not requested to run the generation process. Windings generation by matrix representation may be applied for any number of slots, phases and layers. The software do not deal with the manner that coils are connected but just the emplacement of coils in each slot with its current sense. The waveform and the harmonic spectrum of the total magnetomotive force (MMF) are given as result.
Full-text available
Conference Paper
This paper describes multi-slice modelling and validation of an axially skewed synchronous machine in 2D domain. The technique involves coupling of circuit and electromagnetic domains together with carefully constructed geometry. The model size in comparison with full 3D simulation reduces considerably. Developed 2.5D multi-slice model allows fast simulation in 2D domain, still taking into account 3D effect of skew on torque and back-EMF of the machine. Simulation results in 2.5D and 3D domains are compared to measurements. All simulations are performed using free and open-source tools.
Full-text available
Conference Paper
FEMM (Finite Element Method Magnetics) is a free, open source, high quality 2D finite element modelling tool extremely popular in academia for both research and teaching, particularly in the field of electrical machine design. However, FEMM suffers from being tied to the Microsoft Windows platform, and having a slow interface to external programs. This paper presents a successful project to extract the core algorithms from FEMM, make them cross-platform and compile them into a set of libraries and command-line programs. In addition the creation of a new Matlab and Octave interface with direct access to the libraries is described with an example of its use. The libraries use only the C++ standard template libraries for maximum portability. For students and researchers, the tools can be used without knowledge of C++, but for more advanced students and those who might want to add further improvements, the code has also been substantially reorganised for clarity. The new C++ toolbox is referred to as “xfemm”, and the interface “mfemm”.
Full-text available
Conference Paper
This paper demonstrates a workflow for multi-physical simulation and design optimization of electrical machines using open-source tools. The workflow demonstrates applicability of open-source tools for all steps of complex 3D Finite Element Method modelling of an electrical machine — geometry production, meshing, pre-processing, solving (even in massively parallel environment), and post-processing with visualization. The example case is a permanent magnet synchronous machine with direct immersion oil cooling. First design simulation is demonstrated. The current-source driven electromagnetic simulation is used to estimate PM eddy-current losses and iron losses to evaluate the design.
Full-text available
Conference Paper
In the case of rotating electrical machines, the magnetic forces acting on the stator teeth are the principal electromagnetic cause of vibrations. Based on this fact, this paper presents a method to compute the vibrations of an induction motor with the aid of magnetic nodal forces. An accurate computation of local or nodal forces is essential in problems pertaining to vibration and noise analysis of electrical machines. Virtual work method is utilized here to compute the nodal forces as the local derivative of magnetic energy from the Finite Element (FE) solution of the magnetic field problem. The magnetic problem is then coupled to an elasticity solver to calculate the displacement due to these forces. The nodal force method is implemented in an open source finite element software Elmer and the entire magneto-mechanical computation is carried out in the same open source tool. The calculated results are then compared to vibration measurements of the motor.
Full-text available
Article
Purpose. To develop the theoretical basis of electrical machines object-oriented design, mathematical models and software to improve their design synthesis, analysis and optimization. Methodology. We have applied object-oriented design theory in electric machines optimal design and mathematical modelling of electromagnetic transients and electromagnetic field distribution. We have correlated the simulated results with the experimental data obtained by means of the double-stator screw dryer with an external solid rotor, brushless turbo-generator exciter and induction motor with squirrel cage rotor. Results. We have developed object-oriented design methodology, transient mathematical modelling and electromagnetic field equations templates for cylindrical electrical machines, improved and remade Cartesian product and genetic optimization algorithms. This allows to develop electrical machines classifications models, included not only structure development but also parallel synthesis of mathematical models and design software, to improve electric machines efficiency and technical performance. Originality. For the first time, we have applied a new way of design and modelling of electrical machines, which is based on the basic concepts of the object-oriented analysis. For the first time is suggested to use a single class template for structural and system organization of electrical machines, invariant to their specific variety. Practical value. We have manufactured screw dryer for coil dust drying and mixing based on the performed object-oriented theory. We have developed object-oriented software for design and optimization of induction motor with squirrel cage rotor of AIR series and brushless turbo-generator exciter. The experimental studies have confirmed the adequacy of the developed object-oriented design methodology.
Technical Report
In electrical machine R&D, like in other fields, different computation methods are needed for different purposes. For detailed analysis and product design, a multi-physical finite element (FEM) analysis is required. However, if advanced multi-objective optimisation of electromechanical devices is pursued, the computational burden of FEM analysis is too high, and more simple analytical models are needed. In this study, both alternatives are discussed. One hot topic in FEM computations has lately been the utilisation of open-source FEM tools. The benefits of open source can be found e.g. in massive parallel computation, more vast scripting possibilities, and possibility to tailor the software for special usage. Here, we study open-source FEM tools for three-dimensional (3D) electromagnetic and multi-physical simulation of electrical machines. The two most promising tools are Elmer and GetDP. We present two electrical machine test cases with Elmer. Elmer and GetDP are presently only opensource tools, which can solve 3D electromagnetic problems. However, they lack features needed for rotating electrical machine computations, e.g. they have limitations with the rotation model. The limitations are more severe in GetDP. The parallel performance of Elmer exceeds the results of GetDP, as GetDP utilises parallel computation only in linear solvers, whereas Elmer also in linear system assembly. Furthermore, in the test cases, Elmer shows a good parallel performance with rotating electrical machine models. Additionally, optimisation of electrical machines was studied. An analytical model implemented in MATLAB was used to represent an electrical machine in the optimisation process. Both single and multi-objective algorithms were tested in DAKOTA optimisation tool.
Conference Paper
A new simulation and analysis environment in Python is introduced. The environment provides a graphical user interface for simulating different model types (currently Functional Mockup Units and Modelica Models), plotting result variables and applying simulation result analysis tools like Fast Fourier Transform. Additionally advanced tools for linear system analysis are provided that can be applied to the automatically linearized models. The modular concept of the software enables easy development of further plugins for both simulation and analysis.