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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    6569
    光币
    26994
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2025-12-30
    摘要 jLvI!q   
    ]Vjn7P`~ N  
    3]'=s>UO>^  
    f&`v-kiAn=  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 &0f7>.y  
    7x9YA$IE  
    VirtualLab Fusion和optiSLang的界面 : ` F>B  
    EBzg<-?o  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 e^~t52]  
    9 )B>|#\  
    (#c5Q&  
    0x# 6L  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   U'-MMwE]  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 e_]1e 7t  
    !dhZs?/UI  
    VirtualLab Fusion – 光学装置初始化 =i%2/kdi0b  
    Fh v)  
    初始装置 .j88=t0  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 spO?5#  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 j K[VEhs  
    uNXh"?  
    E\m?0]W|  
       w])~m1yW  
    VirtualLab Fusion – 波导耦合探测器 }J`{g/  
    ~R)w 9uq  
    波导耦合探测 .[cT3l/t  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 '4Z%{.;  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 G&C)`};  
    *B:{g>0  
    qx0o,oZN!  
       N0 ?O*a  
    VirtualLab Fusion – 波导耦合探测器 ~w]1QHA'f  
    波导耦合探测 fY%Sw7ql<  
    ─ 该例中使用了倾斜光栅。 WtRy~5A2  
    \TMRS(  
    R<UjhCvx.  
    [&3"kb  
    VirtualLab Fusion – 波导耦合探测器 w5|@vB/pj  
    波导耦合探测 PY z | d  
    ─ 该例中使用了倾斜光栅。 1}ZBj%z4l  
    '[-H].-!   
    D@ =.4z  
    k}T~N.0  
    VirtualLab Fusion – 波导耦合探测器 0l 3RwWj  
    GMNf#;x  
    波导耦合探测 BM&'3K_y  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 eHnC^W}|s  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 Wnf`Rf)1z  
    3J,/bgL5  
    #UWQ (+F  
    |um)vlN;9  
    VirtualLab Fusion – 波导耦合 C i*TX  
    sL/Lw WH  
    波导耦合探测  %;W8;  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 $^ >n@Q@&L  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 _R-#I  
    0]HK (,/h  
    T3?kabbF  
    H`io|~Q  
    VirtualLab Fusion – 输出LPD至OPtiSLang 5<a<!]|C  
    uo%O\} #u9  
    输出LPD至OPtiSLang t]&n_]`{.  
    ─ File→Export→Export to optiSlang Project k2+Z7#2n  
    El+]}D"  
    QM_~w \  
    VirtualLab Fusion – 输出LPD至OPtiSLang %xk]y&jv  
    5N|77AAxK  
    输出LPD至OPtiSLang QiRzA4-zq  
    ─ File→Export→Export to optiSlang Project d,0pNav)  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 jcG4h/A  
    ]g)%yuox9F  
    (6A{6_p  
    @%fkW"y:  
    VirtualLab Fusion – 输出LPD至OPtiSLang |ITg-t  
    jS- QTG!=  
    输出LPD至OPtiSLang ^al SyJ`  
    ─ 在输出对话框窗口。 R1m18GHQ  
     可定义参数空间,并包含了参数的变化范围。 ~ ZDdzp>  
     可以选择保存到的输出文件夹。 >qgBu_  
     可以指定模拟引擎,用于分析。 "1nd~ BBOw  
    4OIN@n*4  
    Anm5Cvt;i  
    34l=U?  
    optiSLang – 初始化优化 dJ;;l7":~  
    n&Tv]-  
    设置求解器系统 4C[gW  
    ─ File→New project… W ][IHy<   
    Ip0Zf?  
    s`TBz8QO$  
    @6Mo_4)O  
    optiSLang – 初始化优化 tw(2V$J  
    7xcYM  
    设置求解器系统 x$p\ocA  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 u,]yd*  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 oy'+n-  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 x SUR<  
    />oU}m"k  
    Af%?WZlOq  
    optiSLang – 初始化优化
    eyG.XAP  
    $k?L?R1  
    设置求解器系统 V:+bq`  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 S`^W#,rj  
    iUKj:q:  
     (M=Br  
    2u:j6ic  
    optiSLang – 初始化优化 G@'0vYb#  
    RAxz+1JT  
    参数化的求解器系统 @88 efF  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 ][mc^eI0s|  
    ─ 请务必保存计划。 {+EPE2X=C  
    2=|IOkY  
    n" ~*9'  
    gdT_kb5HL8  
    optiSLang – 初始化优化  %!S  
    SrtmpQ  
    参数化的求解器系统 tvUvd(8 w  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 {?iqO?  
    buFtLPe  
    2uTa}{/%  
    qw/{o:ce]  
    optiSLang – 初始化优化 L_r & 'B  
    )-{~7@yqZ  
    参数化的求解器系统 {|%O)fr,  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 #Q"vwek  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 #j JcgR<  
    #.)>geLC>9  
    $5IrM 7i  
    75HL  
    optiSLang –设置优化 a*hThr+$M  
    rZv+K/6*M  
    参数化的求解器系统 (AYS>8O&  
    ─ optiSLang可以进行多目标函数的光学系统优化。 /z5lxS@#  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 GP$ Y4*y/  
    OKVYpf  
    *PEuaRDN  
    (ZK >WoV  
    optiSLang –设置优化 c5R{Sl  
    q9!9OcN2  
    参数化的求解器系统 Anv8)J!9u  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 bEKLameKv  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 D3{lyi|8  
    E'8Bw7Tz  
    f zO8by  
    0 l@P]_qq`  
    optiSLang –设置优化 -/%jeDKp  
    ([*t.  
    参数化的求解器系统 Ji[g@#  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 HqBPY[;s  
    ─ 因此优化算法会尽可能地使平均效率最大化。 ][nUPl  
    ─ 这步操作被称为多目标优化。 NO^t/(Z  
    u2]g1XjeG  
    oNZ W#<K  
    % eRwH >  
    optiSLang –设置优化 '.yWL  
    ]gksyxn3  
    优化向导 Ba0D"2CgY  
    ─ 下一步可以通过拖放来使用优化向导。 kVnyX@  
    |vz;bJG  
    "S`wwl  
    _kN%6~+U  
    &o@5%Rz2/  
    9`xFZMd31A  
    optiSLang –设置优化 .~L4#V{c~  
    L0b] ^_ tI  
    优化向导 >-lL -%N_  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 ~4MjJKzA  
    ─ 也可以从其他文档中输入条件。 7RE6y(V1  
    ─ 然后点击下一步。 xm5FQ) T  
    [E (M(w':  
    [V, ;X  
    lMez!qx,=  
    optiSLang –设置优化 ' u};z:t  
    #.+*G`m  
    优化向导 jA4v?(AO}#  
    ─ 第三步,选择优化方法。 b^DV9mO4J  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: G@EjWZQ  
     红:不适用 l0\>zWLZZ9  
     黄:适用 -#;VFSz,9*  
     绿:推荐 V)QR!4De  
    ─ 该例中推荐使用进化算法。 ( L\G!pP.  
    ─ 然后点击下一步。 BON""yIC   
    3dDQz#  
    F>kn:I"X)  
    S aet";pf`  
    optiSLang –设置优化 G>S1Ld'MV  
    |uwteG5?$s  
    优化向导 n3g WM C  
    ─ 然后,需要指定一些附加选项。 OXX(OCG>  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 j_uY8c>3\q  
    ─ 然后点击结束。 Z?v6pjZ?  
    e=)* O  
    n;^k   
    , gr&s+  
    optiSLang –进化算法的高级设置 k,iV$,[TF  
    :'rZZeb'  
    高级设置 F"f}vl  
    ─ 双击创建优化,可以调整优化算法的详细参数。 ?Wz(f{Hm  
    ]AA*f_!  
    p z+}7  
    optiSLang –进化算法的高级设置 T{{AZV"pB  
    $_7d! S"  
    高级设置 $4*E\G8  
    ─ 双击创建优化,可以调整优化算法的详细参数。 j X!ftm2  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 %3#I:>si  
    +fCyR  
    X1V}%@3:  
    }V#9tWW  
    optiSLang –进化算法的高级设置 JS7}K)A2B6  
    5A]LNA4i  
    高级设置 \ NSw<.  
    ─ 双击创建优化,可以调整优化算法的详细参数。 -KJ!  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 grfdvN  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) 9Bvn>+_K  
    M= q~EMH  
    q,,>:]f#  
    -anFt+f-  
    optiSLang –进化算法的高级设置 ^%8Hvy  
    ))69a  
    高级设置 nh&J3b}B!  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 `_g?y)  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 >-|90CSdSJ  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 $h]Y<&('G  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 C|~JPcl  
    &0 )xvZ  
    ~)m t&   
    >7(~'#x8A"  
    optiSLang –设计计算的并行化 C(1A8  
    wI]R+.  
    并行化设置 s8yTK2v2\  
    ─ 一些优化算法允许并行计算设计。 Wh'_ slDH+  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 A]O5+" mc  
    ─ 为了允许并行计算,必须启用多个求解器。 <.7I8B7  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 7k#${,k  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 <&Y}j&(  
    e<O;pM:  
    oB{}-[G  
    X?v ^>mA  
    optiSLang –开始优化 hKzBq*cV  
    ZG \ I1  
    运行优化 !Nxn[^[?.  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 k"^t?\Q%vI  
    ─ 点击运行按钮开始优化。 \`Ph=lJO  
    Rqb{)L X*  
    b6WC @j`*T  
    2c>H(t h=  
    optiSLang –优化结果 Q1ABnacR  
    F<oc Y0=9p  
    优化结果 K@j^gF/0B  
    ─ 优化结束后,可以在新窗口中得到结果。 mb~=Xyk&  
    MNf@HG  
    & L.PU@  
    6PQJgki  
    optiSLang –优化结果 mcz(,u}  
    =6Kv`  
    优化结果 4<3?al&  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 {7Gx9(  
    ─ 用户能够为他的应用选择最合适的设计。 +Sdx8 Z5  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 \{M rQ2jd  
    +.gf]|  
    Q&.IlVB[  
    _L:i=.hxN  
    optiSLang –优化结果 s7UhC.>'@  
    r_V2 J{B  
    优化结果 sx-Hw4.a"  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 T) Zt'M  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 ` r'0"V  
    HV$9b~(  
    .cH{WZ  
    ,2 g M-  
    optiSLang –导入优化结果 Kixr6\  
    ,3J`ftCV  
    导入优化结果 }4\!7]FVYX  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 &Xn8oe  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 G1?0Q_RN  
    z3vsz  
    veX"CY`hn  
     [`hE^chd  
    总结 k binf  
    %eutfM-?6  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 kY'<u  
    c+Q.?vJ  
     
    分享到