光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
idNra# •使用VB脚本生成光栅(或周期性)布局。
[0n[ \&
0 •光栅布局
模拟和后处理分析
r,HIoeAKP 布局layout
,(A
$WT@e 我们将模拟如图1所示的二维光栅布局。
y}U}AUt 图1.二维光栅布局
|JLXgwML q|g>;_ 用VB脚本定义一个2D光栅布局
x^79s_h5 %XBMi~ 步骤:
dSI<s^n 1 通过在
文件菜单中选择“New”,启动一个新项目。
+P=IkbxAO 2 在“Wafer Properties”对话框中设置以下
参数 >/4N :=.h Wafer Dimensions:
v{X<6^g Length (mm): 8.5
!T#EkMM Width (mm): 3.0
= inp>L +'$5Jtz 2D wafer properties:
#:NY9.\o Wafer refractive index: Air
#,9s\T 3 点击 Profiles 与 Materials.
t$e' [;w c`@";+|r 在“Materials”中加入以下
材料:
_CMNmmp`e Name: N=1.5
`=$p!H8 Refractive index (Re:): 1.5
TI|h
i }_" Name: N=3.14
zd6F}2*6 Refractive index (Re:): 3.14
mxE< G}Ko*:fWS 4.在“Profile”中定义以下轮廓:
w{*PZb4 Name: ChannelPro_n=3.14
[w90gp1O[ 2D profile definition, Material: n=3.14
8'"=y}]H~ <L+1
&H Name: ChannelPro_n=1.5
#g/m^8n?s 2D profile definition, Material: n=1.5
61w
({F %:v<&^oDlm 6.画出以下波导结构:
unih"};ou a. Linear waveguide 1
jU-aa+ Label: linear1
6>]w1
H Start Horizontal offset: 0.0
jV[;e15+ Start vertical offset: -0.75
fx-8mf3 End Horizontal offset: 8.5
S Rk%BJ? ~ End vertical offset: -0.75
pm=m~ Channel Thickness Tapering: Use Default
Wu" 1M^a Width: 1.5
2EOx],(| Depth: 0.0
{- &`@V Profile: ChannelPro_n=1.5
TlowEh8r .1}1e;f- b. Linear waveguide 2
%!r.)Wx|2 Label: linear2
F{4v[WP) Start Horizontal offset: 0.5
:dqZM#$d Start vertical offset: 0.05
\wDL oR End Horizontal offset: 1.0
t#xfso`4o End vertical offset: 0.05
~yt 7L,OQ Channel Thickness Tapering: Use Default
,5x#o Width: 0.1
B
6z 'Q Depth: 0.0
\1SC:gN*# Profile: ChannelPro_n=3.14
VEp cCK <D P8a<{{ 7.加入水平平面波:
zn>+\ Continuous Wave Wavelength: 0.63 General:
Wb>;L@jB7 Input field Transverse: Rectangular
@mJ~?d95v X Position: 0.5
yM `u]p1 Direction: Negative Direction
Vm[F~2+HX Label: InputPlane1
L+*:VP6WD 2D Transverse:
8ok=&Gq4 Center Position: 4.5
OIJT~Z} Half width: 5.0
@H<*|3J Titlitng Angle: 45
#N"u 0 Effective Refractive Index: Local Amplitude: 1.0
2n$Wey[ 图2.波导结构(未设置周期)
n\M8>9c R*!s'R 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
*:Rs\QH
将Linear2代码段修改如下:
[_nOo ` Dim Linear2
m^0vux for m=1 to 8
%ioVNbrR7 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
lKB9n}P Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
EK5$z>k>m Linear2.SetAttr "WidthExpr", "0.1"
ALy7D*Z]w Linear2.SetAttr "Depth", "0"
b"Q8[k |d Linear2.SetAttr "StartThickness", "0.000000"
tRpY+s~Fq Linear2.SetAttr "EndThickness", "0.000000"
^86M94k Linear2.SetProfileName "ChannelPro_n=3.14"
bU}v@Uk Linear2.SetDefaultThicknessTaperMode True
J
jm={+@+ aG83@ABx 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
K2yu}F ^} 图3.光栅布局通过VB脚本生成
,:e~aG,B swxX3GR 设置仿真参数
;Y[D#Ja- 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
m$_b\^we 2. 在仿真参数对话框中,设置以下参数:
OxYAM,F TE simulation
DnFzCJ Mesh Delta X: 0.015
/IG{j} Mesh Delta Z: 0.015
Uns%6o Time Step Size: Auto Run for 1000 Time steps
Q"ZpT 设置边界条件设置X和Z边为各向异性PML边界条件。
4~&3.1 Number of Anisotropic PML layers: 15
a_V\[V{R= 其它参数保持默认
.wD
$Bsm`t 运行仿真
>x JzV • 在仿真参数中点击Run按钮,启动仿真
":8\2Qp • 在分析仪中,可以观察到各场分量的时域响应
;aV3j/ • 仿真完成后,点击“Yes”,启动分析仪。
9xO@_pkX @<{%r 远场分析
衍射波
kqm(D# 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
DH
yv^ 2. 选择“Definition of the Cross Cut”为z方向
Q(]m1\a 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
k9f|R*LM 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
h@Ea5x 图4.远场计算对话框
*qm|A{FQR zQ|2D*W 5. 在远场对话框,设置以下参数:
`VKFA<T Wavelength: 0.63
953qz]Q8 Refractive index: 1.5+0i
U8Zb&6 Angle Initial: -90.0
Q $}#& Angle Final: 90.0
aWIkp5BFj Number of Steps: 721
_i}b]xfM Distance: 100, 000*wavelength
6qHD&bv\%C Intensity
a8JAJkFB 8Y.qP"s 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
Ik$$Tn&; 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
eO <N/?t 图5.“Opti 2D Viewer”中的远场模式