光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
s;A7:_z#7 •使用VB脚本生成光栅(或周期性)布局。
E/cV59 •光栅布局
模拟和后处理分析
y._'o7 % 布局layout
.xIAep_ 我们将模拟如图1所示的二维光栅布局。
^ZMbJe%L 图1.二维光栅布局
v_KO xV:<` (xgw';g 用VB脚本定义一个2D光栅布局
E{
/,
b) X}( s(6 步骤:
&S4*x|-C& 1 通过在
文件菜单中选择“New”,启动一个新项目。
.\_):j* 2 在“Wafer Properties”对话框中设置以下
参数 |z)s9B;:#i Wafer Dimensions:
|d0ZB_ci Length (mm): 8.5
[!uzXVS3 Width (mm): 3.0
{aAd (~YZ ]:e_Y,@ 2D wafer properties:
HOx4FXPs Wafer refractive index: Air
kZe<<iv 3 点击 Profiles 与 Materials.
B[8bkFS>] >/ay'EyY;> 在“Materials”中加入以下
材料:
*RkUF!)( Name: N=1.5
k;\gYb%L Refractive index (Re:): 1.5
^E^`" ///Lg{ie Name: N=3.14
`cp\UH@
Refractive index (Re:): 3.14
[9sEc n])#<0 4.在“Profile”中定义以下轮廓:
FKO2UY#&7 Name: ChannelPro_n=3.14
v,i|:;G 2D profile definition, Material: n=3.14
-nSf< JQ?`l)4 Name: ChannelPro_n=1.5
g}MUfl-L 2D profile definition, Material: n=1.5
hywcj\[ Qvp"gut)%X 6.画出以下波导结构:
#@FA=p[% a. Linear waveguide 1
ROFZ*@CH< Label: linear1
z}E_wg Start Horizontal offset: 0.0
4Ly>x>b< Start vertical offset: -0.75
vRe{B7}p; End Horizontal offset: 8.5
o2
ng End vertical offset: -0.75
8 m"k3:e^ Channel Thickness Tapering: Use Default
mB-,\{) Width: 1.5
L/"MRQ" Depth: 0.0
\Kf\%Q Profile: ChannelPro_n=1.5
*}\M!u{J %u!=<yn' b. Linear waveguide 2
~5,^CTAM Label: linear2
K/W=r Start Horizontal offset: 0.5
l~E~! MR Start vertical offset: 0.05
,D{7=mDVm End Horizontal offset: 1.0
gsL=_#
? End vertical offset: 0.05
m,)s8_a Channel Thickness Tapering: Use Default
u1/>)_U Width: 0.1
>NUbk9}J4 Depth: 0.0
c'2/ C5 Profile: ChannelPro_n=3.14
Q]9$dr=Kk0 FJeh=\ 7.加入水平平面波:
`<9>X9.+ Continuous Wave Wavelength: 0.63 General:
C6)YZC Input field Transverse: Rectangular
uG\~Hxqw7O X Position: 0.5
D|q~n)TW5 Direction: Negative Direction
dJR[9T_OF Label: InputPlane1
"0HUaU,e 2D Transverse:
:7K
a4 Center Position: 4.5
(fpz",[ Half width: 5.0
^Wld6:L{I Titlitng Angle: 45
V|u2(* Effective Refractive Index: Local Amplitude: 1.0
6nTM~]5. 图2.波导结构(未设置周期)
(~DW_+?]' brA#p>4]Wf 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
*?<N3Rr* 将Linear2代码段修改如下:
,)`_?^\$f Dim Linear2
k ]NZ%. for m=1 to 8
\\SQACN Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
e \Qys<2r Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
k o@ej^ Linear2.SetAttr "WidthExpr", "0.1"
d<-f:}^k0 Linear2.SetAttr "Depth", "0"
%O`@}Tg Linear2.SetAttr "StartThickness", "0.000000"
v +4v Linear2.SetAttr "EndThickness", "0.000000"
zyS8LZ-y9 Linear2.SetProfileName "ChannelPro_n=3.14"
S"!6]!~^ Linear2.SetDefaultThicknessTaperMode True
"L2*RX.R y`RzcXblIZ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
b~zSsws. 图3.光栅布局通过VB脚本生成
`bQ_eRw} XmQ;Roe 设置仿真参数
hF$`=hE,F~ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
+0Q 2. 在仿真参数对话框中,设置以下参数:
\dHqCQ TE simulation
:$D*ab^^P Mesh Delta X: 0.015
5&8E{YXr Mesh Delta Z: 0.015
%DSr@IX Time Step Size: Auto Run for 1000 Time steps
( 1z"=NCp 设置边界条件设置X和Z边为各向异性PML边界条件。
eB~\~@ Number of Anisotropic PML layers: 15
SRfh{u 其它参数保持默认
L62'Amml 运行仿真
KSs1EmB • 在仿真参数中点击Run按钮,启动仿真
VgbNZ{qk@ • 在分析仪中,可以观察到各场分量的时域响应
llZU: bs • 仿真完成后,点击“Yes”,启动分析仪。
x;[ . ZzQ ZuGSR GX' 远场分析
衍射波
P3Ql[2 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
G`l\R:Q 2. 选择“Definition of the Cross Cut”为z方向
_s;y0$O 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
-`'|z+V 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
"5N4
of
8 图4.远场计算对话框
jV2H61d 4r$#- 5. 在远场对话框,设置以下参数:
Xy(QK2| Wavelength: 0.63
0$|VkMq( Refractive index: 1.5+0i
3#t9pI4 Angle Initial: -90.0
<.)=CK Angle Final: 90.0
l`\L@~l n Number of Steps: 721
qlcd[Y*B Distance: 100, 000*wavelength
})OS2F Intensity
yepRJ%mp mW{;$@PLF" 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
Fizrsr 6% 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
\hX,z = 图5.“Opti 2D Viewer”中的远场模式