摘要 66<3zadJZU
:>to?~Z1
C Ih@H6|
@Md%gEh;&
现代光学系统的优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 ~\tI9L?|A
*loPwV8
VirtualLab Fusion和optiSLang的界面 0bxB@(NO
ODK$G
[-
VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 =whZ?,u1
!3>(fj+QS
._m+@Uy]H}
mxtLcG4G
optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。 c6sGjZdR
两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 vCT5do"C&
<}-[9fW
VirtualLab Fusion – 光学装置初始化 T^u ][I3*
e2Sm.H '
初始装置 zVe@`gc
─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 zCKZv|j6
─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 0Vv6B2<
yfeX=h
kH1hsDe|&y
mD-qJ6AM
VirtualLab Fusion – 波导耦合探测器 6V\YYrUz
naCPSsei
波导耦合探测 ^'i(@{{o\
─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 `O(ec
─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 /2-S/,a
/ <WB%O
<b>@'\w9
8<M'~G%CEq
VirtualLab Fusion – 波导耦合探测器 . $uvQpyh
波导耦合探测 LAeJz_9U
─ 该例中使用了倾斜光栅。 AEx
I!
#}L75
^D\1F$AjC
B7(~m8:eH7
VirtualLab Fusion – 波导耦合探测器 :#58m0YLA:
波导耦合探测 4k_&Q?1
─ 该例中使用了倾斜光栅。 9@
[R>C
8*3o9$Pj
aYr?J
Ol
Kdk0#+xtP
VirtualLab Fusion – 波导耦合探测器 ,<F =\G_f
b{<qt})
波导耦合探测 D_
xPa
─ 输入光源的入射角度范围在探测器编辑对话框中指定。 9{|JmgO!
─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 GqumH/;
9Y!N\-x`
R/r)l<X@
90> (`pI=
VirtualLab Fusion – 波导耦合 =3OK3|
7l> |G,[c
波导耦合探测 qPZ'n=+
─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 dt(~)*~R
─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 Wr Ht
zvV<0 Z
QQUeY2}
/^^t>L
VirtualLab Fusion – 输出LPD至OPtiSLang ,d n9tY3
occ^bq
输出LPD至OPtiSLang sm5\> L3V
─ File→Export→Export to optiSlang Project )I'?]p<
`<!Nk^2ap
G 'IqAKJ
VirtualLab Fusion – 输出LPD至OPtiSLang jY%&G#4
/!;oO_U:#
输出LPD至OPtiSLang h\\fb[``
─ File→Export→Export to optiSlang Project Z"PPXv-<jY
─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 k`JP
B.CUk.
Pe6}y
!E!i`yF
VirtualLab Fusion – 输出LPD至OPtiSLang y\Kr@;q0w
D+ mZ7&L
输出LPD至OPtiSLang $Llv6<B
─ 在输出对话框窗口。 ,T@+QXh
可定义参数空间,并包含了参数的变化范围。 pSp/Qpb-B
可以选择保存到的输出文件夹。 %jz]s4u$5j
可以指定模拟引擎,用于分析。 52?zBl`|
q/U(j&8W{
ST$~l7p
Fw5|_@&k
optiSLang – 初始化优化 |S.G#za
O 4zD
>O
设置求解器系统 |U{9Yy6p
─ File→New project… li'h&!|]
G2
A#&86J{
0$)s? \
FsQeyh>
optiSLang – 初始化优化 .j?`U[V%a
873$EiyXR
设置求解器系统 O
]o7
─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 p=%Vo@*]
─ 打开了一个对话框,列出了几种求解器(Solver)范例。 XN9s!5A<L)
─ 求解器(Solver)范例中必须选择VirtualLab。 f%vJmpg
x|4m*>Ke
yUV0{A-q{0
optiSLang – 初始化优化 wZ6D\I
d 90
设置求解器系统 6.
N?=R
─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 eewhT^
TNe,'S,%
e RY2.!
_8t5rF
optiSLang – 初始化优化 9U[Gh97Sf
rR`'l=,t
参数化的求解器系统 *D`]7I~}
─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 a&:1W83
─ 请务必保存计划。 Gk_%WY*
58xaVOhb
;fomc<
DUH\/<^g
optiSLang – 初始化优化 tGt/=~n9
EmrUzaGD
参数化的求解器系统 tUX4#{)q(j
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 l{b<rUh5W
_vOV(#q2a
CTawXHM
kc*zP=
optiSLang – 初始化优化 ^n8ioL\*i
|OW/-&)
参数化的求解器系统 !ieMhJ5r
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 N>h/!#
ZC
─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 =5:L#` .
`=m[(CLb
V~#e%&73FH
kk|7{83O
optiSLang –设置优化 J|*Z*m
$+(Df|)
参数化的求解器系统 [zXKS|
─ optiSLang可以进行多目标函数的光学系统优化。 5)712b(&
─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 b-*3]gB
OJ#ehw <
'Br:f_}
%=p:\+`VI
optiSLang –设置优化 #'`!*VI
2n]UNC
参数化的求解器系统 'I$-h<W
─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 5x$/.U
─ 因此优化算法会尽可能地使均匀度对比最小化。 9Z?P/
o
5L ]TV\\
DI9hy/T(
b1+6I_u.
optiSLang –设置优化 t<~WDI|AN
EY~b,MIL4
参数化的求解器系统 DlC\sm
─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 D$X9xtT
─ 因此优化算法会尽可能地使平均效率最大化。 E}Ir<\
─ 这步操作被称为多目标优化。 RYhaQ&1i
~kDR9s7
:TU|;(p
yf|,/{S
optiSLang –设置优化 G.j R
~\vGwy
优化向导 TFZvZi$u&
─ 下一步可以通过拖放来使用优化向导。 "n<rP 3y
|E{tS,{OhJ
1zo0/<dk
^O>G?a
optiSLang –设置优化 kXjrc
4Cd#S9<ed
优化向导 euxkw]`h6
─ 第一步,提供了各种系统参数,包括其指定的值范围。 $? 'JePC
─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 %62W[Oh5
─ 然后点击下一步。 B #o/3
SW94(4qo
|aAu4
optiSLang –设置优化 0wFa7PyG?
[_$r- FA
优化向导 :S['hBMN
─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 wEQ7=Gyx
─ 也可以从其他文档中输入条件。 $x5,Oe n
─ 然后点击下一步。 4Sj;38F
.1
O"'.n5>:`
f82$_1s^
W|~Jl7hs8Q
optiSLang –设置优化 |_<'qh
gzHMZ/31
优化向导 )^Ha?;TS
─ 第三步,选择优化方法。 *.'9 eC0s
─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: UJ\[^/t
红:不适用 C(=$0FIR
黄:适用 ]'L#'"@
绿:推荐 8|-j]
─ 该例中推荐使用进化算法。 XwZ~pY ~
─ 然后点击下一步。 $q"/q*ys
Lg;b17
UxGr+q
0n FEPMO
optiSLang –设置优化 %1Ex{H hb
ym\AVRO{
优化向导 >"OwdAvX
─ 然后,需要指定一些附加选项。 | c:E)S\
─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 |E&
Fe8
─ 然后点击结束。 7@[HRr
xH,D
bAC;
YsX&]4vzm
k`j>lhH
optiSLang –进化算法的高级设置 %VV\biO]
S1Z~-i*w
高级设置 gY],U4_:p
─ 双击创建优化,可以调整优化算法的详细参数。 ] "ZL<?3g
|JUb 1|gi
uTWij4)a
optiSLang –进化算法的高级设置 n]G_#
;
9s#Q[\B!
高级设置 iRbTH}4i
─ 双击创建优化,可以调整优化算法的详细参数。 z%4E~u10
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 /w!!jj^
YmBo/I M
A?YU:f
)aV\=a |A
optiSLang –进化算法的高级设置 5s5GBJ?
g6s&nH`Z2
高级设置 !=)R+g6b
─ 双击创建优化,可以调整优化算法的详细参数。 wgN)*dpuI
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 pBZf=!+E
─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) WfdM~k\
A^m]DSFOO
@;6I94Bp
x4_xl
.
optiSLang –进化算法的高级设置 Mu1H*;_8
tom1u>1n
高级设置 "k;j@
─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 IIZu&iZo\
─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 \zdY$3z
─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 ~o<+tL
─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 ~BUzyc%
@Sik~Mm_h
mY)Y47iL
=6sA49~M
optiSLang –设计计算的并行化 M1Frn n
n#US4&uT4A
并行化设置 b0PQ;?R#V
─ 一些优化算法允许并行计算设计。 %',bCd{QW
─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 @W_=Z0]
─ 为了允许并行计算,必须启用多个求解器。 6'F4p1VG*I
─ 通过双击VirtualLab求解器,可以找到此附加选项。 Y:x,pPyl
─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 "X[sW%# F
V(?PKb-w)
z PW [GkD
%8L>|QOX
optiSLang –开始优化 #NvL@bH
]_hrYjX;
运行优化 !vrduOB
─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 7A@iu*t
─ 点击运行按钮开始优化。 LH@xr\^
51)Q&,Mo#
3iKy>
,Ky-3p>
optiSLang –优化结果 7CGxM
,A{'lu
优化结果 8V08>M
─ 优化结束后,可以在新窗口中得到结果。 ytDp
4x<W)
9B&fEmgEc?
Qf'%".*=~8
rw|;?a0
optiSLang –优化结果 ycPGv.6
w,s++bV;L
优化结果 2#XYR>[
─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 #^] v5s
─ 用户能够为他的应用选择最合适的设计。 i3SrsVSG
─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 w nPg ).
0DZ}8"2
17..
p'fD:M:
optiSLang –优化结果 M'gL_Xsei
O} &%R:
优化结果 ,$,c<M
─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 6^Q/D7U;s
─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 ^p}S5,
nYvx[
zq?^
{\P`-'C
} 5nVZ;
optiSLang –导入优化结果 VJf|r#2
=dp(+7Va
导入优化结果 G9|w o)N
─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 C3hQT8~
─ 最后,可以在VirtualLab中进一步分析导入的LPD。 !Z}d^$
$GI
jWlAh
G9YfJ?I
O'i!}$=g
总结 2X)n.%4g$;
;Pd nE~
作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 2d:5~fEJp
PL}c1Ud