切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
    • 281阅读
    • 0回复

    [技术]VirtualLab Fusion中运用optiSLang进行光栅优化 [复制链接]

    上一主题 下一主题
    离线infotek
     
    发帖
    6922
    光币
    28760
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2025-12-30
    摘要 \Y$@$)   
    )YY8`\F>1  
    T`W37fz0  
    qA>C<NL  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 AAc*\K  
    *-,jIaL;  
    VirtualLab Fusion和optiSLang的界面 'z$!9ufY,  
    LUKt!I0l  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 ?Zh,W(7W  
    @g%^H)T  
    ZxoAf;U~  
    [J\! 2\Oo  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   I4Rd2G_  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 p/ au.mc  
    QdK PzjA  
    VirtualLab Fusion – 光学装置初始化 8;<3Tyjzu  
    5J2tR6u-(  
    初始装置 !V27ln KP+  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 i~ITRi@  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 fl+dL#]  
    E5Zxp3N  
    W{X5~w(  
       COFCa&m9c  
    VirtualLab Fusion – 波导耦合探测器 EXizRL-9o  
    @$R^-_m  
    波导耦合探测 #4Ltw ,b^  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 Cm%xI& Y  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 6QX2&[qWS  
    58[.]f~0  
    fD~f_Wr  
       \qw1\-q  
    VirtualLab Fusion – 波导耦合探测器 Noi+mL  
    波导耦合探测 gxCl=\  
    ─ 该例中使用了倾斜光栅。 v<:/u(i  
    ;R*tT%Z,  
    2@>#?c7  
    Rc#c^F<  
    VirtualLab Fusion – 波导耦合探测器 bF c %  
    波导耦合探测 -`ss7j&b3  
    ─ 该例中使用了倾斜光栅。 f"aqg/l  
    @WnW @'*F  
    I`uOsZBO/  
    fDrjR6xV  
    VirtualLab Fusion – 波导耦合探测器 v@Bk)Z  
    4%>2 >5  
    波导耦合探测 6fV;V:1{  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 zw}Wm4OH  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 _Eus7  
    n}3fItSJ  
    B j z@X  
    GEJy?$9   
    VirtualLab Fusion – 波导耦合 5uO.@0  
     `s~[q  
    波导耦合探测 ftccga  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 !"bU|a  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 Ybp';8V  
    0/fA>%&  
     li  
    M&5De{LS}  
    VirtualLab Fusion – 输出LPD至OPtiSLang qU+q Y2S:  
    [z r2\(  
    输出LPD至OPtiSLang J9q[u[QZ9O  
    ─ File→Export→Export to optiSlang Project A9kn\U92  
    gi JjE  
    {LqahO*  
    VirtualLab Fusion – 输出LPD至OPtiSLang "4WwiI9  
    f;]C8/W  
    输出LPD至OPtiSLang 3u&)6C?YM  
    ─ File→Export→Export to optiSlang Project .M>g`UW  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 0jMS!"k   
    M:R|hR{=*  
    2A(IsUtqO:  
    >36>{b<'$*  
    VirtualLab Fusion – 输出LPD至OPtiSLang :\IZ-  
    +.IncY8C$  
    输出LPD至OPtiSLang  ^9 Pae)  
    ─ 在输出对话框窗口。 Zz^!QlF  
     可定义参数空间,并包含了参数的变化范围。 `c/mmS  
     可以选择保存到的输出文件夹。 >m4HCs>  
     可以指定模拟引擎,用于分析。 yN9setw*,M  
    %Z { 7*jtE  
    3$h yV{  
    pXl *`[0X#  
    optiSLang – 初始化优化 M1_1(LSU  
    d/l>~%bR  
    设置求解器系统 ` l}+BI`4  
    ─ File→New project… {7d\du&G  
    (x/xqDpmBS  
    ;)'  
    z0xw0M+X  
    optiSLang – 初始化优化 G&dz<f  
    JXk<t5@D  
    设置求解器系统 _OvIi~KW+  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 z1m$8-4  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 m!^z{S  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 n--w-1  
    N\W4LO6  
    k?qd -_sC  
    optiSLang – 初始化优化
    VTs ,Ln!,U  
    Ou wEO   
    设置求解器系统 ["SD'  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 |>jlmaV  
    k/.a yLq  
    qL/XGIxL?  
    H* vd  
    optiSLang – 初始化优化 N)o/}@]6  
    sX|bp)Nw  
    参数化的求解器系统 &v.Nj9{zi  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 mH5[(?   
    ─ 请务必保存计划。 T5? eb"  
    BiCC72oig  
    ?b3({P  
    } TsND6Ws3  
    optiSLang – 初始化优化 RinaGeim  
    ,,CheRO  
    参数化的求解器系统 2t 1u{  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 #*x8)6Ct  
    3p#BEH<re  
    0qhSV B5  
    W B7gY\Y&M  
    optiSLang – 初始化优化 MT(G=r8  
    CZ}%\2>-v  
    参数化的求解器系统 a@niig  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 jR@J1IR<  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 y5$AAas  
    sq1v._^s  
    khS >  
    8|H^u6+yz  
    optiSLang –设置优化 KdU&q+C^  
    ,'^^OLez  
    参数化的求解器系统 $C`YVv%?0  
    ─ optiSLang可以进行多目标函数的光学系统优化。 ,e!9WKJ B  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 x'hUw*  
    Ry4`Q$=:  
    v5g]_v*F  
    m5\/7 VC  
    optiSLang –设置优化 v]e6CZwo  
    x&YcF78  
    参数化的求解器系统 D<UX^hU   
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 sB'Z9  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 w;8VD`>[|  
    IPEJ7 n49  
    Z Vj  
    !Ng~;2GoA  
    optiSLang –设置优化 2:tO"   
    _1U7@v:<@  
    参数化的求解器系统 =b[q<p\  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 J~(M%] &k^  
    ─ 因此优化算法会尽可能地使平均效率最大化。 {*Tnl-m~  
    ─ 这步操作被称为多目标优化。 |8s45g>  
    _{f7e^;  
    jO+#$=C  
    *h Z{>  
    optiSLang –设置优化 ^7$V>|  
    a?5R ;I B  
    优化向导 5"o)^8!>  
    ─ 下一步可以通过拖放来使用优化向导。 EL+P,q/b  
    hB 36o9|9  
    JtGBNz!"  
    ';.n#  
    g@][h_? {  
    $ ";NS6 1  
    optiSLang –设置优化 !3T,{:gyrI  
    iQj2aK Gs  
    优化向导 Ub9p&=]h  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 o u*`~K|R  
    ─ 也可以从其他文档中输入条件。 H<wrusRg  
    ─ 然后点击下一步。 ds|L'7  
    UKfpoDhEe  
    fjwUh>[ }  
    $9m>(b/;n  
    optiSLang –设置优化 ]5`Y^hS_g  
    >p,FAz>  
    优化向导 D8,V'n>L  
    ─ 第三步,选择优化方法。 Z9vJF.clO  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: /C"?Y'  
     红:不适用 9m:G8j'  
     黄:适用 6i.!C5YX]  
     绿:推荐 =abBD   
    ─ 该例中推荐使用进化算法。 u~VvGLFf5,  
    ─ 然后点击下一步。 g?=|kp  
    >+8Kl`2sw;  
    6-vQQ-\  
    |ZBHXv  
    optiSLang –设置优化 iZbY@-3fc  
    cc_v4d{x  
    优化向导 BiI}JEp4o  
    ─ 然后,需要指定一些附加选项。 ^ua8Ya  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 jUg.Y98  
    ─ 然后点击结束。 U{%N.4:   
    ZuIw4u(9  
    # mK?K  
    bQelU  
    optiSLang –进化算法的高级设置 1e(Q I) ~  
    w +~,Mv\  
    高级设置 sn6:\X<[  
    ─ 双击创建优化,可以调整优化算法的详细参数。 ^KO=8m( )J  
    $b=4_UroS  
    8R;A5o,  
    optiSLang –进化算法的高级设置 7B| #*IZe  
    pg:1AAhT[  
    高级设置 ~+r"% KnG  
    ─ 双击创建优化,可以调整优化算法的详细参数。 1p|}=R  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 |wYOO(!  
    ]pi8%.d  
    yQ{xRtNO  
    rs?"pGz;  
    optiSLang –进化算法的高级设置 yw3E$~k  
    ~DJ>)pp  
    高级设置 1P1"xT  
    ─ 双击创建优化,可以调整优化算法的详细参数。 SC 6cFyp2  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 a$K.Or}  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) G*x"drP  
    `+>'18F  
    aHzS>  
    qh<h|C]V  
    optiSLang –进化算法的高级设置 B}y`E <  
    '.8E_Jd0E  
    高级设置 KNZN2N)wR  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 O?I~XM'S  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 4gRt^T-?  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 Mc #w:UH[  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 (&y~\t] H  
    Oi~ ]~+2  
    paG^W&`;  
    ?-g/hXx;  
    optiSLang –设计计算的并行化 5`?'}_[Yj  
    Aa#WhF  
    并行化设置 ? h*Ngbj>  
    ─ 一些优化算法允许并行计算设计。 0M^v%2 2  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 ARt+"[.*p  
    ─ 为了允许并行计算,必须启用多个求解器。 'Lb- +X,  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 >,V~-Tp  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 2V*<HlqOif  
    7Y>17=|  
    1dgy-$H~  
    ,(  ?q  
    optiSLang –开始优化 QlmZ4fT[r  
    i{9_C/  
    运行优化 |_7AN!7j  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 H]XY  
    ─ 点击运行按钮开始优化。 :"pA0oB  
    9ne13 qVm+  
    O DLRzk(  
     3~mi  
    optiSLang –优化结果 {d%% nK~  
    XYM 5'  
    优化结果 tf5h/:  
    ─ 优化结束后,可以在新窗口中得到结果。 )zR(e>VX  
    0F495'*A  
    *C*'J7  
    rv\yS:2  
    optiSLang –优化结果 2qF ?%  
    S-$N!G~!  
    优化结果 (pl|RmmDz  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 nX|f?5 O  
    ─ 用户能够为他的应用选择最合适的设计。 C" W,  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 ]&dU%9S  
    *x;&fyR  
    %rmn+L),;  
    )M!6y%b67  
    optiSLang –优化结果 bAsoIra  
    [K\Vc9  
    优化结果 fXV+aZ  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 ][jW2;A  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 X(`wj~45VX  
    zv^km5by  
    W@vt6v  
    8)wxc1  
    optiSLang –导入优化结果 /mM#nS  
    *K<|E15 ,  
    导入优化结果 0Q]ZS  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 T;f`ND2fY  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。  *XlbD  
    j`'9;7h M6  
    cQ?eL,z  
    _>G.  
    总结 .]0u#fz0y  
    $ e<108)]  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 .}wVM`81z  
    NM`5hd{  
     
    分享到