# PyPEEC - 3D Quasi-Magnetostatic Solver
---
* **Website: [pypeec.otvam.ch](https://pypeec.otvam.ch)**
* **Repository: [github.com/otvam/pypeec](https://github.com/otvam/pypeec)**
* **Paper: [doi.org/10.21105/joss.06644](https://doi.org/10.21105/joss.06644)**
* **Conda: [anaconda.org/conda-forge/pypeec](https://anaconda.org/conda-forge/pypeec)**
* **PyPI: [pypi.org/project/pypeec](https://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**
* [Website](https://pypeec.otvam.ch)
* [Repository](https://github.com/otvam/pypeec)
* [Paper](https://doi.org/10.21105/joss.06644)
* [Citation](https://doi.org/10.21105/joss.06644)
* [Issues](https://github.com/otvam/pypeec/issues)
* **Releases**
* [PyPI](https://pypi.org/project/pypeec)
* [Conda](https://anaconda.org/conda-forge/pypeec)
* [GitHub](https://github.com/otvam/pypeec/releases)
* [Zenodo](https://doi.org/10.5281/zenodo.14941571)
* **Documentation**
* [Installation](https://pypeec.otvam.ch/content/install.html)
* [Tutorial](https://pypeec.otvam.ch/content/tutorial.html)
* [Examples](https://pypeec.otvam.ch/content/examples.html)
* [Gallery](https://pypeec.otvam.ch/content/gallery.html)
## 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.
---
Raw data
{
"_id": null,
"home_page": null,
"name": "pypeec",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Thomas Guillod <guillod@otvam.ch>",
"keywords": "PyPEEC, FFT, PEEC, 3D, voxel, conductor, electric, magnetic, field simulation, maxwell equations, frequency domain, power electronics",
"author": null,
"author_email": "Thomas Guillod <guillod@otvam.ch>",
"download_url": "https://files.pythonhosted.org/packages/43/5f/281d548c1c089aa09e6c2de9909cd3933b5a11edc746302495a61fa01998/pypeec-5.7.4.tar.gz",
"platform": null,
"description": "# PyPEEC - 3D Quasi-Magnetostatic Solver\n\n---\n* **Website: [pypeec.otvam.ch](https://pypeec.otvam.ch)**\n* **Repository: [github.com/otvam/pypeec](https://github.com/otvam/pypeec)**\n* **Paper: [doi.org/10.21105/joss.06644](https://doi.org/10.21105/joss.06644)**\n* **Conda: [anaconda.org/conda-forge/pypeec](https://anaconda.org/conda-forge/pypeec)**\n* **PyPI: [pypi.org/project/pypeec](https://pypi.org/project/pypeec)**\n---\n\n## Summary\n\n**PyPEEC** is a **3D quasi-magnetostatic PEEC solver** developed at **Dartmouth College** within the Power Management Integration Center (PMIC).\nPyPEEC is a **fast solver** (FFT and GPU accelerated) that can simulate a large variety of **magnetic components** (inductors, transformers, chokes, IPT coils, busbars, etc.).\nThe tool contains a **mesher** (STL, PNG, and GERBER formats), a **solver** (static and frequency domain), and **advanced plotting** capabilities.\nThe code is written in **Python** and is fully **open source**!\n\n## Capabilities\n\n**PyPEEC** features the following **characteristics**:\n\n* **PEEC method** with **FFT acceleration**.\n* **Fast** with **moderate memory** requirements.\n* Representation of the **geometry** with **3D voxels**.\n* **Parallel processing** and **GPU acceleration** are available.\n* Import the **geometry** from **STL**, **PNG**, and **GERBER** files.\n* Draw the **geometry** with stacked 2D **vector shapes** or **voxel indices**.\n* **Pure Python** and **open source** implementation.\n* Can be used from the **command line** or with an **API**.\n* Advanced **plotting and visualization** capabilities.\n* Compatible with **Jupyter notebooks**.\n* Compatible with **ParaView**.\n\n**PyPEEC** solves the following **3D quasi-magnetostatic problems**:\n\n* Frequency domain solution (DC and AC).\n* Conductive and magnetic domains (ideal or lossy).\n* Isotropic, anisotropic, lumped, and distributed materials.\n* Connection of current and voltage sources.\n* Extraction of the current density, flux density, and potential.\n* Extraction of the terminal voltage, current, and power.\n* Computation of the free-space magnetic field .\n\n**PyPEEC** has the following **limitations**:\n\n* No capacitive effects.\n* No dielectric domains.\n* No force computations.\n* No advanced boundary conditions.\n* No domain decomposition techniques.\n* No hierarchical matrix techniques.\n* No model order reduction techniques.\n* Limited to voxel geometries.\n\nThe **PyPEEC** package contains the following **tools**:\n\n* **mesher** - Create a 3D voxel structure from the geometry.\n* **viewer** - Visualization of the 3D voxel structure.\n* **solver** - Solve the quasi-magnetostatic problem.\n* **plotter** - Visualization of the problem solution.\n\n## Warning\n\nThe geometry is meshed with a **regular voxel structure** (uniform grid).\nSome geometries/problems are not suited for voxel structures (inefficient meshing).\nFor such cases, PyPEEC can be very slow and consume a lot of memory.\n\n## Project Links\n\n* **PyPEEC**\n\n * [Website](https://pypeec.otvam.ch)\n * [Repository](https://github.com/otvam/pypeec)\n * [Paper](https://doi.org/10.21105/joss.06644)\n * [Citation](https://doi.org/10.21105/joss.06644)\n * [Issues](https://github.com/otvam/pypeec/issues)\n\n* **Releases**\n\n * [PyPI](https://pypi.org/project/pypeec)\n * [Conda](https://anaconda.org/conda-forge/pypeec)\n * [GitHub](https://github.com/otvam/pypeec/releases)\n * [Zenodo](https://doi.org/10.5281/zenodo.14941571)\n\n* **Documentation**\n\n * [Installation](https://pypeec.otvam.ch/content/install.html)\n * [Tutorial](https://pypeec.otvam.ch/content/tutorial.html)\n * [Examples](https://pypeec.otvam.ch/content/examples.html)\n * [Gallery](https://pypeec.otvam.ch/content/gallery.html)\n\n## Author\n\n* Name: **Thomas Guillod**\n* Affiliation: Dartmouth College\n* Email: guillod@otvam.ch\n* Website: https://otvam.ch\n\n## Credits\n\nPyPEEC was created at **Dartmouth College** by the research group of **Prof. Sullivan**:\n\n* Dartmouth College, NH, USA: https://dartmouth.edu\n* Dartmouth Engineering: https://engineering.dartmouth.edu\n* NSF/PMIC: https://pmic.engineering.dartmouth.edu\n\nThe FFT-accelerated PEEC method with voxels has been first described and implemented in:\n\n* Torchio, R., IEEE TPEL, 10.1109/TPEL.2021.3092431, 2022\n* Torchio, R., https://github.com/UniPD-DII-ETCOMP/FFT-PEEC\n\n## Copyright\n\n(c) 2023-2025 / Thomas Guillod / Dartmouth College\n\nThis Source Code Form is subject to the terms of the Mozilla Public\nLicense, v. 2.0. If a copy of the MPL was not distributed with this\nfile, You can obtain one at http://mozilla.org/MPL/2.0/.\n\nIn order to facilitate the redistribution, this source code is\nmulti-licensed under the following additional licenses:\nLGPLv2, LGPLv3, GPLv2, and GPLv3.\n\n---\n\n",
"bugtrack_url": null,
"license": null,
"summary": "PyPEEC - 3D Quasi-Magnetostatic Solver",
"version": "5.7.4",
"project_urls": {
"Homepage": "https://pypeec.otvam.ch",
"Issues": "https://github.com/otvam/pypeec/issues",
"Paper": "https://doi.org/10.21105/joss.06644",
"Releases": "https://github.com/otvam/pypeec/releases",
"Repository": "https://github.com/otvam/pypeec"
},
"split_keywords": [
"pypeec",
" fft",
" peec",
" 3d",
" voxel",
" conductor",
" electric",
" magnetic",
" field simulation",
" maxwell equations",
" frequency domain",
" power electronics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3b433d15b8b5d31798fab33401d9bcd9596e2332973a667f66ce45ef22391bc4",
"md5": "a79446ed106ff3182379804bbe7fc746",
"sha256": "c0a67a036eba508f09849e1311f26c80c3040b68ae80a03d574f3e05a6300272"
},
"downloads": -1,
"filename": "pypeec-5.7.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a79446ed106ff3182379804bbe7fc746",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 7279937,
"upload_time": "2025-09-03T18:07:30",
"upload_time_iso_8601": "2025-09-03T18:07:30.188316Z",
"url": "https://files.pythonhosted.org/packages/3b/43/3d15b8b5d31798fab33401d9bcd9596e2332973a667f66ce45ef22391bc4/pypeec-5.7.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "435f281d548c1c089aa09e6c2de9909cd3933b5a11edc746302495a61fa01998",
"md5": "e8bd80b9ecf7d1ad900313a6aee353d4",
"sha256": "540678c8685f0df079331754ef759f9ebe2f4fe08b461a6a1ba8db82c91c5799"
},
"downloads": -1,
"filename": "pypeec-5.7.4.tar.gz",
"has_sig": false,
"md5_digest": "e8bd80b9ecf7d1ad900313a6aee353d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 11355865,
"upload_time": "2025-09-03T18:07:33",
"upload_time_iso_8601": "2025-09-03T18:07:33.364886Z",
"url": "https://files.pythonhosted.org/packages/43/5f/281d548c1c089aa09e6c2de9909cd3933b5a11edc746302495a61fa01998/pypeec-5.7.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-03 18:07:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "otvam",
"github_project": "pypeec",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pypeec"
}