有限元方法 本章说明弱形式如何利用有限元方法来进行离散。假设我们需要离散以下扩散问题: 这是一个对流-扩散问题的特殊情况,其中,。 有限元的基本实现是将整个计算域Ω离散为多个特别简单的形状的小单元,比如2D中的三角形,3D中的四面体等等。相应的网格,例如三角形,由边和节点组成。下一步就是要选择一个比较容易实现的一些近似方法,其中一种比较简单的方法就是将解表示为采用线性多项式插值的所谓基函数的和。基函数的构造方法是指定某个节点为1,而相邻的节点为0,二者之间的值就是从0到1线性变化。这里说的相邻指的是中间有一条边将其连接起来。 遍历三角形网格的所有节点(从1到N)。定义节点i的基函数为,也就是在节点i处其值为1,其他点处值为0。注意只是在节点i及其相邻的三角形内不为零。现在假设真实值u可以用基函数的求和来近似描述: 参数是在节点i的值。同样,我们可以对试函数进行类似处理: 下标h表示离散函数属于由所有三角形边中最长边表示的具有确定的网格尺寸h的网格。 由于我们可以任意选择试函数,因此可以将除了j点以外的所有的设置为零, 接下来我们将所有的试函数(j=1,...,N)输入到弱形式中去,每个试函数都可以得到一个方程。这样可以生成一个线性代数系统,系统矩阵就是我们所说的刚度矩阵。为什么我们可以自由选择试函数,不妨回想一下前面提到的弱形式需要对所有可取的试函数成立。选择试函数是有限元方法的重要环节,因为他在很大程度上影响着刚度矩阵。由于刚度矩阵中很多项为零,所以一般是稀疏矩阵。 当我们使用试函数的时候,生成的有限元刚度矩阵应该是一个方阵。如果弱形式本身定义良好的话,刚度矩阵应该是非奇异的,也就是说系统有一个唯一解。 将表达式写成离散形式: 方程重新排列: 采用矩阵标注可得: 或者: 在这里刚度矩阵K是: 解矢量U的单元为,载荷矢量L的单元为, 现在我们明白为什么选择基函数和试函数很关键了。如果我们关注刚度矩阵,会发现其中很多元素为零,因为前面已经提到每个都是大部分为零,同样的梯度也是大部分为零的。有很多有效的算法去求解这类稀疏矩阵,COMSOL Multiphysics提供一套稀疏线性系统求解器。 有限元方法同样适用于非线性问题。非线性方法一般来说采用迭代的算法,每一次迭代就是求解一个与上面类似的线性弱形式方法。 |
分享到
豆瓣网
开心网
人人网
QQ书签
Google
3420个朋友已经阅读过这篇文章
用户评论
没有找到数据. , |