光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
k8i0`VY5Y •使用VB脚本生成光栅(或周期性)布局。
3#aLCpVla •光栅布局
模拟和后处理分析
Zad>iw} 布局layout
wKoar 我们将模拟如图1所示的二维光栅布局。
O]?\<&y 图1.二维光栅布局
EztuVe BqpJvRJd 用VB脚本定义一个2D光栅布局
+U>Y.YP i>C%[dk9 步骤:
We*uZ?+ 1 通过在
文件菜单中选择“New”,启动一个新项目。
lv~ga2>z 2 在“Wafer Properties”对话框中设置以下
参数 3lKs>HE0 Wafer Dimensions:
oTr,zRL Length (mm): 8.5
`=Rxnl,<U Width (mm): 3.0
I,"q:QS+ Rl_1g`84 2D wafer properties:
0g
Hd{H= Wafer refractive index: Air
s#aane 3 点击 Profiles 与 Materials.
P)~olrf N7GZ'-t^Er 在“Materials”中加入以下
材料:
AG#Mj(az! Name: N=1.5
Hn/V*RzQ Refractive index (Re:): 1.5
&i6JBZ#~, 7mn&w$MS4: Name: N=3.14
K,+z^{Hvh Refractive index (Re:): 3.14
XsSDz}dg J3/e;5w2Z 4.在“Profile”中定义以下轮廓:
iG"1~/U Name: ChannelPro_n=3.14
W}|k!_/ 2D profile definition, Material: n=3.14
m63>P4h? VMS3Q)Ul Name: ChannelPro_n=1.5
di]CYLf 2D profile definition, Material: n=1.5
l\2"u M#7 <e wcWr 6.画出以下波导结构:
_`Y%Y6O1/ a. Linear waveguide 1
7#*`7 K'P! Label: linear1
O7od2fV(i7 Start Horizontal offset: 0.0
M5xMTP- Start vertical offset: -0.75
b/tcD r End Horizontal offset: 8.5
5 o[E8c8 End vertical offset: -0.75
+(`.pa z@ Channel Thickness Tapering: Use Default
AbQnx%$u Width: 1.5
1suP7o A; Depth: 0.0
.3wx}!:*| Profile: ChannelPro_n=1.5
|Qpd<L \K lY8\c[ b. Linear waveguide 2
:c(I-xif Label: linear2
LaL{
^wP Start Horizontal offset: 0.5
'#yIcV$ Start vertical offset: 0.05
QVmJ_WT End Horizontal offset: 1.0
CUft End vertical offset: 0.05
@Hr1.f Channel Thickness Tapering: Use Default
m!(dk] Width: 0.1
31F^ 38 Depth: 0.0
61sEeM Profile: ChannelPro_n=3.14
=(bTS n !G<gp4Js+N 7.加入水平平面波:
zs'Jgm.v Continuous Wave Wavelength: 0.63 General:
<W^>:!?w Input field Transverse: Rectangular
2ppJ;P{k X Position: 0.5
a4]=4[(iu> Direction: Negative Direction
Gsy90 Label: InputPlane1
jS|jPk|I. 2D Transverse:
&x@N5j5Q Center Position: 4.5
<!*O[0s Half width: 5.0
P`
Gb}]rW Titlitng Angle: 45
$_|jI
^ Effective Refractive Index: Local Amplitude: 1.0
`:dGPBBO 图2.波导结构(未设置周期)
bkm:#K |T*t3} 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
MB6lKLy6~ 将Linear2代码段修改如下:
R#ya9GN{ Dim Linear2
b86c[2 for m=1 to 8
20M]gw] Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
3'7X[{uBr Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
iE]^6i Linear2.SetAttr "WidthExpr", "0.1"
N*KM6j Linear2.SetAttr "Depth", "0"
vJQ_mz Linear2.SetAttr "StartThickness", "0.000000"
ir_X65l/2 Linear2.SetAttr "EndThickness", "0.000000"
Xa$tW%) Linear2.SetProfileName "ChannelPro_n=3.14"
&}0#(Fa` Linear2.SetDefaultThicknessTaperMode True
D6'-c# A8ClkLC;I 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
l HZ4N{n 图3.光栅布局通过VB脚本生成
)-i (%;,*e "&\]1A}Z-x 设置仿真参数
o<g1; 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
Slp_o\s$@ 2. 在仿真参数对话框中,设置以下参数:
BbgKaC q TE simulation
SPINV. Mesh Delta X: 0.015
xfqU
atC Mesh Delta Z: 0.015
)<T2J0* Time Step Size: Auto Run for 1000 Time steps
QQ99sy 设置边界条件设置X和Z边为各向异性PML边界条件。
bGik~ Number of Anisotropic PML layers: 15
$
\ I|6[P 其它参数保持默认
Ft @ZK!'@ 运行仿真
c}2"X, • 在仿真参数中点击Run按钮,启动仿真
pQ`S%]k.< • 在分析仪中,可以观察到各场分量的时域响应
zKf0 :X • 仿真完成后,点击“Yes”,启动分析仪。
ZRUI';5x Eq5X/Hx 远场分析
衍射波
)!sjXiC!h 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
~tB9kLFG 2. 选择“Definition of the Cross Cut”为z方向
NDG?Xs [2 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
X-SR0x 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
K3`48,`?wA 图4.远场计算对话框
bhCAx W ?'OL2~ 5. 在远场对话框,设置以下参数:
VWMr\]g Wavelength: 0.63
Fz]!2rt Refractive index: 1.5+0i
^ E3 HY@j Angle Initial: -90.0
#o(@S{(NZ Angle Final: 90.0
_D1)_?`a@- Number of Steps: 721
(U*Zz+ R Distance: 100, 000*wavelength
=CL h<& Intensity
@SAJ*hfb0 W\z<p P 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
T{Yk/Z/}? 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
J 77*Ue^ 图5.“Opti 2D Viewer”中的远场模式