光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
;9o;r)9~ •使用VB脚本生成光栅(或周期性)布局。
p'7*6bj1 •光栅布局
模拟和后处理分析
o8e?J\? 布局layout
Q+4tIrd+ 我们将模拟如图1所示的二维光栅布局。
X@@8"@/u|* 图1.二维光栅布局
!q"W{P jZ`;Cy\<B 用VB脚本定义一个2D光栅布局
KL$bqgc(p3 2(5ebe[ 步骤:
`w I /0 1 通过在
文件菜单中选择“New”,启动一个新项目。
_@S`5;4x 2 在“Wafer Properties”对话框中设置以下
参数 m]i @ +C Wafer Dimensions:
s .Wdxh Length (mm): 8.5
V%$/#sza Width (mm): 3.0
;XM{o:1Y[ f&v9Q97= 2D wafer properties:
0TpK#OlI|c Wafer refractive index: Air
Z{&cuo.@<] 3 点击 Profiles 与 Materials.
D}8EER b Eu"_MgD 在“Materials”中加入以下
材料:
hI9 Name: N=1.5
rZ8`sIWQt Refractive index (Re:): 1.5
p<=$&* V#VN%{ Name: N=3.14
Q.K,%(^;a Refractive index (Re:): 3.14
=zQN[ KYzv$oK 4.在“Profile”中定义以下轮廓:
y;/VB,4V Name: ChannelPro_n=3.14
H"A7Zo 2D profile definition, Material: n=3.14
H":oNpfb 6Gf?m; Name: ChannelPro_n=1.5
6@DF 2D profile definition, Material: n=1.5
.\>v0Du mI 74x3 [ 6.画出以下波导结构:
6{=\7AY a. Linear waveguide 1
d!eYqM7-G Label: linear1
9on@Q_7m Start Horizontal offset: 0.0
pK0"%eA Start vertical offset: -0.75
*z@>!8? End Horizontal offset: 8.5
]U"94S U:) End vertical offset: -0.75
`OSN\"\ad Channel Thickness Tapering: Use Default
5\z`-) Width: 1.5
Omd .9 Depth: 0.0
,v"YqD+GC5 Profile: ChannelPro_n=1.5
iLSr*`
o m *JaXa b. Linear waveguide 2
4?B\O`sy. Label: linear2
|\pbir Start Horizontal offset: 0.5
%c4Hse#Y Start vertical offset: 0.05
82l~G;.n3 End Horizontal offset: 1.0
` V##Y End vertical offset: 0.05
O%bEB g Channel Thickness Tapering: Use Default
>y"+ -7V) Width: 0.1
.9wk@C(Eh_ Depth: 0.0
!KUi\yQ1 Profile: ChannelPro_n=3.14
0Vx.nUQ F w?[lS 7.加入水平平面波:
rW$[DdFA5{ Continuous Wave Wavelength: 0.63 General:
4<BjC[@~Z{ Input field Transverse: Rectangular
.SWlp2!M5 X Position: 0.5
<7~'; K Direction: Negative Direction
Zu7)gf Label: InputPlane1
7Op>i,HZk\ 2D Transverse:
s7F.sg Center Position: 4.5
$&=S#_HQS Half width: 5.0
6Yln,rC Titlitng Angle: 45
RCpR3iC2 Effective Refractive Index: Local Amplitude: 1.0
kDsFR#w&` 图2.波导结构(未设置周期)
mHRiugb! }~L.qG 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
x7Yu I 将Linear2代码段修改如下:
,y#Kv|R Dim Linear2
9iQq.$A . for m=1 to 8
uLV#SQ=bZN Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
u ,KD4{! Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
.6Pw|xu`Pw Linear2.SetAttr "WidthExpr", "0.1"
U>Slc08N Linear2.SetAttr "Depth", "0"
F1yqxWHeo Linear2.SetAttr "StartThickness", "0.000000"
,>%}B3O:Y= Linear2.SetAttr "EndThickness", "0.000000"
Vh4X%b$TV Linear2.SetProfileName "ChannelPro_n=3.14"
~nay" g: Linear2.SetDefaultThicknessTaperMode True
GB=X5<; a!v1M2> 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
@J/K-.r 图3.光栅布局通过VB脚本生成
cPlZXf 'DCTc&J[' 设置仿真参数
3ca (i/c 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
~UP[A'9jJ 2. 在仿真参数对话框中,设置以下参数:
_z|65H TE simulation
R[D{|K@" Mesh Delta X: 0.015
Wi)_H$KII Mesh Delta Z: 0.015
~x1$h#Cx' Time Step Size: Auto Run for 1000 Time steps
;@oN s- 设置边界条件设置X和Z边为各向异性PML边界条件。
ZbdZrE$ Number of Anisotropic PML layers: 15
m+]K;}.}R 其它参数保持默认
NXrJfp 运行仿真
3EPv"f^V • 在仿真参数中点击Run按钮,启动仿真
?Lk)gO^C • 在分析仪中,可以观察到各场分量的时域响应
a.k.n< • 仿真完成后,点击“Yes”,启动分析仪。
b gK}-EU s Z].8. 远场分析
衍射波
QTk}h_<u 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
m;GCc8 2. 选择“Definition of the Cross Cut”为z方向
k%WTJbuG<) 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
I&x=; 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
!Dn,^ 图4.远场计算对话框
inMA:x}cF1 |v3T! 5. 在远场对话框,设置以下参数:
'-Vt|O_Q Wavelength: 0.63
m#|
9hMu Refractive index: 1.5+0i
Sw ig;` Angle Initial: -90.0
-cAo@}v Angle Final: 90.0
tEvut=k' Number of Steps: 721
V17%=bCZ5[ Distance: 100, 000*wavelength
L>Fa^jq5 Intensity
nAsh:6${ n FHUy9q 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
:(P9mt 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
,is3&9 图5.“Opti 2D Viewer”中的远场模式