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

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

    上一主题 下一主题
    在线infotek
     
    发帖
    6511
    光币
    26700
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2025-12-30
    摘要 1@$n )r`  
    vv  F:  
    `vMrlKq  
    4s <|8   
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 v` G[6Z  
    i_[nW  
    VirtualLab Fusion和optiSLang的界面 eu^B  
    Xb/W[rcs  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 eG\|E3Cb9  
    -45xa$vv  
    t XbMP  
    7uI~Xo ?N  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   :!cNkJa  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 ^U5g7Emf  
    ?'jRUfl   
    VirtualLab Fusion – 光学装置初始化 Xy[*)<  
    [f8mh88 r  
    初始装置 3-%F)@n  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 Qf$3!O}G  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 +~ZFao qf  
     f^vz  
    zCuN 8  
       &_Vd  
    VirtualLab Fusion – 波导耦合探测器 Ok*aP+Wq  
    u A=x~-I  
    波导耦合探测 C7hJE -  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 vgyv~Px]AW  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 H[;\[ 3  
    DO5H(a  
    S0zk<S  
       a6/$}lCq  
    VirtualLab Fusion – 波导耦合探测器 &% infPI'  
    波导耦合探测 7hq$vI%0  
    ─ 该例中使用了倾斜光栅。 YU (|i}b  
    `#Yv(a2TY  
    '|jN!y^ 2p  
    :'+- %xUM  
    VirtualLab Fusion – 波导耦合探测器 @/yQ4Gr  
    波导耦合探测 :tTP3 t5  
    ─ 该例中使用了倾斜光栅。  FTk`Mq  
    920 o]Dh=t  
    'xn3g;5  
    \0'0)@uziQ  
    VirtualLab Fusion – 波导耦合探测器 -Y:^<C^^&8  
    -h|YS/$f  
    波导耦合探测 /z(;1$Ld6{  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 ^j)0&}fB  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 aEJds}eE6)  
    sDF5  
    nN|1cJ'.Fk  
    2(%C  
    VirtualLab Fusion – 波导耦合 :TTZ@ q  
    "6} #65  
    波导耦合探测 JIYZ  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 +Vsd%AnN"l  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 fd CN?p[_  
    @*s7~:VQ  
    "n Zh u k  
    &|j^?ro6  
    VirtualLab Fusion – 输出LPD至OPtiSLang r'/H3  
    dK^WZQ  
    输出LPD至OPtiSLang 0DIXd*oj&  
    ─ File→Export→Export to optiSlang Project So^;5tG  
    Y7L1`<SC  
    + NpH k  
    VirtualLab Fusion – 输出LPD至OPtiSLang ^|+;~3<J  
    )K"7=TvY  
    输出LPD至OPtiSLang sfuA {c'v  
    ─ File→Export→Export to optiSlang Project gb,X"ODq  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 omEnIfQSO  
    F ~O}@e{  
    _w\A=6=q|  
    ,FP<# 0F*a  
    VirtualLab Fusion – 输出LPD至OPtiSLang m-h+UKt  
    { :~&#D  
    输出LPD至OPtiSLang 5[\LQtM  
    ─ 在输出对话框窗口。 h,u?3}Knnb  
     可定义参数空间,并包含了参数的变化范围。 {:!CA/0Jx  
     可以选择保存到的输出文件夹。 nsM :\t+ p  
     可以指定模拟引擎,用于分析。 lgL|[ik`  
    Ki_8g  
    Bf-KCqC".  
    l^,"^ vz  
    optiSLang – 初始化优化 j1 Q"s(  
    WdvXVF  
    设置求解器系统  $w@0}5Q  
    ─ File→New project… Y8$,So>~  
    <JyF5  
    ,^#{k!uaC{  
    ]= EYju@  
    optiSLang – 初始化优化 =SEgv;#KZ~  
    {;T7Kg.C  
    设置求解器系统 oTjsiXS  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 +uD4$Wt_F  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 y))) {X  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 btZ9JZvMx  
    "{igrl8  
    }kK6"]Tj  
    optiSLang – 初始化优化
    o8A1cb4<T  
    g AZe&"K  
    设置求解器系统 SJXA  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 j$u=7Z&E  
    m+ww  
    "dN4EA&QJ  
    wP: w8O  
    optiSLang – 初始化优化 -T0@b8  
    9BA*e-[  
    参数化的求解器系统 j0F'I*Z3  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 `1T?\  
    ─ 请务必保存计划。 S# 9EBw7  
    3cH`>#c  
    4EZl (v"f`  
    p!wx10b  
    optiSLang – 初始化优化 {@7{!I|eD  
    lNQ8$b  
    参数化的求解器系统 N;A#K 7A[@  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 P t)Ni  
    y_F{C 9KE  
    2Kg+SLU[~  
    H}[kit*9  
    optiSLang – 初始化优化 |~y>R#u8pm  
    PI5a 'k0F  
    参数化的求解器系统 0';U3:=i,  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 ^q$m>|KI  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 `]0E)  
    REe<k<>p~  
    u*aFWl]=  
    c@]_V  
    optiSLang –设置优化 uoIvFcb^  
    +F9)+wT~;q  
    参数化的求解器系统 zxV,v*L)  
    ─ optiSLang可以进行多目标函数的光学系统优化。 GF3"$?Cw  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 mg)ZoC  
    Xaca=tsO  
    D@]*{WO  
    ,vnHEY&  
    optiSLang –设置优化 _W3>Km-A=/  
    $<~o,e-4  
    参数化的求解器系统 .8O.  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 &QoV(%:]  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 %~`y82r6  
    j?YZOO>X  
    t5qNfiKC  
    ;ZSJ-r  
    optiSLang –设置优化 Pz/bne;=  
    >H*?ktcW  
    参数化的求解器系统 BJ]4j-^o  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 S\F;b{S1  
    ─ 因此优化算法会尽可能地使平均效率最大化。 n'&Cr0{  
    ─ 这步操作被称为多目标优化。 NFEF{|}BM  
    [YsN c  
    **%/Ke[  
    h5x_Vjj  
    optiSLang –设置优化 2GHmA_7P  
    !5/jDvh  
    优化向导 M u>G gQSZ  
    ─ 下一步可以通过拖放来使用优化向导。 rTgCmr'&  
    [KT'aGK$  
    sI7<rI.t){  
    JIGoF  
    \R6D'Yt  
    RwG@C|sG  
    optiSLang –设置优化 Yb~[XS |p  
    :dZq!1~t  
    优化向导 ?3x7_=4t@  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 I1IuvH6  
    ─ 也可以从其他文档中输入条件。 U|Du9_0  
    ─ 然后点击下一步。 zJ*|tw4  
    zB8 @Wl  
    uh][qMyLM  
    f:=y)+@1My  
    optiSLang –设置优化 jlf.~ vt  
    vw;GbQH(  
    优化向导 M_5$y )M  
    ─ 第三步,选择优化方法。 ,:Q+>h  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: VSW:h  
     红:不适用 fO;#;p.  
     黄:适用  <|Pw*L$  
     绿:推荐 kb27$4mm  
    ─ 该例中推荐使用进化算法。 )YP"\E  
    ─ 然后点击下一步。 KqM!7  
    ?l6NQ;z  
    vy <(1\  
    JDQ7  
    optiSLang –设置优化 lji&]^1  
    ) r8yt}  
    优化向导 W'>"E/Tx#O  
    ─ 然后,需要指定一些附加选项。 9K9{$jN~  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 EH*Lw c  
    ─ 然后点击结束。 sS 5aJ}Qs  
    G,VTFM6  
    XIgGE)n  
    k u@sQn  
    optiSLang –进化算法的高级设置 %Km^_JM  
    q0Hor   
    高级设置 HF2w?:  
    ─ 双击创建优化,可以调整优化算法的详细参数。 Rh[%UNl  
    <B }4}-}  
    |>/T*zk<  
    optiSLang –进化算法的高级设置 deRnP$u0  
    $jpAnZR- /  
    高级设置 J=%(f1X<W  
    ─ 双击创建优化,可以调整优化算法的详细参数。 Gu3# y"a>  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 )_m#|U?Rex  
    4x`.nql  
    =JqKdLH  
    kw%vO6"q(  
    optiSLang –进化算法的高级设置 C J@G8>  
    l7+[Zn/v *  
    高级设置 7Fg-}lJAC  
    ─ 双击创建优化,可以调整优化算法的详细参数。 -<Wv7FNpD  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 u%o2BLx  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) lURL;h  
    0Gq}x;8H&  
    1>KZ1Kf  
    _P^ xX'v  
    optiSLang –进化算法的高级设置 4Ou|4WjnL  
    Z=L~W,0'  
    高级设置 o7qZy |\4S  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 D2060ze  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 >~nc7j u  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 ^Yz.}a##w2  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 I6q]bQ="  
    ySS kw7  
    /2<1/[#  
    Id<3'ky<N  
    optiSLang –设计计算的并行化 Xy0KZ !  
    M%\=Fb  
    并行化设置 */T.]^  
    ─ 一些优化算法允许并行计算设计。 /^m3?q[a  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 6 4fB$  
    ─ 为了允许并行计算,必须启用多个求解器。 yY 3Mv/R  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 i*T>, z  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 )[w_LHKI  
    K}r@O"6*\  
    /]_a\x5Ss  
    (_9cL,v  
    optiSLang –开始优化 gz,x6mnQ  
    ug|'}\LY  
    运行优化 7%%FYHMO:  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 $bGe1\  
    ─ 点击运行按钮开始优化。 B!;qz[]I  
    cAL*Md8+  
    y [pU8QSt  
    A.5N<$l  
    optiSLang –优化结果 ]]InD N  
    Q#,j,h  
    优化结果 #fuc`X3:HL  
    ─ 优化结束后,可以在新窗口中得到结果。 >h[ {_+  
    wG, "ZN  
    'QMvj` -  
    miq"3  
    optiSLang –优化结果 h=1cD\^|qw  
    '&|]tu:q  
    优化结果 ~&UfnO  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 f`[gRcZ-  
    ─ 用户能够为他的应用选择最合适的设计。 x}c%8dO#J  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 @S-p[u  
    -kv'C6gB  
    SviGLv;oR  
    hPM:=@ N$  
    optiSLang –优化结果 =LUDg7P  
    dV:vM9+x  
    优化结果 DaK2P;WP  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 r N.<S[  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 Xyf7sHQ  
    W,g0n=2V  
    7p!w(N?s  
    FTA[O.tiG  
    optiSLang –导入优化结果 '(qVA>S  
    q3~RK[OCq  
    导入优化结果 knPo"GQW  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 4;_<CB  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 2".^Ma^D!  
    6pKb!JJ  
    [xrM){ItW  
    QIcg4\d%s  
    总结 _kJ?mTk  
    qXb{A*J  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 }'FNGn.~#  
    m V U(b,  
     
    分享到