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

infotek 2024-09-28 08:02

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

摘要 <soz#}e  
fbkd"7u  
/LM4- S  
7HHysNB"w  
现代光学系统的优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 lMz<s  
P\&! ]  
VirtualLab Fusion和optiSLang的界面 Z^9/v  
kpI{KISQu  
VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 ^o !O)D-q  
U5]pi+r  
_7D_72  
IjfxR mV  
optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   3<?XTv-  
两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 P &)1Rka  
7DfTfTU6  
VirtualLab Fusion – 光学装置初始化 2F8|I7R  
6st^4S5  
初始装置 ]}UgS+g>$  
─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 f):~8_0b  
─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 {R^'=(YFy  
o_Si mJFK  
sK 2 e&  
    pAu72O?  
VirtualLab Fusion – 波导耦合探测器 ~=Ncp9ej#  
!%Y~~'5 h  
波导耦合探测 C`'W#xnp1  
─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 i%#$*  
─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 \NqEw@91B  
pX=,iOF[I  
z\/53Sy<  
   ba3-t;S  
VirtualLab Fusion – 波导耦合探测器 ?R5'#|EyX  
波导耦合探测 ]/T -t1D  
─ 该例中使用了倾斜光栅。 !?[oIQ)h  
b8f+,2Tk  
@S 6u9v  
)nu~9km3  
VirtualLab Fusion – 波导耦合探测器 fRm}S>Nibb  
波导耦合探测 8#` 6M5  
─ 该例中使用了倾斜光栅。 )uLr?$qe  
OSzjK7:  
PzY)"]g  
oY`qInM_  
VirtualLab Fusion – 波导耦合探测器 w.N,)]h  
-iCcoA  
波导耦合探测 @rb l^  
─ 输入光源的入射角度范围在探测器编辑对话框中指定。 wE).>  
─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 89cVJ4]g~!  
5A&y]5-Q`  
%q_Miu@  
3hq1yyec  
VirtualLab Fusion – 波导耦合 Gowp <9 F  
:[M[(  
波导耦合探测 ODf4+& u  
─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 Oe1 t\  
─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 !5x Ly6=}  
:G)<}j"sM  
,f: jioY  
J -Qh/d%]  
VirtualLab Fusion – 输出LPD至OPtiSLang AH.9A_dG  
_eLVBG35z  
输出LPD至OPtiSLang -cNx1et  
─ File→Export→Export to optiSlang Project fY2wDD  
bO49GEUT _  
{aN(d3c  
VirtualLab Fusion – 输出LPD至OPtiSLang SvK1.NUa  
#B\=Aa`*  
输出LPD至OPtiSLang GoE#Mxhxo  
─ File→Export→Export to optiSlang Project YDiN^q7  
─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 :G'xi2bs  
dm R3Y.\jd  
{TZE/A3D,  
T{*^_  
VirtualLab Fusion – 输出LPD至OPtiSLang L)-*,$#<oW  
'=} Y2?(  
输出LPD至OPtiSLang NMjnL&P`  
─ 在输出对话框窗口。 >,h1N$A+  
 可定义参数空间,并包含了参数的变化范围。 ~uPk  
 可以选择保存到的输出文件夹。 7tH]*T9e>  
 可以指定模拟引擎,用于分析。 _g6m=N4  
\_oy$>;  
\Tq "mw9P  
~HP LV  
optiSLang – 初始化优化 lSc,AOXp  
i+~QDo(Pi  
设置求解器系统 PI7IBI  
─ File→New project… Um ;kd&#x  
GhnE>d;i  
R @r{  
B- Y+F  
optiSLang – 初始化优化 \7E`QY4  
oofFrAaT  
设置求解器系统 QAvWJydb  
─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 7b.U!Ju  
─ 打开了一个对话框,列出了几种求解器(Solver)范例。 -,>:DUN2  
─ 求解器(Solver)范例中必须选择VirtualLab。 |t\KsW  
\:sk9k  
u g6r]0]  
optiSLang – 初始化优化
?"@ET9  
N^@ \tg=  
设置求解器系统 spiDm:Xe  
─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 9kd.j@C  
+-HE '4mo  
$DV-Ieb  
d5, FM  
optiSLang – 初始化优化 GUCM4jVT^  
v,\93mNp[  
参数化的求解器系统 szn%wZW  
─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 eH=c|m]!P  
─ 请务必保存计划。 b@-)Fy4d2  
-~'kP /E^  
$Z7:#cZ Y  
P7 8uq  
optiSLang – 初始化优化 &9h  
B_@7IbB  
参数化的求解器系统 ~}%&p& p  
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 ,%='>A  
#! @m y  
]xB6cPdLu  
t|".=3%G  
optiSLang – 初始化优化 )GCLK<,swu  
sVD([`Nmc  
参数化的求解器系统 5xv,!/@  
─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 Z`"n:'&  
─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 8AX3C s_G  
8a!2zwUBV  
% 9YA^ri  
&O{t^D)F  
optiSLang –设置优化 n@o  
GsRt5?X/*  
参数化的求解器系统 ]h!*T{:  
─ optiSLang可以进行多目标函数的光学系统优化。 #?5VsD8  
─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 o(nHB g  
@_uFX!;  
.)nCOwR6p  
a5I%RY  
optiSLang –设置优化 lzI/\%  
L.Vq1RU\"  
参数化的求解器系统 JSUzEAKe  
─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 tQCj)Ms'X  
─ 因此优化算法会尽可能地使均匀度对比最小化。 " #J}A0  
Vg) ^|  
2q$X>ImI$  
%$\}z( G  
optiSLang –设置优化 ?xf~!D  
X &09  
参数化的求解器系统 `;T? 9n  
─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 `O jvt-5}E  
─ 因此优化算法会尽可能地使平均效率最大化。 R3cG<MjmK  
─ 这步操作被称为多目标优化。 s!=!A  
%0Vc\M@"G  
RDJ82{  
q2D`1nT  
optiSLang –设置优化 [y$j9  
@)06\ h  
优化向导 UFJEs[?+Te  
─ 下一步可以通过拖放来使用优化向导。 g')?J<z   
G+;g:_E=  
2GUhV*TN  
ud!r*E  
optiSLang –设置优化 M!{Rq1M  
79y'Ja+`j  
优化向导 *E$H;wKs8  
─ 第一步,提供了各种系统参数,包括其指定的值范围。 X{4xm,B/  
─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 1. xw'i  
─ 然后点击下一步。 x%ZiE5#  
yFa&GxSq  
baA HP "  
optiSLang –设置优化 @)+i{Niuv  
Pm'.,?"  
优化向导 )vxVg*.Ee  
─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 s 0 =@ &/  
─ 也可以从其他文档中输入条件。 aj% `x4e A  
─ 然后点击下一步。 -_:JQ  
^D0/H N   
%_cg|yy  
2I9{+>k  
optiSLang –设置优化 -{.h\  
+*]SP@|IYI  
优化向导 Q2??Kp] 1  
─ 第三步,选择优化方法。 )GQ D*b  
─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: hnlU,p&y3  
 红:不适用 mOgx&ns;j  
 黄:适用 `1DU b7<  
 绿:推荐 qM+!f2t  
─ 该例中推荐使用进化算法。 >7eu'  
─ 然后点击下一步。 (2&K (1.Y  
m^(E:6T  
!: `Ra  
!!\4'Q[  
optiSLang –设置优化 9~*_(yjF  
jnx+wcd  
优化向导 V1AEjh  
─ 然后,需要指定一些附加选项。 jFK9?cLT  
─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 n$A(6]z5O  
─ 然后点击结束。 :X]lXock0  
}6b7a1p  
oQKcGUZ  
\3 O-} n1S  
optiSLang –进化算法的高级设置 Bil;@,Z#  
C[HE4xF6  
高级设置 ~%::r_hQ  
─ 双击创建优化,可以调整优化算法的详细参数。 _r^G%Mvy|  
&St~!y6M?  
UwzE'#Q-  
optiSLang –进化算法的高级设置 8=b{'s^^F  
#m[w=Pu}  
高级设置 "fX8xZdS  
─ 双击创建优化,可以调整优化算法的详细参数。 Z\o AE<$  
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 pU\xzLD  
_dB0rsCnU%  
ph5xW<VNP  
+5seT}h  
optiSLang –进化算法的高级设置 ! S$oaCxM  
KD<; ?oN<O  
高级设置 \3@2rW"5  
─ 双击创建优化,可以调整优化算法的详细参数。 Z"PDOwj5  
─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 HtS1N}@  
─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) p'9 V. _h  
A,A-5l<h]?  
q#':aXcv"  
@[Jt~v  
optiSLang –进化算法的高级设置 8Y;zs7Y  
{ ?1 mY"  
高级设置 S]e~)I gO  
─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 `)xU;-  
─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 :)3$&QdHT  
─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 [b\lcQ8O  
─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 1\7"I-  
j)SgB7Q  
LQ&d|giA  
4<K ,w{I  
optiSLang –设计计算的并行化 =G3J.S*Riy  
]!S)O|_D[  
并行化设置 SS<+fWXE  
─ 一些优化算法允许并行计算设计。 2+G:04eS,e  
─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 IQ27FV|3  
─ 为了允许并行计算,必须启用多个求解器。 BIB>U W  
─ 通过双击VirtualLab求解器,可以找到此附加选项。 NiQc2\4%  
─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 \Lh<E5@]  
1rzq$,O  
."#jN><t  
:4L5@>b-  
optiSLang –开始优化 )v$Cv|"  
,uD*FSp>  
运行优化 9gIJX?  
─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 |@n{tog+-  
─ 点击运行按钮开始优化。 qytGs@p_  
H?r;S 5)c  
c75vAKZ2  
O|g!Y(  
optiSLang –优化结果 7=ga_2  
(nZ=9+j]d  
优化结果 p?gLW/n  
─ 优化结束后,可以在新窗口中得到结果。 b<H6 D}  
4uE5h~0Z  
Q)|LiCR,  
g>oYEFFJ  
optiSLang –优化结果 0bQiUcg/  
e hB1`%@  
优化结果 qt&"cw  
─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 'C?f"P:X{  
─ 用户能够为他的应用选择最合适的设计。 $@f3=NJ4k  
─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 X52jqXjg  
o>,z %+  
TD=/C|  
Z 5YW L4s  
optiSLang –优化结果 R*5;J`TW  
{q>4:lsS  
优化结果 #RIfR7`T  
─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 t 6IaRD  
─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 X}QmeY[0I  
_!g NF=  
.aH?H]^  
L$kAe1 V^m  
optiSLang –导入优化结果 Rw^YTv  
XGl13@=O  
导入优化结果 - 5Wt9  
─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 <cOE6;d#  
─ 最后,可以在VirtualLab中进一步分析导入的LPD。 nv[Sb%/  
/!uBk3x:  
"._WdY[  
!?M_%fNE  
总结 O]LuL&=s y  
iOXP\:mPo  
作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 uU !i`8  
ik NFW*p  
青天如墨 2024-12-16 14:04
卧槽,大佬,终于找到了optislang的优化方法了
查看本帖完整版本: [-- VirtualLab Fusion中运用optiSLang进行光栅优化 --] [-- top --]

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