如何在有限元法中计算每个节点的梯度?

计算科学 有限元
2021-12-16 06:30:51

我在有限元法中计算每个节点的梯度时遇到问题。我可以得到每个节点的值。但是我怎样才能得到渐变呢?

我知道其中是测试函数。所以但是如果它是一维问题并且我使用线性基函数。那么我认为点的总结为 0,因为的导数两边互为负。我很迷茫。u=uiϕiϕiux=uiϕixϕixuiϕi

1个回答

假设我们有一个分段线性的一维基。从技术上讲,梯度在有限元节点处没有定义点值,因为正如您所注意到的,导数在节点处是不连续的。

然而,有几种技术可以近似梯度。一个例子是基于将弱导数投影到分段线性基础上。让我试着用下面的例子来解释它:

在此处输入图像描述

以上是问题的有限元解决方案 ,因为解是分段线性的,所以导数是分段常数:u=1u(0)=u(1)=0

在此处输入图像描述

该导数在节点上没有唯一值,因为它是不连续的。但是,我们可以投影到分段线性基础上,得到:L2

在此处输入图像描述

表示分段线性解。在实践中,上述投影意味着我们求解满足 对于每个这简化为一个矩阵系统 其中是质量矩阵,是原始解向量。uhVhL2whVh

01whvhdx=01uhxvhdx
vhVh
Mw=Cu
MCij=01ϕjxϕidxu