防止 FEM 模拟中的单节点尖峰(使用连续 Galerkin)

计算科学 有限元 非线性方程 平滑 加勒金
2021-12-22 06:48:43

我正在尝试求解非线性时间相关的热方程

=(ķ())+F
(类似于问题Solveing a non-linear heat equations with the galerkin method give negative values)使用 FEM 方法,对 FEM 部分使用连续 Galerkin 方法,对非线性部分进行线性化的 Newton 方法和隐式 Euler时间步长的方法。
最初,我遇到了部分结果变为负数的问题,这可以通过剪裁低于某个值的所有部分来解决(或多或少)。现在我得到了一个额外的问题,即某些节点的解决方案变得不稳定,并且由于正反馈循环增加到不切实际的值。这导致结果如下图所示:

在此处输入图像描述 热源位于底部,大约在 500 度,由于颜色较深,因此可以看到。尽管如此,在图像的中间,解决方案显示一些节点的值明显高于周围区域,导致结果不平滑。
因此,我想知道是否有防止这些失控的方法,例如坡度限制器(如果是,误差会有多大)?在常规计算期间可以达到这些值之后,我不能在这里使用低通。
或者我的方法对于这样的方程总体上是否存在缺陷,我应该改用另一种方法?

为了解决评论:一般来说,我尝试从https://research.utwente.nl/en/publications/two-temperature-model-for-pulsed-laser-induced-subsurface-modific求解方程,方程为电子温度 () 导致节点尖峰,而其他两个方程没有任何问题。边界条件是 Neumann 条件d/d=0. 由于问题是无量纲的,域本身被定义为从 (0, 0) 到 (1, 1) 的平方,而基函数是多项式。

1个回答

我相信这些问题的出现是因为您正在求解热方程的瞬态形式,它是抛物线型,可能导致连续伽辽金方法的一些不稳定。

有办法规避这一点。GGLS 方法(Galerkin Gradient Least Square)引入了稳定项,通过最小化 L2 空间和 H1 中的温度误差来抑制这些振荡。你可以看看 Ilinca 和 Hétu 的这篇文章,非常详细: https ://www.sciencedirect.com/science/article/pii/S0045782502002426

还有其他替代方案,例如源稳定的彼得罗夫-加勒金稳定 (SSPG)。Ilinca 在这方面也有很好的工作: https ://onlinelibrary.wiley.com/doi/abs/10.1002/nme.2324

免责声明:F. Ilinca 是我认识的人。