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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    6441
    光币
    26350
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2023-12-25
    摘要 #&1mc_`/  
    BNQ~O^R0  
    Wl;F]_|*(  
    IObGmc  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 $MfHA~^  
    'F5&f9 A  
    VirtualLab Fusion和optiSLang的界面 2e/ JFhA  
    c[3sg  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 ,Tvk&<!0  
    $ze%! C  
    vbmi_[,U  
    a7%5Qg9B;  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。   (pREo/T  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 jXSo{  
    A%k@75V@  
    VirtualLab Fusion – 光学装置初始化 8JJqEkQ  
    +]Po!bN@@  
    初始装置 Z8z.Xn  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 S'9T>&<Kn  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 7xMvf<1P  
    Eu l,1yR  
    % E3  
       Ldf<  
    VirtualLab Fusion – 波导耦合探测器 g&`e2|[7  
    GXYmJ4wR  
    波导耦合探测 c] $X+  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 (5cc{zKtR  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 pBL,kqYNA>  
    qTj7mUk  
    u+&BR1)C  
       i 'H{cN6  
    VirtualLab Fusion – 波导耦合探测器 5qt]~v%y  
    波导耦合探测 \v)Dy)Vhg2  
    ─ 该例中使用了倾斜光栅。 JLT10c3  
    r.lH@}i%n  
    Dwj!B;AZ_  
    9 ]c2ub7  
    VirtualLab Fusion – 波导耦合探测器 *Cz>r}W  
    波导耦合探测 re2M!m6k5  
    ─ 该例中使用了倾斜光栅。 _<6 ^r  
    4&r[`gL  
    AA6_D?)vv  
    ='`z  
    VirtualLab Fusion – 波导耦合探测器 a:r8Jzr  
    -+Axa[,5=  
    波导耦合探测 EeIV6ug  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 !trt]?*-  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 <4ccTl  
    yS^";$2Tc  
    f=+|e"i #p  
    (#k>cA(}  
    VirtualLab Fusion – 波导耦合 Dq/_^a/1  
    qjFz}6  
    波导耦合探测 /BjM&v(5/  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 9]<p  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 P^&%T?Y6z  
    AyKvh  
    EiQX* v  
    Jz&a9  
    VirtualLab Fusion – 输出LPD至OPtiSLang = NHuj.  
    j]U sb_7  
    输出LPD至OPtiSLang ELfcZfJ  
    ─ File→Export→Export to optiSlang Project /2N'SOX  
    &_Ze@Ir-  
    <o@&I " o  
    VirtualLab Fusion – 输出LPD至OPtiSLang gHdNqOy c  
    x' >Nz{B,P  
    输出LPD至OPtiSLang ~P8 6=Vw  
    ─ File→Export→Export to optiSlang Project 6i|5`ZO  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 {; #u~e(W  
    a8ya5EO  
    _1Iy/T@1  
    ;\ ^'}S|3Z  
    VirtualLab Fusion – 输出LPD至OPtiSLang Rah"La  
    $0$'co"  
    输出LPD至OPtiSLang 2l]*><q|  
    ─ 在输出对话框窗口。 r<VZE bm)  
     可定义参数空间,并包含了参数的变化范围。 RfH.WXi  
     可以选择保存到的输出文件夹。 Y)#x(s?t  
     可以指定模拟引擎,用于分析。 h DpIwzJ  
    eRU0gvgLu"  
    G&=4@pLY5  
    uu ahR  
    optiSLang – 初始化优化 p)6!GdT  
    z"#iG&>a,  
    设置求解器系统 %LyZaU_sB  
    ─ File→New project… R=&9M4  
    |osu4=s|  
    ,;;7+|`  
    sB!#`kh  
    optiSLang – 初始化优化 Dl=9<:6FW  
    9{[I|  
    设置求解器系统 4/KGrY! ck  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 9 5bi W  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 ?*DM|hzOi  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 paKur%2u  
    x }\x3U  
    gJa48 pi  
    optiSLang – 初始化优化 %+ln_lgD:  
    h?_Cv*0q  
    设置求解器系统 #1Zqq([@  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 m=Mb'<  
    L& =a(  
    J)7\k$D  
    D5Zgi!  
    optiSLang – 初始化优化 k;5$]^x  
    r<'ni  
    参数化的求解器系统 -M]B;[^  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。 J?6.yL;  
    ─ 请务必保存计划。 Xir ERc.e  
    9S 'u 1%  
    Z9 z!YaOL  
    jej.!f:H  
    optiSLang – 初始化优化 ),{v  
    x[?N[>uw  
    参数化的求解器系统 0gRj3al(  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 l7h6R$7; 0  
    rX7GVg@H  
    ML_$/  
    M)x6m|.=  
    optiSLang – 初始化优化 m:}PVJ-"  
    FOPfo b[  
    参数化的求解器系统 8F>u6Y[P  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 2[!3!@.  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 $>JfLSyC  
    :g%hT$,]3b  
    J\@|c.ws  
    *wk?{ U  
    optiSLang –设置优化 G2$<Q+UYs?  
    (rmOv\hG9V  
    参数化的求解器系统 1NAGGr00  
    ─ optiSLang可以进行多目标函数的光学系统优化。 O2pntKI  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 r'J="^k{  
    jKh:}yl4  
    !hs33@*u~  
    HNJR&U t  
    optiSLang –设置优化 ~<N9ckK  
    ,? >{M  
    参数化的求解器系统 sYEh>%mo^C  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 i)iK0g"2  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 HVJqDF  
    pV8_i7\  
    a(J@]X>'  
    ~8 B]  
    optiSLang –设置优化 vjL +fH<0:  
    <ni_78  
    参数化的求解器系统 0OXl`V`w  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 /Nc)bF%gX  
    ─ 因此优化算法会尽可能地使平均效率最大化。 0BwxPD#6bv  
    ─ 这步操作被称为多目标优化。 #<LJns\t   
    )/t&a$[  
    t$Bu<frQ  
    ,i jB3J  
    optiSLang –设置优化 &SG5 f[  
    xfF;u9$;  
    优化向导 2tb+3K1  
    ─ 下一步可以通过拖放来使用优化向导。 T@Bu Fr`]<  
    sYq:2Wn>8Q  
    hgj ]Jr  
    >\!G43Q=  
    optiSLang –设置优化 ZEp>~dn;  
    y7t'I.E[+  
    优化向导 &^UT  
    ─ 第一步,提供了各种系统参数,包括其指定的值范围。 PNz]L  
    ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 ?8do4gT+1  
    ─ 然后点击下一步。 EI9;J-c  
    iT;Ld $!{f  
    vX7U|zy  
    optiSLang –设置优化 LOgFi%!6:  
    }4g$ aTc  
    优化向导 soRY M  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 YV8PybThc  
    ─ 也可以从其他文档中输入条件。 =P9Tc"2PN  
    ─ 然后点击下一步。 !}5f{,.RO  
    !|W.YbS  
    d8uDSy  
    hx*4xF  
    optiSLang –设置优化 n0LNAhM  
    q;lR|NOh  
    优化向导 67;6nXG0K  
    ─ 第三步,选择优化方法。 C B`7KK  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: =van<l4b#n  
     红:不适用 B^!-%_q  
     黄:适用 ^AShy`o^X  
     绿:推荐 `g_r<EY8/  
    ─ 该例中推荐使用进化算法。 .l hS  
    ─ 然后点击下一步。 id588Y78  
    G!`PP  
    FWB *=.A9  
    ]WzeJ"r {3  
    optiSLang –设置优化 -%0pYB  
    l}iQ0v@  
    优化向导 gKY6S?  
    ─ 然后,需要指定一些附加选项。 bsm/y+R  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 qqJghV$Oj  
    ─ 然后点击结束。 .R@s6}C`}=  
    ^D]J68)#a  
    ,N _/J4Us  
    Y]_$+Si:NK  
    optiSLang –进化算法的高级设置 n|pdYe8\  
    "hQGk  
    高级设置 ?K;l 5$?%  
    ─ 双击创建优化,可以调整优化算法的详细参数。 2~ 4&4  
    0VrsbkS  
    '=O1n H<  
    optiSLang –进化算法的高级设置 d``wx}#Uk  
    xFekSH7[F  
    高级设置 5 HsF#  
    ─ 双击创建优化,可以调整优化算法的详细参数。 +*w}H 0Z  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 ZqdoYU'  
    -Bl^TT  
    sYo&@~T  
    eM 5#L,Y{  
    optiSLang –进化算法的高级设置 ZW9OPwV  
    ?:M4GY" gV  
    高级设置 AAs&P+;  
    ─ 双击创建优化,可以调整优化算法的详细参数。 |AacV  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 mBJr*_p  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) ' tHa5`  
    g1?9ge 1  
    liG|#ny{  
    [= BMvP5  
    optiSLang –进化算法的高级设置 Bu&9J(J1  
    z;dRzwL  
    高级设置 $+f=l~/s  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 _;U%`/T b  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 Ssuz%*  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 a|= ^   
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 ^<qi&*  
    `Oi#`lC\  
    S6_:\Q  
    _~MX~M3MB  
    optiSLang –设计计算的并行化 v-SX PL]_^  
    n-xdyJD  
    并行化设置 y3o3G  
    ─ 一些优化算法允许并行计算设计。 e8T"d%f?  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 ez!W0  
    ─ 为了允许并行计算,必须启用多个求解器。 +}M3O]?4  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 9P ACXW0  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 a;^lOU|L{  
    |0oaEd^*}  
    0M roHFh9`  
    @&E IH,c  
    optiSLang –开始优化 xp'Q>%v  
    !zx8I7e4  
    运行优化 mNacLkh[  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 {:("oK6w  
    ─ 点击运行按钮开始优化。 d@1^U9sf  
    rm9>gKN;#  
    -aVC`  
    A)3H`L  
    optiSLang –优化结果 Q!qD3<?5  
    +0z7}u\x  
    优化结果 @!'}=?`  
    ─ 优化结束后,可以在新窗口中得到结果。 23i2yT  
    qbeUc5`1  
    '7PaJj=Nx  
    PU,$YPrZ  
    optiSLang –优化结果 _K!.TM+9  
     U-4F  
    优化结果 (YYg-@IO  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 M2|h.+[Q  
    ─ 用户能够为他的应用选择最合适的设计。 LtX53c  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 xQDQgvwa  
    \.O&-oi  
    .,p=e$x]  
    H!Q72tyo  
    optiSLang –优化结果 2vLun   
    <{bxOr+  
    优化结果 w-# f^#  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 @-L]mLY  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 isd-b]@:Lc  
    ^}p##7t [  
    [SC6{ |  
    u "jV#,,  
    optiSLang –导入优化结果 4F G0'J&hw  
    vVw@^7U  
    导入优化结果 RPgz"-  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 tx>7?e8E  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 K&`1{,  
    ;J TY#)Bh  
    m<-!~ ew  
    2O[sRm)  
    总结 ty.$ H24  
    \q1tT!]  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 MkoK(m{7  
    O_a^|ln&  
     
    分享到