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

infotek 2023-07-31 08:15

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

摘要 6 3PV R"  
n/BoK6g  
pE+:tMH;  
c;t3I},  
现代光学系统的优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 Kx[+$Qt  
qKeR}&b  
VirtualLab Fusion和optiSLang的界面 ?qHQ#0 @y]  
Z3Ww@&bU  
VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 zcOm"-E-  
T8*;?j*@  
xf8e"mD  
FW3E UC)P  
optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   6_rgRo&  
两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 eLHhfu;k  
e<A>??h^  
VirtualLab Fusion – 光学装置初始化 Xa"I  
k $ SMQ6  
初始装置 wwR}h I(  
─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 X$t!g`  
─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 0&kmP '  
[z_z tK1  
M0vX9;J  
   4}0YLwgJ  
VirtualLab Fusion – 波导耦合探测器 n#?y;Y\  
>*^SQ{9  
波导耦合探测 % bdBg  
─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 SuV3$-);z  
─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 |{%$x^KyJ  
:To{&T  
siV]NI ':|  
   Y>2#9LA  
VirtualLab Fusion – 波导耦合探测器 AEFd,;GF  
波导耦合探测 c&<Ei1  
─ 该例中使用了倾斜光栅。 >G[:Q s  
0x&L'&SpN  
#c/K.?  
Hy'EbQ  
VirtualLab Fusion – 波导耦合探测器 931GJA~g  
波导耦合探测 "N,@J-]/k  
─ 该例中使用了倾斜光栅。 CqX*.j{  
r#}o +3*  
Cnu])R  
r0\C2g_X  
VirtualLab Fusion – 波导耦合探测器 "-IF_Hid  
elD|b=(-  
波导耦合探测 ;D(6Gy9~  
─ 输入光源的入射角度范围在探测器编辑对话框中指定。 x'Nc}  
─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 Kb/qM}jS  
:8v? 6Q  
4^ 0CHy  
$p }q,f.  
VirtualLab Fusion – 波导耦合 \4fuC6d2  
Cf v1nU W  
波导耦合探测 KfC{/J\   
─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 R=iwp%c(  
─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 9D?JzTsyg  
h>z5m   
hfvC-f97L  
l['ER$(7  
VirtualLab Fusion – 输出LPD至OPtiSLang 'OU3-K  
zCS }i_ p  
输出LPD至OPtiSLang G}dq ft5"  
─ File→Export→Export to optiSlang Project #,"[sag  
T&<ee|t@{  
S[l z>I  
VirtualLab Fusion – 输出LPD至OPtiSLang p~-)6)We?  
szOa yAS  
输出LPD至OPtiSLang  T#Z#YMk  
─ File→Export→Export to optiSlang Project }n,LvA@[0  
─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 Nk$|nn9#'  
W6u(+P]("  
bc& 5*?  
dL1{i,M  
VirtualLab Fusion – 输出LPD至OPtiSLang $/E{3aT@F2  
zP$"6~.  
输出LPD至OPtiSLang XWB#7;,R  
─ 在输出对话框窗口。 Q[T)jo,j%  
 可定义参数空间,并包含了参数的变化范围。 iqWkhJphv  
 可以选择保存到的输出文件夹。 uy|]@|J  
 可以指定模拟引擎,用于分析。 BG1hk!  
7VLn$q]:  
)~w bu2;  
vhU#<59a1  
optiSLang – 初始化优化 )[E7\pc  
{{ 1qk G9$  
设置求解器系统 R0q|{5S  
─ File→New project… +}f}!h;  
*M$$%G(4  
Lr "V  
@G|z _  
optiSLang – 初始化优化 LO%OH u}]  
%^u e  
设置求解器系统 }C JK9*Z  
─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 4`?WdCW8  
─ 打开了一个对话框,列出了几种求解器(Solver)范例。 ABq#I'H#@2  
─ 求解器(Solver)范例中必须选择VirtualLab。  "'Q~&B;@  
8'Q&FW3"  
3_J({  
optiSLang – 初始化优化
qM d4awB R  
1<0Z@D~F  
设置求解器系统 ?:7$c  
─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。  Q 6r  
?]_A~_J!  
y@ c[S;  
,Mn`kL<F  
optiSLang – 初始化优化 7aHP;X~0  
\.=,}sV2Z  
参数化的求解器系统 w6AG:u  
─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 Ece=loV*l  
─ 请务必保存计划。 byk9"QeY\  
AFWWGz  
87R$Y> V  
^W0eRT  
optiSLang – 初始化优化 `pd+as  
5RKs 2 eV  
参数化的求解器系统 VH~ZDZ1P  
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 l~x 6R~q  
L,sXJ23.  
aBKJd  
?|GwuG8g  
optiSLang – 初始化优化 I%mGb$ Q  
X $SXDb~G  
参数化的求解器系统 "l(<<Ha/  
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 wf~n>e^e  
─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 [tJp^?6*  
f3mQd}<L  
<,&t}7M/:  
E$4Ik.k  
optiSLang –设置优化 W"D>>]$|u  
pH396GFIW  
参数化的求解器系统 @-O%u* %J  
─ optiSLang可以进行多目标函数的光学系统优化。 +GNXV-S  
─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 z+j3j2  
2&2t8.<  
2))p B/  
^B(:Hv}G(:  
optiSLang –设置优化 F441K,I  
U)_x(B3d/  
参数化的求解器系统 YS>VQl  
─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 >oyZD^gj  
─ 因此优化算法会尽可能地使均匀度对比最小化。 @KU^B_{i  
&C6*"JZ4  
(l)r.Vj  
if+97^Oy  
optiSLang –设置优化 -'j|U[&N\  
W"5VqN6v  
参数化的求解器系统 KK/siG~O  
─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 LC0g"{M  
─ 因此优化算法会尽可能地使平均效率最大化。 er2#h  
─ 这步操作被称为多目标优化。 y+M9{[ i/O  
+QEiY~i  
f|{&Y2h(R  
28lor&Cc  
optiSLang –设置优化 DhiIKd9W  
dK7BjZTJo  
优化向导 ov|pXi<e  
─ 下一步可以通过拖放来使用优化向导。 ;2547b[ ]  
A7aW]  
x,QXOh\a  
=m?x5G^  
optiSLang –设置优化 *;~i\M9_  
6FEIQ#`{  
优化向导 D3C3_ @*  
─ 第一步,提供了各种系统参数,包括其指定的值范围。 32K  
─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 N[sJ5oF  
─ 然后点击下一步。 {0\9HI@  
u9R@rQ9r  
_O`s;oc  
optiSLang –设置优化 yzyK$WN\[3  
+.66Ky`|[  
优化向导 GNoUn7Y  
─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 + y|Q7+  
─ 也可以从其他文档中输入条件。 }} zY]A  
─ 然后点击下一步。 fD2 )/5j1  
N$P\$  
F;Bq[V)R  
|) CfO4  
optiSLang –设置优化 VB}^&{t)!  
}k_'a^;C1  
优化向导 :[ll$5E.  
─ 第三步,选择优化方法。 9QEK|x`8  
─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: c6MMI]+8  
 红:不适用 N$<R6DU]K  
 黄:适用 hWRr#030  
 绿:推荐 e}TDo`q  
─ 该例中推荐使用进化算法。 uMK8V_p*?  
─ 然后点击下一步。 .hK:-q,  
m[Cp G=32B  
Xt$Y&Ho  
M^.>UZKyl  
optiSLang –设置优化 [s~6,wz  
6K5mMu#4  
优化向导 wfQImCZ>l  
─ 然后,需要指定一些附加选项。 FR6 PY  
─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 O@`KG ZEPY  
─ 然后点击结束。 PySFhb@  
QQ./!   
axz.[L_elB  
yhd]s0(!  
optiSLang –进化算法的高级设置 3shd0q<  
cs*"9nKl  
高级设置 TPNKvv!s  
─ 双击创建优化,可以调整优化算法的详细参数。 &M6Zsmo  
tiF-lq  
lec3rv0)  
optiSLang –进化算法的高级设置 96<0=   
D|IS@gWa  
高级设置 Q 6dqFnz  
─ 双击创建优化,可以调整优化算法的详细参数。 /?u]Fj  
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 Qn)AS1pL+  
}gKJ~9Jg  
Dfy=$:Q  
W;|%)D)y  
optiSLang –进化算法的高级设置 UD ;UdehC  
m[s$)-T  
高级设置 {pC$jd>T  
─ 双击创建优化,可以调整优化算法的详细参数。 @]dv   
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 Y-~ M kB  
─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) Z=(Tq1t  
X u2+TK  
]E#W[6'VtB  
t)4] 2z)$  
optiSLang –进化算法的高级设置 D_ XOYzN}  
2W }j bOy  
高级设置 Em(Okr,0  
─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 FA{(gib@9  
─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 ;Swy5z0=ro  
─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 ba^/Ar(B  
─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 |g1Pr9{wy  
C@u}tH )  
"%#CMCE|f  
okTqq=xd`  
optiSLang –设计计算的并行化 2IXtIE  
B(Er/\-@U  
并行化设置 XT1P. w[aA  
─ 一些优化算法允许并行计算设计。 5 hW#BB  
─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 F12$BK DH  
─ 为了允许并行计算,必须启用多个求解器。 }4kQu#0o")  
─ 通过双击VirtualLab求解器,可以找到此附加选项。 P2)/!+`a  
─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 g nw">H  
0/uy'JvWru  
"iUh.c=0F,  
M9?f`9  
optiSLang –开始优化 Tt4Q|"CJA  
d '\ ^S}  
运行优化 IUz`\BO4  
─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 $.4N@=s,?c  
─ 点击运行按钮开始优化。 -K/c~'%'*  
yJMo/!DZ  
v7,-Q*  
0bOT&Z^  
optiSLang –优化结果 uw(Ml=  
zF(abQ0  
优化结果 tTT :r),}$  
─ 优化结束后,可以在新窗口中得到结果。 "^wIixOH5  
h=^UMat-  
8Yo;oHk7  
 /#zs  
optiSLang –优化结果 Y$s4 *)%  
.@$ A~/ YU  
优化结果 J[c`Qq:&e  
─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 #Y'ewu;qJ  
─ 用户能够为他的应用选择最合适的设计。 i`=%X{9  
─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 HubK  
1\nzfxx  
@mb'!r  
|Qn>K   
optiSLang –优化结果 Z+=-)&L  
4j(`koX_  
优化结果 PbFbi hg  
─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 #/H Z[Vw  
─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 4/OmgBo '  
F<Xtp8  
dA<_`GFR  
k{U[ U1j  
optiSLang –导入优化结果 1 hD(l6tG@  
r_kaS als  
导入优化结果 `U&'71B^  
─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 N#XC%66qy!  
─ 最后,可以在VirtualLab中进一步分析导入的LPD。 A (H2Gt D  
`G%h=rr^c  
2sp4Mm  
f?> ?jf  
总结 I'[;E.KU  
iJ @p:  
作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 HE>V\+ AL  
(G(M"S SC  
查看本帖完整版本: [-- VirtualLab Fusion中运用optiSLang进行光栅优化 --] [-- top --]

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