def test_type_wind_DW2L(self): """Test Winding matrix plot for type_winding DW2L""" plt.close("all") test_obj = LamSlotWind(Rint=0.5, Rext=0.9, is_internal=False) test_obj.slot = SlotW21(Zs=36, H0=20e-3, H1=0, H1_is_rad=False, H2=0.2, W0=30e-3, W1=0.06, W2=0.06) test_obj.winding = WindingDW2L(p=3, qs=3, coil_pitch=5) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Wind_DW2L_lam.png")) test_obj.plot_winding() fig = plt.gcf() fig.savefig(join(save_path, "test_Wind_DW2L_wind.png")) test_obj.slot.Zs = 24 test_obj.winding = WindingDW2L(p=1, qs=3, coil_pitch=10) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Wind_DW2L_lam2.png")) test_obj.plot_winding() fig = plt.gcf() fig.savefig(join(save_path, "test_Wind_DW2L_wind2.png"))
def test_Lam_Wind_28_wind_rad_tan(self): """Test machine plot with Slot 28 and winding rad=1, tan=2 and rad=2 and tan=1 """ print("\nTest plot Slot 28") plt.close("all") test_obj = Machine() test_obj.rotor = LamSlotWind( Rint=35e-3, Rext=84e-3, is_internal=True, is_stator=False, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.rotor.axial_vent = [ VentilationCirc(Zh=6, Alpha0=pi / 6, D0=15e-3, H0=0.045) ] test_obj.rotor.slot = SlotW28( Zs=42, W0=3.5e-3, H0=0.45e-3, R1=3.5e-3, H3=14e-3, W3=5e-3 ) test_obj.rotor.winding = WindingCW2LT(qs=3, p=3) test_obj.rotor.mat_type.magnetics = MatLamination(Wlam=0.5e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=85e-3, Rext=0.2, is_internal=False, is_stator=True, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.stator.slot = SlotW28( Zs=18, W0=7e-3, R1=10e-3, H0=5e-3, H3=30e-3, W3=5e-3 ) test_obj.stator.winding = WindingDW2L(qs=3, p=3, Lewout=60e-3) test_obj.stator.mat_type.magnetics = MatLamination(Wlam=0.5e-3) test_obj.frame = Frame(Rint=0.2, Rext=0.25, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s28_1-Machine.png")) # Rotor + stator + 2 for frame + 1 for Shaft self.assertEqual(len(fig.axes[0].patches), 133) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s28_2-Rotor.png")) # 2 for lam + Zs*2 for wind + 6 vent self.assertEqual(len(fig.axes[0].patches), 92) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s28_3-Stator.png")) # 2 for lam, 2*Zs for wind self.assertEqual(len(fig.axes[0].patches), 38)
def test_Lam_Wind_24_wind_22(self): """Test machine plot with Slot 24 and winding rad=2, tan=2 """ print("\nTest plot Slot 24") plt.close("all") test_obj = Machine() test_obj.rotor = LamSlotWind( Rint=0.2, Rext=0.5, is_internal=True, is_stator=False, L1=0.8, Nrvd=4, Wrvd=0.05, ) test_obj.rotor.slot = SlotW24(Zs=6, W3=100e-3, H2=150e-3) test_obj.rotor.winding = WindingUD(user_wind_mat=wind_mat, qs=4, p=4, Lewout=120e-3) test_obj.rotor.mat_type.magnetics = MatLamination(Wlam=0.5e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=0.51, Rext=0.8, is_internal=False, is_stator=True, L1=0.8, Nrvd=4, Wrvd=0.05, ) test_obj.stator.slot = SlotW24(Zs=18, W3=50e-3, H2=200e-3) test_obj.stator.winding = WindingDW2L(qs=3, p=3) test_obj.stator.mat_type.magnetics = MatLamination(Wlam=0.5e-3) test_obj.stator.winding.Lewout = 120e-3 test_obj.frame = Frame(Rint=0.8, Rext=0.8, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s24_1-Machine.png")) # Rotor + Stator + 0 for frame + 1 for shaft self.assertEqual(len(fig.axes[0].patches), 65) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s24_2-Rotor.png")) # 2 for lam + 4*Zs for wind self.assertEqual(len(fig.axes[0].patches), 26) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s24_3-Stator.png")) # 2 for lam + 2*Zs for wind self.assertEqual(len(fig.axes[0].patches), 38)
def setUp(self): """Run at the begining of every test to setup the gui""" self.test_obj = MachineSCIM() self.test_obj.stator = LamSlotWind() self.test_obj.stator.slot = SlotW22(Zs=36, H0=0.001, H2=0.01, W0=0.1, W2=0.2) self.test_obj.stator.winding = WindingDW2L() self.test_obj.stator.winding.qs = 6 self.test_obj.stator.winding.coil_pitch = 8 self.test_obj.stator.winding.Nslot_shift_wind = 10 self.test_obj.stator.winding.is_reverse_wind = True self.widget = SWindPat(machine=self.test_obj, matlib=[], is_stator=True)
def test_init_WRSM(self): """Check that the GUI is correctly initialize with a WRSM machine """ self.test_obj = MachineWRSM(type_machine=9) self.test_obj.stator = LamSlotWind() self.test_obj.stator.slot = SlotW22(Zs=36, H0=0.001, H2=0.01, W0=0.1, W2=0.2) self.test_obj.stator.winding = WindingDW2L(p=8, qs=4) self.test_obj.rotor = LamSlotWind() self.test_obj.rotor.slot = SlotW22(Zs=36, H0=0.001, H2=0.01, W0=0.1, W2=0.2) self.test_obj.rotor.winding = Winding(p=8, qs=4) self.widget = SWindPat(machine=self.test_obj, matlib=[], is_stator=True) self.widget2 = SWindPat(machine=self.test_obj, matlib=[], is_stator=False) # Check result stator self.assertEqual(type(self.test_obj.stator.winding), WindingDW2L) self.assertEqual(self.test_obj.stator.winding.p, 8) self.assertEqual(self.test_obj.stator.winding.qs, 4) self.assertEqual(self.widget.si_qs.isEnabled(), True) self.assertEqual(self.widget.si_coil_pitch.isHidden(), False) self.assertEqual(self.widget.si_Nslot.value(), 0) self.assertEqual(self.widget.c_wind_type.currentIndex(), 2) self.assertEqual( self.widget.c_wind_type.currentText(), "Double Layer Distributed" ) self.assertEqual(self.widget.is_reverse.checkState(), Qt.Unchecked) self.assertEqual( self.widget.out_shape.text(), "Winding Matrix shape: [2, 1, 36, 4]" ) # Check result rotor self.assertEqual(type(self.test_obj.rotor.winding), WindingCW2LT) self.assertEqual(self.test_obj.rotor.winding.p, 8) self.assertEqual(self.test_obj.rotor.winding.qs, 1) self.assertEqual(self.widget2.si_qs.value(), 1) self.assertEqual(self.widget2.si_qs.isEnabled(), False) self.assertEqual(self.widget2.si_coil_pitch.isHidden(), True) self.assertEqual(self.widget2.si_Nslot.value(), 0) self.assertEqual(self.widget2.c_wind_type.currentIndex(), 0) self.assertEqual( self.widget2.c_wind_type.currentText(), "DC wound winding for salient pole" ) self.assertEqual(self.widget2.is_reverse.checkState(), Qt.Unchecked) self.assertEqual( self.widget2.out_shape.text(), "Winding Matrix shape: [1, 2, 36, 1]" )
def test_Lam_Wind_22_wind_22(self): """Test machine plot with Slot 22 and winding rad=2, tan=2 """ print("\nTest plot Slot 22") plt.close("all") test_obj = MachineDFIM() test_obj.rotor = LamSlotWind( Rint=0, Rext=0.5, is_internal=True, is_stator=False, L1=0.8, Nrvd=4, Wrvd=0.05, ) test_obj.rotor.slot = SlotW22(Zs=6, W0=pi / 20, W2=pi / 10, H0=20e-3, H2=150e-3) test_obj.rotor.winding = WindingUD(user_wind_mat=wind_mat, qs=4, p=4, Lewout=60e-3) test_obj.rotor.mat_type.mag = MatMagnetics(Wlam=0.5e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=0.51, Rext=0.8, is_internal=False, is_stator=True, L1=0.8, Nrvd=4, Wrvd=0.05, ) test_obj.stator.slot = SlotW22(Zs=18, W0=pi / 20, W2=pi / 10, H0=20e-3, H2=150e-3) test_obj.stator.winding = WindingDW2L(qs=3, p=3) test_obj.stator.mat_type.mag = MatMagnetics(Wlam=0.5e-3) test_obj.stator.winding.Lewout = 60e-3 test_obj.frame = Frame(Rint=0.8, Rext=0.8, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s22_1-Machine.png")) # Rotor + Stator + 0 for frame + 0 for shaft self.assertEqual(len(fig.axes[0].patches), 63) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s22_2-Rotor.png")) # 1 for lam + 4*Zs for wind self.assertEqual(len(fig.axes[0].patches), 25) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s22_3-Stator.png")) # 2 for lam + Zs*2 for wind self.assertEqual(len(fig.axes[0].patches), 38) tooth = test_obj.rotor.slot.get_surface_tooth() tooth.plot(color="r") fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s22_Tooth_in.png")) tooth = test_obj.stator.slot.get_surface_tooth() tooth.plot(color="r") fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s22_Tooth_out.png"))
def test_Lam_Wind_27_wind_22(self): """Test machine plot with Slot 27 and winding rad=2, tan=2 """ print("\nTest plot Slot 27") plt.close("all") test_obj = Machine() test_obj.rotor = LamSlotWind( Rint=0.2, Rext=0.5, is_internal=True, is_stator=False, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.rotor.axial_vent = [ VentilationCirc(Zh=6, Alpha0=pi / 6, D0=60e-3, H0=0.35) ] test_obj.rotor.slot = SlotW27(Zs=6, H0=0.05, W0=30e-3, H1=0.125, W1=0.06, H2=0.05, W2=0.09, W3=0.04) test_obj.rotor.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.rotor.winding = WindingUD(user_wind_mat=wind_mat, qs=4, p=4, Lewout=60e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=0.51, Rext=0.8, is_internal=False, is_stator=True, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.stator.slot = SlotW27(Zs=18, H0=0.05, W0=30e-3, H1=0.07, W1=0.05, H2=0.15, W2=0.1, W3=0.05) test_obj.stator.winding = WindingDW2L(qs=3, p=3) test_obj.stator.winding.Lewout = 60e-3 test_obj.stator.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.frame = Frame(Rint=0.8, Rext=0.9, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s27_1-Machine.png")) # Rotor + Stator + 2 for frame + 1 for shaft self.assertEqual(len(fig.axes[0].patches), 73) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s27_2-Rotor.png")) # 2 for lam + 4*Zs for wind + 6 vent self.assertEqual(len(fig.axes[0].patches), 32) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s27_3-Stator.png")) # 2 for lam + 2*Zs for wind self.assertEqual(len(fig.axes[0].patches), 38)
def test_Lam_Wind_21_wind_22(self): """Test machine plot with Slot 21 and winding rad=2, tan=2 """ print("\nTest plot Slot 21") plt.close("all") test_obj = Machine() test_obj.rotor = LamSlotWind( Rint=0.2, Rext=0.5, is_internal=True, is_stator=False, L1=0.85, Nrvd=3, Wrvd=0.05, ) test_obj.rotor.slot = SlotW21( Zs=6, W0=40e-3, W1=60e-3, W2=40e-3, H0=20e-3, H1=0, H2=130e-3, H1_is_rad=False, ) test_obj.rotor.axial_vent.append( VentilationTrap(Zh=6, Alpha0=pi / 6, W1=30e-3, W2=60e-3, D0=0.05, H0=0.3)) test_obj.rotor.axial_vent.append( VentilationTrap(Zh=6, Alpha0=pi / 6, W1=60e-3, W2=90e-3, D0=0.05, H0=0.4)) test_obj.rotor.winding = WindingUD(user_wind_mat=wind_mat, qs=4, p=4, Lewout=60e-3) test_obj.rotor.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=0.51, Rext=0.8, is_internal=False, is_stator=True, L1=0.85, Nrvd=3, Wrvd=0.05, ) test_obj.stator.slot = SlotW21( Zs=18, W0=40e-3, W1=60e-3, W2=90e-3, H0=15e-3, H1=35e-3, H2=140e-3, H1_is_rad=False, ) test_obj.stator.winding = WindingDW2L(qs=3, p=3) test_obj.stator.axial_vent.append( VentilationCirc(Zh=12, Alpha0=pi / 6, D0=50e-3, H0=0.75)) test_obj.stator.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.stator.winding.Lewout = 60e-3 test_obj.frame = Frame(Rint=0.8, Rext=1, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s21_1-Machine.png")) # Rotor + Stator + 2 for frame + 1 for shaft self.assertEqual(len(fig.axes[0].patches), 91) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s21_2-Rotor.png")) # 2 for lam + 4*Zs for wind + 6 vents + 6 vents self.assertEqual(len(fig.axes[0].patches), 38) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s21_3-Stator.png")) # 2 for lam + Zs*2 for wind + 12 vents self.assertEqual(len(fig.axes[0].patches), 50) tooth = test_obj.rotor.slot.get_surface_tooth() tooth.plot(color="r") fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s21_Tooth_in.png")) tooth = test_obj.stator.slot.get_surface_tooth() tooth.plot(color="r") fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s21_Tooth_out.png"))
def test_christmas(self): """Test User Defined slot "snowflake" """ plt.close("all") Rrotor = abs(0.205917893677990 - 0.107339745962156j) test_obj = MachineSRM() # Stator definintion test_obj.stator = LamSlotWind(Rint=Rrotor + 5e-3, Rext=Rrotor + 120e-3, is_internal=False, is_stator=True) test_obj.stator.slot = SlotW21(Zs=36, W0=7e-3, H0=10e-3, H1=0, H2=70e-3, W1=30e-3, W2=0.1e-3) test_obj.stator.winding = WindingDW2L(qs=3, p=3, coil_pitch=5) # Rotor definition test_obj.rotor = LamSlot(Rint=0.02, Rext=Rrotor, is_internal=True, is_stator=False) test_obj.rotor.axial_vent = [ VentilationTrap(Zh=6, Alpha0=0, D0=0.025, H0=0.025, W1=0.015, W2=0.04) ] # Complex coordinates of the snowflake slot point_list = [ 0.205917893677990 - 0.107339745962156j, 0.187731360198517 - 0.0968397459621556j, 0.203257639640145 - 0.0919474411167423j, 0.199329436409870 - 0.0827512886940357j, 0.174740979141750 - 0.0893397459621556j, 0.143564064605510 - 0.0713397459621556j, 0.176848674296337 - 0.0616891108675446j, 0.172822394854708 - 0.0466628314259158j, 0.146001886779019 - 0.0531173140978201j, 0.155501886779019 - 0.0366628314259158j, 0.145109581933606 - 0.0306628314259158j, 0.127109581933606 - 0.0618397459621556j, 0.0916025403784439 - 0.0413397459621556j, 0.134949327895761 - 0.0282609076372691j, 0.129324972242779 - 0.0100025773880714j, 0.0690858798800485 - 0.0283397459621556j, 0.0569615242270663 - 0.0213397459621556j, ] test_obj.rotor.slot = SlotUD(Zs=6, is_sym=True, point_list=point_list) # Plot, check and save test_obj.plot() fig = plt.gcf() self.assertEqual(len(fig.axes[0].patches), 83) fig.savefig(join(save_path, "test_Christmas.png"))
def test_Lam_Wind_23_wind_22(self): """Test machine plot with Slot 23 and winding rad=2, tan=2 """ print("\nTest plot Slot 23") plt.close("all") test_obj = Machine() test_obj.rotor = LamSlotWind( Rint=0, Rext=0.5, is_internal=True, is_stator=False, L1=0.9, Nrvd=5, Wrvd=0.02, ) test_obj.rotor.slot = SlotW23(Zs=6, W0=50e-3, W1=90e-3, W2=100e-3, H0=20e-3, H1=35e-3, H2=130e-3) test_obj.rotor.winding = WindingUD(user_wind_mat=wind_mat, qs=4, p=4, Lewout=60e-3) test_obj.rotor.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=0.51, Rext=0.8, is_internal=False, is_stator=True, L1=0.9, Nrvd=5, Wrvd=0.02, ) test_obj.stator.slot = SlotW23(Zs=18, W0=50e-3, W1=80e-3, W2=50e-3, H0=15e-3, H1=0, H2=170e-3) test_obj.stator.winding = WindingDW2L(qs=3, p=3) test_obj.stator.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.stator.winding.Lewout = 60e-3 test_obj.frame = Frame(Rint=0.8, Rext=1, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s23_1-Machine.png")) # Rotor + Stator + 2 for frame + 0 shaft self.assertEqual(len(fig.axes[0].patches), 65) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s23_2-Rotor.png")) # 1 for lam + Zs*4 for wind self.assertEqual(len(fig.axes[0].patches), 25) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s23_3-Stator.png")) # 2 for lam + Zs *2 for wind self.assertEqual(len(fig.axes[0].patches), 38)
Nrvd=0, L1=0.35, Kf1=0.95, is_internal=False, is_stator=True) stator.slot = SlotW10(Zs=36, H0=1e-3, H1=1.5e-3, H2=30e-3, W0=12e-3, W1=14e-3, W2=12e-3) stator.winding = WindingDW2L(qs=3, Lewout=15e-3, p=3, coil_pitch=5, Ntcoil=7, Npcpp=2) stator.winding.conductor = CondType11(Nwppc_tan=1, Nwppc_rad=1, Wwire=10e-3, Hwire=2e-3, Wins_wire=0, type_winding_shape=0) # Rotor setup rotor = LamSquirrelCage( Rext=0.131, Rint=45e-3, L1=0.35, Kf1=0.95,
def test_Lam_Wind_11_wind_22(self): """Test machine plot with Slot 11 and winding rad=2, tan=2 """ print("\nTest plot Slot 11") plt.close("all") test_obj = Machine() test_obj.rotor = LamSlotWind( Rint=0.2, Rext=0.5, is_internal=True, is_stator=False, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.rotor.axial_vent = [ VentilationCirc(Zh=6, Alpha0=pi / 6, D0=60e-3, H0=0.35) ] test_obj.rotor.slot = SlotW11( Zs=6, W0=50e-3, W1=60e-3, W2=70e-3, H0=20e-3, H1=35e-3, H2=130e-3, H1_is_rad=False, R1=10e-3, ) test_obj.rotor.winding = WindingUD(user_wind_mat=wind_mat, qs=4, p=4, Lewout=60e-3) test_obj.rotor.mat_type.magnetics = MatLamination(Wlam=0.5e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=0.51, Rext=0.8, is_internal=False, is_stator=True, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.stator.slot = SlotW11( Zs=18, W0=40e-3, W1=60e-3, W2=90e-3, H0=15e-3, H1=35e-3, H2=140e-3, H1_is_rad=False, R1=40e-3, ) test_obj.stator.winding.Lewout = 60e-3 test_obj.stator.winding = WindingDW2L(qs=3, p=3) test_obj.stator.mat_type.magnetics = MatLamination(Wlam=0.5e-3) test_obj.frame = Frame(Rint=0.8, Rext=0.9, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s11_1-Machine.png")) # Rotor + Stator + 2 for frame + 1 for Shaft self.assertEqual(len(fig.axes[0].patches), 73) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s11_2-Rotor.png")) # 2 for lam + Zs*4 for wind + 6 vents self.assertEqual(len(fig.axes[0].patches), 32) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s11_3-Stator.png")) # 2 for lam + Zs*2 for wind self.assertEqual(len(fig.axes[0].patches), 38)
def test_Lam_Wind_12_wind_22(self): """Test machine plot with Slot 12 and winding rad=2, tan=2 """ print("\nTest plot Slot 12") plt.close("all") test_obj = Machine() test_obj.rotor = LamSlotWind( Rint=0.2, Rext=0.5, is_internal=True, is_stator=False, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.rotor.axial_vent = [ VentilationPolar(Zh=6, Alpha0=pi / 6, W1=pi / 6, D0=100e-3, H0=0.3) ] test_obj.rotor.slot = SlotW12(Zs=6, R2=35e-3, H0=20e-3, R1=17e-3, H1=130e-3) test_obj.rotor.winding = WindingUD( user_wind_mat=wind_mat, qs=4, p=4, Lewout=60e-3 ) test_obj.rotor.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.shaft = Shaft(Drsh=test_obj.rotor.Rint * 2, Lshaft=1) test_obj.stator = LamSlotWind( Rint=0.51, Rext=0.8, is_internal=False, is_stator=True, L1=0.9, Nrvd=2, Wrvd=0.05, ) test_obj.stator.slot = SlotW12(Zs=18, R2=25e-3, H0=30e-3, R1=0, H1=150e-3) test_obj.stator.winding.Lewout = 60e-3 test_obj.stator.winding = WindingDW2L(qs=3, p=3) test_obj.stator.mat_type.mag = MatLamination(Wlam=0.5e-3) test_obj.frame = Frame(Rint=0.8, Rext=0.9, Lfra=1) test_obj.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s12_1-Machine.png")) # Rotor + Stator + 2 for frame + 1 for Shaft self.assertEqual(len(fig.axes[0].patches), 73) test_obj.rotor.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s12_2-Rotor.png")) # 2 for lam + Zs*4 for wind + 6 vents self.assertEqual(len(fig.axes[0].patches), 32) test_obj.stator.plot() fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s12_3-Stator.png")) # 2 for lam + Zs*2 for wind self.assertEqual(len(fig.axes[0].patches), 38) tooth = test_obj.rotor.slot.get_surface_tooth() tooth.plot(color="r") fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s12_Tooth_in.png")) tooth = test_obj.stator.slot.get_surface_tooth() tooth.plot(color="r") fig = plt.gcf() fig.savefig(join(save_path, "test_Lam_Wind_s12_Tooth_out.png"))
LP_step = [SLamParam, SWPole, SWindPat, SWindParam, SWindCond] # Steps needed to setup a LamSquirrelCage LSC_step = [SLamParam, SWSlot, SBar] # Steps needed to setup a LamHole LH_step = [SLamParam, SMHoleMag] # Steps needed to setup a LamSlot LS_step = [SLamParam, SWSlot] # Steps needed to setup a LamSlotMag LSM_step = [SLamParam, SMagnet] # Steps to start the design of a machine with 2 laminations S_step = [SMachineType, SMachineDimension] # Defaut machine for initialization machine1 = MachineSCIM() machine1.stator = LamSlotWind() machine1.stator.winding = WindingDW2L() machine1.rotor = LamSquirrelCage() machine1.rotor.winding = WindingSC() machine1._set_None() # Empty machine machine1.type_machine = 1 machine1.stator.is_stator = True machine1.rotor.is_stator = False machine4 = MachineDFIM() machine4.stator = LamSlotWind() machine4.stator.winding = WindingDW2L() machine4.rotor = LamSlotWind() machine4.rotor.winding = WindingDW2L() machine4._set_None() # Empty machine machine4.type_machine = 4 machine4.stator.is_stator = True