Inductance¶
Comprehensive documentation for inductance calculation models
MKF calculates inductance using magnetic circuit analysis with reluctance-based methods. The fundamental relationship is:
$$L = \frac{N^2}{\mathcal{R}_{total}}$$
Where $N$ is the number of turns and $\mathcal{R}_{total}$ is the total magnetic circuit reluctance (sum of core and gap reluctances).
For coupled inductors and transformers, MKF uses matrix theory to compute the full inductance matrix including self and mutual inductances.
Magnetizing Inductance¶
Primary (magnetizing) inductance is calculated from magnetic circuit analysis:
$$L_m = \frac{N^2}{\mathcal{R}{core} + \mathcal{R}$$}
Where: - Core reluctance: $\mathcal{R}_{core} = \frac{l_e}{\mu_0 \mu_r A_e}$ - Gap reluctance: Uses the selected reluctance model (Zhang, Muhlethaler, etc.)
The effective permeability with an air gap is:
$$\mu_{eff} = \frac{\mu_r}{1 + \mu_r \cdot l_g / l_e}$$
For gapped cores, the air gap dominates the reluctance, making inductance relatively insensitive to core permeability variations.
Inductance Matrix for Multi-Winding Components¶
For transformers with multiple windings, MKF computes the full inductance matrix:
$$[L] = [N]^T [\mathcal{P}] [N]$$
Where: - $[N]$ is the turns matrix (diagonal for standard transformers) - $[\mathcal{P}]$ is the permeance matrix
The inductance matrix elements are: - Diagonal elements ($L_{ii}$): Self-inductance of winding $i$ - Off-diagonal elements ($L_{ij}$): Mutual inductance between windings $i$ and $j$
Leakage Inductance¶
Leakage inductance represents flux that doesn't link all windings. It's critical for: - Transformer voltage regulation - Resonant converter design (LLC, phase-shifted full-bridge) - EMI and voltage spikes
MKF calculates leakage inductance using energy-based methods:
$$L_{leak} = \frac{2 W_{leak}}{I^2} = \frac{1}{I^2} \int_{volume} \frac{B^2}{\mu_0} dV$$
The magnetic field distribution is computed using the selected magnetic field model (Binns-Lawrenson, Dowell, etc.), then integrated over the winding window volume.
Leakage Inductance Factors¶
Leakage inductance depends on:
| Factor | Effect | Design Implication |
|---|---|---|
| Winding spacing | Linear increase | Minimize gaps between windings |
| Number of layers | Quadratic increase | Interleave to reduce |
| Winding width | Inverse | Use full bobbin width |
| Window height | Linear decrease | Taller windows help |
| Interleaving | Significant reduction | P-S-P-S beats P-P-S-S |
Rogowski Factor¶
The Rogowski factor corrects for non-uniform field distribution at winding ends:
$$k_R = 1 - \frac{1 - e^{-\pi h/w}}{\pi h/w}$$
Where $h$ is winding height and $w$ is winding width.
Configuration Settings¶
Key settings affecting inductance calculations:
| Setting | Effect |
|---|---|
reluctance_model |
Determines gap fringing accuracy |
magnetic_field_strength_model |
Affects leakage calculation |
magnetic_field_include_fringing |
Include gap fringing in field calc |
magnetizing_inductance_include_air_inductance |
Include air-core inductance |
leakage_inductance_grid_auto_scaling |
Auto-adjust grid density |
leakage_inductance_grid_precision_level_planar |
Grid precision for planar |
leakage_inductance_grid_precision_level_wound |
Grid precision for wound |
For resonant converters: Accurate leakage inductance is critical. Use Muhlethaler reluctance model and Binns-Lawrenson field model with fine grid resolution.
Usage¶
#include "physical_models/Inductance.h"
#include "physical_models/LeakageInductance.h"
// Create magnetic component
auto magnetic = OpenMagnetics::Magnetic(...);
// Calculate magnetizing inductance
auto inductance = OpenMagnetics::MagnetizingInductance();
auto L_m = inductance.calculate_inductance(magnetic, operatingPoint);
// Calculate leakage inductance
auto leakage = OpenMagnetics::LeakageInductance();
auto L_leak = leakage.calculate_leakage_inductance(magnetic, operatingPoint);
// Get full inductance matrix for multi-winding transformer
auto L_matrix = inductance.calculate_inductance_matrix(magnetic, operatingPoint);
Design Guidelines¶
For Inductors¶
- Gap length determines inductance (assuming high-permeability core)
- Use Zhang or Muhlethaler model for accurate gap fringing
- Check saturation: $B_{peak} = \frac{L \cdot I_{peak}}{N \cdot A_e}$
For Transformers¶
- Magnetizing inductance affects duty cycle in flyback
- Leakage inductance causes voltage spikes and affects regulation
- Interleave windings to reduce leakage (but increases capacitance)
For Resonant Converters¶
- Leakage inductance is a design parameter, not a parasitic
- LLC: Leakage acts as series resonant inductor
- PSFB: Leakage enables ZVS transitions
- Use accurate models and verify with measurements