首页 -> 登录 -> 注册 -> 回复主题 -> 发表主题
光行天下 -> FRED,VirtualLab -> VirtualLab Fusion中运用optiSLang进行光栅优化 [点此返回论坛查看本帖完整版本] [打印本页]

infotek 2021-04-28 10:27

VirtualLab Fusion中运用optiSLang进行光栅优化

摘要 fl%X>\i/7  
TN!8J=sx.  
r1dP9MT\8  
0$Rl78>(  
现代光学系统的优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 %zDh07VT\  
?XOl>IO  
VirtualLab Fusion和optiSLang的界面 4B? 8$&b  
@ )nxX))a  
VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 b'F#Y9  
H5wzzSV!:B  
`P/7Mf  
P| c[EUT  
optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   B q/<kEgM  
两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 3jH-!M5  
=SMI,p&  
VirtualLab Fusion – 光学装置初始化 JAEn 72  
b7;`A~{9v  
初始装置 v',%   
─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 OAx5 LTd  
─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 "`WcE/(  
[H"\<"1o  
nKxu8YAJe  
   i b$2qy  
VirtualLab Fusion – 波导耦合探测器 cPu<:<F[  
NHI(}Ea|]  
波导耦合探测 =Rv!c+?  
─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 /XEt2,sI9  
─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 Z]VmTB  
YS$42J_T  
G_m$W3 zS  
   W_JFe(=3,  
VirtualLab Fusion – 波导耦合探测器 _4+'@u #  
波导耦合探测 Lmp_8q-Ej  
─ 该例中使用了倾斜光栅。 9:[L WT&  
Q:rQ;/b0/  
RQg7vv]%  
$eqwn&$n  
VirtualLab Fusion – 波导耦合探测器 ]!% p21e  
波导耦合探测 YC,)t71l{  
─ 该例中使用了倾斜光栅。 _'OXrT#Q  
kx3?'=0;5  
IhRWa|{I  
Wra$  
VirtualLab Fusion – 波导耦合探测器 Jw -?7O  
a8Va3Y  
波导耦合探测 ph5rS<  
─ 输入光源的入射角度范围在探测器编辑对话框中指定。 <4{Jm8zJ  
─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 cZVVJUF  
coG_bX?e  
{`KRr:w  
vZ0K1UTEXY  
VirtualLab Fusion – 波导耦合 r:xbs0 7  
16pk4f8  
波导耦合探测 u[Ij4h.  
─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 j*7#1<T  
─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 A3su!I2S  
Pjvzefp  
%qI.Qw$  
?q lpi(  
VirtualLab Fusion – 输出LPD至OPtiSLang \x(ILk|'c  
|O!G[|/3  
输出LPD至OPtiSLang j o+-  
─ File→Export→Export to optiSlang Project |L}1@0i  
s+omCr|H;A  
A ,$CYLj+  
VirtualLab Fusion – 输出LPD至OPtiSLang 'Edm /+  
O/{X:Ja{  
输出LPD至OPtiSLang F4R0A6HL  
─ File→Export→Export to optiSlang Project $F#eD 0|  
─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 jeu|9{iTVu  
KFuP gp  
Vs"1:gi&  
`<oNEr+#  
VirtualLab Fusion – 输出LPD至OPtiSLang awC:{5R8v  
c04;2gR  
输出LPD至OPtiSLang |qAU\m"Pc  
─ 在输出对话框窗口。 f6$$e+  
 可定义参数空间,并包含了参数的变化范围。 .,l4pA9v  
 可以选择保存到的输出文件夹。 l.iT+T  
 可以指定模拟引擎,用于分析。 `|2p1Ei  
%@ ,! (  
xj#anr  
.{8?eze[m  
optiSLang – 初始化优化 f_m~_`m  
Z !81\5  
设置求解器系统 mzGMYi*  
─ File→New project… FpYeuH%  
x)0''}E~  
#-<n@qNg[  
^VOA69n>$  
optiSLang – 初始化优化 Kt*kARN?  
;i>(r;ZM  
设置求解器系统 q L-Ni  
─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 }fqy vI  
─ 打开了一个对话框,列出了几种求解器(Solver)范例。 04E S>'@  
─ 求解器(Solver)范例中必须选择VirtualLab。 zu! #   
]ME2V  
PJn|  
optiSLang – 初始化优化
N2Q b+  
pl.x_E,HP  
设置求解器系统 4R&e5!  
─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 tVr^1Y  
Evy_I+l  
)/FEjo  
][ V@t^  
optiSLang – 初始化优化 14S_HwX  
'mm~+hp  
参数化的求解器系统 ]dd TH l  
─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 3jzmiS]  
─ 请务必保存计划。 JF6=0  
iQ8T3cC+  
6Z>G%yK  
{;^GKb+  
optiSLang – 初始化优化 hx$b Y  
/$=<RUE  
参数化的求解器系统 mrGfu:r  
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 ^$x1~}D  
-A(]U"@n  
M=t;t0  
<HXzcWQ$  
optiSLang – 初始化优化 ?d5_{*]+v  
"59"HVV  
参数化的求解器系统 *Kmo1>^  
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 =jD9oMs  
─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 {osadXd C  
EHF dQ0gIa  
&,%+rvo}  
ZO*?02c  
optiSLang –设置优化 =DsFR9IB  
a2.@Zyz  
参数化的求解器系统 F [S'l  
─ optiSLang可以进行多目标函数的光学系统优化。 m2>$)\-;  
─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 u_'XUJ32!  
V: P   
v:zKn[;o  
s#4Q?<65u  
optiSLang –设置优化 =`/GB T$  
7Rl/F1G o}  
参数化的求解器系统  BRF4 p:  
─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 [+(fN  
─ 因此优化算法会尽可能地使均匀度对比最小化。 X(qs]:  
!vGJ 7  
B"3uuk8  
4Pkl()\c  
optiSLang –设置优化 !D~\uW1b  
,#8H9<O9t  
参数化的求解器系统 ( yv)zg9  
─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。  hpOK9  
─ 因此优化算法会尽可能地使平均效率最大化。 :S=!]la0h  
─ 这步操作被称为多目标优化。 V1 {'d[E*  
D22jWm2  
A(T=  
`(&GLv[i^2  
optiSLang –设置优化 Ur,{ZGm  
fK; I0J  
优化向导 (Nn)_caVb  
─ 下一步可以通过拖放来使用优化向导。 K'zBDrkW-x  
# |^yWw^  
>d<tcaB  
TLT6z[  
optiSLang –设置优化 !+Zso&  
3}x6IM 2  
优化向导 !HSX:qAP$  
─ 第一步,提供了各种系统参数,包括其指定的值范围。 t6! B  
─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 Po7oo9d  
─ 然后点击下一步。 wt1Y&D  
WF`  
)vy_m_f&  
optiSLang –设置优化 KD73Aw  
l;vA"b=]  
优化向导 m4 :"c"  
─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 Dfw%Bu  
─ 也可以从其他文档中输入条件。 l( uV@_3  
─ 然后点击下一步。 a~A"uLBR  
vg-'MG  
<~P([5  
8 _|"+Ze  
optiSLang –设置优化 R/ 3#(5  
mExJ--}  
优化向导 2,e>gP\]  
─ 第三步,选择优化方法。 gM_MK8py  
─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: WlRaD%Q  
 红:不适用 NY\-p=3c7=  
 黄:适用 Mk|*=#e;  
 绿:推荐 wOrpp3I  
─ 该例中推荐使用进化算法。 t[%ELHV  
─ 然后点击下一步。 (tz fyZ M  
of0 hJR  
31{) ~8  
k?`Q\  
optiSLang –设置优化 jOU1F1  
v.{I^=  
优化向导 ;;<[_gp,E  
─ 然后,需要指定一些附加选项。 P;[>TCs ]8  
─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 i$dF0.}Q  
─ 然后点击结束。 ^/"2s}+  
1SY3  
&C.m*^`^  
aT}?-CUxx  
optiSLang –进化算法的高级设置 k*o>ZpjNH  
%lqrq<Xn  
高级设置 Ctpc]lJ}  
─ 双击创建优化,可以调整优化算法的详细参数。 )d7U3i  
HVaKy+RU  
^_XV}&7Q  
optiSLang –进化算法的高级设置 `!7QegJa"  
S\W&{+3  
高级设置 <:I]0|[  
─ 双击创建优化,可以调整优化算法的详细参数。 B+2Jea,N  
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 _{48s8V  
</33>Fu)  
 q a}=p  
^9 {r2d&c  
optiSLang –进化算法的高级设置 ;BjJ<?^{  
'Z`fZ5q  
高级设置 Su/}OS\R  
─ 双击创建优化,可以调整优化算法的详细参数。 $Y<(~E$FX  
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 fhbILg  
─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) K])| V  
mBWhC<kKs  
d{~Qd|<rr  
O`FuXB(t  
optiSLang –进化算法的高级设置 VIg=| Oe),  
*&vi3#ur  
高级设置 hsHtLH+@  
─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 ,7*-%05[\  
─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 eW zyydl  
─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 z+F:_  
─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 n^$HC=}S  
kq=tL@W`0}  
FN295:Iuw  
4Vrx9 sA1  
optiSLang –设计计算的并行化 \'Ewn8Qv8  
2Wq/_:  
并行化设置 b%M|R%)]  
─ 一些优化算法允许并行计算设计。 I<L<xwh1(E  
─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 6Rc%P)6  
─ 为了允许并行计算,必须启用多个求解器。 ?KtvXTy{m  
─ 通过双击VirtualLab求解器,可以找到此附加选项。 "U%jG`q  
─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 ybgAyJ{J<  
jN^09T49  
W5a>6u=g,  
i"U<=~  
optiSLang –开始优化 "Go)t + -  
@AAkEWo)_  
运行优化 <|_b:  
─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 Ax"I$6n>  
─ 点击运行按钮开始优化。 8et.A  
i=8){G X4  
P g1EE"N@  
(y{nD~k  
optiSLang –优化结果 }c-tvK1g  
>5}jM5$  
优化结果 'c|Y*2@  
─ 优化结束后,可以在新窗口中得到结果。 0&|,HK  
|? l6S  
kFF)6z:2  
8/* 6&#-  
optiSLang –优化结果 5Pu F]5  
/"%QIy'{  
优化结果 @C fxPA  
─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 2e @zd\  
─ 用户能够为他的应用选择最合适的设计。 i&dMX:fRd  
─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 FI|@=l;_  
h2C1'+Q{9  
Mb0cdK?hA  
M=aWL!nJ  
optiSLang –优化结果 Q&Ox\*sMK  
$S0eERg a  
优化结果 (G:K?o)  
─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 Ug|o ($CY  
─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 <r{ )*]#l  
YOHYXhc{S  
=2=n   
Kzd`|+?'`M  
optiSLang –导入优化结果 -j 6U{l  
(W l5F  
导入优化结果 044*@a5f  
─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 "nK(+Z  
─ 最后,可以在VirtualLab中进一步分析导入的LPD。 `+(|$?Cu  
ceu}Lp^%/  
#j{!&4M  
= ?hx+-'  
总结 ?"no~(EB  
fuxBoB  
作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 uUczD 8y  
@9QtK69  
;=.QT  
|ei?s1)  
文档信息 {&Fh$H!  
G/Xa`4"_  
L:y} L  
Pb|'f(  
QQ:2987619807 !m#cneV  
查看本帖完整版本: [-- VirtualLab Fusion中运用optiSLang进行光栅优化 --] [-- top --]

Copyright © 2005-2026 光行天下 蜀ICP备06003254号-1 网站统计