Source code for pyleecan.Functions.Winding.comp_cond_function

from numpy import mod, pi


[docs]def comp_cond_function(alpha_cond, W0, alpha_rad): """Single conductor winding function for magnetomotive force calculation Parameters ---------- alpha_cond : float angular position of the conductor [rad] W0 : float slot opening angular width (for linear rise of the mmf) [rad] alpha_rad : ndarray Position vector to compute the conductor winding function Returns ------- wf: ndarray The conductor winding function """ alpha_rad = mod(alpha_rad + pi - alpha_cond, 2 * pi) thi = 0 thf = 2 * pi if W0 == 0: A = (alpha_rad < pi) * 1 B = (alpha_rad > pi) * 1 return B * ((alpha_rad - thf) / (pi - thf)) - A * ( (alpha_rad - thi) / (pi - thi) ) else: x1 = pi - W0 / 2.0 x2 = pi + W0 / 2.0 A = (alpha_rad < x1) * 1 B = (alpha_rad > x2) * 1 C = 1 - A - B return ( C * (alpha_rad - pi) / (W0 / 2.0) + B * ((alpha_rad - thf) / (x2 - thf)) - A * ((alpha_rad - thi) / (x1 - thi)) )