二维问题的矩形元

一、问题与变分形式

二维 Poisson 方程( Dirichlet 边界):

变分形式(虚功原理):

找 $u \in H_0^1(\Omega)$(满足边界条件的 Sobolev 空间 ),使

对任意 $v \in H_0^1(\Omega)$ 成立($\Delta$ 是 Laplace 算子,$\nabla$ 是梯度 )

二、Galerkin 离散(有限元方法)

有限元空间 $U_h$

取 $U_h$ 为分片双线性函数空间(Lagrange 型,在矩形剖分单元上线性 ),满足 $u_h|_{\partial\Omega} = g_h$($g_h$ 是 $g$ 的边界插值 )

离散方程

找 $u_h \in U_h$ 使

对任意 $v_h \in U_h$($v_h|_{\partial\Omega} = 0$ )成立,代入基函数展开得线性方程组

三、矩形剖分与基函数

区域剖分

将 $\Omega$ 剖分为矩形单元 $R_{ij} = [x_i, x_{i+1}] \times [y_j, y_{j+1}]$ ,步长 $\Delta x = x_{i+1}-x_i$,$\Delta y = y_{j+1}-y_j$ 。

双线性基函数

单元上基函数为 $1, x, y, xy$ 的线性组合(双线性插值 ),通过节点值 $u_{ij}, u_{i+1,j}, u_{i,j+1}, u_{i+1,j+1}$ 构造,满足分片双线性与 Kronecker delta 性质(节点处取 1,其余为 0 )

标准化与坐标变换

对矩形单元 $R_{ij} = [x_i, x_{i+\Delta x}] \times [y_j, y_{j+\Delta y}]$,通过仿射变换标准化到参考单元 $[0,1] \times [0,1]$:

双线性插值函数构造

设单元顶点值为 $u_{00}, u_{10}, u_{01}, u_{11}$(对应 $(\xi,\eta)=(0,0),(1,0),(0,1),(1,1)$ ),双线性插值函数 $p(\xi,\eta)$ 满足:

通过顶点插值条件

解得 Lagrange 插值多项式

二维 Lagrange 基函数

表示为Lagrange 基函数的乘积形式

基函数为:

四、单元插值函数($ (x,y) \in R_{ij} $ )

给矩形单元排序(从左下至上依次记为 $R_{11},R_{12},\cdots,R_{MN}$)

五、整体双线性基函数

六、自由度与空间维数

若把 $u_h$ 在所有节点的函数值都当作自变量,节点数 $ (M+1) \times (N+1) $,故:

七、网格剖分与数据结构

一、网格剖分与标号规则

节点标号

矩形区域剖分为 $M \times N$ 单元,节点总数 $K = (M+1)(N+1)$,按顺序标号 $1, 2, \dots, K$ 。

单元标号
单元总数 $M \cdot N$,按顺序标号 $1, 2, \dots, M \cdot N$ ,每个单元对应 4 个顶点(左下→右下→右上→左上 )。

二、数据结构定义

节点数组(node)

存储节点坐标,维度 $K \times 2$ ,每行对应一个节点的 $(x,y)$ 坐标:

单元数组(elem)
存储单元顶点的节点标号,维度 $M \cdot N \times 4$ ,每行对应一个单元的 4 个顶点标号(按左下→右下→右上→左上顺序 ):

八、单元刚度矩阵积分

九、插值函数与导数(局部坐标 $ \xi, \eta $ )

单元内 $ u_h(x,y) $ 展开:

$ x $ 方向导数($ \displaystyle \frac{\partial \xi}{\partial x} = \frac{1}{\Delta x} $ ):

$v_h$ 同理

十、单元刚度矩阵计算($ x $ 方向示例)

$K_ey$ 同理

十一、整体单元刚度矩阵

$ K_{e}y $ 为 $ y $ 方向单元刚度矩阵,对称推导

十二、总刚度矩阵 $K$ 的组装

初始化

总刚度矩阵 $K$ 维度为 $(M+1)(N+1) \times (M+1)(N+1)$,初始化为零矩阵:

单元循环组装

遍历每个单元(标号 $k=1$ 到 $ne = M \cdot N$ ),计算单元刚度矩阵并叠加到总矩阵对应位置(通过节点标号索引 )

伪代码示意 :

十三、载荷向量的积分计算

对载荷项 $\displaystyle \int_{\Omega} f v_h \, dxdy$,在矩形单元 $R_{ij}$ 上通过双线性基函数展开,利用变量替换(标准化到参考单元 $[0,1] \times [0,1]$ ),将积分转化为:

$\Delta x, \Delta y$ 是单元步长,$v_j$ 是节点载荷系数

十四、最终变分形式

离散后的变分方程表示为:

其中,$A = K$ 是总刚度矩阵,$\mathbf{U}$ 是节点值向量,$\mathbf{V}$ 是检验函数向量,$\mathbf{F}$ 是载荷向量,体现有限元离散的线性方程组形式($K \mathbf{U} = \mathbf{F}$ )

十五、边界条件处理

节点分类

边界节点 $ \text{bdnode} $(已知 $ U(\text{bdnode}) $ )、自由节点 $ \text{freenode} $(待求 $ U(\text{freenode}) $ )

变分约束

检验函数 $ V(\text{bdnode}) = 0 $,自由节点 $ V(\text{freenode}) $ 任意,由此从整体系统 $ A U = F $ 中提取自由节点子系统:

子系统分解
展开为自由节点与边界节点的矩阵块形式:

求解自由节点
移项得自由节点的代数方程:

最终解为

核心是有限元中Dirichlet 边界条件的离散处理方法,通过节点分类和矩阵分块,将已知边界值代入整体系统,求解自由节点未知量

三角元法

一、问题与变分形式

二维 Poisson 方程( Dirichlet 边界):

变分形式(虚功原理):

找 $u \in H_0^1(\Omega)$(满足边界条件的 Sobolev 空间 ),使

对任意 $v \in H_0^1(\Omega)$ 成立($\Delta$ 是 Laplace 算子,$\nabla$ 是梯度 )

二、三角元法的核心优势

三角形剖分可逼近任意复杂曲线边界(通过多边形域近似 $\Omega$ ),适配工程中不规则区域(如飞机翼型、地质构造 )的数值求解

三、三角剖分规则

将多边形域 $\Omega$ 剖分为有限个三角形单元 $\Delta_j$,需满足:

  1. 单元不重叠($\Delta_i^o \cap \Delta_j^o = \emptyset, i \neq j$ ,$^o$ 表示内部 )
  1. 无悬挂节点(三角形顶点不落在另一三角形的边上 )

进一步定义正则剖分(最小角有下界 )和拟一致剖分(单元尺寸均匀 ),保证有限元解的收敛性

四、Lagrange 型三角元空间

有限元空间 $U_h$ 定义为:

其中,$P^m(\Delta_j)$ 是三角形单元上的 $m$ 次 Lagrange 多项式,形式为:

$m$ 次多项式的系数个数为 $\frac{1}{2}(m+1)(m+2)$,需取对应数量的插值节点保证唯一性

五、单元与插值函数推导

对二维 Poisson 方程的三角剖分单元 $\Delta_{(123)}$(节点按逆时针排序为 $(x_1,y_1),(x_2,y_2),(x_3,y_3)$ ),构造线性插值函数 $p(x,y) = ax + by + c$ ,满足顶点插值条件 $p(x_i,y_i) = u_i$($i=1,2,3$ )

通过顶点条件建立线性方程组:

写成矩阵形式 $A \begin{bmatrix} a \ b \ c \end{bmatrix} = \begin{bmatrix} u_1 \ u_2 \ u_3 \end{bmatrix}$ ,其中 $A = \begin{bmatrix} x_1 & y_1 & 1 \ x_2 & y_2 & 1 \ x_3 & y_3 & 1 \end{bmatrix}$

解得系数:

因此,插值函数可表示为:

六、面积坐标(Lagrange 基函数)

定义面积坐标 $L_1,L_2,L_3$

则插值函数简化为:

其中,$L_i(x,y)$ 是线性 Lagrange 基函数,满足 $L_i(x_j,y_j) = \delta_{ij}$(Kronecker delta ),且 $L_1 + L_2 + L_3 = 1$

七、几何意义(Cramer 法则)

通过 Cramer 法则计算 $L_i$,发现分母 $ \det(A^T) = \det(A) $ 与三角形面积相关:

其中

记 $(x_1,y_1)\rightarrow(x_2,y_2)$ 的向量为 $\vec{a}$,$(x_1,y_1)\rightarrow(x_3,y_3)$ 的向量为 $\vec{b}$,则

八、面积坐标与直角坐标的关系

九、单元插值函数

三角形单元上的线性插值函数表示为:

$u_i$ 是顶点 $i$ 的函数值,$L_i$ 是面积坐标基函数

十、全域基函数与自由度

通过 “单元拼接” 构造全域基函数 $\varphi_j(x,y)$(在节点 $P_j$ 处取 1,其他单元为 0 ),有限元空间 $U_h$ 的维度为节点总数 $nd$(自由度 )

十一、单元刚度矩阵

单元刚度矩阵 $K_e$ 由变分形式的积分推导:

十二、面积坐标的梯度

对面积坐标 $L_i(x,y)$,通过对坐标变换矩阵求导,得梯度分量:

$(i,j,k)$ 是三角形顶点的循环标号,$S$ 是三角形面积

性质:$\nabla L_i$ 是常向量(与位置无关 )

十三、刚度矩阵的积分

单元刚度矩阵的积分项(梯度内积)可简化为:

利用 $\nabla L_i$ 是常向量,积分转化为向量点乘与面积乘积

十四、单元载荷的积分

载荷项 $\int_{\Delta_j} f u_h \, dxdy$ 分解为基函数的线性组合,积分后表示为: