Skip to main content

PyPEEC - 3D Quasi-Magnetostatic Solver



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

Credits

PyPEEC was created at Dartmouth College by the research group of Prof. Sullivan:

The FFT-accelerated PEEC method with voxels has been first described and implemented in:

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)

Source distribution for pypeec 5.8.0
File Size Uploaded
pypeec-5.8.0.tar.gz 11.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypeec 5.8.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

5.8.0 This release

2 release files

5.7.4

2 release files

5.7.3

2 release files

5.7.2

2 release files

5.7.1

2 release files

5.7.0

2 release files

5.6.1

2 release files

5.6.0

2 release files

5.5.4

2 release files

5.5.3

2 release files

5.5.2

2 release files

5.5.1

2 release files

5.5.0

2 release files

5.4.1

2 release files

5.4.0

2 release files

5.3.3

2 release files

5.3.2

2 release files

5.3.1

2 release files

5.3.0

2 release files

5.2.4

2 release files

5.2.3

2 release files

5.2.2

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.18.3

2 release files

4.18.2

2 release files

4.18.0

2 release files

4.17.0

2 release files

4.16.2

2 release files

4.16.0

2 release files

4.15.2

2 release files

4.15.1

2 release files

4.14.2

2 release files

4.14.1

2 release files

4.14.0

2 release files

4.12.0

2 release files

4.11.0

2 release files

4.9.0

2 release files

4.8.0

2 release files

4.7.0

2 release files

4.6.0

2 release files

4.5.0

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

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