光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
DU1\ K •使用VB脚本生成光栅(或周期性)布局。
#[ch?K •光栅布局
模拟和后处理分析
k;?E,!{ 布局layout
*'nZ|r v 我们将模拟如图1所示的二维光栅布局。
n0CS= 图1.二维光栅布局
c9)5G+
)m[dfeqd + 用VB脚本定义一个2D光栅布局
088"7 s ##clReS 步骤:
1rQKHC:| 1 通过在
文件菜单中选择“New”,启动一个新项目。
6b9&V` 2 在“Wafer Properties”对话框中设置以下
参数 /f)
#CR0$ Wafer Dimensions:
k?'<f Length (mm): 8.5
Jsp>v'Qvq Width (mm): 3.0
7__?1n~{ #Ez+1 2D wafer properties:
u#`FkuE\} Wafer refractive index: Air
zCdzxb_h" 3 点击 Profiles 与 Materials.
ZP^7`q)6 t`y*oRy 在“Materials”中加入以下
材料:
F(#~.i Name: N=1.5
6%RN- Refractive index (Re:): 1.5
yCG<qQz #Bgq]6G2 Name: N=3.14
hpOUz% Refractive index (Re:): 3.14
hCKx%&[^7 hXx. 4.在“Profile”中定义以下轮廓:
' 5%`[& Name: ChannelPro_n=3.14
W:z!fh- 2D profile definition, Material: n=3.14
cPm-)/E)i njN]0l{p Name: ChannelPro_n=1.5
#cD20t 2D profile definition, Material: n=1.5
fK{[=xMr@ Y94/tjt 6.画出以下波导结构:
!@vM@Z" a. Linear waveguide 1
nfbq J Label: linear1
@"E{gM@B Start Horizontal offset: 0.0
xMAb=87_
Start vertical offset: -0.75
e=%6\&q End Horizontal offset: 8.5
Lb}
cjI: End vertical offset: -0.75
K0Zq)< Channel Thickness Tapering: Use Default
5zBayJh# Width: 1.5
:u$+lq Depth: 0.0
Lc:DJA Profile: ChannelPro_n=1.5
.A2u7*h& J\ V.J/ b. Linear waveguide 2
mv+K!T6 Label: linear2
t[-0/-4 Start Horizontal offset: 0.5
,@'M'S Start vertical offset: 0.05
1KtPq, End Horizontal offset: 1.0
p~xrl jP$ End vertical offset: 0.05
!(wH}ti Channel Thickness Tapering: Use Default
]
336FgT Width: 0.1
P.;S6i
n Depth: 0.0
@\UoZv( Profile: ChannelPro_n=3.14
\1p5$0z ;y{VdT 7.加入水平平面波:
_%$(D"^j Continuous Wave Wavelength: 0.63 General:
VF<C#I Input field Transverse: Rectangular
a|v}L, X Position: 0.5
KZxA\,Y'5 Direction: Negative Direction
m*^|9*dIC Label: InputPlane1
njy^<7; 2D Transverse:
8{GRrwQ> Center Position: 4.5
!&Z,ev Half width: 5.0
WZ<kk T Titlitng Angle: 45
qJ|n73yn Effective Refractive Index: Local Amplitude: 1.0
gxku3<S 图2.波导结构(未设置周期)
%$l^C!qcY E(&GZ QE 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
k<M~co;L 将Linear2代码段修改如下:
DB>Y#2j4h Dim Linear2
dTV:/QM for m=1 to 8
8zRb)B+ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
Q:x:k+O- Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
vsM] <t Linear2.SetAttr "WidthExpr", "0.1"
-*K!JC- Linear2.SetAttr "Depth", "0"
f2#9E+IQ Linear2.SetAttr "StartThickness", "0.000000"
v0dFP0.;& Linear2.SetAttr "EndThickness", "0.000000"
yq?_#r Linear2.SetProfileName "ChannelPro_n=3.14"
Uq,M\V\ Linear2.SetDefaultThicknessTaperMode True
hCLXL `37GVo4 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
[wM<J$=2 图3.光栅布局通过VB脚本生成
B9Dh^9?L / h6(!-" 设置仿真参数
1x0 7ua@(v 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
!7g
E 2. 在仿真参数对话框中,设置以下参数:
1@ j>2>i TE simulation
|-zwl8E Mesh Delta X: 0.015
:);]E-ch Mesh Delta Z: 0.015
!k&~|_$0@ Time Step Size: Auto Run for 1000 Time steps
8dw]i1t< 设置边界条件设置X和Z边为各向异性PML边界条件。
FNDLqf!j Number of Anisotropic PML layers: 15
MGO.dRy_ 其它参数保持默认
_e.b#{=9 运行仿真
~EU[? • 在仿真参数中点击Run按钮,启动仿真
tH:K6^oR • 在分析仪中,可以观察到各场分量的时域响应
8i;N|:WdH • 仿真完成后,点击“Yes”,启动分析仪。
?;,Al`/^ 6Upg\( 远场分析
衍射波
{/BEO=8q2 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
f= }Mr8W' 2. 选择“Definition of the Cross Cut”为z方向
e^@/Bm+B 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
7[-jr;v 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
wS2iyrIB 图4.远场计算对话框
2`* %NJ yvxC/Jo4 5. 在远场对话框,设置以下参数:
We]X+>BlO Wavelength: 0.63
!dLz ?0 Refractive index: 1.5+0i
5Ag>,>kJ6 Angle Initial: -90.0
);h\0w>3 Angle Final: 90.0
1V`]sfRK Number of Steps: 721
<LW|m7 Distance: 100, 000*wavelength
4(4JQ(5 Intensity
bIm$7a`T Xh]\q) 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
2LYd
# !i 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
uz4mHyS6 图5.“Opti 2D Viewer”中的远场模式