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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    6569
    光币
    26994
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2025-12-30
    摘要 m8]?hJY 3l  
    }`_@'4:t  
    vy@rQC %9  
    v"u^M-_  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 .?C%1a&_l  
    5R MS(  
    VirtualLab Fusion和optiSLang的界面 sE(HZR1  
    d=.2@Ry  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 3-s}6<0v1  
    m"tOe?  
    `<\}FS`'  
    :y]Omp  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   6w3R'\9  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 j{VGClb=T  
    mumXUX  
    VirtualLab Fusion – 光学装置初始化 1tzV8(7  
    ;_kzcK!l  
    初始装置 Die-@z|Y  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 wl=61 Mb  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 w [>;a.$  
    qgt[~i*  
    5R$G(Ap_  
       D bX{#4lx  
    VirtualLab Fusion – 波导耦合探测器 Lr;(xw\['  
    UK#&lim  
    波导耦合探测 Ths_CKwgWY  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 k?nQ?B W  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 JF9yVE-  
    j '%4{n  
    C=Fzu&N}  
       >>dm }X  
    VirtualLab Fusion – 波导耦合探测器 ! {,F~i9  
    波导耦合探测 }'"Gr%jf(  
    ─ 该例中使用了倾斜光栅。 ,"-Rf<q/  
    YEu1#N  
    Z]w# vLR  
    pV p:@0h  
    VirtualLab Fusion – 波导耦合探测器 qMBR *f  
    波导耦合探测 z"4]5&3A  
    ─ 该例中使用了倾斜光栅。 Cm$1$?J  
    eg+!*>GaX  
    0X2@CPIFf  
    2g{)AtK$#  
    VirtualLab Fusion – 波导耦合探测器 |iFVh$N  
    S&C1TC  
    波导耦合探测 9ch#}/7B  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 YKZrEP 4^  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 ivgpS5 M`Y  
    k#TYKft  
    *="8?Z  
    SZ![%)83  
    VirtualLab Fusion – 波导耦合 v;#=e$%}MO  
    c47")2/yO  
    波导耦合探测 :yT-9Ze%q  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 [ //R~i?  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 5y2? f  
    %m5Q"4O  
    gQSNU_o Z  
    !%<^K.wG  
    VirtualLab Fusion – 输出LPD至OPtiSLang pb60R|k  
    C9n}6Er=,  
    输出LPD至OPtiSLang 8?t"C_>*e  
    ─ File→Export→Export to optiSlang Project `+lHeLz':  
    g3@Rl2yQJ  
    f"#m=_Xm  
    VirtualLab Fusion – 输出LPD至OPtiSLang 'J*<iA*W  
    SQsSa1  
    输出LPD至OPtiSLang bok.j  
    ─ File→Export→Export to optiSlang Project ?zJpD8e  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 ~cAZB9Fa  
    &MR/6"/s  
    G |*(8r()  
    vqslirC  
    VirtualLab Fusion – 输出LPD至OPtiSLang %HQ.|  
    ;T]d M fO  
    输出LPD至OPtiSLang _fFU#k:MU  
    ─ 在输出对话框窗口。 gV1[3dW  
     可定义参数空间,并包含了参数的变化范围。 V=I"-k}RL  
     可以选择保存到的输出文件夹。 gIWrlIV{9  
     可以指定模拟引擎,用于分析。 F1;lQA*7K.  
    <[aDo%,A  
    y #f QPR  
    c;f!!3&  
    optiSLang – 初始化优化 zHWSE7!  
    LVIAF0kX  
    设置求解器系统 Eu}b8c  
    ─ File→New project… 'PZ|:9FX!  
    ] U@o0  
    C<^YVeG  
     GJi~y  
    optiSLang – 初始化优化 vq*Q.0M+  
    r r`;W}3  
    设置求解器系统 C#rc@r,F  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 %OR|^M  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 Mvj;ic6iK  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 psh^MX)Q  
    \e=_ 2^v!_  
    9L0GLmLk1u  
    optiSLang – 初始化优化
    %\O#&=$E  
    3gWvmep1  
    设置求解器系统 ,ea^,H6  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 m8Vdb"0  
    cHA7Kg !  
    '[|+aJ  
    PupM/?57  
    optiSLang – 初始化优化 6dH }]~a  
    Jo(`zuLJ  
    参数化的求解器系统 |LG4=j.l  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 !{et8F@d|  
    ─ 请务必保存计划。 Xm2\0=v5;  
    ha@L94Lq  
    <F7kh[L_x  
    M6 9 w-  
    optiSLang – 初始化优化 l} ^3fQXI  
    =.<@`1  
    参数化的求解器系统 0l*]L`]L#  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 nZ1zJpBmI  
    "@@I!RwA  
    YG:3Fhx0~  
    ,&PE6h n  
    optiSLang – 初始化优化 ?PA$Ur21lw  
    VpfUm?Nq  
    参数化的求解器系统 CQ7{1,?2  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 Jk|Q`h  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 'crlA~&#/  
    'oNO-)p\#!  
    vE6mOM!_L  
    0C<[9Dl.G8  
    optiSLang –设置优化 q>f<u&  
    r;9 r!$d  
    参数化的求解器系统 _LP/!D  
    ─ optiSLang可以进行多目标函数的光学系统优化。 >4Y3]6N0.F  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 -&82$mj  
    n8=5-7UT  
    T lAR.cV  
    |yyO q  
    optiSLang –设置优化 ]Y6cwZOe  
    ]$afC!Z  
    参数化的求解器系统 k$ 5 s{q  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 %:>3n8n  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 h'J|K^na  
    LZPuDf~/  
    -aRU]kIf  
    }7fZ[J3  
    optiSLang –设置优化 EcIE~qs  
    h1 WT  
    参数化的求解器系统 { pu85'DV  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 n%h^o   
    ─ 因此优化算法会尽可能地使平均效率最大化。 WPZ?*Sx  
    ─ 这步操作被称为多目标优化。 T@}|zDC#  
    UT~a &u  
    R(.}C)q3  
    IcP)FB 4  
    optiSLang –设置优化 G 6VF>2  
    (%iRaw7hp  
    优化向导 AE: Z+rM*  
    ─ 下一步可以通过拖放来使用优化向导。 G;> _<22  
    u4z&!MT}  
    a`Gx=8  
    ,F&g5'  
    !8 &=y  
    [{4 MR%--  
    optiSLang –设置优化 `[o)<<}  
    :^UFiUzrE  
    优化向导 Z\[N!Zt|  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 IUR<.Y`  
    ─ 也可以从其他文档中输入条件。 vVGDDDz/  
    ─ 然后点击下一步。 HM>lg`S  
    Z*G(5SqUh"  
    L lqM c  
    6y%0`!  
    optiSLang –设置优化 \~P=U;l=pO  
    yH][(o=2  
    优化向导 }@if6(0  
    ─ 第三步,选择优化方法。 f7Ul(D:j\  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: NM)k/?fA  
     红:不适用 +cb6??H  
     黄:适用 tx?dIy;  
     绿:推荐 (&$VxuJ+6y  
    ─ 该例中推荐使用进化算法。 S9HwIH\m  
    ─ 然后点击下一步。 \OlmF<~  
    >#ZUfm{k$  
    f#ri'&}c :  
    04r$>#E  
    optiSLang –设置优化 d[rv1s>i  
    O25lLNmO  
    优化向导 vb9OonE2  
    ─ 然后,需要指定一些附加选项。 P%K4[c W~  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 Spt ? >sm  
    ─ 然后点击结束。 q7u'_ R,;  
    SkU9ON   
    8p[)MiC5W^  
    |bgo;J/  
    optiSLang –进化算法的高级设置 UGK*Gy  
    {Ay"bjZh  
    高级设置 "RIZV  
    ─ 双击创建优化,可以调整优化算法的详细参数。 phO;c;y}  
    tHLrhH<w  
    +iOKbc'  
    optiSLang –进化算法的高级设置 e<r,&U$  
    dz Zb  
    高级设置 vq34/c^  
    ─ 双击创建优化,可以调整优化算法的详细参数。 "`N-*;*W  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 )8g(:`w  
    FLEo*9u>b  
    X$/2[o#g  
    EJ2yO@5O  
    optiSLang –进化算法的高级设置 m,fAeln  
    Jmx Ko+-  
    高级设置 s+>:,U<A  
    ─ 双击创建优化,可以调整优化算法的详细参数。 BT}&Y6  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 hlt[\LP=$  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) s(W|f|R  
    =-p$jXVW%  
    [z 7bixN  
    ID/ F  
    optiSLang –进化算法的高级设置 O*#*%RL|  
    6Aocm R0D'  
    高级设置 aMTu-hA  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 ^j7azn  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 7`u$  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 v0L\0&+  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 Ewg:HX7<(  
    ->N8#XH2=  
    NO :a;  
    W^"AU;^V56  
    optiSLang –设计计算的并行化 O$cHZs$  
    $ tl\UH7%2  
    并行化设置 L@fY$Rw  
    ─ 一些优化算法允许并行计算设计。 XVU2T5s}  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 E lUEteZ  
    ─ 为了允许并行计算,必须启用多个求解器。 ,i@X'<;y  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 m^qBx A  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 _o8 ?E&d  
    1@$Ko5  
    ZRYEqSm  
    'F3)9&M  
    optiSLang –开始优化 9?k_y ZV  
    c [5KG}  
    运行优化 J[&b`A@.o  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 Dih3}X&jn$  
    ─ 点击运行按钮开始优化。 &iV{:)L  
    jVq(?Gc  
    x#:| }pR  
    "Iix )Ue  
    optiSLang –优化结果 Q%f|~Kl-hd  
    7VP32Eh[  
    优化结果 [<KM?\"1<  
    ─ 优化结束后,可以在新窗口中得到结果。 9+pmS#>_  
    eY e,r  
    z<5m fAm  
    3)RsLI9  
    optiSLang –优化结果 fj&i63?e  
    h;0S%ZC  
    优化结果 KI+VXH}Y5{  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 F;>!&[h}G  
    ─ 用户能够为他的应用选择最合适的设计。 7hcNf,  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 0P]E6hWgg  
    PsZ >P|e1  
    D:K4H+ch  
    L{c q, jk  
    optiSLang –优化结果 y\x+  
    c ;'[W60  
    优化结果  Sr?#S  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 `HBf&Z  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 oqeSG.1  
    =yy5D$\  
    \W`w` o  
    %D[0nt|X  
    optiSLang –导入优化结果 /S lYm-uQ+  
    6VhjJJ  
    导入优化结果 nakYn  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 tzh1s i  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 >i6yl5s  
    /Js7`r=Rx  
    9rA=pH%<>B  
    gatB QwJb9  
    总结 'f?$"U JF  
    S1?-I_t+]  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 ',S'.U  
    O &-wxJ]S  
     
    分享到