光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
q38; w~H •使用VB脚本生成光栅(或周期性)布局。
O>Sbb2q?" •光栅布局
模拟和后处理分析
Xm4wuX"e= 布局layout
8vRiVJ8QS: 我们将模拟如图1所示的二维光栅布局。
{k*_'0 图1.二维光栅布局
4[ra QE gv,J{ 用VB脚本定义一个2D光栅布局
|l|]Tw (NQ[AypMI 步骤:
3pp
w_?k 1 通过在
文件菜单中选择“New”,启动一个新项目。
xr/k.Fz 2 在“Wafer Properties”对话框中设置以下
参数 _"bx#B* Wafer Dimensions:
s7e'9Bx Length (mm): 8.5
kMo)4Xp Width (mm): 3.0
5Z[D(z qcot
T\rq 2D wafer properties:
1fy{@j(W Wafer refractive index: Air
Esjv^* v9- 3 点击 Profiles 与 Materials.
F"=MU8 LZVO9e] 在“Materials”中加入以下
材料:
P Cf|^X#B Name: N=1.5
m&q;.|W Refractive index (Re:): 1.5
fUL"fMoU =<05PB Name: N=3.14
$ZU(bEUOG Refractive index (Re:): 3.14
=/;_7|ssd +XE21hb
4.在“Profile”中定义以下轮廓:
^sKXn:) Name: ChannelPro_n=3.14
`9+EhP$RS 2D profile definition, Material: n=3.14
3$8}%?i 'dzp@-\ Name: ChannelPro_n=1.5
6`C27 2D profile definition, Material: n=1.5
?5Fj]Bk] kTz 6.画出以下波导结构:
fq|2E&&v a. Linear waveguide 1
UjaC( c Label: linear1
[}2.CM Start Horizontal offset: 0.0
o
FLrSmY)E Start vertical offset: -0.75
q UnFEg End Horizontal offset: 8.5
)9r%% # End vertical offset: -0.75
EVFfXv^ Channel Thickness Tapering: Use Default
{yHfE, Width: 1.5
X$9QW3.M Depth: 0.0
fhmr*E'J Profile: ChannelPro_n=1.5
i!3K G|V !r*;R\!n2 b. Linear waveguide 2
%7#Zb ' Label: linear2
d_uy;-3 Start Horizontal offset: 0.5
@<G/H|f Start vertical offset: 0.05
ugB{2oq i End Horizontal offset: 1.0
#P#R~b] End vertical offset: 0.05
X{}#hyYk" Channel Thickness Tapering: Use Default
!yX<v%>_0 Width: 0.1
s8[9YfuW Depth: 0.0
dSVu_*y Profile: ChannelPro_n=3.14
lM,zTNu-z iyYY)roB 7.加入水平平面波:
V|\A? Continuous Wave Wavelength: 0.63 General:
8>Z$/1Mh Input field Transverse: Rectangular
d~jtWd|? X Position: 0.5
e@=[+iJc Direction: Negative Direction
Vb^s 'k Label: InputPlane1
$ud>Z;X=P 2D Transverse:
]7kGHIJ| Center Position: 4.5
$
bNe0
Half width: 5.0
1bg@[YN!; Titlitng Angle: 45
1fW4=pF-K Effective Refractive Index: Local Amplitude: 1.0
x{>Y$t] 图2.波导结构(未设置周期)
q7&yb.<KD. O'-Zn]@.] 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
S7ehk*` 将Linear2代码段修改如下:
U;{,lS2l Dim Linear2
eCIRt/ uA for m=1 to 8
kA%OF*%|6 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
d._gH#&v Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
~f10ZB_k>' Linear2.SetAttr "WidthExpr", "0.1"
: .o=F`W Linear2.SetAttr "Depth", "0"
9c{%m4 Linear2.SetAttr "StartThickness", "0.000000"
sNfb %r Linear2.SetAttr "EndThickness", "0.000000"
8EG8!,\I Linear2.SetProfileName "ChannelPro_n=3.14"
v*~%x Linear2.SetDefaultThicknessTaperMode True
E#$_uZ4 (1SO;8k\ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
^la i!uZVa 图3.光栅布局通过VB脚本生成
C.eV|rc@T fsJTwSI[" 设置仿真参数
62)lf2$1 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
{0vbC/?] 2. 在仿真参数对话框中,设置以下参数:
h0GdFWN TE simulation
$^=jPk]+ Mesh Delta X: 0.015
"gN* J)!x Mesh Delta Z: 0.015
i %hn Time Step Size: Auto Run for 1000 Time steps
KPjqw{gR_R 设置边界条件设置X和Z边为各向异性PML边界条件。
P}+|`>L Number of Anisotropic PML layers: 15
CESe}^)n 其它参数保持默认
+z(,A 运行仿真
ro&Y7m • 在仿真参数中点击Run按钮,启动仿真
9[p}.9/ • 在分析仪中,可以观察到各场分量的时域响应
-{8Q= N • 仿真完成后,点击“Yes”,启动分析仪。
[> &+*c (2S!$w% 远场分析
衍射波
xeYySM= 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
h w ;d m 2. 选择“Definition of the Cross Cut”为z方向
^dUfTG9{ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
FJjF*2 . 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
Tt <-<oyU. 图4.远场计算对话框
0J:U\S <S8I"8{Mb 5. 在远场对话框,设置以下参数:
fb0T/JTw Wavelength: 0.63
Eo {1y Refractive index: 1.5+0i
/R(U>pZ Angle Initial: -90.0
1!;"bHpk Angle Final: 90.0
R5NRCI Number of Steps: 721
>|_gT%]5 Distance: 100, 000*wavelength
zfjD b Intensity
vN0L(B \9>g;qPg} 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
.}$`+h8WT 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
L^5&GcHP0 图5.“Opti 2D Viewer”中的远场模式