DWR 方法中的高阶插值

计算科学 有限元 插值 不连续-galerkin
2021-11-29 07:13:28

基于页面35书名:
(W. Bangerth 和 R. Rannacher,“求解微分方程的自适应有限元方法”,Birkhäuser,2003 年)
为了计算双加权残差法中的误差,我们可以使用更高阶插值 Iu2h(2)u, IE

eIu2h(2)uh,

高阶插值是什么意思?我们应该对高阶元素使用 fe 近似吗?我使用的方法中的近似值是成本(移动最小二乘近似),所以有没有其他方法可以找到e例如在 MATLAB 中使用插值命令?

1个回答

免责声明:当我遇到这个问题时,我正在寻找“高阶 FE 插值”。

单变量插值(即一维)

可以以多种方式解释高阶插值。但是进行高阶插值的最常见方法之一是分段多项式插值,其中多项式的次数为 2 或更高(在这种情况下,次数与阶数相同)。3 阶是最流行的,这种方法被称为三次样条插值

注意:据我所知,分段多项式插值也可以称为FE 插值(实际上是 FE 的特定版本,由于选择了基础/试验和权重/测试函数),我不明白为什么我没有不要遇到指出这一点的教科书。

注意:“FE 插值”不同于“用于微分方程求解的 FE”。

多元插值(即二维和更高)

对于 2-D,结构化直线网格上的 3 次插值将被称为双三次,对于 3-D 三次三次。

结构化直线网格是网格点在 X 和 Y 维度上排序的网格,在 3-D 的情况下,Z 维度也是如此。结构化或规则。网格或网格。基础或试验。称重或测试。(如果您认为术语泛滥是该学科的病态问题,欢迎加入俱乐部。)

MATLAB(以及 python 科学堆栈)提供了进行这种插值的方法,例如,在scipyAPI 中RectBivariateSpline用于 2-D。然而,有限元代码处理单纯形,例如 2-D 中的三角形和 3-D 中的四面体,这带来了一个问题(网格是非结构化的)。您可以使用 APIgriddata来“网格化”您的解决方案,但我的猜测是它不如直接插值准确uh,加上我个人的经验是,griddata基于插值在处理边界时非常挑剔,并且在涉及一点外推时通常会失败。

如何直接从非结构化网格上的解决方案进行插值?我没有很好的答案。根据我这些天所学的知识,FE 插值(或者也可以称为非结构化多元样条插值?)应该可以工作,但我拥有的书(Heath,Scientific Computing)在关于 FE 的章节中没有提到插值(但它根本不讨论多元插值)。Langtangen 的 FE 文本确实从 FE 插值开始(我就是从那里了解到的),然后才转向 FE DE 求解,但即使是他的讨论也是出于教学目的(帮助您理解后面的章节),而不是作为应用程序。另外,Langtangen 没有提及帽子/气泡有限元插值是否只是变相的样条插值。

备注:在计算机图形学中(例如,在 Foley,Computer Graphics 中)有“参数三次曲线”(1-D)和“参数双三次曲面”(2-D)的类似概念。这与插值有何比较或对比?我还没有遇到可以回答这个问题的文本。

我们应该对高阶元素使用有限元近似吗?

据我所知,你提到的作者并不意味着使用高阶有限元来求解微分方程。正如我所说,在我的非专家意见中,FE 可以用于插值(不管你用什么来求解微分方程),但同样,我找不到关于 FE 插值的教科书级别的文献,我也没有了解为什么它不经常用于插值目的(用于非结构化网格上的多元解决方案)。

PS:您提到的这本书的标题中没有“解决”一词。

编辑1这个stackoverflow答案提到径向基函数作为非结构化多元插值的一个选项。首先,我不同意“样条是径向基函数”的说法。样条曲线基于多项式,而 RBF 可以是r你要的那个。线性和三次样条在 1-D 中绝对不是径向的,因为两者xx3很奇怪。其次,最后我检查了一下,python 科学堆栈中的 RBF 实现甚至比griddata后面的还要慢RectBivariateSpline(但我使用的是旧版本的 numpy/scipy,所以他们可能在最近的版本中加快了速度,这个更多信息)。

一般来说,维基百科页面中关于多元插值的不规则网格部分可能是一个很好的参考点。“三角形不规则网络”看起来与我所说的相似(但仅限二维)。然而,它只提到了两个选项,自然邻居和线性插值,它们分别是 1 度的“可能”和“肯定”(最近的邻居是 0 度)。因此它们不是更高阶的。对于更高阶,您需要寻找 2 次或更高阶的三角形不规则网络。在 3-D 中,它可能被称为四面体不规则网络。