光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
b.&YUg[# •使用VB脚本生成光栅(或周期性)布局。
dPId=
w) •光栅布局
模拟和后处理分析
7O#>N}| 布局layout
%#~Wk|8} Q 我们将模拟如图1所示的二维光栅布局。
<5%We(3 图1.二维光栅布局
Viw3 /K >rubMGb 用VB脚本定义一个2D光栅布局
iqeGy&F- W!*vO>^1W 步骤:
w0iEx1i 1 通过在
文件菜单中选择“New”,启动一个新项目。
K#@FKv|(" 2 在“Wafer Properties”对话框中设置以下
参数 "?SnA +) Wafer Dimensions:
T*m_rDDt Length (mm): 8.5
vCM'nkXY Width (mm): 3.0
S8l+WF4q Wt=[R 4= 2D wafer properties:
;]! Wafer refractive index: Air
^Tx1y[hw$ 3 点击 Profiles 与 Materials.
FBsw\P5w [@;Z
xs 在“Materials”中加入以下
材料:
>B0S5:S$W Name: N=1.5
mf#oa~_ Refractive index (Re:): 1.5
rH,N.H#] ^E^: =Q?'_ Name: N=3.14
<>TBM^ Refractive index (Re:): 3.14
_[W=1bGJ -/X-.#}- 4.在“Profile”中定义以下轮廓:
\=)h6AG Name: ChannelPro_n=3.14
{$^|^n5j 2D profile definition, Material: n=3.14
%~~Q XH\ P;34Rd Name: ChannelPro_n=1.5
CfU)+20 2D profile definition, Material: n=1.5
7+"X^$ {8Ll\j@ " 6.画出以下波导结构:
A:f+x|[ a. Linear waveguide 1
ryN-d%t? Label: linear1
UWHC]V? Start Horizontal offset: 0.0
@)B_e*6>' Start vertical offset: -0.75
!wgj$5Rw. End Horizontal offset: 8.5
tyh%s" End vertical offset: -0.75
[>E0(S] Channel Thickness Tapering: Use Default
?4_;9MkN Width: 1.5
`Oi@7/oT Depth: 0.0
\MU4"sXw Profile: ChannelPro_n=1.5
4J s>yP ag6S"IXh b. Linear waveguide 2
S<TfvQ\,"@ Label: linear2
t%)L8%Jr Start Horizontal offset: 0.5
?~!h
N,h Start vertical offset: 0.05
X^ovP'c2 End Horizontal offset: 1.0
Xp'KQ1w) End vertical offset: 0.05
j[9B,C4 Channel Thickness Tapering: Use Default
2rxdRg'YLQ Width: 0.1
.#X0P= Depth: 0.0
f5N~K> Profile: ChannelPro_n=3.14
2.6,c$2tB U+KbvkX wj 7.加入水平平面波:
B~^\jRd" Continuous Wave Wavelength: 0.63 General:
gU`QW_{ Input field Transverse: Rectangular
&+\wYa, X Position: 0.5
R~`Y6>o~9: Direction: Negative Direction
[f'7/w+ Label: InputPlane1
, Le_PJY) 2D Transverse:
z, OMR`W Center Position: 4.5
ZrTq)BZ Half width: 5.0
HV}NT~ Titlitng Angle: 45
B7#;tCf Effective Refractive Index: Local Amplitude: 1.0
Uc4r 图2.波导结构(未设置周期)
E_++yK^= }Eav@3h6 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
T/H*Bo*=5 将Linear2代码段修改如下:
9DIG K\ Dim Linear2
r
)T`?y for m=1 to 8
3yTBkFI! Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
{Z|C Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
zmdOL9"a
Linear2.SetAttr "WidthExpr", "0.1"
? f%@8%px Linear2.SetAttr "Depth", "0"
<a'j8pw9i Linear2.SetAttr "StartThickness", "0.000000"
62W3W1: W Linear2.SetAttr "EndThickness", "0.000000"
r@_;L> Linear2.SetProfileName "ChannelPro_n=3.14"
m_pK'jc Linear2.SetDefaultThicknessTaperMode True
B$\5=[U !l'Zar 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
, 7}Ri 图3.光栅布局通过VB脚本生成
A)qOJ(OEz =%a.C(0&G 设置仿真参数
w'UP#vT5& 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
9Vp$A$7M 2. 在仿真参数对话框中,设置以下参数:
o:?IT/> TE simulation
46mu,v Mesh Delta X: 0.015
Q[}mH: w Mesh Delta Z: 0.015
+'[iyHBJ Time Step Size: Auto Run for 1000 Time steps
*bR _
C"- 设置边界条件设置X和Z边为各向异性PML边界条件。
a1?Y7(alPU Number of Anisotropic PML layers: 15
;$W|FpR2 其它参数保持默认
sUg7 运行仿真
a+]@$8+ • 在仿真参数中点击Run按钮,启动仿真
uz%rWN`{ • 在分析仪中,可以观察到各场分量的时域响应
d@C93VYp • 仿真完成后,点击“Yes”,启动分析仪。
RNm/&F1C$ /ZAEvdO*P 远场分析
衍射波
OrzDr 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
U2G\GU1 X 2. 选择“Definition of the Cross Cut”为z方向
,#s}nJ4 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
yM>c**9 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
=s;7T!7! 图4.远场计算对话框
UA{A G; uHy^ Bq 5. 在远场对话框,设置以下参数:
CnJO]0Op3 Wavelength: 0.63
?:UDK? Refractive index: 1.5+0i
42Z2Mjtk Angle Initial: -90.0
,KZ_#9[> Angle Final: 90.0
;hRo}
+\l Number of Steps: 721
1,Y-_e) Distance: 100, 000*wavelength
{"O'kx Intensity
'
R{ [Y) `2{x8A 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
ny{|{a 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
1XwbsKQ} 图5.“Opti 2D Viewer”中的远场模式