CN114741918A - 一种面向遗址劣化有限元分析的并行网格剖分算法 - Google Patents
一种面向遗址劣化有限元分析的并行网格剖分算法 Download PDFInfo
- Publication number
- CN114741918A CN114741918A CN202210313234.6A CN202210313234A CN114741918A CN 114741918 A CN114741918 A CN 114741918A CN 202210313234 A CN202210313234 A CN 202210313234A CN 114741918 A CN114741918 A CN 114741918A
- Authority
- CN
- China
- Prior art keywords
- sub
- grained
- vertex
- fine
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 20
- 238000004458 analytical method Methods 0.000 title claims abstract description 15
- 230000015556 catabolic process Effects 0.000 title claims abstract description 10
- 238000006731 degradation reaction Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims abstract description 5
- 241001229889 Metis Species 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 230000005484 gravity Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种面向遗址劣化有限元分析的并行网格剖分算法,对于输入的古遗址模型,首先对模型生成粗的体网格,在粗粒度网格生成过程中,首先将模型区域分解为多个子区域,每个子区域需要传输到不同的计算核上,然后在每个计算核上生成子区域的细粒度加密网格,最后在子区域网格间进行通信,进行全局顶点编号和邻接子区域的影射区单元投影。本发明不需要花费大量时间进行合并操作,大大提升了生成满足计算需求数量的体网格的速度;不再需要对整个模型进行计算,可以很方便的在低配置计算机上对各个子区域分别进行计算。
Description
技术领域
本发明属于遗址模型的网格生成技术,主要提出了一种带有邻接子区域的映射区单元投影的遗址模型并行四面体网格生成算法。
背景技术
文化遗产保护是一个亟待解决的难题,从目前来看传统的保护措施已经不能够满足当今文化遗产的保护需求。传统的保护措施多是通过法律手段、引导民众意识、定期修缮维护、培养后继传承等,这些只是最基本的保护方法。近年来,随着物质文化遗产的不断发现、非物质文化遗产的不断增多,文化遗产保护在人力、物力、财力等方面需要投入的成本不断增加,这对现有的保护办法提出了挑战。必须借助现代化的科学技术手段,使不断增多的物质与非物质文化遗产得到保护。高性能计算技术的不断发展,可以为文化遗产保护提供潜在的可能,以一种新的方式改变文化遗产的保护措施,进而实现在保护方法上的创新以及保护的可持续性。
国内外对高性能计算在文化遗产保护方面的应用还在初级阶段,但已经探索出了一些切实可行的方法和思路,这对充分发挥高性能计算在文化遗产保护的潜力具有指导作用。具体过程为,对物质文化遗产的高分辨率数据采集,对非物质文化遗产的大数据收集,完成文化遗产的数字化;对文化遗产数字化数据进行分析和处理,为保护和修复提供指导;对数字化数据增强与展示,促进文化传播与传承,增强民众保护意识;对数字化数据进行挖掘与共享,实现个性化推荐,提供高性能访问。
随着文化遗产数值模拟采用的计算模型日益复杂,许多算法和应用需要上亿甚至数十亿规模的网格单元,传统串行算法在时间和内存空间上无法满足如此规模的网格生成需求,需要利用高性能计算机进行并行网格生成。
目前的网格生成技术,大多采用MPI+OpenMP的多级并行方案,通过网格剖分算法将粗粒度的体网格划分成若干小规模的体网格,然后交由不同的计算核去并行处理,处理完后进行合并,这类方案加快了整体模型的网格生成速度,但仍有缺点,一是分割方案会导致交接面的不一致,需要进行后处理,浪费了时间;二是合并操作需要消耗大量CPU时间进行处理;三是,合并操作对单机内存容量有了更高的要求,内存需要容纳下合并后整个模型的细粒度体网格。针对这三点,我们尝试了一种在传统多级并行网格生成方法的基础上引入邻接子区域的影射区单元投影技术,用于快速生成遗址模型的大规模网格,进而方便后续的复杂计算。
发明内容
针对现有技术中的缺陷和不足,本发明提供了一种使用邻接子区域的映射区单元投影的并行生成网格技术去生成遗址模型网格单元的算法。
为达到上述目的,本发明采取如下的技术方案:
一种面向遗址劣化有限元分析的并行网格剖分算法,包括以下步骤:
步骤1,获取待输入的古遗址模型;
步骤2,对步骤1中的模型生成粗粒度体网格,然后使用metis将粗粒度体网格分解为P个子区域,P个子区域中相邻的子区域互为邻接子区域,利用MPI使得P个计算核并行读取并计算得到P个子区域的粗粒度面网格并保存粗粒度面网格信息;
步骤3,利用MPI使得P个计算核并行读取步骤2得到的P个子区域的粗粒度面网格及粗粒度面网格信息,计算生成P个子区域的细粒度面网格并保存细粒度面网格信息;
步骤4,利用MPI使得P个计算核并行读取步骤3得到的P个子区域的细粒度面网格及细粒度面网格信息,计算生成P个子区域的细粒度体网格并保存细粒度体网格信息;
步骤5,利用MPI的通信和同步功能,基于步骤4中的细粒度体网格信息,对步骤4得到的P个子区域的细粒度体网格的顶点和体单元同时进行全局编号,基于邻接子区域的交接面上的顶点及其全局编号获取贴近交接面的体单元,并将贴近交接面的体单元及其全局编号进行互相投影得到邻接子区域的影射区体单元投影信息;影射区体单元投影信息包括贴近邻接子区域交接面的体单元及其全局编号;
步骤6,将所述步骤4中得到的P个子区域的细粒度体网格和步骤5中得到的邻接子区域的影射区体单元投影信息共同作为古遗址模型的最终网格剖分输出结果。
本发明还包括如下技术特征:
具体的,所述步骤2包括:
步骤2.1,将步骤1输入的古遗址模型在主计算核上运算,生成粗粒度体网格;
步骤2.2,使用metis将粗粒度体网格划分成P个子区域;
步骤2.3,将P个子区域保存并按照0至P-1的编号命名;
步骤2.4,利用MPI使得P个计算核并行读取对应的P个子区域,并计算得到P个子区域的粗粒度面网格并保存粗粒度面网格信息。
具体的,所述步骤2中,粗粒度面网格信息包括P个子区域各自区域内的粗粒度面网格的顶点标记信息、粗粒度面网格的面单元标记信息和粗粒度面网格的交接面顶点标记信息;
所述粗粒度面网格的顶点标记信息包括该步骤计算过程中产生的顶点所在子区域编号及局部顶点编号;粗粒度面网格的面单元标记信息包括所在子区域编号及局部面单元编号;粗粒度面网格的交接面顶点标记信息包括该步骤中只属于交接面上的交接面局部顶点编号。
具体的,所述步骤3中,细粒度面网格信息包括P个子区域各自区域内的细粒度面网格的顶点标记信息、细粒度面网格的面单元标记信息和细粒度面网格的交接面顶点标记信息;
所述细粒度面网格的顶点标记信息包括该步骤中得到的顶点所在子区域编号及局部顶点编号;细粒度面网格的面单元标记信息包括所在子区域编号及局部面单元编号;细粒度面网格的交接面顶点标记信息包括该步骤得到的只属于交接面上的交接面局部顶点编号。
具体的,所述步骤4中,所述细粒度体网格信息包括P个子区域各自区域内的细粒度体网格的顶点标记信息、细粒度体网格体单元标记信息和细粒度体网格交接面顶点标记信息;
所述细粒度体网格顶点标记信息包括该步骤中产生的顶点所在子区域编号及局部顶点编号;细粒度体网格体单元标记信息包括所在子区域编号及局部体单元编号;细粒度体网格交接面顶点标记信息包括该步骤得到的只属于交接面上的交接面局部顶点编号。
具体的,所述步骤5中,互相投影是将贴近邻接子区域交接面的体单元及其全局编号传递给邻接子区域;所述影射区是贴近邻接子区域交接面的那一层体单元,投影是将这一层贴近交接面的体单元标记信息传递给邻接子区域。
具体的,所述步骤5包括:
步骤5.1,对步骤4得到的P个子区域的细粒度面网格中属于交接面上的顶点标记信息进行遍历,确定交接面顶点的唯一拥有者;
步骤5.2,各子区域进行MPI通信,将各自的顶点个数和子区域编号进行交换;
步骤5.3,基于收到的各子区域顶点个数和子区域编号,各子区域对自身顶点进行全局编号;
步骤5.4,各个子区域将属于交接面的顶点及其全局编号发送给对应的邻接子区域;
步骤5.5,各个子区域收到其邻接子区域的交接面顶点及其全局编号后追加到自身顶点中得到更新后的顶点标记信息;
步骤5.6,基于交接面顶点及其全局编号获取所有包含交接面顶点的体单元即为贴近邻接子区域交接面的体单元,并将贴近邻接子区域交接面的体单元及其全局编号传递给邻接子区域;
步骤5.7,各个子区域收到交接面的体单元及其全局编号后,将这些体单元追加到自身的体单元中得到更新后的单元标记信息,每个子区域最终保存了步骤5.5中更新后的顶点标记信息和步骤5.7中更新后的体单元标记信息。
本发明与现有技术相比,具有以下优异效果:
本发明方案取得如下3点优异效果:1、各个子区域生成细粒度网格后,不需要花费大量时间进行合并操作,大大提升了生成满足计算需求数量的体网格的速度。2、由于合并操作不再必须,大大降低了生成超大规模网格对于计算机的硬件要求,反应在内存上就是内存不再需要容纳整个模型的细粒度体网格信息,使得低配置计算机也有了用武之地,节约了设备资源。3、后续的计算处理更加灵活,不再需要对整个模型进行计算,可以很方便的在低配置计算机上对各个子区域分别进行计算,因为子区域在拥有本身细粒度体网格信息的基础上,同时拥有其所有邻接子区域的影射区单元信息,这使得单独对子区域进行后续计算成为可能。
附图说明
图1为本方法的流程图。
图2是相邻子区域的三种连接类型,其中(a)是通过点连接,(b)是通过边连接,(c)是通过面连接。
图3全局重心ID示例。
图4为OCCTestModels_1.2GHZ模型测试参数和结果。
图5为OCCTestModels_1.2GHZ模型第0核生成结果。
图6为OCCTestModels_1.2GHZ模型第10核生成结果。
具体实施方式
本发明公开了一种面向遗址劣化有限元分析的并行网格剖分算法,通过使用并行网格生成方法以及邻接子区域的影射区单元投影技术,去生成遗址劣化有限元分析所需要的超大规模网格单元,从而适应文化遗产数值模拟所采用的日益复杂的计算模型。
以下对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
以下对本发明中涉及的定义或概念内涵做以说明解释:
metis开源库:metis可用于划分有限元或有限体积方法中出现的网格,本实施例调用的是metis5.1.0的METIS_PartMeshDual的API;METIS利用灵活的方法为有限元网格创建图形,能够处理具有不同和可能混合单元类型(例如,三角形、四面体、六面体等)的网格。
MPI开源库:MPI是一种基于信息传递的并行编程技术,消息传递接口是一种编程接口标准,而不是一种具体的编程语言;MPI标准定义了一组具有可移植性的编程接口,利用这些接口,不同的计算核可以同时执行相同的代码段,不同的计算核之间可以进行通信,进而实现并行计算功能。
邻接子区域:邻接子区域中有3种不同的连接类型,如图2所示,三种连接情况下的邻接子区域,邻接子区域间会有交接面,其中(a)是通过点连接,(b)是通过边连接,(c)是通过面连接。交接面:两个邻接子区域相连接的为两个邻接子区域所共有的区域称作交接面。
重心全局ID:重心全局ID是一个基于整数的顶点识别设计,用于标记不同的顶点,如图3所示,图3左图显示了一个由粗网格顶点3、5和8定义的示例面,以及由于2级细化而新创建的顶点的结果;图3右图中的表显示了一些顶点的重心全局IDs。由于生成网格数量庞大,顶点过于密集,使用传统的坐标识别机制会导致浮点坐标问题,而计算机处理浮点数时对精度相关的错误非常敏感,进而导致识别错误,重心全局ID正是为此而设计。
实施例一:
本实施例提供一种面向遗址劣化有限元分析的并行网格剖分算法,如图1所示,包括以下步骤:
步骤1,获取待输入的古遗址模型;
步骤2,对步骤1中的模型生成粗粒度体网格,然后使用metis将粗粒度体网格分解为P(P为预先设定的参数)个子区域,P个子区域中相邻的子区域互为邻接子区域,利用MPI使得P个计算核并行读取并计算得到P个子区域的粗粒度面网格并保存粗粒度面网格信息;
步骤2.1,将步骤1输入的古遗址模型在主计算核(一般是编号为0的计算核,MPI会自动将P个计算核按照0至P-1编号)上运算,生成粗粒度体网格;
步骤2.2,使用metis将粗粒度体网格划分成P个子区域;
步骤2.3,将P个子区域保存并按照0至P-1的编号命名;
步骤2.4,利用MPI使得P个计算核并行读取对应的P个子区域,并计算得到P个子区域的粗粒度面网格并保存粗粒度面网格信息;
所述粗粒度面网格信息包括P个子区域各自区域内的粗粒度面网格的顶点标记信息、粗粒度面网格的面单元标记信息和粗粒度面网格的交接面顶点标记信息;所述粗粒度面网格的顶点标记信息包括该步骤计算过程中产生的顶点所在子区域编号及局部顶点编号;粗粒度面网格的面单元标记信息包括所在子区域编号及该步骤局部面单元编号(即所有不重复且不共面的三角形面单元的三个顶点的重心全局ID且三个顶点中间没有其他顶点是最小面单元);粗粒度面网格的交接面顶点标记信息包括该步骤中只属于交接面上的交接面局部顶点编号;
步骤3,利用MPI使得P个计算核并行读取步骤2得到的P个子区域的粗粒度面网格,计算生成P个子区域的细粒度面网格并保存细粒度面网格信息;
所述细粒度面网格信息包括P个子区域各自区域内的细粒度面网格的顶点标记信息(重心全局ID)、细粒度面网格的面单元标记信息和细粒度面网格的交接面顶点标记信息;所述细粒度面网格的顶点标记信息包括该步骤中得到的顶点所在子区域编号及局部顶点编号;细粒度面网格的面单元标记信息包括所在子区域编号及局部面单元编号(即所有不重复且不共面的三角形面单元的三个顶点的重心全局ID且三个顶点中间没有其他顶点是最小面单元);细粒度面网格的交接面顶点标记信息包括只属于交接面上的交接面局部顶点编号;
步骤4,利用MPI使得P个计算核并行读取步骤3得到的P个子区域的细粒度面网格,计算生成P个子区域的细粒度体网格并保存细粒度体网格信息;
所述细粒度体网格信息包括P个子区域各自区域内的细粒度体网格的顶点标记信息(重心全局ID)、细粒度体网格体单元标记信息和细粒度体网格交接面顶点标记信息;所述细粒度体网格顶点标记信息包括该步骤中产生的顶点所在子区域编号及局部顶点编号;细粒度体网格体单元标记信息包括所在子区域编号及局部体单元编号(即所有不重复且不共面的四面体单元的四个顶点的重心全局ID且四个顶点中间没有其他顶点是最小体单元);细粒度体网格交接面顶点标记信息包括只属于交接面上的交接面局部顶点编号;
上述步骤2到步骤4中,每个步骤并行网格剖分所新产生的标记信息按照局部编号追加到上一步标记信息后得到该步骤的标记信息。
步骤5,利用MPI的通信和同步功能,基于步骤4中的细粒度体网格信息,对步骤4得到的P个子区域的细粒度体网格的顶点和体单元同时进行全局编号,基于邻接子区域的交接面上的顶点及其全局编号获取贴近交接面的体单元,并将贴近交接面的体单元及其全局编号进行互相投影得到邻接子区域的影射区体单元投影信息;影射区体单元投影信息包括贴近邻接子区域交接面的体单元及其全局编号;
互相投影是将贴近邻接子区域交接面的体单元及其全局编号传递给邻接子区域;影射区就是贴近邻接子区域交接面的那一层体单元(一个体单元由四个不共面顶点组成);投影即是将这一层贴近交接面的体单元信息传递给邻接子区域;如图2(c),假设图2(c)中两个邻接子区域为u和v,那么u与v有一个共同的交接面x,把子区域u贴近交接面x的那一层体单元信息传输给v,这样的操作,被称为影射区体单元投影。
在步骤4得到P个具有细粒度体网格的子区域后,利用MPI使得P个计算核同时对P个子区域进行如下操作:
步骤5.1,对步骤4得到的P个子区域的细粒度面网格中属于交接面上的顶点标记信息进行遍历,确定交接面顶点的唯一拥有者;(步骤3中各个子区域在不同的计算核上并行生成细粒度面网格后,交接面上的信息为邻接子区域共同拥有,为了避免重复计算顶点个数,指定交接面上的每一个顶点只被一个子区域所持有);
步骤5.2,各子区域进行MPI通信,将各自的顶点个数和子区域编号进行交换;(每个子区域拥有各自的局部顶点编号,最大编号即顶点个数);
步骤5.3,基于收到的各子区域顶点个数和子区域编号(各个子区域编号为0至P-1),各子区域对自身顶点进行全局编号(在以上步骤中,得到了各个子区域的顶点个数,在步骤5.1中已经做了去重复处理,因此最终能得到所有的顶点个数,此时每个子区域得到了其他所有的子区域编号以及对应的顶点个数,每个子区域就可以对其所拥有的顶点进行全局编号);
步骤5.4,各个子区域将属于交接面的顶点及其全局编号发送给对应的邻接子区域;在步骤5.3后,每个顶点都拥有了唯一全局编号,各个子区域把交接面顶点及其全局编号发送给其对应的邻接子区域,这样在本步骤后,每个子区域都会得到其自身的所有顶点的全局编号、对应相邻子区域的交接面顶点和交接面顶点编号;
步骤5.5,各个子区域收到其邻接子区域的交接面顶点及其全局编号后追加到自身顶点中得到更新后的顶点标记信息(一个子区域对应的邻接子区域的交接面顶点,将成为该子区域的顶点信息的一部分);
步骤5.6,基于交接面顶点及其全局编号获取所有包含交接面顶点的体单元即为贴近邻接子区域交接面的体单元,并将贴近邻接子区域交接面的体单元及其全局编号传递给邻接子区域;步骤5.4中,得到了邻接子区域的交接面顶点信息,根据这些顶点的全局编号,遍历邻接子区域体单元信息可得到所有包含这些顶点的体单元,这些体单元,便是邻接子区域贴近交接面的那一层体单元;
步骤5.7,各个子区域收到交接面的体单元及其全局编号后,将这些体单元追加到自身的体单元中得到更新后的单元标记信息,每个子区域最终保存了步骤5.5中更新后的顶点标记信息和步骤5.7中更新后的体单元标记信息;
步骤6,将所述步骤4中得到的P个子区域的细粒度体网格和步骤5中得到的邻接子区域的影射区体单元投影信息共同作为古遗址模型的最终网格剖分输出结果。
本发明实验验证:
为了验证本发明中算法的有效性和优越性,选用以下测试模型对其进行测试。
并行测试环境:
A.软件环境:Windows10下.CMAKE编译,VS2017编辑器。
B.硬件环境:100M以太网,CPU Intel(R)Xeon(R)Gold 6240CPU@2,60GHz 36内核72逻辑处理器,1T内存,3.6TB以上硬盘空间。
C.项目用户及测试人员:使用windows的个人用户进行测试。
图4是生成网格的预设定参数,图5、6展示了模型的生成网格效果图,图5、6分别为OCCTestModels_1.2GHZ模型第0核与第10核的生成结果,其中,从左至右分别是第0核与第10核对应的子区域的细粒度的面网格、细粒度体网格以及带有影射区投影的细粒度体网格结果截图,最右边的影射区体网格和中间的体网格的差别在于,影射区体网格比中间的体网格多了一层来自邻接子区域的,靠近交接面的那一层体网格。
本发明以OCCTestModels_1.2GHZ模型输出结果为例,该模型在16核并行规模下,以面迭代3次,体迭代2次等参数下的生成结果。最终生成的网格规模达到10亿级别,单核最长用时8419.9秒。通过本发明提供的并行生成算法可以实现大规模网格的生成并有效降低生成时间,增加了全局编号时间以及影射区信息投影的时间,但省去了合并各个子区域的时间,在满足后续计算分析所需的效果下,整体时间缩短至传统合并方法的三分之一甚至更低。
Claims (7)
1.一种面向遗址劣化有限元分析的并行网格剖分算法,其特征在于,包括以下步骤:
步骤1,获取待输入的古遗址模型;
步骤2,对步骤1中的模型生成粗粒度体网格,然后使用metis将粗粒度体网格分解为P个子区域,P个子区域中相邻的子区域互为邻接子区域,利用MPI使得P个计算核并行读取并计算得到P个子区域的粗粒度面网格并保存粗粒度面网格信息;
步骤3,利用MPI使得P个计算核并行读取步骤2得到的P个子区域的粗粒度面网格及粗粒度面网格信息,计算生成P个子区域的细粒度面网格并保存细粒度面网格信息;
步骤4,利用MPI使得P个计算核并行读取步骤3得到的P个子区域的细粒度面网格及细粒度面网格信息,计算生成P个子区域的细粒度体网格并保存细粒度体网格信息;
步骤5,利用MPI的通信和同步功能,基于步骤4中的细粒度体网格信息,对步骤4得到的P个子区域的细粒度体网格的顶点和体单元同时进行全局编号,基于邻接子区域的交接面上的顶点及其全局编号获取贴近交接面的体单元,并将贴近交接面的体单元及其全局编号进行互相投影得到邻接子区域的影射区体单元投影信息;影射区体单元投影信息包括贴近邻接子区域交接面的体单元及其全局编号;
步骤6,将所述步骤4中得到的P个子区域的细粒度体网格和步骤5中得到的邻接子区域的影射区体单元投影信息共同作为古遗址模型的最终网格剖分输出结果。
2.如权利要求1所述的面向遗址劣化有限元分析的并行网格剖分算法,其特征在于,所述步骤2包括:
步骤2.1,将步骤1输入的古遗址模型在主计算核上运算,生成粗粒度体网格;
步骤2.2,使用metis将粗粒度体网格划分成P个子区域;
步骤2.3,将P个子区域保存并按照0至P-1的编号命名;
步骤2.4,利用MPI使得P个计算核并行读取对应的P个子区域,并计算得到P个子区域的粗粒度面网格并保存粗粒度面网格信息。
3.如权利要求2所述的面向遗址劣化有限元分析的并行网格剖分算法,其特征在于,所述步骤2中,粗粒度面网格信息包括P个子区域各自区域内的粗粒度面网格的顶点标记信息、粗粒度面网格的面单元标记信息和粗粒度面网格的交接面顶点标记信息;
所述粗粒度面网格的顶点标记信息包括该步骤计算过程中产生的顶点所在子区域编号及局部顶点编号;粗粒度面网格的面单元标记信息包括所在子区域编号及局部面单元编号;粗粒度面网格的交接面顶点标记信息包括该步骤中只属于交接面上的交接面局部顶点编号。
4.如权利要求1所述的面向遗址劣化有限元分析的并行网格剖分算法,其特征在于,所述步骤3中,细粒度面网格信息包括P个子区域各自区域内的细粒度面网格的顶点标记信息、细粒度面网格的面单元标记信息和细粒度面网格的交接面顶点标记信息;
所述细粒度面网格的顶点标记信息包括该步骤中得到的顶点所在子区域编号及局部顶点编号;细粒度面网格的面单元标记信息包括所在子区域编号及局部面单元编号;细粒度面网格的交接面顶点标记信息包括该步骤得到的只属于交接面上的交接面局部顶点编号。
5.如权利要求1所述的面向遗址劣化有限元分析的并行网格剖分算法,其特征在于,所述步骤4中,所述细粒度体网格信息包括P个子区域各自区域内的细粒度体网格的顶点标记信息、细粒度体网格体单元标记信息和细粒度体网格交接面顶点标记信息;
所述细粒度体网格顶点标记信息包括该步骤中产生的顶点所在子区域编号及局部顶点编号;细粒度体网格体单元标记信息包括所在子区域编号及局部体单元编号;细粒度体网格交接面顶点标记信息包括该步骤得到的只属于交接面上的交接面局部顶点编号。
6.如权利要求1所述的面向遗址劣化有限元分析的并行网格剖分算法,其特征在于,所述步骤5中,互相投影是将贴近邻接子区域交接面的体单元及其全局编号传递给邻接子区域;所述影射区是贴近邻接子区域交接面的那一层体单元,投影是将这一层贴近交接面的体单元标记信息传递给邻接子区域。
7.如权利要求6所述的面向遗址劣化有限元分析的并行网格剖分算法,其特征在于,所述步骤5包括:
步骤5.1,对步骤4得到的P个子区域的细粒度面网格中属于交接面上的顶点标记信息进行遍历,确定交接面顶点的唯一拥有者;
步骤5.2,各子区域进行MPI通信,将各自的顶点个数和子区域编号进行交换;
步骤5.3,基于收到的各子区域顶点个数和子区域编号,各子区域对自身顶点进行全局编号;
步骤5.4,各个子区域将属于交接面的顶点及其全局编号发送给对应的邻接子区域;
步骤5.5,各个子区域收到其邻接子区域的交接面顶点及其全局编号后追加到自身顶点中得到更新后的顶点标记信息;
步骤5.6,基于交接面顶点及其全局编号获取所有包含交接面顶点的体单元即为贴近邻接子区域交接面的体单元,并将贴近邻接子区域交接面的体单元及其全局编号传递给邻接子区域;
步骤5.7,各个子区域收到交接面的体单元及其全局编号后,将这些体单元追加到自身的体单元中得到更新后的单元标记信息,每个子区域最终保存了步骤5.5中更新后的顶点标记信息和步骤5.7中更新后的体单元标记信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210172056X | 2022-02-24 | ||
CN202210172056 | 2022-02-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114741918A true CN114741918A (zh) | 2022-07-12 |
CN114741918B CN114741918B (zh) | 2024-02-23 |
Family
ID=82277747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210313234.6A Active CN114741918B (zh) | 2022-02-24 | 2022-03-28 | 一种面向遗址劣化有限元分析的并行网格剖分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741918B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306396A (zh) * | 2011-09-15 | 2012-01-04 | 山东大学 | 一种三维实体模型表面有限元网格自动生成方法 |
CN104063903A (zh) * | 2014-07-08 | 2014-09-24 | 清华大学 | 三维实体模型的四面体网格生成方法和装置 |
CN110543663A (zh) * | 2019-07-22 | 2019-12-06 | 西安交通大学 | 一种面向粗粒度MPI+OpenMP混合并行的结构网格区域划分方法 |
WO2022016867A1 (zh) * | 2020-07-20 | 2022-01-27 | 浙江商汤科技开发有限公司 | 三维网格模型的重建方法及其装置、设备、存储介质 |
-
2022
- 2022-03-28 CN CN202210313234.6A patent/CN114741918B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306396A (zh) * | 2011-09-15 | 2012-01-04 | 山东大学 | 一种三维实体模型表面有限元网格自动生成方法 |
CN104063903A (zh) * | 2014-07-08 | 2014-09-24 | 清华大学 | 三维实体模型的四面体网格生成方法和装置 |
CN110543663A (zh) * | 2019-07-22 | 2019-12-06 | 西安交通大学 | 一种面向粗粒度MPI+OpenMP混合并行的结构网格区域划分方法 |
WO2022016867A1 (zh) * | 2020-07-20 | 2022-01-27 | 浙江商汤科技开发有限公司 | 三维网格模型的重建方法及其装置、设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
张晓蒙;陆忠华;张鉴;: "三维并行约束Delaunay网格生成算法及实现", 计算机辅助设计与图形学学报, no. 06, 15 June 2016 (2016-06-15) * |
王敏;王明;杨明;: "小浪底水库三维数学模型并行计算研究", 人民黄河, no. 05, 10 May 2012 (2012-05-10) * |
Also Published As
Publication number | Publication date |
---|---|
CN114741918B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609244A (zh) | 灵活通信算子 | |
US20050160103A1 (en) | System and method for simulating product design and development | |
Kondo | PIGMOD: parametric and interactive geometric modeller for mechanical design | |
CN102708088A (zh) | 面向海量数据高性能计算的cpu/gpu协同处理方法 | |
Abdulah et al. | Accelerating geostatistical modeling and prediction with mixed-precision computations: A high-productivity approach with parsec | |
Liang et al. | An efficient hardware design for accelerating sparse CNNs with NAS-based models | |
De Rango et al. | A first multi-GPU/multi-node implementation of the open computing abstraction layer | |
Gan et al. | Solving the global atmospheric equations through heterogeneous reconfigurable platforms | |
CN103729506A (zh) | 一种复杂模型完全六面体建模及几何体重塑加密方法 | |
CN111814384B (zh) | 高性能数值模拟的前后处理低开销连接数据结构及方法 | |
CN109032667A (zh) | 一种分子动力学模拟中邻接表快速建立方法和系统 | |
Lang et al. | Large‐scale density‐driven flow simulations using parallel unstructured Grid adaptation and local multigrid methods | |
CN114741918B (zh) | 一种面向遗址劣化有限元分析的并行网格剖分方法 | |
Zhang et al. | Parallel computation of a dam-break flow model using OpenACC applications | |
Liu et al. | Development and performance optimization of a parallel computing infrastructure for an unstructured-mesh modelling framework | |
Karimian-Aliabadi et al. | Fixed-point iteration approach to spark scalable performance modeling and evaluation | |
Wang et al. | Cnn-inspired analytical global placement for large-scale heterogeneous fpgas | |
Du | Construction cost simulation based on artificial intelligence and BIM | |
Herbordt | The evaluation of massively parallel array architectures | |
Betteridge | Efficient elliptic solvers for higher order DG discretisations on modern architectures and applications in atmospheric modelling | |
Krol et al. | Solving PDEs in modern multiphysics simulation software | |
Mezhuyev et al. | Metamodel for the development of geometrical modelling languages | |
Cai et al. | Extreme-scale realistic stencil computations on Sunway TaihuLight with ten million cores | |
Pei et al. | Communication avoiding 2D stencil implementations over parsec task-based runtime | |
CN112927350B (zh) | 多域地质体模型构建方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |