fiqus 2024.7.0__py3-none-any.whl → 2024.12.1__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.
- fiqus/MainFiQuS.py +290 -134
- fiqus/data/DataConductor.py +301 -301
- fiqus/data/DataFiQuS.py +128 -84
- fiqus/data/DataFiQuSCCT.py +150 -150
- fiqus/data/DataFiQuSConductor.py +84 -84
- fiqus/data/DataFiQuSConductorAC_Strand.py +565 -565
- fiqus/data/DataFiQuSMultipole.py +716 -42
- fiqus/data/DataFiQuSPancake3D.py +737 -278
- fiqus/data/DataMultipole.py +180 -15
- fiqus/data/DataRoxieParser.py +90 -51
- fiqus/data/DataSettings.py +121 -0
- fiqus/data/DataWindingsCCT.py +37 -37
- fiqus/data/RegionsModelFiQuS.py +18 -6
- fiqus/geom_generators/GeometryCCT.py +905 -905
- fiqus/geom_generators/GeometryConductorAC_Strand.py +1391 -1391
- fiqus/geom_generators/GeometryMultipole.py +1827 -227
- fiqus/geom_generators/GeometryPancake3D.py +316 -117
- fiqus/geom_generators/GeometryPancake3DUtils.py +549 -0
- fiqus/getdp_runners/RunGetdpCCT.py +4 -4
- fiqus/getdp_runners/RunGetdpConductorAC_Strand.py +201 -201
- fiqus/getdp_runners/RunGetdpMultipole.py +115 -42
- fiqus/getdp_runners/RunGetdpPancake3D.py +28 -6
- fiqus/mains/MainCCT.py +2 -2
- fiqus/mains/MainConductorAC_Strand.py +132 -132
- fiqus/mains/MainMultipole.py +113 -62
- fiqus/mains/MainPancake3D.py +63 -23
- fiqus/mesh_generators/MeshCCT.py +209 -209
- fiqus/mesh_generators/MeshConductorAC_Strand.py +656 -656
- fiqus/mesh_generators/MeshMultipole.py +1243 -181
- fiqus/mesh_generators/MeshPancake3D.py +275 -192
- fiqus/parsers/ParserCOND.py +825 -0
- fiqus/parsers/ParserDAT.py +16 -16
- fiqus/parsers/ParserGetDPOnSection.py +212 -212
- fiqus/parsers/ParserGetDPTimeTable.py +134 -134
- fiqus/parsers/ParserMSH.py +53 -53
- fiqus/parsers/ParserPOS.py +214 -214
- fiqus/parsers/ParserRES.py +142 -142
- fiqus/plotters/PlotPythonCCT.py +133 -133
- fiqus/plotters/PlotPythonConductorAC.py +855 -855
- fiqus/plotters/PlotPythonMultipole.py +18 -18
- fiqus/post_processors/PostProcessCCT.py +440 -440
- fiqus/post_processors/PostProcessConductorAC.py +49 -49
- fiqus/post_processors/PostProcessMultipole.py +353 -229
- fiqus/post_processors/PostProcessPancake3D.py +8 -13
- fiqus/pre_processors/PreProcessCCT.py +175 -175
- fiqus/pro_assemblers/ProAssembler.py +14 -6
- fiqus/pro_material_functions/ironBHcurves.pro +246 -246
- fiqus/pro_templates/combined/CCT_template.pro +274 -274
- fiqus/pro_templates/combined/ConductorAC_template.pro +1025 -1025
- fiqus/pro_templates/combined/Multipole_template.pro +1694 -126
- fiqus/pro_templates/combined/Pancake3D_template.pro +2294 -1103
- fiqus/pro_templates/combined/TSA_materials.pro +162 -0
- fiqus/pro_templates/combined/materials.pro +36 -18
- fiqus/utils/Utils.py +508 -110
- fiqus/utils/update_data_settings.py +33 -0
- fiqus-2024.12.1.dist-info/METADATA +132 -0
- fiqus-2024.12.1.dist-info/RECORD +84 -0
- {fiqus-2024.7.0.dist-info → fiqus-2024.12.1.dist-info}/WHEEL +1 -1
- tests/test_FiQuS.py +1 -1
- tests/test_geometry_generators.py +101 -2
- tests/test_mesh_generators.py +154 -1
- tests/test_solvers.py +115 -21
- tests/utils/fiqus_test_classes.py +85 -21
- tests/utils/generate_reference_files_ConductorAC.py +57 -57
- tests/utils/generate_reference_files_Pancake3D.py +4 -5
- tests/utils/helpers.py +97 -97
- fiqus-2024.7.0.dist-info/METADATA +0 -103
- fiqus-2024.7.0.dist-info/RECORD +0 -79
- {fiqus-2024.7.0.dist-info → fiqus-2024.12.1.dist-info}/top_level.txt +0 -0
fiqus/data/DataMultipole.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from pydantic import BaseModel
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Dict, List, Tuple, Optional
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
class Coord(BaseModel):
|
|
@@ -13,13 +13,27 @@ class Area(BaseModel):
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class Region(BaseModel):
|
|
16
|
-
points: Dict[str
|
|
17
|
-
lines: Dict[str
|
|
18
|
-
areas: Dict[str
|
|
16
|
+
points: Dict[str, int] = {}
|
|
17
|
+
lines: Dict[str, int] = {}
|
|
18
|
+
areas: Dict[str, Area] = {}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# class CableInsulated(BaseModel):
|
|
22
|
+
# type: #Literal['Insulated']
|
|
23
|
+
# insulated: Region = Region()
|
|
24
|
+
#
|
|
25
|
+
#
|
|
26
|
+
# class CableBare(BaseModel):
|
|
27
|
+
# type: #Literal['Bare']
|
|
28
|
+
# bare: Region = Region()
|
|
29
|
+
# insulation: Region = Region()
|
|
19
30
|
|
|
20
31
|
|
|
21
32
|
class BlockData(BaseModel):
|
|
22
|
-
half_turns: Region =
|
|
33
|
+
half_turns: Region = (
|
|
34
|
+
Region()
|
|
35
|
+
) # Union[CableInsulated, CableBare] = {'type': 'Insulated'}
|
|
36
|
+
insulation: Region = Region()
|
|
23
37
|
current_sign: Optional[int] = None
|
|
24
38
|
|
|
25
39
|
|
|
@@ -39,14 +53,10 @@ class Layer(BaseModel):
|
|
|
39
53
|
|
|
40
54
|
class Pole(BaseModel):
|
|
41
55
|
poles: Dict[int, Layer] = {}
|
|
56
|
+
type: Optional[str] = None
|
|
42
57
|
bore_center: Coord = Coord()
|
|
43
58
|
|
|
44
59
|
|
|
45
|
-
class Iron(BaseModel):
|
|
46
|
-
quadrants: Dict[int, Region] = {}
|
|
47
|
-
max_radius: float = 0.
|
|
48
|
-
|
|
49
|
-
|
|
50
60
|
class Order(BaseModel):
|
|
51
61
|
coil: Optional[int] = None
|
|
52
62
|
pole: Optional[int] = None
|
|
@@ -55,28 +65,165 @@ class Order(BaseModel):
|
|
|
55
65
|
block: Optional[int] = None
|
|
56
66
|
|
|
57
67
|
|
|
68
|
+
class AnticlockwiseOrder(BaseModel):
|
|
69
|
+
pole: Optional[int] = None
|
|
70
|
+
winding: Optional[int] = None
|
|
71
|
+
block: Optional[int] = None
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class MidLayer(BaseModel):
|
|
75
|
+
half_turn_lists: Dict[str, List[int]] = {}
|
|
76
|
+
point_angles: Dict[str, float] = {}
|
|
77
|
+
mid_layers: Region = Region()
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
class Iron(BaseModel):
|
|
81
|
+
quadrants: Dict[int, Region] = {}
|
|
82
|
+
max_radius: float = 0.0
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class LayerOrder(BaseModel):
|
|
86
|
+
layers: Dict[int, List[AnticlockwiseOrder]] = {}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class CoilOrder(BaseModel):
|
|
90
|
+
coils: Dict[int, LayerOrder] = {}
|
|
91
|
+
|
|
92
|
+
|
|
58
93
|
class Coil(BaseModel):
|
|
59
94
|
coils: Dict[int, Pole] = {}
|
|
60
|
-
|
|
95
|
+
physical_order: List[Order] = []
|
|
96
|
+
anticlockwise_order: CoilOrder = CoilOrder()
|
|
97
|
+
concentric_coils: Dict[Tuple[float, float], List[int]] = {}
|
|
98
|
+
max_radius: float = 0.0
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class InsulationThickness(BaseModel):
|
|
102
|
+
mid_pole: Dict[str, float] = {}
|
|
103
|
+
mid_layer: Dict[str, float] = {}
|
|
104
|
+
mid_winding: Dict[str, float] = {}
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class ThinShell(BaseModel):
|
|
108
|
+
mid_layers_ht_to_ht: Dict[str, MidLayer] = {}
|
|
109
|
+
mid_layers_wdg_to_ht: Dict[str, Region] = {}
|
|
110
|
+
mid_layers_ht_to_wdg: Dict[str, Region] = {}
|
|
111
|
+
mid_layers_wdg_to_wdg: Dict[str, Region] = {}
|
|
112
|
+
mid_poles: Dict[str, Region] = {}
|
|
113
|
+
mid_windings: Dict[str, Region] = {}
|
|
114
|
+
mid_turn_blocks: Dict[str, Region] = {}
|
|
115
|
+
mid_wedge_turn: Dict[str, Region] = {}
|
|
116
|
+
mid_layers_aux: Dict[str, Region] = {}
|
|
117
|
+
ins_thickness: InsulationThickness = InsulationThickness()
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class WedgeRegion(BaseModel):
|
|
121
|
+
wedges: Dict[int, Region] = {}
|
|
122
|
+
block_prev: Dict[int, int] = {}
|
|
123
|
+
block_next: Dict[int, int] = {}
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
class WedgeLayer(BaseModel):
|
|
127
|
+
layers: Dict[int, WedgeRegion] = {}
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class Wedge(BaseModel):
|
|
131
|
+
coils: Dict[int, WedgeLayer] = {}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
class InsulationRegion(BaseModel):
|
|
135
|
+
ins: Region = Region()
|
|
136
|
+
blocks: List[List[int]] = []
|
|
137
|
+
wedges: List[List[int]] = []
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class InsulationGroup(BaseModel):
|
|
141
|
+
group: Dict[int, InsulationRegion] = {}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class Insulation(BaseModel):
|
|
145
|
+
coils: Dict[int, InsulationGroup] = {}
|
|
61
146
|
|
|
62
147
|
|
|
63
148
|
class Geometry(BaseModel):
|
|
64
149
|
coil: Coil = Coil()
|
|
65
150
|
iron: Iron = Iron()
|
|
66
|
-
wedges:
|
|
151
|
+
wedges: Wedge = Wedge()
|
|
67
152
|
air: Region = Region()
|
|
68
153
|
air_inf: Region = Region()
|
|
154
|
+
symmetric_boundaries: Region = Region()
|
|
155
|
+
thin_shells: ThinShell = ThinShell()
|
|
156
|
+
insulation: Insulation = Insulation()
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
# Domain classes #
|
|
160
|
+
class MidLayerLine(BaseModel):
|
|
161
|
+
inner: Dict[str, int] = {}
|
|
162
|
+
outer: Dict[str, int] = {}
|
|
69
163
|
|
|
70
164
|
|
|
71
165
|
class GroupType(BaseModel):
|
|
72
166
|
curves: Dict[str, int] = {}
|
|
73
167
|
surfaces: Dict[str, int] = {}
|
|
74
|
-
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
class PoweredGroup(BaseModel):
|
|
171
|
+
tag: Optional[int] = None
|
|
172
|
+
group: Optional[str] = None
|
|
173
|
+
lines: Dict[str, int] = {}
|
|
174
|
+
mid_layer_lines: MidLayerLine = MidLayerLine()
|
|
175
|
+
mid_pole_lines: Dict[str, int] = {}
|
|
176
|
+
mid_winding_lines: Dict[str, int] = {}
|
|
177
|
+
mid_turn_lines: Dict[str, int] = {}
|
|
178
|
+
aux_lines: Dict[str, int] = {}
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class WedgeGroup(BaseModel):
|
|
182
|
+
tag: Optional[int] = None
|
|
183
|
+
group: Optional[str] = None
|
|
184
|
+
lines: Dict[str, int] = {}
|
|
185
|
+
mid_layer_lines: MidLayerLine = MidLayerLine()
|
|
186
|
+
mid_turn_lines: Dict[str, int] = {}
|
|
187
|
+
aux_lines: Dict[str, int] = {}
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
class PoweredBlock(BaseModel):
|
|
191
|
+
half_turns: Dict[int, PoweredGroup] = {}
|
|
192
|
+
current_sign: Optional[int] = None
|
|
193
|
+
conductor: Optional[str] = None
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
class SymmetryGroup(BaseModel):
|
|
197
|
+
normal_free: Optional[int] = None
|
|
198
|
+
tangential_free: Optional[int] = None
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
class PhysicalGroup(BaseModel):
|
|
202
|
+
blocks: Dict[int, PoweredBlock] = {}
|
|
203
|
+
wedges: Dict[int, WedgeGroup] = {}
|
|
204
|
+
insulations: GroupType = GroupType()
|
|
205
|
+
iron: GroupType = GroupType()
|
|
206
|
+
air_inf: Optional[int] = None
|
|
207
|
+
air_inf_bnd: Optional[int] = None
|
|
208
|
+
air: Optional[int] = None
|
|
209
|
+
symmetric_boundaries: SymmetryGroup = SymmetryGroup()
|
|
210
|
+
half_turns_points: Optional[int] = None
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
class SymmetryBoundaries(BaseModel):
|
|
214
|
+
x: List[int] = []
|
|
215
|
+
y: List[int] = []
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
class GroupEntities(BaseModel):
|
|
219
|
+
iron: Dict[str, List[int]] = {}
|
|
220
|
+
air: List[int] = []
|
|
221
|
+
symmetric_boundaries: SymmetryBoundaries = SymmetryBoundaries()
|
|
75
222
|
|
|
76
223
|
|
|
77
224
|
class Domain(BaseModel):
|
|
78
|
-
|
|
79
|
-
physical_groups:
|
|
225
|
+
groups_entities: GroupEntities = GroupEntities()
|
|
226
|
+
physical_groups: PhysicalGroup = PhysicalGroup()
|
|
80
227
|
|
|
81
228
|
|
|
82
229
|
class MultipoleData(BaseModel):
|
|
@@ -84,6 +231,24 @@ class MultipoleData(BaseModel):
|
|
|
84
231
|
domains: Domain = Domain()
|
|
85
232
|
|
|
86
233
|
|
|
234
|
+
#######################################
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
class NeighbourNode(BaseModel):
|
|
238
|
+
groups: Dict[str, List[float]] = {}
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
class IsothermalNodes(BaseModel):
|
|
242
|
+
conductors: Dict[str, Dict[int, List[float]]] = {}
|
|
243
|
+
wedges: Dict[str, Dict[int, List[float]]] = {}
|
|
244
|
+
thin_shells: Dict[int, List[float]] = {}
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
class MultipoleRegionCoordinate(BaseModel):
|
|
248
|
+
isothermal_nodes: IsothermalNodes = IsothermalNodes()
|
|
249
|
+
neighbouring_nodes: NeighbourNode = NeighbourNode()
|
|
250
|
+
|
|
251
|
+
|
|
87
252
|
# if __name__ == "__main__":
|
|
88
253
|
# write = True
|
|
89
254
|
# read = False
|
fiqus/data/DataRoxieParser.py
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
from pydantic import BaseModel
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Dict, List, Optional
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
class Coord(BaseModel):
|
|
6
6
|
"""
|
|
7
|
-
|
|
7
|
+
Class for coordinates
|
|
8
8
|
"""
|
|
9
|
+
|
|
9
10
|
x: Optional[float] = None
|
|
10
11
|
y: Optional[float] = None
|
|
11
12
|
z: Optional[float] = None
|
|
@@ -13,31 +14,35 @@ class Coord(BaseModel):
|
|
|
13
14
|
|
|
14
15
|
class Roll(BaseModel):
|
|
15
16
|
"""
|
|
16
|
-
|
|
17
|
+
Class for roll2 transformation
|
|
17
18
|
"""
|
|
19
|
+
|
|
18
20
|
coor: Coord = Coord()
|
|
19
21
|
alph: Optional[float] = None
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
class HyperHole(BaseModel):
|
|
23
25
|
"""
|
|
24
|
-
|
|
26
|
+
Class for hyper holes
|
|
25
27
|
"""
|
|
28
|
+
|
|
26
29
|
areas: List[str] = []
|
|
27
30
|
|
|
28
31
|
|
|
29
32
|
class HyperArea(BaseModel):
|
|
30
33
|
"""
|
|
31
|
-
|
|
34
|
+
Class for hyper areas
|
|
32
35
|
"""
|
|
36
|
+
|
|
33
37
|
material: Optional[str] = None
|
|
34
38
|
lines: List[str] = []
|
|
35
39
|
|
|
36
40
|
|
|
37
41
|
class HyperLine(BaseModel):
|
|
38
42
|
"""
|
|
39
|
-
|
|
43
|
+
Class for hyper lines: lines, arcs, elliptic arcs, circles
|
|
40
44
|
"""
|
|
45
|
+
|
|
41
46
|
type: Optional[str] = None
|
|
42
47
|
kp1: Optional[str] = None
|
|
43
48
|
kp2: Optional[str] = None
|
|
@@ -49,8 +54,9 @@ class HyperLine(BaseModel):
|
|
|
49
54
|
|
|
50
55
|
class CondPar(BaseModel):
|
|
51
56
|
"""
|
|
52
|
-
|
|
57
|
+
Class for conductor parameters
|
|
53
58
|
"""
|
|
59
|
+
|
|
54
60
|
wInsulNarrow: Optional[float] = None
|
|
55
61
|
wInsulWide: Optional[float] = None
|
|
56
62
|
dFilament: Optional[float] = None
|
|
@@ -84,8 +90,9 @@ class CondPar(BaseModel):
|
|
|
84
90
|
|
|
85
91
|
class Conductor(BaseModel):
|
|
86
92
|
"""
|
|
87
|
-
|
|
93
|
+
Class for conductor type
|
|
88
94
|
"""
|
|
95
|
+
|
|
89
96
|
conductorType: Optional[int] = None
|
|
90
97
|
cableGeom: Optional[str] = None
|
|
91
98
|
strand: Optional[str] = None
|
|
@@ -100,8 +107,9 @@ class Conductor(BaseModel):
|
|
|
100
107
|
|
|
101
108
|
class Cable(BaseModel):
|
|
102
109
|
"""
|
|
103
|
-
|
|
110
|
+
Class for cable parameters
|
|
104
111
|
"""
|
|
112
|
+
|
|
105
113
|
height: Optional[float] = None
|
|
106
114
|
width_i: Optional[float] = None
|
|
107
115
|
width_o: Optional[float] = None
|
|
@@ -113,8 +121,9 @@ class Cable(BaseModel):
|
|
|
113
121
|
|
|
114
122
|
class Quench(BaseModel):
|
|
115
123
|
"""
|
|
116
|
-
|
|
124
|
+
Class for quench parameters
|
|
117
125
|
"""
|
|
126
|
+
|
|
118
127
|
SCHeatCapa: Optional[float] = None
|
|
119
128
|
CuHeatCapa: Optional[float] = None
|
|
120
129
|
CuThermCond: Optional[float] = None
|
|
@@ -128,8 +137,9 @@ class Quench(BaseModel):
|
|
|
128
137
|
|
|
129
138
|
class Transient(BaseModel):
|
|
130
139
|
"""
|
|
131
|
-
|
|
140
|
+
Class for transient parameters
|
|
132
141
|
"""
|
|
142
|
+
|
|
133
143
|
Rc: Optional[float] = None
|
|
134
144
|
Ra: Optional[float] = None
|
|
135
145
|
filTwistp: Optional[float] = None
|
|
@@ -141,8 +151,9 @@ class Transient(BaseModel):
|
|
|
141
151
|
|
|
142
152
|
class Strand(BaseModel):
|
|
143
153
|
"""
|
|
144
|
-
|
|
154
|
+
Class for strand parameters
|
|
145
155
|
"""
|
|
156
|
+
|
|
146
157
|
diam: Optional[float] = None
|
|
147
158
|
cu_sc: Optional[float] = None
|
|
148
159
|
RRR: Optional[float] = None
|
|
@@ -155,8 +166,9 @@ class Strand(BaseModel):
|
|
|
155
166
|
|
|
156
167
|
class Filament(BaseModel):
|
|
157
168
|
"""
|
|
158
|
-
|
|
169
|
+
Class for filament parameters
|
|
159
170
|
"""
|
|
171
|
+
|
|
160
172
|
fildiao: Optional[float] = None
|
|
161
173
|
fildiai: Optional[float] = None
|
|
162
174
|
Jc_fit: Optional[str] = None
|
|
@@ -166,8 +178,9 @@ class Filament(BaseModel):
|
|
|
166
178
|
|
|
167
179
|
class Insulation(BaseModel):
|
|
168
180
|
"""
|
|
169
|
-
|
|
181
|
+
Class for insulation parameters
|
|
170
182
|
"""
|
|
183
|
+
|
|
171
184
|
radial: Optional[float] = None
|
|
172
185
|
azimut: Optional[float] = None
|
|
173
186
|
comment: Optional[str] = None
|
|
@@ -175,8 +188,9 @@ class Insulation(BaseModel):
|
|
|
175
188
|
|
|
176
189
|
class Block(BaseModel):
|
|
177
190
|
"""
|
|
178
|
-
|
|
191
|
+
Class for block list
|
|
179
192
|
"""
|
|
193
|
+
|
|
180
194
|
type: Optional[int] = None
|
|
181
195
|
nco: Optional[int] = None
|
|
182
196
|
radius: Optional[float] = None
|
|
@@ -198,8 +212,9 @@ class Block(BaseModel):
|
|
|
198
212
|
|
|
199
213
|
class Group(BaseModel):
|
|
200
214
|
"""
|
|
201
|
-
|
|
215
|
+
Class for group list
|
|
202
216
|
"""
|
|
217
|
+
|
|
203
218
|
symm: Optional[int] = None
|
|
204
219
|
typexy: Optional[int] = None
|
|
205
220
|
blocks: List[int] = [] # map
|
|
@@ -207,8 +222,9 @@ class Group(BaseModel):
|
|
|
207
222
|
|
|
208
223
|
class Trans(BaseModel):
|
|
209
224
|
"""
|
|
210
|
-
|
|
225
|
+
Class for transformation list
|
|
211
226
|
"""
|
|
227
|
+
|
|
212
228
|
x: Optional[float] = None
|
|
213
229
|
y: Optional[float] = None
|
|
214
230
|
alph: Optional[float] = None
|
|
@@ -220,8 +236,9 @@ class Trans(BaseModel):
|
|
|
220
236
|
|
|
221
237
|
class Iron(BaseModel):
|
|
222
238
|
"""
|
|
223
|
-
|
|
239
|
+
Class for the iron yoke data
|
|
224
240
|
"""
|
|
241
|
+
|
|
225
242
|
key_points: Dict[str, Coord] = {}
|
|
226
243
|
hyper_lines: Dict[str, HyperLine] = {}
|
|
227
244
|
hyper_areas: Dict[str, HyperArea] = {}
|
|
@@ -230,8 +247,9 @@ class Iron(BaseModel):
|
|
|
230
247
|
|
|
231
248
|
class Cadata(BaseModel):
|
|
232
249
|
"""
|
|
233
|
-
|
|
250
|
+
Class for the conductor data
|
|
234
251
|
"""
|
|
252
|
+
|
|
235
253
|
insul: Dict[str, Insulation] = {}
|
|
236
254
|
filament: Dict[str, Filament] = {}
|
|
237
255
|
strand: Dict[str, Strand] = {}
|
|
@@ -243,8 +261,9 @@ class Cadata(BaseModel):
|
|
|
243
261
|
|
|
244
262
|
class Coil(BaseModel):
|
|
245
263
|
"""
|
|
246
|
-
|
|
264
|
+
Class for the coil data
|
|
247
265
|
"""
|
|
266
|
+
|
|
248
267
|
blocks: Dict[str, Block] = {}
|
|
249
268
|
groups: Dict[str, Group] = {}
|
|
250
269
|
transs: Dict[str, Trans] = {}
|
|
@@ -252,67 +271,91 @@ class Coil(BaseModel):
|
|
|
252
271
|
|
|
253
272
|
class StrandGroup(BaseModel):
|
|
254
273
|
"""
|
|
255
|
-
|
|
274
|
+
Class for strand group
|
|
256
275
|
"""
|
|
276
|
+
|
|
257
277
|
strand_positions: Dict[int, Coord] = {}
|
|
258
278
|
|
|
259
279
|
|
|
260
280
|
class Corner(BaseModel):
|
|
261
281
|
"""
|
|
262
|
-
|
|
282
|
+
Class for corner positions
|
|
263
283
|
"""
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
284
|
+
|
|
285
|
+
iH: Coord = Coord() # inner left
|
|
286
|
+
iL: Coord = Coord() # inner right
|
|
287
|
+
oH: Coord = Coord() # outer left
|
|
288
|
+
oL: Coord = Coord() # outer right
|
|
268
289
|
|
|
269
290
|
|
|
270
291
|
class HalfTurnCorner(BaseModel):
|
|
271
292
|
"""
|
|
272
|
-
|
|
293
|
+
Class for corner type
|
|
273
294
|
"""
|
|
295
|
+
|
|
274
296
|
insulated: Corner = Corner()
|
|
275
297
|
bare: Corner = Corner()
|
|
276
298
|
|
|
277
299
|
|
|
278
300
|
class HalfTurn(BaseModel):
|
|
279
301
|
"""
|
|
280
|
-
|
|
302
|
+
Class for half-turn data
|
|
281
303
|
"""
|
|
304
|
+
|
|
282
305
|
corners: HalfTurnCorner = HalfTurnCorner()
|
|
283
306
|
strand_groups: Dict[int, StrandGroup] = {}
|
|
284
307
|
|
|
285
308
|
|
|
309
|
+
class Order(BaseModel):
|
|
310
|
+
"""
|
|
311
|
+
Class for electrical order (block location)
|
|
312
|
+
"""
|
|
313
|
+
|
|
314
|
+
coil: Optional[int] = None
|
|
315
|
+
pole: Optional[int] = None
|
|
316
|
+
layer: Optional[int] = None
|
|
317
|
+
winding: Optional[int] = None
|
|
318
|
+
block: Optional[int] = None
|
|
319
|
+
|
|
320
|
+
|
|
286
321
|
class CenterShift(BaseModel):
|
|
287
322
|
"""
|
|
288
|
-
|
|
323
|
+
Class for bore center shift
|
|
289
324
|
"""
|
|
325
|
+
|
|
290
326
|
inner: Coord = Coord()
|
|
291
327
|
outer: Coord = Coord()
|
|
292
328
|
|
|
293
329
|
|
|
294
330
|
class Wedge(BaseModel):
|
|
295
331
|
"""
|
|
296
|
-
|
|
332
|
+
Class for wedge positions
|
|
297
333
|
"""
|
|
334
|
+
|
|
298
335
|
corners: Corner = Corner()
|
|
336
|
+
corners_ins: Corner = Corner()
|
|
299
337
|
corrected_center: CenterShift = CenterShift()
|
|
300
|
-
|
|
338
|
+
corrected_center_ins: CenterShift = CenterShift()
|
|
339
|
+
order_l: Order = Order()
|
|
340
|
+
order_h: Order = Order()
|
|
301
341
|
|
|
302
342
|
|
|
303
343
|
class BlockData(BaseModel):
|
|
304
344
|
"""
|
|
305
|
-
|
|
345
|
+
Class for block data
|
|
306
346
|
"""
|
|
347
|
+
|
|
307
348
|
block_corners: Corner = Corner()
|
|
349
|
+
block_corners_ins: Corner = Corner()
|
|
308
350
|
current_sign: Optional[int] = None
|
|
309
351
|
half_turns: Dict[int, HalfTurn] = {}
|
|
310
352
|
|
|
311
353
|
|
|
312
354
|
class WindingData(BaseModel):
|
|
313
355
|
"""
|
|
314
|
-
|
|
356
|
+
Class for winding data
|
|
315
357
|
"""
|
|
358
|
+
|
|
316
359
|
blocks: Dict[int, BlockData] = {}
|
|
317
360
|
conductor_name: Optional[str] = None
|
|
318
361
|
conductors_number: Optional[int] = None
|
|
@@ -320,57 +363,53 @@ class WindingData(BaseModel):
|
|
|
320
363
|
|
|
321
364
|
class Winding(BaseModel):
|
|
322
365
|
"""
|
|
323
|
-
|
|
366
|
+
Class for windings
|
|
324
367
|
"""
|
|
368
|
+
|
|
325
369
|
windings: Dict[int, WindingData] = {}
|
|
326
370
|
|
|
327
371
|
|
|
328
372
|
class Layer(BaseModel):
|
|
329
373
|
"""
|
|
330
|
-
|
|
374
|
+
Class for winding layers
|
|
331
375
|
"""
|
|
376
|
+
|
|
332
377
|
layers: Dict[int, Winding] = {}
|
|
333
378
|
|
|
334
379
|
|
|
335
380
|
class Pole(BaseModel):
|
|
336
381
|
"""
|
|
337
|
-
|
|
382
|
+
Class for poles
|
|
338
383
|
"""
|
|
384
|
+
|
|
339
385
|
poles: Dict[int, Layer] = {}
|
|
386
|
+
type: Optional[str] = None
|
|
340
387
|
bore_center: Coord = Coord()
|
|
341
388
|
|
|
342
389
|
|
|
343
|
-
class Order(BaseModel):
|
|
344
|
-
"""
|
|
345
|
-
Class for electrical order (block location)
|
|
346
|
-
"""
|
|
347
|
-
coil: Optional[int] = None
|
|
348
|
-
pole: Optional[int] = None
|
|
349
|
-
layer: Optional[int] = None
|
|
350
|
-
winding: Optional[int] = None
|
|
351
|
-
block: Optional[int] = None
|
|
352
|
-
|
|
353
|
-
|
|
354
390
|
class CoilData(BaseModel):
|
|
355
391
|
"""
|
|
356
|
-
|
|
392
|
+
Class for coils
|
|
357
393
|
"""
|
|
394
|
+
|
|
358
395
|
coils: Dict[int, Pole] = {}
|
|
359
|
-
|
|
396
|
+
physical_order: List[Order] = []
|
|
360
397
|
|
|
361
398
|
|
|
362
399
|
class RoxieRawData(BaseModel):
|
|
363
400
|
"""
|
|
364
|
-
|
|
401
|
+
Class for the raw data
|
|
365
402
|
"""
|
|
403
|
+
|
|
366
404
|
cadata: Cadata = Cadata()
|
|
367
405
|
coil: Coil = Coil()
|
|
368
406
|
|
|
369
407
|
|
|
370
408
|
class RoxieData(BaseModel):
|
|
371
409
|
"""
|
|
372
|
-
|
|
410
|
+
Class for the roxie parser
|
|
373
411
|
"""
|
|
412
|
+
|
|
374
413
|
iron: Iron = Iron()
|
|
375
414
|
coil: CoilData = CoilData()
|
|
376
415
|
wedges: Dict[int, Wedge] = {}
|