光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
uVOpg]8d •使用VB脚本生成光栅(或周期性)布局。
s/P\w"/fN •光栅布局
模拟和后处理分析
Ds L]o 布局layout
\ov>?5 我们将模拟如图1所示的二维光栅布局。
9n8;eE08 图1.二维光栅布局
B;1wnKdj l*% voKZG 用VB脚本定义一个2D光栅布局
'*-X3p 5:n&G[Md 步骤:
r=&PUT+vt 1 通过在
文件菜单中选择“New”,启动一个新项目。
:GL|: 2 在“Wafer Properties”对话框中设置以下
参数 -!;vX
@ Wafer Dimensions:
9R.tkc|K Length (mm): 8.5
Ux zwgVT Width (mm): 3.0
:p8JO:g9 qc*+;Wi+5 2D wafer properties:
IwWo-WN7. Wafer refractive index: Air
Q&M(wnl5 3 点击 Profiles 与 Materials.
;]nU-> ?]h+En5z8 在“Materials”中加入以下
材料:
&Lq @af# Name: N=1.5
}zLe;1Tx Refractive index (Re:): 1.5
:Q\h'$C ~xvQ?c?- Name: N=3.14
_}JygOew Refractive index (Re:): 3.14
;y5cs;s b[RBp0]x 4.在“Profile”中定义以下轮廓:
w2$HP/90j Name: ChannelPro_n=3.14
|C-B=XE;3 2D profile definition, Material: n=3.14
eTrGFe!8w -*yj[?6 Name: ChannelPro_n=1.5
Z|wZyt$$ 2D profile definition, Material: n=1.5
\N"K^kR4 4S"K%2'O 6.画出以下波导结构:
3_Oq4 / a. Linear waveguide 1
o5Qlp5`:u Label: linear1
zh50]tX Start Horizontal offset: 0.0
D0x+b2x^ Start vertical offset: -0.75
{bc<0 End Horizontal offset: 8.5
|h6@hB\ End vertical offset: -0.75
^ /g&Q Channel Thickness Tapering: Use Default
|ZRl.C/e Width: 1.5
`L9o!OsQ Depth: 0.0
Kh% x Profile: ChannelPro_n=1.5
P<2yCovn` &BE[=& | b. Linear waveguide 2
1/1P;8F@G Label: linear2
ih~c(&n0 Start Horizontal offset: 0.5
I;mtyS Start vertical offset: 0.05
;\#u19 End Horizontal offset: 1.0
x!"!oJG^k End vertical offset: 0.05
\uanQ|Nu Channel Thickness Tapering: Use Default
""WZpaw Width: 0.1
n\cP17dr Depth: 0.0
1 !\pwd@{ Profile: ChannelPro_n=3.14
!' sDqBZ&7 w;#9 hW& 7.加入水平平面波:
eMh:T@SN Continuous Wave Wavelength: 0.63 General:
yUH8 Input field Transverse: Rectangular
x$s #';* X Position: 0.5
w y
Le3 Direction: Negative Direction
=M(\ R8 Label: InputPlane1
_n{N3da 2D Transverse:
xX"?3%y> Center Position: 4.5
A#jiCIc Half width: 5.0
S2fw"1h*x Titlitng Angle: 45
eY&UFe Effective Refractive Index: Local Amplitude: 1.0
^k-H$] 图2.波导结构(未设置周期)
qt;6CzL
C 9qqEr~ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
J v)]7u 将Linear2代码段修改如下:
EO|
kiC Dim Linear2
9)4N2= for m=1 to 8
Js=|r;' Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
h_CeGl!M} Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
ZFdQZ=.' Linear2.SetAttr "WidthExpr", "0.1"
:Z< 5iLq Linear2.SetAttr "Depth", "0"
"&2D6 Linear2.SetAttr "StartThickness", "0.000000"
JL(*peeu3 Linear2.SetAttr "EndThickness", "0.000000"
::M/s#-@ Linear2.SetProfileName "ChannelPro_n=3.14"
&`@Jy|N\ Linear2.SetDefaultThicknessTaperMode True
n*O/X WO}JIExy 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
!P:hf/l[B 图3.光栅布局通过VB脚本生成
(bT\HW%m 2r*
o 设置仿真参数
pH"LZ7)DI0 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
q2hZ1o 2. 在仿真参数对话框中,设置以下参数:
~F' $p TE simulation
}wv$ #H[ Mesh Delta X: 0.015
@Sv
?Ar Mesh Delta Z: 0.015
awC&xVf Time Step Size: Auto Run for 1000 Time steps
n%?g+@y,^ 设置边界条件设置X和Z边为各向异性PML边界条件。
?Rl*5GRW Number of Anisotropic PML layers: 15
}%jb/@~ 其它参数保持默认
[tBIABr 运行仿真
*y0`P0V|8 • 在仿真参数中点击Run按钮,启动仿真
|"@E"Za^ • 在分析仪中,可以观察到各场分量的时域响应
G! 87F/ • 仿真完成后,点击“Yes”,启动分析仪。
'wQ=b M(2[X/t 远场分析
衍射波
>ZNL
pJQ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
\T[*|"RFZ 2. 选择“Definition of the Cross Cut”为z方向
<T7y85 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
UW>~C 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
zBoU;d%p> 图4.远场计算对话框
>c1mwZS; n"MFC 5. 在远场对话框,设置以下参数:
F]ALZxwkz Wavelength: 0.63
5w1=j\oq Refractive index: 1.5+0i
"1[N;|xa Angle Initial: -90.0
~ R* 6w($ Angle Final: 90.0
Y@r#:BH) Number of Steps: 721
\
_i`=dx Distance: 100, 000*wavelength
[&zP$i& Intensity
rzO:9# d ->j9(76 " 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
wZOO#&X#r 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
:#gz)r 图5.“Opti 2D Viewer”中的远场模式