光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
c{K[bppJ* •使用VB脚本生成光栅(或周期性)布局。
+d,Z_ 6F •光栅布局
模拟和后处理分析
JG!@(lr 布局layout
XVkCYh4, 我们将模拟如图1所示的二维光栅布局。
~i/K7qZ 图1.二维光栅布局
:/'oh]T| la[>C:8IG 用VB脚本定义一个2D光栅布局
Lkl^
` :B]yreg 步骤:
K-drN)o 1 通过在
文件菜单中选择“New”,启动一个新项目。
X=i",5; 2 在“Wafer Properties”对话框中设置以下
参数 E?[]N[0Kl Wafer Dimensions:
d;O4)8> Length (mm): 8.5
YA%0{Tdxz Width (mm): 3.0
)wueR5P T:(c/> 2D wafer properties:
_G=k^f_ Wafer refractive index: Air
!qF t:{-h 3 点击 Profiles 与 Materials.
Z`Sbq{Kx X[KHI1@w 在“Materials”中加入以下
材料:
w [7vxQ!- Name: N=1.5
tEHgQto Refractive index (Re:): 1.5
r5S5;jL%t xC+TO Name: N=3.14
eJwHeG Refractive index (Re:): 3.14
DDwm;,eZ VgyY7INx9 4.在“Profile”中定义以下轮廓:
]:r6 Name: ChannelPro_n=3.14
]KE"|}B 2D profile definition, Material: n=3.14
M|xs>+r* U[t/40W}P Name: ChannelPro_n=1.5
\RDS~u\d 2D profile definition, Material: n=1.5
FA3YiX(-e E|v9khN(]. 6.画出以下波导结构:
8Xjp5 a. Linear waveguide 1
"8sB,$ Label: linear1
c}r"O8M Start Horizontal offset: 0.0
#cy;((z uB Start vertical offset: -0.75
Th>ff)~e End Horizontal offset: 8.5
tzV^.QWm End vertical offset: -0.75
Ty;P`Uv]r Channel Thickness Tapering: Use Default
%{HeXe Width: 1.5
Ek%mX" Depth: 0.0
w=feXA3-S Profile: ChannelPro_n=1.5
&Y3r'" '| rhm b. Linear waveguide 2
ap|$8G Label: linear2
H^r;,Q$9 Start Horizontal offset: 0.5
Uon^z?0A Start vertical offset: 0.05
S5>?jn1 End Horizontal offset: 1.0
!rZ r:@ End vertical offset: 0.05
]<Kkq! Channel Thickness Tapering: Use Default
JsD|igqF- Width: 0.1
Sahz*f Depth: 0.0
LZH~VkK@m} Profile: ChannelPro_n=3.14
2U.'5uA"L ykat0iqo 7.加入水平平面波:
YgL{*XYAt Continuous Wave Wavelength: 0.63 General:
U~1)a(Yu; Input field Transverse: Rectangular
5e}adHjM X Position: 0.5
9mRP%c#( Direction: Negative Direction
R;3nL[{U Label: InputPlane1
:^H2D=z@ 2D Transverse:
Jy?; < Center Position: 4.5
My<.^~ Half width: 5.0
uyDPWnYk Titlitng Angle: 45
3}kG ]# Effective Refractive Index: Local Amplitude: 1.0
1=z6m7@'- 图2.波导结构(未设置周期)
[D_s`'tg DrA\-G_7 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
BHN EP |= 将Linear2代码段修改如下:
7tQ?av Dim Linear2
BDfJ for m=1 to 8
,4--3 MU Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
%i5tf;x6i Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
C8t;E` Linear2.SetAttr "WidthExpr", "0.1"
_Nacqa Linear2.SetAttr "Depth", "0"
;:obg/;uJ Linear2.SetAttr "StartThickness", "0.000000"
ZgA+$}U)uW Linear2.SetAttr "EndThickness", "0.000000"
&t:~e" 5< Linear2.SetProfileName "ChannelPro_n=3.14"
H;{IOBo Linear2.SetDefaultThicknessTaperMode True
*b8AN3! H7%q[O 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
%sCG}?
y 图3.光栅布局通过VB脚本生成
w:aV2 7_ s7); 设置仿真参数
V
`7(75 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
#5%ipWPHb 2. 在仿真参数对话框中,设置以下参数:
#Q` TH< TE simulation
wA\a ]X. Mesh Delta X: 0.015
k&lfxb9pd Mesh Delta Z: 0.015
Ruv`yfQ Time Step Size: Auto Run for 1000 Time steps
pv8vW'G\E 设置边界条件设置X和Z边为各向异性PML边界条件。
oy\U\#k Number of Anisotropic PML layers: 15
]w_JbFmT 其它参数保持默认
L<k(stx~ 运行仿真
yb6gYN • 在仿真参数中点击Run按钮,启动仿真
>u+%H
vzc • 在分析仪中,可以观察到各场分量的时域响应
QjOY1Xze • 仿真完成后,点击“Yes”,启动分析仪。
bF'Jm*f )F+wk"`+6 远场分析
衍射波
r;_*.|AH 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
w@WPp0mny 2. 选择“Definition of the Cross Cut”为z方向
X`28? 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
mO2u9?N 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
<w3_EO 图4.远场计算对话框
M>d^.n y({lE3P 5. 在远场对话框,设置以下参数:
kMZo7 y Wavelength: 0.63
5,J.$Sax Refractive index: 1.5+0i
-ImVXy]? Angle Initial: -90.0
>i"WKd= Angle Final: 90.0
B#r"|x# [ Number of Steps: 721
XtqhK"f% Distance: 100, 000*wavelength
+GncQs
y Intensity
=q}Z2 OoYh ^hcK& 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
%bS1$
v\n 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
_rg*K 图5.“Opti 2D Viewer”中的远场模式