所以我试图用不连续伽辽金法(内部惩罚法)解决 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 的值需要是什么?