光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
%D%
Ok7s}) •使用VB脚本生成光栅(或周期性)布局。
J90
)v7 •光栅布局
模拟和后处理分析
8VC%4+.FF 布局layout
nAX/u[ 我们将模拟如图1所示的二维光栅布局。
Q6N?cQtOT 图1.二维光栅布局
\vS >jB VM;vLUu!e 用VB脚本定义一个2D光栅布局
6(ER$ ;w._/ 步骤:
' hdLQ\J 1 通过在
文件菜单中选择“New”,启动一个新项目。
]M~7L[ 2 在“Wafer Properties”对话框中设置以下
参数 :dxKcg7 Wafer Dimensions:
v0T?c53? Length (mm): 8.5
x<.(fRv Width (mm): 3.0
*V[I&dKq O.-A)S@ 2D wafer properties:
J2Qt! - Wafer refractive index: Air
8~BLTZ 3 点击 Profiles 与 Materials.
5Y@Hb!5D _c(h{dn 在“Materials”中加入以下
材料:
4RH>i+)pS\ Name: N=1.5
a=6@} l1< Refractive index (Re:): 1.5
8m[o*E.4F Rv.IHSQUo Name: N=3.14
9`KFJx6D Refractive index (Re:): 3.14
+HgyM0LFg 7Rc>LI*
' 4.在“Profile”中定义以下轮廓:
b+L !p.: Name: ChannelPro_n=3.14
u_FN'p=. 2D profile definition, Material: n=3.14
.*z$vl sN) xNz Name: ChannelPro_n=1.5
RS@G.| 2D profile definition, Material: n=1.5
SA%)xGRW BaMF5f+ 6.画出以下波导结构:
:lK8i{o a. Linear waveguide 1
lAo4) Label: linear1
7 ;2>kgf~ Start Horizontal offset: 0.0
"_=t1UE Start vertical offset: -0.75
<)Y jVGG End Horizontal offset: 8.5
A.RG8" End vertical offset: -0.75
!\'HKk~V Channel Thickness Tapering: Use Default
ZoCk]hk Width: 1.5
6 B7F Depth: 0.0
q%,y66pFr Profile: ChannelPro_n=1.5
]3Jb$Q@ $if(n|| b. Linear waveguide 2
J*AYZS-tSE Label: linear2
w@\4ft6d Start Horizontal offset: 0.5
w$""])o, Start vertical offset: 0.05
?30pNF| End Horizontal offset: 1.0
yQ&C]{>TS End vertical offset: 0.05
g[\8s~g, Channel Thickness Tapering: Use Default
[@]i_L[ Width: 0.1
#/\Zo &V8 Depth: 0.0
ih|&q Profile: ChannelPro_n=3.14
@4Q/J$ xqauSW 7.加入水平平面波:
-MORd{GF Continuous Wave Wavelength: 0.63 General:
/J(~NGT Input field Transverse: Rectangular
:'[ha$ X Position: 0.5
$+,kibk*R Direction: Negative Direction
i@ 86Ez Label: InputPlane1
n]>L"D, 2D Transverse:
Q9Go}}n Center Position: 4.5
w{4#Q[ Half width: 5.0
o
WAy[ Titlitng Angle: 45
1O1MB&5% Effective Refractive Index: Local Amplitude: 1.0
G+\&8fi0 图2.波导结构(未设置周期)
9V;A+d, _:Jma 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
Sw>,Q-32 将Linear2代码段修改如下:
hZ')<@hNP Dim Linear2
>LB*5 for m=1 to 8
dqi31e{*2\ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
1KjzKFnb Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
G-#rWZ& Linear2.SetAttr "WidthExpr", "0.1"
f>m! }F: Linear2.SetAttr "Depth", "0"
!LsIHDs4 Linear2.SetAttr "StartThickness", "0.000000"
c(!pcB8 Linear2.SetAttr "EndThickness", "0.000000"
NS "1zR+ Linear2.SetProfileName "ChannelPro_n=3.14"
~3|)[R=+p1 Linear2.SetDefaultThicknessTaperMode True
6LqF*$+$` Z@AN0?,`~o 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
)q[Wzx_ j< 图3.光栅布局通过VB脚本生成
i8#:y`ai c<{~j~+ 设置仿真参数
j!@,r^( 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
08g2? 5w" 2. 在仿真参数对话框中,设置以下参数:
c @KNyBy2 TE simulation
E/gfX
Mesh Delta X: 0.015
vtc%MG1 Mesh Delta Z: 0.015
J?1Eh14KZ Time Step Size: Auto Run for 1000 Time steps
AdzdYZiM_ 设置边界条件设置X和Z边为各向异性PML边界条件。
fVi[mH0=+ Number of Anisotropic PML layers: 15
n-1 其它参数保持默认
ViUx^e\ 运行仿真
c2]h.G83 • 在仿真参数中点击Run按钮,启动仿真
M[e^Z}w.V • 在分析仪中,可以观察到各场分量的时域响应
W'e{2u • 仿真完成后,点击“Yes”,启动分析仪。
hW\'EJ 74hRG~ 远场分析
衍射波
cb/$P!j7 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
vorb? iVf> 2. 选择“Definition of the Cross Cut”为z方向
Dw,LB>Eq, 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
]}.|b6\ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
Gq7\b({= 图4.远场计算对话框
gOp81) Bm6tf}8 5. 在远场对话框,设置以下参数:
X G5"u Wavelength: 0.63
om6`>I* Refractive index: 1.5+0i
*r|13|k Angle Initial: -90.0
;Q[E>j?w= Angle Final: 90.0
zXxA" Number of Steps: 721
\)2'+R Distance: 100, 000*wavelength
\7e4t Intensity
j_b/66JyN 4I.)>+8V 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
}s8xr> 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
EEvi_Z932 图5.“Opti 2D Viewer”中的远场模式