Source code for pyleecan.Methods.Slot.SlotW28.check

# -*- coding: utf-8 -*-

from numpy import arcsin, pi

from ....Methods.Slot.Slot import SlotCheckError
from ....Methods.Slot.SlotW28 import *


[docs]def check(self): """Check that the SlotW28 object is correct Parameters ---------- self : SlotW28 A SlotW28 object Returns ------- None Raises ------- S28_RboW0CheckError You must have W0/2 < Rbo S28_R1W3CheckError W3 is too high comparing to the lamination bore radius (Rbo) S28_ZsCheckError There are too many slots to match W3 and R1 """ Rbo = self.get_Rbo() # if self.R1 * 2 <= self.W0: # raise S28_WCheckError("You must have W0 < 2*R1") if self.W0 * 0.5 / Rbo >= 1: raise S28_RboW0CheckError("You must have W0/2 < Rbo") if self.is_outwards(): R1 = Rbo + self.H0 + self.R1 else: R1 = Rbo - self.H0 if self.W3 * 0.5 / R1 >= 1: raise S28_R1W3CheckError( "W3 is too high comparing to the lamination bore radius (Rbo)" ) if self.R1 / R1 >= 1: raise S28_R1R1CheckError( "R1 is too high comparing to the lamination bore radius (Rbo)" ) alpha = 2 * arcsin((2 * self.R1 + self.W3) * 0.5 / R1) if alpha > 2 * pi / self.Zs: raise S28_ZsCheckError("There are too many slots to match W3 and R1")