选择不连续 Galerkin 的惩罚

计算科学 不连续-galerkin
2021-12-17 02:12:49

所以我试图用不连续伽辽金法(内部惩罚法)解决 3D 泊松问题。弱形式(用FEniCS编写)如下:

a = dot(grad(v), grad(u))*dx \
  - dot(avg(grad(v)), jump(u, n))*dS \
  - dot(jump(v, n), avg(grad(u)))*dS \
   + alpha/h_avg*dot(jump(v, n), jump(u, n))*dS \
   - dot(grad(v), u*n)*ds(1) \
   - dot(v*n, grad(u))*ds(1) \
   + (gamma/h)*v*u*ds(1)
L = v*f*dx - u0*dot(grad(v), n)*ds(1) + (gamma/h)*u0*v*ds(1) + g*v*ds(2)

其中 u/v 是试验/测试函数,u0 是 Dirichlet BC,g 是 Neumann BC,h 是像元大小,n 是 facet normal,alpha 和 gamma 是惩罚。

对于许多 2D 单位平方问题,例如未记录的 FEniCS/DOLFIN 示例之一,我已经看到 alpha 和 gamma 分别设置为 4 和 8,但是当我处理 3D 问题时,我需要更高的值,例如 40 和 80。我系统地确定 alpha 和 gamma 的值需要是什么?

1个回答

惩罚通常按比例计算O(p2/h)对于多项式不连续 Galerkin 方法,无论维度如何,但对于更精确的常数,通常足以使惩罚足够大以保证相对于 DG 范数的矫顽力。 Shahbazi给出了对给定面的惩罚的表达式,这取决于p和简单元素的体积/面的几何映射因子,然后由Epshteyn 和 Riviere 对其进行细化以包括网格角度。

为简洁起见,Shahbazi 的惩罚常数γf在给定的脸上f大致是

γf=max(cK+,cK)

其中是共享该公共面的元素,是每个元素的顺序相关常数K+,KcK

cK=(p+1)(p+d)dArea of faceVolume of element.

面面积与元素体积之比为,因此这具有预期的缩放比例(您也可以通过将非边界面的贡献缩放 1/2 来稍微锐化这一点)。您也可以将全局惩罚作为单个惩罚的最大值,但这可能会使条件恶化。hO(p2/h)

我不太确定最佳常数是什么,因为它对于 SIPDG 公式的适定性并不是绝对必要的。α