从一道题看清有限差分法和有限元法
参考【知乎】:计算流体力学:有限差分法(FDM)、有限元法(FEM)和有限体积法(FVM)思想概述
1、一个简单的微分题
一个简单的二阶一维线性微分方程,一维域,如图(a)所示。
2、有限差分法求解
一维空间中具有简单边界条件的简单微分方程,如本例,具有光滑的解析解。所有的数值方法(FDM、FEM和FVM)即使是利用粗糙的网格将得到精确的解。对于这个例子,将进一步验证。如图所示,
一阶微商du/dx和 二阶微商d2u/dx2
的有限差分方程为:
现在利用有限差分方程替代二阶一维线性微分方程(采用三个网格点):
采用后向差分算法,则
所以,采用有限差分计算得到微分方程的精确解。
3、有限元法求解
如图(a)所示。将域划分为一系列子域(element),例如本例中的两个子域(e=1,2),如图(b、c)所示。端点称为节点(nodes)。
单元(element)试探函数(trial functions ),或称为插值函数(interpolation functions)、形状函数( shape functions)或基函数( basis functions).
这些函数如图所示,尝试函数(形函数,基函数)在考虑节点上的值为1,在另一个节点上的值为零,在这两个节点之间线性变化。
有许多不同的方法来表达有限元方程。最简单的方法之一是伽辽金法( Galerkin method)。其基本思想是构造控制方程形式的残差
和选取的测试函数的内积(即点积):
【??形函数作为权函数的加权余量法】
这代表了残差在(由对定义域求和的测试函数张成的)子空间的正交投影,然后将其设为零(意味着误差最小化),从而得到控制方程解的最佳数值逼近。对上式分部积分得到:
。。。。。。
这与有限差分法(FDM)的结果相同。