光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
Ew4DumI •使用VB脚本生成光栅(或周期性)布局。
BEPDyy •光栅布局
模拟和后处理分析
'4HwS$mW3 布局layout
&[S)zR=? 我们将模拟如图1所示的二维光栅布局。
y+Q!4A 图1.二维光栅布局
HtY\!_Ea "5XD+qi 用VB脚本定义一个2D光栅布局
5[I> l t]eB3)FX 步骤:
a<!g*UVL0M 1 通过在
文件菜单中选择“New”,启动一个新项目。
`ZV;Le' 2 在“Wafer Properties”对话框中设置以下
参数 ),bdj+wr78 Wafer Dimensions:
yuFuYo&[?v Length (mm): 8.5
? ]kIztH Width (mm): 3.0
U <4<8' _PNU*E%s< 2D wafer properties:
hpWAQ#%oHm Wafer refractive index: Air
*PL+)2ob 3 点击 Profiles 与 Materials.
aH"tSgi 4CX * 在“Materials”中加入以下
材料:
$C#~c1w Name: N=1.5
F\-qXSA Refractive index (Re:): 1.5
*i5&x/ds Yz-b~D/=} Name: N=3.14
?/#HTg)!B Refractive index (Re:): 3.14
q#sMew\{ Gjy'30IF 4.在“Profile”中定义以下轮廓:
\iowAo$ Name: ChannelPro_n=3.14
= \X<UA} 2D profile definition, Material: n=3.14
f=/ S]o4/3 JEJ]'3 Name: ChannelPro_n=1.5
wZfR>|f 2D profile definition, Material: n=1.5
&e,xN; >Cd%tIie* 6.画出以下波导结构:
pVbX#3 a. Linear waveguide 1
Htsa<tF Label: linear1
#"i}wS Start Horizontal offset: 0.0
-iH/~a Start vertical offset: -0.75
6_zL#7E' End Horizontal offset: 8.5
1grrb&K End vertical offset: -0.75
rX;(48Y Channel Thickness Tapering: Use Default
dqF--)Nb Width: 1.5
)}WG` Depth: 0.0
c$uV8_ V Profile: ChannelPro_n=1.5
NTAPx=!1* 3kYUO-qw b. Linear waveguide 2
Pq7YJ"Z?: Label: linear2
BvX!n"QIb Start Horizontal offset: 0.5
jgEiemh& Start vertical offset: 0.05
CUxSmN2[ End Horizontal offset: 1.0
7;|6g8= End vertical offset: 0.05
Ypv"u0 Channel Thickness Tapering: Use Default
Ap}:^k5{ Width: 0.1
PFEi=}Y@(( Depth: 0.0
b GwLfU Profile: ChannelPro_n=3.14
PjsQ+5[> deeOtco$LT 7.加入水平平面波:
g-*@I`k[ Continuous Wave Wavelength: 0.63 General:
ZfvFs Input field Transverse: Rectangular
Hk6Dwe[y X Position: 0.5
zhN'@Wj'_ Direction: Negative Direction
hrcR"OZ~X Label: InputPlane1
H%faRUonz 2D Transverse:
d(To)ly. Center Position: 4.5
2@e<II2ha8 Half width: 5.0
[%QJ6 Titlitng Angle: 45
R
)?8A\<E Effective Refractive Index: Local Amplitude: 1.0
Yj0Ss{Ep 图2.波导结构(未设置周期)
7~ |o_T JN3Oe5yB2@ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
%X[|7D- 将Linear2代码段修改如下:
38Wv&! Dim Linear2
rm"bplLZA for m=1 to 8
7J>n;8{%? Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
}GGFJ" Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
A E7>jkHB Linear2.SetAttr "WidthExpr", "0.1"
oz[E>% Linear2.SetAttr "Depth", "0"
PJ
#uYM Linear2.SetAttr "StartThickness", "0.000000"
KtV_DjH: Linear2.SetAttr "EndThickness", "0.000000"
uOW9FAW Linear2.SetProfileName "ChannelPro_n=3.14"
39m# Linear2.SetDefaultThicknessTaperMode True
.`,YUr$. 'iL['4~. 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
~Dkje 图3.光栅布局通过VB脚本生成
,GR(y^S ]
YQ*mvI] 设置仿真参数
gCwg ;c- 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
TR:D 2. 在仿真参数对话框中,设置以下参数:
rcQ?E=V2O TE simulation
%W`pTvF Mesh Delta X: 0.015
:5"|iRP' Mesh Delta Z: 0.015
OkFq>;{a Time Step Size: Auto Run for 1000 Time steps
roRZE[ya 设置边界条件设置X和Z边为各向异性PML边界条件。
wF38c]r`\< Number of Anisotropic PML layers: 15
q)!{oi{x( 其它参数保持默认
^QFjBQ-Hai 运行仿真
NTVG'3o • 在仿真参数中点击Run按钮,启动仿真
a(BC(^1! • 在分析仪中,可以观察到各场分量的时域响应
k92189B9j/ • 仿真完成后,点击“Yes”,启动分析仪。
dks0 vEfX'gyk 远场分析
衍射波
yY,.GzIjCj 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
.g4bV5ma3 2. 选择“Definition of the Cross Cut”为z方向
b5H[~8mf 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
Jnv91*>h8 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
TXy*- <#vR 图4.远场计算对话框
Vw)\#6FL n}?kQOg0/ 5. 在远场对话框,设置以下参数:
|4-Ey! P Wavelength: 0.63
<pPI:D@G Refractive index: 1.5+0i
_G'.VSGH Angle Initial: -90.0
LW,!B.`@ Angle Final: 90.0
1S_KX. Number of Steps: 721
^s24f?3 Distance: 100, 000*wavelength
BJlF@F# Intensity
)EcF[aO |/r@z[t 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
y0=BL 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
L!e@T' 图5.“Opti 2D Viewer”中的远场模式