光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
gJ[q
{b •使用VB脚本生成光栅(或周期性)布局。
[@l
v]+@ •光栅布局
模拟和后处理分析
Vwh&^{Eh 布局layout
:M?') 我们将模拟如图1所示的二维光栅布局。
I9j+x]) 图1.二维光栅布局
q!h*3mNm *p5T 用VB脚本定义一个2D光栅布局
GHsdLe=t0# +mQC:B7> 步骤:
=`.5b:e 1 通过在
文件菜单中选择“New”,启动一个新项目。
<IkD=X 2 在“Wafer Properties”对话框中设置以下
参数 nF
y7gA| Wafer Dimensions:
Va[dZeoy Length (mm): 8.5
.1q~,}toX Width (mm): 3.0
DBrzw+;e3 ]~x/8%e76 2D wafer properties:
,xM*hN3A Wafer refractive index: Air
WMRgf~TY=2 3 点击 Profiles 与 Materials.
Ty`=U>K| 5N</Z6f'o 在“Materials”中加入以下
材料:
R\=\6( " Name: N=1.5
Nm :lC%>X Refractive index (Re:): 1.5
2
]6u
Be ZjbG&oc Name: N=3.14
l8Iy03H Refractive index (Re:): 3.14
u^.k"46hn -hV KPIb 4.在“Profile”中定义以下轮廓:
D7'0o`| Name: ChannelPro_n=3.14
QL!+.y% 2D profile definition, Material: n=3.14
3T^dgWXEG fe`G^hV Name: ChannelPro_n=1.5
@MH]s [{o\ 2D profile definition, Material: n=1.5
gM[
J'DMW yFtf~8s3 6.画出以下波导结构:
6? ly.h$ a. Linear waveguide 1
tF1%=&ss Label: linear1
~4gKAD Start Horizontal offset: 0.0
6HQwL\r79 Start vertical offset: -0.75
&!fcL Jd End Horizontal offset: 8.5
_jKVA6_E End vertical offset: -0.75
]KT,s]. Channel Thickness Tapering: Use Default
-zkL)<7 Width: 1.5
3`8xh9O Depth: 0.0
\`# 0,pLr Profile: ChannelPro_n=1.5
UHHKI)( Oj\mkg b. Linear waveguide 2
zhL,BTH Label: linear2
rs+37 Start Horizontal offset: 0.5
HKw4}FC* Start vertical offset: 0.05
}-iOYSn End Horizontal offset: 1.0
e:occT End vertical offset: 0.05
IV*$U7~ Channel Thickness Tapering: Use Default
=_3qUcOP Width: 0.1
|/Z)? Depth: 0.0
3&:fS|L~c Profile: ChannelPro_n=3.14
fdW={}~ IbwRb 7.加入水平平面波:
(Ad!hyE( Continuous Wave Wavelength: 0.63 General:
hKYPH?b% Input field Transverse: Rectangular
[GM<Wt0 X Position: 0.5
ZeV)/g,w Direction: Negative Direction
MqH~L?~}| Label: InputPlane1
n3,wwymQ 2D Transverse:
P2F>iK#U Center Position: 4.5
gvYs<,: Half width: 5.0
PD4E&k Titlitng Angle: 45
m"]ys# Effective Refractive Index: Local Amplitude: 1.0
h65j,v6B 图2.波导结构(未设置周期)
P#PQ4uK \ k6S<46}h| 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
O2f2Fb$B7 将Linear2代码段修改如下:
dW68lVWq_ Dim Linear2
lsCh K for m=1 to 8
;"z>p25=T Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
oJ:J'$W( Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
XT"c7]X Linear2.SetAttr "WidthExpr", "0.1"
@35shLs Linear2.SetAttr "Depth", "0"
Pa<