Changelog¶
Changelog¶
All notable changes to this project are documented here. The format follows Keep a Changelog; versions follow semantic versioning (0.x: minor bumps may change APIs).
0.7.0 — 2026-06-12¶
First PyPI release. Hardening pass driven by a three-track review (science, packaging, code quality).
Added¶
carter_factorparameter onAnalyticalModelandAnnularModel— feed a measured Carter factor (e.g. fromvalidation.measured_carter_factor) back into the load line.- Public
axfluxmdo.viz.can_render()(was private),py.typedmarker (PEP 561),UnknownKeyErrorfor alias-resolution failures. - "Model fidelity & known limitations" README section consolidating the documented simplifications (single-gap axial pull, no saturation, inductive drop neglected, magnet-temperature decoupling, omitted loss mechanisms).
- Tag-triggered PyPI release workflow (trusted publishing).
- Python 3.11 added to the CI matrix.
Fixed¶
plot_surrogate_slicecrashed on non-numeric choice variables; now sweeps option indices with labeled ticks.replace_fieldrejects multi-level dotted paths with a clear error.- README image links absolute (render correctly on PyPI).
0.6.0 — 2026-06-12¶
Added¶
- PyVista 3D visualization (
viz/pyvista_3d.py,[viz3d]extra): full-360° parametric assembly (exact-volume hexahedral sectors), cutaway static view, spinning-rotor and exploded-assembly GIF animations; committed renders in the README.
0.5.0 — 2026-06-12¶
Added¶
- Phase 5 (final SPEC phase):
DesignDataset(JSONL persistence),GPSurrogate(ARD Matérn + CV diagnostics) andRandomForestSurrogate,bayesian_optimize/BOStudywith expected-improvement acquisition, soft-penalty constraint handling,expensive_fnhook for FEA-in-the-loop, uncertainty-awarerecommend(); convergence and surrogate-slice plots. Backend decision: scikit-learn GP + hand-rolled EI (BoTorch/skopt remain future alternatives).
0.4.0 — 2026-06-12¶
Added¶
- Phase 4: Gmsh 2D-unrolled and 3D-sector mesh export, GetDP open-circuit
magnetostatics pipeline,
validation/sim2real.pyresidual analysis and measured Carter factor, committed golden FEA tables. Headline finding: the 1D load line overestimates the gap field (−11% mean / −7% fundamental, measured k_C = 1.44). Elmer integration deferred.
Fixed¶
- Conformal slotted-stator mesh (a cracked gap interface had made the slotted model behave slotless).
0.3.0 — 2026-06-12¶
Added¶
- Phase 3 MDO layer:
DesignProblem(SPEC-style objective/constraint string parsing against stable result keys),optimize_paretovia pymoo mixed-variable GA,ParetoStudy, OpenMDAOMotorComponent+ SLSQP demo, one-at-a-time sensitivities with tornado charts, Pareto-front plotting.[opt]extra.
0.2.0 — 2026-06-11¶
Added¶
- Phase 2: 2.5D annular slice model (
AnnularModel) with machine-precision parity to the analytical layer,GapImperfections(offset/coning/runout with analytic circumferential averages), torque-ripple proxy, axial force, constraint-aware efficiency maps, radial-profile plots.
0.1.0 — 2026-06-11¶
Added¶
- Phase 1 analytical workbench: parametric
AxialFluxMotor, energy-consistentAnalyticalModel(torque/EMF from a shared flux linkage), Steinmetz core loss, closed-form thermal RC with runaway detection, named constraint records, parameter/pole-pair sweeps, 2D geometry visualization, materials library, hand-verified golden regression values.