Source code for pyleecan.Methods.Machine.Conductor.comp_skin_effect_inductance

from numpy import pi, sqrt, sin, cos, sinh, cosh


[docs]def comp_skin_effect_inductance( self, freq, T_op=20, T_ref=20, b4=None, h4=None, zt=None ): """Compute the skin effect factor on inductance for the conductors from "Design of Rotating Electrical Machines", J. Pyrhonen, second edition All parameters bc, h4, z4, are defined in Fig(4.14) p.249 Parameters ---------- self : Conductor an Conductor object freq: float or ndarray electrical frequency [Hz] T_op: float Conductor operational temperature [degC] T_ref: float Conductor reference temperature [degC] b4: float Slot width [m] h4: float Slot height [m] zt: int Number of radial adjacent conductors Returns ---------- kl_skin : float skin effect coeff for inductance at given frequency and temperature """ if b4 is None: # Compute slot average width slot = self.parent.parent.slot b4 = slot.comp_width() if h4 is None: # Compute slot height slot = self.parent.parent.slot h4 = slot.comp_height() if zt is None: # Get number of turns in series per coil zt = self.parent.Ntcoil # conductor width bc = self.comp_width_wire() # Electrical conductivity accounting for temperature increase sigma = self.cond_mat.elec.get_conductivity(T_op=T_op, T_ref=T_ref) # Magnetic permeability mu0 = 4 * pi * 1e-7 if self.cond_mat.mag is None or self.cond_mat.mag.mur_lin is None: mur = 1 else: mur = self.cond_mat.mag.mur_lin # Electrical pulsation w = 2 * pi * freq # reduced conductor height Eq(4.90) p.257 + addind relative permeatibility ksi = h4 * sqrt(w * mu0 * mur * sigma * bc / (2 * b4)) if not isinstance(ksi, float): # Avoid numerical error with 0 ksi[ksi == 0] = 1e-4 # resistance factor function phi prime Eq(4.92) p.257 phip = ( 3 / (2 * ksi) * (sinh(2 * ksi) - sin(2 * ksi)) / (cosh(2 * ksi) - cos(2 * ksi)) ) # resistance factor function psi prime Eq(4.91) p.257 psip = 1 / ksi * (sinh(ksi) + sin(ksi)) / (cosh(ksi) + cos(ksi)) # average resistance factor Eq(4.91) p.257 kl_skin = phip / zt ** 2 + ((zt ** 2 - 1) / zt ** 2) * psip return kl_skin