femagtools 1.3.0__py3-none-any.whl → 1.3.2__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.
- femagtools/__init__.py +1 -1
- femagtools/airgap.py +11 -37
- femagtools/amela.py +148 -13
- femagtools/bch.py +19 -3
- femagtools/dxfsl/area.py +68 -15
- femagtools/dxfsl/converter.py +15 -6
- femagtools/dxfsl/fslrenderer.py +13 -8
- femagtools/dxfsl/functions.py +1 -1
- femagtools/dxfsl/geom.py +415 -62
- femagtools/dxfsl/machine.py +97 -5
- femagtools/dxfsl/shape.py +46 -2
- femagtools/ecloss.py +393 -0
- femagtools/femag.py +25 -1
- femagtools/fsl.py +3 -2
- femagtools/hxy.py +126 -0
- femagtools/isa7.py +37 -24
- femagtools/machine/__init__.py +14 -13
- femagtools/machine/effloss.py +153 -32
- femagtools/machine/im.py +137 -56
- femagtools/machine/pm.py +584 -202
- femagtools/machine/sm.py +218 -64
- femagtools/machine/utils.py +12 -8
- femagtools/mcv.py +6 -8
- femagtools/model.py +11 -1
- femagtools/parstudy.py +1 -1
- femagtools/plot.py +159 -35
- femagtools/templates/afm_rotor.mako +102 -0
- femagtools/templates/afm_stator.mako +141 -0
- femagtools/templates/airgapinduc.mako +3 -3
- femagtools/templates/basic_modpar.mako +23 -2
- femagtools/templates/cogg_calc.mako +28 -5
- femagtools/templates/cu_losses.mako +1 -1
- femagtools/templates/fieldcalc.mako +39 -0
- femagtools/templates/gen_winding.mako +52 -47
- femagtools/templates/mesh-airgap.mako +43 -0
- femagtools/templates/stator3Linear.mako +5 -4
- femagtools/templates/therm-dynamic.mako +12 -6
- femagtools/templates/therm-static.mako +12 -0
- femagtools/templates/torq_calc.mako +2 -4
- femagtools/utils.py +45 -0
- femagtools/windings.py +2 -1
- {femagtools-1.3.0.dist-info → femagtools-1.3.2.dist-info}/METADATA +1 -1
- {femagtools-1.3.0.dist-info → femagtools-1.3.2.dist-info}/RECORD +47 -41
- {femagtools-1.3.0.dist-info → femagtools-1.3.2.dist-info}/WHEEL +1 -1
- {femagtools-1.3.0.dist-info → femagtools-1.3.2.dist-info}/LICENSE +0 -0
- {femagtools-1.3.0.dist-info → femagtools-1.3.2.dist-info}/entry_points.txt +0 -0
- {femagtools-1.3.0.dist-info → femagtools-1.3.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
-- no load single calculation
|
3
|
+
|
4
|
+
maxit=300
|
5
|
+
du_u0=1e-3
|
6
|
+
|
7
|
+
get_wdg_keys("wkeys")
|
8
|
+
|
9
|
+
-- check the machine type PSM/ESM
|
10
|
+
magn = get_dev_data("magn_remanence")
|
11
|
+
|
12
|
+
if magn > 0 then -- IPM
|
13
|
+
-- set cur to zero
|
14
|
+
for i = 1, #wkeys do
|
15
|
+
def_curr_wdg(wkeys[i],0, 0)
|
16
|
+
end
|
17
|
+
else -- ESM
|
18
|
+
for i = 1, #wkeys - 1 do
|
19
|
+
def_curr_wdg(wkeys[i],0, 0)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
calc_field_single(maxit, reset, du_u0)
|
24
|
+
|
25
|
+
post_models("induct(x)","b") -- Calculate field distribution
|
26
|
+
|
27
|
+
data=io.open("bag.dat","w") -- Output in data file
|
28
|
+
N = table.getn(b) -- Number of elements in array
|
29
|
+
i = 1
|
30
|
+
repeat
|
31
|
+
data:write(string.format("%g %g %g\n",b[i],b[i+1],b[i+2]))
|
32
|
+
i = i+3
|
33
|
+
until i>=N
|
34
|
+
io.close(data)
|
35
|
+
|
36
|
+
color_gradation(0,0,"tot","Babs",0,0,"")
|
37
|
+
-- experimental (new femag-classic needed)
|
38
|
+
-- without grf_clear, overlay fieldlines with color gradation
|
39
|
+
add_field_lines("field.svg", 25)
|
@@ -47,35 +47,36 @@ add_to_wdg(m.xcoil_2, m.ycoil_2, "wsamekey", "wo", "wser")
|
|
47
47
|
pre_models("Gen_winding")
|
48
48
|
pre_models("gen_pocfile")
|
49
49
|
% endif
|
50
|
-
% else:
|
50
|
+
% else: # move_action > 0
|
51
51
|
color={"green", "yellow", "magenta", "lightgrey", "darkred", "skyblue", "violet"}
|
52
52
|
wkey={0,0,0,0,0,0}
|
53
|
-
|
53
|
+
|
54
54
|
bz = m.width_bz
|
55
|
-
|
55
|
+
sw = m.slot_width
|
56
56
|
ys = m.slot_height/2
|
57
|
-
|
58
|
-
|
59
|
-
for
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
57
|
+
wdgscheme = ${model.windings.get('wdgscheme', '{}')}
|
58
|
+
-- TODO: m.middle_line = 1 only
|
59
|
+
for l=1, #wdgscheme do
|
60
|
+
for z=1, #wdgscheme[l] do
|
61
|
+
for i=1, #wdgscheme[l][z] do
|
62
|
+
k = wdgscheme[l][z][i]
|
63
|
+
if math.abs(k) < m.num_sl_gen+1 then
|
64
|
+
xs = (2*math.abs(k)-1)*bz/2
|
65
|
+
dir = 1
|
66
|
+
if k < 0 then
|
67
|
+
dir = -1
|
68
|
+
end
|
69
|
+
if wkey[z] == 0 then
|
70
|
+
wdg = "wdg"..z
|
71
|
+
wkey[z]=def_new_wdg(xs + sw/4, ys, color[z], wdg, m.num_wires, 0, dir)
|
72
|
+
else
|
73
|
+
if l == 1 then
|
74
|
+
add_to_wdg(xs + sw/4, ys, wkey[z], dir, "wser")
|
75
|
+
else
|
76
|
+
add_to_wdg(xs - sw/4, ys, wkey[z], dir, "wser")
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
79
80
|
end
|
80
81
|
end
|
81
82
|
end
|
@@ -104,7 +105,7 @@ f = assert(io.open(model..'_'..m.num_poles.."p.poc","w"));
|
|
104
105
|
elseif period<1000 then f:write(string.format(" %10.6f\n",period));
|
105
106
|
end
|
106
107
|
f:write("sin\n");
|
107
|
-
f:write(" 0.
|
108
|
+
f:write(" 0.0\n");
|
108
109
|
f:write(" 0\n");
|
109
110
|
io.close(f);
|
110
111
|
|
@@ -116,27 +117,31 @@ m.num_poles = ${model.poles}
|
|
116
117
|
|
117
118
|
% if 'thcap' in model.windings:
|
118
119
|
-- Thermal Material properties
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
dw =
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
def_mat_therm(
|
120
|
+
if m.slot_height ~= nil then
|
121
|
+
-- FEMAG slot model
|
122
|
+
-- TODO: slot model from user
|
123
|
+
rw = da1/2 +(m.slot_height-m.slot_h1)/2
|
124
|
+
dw = 0
|
125
|
+
dr = 0
|
126
|
+
if m.middle_line == 1 then
|
127
|
+
dw = 1/60
|
128
|
+
elseif m.middle_line == 2 then
|
129
|
+
dr = 1
|
130
|
+
end
|
131
|
+
lamCu = 400
|
132
|
+
capCu = 385
|
133
|
+
da = 1.0785
|
134
|
+
dCu = 1.0
|
135
|
+
lam = lamCu*(dCu/(da-dCu)+(da-dCu)/da)
|
136
|
+
cap = capCu*da^2/(dCu^2*math.pi/4)
|
137
|
+
for i=1,m.num_sl_gen do
|
138
|
+
a = (2*i-1)*math.pi/m.tot_num_sl + m.zeroangl/180*math.pi
|
139
|
+
xwl,ywl = pr2c(rw+dr,a+dw)
|
140
|
+
def_mat_therm(xwl,ywl,'yellow',8920,lam,cap,1)
|
141
|
+
if m.middle_line > 0 then
|
142
|
+
xwr,ywr = pr2c(rw-dr,a-dw)
|
143
|
+
def_mat_therm(xwr,ywr,'yellow',8920,lam,cap,1)
|
144
|
+
end
|
140
145
|
end
|
141
146
|
end
|
142
147
|
%endif
|
@@ -12,6 +12,7 @@ if not airgap_created then
|
|
12
12
|
if alfa == nil then
|
13
13
|
alfa = m.npols_gen*2*math.pi/m.num_poles
|
14
14
|
end
|
15
|
+
% if hasattr(model, 'bore_diam'):
|
15
16
|
r1 = m.fc_radius - ag/6
|
16
17
|
x1, y1 = pr2c(r1, alfa)
|
17
18
|
n = math.floor(m.fc_radius*alfa/agndst + 1.5)
|
@@ -41,4 +42,46 @@ if not airgap_created then
|
|
41
42
|
create_mesh_se(x0, y0)
|
42
43
|
x0, y0 = pr2c(r2+ag/6, alfa/2)
|
43
44
|
create_mesh_se(x0, y0)
|
45
|
+
% else:
|
46
|
+
-- airgap nodechains for axial flux
|
47
|
+
x1, y1 = 0, -ag/2 -- airgap center
|
48
|
+
x2, y2 = m.num_slots*(m.tooth_width+m.slot_width), y1
|
49
|
+
nc_line(x1, -ag/3, x2, -ag/3, num_agnodes+1)
|
50
|
+
nc_line(x1, -ag/3, x1, 0, 1)
|
51
|
+
nc_line(x2, -ag/3, x2, 0, 1)
|
52
|
+
create_mesh_se((x1+x2)/2, -ag/6)
|
53
|
+
|
54
|
+
nc_line(x1, -2*ag/3, x2, -2*ag/3, num_agnodes+1)
|
55
|
+
nc_line(x1, -2*ag/3, x1, -ag, 1)
|
56
|
+
nc_line(x2, -2*ag/3, x2, -ag, 1)
|
57
|
+
create_mesh_se((x1+x2)/2, -5*ag/6)
|
58
|
+
|
59
|
+
nc_line(x1, -ag/3, x1, -2*ag/3, 1)
|
60
|
+
nc_line(x2, -ag/3, x2, -2*ag/3, 1)
|
61
|
+
create_mesh_se((x1+x2)/2, -ag/2)
|
62
|
+
|
63
|
+
-- set boundary conditions
|
64
|
+
del_bcond()
|
65
|
+
if m.st_yoke_height > 0 then
|
66
|
+
sh = m.slot_height
|
67
|
+
else
|
68
|
+
sh = m.slot_height/2
|
69
|
+
end
|
70
|
+
x1,y1 = 0, sh+m.st_yoke_height
|
71
|
+
x2,y2 = x1, -ag - m.magn_height -m.yoke_height
|
72
|
+
x3,y3 = m.npols_gen*m.pole_width, y2
|
73
|
+
x4,y4 = x3, y1
|
74
|
+
if m.npols_gen%2 == 1 then
|
75
|
+
def_bcond_only(x1,y1, x2,y2, x3,y3, x4,y4, 3)
|
76
|
+
else
|
77
|
+
def_bcond_only(x1,y1, x2,y2, x3,y3, x4,y4, 4)
|
78
|
+
end
|
79
|
+
if (m.model_type ~= "S1R2") then
|
80
|
+
def_bcond_vpo(x4,y4, x1,y1)
|
81
|
+
end
|
82
|
+
if (m.model_type ~= "S2R1") then
|
83
|
+
def_bcond_vpo(x2,y2, x3,y3)
|
84
|
+
end
|
85
|
+
|
86
|
+
% endif
|
44
87
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
2
|
|
3
|
-
m.cood_system = ${model.get('coord_system', 1)} -- 1: x/y or 2: r/z
|
3
|
+
m.cood_system = ${model.get('coord_system', 1)} -- 1: x/y or 2: r/z
|
4
4
|
|
5
5
|
m.l_corner_x0 = 0.0
|
6
6
|
m.l_corner_y0 = 0.0
|
@@ -13,10 +13,11 @@ m.slot_r1 = ${model['slot_r1']*1e3}
|
|
13
13
|
m.slot_r2 = ${model['slot_r2']*1e3}
|
14
14
|
m.width_bz = ${model['width_bz']*1e3}
|
15
15
|
m.tooth_width = ${model['tooth_width']*1e3}
|
16
|
+
m.slot_width = m.width_bz - m.tooth_width
|
16
17
|
|
17
18
|
m.middle_line = ${model['middle_line']}
|
18
|
-
m.zeroangl = 0.000 -- Reference angle to x-axis [grad]
|
19
|
-
|
19
|
+
m.zeroangl = 0.000 -- Reference angle to x-axis [grad]
|
20
|
+
|
20
21
|
m.mcvkey_yoke = mcvkey_yoke
|
21
|
-
|
22
|
+
|
22
23
|
pre_models("STATOR3_Linear");
|
@@ -56,14 +56,22 @@ xcoil, ycoil = ${model['temp_coords'][0]},${model['temp_coords'][1]}
|
|
56
56
|
local load = read_load_file("load.csv")
|
57
57
|
|
58
58
|
f = io.open('temperature.dat', 'w')
|
59
|
+
f:write(string.format("0.0 0.0\n"))
|
60
|
+
|
59
61
|
i = 1
|
60
62
|
for _, load_data in ipairs(load) do -- use pairs or ipairs to iterate over tables
|
61
63
|
if i == 1 then
|
62
64
|
t1 = load_data.t
|
65
|
+
i1 = load_data.i1
|
66
|
+
beta = load_data.beta
|
67
|
+
speed = load_data.n
|
63
68
|
printf("\nTotal steps: %d\n", #load)
|
64
69
|
else
|
65
70
|
t2 = load_data.t
|
66
71
|
end_time = t2 - t1
|
72
|
+
i1 = load_data.i1
|
73
|
+
beta = load_data.beta
|
74
|
+
speed = load_data.n
|
67
75
|
|
68
76
|
m.current = i1 * math.sqrt(2)/m.num_par_wdgs
|
69
77
|
m.angl_i_up = beta
|
@@ -82,20 +90,18 @@ for _, load_data in ipairs(load) do -- use pairs or ipairs to iterate over tabl
|
|
82
90
|
else
|
83
91
|
start_mode = temp_load
|
84
92
|
end
|
85
|
-
time_step =
|
93
|
+
time_step = end_time/5
|
86
94
|
calc_therm_field_tstep(start_mode,time_step,end_time)
|
87
95
|
|
88
96
|
export_calc_results("temp-"..string.format("%03d",i)..".vtu")
|
89
97
|
temp = temperature_xy(xcoil, ycoil)
|
90
|
-
printf(" %
|
98
|
+
printf("%4d, time: %6.1fs, current: %5.1fA, speed: %6.1frpm, Temp incr.: %2.2fK, time-step: %3.1fs\n", i-1, t2, i1, m.speed, temp, time_step)
|
91
99
|
f:write(string.format("%g %g\n", t2, temp))
|
92
100
|
t1 = t2
|
93
101
|
end
|
94
102
|
|
95
|
-
|
96
|
-
|
97
|
-
speed = load_data.n
|
98
|
-
i = i+1
|
103
|
+
i = i+1
|
104
|
+
|
99
105
|
end
|
100
106
|
f:close()
|
101
107
|
save_model('close')
|
@@ -23,6 +23,18 @@ def_heat_transfer(x,y,yellow,heat_transfer_coefficient, area_factor)
|
|
23
23
|
---------------------------------------------
|
24
24
|
-- import losses
|
25
25
|
import_losses_from_femag_dc()
|
26
|
+
-- overwrite magnet losses (IALH)
|
27
|
+
%if not isinstance(model.get('magnet_loss_th', 0), list):
|
28
|
+
printf('magnet losses from B2 Method')
|
29
|
+
%else:
|
30
|
+
printf('magnet losses from IAlH Method')
|
31
|
+
%for i in model['magnet_loss_th']:
|
32
|
+
elkeys = get_spel_data("elkeys", ${i[0]})
|
33
|
+
x, y = get_elem_data("xycp", elkeys[1])
|
34
|
+
def_losses ( x,y,'red', ${i[1]})
|
35
|
+
%endfor
|
36
|
+
%endif
|
37
|
+
|
26
38
|
color_gradation_th(0,0,tot,Losses,0,0,model.."_losses.svg")
|
27
39
|
|
28
40
|
---------------------------------------------
|
@@ -25,18 +25,16 @@ m.range_y = 0.0
|
|
25
25
|
|
26
26
|
m.fc_force_points = 5
|
27
27
|
m.fcpx_mm1 = m.npols_gen*m.pole_width +1.0
|
28
|
-
m.fcpy_mm1 = -
|
28
|
+
m.fcpy_mm1 = -ag/2
|
29
29
|
m.fcpx_mm2 = -1.0
|
30
30
|
m.fcpy_mm2 = m.fcpy_mm1
|
31
31
|
m.fcpx_mm3 = m.fcpx_mm2
|
32
|
-
m.fcpy_mm3 = -m.magn_height -m.yoke_height -m.gap_ma_yoke -
|
32
|
+
m.fcpy_mm3 = -m.magn_height -m.yoke_height -m.gap_ma_yoke -ag -1
|
33
33
|
m.fcpx_mm4 = m.fcpx_mm1
|
34
34
|
m.fcpy_mm4 = m.fcpy_mm3
|
35
35
|
m.fcpx_mm5 = m.fcpx_mm1
|
36
36
|
m.fcpy_mm5 = m.fcpy_mm1
|
37
37
|
|
38
|
-
m.npols_gen = 1 -- number of sectors simulated
|
39
|
-
|
40
38
|
% endif
|
41
39
|
m.nu_force_pat = 0.0
|
42
40
|
m.nu_skew_steps = ${model.get('num_skew_steps',0)}
|
femagtools/utils.py
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
import numpy as np
|
2
|
+
|
3
|
+
def fft(pos, y, pmod=0):
|
4
|
+
"""calculate fft spectrum of y and return samples,
|
5
|
+
values, amplitude and phase of base harmonic
|
6
|
+
|
7
|
+
Arguments:
|
8
|
+
pos: (list of floats) sample positions
|
9
|
+
y: (list of floats) y values
|
10
|
+
pmod: number of poles in model (ignored if 0)
|
11
|
+
"""
|
12
|
+
model_angle = pos[-1] - pos[0]
|
13
|
+
ntiles = int(round(360/model_angle))
|
14
|
+
|
15
|
+
if pmod:
|
16
|
+
negative_periodic = pmod % 2
|
17
|
+
else:
|
18
|
+
negative_periodic = np.abs(y[0] - y[-1])/np.max(y) > 1
|
19
|
+
|
20
|
+
if negative_periodic:
|
21
|
+
yx = np.append(
|
22
|
+
np.concatenate(
|
23
|
+
[n*y[:-1]
|
24
|
+
for n in [m % 2 or -1
|
25
|
+
for m in range(1, ntiles+1)]]),
|
26
|
+
y[0])
|
27
|
+
else:
|
28
|
+
yx = np.append(
|
29
|
+
np.tile(y[:-1], ntiles),
|
30
|
+
y[0])
|
31
|
+
|
32
|
+
N = len(yx)
|
33
|
+
# compute DFT from induction
|
34
|
+
Y = np.fft.fft(yx)
|
35
|
+
|
36
|
+
# find the peak (amplitude of base harmonic)
|
37
|
+
i = np.argmax(np.abs(Y[:N//2]))
|
38
|
+
a = 2*np.abs(Y[i])/N
|
39
|
+
freq = np.fft.fftfreq(N, d=pos[1]-pos[0])
|
40
|
+
T0 = np.abs(1/freq[i])
|
41
|
+
npoles = 2*int(np.ceil(360/T0))
|
42
|
+
|
43
|
+
return {'a': a, 'freq': freq, 'T0': T0, 'alfa0': np.angle(Y[i]),
|
44
|
+
'nue': (2*np.abs(Y[:9*npoles])/N).tolist(),
|
45
|
+
'yi': yx.tolist()}
|
femagtools/windings.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: femagtools
|
3
|
-
Version: 1.3.
|
3
|
+
Version: 1.3.2
|
4
4
|
Summary: Python API for FEMAG
|
5
5
|
Author-email: Ronald Tanner <tar@semafor.ch>, Dapu Zhang <d.zhan@gtisoft.com>, Beat Holm <hob@semafor.ch>, Günther Amsler <amg@semafor.ch>, Nicolas Mauchle <mau@semafor.ch>
|
6
6
|
License: Copyright (c) 2016-2023, Semafor Informatik & Energie AG, Basel
|
@@ -1,9 +1,9 @@
|
|
1
|
-
femagtools/__init__.py,sha256=
|
2
|
-
femagtools/airgap.py,sha256=
|
1
|
+
femagtools/__init__.py,sha256=z_fNAxGXyLOmiYKuS-2RP37KC2IJUR3n6UnUcpMt3q4,1630
|
2
|
+
femagtools/airgap.py,sha256=ohp5GMuJGcrPhkpJHjlcsPZLlMJn2KDfk8gdNX7zyE8,1550
|
3
3
|
femagtools/amazon.py,sha256=r9RRZVjKe6A7HUoRHmVpP-y1zfgJNvcPgW7mmeukvpk,12122
|
4
|
-
femagtools/amela.py,sha256=
|
4
|
+
femagtools/amela.py,sha256=jLGbTJU-ldK-dF9WbSDfuJYPtlmombqxZQ_K6t-IG28,14056
|
5
5
|
femagtools/asm.py,sha256=5nSrgY3s9iWgnQYBjz6AVbk6IutLzBgcsuGZZo4KbkU,7706
|
6
|
-
femagtools/bch.py,sha256=
|
6
|
+
femagtools/bch.py,sha256=rxMi68HUa_D-s626FheXiXimzYthohPqQ7lPjnHPUuM,69488
|
7
7
|
femagtools/bchxml.py,sha256=O6DlNS5xL8CPNLH9DV86bDAkl4pnvhpvbByUYMB6bhI,2923
|
8
8
|
femagtools/condor.py,sha256=J8z9iBdvrGu3I1eFNoyKV8AXzRoTEPGLSak6cXUQxAM,10766
|
9
9
|
femagtools/conductor.py,sha256=rXO7c7Qh_s7JpgILmLd4IbG64vP6Eh143YF9u25Mdwg,1076
|
@@ -13,23 +13,25 @@ femagtools/dakota.py,sha256=OBPxicuZiw1X-7WJ05MvEQXocH-GPgRiOoRjY_jOVW4,7017
|
|
13
13
|
femagtools/dakota_femag.py,sha256=FGGXg1uYkTDNdElqsyMwtHJQKFzGV9f_3FaA55JEfuk,4064
|
14
14
|
femagtools/dakotaout.py,sha256=6nn0PXsB40mPKiQLenqAtHy0KXCO7kvqqQ-aD2JhQvw,5573
|
15
15
|
femagtools/docker.py,sha256=XDVmLBB0z4sZZpcrx7Wbm84xl4ksj7aqn5-ZOPxdxm4,7460
|
16
|
+
femagtools/ecloss.py,sha256=4tO-P6OwBbto2Xk0IJ0T5le7rT2BDWPQAAZwaKhNgcA,13239
|
16
17
|
femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
|
17
|
-
femagtools/femag.py,sha256=
|
18
|
+
femagtools/femag.py,sha256=Vt3JANsphKTKJOBdacYVsMLr5IbabTr_Dxws7tHe0y4,42422
|
18
19
|
femagtools/forcedens.py,sha256=nEM1MHxtpLee2sGFsehzrWEdsCRe_RSRqyNfj6u_l8g,7415
|
19
|
-
femagtools/fsl.py,sha256=
|
20
|
+
femagtools/fsl.py,sha256=ZYT83mAZasoUZWSYGeWdDJz0zyIftenNclDNsY0tQ-c,30989
|
20
21
|
femagtools/getset.py,sha256=yJ6Em35DeWK7WNZW0qjjS5s7LUkVh5mbgxF59HHm5FM,3017
|
21
22
|
femagtools/gmsh.py,sha256=IKhNiviIBji4cMxAhxaYXNqBRMNAPSKsBGdnGyxkyQw,3903
|
22
23
|
femagtools/google.py,sha256=rU2GxRxgwdrNkGmXY_E-IWOF69OSu3LmpKFnuegk_0Y,17166
|
23
24
|
femagtools/grid.py,sha256=s7LfKKLm2H4-cza2kSEANq6vwxq10Su3TJl3kHShHRA,1561
|
24
|
-
femagtools/
|
25
|
+
femagtools/hxy.py,sha256=TU0GoHtStq3VBoc4nGLmtKquY8-tT0UWxLf5FzMBLjE,3738
|
26
|
+
femagtools/isa7.py,sha256=9uV20bmT4qZs4vZybzVfyJH-lN3wmN9KqogsE5juKms,42052
|
25
27
|
femagtools/jcf2msh.py,sha256=pqVF3w_fr7WjqXldQrJTEDqdsQzO_m13XSC65JRulBw,2790
|
26
28
|
femagtools/jhb.py,sha256=stJxkmzHpfUIBVcFw7jWbV5KN9_EFqzOCgacyhUqWvM,1779
|
27
29
|
femagtools/job.py,sha256=dOatzr10nIda76CjVRSS0SfEWC8_BAw0kowli523qbY,11320
|
28
30
|
femagtools/losscoeffs.py,sha256=IKq_Lbeeh05sPYdTFZUEg5GhHTYhioqzLwxBYUcj78Q,2261
|
29
31
|
femagtools/magnet.py,sha256=Nuk060bT4Wa3lX74HdefqTTtUxLaERDSBYTTpbi6KP4,1093
|
30
|
-
femagtools/mcv.py,sha256=
|
32
|
+
femagtools/mcv.py,sha256=GcM7lf7dHvHsX9QMMMYCwkB5K5rThcLV73X-7fe-dr0,39696
|
31
33
|
femagtools/me.py,sha256=XNK0l-aroNYfKyxV_uslE8q3vJb_KuntAYTWd-4FQaQ,1833
|
32
|
-
femagtools/model.py,sha256=
|
34
|
+
femagtools/model.py,sha256=6AuHsaNLdsjBg_DC8HUigzyn4t36OU6EHC6GuEAxxQA,14696
|
33
35
|
femagtools/moproblem.py,sha256=kOP8pRdD8YXz28_M2WKnFgl3eeJ7tqg49ohoazsmUOg,2825
|
34
36
|
femagtools/multiproc.py,sha256=NmfUOcGrgAdHpHUanTakiYA48mPaV5oCbYgxvYj49LE,8506
|
35
37
|
femagtools/mxw2msh.py,sha256=6FytyRtxMAO5vWRgZRWCQs04RFq7qiRy6hjOGb8NwpM,1841
|
@@ -37,52 +39,56 @@ femagtools/nc.py,sha256=o2-pjhl6EBh0ffriYkAVkvxQYwcmeEv_tlaeQ9ZD1X4,12781
|
|
37
39
|
femagtools/netlist.py,sha256=CSCl8setLZ_L8DCnNWaNA3-wLe1yo-fmzARZoVvYfaA,2052
|
38
40
|
femagtools/ntib.py,sha256=76g1ZO3Fq_kN-HTMBvaKvJmMMlJMyEPFeNAcJPq3w7Y,3099
|
39
41
|
femagtools/opt.py,sha256=Oak-C1_5iFZonwokB3ezB52fcZi5yiUEffjG1Tmgag8,8685
|
40
|
-
femagtools/parstudy.py,sha256=
|
41
|
-
femagtools/plot.py,sha256=
|
42
|
+
femagtools/parstudy.py,sha256=YbCpDL9m3MQtClOPzc0xDO8WWRWAd8jLnw4y5rHp3Gk,18717
|
43
|
+
femagtools/plot.py,sha256=9y19IJIz6U3LGcdnTwkIy_b5aWsZ1R-NaON_ublq_kk,62239
|
42
44
|
femagtools/poc.py,sha256=MN5DRL4vHycNzXSTt9kjuZP1yZ2I02NmrKQFsmRcbF0,6536
|
43
45
|
femagtools/tks.py,sha256=jgQ5dpKNPZg0ydwNGLBVjsL5WRsjfk9FtkZt3eoX79I,5791
|
44
46
|
femagtools/ts.py,sha256=vm3GzLG6lzkg_Z84U-ZCgYHhev-PPtNuGs1q-CKJ4rA,47280
|
47
|
+
femagtools/utils.py,sha256=LDvKfyKY5UmBLqA8OxzZXJ8uzS7j6nx76FPtrP-ssEk,1265
|
45
48
|
femagtools/vbf.py,sha256=9XGfhftmD9carU8ByQ5DwqoR4daq5mJ39eMqruwml0Q,2444
|
46
49
|
femagtools/vtu.py,sha256=DA0uRYW9121Ay9Je0xeJ1DXeCtE6fiCMEiuvkSSGg0U,8595
|
47
|
-
femagtools/windings.py,sha256=
|
50
|
+
femagtools/windings.py,sha256=1O9fLTEu8x_HeibVG0ia72ROLrcAVjNyJ24Y8TAfGWQ,22310
|
48
51
|
femagtools/dxfsl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
|
-
femagtools/dxfsl/area.py,sha256=
|
52
|
+
femagtools/dxfsl/area.py,sha256=TmTJy7T8pCpxdk_DM345mLwJez6nat5OIgVosXYsq6E,54793
|
50
53
|
femagtools/dxfsl/conv.py,sha256=xOCj0vPlyRVP1FVNPLtKx_Fe88emjaht_DD4bfycD6A,8990
|
51
|
-
femagtools/dxfsl/converter.py,sha256=
|
54
|
+
femagtools/dxfsl/converter.py,sha256=kOFaY8XMt2KAvmKNoGtaAZAL246WtOJrM2AL4prbY_0,19237
|
52
55
|
femagtools/dxfsl/corner.py,sha256=UI1MLlVmiTBURywsOnXnXV7eBABoENc6ortkW_3GYH8,1266
|
53
56
|
femagtools/dxfsl/dumprenderer.py,sha256=n4AvInjvGIaC2iKZtQaYXXDyJVSQ3uEOFOLD4-xfKRY,1861
|
54
|
-
femagtools/dxfsl/fslrenderer.py,sha256=
|
55
|
-
femagtools/dxfsl/functions.py,sha256=
|
56
|
-
femagtools/dxfsl/geom.py,sha256=
|
57
|
-
femagtools/dxfsl/machine.py,sha256=
|
57
|
+
femagtools/dxfsl/fslrenderer.py,sha256=jrn5JGltco8cyk83IxxmG0M36Uco-_xaUqPUZMZBeZo,23372
|
58
|
+
femagtools/dxfsl/functions.py,sha256=CVEfdYgIlXFPoeRgljOGQt-FlPsk6ZzCn2G1D8wlGho,9835
|
59
|
+
femagtools/dxfsl/geom.py,sha256=c4ubHZdiZr2zjVEErpJRiZS4ExsL5p3keOnag6CGefg,146625
|
60
|
+
femagtools/dxfsl/machine.py,sha256=LC8D9FmZPcoMHzd-whswtCEapdAVkIgQyrL5ydjIol8,31058
|
58
61
|
femagtools/dxfsl/plotrenderer.py,sha256=f7ZTnD0HCLBzurUsVAqqZskTzLeKfhqtfHL32mXZcA4,12311
|
59
|
-
femagtools/dxfsl/shape.py,sha256=
|
60
|
-
femagtools/machine/__init__.py,sha256=
|
61
|
-
femagtools/machine/effloss.py,sha256=
|
62
|
-
femagtools/machine/im.py,sha256=
|
63
|
-
femagtools/machine/pm.py,sha256=
|
62
|
+
femagtools/dxfsl/shape.py,sha256=G1Y6tEc_gj3BcGVx2BVOkGI9_Jhd824cUvo2CtigWAM,44863
|
63
|
+
femagtools/machine/__init__.py,sha256=AYFgOw8Apy_BAYFNYXfX_AzrP5C3LrmWL5j3qgainng,7413
|
64
|
+
femagtools/machine/effloss.py,sha256=vN7VEvhelXaq0BXoxj_K69ZY_OCYWpRiXI_TSV1XJU8,11467
|
65
|
+
femagtools/machine/im.py,sha256=enHiNrOUJhhjt8InmRt3m6txlQvLMhGR-wSLNRZ6pp4,38093
|
66
|
+
femagtools/machine/pm.py,sha256=WJxUwnJ547gsx4TH4HgWbvUwCJspIz55tw7qaQZy0fg,51280
|
64
67
|
femagtools/machine/sizing.py,sha256=4y4nShJYHBJTepl70tGUNqKhR2rd1bY5jZ0wektiDng,21743
|
65
|
-
femagtools/machine/sm.py,sha256=
|
66
|
-
femagtools/machine/utils.py,sha256=
|
68
|
+
femagtools/machine/sm.py,sha256=6KoXHsN7OFeUjTq7W6UqRaGHtXIKlngu8OFjh3Xz8Mw,32810
|
69
|
+
femagtools/machine/utils.py,sha256=HNWv3jm1ISCehK8Re_peqPIcU35lLE3p5Ba03HpfrKo,16747
|
67
70
|
femagtools/moo/__init__.py,sha256=zinmWEOrsEz6DmMX0Dbn4t6_1UR-p4bEGqyR1wUQk_Q,175
|
68
71
|
femagtools/moo/algorithm.py,sha256=scHmwwa1LyJKod_hZ_Mm5ZKz86ptF_psAFWI2JyqqH8,5493
|
69
72
|
femagtools/moo/population.py,sha256=gi8PSVUXkYY5vzgAwWvxfMbH_z51fN58O4-NKoarwzI,10100
|
70
73
|
femagtools/moo/problem.py,sha256=McIGKAXK97Jygumns0qmFeYxTG6KDRSQj2aENeC9F9A,2391
|
71
74
|
femagtools/templates/FE-losses.mako,sha256=Rql5_8Q6_uthpr-uFXMUo7tdHehfZYND-7M-ohJXVU8,874
|
72
|
-
femagtools/templates/
|
75
|
+
femagtools/templates/afm_rotor.mako,sha256=cVdfuHMfOwsBkU3TdBodBhBLzCQ4PFDU7OyPDAj4uSw,3062
|
76
|
+
femagtools/templates/afm_stator.mako,sha256=WcoC3FF0jXDYi03kDBDXhQGZeM6e1qye54jIsOpP83g,4618
|
77
|
+
femagtools/templates/airgapinduc.mako,sha256=aCMLZ7P4vjeSGikIetkwymgDjESdftPN_aYx2LfjfsY,246
|
73
78
|
femagtools/templates/asyn_motor.mako,sha256=vvZ0SIJj4ORaCbE1Hl5NeCU_j2CWdOltVpSKP7ESJTQ,2879
|
74
|
-
femagtools/templates/basic_modpar.mako,sha256=
|
79
|
+
femagtools/templates/basic_modpar.mako,sha256=7qXIYrqJqI3xRnxXKG5zSwBNsiQotc94Q37X4sbAXxQ,3036
|
75
80
|
femagtools/templates/calc_field_ts.mako,sha256=hNs7INzk92U8LljQvQHnKf20fD2HU6igtx1rhsOvPkc,1911
|
76
81
|
femagtools/templates/calc_therm_field.mako,sha256=Q1aAulucLjrtNiCnFGin3ObK13R1KG6dWjJTWwdfxds,1600
|
77
|
-
femagtools/templates/cogg_calc.mako,sha256=
|
82
|
+
femagtools/templates/cogg_calc.mako,sha256=aKGbAVP4ZkhAjZmtDIx2sBIhbTNOUPDV1Rx1J4Um_zc,1746
|
78
83
|
femagtools/templates/colorgrad.mako,sha256=H1wbqukj3SspVBtbMKPjiuaUyDa6uIUJDgfWXwBi5eE,400
|
79
84
|
femagtools/templates/com_motor_sim.mako,sha256=XvLTOCGX8VXzrMS7NJAo1rPc7BnnYV8oVqYcg0ko154,1264
|
80
85
|
femagtools/templates/conduct-data.mako,sha256=quT9S1cq2C2GyeoUe-erxV6w20KvRPuJVJQQw33L9kk,472
|
81
86
|
femagtools/templates/connect_models.mako,sha256=8j1hzBMeoDJ7-GL5BH-S5p53Bu5jtqqsC2_w6MSwWnI,663
|
82
|
-
femagtools/templates/cu_losses.mako,sha256=
|
87
|
+
femagtools/templates/cu_losses.mako,sha256=EeNwINYuwBuhbo9LH3STdQOTxOyyWw_BANgh_BSV9TE,1339
|
83
88
|
femagtools/templates/ec-rotorbar.mako,sha256=RbA1TVNczEEddTNjvGLPxILExxp4rIgoxXe1YT6a4Is,1672
|
84
89
|
femagtools/templates/fe-contr.mako,sha256=NoP7FQ62ITxgNmwP6GmkCnGhjEn5gPLUFgdLdhkKylY,1983
|
85
|
-
femagtools/templates/
|
90
|
+
femagtools/templates/fieldcalc.mako,sha256=-KgomjTDoWIJH-9nMyfkIWvfSjHnYYeuL8eIGyvZnCs,905
|
91
|
+
femagtools/templates/gen_winding.mako,sha256=O4e2yTgFb4GfOBsMvxUwqF6rUSOpek4AU4wRvQ7DVDg,4983
|
86
92
|
femagtools/templates/inductances.mako,sha256=OpcW3E7LW09J8eoXylzfq2R16LKKxzJDr0PGCdHzixM,560
|
87
93
|
femagtools/templates/ld_lq_fast.mako,sha256=bS6YmQ8jR2xFqKEyKiyBxR27SIoqiByigY3YrnmtMqQ,1270
|
88
94
|
femagtools/templates/leak_dist_wind.mako,sha256=vs8fpxcM203kL8BVNuR8BKSmMsQM6U1_vTtYXZIfdSc,600
|
@@ -100,7 +106,7 @@ femagtools/templates/magnetSector.mako,sha256=HYguaQX_DUvplLKhwa_4IR5aBlwRP34vL8
|
|
100
106
|
femagtools/templates/magnetSectorLinear.mako,sha256=ez2rkZslw66Zy4DCDiLjI2K45nEjGgunl0jsXseO_Zs,727
|
101
107
|
femagtools/templates/magnetShell.mako,sha256=vpyZIZ5tOsrmUVM00Kime7zyu1lK9P61xq78jB8BLdo,1295
|
102
108
|
femagtools/templates/magnetShell2.mako,sha256=4IJBfBTPxuYHr1SAcVvNdQoGd8emwsx8vMKQPI9pRlc,4080
|
103
|
-
femagtools/templates/mesh-airgap.mako,sha256=
|
109
|
+
femagtools/templates/mesh-airgap.mako,sha256=rqOsQ6IQXwR8VFo-FUyMDreK4-OlFcl0_NzOTm_WHuU,2250
|
104
110
|
femagtools/templates/modal_analysis.mako,sha256=Thf62FBqL738qnp1ongPr196GJY27vwElKqPfMWF45s,2298
|
105
111
|
femagtools/templates/mult_cal_fast.mako,sha256=Kuy3ngSJRFBkeKPC_wX_2dCdxqrV3jF5UALnICMpRl8,1202
|
106
112
|
femagtools/templates/new_model.mako,sha256=P7658h99bKrA6YbP1D365ImIZPGEAZoBeYCdq0DT0AA,345
|
@@ -123,18 +129,18 @@ femagtools/templates/shortcircuit.mako,sha256=Mr1zRtF_Y2QZ1qpTn8_-PASYrTFRYWpByh
|
|
123
129
|
femagtools/templates/srm.mako,sha256=NneriEFv1wurQCGBI2xozzF2pTzlzS8pEPqtKm0SASQ,2077
|
124
130
|
femagtools/templates/stator1.mako,sha256=1sf0lzLXsjwiBNk3OGLwlio3GUVFogfxqEwaySVO6cs,761
|
125
131
|
femagtools/templates/stator2.mako,sha256=7Ae9sfaX7H4ummL6-g8iG42ArUvl6J809TW2tOdPpYE,599
|
126
|
-
femagtools/templates/stator3Linear.mako,sha256=
|
132
|
+
femagtools/templates/stator3Linear.mako,sha256=pNe3C1wT0W2C0qePo3sEyebW1z_dpTuJzg0r5kf3JQY,760
|
127
133
|
femagtools/templates/stator4.mako,sha256=Jq8pfIuOmmpyGOL1z2aQZfbwMS5-Zyn6OGJ51LCBVKs,1179
|
128
134
|
femagtools/templates/statorBG.mako,sha256=fh0cVOZVWyLojlGxWJoFz2pvdL6Yxy4xzhY-Joc2xeg,893
|
129
135
|
femagtools/templates/statorRing.mako,sha256=sDgDmk71EoE8d4e9cmyqKqRldfC8uKMmpHEjXJGIt_k,2071
|
130
136
|
femagtools/templates/statorRotor3.mako,sha256=MrU_JCSH8tJEUH09fftJJslkbEeIwOB1WGBSxXqUqeI,4942
|
131
137
|
femagtools/templates/stator_msh.mako,sha256=Neze1ielMCk7TrARyhOra91fFQVT8Phsgk2Omt_aMG8,1799
|
132
|
-
femagtools/templates/therm-dynamic.mako,sha256=
|
133
|
-
femagtools/templates/therm-static.mako,sha256=
|
134
|
-
femagtools/templates/torq_calc.mako,sha256=
|
135
|
-
femagtools-1.3.
|
136
|
-
femagtools-1.3.
|
137
|
-
femagtools-1.3.
|
138
|
-
femagtools-1.3.
|
139
|
-
femagtools-1.3.
|
140
|
-
femagtools-1.3.
|
138
|
+
femagtools/templates/therm-dynamic.mako,sha256=pEz7jrUpopK1-RqgulNnrkSaCZDjfLelsVo6cBqmpac,3142
|
139
|
+
femagtools/templates/therm-static.mako,sha256=koAz72K64fP1SlzCaj_fcJv7mYW0IBtkKTCGVusiux0,1348
|
140
|
+
femagtools/templates/torq_calc.mako,sha256=R4HdtiPwcOcudzW7Pd2GhPqjfQnCfYj2ZIxfz6bsEx0,1729
|
141
|
+
femagtools-1.3.2.dist-info/LICENSE,sha256=V5OED7AzEaOtvbfgNheKOSUeNtijvKQuo84FtSJNkJU,1316
|
142
|
+
femagtools-1.3.2.dist-info/METADATA,sha256=FF6YUcPElZE8KS7ReASBs0q6NB4k8qH_rfd1VKEXb8I,5714
|
143
|
+
femagtools-1.3.2.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
|
144
|
+
femagtools-1.3.2.dist-info/entry_points.txt,sha256=FZpd7JumQdJo-AZUyRA8-aJthK85jg37_qjRoDTY-Mo,191
|
145
|
+
femagtools-1.3.2.dist-info/top_level.txt,sha256=DScrn5RiUYKtaEVgcG3AMSWDUd2N8uqxk-gZY-2CaYk,11
|
146
|
+
femagtools-1.3.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|