def test_build_geometry_one_hole_no_mag(self): """check that curve_list is correct (one hole no mag) """ test_obj = LamHole(is_internal=True, Rext=0.075) test_obj.hole = list() test_obj.hole.append( HoleM50( Zh=8, W0=52e-3, W1=0, W2=1e-3, W3=1e-3, W4=20.6e-3, H0=17.3e-3, H1=1.25e-3, H2=0.5e-3, H3=6.8e-3, H4=0, magnet_0=None, magnet_1=None, ) ) result = test_obj.hole[0].build_geometry() self.assertEqual(len(result), 1) for surf in result: self.assertTrue(type(surf) is SurfLine) self.assertEqual(result[0].label[:4], "Hole") self.assertEqual(result[0].label[-9:], "_R0_T0_S0") self.assertEqual(len(result[0].line_list), 16)
def test_build_geometry_two_hole_no_mag(self): """check that curve_list is correct (two holes no magnet) """ test_obj = LamHole(is_internal=True, Rext=0.075) test_obj.hole = list() test_obj.hole.append( HoleM50( Zh=8, W0=50e-3, W1=2e-3, W2=1e-3, W3=1e-3, W4=20.6e-3, H0=17.3e-3, H1=1.25e-3, H2=0.5e-3, H3=6.8e-3, H4=1e-3, magnet_0=None, magnet_1=None, )) result = test_obj.hole[0].build_geometry() self.assertEqual(len(result), 2) for surf in result: self.assertTrue(type(surf) is SurfLine) self.assertEqual(result[0].label, "Air") self.assertEquals(len(result[0].line_list), 11) self.assertEqual(result[1].label, "Air") self.assertEquals(len(result[1].line_list), 11)
def test_build_geometry_two_hole_with_magnet(self): """check that curve_list is correct (one hole) """ test_obj = LamHole(is_internal=True, is_stator=False, Rext=0.075) test_obj.hole = list() test_obj.hole.append( HoleM50( Zh=8, W0=50e-3, W1=2e-3, W2=1e-3, W3=1e-3, W4=20.6e-3, H0=17.3e-3, H1=1.25e-3, H2=0.5e-3, H3=6.8e-3, H4=1e-3, magnet_0=MagnetType10(Wmag=0.01, Hmag=0.02), ) ) result = test_obj.hole[0].build_geometry() self.assertEqual(len(result), 6) for surf in result: self.assertTrue(type(surf) is SurfLine) self.assertEqual(result[0].label[:5], "Hole_") self.assertEqual(result[0].label[-9:], "_R0_T0_S0") self.assertEqual(len(result[0].line_list), 7) self.assertEqual(result[1].label[:11], "HoleMagnet_") self.assertEqual(result[1].label[-11:], "_N_R0_T0_S0") self.assertEqual(len(result[1].line_list), 6) self.assertEqual(result[2].label[:5], "Hole_") self.assertEqual(result[2].label[-9:], "_R0_T1_S0") self.assertEqual(len(result[2].line_list), 4) self.assertEqual(result[3].label[:5], "Hole_") self.assertEqual(result[3].label[-9:], "_R0_T2_S0") self.assertEqual(len(result[3].line_list), 4) self.assertEqual(result[4].label[:11], "HoleMagnet_") self.assertEqual(result[4].label[-11:], "_N_R0_T1_S0") self.assertEqual(len(result[4].line_list), 6) self.assertEqual(result[5].label[:5], "Hole_") self.assertEqual(result[5].label[-9:], "_R0_T3_S0") self.assertEqual(len(result[5].line_list), 7)
def test_build_geometry_one_hole_with_magnet(self): """check that curve_list is correct (one hole) """ test_obj = LamHole(is_internal=True, Rext=0.075) test_obj.hole = list() test_obj.hole.append( HoleM50( Zh=8, W0=52e-3, W1=0, W2=1e-3, W3=1e-3, W4=20.6e-3, H0=17.3e-3, H1=1.25e-3, H2=0.5e-3, H3=6.8e-3, H4=0, magnet_0=MagnetType10(Wmag=0.01, Hmag=0.02), )) result = test_obj.hole[0].build_geometry() self.assertEqual(len(result), 5) for surf in result: self.assertTrue(type(surf) is SurfLine) self.assertEqual(result[0].label, "Air") self.assertEquals(len(result[0].line_list), 5) self.assertEqual(result[1].label, "MagnetS_N_R0_T0_S0") self.assertEquals(len(result[1].line_list), 6) self.assertEqual(result[2].label, "Air") self.assertEquals(len(result[2].line_list), 6) self.assertEqual(result[3].label, "MagnetS_N_R0_T1_S0") self.assertEquals(len(result[3].line_list), 6) self.assertEqual(result[4].label, "Air") self.assertEquals(len(result[4].line_list), 5)
def test_comp_surface(self): """Check that the computation of the slot surface is correct """ test_obj = LamHole(is_internal=True, Rext=0.075) test_obj.hole = list() test_obj.hole.append( HoleM50( Zh=8, W0=50e-3, W1=2e-3, W2=1e-3, W3=1e-3, W4=20.6e-3, H0=17.3e-3, H1=1.25e-3, H2=0.5e-3, H3=6.8e-3, )) result = test_obj.hole[0].comp_surface() a = result b = 3.77977e-04 self.assertAlmostEqual((a - b) / a, 0, delta=DELTA)
from pyleecan.Classes.LamHole import LamHole from pyleecan.Classes.HoleM51 import HoleM51 from numpy import exp, arcsin, ndarray, pi # For AlmostEqual DELTA = 1e-4 HoleM51_test = list() test_obj = LamHole(Rint=45e-3 / 2, Rext=81.5e-3, is_stator=False, is_internal=True, L1=0.9) test_obj.hole = list() test_obj.hole.append( HoleM51( Zh=8, W0=0.016, W1=pi / 6, W2=0.004, W3=0.01, W4=0.002, W5=0.01, W6=0.002, W7=0.01, H0=0.01096, H1=0.0015, H2=0.0055, ))
Rext=80.2e-3, Rint=55.32e-3, L1=0.08382, Kf1=0.95, is_internal=True, is_stator=False, Nrvd=0, ) rotor.hole = [ HoleM50( Zh=8, H0=0.01096, H1=0.0015, H2=0.001, H3=0.0065, H4=0, W0=0.042, W1=0, W2=0, W3=0.014, W4=0.0189, ) ] rotor.hole[0].magnet_0.type_magnetization = 1 rotor.hole[0].magnet_1.type_magnetization = 1 shaft = Shaft(Lshaft=0.1, Drsh=0.11064) frame = None # Set Materials stator.mat_type = M400_50A rotor.mat_type = M400_50A
) stator.winding.conductor = CondType12( Wwire=1.0 * mm, # single wire without isolation Wins_wire=0.1 * mm, # single wire isolation thickness Wins_cond=1.3 * mm, # winding coil isolation Nwppc=1, # number of strands in parallel per coil Kwoh=1, ) # Rotor setup rotor = LamHole(Rint=59 * mm / 2, Rext=158 * mm / 2, is_internal=True, is_stator=False, L1=stator.L1) rotor.hole = list() rotor.hole.append( HoleM50( Zh=8, W0=43.4 * mm, W1=3.0 * mm, W2=1.0 * mm, W3=10.0 * mm, W4=22.0 * mm, H0=20.0 * mm, H1=2.0 * mm, H2=2.5 * mm, H3=6.0 * mm, H4=0.8 * mm, )) """