光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
z+>}RT] •使用VB脚本生成光栅(或周期性)布局。
(zFi$ •光栅布局
模拟和后处理分析
[r[=W! 布局layout
.?hP7;hhI 我们将模拟如图1所示的二维光栅布局。
@W9x$ 图1.二维光栅布局
Ho
*AAg @#-q^}3 用VB脚本定义一个2D光栅布局
$81*^ 9,"L^W8"k 步骤:
HC}YY2 1 通过在
文件菜单中选择“New”,启动一个新项目。
J`^I./ 2 在“Wafer Properties”对话框中设置以下
参数 #&7}-"Nd Wafer Dimensions:
-Zz$~$ Length (mm): 8.5
fP `b>]N_ Width (mm): 3.0
]: ~OG@( wg]j+r@ 2D wafer properties:
IyLx0[:U Wafer refractive index: Air
Ez-[
)44/ 3 点击 Profiles 与 Materials.
HF.^ysI >:|q&|x- 在“Materials”中加入以下
材料:
=>! Y{:
y( Name: N=1.5
I}vmU^Y> Refractive index (Re:): 1.5
1[vi. v*[.a#1^ Name: N=3.14
JC3m.)/ Refractive index (Re:): 3.14
=Yt
R` ;{%\9nS 4.在“Profile”中定义以下轮廓:
:B:"NyPA Name: ChannelPro_n=3.14
8UVmv=T 2D profile definition, Material: n=3.14
sK5r$Dbr Q(oN/y3, Name: ChannelPro_n=1.5
*^wm1|5 2D profile definition, Material: n=1.5
_&b4aW9< 7fba-7-P 6.画出以下波导结构:
u9EgdpD a. Linear waveguide 1
wL:flH@ Label: linear1
Pw61_ZZ4B\ Start Horizontal offset: 0.0
>M/V oV Start vertical offset: -0.75
[F6U+1n8e End Horizontal offset: 8.5
&@yo;kB End vertical offset: -0.75
={xE!" Channel Thickness Tapering: Use Default
uPl\I6k Width: 1.5
D'Y-6W3 Depth: 0.0
qCnZhJ Profile: ChannelPro_n=1.5
9AJ7h9L M!XsJ<jN/ b. Linear waveguide 2
(X3Tav Label: linear2
9^G/8<^^> Start Horizontal offset: 0.5
u!W0P6 Start vertical offset: 0.05
{>)#HD End Horizontal offset: 1.0
!_cg\KU# End vertical offset: 0.05
jmFz51 Channel Thickness Tapering: Use Default
2P@sn!*{1 Width: 0.1
4Q6mo/=H Depth: 0.0
^kB8F"X Profile: ChannelPro_n=3.14
F ;2w1S^ ~15N7=wCM 7.加入水平平面波:
3skC$mpJHw Continuous Wave Wavelength: 0.63 General:
n*{sTT Input field Transverse: Rectangular
MfWyc_ X Position: 0.5
S-|)QGxV6 Direction: Negative Direction
`,(,tn_ Label: InputPlane1
?qWfup\S 2D Transverse:
= < oBgD0k Center Position: 4.5
4k@5/5zsM Half width: 5.0
/Id%_,}Kb Titlitng Angle: 45
CyXRi}W. Effective Refractive Index: Local Amplitude: 1.0
='Y!+ 图2.波导结构(未设置周期)
U5.LDv; 6U R2IxbE 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
n+A?"`6*# 将Linear2代码段修改如下:
YLzx<~E4a Dim Linear2
Nbi.\ for m=1 to 8
u /\EtSH Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
7B\Vs-d Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
.Lsavpo Linear2.SetAttr "WidthExpr", "0.1"
=aBctd:eX` Linear2.SetAttr "Depth", "0"
NP/Gn6fr Linear2.SetAttr "StartThickness", "0.000000"
n4R(.N00 Linear2.SetAttr "EndThickness", "0.000000"
sWc*5Rt Linear2.SetProfileName "ChannelPro_n=3.14"
Yd=>K HVD Linear2.SetDefaultThicknessTaperMode True
r'HtZo$^R E(8*
pI 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
L"4mL, 图3.光栅布局通过VB脚本生成
g9Xu@N;bL <#u=[_H 设置仿真参数
n
T{3o;A 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
|m^k_d!d 2. 在仿真参数对话框中,设置以下参数:
M$>1L TE simulation
EkjN{$* Mesh Delta X: 0.015
8L:ji," Mesh Delta Z: 0.015
fj;y}t1E] Time Step Size: Auto Run for 1000 Time steps
1Y7Eajt-5 设置边界条件设置X和Z边为各向异性PML边界条件。
hM6PP7XH Number of Anisotropic PML layers: 15
P'Ux%Q+B> 其它参数保持默认
j)/nKh4O 运行仿真
opy("qH • 在仿真参数中点击Run按钮,启动仿真
8{^WY7.' • 在分析仪中,可以观察到各场分量的时域响应
{ +
Zd*)M[ • 仿真完成后,点击“Yes”,启动分析仪。
S/e2P|} "J[K 3 远场分析
衍射波
j/f?"VEr 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
?&63#B,iZ 2. 选择“Definition of the Cross Cut”为z方向
j/_s"}m{ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
e
:%ieH< 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
o:3dfO%nuM 图4.远场计算对话框
FrL]^59a Z\ja 5. 在远场对话框,设置以下参数:
B"TAjB&
* Wavelength: 0.63
ZaV8qAsP Refractive index: 1.5+0i
+'I+o5* Angle Initial: -90.0
kt["m. Angle Final: 90.0
XINu=N(g Number of Steps: 721
V C24sU Distance: 100, 000*wavelength
a1+#3X. Intensity
2.l Z:VLN ?fUlgQ}N 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
]|zp0d=&o 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
17oa69G 图5.“Opti 2D Viewer”中的远场模式