有限元边界 Dirichlet 条件处理

参考自百度文档,这里只考虑 Dirichlet 边界条件情况。

有限元法基本方法就是是构造线性方程组

\[\begin{equation} Au = f \end{equation}\]

进行求解。其中系数矩阵 \(A\) 表示未知数 \(u\) 各个单位分量对各个方程影响,右端项 \(f\) 则为已知。

将 Dirichlet 边界条件耦合入线性方程组,基本思路就是将 \(u_i = u_D\) 代替相应方程。这种情况下,有两种方法可以采用:

  1. 置大数法
  2. 划0置1法

其中划0置1是精确方法,而置大数法则是近似方法。但是就计算而言,置大数法计算较为简便,仅介绍此种方法。

置大数法

假设位置数第 i 个分量为已知 \(u_D\),按照如下方法修改对应的系数矩阵\(A\)与右端项\(f\)

  1. \(u_i\) 对应系数换为一个极大值M,如 1e8
  2. 将对应右端项分量替换为 \(u_D \times M\)
  3. 其余系数保留不变

此方法处理只需修改两个系数即可,简单方便,计算结果为近似值,但是仍推荐采用。

posted @ 2016-04-04 15:52  li12242  阅读(2002)  评论(0编辑  收藏  举报