光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
\##zR_% •使用VB脚本生成光栅(或周期性)布局。
J9nX"Sb •光栅布局
模拟和后处理分析
HXC ;Np 布局layout
8mrUotjS 我们将模拟如图1所示的二维光栅布局。
m]0;"jeL 图1.二维光栅布局
bjW]bRw y3Qsv 用VB脚本定义一个2D光栅布局
ij`w} V :as$4| 步骤:
w$iX.2|9%u 1 通过在
文件菜单中选择“New”,启动一个新项目。
=!A_^;NQf 2 在“Wafer Properties”对话框中设置以下
参数 :A_@,Q Wafer Dimensions:
./Zk`-OBT Length (mm): 8.5
F`W?II? Width (mm): 3.0
Y=?3 js?O Xf]d. : 2D wafer properties:
9MJG;+B~ Wafer refractive index: Air
zV37$Hb 3 点击 Profiles 与 Materials.
;%9 |kU 9wUkh}s 在“Materials”中加入以下
材料:
"Qc7dRmSxm Name: N=1.5
? pmHFlx Refractive index (Re:): 1.5
K&]G3W%V N0Lw}@p Name: N=3.14
9d659iC Refractive index (Re:): 3.14
Xza(k K#d`Hyx 4.在“Profile”中定义以下轮廓:
O"9\5(w Name: ChannelPro_n=3.14
>z>!Luw 2D profile definition, Material: n=3.14
CAWNDl4 %JBz5G Name: ChannelPro_n=1.5
xwq
(N_ 2D profile definition, Material: n=1.5
`5.'_3 `i*E~'
6.画出以下波导结构:
'@KEi%-^> a. Linear waveguide 1
%)W2H^
Label: linear1
OX!tsARC@ Start Horizontal offset: 0.0
D2eckLT Start vertical offset: -0.75
D_*WYV End Horizontal offset: 8.5
_S1>j7RQo End vertical offset: -0.75
5coyr`7mP Channel Thickness Tapering: Use Default
CYP q#rd Width: 1.5
dn+KH+v Depth: 0.0
\'D0'\:vz Profile: ChannelPro_n=1.5
xJ8M6O8 "?xHlYj@+ b. Linear waveguide 2
(m/G(wg Label: linear2
v>)"HL"XG Start Horizontal offset: 0.5
PiIpnoM Start vertical offset: 0.05
S`0(*A[W* End Horizontal offset: 1.0
(Zrj_P`0[ End vertical offset: 0.05
)9`qG:b' Channel Thickness Tapering: Use Default
9}<ile7^ Width: 0.1
&
G4\2l9 Depth: 0.0
JIOR4' 9 Profile: ChannelPro_n=3.14
pJ"qu,w ] 72`}; 7.加入水平平面波:
[EXs Continuous Wave Wavelength: 0.63 General:
Ckuh:bs Input field Transverse: Rectangular
6j]0R*B7`Q X Position: 0.5
u cW-I;" Direction: Negative Direction
[!#L6&:a8 Label: InputPlane1
6iE<T&$3P 2D Transverse:
|N 7M^ Center Position: 4.5
/]Md~=yNp Half width: 5.0
&.Qrs:U Titlitng Angle: 45
Yu^4VXp~M% Effective Refractive Index: Local Amplitude: 1.0
qiBVGH 图2.波导结构(未设置周期)
@9RM9zK.q 6}Ci>_i4# 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
,Uqs1#r 将Linear2代码段修改如下:
f+)L#>Gl? Dim Linear2
L48_96 for m=1 to 8
rcG"o\g@+ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
+_oJ}KI Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
{Gk1vcq Linear2.SetAttr "WidthExpr", "0.1"
{]@= ijjf Linear2.SetAttr "Depth", "0"
e 2oa($9 Linear2.SetAttr "StartThickness", "0.000000"
KBc1{adDx@ Linear2.SetAttr "EndThickness", "0.000000"
>jLY" Linear2.SetProfileName "ChannelPro_n=3.14"
$Sip$\+* Linear2.SetDefaultThicknessTaperMode True
<=/hil sBg.u 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
8dIgjQX| 图3.光栅布局通过VB脚本生成
:J&oX
<nF^ 'S&zCTX7j 设置仿真参数
A]oV"`f 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
Moza".fiN 2. 在仿真参数对话框中,设置以下参数:
7.j?U TE simulation
6 V=9M: Mesh Delta X: 0.015
D'DfJwA Mesh Delta Z: 0.015
wJo}!{bN Time Step Size: Auto Run for 1000 Time steps
.[OUI 设置边界条件设置X和Z边为各向异性PML边界条件。
!?h;wR Number of Anisotropic PML layers: 15
} (73Syl# 其它参数保持默认
Y]2A&0 运行仿真
j6 z^Tt12 • 在仿真参数中点击Run按钮,启动仿真
?NsW|w_ • 在分析仪中,可以观察到各场分量的时域响应
X5$ Iyis • 仿真完成后,点击“Yes”,启动分析仪。
'_FsvHQ zHRplm+i 远场分析
衍射波
>}i E( 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
nmKp[-5 2. 选择“Definition of the Cross Cut”为z方向
>0TxUc_va 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
"]Xc`3SM 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
;[OH(! 图4.远场计算对话框
?%[@Qb=2 ]GkfEh7/J 5. 在远场对话框,设置以下参数:
Q/0Tj]D Wavelength: 0.63
Eo]xNn/g Refractive index: 1.5+0i
t-bB>q#3> Angle Initial: -90.0
-x`@6 Angle Final: 90.0
+',S]Edx Number of Steps: 721
u\;C;I-? ' Distance: 100, 000*wavelength
+a{1)nCXe Intensity
/@TF5]Ri BUXpCxQ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
'zuIBOH`j3 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
yl+gL?IES 图5.“Opti 2D Viewer”中的远场模式