Skip to main content

PyPEEC - 3D Quasi-Magnetostatic Solver

Project description

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.


Project details


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.7.1.tar.gz (11.4 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pypeec-5.7.1.tar.gz
Algorithm Hash digest
SHA256 a4285801c5388d9b99f5508bc55d399395c7f10c3929e192f04af1af389488ca
MD5 de2bdf24ed2eb764daad8f3b0fa7fe88
BLAKE2b-256 b7e4681a60cb8ea6cb7c70157a9a5684f45e5cbfaf67bcb60380f80fe2f68202

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pypeec-5.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3b8341d413ad8d4c6d84277d9318f447cbc26d517fc4e3d4767b26100f1a156c
MD5 7bebb55ad1459e36cac18015a8d51f71
BLAKE2b-256 33b7fee09f937543d5b6f53b742a5f728c336bb427c721723c6372593a1f20c7

See more details on using hashes here.

Supported by

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