光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
J)~L •使用VB脚本生成光栅(或周期性)布局。
@&:ar •光栅布局
模拟和后处理分析
>>o dZL 布局layout
B$!)YD; 我们将模拟如图1所示的二维光栅布局。
I}6\Sv= 图1.二维光栅布局
-~ Mb `[)YEgs 用VB脚本定义一个2D光栅布局
&<J[Q%2 S=nzw-(I 步骤:
hKjt'N:~ZY 1 通过在
文件菜单中选择“New”,启动一个新项目。
sq[iY 2 在“Wafer Properties”对话框中设置以下
参数 $lIz{ySJv Wafer Dimensions:
'BPp ]R#{ Length (mm): 8.5
dhr3,&+T2 Width (mm): 3.0
@I/]D6
~" 3]UUG 2D wafer properties:
W"'iIh)z
` Wafer refractive index: Air
I'iGt~4$ 3 点击 Profiles 与 Materials.
jvFTR'R)= NchXt6$i9 在“Materials”中加入以下
材料:
(+3Wgl+]/ Name: N=1.5
A"D,Kg
S Refractive index (Re:): 1.5
.!,z:l$Kh :Q_<Z@2Y{ Name: N=3.14
#K Xa&C Refractive index (Re:): 3.14
>W`4aA Z->p1xkX 4.在“Profile”中定义以下轮廓:
l0cA6b Name: ChannelPro_n=3.14
[tA;l+Q\& 2D profile definition, Material: n=3.14
[P7N{l=I <-S%kA8 Name: ChannelPro_n=1.5
cwWodPNm 2D profile definition, Material: n=1.5
p2udm! )J }S$@ Ez6 6.画出以下波导结构:
.dQQoyR+O a. Linear waveguide 1
dW~*e2nq Label: linear1
ux3<l +jv^ Start Horizontal offset: 0.0
`Ru3L#@
Start vertical offset: -0.75
FE!lok End Horizontal offset: 8.5
zs*L~_K End vertical offset: -0.75
yH*6@P4:0= Channel Thickness Tapering: Use Default
WT`4s Width: 1.5
XWs"jt Depth: 0.0
J6G(_(d Profile: ChannelPro_n=1.5
F^LZeF[#t P(73!DT+ b. Linear waveguide 2
8o0%@5M Label: linear2
?Ovqp-sw Start Horizontal offset: 0.5
S'B|>!z@ Start vertical offset: 0.05
(BfgwC) End Horizontal offset: 1.0
uDSxTz{ End vertical offset: 0.05
G0;XaL: Channel Thickness Tapering: Use Default
e-*.Ca Width: 0.1
| j a- Depth: 0.0
'ao"9-c Profile: ChannelPro_n=3.14
e|D;OM QtqfG{ 7.加入水平平面波:
OdY=z!Fls Continuous Wave Wavelength: 0.63 General:
g
HbxgeL Input field Transverse: Rectangular
fpN-
o X Position: 0.5
(%o2jroQ# Direction: Negative Direction
R%
,<\d7 Label: InputPlane1
F]t(%{#W 2D Transverse:
]t*[%4 Center Position: 4.5
,b;{emX h Half width: 5.0
XNb ZNaAd Titlitng Angle: 45
Kmv+1T0, Effective Refractive Index: Local Amplitude: 1.0
j"@93D~ 图2.波导结构(未设置周期)
b-*3 2Y% dwv 6;x 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
;6{@^ 将Linear2代码段修改如下:
9{8GP Dim Linear2
>ap1"n9k for m=1 to 8
)){9&5,0: Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
}sFm9j7yR Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
S#Sb ] Linear2.SetAttr "WidthExpr", "0.1"
13&0rLS Linear2.SetAttr "Depth", "0"
@*DyZB Linear2.SetAttr "StartThickness", "0.000000"
=.`qixN Linear2.SetAttr "EndThickness", "0.000000"
Uyr3dN%*r Linear2.SetProfileName "ChannelPro_n=3.14"
k8uvNLA)a Linear2.SetDefaultThicknessTaperMode True
eDZ8w <ExZ:ip 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
ed_FiQd 图3.光栅布局通过VB脚本生成
%F*|;o7 s 1#4PG'H 设置仿真参数
RTu4@7XP 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
.ol'.t,S 2. 在仿真参数对话框中,设置以下参数:
r]Ff{la5 TE simulation
= }:)y0L Mesh Delta X: 0.015
FsGlJ Mesh Delta Z: 0.015
EmT`YNuc Time Step Size: Auto Run for 1000 Time steps
wB{;bB{ 设置边界条件设置X和Z边为各向异性PML边界条件。
1uk0d`JL Number of Anisotropic PML layers: 15
(x$9~;<S*d 其它参数保持默认
R1W}dRE} 运行仿真
v^7LctcVm • 在仿真参数中点击Run按钮,启动仿真
e~T@~(fft • 在分析仪中,可以观察到各场分量的时域响应
s{4 \xAS> • 仿真完成后,点击“Yes”,启动分析仪。
&h,5:u aRJ>6Q} 远场分析
衍射波
A=-F,=k(!/ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
OcSEo7W 2. 选择“Definition of the Cross Cut”为z方向
2. X" f 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
:ECi+DxBK 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
0G2g4DSKD 图4.远场计算对话框
%,*G[#*& `j9$T:` 5. 在远场对话框,设置以下参数:
9r2IuS0 Wavelength: 0.63
:p4 "IeKs Refractive index: 1.5+0i
x)_@9ldYv Angle Initial: -90.0
7gS1~Q4\V2 Angle Final: 90.0
VNtPKtx\ Number of Steps: 721
Sj(F3wY Distance: 100, 000*wavelength
M}hrO-C Intensity
w_iam qe, Bz`yfl2 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
fXQiNm[P 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
RP`2)/sMT 图5.“Opti 2D Viewer”中的远场模式