光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
)y i~p •使用VB脚本生成光栅(或周期性)布局。
8@LUL)" •光栅布局
模拟和后处理分析
z30 mk 布局layout
k+*pg4' 我们将模拟如图1所示的二维光栅布局。
/W .G-|: 图1.二维光栅布局
!0P:G#o-$ C`.eJF 用VB脚本定义一个2D光栅布局
u&[L!w cd=|P?Bi 步骤:
A{M7 1 通过在
文件菜单中选择“New”,启动一个新项目。
@vXXf/ 2 在“Wafer Properties”对话框中设置以下
参数 o`!#io Wafer Dimensions:
ru6M9\h* Length (mm): 8.5
nK)1.KVN Width (mm): 3.0
uPapINj Dsn=fht 2D wafer properties:
uqU&k@ Wafer refractive index: Air
*SIYZE' 3 点击 Profiles 与 Materials.
DVMdRfA e+F$fQt> 在“Materials”中加入以下
材料:
i$`o,m# Name: N=1.5
{2mF\A#. Refractive index (Re:): 1.5
H9i7y,[* e|5@7~Vi Name: N=3.14
uK`gveY Refractive index (Re:): 3.14
nB5\ocJ q @O 4.在“Profile”中定义以下轮廓:
o0>| Name: ChannelPro_n=3.14
NZa 7[}H 2D profile definition, Material: n=3.14
fR~0Fy Gp uv8kea .( Name: ChannelPro_n=1.5
RAk"C!&^m 2D profile definition, Material: n=1.5
$Dx*[.M3> VzIZT{ 6.画出以下波导结构:
6({)O1Z a. Linear waveguide 1
z5@i"%f Label: linear1
<
W`gfpzO Start Horizontal offset: 0.0
GDe,n Start vertical offset: -0.75
Rm}5AJ End Horizontal offset: 8.5
rx 74v! End vertical offset: -0.75
_|cSXZ| Channel Thickness Tapering: Use Default
<|.]$QSi Width: 1.5
<8Tp]1z Depth: 0.0
LwxJ:Kz. Profile: ChannelPro_n=1.5
esE!i0% %'_:#!9 b. Linear waveguide 2
}9W[7V? Label: linear2
5Phsh Start Horizontal offset: 0.5
l4.ql1BX@y Start vertical offset: 0.05
JZ![:$: End Horizontal offset: 1.0
U`8Er48X End vertical offset: 0.05
q_`j-! Channel Thickness Tapering: Use Default
S[yrGX8lu Width: 0.1
i+in?!@G: Depth: 0.0
X%znNx Profile: ChannelPro_n=3.14
[!wJIy?, .0RQbc9 7.加入水平平面波:
LyNmn.nN Continuous Wave Wavelength: 0.63 General:
cYe2a" Input field Transverse: Rectangular
2Xk;]-T! X Position: 0.5
x V`l6QS Direction: Negative Direction
On~KTt3Mp Label: InputPlane1
q5hE S 2D Transverse:
,!alNNY Center Position: 4.5
3 yb]d5:U Half width: 5.0
~x/ka43 Titlitng Angle: 45
[7HBn Effective Refractive Index: Local Amplitude: 1.0
>i >|] 图2.波导结构(未设置周期)
hcRe,}wJ }uC]o@/ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
,Eh]Zv1AE 将Linear2代码段修改如下:
e1E_$oJP Dim Linear2
q m_m8 for m=1 to 8
f=Pn,.>tIz Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
94dd )/a Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
!l0"nPM= Linear2.SetAttr "WidthExpr", "0.1"
fe`_0lxj Linear2.SetAttr "Depth", "0"
7RBEEE`) Linear2.SetAttr "StartThickness", "0.000000"
%+,*$wk#* Linear2.SetAttr "EndThickness", "0.000000"
<-b9
)> Linear2.SetProfileName "ChannelPro_n=3.14"
wd<{%qK`{ Linear2.SetDefaultThicknessTaperMode True
[kqtkgK$j2 ~Js kA5h|& 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
.I_<\h7 图3.光栅布局通过VB脚本生成
Y/I)ECm u^|cG{i5" 设置仿真参数
|ka/5o 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
WjK[% ;Z! 2. 在仿真参数对话框中,设置以下参数:
bHx@ TE simulation
|39,n~"o& Mesh Delta X: 0.015
7)[Ve1;/N Mesh Delta Z: 0.015
`[#id@Z1 Time Step Size: Auto Run for 1000 Time steps
7}~w9jK"F 设置边界条件设置X和Z边为各向异性PML边界条件。
"+7E9m6I Number of Anisotropic PML layers: 15
;L -)$Dy4 其它参数保持默认
PX/{!_mM 运行仿真
){#INmsF • 在仿真参数中点击Run按钮,启动仿真
na~ FT[3C • 在分析仪中,可以观察到各场分量的时域响应
/FC
HF#yK • 仿真完成后,点击“Yes”,启动分析仪。
ru 9@|FgAE @MTv4eC}e 远场分析
衍射波
|94o P>d 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
+_pfBJ_$% 2. 选择“Definition of the Cross Cut”为z方向
I;E?;i 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
YG8C<g6E7 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
[pmIQ228 图4.远场计算对话框
0x5Ax=ut F@q9UlfB- 5. 在远场对话框,设置以下参数:
}i^|.VZZ Wavelength: 0.63
+"BJjxG Refractive index: 1.5+0i
l-v m`-_# Angle Initial: -90.0
||wi4TP Angle Final: 90.0
Nj2l>[L; Number of Steps: 721
Z:N;>.3i Distance: 100, 000*wavelength
<dD!_S6@, Intensity
<&) hg: -2[4 @ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
9@ fSO< 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
]ilLed 图5.“Opti 2D Viewer”中的远场模式