光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
{>9vm!<[*\ •使用VB脚本生成光栅(或周期性)布局。
#>}cuC@ •光栅布局
模拟和后处理分析
qeypa! 布局layout
RK< uAiU 我们将模拟如图1所示的二维光栅布局。
K1Mn_)% 图1.二维光栅布局
(V&$KDOA 09/Mg 用VB脚本定义一个2D光栅布局
n&Bgpt~ |Y4c+6@_ 步骤:
voiWf?X 1 通过在
文件菜单中选择“New”,启动一个新项目。
`@RTfBBg 2 在“Wafer Properties”对话框中设置以下
参数 +JsMYv Wafer Dimensions:
;O+=
6>W Length (mm): 8.5
N:_.z~>% Width (mm): 3.0
uWkW T.>$ 7*.nd 2D wafer properties:
,?S1e# Wafer refractive index: Air
3VaL%+T$, 3 点击 Profiles 与 Materials.
z#m ~} \I( g70 在“Materials”中加入以下
材料:
KSz;D+L\ Name: N=1.5
&sJ -&7YZ Refractive index (Re:): 1.5
*lc|iq\ wNtC5 Name: N=3.14
T,r?% G{XE Refractive index (Re:): 3.14
fS?}(7 }20~5! 4.在“Profile”中定义以下轮廓:
1
8%+ Hy= Name: ChannelPro_n=3.14
?k@^U9?R 2D profile definition, Material: n=3.14
qz95) VYbH:4K@% Name: ChannelPro_n=1.5
|0OY>5 2D profile definition, Material: n=1.5
$t0o*i{ XlLG/N
6.画出以下波导结构:
DaP,3>M a. Linear waveguide 1
>e>%AMzo[ Label: linear1
>jz9o9?8 Start Horizontal offset: 0.0
>e^bq/' Start vertical offset: -0.75
&n9&k
Em End Horizontal offset: 8.5
^p)#;$6b End vertical offset: -0.75
HA$Xg
j Channel Thickness Tapering: Use Default
V/`vX;% Width: 1.5
KT[ZOtu Depth: 0.0
$7" Y/9Y Profile: ChannelPro_n=1.5
qF\w#nG qA0PGo b. Linear waveguide 2
.J<t] Label: linear2
Qp7h|< Start Horizontal offset: 0.5
.d I".L Start vertical offset: 0.05
{8>g?4Q# End Horizontal offset: 1.0
,.Lwtp,n End vertical offset: 0.05
't6l@_x Channel Thickness Tapering: Use Default
zzK<>@c Width: 0.1
<2N{oK. Depth: 0.0
X$e*s\4 Profile: ChannelPro_n=3.14
<?s@-mpgN =^1jVaAL 7.加入水平平面波:
^"<x4e9+j Continuous Wave Wavelength: 0.63 General:
k4a51[SYBK Input field Transverse: Rectangular
9U8x&Z]P X Position: 0.5
DkX^b:D*f Direction: Negative Direction
`JO>g=,4 Label: InputPlane1
? X6M8` 2D Transverse:
p#).;\M Center Position: 4.5
~| b\1SR Half width: 5.0
|.VSw Titlitng Angle: 45
hr;^.a^ Effective Refractive Index: Local Amplitude: 1.0
)9^)t 图2.波导结构(未设置周期)
qg{gCG 1RJFPv 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
U0t|i'Hx 将Linear2代码段修改如下:
T%%
0W J Dim Linear2
~Oa$rqu%m for m=1 to 8
3_<l`6^Ns/ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
]!ox2m_U Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
SV@*[r Linear2.SetAttr "WidthExpr", "0.1"
Da615d
Linear2.SetAttr "Depth", "0"
D'<L6w` Linear2.SetAttr "StartThickness", "0.000000"
<3!Al,!ej@ Linear2.SetAttr "EndThickness", "0.000000"
fGb}V'x}r Linear2.SetProfileName "ChannelPro_n=3.14"
8T1zL.u>q Linear2.SetDefaultThicknessTaperMode True
s3eS` rK- 4j~q,#$LW 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
G &xtL 图3.光栅布局通过VB脚本生成
$m;`O_-T #B<EMGH 设置仿真参数
@4hzNi+ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
OKAU*}_ 2. 在仿真参数对话框中,设置以下参数:
&nDXn| TE simulation
TKM^ Mesh Delta X: 0.015
tPQ|znB| Mesh Delta Z: 0.015
`Jk0jj6Z Time Step Size: Auto Run for 1000 Time steps
& ?x R 设置边界条件设置X和Z边为各向异性PML边界条件。
}%p:Xv@X! Number of Anisotropic PML layers: 15
Qn7T{ BW 其它参数保持默认
0CX,"d_T, 运行仿真
N]w_9p~=1 • 在仿真参数中点击Run按钮,启动仿真
h*%FZ}}`q • 在分析仪中,可以观察到各场分量的时域响应
n74\{`8]o • 仿真完成后,点击“Yes”,启动分析仪。
Ux7LN@4og x>}ml\R 远场分析
衍射波
0K[]UU=P= 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
*mzi ?3 2. 选择“Definition of the Cross Cut”为z方向
/kY9z~l 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
sSZ)C|Q 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
?>Sv_0 图4.远场计算对话框
T[Zs{S =}0Uw4ub(u 5. 在远场对话框,设置以下参数:
'|DW#l\n Wavelength: 0.63
(iX8YP$ % Refractive index: 1.5+0i
Q]YB.n3 Angle Initial: -90.0
,c4HicRJ# Angle Final: 90.0
QQBh)5F Number of Steps: 721
>x{("``D0y Distance: 100, 000*wavelength
8@;]@c)m Intensity
g%&E~V/g$ se\f be ^0 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
3]l)uoNt/ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
[3jJQ3O, 图5.“Opti 2D Viewer”中的远场模式