一种基于有限元语言的并行编码方法及系统技术方案

技术编号:16645044 阅读:48 留言:0更新日期:2017-11-26 18:00
本发明专利技术涉及一种基于有限元语言的并行编码的方法及系统,该方法包括:读取微分方程组弱解形式的有限元语言文件和所述微分方程组算法格式的有限元语言文件;再转换成有限元语言模型数据,将所述有限元语言模型数据分成多个区域的模型数据;将所述多个区域的模型数据输入到完全对等的并行计算架构中,按照预定义编码规则将所述多个区域的模型数据编码成用于求解微分方程组的并行有限元计算程序。还涉及一种系统,该系统包括:有限元语言编码模块、并行编码计算模块。通过本发明专利技术采用并行的编码方法,大大提高了有限元并行程序编写的效率,同时节约时间和成本,缩短了编写的周期,能够灵活应用于不同的工程中。

A parallel coding method and system based on finite element language

The invention relates to a method and system for encoding parallel finite element based on the language, the method includes finite element finite element language language file file form of weak solutions of differential equations to read and the differential equations algorithm format; and then convert the finite element model of language data, the finite element model of language data the data model is divided into a plurality of regions; the model input data of a plurality of areas to peer-to-peer parallel computing architecture, according to predefined encoding rules will model data encoding the plurality of regions for parallel finite element program for solving differential equations. It also involves a system, which includes finite element language coding module and parallel code calculation module. By using the parallel coding method, the efficiency of the parallel programming of the finite element is greatly improved, and the time and cost are saved, the writing cycle is shortened, and the program can be flexibly applied in different projects.

【技术实现步骤摘要】
一种基于有限元语言的并行编码方法及系统
本专利技术高性能计算机编码的领域,尤其涉及一种基于有限元语言的并行编码方法及系统。
技术介绍
高性能计算是发展航空航天、石油勘探开采、大型水利电力工程、机械制造等多种工业和高科技产业,解决环境污染、气象预报等重大国计民生问题的先决条件。由于具有巨大的数值计算和数据处理能力,高性能计算被广泛地应用于国民经济、国防建设和科技发展中具有深远影响的重大课题;大型并行有限元分析软件作为一项具有战略意义的敏感技术,国外对我国的出口一直都有着严密的控制。近十几年来,在国外高性能计算机高速发展的同时,国内也取得了丰硕的成果,尤其是“天河一号”、“天河二号”及“神威太湖之光”的问世,更使我国一跃成为高性能计算的强国。不过我国在高性能计算的硬件发展令人叹为观止的同时,在软件方面却仍存在较大的缺失,尚未见成熟高效的并行有限元分析软件,而且由于超级计算在结构上千差万别,其应用程序一般是源代码级兼容,无法直接安装商业化的可执行程序。在20世纪90年代以前,欧美等国就已具有很多大型通用计算力学应用软件,如MSC/NASTRAN,Abaqus,ANSYS,Dyna3D和ADINA等,占有全球绝大部分工业计算分析市场,我们可以了解到目前的CAE应用软件具有以下特点:特点1:IFEA类应用软件(如ABAQUS,ANSYS和MSCNastran)的可扩展性不是很好,当使用超过8个CPU来处理一个任务时,通常不会再有性能上的提升;特点2:IFEA类应用软件通常使用共享内存方式(pthreads或openmp)进行并行处理,其中ABAQUS不支持消息传递方式(MPI)的并行;特点3:EFEA类应用软件(如LS-DYNA,PAM-CRASH和RADIOSS)和计算流体动力学软件(如FLUENT,STAR-CD和PowerFlow)的扩展性相对较好;特点4:EFEA类应用软件和CFD软件以采用消息传递并行性方式(MPI)为主。从这里可以看到,即使扩展性相对较好的应用软件,所能有效利用的CPU进程数也及其有限,无法满足现实问题中求解规模与计算量越来越大的需求。ANSYS等软件高性能计算虽然具有杰出的扩展性,但是,对于更复杂结构仿真一般都不会超过124个CPU,这极大地限制了求解问题的规模。随着CAE软件行业的发展,用户对仿真模型的要求越来越大,尤其是随着硬件资源的发展,我国在高性能计算的硬件发展令人叹为观止的同时,在软件方面却存在较大的缺失,除FELAC软件尚未见成熟高效的并行有限元分析软件;此外,传统人工编写程序存在的缺点是编写程序工作量大,周期长、成本高,无法快速满足科研与工程界多样化的需求。大量数值计算程序的编写需求,按照目前的编写程序模式,很难满足需要,必须找到新的编写程序模式提高程序开发效率,同时能够让非计算机公式专业的人士也能够自己编写数值计算程序。
技术实现思路
本专利技术所要解决的技术问题是:传统人工编写程序存在编写程序工作量大,周期长、成本高的缺点,无法快速满足科研与工程界多样化的需求。为解决上面的技术问题,本专利技术提供了一种基于有限元语言的并行编码方法,该方法包括:S1,读取微分方程组弱解形式的有限元语言文件和所述微分方程组算法格式的有限元语言文件;S2,将所述弱解形式的有限元语言文件和所述算法格式的有限元语言文件转换成有限元语言模型数据,将所述有限元语言模型数据分成多个区域的模型数据;S3,将所述多个区域的模型数据输入到完全对等的并行计算架构中,按照预定义编码规则将所述多个区域的模型数据编码成用于求解微分方程组的并行有限元计算程序;其中,所述多个区域的模型数据中任意相邻的两个区域的模型数据在并行计算架构中采用MPI通信协议进行相互通信。本专利技术的有益效果:通过上述的方法,大大缩短了编写程序的时间周期,同时也大大提高了编写的效率,节约了成本,还能够灵活应用于不同的工程问题中。进一步地,在S1之前还包括:A1,获取等效弱解形式的微分方程组以及算法格式的微分方程组;A2,将所述等效弱解形式的微分方程组以及所述算法格式的微分方程组分别按照预设的有限元语言编程语法规则编译成对应的微分方程组弱解形式的有限元语言文件和微分方程组算法格式的有限元语言文件。上述进一步地有益效果:通过将微分方程组按照预设语言编译成有限元语言文件,再将这些有限元语言文件输入到并行架构中进行计算,这样有利于并行计算的时候更加有序列,可以速快地编译程序,并且编写的时间短,编写的准确率高,同时也大大降低了编译的成本,能够满足各种不同工程的需求。进一步地,所述S2中包括:S21,将所述弱解形式的有限元语言文件和所述算法格式的有限元语言文件转换成完整的有限元模型数据;S22,将所述有限元模型数据分成M个模型数据;S23,将所述M个模型数据转换成K个无结构图的模型数据,其中每个所述无结构图的模型数据中包含的有限元模型数据节点编号是连续,但所述有限元模型数据节点编号在空间位置上不连续;S24,将所述K个无结构图的模型数并行地转化成M个区域的模型数据,其中每个所述区域的模型数据是区域连续的;其中M、K均为大于0的自然数。进一步地,所述S23包括:将所述M个模型数据按照生成CRS图数据的方法生成K个无结构图的模型数据。进一步地,所述S24中包括:将所述K个无结构图的模型数据采用图论分区算法的方式进行分区,并将所述K个无结构图的模型数据中的单元拓扑、节点坐标、节点规格数写到对应的各个区域中,形成M个区域的模型数据。进一步地,所述S24中还包括:将所述每个区域中重复的单元拓扑删除,并将剩余的单元及节点重新排序。上述进一步地有益效果:将单元中重复的单元拓扑删除,大大减少了计算的工作量,提高了计算的时间和效率。本专利技术还涉及一种基于有限元语言的并行编码系统,该系统包括:有限元语言编码模块、并行编码计算模块;所述有限元语言系统,用于读取微分方程组弱解形式的有限元语言文件和所述微分方程组算法格式的有限元语言文件;以及用于将所述弱解形式的有限元语言文件和所述算法格式的有限元语言文件转换成有限元语言模型数据,将所述有限元语言模型数据分成多个区域的模型数据;所述并行编码计算模块,用于将所述多个区域的模型数据输入到完全对等的并行计算架构中,按照预定义编码规则将所述多个区域的模型数据编码成用于求解微分方程组的并行有限元计算程序;其中,所述多个区域的模型数据中任意相邻的两个区域的模型数据在并行计算架构中采用MPI通信协议进行相互通信。本专利技术的有益效果:通过上述的系统,大大缩短了编写程序的时间周期,同时也大大提高了编写的效率,节约了成本,还能够灵活应用于不同的工程问题中。进一步地,所述并行编码计算模块包括:模型数据无结构化模块、区域分解模块;所述模型数据无结构化模块,用于将所述弱解形式的有限元语言文件和所述算法格式的有限元语言文件转换成完整的有限元模型数据,并将所述有限元模型数据分成M个模型数据,同时还将所述M个模型数据转换成K个无结构图的模型数据,其中每个所述无结构图的模型数据中包含的有限元模型数据节点编号是连续,但所述有限元模型数据节点编号在空间上不连续;所述区域分解模块,用于将所述K个无结构图的模型数并行地转化成M个区域的模型数据,其中每个所述区域的模型数据是区域本文档来自技高网
...
一种基于有限元语言的并行编码方法及系统

【技术保护点】
一种基于有限元语言的并行编码方法,其特征在于,该方法包括:S1,读取微分方程组弱解形式的有限元语言文件和所述微分方程组算法格式的有限元语言文件;S2,将所述弱解形式的有限元语言文件和所述算法格式的有限元语言文件转换成有限元语言模型数据,将所述有限元语言模型数据分成多个区域的模型数据;S3,将所述多个区域的模型数据输入到完全对等的并行计算架构中,按照预定义编码规则将所述多个区域的模型数据编码成用于求解微分方程组的并行有限元计算程序;其中,所述多个区域的模型数据中任意相邻的两个区域的模型数据在并行计算架构中采用MP I通信协议进行相互通信。

【技术特征摘要】
1.一种基于有限元语言的并行编码方法,其特征在于,该方法包括:S1,读取微分方程组弱解形式的有限元语言文件和所述微分方程组算法格式的有限元语言文件;S2,将所述弱解形式的有限元语言文件和所述算法格式的有限元语言文件转换成有限元语言模型数据,将所述有限元语言模型数据分成多个区域的模型数据;S3,将所述多个区域的模型数据输入到完全对等的并行计算架构中,按照预定义编码规则将所述多个区域的模型数据编码成用于求解微分方程组的并行有限元计算程序;其中,所述多个区域的模型数据中任意相邻的两个区域的模型数据在并行计算架构中采用MPI通信协议进行相互通信。2.根据权利要求1所述的方法,其特征在于,在S1之前还包括:A1,获取等效弱解形式的微分方程组以及算法格式的微分方程组;A2,将所述等效弱解形式的微分方程组以及所述算法格式的微分方程组分别按照预设的有限元语言编程语法规则编译成对应的微分方程组弱解形式的有限元语言文件和微分方程组算法格式的有限元语言文件。3.根据权利要求1或2所述的方法,其特征在于,所述S2中包括:S21,将所述弱解形式的有限元语言文件和所述算法格式的有限元语言文件转换成完整的有限元模型数据;S22,将所述有限元模型数据分成M个模型数据;S23,将所述M个模型数据转换成K个无结构图的模型数据,其中每个所述无结构图的模型数据中包含的有限元模型数据节点编号是连续,但所述有限元模型数据节点编号在空间位置上不连续;S24,将所述K个无结构图的模型数并行地转化成M个区域的模型数据,其中每个所述区域的模型数据是区域连续的;其中M、K均为大于0的自然数。4.根据权利要求3所述的方法,其特征在于,所述S23包括:将所述M个模型数据按照生成CRS图数据的方法生成K个无结构图的模型数据。5.根据权利要求4所述的方法,其特征在于,所述S24中包括:将所述K个无结构图的模型数据采用图论分区算法的方式进行分区,并将所述K个无结构图的模型数据中的单元拓扑、节点坐标、节点规格数写到对应的各个区域中,形成M个区域的模型数据。...

【专利技术属性】
技术研发人员:梁国平周永发李庆定
申请(专利权)人:元计算天津科技发展有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1