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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    6441
    光币
    26350
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2023-07-31
    摘要 2cf' ,cv@8  
    O~@fXMthh  
    v6uxxsI>Hm  
    )1F<6R  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 f h<*8w0H  
    >dQK.CG  
    VirtualLab Fusion和optiSLang的界面 4MW ]EQ-  
    PRs@zkO  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 XnUO*v^]  
    o6}n8U}bk  
    )`HA::  
    V"RpH,  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   A^Cj1:,  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 jo98 jA<  
    >V;,#5F_  
    VirtualLab Fusion – 光学装置初始化 3HiFISA*  
    Q M 1F?F  
    初始装置 $.K?N@(W  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 q'S =Eav8  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 u oVNK  
    =_pwA:z"A  
     Mm= Mz  
       :w-`PY J%G  
    VirtualLab Fusion – 波导耦合探测器 y' xF0  
    :q+N&j'3  
    波导耦合探测 >nn Y:7m  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 3071:W  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 #a9_~\s  
    $v27]"]  
    3/goCg  
       k#)Ad*t  
    VirtualLab Fusion – 波导耦合探测器 =-jD~rN4;P  
    波导耦合探测 8cVzFFQP  
    ─ 该例中使用了倾斜光栅。 V@ :20m  
    8+'C_t/0i  
    v}uJtBG(  
    n2ndjE$  
    VirtualLab Fusion – 波导耦合探测器 ", B'k  
    波导耦合探测 BzbDZV  
    ─ 该例中使用了倾斜光栅。 A7-r <s  
    e!x6bR9EZ  
    f3PMVf:<  
    8^yJqAXK  
    VirtualLab Fusion – 波导耦合探测器 )]Ti>RO7  
    @Hjea1@t  
    波导耦合探测 zlf} .  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 t[C1z  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 H{`{)mS  
    L-h$Z0]_F  
    KSqTY>%fnv  
    }Uw#f@Wh  
    VirtualLab Fusion – 波导耦合 zV.pol  
    {aDFK;qG.  
    波导耦合探测 ;j} yB  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 VcgBLkIF  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 :@. ;  
    }E&NPp>  
    ^Udv]Wh  
    IF_DZ   
    VirtualLab Fusion – 输出LPD至OPtiSLang :#X[%"g.  
    lF4u{B9DM  
    输出LPD至OPtiSLang ;+_8&wbqW  
    ─ File→Export→Export to optiSlang Project 3fkk [U  
    PEXq:TA  
    _a'A~JY  
    VirtualLab Fusion – 输出LPD至OPtiSLang #}yTDBt  
    H7&xLYQ2  
    输出LPD至OPtiSLang lpC @I^:  
    ─ File→Export→Export to optiSlang Project T{Zwm!s  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 6`e@$(dfA  
    #G;X' BN  
    -G`.y?  
    > J>V% 7  
    VirtualLab Fusion – 输出LPD至OPtiSLang 3'eG ;<F  
    k*$3i  
    输出LPD至OPtiSLang 8<&EvOk  
    ─ 在输出对话框窗口。 O6c\KFBSJ  
     可定义参数空间,并包含了参数的变化范围。 ?b:_AO&  
     可以选择保存到的输出文件夹。 >- Bg%J9  
     可以指定模拟引擎,用于分析。 ~L?nq@DL  
    O!F]^'!  
    >S#ul?  
    665[  
    optiSLang – 初始化优化 Dn;p4T@  
    i$Z#9M9  
    设置求解器系统 h=+$>_&:  
    ─ File→New project… Y 62r  
    <d7xt* 4  
    $k0H9_  
    Sp?NfJ\Ie  
    optiSLang – 初始化优化 W|R-J  
    cyF4iG'M,y  
    设置求解器系统 0|Uc d  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 yYTVXs`fVj  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 JOfV]eCL  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 %}qbkkZ  
    8Qrpa o  
    +;gsRhWk  
    optiSLang – 初始化优化
    @.9I3E-=  
    IgX4.]W5  
    设置求解器系统 - q@69q  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 q-&P=Yk  
    v'ay.oVzw  
    wK*PD&nN  
    `deY i2z  
    optiSLang – 初始化优化 S+I^!gT  
    ]PS\#I}  
    参数化的求解器系统 Ap<J'?~y  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 }Ik1bkK  
    ─ 请务必保存计划。 >Y&KTSD"  
    Ja [4A0.  
    v59nw]'  
    \{v,6JC  
    optiSLang – 初始化优化 >&K!VQ{g  
    J!p<oW)a!  
    参数化的求解器系统 d-$_|G+  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 +zO]N&  
    uHvaZMu  
    >FFVY{F  
    m,6h ee  
    optiSLang – 初始化优化 T33|';k  
    ==9ZFdf  
    参数化的求解器系统 JAP (|  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 uqZ3Hyb  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 Bc ^4 T1  
    {bkGYx5.C  
    (!</%^ZI  
    Yj8&  
    optiSLang –设置优化 3,$iG e  
    04JT@s"o  
    参数化的求解器系统 e\N0@   
    ─ optiSLang可以进行多目标函数的光学系统优化。 5*j:K&R-.K  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 ;`jU_  
    GX38~pq  
    A ,<@m2  
    =K'L|QKF  
    optiSLang –设置优化 VS`Z_Xn  
    wn84?$BGd  
    参数化的求解器系统 0k1MKzi Q  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 K&S@F!#g  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 rPTfpeqN)  
    l l:jsm  
    t9D S]Li  
    F#1kZ@nq  
    optiSLang –设置优化 RKe?.  
    :ICr\FY$  
    参数化的求解器系统 >hb- 5xC  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 @ ;J|xkJ  
    ─ 因此优化算法会尽可能地使平均效率最大化。 wE2x:Ge:  
    ─ 这步操作被称为多目标优化。  -$R5  
    CWMlZ VG  
    *k6$   
    (xUFl@I!  
    optiSLang –设置优化 0O; Z  
    hht+bpHl  
    优化向导 3@HIpQM3  
    ─ 下一步可以通过拖放来使用优化向导。 bZ1 0v;  
    -W^2*w   
    Q)dT(Td9~  
    <PQRd  
    optiSLang –设置优化 2Q 3/-R  
    FB!z#Eim  
    优化向导 0 r3N^_}  
    ─ 第一步,提供了各种系统参数,包括其指定的值范围。 }wL3mVz  
    ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 G>j "cj  
    ─ 然后点击下一步。 W_D%|Ub2X  
    z1qUz7  
    3G(skphE  
    optiSLang –设置优化 I,9~*^$  
    i ~P91  
    优化向导 R\ e#$"a5  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 v1K4$&{F  
    ─ 也可以从其他文档中输入条件。 #VR`?n?,  
    ─ 然后点击下一步。 9BurjG1k?  
    d-i&k(M  
    1Kc{#+a^  
    cuNq9y;[  
    optiSLang –设置优化 vT}pbOTh  
    JrxP,[qJG  
    优化向导 U)b &zZc;  
    ─ 第三步,选择优化方法。 6d(b'S^  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: 98ayA$  
     红:不适用 KZ @l/s  
     黄:适用 s9kTuhoK  
     绿:推荐 *fOIq88  
    ─ 该例中推荐使用进化算法。 $1=v.'Y  
    ─ 然后点击下一步。 ; ?j~8  
    B8>FCF&}E  
    %rX\ P  
    N~0$x,bR  
    optiSLang –设置优化 B~e7w 4  
    25w6KBTe;:  
    优化向导 k0=|10bi  
    ─ 然后,需要指定一些附加选项。 eb(m8vLR  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 ap{{(y&R  
    ─ 然后点击结束。 [)bz6\d[  
     bsD'\  
    a6OrE*x:D  
    HMFl/%z  
    optiSLang –进化算法的高级设置 ?WMi S]Q\  
    }$w4SpR  
    高级设置 _{3k+DQ  
    ─ 双击创建优化,可以调整优化算法的详细参数。 ~c9vdK  
    .Wd.) ^?  
    Z,(%v.d  
    optiSLang –进化算法的高级设置 >^sz5d+X  
    4bFv"b  
    高级设置 R^F7a0"  
    ─ 双击创建优化,可以调整优化算法的详细参数。 P=}H1 #  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 0  %C!`7  
    {lTR/  
    B/:>{2cm  
    lu<Np9/5<  
    optiSLang –进化算法的高级设置 60(}_%  
    OME!W w  
    高级设置 ]5aux >.n  
    ─ 双击创建优化,可以调整优化算法的详细参数。 ~ mHXz  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 LAOdH/*:  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) /QM0.{Ypl  
    MM/BJ  
    M ^ 0w/  
    ^p'D<!6sK  
    optiSLang –进化算法的高级设置 a-SB1-5jf  
    m3h2/}%9`  
    高级设置 G}Q}H*  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 v GulM<YY  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 IiYuUN1D  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 5EVB27k  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 x)%% 5  
    Oct\He\.  
    iA5* _tK5  
    KzxW?Ji$S  
    optiSLang –设计计算的并行化  oaH+c9v  
    _.oRVYK /  
    并行化设置 )< X=z  
    ─ 一些优化算法允许并行计算设计。 ?Xy w<fMQ  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 *q\HFI  
    ─ 为了允许并行计算,必须启用多个求解器。 L|dab {9  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 'd~, o[x  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 znGZULa#  
     3D[:Rf[  
    <yX@@8  
    A`+(VzZgJ  
    optiSLang –开始优化 <S:,`v&Z  
    _Ct@1}aa4x  
    运行优化 b{9HooQ{  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 ;[;S_|vZ=)  
    ─ 点击运行按钮开始优化。 m bB\~n  
    +dPE!:  
    b[QCM/  
    ^mQ;CMV  
    optiSLang –优化结果 h|$zHm  
    qHcY 2LV  
    优化结果 7.F& {:@_  
    ─ 优化结束后,可以在新窗口中得到结果。 noB}p4  
    ={wjeRp  
    r5X BcG(2  
    +9=p*3cnp  
    optiSLang –优化结果 7J)a"d^e  
    7,&3=R <  
    优化结果 gFH;bZU  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 QWIOim-  
    ─ 用户能够为他的应用选择最合适的设计。 eO"\UDBV  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 XO8 H]  
    4w3V!K8  
    Kuzy&NI^w  
    %\s#e  
    optiSLang –优化结果 3n=O8Fp  
    JsoWaD  
    优化结果 RvgAI`T7$  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 5y 'ycTjY  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 S^sW.(I  
    ~O7cUsAi'  
    2EI m  
    ` wsMybe#  
    optiSLang –导入优化结果 FC/>L  
    IhFw{=2*  
    导入优化结果 - KoA[UJ  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 G~mB=]  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 } cH"lppX  
    II f >z_m  
    pCud` :o"  
    XDv7#Tv_wv  
    总结 3YZ3fhpw  
    D%";!7u  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 c]/O^/  
    &VBD2_T  
     
    分享到