| infotek |
2021-04-28 10:27 |
VirtualLab Fusion中运用optiSLang进行光栅优化
摘要 osW"b"_f O^yDb
3QO*1P@q o" ./ 现代光学系统的优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 `#w`-
T*8rR" VirtualLab Fusion和optiSLang的界面 )A H)*Mg }_"<2|~_ VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 ,zU7U L^I @E@5/N6M
@F,8M YsXf+_._ optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。 p:9^46N@ 两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 (&t8.7O biw2f~V VirtualLab Fusion – 光学装置初始化 ;H:+w\?8f$ O9(6 ?n 初始装置 q'~F6$kv5 ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 <764|q ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 [_SV$Jz (S4[,Sx6E
C.}Vm};M
]6 ]Nr VirtualLab Fusion – 波导耦合探测器 a}#Jcy!e lf%Ju$H
波导耦合探测 K{#1O=Gi ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 #:6gFfk0< ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 ?g\SF}2 H[KTM 'n
=ijVT_|u0 (D5.NB%@ VirtualLab Fusion – 波导耦合探测器 ui#K`.dn 波导耦合探测 Xs7xZ$ ─ 该例中使用了倾斜光栅。 k%S;N{Qh@ ZyQ+}rO
1}"PLq( pJpTOq\h VirtualLab Fusion – 波导耦合探测器 3A5:D# 波导耦合探测 "P_PqM ─ 该例中使用了倾斜光栅。 @+`">a8}, Ivue"_i;!
~'aK[3 ",&c"r4c VirtualLab Fusion – 波导耦合探测器 Sx^4Y\\ 21\t2<" 波导耦合探测 AECaX4h+_ ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 ttaYtV]] ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 CF?TW ?()$imb*
0 `L>t Wk"\aoX"E VirtualLab Fusion – 波导耦合 YPY'[j(p`n C@8WY 波导耦合探测 UPI'O % ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 |Q _]+[ ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 yA#-}Y|]b z8"(Yy7m
eGJ}';O,g t:h~p-&QB VirtualLab Fusion – 输出LPD至OPtiSLang ^%:syg_RM[ zu8l2(N 输出LPD至OPtiSLang `mfN3Q*[c ─ File→Export→Export to optiSlang Project h+rrmC
(GNY::3 #*|0WaC VirtualLab Fusion – 输出LPD至OPtiSLang 4xE [S Vg+jF!\7 输出LPD至OPtiSLang 4}\Dr
%US ─ File→Export→Export to optiSlang Project s{]2~Z^2od ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 ~Uet)y< 9J!@,Zsh
0f<$S$~h , Q5Z<\
VirtualLab Fusion – 输出LPD至OPtiSLang 8eVQnp* ]ZjydQjo) 输出LPD至OPtiSLang uWSfr(loX ─ 在输出对话框窗口。 F/qx2E$*wo 可定义参数空间,并包含了参数的变化范围。 u9 yXHf 可以选择保存到的输出文件夹。 6*:mc 可以指定模拟引擎,用于分析。 <hO|:LX dGrm1w
JN
Ur?+g \D]H>i$ optiSLang – 初始化优化 #q5
L4uM9 50S >`qi2x 设置求解器系统 'Wn2+pd ─ File→New project… ?_+h+{/@B EZ.|6oug\
F5#P{zk| JlF$|y,gV, optiSLang – 初始化优化 t*&O*T+fgy A+N%A]2 设置求解器系统 \R0&*cnmo ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 7Qc
4Oz:t ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 {I2qnTN_a ─ 求解器(Solver)范例中必须选择VirtualLab。 m'Thm{Y,?n 4l6+8/Y
D\Nhq Vw optiSLang – 初始化优化 c-2##Pf_8O F^v <z)x 设置求解器系统 `V;vvHP A ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 >c~Fgs HZ#<+~J
Wn9b</tf BpGK`0H optiSLang – 初始化优化 \*C}[D ^h :%%\2 参数化的求解器系统 jNIZ!/K ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 )i;o\UU ─ 请务必保存计划。 Dm"@59x m 8Q[+_:$H
vPV=K+1 `;@#yyj:_ optiSLang – 初始化优化 YB}p`b42L 8mCL3F 参数化的求解器系统 UY_'F5X ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 <Q4yN!6 qx1}e
`xO9xo#
Z"# /,?|3@ optiSLang – 初始化优化 ;n9r;$!f PuuO2TZ 参数化的求解器系统 U-P\F- ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 2xchjU- ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 bUW`MH7yJ J&xH"U
k0=$mmmPY @q?zh'@; optiSLang –设置优化 6NO_S tr]=q9
参数化的求解器系统 6QCU:2IiL ─ optiSLang可以进行多目标函数的光学系统优化。 8h&Ed=gi ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 _VeZlk7k Y6|8;2E
l%aiG+z%6} Ol,Tw=? optiSLang –设置优化 | %Dh >k6RmN 参数化的求解器系统 ^<0azza/( ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 Z;^UY\&X ─ 因此优化算法会尽可能地使均匀度对比最小化。 ; 7`y## p&nIUx"
Yy4?|wVl 'g8~ uP optiSLang –设置优化 A;t6duBDf/ [jD.l;jF 参数化的求解器系统 `&.]>H)N* ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 Zd/ACZ[ ─ 因此优化算法会尽可能地使平均效率最大化。 !+?,y/*5( ─ 这步操作被称为多目标优化。 O\64)V
0 [dje!5Dc(
: -@o3Syg I/ pv0 optiSLang –设置优化 Z|YiYQl[) >Lh+(M;+F 优化向导 cxhS*"Ph ─ 下一步可以通过拖放来使用优化向导。 v2>.+Eh# Z:l.{3J$
]j.??'+rg kI>Iq
Q-h optiSLang –设置优化 ncEOz1u QU/Q5k 优化向导 yq{k:) ─ 第一步,提供了各种系统参数,包括其指定的值范围。 b(lC7Xm ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 >&0)d7Nu8m ─ 然后点击下一步。 L:HJ:
P
+U=/$o qB`zyd8yu optiSLang –设置优化 ^^[MDjNy@ >&K1+FSmyJ 优化向导 bgW=.s ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 4{Vw30DZ ─ 也可以从其他文档中输入条件。 %KxL{HY ─ 然后点击下一步。 ?@"B:#l u:+wuyu
k T$yHB # *R17 KMS optiSLang –设置优化 /n=
%# { _ri1RK, 优化向导 l4oI5)w ─ 第三步,选择优化方法。 Fg8i}
>w ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: |Uz?i7z 红:不适用 ;<Dou7= 黄:适用 H\tz"<*`` 绿:推荐 }(AgXvRq ─ 该例中推荐使用进化算法。 +kF$I7LN ─ 然后点击下一步。 VmLV:"P}^ Py$*c
k^3|A3A "^j&
^sA+ optiSLang –设置优化 YYDLFtr2 {K-]nh/ 优化向导 ?MevPy`H ─ 然后,需要指定一些附加选项。 FL5u68 ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 `A5^D ─ 然后点击结束。 z= pb<Y@X ar.w'z
\ /C-e gd>Op optiSLang –进化算法的高级设置 FHVZ/ e [\NyBc 高级设置 Zfyr&]" ─ 双击创建优化,可以调整优化算法的详细参数。 ,5" vzGLJ #87:Or1
hETTD% optiSLang –进化算法的高级设置 Gd$odKtI eiB5 8b3 高级设置 3R%'<MV| ─ 双击创建优化,可以调整优化算法的详细参数。 T"Ph@I< ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 wrq0fHwM 7Wg0-{yK4
"WOY`su> CLI!( 8ZW optiSLang –进化算法的高级设置 o.DT`L8 vKppXm1 高级设置 &)
7umdSgi ─ 双击创建优化,可以调整优化算法的详细参数。 :&Xy#.un ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 5KJN](x+ ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) iQpKcBx CW>f;
BgLK}p^ hA)tad] optiSLang –进化算法的高级设置 L_uliBn %RgCU$s[> 高级设置 Ie> )U)/$ ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 *Got ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 T!eb=oy ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 j;eR9jI$T ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 b@@`2O3" 8Z%C7
"4O
H)1< ;{: g9OO#C> optiSLang –设计计算的并行化 ;3NA,JA#Y #LEK?]y 并行化设置 `-S6g^Y ─ 一些优化算法允许并行计算设计。 %\ -u& | |