| infotek |
2020-08-19 09:48 |
VirtualLab Fusion中运用optiSLang进行光栅优化
摘要 |#{ i7>2U ^QjkZ^<dD
8_ascvs5 &EYoviFp 现代光学系统的优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 ;" D~F 7SN61)[m VirtualLab Fusion和optiSLang的界面 TyA1Qk\ H}lz_#Z VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 86 9sS '@
p464
?Q$a@)x#
]NtBP optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。 BP l% SL 两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 6xAxLZz< +sTPTCLE VirtualLab Fusion – 光学装置初始化 4<vi@,s Um4DVg5 初始装置 2ga8 G4dU ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 ir>S\VT4 ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 KX3A| MslgQmlM
rC]k'p2x >)u{%@Rcy{ VirtualLab Fusion – 波导耦合探测器 LE)$_i8gX I-1NZgv 波导耦合探测 +S+=lu _ ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 R# .H&# ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 s&'FaqE 7
, _b
KT*>OYI Vy| 4k2 VirtualLab Fusion – 波导耦合探测器 eMdf[eS 波导耦合探测 Zy.ls&<: ─ 该例中使用了倾斜光栅。 i~AReJxt7 @$t\yBSK
(+cZP&o ms!|a_H7r VirtualLab Fusion – 波导耦合探测器 `S5::U6E 波导耦合探测 XN>bv|*q ─ 该例中使用了倾斜光栅。 Fq!_VF^r ^u#iz
7&OJ8B/ ?E(X>tH VirtualLab Fusion – 波导耦合探测器 h:U#F ) l(-"rE 波导耦合探测 R*FDg;t4 ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 D^V)$ME ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 En#Q
p3 (fr=N5
_h1eW9q CWRB/WH: VirtualLab Fusion – 波导耦合 <5
OUk T9!NuKfur 波导耦合探测 _uL[
Z ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 J .TK<! ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 S-ZN}N{,6 1E'PSq
wHQ$xO;vD' }<@-= VirtualLab Fusion – 输出LPD至OPtiSLang 7fO<=ei: ?8?vBkz~ 输出LPD至OPtiSLang EY3F9h3xM| ─ File→Export→Export to optiSlang Project _dz ZS(7M6
?*yB&(a:8 `4X.UPJ VirtualLab Fusion – 输出LPD至OPtiSLang t+q;}ZvG zK1]o-wSAT 输出LPD至OPtiSLang )G?\{n- ─ File→Export→Export to optiSlang Project tg==Qgz ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 &WL::gy_S sLJ]N0t
Iz
j-,a ]W4{|%@H" VirtualLab Fusion – 输出LPD至OPtiSLang 6&0G'PMf oWLP|c~Ap 输出LPD至OPtiSLang XEagN:
─ 在输出对话框窗口。 FE^/us7r 可定义参数空间,并包含了参数的变化范围。 yzT1Zg_ER 可以选择保存到的输出文件夹。 {:VK}w 可以指定模拟引擎,用于分析。 <?}pCX/O C& XPn;f
qsXkm4 {X{S[(| optiSLang – 初始化优化 %#~wFW|]x =3A4.nW 设置求解器系统 ~Dz:n]Vk/ ─ File→New project… 7CSz +>;Ux1'@
b]Kb ~y| Uf]$I`T# optiSLang – 初始化优化
-u<F>C IDD`N{EA 设置求解器系统 a#% *H
─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 Scm45"wB+ ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 QKx(S=4jQ ─ 求解器(Solver)范例中必须选择VirtualLab。 m.`I} _e;bB?S
w+)wrJTtm optiSLang – 初始化优化 UBM#~~sM 3D!7,@&>3 设置求解器系统 3)LS#= ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 vE8'B^h1 (Cq 38~mR
rP2h9Cb W94 u7a optiSLang – 初始化优化 +;,J0,Yn eq8faC5 参数化的求解器系统 kdlmj[= ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 ]3, ─ 请务必保存计划。 LVm']_K(f DNgh#!\X
$IX(a4' 2)\MxvfOh optiSLang – 初始化优化 z"\w9 @W
Rx"+i0 参数化的求解器系统 5
-|7I7(G$ ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 HWB\}jcA6u
59SL
mj
s5+;8u9K pO5j-d* optiSLang – 初始化优化 *S}CiwW>/ RrCG(Bh 参数化的求解器系统 +zk5du^gZ ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 (G} }h ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 T+EwC)Ll X(Mpg[,N"
&Z!y>k%6 {d xl8~/I optiSLang –设置优化 sq(5k+y*J cT@|
$A 参数化的求解器系统 5{+2#- ─ optiSLang可以进行多目标函数的光学系统优化。 ^'tT_
gT ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 oMLs22Do? e1JHN
"$J5cco 2ib,33 Z optiSLang –设置优化 mOHOv61
$8 &Y(` 参数化的求解器系统 P*K"0[\n ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 'm|T"Ym~ ─ 因此优化算法会尽可能地使均匀度对比最小化。 lDKyD`WKnZ 5[B)U">]
Qnt}:M+ X)Tyxppf' optiSLang –设置优化 !O`j W)D?8* 参数化的求解器系统 -:'%YHxX ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 L >"O[@ ─ 因此优化算法会尽可能地使平均效率最大化。 ??P\v0E ─ 这步操作被称为多目标优化。 -Q5UT=^ SDS P4W5
q27q/q8 F;_o `h optiSLang –设置优化 TJW8 l[M N TDmOS\, 优化向导 {`
bX*] ─ 下一步可以通过拖放来使用优化向导。 eFf9T@ NKB["+S<
h`O$L_Z "+qZv( optiSLang –设置优化 .mqMzV :6)!#q'g 优化向导 Tmu2G/yi ─ 第一步,提供了各种系统参数,包括其指定的值范围。 s 72yu} ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 }1V+8'D ─ 然后点击下一步。 sGNHA(; NJd4( P
\r{wNqyv :(/1,]bF optiSLang –设置优化 c2:, XVfUr\=,T 优化向导 *sB'D+-/ ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 dxZn| Y ─ 也可以从其他文档中输入条件。 bf1$:09 ─ 然后点击下一步。 ?z-nY,'^uq S5F5Tr;TN
=HIKn6C< .=G3wox3 optiSLang –设置优化 Q hRj*, ^{0*?,-x 优化向导 b5jD /X4 ─ 第三步,选择优化方法。 9{S$%D ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: 8p}z~\J{a: 红:不适用 "d~<{(:N^ 黄:适用 5\}Y=Pa 绿:推荐 a Iyzt ─ 该例中推荐使用进化算法。 IIXA)b! ─ 然后点击下一步。 E#tfCM6 o>d0R
w4h
+"WNG "W4|}plnu optiSLang –设置优化 [9~EH8 g26_#4 P 优化向导 zp'hA ─ 然后,需要指定一些附加选项。 _(io8zqe{j ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 =c#mR" 1 ─ 然后点击结束。 fo/sA9 <~v4BiQ3l^
u|"YS-dH Td7Q%7p: optiSLang –进化算法的高级设置 N~`r;E F/tRyq`D 高级设置 Sa.nUj{M= ─ 双击创建优化,可以调整优化算法的详细参数。 Oo(xYy gwg~4:W
l$l6,OzS@ optiSLang –进化算法的高级设置 6fBA#Kb 3&c'3y:b 高级设置 I3x+pa^]2 ─ 双击创建优化,可以调整优化算法的详细参数。
k6@ ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 egfd=z=2un |rhB@k
@V Tw>=94 k@n L(2 optiSLang –进化算法的高级设置 9T`YHA'g sMJa4P>O@ 高级设置 "av/a ─ 双击创建优化,可以调整优化算法的详细参数。 mN R}%s
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 f1o^:}5x ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) ga;t`5+d h.- o$+Sa
&js$qgY |r+hj<K optiSLang –进化算法的高级设置 c1*^
\ hA&m G33 高级设置 YCzH@94QeV ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 \sW>Y#9] ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 J]48th0, ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 `r\/5|M ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 *8%uXkM m <FZ*'F*M
o(3OChH v Oo^H optiSLang –设计计算的并行化 wn<k"6x =PjdL32 并行化设置 pMUUF5 ─ 一些优化算法允许并行计算设计。 z! k ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 Nlc3S+$`z ─ 为了允许并行计算,必须启用多个求解器。 P{2ED1T\ ─ 通过双击VirtualLab求解器,可以找到此附加选项。 DC$> 5FDv ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 vsI|HxpyC, #xhl@=W;
5g9K|- iE{VmHp= optiSLang –开始优化 }1sd<<\` f=4q]y#& X 运行优化 O#vIn} ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 Ap%tm)@1 ─ 点击运行按钮开始优化。 IdL~0;W7 xz vbjS W
l Gy`{E| :=,lG ou optiSLang –优化结果 lRA! XZ1<sm8t." 优化结果 & | |