《有限元之我见》由会员分享,可在线阅读,更多相关《有限元之我见(4页珍藏版)》请在金锄头文库上搜索。
1、有限元之我见雒海涛北京索为高科系统技术有限公司2013/1/29会工作,更要会思考一、概述写此文档的目的是理顺一下自己对有限元的一个理解,长期以来对有限元的理解有些概念还是很模糊的,对后面的学习也造成了一些影响,希望在这个梳理过程中能对自己以后继续深入学习有限元相关的知识起到帮助;另一方面这些理解都是基于本人的理解,难免有偏颇之处,也希望对有限元有深入理解的朋友能对文中出现的错误之处指正,文中很多内容也是来源于网络。二、为什么要用有限元在力学中,目前发展而言,很多情况下我们只能对很少的构件得出精确的应力解答,如轴对称问题,无限域问题等。有限元就是对构件划分单元,利用泛函的思想求得近似解,对实际
2、问题的应用更加广泛。这儿我的一个理解是在求解力学问题的时候,尤其是求解复杂系统的时候很难对一些大型计算求得其解析解,进而采用数值解。关于解析解和数值解这儿带两句,因为有些人可能没有学过数值分析的课程,就拿一个方程组而言,一般来说两个方程两个未知数的方程组来说是很容易求得其两个未知数的值的,但是对于大规模的系统需要罗列很多方程,有些是有重复的要去掉,很多未知数那么求解量就很大了,这个时候才用数值求解的方式,给定初始值然后给每个参数一个步长增量来求其近似解就会更容易一些。在说到有限元上,有限元就是将连续的求解域离散为一组单元的组合体,然后对一组单元的组合体进行求解,根据各种方程建立起代数方程组就需
3、要用到了数值求解问题。三、什么是有限元有限元的原理:将连续的求解域离散为一组单元的组合体,用在每个单元内假设的近似函数来分片的表示求解域上待求的未知场函数,近似函数通常由未知场函数及其导数在单元各节点的数值插值函数来表达。从而使一个连续的无限自由度问题变成离散的有限自由度问题。有限元的概念:有限元法(finiteelementmethod)是一种高效能、常用的计算方法。有限元法在早期是以变分原理为基础发展起来的,所以它广泛地应用于以拉普拉斯方程和泊松方程所描述的各类物理场中(这类场与泛函的极值问题有着紧密的联系)。自从1969年以来,某些学者在流体力学中应用加权余数法中的迦辽金法(Galerk
4、in)或最小二乘法等同样获得了有限元方程,因而有限元法可应用于以任何微分方程所描述的各类物理场中,而不再要求这类物理场和泛函的极值问题有所联系。基本思想:由解给定的泊松方程化为求解泛函的极值问题。既然概念里面提到了拉普拉斯方程和泊松方程,这儿先解释一下这两个方程是干嘛的,我的理解是这两个方程是以势函数的方式描述了电场、引力场和流场,也就是说这两个方程是用函数的形势描述真实存在的物理场,或者说真实物理场的数学表达。拉普拉斯和泊松方程的定义如下:拉萱拉85方程表示液面曲率与液体压力之间的关系的公式。一个弯曲的表面称为曲面,通常用相应的两个曲率半径来描述曲面,即在曲面上某点作垂直于表面的直线,再通过
5、此线作一平面,此平面与曲面的截线为曲线,在该点与曲线相重合的圆半径称为该曲线的曲率半径卍o通过表面垂线并垂直于第一个平面再作第二个平面并与曲面相交,可得到第二条截线和它的曲率半径R2,用与R2可表示出液体表面的弯曲情况。若液面是弯曲的,液体内部的圧力X与液体外的圧力P?就会不同,在液面两边就会产生圧力差P=P1-P2,其数值与液面曲率艾小有关,可表示为:Vp=V(VR1+VR2)式中是液体表面张力。该公式成为拉普拉斯方程。拉普拉斯方程为:Audu/dx+du/d-O,其中也为拉普拉斯算子,此处的拉普拉斯方程为二阶融分方風三维情况下,拉普拉斯方程可由下面的形式描述,问题归结为求解对实自变量氛并二
6、阶可微的实函数申:其中称为拉普拉斷算子拉普拉斯方程的解称汽调和函数。如果等号右边是一个给定的函数r(x7y,z),即:则该方程称为泊松方程。拉普拉斯方程和泊松方程是最简单的椭圈型偏微分方稈偏徹分算子或A(可以在任意维空间中定义这样的算子)称为拉普拉斷算子,英文是Laplaceoperator简称作Laplacian.四、U有限元法结算物理问题的一般步骤U步骤1:剖分:将待解区域进行分割,离散成有限个元素的集合元素(单元)的形状原则上是任意的二维问题一般采用三角形单元或矩形单元,三维空间可采用四面体或多面体等每个单元的顶点称为节点(或结点)步骤2:单元分析:进行分片插值,即将分割单元中任意点的未
7、知函数用该分割单元中形状函数及离散网格点上的函数值展开,即建立一个线性插值函数步骤3:求解近似变分方程用有限个单元将连续体离散化,通过对有限个单元作分片插值求解各种力学、物理问题的一种数值方法。有限元法把连续体离散成有限个单元:杆系结构的单元是每一个杆件;连续体的单元是各种形状(如三角形、四边形、六面体等)的单元体。每个单元的场函数是只包含有限个待定节点参量的简单场函数,这些单元场函数的集合就能近似代表整个连续体的场函数。根据能量方程或加权残量方程可建立有限个待定参量的代数方程组,求解此离散方程组就得到有限元法的数值解。有限元法已被用于求解线性和非线性问题,并建立了各种有限元模型,如协调、不协
8、调、混合、杂交、拟协调元等。五、方法、算法和求解器提到有限元就会提到某某算法,现在很多人把方法和算法混淆在一起,根据个人理解这儿对方法、算法进行整理一下。六、方法我觉得方法是求解实际物理问题的办法,例如有限元方法,这儿除了有限元方法还有很多其他的方法,列举如下:显示/隐式有限元法:所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。并不是说显式只能求动力学问题,隐式只能求静力学问题,只是求解策略不通。显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。解题费用非常昂贵。因此在建模划分网格时要
9、非常注意。隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就的不到结果。两者求解问题所耗时间的长短理论上无法比较。实际应用中一般感觉来说显式耗时多些。由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。隐式用来求解和时间无关的静力学问题。但也不是绝对的。比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。另外,隐式也可以求解动力学问题。这儿的显示/隐式是用来说明求解领域的方法,是否包含时间域的问题。后面会提到显示/隐式计算方法。离散单元法
10、:离散单元法也被称为散体单元法,最早是1971年由Cundall提出的一种不连续数值方法模型,这种方法的优点是适用于模拟节理系统或离散颗粒组合体在准静态或动态条件下的变形过程。离散单元法不是建立在最小势能变分原理上,而是建立在最基本的牛顿第二运动定律上。它以每个刚体的运动方程为基础,建立描述整个破坏过程的显式方程组后,通过动力松弛迭代求解。接触判断法:离散元通过块体之间的相互接触判断得到相互之间的作用力,进而形成运动方程。因此,快速而准确的接触算法对离散元方法非常重要。由于离散元计算过程中块体往往会发生较大位移,使得原有的块体间的空间拓扑关系发生变化,使接触判断变得更加复杂。目前离散元对二维问
11、题的接触分析已经比较成熟,但对于三维问题则应用比较有限,其中的重要原因就是三维接触判断过于复杂,特别是允许出现大位移的三维接触,目前还是一个有待进一步研究的问题。刚体弹簧单元法:刚体弹簧单元法(RigidBodySpringMethod,RBSM)最早由Kawai于1976年提出,当初提出的意图是以较少的自由度来求解结构问题。它把体系分解为一些由均布在接触面上的弹簧系统联系起来的刚性元,刚性元本身不发生弹性变形,因此结构的变形能仅能储存在接触面的弹簧系统中。由于刚体弹簧元单元间的作用力通过单元界面上弹簧传递,可以直接得到界面的作用力,因此在极限分析等领域也有着较好的应用。无网格法:传统有限元需
12、要构造特定的单元网格来形成位置插值函数,是否可以让计算机根据节点信息来“自动”形成位移插值函数?无网格法可以实现。无网格法对函数的要求有:1、光滑连续;2、影响的节点有限。无网格法常用插值方法有:移动最小二乘、核函数与径向基函数。整体方程有配点法、最小二乘法、伽辽金法。伽辽金法是应用最广、最稳定的无网格法之一。相信读懂了上面各个方法的解释就应该理解这些是方法而不是算法了。那么接着说一下有限元里面用到的方法,有限元是一个很大的概念,对问题的离散化处理就有很多方法,针对不同环境应用不同的方法。拉格朗日方法:实质上是为了处理速度为常数的移动;欧拉方法:实质上处理不含时间的稳态问题;ALE方法不仅仅可
13、以处理上述两类问题,同时还可以处理大变形问题、流固耦合问题。七、算法算法是对运用上述方法列出的求解方程组进行求解的计算方法,是计算方法而不是描述物理问题的方法。下面首先给出一个显示/隐式的概念,因为很多人会把隐式算法、显示算法跟六种列出的方法放到一块,个人觉得不妥。前面对有限元显示/隐式方法有了描述,下面是对算法的一个阐述,方法针对的是求解领域问题,算法是求解方程组的问题。显式/隐式有限元法:无需对刚度矩阵求逆,只需对质量矩阵求逆,而质量矩阵往往可以简化为对角阵;没有增量步内迭代收敛问题,可以一直计算下去。隐式计算具有时间步长增量较大、每个荷载步都能控制收敛,避免误差累积、存在迭代不收敛的问题
14、、计算量随计算规模增大而成超线性增长的特点。相对与隐式计算显示计算具有时间步长很小、误差累积、不存在迭代不收敛的问题、计算量随计算规模基本为线性增长的特点。说完了显示/隐式的概念我们下面看看其他算法,相信有限元的概念有一个初步认识了,各软件商也就是用前面提到的各种发方法建立起代数方程组,下面说的就是求解代数方程组的计算方法了。前面说到了拉格朗日和欧拉两种处理问题的方法,这儿说的是两种求解算法,拉格朗日和欧拉算法。传统的有限元分析的数值计算方法中有直接计算法和迭代法。微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值,这个过程称为离散化。实现离散化的基本途径是用向前差商来近似代替导数,这就是欧拉算法实现的依据。八、求解器上面说完了算法,那么求解器就比较容易理解了,求解器就是将数值算法程序化,也就是将算法写成程序,例如nastran里面的sol101sol103sol400,ansys里面的波前求解器,稀疏矩阵求解器等,这些应该是求解器的范畴了。