光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
{fb~`=? •使用VB脚本生成光栅(或周期性)布局。
QhG-1P3# •光栅布局
模拟和后处理分析
I|j tpv} 布局layout
/SUV'J) 我们将模拟如图1所示的二维光栅布局。
&Bp\kv 图1.二维光栅布局
&S3W/lQs v\Wm[Ld 用VB脚本定义一个2D光栅布局
_eQP0N :HE]P)wz- 步骤:
}g*-Ty 1 通过在
文件菜单中选择“New”,启动一个新项目。
mWusRgj+8 2 在“Wafer Properties”对话框中设置以下
参数 `HM3YC Wafer Dimensions:
vaf9b}FL Length (mm): 8.5
Ds
G
* Width (mm): 3.0
@1@q6@9Tu x7@WWFF> 2D wafer properties:
rq1kj 8%2 Wafer refractive index: Air
&V?q d{39 3 点击 Profiles 与 Materials.
I1myu Z @gqw]_W 在“Materials”中加入以下
材料:
S[a5k;8GL Name: N=1.5
g&"(- : Refractive index (Re:): 1.5
(v`;ym Z8&C-yCC Name: N=3.14
V{h@nhq Refractive index (Re:): 3.14
bNROXiX f)zg&Ib 4.在“Profile”中定义以下轮廓:
ya{>= Name: ChannelPro_n=3.14
}R1`ThTM 2D profile definition, Material: n=3.14
' 4~5ez|: HLe^| Name: ChannelPro_n=1.5
<]'"e] 2D profile definition, Material: n=1.5
+2zuIW. Hk]BC 6.画出以下波导结构:
$&8h=e~]- a. Linear waveguide 1
O$Vm#|$sq Label: linear1
h6h1.lZ Start Horizontal offset: 0.0
(oXN >^-D Start vertical offset: -0.75
Is@a,k End Horizontal offset: 8.5
N}Ks[2 End vertical offset: -0.75
|"yf@^kdC Channel Thickness Tapering: Use Default
|)qK
g Width: 1.5
~RXpz-Ye Depth: 0.0
e_=pspnZ Profile: ChannelPro_n=1.5
}Hz-h4Z tHtV[We.: b. Linear waveguide 2
#Q3PzDfj Label: linear2
#tZf>zrs Start Horizontal offset: 0.5
B~>cNj< Start vertical offset: 0.05
qd+[ShrhqZ End Horizontal offset: 1.0
mY`]33??v End vertical offset: 0.05
|2@en=EYk Channel Thickness Tapering: Use Default
jBv$^L Width: 0.1
+V9B Depth: 0.0
z@~&Kwf\} Profile: ChannelPro_n=3.14
OF&h=1De, DvX3/z#T 7.加入水平平面波:
jRG\C=&(x Continuous Wave Wavelength: 0.63 General:
f9,EWuQNS Input field Transverse: Rectangular
P=^#%7J/l X Position: 0.5
-k&{nD| Direction: Negative Direction
(s"iC:D6U Label: InputPlane1
,iVPcza 2D Transverse:
~g1, !Wl Center Position: 4.5
3l%,D:
? Half width: 5.0
oM<!I0"gC+ Titlitng Angle: 45
14D7U/zer Effective Refractive Index: Local Amplitude: 1.0
V-_/(xt* 图2.波导结构(未设置周期)
?Hi}nsw lKEX"KQ! 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
kwHqvO!G 将Linear2代码段修改如下:
3}4p_}f/[4 Dim Linear2
&G/|lv>j for m=1 to 8
ISS\uj63M Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
*v
rWA Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
rer|k<k;]G Linear2.SetAttr "WidthExpr", "0.1"
:,kU#eZ$- Linear2.SetAttr "Depth", "0"
,?k%jcR Linear2.SetAttr "StartThickness", "0.000000"
C.>
Linear2.SetAttr "EndThickness", "0.000000"
o-~~,n\ Linear2.SetProfileName "ChannelPro_n=3.14"
rKzlK 'U Linear2.SetDefaultThicknessTaperMode True
x=5P+_ !&`}]qQZ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
#9`r XEz 图3.光栅布局通过VB脚本生成
wn+j39y?ZY ejklpa ./ 设置仿真参数
mP pvZ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
-\kXH"% 2. 在仿真参数对话框中,设置以下参数:
|mxNUo- TE simulation
i-,D_ Mesh Delta X: 0.015
0/\PZX+ Mesh Delta Z: 0.015
YOV : Time Step Size: Auto Run for 1000 Time steps
*KK[(o}^J- 设置边界条件设置X和Z边为各向异性PML边界条件。
&$qF4B* Number of Anisotropic PML layers: 15
d(fPECv( 其它参数保持默认
fw' r. 运行仿真
`l/:NF • 在仿真参数中点击Run按钮,启动仿真
M
XZq • 在分析仪中,可以观察到各场分量的时域响应
9g
Bjxqm • 仿真完成后,点击“Yes”,启动分析仪。
S
Pn8\2Cj B6bOEPQ 远场分析
衍射波
r<*O 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
s=d+GMa 2. 选择“Definition of the Cross Cut”为z方向
`c"4PU^ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
QCOLC2I 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
ZXsYn 图4.远场计算对话框
)O3jQ_q= y" ^yYO 5. 在远场对话框,设置以下参数:
G02ox5X Wavelength: 0.63
$!G` D= Refractive index: 1.5+0i
V+lRi"m?| Angle Initial: -90.0
Q,.By& Angle Final: 90.0
'>3`rsu Number of Steps: 721
_Vjpw, Distance: 100, 000*wavelength
jfUJ37zNZr Intensity
]9jZndgC &<au/^F 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
DVI7]+=nV 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
~TDzq -U) 图5.“Opti 2D Viewer”中的远场模式