This directory contains practical examples demonstrating PyOpenMagnetics workflows.
| File | Description |
|---|---|
| flyback_design.py | Complete flyback transformer design workflow |
| buck_inductor.py | Buck converter output inductor design |
# Install PyOpenMagnetics first
pip install PyOpenMagnetics
# Run an example
python examples/flyback_design.py- Defining multi-output flyback requirements
- Using the design adviser
- Calculating core and winding losses
- Exploring the material/shape database
- Non-isolated inductor design
- Working with DC bias and saturation
- Wire selection for high currents
- Powder core considerations
All examples follow this general workflow:
import PyOpenMagnetics
# 1. Define requirements
inputs = {
"designRequirements": {
"magnetizingInductance": {"nominal": 100e-6},
# ... other requirements
},
"operatingPoints": [{
"conditions": {"ambientTemperature": 25},
"excitationsPerWinding": [{
"frequency": 100000,
"current": {"waveform": {...}},
"voltage": {"waveform": {...}}
}]
}]
}
# 2. Process inputs (adds harmonics)
processed = PyOpenMagnetics.process_inputs(inputs)
# 3. Get recommendations
result = PyOpenMagnetics.calculate_advised_magnetics(processed, 5, "STANDARD_CORES")
# 4. Analyze results - result["data"] contains list of {mas, scoring, scoringPerFilter}
for item in result["data"]:
mag = item["mas"]["magnetic"]
losses = PyOpenMagnetics.calculate_core_losses(
mag["core"],
mag["coil"],
processed,
{"coreLosses": "IGSE", "reluctance": "ZHANG"}
)
print(f"Core losses: {losses['coreLosses']:.3f} W, Score: {item['scoring']:.3f}")- llms.txt - Complete API reference
- PyOpenMagnetics.pyi - Type stubs for IDE support
- MAS Schema - Data structure definitions