光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
$0sUh]7y •使用VB脚本生成光栅(或周期性)布局。
e [3sWv •光栅布局
模拟和后处理分析
SS@#$t: 布局layout
f(7/ 我们将模拟如图1所示的二维光栅布局。
4 K{4=uU 图1.二维光栅布局
I6'U[)% tX&Dum $ 用VB脚本定义一个2D光栅布局
KS1Z&~4 r/+<_3 步骤:
qS|bpC0x 1 通过在
文件菜单中选择“New”,启动一个新项目。
^ ,U9N 2 在“Wafer Properties”对话框中设置以下
参数 70a7}C\/o Wafer Dimensions:
@B*?owba> Length (mm): 8.5
!YsLx[+ Width (mm): 3.0
B.;/N220P D*DCMMp=0 2D wafer properties:
XNf%vC> Wafer refractive index: Air
:_i1)4[! 3 点击 Profiles 与 Materials.
J/M1#sE Pc`d@q 在“Materials”中加入以下
材料:
B@=+Fg DD Name: N=1.5
6|rqsk Refractive index (Re:): 1.5
[9~Bau +JB. EW/ Name: N=3.14
IdUMoLL? Refractive index (Re:): 3.14
6*/0 yGij DL_2%&k/ 4.在“Profile”中定义以下轮廓:
g(>;Z@Y
Name: ChannelPro_n=3.14
j$n[;\]n 2D profile definition, Material: n=3.14
tB'F`HM:mq J,_I$* _0 Name: ChannelPro_n=1.5
uK="#1z cC 2D profile definition, Material: n=1.5
IFH%R>={ ,/C<GFae 6.画出以下波导结构:
/J<?2T9G a. Linear waveguide 1
ABSAle Label: linear1
1K"``EvNB Start Horizontal offset: 0.0
H"tS3 3 Start vertical offset: -0.75
<}pqj3 End Horizontal offset: 8.5
kb Fr End vertical offset: -0.75
w6'o<= Channel Thickness Tapering: Use Default
&-470Z%/ Width: 1.5
'{@hBB+ D Depth: 0.0
#'mb9GWD3 Profile: ChannelPro_n=1.5
PnJr Ge8&_7 b. Linear waveguide 2
z%Op_Ddp Label: linear2
{W62%>v Start Horizontal offset: 0.5
x;#
OM Start vertical offset: 0.05
u 3wF)B{ End Horizontal offset: 1.0
/x"gpKwsB End vertical offset: 0.05
qN1(mxa.? Channel Thickness Tapering: Use Default
{
KE[8n Width: 0.1
\_#0Z+pX Depth: 0.0
KM*sLC# Profile: ChannelPro_n=3.14
U#gHc:$ _Z~wpO}/ 7.加入水平平面波:
6+_)(+c Continuous Wave Wavelength: 0.63 General:
p{"p<XFyO Input field Transverse: Rectangular
c BQ|mA X Position: 0.5
:@I?JSi Direction: Negative Direction
R4"["T+L` Label: InputPlane1
|Vs|&0 2D Transverse:
WLV'@$ <|( Center Position: 4.5
L,!Z Half width: 5.0
VjS %!P Titlitng Angle: 45
h
`d(?1 Effective Refractive Index: Local Amplitude: 1.0
!u.{<51b 图2.波导结构(未设置周期)
jJg9M'@2! e!URj\* 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
L}ud+Wfox 将Linear2代码段修改如下:
pM9Hav@iWU Dim Linear2
I1=YSi;A for m=1 to 8
hun
LV8z Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
c|x:]W'ij Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
4f~CG
r Linear2.SetAttr "WidthExpr", "0.1"
Jvw~b\ Linear2.SetAttr "Depth", "0"
Xw!eB?A Linear2.SetAttr "StartThickness", "0.000000"
DZ?>9W{ Linear2.SetAttr "EndThickness", "0.000000"
;TD<\1HJT= Linear2.SetProfileName "ChannelPro_n=3.14"
[-bL>8 Linear2.SetDefaultThicknessTaperMode True
6*Qn9Q%p- X&0m$x 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
(k"|k 图3.光栅布局通过VB脚本生成
0I* ^VGZ A0# K@ 设置仿真参数
Zk$AAjC& 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
+?zyFb]Km 2. 在仿真参数对话框中,设置以下参数:
Jxi>1 TE simulation
eXx6b~D Mesh Delta X: 0.015
-q[T0^eS Mesh Delta Z: 0.015
F IDNhu Time Step Size: Auto Run for 1000 Time steps
G1
%c<1Y 设置边界条件设置X和Z边为各向异性PML边界条件。
#dE#w#=r Number of Anisotropic PML layers: 15
R!lNm,i 其它参数保持默认
3M8P% 运行仿真
[Maon.t!l • 在仿真参数中点击Run按钮,启动仿真
+ 1\1Z@\M • 在分析仪中,可以观察到各场分量的时域响应
s$YKdtR • 仿真完成后,点击“Yes”,启动分析仪。
:T"!6; Wz nz 远场分析
衍射波
C(b"0> 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
V:9| 9$G 2. 选择“Definition of the Cross Cut”为z方向
1el?f> 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
St-:+=V_ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
IhwJYPLF 图4.远场计算对话框
quN7'5ZC[ +2O('}t 5. 在远场对话框,设置以下参数:
d?GfT$1 Wavelength: 0.63
YYr &Jcj Refractive index: 1.5+0i
w-FZ`OA`D Angle Initial: -90.0
GBzC<e# Angle Final: 90.0
J?)vsnD.H Number of Steps: 721
5)'
_3r Distance: 100, 000*wavelength
>};,Byv!% Intensity
~mOGNf?f 6%H8Qv 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
10_eUQN 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
%/>\`d? 图5.“Opti 2D Viewer”中的远场模式