为什么我的二阶精确方法只在系数粗糙时在一阶收敛?

计算科学 pde 有限差分
2021-12-07 17:33:53

我有一种基于渐近分析/泰勒级数展开的方法应该是二阶精确的,它假设解决方案是平滑的。我正在求解一个系数非常粗糙的 PDE(其中一个是阶跃函数),因此 PDE 的解并不平滑,尽管它确实存在并且是唯一的。结果,我只观察到线性收敛。进一步的网格细化最终会产生二次收敛吗?在这种情况下,我应该如何制定数值方法的结果?谢谢!编辑:我正在求解以下类型的方程:

ut=x2uxx+1{xC}uy
对于一些常数C在计算域范围内[0,xmax]. 我正在用半拉格朗日方法解决这个问题。

3个回答

就像 Jed 所说,如果您的系数是阶跃函数,那么精确解将是连续的但有一个“扭结”(即梯度将是不连续的)。现在,以拉普拉斯方程为例(您的热方程的行为方式相同,但分析涉及更多)。在那里,您有以下分析(e=uuh是错误):

e2=(e,e)=(e,(eφh))
最后一步是对任何离散函数的 Galerkin 正交性的简单应用φh. 如果你选择φh=Ihuuh在哪里Ihu是精确解在有限元空间上的插值,然后您会看到以下内容:

e2=(e,(uuhIhu+uh))=(e,(uIhu))e(uIhu).
换句话说,
e(uIhu).
这意味着您的有限元解决方案在H1seminorm 比插值。使用对偶参数,您将从中得到估计值L2规范,看起来像这样:
eChuIhu,
即你现在需要插值估计L2.

现在,如果您考虑使用插值来逼近具有有限元形状函数的“扭结”函数,很快就会清楚,如果您使网格足够精细,那么误差最终将集中在扭结所在的一个元素中位于(除非扭结恰好位于网格线上)。无论如何,您会在文献中找到以下估计:

  • 如果uH1(例如,如果它有扭结),那么uIhuhu.
  • 如果uH2(例如,如果它没有扭结),那么uIhuh22u.

在您的情况下,该功能有一个扭结,因此仅在H1,所以你不能指望比O(h)因为这是您从插值估计中得到的顺序,并且有限元解的误差估计不能比插值估计更好。

如果您的问题是具有可变系数的椭圆问题,则不连续系数将使梯度不连续。如果解空间在该点具有连续梯度,则该方法不能优于一阶精度。除非细化导致解空间在该点允许不连续,否则再多的细化都无法解决这个问题。

有限元方法最自然地允许这种不连续性。如果您使用标准C0符合有限元方法并将网格与系数不连续性对齐,您应该看到二阶(或更高,取决于基础)精度。不幸的是,系数中的角会引起额外的麻烦,因为在粗网格上的解出现的奇点类似于域中重入角附近的奇点。明显的奇异性最终将通过网格细化来解决,但所需的分辨率取决于系数的比率,这可能不切实际。

有许多方法可以丰富解空间,因此无需符合背景网格即可表示内部不连续性。这些论文为材料不连续性的经典处理提供了一个很好的视角。

有限元上下文中最近的方法允许更一般的富集,例如广义有限元方法 (GFEM)、扩展 FEM (XFEM) 和不连续富集方法。如果系数结构是振荡的、随机的或其他不可解决且不可能符合的情况,则存在同质化技术,尽管一阶精度对于此类多尺度问题是最佳的。

除非您的网格现在非常粗糙,否则细化它不会改变您的收敛顺序。如果您获得了良好的线性收敛,那么您的网格很可能足够精细,可以使该方法渐近,并且无论您的网格变得多么精细(直到您的残差触底),它都不会改变。我建议查看对导数近似的分析,看看是否假设被逼近的导数是连续的。

我可能对这个事实有误解,但如果它基于函数的一些多项式逼近,这可能会导致二次收敛在奇点处失败。在您声明系数是阶跃函数的点上,这将使您的收敛从二阶下降到某个较低阶。在某一点降低阶数,无论是内部奇点还是边界条件,都会将整体阶数降低到相同的值。

另外,我想到的另一种可能性,您确定该方法是二阶全局的,而不仅仅是二阶局部的吗?这是一个简单的错误,可以解释一阶较低的收敛性。

如果您详细说明您的 PDE 是什么以及您使用什么方法来近似您的导数,它可能会帮助我们就可能导致不正确收敛速度的原因给出更具体的答案。