《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 高分辨率全球非结构网格生成实践
高分辨率全球非结构网格生成实践
2022年电子技术应用第6期
刘 壮,黄小猛
清华大学 地球系统科学系,北京100084
摘要: 球面质心Voronoi网格(SCVT)是一种高质量的非结构网格,被国内外知名地球系统模式所采用。国际上,已有开源项目Message Passing Interface SCVT(MPI-SCVT)实现了并行的SCVT生成。然而,尽管MPI-SCVT可以很好地适用于一般分辨率网格的生成,当所需网格的分辨率非常高时,MPI-SCVT的使用会出现多个问题,包括初始网格点质量差、大数据MPI通信、外部库调用以及I/O问题。对于这些问题,提出了一整套解决方案。实践表明,应用此方案可以顺利完成全球1.9 km分辨率网格的生成,且到达相同精度时所需迭代步数显著减少,节约了计算时间。
中圖分類號: TP311
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.222602
中文引用格式: 劉壯,黃小猛. 高分辨率全球非結(jié)構(gòu)網(wǎng)格生成實(shí)踐[J].電子技術(shù)應(yīng)用,2022,48(6):103-106,111.
英文引用格式: Liu Zhuang,Huang Xiaomeng. Generating high-resolution global unstructured meshes[J]. Application of Electronic Technique,2022,48(6):103-106,111.
Generating high-resolution global unstructured meshes
Liu Zhuang,Huang Xiaomeng
Department of Earth System Science,Tsinghua University,Beijing 100084,China
Abstract: The Spherical Centroid Voronoi tessellations(SCVT) are a kind of high-quality unstructured meshes, which are adopted by well-known earth system models at home and abroad. Internationally, the open source project Message Passing Interface SCVT(MPI-SCVT) has realized the parallel SCVT generation. However, although MPI-SCVT works well for the generation of general-resolution meshes, the use of MPI-SCVT presents several problems when the required mesh is of very high resolution, including the poor quality of initial mesh points, large data MPI communication problems, external library calling problems and I/O problems. For these problems, a set of solutions are proposed. Practice shows that the application of these solutions can successfully complete the generation of the global 1.9 km resolution grid, and the number of iterations is significantly reduced when reaching the same accuracy, which saves the calculation time.
Key words : generation of unstructured meshes;centroid Voronoi tessellations;high resolution;iteration optimization

0 引言

    近年來,隨著計(jì)算機(jī)計(jì)算能力的提升與數(shù)值方法的發(fā)展,非結(jié)構(gòu)網(wǎng)格在地球系統(tǒng)模式中得到了越來越多的應(yīng)用[1-2]。不同于結(jié)構(gòu)網(wǎng)格,非結(jié)構(gòu)網(wǎng)格沒有極點(diǎn)附近網(wǎng)格收縮而出現(xiàn)奇異的問題;同時(shí),非結(jié)構(gòu)網(wǎng)格可以更靈活地處理各種邊界條件、實(shí)現(xiàn)局部網(wǎng)格加密等。

在各種非結(jié)構(gòu)網(wǎng)格中,球面質(zhì)心Voronoi網(wǎng)格[3](Spherical Centroid Voronoi Tessellations,SCVT)因具備良好的性質(zhì)而得到廣泛應(yīng)用。生成SCVT一般采用的Lloyd算法[3]是一個不動點(diǎn)迭代算法,其計(jì)算量與生成的網(wǎng)格點(diǎn)數(shù)成正比。為應(yīng)對快速生成高分辨率SCVT的挑戰(zhàn),Jacobsen等[4]提出了基于區(qū)域分解和球極投影的并行算法,并在GitHub開源了其代碼(MPI-SCVT:https://github.com/douglasjacobsen/MPI-SCVT)。數(shù)值實(shí)驗(yàn)顯示了MPI-SCVT相對于串行算法的加速效果。

    盡管MPI-SCVT可以很好地適用于一般分辨率下SCVT的生成,當(dāng)所需網(wǎng)格的分辨率非常高(例如2 km以下)時(shí),MPI-SCVT的使用會出現(xiàn)一系列問題。首先,MPI-SCVT內(nèi)置的幾種網(wǎng)格初始化方法生成的網(wǎng)格點(diǎn)質(zhì)量較差,與最終的收斂結(jié)果距離較遠(yuǎn),這使得迭代步數(shù)過多,程序整體運(yùn)行時(shí)間長。其次,高分辨率導(dǎo)致迭代過程中通信的數(shù)據(jù)量大,MPI-SCVT使用的boost MPI(http://www.boost.org)單次通信數(shù)據(jù)量超過一定大小(約2 GB)時(shí)會出錯。再者,MPI-SCVT調(diào)用外部庫Triangle[5]實(shí)現(xiàn)平面Delaunay三角網(wǎng)格[4]的構(gòu)建,當(dāng)單次輸入網(wǎng)格點(diǎn)數(shù)超過約42 600 000時(shí),Triangle無法正常運(yùn)行。最后,高分辨率導(dǎo)致輸出變量較大,使用外部庫NetCDF-CXX無法完成所需NetCDF文件的輸出。




本文詳細(xì)內(nèi)容請下載:http://ihrv.cn/resource/share/2000004430




作者信息:

劉  壯,黃小猛

(清華大學(xué) 地球系統(tǒng)科學(xué)系,北京100084)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容