光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
tR kF
•使用VB脚本生成光栅(或周期性)布局。
}91*4@B7 •光栅布局
模拟和后处理分析
XAe\s` 布局layout
2
P=[ 我们将模拟如图1所示的二维光栅布局。
pz{'1\_+9 图1.二维光栅布局
((XE\V\}Z 089 k.WG 用VB脚本定义一个2D光栅布局
LheFQ A k<H%vg>{~s 步骤:
2nv[1@M 1 通过在
文件菜单中选择“New”,启动一个新项目。
U&X2cR &a 2 在“Wafer Properties”对话框中设置以下
参数 IV'p~t Wafer Dimensions:
w5`#q&? Length (mm): 8.5
iv*V#J> Width (mm): 3.0
owvS/"@ # ly@;!M 2D wafer properties:
?~J i-{#X Wafer refractive index: Air
69-:]7.g 3 点击 Profiles 与 Materials.
N2BI_,hI1 k;k}qq`d 在“Materials”中加入以下
材料:
gxwo4., Name: N=1.5
ldGojnS Refractive index (Re:): 1.5
7Y1GUIRa3 9Hd;353Q Name: N=3.14
,>n%
~'gb Refractive index (Re:): 3.14
/@hJpz|+ 5,1{Tv` 4.在“Profile”中定义以下轮廓:
_T5)n=| Name: ChannelPro_n=3.14
"xe=N 2D profile definition, Material: n=3.14
Tk*w3c"$ UZGDdP Name: ChannelPro_n=1.5
E V2 ) 2D profile definition, Material: n=1.5
!4WEk *RWm47 6.画出以下波导结构:
5+- I5HX|~ a. Linear waveguide 1
n2{SV Label: linear1
:]PM_V| Start Horizontal offset: 0.0
D'b#,a;V Start vertical offset: -0.75
$d/&k` End Horizontal offset: 8.5
-Fxmsi End vertical offset: -0.75
Dzl;-]S Channel Thickness Tapering: Use Default
\}5p0.= Width: 1.5
1D F/6y Depth: 0.0
d;7uFh|o Profile: ChannelPro_n=1.5
]E3<UR V5mlJml2( b. Linear waveguide 2
wJeG(h Label: linear2
5|I55CTx Start Horizontal offset: 0.5
t{dSX?<nt Start vertical offset: 0.05
8 TiG3 End Horizontal offset: 1.0
#aar9 End vertical offset: 0.05
I7n3xN&4" Channel Thickness Tapering: Use Default
@?kM'*mrZM Width: 0.1
o31Nmy
Ni Depth: 0.0
RO&H5m r%@ Profile: ChannelPro_n=3.14
nwA8ALhE 2-'Opu 7.加入水平平面波:
CSTI?A"P Continuous Wave Wavelength: 0.63 General:
At6qtoPRA Input field Transverse: Rectangular
a.@qGsIH X Position: 0.5
`_vB+a Direction: Negative Direction
kW@,$_cK Label: InputPlane1
`.%JjsD< 2D Transverse:
_Ov;4nt! Center Position: 4.5
&QNY,Pj Half width: 5.0
zR;X*q"T$4 Titlitng Angle: 45
k5`OH8G Effective Refractive Index: Local Amplitude: 1.0
G8Z 4J7^ 图2.波导结构(未设置周期)
*Dmx&F=3,5 "*z_O 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
.8WXC
将Linear2代码段修改如下:
_oFs #kW Dim Linear2
\
%=9 for m=1 to 8
MZ>6o5K| Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
Ge+0-I6Ju Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
"LhvzM-<8 Linear2.SetAttr "WidthExpr", "0.1"
(ljF{)Ml+= Linear2.SetAttr "Depth", "0"
$wB^R(f@ Linear2.SetAttr "StartThickness", "0.000000"
c{+A J8 Linear2.SetAttr "EndThickness", "0.000000"
V 9wI\0 Linear2.SetProfileName "ChannelPro_n=3.14"
%+)o'nf"U Linear2.SetDefaultThicknessTaperMode True
uC3:7 L!Cz'm"Nl 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
^].jH+7i* 图3.光栅布局通过VB脚本生成
ao" %WX ?, r~= 设置仿真参数
6K`c/) 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
<A5]]{9 + 2. 在仿真参数对话框中,设置以下参数:
e({9] TE simulation
H(
jXI Mesh Delta X: 0.015
fBn"kr; Mesh Delta Z: 0.015
l_tw<`Ep Time Step Size: Auto Run for 1000 Time steps
I<td1Y1q 设置边界条件设置X和Z边为各向异性PML边界条件。
%+>s#Q2d Number of Anisotropic PML layers: 15
@Ky> 9m{ 其它参数保持默认
b2,mCfLsv 运行仿真
$2^`Uca • 在仿真参数中点击Run按钮,启动仿真
(>4aibA'P • 在分析仪中,可以观察到各场分量的时域响应
2&PPz}Sw • 仿真完成后,点击“Yes”,启动分析仪。
51C2u)HE <h).fX 远场分析
衍射波
Y9=K]GB
1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
{`=0 |oP} 2. 选择“Definition of the Cross Cut”为z方向
]uj=:@ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
`;|5 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
u]-_<YZ'B 图4.远场计算对话框
{5r0v#; g"s$}5{8: 5. 在远场对话框,设置以下参数:
TGXa,A{ Wavelength: 0.63
{GDmVWG0q Refractive index: 1.5+0i
)n49lr6X Angle Initial: -90.0
u's`*T@. Angle Final: 90.0
SzwQOs* Number of Steps: 721
2~[@_ Distance: 100, 000*wavelength
v~3B:k:?l Intensity
vu!d)Fy j"^+oxH 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
99$
5`R; 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
eI.2`)> 图5.“Opti 2D Viewer”中的远场模式