光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
| :id/ •使用VB脚本生成光栅(或周期性)布局。
T4[/_;1g •光栅布局
模拟和后处理分析
8N3y(y0 布局layout
d9%P[(yM^ 我们将模拟如图1所示的二维光栅布局。
H/={RuU 图1.二维光栅布局
:)&vf<JL g=,}j]tl 用VB脚本定义一个2D光栅布局
f/iMI)J RAuVRm=E 步骤:
N0JdU4' 1 通过在
文件菜单中选择“New”,启动一个新项目。
:3b02}b7 2 在“Wafer Properties”对话框中设置以下
参数 !_B*Po Wafer Dimensions:
@~UQU)-( Length (mm): 8.5
k1s5cg=n( Width (mm): 3.0
M.:JT31>1 SQ/HZ 2D wafer properties:
ZE~zs~z| Wafer refractive index: Air
#3'M>SaoH 3 点击 Profiles 与 Materials.
D_)/.m =q`T|9v 在“Materials”中加入以下
材料:
5}Xi`'g, Name: N=1.5
g-]~+7LL Refractive index (Re:): 1.5
;Me*#/ U=U5EdN; Name: N=3.14
yf4L0. Refractive index (Re:): 3.14
%/5Wj_|p "^a"`?J 4.在“Profile”中定义以下轮廓:
;oDr8a<A Name: ChannelPro_n=3.14
()F{kM8 2D profile definition, Material: n=3.14
qPN9Put nj0]c`6rN@ Name: ChannelPro_n=1.5
B;W%P.<. 2D profile definition, Material: n=1.5
D!.1R!(Z I3d}DpPx% 6.画出以下波导结构:
o
P;6i a. Linear waveguide 1
nAAv42j[ Label: linear1
>}W[>WReI Start Horizontal offset: 0.0
9cU9'r# h Start vertical offset: -0.75
<gfRAeXA End Horizontal offset: 8.5
vLyazVj.. End vertical offset: -0.75
GNq
f Channel Thickness Tapering: Use Default
^w2 HF Width: 1.5
Id>4fF:o Depth: 0.0
+mzLOJed Profile: ChannelPro_n=1.5
HEIg_6sb P".IW.^kk~ b. Linear waveguide 2
pe\Nwq Label: linear2
QCE7VV1Rw Start Horizontal offset: 0.5
gq/Za/!6 Start vertical offset: 0.05
{ I\og End Horizontal offset: 1.0
U V*Ruy- End vertical offset: 0.05
i1-%#YYF( Channel Thickness Tapering: Use Default
Y$]zba Width: 0.1
k+w Ji Depth: 0.0
di0@E<@1: Profile: ChannelPro_n=3.14
'[%#70* .R'M'a#*!A 7.加入水平平面波:
`[U.BVP' Continuous Wave Wavelength: 0.63 General:
lG%697P Input field Transverse: Rectangular
?+.C@_QZQ X Position: 0.5
lw.[qP Direction: Negative Direction
q CYu@Ho Label: InputPlane1
0<NS1y 2D Transverse:
p'1/J:EnV Center Position: 4.5
kLZVTVSJt Half width: 5.0
$Th)z}A}EA Titlitng Angle: 45
+>K&zS Effective Refractive Index: Local Amplitude: 1.0
>X'-J{4R 图2.波导结构(未设置周期)
wK#*| V-n{=8s 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
3?I! 将Linear2代码段修改如下:
qqf*g=f Dim Linear2
||awNSt for m=1 to 8
n$r`s`} Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
#?jsC) Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
z+{qQ! Linear2.SetAttr "WidthExpr", "0.1"
,_Bn{T=U Linear2.SetAttr "Depth", "0"
L\:m)g,F. Linear2.SetAttr "StartThickness", "0.000000"
c {%mi Linear2.SetAttr "EndThickness", "0.000000"
}6/M5zF3 Linear2.SetProfileName "ChannelPro_n=3.14"
/pPH D] Linear2.SetDefaultThicknessTaperMode True
9&AO 'yq?xlIj 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
5~@-LXqL 图3.光栅布局通过VB脚本生成
>19s:+ ~$5XiY8A 设置仿真参数
YZ4`b- 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
3?]81v/ 2. 在仿真参数对话框中,设置以下参数:
85q/|9D TE simulation
,v>;/qm Mesh Delta X: 0.015
4oiE@y&{4 Mesh Delta Z: 0.015
:VZS7$5 Time Step Size: Auto Run for 1000 Time steps
<TtPwUX
设置边界条件设置X和Z边为各向异性PML边界条件。
9$;5J Number of Anisotropic PML layers: 15
Af]zv~uM 其它参数保持默认
4=Ru{ewRV 运行仿真
A%Ka)UU+n • 在仿真参数中点击Run按钮,启动仿真
O& Sk}^ • 在分析仪中,可以观察到各场分量的时域响应
d\]KG(T • 仿真完成后,点击“Yes”,启动分析仪。
SYA~I-OYc A+* lV*@0 远场分析
衍射波
vu\W5M 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
*$fM}6} 2. 选择“Definition of the Cross Cut”为z方向
}%/mPbd# 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
ofQs
/
4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
ZF[W<Q 图4.远场计算对话框
vHcl7=)Q bHnKtaK4c 5. 在远场对话框,设置以下参数:
if|5v^/ Wavelength: 0.63
G&{yM2:E Refractive index: 1.5+0i
l!88|~ Angle Initial: -90.0
PKrG6%
W+ Angle Final: 90.0
>j hcSvM6 Number of Steps: 721
Q:megU'u Distance: 100, 000*wavelength
1Ys=KA-!_x Intensity
E2>{se Z _.; PLq~0 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
0j!3\=P$ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
w!6{{m 图5.“Opti 2D Viewer”中的远场模式