mmt = (kx, ky) #mmt = (0, 0) ########## Harmonic source smth = source.Smoothing(dt, 1000) src1 = source.Harmonic(dt) src1.set_wvlen(wvlen) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 140*nm), (Lx, 140*nm+dy), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. setter1 = source.Setter(TF, (140 * nm, 0), (140 * nm + dx, Ly), mmt) #setter2 = source.Setter(TF, (200*nm, 0), (410*nm+dx, Ly), mmt) #setter3 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) #setter4 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) ########## Point src. #setter1 = source.Setter(TF, (100*nm, 140*nm), (100*nm+dx, 140*nm+dy), mmt) #setter2 = source.Setter(TF, (200*nm, 300*nm), (200*nm+dx, 300*nm+dy), mmt) #setter3 = source.Setter(TF, (300*nm, 400*nm), (300*nm+dx, 400*nm+dy), mmt) #setter4 = source.Setter(TF, (400*nm, 220*nm), (400*nm+dx, 220*nm+dy), mmt) #------------------------------------------------------------------# #-------------------- Structure object settings -------------------# #------------------------------------------------------------------# ########## Box
#mmt = (0, 0) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 200*nm, 300*nm), (Lx, 200*nm+dy, 300*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (140*nm, 0), (140*nm+dx, Ly), mmt) #setter2 = source.Setter(TF, (200*nm, 0), (410*nm+dx, Ly), mmt) #setter3 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) #setter4 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) ########## Point src. setter1 = source.Setter(TF, (100*nm, 140*nm), (100*nm+dx, 140*nm+dy), mmt) setter2 = source.Setter(TF, (200*nm, 300*nm), (200*nm+dx, 300*nm+dy), mmt) setter3 = source.Setter(TF, (300*nm, 400*nm), (300*nm+dx, 400*nm+dy), mmt) setter4 = source.Setter(TF, (400*nm, 220*nm), (400*nm+dx, 220*nm+dy), mmt) #------------------------------------------------------------------# #-------------------- Structure object settings -------------------# #------------------------------------------------------------------# ########## Box #srt = ( 800*um, 0*um, 0*um) #end = (1000*um, 1280*um, 1280*um) #box = structure.Box(TF, srt, end, 4., 1.) ########## Circle radius = 114.8*nm
#setter4 = source.Setter(TF, (0, 0,350*nm), (Lx, Ly,350*nm+dz), mmt) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 200*nm, 300*nm), (Lx, 200*nm+dy, 300*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (140*nm, 0), (140*nm+dx, Ly), mmt) #setter2 = source.Setter(TF, (200*nm, 0), (410*nm+dx, Ly), mmt) #setter3 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) #setter4 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) ########## Point src. setter1 = source.Setter(TF, (0, 160 * nm, 430 * nm), (Lx, 160 * nm + dx, 430 * nm + dy), mmt) setter2 = source.Setter(TF, (0, 200 * nm, 500 * nm), (Lx, 200 * nm + dx, 500 * nm + dy), mmt) setter3 = source.Setter(TF, (0, 300 * nm, 100 * nm), (Lx, 300 * nm + dx, 100 * nm + dy), mmt) setter4 = source.Setter(TF, (0, 450 * nm, 200 * nm), (Lx, 450 * nm + dx, 200 * nm + dy), mmt) #------------------------------------------------------------------# #-------------------- Structure object settings -------------------# #------------------------------------------------------------------# ########## Box #srt = ( 800*um, 0*um, 0*um) #end = (1000*um, 1280*um, 1280*um) #box = structure.Box(TF, srt, end, 4., 1.)
#setter4 = source.Setter(TF, (0, 0,350*nm), (Lx, Ly,350*nm+dz), mmt) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 200*nm, 300*nm), (Lx, 200*nm+dy, 300*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (140*nm, 0), (140*nm+dx, Ly), mmt) #setter2 = source.Setter(TF, (200*nm, 0), (410*nm+dx, Ly), mmt) #setter3 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) #setter4 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) ########## Point src. setter1 = source.Setter(TF, ( 50*nm, Ly/2, 400*nm), ( 50*nm+dx, Ly/2+dy, 400*nm+dz), mmt) setter2 = source.Setter(TF, ( 70*nm, Ly/2, Lz/2), ( 70*nm+dx, Ly/2+dy, Lz/2+dz), mmt) setter3 = source.Setter(TF, ( 30*nm, Ly/2, 400*nm), ( 30*nm+dx, Ly/2+dy, 400*nm+dz), mmt) setter4 = source.Setter(TF, ( 90*nm, Ly/2, Lz/2), ( 90*nm+dx, Ly/2+dy, Lz/2+dz), mmt) #------------------------------------------------------------------# #-------------------- Structure object settings -------------------# #------------------------------------------------------------------# ########## Box srt = (100*nm, 0, 0) end = (500*nm, Ly, Lz) box = structure.Box(TF, srt, end, 3.4, 1.) ########## Circle radius = a / 5
#setter4 = source.Setter(TF, (0, 0,350*nm), (Lx, Ly,350*nm+dz), mmt) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 200*nm, 300*nm), (Lx, 200*nm+dy, 300*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (140*nm, 0), (140*nm+dx, Ly), mmt) #setter2 = source.Setter(TF, (200*nm, 0), (410*nm+dx, Ly), mmt) #setter3 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) #setter4 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) ########## Point src. setter1 = source.Setter(TF, (0, 100 * nm, 140 * nm), (Lx, 100 * nm + dx, 140 * nm + dy), mmt) setter2 = source.Setter(TF, (0, 200 * nm, 300 * nm), (Lx, 200 * nm + dx, 300 * nm + dy), mmt) setter3 = source.Setter(TF, (0, 300 * nm, 400 * nm), (Lx, 300 * nm + dx, 400 * nm + dy), mmt) setter4 = source.Setter(TF, (0, 400 * nm, 220 * nm), (Lx, 400 * nm + dx, 220 * nm + dy), mmt) #------------------------------------------------------------------# #-------------------- Structure object settings -------------------# #------------------------------------------------------------------# ########## Box #srt = ( 800*um, 0*um, 0*um) #end = (1000*um, 1280*um, 1280*um) #box = structure.Box(TF, srt, end, 4., 1.)
lamz = float(sys.argv[1])*nm kx = 0 ky = 2*np.pi / lamy kz = 2*np.pi / lamz phi, theta = 0, np.arctan(lamy/lamz) wvlen = lamy*np.cos(theta) mmt = (kx, ky, kz) ########## Harmonic source smth = source.Smoothing(dt, 1000) src1 = source.Harmonic(dt) src1.set_wvlen(wvlen) ########## Plane wave normal to y-axis. setter1 = source.Setter(TF, (0, 250*nm, 0), (Lx, 250*nm+dy, Lz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 0), (Lx, 150*nm+dy, Lz), mmt) #setter3 = source.Setter(TF, (0, 250*nm, 0), (Lx, 250*nm+dy, Lz), mmt) #setter4 = source.Setter(TF, (0, 350*nm, 0), (Lx, 350*nm+dy, Lz), mmt) ########## Plane wave normal to z-axis. #setter1 = source.Setter(TF, (0, 0, 50*nm), (Lx, Ly, 50*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 0,150*nm), (Lx, Ly,150*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 0,250*nm), (Lx, Ly,250*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 0,350*nm), (Lx, Ly,350*nm+dz), mmt) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 200*nm, 300*nm), (Lx, 200*nm+dy, 300*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt)
# phi is the angle between k0 vector and yz-plane. # theta is the angle between k0cos(phi) and z-axis. kx = k0 * np.sin(phi) ky = k0 * np.cos(phi) * np.sin(theta) kz = k0 * np.cos(phi) * np.cos(theta) mmt = (kx, ky, kz) ########## Plane wave normal to x-axis. #setter = source.Setter(TF, (200*um, 0, 0), (210*um, Ly, Lz), mmt) ########## Plane wave normal to y-axis. #setter = source.Setter(TF, (0, 63*um, 0), (Lx, 64*um, Lz), mmt) ########## Plane wave normal to z-axis. setter = source.Setter(TF, (0, 0, 50 * nm), (Lx, Ly, 50 * nm + dx), mmt) setter1 = source.Setter(TF, (0, 0, 150 * nm), (Lx, Ly, 150 * nm + dz), mmt) setter2 = source.Setter(TF, (0, 0, 250 * nm), (Lx, Ly, 250 * nm + dz), mmt) setter3 = source.Setter(TF, (0, 0, 350 * nm), (Lx, Ly, 350 * nm + dz), mmt) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 100*nm, 100*nm), (Lx, 105*nm, 105*nm), mmt) #setter2 = source.Setter(TF, (0*um, 30*um, 200*um), (31*um, 31*um, 201*um), mmt) #setter3 = source.Setter(TF, (0*um, 127*um, 127*um), (31*um, 128*um, 128*um), mmt) #setter4 = source.Setter(TF, (0*um, 200*um, 200*um), (31*um, 201*um, 201*um), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (640*um, 0, 640*um), (645*um, Ly, 645*um), mmt) #setter2 = source.Setter(TF, (400*um, 0, 300*um), (410*um, Ly, 310*um), mmt) #setter3 = source.Setter(TF, (400*um, 0, 400*um), (410*um, Ly, 410*um), mmt) #setter4 = source.Setter(TF, (400*um, 0, 500*um), (410*um, Ly, 510*um), mmt)
# mmt for plane wave normal to x axis # theta is the angle between k0 and x-axis. #kx = k0 * np.cos(theta) #ky = k0 * np.sin(theta) # mmt for plane wave normal to y axis # theta is the angle between k0cos(phi) and y-axis. kx = k0 * np.sin(theta) ky = k0 * np.cos(theta) mmt = (kx, ky) #mmt = (0, 0) ########## Line src along x-axis. setter1 = source.Setter(TF, (0, 240 * nm), (Lx, 240 * nm + dy), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (240*nm, 0), (240*nm+dx, Ly), mmt) #setter2 = source.Setter(TF, (200*nm, 0), (410*nm+dx, Ly), mmt) #setter3 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) #setter4 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) ########## Point src. #setter1 = source.Setter(TF, (100*nm, 140*nm), (100*nm+dx, 140*nm+dy), mmt) #setter2 = source.Setter(TF, (200*nm, 300*nm), (200*nm+dx, 300*nm+dy), mmt) #setter3 = source.Setter(TF, (300*nm, 400*nm), (300*nm+dx, 400*nm+dy), mmt) #setter4 = source.Setter(TF, (400*nm, 220*nm), (400*nm+dx, 220*nm+dy), mmt)
#setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (140*nm, 0), (140*nm+dx, Ly), mmt) #setter2 = source.Setter(TF, (200*nm, 0), (410*nm+dx, Ly), mmt) #setter3 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) #setter4 = source.Setter(TF, (100*nm, 0), (410*nm+dx, Ly), mmt) ########## Point src. #setter1 = source.Setter(TF, ( 50*nm, 3*Ly/8, 3*Lz/8), ( 50*nm+dx, 3*Ly/8+dy, 3*Lz/8+dz), mmt) #setter2 = source.Setter(TF, ( 70*nm, 3*Ly/8, 6*Lz/8), ( 70*nm+dx, 3*Ly/8+dy, 6*Lz/8+dz), mmt) #setter3 = source.Setter(TF, ( 30*nm, 6*Ly/8, 3*Lz/8), ( 30*nm+dx, 6*Ly/8+dy, 3*Lz/8+dz), mmt) #setter4 = source.Setter(TF, ( 90*nm, 6*Ly/8, 6*Lz/8), ( 90*nm+dx, 6*Ly/8+dy, 6*Lz/8+dz), mmt) setter1 = source.Setter(TF, (50 * nm, 1 * Ly / 16, 1 * Lz / 16), (50 * nm + dx, 1 * Ly / 16 + dy, 1 * Lz / 16 + dz), mmt) setter2 = source.Setter(TF, (70 * nm, 1 * Ly / 16, 8 * Lz / 16), (70 * nm + dx, 1 * Ly / 16 + dy, 8 * Lz / 16 + dz), mmt) setter3 = source.Setter(TF, (30 * nm, 1 * Ly / 16, 15 * Lz / 16), (30 * nm + dx, 1 * Ly / 16 + dy, 15 * Lz / 16 + dz), mmt) setter4 = source.Setter(TF, (90 * nm, 8 * Ly / 16, 1 * Lz / 16), (90 * nm + dx, 8 * Ly / 16 + dy, 1 * Lz / 16 + dz), mmt) setter5 = source.Setter(TF, (90 * nm, 8 * Ly / 16, 8 * Lz / 16), (90 * nm + dx, 8 * Ly / 16 + dy, 8 * Lz / 16 + dz), mmt) #------------------------------------------------------------------#
#setter = source.Setter(TF, (200*um, 0, 0), (210*um, Ly, Lz), mmt) ########## Plane wave normal to y-axis. #setter = source.Setter(TF, (0, 63*um, 0), (Lx, 64*um, Lz), mmt) ########## Plane wave normal to z-axis. #setter1 = source.Setter(TF, (0, 0, 100*nm), (Lx, Ly, 100*nm+dx), mmt) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 200*nm, 300*nm), (Lx, 200*nm+dy, 300*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 100*nm), (Lx, 150*nm+dy, 100*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 300*nm, 450*nm), (Lx, 300*nm+dy, 450*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 450*nm, 196*nm), (Lx, 450*nm+dy, 196*nm+dz), mmt) ########## Line src along y-axis. setter1 = source.Setter(TF, (440 * nm, 0, 140 * nm), (440 * nm + dx, Ly, 140 * nm + dz), mmt) setter2 = source.Setter(TF, (100 * nm, 0, 200 * nm), (100 * nm + dx, Ly, 200 * nm + dz), mmt) setter3 = source.Setter(TF, (200 * nm, 0, 300 * nm), (200 * nm + dx, Ly, 300 * nm + dz), mmt) setter4 = source.Setter(TF, (300 * nm, 0, 400 * nm), (300 * nm + dx, Ly, 400 * nm + dz), mmt) ########## Line src along z-axis. #TF.set_src_pos((xpos, ypos, 0), (xpos+1, ypos+1, Nz)) ########## Point src at the center. #setter = source.Setter(TF, (xpos, ypos, zpos), (xpos+dx, ypos+dy, zpos+dz), mmt) #------------------------------------------------------------------# #-------------------- Structure object settings -------------------#
# phi is the angle between k0 vector and yz-plane. # theta is the angle between k0cos(phi) and z-axis. kx = k0 * np.sin(phi) ky = k0 * np.cos(phi) * np.sin(theta) kz = k0 * np.cos(phi) * np.cos(theta) mmt = (kx, ky, kz) ########## Plane wave normal to x-axis. #setter = source.Setter(TF, (200*um, 0, 0), (210*um, Ly, Lz), mmt) ########## Plane wave normal to y-axis. #setter = source.Setter(TF, (0, 63*um, 0), (Lx, 64*um, Lz), mmt) ########## Plane wave normal to z-axis. setter1 = source.Setter(TF, (0, 0, 50 * nm), (Lx, Ly, 50 * nm + dx), mmt) ########## Line src along x-axis. #setter1 = source.Setter(TF, (0, 100*nm, 100*nm), (Lx, 105*nm, 105*nm), mmt) #setter2 = source.Setter(TF, (0*um, 30*um, 200*um), (31*um, 31*um, 201*um), mmt) #setter3 = source.Setter(TF, (0*um, 127*um, 127*um), (31*um, 128*um, 128*um), mmt) #setter4 = source.Setter(TF, (0*um, 200*um, 200*um), (31*um, 201*um, 201*um), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (640*um, 0, 640*um), (645*um, Ly, 645*um), mmt) #setter2 = source.Setter(TF, (400*um, 0, 300*um), (410*um, Ly, 310*um), mmt) #setter3 = source.Setter(TF, (400*um, 0, 400*um), (410*um, Ly, 410*um), mmt) #setter4 = source.Setter(TF, (400*um, 0, 500*um), (410*um, Ly, 510*um), mmt) ########## Line src along z-axis. #TF.set_src_pos((xpos, ypos, 0), (xpos+1, ypos+1, Nz))
ky = k0 * np.cos(phi) * np.sin(theta) kz = k0 * np.cos(phi) * np.cos(theta) mmt = (kx, ky, kz) ########## Plane wave normal to x-axis. #setter = source.Setter(TF, (200*um, 0, 0), (210*um, Ly, Lz), mmt) ########## Plane wave normal to y-axis. #setter = source.Setter(TF, (0, 63*um, 0), (Lx, 64*um, Lz), mmt) ########## Plane wave normal to z-axis. #setter1 = source.Setter(TF, (0, 0, 100*nm), (Lx, Ly, 100*nm+dx), mmt) ########## Line src along x-axis. setter1 = source.Setter(TF, (0, 97 * nm, 100 * nm), (Lx, 97 * nm + dy, 100 * nm + dz), mmt) setter2 = source.Setter(TF, (0, 50 * nm, 30 * nm), (Lx, 50 * nm + dy, 30 * nm + dz), mmt) setter3 = source.Setter(TF, (0, 430 * nm, 120 * nm), (Lx, 430 * nm + dy, 120 * nm + dz), mmt) setter4 = source.Setter(TF, (0, 300 * nm, 66 * nm), (Lx, 300 * nm + dy, 66 * nm + dz), mmt) ########## Line src along y-axis. #setter1 = source.Setter(TF, (640*um, 0, 640*um), (645*um, Ly, 645*um), mmt) #setter2 = source.Setter(TF, (400*um, 0, 300*um), (410*um, Ly, 310*um), mmt) #setter3 = source.Setter(TF, (400*um, 0, 400*um), (410*um, Ly, 410*um), mmt) #setter4 = source.Setter(TF, (400*um, 0, 500*um), (410*um, Ly, 510*um), mmt) ########## Line src along z-axis. #TF.set_src_pos((xpos, ypos, 0), (xpos+1, ypos+1, Nz))
#src1 = source.Sine(dt, np.float64) #wvlen = 250*lunit #src1.set_wvlen(wvlen) ########## Harmonic source #smth = source.Smoothing(dt, 1000) #src1 = source.Harmonic(dt) #wvlen = 250*lunit #src1.set_wvlen(wvlen) ########## Delta source #src1 = source.Delta(10) ########## Plane wave normal to x-axis. xsrt = Lx * 0.2 setterT1 = source.Setter(TF, (xsrt, 0, 0), (xsrt, Ly, Lz), mmt) setterI1 = source.Setter(IF, (xsrt, 0, 0), (xsrt, Ly, Lz), mmt) #sys.exit() ########## Plane wave normal to y-axis. #setter1 = source.Setter(TF, (0, 200*lunit, 0), (Lx, 200*lunit+dy, Lz), mmt) #setter2 = source.Setter(TF, (0, 150*lunit, 0), (Lx, 150*lunit+dy, Lz), mmt) #setter3 = source.Setter(TF, (0, 250*lunit, 0), (Lx, 250*lunit+dy, Lz), mmt) #setter4 = source.Setter(TF, (0, 350*lunit, 0), (Lx, 350*lunit+dy, Lz), mmt) ########## Plane wave normal to z-axis. #setter1 = source.Setter(TF, (0, 0, 50*lunit), (Lx, Ly, 50*lunit+dz), mmt) #setter2 = source.Setter(TF, (0, 0,150*lunit), (Lx, Ly,150*lunit+dz), mmt) #setter3 = source.Setter(TF, (0, 0,250*lunit), (Lx, Ly,250*lunit+dz), mmt) #setter4 = source.Setter(TF, (0, 0,350*lunit), (Lx, Ly,350*lunit+dz), mmt)
########## Harmonic source #smth = source.Smoothing(dt, 1000) #src1 = source.Harmonic(dt) #wvlen = 250*nm #src1.set_wvlen(wvlen) ########## Delta source src1 = source.Delta(10) src2 = source.Delta(20) src3 = source.Delta(50) src4 = source.Delta(30) #wvlen = Lz/2 ########## Plane wave normal to x-axis. setter1 = source.Setter(TF, (70*nm, 0, 0), (70*nm+dx, Ly, Lz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 0), (Lx, 150*nm+dy, Lz), mmt) #setter3 = source.Setter(TF, (0, 250*nm, 0), (Lx, 250*nm+dy, Lz), mmt) #setter4 = source.Setter(TF, (0, 350*nm, 0), (Lx, 350*nm+dy, Lz), mmt) ########## Plane wave normal to y-axis. #setter1 = source.Setter(TF, (0, 200*nm, 0), (Lx, 200*nm+dy, Lz), mmt) #setter2 = source.Setter(TF, (0, 150*nm, 0), (Lx, 150*nm+dy, Lz), mmt) #setter3 = source.Setter(TF, (0, 250*nm, 0), (Lx, 250*nm+dy, Lz), mmt) #setter4 = source.Setter(TF, (0, 350*nm, 0), (Lx, 350*nm+dy, Lz), mmt) ########## Plane wave normal to z-axis. #setter1 = source.Setter(TF, (0, 0, 50*nm), (Lx, Ly, 50*nm+dz), mmt) #setter2 = source.Setter(TF, (0, 0,150*nm), (Lx, Ly,150*nm+dz), mmt) #setter3 = source.Setter(TF, (0, 0,250*nm), (Lx, Ly,250*nm+dz), mmt) #setter4 = source.Setter(TF, (0, 0,350*nm), (Lx, Ly,350*nm+dz), mmt)