光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
+EETo): •使用VB脚本生成光栅(或周期性)布局。
\(o"/* •光栅布局
模拟和后处理分析
BrV{X&>[i 布局layout
)BP*|URc 我们将模拟如图1所示的二维光栅布局。
m~=~DMj 图1.二维光栅布局
^Co-!jM *ukyQZ9 用VB脚本定义一个2D光栅布局
ks'>?Dw ud1M-lY\U 步骤:
P15
H[<:Fz 1 通过在
文件菜单中选择“New”,启动一个新项目。
w:~*wv 2 在“Wafer Properties”对话框中设置以下
参数 zZ5:)YiW- Wafer Dimensions:
W yL+HB} Length (mm): 8.5
[|}IS@ Width (mm): 3.0
\;LDE`Q_x P]_d;\
!"v 2D wafer properties:
ZCiCZ)oc Wafer refractive index: Air
:=*deZ< 3 点击 Profiles 与 Materials.
kB\{1; /ZLY@&M 在“Materials”中加入以下
材料:
e[S`Dm"i)' Name: N=1.5
p?@ %/!S Refractive index (Re:): 1.5
'rQ"Dc1D B/?
L$m Name: N=3.14
7e/+C{3v Refractive index (Re:): 3.14
% RSZ. IK~&`n](> 4.在“Profile”中定义以下轮廓:
8[^'PIz Name: ChannelPro_n=3.14
i!wU8@ 2D profile definition, Material: n=3.14
Q?{%c[s /7Q|D sa Name: ChannelPro_n=1.5
=OVDJ0ozZ 2D profile definition, Material: n=1.5
6 SSDc/ FR&`R 6.画出以下波导结构:
s27IeF3 a. Linear waveguide 1
nB[-KS Label: linear1
YO6BzS/~ Start Horizontal offset: 0.0
k;WD[SV Start vertical offset: -0.75
GK(CuwJe End Horizontal offset: 8.5
P&-o>mM End vertical offset: -0.75
92+8zX Channel Thickness Tapering: Use Default
DSGcxM+ Width: 1.5
Xlo7enzY Depth: 0.0
nQ%HtXt; Profile: ChannelPro_n=1.5
v9$!v^U"D H=r-f@EOrI b. Linear waveguide 2
{|;a?]? Label: linear2
s0kp(t!fiu Start Horizontal offset: 0.5
lWbu`y Start vertical offset: 0.05
q2GW3t End Horizontal offset: 1.0
$Y$9]G": End vertical offset: 0.05
&hCbXs= Channel Thickness Tapering: Use Default
>yIJ8IDF Width: 0.1
lOIk$"Ne Depth: 0.0
,S)r%[ru^ Profile: ChannelPro_n=3.14
b}J%4Lx%m V5|ANt 7.加入水平平面波:
,pNx(a Continuous Wave Wavelength: 0.63 General:
R[WiW RfD Input field Transverse: Rectangular
2wf&jGHs X Position: 0.5
kc,"w\ ai Direction: Negative Direction
_n&Nw7d2
M Label: InputPlane1
3} A$+PX 2D Transverse:
U=>S|>daR Center Position: 4.5
?RRO Half width: 5.0
:Pud%}' Titlitng Angle: 45
n ]ikc| Effective Refractive Index: Local Amplitude: 1.0
@@EI=\ 图2.波导结构(未设置周期)
>rnVTK 74s{b]jN'- 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
_|HhT^\P 将Linear2代码段修改如下:
"LyD Dim Linear2
>1y6DC for m=1 to 8
8*ZsR)! Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
MB plhVK8 Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
en<mm#Ab Linear2.SetAttr "WidthExpr", "0.1"
O5\r%&$xd Linear2.SetAttr "Depth", "0"
b@:OlZ~% Linear2.SetAttr "StartThickness", "0.000000"
Io6/Fv>! Linear2.SetAttr "EndThickness", "0.000000"
%36x'Dn? Linear2.SetProfileName "ChannelPro_n=3.14"
yMs!6c* Linear2.SetDefaultThicknessTaperMode True
N2r zHK Bx\&7|,x 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
5*0zI\ 图3.光栅布局通过VB脚本生成
~lj~]j kmB!NxF>)F 设置仿真参数
jU,Xlgz(A 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
3? {AGJ1 2. 在仿真参数对话框中,设置以下参数:
-(VJ,)8t2 TE simulation
.Po"qoGy Mesh Delta X: 0.015
0^;2 Mesh Delta Z: 0.015
:=QX ^* Time Step Size: Auto Run for 1000 Time steps
P<<$o-a" 设置边界条件设置X和Z边为各向异性PML边界条件。
.RQra+up Number of Anisotropic PML layers: 15
+z
>)'# 其它参数保持默认
bMH~vR 运行仿真
gY}In+S • 在仿真参数中点击Run按钮,启动仿真
m0HK1' • 在分析仪中,可以观察到各场分量的时域响应
wjarQog5Y • 仿真完成后,点击“Yes”,启动分析仪。
Dc9uq5l vEv kC 远场分析
衍射波
ttP7-y 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
=?sG~ 2. 选择“Definition of the Cross Cut”为z方向
w,{h9f 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
X2w)J?pv 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
[-~pDkf: 图4.远场计算对话框
43=v2P0=Tj kR]P/4r 5. 在远场对话框,设置以下参数:
8NN+Z< Wavelength: 0.63
z4u.bU Refractive index: 1.5+0i
:;?$5h*|` Angle Initial: -90.0
]uXJjS f Angle Final: 90.0
0Tj,TF Number of Steps: 721
8P I%Z6 Distance: 100, 000*wavelength
J,W<ha* Intensity
^:9a1 {L[ U%3N=M 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
wMa8HeBE\ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
|r9<aVlK 图5.“Opti 2D Viewer”中的远场模式