$\newcommand{\v}[1]{\boldsymbol{#1}}$ Suppose we have following Stokes flow model equation:
$$ \tag{1} \left\{ \begin{aligned} -\mathrm{div}(\nu \nabla \v{u}) + \nabla p &= \v{f} \\ \mathrm{div} \v{u} &= 0 \end{aligned} \right.$$ where the viscosity $\nu(x)$ is a function, for the standard mixed finite element, say we use the stable pair: Crouzeix-Raviart space $\v{V}_h$ for the velocity $\v{u}$ and element-wise constant space $S_h$ for the pressure $p$, we have the following variational form:
$$ \mathcal{L}([\v{u},p],[\v{v},q]) = \int_{\Omega} \nu \nabla\v{u}:\nabla \v{v} -\int_{\Omega} q\mathrm{div} \v{u} -\int_{\Omega} p\mathrm{div} \v{v} =\int_{\Omega} \v{f}\cdot \v{v} \quad \forall \v{v}\times q\in \v{V}_h\times S_h $$
and we know that since the Lagrange multiplier $p$ can be determined up to a constant, the finally assembled matrix should have nullspace $1$, to circumvent this we could enforce the pressure $p$ on some certain element be zero, so that we don't have to solve a singular system.
So here is my question 1:
- (Q1) Is there other way than enforcing $p=0$ on some element to eliminate the kernel for standard mixed finite element? or say, any solver out there that be able to solve the singular system to get a compatible solution?(or some references are welcome)
And about the compatibility, for (1) it should be $$ \int_{\Omega} \nu^{-1} p = 0 $$ and the nice little trick is to compute $\tilde{p}$ be the $p$ we got from the solution of the linear system subtracted by its weighted average: $$ \tag{2} \tilde{p} = p - \frac{\nu}{|\Omega|}\int_{\Omega} \nu^{-1} p $$
However, recently I have just implemented a stabilized $P_1-P_0$ mixed finite element for Stokes equation by Bochev, Dohrmann,and Gunzberger, in which they added a stabilized term to the variational formulation (1): $$ \widetilde{\mathcal{L}}([\v{u},p],[\v{v},q]) =\mathcal{L}([\v{u},p],[\v{v},q]) -\int_{\Omega} (p - \Pi_1 p)(q -\Pi_1 q) =\int_{\Omega} \v{f}\cdot \v{v} \quad \forall \v{v}\times q\in \v{V}_h\times S_h $$ where $\Pi_1$ is the projection from piecewise constant space $P_0$ to continuous piecewise $P_1$, and the constant kernel of the original mixed finite element is gone, however, weird things happened, (2) doesn't work anymore, I coined the test problem from an interface problem for diffusion equation, this is what I got for pressure $p$, the right one is the true solution and the left one is the numerical approximation:
however if $\nu$ is a constant, the test problem performs just fine:
I am guessing it is because the way I am imposing the compatibility condition, since it is linked with the inf-sup stability of the whole system, here is my second question:
- (Q2): is there any way other than (2) to impose the compatibility for pressure $p$? or while coining the test problem, what kind of $p$ should I use?
springerlink.com
is broken. Perhaps you could take a look, whenever possible… $\endgroup$