Skip to main content

PyMMM - Würth Elektronik Magnetic Modeling Module

Python wrapper over OpenMagnetics for flyback transformer and current transformer selection from Würth's catalog.

Features

  • Energy-based magnetic filtering - Quickly filter catalog by storable energy
  • Virtual magnetics - Generate winding combinations from real products
  • Flyback/CT design - Process design inputs for flyback and current transformers
  • Full simulation - Core losses, winding losses, temperature rise calculations
  • Visualization - SVG plots of cores, windings, and magnetic fields

Installation

pip install wheelhouse/pymmm-*.whl

Quick Start

import PyMMM

# Load catalog
PyMMM.load_magnetics_from_file("flybacks.ndjson", expand=True)

# Define requirements
inputs = {
    "inputVoltage": {"minimum": 85, "maximum": 265},
    "operatingPoints": [{
        "outputVoltages": [12],
        "outputCurrents": [1],
        "switchingFrequency": 100000,
        "mode": "Discontinuous Conduction Mode"
    }]
}

# Filter by energy
PyMMM.compute_energy_cache(100, inputs)
min_energy = PyMMM.calculate_flyback_required_magnetic_energy(inputs)
refs = PyMMM.filter_magnetics_by_energy(min_energy, min_energy * 2)

# Get virtual magnetics
for ref in refs:
    result = PyMMM.calculate_virtual_magnetics_by_reference(ref, inputs, True)
    print(result["virtualMagnetics"])

Building from Source

# Build wheel
python3 -m pipx run build

# Or with cibuildwheel for manylinux
cibuildwheel

Documentation

See llms.txt for detailed API documentation and usage patterns.

API Reference

Run help(PyMMM) or help(PyMMM.function_name) for function documentation.

Key Functions

Function Description
load_magnetics_from_file Load catalog from NDJSON
compute_energy_cache Precompute storable energy
filter_magnetics_by_energy Filter by energy range
calculate_virtual_magnetics_by_reference Generate winding combinations
filter_magnetics_by_flow Score and rank magnetics
devirtualize_mas_by_reference Map virtual to real product
calculate_saturation_current Calculate saturation current

License

Proprietary - Würth Elektronik

Metadata

Release files for PyMMM 0.7.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for PyMMM 0.7.12
File
pymmm-0.7.12-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pymmm-0.7.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pymmm-0.7.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pymmm-0.7.12-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details

Total release size: 29.3 MB

Release files / pymmm-0.7.12-cp312-cp312-win_amd64.whl

Download URL pymmm-0.7.12-cp312-cp312-win_amd64.whl
Size 3.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e06305eb8c82198c64003faba0de58fa4d19cbdf9a8775c11d6a8ea90e051d6e
BLAKE2b-256 checksum
How to use checksums
bab3cf96bd49f3aa396c15c645f84e30df17514f7d603974a6a4a8ea0d5f0801
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / pymmm-0.7.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pymmm-0.7.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.5 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4da77a16448d5af38623d0750dbd2c01b8d6c7d195e1910912a1d263f31f5f45
BLAKE2b-256 checksum
How to use checksums
11fc004227168226436f7c8436717cf1283dc4c3cbd103508f03ac0b90bf511d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / pymmm-0.7.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pymmm-0.7.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.5 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
18d474b212f1dd9949a92895eab40699c1ea583cb1b2f8e8e71016d671678ecc
BLAKE2b-256 checksum
How to use checksums
6f2cfa28da88e0074a0dd3197efff0ab471e1c24a88ce5fe4d4899f053b9e3dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / pymmm-0.7.12-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pymmm-0.7.12-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.5 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
96fc9aa71e5da776605054e6c5571215d41d8a5c7c1a5068174a2b1329783c6d
BLAKE2b-256 checksum
How to use checksums
2c95ddf98905db169a08876986177aff86870888166db1b35e66b88449574cbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.7.12 This release

4 release files

0.7.11

6 release files

0.7.9

12 release files

0.7.8

6 release files

0.7.7

12 release files

0.7.6

12 release files

0.7.5

6 release files

0.7.3

6 release files

0.7.2

6 release files

0.7

12 release files

0.6

12 release files

0.5.1

12 release files

0.5

12 release files

0.4

12 release files

0.3

6 release files

0.2

12 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