1. FEM
对于一个四面体,各个Vertex具有一个形函数N1,N2,N3,N4, N1+N2+N3+N4=1.
U(x) = N1U1 + N2U2 + N3U3 + N4U4
所以四面体上U的梯度为 dN1/dx U1 + dN2/dx U2 + dN3/dx U3 + dN4/dx U4
当使用FEM来求解域的时候,梯度比较好求解。
2. FVM
有几种方法可以来求FVM中的梯度
1)Gauss方程
2)最小二乘法 和QR分解
首先使用Taylor展开,得到AX = b 线性方程组, 但此时 X只有三个分量(梯度的三个分量),而A,b 不止3个,所以过定义了,所以不能使用一般的方法求解X。这个时候可以使用最小二乘法和QR分解来求X。
不过,这样求出的梯度,在重构时,会造成一定的误差,需要使用一些Limiter来进行重构。