I'm trying to implement the stabilization techniques of Badia & Codina, based on the variational multiscale concept. For some equations, in particular the Stokes problem, this
technique leads to stabilization terms such as:
laplace = lambda v: grad(div(v)) - curl(curl(v))
a = .... + (-mu*laplace(u) + grad(p), mu*laplace(v) + grad(q))*dx + ...
where a is the bilinear form, u,p are trial functions for velocity and pressure, v, q are the
corresponding test functions.
The method fails spetacularly whenever the laplacian in the bilinear form is actually invoked, ie, with elements of order higher than 1.
Amazingly enough, the stabilization seems to work even if I remove these laplacian terms, or even (more amazingly still) if I remove only the laplacian term of the trial function or even (more more amazingly still) if I replace the laplacian operator on the velocity with an indentity function. I'm not proposing these are general results :)
My question is: is there a known issue with using the second order derivatives in the bilinear form? In a similar question, someone suggested using integration by parts, but this won't help me because there is a product of laplacians, I could perhaps just disregard this product as a higher order term, and do the integration by parts, but I'd like to hear some opinions on the whole situation.