fEv`iXZG 摘要 ^nO0/nqz] 5Z8Zb.
.qd/ft2 Q:L^DZkGV 现代
光学系统的
优化一般会涉及到大量的
参数,例如:优化
光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。
f$7Xh~ ""~b1kEt VirtualLab Fusion和optiSLang的界面 2OA0rH"v z (1zth VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以
仿真复杂的光学装置,例如:将一组平面波耦合入光波导。
qGlbO S['rfD>9
%-nYK3 n'?AZ4&z optiSLang是一种包含各种高级工具的
软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。
i`nmA-Zj[ 两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。
_DDknQP dmR>u VirtualLab Fusion – 光学装置初始化 kT-dQ32 w"PnN 初始装置
v|K, ─ 一般来说,在VirtualLab中定义的
光学系统都可以使用optiSLang进行优化。
(7X|W<xT ─ 该例中的光学系统包含了平面波
光源和用于周期性介质的波导耦合探测器。
%#_"Ie DPWt=IFU
"V=IG{. 5SB!)F] VirtualLab Fusion – 波导耦合探测器 Vx
Vpl@ &gxWdG}qx] 波导耦合探测
k4C3SI*`4 ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。
Mzg zOM ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。
$yn7XonS pftnFOLO
04j]W]8# @sr~&YhA VirtualLab Fusion – 波导耦合探测器 AT:L&~O. 波导耦合探测
gR\z#Sg ─ 该例中使用了倾斜光栅。
[
pe{,lp 2iWSk6%R
O|} p=ny mi';96 VirtualLab Fusion – 波导耦合探测器 x]Pp|rHj 波导耦合探测
p{vGc-zP. ─ 该例中使用了倾斜光栅。
*2T"lpl 2FVO@D
sk%Xf, ufF>I VirtualLab Fusion – 波导耦合探测器 4@mK:v% De-hHY{> 波导耦合探测
3|0wD:Dy ─ 输入光源的入射角度范围在探测器编辑对话框中指定。
m ?e::W ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。
G`e!Wv C 5(\H:g\z
U [R[VY7 6 uTFgSqZ VirtualLab Fusion – 波导耦合 /prR;'ks j[RY 波导耦合探测
n~Yr`5+Z ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。
'>^!a!<G ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。
=j"bLX6; FokSg[)5
hh[@q*C ~( ;HkT VirtualLab Fusion – 输出LPD至OPtiSLang uqsVq0H
Y2TXWl,Jk 输出LPD至OPtiSLang
8+,I(+
─ File→Export→Export to optiSlang Project
nZX`y
-AZ
XOoz.GSQ so>jz@!EE VirtualLab Fusion – 输出LPD至OPtiSLang xFzaVjjP 20
Z/Y\ 输出LPD至OPtiSLang
u*m|o8 ─ File→Export→Export to optiSlang Project
0aqq*e'c ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。
4J{W8jX [y&uc
@b9qBJfQ ?dyt!>C VirtualLab Fusion – 输出LPD至OPtiSLang 6W/uoH=; ;r BbLM` 输出LPD至OPtiSLang
ELZ@0, ─ 在输出对话框窗口。
_oE 7< 可定义参数空间,并包含了参数的变化范围。
FvXpqlp 可以选择保存到的输出文件夹。
tPb<*{eG 可以指定
模拟引擎,用于分析。
(XNd]G B.4Or]
o&)v{q N5b^ optiSLang – 初始化优化 8xt8kf*k GQ 0(lS 设置求解器系统
^8=e8O ─ File→New project…
@;X#/dZe 0C4Os p
i.0d>G><@ RN2z/FUf optiSLang – 初始化优化 "#8I &xZK tkP& =$ 设置求解器系统
IqFmJs|C ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。
ujLje:Yc ─ 打开了一个对话框,列出了几种求解器(Solver)范例。
mYFc53B ─ 求解器(Solver)范例中必须选择VirtualLab。
lE8(BWzw _LFABG=
|*g\-2j{ optiSLang – 初始化优化 ETm:KbS ao"Z%#Jb~ 设置求解器系统
7|k2~\@q ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。
bQ-n<Lx ]Na; b
N>w+YFM ^ f[^.k$3d optiSLang – 初始化优化 I2gSgv% >@EwfM4[e 参数化的求解器系统
{S`Rr/E|% ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。
|fY#2\)Yx ─ 请务必保存计划。
XO5E-Nh y*E{X
rAk;8)O$ TVVu_ib optiSLang – 初始化优化 mr,GHx #n+sbx5~7 参数化的求解器系统
a1x].{ ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。
2RdpVNx\y 65GC7 >[
PHMp,z8 _TyQC1 d optiSLang – 初始化优化 v}<z_i5/C. CoV@{Pi 参数化的求解器系统
s>=$E~qq ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。
Pk5 %lu ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。
rS0#]Gg Z
ZT2c0AK
M"foP@ @ev^e!B optiSLang –设置优化 }OSf C~5P yMOYTN@] 参数化的求解器系统
KP!7hJhw ─ optiSLang可以进行多目标函数的光学系统优化。
fO837 ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。
ie/QSte m|[cEZxHB
r#d]"3tH 5a/3nsup5 optiSLang –设置优化 ;1k_J~Qei OA7=kH@3c 参数化的求解器系统
2|`~3B)# ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。
sA
}X)aP ─ 因此优化算法会尽可能地使均匀度对比最小化。
qz 29f akQb%Wq
\\/
!I
hP/uS%X optiSLang –设置优化 R=W$3Ue~, E8o9ufj3 参数化的求解器系统
s%?<:9 ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。
3ep
L'My$ ─ 因此优化算法会尽可能地使平均效率最大化。
K,*If Hi6[ ─ 这步操作被称为多目标优化。
x!onan th=45y"C
!zxq9IhWR /Wy9". optiSLang –设置优化 ]xhH:kW4 obw:@i# 优化向导
V.[b${ ─ 下一步可以通过拖放来使用优化向导。
DE?@8k QYWl`Yqf
[{J1b NmN:x&/ optiSLang –设置优化 dTVM
!= * =O@D2g0 优化向导
u[!Ex=9W ─ 第一步,提供了各种系统参数,包括其指定的值范围。
Q?%v b ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。
s'@@q ─ 然后点击下一步。
Pv@;)s(- _"'-fl98*
1xwq:vFC. +Jc-9Ko\c; optiSLang –设置优化 16I(S b$FXRR\G 优化向导
gwYTOs^ ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。
,]?l(H $x' ─ 也可以从其他文档中输入条件。
@HXXhYH ─ 然后点击下一步。
taOsC!Bp 3lNw*M|")
Pq(
)2B !i6 aA1' optiSLang –设置优化 $Vm J[EF1 POQ1K
O 优化向导
*Xd_=@L&B ─ 第三步,选择优化方法。
ZP%Bu2xd ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法:
F^');8~L 红:不适用
D%.<}vG 黄:适用
R7By=Y!t 绿:推荐
Ia)^ ─ 该例中推荐使用进化算法。
dnTXx*I: ─ 然后点击下一步。
*-9b!>5eD mH3{<^Z6
[ \Aor[( j Ns eD optiSLang –设置优化 fmq^AnKd
@KYmkxW 优化向导
0b}lwo,|\ ─ 然后,需要指定一些附加选项。
?|Mmz@ ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。
iF]vIg#h ─ 然后点击结束。
oDas~0<oh x9CI>l
=;xlmndT, ]H<C Rw optiSLang –进化算法的高级设置 L9U<E $%# H\!u5o&}` 高级设置
Afa{f}st ─ 双击创建优化,可以调整优化算法的详细参数。
`P4qEsZE>` 4B}w;d@R
=U".L optiSLang –进化算法的高级设置 Lp*T=]C] ?0Ca-T Rz 高级设置
Jq`fD~(7 ─ 双击创建优化,可以调整优化算法的详细参数。
am05>c9 ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。
(;h]'I@ j|(bDa4\
_>:g&pS/ Vt4}!b(O optiSLang –进化算法的高级设置 ig/716r| 49Ue2=PP# 高级设置
"WYcw\@U ─ 双击创建优化,可以调整优化算法的详细参数。
jIc;jjAF ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。
IJXH_H_%* ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”)
E(U}$Zey (*fsv
g~
AQ
7e c)E[K-u optiSLang –进化算法的高级设置 |:r/K KwQO,($,] 高级设置
?3z+|;t6C ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。
D&9j$#9Rh ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。
W\<#`0tUt ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。
D+o.9I/{ ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。
JkxS1 =\%>O7c,8Y
_@prv7e Jp-ae0 Ewa optiSLang –设计计算的并行化 ^Q :K$! Z ''P5B; 并行化设置
g&E_|}u4 ─ 一些优化算法允许并行计算设计。
AYZds >#Q ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。
56_KB.Ww~ ─ 为了允许并行计算,必须启用多个求解器。
4!}fCP ty ─ 通过双击VirtualLab求解器,可以找到此附加选项。
)#ujF~w> ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。
i)(QNpv VD#^Xy4% r
0~1P&Qs<
-% fDfjP optiSLang –开始优化 49zp@a +li^0+3-' 运行优化
iRVLo~ ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。
1aT$07G0 ─ 点击运行按钮开始优化。
gq@."wHU 6~/H#8Kdn
U; q)01 t@HE.h optiSLang –优化结果 v/haUPWF\ Hf-F-~E 优化结果
Mk9kGP% ─ 优化结束后,可以在新窗口中得到结果。
SA7,]&Zb