光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
F"#bCnS •使用VB脚本生成光栅(或周期性)布局。
WQ<J<$$uu •光栅布局
模拟和后处理分析
aIpDf|~ 布局layout
E5UI 我们将模拟如图1所示的二维光栅布局。
{v}f/cu 图1.二维光栅布局
Ka&[
Oz<w n|Iy 用VB脚本定义一个2D光栅布局
S
"R]i 5*xk8* 步骤:
V{p*N* 1 通过在
文件菜单中选择“New”,启动一个新项目。
4*g`!~) 2 在“Wafer Properties”对话框中设置以下
参数 SG2s!Ht Wafer Dimensions:
-LJbx<' Length (mm): 8.5
Ig t:M[
/ Width (mm): 3.0
".O+";wk m:59f9WXA 2D wafer properties:
2K'3ry)[y Wafer refractive index: Air
\C5 YVl# 3 点击 Profiles 与 Materials.
Eg-3GkC )d!,,o 在“Materials”中加入以下
材料:
//nR=Dy{ Name: N=1.5
K4YpE}]u Refractive index (Re:): 1.5
2--"@@ a?/GEfd Name: N=3.14
?~$0;5)QC Refractive index (Re:): 3.14
'3O@Nxof4 3,+)3,N 4.在“Profile”中定义以下轮廓:
qv y~b Name: ChannelPro_n=3.14
!Low%rP 2D profile definition, Material: n=3.14
cJd~UQ<k \/g.`Pe Name: ChannelPro_n=1.5
&u( eu'Q3 2D profile definition, Material: n=1.5
Q3vC^}Dmr <[ />M 6.画出以下波导结构:
ATp7:Q a. Linear waveguide 1
9E4H`[EQ Label: linear1
SCs@Q Start Horizontal offset: 0.0
S#Tc{@e Start vertical offset: -0.75
^E*W
B~ End Horizontal offset: 8.5
yQ-&+16^ End vertical offset: -0.75
Mo\LFxx>4{ Channel Thickness Tapering: Use Default
ZdJwy% Width: 1.5
;,![Lar5L Depth: 0.0
~CgKU8 Profile: ChannelPro_n=1.5
!qsk;Vk7Z D0Yl?LU3 b. Linear waveguide 2
Gx
ci Label: linear2
\Y&* sfQ Start Horizontal offset: 0.5
u[q1]] Start vertical offset: 0.05
o^hI\9 End Horizontal offset: 1.0
^m.QW* End vertical offset: 0.05
$_CE!_G&) Channel Thickness Tapering: Use Default
dqMt6b\} Width: 0.1
D's'LspQ Depth: 0.0
eR PmN Profile: ChannelPro_n=3.14
23 j{bK 7p%W)=v 7.加入水平平面波:
^-?5=\`5 Continuous Wave Wavelength: 0.63 General:
C` ?6`$Y Input field Transverse: Rectangular
dznHR6x X Position: 0.5
47>IT Direction: Negative Direction
DG,CL8bv Label: InputPlane1
-\6nT'P 2D Transverse:
\g<9_ Center Position: 4.5
Dnn$-W|NC Half width: 5.0
9v>BP`Mg Titlitng Angle: 45
@ FVan Effective Refractive Index: Local Amplitude: 1.0
b fy `UZr 图2.波导结构(未设置周期)
[,[;'::=o4 }`#OA]NZ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
F4'g}yOLd 将Linear2代码段修改如下:
P=PcO> Dim Linear2
7OY<*ny for m=1 to 8
>Pne@w!* Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
q$FwO"dC Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
SFCKD/8 Linear2.SetAttr "WidthExpr", "0.1"
KdY3
Linear2.SetAttr "Depth", "0"
&~VWh}=r Linear2.SetAttr "StartThickness", "0.000000"
2<HG=iSf Linear2.SetAttr "EndThickness", "0.000000"
S-V)!6\cK Linear2.SetProfileName "ChannelPro_n=3.14"
qOy3D~ Linear2.SetDefaultThicknessTaperMode True
rI34K~ P zK`fX 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
kXimJL_<g 图3.光栅布局通过VB脚本生成
mi9B C9W( w@RVg*`%7D 设置仿真参数
!R*%F 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
&Fo)ea 2. 在仿真参数对话框中,设置以下参数:
^2Sa_. TE simulation
.BN~9w Mesh Delta X: 0.015
fDyFkhc Mesh Delta Z: 0.015
&2IrST{d:V Time Step Size: Auto Run for 1000 Time steps
P'f0KZL; 设置边界条件设置X和Z边为各向异性PML边界条件。
b<,Z^Z_ Number of Anisotropic PML layers: 15
2,,zN-9mt 其它参数保持默认
:Awnj!KNCc 运行仿真
MG ,exN
@ • 在仿真参数中点击Run按钮,启动仿真
f>.A^? • 在分析仪中,可以观察到各场分量的时域响应
'}\{4Qst • 仿真完成后,点击“Yes”,启动分析仪。
k8fvg4 )9'eckt 远场分析
衍射波
6&/H
XqP 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
BDoL)}bRE 2. 选择“Definition of the Cross Cut”为z方向
|O0=Q,<m 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
xbJ@ z{ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
SN2X{Q|* 图4.远场计算对话框
i*34/ Z-(#}(HD 5. 在远场对话框,设置以下参数:
N<c98 Wavelength: 0.63
)o!y7MTl Refractive index: 1.5+0i
,4dES|)sP Angle Initial: -90.0
MQ;c'?!5[! Angle Final: 90.0
`L<f15][ Number of Steps: 721
L~e\uP Distance: 100, 000*wavelength
xK4b(KJj Intensity
P(?i>F7s vt{s"\f 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
r~q*E'n 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
e ='bc7$ 图5.“Opti 2D Viewer”中的远场模式