光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
$`ON!,oa •使用VB脚本生成光栅(或周期性)布局。
#T
Z!#,q •光栅布局
模拟和后处理分析
ST#PMb'izn 布局layout
,I("x2 我们将模拟如图1所示的二维光栅布局。
ws#hhW3qK 图1.二维光栅布局
F=:F>6` gq=0L: 用VB脚本定义一个2D光栅布局
9]"\"ka3> )0'Y et} 步骤:
b$IY2W<Ln 1 通过在
文件菜单中选择“New”,启动一个新项目。
{|G&W^` 2 在“Wafer Properties”对话框中设置以下
参数 :m)c[q8 Wafer Dimensions:
X5|?/aR} Length (mm): 8.5
"pR $cS Width (mm): 3.0
_CHKh*KHML !d/`[9jY 2D wafer properties:
KwY`<t1lA; Wafer refractive index: Air
7'c8]/qh 3 点击 Profiles 与 Materials.
o-~-F+mj# *{HGLl|= 在“Materials”中加入以下
材料:
:/ ~):tM Name: N=1.5
rD_Ss.\^g Refractive index (Re:): 1.5
goG]WGVr r7zf+a] Name: N=3.14
9t,aT!f Refractive index (Re:): 3.14
Vx0MG{vG1 FI80vV7
4.在“Profile”中定义以下轮廓:
T]5U_AI@ Name: ChannelPro_n=3.14
E>o&GYc 2D profile definition, Material: n=3.14
t201ud2$ ,"4X&>_f Name: ChannelPro_n=1.5
|j\eBCnH3 2D profile definition, Material: n=1.5
=f/avGX 1Al=v 6.画出以下波导结构:
jJiCF,m a. Linear waveguide 1
vbW\~xf Label: linear1
:==UDVP Start Horizontal offset: 0.0
fo/(() Start vertical offset: -0.75
Lqy|DJ% End Horizontal offset: 8.5
&Z#Vw.7U End vertical offset: -0.75
$u/8Rp Channel Thickness Tapering: Use Default
uOy\{5s8 Width: 1.5
"Wzij&WkQ Depth: 0.0
pP=_@3 D Profile: ChannelPro_n=1.5
U`},)$ C`=`Ce~|d b. Linear waveguide 2
(cbB% Label: linear2
O% j,:t'" Start Horizontal offset: 0.5
;tZ}i4Ud Start vertical offset: 0.05
P7M0Ce~iW End Horizontal offset: 1.0
7!]k#|u End vertical offset: 0.05
&q kl*#] Channel Thickness Tapering: Use Default
dA3`b*nC Width: 0.1
iX&Z Depth: 0.0
Br?++\ Profile: ChannelPro_n=3.14
ZVCv(J 5k!(#@a_T 7.加入水平平面波:
kr &:; Continuous Wave Wavelength: 0.63 General:
@DjG?yLK$ Input field Transverse: Rectangular
7]0\[9DyJ X Position: 0.5
5Lo==jHif Direction: Negative Direction
-0[>}!l=G Label: InputPlane1
c;A
ew! 2D Transverse:
]7Xs=>"Iw Center Position: 4.5
U/~Zk@3j Half width: 5.0
|G5=>W Titlitng Angle: 45
c{r6a=C Effective Refractive Index: Local Amplitude: 1.0
{ILQ
CvP* 图2.波导结构(未设置周期)
Q'vIeG"o }1E_G 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
|$i1]Dr6 将Linear2代码段修改如下:
\n( 'KVbf Dim Linear2
?N9adL &b for m=1 to 8
$txWVjR?\ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
J0{WqA.P Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
$ET/0v"V Linear2.SetAttr "WidthExpr", "0.1"
3n=cw2FG Linear2.SetAttr "Depth", "0"
^!{ o Azy9 Linear2.SetAttr "StartThickness", "0.000000"
l"V8n BR` Linear2.SetAttr "EndThickness", "0.000000"
?7uStqa Linear2.SetProfileName "ChannelPro_n=3.14"
bC>yIjCTn Linear2.SetDefaultThicknessTaperMode True
UBpM8 /U Z2Y583D 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
<CdG[Ih 图3.光栅布局通过VB脚本生成
omDi<- 3]5&&=# 设置仿真参数
d%"@#bB 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
$T@xnZ 2. 在仿真参数对话框中,设置以下参数:
7~k~S>sO TE simulation
tI6USN% Mesh Delta X: 0.015
7Ohu$5\ Mesh Delta Z: 0.015
5<>R dLo Time Step Size: Auto Run for 1000 Time steps
88X*:Kf?: 设置边界条件设置X和Z边为各向异性PML边界条件。
;#Bh_f Number of Anisotropic PML layers: 15
0V>N#P] 其它参数保持默认
"#"Fp&Z7 运行仿真
=.3P)gY) • 在仿真参数中点击Run按钮,启动仿真
T[2f6[#[_ • 在分析仪中,可以观察到各场分量的时域响应
`qy6qKl
N • 仿真完成后,点击“Yes”,启动分析仪。
_S7M5{U_ M,dzf
远场分析
衍射波
\$0
x8B 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
>@92K]J 2. 选择“Definition of the Cross Cut”为z方向
DG%%] 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
TW;;OS[ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
\/e*quxx 图4.远场计算对话框
g{f>jd Hi 0df3t 5. 在远场对话框,设置以下参数:
^_"q`71Dk Wavelength: 0.63
`0i}}Zo Refractive index: 1.5+0i
>ehWjL`8 Angle Initial: -90.0
YnL?t-$Gg Angle Final: 90.0
Bo\dt@0; Number of Steps: 721
,,-[P*@ Distance: 100, 000*wavelength
M5bj |tQ4 Intensity
"/]tFY%Y d?+oT0pCH 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
R5~vmT5W 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
jnLo[Cf,H8 图5.“Opti 2D Viewer”中的远场模式