APP下载

面向科学工程计算的通用网格生成软件系统研究

2020-11-05徐传福龚春叶

计算机工程与科学 2020年10期
关键词:交界面网格软件

高 翔,张 翔,徐传福,刘 杰,龚春叶

(1.国防科技大学计算机学院,湖南 长沙 410073;2.国防科技大学高性能计算国家重点实验室,湖南 长沙 410073)

1 引言

科学工程计算是20世纪后半叶出现的新型交叉学科,旨在利用计算机探索科学原理,是除了理论和实验之外的第3种科学手段,极大地延伸了人的计算能力[1]。近几十年来,它一直是自然科学和工程科学领域的热点,特别是以计算数学为基础形成的计算力学、工程设计等诸多交叉学科。相比以往理论和实验学科,这些新型学科注重工程应用中的实际问题。典型地,计算机辅助工程CAE(Computer Aided Engineering)是利用计算手段有机组织包括航空、航天、造船、机械等重大工程项目中的各个制造环节。因而,研究科学工程计算对于解决实际问题具有不可估量的实用价值。

当前计算流体动力学、电磁学、通信仿真、计算机图形学等皆已成为科学工程计算领域的主流学科。这些学科领域的许多重要系统最终归结为偏微分方程PDE(Partial Differential Equation)的数值求解。典型的PDE数值求解方法包括有限元FEM(Finite Element Method)、有限体积法FVE(Finite Volume Method)、有限差分法FDM(Finite Difference Method)等[2]。在运用这些数值求解方法前,一步关键的前处理操作就是如何将连续的几何模型网格化,即网格生成(Mesh Generation),又称为网格划分。网格生成是按照求解条件、材料特性等限制因素将给定几何区域划分成有限个基本几何形体,一般将二维几何体划分为三角形或四边形网格,将三维几何体划分为四面体或六面体网格等。德克萨斯大学奥斯汀分校的Hughes教授指出,在科学工程计算应用中,数值求解时间仅占4%,而前处理中的网格生成却占总用时的20%以上[2]。由此可见,如何实现高效的网格生成算法,是解决科学工程计算中重大应用问题的关键步骤。

研制网格生成软件,不仅要考虑理论模型的理想情况,还要考虑模型问题中的先验知识,避免在求解过程中出现网格质量影响计算准确性等问题。故而网格生成软件需借助多个交叉学科领域技术人员的通力合作,才能达到高可用水平。现阶段比较成熟、实用的网格生成软件大多为西方大学、研究机构、商业公司等单位所研制,这得益于他们多年来的理论知识和工程实战经验的积累,以及持续不断地在网格生成、图形交互、数据可视化等方面的技术攻关和研发投入。相比之下,国内网格生成软件仍然不够成熟,缺乏一定的通用性和灵活性。

2 国内外相关研究

迄今,传统的网格生成技术已逐渐趋于完善阶段,目前并未出现颠覆性的重要网格生成算法。加之多年来软件研制技术的快速发展,国内外已涌现出许多知名网格生成软件,并广泛应用于学术界和工业界。

2.1 国外研究现状

国外网格生成软件研发开始得最早,其最大推动力主要来自于航空航天等领域的工业需求[2]。根据几何拓扑方式,网格生成方法通常分为结构网格和非结构网格。结构网格生成最早可追溯到20世纪70年代美国劳伦斯利弗莫尔国家实验室的Winslow和Crowley以及同时期俄国Godunov和Prokopow的研究工作[3]。此后,具备结构网格生成软件的有EAGLE系统,它诞生于1987年,并无图形交互功能,1992年集成图形化功能并重新命名为EAGLEView。紧接着,许多其他结构网格生成软件亦不断涌现,如AGPS面几何系统、GridPro/az3000系统、ENGRID块结构系统等[3]。它们都将人机交互作为必备功能,并提供编程语言实现可定制功能。其中,源于NASA的Gridgen[4]是一套多块分区结构网格生成系统,后来发展为商业软件系统PointWise,还有现在著名的ICEM CFD软件除了包含非结构网格功能,也包含了强大结构网格生成能力,已成为著名商业软件ANSYS的重要工具之一。

相比结构网格,非结构网格对网格的规则性没有严格要求,但在20世纪70年代早期想获得自动生成的非结构网格极其困难[2]。从70年代末开始,随着计算机领域基础研究发展,四面体网格生成算法开始发展并持续至今[5]。此外,六面体等基本几何形体及其混合网格生成算法也得到空前发展。相应地,一批优秀的非结构网格生成软件应运而生,例如ICEM CFD、Hypermesh、TurboGrid、STAR CCM+等。现有的这些网格生成软件大多提供友好的交互界面,强大的各类网格生成和处理技术,保证网格质量满足工程应用中的数值求解需求。这些软件更具通用性、灵活性,成为许多工业领域的主流工具。根据统计,国外商业或开源的结构/非结构网格生成软件数目多达60余款[6],功能齐全、技术成熟,为不同领域应用问题提供高质量网格生成。除了网格生成软件本身,许多商业CAE软件将其作为整个数值仿真的有机整体之一,不仅具有适用于其他软件的输出格式,还能兼容主流开源和商业软件的二次开发,因此这些国外网格生成软件几乎垄断了CAE领域。

2.2 国内研究现状

国内对于网格生成软件的研制起步较晚,据不完全统计,目前由国内机构研发的网格生成软件系统主要包括:浙江大学研发的HEDP/Pre[2]、中国空气动力研究与发展中心研发的NNW-GridStar[7]、山东大学研发的AUTOMESH-2D[8]、大连理工大学研发的JIFEX软件前处理子系统AutoFEM[9]以及中国工程物理研究院高性能数值模拟软件中心研发的SuperMesh[10]等。其中HEDP/Pre是CAE软件HEDP的前处理模块,支持非结构网格生成,主要包括三角形、四边形、四面体、六面体和混合网格。NNW-GridStar软件基于网格拓扑框架构造技术实现了复杂外形结构网格附面层的自动生成,具备良好的人机交互功能和模块设计,是专业的结构网格生成软件。AUTOMESH-2D集成了多种网格生成算法,并支持各类网格单元的混合,但其目前仅支持二维网格生成。JIFEX的前处理子系统AutoFEM是基于AutoCAD/MDT的有限元建模软件,可直接利用几何模型建立有限元计算模型,并包含多种有限元网格生成方法。SuperMesh兼具结构网格、非结构网格生成能力,特别是并行网格生成技术,能支持百万亿次规模的并行计算。此外,国内一些自主CAE软件内部也集成了部分网格生成功能,这一系列CAE软件一般以其面向特定应用而闻名,采用了较为先进的设计理念和高效计算方法,解决了国内业界不少实际应用问题,带来了直接和间接的经济效益,也培养出一批从事科学工程计算的人才。但是,从整个技术和软件市场份额而言,无论CAE领域还是网格生成领域,由于国内自主软件竞争力不足,大多相关从业人员还是使用国外开源或商业软件。

3 通用网格生成软件YHGRID研制方案及其关键技术

网格生成作为数值模拟的第一步,也是影响数值模拟精度和效率的一个关键环节。为打破国外商业软件的垄断,提升我国工业软件自主可控水平,基于国产高性能计算平台,拟采用Python和C/C++高级编程语言,研制通用的网格生成软件YHGRID,服务于结构、流体、电磁等科学工程计算领域。由于网格质量依赖操作人员的工程经验,自动化程度还处于较低水平。为满足未来工程应用对效率和精度的需求,通用网格生成软件要解决的关键技术包括可扩展性的软件架构设计、高效可靠的核心并行网格生成算法和数据结构、高质量的网格优化技术等。

3.1 软件架构

为实现方便高效的人机交互,通用网格生成软件YHGRID采用可视化的图形界面,实时显示几何模型和所生成的计算网格,具有几何模型处理、并行网格生成、网格格式转换等功能,且具有较强的功能可扩展性。为实现上述功能和目标,软件架构可由如图1所示4个层级的功能组成:(1)人机交互。采用GUI图形界面实现人机交互,在图形界面下实现项目的全周期管理、各种功能的调度和业务流程控制。(2)前端引擎。主要满足几何外形和计算网格实时显示的需求,在并行环境下能够对分布式存储的数据进行整合,显示统一、完整的几何外形和网格。(3)核心算法。该部分是网格生成软件的核心,包括几何模型处理、各种网格生成算法和优化技术。(4)并行环境。指生成大规模网格的并行环境系统,是通用网格生成软件并行计算的基础层功能。

Figure 1 Architecture of the mesh generation software YHGRID图1 YHGRID网格生成软件架构

YHGRID网格生成软件的研制目标是既可以部署在单机平台,也可以将界面客户端部署在微机,服务端部署在远程高性能计算平台,两者之间通过SSH应用采用易于网络传输的标准格式实现高效数据通信。在超大规模网格生成的交互实时性方面,由于三维网格可视化过程中需要显示的一般是所选择的部分区域外表面的信息,因此可转化为快速判断三维网格中哪些是外表面以及哪些外表面可见,并应用数据压缩、硬件加速等技术提高可视化交互的实时性。

3.2 核心并行网格生成算法和数据结构

通用网格生成软件最重要、最核心的技术是高效可靠的网格生成算法和数据结构。针对结构网格、非结构网格和混合网格等不同类型的网格,虽然目前已有不少成熟公开的生成算法甚至开源程序可供借鉴,但是为了提高自主可控软件的核心竞争力,还需要在基础的表面网格、体网格生成上下功夫,研究高效率、高可靠的单元网格生成算法,从而提供给用户更多可定制化的参数,以满足不同领域的计算需求。另一方面,随着数值模拟的精细化程度不断增加,所需计算网格的规模也越来越大,例如考虑湍流模型的真实飞行器模拟就需要数以亿计的网格单元。由于内存和单核性能的限制,传统串行网格生成算法很难在当前计算系统上快速生成满足需求的网格。为充分利用现代HPC (High Performance Computing)平台快速生成大规模的精细化网格,需要发展并行的网格生成算法。

以非结构网格生成为例,一般并行网格生成算法从设计思路出发可以分成数据并行和算法并行:其中数据并行通常利用区域分解将原区域划分成多个子区域,然后将子区域映射到不同处理器进行处理;算法并行则是通过挖掘串行算法流程中潜在的并行度,将其重新组织为多个可以并发执行的子任务集合。基于区域分解的数据并行是当前网格并行算法研究的主流。根据子区域交接面网格和子区域内部网格生成的先后顺序,大致可以分为同步生成、先生成子区域网格和先生成交界面网格3大类。并行网格生成算法的关键是区域分解的负载均衡以及交界面的处理。以交界面处理为例,一方面需要维持交界面附近生成高质量的网格单元,另一方面需要在保证交界面网格一致性的同时,高效处理跨处理器的通信和同步。

同步生成的一类典型算法是基于Delaunay原理的Bowyer-Watson增量插入算法。其核心过程是不断对新加入的网格点形成空腔,然后对空腔区域重新Delaunay三角化[11]。因此,Bowyer- Watson算法进行并行化处理时,若2个进程处理的空腔互相不重叠,则可以同时进行网格生成;当处理的新网格点所在的空腔在其他进程的处理范围内时,则需要进行通信,即此时生成的是子区域之间的交界面网格单元。其并行化算法在二维情形下插入新的网格点,示意图如图2所示。Bowyer-Watson算法的空腔形成是通过判断已有网格单元的外接圆或者外接球是否包含新的网格点,若包含则删除该单元作为空腔的一部分。故当同时插入多个点时,只要多个点周边形成的空腔相互独立、互不影响,则多个点可以并行插入;但当空腔发生交叉的情况时,并行性则被破坏。因此,使用Bowyer-Watson算法构建并行算法时,需要将原区域划分成多个子网格区域发送给各个进程或者处理器。每个进程处理各自的网格区域,当插入新的点时则要判断新形成的空腔是否跨越了子网格之间的交界面,若没跨越则可插入,若已经跨越则需要进行相应的进程通信。如图2所示,该区域由3个子网格构成,其中当子网格2中插入新网格点P时,经判断可以发现除了本区域中的三角形BCD的外接圆包含点P,子网格1中的三角形ABC外接圆也包含点P,子网格3中的三角形DEF的三角形也包含点P。故进程2需要向进程1和进程3发送访问相关区域的请求,若进程1和进程3同意该请求,且返回相应的数据并对特定区域加锁,则进程2可进行相关操作。通过上面的分析可以看出,并行的Bowyer-Watson算法对子网格区域交界面处的网格生成时间是不确定的,决定于插入的新网格点是否在交界面附近。

Figure 2 Point insertion of the parallel Bowyer-Watson algorithm图2 并行Bowyer-Watson算法的插点示意图

并行的前沿推进算法是先生成子区域网格再生成交界面网格,其核心思想为:将原区域划分成多个子区域,先对非共享边界区域进行网格生成,之后重新划分区域形成新的共享边界并对之前的未生成网格区域完成网格生成。Löhner等[12]是第1个提出前沿推进并行算法的研究者,其算法主要过程是首先利用四叉树覆盖整个几何区域(生成三维网格时使用八叉树),形成相应的单元尺寸场指导非结构网格生成,同时将几何区域划分成多个四分区域;之后将划分的多个四分区域在遵循负载平衡的原则前提下分配给各个子进程,进程间共享着子区域的边界边和边界点;各个进程对未靠近边界线的地方使用前沿推进法生成非结构网格,遗留下边界区域的未生成区域;之后将四分区中的划分朝着x轴和y轴方向移动一定距离,形成新的边界区域和边界线;最后各个进程对未生成区域进行非结构网格生成;一直如此操作直到前沿集合为空时停止。

如图3所示为并行前沿推进算法过程的简略示意图,展示的过程分为3个阶段。第1个阶段为划分区域构成4个子区域;第2个阶段为各个子区域中的进程生成非靠近公共边界的网格;第3个阶段为移动整体划分的区域,形成新的公共边界,如AB边和CD边,原先属于边界附近的空白区域,如今可以利用前沿推进法生成网格。

Figure 3 Procedure of the parallel advance front algorithm图3 并行前沿推进算法过程示意图

不同于并行的Bowyer-Watson算法和前沿推进算法,交界面优先并行算法则是一种先生成交界面网格的算法,其一般步骤为:首先利用区域分解方法将目标几何体划分成多个子区域,或者先生成粗体网格再进行区域划分;然后对各个子区域交界面进行最终网格的生成,如此不同子区域的边界网格保证了一致性;最后将各个子区域分配给不同处理器进行最终的网格生成。不同的交界面优先并行算法的区别主要在于在交界面生成网格的方式或区域分解的方式存在差异。如图4所示为交界面优先并行算法的示意图,首先对几何体ABCDIJKL生成粗体网格,然后区域分解成2个部分并对边界面EFHG生成最终的边界面网格。

Figure 4 Schematic diagram of the interface first parallel algorithm图4 交界面优先并行算法示意图

3.3 几何模型处理和网格格式转换

几何模型处理能力是网格生成软件系统能用和好用的基础,它为网格生成算法提供前置处理的CAD (Computer Aided Design)几何模型。一般网格生成软件应包括基础的CAD功能库、通用几何数据格式的读写、基本几何的创建以及几何模型的清理和修复等功能。目前国际主流的几何处理引擎主要有美国Spatial Technology公司推出的ACIS、德国西门子公司拥有的Parasolid和开源的Open Cascade等平台,一些成熟的商业网格生成软件大都通过购买集成相关软件的模块获得几何处理能力。

ACIS平台提供从简单实体到复杂实体的造型功能,包括实体的布尔运算、曲面裁剪和过渡等多种编辑功能,其特点是采用C++面向对象的数据结构,使得线架造型、曲面造型、实体造型可以灵活组合使用。ACIS使用软件组件技术,用户可使用所需的组件,也可以开发相应部件来代替,它提供高级的专业函数,可以单独出售接口源码给需要特定功能的用户。Parasolid平台支持包括通用的单元建模、集成的自由曲面建模和实体建模,提供渐变、偏移和几何替换等功能,可通过自动再生周围数据来移除特征细节。Parasolid还提供广泛的图形和渲染支持,包括隐藏线、线框和绘图,曲面细分和模型数据查询等功能,并支持多种编程语言的接口调用。Open Cascade是一款开源的几何造型引擎,基于该建模引擎已发展了若干CAD/CAE软件,如国外的FreeCAD、HeeksCAD以及国内的AnyCAD等。Open Cascade基于边界表示方法,能够满足二维、三维实体造型和曲面造型,大致分为建模、可视化和数据管理3大模块。其中建模为核心模块,可视化模块基于OpenGL库实现,数据管理采用树形结构,使用较为复杂。由于国内CAD几何模型处理技术的缺失较为严重,研制YHGRID网格生成软件拟采用开源的Open Cascade作为几何处理引擎,并利用OpenGL图形库实现几何和网格的可视化交互显示。

另一方面,丰富的网格格式转换和导出功能是网格生成软件好用和易用的显著标志。当前,科学工程计算软件百花齐放,每个计算软件都有自己特定支持的网格格式,为使得生成的网格能够便捷地用于更多的计算软件,YHGRID网格生成软件应该支持导出丰富多样的网格格式,例如CGNS格式、Fluent格式和Plot3D格式、开源计算软件如OpenFOAM格式和SU2格式等。据统计,应用广泛的ICEM CFD网格生成软件支持的网格格式多达一百多种,一些没有公开的网格格式还需要与相应工程计算软件的开发机构合作开发。

3.4 网格优化技术

网格生成在某种程度上可以说是一个工程性问题,结构/非结构网格生成算法生成的初始网格可能会存在大量的低质量网格单元,因此研制YHGRID软件还需要网格优化技术来进一步提升网格单元的质量。一般来说,网格优化算法可分为2类:几何优化算法和拓扑优化算法。几何优化算法指的是平移网格顶点,改变几何位置来提高网格质量,而不会改变网格顶点的相对位置。经典的算法如拉普拉斯光顺[13],其将内部点移到多边形或多面体的形心或重心。还有一些算法会定义一些平滑目标函数,通过数值优化算法来优化顶点的位置,如牛顿法[14]或最速下降法[15]等,这一类算法称为基于数值优化的平滑算法[16]。拓扑优化算法指的是改变网格点的相对位置,通常会使用一组新的网格单元来代替原有质量较差的网格单元组。拓扑优化有很多种,其中边交换是用新的网格边替代删除的网格边来优化拓扑,比如图5所示的3-2变换。面交换算法可以看做是边交换的逆过程[17],如图5所示的2-3变换。边收缩算法则是将一条边的2个顶点收缩成1个点来简单化网格拓扑[18]。边分裂算法将一条网格边插入一个新的网格点,用于产生新的网格单元来优化网格拓扑[19]。单一的网格优化算法可以优化一类特定的低质量网格单元,还有一些研究人员采用几组不同的网格优化组合算法,取得了不错的效果。

Figure 5 Schematic diagram of edge swap and surface swap图5 边交换、面交换的示意图

4 自主研发YHGRID网格生成软件所面临的挑战及其未来发展方向

网格生成作为科学工程计算的基础,是一门融合计算机图形学、拓扑学、计算机科学等为一体的技术,其产品一直以来被国外商业软件所垄断,严重影响我国在该领域的话语权。为了打破国外商业软件的垄断,保障具有自主知识产权的工业软件体系完整性,迫切需要基于国产高性能计算平台研发满足科学工程计算需求的网格生成软件。本节主要从面临的技术挑战和未来的发展方向2个方面,分析自主开展YHGRID网格生成软件研发可能遇到的问题。

4.1 面临的技术挑战

由于国外商业软件已经过长期的技术积累和发展,相关的功能和接口已十分成熟,并且占据了绝大部分的市场份额和用户。基于国产HPC平台研制网格生成软件YHGRID,一方面需要充分调研当前商业软件的功能和接口,尽量满足现有用户的功能需求,才有可能吸引更多的潜在用户群体,健全工业软件的生态体系;另一方面需要结合高性能计算的发展,超前布局新的网格生成技术和功能模块,才有可能在未来实现“弯道超车”。

在几何模型处理方面,光滑、清晰的几何模型将极大地减少网格生成的工作量,并为表面网格、附面层网格自动化生成提供良好的条件。可以以开源的或国内发展较好的几何处理引擎为基础,进一步提高模型修补效率,发展模型自动化检测方法,首先通过自动化检测,标识出几何模型中的空洞、缝隙等待修复的位置。对于单个曲面上的空洞,可以直接删除空洞的几何特征,保留完整的曲面信息。对于由多个曲面组成的空洞,可以通过新的平面或曲面进行填充。对于缝隙,如果其由2条邻近的线组成,则直接合并2条线。如果缝隙较大,则可在缝隙中填充新的平面或者曲面。通过采用上述技术手段,可实现若干种实用的模型修补和清理方法。

在网格生成算法方面,需要高度重视核心生成算法的研究,高效可靠的面网格和体网格生成算法和数据结构是整个网格生成软件功能的基础。这方面固然有许多比较成熟的方法,但是至少在六面体网格生成、边界限定的网格生成、高效的网格数据结构、网格生成算法的可靠性、任意多边形/多面体网格生成等技术方面仍需要探索和突破。在生成算法的大规模并行方面,可能会面临诸多问题,如边界网格一致性问题、并行网格数据结构设计问题、大规模并行的负载均衡和通信效率等问题。需要结合国产高性能计算平台,研究高效的多级并行网格生成算法,充分挖掘算法潜在的并行性。通过动态负载均衡等方法提升并行计算的性能,并采用HDF5等并行文件读写库实现大规模网格的并发I/O。

在附面层网格自动生成方面,由于在空气动力学等工程计算中,靠近物面的附面层流场变化剧烈,需要更加精细的网格捕捉流场特征,这部分网格生成的鲁棒性问题一直是一个难点。在几何外形变化剧烈的凹凸区域,存在网格相交、质量变差的可能,需要结合通用的附面层网格构造技术,研究新的附面层网格自动生成算法和网格过渡技术。

在网格质量优化方面,传统的几何优化和拓扑优化方法一般是基于单个网格单元质量的评价而进行的改进,对网格质量的优化缺少整体把握,往往只是对网格局部进行了一些优化,又或是需要人工的反复操作迭代才能达到预期的网格质量要求。针对这一问题,自主研发YHGRID软件时可以尝试新型的网格全局自动优化技术,减少人工干预并提高网格质量。

4.2 未来的发展方向

分析基于国产HPC平台研发自主可控的网格生成软件YHGRID面临的技术挑战,虽然困难重重,且与国外成熟商业软件在技术积累上还存在不小差距,但是随着高性能计算的不断发展,商业网格生成软件现有的架构和功能已不能很好地满足超大规模、高自动化网格生成的需求。因此,现阶段研制国产的网格生成软件也具有一定的后发优势,可以从以下几个方面把握网格生成未来的发展方向:

(1)高阶曲面网格的生成。由于高精度计算方法的发展和应用,科学工程计算的计算量越来越大,故而一般希望使用较少的计算单元即可获得满足精度要求的解。但是,用较少的单元来离散复杂曲面几何外形的计算域时,常常会遇到困难,主要是因为在几何外形变化剧烈区域,需要线性单元的尺度足够小才能获得满意的计算精度。研究表明,如果采用高精度算法时仍然用线性直网格,将无法达到设计精度,需要将形状规则的参考单元转化为边界为曲线或曲面的高阶物理单元。因此,高阶曲面网格生成近年来得到了持续关注。一般的方法是将传统软件生成的直网格转化为曲网格,但由于缺少原始几何模型的信息,转化的曲网格并不能完全贴合真实几何,故而在自主研制网格生成软件时,可以研究高阶曲面网格生成算法直接在CAD几何上生成曲网格的方法,从而满足高精度数值模拟的需求。

(2)超大规模的并行网格并行生成算法。基于目前应用广泛的Delaunay、前沿推进等非结构网格生成算法,研究高可扩展的并行网格生成算法,以适应当前大规模、高精度的数值模拟需求。其中区域分解负责将问题域分解成多个离散子区域,然后子区域相对独立地生成网格,因此区域分解是并行网格生成算法的关键步骤。由于各子区域最终生成的网格单元数量参差不齐,可结合单元尺寸分布算法预估网格量,研究并行可扩展的区域分解算法。并行网格生成的另一个难点是交界面处理,为保证网格质量和并行可扩展性,可研究先生成高质量交界面网格的解耦式生成算法,实现交界面的一致性,并大大减少子区域网格生成的通信和同步开销。此外,当前主流的高性能计算结点都是处理器加协处理器的组合,研究集成异构并行计算的超大规模网格负载均衡剖分算法,可充分发挥国产HPC平台的计算优势。

(3)基于深度学习的高自动化网格生成和优化算法。给定几何模型,传统的非结构网格生成方法一般先离散几何曲线和曲面,生成表面网格后,再以此为基础生成空间体网格。这种自底向上的方式在保证网格贴体性质的同时,也很大程度限制了网格生成的自由度和自动化。自主研制YHGRID网格生成软件,可研究采用自顶向下方式的新型生成算法,例如首先给定一个初始的三角网格,结合网格变形和加密技术,探索基于图卷积神经网络的深度学习方法,全自动化地将初始网格的边界逐步移动映射到给定的几何模型,从而实现贴体网格的生成。另一方面,可基于支持向量机和多层感知机等机器学习技术,以传统的全局尺寸参数、点源/线源和几何曲率特征等信息作为输入,研究新型的自适应连续单元尺寸分布模型,高效指导计算区域内各处的网格疏密程度,从而取代传统交互频繁的背景网格等方法。

总而言之,自主研制YHGRID网格生成软件,可以某些特色功能为牵引,以点带面吸引用户深度使用,从而逐步减轻对国外商业软件的依赖。

5 结束语

在科学工程计算实践中,首先需要对计算域进行网格生成,且网格生成的便捷程度和网格质量直接影响着计算周期和计算结果。因此,通用的网格生成软件系统是开展现代科学工程计算的基础。本文首先介绍了国内外网格生成软件的发展现状,国内相关领域的市场长期被国外的商业软件垄断,严重阻碍了自主工业软件体系的发展。然后分析了研制YHGRID网格生成软件系统中的若干关键技术,总结了可供参考的技术方案。最后基于国产高性能计算平台,对研制自主可控的YHGRID网格生成软件面临的技术挑战和未来的发展方向进行了探讨。

猜你喜欢

交界面网格软件
钢-混凝土交界面法向粘结性能研究
禅宗软件
反射的椭圆随机偏微分方程的网格逼近
Fluent软件中的交界面处理方法介绍
追逐
软件对对碰
双块式无砟轨道轨枕与道床交界面损伤特性分析
重叠网格装配中的一种改进ADT搜索方法
基于曲面展开的自由曲面网格划分
即时通讯软件WhatsApp