光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
d_`Ze.^
•使用VB脚本生成光栅(或周期性)布局。
@dXf_2Tv= •光栅布局
模拟和后处理分析
':,LZ A8A 布局layout
wFvilF
V 我们将模拟如图1所示的二维光栅布局。
'>6-ie^0 图1.二维光栅布局
K5KN}sRs" UY+~xzm 用VB脚本定义一个2D光栅布局
p.%$ OjCT%6hy; 步骤:
?Cws25G 1 通过在
文件菜单中选择“New”,启动一个新项目。
U +]ab 2 在“Wafer Properties”对话框中设置以下
参数 H(AYtnvB Wafer Dimensions:
UYPBKf]A9 Length (mm): 8.5
QV't+)uUVo Width (mm): 3.0
JUE>g8\b *~vRbD$q 2D wafer properties:
!y),| #7P Wafer refractive index: Air
HwcGbbX) 3 点击 Profiles 与 Materials.
zx!1jS @6gz)
p 在“Materials”中加入以下
材料:
n Au>i< Name: N=1.5
enNn*.*| Refractive index (Re:): 1.5
c.~|)^OXXO nuQ"\ G Name: N=3.14
8(A:XQN"h Refractive index (Re:): 3.14
V_~wWuZ- 1#@'U90xf 4.在“Profile”中定义以下轮廓:
M}c_KFMV Name: ChannelPro_n=3.14
yG_#>3sD+% 2D profile definition, Material: n=3.14
|QY+vO7fxj
$^l=#tV Name: ChannelPro_n=1.5
-P?}
qy^j( 2D profile definition, Material: n=1.5
bw4b'9cK JWBWa- 6.画出以下波导结构:
j ]P|iL a. Linear waveguide 1
G'("-9 Label: linear1
F 6Ol5 Start Horizontal offset: 0.0
& #|vGhA Start vertical offset: -0.75
vr;7p[~ End Horizontal offset: 8.5
-LY_7Kg End vertical offset: -0.75
#Y:/^Q$_qS Channel Thickness Tapering: Use Default
MG<~{Y84} Width: 1.5
M|Se|*w Depth: 0.0
gK>Vm9rO Profile: ChannelPro_n=1.5
:Cuae?O, YK- R|z6K b. Linear waveguide 2
qdm!]w.G5 Label: linear2
c:iMbJOn# Start Horizontal offset: 0.5
#B?7{#.1 Start vertical offset: 0.05
crT[;w End Horizontal offset: 1.0
vxgm0ZOMN End vertical offset: 0.05
`+gF|o9 Channel Thickness Tapering: Use Default
@@$
_TaI Width: 0.1
md_Ld
/ Depth: 0.0
F7hQNQu: Profile: ChannelPro_n=3.14
)CB?gW {kzM*!g 7.加入水平平面波:
&>/nYvuq - Continuous Wave Wavelength: 0.63 General:
!F8
!]"* Input field Transverse: Rectangular
lN&GfPP6 X Position: 0.5
^?A+`1- Direction: Negative Direction
94R+S-|P Label: InputPlane1
l>]M^=,&7 2D Transverse:
J0oR]eT} Center Position: 4.5
[ M'1aBx^ Half width: 5.0
N.<hZ\].= Titlitng Angle: 45
:JS}(
Effective Refractive Index: Local Amplitude: 1.0
(y36NH+ 图2.波导结构(未设置周期)
Xnh1pwDhe< v:>P;\]r9M 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
ooAZ,l=8 将Linear2代码段修改如下:
KV6S- Dim Linear2
NX;&V7 for m=1 to 8
Mc8^{br61 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
MnQ_]cC Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
1Y`MJ\9 Linear2.SetAttr "WidthExpr", "0.1"
Z/x1?{z Linear2.SetAttr "Depth", "0"
HI?>]zz| Linear2.SetAttr "StartThickness", "0.000000"
/?GBp[(0 Linear2.SetAttr "EndThickness", "0.000000"
B8&@Qc@~ Linear2.SetProfileName "ChannelPro_n=3.14"
$X?V_K;9/ Linear2.SetDefaultThicknessTaperMode True
-bE|FFU zk]~cG5dT/ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Hke\W'& 图3.光栅布局通过VB脚本生成
26**tB< L_~G`Rb3 设置仿真参数
c~
SI" 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
{)y4Qp 2. 在仿真参数对话框中,设置以下参数:
5Zov<+kE TE simulation
"f3>20} Mesh Delta X: 0.015
c1^3lgPv Mesh Delta Z: 0.015
u"%fz8v Time Step Size: Auto Run for 1000 Time steps
m"DMa 设置边界条件设置X和Z边为各向异性PML边界条件。
#&Ee5xM= Number of Anisotropic PML layers: 15
j{=%~ 其它参数保持默认
*}J_STM 运行仿真
ke0W? • 在仿真参数中点击Run按钮,启动仿真
[>0r'-kI • 在分析仪中,可以观察到各场分量的时域响应
5"Yw$DB9 • 仿真完成后,点击“Yes”,启动分析仪。
H,}?YW F)@<ZE 远场分析
衍射波
V*aTDU%-. 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
3XRG" 2. 选择“Definition of the Cross Cut”为z方向
$enh45Wy 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
UXP;' 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
lySa Jd 图4.远场计算对话框
.phQ7":` iH>djGhTh 5. 在远场对话框,设置以下参数:
($s{em4L Wavelength: 0.63
2Kidbf Refractive index: 1.5+0i
Oc.>$ Angle Initial: -90.0
=N
c`hP Angle Final: 90.0
55,-1tWs Number of Steps: 721
0 Yp;?p^ Distance: 100, 000*wavelength
5*AKl< Jl Intensity
<G>PPf} *v+ fkg 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
}>w4! 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
\K6J{;# L 图5.“Opti 2D Viewer”中的远场模式