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.
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/PKG-INFO +1 -1
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/pyproject.toml +1 -1
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/simulation.cpp +11 -5
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/simulation.h +1 -1
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/.github/workflows/ci.yml +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/.github/workflows/publish.yml +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/.gitignore +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/AGENTS.md +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/CMakeLists.txt +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/LICENSE +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/PyOpenMagnetics.pyi +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/README.md +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/_packaging/__init__.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/_packaging/_build_info.py.in +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/api/MAS.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/api/mas_db_reader.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/api/validation.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/clear_cibuildwheel_cache.sh +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/docs/compatibility.md +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/docs/errors.md +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/docs/performance.md +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/README.md +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/buck_inductor.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/complete_simulation_example.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/converter_design_example.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_bobbin.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_coil.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_core.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/debug_plotting.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_220v_12v_1a.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_220v_12v_2a_complete.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_bh_curve.png +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_core.png +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_design.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_summary.png +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/flyback_waveforms.png +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/list_plot_funcs.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/plot_flyback_design.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/plot_flyback_pyom.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/test_field_calc.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/examples/test_field_plot.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/force_fresh_build.sh +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/llms.txt +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/01_getting_started.ipynb +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/02_buck_inductor.ipynb +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/03_core_losses.ipynb +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/notebooks/README.md +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/requirements.txt +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/advisers.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/advisers.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/bobbin.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/bobbin.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/cmc.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/cmc.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/common.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/converter.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/converter.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/core.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/core.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/crossref.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/crossref.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/database.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/database.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/logging.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/logging.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/losses.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/losses.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/module.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/plotting.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/plotting.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/settings.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/settings.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/utils.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/utils.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/winding.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/winding.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/wire.cpp +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/src/wire.h +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/test.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/__init__.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/conftest.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_converter_endpoints.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_core.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_core_adviser.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_examples_integration.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_inputs.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_logging.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_magnetic_adviser.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_magnetics_catalogue_load.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_plotting.py +0 -0
- {pyopenmagnetics-1.7.13 → pyopenmagnetics-1.7.15}/tests/test_winding.py +0 -0
|
@@ -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
|
-
"
|
|
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);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|