PyOpenMagnetics 1.7.13__tar.gz → 1.7.15__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/PKG-INFO +1 -1
  2. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/pyproject.toml +1 -1
  3. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/simulation.cpp +11 -5
  4. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/simulation.h +1 -1
  5. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/.github/workflows/ci.yml +0 -0
  6. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/.github/workflows/publish.yml +0 -0
  7. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/.gitignore +0 -0
  8. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/AGENTS.md +0 -0
  9. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/CMakeLists.txt +0 -0
  10. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/LICENSE +0 -0
  11. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/PyOpenMagnetics.pyi +0 -0
  12. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/README.md +0 -0
  13. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/_packaging/__init__.py +0 -0
  14. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/_packaging/_build_info.py.in +0 -0
  15. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/api/MAS.py +0 -0
  16. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/api/mas_db_reader.py +0 -0
  17. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/api/validation.py +0 -0
  18. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/clear_cibuildwheel_cache.sh +0 -0
  19. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/docs/compatibility.md +0 -0
  20. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/docs/errors.md +0 -0
  21. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/docs/performance.md +0 -0
  22. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/README.md +0 -0
  23. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/buck_inductor.py +0 -0
  24. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/complete_simulation_example.py +0 -0
  25. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/converter_design_example.py +0 -0
  26. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_bobbin.py +0 -0
  27. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_coil.py +0 -0
  28. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_core.py +0 -0
  29. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_plotting.py +0 -0
  30. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_220v_12v_1a.py +0 -0
  31. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_220v_12v_2a_complete.py +0 -0
  32. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_bh_curve.png +0 -0
  33. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_core.png +0 -0
  34. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_design.py +0 -0
  35. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_summary.png +0 -0
  36. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_waveforms.png +0 -0
  37. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/list_plot_funcs.py +0 -0
  38. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/plot_flyback_design.py +0 -0
  39. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/plot_flyback_pyom.py +0 -0
  40. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/test_field_calc.py +0 -0
  41. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/test_field_plot.py +0 -0
  42. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/force_fresh_build.sh +0 -0
  43. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/llms.txt +0 -0
  44. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/01_getting_started.ipynb +0 -0
  45. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/02_buck_inductor.ipynb +0 -0
  46. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/03_core_losses.ipynb +0 -0
  47. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/README.md +0 -0
  48. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/requirements.txt +0 -0
  49. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/advisers.cpp +0 -0
  50. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/advisers.h +0 -0
  51. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/bobbin.cpp +0 -0
  52. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/bobbin.h +0 -0
  53. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/cmc.cpp +0 -0
  54. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/cmc.h +0 -0
  55. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/common.h +0 -0
  56. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/converter.cpp +0 -0
  57. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/converter.h +0 -0
  58. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/core.cpp +0 -0
  59. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/core.h +0 -0
  60. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/crossref.cpp +0 -0
  61. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/crossref.h +0 -0
  62. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/database.cpp +0 -0
  63. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/database.h +0 -0
  64. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/logging.cpp +0 -0
  65. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/logging.h +0 -0
  66. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/losses.cpp +0 -0
  67. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/losses.h +0 -0
  68. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/module.cpp +0 -0
  69. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/plotting.cpp +0 -0
  70. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/plotting.h +0 -0
  71. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/settings.cpp +0 -0
  72. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/settings.h +0 -0
  73. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/utils.cpp +0 -0
  74. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/utils.h +0 -0
  75. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/winding.cpp +0 -0
  76. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/winding.h +0 -0
  77. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/wire.cpp +0 -0
  78. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/wire.h +0 -0
  79. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/test.py +0 -0
  80. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/__init__.py +0 -0
  81. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/conftest.py +0 -0
  82. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_converter_endpoints.py +0 -0
  83. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_core.py +0 -0
  84. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_core_adviser.py +0 -0
  85. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_examples_integration.py +0 -0
  86. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_inputs.py +0 -0
  87. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_logging.py +0 -0
  88. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_magnetic_adviser.py +0 -0
  89. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_magnetics_catalogue_load.py +0 -0
  90. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_plotting.py +0 -0
  91. {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_winding.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyOpenMagnetics
3
- Version: 1.7.13
3
+ Version: 1.7.15
4
4
  Summary: Python wrapper for OpenMagnetics
5
5
  Author-Email: Alfonso Martinez <Alfonso_VII@hotmail.com>
6
6
  Classifier: Development Status :: 4 - Beta
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "PyOpenMagnetics"
7
- version = "1.7.13"
7
+ version = "1.7.15"
8
8
  requires-python = ">=3.8"
9
9
  authors = [
10
10
  { name="Alfonso Martinez", email="Alfonso_VII@hotmail.com" },
@@ -215,17 +215,17 @@ json calculate_maxwell_capacitance_matrix(json coilJson, json capacitanceAmongWi
215
215
  return result;
216
216
  }
217
217
 
218
- json sweep_impedance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title) {
218
+ json sweep_impedance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title, bool fast_capacitance) {
219
219
  OpenMagnetics::Magnetic magnetic(magneticJson);
220
- auto result = OpenMagnetics::Sweeper::sweep_impedance_over_frequency(magnetic, start, stop, numberElements, mode, title);
220
+ auto result = OpenMagnetics::Sweeper::sweep_impedance_over_frequency(magnetic, start, stop, numberElements, mode, title, /*fast=*/true, fast_capacitance);
221
221
  json resultJson;
222
222
  to_json(resultJson, result);
223
223
  return resultJson;
224
224
  }
225
225
 
226
- json sweep_common_mode_impedance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title) {
226
+ json sweep_common_mode_impedance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title, bool fast_capacitance) {
227
227
  OpenMagnetics::Magnetic magnetic(magneticJson);
228
- auto result = OpenMagnetics::Sweeper::sweep_common_mode_impedance_over_frequency(magnetic, start, stop, numberElements, mode, title);
228
+ auto result = OpenMagnetics::Sweeper::sweep_common_mode_impedance_over_frequency(magnetic, start, stop, numberElements, mode, title, fast_capacitance);
229
229
  json resultJson;
230
230
  to_json(resultJson, result);
231
231
  return resultJson;
@@ -632,7 +632,12 @@ void register_simulation_bindings(py::module& m) {
632
632
  py::arg("number_elements"),
633
633
  py::arg("mode"),
634
634
  py::arg("title"),
635
- "Sweep impedance over a frequency range.",
635
+ py::arg("fast_capacitance") = false,
636
+ "Sweep impedance over a frequency range. fast_capacitance selects the one-layer stray\n"
637
+ "capacitance model instead of the full per-turn energy sum. The full model winds the coil\n"
638
+ "and raises when the winder places no turns (ABT #850), so a part whose wire does not fit\n"
639
+ "its bore can only be swept with fast_capacitance=True -- an explicit choice, never a\n"
640
+ "silent fallback.",
636
641
  py::call_guard<py::gil_scoped_release>());
637
642
 
638
643
  m.def("sweep_common_mode_impedance_over_frequency", &sweep_common_mode_impedance_over_frequency,
@@ -642,6 +647,7 @@ void register_simulation_bindings(py::module& m) {
642
647
  py::arg("number_elements"),
643
648
  py::arg("mode"),
644
649
  py::arg("title"),
650
+ py::arg("fast_capacitance") = false,
645
651
  "Sweep common-mode impedance (all windings driven in parallel — the CMC datasheet CM measurement; magnetizing tank only, no leakage resonance) over a frequency range.",
646
652
  py::call_guard<py::gil_scoped_release>());
647
653
 
@@ -35,7 +35,7 @@ json calculate_capacitance_matrix(json coilJson, json modelsData);
35
35
  json calculate_capacitance_models_between_windings(double energy, double voltageDrop, double relativeTurnsRatio);
36
36
 
37
37
  // Sweep functions
38
- json sweep_impedance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title);
38
+ json sweep_impedance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title, bool fast_capacitance);
39
39
  json sweep_differential_mode_impedance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title);
40
40
  json sweep_q_factor_over_frequency(json magneticJson, double start, double stop, size_t numberElements, std::string mode, std::string title);
41
41
  json sweep_winding_resistance_over_frequency(json magneticJson, double start, double stop, size_t numberElements, size_t windingIndex, double temperature, std::string mode, std::string title);