CN106126823B - 一种基于提高迭代法稳定性和收敛性的位移求解方法 - Google Patents
一种基于提高迭代法稳定性和收敛性的位移求解方法 Download PDFInfo
- Publication number
- CN106126823B CN106126823B CN201610479906.5A CN201610479906A CN106126823B CN 106126823 B CN106126823 B CN 106126823B CN 201610479906 A CN201610479906 A CN 201610479906A CN 106126823 B CN106126823 B CN 106126823B
- Authority
- CN
- China
- Prior art keywords
- singular
- unit
- displacement
- units
- matrix
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于提高迭代法稳定性和收敛性的位移求解方法,该方法基于有限元网格划分中包含奇异单元模型,从而单元刚度矩阵中会出现非对角占优的刚度矩阵为基础,对于非奇异单元及奇异单元中的非奇异节点采用传统的迭代技术进行处理,对于奇异单元中的畸形节点,可以在单元上进行改进,比如以预条件共轭梯度法为基础,采用体积作为惩罚函数进行预处理;本发明对非对角占优的有限元方程组进行修正,能够达到减少迭代次数,收敛速度更快,整个方法更加稳定的效果,其次采用先进行单刚和位移计算相乘后再叠加的方法,从而避免了组合总刚的计算,该计算量也是很庞大的;采用单刚的数据结构,方便数据的更新,并有利于并行计算。
Description
技术领域
本发明涉及结构力学技术领域,具体涉及一种基于提高迭代法稳定性和收敛性的位移求解方法。
背景技术
通常在采用有限单元法对碰撞冲击问题进行数值分析时,特别是模拟高速冲击载荷下的结构响应时,例如弹打靶、爆炸过程中,一个实体变形前和拉伸变形后的情形如图6所示,节点A在进行弹打靶或爆炸前的位置如图1,一旦进行弹打靶或爆炸后,这个实体就发生了变形,继而点A的位置和方向就发生了变化,变成节点A’而线段就是节点A在变形过程中产生的位移,那么该节点的位移怎么求?
如果要想描述整个物体位移,就要用有限单元的方法来描述,也即是用多个节点,及连接多个节点的网格(即是有限元网格)来代替原来的物体,那么求多个节点的位移就近似成求该物体的位移,也即是有限元的位移,那么该位移如何求?可以通过求解下面的有限元方程组来进行求解
Ku=F (1)
其中K是单元刚度矩阵,F是物体在发生变形时所受到的力,u就是物体变形后的位置,即是位移。
有限元网格往往会随着材料的剧烈变形而发生畸变,导致计算中出现非常畸形的网格如图3所示。或者对于比较复杂的结构在划分网格的过程中,就会形成非常畸形的网格,那么这个非常畸形的网格就是奇异的单元,从而方程组(1)的刚度矩阵就会出现非对角占优,甚至接近奇异的现象,从而方程组(1) 就会出现条件数较差,求解困难的问题。那么对于包含这种非常畸形的网格的位移如何求解?现有的求解器方法如下:
1)采用总体刚度矩阵的奇异值分解方法求出矩阵的奇异值,再进行求矩阵的广义逆,从而求出位移,当矩阵很大时,这种方法计算量非常庞大,不适合在工程计算中应用。
2)采用总体刚度矩阵的预条件共轭梯度法,在采用预条件共轭梯度法求解位移时,针对系数矩阵选取不同的预优矩阵M,使矩阵的特征值分布更为集中,降低矩阵条件数,改善矩阵病态特性;以达到提高收敛速度的目的;
3)采用单元刚度矩阵的预条件共轭梯度法,对于有限元方程组的求解,通常在不形成总体刚度矩阵情况下,可以将大规模总体结构的计算分解成相对独立的中小规模的结构计算,且使这些计算可由各台相对独立的处理机并行完成,其优点是有效提高计算时间,该方法在单元刚度矩阵发生变化时可以直接更新数据,无需重新组合成总刚。
随着有限元技术的发展,越来越多的有限元问题涌现出来,再用以上三种方法求解有限元问题时,对于存在非常畸形的网格的求解位移时,就会出现迭代次数偏大,收敛速度慢,不收敛,有的甚至得到的解与真解误差较大的问题,那么原来方法的求解器就会失效。
发明内容
针对现有技术的不足,本发明的目的是提供一种基于提高迭代法稳定性和收敛性的位移求解方法,该方法基于有限元网格划分中包含奇异单元模型,从而单元刚度矩阵中会出现非对角占优的刚度矩阵为基础,对于非奇异单元及奇异单元中的非奇异节点采用传统的迭代技术进行处理,对于奇异单元中 的畸形节点,可以在单元上进行改进,比如以预条件共轭梯度法为基础,采用体积作为惩罚函数进行预处理。
为实现以上目的,本发明采取了以下的技术方案:
一种基于提高迭代法稳定性和收敛性的位移求解方法,以预条件共轭梯度法为基础,采用体积作为惩罚函数进行预处理其包括:
步骤1、取初始值u0,矩阵乘向量部分采用单元刚度矩阵乘以单元向量的做法,这样避免了合成总体刚度矩阵,则初始残余力向量
r0=F-∑eKeu0e
这里F是载荷,Ke是单元刚度矩阵,u0e初始单元位移,r0是残余力向量;
步骤2、解以下方程组
Mz0=r0
求出z0
及后面迭代步中,同样解以下方程组
Mzk=rk
求出zk。
这里M是总体刚度矩阵(简称总刚)的预处理矩阵,rk是迭代步中的残余力向量。
所述步骤2包括以下步骤:
步骤21、对于非奇异单元及奇异单元中的非奇异节点,选取预条件M,这里的M可以是Jacobi预条件,也可以是松弛迭代法中的分裂因子的预优矩阵等等,也即是这里的M可以是任意的预优矩阵,下面以Jacobi预条件为例:
M=diag(a11,a22,…ann)
并记
d=(a11,a22,…,ann)
其中,aii是总体刚度矩阵的对角元素,则,每迭代步中的残余力向量的求解如下:
zk=rk/dk
这里k是第k次迭代;
步骤22、对于单元中的奇异节点,采用对单元中的奇异节点进行单独处理的方法,以改善刚度阵中非对角占优的情况,下面具体以采用体积惩罚函数方法进行改善的方法为例,体积惩罚函数求法如下:
首先找到奇异节点,及其被哪些单元包含,求出该单元的质心,并找到奇异夹角所在的面,然后求出各个面的质心。
从而求出这些面与对应单元的质心组成的立方体的体积,这就得到单元奇异节点的体积惩罚函数,我们记为v1e,v2e,…,vke,从而
zki=∑jvkjezkje
这里
zkje=rkje/dje
i是奇异节点号,j是奇异节点所在单元的序列号;k是迭代次数,rkje是单元残向量,dje是单元刚度矩阵对角元素,e是单元号;
步骤3下面求出位移向量的共轭梯度方向:pk,k=1,2,…n是迭代步;
if k=1
p0=z0
else
pk=zk-1+βkpk-1
endif
步骤4、对迭代步k=1,2,…计算
y=∑eKepke
uk=uk-1+αkpk
rk=rk-1-αky
再求出zk;
步骤5、直到||rk||<ε,也即是该方法收敛,则输出最终位移uk,结束。
本发明与现有技术相比,具有如下优点:本发明首先对迭代方法中的采用单元刚度矩阵的形式进行计算;其次对于单元中奇异节点进行特殊处理,这样使对非对角占优的矩阵进行修正,减少迭代次数,收敛速度更快,整个算法更加稳定;计算实施步骤简洁,不需要修改迭代法中其它计算模块。同时无需组合总体刚度矩阵,这样避免了组合总刚后再乘以位移的计算,而是采用先进行单刚和位移计算相乘后再叠加的方法,从而避免了组合总刚的计算,该计算量也是很庞大的;再次,采用单刚的数据结构,方便数据的更新,而采用总刚的数据结构,每次都需先计算出总刚才能更新.采用这种方法,可以有效解决在有限元网格划分中存在奇异单元的位移求解。
附图说明
图1为本发明一种基于提高迭代法稳定性和收敛性的位移求解方法的流程示意图;
图2为奇异节点与所在单元的示意图;
图3为三维悬臂梁模型的示意图;
图4为迭代次数对比曲线;
图5为不同方法残向量r的对比图;
图6为实体变形前和拉伸变形后的示意图。
具体实施方式
下面结合具体实施方式对本发明作进一步的说明。
本发明可以提高迭代法稳定性和收敛性,该方法基于有限元网格划分中包含奇异单元模型,从而单元刚度矩阵中会出现非对角占优的刚度矩阵为基础,对于非奇异单元及奇异单元中的非奇异节点采用传统的迭代技术进行处理,对于奇异单元中的畸形节点,可以在单元上进行改进,比如以预条件共轭梯度法为基础,采用体积作为惩罚函数进行预处理,具体操作如下:
步骤1、取初始值u0,矩阵乘向量部分采用单元刚度矩阵乘以单元向量的做法,这样避免了合成总体刚度矩阵,则初始残余力向量
r0=F-∑eKeu0e (1)
这里F是载荷,Ke是单元刚度矩阵,u0e初始单元位移,r0是残余力向量;
步骤2、解以下方程组
Mz0=r0 (2)
求出z0
及后面迭代步中,同样解以下方程组
Mzk=rk (3)
求出zk。
这里M是总体刚度矩阵(简称总刚)的预处理矩阵,rk是迭代步中的残余力向量。
步骤2采用以下方法:
对于非奇异单元及奇异单元中的非奇异节点,采用传统的预条件;对于奇异节点,先求出奇异节点所在单元的体积惩罚函数,再根据奇异节点所在的单元进行相乘,奇异节点所在单元的体积惩罚函数值越大,那么所占的比例也越 大,那么该单元对这个奇异节点的贡献也就越大,反而,奇异节点所在单元的体积惩罚函数值越小,那么所占的比例也越小,那么该单元对这个奇异节点的贡献也就越小;
所述步骤2包括以下步骤:
步骤21、对于非奇异单元及奇异单元中的非奇异节点,选取Jacobi预条件
M=diag(a11,a22,…ann) (4)
并记
d=(a11,a22,…,ann) (5)
其中,aii是总体刚度矩阵的对角元素,则,每迭代步中的残余力向量的求解如下:
zk=rk/dk (6)
这里k是第k次迭代;
另一方面此处的预条件M可以选取SSOR-CG方法,及其它预条件做预处理。
SSOR-CG方法是指对A=D-L-U的自然分裂,取M=(D-ωL)D-1(D-ωL)T.它对应于超松弛迭代法通用格式中的分裂阵因子M,ω是松弛因子(0<ω<2)。
步骤22、对于奇异节点,采用体积惩罚函数方法,体积惩罚函数求法如下:
首先找到奇异节点,及其被哪些单元包含,求出该单元的质心,并找到奇异夹角所在的面,然后求出各个面的质心。
如图2:首先找到奇异节点B,及其被哪些单元包含,求出该单元的质心,并找到奇异夹角所在的面:四边形ABHD和三角形BHC,
然后求出各个面的质心,质心坐标求法运用以下公式:
这里xi、yi、zi,i=1,2,…n是四边形ABHD和三角形BHC各顶点的坐标
从而求出这些面与对应单元的质心组成的立方体的体积,这就得到单元奇异节点的体积惩罚函数,我们记为v1e,v2e,…,vke,从而
zki=∑jvkjezkje (8)
这里
zkje=rkje/dje (9)
i是奇异节点号,j是奇异节点所在单元的序列号;k是迭代次数,rkje是单元残向量,dje是单元刚度矩阵对角元素,e是单元号,
步骤3下面求出位移向量的共轭梯度方向:pk,k=1,2,…n是迭代步;
if k=1
p0=z0
pk=zk-1+βkpk-1
endif
步骤4、对迭代步k=1,2,…计算
y=∑eKepke
uk=uk-1+αkpk
rk=rk-1-αky (11)
再根据公式(6)和(9)求出zk。
步骤5、直到||rk||<ε,也即是该方法收敛,则输出最终位移uk,结束。ε是收敛准则,一般取一个接近于零的数。
以下实施例是一个三维悬臂梁问题,结构的整体几何尺寸为1*1*1m,如图3所示,将结构划分为两个实体单元,其中一个为六面体实体单元,一个为五面体实体单元,单元尺寸如图,对应ANSYS单元类型为SOLID65。模型采用一种材料,材料参数为:弹性模量E=34.5GPa,泊松比μ=0.2。模型如图2所示。
以l=0.025*a为例,将上述模型运用一种提高迭代法稳定性和收敛性的方法与总体刚度矩阵的预条件共轭梯度法(这里预条件仍旧选取Jacobi预条件)求解位移结果对比见表1所示。
表1位移求解结果与总体刚度矩阵法求解的结果对比
对于上述模型更改l占a的比例,即是改变奇异单元的畸形程度,也即是比例越小越畸形,从而形成的刚度矩阵就是非对角占优矩阵,以l1=1/10*a,l2=1/20*a,l3=1/30*a,l4=1/40*a,l5=1/60*a,l6=1/80*a,l7=1/100*a为例,查看运用将上述模型运用一种基于提高迭代法稳定性和收敛性的位移求解方法,与运用原来的总体刚度矩阵的共轭梯度算法和原来的单元刚度矩阵预条件共轭梯度法(都采用Jacobi预条件),求解位移结果的迭代次数对比见图4所示。
从图4可以看出,在对于包含奇异楔形单元的单元刚度矩阵的有限元方程组求解,当楔形角度越来越尖锐时,也就是楔形体的畸形度越来越大时,用一种基于提高迭代法稳定性和收敛性的位移求解方法的迭代次数远远小于运用原来的总体刚度矩阵的共轭梯度算法和原来的单元刚度矩阵预条件共轭梯度法,从而对于包含奇异楔形单元的单元刚度矩阵的有限元方程组求解,当畸形度比较大的时候,运用一种基于提高迭代法稳定性和收敛性的位移求解方法具有较好的稳定性,及收敛速度比较快的的优点。
图5是不同方法残余力向量的比较,这里以l4=1/40*a为例,从图中可以看出,运用一种基于提高迭代法稳定性和收敛性的位移求解方法,在最后几步,残余力向量下降的非常快,从而表明该算法收敛的也比较快。
上列详细说明是针对本发明可行实施例的具体说明,该实施例并非用以限制本发明的专利范围,凡未脱离本发明所为的等效实施或变更,均应包含于本案的专利范围中。
Claims (2)
1.一种基于提高迭代法稳定性和收敛性的位移求解方法,其特征在于,用于采用有限元方法模拟高速冲击载荷下的结构时,对于奇异单元中的畸形节点,可以在单元上进行改进,采用体积作为惩罚函数进行预处理,包括步骤:
步骤1、取初始值u0,矩阵乘向量部分采用单元刚度矩阵乘以单元向量的做法,这样避免了合成总体刚度矩阵,则初始残余力向量
r0=F-∑eKeu0e
上式中,F是载荷,Ke是单元刚度矩阵,u0e初始单元位移,r0是残余力向量;
步骤2、解以下方程组
Mz0=r0
求出z0,及后面迭代步中,同样解以下方程组求出zk:
Mzk=rk
所述步骤2包括以下步骤:
步骤21、对于非奇异单元及奇异单元中的非奇异节点,选取Jacobi预条件
M=diag(a11,a22,…ann)
并记
d=M=(d1,d2,…,dn)
则,残差的求解如下:
zk=rk/dk
这里k是第k次迭代,此处的预条件选取Jacobi-CG方法;
步骤22、对于奇异节点,采用体积惩罚函数方法,体积惩罚函数求法如下:
首先找到奇异节点,及其被哪些单元包含,求出该单元的质心,并找到奇异夹角所在的面,然后求出各个面的质心,质心坐标求法运用以下公式:
从而求出这些面与对应单元质心组成该单元的体积,这就得到体积惩罚函数,记为v1e,v2e,…,vke,从而
zki=∑jvkjezkje
这里
zkje=rkje/dje
i是奇异节点号,j是奇异节点所在单元的序列号;rkje是单元残差,dje是单元刚度矩阵对角元素。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610479906.5A CN106126823B (zh) | 2016-06-23 | 2016-06-23 | 一种基于提高迭代法稳定性和收敛性的位移求解方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610479906.5A CN106126823B (zh) | 2016-06-23 | 2016-06-23 | 一种基于提高迭代法稳定性和收敛性的位移求解方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106126823A CN106126823A (zh) | 2016-11-16 |
| CN106126823B true CN106126823B (zh) | 2021-10-26 |
Family
ID=57266660
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610479906.5A Expired - Fee Related CN106126823B (zh) | 2016-06-23 | 2016-06-23 | 一种基于提高迭代法稳定性和收敛性的位移求解方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106126823B (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109753682B (zh) * | 2018-11-29 | 2020-12-22 | 浙江大学 | 一种基于gpu端的有限元刚度矩阵模拟方法 |
| CN110532618B (zh) * | 2019-07-29 | 2022-05-31 | 中国科学院长春光学精密机械与物理研究所 | 一种基于约束最优化方法的大刚体位移参量计算方法 |
| CN111813139B (zh) * | 2020-07-27 | 2022-08-16 | 中国工程物理研究院总体工程研究所 | 一种持续载荷模拟器多轴耦合运动奇异性控制方法 |
| CN112632825B (zh) * | 2020-12-22 | 2023-03-10 | 重庆大学 | 一种基于有限元超收敛性的静电场光滑有限元数值算法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101710356A (zh) * | 2009-12-25 | 2010-05-19 | 中山大学 | 一种基于Newton-PCG迭代的有限元算法 |
| US20100220067A1 (en) * | 2009-02-27 | 2010-09-02 | Foxconn Communication Technology Corp. | Portable electronic device with a menu selection interface and method for operating the menu selection interface |
| CN103530451A (zh) * | 2013-09-27 | 2014-01-22 | 中国科学院声学研究所 | 复杂介质弹性波传播模拟的多网格切比雪夫并行谱元法 |
-
2016
- 2016-06-23 CN CN201610479906.5A patent/CN106126823B/zh not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100220067A1 (en) * | 2009-02-27 | 2010-09-02 | Foxconn Communication Technology Corp. | Portable electronic device with a menu selection interface and method for operating the menu selection interface |
| CN101710356A (zh) * | 2009-12-25 | 2010-05-19 | 中山大学 | 一种基于Newton-PCG迭代的有限元算法 |
| CN103530451A (zh) * | 2013-09-27 | 2014-01-22 | 中国科学院声学研究所 | 复杂介质弹性波传播模拟的多网格切比雪夫并行谱元法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106126823A (zh) | 2016-11-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106126823B (zh) | 一种基于提高迭代法稳定性和收敛性的位移求解方法 | |
| Akgün et al. | Fast exact linear and non‐linear structural reanalysis and the Sherman–Morrison–Woodbury formulas | |
| Rendall et al. | Parallel efficient mesh motion using radial basis functions with application to multi‐bladed rotors | |
| CN116151084B (zh) | 基于结构网格的模拟方法、装置、终端设备及存储介质 | |
| US20160019325A1 (en) | System and Method of Recovering Lagrange Multipliers in Modal Dynamic Analysis | |
| EP4645151A1 (en) | Wind tunnel test data static aero-elasticity correction method and apparatus, device, and storage medium | |
| Xu et al. | Robust and efficient adjoint solver for complex flow conditions | |
| CN101315649B (zh) | 含大量输入端口的微机电系统降阶建模方法 | |
| CN114347029B (zh) | 一种用于气动软体机器人快速模拟的模型降阶方法 | |
| CN118296289A (zh) | 改进csr的大型复数稀疏矩阵加速计算的数据处理方法 | |
| CN113779831B (zh) | 一种基于区域分解的缩聚feti工程数值方法 | |
| CN103902764B (zh) | 基于Householder变换的无约束结构静力分析方法 | |
| CN117131742A (zh) | 基于可逆转有限元能量法的人体组织模拟在gpu下的高并发实现方法 | |
| CN113792440B (zh) | 计算浮式结构物在非稳态载荷作用下结构力响应的方法 | |
| Lee et al. | Automatic adaptive refinement finite element procedure for 3D stress analysis | |
| Xu et al. | Towards a scalable hierarchical high-order CFD solver | |
| CN110457761B (zh) | 一种解决Pogo模型奇异性问题的方法 | |
| CN118504350A (zh) | 一种基于微极单元的点阵结构材料板壳结构有限元仿真方法 | |
| CN111241732A (zh) | 基于子结构自由度凝聚的天线模型位移快速测量方法 | |
| KR102082777B1 (ko) | 엘리먼트들의 세트를 시뮬레이팅하기 위한 방법 및 연관된 컴퓨터 프로그램 | |
| CN120296886B (zh) | 一种飞行器薄壁结构优化设计方法及相关装置 | |
| TW202234228A (zh) | 用於神經網路硬體處理器的基於稀疏性的加速處理 | |
| CN115392081B (zh) | 一种基于feti的高精细流致振动模拟方法 | |
| Zhang et al. | An adaptive polygonal scaled boundary finite element method for elastodynamics | |
| CN111723534A (zh) | 一种高精度pspike+求解器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211026 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |