Helmholtz Diffusion equation with reaction term: $$ k\Delta u + u = f ~ \text{in} ~\Omega $$ $$ \nabla u \cdot \mathbf{n} = 0 ~ \text{in} ~\partial \Omega $$

For sufficiently small $k$ (relative to the mesh), there can be oscillations (with Lagrange elements) that return a negative $u$ in some regions, specially when $f$ is a step function. I tried to apply a DG method with the Symmetric Interior Penalty formulation, and I am still seeing these negative values. Is this possible to happen? I was told that DG methods preserve positivity and cannot return negative values. Is there any way to preserve positivity in DG methods for elliptic equations?

Preserve positivity: If $f(x)>0 ~\forall x\in\Omega$, then $u(x)>0 ~\forall x\in\Omega$

Edit again: What if the boundary conditions are of zero flux? Edited the problem.

  • $\begingroup$ What do you mean by preserving positivity? Do you mean that $u(x) > 0\ \forall x \in \Omega$? $\endgroup$ – nicoguaro Jul 20 '17 at 14:32
  • $\begingroup$ Yes, I edited my question for clarity. $\endgroup$ – balborian Jul 20 '17 at 15:15
  • 2
    $\begingroup$ I'm not sure that is correct. If we take the 1D version of your equation $k \frac{d^2u}{dx^2} + u =f$, and take $f=k=1$, the solution is: $u(x) = A \sin(x) + B \cos(x) + 1$. This is positive for some values of $A$ and $B$, but not always. $\endgroup$ – nicoguaro Jul 20 '17 at 16:21
  • 1
    $\begingroup$ Correct -- there is no reason why the solution should be positive. In fact, for particular values of $k$ (the inverse of the eigenvalues of the Laplacian), the equation is singular and there is no unique solution any more. $\endgroup$ – Wolfgang Bangerth Jul 20 '17 at 20:50
  • $\begingroup$ Does the situation change if there is zero flux in the boundary? $\endgroup$ – balborian Jul 22 '17 at 17:19

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.