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

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

    上一主题 下一主题
    离线infotek
     
    发帖
    7176
    光币
    30021
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2023-07-31
    摘要 R'EUV0KX>Y  
    3s\.cG?`r  
    {'?)FX*W  
    x3jb%`o#!  
    现代光学系统优化一般会涉及到大量的参数,例如:优化光栅时不仅需要考虑光栅的几何参数,还有所需的入射方向。随着参数数量的大量增加,优化越来越具有挑战性。对于这种情况,VirtualLab Fusion提供了与Dynardo的optiSLang软件的接口,可以使用不同的高级优化算法。 0sN.H=   
    %~L>1ShtU  
    VirtualLab Fusion和optiSLang的界面 eAv4FA4g  
    MYJg8 '[j  
    VirtualLab Fusion是一种灵活且可定制的建模工具平台,可以仿真复杂的光学装置,例如:将一组平面波耦合入光波导。 'o|30LzYgQ  
    L^2FQti>  
    \PDd$syDA  
    L pR''`2BT  
    optiSLang是一种包含各种高级工具的软件平台,包括敏感度分析、多元和多学科优化、鲁棒性评估、可靠性分析和鲁棒设计优化。    ]#7zk9  
    两种软件平台的结合使得例如智能光波导耦合等高级光栅结构变为可能。 w(kf  
    \drqG&wl  
    VirtualLab Fusion – 光学装置初始化 VE+IKj!VG0  
    7K)6^r^  
    初始装置 Bm&kkx.9P  
    ─ 一般来说,在VirtualLab中定义的光学系统都可以使用optiSLang进行优化。 6"Bic rY  
    ─ 该例中的光学系统包含了平面波光源和用于周期性介质的波导耦合探测器。 rSXh;\MfB4  
    ~U;rw&'H  
    ^O^l(e!3  
       0#w?HCx=  
    VirtualLab Fusion – 波导耦合探测器 B<j'm0a>B  
    *K> l*l(f]  
    波导耦合探测 a=M\MZK>  
    ─ 波导耦合探测器是一种特殊工具,用以探测某个周期性结构以特定角度范围入射的效率。 'F>'(XWWQ  
    ─ 可以从探测器的编辑对话框中的目录定义或加载周期性结构。 XGP6L0j  
    q_-7i  
    _g1b{$  
       TXe$<4"  
    VirtualLab Fusion – 波导耦合探测器 LP MU8Er  
    波导耦合探测 ,9WBTH8  
    ─ 该例中使用了倾斜光栅。 !9Aaj<yxm  
    .e=C{  
    O_Oj|'bBC  
    [9 Ss# ~  
    VirtualLab Fusion – 波导耦合探测器 &u#&@J  
    波导耦合探测 B6wRg8  
    ─ 该例中使用了倾斜光栅。 w@N  
    W 4F\}A  
    J,Ks0M A  
    . 'Y]R3\M+  
    VirtualLab Fusion – 波导耦合探测器 G:zua`u[  
    *S/_i-ony  
    波导耦合探测 ,o)d3g-&g  
    ─ 输入光源的入射角度范围在探测器编辑对话框中指定。 [Q=dC X9%  
    ─ 通过最小和最大笛卡尔坐标系角度alpha和beta与它们的采样点数定义。 fk_o@ G!0  
    {&"N%;`Q  
    v{}#?=I5  
    In`mtn q  
    VirtualLab Fusion – 波导耦合 (V4 ~`i4V  
    a'z)  
    波导耦合探测 Yo[;W vu  
    ─ 可以从探测得到的效率计算平均值和均匀对比度,并在探测器结果标签页中给出。 7b<yVP;{  
    ─ 作为结果,探测器可以用于评估在特定角度范围内的周期性结构。 d/i`l*  
    AhZ8 0!  
    HD(.BW7  
    4'0Dr++  
    VirtualLab Fusion – 输出LPD至OPtiSLang o7|eMe?<t  
    % LJs  
    输出LPD至OPtiSLang qi_Jywd:w  
    ─ File→Export→Export to optiSlang Project br|;'i%(  
    I'|$}/\`  
    qAw x2fPu  
    VirtualLab Fusion – 输出LPD至OPtiSLang U"Zmv  
    k+ze74_"  
    输出LPD至OPtiSLang !Y-98<|b M  
    ─ File→Export→Export to optiSlang Project /iX+R@  
    ─ 输出LPD文件,并产生输入至optiSLang的必要光学装置文件。 fl\ly `_  
    qHxqQ'ks;  
    7}X[ 4("bB  
    5H ue7'LS  
    VirtualLab Fusion – 输出LPD至OPtiSLang @HOBRRm`  
    9=UkV\m)  
    输出LPD至OPtiSLang 92EWIHEWZ  
    ─ 在输出对话框窗口。 Y'ow  
     可定义参数空间,并包含了参数的变化范围。 ;UxP Kpl  
     可以选择保存到的输出文件夹。 utIX  %0  
     可以指定模拟引擎,用于分析。 l,kUhZ@W  
    0(S"{Ov  
    ]w.;4`l*  
    _'(,  
    optiSLang – 初始化优化 wu)w   
    ^/r7@:  
    设置求解器系统 .FLy;_f+  
    ─ File→New project… sQ fFu  
    /Z$&pqs!  
    rnF/H=I/  
    E160A5BTx  
    optiSLang – 初始化优化 q}]XYys  
    9^j &V mF  
    设置求解器系统 !TUrQ  
    ─ 继续,拖动求解器(Solver)向导到场景(Scenery)窗口。 +t?3T-@Ks  
    ─ 打开了一个对话框,列出了几种求解器(Solver)范例。 ={z*akn,  
    ─ 求解器(Solver)范例中必须选择VirtualLab。 BW "5Aj  
    v#!%GEg1r  
    ?#45wC  
    optiSLang – 初始化优化
    v&=gF/$  
    T3^GCX|!@  
    设置求解器系统 e:5bzk!~  
    ─ 然后会弹出文件对话框,必须打开VirtualLab输出的system.lpd文件。 A -b [>} _  
    #*KNPh  
    f` ;j:O  
    = 17t- [  
    optiSLang – 初始化优化 ](s'L8 (x  
    s#WAR]x0x  
    参数化的求解器系统 2Tagr1L  
    ─ 参数化的求解器系统包含相应的VirtualLab文件和两个含有参数和结果的XML文件,用于定义优化函数。  0}CGuws  
    ─ 请务必保存计划。 )/wk ( O+  
    sashzVwJ-=  
    [xGf,;Z  
    [DF,^4g  
    optiSLang – 初始化优化 MerFZd 1  
    RR]CW  
    参数化的求解器系统 `-p:vq`  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 @CT;g\4  
    !Y[lQXv  
    -&-Ma,M?  
    z[3L2U~6  
    optiSLang – 初始化优化 7BJzM lJ1Y  
    c5u@pvSP  
    参数化的求解器系统 kYjGj,m"  
    ─ 运行求解器系统以检查是否能正常工作并给出预期的结果。 MZT23 [+  
    ─ 通过双击结果(Result)设计标签页中的参数化(Parametric)求解器系统窗口,可以检查参数和结果。 CL+}| 7O(  
    6e[VgN-s  
    RE/~#k@a  
    <kx&w(=  
    optiSLang –设置优化 sk=-M8;\  
    E<Q f!2s$  
    参数化的求解器系统 o}* hY"&  
    ─ optiSLang可以进行多目标函数的光学系统优化。 (G[ *|6m  
    ─ 这可以在参数化(Parametric)求解器系统配置的判据(Criteria)标签页中定义。 yc?a=6q'm  
    [m|YWT=  
    6x%h6<#xh*  
    k@z,Iq8  
    optiSLang –设置优化 70eb]\%  
    @*6 C=LL  
    参数化的求解器系统 }n4V|f-  
    ─ 可以通过拖动均匀化对比度(Uniformity Contrast)到目标最小化(Objective Minimize)判据中定义第一目标函数。 lx[oaCr  
    ─ 因此优化算法会尽可能地使均匀度对比最小化。 a+%6B_|\  
    C,v(:ZE$J7  
    /,g,Ch<d  
    M)2VcDy  
    optiSLang –设置优化 ;n&t>pBM  
    %>g3~yl  
    参数化的求解器系统 oyYR-4m\  
    ─ 可以通过拖动平均值(Mean)到目标最小化(Objective Maximize)判据中定义第二目标函数。 rV T{90,  
    ─ 因此优化算法会尽可能地使平均效率最大化。 34Kw!  
    ─ 这步操作被称为多目标优化。 3ZXQoC '  
    EV*IoE$W]=  
    ;{KV /<3  
    W7 #9jo  
    optiSLang –设置优化 N-e @j4WU  
    NnT1X;0W  
    优化向导 Bg|5KOnd  
    ─ 下一步可以通过拖放来使用优化向导。 Ir qZi1  
    USM4r!x  
    @T'i/}nl  
    Q|D @Yd\  
    optiSLang –设置优化 `Ch9~*p  
    -)RH5WGS  
    优化向导 wfq7ob4^  
    ─ 第一步,提供了各种系统参数,包括其指定的值范围。 \cUC9/ b  
    ─ 此外,optiSLang提供了一个可视化的值范围,其中标出了初始值。 T^Ze3L]  
    ─ 然后点击下一步。 K otrX  
    mjKS{  
    r}mbXvn  
    optiSLang –设置优化 J /f  
     y"H*%]  
    优化向导 <U!`J[n%  
    ─ 第二步,如果在参数化的求解器系统中没有指定优化条件,则此时可以指定。 ^HqY9QT2  
    ─ 也可以从其他文档中输入条件。 5a hVeY  
    ─ 然后点击下一步。 vJ-q*qM1  
    LQngK7>  
    b"vv>Q~U  
    !U'QqnT  
    optiSLang –设置优化 X;"Sx#U  
    aD=A^ktx  
    优化向导 RF%KA[Dj  
    ─ 第三步,选择优化方法。  wv\w;'  
    ─ optiSLang提供了类似于红绿灯的建议形式来选择合适的方法: '<ZlGFt'n  
     红:不适用 Te<}*qvD  
     黄:适用 TwVlg ;  
     绿:推荐 z6w3"9Um  
    ─ 该例中推荐使用进化算法。 (3{YM(  
    ─ 然后点击下一步。 @jsDq Ln  
    VBcy9|lD  
    q&W[j5E  
    =1Oj*x@*4  
    optiSLang –设置优化 2M68CE  
    YQ6f}O  
    优化向导 Ipq"E  
    ─ 然后,需要指定一些附加选项。  Pyb Z)5u  
    ─ 建议在算法运行期间显示后期处理选项,以便在优化运行期间访问结果数据。 DW_1,:,?7l  
    ─ 然后点击结束。 dVi!Q@y+  
    "6us#T  
    nysUZB  
    N#DYJ-~*  
    optiSLang –进化算法的高级设置 EB2!HpuQ3  
    *Of4o  
    高级设置 bdF.qO9  
    ─ 双击创建优化,可以调整优化算法的详细参数。 3 %|86:*  
    t 0|!(3  
    17G'jiY H  
    optiSLang –进化算法的高级设置 [N#, K02mk  
    6u7?dG'4  
    高级设置 b{]z w pf  
    ─ 双击创建优化,可以调整优化算法的详细参数。 Z^IPZF  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 /eOzXCSws  
    ]2\VweV  
    obNqsyc77R  
    ),ma_{$N  
    optiSLang –进化算法的高级设置 j{9D{  
    !VI]oRgP  
    高级设置 t_qNq{  
    ─ 双击创建优化,可以调整优化算法的详细参数。 -2A(5B9Fq  
    ─ 在标签页“初始化”、“选择”、“交叉”和“突变”中授予算法中许多参数的权限。 +(1zH-^.  
    ─ 在标签页“其他”中,提供了一些预定义的参数,适用于大部分优化。(例如“EA 10000”) WzF !6n!h  
    ` M3w]qJ<}  
    zN"J}r:  
    3T!lA  
    optiSLang –进化算法的高级设置 <\pfIJr$  
    Bb}fj28  
    高级设置 S7L=#+Z  
    ─ 此外,作为附加选项,可以调整optiSLang是否自动保存。 p~,]*y:XT  
    ─ 默认情况下,在计算每个设计迭代后,项目会自动保存。 K3x.RQQ-  
    ─ 特别是对于计算时间短的设计,这会产生大量开销并减慢优化速度。 #[`:'e  
    ─ 因此,建议将自动保存选项设置为每50或100个完成的设计后保存。 s! }ne"&0  
    "0cID3A$  
    JAX*hGhkh  
    |]ZYa.+:  
    optiSLang –设计计算的并行化 :"I E  
    5yiK+-iTs  
    并行化设置 -QmO1U  
    ─ 一些优化算法允许并行计算设计。 }t%!9hr5D  
    ─ 例如,在进化算法的情况下,一代的所有成员设计的参数是已知的,因此可以同时计算以减少计算时间。 DFd%9*N  
    ─ 为了允许并行计算,必须启用多个求解器。 kT!9`S\  
    ─ 通过双击VirtualLab求解器,可以找到此附加选项。 _oUHJ~&,  
    ─ 建议数量为CPU的一半到全部真实核心之间,具体取决于每个设计的计算并行化。 fIwV\,s  
    Hqn#yInA7~  
     OP x`u  
    }=8B*  
    optiSLang –开始优化 66I"=:  
    Y5FbU  
    运行优化 `/ q|@B7  
    ─ 单击场景(Scenery)中的进化算法(Evolutionary Algorithm)窗口。 .b-f9qc=  
    ─ 点击运行按钮开始优化。 )l[M Q4vWW  
    uec!RKE  
    h}cy D7Wn  
    !/3B3cG  
    optiSLang –优化结果 Qi LEL  
    ]5$eAYq  
    优化结果 a8i]]1Blz  
    ─ 优化结束后,可以在新窗口中得到结果。 0 rXx RQ  
    U 9A~9"O  
    =UJ:tSr  
    QZ:8+[oy  
    optiSLang –优化结果 *i- _6s  
    $} =krz:r  
    优化结果 %JHGiCv|  
    ─ Pareto2D图以点云的形式同时给出了目标值、均匀度对比和平均效率。 Wr3mQU  
    ─ 用户能够为他的应用选择最合适的设计。 pk3<|  
    ─ 在这个例子中,选择了设计no.8842,具有~16%的均匀度对比和~20%的平均效率。 JNa"8  
    g)_e]&  
    zOqn<Y@  
    d_)o  
    optiSLang –优化结果 G1"zElug  
    X(\fN[;  
    优化结果 we;G]`@?  
    ─ 每个设计都存储在子文件夹〜Optimization.opdEvolutionary_Algorithm中的optiSLang项目目录中。 Ar:*oiU  
    ─ 此目录中的每个文件夹(由设计编号命名)包含将设计再次导入VirtualLab所需的所有文件。 pSr{>;bN  
    nZ@&2YPlem  
    7"w2$*4'0  
    $;/}?QY(  
    optiSLang –导入优化结果 .$%Soyr?,  
    CFqJ/ ''  
    导入优化结果 %d>=+Ds[  
    ─ 要导入感兴趣的设计,使用Import optiSLang Results功能,选择相应的设计文件夹。 _&j}<K$- (  
    ─ 最后,可以在VirtualLab中进一步分析导入的LPD。 =R Ah|e  
    Zuw?58RE\  
    b D[!/'4eJ  
    <X7FMNr[  
    总结 u\LFlX0sO  
    DV\`Wv  
    作为总结,下表给出了初始和优化后的设计之间的光栅参数和性能标准的比较。 t0nI('LX,  
    &znQ;NH#  
     
    分享到