CN109359397B - 一种有限元区域分解改进ssorpcg求解渗流场的并行方法 - Google Patents
一种有限元区域分解改进ssorpcg求解渗流场的并行方法 Download PDFInfo
- Publication number
- CN109359397B CN109359397B CN201811242743.4A CN201811242743A CN109359397B CN 109359397 B CN109359397 B CN 109359397B CN 201811242743 A CN201811242743 A CN 201811242743A CN 109359397 B CN109359397 B CN 109359397B
- Authority
- CN
- China
- Prior art keywords
- finite element
- unit
- partition
- point
- solving
- 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.)
- Active
Links
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种有限元区域分解改进SSORPCG求解渗流场的并行方法,其特征在于,包括如下步骤:建立求解模型,对该模型进行有限元离散,得到模型的结构信息;利用区域分解法对模型进行划分,得到P个子区域和每个子区域相对应的数据文件;消息传递接口MPI初始化,通过变分原理形成有限元支配方程;根据达西定律进而得到每个分区的渗流场;步骤5,合并P个子区域的结果,得到整体模型的计算结果。优点:所有的处理器在独立进行各自分区的计算,每个进程是平等的,从而可以有效避免了主进程的限制,可以最大限度地发挥计算节点的能力,进行更大规模的并行计算;在有限元计算中有效提高了求解大型稀疏系数矩阵方程组的计算效率。
Description
技术领域
本发明涉及一种有限元区域分解改进SSORPCG求解渗流场的并行方法,属于水利工程有限元工程数值模拟计算和大规模并行计算技术领域。
背景技术
近年来,计算机正在以惊人的速度不断发展进步,在计算性能方面取得了长足的进步和卓越的成果。但是随着计算规模的提升和计算精度的提高,尤其是在数据密集和计算密集的数值分析应用领域,利用有限元分析的方式越频繁,普通计算机在性能上已经不能满足这些领域的需求,寻找效率高的并行算法成为当前计算不可缺少的方式之一。
在实际水利工程中,经常要求解地基及土坝的渗流问题。由于工程结构外形不规则,边界条件有比较复杂,渗流场问题使用古典方法是很难求解的,但是有限单元法可以得到良好的计算结果。目前对于有限元并行技术一般采用物理区域分割并行方法,计算网格和计算区域分解是实现粗粒度并行的最有效直接的任务分配方式。区域分解方法最大特点是适用于构造并行算法,逐步推广到各个计算领域,已经成为并行计算中常见的方法之一,在有限元分析领域发挥着重要作用。
对于有限元需要求解的大规模稀疏系数矩阵方程组问题,目前大多数采用对称逐步超松弛预处理共轭梯度(SSORPCG)求解有限元方程组,可以有效提高计算效率。现有技术中的求解方法并不适合并行求解。
发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,提供一种有限元区域分解改进SSORPCG求解渗流场的并行方法,提高求解大规模稀疏系数矩阵方程组问题的能力。
为解决上述技术问题,本发明提供一种有限元区域分解改进SSORPCG求解渗流场的并行方法,其特征在于,包括如下步骤:
步骤1,建立求解模型,对该模型进行有限元离散,得到有限元模型,对单元和结点全部从1开始编号,得到整体编号,统计模型的结构信息,包括单元总数、单元信息和结点信息;
步骤2,模型区域分解,根据进程数目或者需要用于计算的进程数P及处理器的拓扑结构,利用区域分解法对模型进行划分,得到P个分区和每个分区相对应的数据文件;
步骤3,消息传递接口MPI初始化,确定进程的总数目,使得子区域与进程号一一对应,分别分配到P个进程中,在各个进程中形成分区内单元渗流传导矩阵和单元结点荷载列阵,将分区内所有单元集合组装两个矩阵,通过变分原理形成有限元支配方程;
步骤4,调用改进的SSORPCG求解器并行求解各个未知结点的水头值,根据达西定律进而得到每个分区的渗流场;
步骤5,合并P个分区的结果,得到整体模型的计算结果。
进一步的,所述单元总数、单元信息和结点信息具体如下:
式中,φe(x,y,z)和φ(ξ,η,ζ)分别为整体笛卡尔坐标系(x,y,z)和局部笛卡尔坐标系(ξ,η,ζ)下的单元内任一点的水头,m为单元的结点个数,Ni为形函数,i=1,2,…,m,N为形函数矩阵,N=[N1N2…Nm],{φ}e为单元结点水头列阵,{φ}e=[φ1φ2…φm]T,T表示矩阵的转置。
进一步的,所述步骤2,区域分解法在串行下完成对有限元网格进行分区,依据所需进程数P的需求完成分区,具体包括步骤:
21)对步骤1中有限元离散后的模型进行单元分区和结点分区:整体有限元模型调用Metis函数库将单元分成P个区域,根据单元的分区确定其结点所属分区,将结点属于多个分区的点指定只属于一个分区;
22)确定交界面单元和in/out点:如果其中一个单元的全部结点属于某个分区,则该单元才属于该分区,属于多个分区的单元就是交界面单元,交界面单元的内边界点为out点,外边界点为in点,对于两个相邻分区,交界面公共点互为in点和out点,对于in点来说,是没有自由度的,后期并行计算时需要进行in点和out点传值;
23)对单元和结点重新编号:将上述每个分区内的单元和结点在该分区内进行重新编号,将每个分区的结点和单元编号映射到从1开始的正整数集上,得到在该分区内的局部编号,使得局部编号与整体编号具有相应的映射关系;
24)分配边界和荷载信息。
进一步的,所述单元内渗流水头传导矩阵是根据各分区内单元形状以及插值函数形成;
所述结点荷载列阵是根据分区内单元结点的体积力和边界表面力作用形成;
所述有限元支配方程是通过组装上述分区内的单元渗流水头传导矩阵和单元结点荷载列阵通过变分原理形成。
进一步的,所述改进的SSORPCG求解器是将SSORPCG求解过程并行化,修改其串行下的方程组求解方式。
进一步的,所述交界面单元的形成主要用于数据传递交换的求解,在初始迭代计算时各个分区在交界面单元处通过相互传递计算值,多次迭代后计算出各个分区的结点温度,针对大型稀疏系数方程组Ax=b,其中A为方程组的系数矩阵、x为求解的量和b为常数项,具体实现的并行方式为:
D为A的对角阵,L为A的严格下三角,即A=L+D+LT,L=L′+Lc,Lc为耦合部分,L'为各分区矩阵的严格下三角,上标T表示为矩阵的转置,当不分区时,L'=L,Lc=0,W=D/ω+L′,V=(2-ω)D/ω,则ω为松弛因子,0<ω<2,W、V为分解系数矩阵A过程中引进的两个算子;
初值:x0,g0=Ax0-b,y0=W-1g0,其中x0为迭代求解初值,大多数情况下为0;g0表示初始剩余向量;y0初始处理x0用于后期迭代计算的向量算子;
第k次迭代,从k=0开始,k表示迭代次数:
δk=(yk,Vyk),如果δk<ε停止,否则继续如下循环:
对δk规约求和,并广播给每一个处理器
βk=δk/δk-1,如果k=0则βk=0
zk=-Vyk+βkzk-1
dk=W-Tzk
uk=zk-Vdk
如果myid>id,传递out点d值给其他分区,从其他分区接收d值给in点
如果myid<id,从其他分区接收d值给in点,传递out点d值给其他分区,如果myid=id,不通讯,其中myid表示为当前进程号,id表示为除当前进程之外的其他进程号,
sk=W-1uk
tk=(dk,zk+uk)
对tk规约求和,并广播给每一个处理器
τk=δk/tk
xk+1=xk+τkdk
yk+1=yk+τk(dk+sk)
k=k+1表示k+1赋于k;
上述迭代中,δk为第k次迭代计算的y与V·y的内积,用于判断是否达到给定精度ε要求;在共轭梯度法(PCG)中,βk为方向共轭系数,初始迭代时为0;dk为选取的接近精确值的搜寻方向;yk为处理每步x值的向量算子,τk为y的修正系数,zk、uk、sk和tk为迭代过程中第k次迭代引进的各项简化计算的向量算子,
计算过程中,除了传递,每个分区都有计算出的δk和τk,这是整体的误差算子,无法传递,将每次迭代的δk和τk进行规约求和,并广播到各个处理器中,保证整体迭代精度,计算出的x即为每个结点水头值,进而根据达西定律求解流速得到区域内的渗流场。
本发明所达到的有益效果:
所有的处理器在独立进行各自分区的计算,计算过程中每次迭代到给定精度,通讯一次,采用对等式方式并行,每个进程是平等的,从而可以有效避免了主进程的限制,可以最大限度地发挥计算节点的能力,进行更大规模的并行计算;在有限元计算中有效提高了求解大型稀疏系数矩阵方程组的计算效率。
附图说明
图1本发明实施例中总体计算流程图;
图2本发明实施例中区域分解4个分区图;
图3本发明实施例中交界面单元信息传递简化示意图;
图4本发明实施例中SSORPCG并行求解流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提出的一种有限元区域分解改进SSORPCG求解渗流场的并行方法。本方法通过将有限元模型串行进行区域分解和合并结果,中间过程进行并行计算,具体的整个计算流程图如附图1所示。主要包括5个步骤:⑴建立求解模型,对该模型进行有限元离散,得到模型的结构信息,包括单元总数、单元信息和结点信息;⑵模型区域分解,根据P个进程数及处理器的拓扑结构,利用区域分解法对模型进行划分,得到P个子区域和每个子区域相对应的数据文件;⑶消息传递接口MPI初始化,确定进程的总数目,使得子区域与进程号一一对应,分别分配到P个进程中,在各个进程中形成分区内渗流传导矩阵和结点荷载列阵,从而形成有限元支配方程;⑷调用改进的SSORPCG求解器并行求解各个未知结点的水头值,再根据达西定律得到每个分区的渗流场;⑸合并P个子区域的结果,得到整体模型的计算结果。本实施例中根据4个进程分解为4个分区。
下面按照流程图进行详细介绍说明:
第一步,建立求解模型,对该模型进行有限元离散,对单元和结点全部从1开始编号,得到整体编号,统计模型的结构信息,包括单元总数、单元信息和结点信息;
将求解域划分为有限元网格,各单元的渗流函数用该单元结点渗流水头插值得到,设单元的结点数为m,则单元的渗流水头可以表示为:
式中,φe(x,y,z)和φ(ξ,η,ζ)分别为整体笛卡尔坐标系(x,y,z)和局部笛卡尔坐标系(ξ,η,ζ)下的单元内任一点的水头,m为单元的结点个数,Ni为形函数,i=1,2,…,m,N为形函数矩阵,N=[N1N2…Nm],{φ}e为单元结点水头列阵,{φ}e=[φ1φ2…φm]T,T表示矩阵的转置。
第二步,串行下利用区域分解法对有限元模型进行分区,根据所需要计算的P个进程数,将有限元模型分解成P个子区域。如图2所示调用metis函数库(Metis函数库是由Karypis Lab开发的一个具有强大功能的串行图切分软件包,用户使用Metis软件包时,可以根据需要选择相应的切分方式)分4个区,获得相应的分区文件。具体过程和分区包括以下4个方面内容和步骤:
⑴采用metis函数库进行分区或者手动分区成P个区域,先根据单元分区,再进行结点分区。定义每个区域所属的进程号,同时根据单元和结点所属的分区,将结点属于多个分区且所属单元向内扩展形成交界面单元,最后将属于多个分区的结点指定只属于一个分区。
⑵根据第⑴步,处理各个分区的交界面单元,如图3所示,交界面单元的外边界点设置为in点,内边界点为out点,交界面公共点互为in点、out点。对于in点来说,是没有自由度的。
⑶根据第⑴步,将每个分区中的单元,结点全部进行重新编号,保证在各个分区的局部编号与整体编号具有一定的映射关系,将分区的单元信息、结点信息写入分区文件中。
⑷根据第⑶步,调用改进的SSORPCG求解器并行求解各个未知结点的水头值。
第三步,消息传递接口MPI初始化,确定进程的总数目,使得子区域与进程号一一对应,分别分配到P个进程中,在各个进程中形成分区内单元渗流水头传导矩阵[H]e和结点荷载列阵{F}e,进而将分区内所有单元集合组装两个矩阵,通过变分原理形成有限元支配方程。具体内容如下:
根据广义达西定律,流速用矩阵表示{v}=-[k]{φ'},{v}=[vx vy vz]T,其中[k]为渗透系数,三维问题有9个系数,由于对称性kij=kji,独立系数有6个,对于平面问题,其有3个独立系数。根据步骤1所述,各分区将此值代入到上式中得到:
{v}=[vx vy vz]T=-[k]{φ'}=-[k][B]{φ}
有限元离散后的单元渗流场泛函Ie(φ)为
其中,V表示求解区域,S为边界,只有靠近边界S的单元才会出现这项。
将上述泛函对φi(i=1,2,…,m)求微分,得到
化简得到
两者的具体元素为
式中[H]e和{F}e即为单元传导矩阵和单元结点荷载,对于单元结点荷载{F}e,右端第一项为体积力引起的结点荷载,后一项为边界上表面力引起的结点荷载。
第四步,将串行程序改写成并行程序时,只需要修改其串行下的方程组求解方式。交界面单元的形成主要用于下步所述的数据传递交换的求解。通过改进的SSORPCG求解器,并行求解各个未知结点的水头值,再根据达西定律求解流速进而得到分区内的渗流场。针对上步中的有限元方程,统一写成Ax=b形式。林绍忠在河海大学学报,1998(03):114-117上发表的文章“用预处理共轭梯度法求解有限元方程组及程序设计”中修改的SSORPCG的迭代方式如下:
初值:x0,g0=Ax0-b,y0=W-1g0
第k次迭代(从k=0开始):
δk=(yk,Vyk),如果δk<ε停止,否则继续如下循环:
βk=δk/δk-1(如果k=0则βk=0)
zk=-Vyk+βkzk-1
dk=W-Tzk
uk=zk-Vdk
sk=W-1uk
tk=(dk,zk+uk)
τk=δk/tk
xk+1=xk+τkdk
yk+1=yk+τk(dk+sk)
k=k+1
其中,D为A的对角阵,L为A的严格下三角,即A=L+D+LT,W=D/ω+L,V=(2-ω)D/ω,ω为松弛因子(0<ω<2),ε为给定的迭代精度。
以下针对上述迭代进行并行算法的修改,主要包括以下内容:
根据图3所示,采用矩阵分块思想描述有限元的矩阵形式:EAi表示A分区的第i个单元,Ai表示A分区的第i个结点,EBi表示B分区的第i个单元,Bi表示B分区第i个结点。A3和B3作为in点,是没有自由度的,但A2和B3以及A3和B2实际上是同一个点。所以写出的总体方程为:
其中各分区方程为:Aij和Bij分别表示A和B分区内,非交界面位置处形成的单元传导矩阵,即为j结点对i结点的水头传递的贡献;XAi和XBi、FAi和FBi分别表示A和B分区的i结点水头和i结点的荷载;
如果单独考虑A、B两个分区,也不考虑边界点,即忽略in点和out点,针对上述SSORPCG计算式dk=W-Tzk,转化为WTdk=zk,写出的两个分区的计算矩阵,并转化为方程组型式:
因为WT=DT/ω+LT,为了书写方便和理解,将两个分区中对角元素的/ω舍去,但计算时是包含此项的。dAi和dBi分别表示分区A、B中第i个点选取的接近精确值的搜寻方向。
同时,根据图3和(1)式,结合考虑in点(无自由度)和out点,A23变成了A2B2,B23变成了B2A2,上述等式变化为:
根据上述迭代过程可以看出,当进行计算uk=zk-Vdk时,计算时需要用到计算时需要用到 和为在交界面点A2、B2处理搜索方向dA2和dB2后的计算算子。每次迭代过程中需要将传递给分区A、传递给分区B,且过程中是通过in点和out点进行数据传递交换完成并行计算。
在上述原SSORPCG中uk=zk-Vdk,此时并行计算需要加此耦合项,故得
最终改进的SSORPCG求解有限元方程组Ax=b的并行算法流程如图4所示,具体说明如下:
针对Ax=b,D为A的对角阵,L为A的严格下三角,即A=L+D+LT。L=L′+Lc,Lc为耦合部分;L'为各分区矩阵的严格下三角,当不分区时,L'=L,Lc=0。W=D/ω+L′,V=(2-ω)D/ω,则其余各项参数与上述SSORPCG参数含义一致。用myid表示为当前进程号,id表示为除当前进程之外的其他进程号,对所有处理器myid(myid=0,…,p-1)同时执行如下过程:
初值:x0,g0=Ax0-b,y0=W-1g0
第k次迭代(从k=0开始):
对δk规约求和,并广播给每一个处理器
βk=δk/δk-1(如果k=0则βk=0)
zk=-Vyk+βkzk-1
dk=W-Tzk
uk=zk-Vdk
如果myid>id,传递out点d值给其他分区,从其他分区接收d值给in点
如果myid<id,从其他分区接收d值给in点,传递out点d值给其他分区
如果myid=id,不通讯
sk=W-1uk
tk=(dk,zk+uk)
对tk规约求和,并广播给每一个处理器
τk=δk/tk
xk+1=xk+τkdk
yk+1=yk+τk(dk+sk)
k=k+1
在上述迭代过程中,除了传递,因为每个分区都有计算出的δk和τk,这是整体的误差算子,无法传递,所以还需要将每次迭代的δk和τk进行规约求和,并广播到各个处理器中,保证整体迭代的精度,计算出的x即为每个结点水头值,再将此值代入达西定律中求解结点流速即可得到4个分区的渗流场。
第五步,合并4个子区域的结果,得到整体模型的结算结果。由于每个分区都有交界面单元,只要合并交界面单元的结点和单元即可,最终合并成整体模型的结果。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种有限元区域分解改进SSORPCG求解渗流场的并行方法,其特征在于,包括如下步骤:
步骤1,建立求解模型,对该模型进行有限元离散,得到有限元模型,对单元和结点全部从1开始编号,得到整体编号,统计模型的结构信息,包括单元总数、单元信息和结点信息;
步骤2,模型区域分解,根据进程数目或者需要用于计算的进程数P及处理器的拓扑结构,利用区域分解法对模型进行划分,得到P个分区和每个分区相对应的数据文件;
步骤3,消息传递接口MPI初始化,确定进程的总数目,使得子区域与进程号一一对应,分别分配到P个进程中,在各个进程中形成分区内单元渗流传导矩阵和单元结点荷载列阵,将分区内所有单元集合组装两个矩阵,通过变分原理形成有限元支配方程;
步骤4,调用改进的SSORPCG求解器并行求解各个未知结点的水头值,根据达西定律进而得到每个分区的渗流场;
步骤5,合并P个分区的结果,得到整体模型的计算结果;
所述步骤2,区域分解法在串行下完成对有限元网格进行分区,依据所需进程数P的需求完成分区,具体包括步骤:
21)对步骤1中有限元离散后的模型进行单元分区和结点分区:整体有限元模型调用Metis函数库将单元分成P个区域,根据单元的分区确定其结点所属分区,将结点属于多个分区的点指定只属于一个分区;
22)确定交界面单元和in/out点:如果其中一个单元的全部结点属于某个分区,则该单元才属于该分区,属于多个分区的单元就是交界面单元,交界面单元的内边界点为out点,外边界点为in点,对于两个相邻分区,交界面公共点互为in点和out点,对于in点来说,是没有自由度的,后期并行计算时需要进行in点和out点传值;
23)对单元和结点重新编号:将上述每个分区内的单元和结点在该分区内进行重新编号,将每个分区的结点和单元编号映射到从1开始的正整数集上,得到在该分区内的局部编号,使得局部编号与整体编号具有相应的映射关系;
24)分配边界和荷载信息;
所述交界面单元的形成主要用于数据传递交换的求解,在初始迭代计算时各个分区在交界面单元处通过相互传递计算值,多次迭代后计算出各个分区的结点温度,针对大型稀疏系数方程组Ax=b,其中A为方程组的系数矩阵、x为求解的量和b为常数项,具体实现的并行方式为:
D为A的对角阵,L为A的严格下三角,即A=L+D+LT,L=L′+Lc,Lc为耦合部分,L'为各分区矩阵的严格下三角,上标T表示为矩阵的转置,当不分区时,L'=L,Lc=0,W=D/ω+L′,V=(2-ω)D/ω,则ω为松弛因子,0<ω<2,W、V为分解系数矩阵A过程中引进的两个算子;
初值:x0,g0=Ax0-b,y0=W-1g0,其中x0为迭代求解初值;g0表示初始剩余向量;y0表示初始处理x0用于后期迭代计算的向量算子;
第k次迭代,从k=0开始,k表示迭代次数:
δk=(yk,Vyk),如果δk<ε停止,否则继续如下循环:
对δk规约求和,并广播给每一个处理器
βk=δk/δk-1,如果k=0则βk=0
zk=-Vyk+βkzk-1
dk=W-Tzk
uk=zk-Vdk
如果myid>id,传递out点d值给其他分区,从其他分区接收d值给in点
如果myid<id,从其他分区接收d值给in点,传递out点d值给其他分区,如果myid=id,不通讯,其中myid表示为当前进程号,id表示为除当前进程之外的其他进程号,
sk=W-1uk
tk=(dk,zk+uk)
对tk规约求和,并广播给每一个处理器
τk=δk/tk
xk+1=xk+τkdk
yk+1=yk+τk(dk+sk)
k=k+1表示k+1赋于k;
上述迭代中,δk为第k次迭代计算的y与V·y的内积,用于判断是否达到给定精度ε要求;在共轭梯度法PCG中,βk为方向共轭系数,初始迭代时为0;dk为选取的接近精确值的搜寻方向;yk为处理每步x值的向量算子,τk为y的修正系数,zk、uk、sk和tk为迭代过程中第k次迭代引进的各项简化计算的向量算子,
将每次迭代的δk和τk进行规约求和,并广播到各个处理器中,保证整体迭代精度,计算出的x即为每个结点水头值,进而根据达西定律求解流速得到区域内的渗流场。
3.根据权利要求1所述的有限元区域分解改进SSORPCG求解渗流场的并行方法,其特征在于,所述单元内渗流水头传导矩阵是根据各分区内单元形状以及插值函数形成;
所述结点荷载列阵是根据分区内单元结点的体积力和边界表面力作用形成;
所述有限元支配方程是通过组装上述分区内的单元渗流水头传导矩阵和单元结点荷载列阵通过变分原理形成。
4.根据权利要求1所述的有限元区域分解改进SSORPCG求解渗流场的并行方法,其特征在于,所述改进的SSORPCG求解器是将SSORPCG求解过程并行化,修改其串行下的方程组求解方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811242743.4A CN109359397B (zh) | 2018-10-24 | 2018-10-24 | 一种有限元区域分解改进ssorpcg求解渗流场的并行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811242743.4A CN109359397B (zh) | 2018-10-24 | 2018-10-24 | 一种有限元区域分解改进ssorpcg求解渗流场的并行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359397A CN109359397A (zh) | 2019-02-19 |
CN109359397B true CN109359397B (zh) | 2022-07-19 |
Family
ID=65346546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811242743.4A Active CN109359397B (zh) | 2018-10-24 | 2018-10-24 | 一种有限元区域分解改进ssorpcg求解渗流场的并行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359397B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826276B (zh) * | 2019-11-04 | 2021-05-18 | 武汉大学 | 一种基于有限元的三维随机渗流场模拟方法及装置 |
CN113656349B (zh) * | 2021-07-29 | 2024-01-19 | 东风柳州汽车有限公司 | 基于cae的文件处理方法、装置、设备及存储介质 |
CN114001654B (zh) * | 2021-11-01 | 2024-03-26 | 北京卫星制造厂有限公司 | 工件端面位姿评价方法 |
CN115391069B (zh) * | 2022-10-27 | 2023-02-03 | 山东省计算中心(国家超级计算济南中心) | 基于海洋模式roms的并行通讯方法及系统 |
CN116820772B (zh) * | 2023-07-03 | 2024-05-28 | 中山大学 | 网格并行读取方法、装置、终端设备和可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324850A (zh) * | 2013-06-21 | 2013-09-25 | 上海交通大学 | 基于多文件流的有限元两级分区两次缩聚并行方法 |
CN107657075A (zh) * | 2017-08-24 | 2018-02-02 | 南京大学 | 模拟地下水介质交界面处达西速度的区域分解有限元法 |
CN107688680A (zh) * | 2016-08-05 | 2018-02-13 | 南京理工大学 | 一种高效的时域有限元区域分解并行方法 |
-
2018
- 2018-10-24 CN CN201811242743.4A patent/CN109359397B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324850A (zh) * | 2013-06-21 | 2013-09-25 | 上海交通大学 | 基于多文件流的有限元两级分区两次缩聚并行方法 |
CN107688680A (zh) * | 2016-08-05 | 2018-02-13 | 南京理工大学 | 一种高效的时域有限元区域分解并行方法 |
CN107657075A (zh) * | 2017-08-24 | 2018-02-02 | 南京大学 | 模拟地下水介质交界面处达西速度的区域分解有限元法 |
Also Published As
Publication number | Publication date |
---|---|
CN109359397A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359397B (zh) | 一种有限元区域分解改进ssorpcg求解渗流场的并行方法 | |
CN110110413B (zh) | 一种基于材料场缩减级数展开的结构拓扑优化方法 | |
Mandel et al. | Energy optimization of algebraic multigrid bases | |
CN108228970B (zh) | 结构动力学分析显式异步长并行计算方法 | |
Arbogast et al. | Numerical methods for the simulation of flow in root-soil systems | |
CN109033733B (zh) | 一种有限元区域分解改进ssorpcg求解温度场的并行方法 | |
CN116258042B (zh) | 一种基于ddm的大规模传热异构并行仿真方法 | |
Lachat et al. | Parallel mesh adaptation using parallel graph partitioning | |
CN110096838A (zh) | 一种基于n-s方程的直升机流场数值并行隐式求解方法 | |
JP7221062B2 (ja) | 流体解析システム、流体解析方法、および流体解析プログラム | |
CN103065015B (zh) | 一种基于内力路径几何形态的承载结构低碳节材设计方法 | |
CN108763777B (zh) | 基于泊松方程显式解的vlsi全局布局模型建立方法 | |
Hodgson et al. | A domain decomposition preconditioner for a parallel finite element solver on distributed unstructured grids | |
CN114692523A (zh) | 基于图卷积的自适应高维流体动力方程的流速预测方法 | |
CN103530451A (zh) | 复杂介质弹性波传播模拟的多网格切比雪夫并行谱元法 | |
Volkov et al. | A parallel implementation of the algebraic multigrid method for solving problems in dynamics of viscous incompressible fluid | |
CN109241620B (zh) | 基于有限元区域分解的改进ssorpcg并行求解边坡应力场的方法 | |
Bhogeswara et al. | Parallel linear solvers for reservoir simulation: A generic approach for existing and emerging computer architectures | |
Carey et al. | A prototype scalable, object-oriented finite-element solver on multicomputers | |
Kulkarni et al. | Massive Scaling of MASSIF: Algorithm Development and Analysis for Simulation on GPUs | |
CN117436370B (zh) | 面向流体力学网格生成的超定矩阵方程并行方法及系统 | |
Nikiforov et al. | Application of Parallel Programming Methods for Simulating Flow Diversion Technologies on Hybrid Architecture Computers | |
Gotze et al. | VLSI-suited solution of linear systems | |
Tsai et al. | Study of parallel computation for ground-water solute transport | |
Li et al. | A parallel RBF mesh deformation method with multi-greedy algorithm in OpenFOAM |
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 |