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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    6243
    光币
    25360
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2023-07-31
    摘要 Y&XO:jB  
    qkM)zOZ^  
    i V$TvD+  
    kl~)<,/@  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 W ZT) LYA  
    f:K>o .  
    VirtualLab Fusion和optiSLang的界面 w+wg)$i  
    fTOGW`s^  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 03/mB2|TF(  
    V0<g$,W=  
    8\X-]Gh\^  
    `0_,>Z  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   0H +!v  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 EY`]""~8v  
    = yFOH~_  
    VirtualLab Fusion – 光学装置初始化 0clq}  
    hm\UqIt  
    初始装置 FN w0x6,~R  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 E !9(6G4  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 P;G]qV%  
    tb^/jzC  
    !(F?Np Am  
       3&!v"ms  
    VirtualLab Fusion – 波导耦合探测器 k%TBpG:T  
    _P` ^B  
    波导耦合探测 .k-t5d  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 x[y}{T  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 zIA)se Js  
    vdcPpj^d5  
    8 :;]tt  
       .0rTk$B  
    VirtualLab Fusion – 波导耦合探测器 Sy/Z}H  
    波导耦合探测 JvsL]yRT  
    ─ 该例中使用了倾斜光栅。 [}=a6Q>)  
    ' Tk4P{  
    %g~&$oZmq  
    Ne)3@?  
    VirtualLab Fusion – 波导耦合探测器 Uc, J+j0F  
    波导耦合探测 >V>`}TIH  
    ─ 该例中使用了倾斜光栅。 D<`M<:nq  
    8 (ot<3(D  
    /9A6"Z  
    [4hi/6 0  
    VirtualLab Fusion – 波导耦合探测器 va:<W H  
    e"%uOuIYX  
    波导耦合探测 (5;nA'  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 GkIhPn(d  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 Lq62  
    NM9,AG  
    2q(gWhcj  
    lGt:.p{NG  
    VirtualLab Fusion – 波导耦合 B]NcY&A  
    UpPl-jeT  
    波导耦合探测 L]%!YP\<T  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 Ai"MJ6)  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 5UJ ?1"J  
    DK?Z   
    Eyz.^)r  
    <5"&]! .  
    VirtualLab Fusion – 输出LPD至OPtiSLang BNF*1JO  
    /i dI-  
    输出LPD至OPtiSLang %gQUog  
    ─ File→Export→Export to optiSlang Project j sD]v)LB  
    o:&8H>(hn]  
    vcCNxIzEG  
    VirtualLab Fusion – 输出LPD至OPtiSLang $)nPj_h  
    <CB%e!~.9  
    输出LPD至OPtiSLang ^<Gxip  
    ─ File→Export→Export to optiSlang Project *p=enflU  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 `zrg?  
    -LT!LBnEkf  
    =)G]\W)m  
    \#]C !JQ  
    VirtualLab Fusion – 输出LPD至OPtiSLang <Y6zJ#BD  
    o>nw~_ H\  
    输出LPD至OPtiSLang ,(-V<>/*.|  
    ─ 在输出对话框窗口。  4Y}Nu  
     可定义参数空间,并包含了参数的变化范围。 7M _ mR Vh  
     可以选择保存到的输出文件夹。 .zl[nx[9"D  
     可以指定模拟引擎,用于分析。 nW*cqM%+  
    *N4/M%1P  
    '&hd^9]Lo  
    sVBr6 !v=  
    optiSLang – 初始化优化 ll1N`ke  
    `d^Q!QxE  
    设置求解器系统 \<(EV,m2  
    ─ File→New project… 0e+#{k  
    `"}).{N]C  
    ,*dLE   
    ,Jh#$mil  
    optiSLang – 初始化优化 #rF`Hk:  
    M)!"R [V  
    设置求解器系统 ~Kt1%&3{a?  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 NtM ? Jh  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 kX+9U"` C  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 Sgv_YoD?-  
    ]{# =WTp]  
    tc/  
    optiSLang – 初始化优化
    W7'<Jom|?  
    ?>U=bA  
    设置求解器系统 dt@c,McN|Q  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 [U",yN]d  
    Bm,Vu 1]t  
    |&{S ~^$  
    j'U1lEZm2  
    optiSLang – 初始化优化 6pSTw\/6  
    Y2XxfZ j  
    参数化的求解器系统 2"?DaX  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 #) :.1Z?  
    ─ 请务必保存计划。 .{c7 I!8  
    7I'C'.6iM  
    Q.$Rhjb  
    HV)aVkr/&  
    optiSLang – 初始化优化 8U(o@1PT  
    V4NQcy? H  
    参数化的求解器系统 =k.%#h{  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 ZIa,pON  
    =?0v,;F9|  
    BCe'J!  
    NJ.oME@=  
    optiSLang – 初始化优化 c QuL9Xo  
    "Kp#Lx  
    参数化的求解器系统 RC[Sa wA  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 K$Vu[!l`  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 GW'v\O  
    X*@ tp,t  
    J_Tz\bZ3)  
    Q17dcgd  
    optiSLang –设置优化 t4#gW$+^?H  
    cjPXrDl{\  
    参数化的求解器系统 ~`QoBZ.O&  
    ─ optiSLang可以进行多目标函数的光学系统优化。 YwET.(oo  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 ;10YG6:  
    P'OvwA  
    YIg43Av  
    z/xPI)R[  
    optiSLang –设置优化 u-,}ug|  
    "E\mj'k  
    参数化的求解器系统 f\dfKNm6  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 [Cv./hEQi  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 rX?ZUw?u&  
    =/46;844T  
    =n"kgn  
    Rv9jLH  
    optiSLang –设置优化 NT*r7_e  
    9;U?_   
    参数化的求解器系统 ;\2Z?Kq  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 ap}p?r  
    ─ 因此优化算法会尽可能地使平均效率最大化。 3r kcIVO  
    ─ 这步操作被称为多目标优化。  A\Ib  
    !`I@Rk]`c  
    Pn OWQ8=  
    N7J?S~x  
    optiSLang –设置优化 A)sYde(  
    :}v-+eIQ  
    优化向导 lUs$I{2_  
    ─ 下一步可以通过拖放来使用优化向导。 ulIEx~qP  
    h9ScN(|0y  
    Yw3'9m^  
    PmE)FthdP(  
    optiSLang –设置优化 :L NE ?@  
    1]2]l*&3  
    优化向导   < v]  
    ─ 第一步,提供了各种系统参数,包括其指定的值范围。 ~h@@y5<4  
    ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 dn- [Gnde  
    ─ 然后点击下一步。 {s0%XG1$  
    |cma7q}p  
    zW%Em81Wd  
    optiSLang –设置优化 Z{0BH{23  
    3MQZ)!6  
    优化向导 +`Z1L\gmA  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 >%U+G0Fq  
    ─ 也可以从其他文档中输入条件。  '/.Dxib  
    ─ 然后点击下一步。 8mreHa  
    :9UgERjra  
    ,-y9P  
    6*9 wGLE  
    optiSLang –设置优化 w I_@  
    8~o']B;lJ  
    优化向导 eTS}-  
    ─ 第三步,选择优化方法。 MJ)lZ!KZ  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: aDNB~CwZZ  
     红:不适用 sg $db62>  
     黄:适用 E?XaU~cpc  
     绿:推荐 %f1%9YH  
    ─ 该例中推荐使用进化算法。 z5fE<=<X_W  
    ─ 然后点击下一步。 f)/Z7*Z  
    V|MGG  
    fkzSX8a9}  
    Y7}>yC/GY  
    optiSLang –设置优化 _AX 9 Mu]  
    /88s~=  
    优化向导 =#G 2}8mQD  
    ─ 然后,需要指定一些附加选项。 r.H`3m.0q  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 yV{B,T`W  
    ─ 然后点击结束。 j~ qm$'H  
    o]e,5]  
    wGArR7r  
    C$y6^/7)  
    optiSLang –进化算法的高级设置 1VX3pkUET  
    xPm. TPj  
    高级设置 ^Pn|Q'{/p  
    ─ 双击创建优化,可以调整优化算法的详细参数。 EMmgX*iu@  
    *DF3juf~  
    Y P2VSK2Q  
    optiSLang –进化算法的高级设置 EjR(AqZY  
    Nn. 9J  
    高级设置 `>:5[Y  
    ─ 双击创建优化,可以调整优化算法的详细参数。 A>@#eyB  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 y7,fFUKl  
    x o"GNFh!  
    aDbqh~7  
    I a&*JYM[  
    optiSLang –进化算法的高级设置 .Mq#88o.*  
    c?A$Y?|9  
    高级设置 p/h\QG1   
    ─ 双击创建优化,可以调整优化算法的详细参数。 '$tCAS  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 &GP(yj]  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) 6 R6Ub 0  
    \H] |5fp*  
    7OV^>"S  
    a1cX+{W  
    optiSLang –进化算法的高级设置 +MoUh'/u  
    hLO)-ueb  
    高级设置 &`D$w?beg  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 OdzeHpH3g  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 !m@cTB7i   
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 8 1,N92T5  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 :5t4KcQ  
    nQF& ^1n  
    9z7_D_yN2  
    iGW|j>N  
    optiSLang –设计计算的并行化 c+:ZmrP/  
    Q dj(D\.  
    并行化设置 #"gt&t9Q  
    ─ 一些优化算法允许并行计算设计。 E2e"A I.h  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 dfDjOZSL  
    ─ 为了允许并行计算,必须启用多个求解器。 LE\*33k_  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 (t4i&7-  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 t;8)M $ p  
    h,{m{Xh  
    &`^(dO9  
    22l'kvo4"  
    optiSLang –开始优化 /JD}b[J$  
    |L<JOQ  
    运行优化 EmNVQ1w  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 iQG!-.aX  
    ─ 点击运行按钮开始优化。 x93@[B*%  
    .n 9.y8C  
    P3oYk_oW  
    PQHztS"  
    optiSLang –优化结果 GkAd"<B  
    c1H.v^Y5  
    优化结果 *lfjsrPu  
    ─ 优化结束后,可以在新窗口中得到结果。 f1'ByV'2  
    ]iV ]7g8:  
    a5a ;Fp  
    omfX2Oa2  
    optiSLang –优化结果 W|PAI [N  
    V.~kG ,Ht  
    优化结果 \8{SQ%  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 ?JuJu1  
    ─ 用户能够为他的应用选择最合适的设计。 1$*8F  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 Ac_P^  
    3D|Lb]=  
    x\yM|WGL  
    > X~\(|EM  
    optiSLang –优化结果 !yNU-/K  
    # qd!_oN  
    优化结果 u Kx:7"KD  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 ,N$Q']Td  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 7 [Us.V@  
    "aGmv9\  
    S>lP?2J  
    z~H1f$}  
    optiSLang –导入优化结果 x?i wtZ@  
    {z oGwB  
    导入优化结果 5gz^3R|`f  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 M"z=114  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 xF_u:}7`  
    c)EYX o  
    Zg+.`>z  
    $WYt`U;*lj  
    总结 g`y9UYeh  
    tQ }GTqk  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 U6JD^G=qR,  
    > ?+Rtg|${  
     
    分享到