摘要
0E?jW7yr 7a#4tqM#
wUiys/OVM "8~:[G# 现代
光学系统的
优化一般会涉及到大量的
参数,例如:优化
光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,
VirtualLab Fusion提供了与Dynardo的
optiSLang软件的接口,可以使用不同的高级优化算法。
:[\v 1^_U;O:I VirtualLab Fusion和optiSLang的界面
|l&vkRrN 9Q(+ZG=JkV VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以
仿真复杂的光学装置,例如:将一组平面波耦合入光波导。
xfy1pS.[: i:rFQ8I
pAb.c 8~9030>Q optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。
%YSpCI 两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。
?6L&WB @Ys!DScY, VirtualLab Fusion – 光学装置初始化
Jg]'+>,J ]Pry>N3G5 初始装置
{~h*2n ─ 一般来说,在VirtualLab中定义的
光学系统都可以使用optiSLang进行优化。
BBH0OiV= ─ 该例中的光学系统包含了平面波
光源和用于周期性介质的波导耦合探测器。
UbEb&9} bV edFm
+E1I"); *+TH#EL2 VirtualLab Fusion – 波导耦合探测器
zG' "9kJx }"|"Q7H 波导耦合探测
w?zKjqza=v ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。
1x@qkL6 ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。
89n:)|rWq `W dD8E
z\0CE]#T Pt@%4 :&-h VirtualLab Fusion – 波导耦合探测器
Eo\UAc 波导耦合探测
4l!@=qwn ─ 该例中使用了倾斜光栅。
{cB+mh;mJ> Mva3+T
oq4}3bQ [q_`X~3 VirtualLab Fusion – 波导耦合探测器
U\veOQ;mW 波导耦合探测
[zL7Q^~ ─ 该例中使用了倾斜光栅。
s@z}YH VtzI9CD
e1>aTu@ }j2Y5 VirtualLab Fusion – 波导耦合探测器
-6tgsfEr b
B x? 波导耦合探测
Xg=x7\V ─ 输入光源的入射角度范围在探测器编辑对话框中指定。
uKz,SqX ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。
PzV@umC1#f s:2|c]wQ#R
3m>+-})d .s<*'B7& VirtualLab Fusion – 波导耦合
Yly@ww9t| K,6b3kk 波导耦合探测
@*0cMO;SpG ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。
pG34Qw ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。
ew;ur? }w/;){gu
[6)UhS8 ly4s"4v VirtualLab Fusion – 输出LPD至OPtiSLang
d{3@h+zL 'Q
=7/dY3I 输出LPD至OPtiSLang
}<>~sy ─ File→Export→Export to optiSlang Project
ZT[3aXS
sK"9fU ?E9D Xg VirtualLab Fusion – 输出LPD至OPtiSLang
s-Aw<Q)d V~T@6S 输出LPD至OPtiSLang
WpS1a440 ─ File→Export→Export to optiSlang Project
4EXB;[] ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。
n4R2^gXAw b1gaj"]
'S<%Xm '=E3[0W VirtualLab Fusion – 输出LPD至OPtiSLang
K*IxUz( [L6w1b, 输出LPD至OPtiSLang
~
^>417> ─ 在输出对话框窗口。
WEa2E?* 可定义参数空间,并包含了参数的变化范围。
@v}B6j b; 可以选择保存到的输出文件夹。
SR^_cpZoi 可以指定
模拟引擎,用于分析。
7QVuc!V P_gYz!
Aj9Ji"18za 9'DtaTmGW optiSLang – 初始化优化
fa&-. * ~1*A 设置求解器系统
B/J>9||g ─ File→New project…
KQld YA|m FP#FB$eP
,;<RW]r-P vLa#Y(" optiSLang – 初始化优化
'~ 4pl0TWc tu>{ 设置求解器系统
`p0ypi3hn ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。
/<&h@$NHH4 ─ 打开了一个对话框,列出了几种求解器(Solver)范例。
[ U8$HQ+x ─ 求解器(Solver)范例中必须选择VirtualLab。
Jz:r7w{4eB 16X@^j_
,&7Wa-vf optiSLang – 初始化优化
h{}mBQl TwvAj#j 设置求解器系统
451'>qS ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。
H^~.mBP
n K'1~^)*
9p@C4oen ~AG$5! optiSLang – 初始化优化
tfkr+
/ #hL*rbpT 参数化的求解器系统
r]P, 9 ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。
=q(GHg;' ─ 请务必保存计划。
g,]@4| bm}6{28R
?0<w tZ2K$!/B optiSLang – 初始化优化
u/Fj'*M [9mL $;M
W 参数化的求解器系统
`C_'|d<HA ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。
yg;_.4TpIO Y\+KoR';
p|XAlia MS<SAD>w optiSLang – 初始化优化
)F pJ1 R^MiP|?ZH 参数化的求解器系统
99OD=pxQ ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。
~2uh'e3 ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。
] c}91
1;| LI?
]M,06P>? ?mRE'# optiSLang –设置优化
Eff\Aq{ pKJK9@Ad 参数化的求解器系统
X1A<$Am1 ─ optiSLang可以进行多目标函数的光学系统优化。
*(GZ^QH. ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。
{UH9i'y:t ujgLJ77
MZ#T^Y V*65b(q) optiSLang –设置优化
^m7~:=K7WG (E($3t8 参数化的求解器系统
; !$m1 ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。
!rTmR@e$/ ─ 因此优化算法会尽可能地使均匀度对比最小化。
rOl6lQW A8?[6^%O|
8*!|8 BPj^ X QbNH~ optiSLang –设置优化
*j*Du+ lr('k`KOQ 参数化的求解器系统
V`fL%du,3 ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。
:kw0y ─ 因此优化算法会尽可能地使平均效率最大化。
h(xP_Svj> ─ 这步操作被称为多目标优化。
tLX,+P2| P#G.lft"O
0^_MN~s(X ;Gm>O7"|@ optiSLang –设置优化
w;yx<1f +lp{#1q0 优化向导
73DlRt
* ─ 下一步可以通过拖放来使用优化向导。
V,QwN& \~"#ld(x7
t&c&KFK)I& G%w_CMfH optiSLang –设置优化
aqQ o,5U>
<jd/t19DB 优化向导
rFXSO=P?Z ─ 第一步,提供了各种系统参数,包括其指定的值范围。
sp8[cO= ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。
{HZS:AV0 ─ 然后点击下一步。
(iDBhC;/B
^o%_W0_r 6$B'Q30}r optiSLang –设置优化
~8Sqa%F> lL2-.!]R 优化向导
[V< 1_zqt ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。
1
Nk1MGV ─ 也可以从其他文档中输入条件。
G.VYp6)5 ─ 然后点击下一步。
c2b6B.4 &|z544
E\e]K
! >_#)3K1y8 optiSLang –设置优化
_O52ai><b b:x7)$( 优化向导
D=w9cKa ─ 第三步,选择优化方法。
^_w*XV ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法:
</w7W3F 红:不适用
XqFu(Lm8= 黄:适用
eJf>"IF- 绿:推荐
wF;B@ ─ 该例中推荐使用进化算法。
UT-ewXh ─ 然后点击下一步。
O|(o8VS 7ti<
jlRS:$|R0 1nXqi)&?; optiSLang –设置优化
m3%ef -,@bA @& 优化向导
r03I*b ─ 然后,需要指定一些附加选项。
M5rwoyn ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。
gN\*Y ─ 然后点击结束。
4^MSX+zt w&+\Wo;([b
[#zE.
TW [,\i[[< optiSLang –进化算法的高级设置
5\+EHW!o (l;C%O7* 高级设置
.r6YrB@[' ─ 双击创建优化,可以调整优化算法的详细参数。
;:^ Lv t!l/` e%J
9g+UJ\u^ optiSLang –进化算法的高级设置
>~>{;Wq(p+ 7n<#y;wo 高级设置
As p8qHS ─ 双击创建优化,可以调整优化算法的详细参数。
E.4n}s ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。
IPkA7VhFF '@S,V/jy0z
Yg|l?d" Vy&f"4~ optiSLang –进化算法的高级设置
w+3>DEfz AAdD\%JZ 高级设置
$ #t|(\ ─ 双击创建优化,可以调整优化算法的详细参数。
)MMhlcNC ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。
lxCX-a`@p ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”)
A@\qoS[ SkriX\p
0\ZaMu # 3[iSF5%V*p optiSLang –进化算法的高级设置
QQSH +
~t$mw, 高级设置
<XY;fhnB ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。
'[n)N@h ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。
''%;EW> ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。
okVp\RC ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。
L;4[ k;5 tu7+LwF7
p9k4w%
~: QR|XV%$ optiSLang –设计计算的并行化
Gmqs`{tc v hR twi 并行化设置
[U%.Gi ─ 一些优化算法允许并行计算设计。
.Kg|f~InO ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。
y4 dp1<t% ─ 为了允许并行计算,必须启用多个求解器。
wK2yt? ─ 通过双击VirtualLab求解器,可以找到此附加选项。
V^9$t/c& ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。
^l&nB