三角网格是一种多边形网格。它由一组三角形(通常在三维空间中)组成,这些三角形通过它们的公共边或顶点连接。让我们逐步分解这个问题。
-
绘制向量场 $p(x, y)$
首先,我们需要在单位正方形 Ω 上绘制向量场 $p(x, y)=\left(x^2+2 x y, x+y^2\right)$。这意味着我们将在 $\Omega$ 内的各个点 ($x, y$) 处绘制箭头,箭头的方向和大小分别表示向量 $p(x, y)$。
- 向量分量:
- $p_1(x, y)=x^2+2 x y$
- $p_2(x, y)=x+y^2$
- 绘制点:我们可以在 $\Omega$ 内的点网格上评估 $p(x, y)$,然后绘制相应的向量。
-
有限元插值
我们将考虑四种类型的有限元插值:
- $I_h^1 p$(线性拉格朗日插值):
- 此插值在每个三角形上使用线性基函数。
- 它在三角形的顶点处匹配向量场。
- 在每个三角形 K 上,向量场线性插值为:
- $I_h^1 p(x, y)=\sum_{i=1}^3 p\left(v_i\right) \lambda_i(x, y)$,其中 $\lambda_i$ 是重心坐标。
- $I_h^2 p$(二次拉格朗日插值):
- 此插值在每个三角形上使用二次基函数。
- 在二维网格中,这将需要边中点节点和中心节点。由于此问题未指定这些额外节点,因此将假定此问题涉及线性插值。因此,我将把 $I_h^2 p$ 视为等于 $I_h^1 p$。
- $I_h^{R T} p$(Raviart-Thomas 插值):
- 此插值专为向量场设计,并确保法向分量在单元边界上的连续性。
- 它通常用于涉及流体流动的问题。
- 三角形 K 上的 RT₀ 空间定义为:
- $R T_0(K)=\{(a+c x, b+c y): a, b, c \in R \}$
- 自由度是沿边的法向分量。
- $I_h^N p$(Nedelec 插值):
- 此插值也专为向量场设计,并确保切向分量在单元边界上的连续性。
- 它用于涉及电磁场的问题。
- 三角形 $K$ 上的 $N_₀$ 空间定义为:
- $N_0(K)=\{(a-c y, b+c x): a, b, c \in R \}$
- 自由度是沿边的切向分量。
-
不连续性和重合
- 不连续性:
- $I_h^1 p$(和 $I_h^2 p$)在单元边界上是连续的,因为它是拉格朗日插值。
- $I_h^{R T} p$ 确保法向分量的连续性,但切向分量可能是不连续的。
- $I_h^N p$ 确保切向分量的连续性,但法向分量可能是不连续的。
- 重合:
- 除非 $p(x, y)$ 本身是每个三角形上的线性函数,否则任何插值都不会与 $p(x, y)$ 完全重合。在这种情况下,$p(x, y)$ 是二次函数,因此,任何线性插值都不会与 $p(x, y)$ 匹配。
🧠Python 代码和绘图
https://gist.github.com/viadean/59dd199392a8d42f3cc43ecfdea1bcc9
