fiqus 2024.5.2__py3-none-any.whl → 2024.6.0__py3-none-any.whl

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 (34) hide show
  1. fiqus/MainFiQuS.py +15 -5
  2. fiqus/data/DataConductor.py +301 -0
  3. fiqus/data/DataFiQuS.py +5 -2
  4. fiqus/data/DataFiQuSConductor.py +84 -0
  5. fiqus/data/DataFiQuSConductorAC_Strand.py +565 -0
  6. fiqus/data/DataFiQuSPancake3D.py +149 -39
  7. fiqus/data/RegionsModelFiQuS.py +4 -2
  8. fiqus/geom_generators/GeometryCCT.py +19 -17
  9. fiqus/geom_generators/GeometryConductorAC_Strand.py +1391 -0
  10. fiqus/getdp_runners/RunGetdpConductorAC_Strand.py +202 -0
  11. fiqus/getdp_runners/RunGetdpMultipole.py +4 -4
  12. fiqus/mains/MainConductorAC_Strand.py +133 -0
  13. fiqus/mesh_generators/MeshCCT.py +8 -8
  14. fiqus/mesh_generators/MeshConductorAC_Strand.py +657 -0
  15. fiqus/mesh_generators/MeshMultipole.py +11 -8
  16. fiqus/mesh_generators/MeshPancake3D.py +20 -18
  17. fiqus/plotters/PlotPythonConductorAC.py +840 -0
  18. fiqus/post_processors/PostProcessConductorAC.py +49 -0
  19. fiqus/pro_assemblers/ProAssembler.py +4 -3
  20. fiqus/pro_templates/combined/CCT_template.pro +25 -25
  21. fiqus/pro_templates/combined/ConductorAC_template.pro +1025 -0
  22. fiqus/pro_templates/combined/Multipole_template.pro +5 -5
  23. fiqus/pro_templates/combined/Pancake3D_template.pro +131 -46
  24. fiqus/pro_templates/combined/materials.pro +13 -9
  25. {fiqus-2024.5.2.dist-info → fiqus-2024.6.0.dist-info}/METADATA +2 -1
  26. {fiqus-2024.5.2.dist-info → fiqus-2024.6.0.dist-info}/RECORD +34 -22
  27. {fiqus-2024.5.2.dist-info → fiqus-2024.6.0.dist-info}/WHEEL +1 -1
  28. tests/test_geometry_generators.py +41 -0
  29. tests/test_mesh_generators.py +45 -0
  30. tests/test_solvers.py +52 -0
  31. tests/utils/fiqus_test_classes.py +42 -6
  32. tests/utils/generate_reference_files_ConductorAC.py +57 -0
  33. tests/utils/generate_reference_files_Pancake3D.py +92 -0
  34. {fiqus-2024.5.2.dist-info → fiqus-2024.6.0.dist-info}/top_level.txt +0 -0
@@ -8,6 +8,7 @@ from fiqus.utils.Utils import FilesAndFolders as Util
8
8
  from fiqus.data import DataFiQuS as dF
9
9
  from fiqus.data import DataMultipole as dM
10
10
  from fiqus.data.RegionsModelFiQuS import RegionsModel as rM
11
+ from fiqus.data import RegionsModelFiQuS as Reg_Mod_FiQ
11
12
 
12
13
 
13
14
  class Mesh:
@@ -219,23 +220,25 @@ class Mesh:
219
220
  self.rm.air.vol.number = self.md.domains.physical_groups.surfaces['air']
220
221
  self.rm.air_far_field.vol.names = ["AirInf"]
221
222
  self.rm.air_far_field.vol.numbers = [self.md.domains.physical_groups.surfaces['air_inf']]
222
- self.rm.powered.vol.names = []
223
- self.rm.powered.vol.numbers = []
223
+ self.rm.powered['Multipole'] = Reg_Mod_FiQ.Powered()
224
+ self.rm.powered['Multipole'].vol.names = []
225
+ self.rm.powered['Multipole'].vol.numbers = []
224
226
  self.rm.iron.vol.names = []
225
227
  self.rm.iron.vol.numbers = []
226
- self.rm.induced.vol.names = []
227
- self.rm.induced.vol.numbers = []
228
+ self.rm.induced['Multipole'] = Reg_Mod_FiQ.Induced()
229
+ self.rm.induced['Multipole'].vol.names = []
230
+ self.rm.induced['Multipole'].vol.numbers = []
228
231
  for group_name, surface in self.md.domains.physical_groups.surfaces.items():
229
232
  if group_name[:5] == 'block':
230
- self.rm.powered.vol.names.append(group_name)
231
- self.rm.powered.vol.numbers.append(surface)
233
+ self.rm.powered['Multipole'].vol.names.append(group_name)
234
+ self.rm.powered['Multipole'].vol.numbers.append(surface)
232
235
  # self.fd.half_turns.cross_sections.append(self.conductor_areas[name])
233
236
  elif group_name[:2] == 'BH':
234
237
  self.rm.iron.vol.names.append(group_name)
235
238
  self.rm.iron.vol.numbers.append(surface)
236
239
  elif group_name[:5] == 'wedge':
237
- self.rm.induced.vol.names.append(group_name)
238
- self.rm.induced.vol.numbers.append(surface)
240
+ self.rm.induced['Multipole'].vol.names.append(group_name)
241
+ self.rm.induced['Multipole'].vol.numbers.append(surface)
239
242
 
240
243
  self.rm.air_far_field.surf.name = "Surface_Inf"
241
244
  self.rm.air_far_field.surf.number = self.md.domains.physical_groups.curves['air_inf']
@@ -109,22 +109,22 @@ class regions:
109
109
 
110
110
  # This is used because self.rm.powered is not initialized in
111
111
  # RegionsModelFiQuS.RegionsModel. It should be fixed in the future.
112
- self.rm.powered = RegionsModelFiQuS.Powered()
112
+ self.rm.powered["Pancake3D"] = RegionsModelFiQuS.Powered()
113
113
 
114
114
  # Initializing the required variables (air and powered.vol_in and
115
115
  # powered.vol_out are not initialized because they are not lists but numbers):
116
- self.rm.powered.vol.names = []
117
- self.rm.powered.vol.numbers = []
118
- self.rm.powered.surf.names = []
119
- self.rm.powered.surf.numbers = []
120
- self.rm.powered.surf_th.names = []
121
- self.rm.powered.surf_th.numbers = []
122
- self.rm.powered.surf_in.names = []
123
- self.rm.powered.surf_in.numbers = []
124
- self.rm.powered.surf_out.names = []
125
- self.rm.powered.surf_out.numbers = []
126
- self.rm.powered.curve.names = []
127
- self.rm.powered.curve.numbers = []
116
+ self.rm.powered["Pancake3D"].vol.names = []
117
+ self.rm.powered["Pancake3D"].vol.numbers = []
118
+ self.rm.powered["Pancake3D"].surf.names = []
119
+ self.rm.powered["Pancake3D"].surf.numbers = []
120
+ self.rm.powered["Pancake3D"].surf_th.names = []
121
+ self.rm.powered["Pancake3D"].surf_th.numbers = []
122
+ self.rm.powered["Pancake3D"].surf_in.names = []
123
+ self.rm.powered["Pancake3D"].surf_in.numbers = []
124
+ self.rm.powered["Pancake3D"].surf_out.names = []
125
+ self.rm.powered["Pancake3D"].surf_out.numbers = []
126
+ self.rm.powered["Pancake3D"].curve.names = []
127
+ self.rm.powered["Pancake3D"].curve.numbers = []
128
128
 
129
129
  self.rm.insulator.vol.names = []
130
130
  self.rm.insulator.vol.numbers = []
@@ -167,12 +167,12 @@ class regions:
167
167
 
168
168
  if regionType is regionType.powered:
169
169
  if entityType is entityType.vol_in or entityType is entityType.vol_out:
170
- getattr(self.rm.powered, entityType).name = name
171
- getattr(self.rm.powered, entityType).number = regionTag
170
+ getattr(self.rm.powered["Pancake3D"], entityType).name = name
171
+ getattr(self.rm.powered["Pancake3D"], entityType).number = regionTag
172
172
 
173
173
  else:
174
- getattr(self.rm.powered, entityType).names.append(name)
175
- getattr(self.rm.powered, entityType).numbers.append(
174
+ getattr(self.rm.powered["Pancake3D"], entityType).names.append(name)
175
+ getattr(self.rm.powered["Pancake3D"], entityType).numbers.append(
176
176
  regionTag
177
177
  )
178
178
  elif regionType is regionType.insulator:
@@ -792,6 +792,7 @@ class Mesh(Base):
792
792
  )
793
793
  newAirOuterTubeVolumeDimTag = airOuterTubeVolumeDimTag
794
794
  removedAirVolumeDimTags.extend(airOuterTubeVolumeDimTags)
795
+ self.dimTags[self.geo.ai.name + "-OuterTube"] = [newAirOuterTubeVolumeDimTag]
795
796
 
796
797
  if self.geo.ai.shellTransformation:
797
798
  # Fuse air shell volumes:
@@ -858,6 +859,7 @@ class Mesh(Base):
858
859
  fuseOtherSurfaces=False,
859
860
  surfacesArePlane=False,
860
861
  )
862
+ self.dimTags[self.geo.ai.name + "-OuterTube"] = [newAirOuterTubeVolumeDimTag]
861
863
  airOuterTubeVolumeDimTag = newAirOuterTubeVolumeDimTag
862
864
  self.dimTags[self.geo.ai.shellVolumeName].append(
863
865
  newShellVolumeDimTag
@@ -2602,7 +2604,7 @@ class Mesh(Base):
2602
2604
  # Create a region with two points on air to be used in the pro file formulation:
2603
2605
  # To those points, Phi=0 boundary condition will be applied to set the gauge.
2604
2606
  outerAirSurfaces = gmsh.model.getBoundary(
2605
- self.dimTags[self.geo.ai.name], combined=True, oriented=False
2607
+ self.dimTags[self.geo.ai.name + "-OuterTube"], combined=True, oriented=False
2606
2608
  )
2607
2609
  outerAirSurface = outerAirSurfaces[-1]
2608
2610
  outerAirCurves = gmsh.model.getBoundary(