光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
)IJQeC •使用VB脚本生成光栅(或周期性)布局。
?h1H.s2X •光栅布局
模拟和后处理分析
<G*nDFWf 布局layout
K+6e?5t 我们将模拟如图1所示的二维光栅布局。
lqb/eN9(t 图1.二维光栅布局
!`7B^RZ CXCpqcC 用VB脚本定义一个2D光栅布局
TFcT3]R[rL 4np qJ1 步骤:
EJ`T$JD 1 通过在
文件菜单中选择“New”,启动一个新项目。
h`MF#617 2 在“Wafer Properties”对话框中设置以下
参数 m%PC8bf`S Wafer Dimensions:
Xj*vh
m%i Length (mm): 8.5
fJWC)E Width (mm): 3.0
wRrnniqf8 7L^%x3-|& 2D wafer properties:
W}|'#nR Wafer refractive index: Air
PH{_,X 3 点击 Profiles 与 Materials.
z;u ,[A'tUl _ 在“Materials”中加入以下
材料:
(os$B Name: N=1.5
46k?b|Q Refractive index (Re:): 1.5
d9n?v)<v >*wtbkU Name: N=3.14
F"N60>> Refractive index (Re:): 3.14
sZLT<6_B NuU9~gSQ 4.在“Profile”中定义以下轮廓:
boo
}u Name: ChannelPro_n=3.14
Sc7U|s 2D profile definition, Material: n=3.14
sFBneBub c=AOkX3UD Name: ChannelPro_n=1.5
mYU9
trHV 2D profile definition, Material: n=1.5
A0%}v* &)oOeRwi]. 6.画出以下波导结构:
BW,mwq a. Linear waveguide 1
4R5D88=C Label: linear1
&5L<i3BX Start Horizontal offset: 0.0
^`<w&I@ Start vertical offset: -0.75
2[gFkyqe End Horizontal offset: 8.5
"HYQqNj?Z End vertical offset: -0.75
smm]6 Channel Thickness Tapering: Use Default
_f6HAGDN Width: 1.5
b$eXFi/ Depth: 0.0
)Af~B'OUd Profile: ChannelPro_n=1.5
N 75:5 mR;qMX)0h b. Linear waveguide 2
Ssk}e=] Label: linear2
R=Tqj,6 Start Horizontal offset: 0.5
>><.3 Start vertical offset: 0.05
'<0J@^vZ End Horizontal offset: 1.0
9h0X &1u End vertical offset: 0.05
DI;DECQl$ Channel Thickness Tapering: Use Default
,j 5&6X=1M Width: 0.1
kg`.[{k Depth: 0.0
^V|Oxp'7_ Profile: ChannelPro_n=3.14
%0Y=WYUH> D3c2^r$Z 7.加入水平平面波:
"6a8s; Continuous Wave Wavelength: 0.63 General:
vLxQ *50v$ Input field Transverse: Rectangular
\cLSf= X Position: 0.5
$3,ryXp7 Direction: Negative Direction
Va$Pi19 O Label: InputPlane1
QORN9SY 2D Transverse:
*GUAO){' Center Position: 4.5
^;c 16 Half width: 5.0
n8hRaNHl2 Titlitng Angle: 45
VtOZ%h[# Effective Refractive Index: Local Amplitude: 1.0
'q * Bdx 图2.波导结构(未设置周期)
<|?K%FP7Z IHp_A 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
KQ[!o!% 将Linear2代码段修改如下:
ql<rU@ Dim Linear2
~r{5`;c for m=1 to 8
l6kmS Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
[Ei1~n)o Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
VB<Jf'NU Linear2.SetAttr "WidthExpr", "0.1"
"G:<7oTa Linear2.SetAttr "Depth", "0"
V]S1X^ Linear2.SetAttr "StartThickness", "0.000000"
1T)Zh+?)} Linear2.SetAttr "EndThickness", "0.000000"
VzJ5.mRQ Linear2.SetProfileName "ChannelPro_n=3.14"
Il`tNr Linear2.SetDefaultThicknessTaperMode True
nv<` K9d v_<2H'*Q 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
>]=j'+] 图3.光栅布局通过VB脚本生成
,p;_\\< $0^P0RAH 设置仿真参数
@u._"/K 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
D=TL>T.bf 2. 在仿真参数对话框中,设置以下参数:
8 ^B;1`# TE simulation
MCh#="L2 Mesh Delta X: 0.015
.qob_dRA Mesh Delta Z: 0.015
h3gWOU Time Step Size: Auto Run for 1000 Time steps
vKoP|z=m 设置边界条件设置X和Z边为各向异性PML边界条件。
#'4OYY. Number of Anisotropic PML layers: 15
vB!|\eJ 其它参数保持默认
hO[3 Z^X 运行仿真
T#Z%y!6 • 在仿真参数中点击Run按钮,启动仿真
YK{a • 在分析仪中,可以观察到各场分量的时域响应
xLZd!>C • 仿真完成后,点击“Yes”,启动分析仪。
q8ImrC.'^ @d"wAZzD? 远场分析
衍射波
]S 7^ITn 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
wve=.n 2. 选择“Definition of the Cross Cut”为z方向
o/o:2p. 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
H6aM&r9} 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
n-QJ;37\ 图4.远场计算对话框
8[ry|J D@X+{ 5. 在远场对话框,设置以下参数:
-RJE6~>'\ Wavelength: 0.63
m=qOg>k Refractive index: 1.5+0i
7-_vY[)/ Angle Initial: -90.0
vw<K}z Angle Final: 90.0
2q}.. Number of Steps: 721
mDFlz1J,e Distance: 100, 000*wavelength
8&V_$+ U Intensity
H(Ms^8Vs~: t5
a7DD 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
SK$Vk[c] 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
-v?hqWMp# 图5.“Opti 2D Viewer”中的远场模式