fiqus 2025.2.0__tar.gz → 2025.11.0__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.
- {fiqus-2025.2.0 → fiqus-2025.11.0}/PKG-INFO +66 -2
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/MainFiQuS.py +24 -28
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataConductor.py +350 -301
- fiqus-2025.11.0/fiqus/data/DataFiQuS.py +154 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataFiQuSCCT.py +150 -150
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataFiQuSConductor.py +97 -84
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataFiQuSConductorAC_Strand.py +701 -565
- fiqus-2025.11.0/fiqus/data/DataModelCommon.py +439 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataMultipole.py +0 -13
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataRoxieParser.py +7 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataWindingsCCT.py +37 -37
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/RegionsModelFiQuS.py +61 -104
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/geom_generators/GeometryCCT.py +904 -905
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/geom_generators/GeometryConductorAC_Strand.py +1863 -1391
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/geom_generators/GeometryMultipole.py +5 -4
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/geom_generators/GeometryPancake3D.py +1 -1
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/getdp_runners/RunGetdpCCT.py +13 -4
- fiqus-2025.11.0/fiqus/getdp_runners/RunGetdpConductorAC_Strand.py +342 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/getdp_runners/RunGetdpPancake3D.py +2 -2
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mains/MainConductorAC_Strand.py +141 -133
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mains/MainMultipole.py +6 -5
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mains/MainPancake3D.py +3 -4
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mesh_generators/MeshCCT.py +209 -209
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mesh_generators/MeshConductorAC_Strand.py +709 -656
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mesh_generators/MeshMultipole.py +43 -46
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/ParserDAT.py +16 -16
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/ParserGetDPOnSection.py +212 -212
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/ParserGetDPTimeTable.py +134 -134
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/ParserMSH.py +53 -53
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/ParserPOS.py +214 -214
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/ParserRES.py +142 -142
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/plotters/PlotPythonCCT.py +133 -133
- fiqus-2025.11.0/fiqus/plotters/PlotPythonConductorAC.py +1079 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/plotters/PlotPythonMultipole.py +18 -18
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/post_processors/PostProcessCCT.py +444 -440
- fiqus-2025.11.0/fiqus/post_processors/PostProcessConductorAC.py +997 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/post_processors/PostProcessMultipole.py +19 -19
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pre_processors/PreProcessCCT.py +175 -175
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_material_functions/ironBHcurves.pro +246 -246
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/combined/CCT_template.pro +275 -274
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/combined/ConductorAC_template.pro +1474 -1025
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/combined/Multipole_template.pro +5 -5
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/utils/Utils.py +12 -7
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus.egg-info/PKG-INFO +66 -2
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus.egg-info/SOURCES.txt +1 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus.egg-info/requires.txt +2 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/setup.py +2 -1
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/test_geometry_generators.py +4 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/test_mesh_generators.py +5 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/test_solvers.py +41 -4
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/utils/fiqus_test_classes.py +15 -6
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/utils/generate_reference_files_ConductorAC.py +57 -57
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/utils/helpers.py +97 -97
- fiqus-2025.2.0/fiqus/data/DataFiQuS.py +0 -227
- fiqus-2025.2.0/fiqus/getdp_runners/RunGetdpConductorAC_Strand.py +0 -202
- fiqus-2025.2.0/fiqus/plotters/PlotPythonConductorAC.py +0 -855
- fiqus-2025.2.0/fiqus/post_processors/PostProcessConductorAC.py +0 -49
- {fiqus-2025.2.0 → fiqus-2025.11.0}/LICENSE.txt +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/README.md +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataFiQuSMultipole.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataFiQuSPancake3D.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/DataSettings.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/data/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/geom_generators/GeometryPancake3DUtils.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/geom_generators/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/getdp_runners/RunGetdpMultipole.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/getdp_runners/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mains/MainCCT.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mains/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mesh_generators/MeshPancake3D.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/mesh_generators/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/ParserCOND.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/parsers/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/plotters/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/post_processors/PostProcessPancake3D.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/post_processors/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pre_processors/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_assemblers/ProAssembler.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_assemblers/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/combined/Pancake3D_template.pro +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/combined/TSA_materials.pro +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/combined/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/combined/materials.pro +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/pro_templates/separated/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/utils/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus/utils/update_data_settings.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus.egg-info/dependency_links.txt +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/fiqus.egg-info/top_level.txt +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/setup.cfg +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/test_FiQuS.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/utils/__init__.py +0 -0
- {fiqus-2025.2.0 → fiqus-2025.11.0}/tests/utils/generate_reference_files_Pancake3D.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiqus
|
|
3
|
-
Version: 2025.
|
|
3
|
+
Version: 2025.11.0
|
|
4
4
|
Summary: Source code for STEAM FiQuS tool
|
|
5
5
|
Home-page: https://gitlab.cern.ch/steam/fiqus
|
|
6
6
|
Author: STEAM Team
|
|
@@ -9,11 +9,75 @@ Keywords: STEAM,FiQuS,CERN
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
10
|
Requires-Python: >=3.11
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE.txt
|
|
13
|
+
Requires-Dist: gmsh==4.13.1
|
|
14
|
+
Requires-Dist: h5py==3.10.0
|
|
15
|
+
Requires-Dist: Jinja2==3.1.3
|
|
16
|
+
Requires-Dist: matplotlib==3.8.3
|
|
17
|
+
Requires-Dist: mplcursors==0.5.3
|
|
18
|
+
Requires-Dist: numpy==1.26.4
|
|
19
|
+
Requires-Dist: pandas==2.2.1
|
|
20
|
+
Requires-Dist: pydantic==2.6.4
|
|
21
|
+
Requires-Dist: ruamel.yaml==0.18.6
|
|
22
|
+
Requires-Dist: ruamel.yaml.clib==0.2.8
|
|
23
|
+
Requires-Dist: scipy==1.14.1
|
|
24
|
+
Requires-Dist: tqdm==4.66.2
|
|
25
|
+
Requires-Dist: typing_extensions==4.10.0
|
|
12
26
|
Provides-Extra: all
|
|
27
|
+
Requires-Dist: gmsh==4.13.1; extra == "all"
|
|
28
|
+
Requires-Dist: h5py==3.10.0; extra == "all"
|
|
29
|
+
Requires-Dist: Jinja2==3.1.3; extra == "all"
|
|
30
|
+
Requires-Dist: matplotlib==3.8.3; extra == "all"
|
|
31
|
+
Requires-Dist: mplcursors==0.5.3; extra == "all"
|
|
32
|
+
Requires-Dist: numpy==1.26.4; extra == "all"
|
|
33
|
+
Requires-Dist: pandas==2.2.1; extra == "all"
|
|
34
|
+
Requires-Dist: pydantic==2.6.4; extra == "all"
|
|
35
|
+
Requires-Dist: ruamel.yaml==0.18.6; extra == "all"
|
|
36
|
+
Requires-Dist: ruamel.yaml.clib==0.2.8; extra == "all"
|
|
37
|
+
Requires-Dist: scipy==1.14.1; extra == "all"
|
|
38
|
+
Requires-Dist: tqdm==4.66.2; extra == "all"
|
|
39
|
+
Requires-Dist: typing_extensions==4.10.0; extra == "all"
|
|
40
|
+
Requires-Dist: griffe==0.42.0; extra == "all"
|
|
41
|
+
Requires-Dist: markdown==3.5.2; extra == "all"
|
|
42
|
+
Requires-Dist: markdown-include==0.8.1; extra == "all"
|
|
43
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin==1.2.4; extra == "all"
|
|
44
|
+
Requires-Dist: mkdocs-include-markdown-plugin==6.0.4; extra == "all"
|
|
45
|
+
Requires-Dist: mkdocs-material==9.5.13; extra == "all"
|
|
46
|
+
Requires-Dist: mkdocstrings-python==1.9.0; extra == "all"
|
|
47
|
+
Requires-Dist: mkdocs-autorefs==1.3.1; extra == "all"
|
|
48
|
+
Requires-Dist: coverage==7.4.4; extra == "all"
|
|
49
|
+
Requires-Dist: coverage-badge==1.1.0; extra == "all"
|
|
50
|
+
Requires-Dist: flake8==7.0.0; extra == "all"
|
|
51
|
+
Requires-Dist: mypy==1.9.0; extra == "all"
|
|
52
|
+
Requires-Dist: pylint==3.1.0; extra == "all"
|
|
53
|
+
Requires-Dist: pytest==8.1.1; extra == "all"
|
|
54
|
+
Requires-Dist: pytest-cov==4.1.0; extra == "all"
|
|
55
|
+
Requires-Dist: pytest-subtests==0.12.1; extra == "all"
|
|
56
|
+
Requires-Dist: setuptools==69.2.0; extra == "all"
|
|
57
|
+
Requires-Dist: wheel==0.45.1; extra == "all"
|
|
58
|
+
Requires-Dist: twine==6.0.1; extra == "all"
|
|
13
59
|
Provides-Extra: docs
|
|
60
|
+
Requires-Dist: griffe==0.42.0; extra == "docs"
|
|
61
|
+
Requires-Dist: markdown==3.5.2; extra == "docs"
|
|
62
|
+
Requires-Dist: markdown-include==0.8.1; extra == "docs"
|
|
63
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin==1.2.4; extra == "docs"
|
|
64
|
+
Requires-Dist: mkdocs-include-markdown-plugin==6.0.4; extra == "docs"
|
|
65
|
+
Requires-Dist: mkdocs-material==9.5.13; extra == "docs"
|
|
66
|
+
Requires-Dist: mkdocstrings-python==1.9.0; extra == "docs"
|
|
67
|
+
Requires-Dist: mkdocs-autorefs==1.3.1; extra == "docs"
|
|
14
68
|
Provides-Extra: tests
|
|
69
|
+
Requires-Dist: coverage==7.4.4; extra == "tests"
|
|
70
|
+
Requires-Dist: coverage-badge==1.1.0; extra == "tests"
|
|
71
|
+
Requires-Dist: flake8==7.0.0; extra == "tests"
|
|
72
|
+
Requires-Dist: mypy==1.9.0; extra == "tests"
|
|
73
|
+
Requires-Dist: pylint==3.1.0; extra == "tests"
|
|
74
|
+
Requires-Dist: pytest==8.1.1; extra == "tests"
|
|
75
|
+
Requires-Dist: pytest-cov==4.1.0; extra == "tests"
|
|
76
|
+
Requires-Dist: pytest-subtests==0.12.1; extra == "tests"
|
|
15
77
|
Provides-Extra: build
|
|
16
|
-
|
|
78
|
+
Requires-Dist: setuptools==69.2.0; extra == "build"
|
|
79
|
+
Requires-Dist: wheel==0.45.1; extra == "build"
|
|
80
|
+
Requires-Dist: twine==6.0.1; extra == "build"
|
|
17
81
|
|
|
18
82
|

|
|
19
83
|
|
|
@@ -19,7 +19,7 @@ from fiqus.utils.Utils import CheckForExceptions as Check
|
|
|
19
19
|
from fiqus.utils.Utils import create_json_schema
|
|
20
20
|
from fiqus.utils.Utils import get_data_settings
|
|
21
21
|
from fiqus.utils.Utils import initialize_logger
|
|
22
|
-
from fiqus.data.DataFiQuS import FDM
|
|
22
|
+
from fiqus.data.DataFiQuS import FDM, SolveDumpDataModel
|
|
23
23
|
from fiqus.data.DataSettings import DataSettings
|
|
24
24
|
from fiqus.mains.MainCCT import MainCCT
|
|
25
25
|
from fiqus.mains.MainMultipole import MainMultipole
|
|
@@ -86,22 +86,10 @@ class MainFiQuS:
|
|
|
86
86
|
# Initialize Main object
|
|
87
87
|
if self.fdm.magnet.type == "CCT_straight":
|
|
88
88
|
self.main_magnet = MainCCT(fdm=self.fdm, verbose=verbose)
|
|
89
|
-
elif self.fdm.magnet.type == "CWS":
|
|
90
|
-
self.main_magnet = MainCWS(
|
|
91
|
-
fdm=self.fdm,
|
|
92
|
-
inputs_folder_path=pathlib.Path(input_file_path).parent,
|
|
93
|
-
verbose=self.fdm.run.verbosity_FiQuS,
|
|
94
|
-
)
|
|
95
89
|
elif self.fdm.magnet.type == "Pancake3D":
|
|
96
90
|
self.main_magnet = MainPancake3D(fdm=self.fdm, verbose=verbose)
|
|
97
91
|
elif self.fdm.magnet.type == "CACStrand":
|
|
98
92
|
self.main_magnet = MainConductorAC_Strand(fdm=self.fdm, inputs_folder_path=pathlib.Path(input_file_path).parent, outputs_folder_path=model_folder, verbose=verbose)
|
|
99
|
-
elif self.fdm.magnet.type == "CACRutherford":
|
|
100
|
-
self.main_magnet = MainConductorAC_Rutherford(fdm=self.fdm, inputs_folder_path=pathlib.Path(input_file_path).parent, verbose=verbose)
|
|
101
|
-
elif self.fdm.magnet.type == "Racetrack":
|
|
102
|
-
self.main_magnet = MainRacetrack(fdm=self.fdm, verbose=verbose)
|
|
103
|
-
elif self.fdm.magnet.type == "Racetrack3D":
|
|
104
|
-
self.main_magnet = MainRacetrack3D(fdm=self.fdm, inputs_folder_path=pathlib.Path(input_file_path).parent, verbose=verbose)
|
|
105
93
|
elif self.fdm.magnet.type == "multipole":
|
|
106
94
|
self.file_name = os.path.basename(input_file_path)[:-5]
|
|
107
95
|
if not self.fdm.magnet.geometry.geom_file_path:
|
|
@@ -230,7 +218,7 @@ class MainFiQuS:
|
|
|
230
218
|
else: # post_process_getdp_only or post_process_python_only or plot_python
|
|
231
219
|
required_folders = []
|
|
232
220
|
|
|
233
|
-
|
|
221
|
+
|
|
234
222
|
|
|
235
223
|
self.main_magnet.geom_folder = _check_and_generate_path(folder_type="Geometry")
|
|
236
224
|
if not self.fdm.run.type in ["geometry_only"]:
|
|
@@ -250,7 +238,7 @@ class MainFiQuS:
|
|
|
250
238
|
]:
|
|
251
239
|
Util.write_data_model_to_yaml(
|
|
252
240
|
os.path.join(self.main_magnet.geom_folder, "geometry.yaml"),
|
|
253
|
-
fdm.geometry,
|
|
241
|
+
self.fdm.magnet.geometry,
|
|
254
242
|
by_alias=True,
|
|
255
243
|
with_comments=True,
|
|
256
244
|
)
|
|
@@ -262,7 +250,7 @@ class MainFiQuS:
|
|
|
262
250
|
]:
|
|
263
251
|
Util.write_data_model_to_yaml(
|
|
264
252
|
os.path.join(self.main_magnet.mesh_folder, "mesh.yaml"),
|
|
265
|
-
fdm.mesh,
|
|
253
|
+
self.fdm.magnet.mesh,
|
|
266
254
|
by_alias=True,
|
|
267
255
|
with_comments=True,
|
|
268
256
|
)
|
|
@@ -272,11 +260,20 @@ class MainFiQuS:
|
|
|
272
260
|
"solve_with_post_process_python",
|
|
273
261
|
"solve_only",
|
|
274
262
|
"post_process",
|
|
275
|
-
"plot_python"
|
|
263
|
+
"plot_python",
|
|
264
|
+
"postprocess_veusz"
|
|
276
265
|
]:
|
|
266
|
+
solve_dump_data = SolveDumpDataModel(
|
|
267
|
+
solve=self.fdm.magnet.solve,
|
|
268
|
+
circuit=self.fdm.circuit,
|
|
269
|
+
power_supply=self.fdm.power_supply,
|
|
270
|
+
quench_protection=self.fdm.quench_protection,
|
|
271
|
+
quench_detection=self.fdm.quench_detection,
|
|
272
|
+
conductors=self.fdm.conductors
|
|
273
|
+
)
|
|
277
274
|
Util.write_data_model_to_yaml(
|
|
278
275
|
os.path.join(self.main_magnet.solution_folder, "solve.yaml"),
|
|
279
|
-
|
|
276
|
+
solve_dump_data,
|
|
280
277
|
by_alias=True,
|
|
281
278
|
with_comments=True,
|
|
282
279
|
)
|
|
@@ -287,11 +284,12 @@ class MainFiQuS:
|
|
|
287
284
|
"post_process_python_only",
|
|
288
285
|
"post_process_getdp_only",
|
|
289
286
|
"post_process",
|
|
287
|
+
"postprocess_veusz",
|
|
290
288
|
"plot_python"
|
|
291
289
|
]:
|
|
292
290
|
Util.write_data_model_to_yaml(
|
|
293
291
|
os.path.join(self.main_magnet.solution_folder, "postproc.yaml"),
|
|
294
|
-
fdm.postproc,
|
|
292
|
+
self.fdm.magnet.postproc,
|
|
295
293
|
by_alias=True,
|
|
296
294
|
with_comments=True,
|
|
297
295
|
)
|
|
@@ -337,6 +335,7 @@ class MainFiQuS:
|
|
|
337
335
|
except:
|
|
338
336
|
self.logger.warning("Run log could not be completed.")
|
|
339
337
|
|
|
338
|
+
|
|
340
339
|
def build_magnet(self):
|
|
341
340
|
"""
|
|
342
341
|
Main method to build magnets, i.e. to run various fiqus run types and magnet types
|
|
@@ -389,6 +388,8 @@ class MainFiQuS:
|
|
|
389
388
|
self.summary["solution_time"] = (
|
|
390
389
|
self.main_magnet.solve_and_postprocess_getdp(gui=self.main_magnet.fdm.run.launch_gui)
|
|
391
390
|
)
|
|
391
|
+
elif self.fdm.run.type == "postprocess_veusz":
|
|
392
|
+
self.main_magnet.post_process_veusz(gui=self.main_magnet.fdm.run.launch_gui)
|
|
392
393
|
elif self.fdm.run.type == "post_process_getdp_only":
|
|
393
394
|
self.main_magnet.post_process_getdp(gui=self.main_magnet.fdm.run.launch_gui)
|
|
394
395
|
elif self.fdm.run.type == "post_process_python_only":
|
|
@@ -405,15 +406,10 @@ class MainFiQuS:
|
|
|
405
406
|
self.main_magnet.batch_post_process_python()
|
|
406
407
|
os.chdir(self.start_folder)
|
|
407
408
|
|
|
408
|
-
if self.file_name:
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
# content = (f"{mesh_par.mesh_coil.SizeMin} {mesh_par.mesh_coil.SizeMax} {mesh_par.mesh_iron.SizeMin} {mesh_par.mesh_iron.SizeMax} "
|
|
413
|
-
# f"{self.summary['solution_time']} {self.summary['overall_error']} {self.summary['overall_error'] * 0.999 + self.summary['solution_time'] * 0.001} "
|
|
414
|
-
# f"{self.summary['SJ']} {self.summary['SICN']} {self.summary['SIGE']} {self.summary['Gamma']} "
|
|
415
|
-
# f"{self.summary['nodes']} {self.summary['minimum_diff']} {self.summary['maximum_diff']}\n")
|
|
416
|
-
# f.writelines(content)
|
|
409
|
+
if self.file_name:
|
|
410
|
+
file_path = os.path.join(self.wrk_folder, f"{self.file_name}.json")
|
|
411
|
+
with open(file_path, 'w', encoding='utf-8') as f:
|
|
412
|
+
json.dump(self.summary, f, indent=2)
|
|
417
413
|
|
|
418
414
|
@staticmethod
|
|
419
415
|
def add_to_run_log(path_to_csv, run_log_row):
|