fiqus 2025.10.0__tar.gz → 2025.12.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.
Files changed (107) hide show
  1. {fiqus-2025.10.0 → fiqus-2025.12.0}/PKG-INFO +6 -5
  2. {fiqus-2025.10.0 → fiqus-2025.12.0}/README.md +5 -4
  3. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/MainFiQuS.py +24 -17
  4. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataConductor.py +9 -1
  5. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataFiQuS.py +3 -3
  6. fiqus-2025.12.0/fiqus/data/DataFiQuSConductorAC_Rutherford.py +569 -0
  7. fiqus-2025.12.0/fiqus/data/DataFiQuSHomogenizedConductor.py +478 -0
  8. fiqus-2025.12.0/fiqus/geom_generators/GeometryConductorAC_Rutherford.py +706 -0
  9. fiqus-2025.12.0/fiqus/geom_generators/GeometryConductorAC_Strand_RutherfordCopy.py +1848 -0
  10. fiqus-2025.12.0/fiqus/geom_generators/GeometryHomogenizedConductor.py +183 -0
  11. fiqus-2025.12.0/fiqus/getdp_runners/RunGetdpConductorAC_Rutherford.py +200 -0
  12. fiqus-2025.12.0/fiqus/getdp_runners/RunGetdpHomogenizedConductor.py +178 -0
  13. fiqus-2025.12.0/fiqus/mains/MainConductorAC_Rutherford.py +76 -0
  14. fiqus-2025.12.0/fiqus/mains/MainHomogenizedConductor.py +112 -0
  15. fiqus-2025.12.0/fiqus/mesh_generators/MeshConductorAC_Rutherford.py +235 -0
  16. fiqus-2025.12.0/fiqus/mesh_generators/MeshConductorAC_Strand_RutherfordCopy.py +718 -0
  17. fiqus-2025.12.0/fiqus/mesh_generators/MeshHomogenizedConductor.py +229 -0
  18. fiqus-2025.12.0/fiqus/post_processors/PostProcessAC_Rutherford.py +142 -0
  19. fiqus-2025.12.0/fiqus/post_processors/PostProcessHomogenizedConductor.py +114 -0
  20. fiqus-2025.12.0/fiqus/pro_templates/combined/ConductorACRutherford_template.pro +1742 -0
  21. fiqus-2025.12.0/fiqus/pro_templates/combined/HomogenizedConductor_template.pro +1663 -0
  22. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus.egg-info/PKG-INFO +6 -5
  23. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus.egg-info/SOURCES.txt +16 -0
  24. {fiqus-2025.10.0 → fiqus-2025.12.0}/setup.py +1 -1
  25. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/test_geometry_generators.py +20 -0
  26. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/test_mesh_generators.py +38 -0
  27. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/test_solvers.py +100 -0
  28. {fiqus-2025.10.0 → fiqus-2025.12.0}/LICENSE.txt +0 -0
  29. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/__init__.py +0 -0
  30. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataFiQuSCCT.py +0 -0
  31. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataFiQuSConductor.py +0 -0
  32. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataFiQuSConductorAC_Strand.py +0 -0
  33. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataFiQuSMultipole.py +0 -0
  34. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataFiQuSPancake3D.py +0 -0
  35. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataModelCommon.py +0 -0
  36. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataMultipole.py +0 -0
  37. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataRoxieParser.py +0 -0
  38. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataSettings.py +0 -0
  39. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/DataWindingsCCT.py +0 -0
  40. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/RegionsModelFiQuS.py +0 -0
  41. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/data/__init__.py +0 -0
  42. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/geom_generators/GeometryCCT.py +0 -0
  43. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/geom_generators/GeometryConductorAC_Strand.py +0 -0
  44. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/geom_generators/GeometryMultipole.py +0 -0
  45. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/geom_generators/GeometryPancake3D.py +0 -0
  46. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/geom_generators/GeometryPancake3DUtils.py +0 -0
  47. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/geom_generators/__init__.py +0 -0
  48. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/getdp_runners/RunGetdpCCT.py +0 -0
  49. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/getdp_runners/RunGetdpConductorAC_Strand.py +0 -0
  50. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/getdp_runners/RunGetdpMultipole.py +0 -0
  51. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/getdp_runners/RunGetdpPancake3D.py +0 -0
  52. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/getdp_runners/__init__.py +0 -0
  53. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mains/MainCCT.py +0 -0
  54. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mains/MainConductorAC_Strand.py +0 -0
  55. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mains/MainMultipole.py +0 -0
  56. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mains/MainPancake3D.py +0 -0
  57. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mains/__init__.py +0 -0
  58. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mesh_generators/MeshCCT.py +0 -0
  59. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mesh_generators/MeshConductorAC_Strand.py +0 -0
  60. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mesh_generators/MeshMultipole.py +0 -0
  61. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mesh_generators/MeshPancake3D.py +0 -0
  62. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/mesh_generators/__init__.py +0 -0
  63. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/ParserCOND.py +0 -0
  64. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/ParserDAT.py +0 -0
  65. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/ParserGetDPOnSection.py +0 -0
  66. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/ParserGetDPTimeTable.py +0 -0
  67. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/ParserMSH.py +0 -0
  68. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/ParserPOS.py +0 -0
  69. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/ParserRES.py +0 -0
  70. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/parsers/__init__.py +0 -0
  71. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/plotters/PlotPythonCCT.py +0 -0
  72. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/plotters/PlotPythonConductorAC.py +0 -0
  73. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/plotters/PlotPythonMultipole.py +0 -0
  74. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/plotters/__init__.py +0 -0
  75. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/post_processors/PostProcessCCT.py +0 -0
  76. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/post_processors/PostProcessConductorAC.py +0 -0
  77. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/post_processors/PostProcessMultipole.py +0 -0
  78. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/post_processors/PostProcessPancake3D.py +0 -0
  79. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/post_processors/__init__.py +0 -0
  80. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pre_processors/PreProcessCCT.py +0 -0
  81. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pre_processors/__init__.py +0 -0
  82. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_assemblers/ProAssembler.py +0 -0
  83. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_assemblers/__init__.py +0 -0
  84. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_material_functions/ironBHcurves.pro +0 -0
  85. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/__init__.py +0 -0
  86. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/combined/CCT_template.pro +0 -0
  87. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/combined/ConductorAC_template.pro +0 -0
  88. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/combined/Multipole_template.pro +0 -0
  89. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/combined/Pancake3D_template.pro +0 -0
  90. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/combined/TSA_materials.pro +0 -0
  91. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/combined/__init__.py +0 -0
  92. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/combined/materials.pro +0 -0
  93. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/pro_templates/separated/__init__.py +0 -0
  94. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/utils/Utils.py +0 -0
  95. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/utils/__init__.py +0 -0
  96. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus/utils/update_data_settings.py +0 -0
  97. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus.egg-info/dependency_links.txt +0 -0
  98. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus.egg-info/requires.txt +0 -0
  99. {fiqus-2025.10.0 → fiqus-2025.12.0}/fiqus.egg-info/top_level.txt +0 -0
  100. {fiqus-2025.10.0 → fiqus-2025.12.0}/setup.cfg +0 -0
  101. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/__init__.py +0 -0
  102. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/test_FiQuS.py +0 -0
  103. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/utils/__init__.py +0 -0
  104. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/utils/fiqus_test_classes.py +0 -0
  105. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/utils/generate_reference_files_ConductorAC.py +0 -0
  106. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/utils/generate_reference_files_Pancake3D.py +0 -0
  107. {fiqus-2025.10.0 → fiqus-2025.12.0}/tests/utils/helpers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiqus
3
- Version: 2025.10.0
3
+ Version: 2025.12.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
@@ -91,10 +91,10 @@ Source code for STEAM **FiQuS** (**Fi**nite Element **Qu**ench **S**imulator).
91
91
  - J. Dular et al, "Coupled Axial and Transverse Currents Method for Finite Element Modelling of Periodic Superconductors", in Superconductor Science and Technology, doi: [10.1088/1361-6668/ad650d](https://doi.org/10.1088/1361-6668/ad650d).
92
92
  - E. Schnaubelt et al, "Transient Finite Element Simulation of Accelerator Magnets Using Thermal Thin Shell Approximation", arXiV preprint, doi: [10.48550/arXiv.2501.15871](https://doi.org/10.48550/arXiv.2501.15871).
93
93
  - A. Vitrano et al, "An Open-Source Finite Element Quench Simulation Tool for Superconducting Magnets," in IEEE Transactions on Applied Superconductivity, vol. 33, no. 5, pp. 1-6, Aug. 2023, Art no. 4702006, doi: [10.1109/TASC.2023.3259332](https://ieeexplore.ieee.org/abstract/document/10077402).
94
+ - J. Dular et al, "Simulation of Rutherford Cable AC Loss and Magnetization with the Coupled Axial and Transverse Currents Method", in IEEE Transactions on Applied Superconductivity, [10.1109/TASC.2024.3520941](https://doi.org/10.1109/TASC.2024.3520941).
95
+ - J. Dular et al, "Distributed Inter-Strand Coupling Current Model for Finite Element Simulations of Rutherford Cables", arXiv preprint, doi: [arXiv:2510.24618](https://arxiv.org/abs/2510.24618).
94
96
 
95
97
  ## Using FiQuS
96
-
97
- - J. Dular et al, "Simulation of Rutherford Cable AC Loss and Magnetization with the Coupled Axial and Transverse Currents Method", in IEEE Transactions on Applied Superconductivity, [10.1109/TASC.2024.3520941](https://doi.org/10.1109/TASC.2024.3520941).
98
98
  - M. Wozniak et al, "Influence of Critical Current Distribution on Operation, Quench Detection and Protection of HTS Pancake Coils, in IEEE Transactions on Applied Superconductivity, [10.1109/TASC.2025.3532246](https://doi.org/10.1109/TASC.2025.3532246).
99
99
  - Laura AM D’Angelo et al, "Efficient Reduced Magnetic Vector Potential Formulation for the Magnetic Field Simulation of Accelerator Magnets", in IEEE Transactions on Magnetics, vol. 60, no. 3, pp. 1-8, Jan. 2024, Art no. 7000808, doi: [10.1109/TMAG.2024.3352113](https://ieeexplore.ieee.org/abstract/document/10387412).
100
100
  - M. Wozniak et al, "Quench Co-Simulation of Canted Cos-Theta Magnets," in IEEE Transactions on Applied Superconductivity, vol. 34, no. 3, pp. 1-5, Dec. 2023, Art no. 4900105, doi: [10.1109/TASC.2023.3338142](https://ieeexplore.ieee.org/document/10337614).
@@ -103,11 +103,12 @@ Source code for STEAM **FiQuS** (**Fi**nite Element **Qu**ench **S**imulator).
103
103
  Scientific Computing in Electrical Engineering (SCEE) 2024 conference, [arXiv:2404.13333](https://arxiv.org/abs/2404.13333).
104
104
 
105
105
  ## Mathematical Formulations Forming the Basis of Some FiQuS Modules
106
-
107
106
  - E. Schnaubelt et al, "Magneto-Thermal Thin Shell Approximation for 3D Finite Element Analysis of No-Insulation Coils", in IEEE Transactions on Applied Superconductivity, vol. 34, no. 3, pp. 1-6, Dec. 2023, Art no. 4700406, doi: [10.1109/TASC.2023.3340648](https://ieeexplore.ieee.org/document/10349801).
108
107
  - E. Schnaubelt et al, "Electromagnetic Simulation of No-Insulation Coils Using H−φ Thin Shell Approximation", in IEEE Transactions on Applied Superconductivity, vol. 33, no. 5, pp. 1-6, Mar. 2023, Art no. 4900906, doi: [10.1109/TASC.2023.3258905](https://ieeexplore.ieee.org/document/10076826).
109
108
  - E. Schnaubelt et al, "Thermal thin shell approximation towards finite element quench simulation", in Superconductor Science and Technology, vol. 36, no. 4, Art no. 044004, doi: [10.1088/1361-6668/acbeea](https://iopscience.iop.org/article/10.1088/1361-6668/acbeea).
110
-
109
+ - J. Dular et al, "Reduced order hysteretic magnetization model for composite superconductors", in Superconductor Science and Technology, vol. 38, no. 3, Art no. 035017, doi: [10.1088/1361-6668/adb5cc](https://iopscience.iop.org/article/10.1088/1361-6668/adb5cc/meta).
110
+ - J. Dular et al, "A Finite Element a-h-Formulation for the Reduced Order Hysteretic Magnetization Model for Composite Superconductors", in IEEE Transactions on Applied Superconductivity, vol. 35, no. 5, Art no. 8200205, doi: [10.1109/TASC.2025.3528310](https://ieeexplore.ieee.org/abstract/document/10839043).
111
+ - A. Glock et al, "Reduced Order Hysteretic Flux Model for Transport Current Homogenization in Composite Superconductors", in IEEE Transactions on Magnetics, doi: [10.1109/TMAG.2025.3613877](https://ieeexplore.ieee.org/abstract/document/11177605).
111
112
 
112
113
  # Folder Structure
113
114
  ![FiQuS folder structure](https://gitlab.cern.ch/steam/fiqus/-/raw/master/docs/images/FiQuS_folder_structure.svg)
@@ -10,10 +10,10 @@ Source code for STEAM **FiQuS** (**Fi**nite Element **Qu**ench **S**imulator).
10
10
  - J. Dular et al, "Coupled Axial and Transverse Currents Method for Finite Element Modelling of Periodic Superconductors", in Superconductor Science and Technology, doi: [10.1088/1361-6668/ad650d](https://doi.org/10.1088/1361-6668/ad650d).
11
11
  - E. Schnaubelt et al, "Transient Finite Element Simulation of Accelerator Magnets Using Thermal Thin Shell Approximation", arXiV preprint, doi: [10.48550/arXiv.2501.15871](https://doi.org/10.48550/arXiv.2501.15871).
12
12
  - A. Vitrano et al, "An Open-Source Finite Element Quench Simulation Tool for Superconducting Magnets," in IEEE Transactions on Applied Superconductivity, vol. 33, no. 5, pp. 1-6, Aug. 2023, Art no. 4702006, doi: [10.1109/TASC.2023.3259332](https://ieeexplore.ieee.org/abstract/document/10077402).
13
+ - J. Dular et al, "Simulation of Rutherford Cable AC Loss and Magnetization with the Coupled Axial and Transverse Currents Method", in IEEE Transactions on Applied Superconductivity, [10.1109/TASC.2024.3520941](https://doi.org/10.1109/TASC.2024.3520941).
14
+ - J. Dular et al, "Distributed Inter-Strand Coupling Current Model for Finite Element Simulations of Rutherford Cables", arXiv preprint, doi: [arXiv:2510.24618](https://arxiv.org/abs/2510.24618).
13
15
 
14
16
  ## Using FiQuS
15
-
16
- - J. Dular et al, "Simulation of Rutherford Cable AC Loss and Magnetization with the Coupled Axial and Transverse Currents Method", in IEEE Transactions on Applied Superconductivity, [10.1109/TASC.2024.3520941](https://doi.org/10.1109/TASC.2024.3520941).
17
17
  - M. Wozniak et al, "Influence of Critical Current Distribution on Operation, Quench Detection and Protection of HTS Pancake Coils, in IEEE Transactions on Applied Superconductivity, [10.1109/TASC.2025.3532246](https://doi.org/10.1109/TASC.2025.3532246).
18
18
  - Laura AM D’Angelo et al, "Efficient Reduced Magnetic Vector Potential Formulation for the Magnetic Field Simulation of Accelerator Magnets", in IEEE Transactions on Magnetics, vol. 60, no. 3, pp. 1-8, Jan. 2024, Art no. 7000808, doi: [10.1109/TMAG.2024.3352113](https://ieeexplore.ieee.org/abstract/document/10387412).
19
19
  - M. Wozniak et al, "Quench Co-Simulation of Canted Cos-Theta Magnets," in IEEE Transactions on Applied Superconductivity, vol. 34, no. 3, pp. 1-5, Dec. 2023, Art no. 4900105, doi: [10.1109/TASC.2023.3338142](https://ieeexplore.ieee.org/document/10337614).
@@ -22,11 +22,12 @@ Source code for STEAM **FiQuS** (**Fi**nite Element **Qu**ench **S**imulator).
22
22
  Scientific Computing in Electrical Engineering (SCEE) 2024 conference, [arXiv:2404.13333](https://arxiv.org/abs/2404.13333).
23
23
 
24
24
  ## Mathematical Formulations Forming the Basis of Some FiQuS Modules
25
-
26
25
  - E. Schnaubelt et al, "Magneto-Thermal Thin Shell Approximation for 3D Finite Element Analysis of No-Insulation Coils", in IEEE Transactions on Applied Superconductivity, vol. 34, no. 3, pp. 1-6, Dec. 2023, Art no. 4700406, doi: [10.1109/TASC.2023.3340648](https://ieeexplore.ieee.org/document/10349801).
27
26
  - E. Schnaubelt et al, "Electromagnetic Simulation of No-Insulation Coils Using H−φ Thin Shell Approximation", in IEEE Transactions on Applied Superconductivity, vol. 33, no. 5, pp. 1-6, Mar. 2023, Art no. 4900906, doi: [10.1109/TASC.2023.3258905](https://ieeexplore.ieee.org/document/10076826).
28
27
  - E. Schnaubelt et al, "Thermal thin shell approximation towards finite element quench simulation", in Superconductor Science and Technology, vol. 36, no. 4, Art no. 044004, doi: [10.1088/1361-6668/acbeea](https://iopscience.iop.org/article/10.1088/1361-6668/acbeea).
29
-
28
+ - J. Dular et al, "Reduced order hysteretic magnetization model for composite superconductors", in Superconductor Science and Technology, vol. 38, no. 3, Art no. 035017, doi: [10.1088/1361-6668/adb5cc](https://iopscience.iop.org/article/10.1088/1361-6668/adb5cc/meta).
29
+ - J. Dular et al, "A Finite Element a-h-Formulation for the Reduced Order Hysteretic Magnetization Model for Composite Superconductors", in IEEE Transactions on Applied Superconductivity, vol. 35, no. 5, Art no. 8200205, doi: [10.1109/TASC.2025.3528310](https://ieeexplore.ieee.org/abstract/document/10839043).
30
+ - A. Glock et al, "Reduced Order Hysteretic Flux Model for Transport Current Homogenization in Composite Superconductors", in IEEE Transactions on Magnetics, doi: [10.1109/TMAG.2025.3613877](https://ieeexplore.ieee.org/abstract/document/11177605).
30
31
 
31
32
  # Folder Structure
32
33
  ![FiQuS folder structure](https://gitlab.cern.ch/steam/fiqus/-/raw/master/docs/images/FiQuS_folder_structure.svg)
@@ -19,12 +19,14 @@ 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
26
26
  from fiqus.mains.MainPancake3D import MainPancake3D
27
27
  from fiqus.mains.MainConductorAC_Strand import MainConductorAC_Strand
28
+ from fiqus.mains.MainHomogenizedConductor import MainHomogenizedConductor
29
+ from fiqus.mains.MainConductorAC_Rutherford import MainConductorAC_Rutherford
28
30
 
29
31
  class MainFiQuS:
30
32
  """
@@ -86,22 +88,14 @@ class MainFiQuS:
86
88
  # Initialize Main object
87
89
  if self.fdm.magnet.type == "CCT_straight":
88
90
  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
91
  elif self.fdm.magnet.type == "Pancake3D":
96
92
  self.main_magnet = MainPancake3D(fdm=self.fdm, verbose=verbose)
97
93
  elif self.fdm.magnet.type == "CACStrand":
98
94
  self.main_magnet = MainConductorAC_Strand(fdm=self.fdm, inputs_folder_path=pathlib.Path(input_file_path).parent, outputs_folder_path=model_folder, verbose=verbose)
95
+ elif self.fdm.magnet.type == "HomogenizedConductor":
96
+ self.main_magnet = MainHomogenizedConductor(fdm=self.fdm, inputs_folder_path=pathlib.Path(input_file_path).parent, outputs_folder_path=model_folder, verbose=verbose)
99
97
  elif self.fdm.magnet.type == "CACRutherford":
100
98
  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
99
  elif self.fdm.magnet.type == "multipole":
106
100
  self.file_name = os.path.basename(input_file_path)[:-5]
107
101
  if not self.fdm.magnet.geometry.geom_file_path:
@@ -230,7 +224,7 @@ class MainFiQuS:
230
224
  else: # post_process_getdp_only or post_process_python_only or plot_python
231
225
  required_folders = []
232
226
 
233
- fdm = self.main_magnet.fdm.magnet
227
+
234
228
 
235
229
  self.main_magnet.geom_folder = _check_and_generate_path(folder_type="Geometry")
236
230
  if not self.fdm.run.type in ["geometry_only"]:
@@ -250,7 +244,7 @@ class MainFiQuS:
250
244
  ]:
251
245
  Util.write_data_model_to_yaml(
252
246
  os.path.join(self.main_magnet.geom_folder, "geometry.yaml"),
253
- fdm.geometry,
247
+ self.fdm.magnet.geometry,
254
248
  by_alias=True,
255
249
  with_comments=True,
256
250
  )
@@ -262,7 +256,7 @@ class MainFiQuS:
262
256
  ]:
263
257
  Util.write_data_model_to_yaml(
264
258
  os.path.join(self.main_magnet.mesh_folder, "mesh.yaml"),
265
- fdm.mesh,
259
+ self.fdm.magnet.mesh,
266
260
  by_alias=True,
267
261
  with_comments=True,
268
262
  )
@@ -272,11 +266,20 @@ class MainFiQuS:
272
266
  "solve_with_post_process_python",
273
267
  "solve_only",
274
268
  "post_process",
275
- "plot_python"
269
+ "plot_python",
270
+ "postprocess_veusz"
276
271
  ]:
272
+ solve_dump_data = SolveDumpDataModel(
273
+ solve=self.fdm.magnet.solve,
274
+ circuit=self.fdm.circuit,
275
+ power_supply=self.fdm.power_supply,
276
+ quench_protection=self.fdm.quench_protection,
277
+ quench_detection=self.fdm.quench_detection,
278
+ conductors=self.fdm.conductors
279
+ )
277
280
  Util.write_data_model_to_yaml(
278
281
  os.path.join(self.main_magnet.solution_folder, "solve.yaml"),
279
- fdm.solve,
282
+ solve_dump_data,
280
283
  by_alias=True,
281
284
  with_comments=True,
282
285
  )
@@ -287,11 +290,12 @@ class MainFiQuS:
287
290
  "post_process_python_only",
288
291
  "post_process_getdp_only",
289
292
  "post_process",
293
+ "postprocess_veusz",
290
294
  "plot_python"
291
295
  ]:
292
296
  Util.write_data_model_to_yaml(
293
297
  os.path.join(self.main_magnet.solution_folder, "postproc.yaml"),
294
- fdm.postproc,
298
+ self.fdm.magnet.postproc,
295
299
  by_alias=True,
296
300
  with_comments=True,
297
301
  )
@@ -337,6 +341,7 @@ class MainFiQuS:
337
341
  except:
338
342
  self.logger.warning("Run log could not be completed.")
339
343
 
344
+
340
345
  def build_magnet(self):
341
346
  """
342
347
  Main method to build magnets, i.e. to run various fiqus run types and magnet types
@@ -389,6 +394,8 @@ class MainFiQuS:
389
394
  self.summary["solution_time"] = (
390
395
  self.main_magnet.solve_and_postprocess_getdp(gui=self.main_magnet.fdm.run.launch_gui)
391
396
  )
397
+ elif self.fdm.run.type == "postprocess_veusz":
398
+ self.main_magnet.post_process_veusz(gui=self.main_magnet.fdm.run.launch_gui)
392
399
  elif self.fdm.run.type == "post_process_getdp_only":
393
400
  self.main_magnet.post_process_getdp(gui=self.main_magnet.fdm.run.launch_gui)
394
401
  elif self.fdm.run.type == "post_process_python_only":
@@ -328,6 +328,14 @@ class Rectangular(BaseModel):
328
328
  # superconductor: MaterialSuperconductor = MaterialSuperconductor()
329
329
  # stabilizer: MaterialStabilizer = MaterialStabilizer()
330
330
 
331
+ class Homogenized(BaseModel):
332
+ """
333
+ Level 2: Class for homogenized strand parameters, to be used in the Rutherford cable model
334
+ """
335
+ type: Literal["Homogenized"]
336
+
337
+ # Strand diameter (used in the geometry step)
338
+ diameter: Optional[float] = Field(default=None, description="Undeformed round strand diameter. Used in the geometry step if keep_strand_area==true, the strand is deformed while preserving its surface area. Not used otherwise.")
331
339
 
332
340
 
333
341
  # ------------------- Conductors ---------------------------#
@@ -344,7 +352,7 @@ class Conductor(BaseModel):
344
352
  cable: Union[Rutherford, Mono, Ribbon] = {
345
353
  "type": "Rutherford"
346
354
  } # TODO: Busbar, Rope, Roebel, CORC, TSTC, CICC
347
- strand: Union[Round, Rectangular] = {"type": "Round"} # TODO: Tape, WIC
355
+ strand: Union[Round, Rectangular, Homogenized] = {"type": "Round"} # TODO: Tape, WIC
348
356
  Jc_fit: Union[ConstantJc, Bottura, CUDI1, CUDI3, Summers, Bordini, Nb3Sn_HFM, BSCCO_2212_LBNL, Ic_A_NbTi, ProDefined] = {
349
357
  "type": "CUDI1"
350
358
  } # TODO: CUDI other numbers? , Roxie?
@@ -7,8 +7,8 @@ from fiqus.data.DataFiQuSCCT import CCT
7
7
  from fiqus.data.DataFiQuSMultipole import Multipole
8
8
  from fiqus.data.DataFiQuSPancake3D import Pancake3D
9
9
  from fiqus.data.DataFiQuSConductorAC_Strand import CACStrand
10
-
11
-
10
+ from fiqus.data.DataFiQuSHomogenizedConductor import HomogenizedConductor
11
+ from fiqus.data.DataFiQuSConductorAC_Rutherford import CACRutherford
12
12
 
13
13
  class RunFiQuS(BaseModel):
14
14
  """
@@ -144,7 +144,7 @@ class FDM(BaseModel):
144
144
 
145
145
  general: GeneralFiQuS = GeneralFiQuS()
146
146
  run: RunFiQuS = RunFiQuS()
147
- magnet: Union[Multipole, CCT, Pancake3D, CACStrand] = Field(
147
+ magnet: Union[Multipole, CCT, Pancake3D, CACStrand, HomogenizedConductor, CACRutherford] = Field(
148
148
  default=Multipole(), discriminator="type"
149
149
  )
150
150
  circuit: Circuit_Class = Circuit_Class()