OptiFDTD应用:光栅衍射的远场分布
光栅布局在大多数情况下是周期性结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能: \Qi#'c$5+a •使用VB脚本生成光栅(或周期性)布局。 < R|)5/9 •光栅布局模拟和后处理分析 ?|">), 布局layout {wpMg 我们将模拟如图1所示的二维光栅布局。 5S\][;u 图1.二维光栅布局 /+4^.Q* $
o5V$N D 用VB脚本定义一个2D光栅布局 Lov.E3S6; 8)W?la8'p 步骤: (pE\nuA\ 1 通过在文件菜单中选择“New”,启动一个新项目。 P^b:?% 2 在“Wafer Properties”对话框中设置以下参数 t*Vao Wafer Dimensions: Krp
<bK6 Length (mm): 8.5 W>?f^C!+m Width (mm): 3.0 P e$^Mo.q yp[<9%Fi 2D wafer properties: zL)1^[%O9 Wafer refractive index: Air zj9bSDVL( 3 点击 Profiles 与 Materials. +Q SxYV &h7smZO5j 在“Materials”中加入以下材料: s`Yu"s
8}4 Name: N=1.5 ^I(oy.6?=p Refractive index (Re:): 1.5 ]^*_F NIGB[2V( Name: N=3.14 V6@*\+:3) Refractive index (Re:): 3.14 vz;7} Zj] jU]]:S4xD/ 4.在“Profile”中定义以下轮廓: u#41osUVW> Name: ChannelPro_n=3.14 MPKpS3VS 2D profile definition, Material: n=3.14 [!J
@a |TB@@ 2Ky& Name: ChannelPro_n=1.5 @4/~~ 2D profile definition, Material: n=1.5 $@[dm)M $z2xZqe 6.画出以下波导结构: .N5hV3 a. Linear waveguide 1 3}>: Label: linear1 6[+\CS7Lt Start Horizontal offset: 0.0 7oZ@<QP' Start vertical offset: -0.75 lfxuc7Rdla End Horizontal offset: 8.5 -TzI>Fz End vertical offset: -0.75 C2+{U Channel Thickness Tapering: Use Default mP9cBLz Width: 1.5 jzl?e[qPA Depth: 0.0 pau*kMu^} Profile: ChannelPro_n=1.5 8%;}LK Smq r
q b. Linear waveguide 2 o,?!"*EP Label: linear2 ki;!WhF~ Start Horizontal offset: 0.5 0hrCG3k.91 Start vertical offset: 0.05 l;XU#6{ End Horizontal offset: 1.0 zyaW3th End vertical offset: 0.05 z$9@j2
Channel Thickness Tapering: Use Default rQ`\JE&` Width: 0.1 A#v|@sul Depth: 0.0 d{QMST2& Profile: ChannelPro_n=3.14 vC{h2A WW//heJe- 7.加入水平平面波: \p5|}<Sr) Continuous Wave Wavelength: 0.63 General: a$ C2} Input field Transverse: Rectangular +mJ
:PAy4 X Position: 0.5 wVx,JL5Jr Direction: Negative Direction W3De|V^ Label: InputPlane1 ]YCPyc: 2D Transverse: `%$8cZ-kr Center Position: 4.5 \bU` Half width: 5.0 dv"as4~% Titlitng Angle: 45 Yuwc$Qp) Effective Refractive Index: Local Amplitude: 1.0 #$LH2?) 图2.波导结构(未设置周期) !cRfZ 4cott^K. 8.单击“Layout Script”快捷工具栏或选择仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。 )HEfU31IC 将Linear2代码段修改如下: [dl+:P:zc Dim Linear2 Xl#Dw bx for m=1 to 8 ( V$Zc0 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) ) J4YT)- Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05 :~vxZ*a Linear2.SetAttr "WidthExpr", "0.1" ?Fce!J Linear2.SetAttr "Depth", "0" GHv{ Linear2.SetAttr "StartThickness", "0.000000" $[[?;g Linear2.SetAttr "EndThickness", "0.000000" p= {Jf}v Linear2.SetProfileName "ChannelPro_n=3.14" W0Ktw6 Linear2.SetDefaultThicknessTaperMode True /r276Q wz|DT3"Xs 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。 Takt_N 图3.光栅布局通过VB脚本生成 a* D,*C5} BY3bpR 设置仿真参数 ovo/!YJ2 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框 '0]r<O 2. 在仿真参数对话框中,设置以下参数: IrJ+Jov TE simulation cC'
~ Mesh Delta X: 0.015 O]t\B*%} Mesh Delta Z: 0.015 L~IE,4 Time Step Size: Auto Run for 1000 Time steps Q8;#_HE 设置边界条件设置X和Z边为各向异性PML边界条件。
5Q`RTn% Number of Anisotropic PML layers: 15 ZI,j?i6\ 其它参数保持默认 /?Vdqci 运行仿真 eI^gV'UK • 在仿真参数中点击Run按钮,启动仿真 W]_g4,T> • 在分析仪中,可以观察到各场分量的时域响应 [q1Unm • 仿真完成后,点击“Yes”,启动分析仪。 Dv@PAnk3C e8oKn& 远场分析衍射波 S`=n&' 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer” ^00{Hd6 2. 选择“Definition of the Cross Cut”为z方向 h}h^L+4 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场 T'.[F 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4) _5b0wdB 图4.远场计算对话框 b
vRB ?mMW*ico 5. 在远场对话框,设置以下参数: J_PH7Z*=, Wavelength: 0.63 C,"=}z1P Refractive index: 1.5+0i 8.yCA Angle Initial: -90.0 Tr%FUi Angle Final: 90.0 W .U+.hR Number of Steps: 721 }%$OU = T Distance: 100, 000*wavelength O=aw^|oj] Intensity qEQAn/& wX0l?xdI 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。 `a
>?UUT4 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。 0oSQY[ht/ 图5.“Opti 2D Viewer”中的远场模式
|