光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
3`4g*wO •使用VB脚本生成光栅(或周期性)布局。
v/f&rK* > •光栅布局
模拟和后处理分析
JpDc3^B* 布局layout
8"+Re
[ 我们将模拟如图1所示的二维光栅布局。
^ MkT"> 图1.二维光栅布局
`zAo IQ `P9vZR; 用VB脚本定义一个2D光栅布局
Nko;I?Fn +0;n t 步骤:
Y[x9c0 1 通过在
文件菜单中选择“New”,启动一个新项目。
+ oyW_!( 2 在“Wafer Properties”对话框中设置以下
参数 NL))!Pi Wafer Dimensions:
w5|az6wZB! Length (mm): 8.5
& v=2u,]T Width (mm): 3.0
5I5~GH ?lCKZm.,(- 2D wafer properties:
`':$PUz,g Wafer refractive index: Air
C\UD0r'p? 3 点击 Profiles 与 Materials.
0Ph,E <1]#E@ 在“Materials”中加入以下
材料:
^<xpp.eY Name: N=1.5
|SXMd'<3`Z Refractive index (Re:): 1.5
X""<5s'0 ^lB'7#7 Name: N=3.14
o9~ Z! &p Refractive index (Re:): 3.14
S|Wv1H> n@w$5y1@ 4.在“Profile”中定义以下轮廓:
~q#UH'=% Name: ChannelPro_n=3.14
J\XYUs 2D profile definition, Material: n=3.14
mY2Ubn*
Mi.xay% Name: ChannelPro_n=1.5
pm O }m> 2D profile definition, Material: n=1.5
<T:u&Ic YVZm^@ZVV 6.画出以下波导结构:
GEy^*, d a. Linear waveguide 1
{PGNPxUbe Label: linear1
% w 6fB Start Horizontal offset: 0.0
dNG>:p Start vertical offset: -0.75
#)_4$<P*' End Horizontal offset: 8.5
IX;u +B End vertical offset: -0.75
Lm"l*j4 Channel Thickness Tapering: Use Default
WcAX/<Y > Width: 1.5
<oTIzj7f Depth: 0.0
w<N[K> Profile: ChannelPro_n=1.5
#Zk6
Ra[{K@ b. Linear waveguide 2
L~SM#?z:ue Label: linear2
fZH:&EP Start Horizontal offset: 0.5
gO4`e(W Start vertical offset: 0.05
(F~i End Horizontal offset: 1.0
5YMjvhr?W End vertical offset: 0.05
'>_'gR0O Channel Thickness Tapering: Use Default
6~V$0Y>] Width: 0.1
~c,HE] B Depth: 0.0
8a|p`)lT Profile: ChannelPro_n=3.14
bTE%p0 cD
Z]r@AQ 7.加入水平平面波:
&(-+?*A`E Continuous Wave Wavelength: 0.63 General:
GUE3| Input field Transverse: Rectangular
G%-[vk#] X Position: 0.5
>y"V% Direction: Negative Direction
j%Y`2Ra Label: InputPlane1
B.6gJ2c 2D Transverse:
$fV47;U'* Center Position: 4.5
*Ibl+ Half width: 5.0
`omZ'n) Titlitng Angle: 45
DY'D]*'7$ Effective Refractive Index: Local Amplitude: 1.0
BZ<Q.:) 图2.波导结构(未设置周期)
ZJ'#XZpr :84fd\It4 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
DG}t! 将Linear2代码段修改如下:
/=A^@&:_# Dim Linear2
[>Z~&cm for m=1 to 8
a,x-akZWf Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
u) y6 $ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
i-~HT4iw Linear2.SetAttr "WidthExpr", "0.1"
uj,YCJ8UZs Linear2.SetAttr "Depth", "0"
cU?A|' Linear2.SetAttr "StartThickness", "0.000000"
yNi/JM Linear2.SetAttr "EndThickness", "0.000000"
qd(C%Wk Linear2.SetProfileName "ChannelPro_n=3.14"
1|l'oTAA Linear2.SetDefaultThicknessTaperMode True
R}>xpU1 XzgJ@ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
xCz(qR 图3.光栅布局通过VB脚本生成
ob05:D_bc9 <XiHQ
B! 设置仿真参数
R$k4}p 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
py VTA1 2. 在仿真参数对话框中,设置以下参数:
>VM@9Cph TE simulation
/]=Ih Mesh Delta X: 0.015
kL\
FY Mesh Delta Z: 0.015
pZUckQ Time Step Size: Auto Run for 1000 Time steps
zBtlkBPu 设置边界条件设置X和Z边为各向异性PML边界条件。
?8X;F"Ba Number of Anisotropic PML layers: 15
+KgLe> -} 其它参数保持默认
pSvRyb.K 运行仿真
A^nB!veh • 在仿真参数中点击Run按钮,启动仿真
3Cmbt_WV • 在分析仪中,可以观察到各场分量的时域响应
/ CEn yE/ • 仿真完成后,点击“Yes”,启动分析仪。
F=!p7msRB '!^5GSP3& 远场分析
衍射波
P~`gWGC} 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
| s%--W 2. 选择“Definition of the Cross Cut”为z方向
S#_g/3w 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
ad1 I2 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
m1H_kJ 图4.远场计算对话框
P|HxD0c^u ?~c=Sa- 5. 在远场对话框,设置以下参数:
FOVghq@ Wavelength: 0.63
8Yc'4v#} Refractive index: 1.5+0i
y:u7*%" Angle Initial: -90.0
zrVw l\& Angle Final: 90.0
6RV42r^pf Number of Steps: 721
yIy'"BCxM Distance: 100, 000*wavelength
:@#9P," Intensity
9"hH2jc
Q46^i7= 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
CAg~K[ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
Ey96XJV 图5.“Opti 2D Viewer”中的远场模式