光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
ZIaFvm&q7Z •使用VB脚本生成光栅(或周期性)布局。
sV`XJ9e| •光栅布局
模拟和后处理分析
>soSOJ[ 布局layout
!jN$U%/,%. 我们将模拟如图1所示的二维光栅布局。
9<*<-x{A17 图1.二维光栅布局
K(}<L-cv /O$)m[ 用VB脚本定义一个2D光栅布局
Xgo`XsA 7 '7a`-W 步骤:
''CowI 1 通过在
文件菜单中选择“New”,启动一个新项目。
cqb]LC 2 在“Wafer Properties”对话框中设置以下
参数 pEiq;2{~Yn Wafer Dimensions:
N<|-b0#Z6 Length (mm): 8.5
4,ewp coC% Width (mm): 3.0
&0J/V>k P)hawH= 2D wafer properties:
Jl89}Sf Wafer refractive index: Air
lziC.Dpa 3 点击 Profiles 与 Materials.
i$4lBy_2 s9Bd mD^|# 在“Materials”中加入以下
材料:
/S%!{;: Name: N=1.5
Ht%O9v Refractive index (Re:): 1.5
A|P
`\_ b/eo]Id ] Name: N=3.14
SrXuiiK Refractive index (Re:): 3.14
M,N(be- BC1P3Sk
6X 4.在“Profile”中定义以下轮廓:
'8fh(` Name: ChannelPro_n=3.14
+F6R@@rWr 2D profile definition, Material: n=3.14
8j!(*'J. x`p3I*_HT5 Name: ChannelPro_n=1.5
X] t * 2D profile definition, Material: n=1.5
DT#Z6A '>|5 6.画出以下波导结构:
JLV?n,nF a. Linear waveguide 1
8\8%FSrc Label: linear1
?[
vC?P
Start Horizontal offset: 0.0
|b)N;t Start vertical offset: -0.75
c#(&\g2H End Horizontal offset: 8.5
`H\NJ, End vertical offset: -0.75
gPWl# 5P: Channel Thickness Tapering: Use Default
1V1T1 Width: 1.5
8__C T Depth: 0.0
7)au#K6 Profile: ChannelPro_n=1.5
*wfkjG ?C9>bKo*2H b. Linear waveguide 2
c9;oB|8| Label: linear2
Q@#Gm9m Start Horizontal offset: 0.5
Qmn'G4#@E Start vertical offset: 0.05
z50f$!? End Horizontal offset: 1.0
U>_#,j End vertical offset: 0.05
g].hL Channel Thickness Tapering: Use Default
_yVF+\kQ Width: 0.1
Voc&T+A m Depth: 0.0
7q: Profile: ChannelPro_n=3.14
vW4N[ .+ 1Du9N[2'P 7.加入水平平面波:
a fhZM$ Continuous Wave Wavelength: 0.63 General:
nzORG Input field Transverse: Rectangular
4WV)&50 X Position: 0.5
_d/ZaCx'i Direction: Negative Direction
"n=Ih_J Label: InputPlane1
T89VSB~ 2D Transverse:
Li\BRlebR{ Center Position: 4.5
%epK-q9[ Half width: 5.0
{:9P4<%H Titlitng Angle: 45
jj 9eFB Effective Refractive Index: Local Amplitude: 1.0
b(H)8#C 图2.波导结构(未设置周期)
b`sph%& QabYkL5@ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
*d/]-JN,K 将Linear2代码段修改如下:
[M6/?4\ Dim Linear2
? /Z
hu for m=1 to 8
;F<)BEXC< Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
7'xds Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
OT5'c l Linear2.SetAttr "WidthExpr", "0.1"
k)R>5?_ Linear2.SetAttr "Depth", "0"
F I\V6\B/ Linear2.SetAttr "StartThickness", "0.000000"
Z;JZ<vEt92 Linear2.SetAttr "EndThickness", "0.000000"
l?%U*~* Linear2.SetProfileName "ChannelPro_n=3.14"
v{2Vg Linear2.SetDefaultThicknessTaperMode True
*oX~z>aE >, }m=X8 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
"i_}\p.,X 图3.光栅布局通过VB脚本生成
[0G>=h@u "ci<W_lx 设置仿真参数
?RD)a`y51 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
4x:Odt5 2. 在仿真参数对话框中,设置以下参数:
cIgicp}U TE simulation
Kv:ih=? Mesh Delta X: 0.015
q}["Nww- Mesh Delta Z: 0.015
$'Hg}|53 Time Step Size: Auto Run for 1000 Time steps
qqYH}%0dz 设置边界条件设置X和Z边为各向异性PML边界条件。
lFY;O !Y5\ Number of Anisotropic PML layers: 15
:I }_ 其它参数保持默认
Uq6..<# 运行仿真
hD/bO • 在仿真参数中点击Run按钮,启动仿真
}f6x> • 在分析仪中,可以观察到各场分量的时域响应
9bT,=b; • 仿真完成后,点击“Yes”,启动分析仪。
IczEddt@' o;JBe"1 远场分析
衍射波
jjm-%W@ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
-j9R%+YW< 2. 选择“Definition of the Cross Cut”为z方向
!2N#H~{ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
F#^ .L|d4 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
LV 94i 图4.远场计算对话框
;.h5; `& 3;`93TO{ 5. 在远场对话框,设置以下参数:
`#X{. Wavelength: 0.63
hGF(E* Refractive index: 1.5+0i
6P;1I+5m{q Angle Initial: -90.0
?^&!/, Angle Final: 90.0
b`K~l'8 Number of Steps: 721
8L 9;VY^Y Distance: 100, 000*wavelength
:OBggb#?! Intensity
<..%@]+ $/45* 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
b,G+=&6u 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
MT#9x> 图5.“Opti 2D Viewer”中的远场模式