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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    6613
    光币
    27214
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2020-08-19
    摘要 P_?1Rwm-45  
    2 Sr'B;`p  
    O-G@To3\  
    *U]f6Q<X  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 SEuj=Vie#  
    <bid 6Q0|  
    VirtualLab Fusion和optiSLang的界面 epwXv|aSZ  
    =uvv|@Z  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 r!zNcN(%cs  
    o2.! G  
    t=pG6U  
    yrIT4y  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   =]^* -f}J9  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 i'57|;?  
    *&U9npN  
    VirtualLab Fusion – 光学装置初始化 'shOSB  
    NH?s  
    初始装置 x##Iv|$  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 p1&d@PF&&  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 I{2e0  
    oZ=e/\[K  
     %"z W]  
       ypsCyDQK`  
    VirtualLab Fusion – 波导耦合探测器 56v<!L5%  
    ybB}|4d&   
    波导耦合探测 G +YF  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 1'd "O @  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 q3I,3?_  
    H(g&+Wcu=  
    CHLMY}O0  
       INkrG.=u  
    VirtualLab Fusion – 波导耦合探测器 Ii K&v<(]  
    波导耦合探测 s$]I@;_  
    ─ 该例中使用了倾斜光栅。 T @z$g  
    [oYe/<3  
    g%+nMjif  
    %bv<OMD  
    VirtualLab Fusion – 波导耦合探测器 sX=!o})0  
    波导耦合探测 crmnh4-  
    ─ 该例中使用了倾斜光栅。 SC!IQ80H#D  
    7IvCMb&%R  
    PffwNj/l  
    q=EQDHmh  
    VirtualLab Fusion – 波导耦合探测器 ~#-`Qh  
    -OziUM1qs  
    波导耦合探测 u&g} !Smc8  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 Ge @d"  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 !"1bV [^  
    m4%m0"Z  
    AUN Tc3  
    Jv7M[SJ#x  
    VirtualLab Fusion – 波导耦合 n_w,Ew,>5  
    jRBx7|ON  
    波导耦合探测 R vY`9D  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 co*5NM^  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 9\"~G)  
    ?Z.YJXoKZ  
    mhs%b4'>  
    ~ PPGU1  
    VirtualLab Fusion – 输出LPD至OPtiSLang `|v#x@s  
    0xjV*0?s  
    输出LPD至OPtiSLang *yJb4uALB  
    ─ File→Export→Export to optiSlang Project 1]kk  
    0zfrx-'zN  
    8G@FX $$Q  
    VirtualLab Fusion – 输出LPD至OPtiSLang O_:Q#  
    sS0psw1  
    输出LPD至OPtiSLang HnpGPGz@F  
    ─ File→Export→Export to optiSlang Project 5jV]{ZV#  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 kC#;j=K?  
    BujWql  
    YvU#)M_h  
    )dvOg'it  
    VirtualLab Fusion – 输出LPD至OPtiSLang ]-q:Z4rb  
    Nd0Wt4=  
    输出LPD至OPtiSLang v(0vP}[Q7E  
    ─ 在输出对话框窗口。 aRV!0?fS  
     可定义参数空间,并包含了参数的变化范围。 U%#=d@?  
     可以选择保存到的输出文件夹。 AfY(+w6!K  
     可以指定模拟引擎,用于分析。 R52!pB0[  
    c.XLEjV|  
    <^&'r5H  
    jG/kT5S  
    optiSLang – 初始化优化 Rp|:$5&nE  
    vuK 5DG4  
    设置求解器系统 'z\F-Ttq  
    ─ File→New project… Zdak))7  
    >Te{a*`"m:  
     &wj Ob  
    5-g02g  
    optiSLang – 初始化优化 k{;:KW|  
    j9,X.?Xvx  
    设置求解器系统 {wm  `  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 [C&c;YNp  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 'R$~U?i8  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 nQgn^z#  
    1|%$ie  
    qzG'Gz{{qu  
    optiSLang – 初始化优化
    <&NR3^Eq  
    65}:2l2<  
    设置求解器系统 Xu T|vh  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。  {<i!Pm  
    hIw*dob  
    C/cyqxVl}  
    ;S%wPXj&  
    optiSLang – 初始化优化 $51#xe  
    ~:0h o  
    参数化的求解器系统 t2E_y6  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 N0XGW_f  
    ─ 请务必保存计划。 kn<[v;+  
    D/)xe:  
    +yTL  
    isN"7y|r:X  
    optiSLang – 初始化优化 IQ|~d08}  
    {4Isz-P  
    参数化的求解器系统 @tP,l$O&  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 'J\%JAR@  
    abF_i#  
    qv<VKJTi6]  
    ND`~|6yb  
    optiSLang – 初始化优化 p&q&Fr-   
    ;<*VwXJR  
    参数化的求解器系统 U@*z#T#"m  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 "44X'G8N  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 c2i^dNp_  
    xo*a9H?@  
    rVO+ vhih  
    I7}[%(~Sf/  
    optiSLang –设置优化 r9QNE>UG  
    D4S>Pkv  
    参数化的求解器系统 \;sUJr"$  
    ─ optiSLang可以进行多目标函数的光学系统优化。 xOt|j4  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 m/{rmtA4  
    |5W u0T  
    c~Ha68  
    Lkb?,j5  
    optiSLang –设置优化 `yf#(YP  
    {:"bX~<^  
    参数化的求解器系统 2yN~[, L  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 0)nU[CY  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 ~+1t 17  
    @-W)(9kZ|  
    1p tPey  
    EBn7waBS  
    optiSLang –设置优化 S4\T (  
    [#.QDe  
    参数化的求解器系统 LsLsSV  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 P!-9cd1 C,  
    ─ 因此优化算法会尽可能地使平均效率最大化。 HID;~Ne  
    ─ 这步操作被称为多目标优化。 uh GL1{  
    | 0&~fY  
    , n+dB2\  
    sqkPC_;A  
    optiSLang –设置优化 OW6i2>Or  
    Va{`es)hky  
    优化向导 0R; ;ou  
    ─ 下一步可以通过拖放来使用优化向导。 e}Db-7B_~  
    9 Z4H5!:(  
    ?{+}gS^  
    No h*1u*  
    optiSLang –设置优化 J0{0B=d;  
    n0cqM}P@;!  
    优化向导 9_&.G4%V  
    ─ 第一步,提供了各种系统参数,包括其指定的值范围。 05w_/l+  
    ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 T]0qd^\4w  
    ─ 然后点击下一步。 iptzVr#b[  
    p! Hpq W  
    9/0<Z_b2  
    g4U%(3,>D  
    optiSLang –设置优化 p-;*K(#X  
    g<tr |n  
    优化向导 .)Du ;  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 pvcD 61,  
    ─ 也可以从其他文档中输入条件。 eM{+R^8  
    ─ 然后点击下一步。 38rC; 6  
    %kyvt t  
    9CxU: ;3  
    B1\}'g8%f  
    optiSLang –设置优化 %\CsP!  
    O,hT< s "  
    优化向导 hg |DpP  
    ─ 第三步,选择优化方法。 N5o jXX!l%  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: f BukrPsV  
     红:不适用 Z}WMpp^r  
     黄:适用 >NK*$r8  
     绿:推荐 =%p0r z|b  
    ─ 该例中推荐使用进化算法。 \y{C>! WX4  
    ─ 然后点击下一步。 s<aJ pi{n4  
      Lxs  
    L%Me wU0TZ  
    ;QS-a  
    optiSLang –设置优化 /u5MAl.<[  
    fgq#Oi}  
    优化向导 L_Ff*   
    ─ 然后,需要指定一些附加选项。 R9^Vk*`gFU  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 jq%Qc9y  
    ─ 然后点击结束。 +%oXPG?  
    'tklz*  
    KP%A0   
    Qv|A^%Ub!  
    optiSLang –进化算法的高级设置 ;3 O0O  
    ]haZT\  
    高级设置 zXIVHC,"{  
    ─ 双击创建优化,可以调整优化算法的详细参数。 COZ<^*=A#p  
    o^}K]ML!t  
    !T!U@e=u  
    optiSLang –进化算法的高级设置 j!F5gP-l  
    +7.\>Ucq`  
    高级设置 lmf vT}$B  
    ─ 双击创建优化,可以调整优化算法的详细参数。 Il`35~a  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 ~ep-XO  
    A_i=hj 2f  
    f,9/Yg_  
    ]MKW5Kq  
    optiSLang –进化算法的高级设置 $qV, z  
    iz.J._&  
    高级设置 ]QlgVw,  
    ─ 双击创建优化,可以调整优化算法的详细参数。 J>y}kzCz  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 49W@?: b  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) \!x~FVA  
    $SQ UN*/>  
    2<q>]G-nN  
    &e0BL z  
    optiSLang –进化算法的高级设置 rO[cm}  
    m:SG1m_6  
    高级设置 '1+s^Q'pc  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 4YX/=  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 ,1&Pb %}  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 L 7VDZCV  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 q!iS Y  
    Vsw] v  
    ]{ ^'{z$i  
    Y7vUdCj  
    optiSLang –设计计算的并行化 _Wg?H:\  
    :{BD/6  
    并行化设置 A#k(0e!O  
    ─ 一些优化算法允许并行计算设计。 = p{55dR  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 Lz6b9W  
    ─ 为了允许并行计算,必须启用多个求解器。 Pw+PBIGn4  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 XB0G7o%1  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 wIQ~a  
    =>3wI'I  
    G5A:C(r  
    UI2TW)^2  
    optiSLang –开始优化 e<A6= }  
    3u[m? Vw  
    运行优化 *uW l 804  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 Z mVw5G q  
    ─ 点击运行按钮开始优化。 fJ<I|ZZ  
    (w[#h9j  
    J,(@1R]KF:  
    03p D<  
    optiSLang –优化结果 N> 7sG(!'"  
    qtrN=c3x  
    优化结果 %B}<5iO  
    ─ 优化结束后,可以在新窗口中得到结果。 NVnId p  
    {#`O'F>  
    *Ri\7CqU"6  
    c~``)N  
    optiSLang –优化结果 I-Q@v`  
    }_mVXjF  
    优化结果 A4uKE"WE  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 11VtC)  
    ─ 用户能够为他的应用选择最合适的设计。 d6^:lbj  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 JkShtLEr  
    Nwwn #+  
    MpK3+4UMa  
    ~ECIL7,  
    optiSLang –优化结果 2x5^kN7  
    O:E0htdWr  
    优化结果 {'8td^JEE  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 |E?PQ?P  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 3#A4A0  
    Iip%er%b  
    ]SC|%B_*  
    cs lZ;  
    optiSLang –导入优化结果 &2,3R}B/  
    O*7vmPy  
    导入优化结果 6,;dU-A+  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 ~U r  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 ~] &yHzp2  
    "hmLe(jo}  
    ]-j.\+(*  
    ]4ib^R~Z  
    总结 $-)T  
    $fCKK&Wy  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 O=[Q >\p  
    <Hf3AB;#4  
    aPdEEqc\l  
    ))%f"=:wt  
    文档信息 DaS~bweMw  
    kzk8b?rOA  
    i/ .#`  
    wrQ0 2?  
    QQ:2987619807 ;kI)j ?  
     
    分享到