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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    6243
    光币
    25360
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2023-12-25
    摘要 S2EeC&-AR  
    )M(-EDL>Qk  
    r1QLSD]i6  
    Z4'8x h)-  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 xHY#"   
    ,Z6\%:/  
    VirtualLab Fusion和optiSLang的界面 G^=C#9c.m  
    {Kkut?5  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 .q7|z3@,  
    :")iS?l  
    Vy giR|f-  
    n%Gk {h5  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   Y< drRK!  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 l^*'W(%  
    [N4#R  
    VirtualLab Fusion – 光学装置初始化 Y$ To)qo  
    UL   
    初始装置 Q-M"+HO  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 C:WXI;*cr  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。  !xz0zT.  
    5bKm)|4z6  
    bzt(;>_8  
       Z_qOQ%l  
    VirtualLab Fusion – 波导耦合探测器 W~e/3#R\=  
    5D#Mhgun  
    波导耦合探测 c8cPGm#i  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 jR CG}'  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 ui\yY3?  
    |wFfVDp  
    W%bzA11l  
       Dy[_Ix/Y,  
    VirtualLab Fusion – 波导耦合探测器 g~i%*u,Y<  
    波导耦合探测 `/0S]?a.{B  
    ─ 该例中使用了倾斜光栅。 IyfhVk?  
    sAG#M\A6  
    @1UC9}>  
    utDjN"  
    VirtualLab Fusion – 波导耦合探测器 >w~Hq9  
    波导耦合探测 N @24)g?  
    ─ 该例中使用了倾斜光栅。 mDT"%I"4j  
     *Fe  
    mrgieb%  
    1>BY:xZr  
    VirtualLab Fusion – 波导耦合探测器 J XKqQxZ[X  
    (` N@4w=  
    波导耦合探测 L93&.d@m9  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 L&WhX3$u  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。  XAb!hc   
    g]hTz)8fF  
    XDWR ]  
    cy6lsJ"?  
    VirtualLab Fusion – 波导耦合 pW>?%ft.  
    _4]GP3`  
    波导耦合探测 5#|f:M]Bo|  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 eiJ 13`T  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 drr n&y  
    A+:X  
    wInJ!1  
    xElHYh(\  
    VirtualLab Fusion – 输出LPD至OPtiSLang t[ Zoe+&  
    m1mA:R\zM  
    输出LPD至OPtiSLang I}&`IUP  
    ─ File→Export→Export to optiSlang Project f`dQ $Kh  
    !G0OD$  
    z,"fr%*,N  
    VirtualLab Fusion – 输出LPD至OPtiSLang ?Z ]5 [  
    X \1grM  
    输出LPD至OPtiSLang iAOm[=W  
    ─ File→Export→Export to optiSlang Project [-*1M4D9  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 HX(Z(rcI  
    QR+{Yp  
    }52]  
    M+mO4q6  
    VirtualLab Fusion – 输出LPD至OPtiSLang bP4<q?FKcN  
    xzqgem`[\  
    输出LPD至OPtiSLang uTemAIp $u  
    ─ 在输出对话框窗口。  yO7xAb  
     可定义参数空间,并包含了参数的变化范围。 b xU13ESv  
     可以选择保存到的输出文件夹。 K|n$-WDG}  
     可以指定模拟引擎,用于分析。 01 vEt  
    \ nIz5J}3  
    Y ~|C]O  
    o:E_k#Fi  
    optiSLang – 初始化优化 4!%TY4 bJ  
    Q9UBxpDV:  
    设置求解器系统 zi-; 7lT  
    ─ File→New project… HH\6gs]u  
    VeJM=s.y7  
    Bbb_}y|CA  
    <0Mc\wy  
    optiSLang – 初始化优化 A 11w{`EM  
    2W}f|\8MX  
    设置求解器系统 M:!Twz$  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 M=mzl750M  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 ,r&:C48 dI  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 VI}.MnCa  
    VUo7Evc:.P  
    k3-'!dW<  
    optiSLang – 初始化优化 _;;'/rs j  
    MQ9Nn|4  
    设置求解器系统 `*A!vO8  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 +x7b9sHJ  
    -FAAP&LG  
    S690Y]:h$v  
    @+gr>a1K#  
    optiSLang – 初始化优化 Zd~l_V f  
    /``4!jU  
    参数化的求解器系统 ^x! N]  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 [a\U8 w  
    ─ 请务必保存计划。 rNdeD~\  
    (5^bU<  
    !N`$`qAK  
    OZ/P@`kN.f  
    optiSLang – 初始化优化 A,tmy',d"  
    4`x.d  
    参数化的求解器系统 KxEy N(n  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 H%!ED1zpA  
    DrG9Kky{  
    q`l&G%  
    "kLu]M<  
    optiSLang – 初始化优化 BCw5.@HK*  
    Dlc=[kf9  
    参数化的求解器系统 $\W|{u`  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 B,@<60u  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 ewo1^&#>  
    X=:|v<E   
    X3z$f(lF%)  
    /[[_}\xI%  
    optiSLang –设置优化  d"E@e21  
    i2a""zac  
    参数化的求解器系统 uxGY/Zf  
    ─ optiSLang可以进行多目标函数的光学系统优化。 5 A/[x $q  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 G_fP%ovh  
    \S[7-:Lu^  
    /rKdxsI*  
    c.-/e u^|  
    optiSLang –设置优化 S,K'y?6  
    : ryE`EhB  
    参数化的求解器系统 aV^wTs#2I  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 >dnH  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 jTo-xP{lC  
     aOS:rC  
    Jj<UtD+  
    k`LoRqF  
    optiSLang –设置优化 EcBJ-j 6d  
    9?VyF'r=  
    参数化的求解器系统 t0 [H_  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 &P+7Um(  
    ─ 因此优化算法会尽可能地使平均效率最大化。 ; TaR1e0  
    ─ 这步操作被称为多目标优化。 8\z5*IPGs  
    nqG9$!k^t  
    -`z`K08sT  
    - P;_j,~U  
    optiSLang –设置优化 :Hk:Goo2  
    =j%B`cJ66_  
    优化向导 8hx4s(1!  
    ─ 下一步可以通过拖放来使用优化向导。 orGNza"A  
    0JQ0lzk1  
    '#~$Od4&=  
    1_D|;/aI  
    optiSLang –设置优化 &kR+7  
    |N9::),<  
    优化向导 B8+J0jdg6%  
    ─ 第一步,提供了各种系统参数,包括其指定的值范围。 vqq7IV)|  
    ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 ;Z\1PwT  
    ─ 然后点击下一步。 OYw~I.Rq  
    ^4Nk13  
    %M=[h2SN  
    optiSLang –设置优化 sSisO?F!Z  
    #~A(%a  
    优化向导 ]7 qn&(]  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 P\;L#2n  
    ─ 也可以从其他文档中输入条件。 8p4J7 -  
    ─ 然后点击下一步。 jo75M Sj  
    ^;";fr Vw  
    {1RI!#[\  
    {K\l3_=5qb  
    optiSLang –设置优化 C- Aiv@@<=  
    Fai_v{&?  
    优化向导 _[zZm*  
    ─ 第三步,选择优化方法。 uFseO9F.2  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: Gp0H[-oF  
     红:不适用 `1|#Za~e  
     黄:适用 !PQ%h/ix  
     绿:推荐 .\r=1HZ3  
    ─ 该例中推荐使用进化算法。 E5a1 7ra  
    ─ 然后点击下一步。 d~bZOy  
    q^:>sfd  
    \#LkzN8  
    _zAHN0d  
    optiSLang –设置优化 MAhJ>qe8 p  
    F`/-Q>Q  
    优化向导 ?C( ' z7  
    ─ 然后,需要指定一些附加选项。 cE{hy 7cH  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 Y ^s_v_s  
    ─ 然后点击结束。 ^/nj2"  
    ~r/"w'dB  
    gZa/?[+  
    F32N e6Y6"  
    optiSLang –进化算法的高级设置 @J`o pR  
    RCXm< /  
    高级设置 )e#KL$B)v  
    ─ 双击创建优化,可以调整优化算法的详细参数。 -6 WjYJx  
    Q5[x2 s_d  
    j_` [Z  
    optiSLang –进化算法的高级设置 []i/\0C^  
    @ |bN[XL  
    高级设置 "r!>p\.0O  
    ─ 双击创建优化,可以调整优化算法的详细参数。 N$\'X<{  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 j7(sYo@x7  
    !n;0%"(FH  
    w_c)iJ  
    `pMI @"m  
    optiSLang –进化算法的高级设置 ;^XF;zpg  
    75@!j[QL<  
    高级设置 26SXuFJ@  
    ─ 双击创建优化,可以调整优化算法的详细参数。 xJG&vOf;?  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 oRf.34  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) L]wWJL  
    t>hoXn^-  
    C%2BDj  
    kJQH{n+)R  
    optiSLang –进化算法的高级设置 #&V7CYJ  
    OQlmzg  
    高级设置 7a$K@iWU  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 D4@).%  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 #7 )&`  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 xq6 eu 9   
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 5j8aMnvs  
     Dno]N  
    ;(&$Iw9X  
    /+V}.  
    optiSLang –设计计算的并行化 csh@C ckC8  
    _f5>r(1Q  
    并行化设置 =`MxgK +  
    ─ 一些优化算法允许并行计算设计。 0V RV. Ml  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 QN4{xf:}S  
    ─ 为了允许并行计算,必须启用多个求解器。 oI\ Lepl*  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 EZ,Tc ;f=  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 Z\YCjs%  
    =3h?!$#?  
    2X X-  
    k.."_ 4  
    optiSLang –开始优化 9"W3t]  
    )WBp.j /#  
    运行优化 tPp9=e2[s  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 5T*Uq>x0  
    ─ 点击运行按钮开始优化。 Arr(rM  
    CXQ+h  
    Ci-CY/]s  
    c-`'`L^J  
    optiSLang –优化结果 mNII-X G  
    VQ R E ]  
    优化结果 Io;x~i09K  
    ─ 优化结束后,可以在新窗口中得到结果。 0hN gr'  
    x/S:)z%X  
    < `Xt?K  
    ym_w09   
    optiSLang –优化结果 N*1{yl76x  
    9ZD>_a  
    优化结果 ;i 'mma_!  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 kTW[)  
    ─ 用户能够为他的应用选择最合适的设计。 Y5ZBP?P  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 r!N> FE  
    [PIh^ DhK  
    ]/#3 P  
    wbpz,  
    optiSLang –优化结果 kEYkd@ {  
    (v,g=BS,  
    优化结果 (y^svXU}a  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 On~w`  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 F(; =^w  
    kgb:<{pJ  
    RM3"8J  
    8{- *Q(=/  
    optiSLang –导入优化结果 r}\m%(i  
    l!*!)qCB(S  
    导入优化结果 ,k9xI<i  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 WHy r;m3)  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 Q,LDn%+;B*  
    oHPh2b0  
    ==Ah& ){4^  
    }~#Tsv  
    总结 YlC$L$%Zd.  
    o.g)[$M8cF  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 LOEiV  
    [BTOs4f  
     
    分享到