PyPEEC

PyPEEC: A 3D Quasi-Magnetostatic Solver using an FFT-Accelerated PEEC Method with Voxelization - Published in JOSS (2025)

https://github.com/otvam/pypeec

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 16 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

3d conductor electric fft field-simulation frequency-domain magnetic maxwell-equations peec power-electronics pypeec voxel
Last synced: 4 months ago · JSON representation ·

Repository

PyPEEC - 3D Quasi-Magnetostatic FFT/PEEC Solver

Basic Info
  • Host: GitHub
  • Owner: otvam
  • License: mpl-2.0
  • Language: Python
  • Default Branch: main
  • Homepage: https://pypeec.otvam.ch
  • Size: 14.7 MB
Statistics
  • Stars: 34
  • Watchers: 3
  • Forks: 4
  • Open Issues: 0
  • Releases: 74
Topics
3d conductor electric fft field-simulation frequency-domain magnetic maxwell-equations peec power-electronics pypeec voxel
Created almost 3 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Citation Security

README.md

PyPEEC - 3D Quasi-Magnetostatic Solver

PyPEEC Banner

python 3 MPL-2.0 git / repo paper / 10.21105/joss.06644 doc / sphinx pypi / pkg conda / pkg


* 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

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.


Dartmouth and PMIC

Owner

  • Name: Thomas Guillod
  • Login: otvam
  • Kind: user
  • Location: NH, USA
  • Company: Dartmouth College

Open source projects, mainly for science and power electronics!

JOSS Publication

PyPEEC: A 3D Quasi-Magnetostatic Solver using an FFT-Accelerated PEEC Method with Voxelization
Published
September 02, 2025
Volume 10, Issue 113, Page 6644
Authors
Thomas Guillod ORCID
Dartmouth College, NH, USA
Charles R. Sullivan ORCID
Dartmouth College, NH, USA
Editor
Johanna Bayer ORCID
Tags
fft acceleration quasi magnetostatic power electronics peec voxel maxwell python magnetics

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Guillod
  given-names: Thomas
  orcid: "https://orcid.org/0000-0003-0738-5823"
- family-names: Sullivan
  given-names: Charles R.
  orcid: "https://orcid.org/0000-0001-7492-9005"
contact:
- family-names: Guillod
  given-names: Thomas
  orcid: "https://orcid.org/0000-0003-0738-5823"
doi: 10.5281/zenodo.16764265
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Guillod
    given-names: Thomas
    orcid: "https://orcid.org/0000-0003-0738-5823"
  - family-names: Sullivan
    given-names: Charles R.
    orcid: "https://orcid.org/0000-0001-7492-9005"
  date-published: 2025-09-02
  doi: 10.21105/joss.06644
  issn: 2475-9066
  issue: 113
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6644
  title: "PyPEEC: A 3D Quasi-Magnetostatic Solver using an
    FFT-Accelerated PEEC Method with Voxelization"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06644"
  volume: 10
title: "PyPEEC: A 3D Quasi-Magnetostatic Solver using an FFT-Accelerated
  PEEC Method with Voxelization"

GitHub Events

Total
  • Create event: 48
  • Issues event: 6
  • Release event: 22
  • Watch event: 15
  • Delete event: 1
  • Issue comment event: 5
  • Push event: 426
  • Fork event: 2
Last Year
  • Create event: 48
  • Issues event: 6
  • Release event: 22
  • Watch event: 15
  • Delete event: 1
  • Issue comment event: 5
  • Push event: 426
  • Fork event: 2

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 1,034
  • Total Committers: 1
  • Avg Commits per committer: 1,034.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 809
  • Committers: 1
  • Avg Commits per committer: 809.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Thomas Guillod g****d@o****h 1,034
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 12
  • Total pull requests: 0
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 0
  • Average comments per issue: 2.17
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 0
  • Average time to close issues: 2 days
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 1.25
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • otvam (7)
  • Pimss (2)
  • thelfer (2)
Pull Request Authors
Top Labels
Issue Labels
bug (6) enhancement (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 587 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 57
  • Total maintainers: 1
pypi.org: pypeec

PyPEEC - 3D Quasi-Magnetostatic Solver

  • Versions: 57
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 587 Last month
Rankings
Dependent packages count: 7.3%
Average: 24.3%
Dependent repos count: 41.4%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/run_commit.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/run_platform.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/run_version.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
requirements.txt pypi
  • Pillow >=10.0
  • PyQt5 >=5.15
  • PyYAML >=6.0
  • joblib >=1.3
  • matplotlib >=3.7
  • numpy >=1.24
  • pyvista >=0.40
  • pyvistaqt >=0.11
  • rasterio >=1.3
  • scipy >=1.9
  • shapely >=2.0
  • vtk >=9.2