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.


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypeec-5.8.0.tar.gz (11.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypeec-5.8.0-py3-none-any.whl (7.3 MB view details)

Uploaded Python 3

File details

Details for the file pypeec-5.8.0.tar.gz.

File metadata

  • Download URL: pypeec-5.8.0.tar.gz
  • Upload date:
  • Size: 11.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pypeec-5.8.0.tar.gz
Algorithm Hash digest
SHA256 8e83883b5b3f651e1f453cd42ccd92796f04dea0e0b819184baaae5622035281
MD5 0a9e8e108e3b63aca4d3890be5c49ebd
BLAKE2b-256 925d674efb33fe856675dd38c36e112655633f2a0eaf3b3a8ab7ca5d4f843a90

See more details on using hashes here.

File details

Details for the file pypeec-5.8.0-py3-none-any.whl.

File metadata

  • Download URL: pypeec-5.8.0-py3-none-any.whl
  • Upload date:
  • Size: 7.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pypeec-5.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1caa513b21e6d75ba1fce62f11227b8245d092113705396ff2d45e4c1aa00dcc
MD5 6a9ffc5d783a48d9ae9a3ce5937b1928
BLAKE2b-256 11e4356b7b66bb8e0392fcd14dcbce7562d4ed8c01fe512042ea8405b83325a2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

5.8.0 This release

2 files

5.7.4

2 files

5.7.3

2 files

5.7.2

2 files

5.7.1

2 files

5.7.0

2 files

5.6.1

2 files

5.6.0

2 files

5.5.4

2 files

5.5.3

2 files

5.5.2

2 files

5.5.1

2 files

5.5.0

2 files

5.4.1

2 files

5.4.0

2 files

5.3.3

2 files

5.3.2

2 files

5.3.1

2 files

5.3.0

2 files

5.2.4

2 files

5.2.3

2 files

5.2.2

2 files

5.2.1

2 files

5.2.0

2 files

5.1.0

2 files

5.0.1

2 files

5.0.0

2 files

4.18.3

2 files

4.18.2

2 files

4.18.1

2 files

4.18.0

2 files

4.17.0

2 files

4.16.2

2 files

4.16.1

2 files

4.16.0

2 files

4.15.2

2 files

4.15.1

2 files

4.15.0

2 files

4.14.2

2 files

4.14.1

2 files

4.14.0

2 files

4.13.0

2 files

4.12.0

2 files

4.11.0

2 files

4.10.0

2 files

4.9.0

2 files

4.8.0

2 files

4.7.0

2 files

4.6.0

2 files

4.5.0

2 files

4.4.0

2 files

4.3.0

2 files

4.2.0

2 files

4.1.0

2 files

4.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page