光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
L_Lhmtm}m •使用VB脚本生成光栅(或周期性)布局。
]T1\gv1~ •光栅布局
模拟和后处理分析
&v g[k#5 布局layout
%v,a3^Qu 我们将模拟如图1所示的二维光栅布局。
wlw`%z-B2 图1.二维光栅布局
V~"-\@ O("13cU 用VB脚本定义一个2D光栅布局
n1;zml:7_ WADAp\& 步骤:
^H~g7&f9?N 1 通过在
文件菜单中选择“New”,启动一个新项目。
K%WG[p\Eu 2 在“Wafer Properties”对话框中设置以下
参数 VrnZrQj< Wafer Dimensions:
9y{R_ Length (mm): 8.5
#(G"ya Width (mm): 3.0
"-:-!1;Ji JbLHW26pl 2D wafer properties:
'QC'*Hl Wafer refractive index: Air
G:i>MJbxT 3 点击 Profiles 与 Materials.
Fb\ E39 hK 1 H'~c 在“Materials”中加入以下
材料:
!YENJJ Name: N=1.5
Y>SpV_H% Refractive index (Re:): 1.5
xt1Ug~5 v^3s?VD Name: N=3.14
f:KZP;/[c Refractive index (Re:): 3.14
%abc-q 6\vaR# 4.在“Profile”中定义以下轮廓:
k]9+/$ Name: ChannelPro_n=3.14
\/F*JPhy 2D profile definition, Material: n=3.14
Czb:nyRj 3#N`n |UgC Name: ChannelPro_n=1.5
UOn:@Qn 2D profile definition, Material: n=1.5
aI_[h
v *NCkC
~4 6.画出以下波导结构:
dry>TXG* a. Linear waveguide 1
KtD
XB> Label: linear1
qijQRxS Start Horizontal offset: 0.0
kc/" Start vertical offset: -0.75
@wcrtf~{)& End Horizontal offset: 8.5
Nj=0bg"Qg5 End vertical offset: -0.75
U<I]_] Channel Thickness Tapering: Use Default
RwUosh\W Width: 1.5
K@tEL Yb Depth: 0.0
*=X61`0 Profile: ChannelPro_n=1.5
REWW(.3o @ )Nw>/;o b. Linear waveguide 2
@K\hgaQ Label: linear2
Q$b4\n?44 Start Horizontal offset: 0.5
]DjnzClx Start vertical offset: 0.05
G124!^ End Horizontal offset: 1.0
X8y :=k,E End vertical offset: 0.05
jM:|%o Channel Thickness Tapering: Use Default
&[P(}??Y\ Width: 0.1
ujS C Depth: 0.0
;e6L@)dp9 Profile: ChannelPro_n=3.14
oc;4;A-;`c LjCUkbzQF 7.加入水平平面波:
=
( 4l Continuous Wave Wavelength: 0.63 General:
&Gs/#2XQ Input field Transverse: Rectangular
9D]bCi\ X Position: 0.5
lf#5X)V Direction: Negative Direction
Dg*'n Label: InputPlane1
r-o+NV 2D Transverse:
B*:W`}G]_c Center Position: 4.5
lC@wCgc Half width: 5.0
*#83U? Titlitng Angle: 45
v^aI+p6 Effective Refractive Index: Local Amplitude: 1.0
Zi{vEI ] 图2.波导结构(未设置周期)
/sr.MT %OOy90b2 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
T%4yPmY 将Linear2代码段修改如下:
5E^P2Mlc Dim Linear2
kgd
dq for m=1 to 8
3hcWR'| Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
{01^xn. Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
!m8T< LtMl Linear2.SetAttr "WidthExpr", "0.1"
(t5vBUj Linear2.SetAttr "Depth", "0"
mYbu1542'n Linear2.SetAttr "StartThickness", "0.000000"
|lN=q44I Linear2.SetAttr "EndThickness", "0.000000"
?(M$r\\ Linear2.SetProfileName "ChannelPro_n=3.14"
a]!u
go} Linear2.SetDefaultThicknessTaperMode True
@H}{?-XyA wb ^>/ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
[9yd29pQ] 图3.光栅布局通过VB脚本生成
sl`?9-_[ |XmzqX% 设置仿真参数
f9t+x+ Z 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
i
^,
$/ 2. 在仿真参数对话框中,设置以下参数:
[8>#b_> TE simulation
:XOjS[wBm Mesh Delta X: 0.015
#vc!SI Mesh Delta Z: 0.015
H(kxRPH4@] Time Step Size: Auto Run for 1000 Time steps
~5>TMIDiuR 设置边界条件设置X和Z边为各向异性PML边界条件。
f# -\*
Number of Anisotropic PML layers: 15
q#K0EAgC 其它参数保持默认
nfh<3v|kvR 运行仿真
|@VhR(^O$ • 在仿真参数中点击Run按钮,启动仿真
pZ]&M@Ijp • 在分析仪中,可以观察到各场分量的时域响应
=&PO_t5)z • 仿真完成后,点击“Yes”,启动分析仪。
JOyM#g9-? !Ej?9LHo 远场分析
衍射波
Y=,9 M 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
(:R5"|]@<x 2. 选择“Definition of the Cross Cut”为z方向
O^8=Xj#} 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
#mD_<@@ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
+0%Y.O/{ 图4.远场计算对话框
Jl|^^? ";^_[n 5. 在远场对话框,设置以下参数:
j+e
s Wavelength: 0.63
`JyI`@,! Refractive index: 1.5+0i
[E/. r{S Angle Initial: -90.0
JW"`i Angle Final: 90.0
]Bs{9=2 Number of Steps: 721
`l %,4qR Distance: 100, 000*wavelength
ru|*xNXKgC Intensity
VxE;tJ>1 kOC0d, 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
dj}|EW4 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
3GrIHiCr 图5.“Opti 2D Viewer”中的远场模式