光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
[_L:.,]g8 •使用VB脚本生成光栅(或周期性)布局。
0$}+tq+ •光栅布局
模拟和后处理分析
C
n\'sb{ 布局layout
*u
3K8"XZ 我们将模拟如图1所示的二维光栅布局。
A:p7\Kp;5} 图1.二维光栅布局
sTeL4g|%{ ^%#v
AS 用VB脚本定义一个2D光栅布局
}/(fe`7: ;r^8In@6 步骤:
^z9ITGB~tV 1 通过在
文件菜单中选择“New”,启动一个新项目。
-:a
9'dT 2 在“Wafer Properties”对话框中设置以下
参数 4zpprh+`K Wafer Dimensions:
f Nm
Sx Length (mm): 8.5
/Kwo^Q{ Width (mm): 3.0
bX|Z||img BA A)IQF 2D wafer properties:
@5acTYQ Wafer refractive index: Air
7,j}] 3 点击 Profiles 与 Materials.
Nypa,_9} ~6kEpa 在“Materials”中加入以下
材料:
a`q">T%q Name: N=1.5
x?va26FV Refractive index (Re:): 1.5
["MF-tQ5 rbO9NRg> Name: N=3.14
9i yNR! Refractive index (Re:): 3.14
PM7*@~. 1f~unb\Gg 4.在“Profile”中定义以下轮廓:
T1M4@j Name: ChannelPro_n=3.14
.FqbX5\p, 2D profile definition, Material: n=3.14
wcsUb9( ="d}:Jl Name: ChannelPro_n=1.5
1W$ @ V! 2D profile definition, Material: n=1.5
%:N5k+} r<UZ\d - 6.画出以下波导结构:
c/x ^I{b* a. Linear waveguide 1
oq^#mJL Label: linear1
TN.mNl% Start Horizontal offset: 0.0
(t>BO`, Start vertical offset: -0.75
SEIGs_^'\ End Horizontal offset: 8.5
p r(:99~3 End vertical offset: -0.75
~U~KUL| Channel Thickness Tapering: Use Default
.N5}JUj Width: 1.5
Jq<&`6hn Depth: 0.0
;pBSGr9 Profile: ChannelPro_n=1.5
vtCt6M [,8@oM# b. Linear waveguide 2
-%5*c61 Label: linear2
?\(E+6tpP Start Horizontal offset: 0.5
%%G2w63M Start vertical offset: 0.05
&Jk0SUk MP End Horizontal offset: 1.0
xl5mI~n_~ End vertical offset: 0.05
;} Ty b Channel Thickness Tapering: Use Default
3-lJ] 7OT Width: 0.1
52C>f6w Depth: 0.0
.,o=# Profile: ChannelPro_n=3.14
?`uY*+u VI74{='= 7.加入水平平面波:
rNO'0Ck= Continuous Wave Wavelength: 0.63 General:
QPg
QM6 Input field Transverse: Rectangular
eL0U5># X Position: 0.5
J)x-Yhe Direction: Negative Direction
c/^}
=t( Label: InputPlane1
(5cc{zKtR 2D Transverse:
Rd&2mL Center Position: 4.5
qTj7mUk Half width: 5.0
PL@hsZty~c Titlitng Angle: 45
;8'hvc3i$ Effective Refractive Index: Local Amplitude: 1.0
l"W9uS;\T 图2.波导结构(未设置周期)
QpBgG~h" =$X5O&E3' 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
p3&/F=T;) 将Linear2代码段修改如下:
"4<RMYQ Dim Linear2
g1@zk$ for m=1 to 8
dPc*!xrq Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
f<=<:+ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
s+#gH@c Linear2.SetAttr "WidthExpr", "0.1"
Xx~OZ^t&Vn Linear2.SetAttr "Depth", "0"
n!2"pRIi Linear2.SetAttr "StartThickness", "0.000000"
yS[:C
2v Linear2.SetAttr "EndThickness", "0.000000"
f7Y0L8D Linear2.SetProfileName "ChannelPro_n=3.14"
@i'RIL} Linear2.SetDefaultThicknessTaperMode True
9.{u2a\ }3E@]"<cVR 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
E/v.+m 图3.光栅布局通过VB脚本生成
JF!JY( U, q6bi{L@/R 设置仿真参数
GbUw:I 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
R9A8)dDz 2. 在仿真参数对话框中,设置以下参数:
IDQ@h`"B TE simulation
$sTbFY Mesh Delta X: 0.015
N7Kq$G2O Mesh Delta Z: 0.015
JR8 b[Oj.S Time Step Size: Auto Run for 1000 Time steps
"1FPe63\*O 设置边界条件设置X和Z边为各向异性PML边界条件。
{_&'tXL Number of Anisotropic PML layers: 15
EiQX*v 其它参数保持默认
Jz&a9 运行仿真
=
NHuj. • 在仿真参数中点击Run按钮,启动仿真
j]U sb_7 • 在分析仪中,可以观察到各场分量的时域响应
ELf cZfJ • 仿真完成后,点击“Yes”,启动分析仪。
/2N'SOX J -tOO 远场分析
衍射波
%X7R_>.
1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
5\gL+qM0 2. 选择“Definition of the Cross Cut”为z方向
9>yLSM,!rS 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
N[~{'i 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
+;^UxW 图4.远场计算对话框
x)N$.7'9OJ H=Scrvfx 5. 在远场对话框,设置以下参数:
I@Pp[AyG Wavelength: 0.63
"
!F)K Refractive index: 1.5+0i
4Vl_vTz{i Angle Initial: -90.0
@ x_. Angle Final: 90.0
Yv<'QC Number of Steps: 721
@32~#0a Distance: 100, 000*wavelength
HK&Ul=^VN| Intensity
fFDI qX TRP#b 7nC 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
~A@T_*0 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
YXz*B5R 图5.“Opti 2D Viewer”中的远场模式