PyPEEC - 3D Quasi-Magnetostatic Solver
- Website: pypeec.otvam.ch
- Repository: github.com/otvam/pypeec
- Paper: doi.org/10.21105/joss.06644
- Conda: anaconda.org/conda-forge/pypeec
- PyPI: pypi.org/project/pypeec
Summary
PyPEEC is a 3D quasi-magnetostatic PEEC solver developed at Dartmouth College within the Power Management Integration Center (PMIC). PyPEEC is a fast solver (FFT and GPU accelerated) that can simulate a large variety of magnetic components (inductors, transformers, chokes, IPT coils, busbars, etc.). The tool contains a mesher (STL, PNG, and GERBER formats), a solver (static and frequency domain), and advanced plotting capabilities. The code is written in Python and is fully open source!
Capabilities
PyPEEC features the following characteristics:
- PEEC method with FFT acceleration.
- Fast with moderate memory requirements.
- Representation of the geometry with 3D voxels.
- Parallel processing and GPU acceleration are available.
- Import the geometry from STL, PNG, and GERBER files.
- Draw the geometry with stacked 2D vector shapes or voxel indices.
- Pure Python and open source implementation.
- Can be used from the command line or with an API.
- Advanced plotting and visualization capabilities.
- Compatible with Jupyter notebooks.
- Compatible with ParaView.
PyPEEC solves the following 3D quasi-magnetostatic problems:
- Frequency domain solution (DC and AC).
- Conductive and magnetic domains (ideal or lossy).
- Isotropic, anisotropic, lumped, and distributed materials.
- Connection of current and voltage sources.
- Extraction of the current density, flux density, and potential.
- Extraction of the terminal voltage, current, and power.
- Computation of the free-space magnetic field .
PyPEEC has the following limitations:
- No capacitive effects.
- No dielectric domains.
- No force computations.
- No advanced boundary conditions.
- No domain decomposition techniques.
- No hierarchical matrix techniques.
- No model order reduction techniques.
- Limited to voxel geometries.
The PyPEEC package contains the following tools:
- mesher - Create a 3D voxel structure from the geometry.
- viewer - Visualization of the 3D voxel structure.
- solver - Solve the quasi-magnetostatic problem.
- plotter - Visualization of the problem solution.
Warning
The geometry is meshed with a regular voxel structure (uniform grid). Some geometries/problems are not suited for voxel structures (inefficient meshing). For such cases, PyPEEC can be very slow and consume a lot of memory.
Project Links
-
PyPEEC
-
Releases
-
Documentation
Author
- Name: Thomas Guillod
- Affiliation: Dartmouth College
- Email: guillod@otvam.ch
- Website: https://otvam.ch
Credits
PyPEEC was created at Dartmouth College by the research group of Prof. Sullivan:
- Dartmouth College, NH, USA: https://dartmouth.edu
- Dartmouth Engineering: https://engineering.dartmouth.edu
- NSF/PMIC: https://pmic.engineering.dartmouth.edu
The FFT-accelerated PEEC method with voxels has been first described and implemented in:
- Torchio, R., IEEE TPEL, 10.1109/TPEL.2021.3092431, 2022
- Torchio, R., https://github.com/UniPD-DII-ETCOMP/FFT-PEEC
Copyright
(c) 2023-2025 / Thomas Guillod / Dartmouth College
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
In order to facilitate the redistribution, this source code is multi-licensed under the following additional licenses: LGPLv2, LGPLv3, GPLv2, and GPLv3.
Release files for pypeec 5.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pypeec-5.8.0.tar.gz | 11.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pypeec-5.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.6 MB
Release files / pypeec-5.8.0.tar.gz
| Download URL | pypeec-5.8.0.tar.gz |
|---|---|
| Size | 11.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e83883b5b3f651e1f453cd42ccd92796f04dea0e0b819184baaae5622035281
|
|
BLAKE2b-256 checksum How to use checksums |
925d674efb33fe856675dd38c36e112655633f2a0eaf3b3a8ab7ca5d4f843a90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / pypeec-5.8.0-py3-none-any.whl
| Download URL | pypeec-5.8.0-py3-none-any.whl |
|---|---|
| Size | 7.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1caa513b21e6d75ba1fce62f11227b8245d092113705396ff2d45e4c1aa00dcc
|
|
BLAKE2b-256 checksum How to use checksums |
11e4356b7b66bb8e0392fcd14dcbce7562d4ed8c01fe512042ea8405b83325a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|