有限元的弱形式.docx
《有限元的弱形式.docx》由会员分享,可在线阅读,更多相关《有限元的弱形式.docx(28页珍藏版)》请在冰豆网上搜索。
![有限元的弱形式.docx](https://file1.bdocx.com/fileroot1/2023-2/1/b912e96f-3e1e-4a60-a742-1791e4cba8f8/b912e96f-3e1e-4a60-a742-1791e4cba8f81.gif)
有限元的弱形式
PDE弱形式介绍
GJ:
看到一个介绍COMSOL解决物理问题弱形式的文档,感觉很牛啊,通过COMSOL
Multiphysics的弱形式用户界面来求解更多更复杂的问题,这绝对是物理研究的利器啊!
而且貌似COMSOL是唯一可以直接使用弱形式来求解问题的软件。
为什么要理解PDE方程的弱形式?
一般情况下,PDE方程都已经内置在COMSOLMultiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程和及其相关的弱形式。
有时候可能问题是没有办法用COMSOLMultiphysics内置模块来求解的,这个时候可以使用经典PDE模版。
但是,有时候可能经典
PDE模版也不包括要求解的问题,这个时候就只能使用弱形式了(虽然这种情况是极少数
的)。
另一个原因就是弱形式有时候描述问题比PDE方程紧凑的多。
还有,如果你是一个教
授去教有限元分析方法,可以帮助学生们直接利用弱形式来更深入的了解有限元。
最后,你
对有限元方法了解的越多,对于COMSOL中的一些求解器的高级设置就懂得更多。
一个重要的事实是:
在所有的应用模式和PDE模式求解的时候,COMSOLMultiphysics
都是先将方程式系统转为了弱形式,然后进行求解。
物理问题的三种描述方式
1.偏微分方程
2.能量最小化形式
3.弱形式
PDE问题常常具有最小能量问题的等效形式,这让人有一种直觉,那就是PDE方程都可以有相应的弱形式。
实际上这些PDE方程和能量最小值问题只是同一个物理方程的两种不同表达形式罢了,同样,弱形式(几乎)是同一个物理方程的第三个等效形式。
我们必须记
住,这三种形式只是求解同一个问题的三种不同形式――用数学方法求解真实世界的物理现象。
根据不同的需求,这三种方式又有各自不同的优点。
三种不同形式的求解
PDE形式在各种书籍中比较常见,而且一般都提供了PDE方程的解法。
能量法一般见于结构分析的文献中,采用弹性势能最小化形式求解问题是相当自然的一件事。
当我们的研究范围超出了标准有限元应用领域,比如传热和结构,这个时候弱形式是不可避免的。
化工中的传质问题和流体中的N-S方程都是没有办法用最小能量原理表述出来的。
弱形式的特点
PDE方程是带有偏微分算子的方程,而能量方程是以积分形式表达的。
积分形式的好处
就是特别适合于有限元方法,而且不用担心积分变量的不连续,这在偏微分方程中比较普遍。
弱形式也是积分形式,拥有和积分形式同样的优点,但是他对积分变量的连续性要求更低可以看作是能量最小化形式的更一般形式。
最重要的是,弱形式非常适合求解非线性的多物理场问题,这就是COMSOLMultiphysics的重点了。
PDE到泛函变分
GJ:
PDE方程一般很难求出解析解,通常需要根据变分原理(数学定律)或最小能量原理(物理定律)转化为泛函变分问题,即得到积分形式,从而便于使用有限元法划分区域离散化,得到刚度矩阵,而最终求解得到PDE的近似数值解。
这基本上就是一般的工程中的有限元分析,如平面弹性力学问题、温度场分析及动力学问题等。
平面弹性力学问题是通过最小势能原理或虚功原理(两者是同一问题的不同表述形式)建立积分泛函的,温度场可以通过能量法建立泛函,也可以通过变分原理裸建泛函。
下面说一说常见的PDE问题根据最小能量原理建立泛函变分。
弹性静力学PDE及其弹性能量方程
在静力结构分析问题中,我们需要求解的是Navier方程
F
其中b是应力张量,F是体力,比如重力等。
计算区域记为,其边界记为。
应力张量和应变张量之间的关系称为本构关系,线弹性本构一般遵循胡克HOOK
定律
c
其中c是弹性张量,这个关系式说明材料的行为实际上和弹簧差不多(前提是线弹性)。
最后,我们可以将应变矢量和位移的关系表述出来
u
这里U指的是位移矢量u=(u,v,w),其定义就是变形体上的材料点和未变形时候的位移差。
总结以上所有的方程,我们得到了一个二阶PDE方程(Navier方程),
(cu)F
需要一个边界条件来求解,
n(cu)P
其中n是表面的法矢,P是边界上的面力或牵引力。
可以顺便提一下,这个PDE方程的弱形式为,
j7urcVvi/Q-j-j讥於二0
QQ
其中v=(Vx,Vy,Vz)称为试函数。
注意,尽管Navier方程是一个矢量表达式,但是上面的表达式是一个标量形式。
弹性势能
在结构分析中,PDE方程及其弱形式的表达式都不太常见,相反,能量最小化形式因为其直观的表达形式用的较多。
这类问题的能量积分形式对应于总势能的最小化,即对象中存储的弹性能。
总弹性能是一个标量,可以写成:
在这些表达式中,
积分的意义是每个体积微元的内能总和,张量单位是Pa,微元体上的应变d&没有单位,
是Nm。
如果问题是线弹性的,则可以显式的写为:
(cs8)•
联立上面的式子得到:
Q
1-T
■VurfQ=|Vu'cVurfQ
我们用c代替c来配合COMSOLMultiphysics手册中的标记方式。
弹性能积分形式下的单位说明:
[]无单位
N
[c]2Pascal
m
[d]m3
最终给出总的积分单位是Nm―-
能量。
u(或实际上是u的梯度)的泛
比单元微积分和多元微积分更
We的表达式就是我们通常说的能量泛函,即位移矢量函。
这种函数的函数,而不是坐标的函数,通常被称为泛函,加抽象。
与积分类似,我们可以说We就是函数U的泛函:
WE{u)=JVu*cVurfQ
"q
我们要说明一下函数和泛函的一些区别,古典分析中的函数概念是指两个数集之间所
建立的一种对应关系,现代数学的发展却是要求建立两个任意集合之间的某种对应关系。
函数概念被赋予了更为一般的意义,通俗解释泛函指的就是“函数的函数”。
在这里定义域
为,泛函可以在整个定义域内进行微分积分等操作。
泛函的变量是函数,这个函数也是有容许空间的。
如果函数u可以变化,可能会产生一些不符合物理规则的一些现象,例如结构的刚性位移等。
比如一个对u的基本约束就是材料不能穿越本身。
在有限元分析中,泛函一般是某种能量积分,比如弹性能。
对于其他的物理场,可能是
其他的能量积分,或者是一种等效于能量的标量也可以。
至于积分区域,一般由分析对象的
CAD几何区域所确定。
静态电流传导和能量的生成
在静态导电问题中,PDE方程由最基本的保守形式开始:
J0
其中J是电流密度。
材料(或本构)模型采用欧姆Ohm定律:
BrE
其中E是电场,r是电导率。
另外,已知:
EV
其中V是静电势,综合以上式子得到
(rV)0
ConductiveMediaDC方程。
在COMSOLMultiphysics中,这就是所谓的
电阻产生的热能
稳态电流的能量问题是在电导体中的电阻热
电导张量一般是一个对角矩阵,如果是晶体,情况就复杂多了。
尽量减少电阻产生的热量,也就是减少热损耗,是我们要研究的一个最小值问题。
如果问题是线性,则积分可以显式地写成:
口E□
因为EV,其中V是电势,可以得到:
吹旳=屮冷工XdO
■'*
Q
将这个式子与结构力学中的式子进行对比,发现他们非常相似。
V的梯度对应于位移梯度,
电导率张量对应于弹性张量c。
传热PDE方程和能量形式
对于稳态传热问题,PDE形式为:
一P—0
其中T是温度,k是热传导系数,Q是空间分布的热源。
热能
基于传热方程的典型泛函为:
咋丁)=U(yT}k(vr)Tdv
Q
其中T是温度,k是热传导系数张量(3X3)。
泛函求极值
GJ:
泛函求极值,即泛函变分,之前写过博客说过它的具体思想,下面的介绍可以说是
从另一个角度解释。
通过推导会发现,通过能量最小化原理会重新回到了PDE形式上,从
而说明能量最小化形式和PDE是同一问题的不同表述。
函数求极值
考虑一个多元微积分函数f,我们要求最小值:
寻找x使得f(x)最小化
这里x是一个矢量,或者点的坐标。
通过微积分我们知道,这个时候首先必须求函数f的梯度。
将梯度的设置为0,我们可得到一个非线性方程组。
求解方程,我们可以得到一系列的
坐标点x,如果在其中某点处的二阶倒数(一般称为Hessian矩阵)为正(或者说有正的特征值),就说这点就是我们要求的极小点,就好像该点是整个函数的一个谷底一样。
利用Taylor展开的观点,假设已知一个最小值X,我们可以在上面施加一个小的扰动,
由Taylor展开可得:
这里H就是前面所说的Hessian矩阵。
现在我们用其他的方法来说明函数f在x最小。
首先,
假设x是一个极值点,当添加了一个x后,f对于其一阶值不改变。
换句话说,如果我们在
x上添加一个x来扰动f,其一阶Taylor级数应该为0。
这个条件应该对每个方向都是成立的,否则该点就不是极值点了。
如果上式第二项为0:
V/^x)6x=0
对于任意小的x都成立,也就是:
VA算)=o
我们这里只是用一个稍微有点不同的方法得到了一个同样的结果。
但是,这只是给了我们一个极值点的信息,如果要确定其是最小极值点,必须保证第三
项(二阶项)对于任意x都为正:
§5?
H(x)5(x)>0
只有当H的特征值都为正时,上式成立(参考线性代数)。
有可能会遇到二阶项也总为0,
这个时候我们必须借助更高阶项来判断极值点。
下面是函数f的一个特例:
二次多项式:
1TT
fix)=-xJx-bx+g
JU
其中A是对称矩阵。
如果我们应用Taylor展开,可得到:
1TT
/(X+8x>=-(x+5x)-b(x+5x)
或者
riTynrtrlr-|
/jx-6x)=-x-bx+g亠[scb6x]亠-8x
这里零阶,一阶和二级项都在独立的中括号内。
为了得到一阶变分,矩阵A必须是对称的。
极值的条件成了:
(£/—=0
对于任意小x都必须成立,则上式成为:
Ax-b=0
这里我们对矩阵进行了转置,而且利用了矩阵A的对称性,即ATA。
极小值的条件也就是矩阵A必须是一个正定矩阵,如果矩阵A是负定矩阵(只有负特
征值),则得到极大值。
如果A是不确定的(特征值有正有负),则极值可能是一个鞍点,既不是极大值,也不是极小值。
如果矩阵A是对称的,而且正定,则函数f是超椭圆的。
在
2D中,超椭圆就是椭圆。
二次多项式的几何特征影响经典的PDE方程和有限问题的分类。
当利用有限元方法去离散一个椭圆的PDE问题时候,得到一个对称矩阵(刚度矩阵)的线
性代数系统。
这样的问题一般等效于最小能量问题。
弹性静力学问题泛函求极值
还是以线性静态问题为例,因为这是所有有限元理论都会提到的,从而更容易进行比较。
理论概述
让我们回到线弹性问题的弹性能泛函表达式:
FF£(u)=(Vul^cVurfQ
Q
这里的位移矢量
u和前面讲的微积分中的点矢量x的角色类似。
要寻找能量泛函We的最小值,我们首先必须得在u上施加一个扰动U:
上式中两个中间项实质上是一样的(因为c的对称性),所以我们可以写成:
W{11811j|(Vu)2cVu£/Q++
IF7
QQ
1rt
-{V3n)
将上式和多元函数表达式对比,我们发现寻找极值点就是找一个使二次项为零的u:
|(Vu=0
其中u是任意的。
如果我们要寻找的是极小点,则还必须有:
|(>0
第二项就是泛函的一阶微分:
5^(11)=j(Vu)7cV5urfQ
Q
第三项成为泛函的二级微分:
)=(Von}'cVSurfQ
Ml
h
n
和前面一样,为了寻找极小点,我们必须保证对于任意u第一阶微分为零,二阶微分为正。
这种寻找最小势能函数的方法也可以称作虚功原理。
(这就明白理论力学里所谓虚位
移的意义了,就是一个任意的扰动)
另外还有一种方法就是初始的时候将扰动写成u,这时对于任意可取的u,其能量
函数写成W(uu)。
回到微积分的基本概念,去寻找W对于的极值点:
1*7"『T
U+aouI=-|(VuI—altVh)cVourfQ—
Nn
ga,J(V6u
Q
如果我们将它看成是对于的Taylor展开,就可以找出其一阶导数(对于极值点必须
为零),由于u是任意可取的,我们可以得到和前面相同的结果。
小结
上面的过程省略很多推导步骤,如果大家对推导有兴趣,可以试着自己推导。
要说明一
下的是:
1、变量u(而不是它的梯度)必须是很小而且是任意的。
2、这里没有考虑边界条件和体力,比如重力等等。
我们前面所讨论的问题局限于一个没有任何约束和载荷的边界条件的区域上。
3、一般来说u的限制比多元微积分中X宽松。
在泛函中,只要u是在容许的范围内即可,也就是uu必须和物理位移场相对应。
理解这个意思对理解有限元弱形式非常重要。
考虑边界条件和体力
如前面所讲,弹性能的泛函形式是不完整的,因为它没有加上相应的边界条件和载荷。
弹性能的单位是Nm,也就是力乘上位移。
在边界上,我们一般施加面力,或者指定位移,单位为m。
一般来说,我们希望附加形式是“面力乘上长度”。
同样的方式可以对体力进行处理F。
在数学上,结构场的边界条件分为两类。
第一类直接定义边界上的力:
定义一个固定的或者Dirichlet边界条件。
如果h是矩阵的形式,r就是定义了边界上的指定位移。
固定边界条件不能直接加入泛函中去,但是可以通过反力间接加上去。
当指定位移边
界时,可以描述一个反力卩(N/mm2),也就是弹性体可以在固定处保持不变。
反力就是
我们这里用到的Lagrange乘子,通过添加反力到力作用处的边界,可以忽略到固定边界类型。
这时候我们可以形成统一的边界条件:
这里R是原始的固定边界,卩是需要计算的反力。
在前面的简化形式中,h和r都是常数,
所以上式可以变化为:
n-(
Vu)+哎吐=舟了卜
记住,方程中的每一项都是矢量,表示各个方向的面力。
为了得到所做的功(能量)必须点乘上位移u。
通过合并一些系数项,将外力写成P,可简化表达式,这时边界条件可以写成:
n(cu)P
对于其他物理场,可能P代表边界上的源项。
注意到上式和Navier方程非常接近:
-V-(cVu)=F
Vi/cVu^Q-\ruciQ-
JpTws
将能量泛函展开:
关键推导
这个时候,我们又要在U上添加上u,可得:
fF^(u+6u)=JV(n+8u)rcV(u+SuWO-jF^(u+3u)^Q
nn
-f+5u)e/S
零阶项就是泛函本身,第一阶项是:
S^u)=JVuTcV(6u)i/Q-JFT5udCl-fPTdudS
Q□旳
这个方程是非常重要的一项。
从前面的讨论可知,我们应该重新组合多项式,保证带有u的被积函数成为一项。
如
果可以做到,因为u是任意的(事实上必须是在容许范围内),我们知道这一项必须为零。
这是我们能找到极值点的唯一方法。
右边第一项需要进一步处理得到我们需要的形式。
第一项我们可以根据Green公式(有时候可能采用的是Stokes原理)进行分部积分:
Vu^cV(Su—
利用c的对称性,我们可以得到:
f(c•{cVu))^Su£/S'-
利用Green公式得到:
5u)=J(n(cVu))rSu^S-j(VjF^SunQ-jPTdu^S
jVu"cV|Sq=
5Dqqan
将体积项和边界项合并起来:
Sff£(u)=J(-V{cVu)-F-J(u(nm
确定极值点,必须有:
V■(cVu)—F)^fiudn-|(u(rVn)-F)6urf5=0
Hs.V*■
上式应该对于任何u都成立。
因此体积项必须有:
V■(cVu)=F
边界项上有:
口-(现在我们又回到PDE问题上了,这说明泛函的理论解就是PDE方程的解,即通过能量最小化原理又重新推回到了PDE形式上!
这也是说明最小能量化和PDE形式本质上是统一的一个数学证明。
GJ:
要注意的是,实际有限元的求解不是从泛函又导回PDE方程,而是通过网格划分
离散化,得到数值近似解。
而通过建立的泛函求解数值近似解应该算是比较完备的方法,这
里说完备,是和弱形式对比来的,两者的区别后面会说。
弱形式
GJ:
上面是利用能量最小化形式或者变分原理建立的泛函,即PDE的等效积分形式,
下面说的是弱形式建立。
那么,到底什么是弱形式呢?
Navier方程的弱形式实际上已经在前面的推导过程中出现
过了,即一阶变分的原形式:
-[F%曲
q□en
如果我们回到COMSOLMultiphysics的文档(或者是关于有限元和弱形式的书籍中),会
发现所谓的试函数相当于扰动u,
v=u
弹性静力学PDE方程的弱形式
为了更好的理解弱形式,我们必须丢弃前面讨论的能量最小化原理,转向一种更加抽象
的方法。
弱形式之所以比能量最小化原理更强大,是因为它还可以应用到一些没有得到较好
的能量定义的问题中。
首先我们考虑弹性静力学的PDE方程
V(rVu)=F
边界条件是:
抽象的过程如下:
乘上容许范围内的试函数v,在感兴趣的域内积分可得:
J(V(rViOJvrfF二jF.d卩
(n-(cVu))JvdS—
nn
应用PDE方程的边界条件,可以得到:
[J(cVu)7
沁n
整理可得:
JvnVVv^n-|F7Yrfn-JF^vds=o
nn5fi
这就是PDE方程的弱形式。
如果在积分区域内对于试函数v都是有效的,则上式和PDE方程是等效的。
PDE方程的解称为强解,而弱形式的解称为弱解。
二者唯一的区别是弱形式对于积分参数的连续性要求比PDE形式低。
由于变形梯度和弹性张量在弱形式里面都不需要微分,所以对函数连续性要求没有那么严格,而在PDE形式中,所有的变量都处在散度
的算子下,这要求这些变量必须是可微的。
在弱形式中对于可微的要求放松了(一阶)。
同时,注意到弱形式和前面的一阶变分形式保持了一致,弱形式也可以作为虚功原理的
一种推广。
只是虚功原理中的位移3u换成了更加抽象的试函数V。
如果弱形式解和能量最
小化原理不一致的时候,极值点变成了鞍点。
也就是,在弱形式中,仍可以将试函数理解为一种推广了的虚位移。
般性问题的弱形式
正如前面所提到的,弱形式只是PDE方程的一种推广形式,它对变量的连续性要求比
较低。
那么能量方法呢?
如果有一个定义好了的能量来最小化,那么能量法和弱形式是一致
的。
但是,在下列情形下,弱形式更具有适用性:
假如PDE方程没有相对应的能量可以进
行最小化。
在这种情况下,弱形式仍然是适用的。
由于弱形式对解的要求较低,所以说弱形
式比PDE和能量最小化适用范围更广泛。
GJ:
弱形式和最小能量形式的区别就在于虚位移3u与试函数v的差别,如下面两式
SJFpfu)=JVurcV(6u)^-JjPTdudS
JEfW如-jPTv^S二0
nngo
也就是说,泛函求极值即为泛函的变分为0,如上面的式子1,所以泛函的有限元解对任意
扰动3u成立,而从式子2可以看到,弱形式的解只是对自己设定的试函数v成立。
所以泛
函求极值得到近似函数是弱形式的特殊形式,即弱形式的试函数v可以任意取而求得的近似
函数,所以从这种意义上说泛函形式求得的近似解更完备。
但很多情况下无法得到PDE问题的泛函形式(变分原理里提到,只有满足一定条件的
算子才有对应的泛函),而此时PDE的弱形式是始终存在的,所以弱形式比泛函更广泛。
另外还会发现两者的一个区别是泛函的网格离散化不是转化为泛函变分后求解的,而是
直接在泛函中带入带未知参数的近似函数,从而转化为函数的极值,进而得到未知参数的方
程,求得未知参数,而弱形式的离散化则是在弱形式下直接离散化。
前面提到泛函形式的解
相当于对弱形式的任意试函数成立的解,这个任意性隐藏在了泛函变分里。
下面给出一个没有对应能量最小化的PDE的例子。
对流—扩散PDE问题
对流—扩散PDE问题没有与之相对应的可最小化的能量:
—V•(cVw)+P-Vw+au—f
这里c是扩散系数,是对流系数,a是反应/吸收系数,f是源项。
变量u是标量函数,
代表浓度(在COMSOLMultiphysics手册中的Convection-Diffusion模块中,浓度是用变量c
表示,扩散系数用D表示)。
在这里我们考虑Neumann边界:
所有困难将集中在刚度K的提取上,主要是对u和Lagrange乘子的线性表达式的集成。
为了得到弱形式,将PDE方程乘以一个试函数v,积分:
J(—V■(cVz/)+0■—au)vdV=jfvdF
这里的试函数v是一个标量函数。
\nJ(p
^auxdV-=
将第一项分部积分,并将所有的项都移到左边,可得到:
加上边界条件,得到:
cVh)VvrfK-|PvdS+j(P-日F叶Jfliivrff7-
oanoo
这就是对流—扩散PDE方程的弱形式。
这个弱形式不能像前面一阶变分那样进行重排。
因为他的对流项,
Va)vdV
使得整个系数无法重排。
具体说来,解函数u和试函数v必须在弱形式中的形式保持一致才
能和能量泛函的形式保持一致。
但是,在对流项中,u前面带有梯度乘子,而试函数前面却
没有任何微分算子的。
没有什么分部积分可以改变这种形式了。
当然,我们也可以看到,实
际上弱形式的解和PDE形式的解是保持一致的。
对流项非对称的行为通过数值离散扩展到有限元刚度矩阵上:
和能量最小化保持一致的
弱形式可以推导出一个对称的刚度矩阵,但是对流一扩散方程推导出来的却是一个非对称的
矩阵。
在COMSOLMultiphysics中应用弱形式用户界面的时候,可以输入任意的表达式,包括
未知函数u和试函数v的零阶和一阶导数。
你所键入的是弱形式积分中的微分项。
COMSOLMultiphysics的弱形式用法
本章介绍如何在COMSOLMultiphysics中输入弱形式表达式。
对流—扩散PDE问题
J(cVw).VvdV-
auvdV—
=0
假设我们要在COMSOLMultiphysics的用户界面下输入表达式:
n-[cVujvdS—"问F+J
no
约定:
COMSOLMultiphysics将所有的项要放在等号右边。
可得到:
0=—|[(T