有限元空间构造

前言

对于有限元问题来说,一个基本但重要的问题就是如何找到合适的有限元空间。如果选取的这个空间太小,那么空间中的近似解函数很有可能和真实的弱解误差太大;然而我们又需要其具有有限维的性质。回想之前构造的一个简单的一维\(H_0^1([0,1])\)上有限元空间的例子:

\[ V_h=\{v|v\in C^0,~v|_{[x_{j-1},x_j]}\in P^1([x_{j-1},x_j]),~v(0)=v(1)=0\} \]

这就是使用了连续的分片线性函数来逼近任意函数。这个思想可以推广到任意维的空间中,首先将目标区域\(\Omega\)进行分片,在小片上使用多项式逼近,在小片之间保持诸如连续这样的性质。(例如\(H^1\)中的函数必然满足连续性,所以连续性条件加到有限元空间中是合理的。而如果小片之间没有任何约束的话,每个小片上自由度都完全由其自身决定,那边界条件的影响就不可能传播到内部小片的局部解上,得到的答案肯定不对。)

定义

用数学化的语言来表述有限元,我们定义为:

有限元是一个三元组\((K,P,\Sigma)\),其中 \(K\)是这个有限元的几何形状,\(P_{K}\)是在\(K\)上的有限维函数空间,\(\Sigma\)是一些自由度的集合(可以理解成我们在求解时在每个元素上设置的变量,最终整体上通过方程组求解出这些变量之后,我们需要通过这些变量值确定出元素中具体的函数)。

简单例子

先举几个最简单的二维三角形域上的例子吧。

  1. 区域划分为小三角形片,每个小三角形片上由一次多项式逼近。那么这里即\(K\)为三角形,\(P_K\)\(P^1(K)=span\{1,x,y\}\)。函数空间为三维的,一般地我们就想要用三个自由度来控制这个三角形,最简单的取法就是取三角形三个顶点上的值,这样三个定点上的取值可以恰好唯一确定一个多项式。

    那是不是任取三个点的值都可以呢,也不尽然。之前说到过小片之间也是有一定约束的,绝大多数情况下,我们遇到的最简单的情形,弱解空间会是一个\(H^1\)空间,所以我们总是希望小片之间能满足连续性。观察原来的自由度取法,在两个小片交界的边上,我们总是有其在两个顶点上的值是相同的;另外,两个小片分别都是一次多项式,所以限制在这条边上,两个小片中分别计算的函数都是线性的。众所周知,两点值可以唯一确定一个线性函数,那么说明小片中分别算得的函数在这条边上的取值是相同的,即满足连续性。如果换一种取法,比如取三个中点上的值,那么每条边上只有一个点来控制,最终很有可能就在小片交界处不连续了。

  2. 稍微推广一点点,如果每个小三角形片上由二次多项式逼近呢?那么\(P_K=P^2(K)=span\{1,x,y,x^2,xy,y^2\}\)。根据之前的理论,我们在每个三角形中需要6个自由度,而在边界上确定二次多项式需要3个自由度,一个简单的想法就是取三个顶点加三个中点上的值即可满足要求。

  3. 一般化,三角形域上\(P_K=P^k(K)\),那么\(\dim P^k(K)=\frac12(k+1)(k+2)\)。想象把自由度在三角形中摆成一个(k+1)层的金字塔的形状:第一层摆1个,第二层摆2个,...,第(k+1)层摆(k+1)个。那么恰好总自由度满足要求,每条边上也恰有\(k+1\)个自由度可以控制住一维的k次多项式,即满足要求。

更多的有限元

Hermite元

当然自由度不一定都要取某些点上的值。上面举出的例子函数都是通过点值进行Lagrange插值可以得到的,被称为Lagrange元。相应地还有一类元被称为Hermite元,它是通过某些点值和其相同位置导数值来确定函数的。例如,三角形\(P^3(K)\)空间中需要十个自由度,可以选取三个顶点处的点值和分别沿两条边方向的偏导数值,这样占用了九个自由度,再取一个三角形中心位置的点值便可以凑满十个自由度并且唯一确定二维\(P^3\)多项式。

再看其边界,有两个顶点处的点值和径向导数值共四个自由度,由Hermite插值也可以唯一确定一维\(P^3\)多项式,故也是符合要求的元。

Argyris元

如果我们对函数连续性有更高的要求呢?比如解空间处于\(H^2\),我们期望有限元空间中的函数能够满足\(C^1\)条件。那么就不仅需要\(v_1-v_2|_e\equiv0\),也需要 \[ \frac{\partial v_1}{\partial n}-\frac{\partial v_2}{\partial n}\equiv 0 \] 之前说的添加导数信息的思想就可以应用到这上面。Argyris元最少需要\(P^5\)的空间才能实行。例如在\(P^5\)(\(\dim P^5 =\frac{6*7}{2}=21\))空间中,取三个顶点处各6个自由度(1个点值,2个偏导数值,3个二阶偏导数值)和三条边中点处的法向导数值,这样就有共21个自由度了。

边界上两个点值,两个径向导数值,两个二阶径向导数值有六个自由度,由Hermite插值确定5阶一维多项式。

此外\(\frac{\partial v}{\partial n}\)在边界上有三个点值条件,两个径向导数值条件,可以唯一确定4阶一维多项式。而\(\frac{\partial v}{\partial n}\)一定是一个4阶多项式,所以\(\frac{\partial v}{\partial n}\)也在边界处是连续的。

所以,Argyris元确定的有限元空间中的函数都是\(C^1\)的。更高维的推广从上面这三个条件出发也是比较容易的。

矩形上的有限元

在矩形上想要凑出\(\frac12 (k+1)(k+2)\)个自由度反而不是一件容易的事情,一个更容易实行的函数空间为 \[ Q^k=\{\sum c_jp_j(x)q_j(y)~|~p_j,q_j \in P^k\} \] 例如 \[ Q^1=span\{1,x,y,xy\} \] \[ Q^2=span\{1,x,y,x^2,xy,y^2,x^2,xy^2,x^2y^2\} \] 这样\(\dim Q^k=(k+1)^2\),最简单的Lagrange型的有限元就可以直接把自由度选成\((k+1)\times(k+1)\)点阵上的点值。

serendipity元

\(Q^k\)是一个比\(P^k\)大的空间,事实上可以用一些技巧把空间稍微缩小一些。

比如说\(Q^2\)空间中,按我们原来的自由度点阵取法,记边上的八个点为\(z_1,z_2,\cdots,z_8\),中心点为\(c_9\)。则由于\(P^2\)仅为六维的,存在常数使得

\[ \forall \phi\in P^2, \phi(z_9)=\sum_{i=1}^8c_i\phi(z_i) \]

\[ P_K=\{\phi\in Q^2,\sum_{i=1}^8 c_i\phi(z_i)-\phi(z_9)=0\} \] 则是一个介于\(P^2\)\(Q^2\)之间的空间,它也可以构成一个可行的有限元,称为serendipity元。

插值误差估计

建立了这样的理论,结合之前的理论尤其是Bramble-Hilbert引理

\(\Omega\)是star-shaped区域,\(u\in W_p^m(\Omega),p\ge 1\)\[ |u-Q^mu|_{W_p^k(\Omega)}\le C_{m,n,\gamma}d^{m-k}|u|_{W_p^m(\Omega)} \]

则可以建立有限元空间误差理论。下面只给出简单结果

  1. \[ |v-Iv|_{W_p^i(K)}\le C_{m,n,\gamma,\sigma}(diam~K)^{m-i}|v|_{W_p^m(K)} \]

  2. \(u\in H^s(\Omega),h=\max diam(K)\)\[ \Vert u-Iu\Vert_{L^2(\Omega)}\le Ch^{k+1}|u|_{H^{k+1}(\Omega)} \] \[ \Vert u-Iu\Vert_{H^1(\Omega)}\le Ch^{k}|u|_{H^{k+1}(\Omega)} \]

  3. \[ (\sum_{K\in \tau_h}\Vert v\Vert^p_{W_p^l(K)})^{1/p}\le Ch^{m-l+\min(0,\frac np-\frac nq)}(\sum_{K\in \tau_h}\Vert v\Vert^q_{W_q^m(K)})^{1/q} \]

总之,这就是我们想要的结果了 \[ \inf_{v\in V_h} \Vert u-v\Vert\le\Vert u-Iu\Vert = O(h^s) \]