Ansys Learning Forum Forums Discuss Simulation Photonics About Aluminum Ring Transmission Spectrum Reply To: About Aluminum Ring Transmission Spectrum

2212296
Subscriber
switchtolayout; selectall; deleteall; clear; clc; switchtolayout; nm = 1e-9; um = 1e-6; fs = 1e-15; lambda_start = 100*um; lambda_end = 300*um; p = 100*um; # Al_ring addring; set("name","al_ring"); set("x",0); set("y",0); set("inner radius",20*um); set("outer radius",38*um); set("z min",0); set("z max",200*nm); set("theta start",0); set("theta stop",0); set('material','PEC_Al'); # etch addrect; set('name','etch'); set('x',0); set('x span',12*um); set('y',30*um); set('y span',30*um); set('z min',0); set('z max',200*nm); set('index','etch'); # sub : sapphire addrect; set('name','sapphire'); set('x',0); set('x span',p); set('y',0); set('y span',p); set('z min',-500*um); set('z max',0); set('index','3.4'); ## simulation addfdtd; set("dimension",2); # 1 = 2D, 2 = 3D set('simulation time',4000*fs); set('x',0); set('x span',p); set('y',0); set('y span',p); set("z min",-520*um); set("z max",800*um); set("mesh accuracy",2); # set boundary conditions set("x min bc","periodic"); #这里用序号而不是Periodic的名称 set("y min bc","periodic"); set("z min bc",1); set("z max bc",1); # Source addplane; set("name","Source_y"); set("injection axis","z"); set("direction","Backward"); #set('phase',180); #rcwa:delta0=90 #set('phase',180); set("polarization angle",-90); set("amplitude",1); set('x',0); set('x span',p); set('y',0); set('y span',p); set("z",780*um); set("wavelength start",lambda_start); set("wavelength stop",lambda_end); #monitor #T_point addpower; set("name","T_point"); set("monitor type",1); # Point set('x',0); set('y',0); set("z",-510*um); set("override global monitor settings",1); set("frequency points",200); ## T addpower; set('name','T1'); set("monitor type",7); # 2D z-normal set('x',0); set('x span',p); set('y',0); set('y span',p); set("z",-510*um); set("override global monitor settings",1); set("frequency points",200); # time_monitor addtime; set("name","time"); set("monitor type",1); # point set('x',0); set('y',0); set("z",-510*um); run; f = getdata('T1',"f"); T = transmission("T1")*(-1); plot(f/1e12,T,"f(THz)","T_Power");