Skip to content

Draft: Top singular solutions being energized in singular Poisson Eqn

Spencer Sherwin requested to merge fix/SingularPoissonEqn into master

Issue/feature addressed

If the pressure Poisson equation has Neumann and/or periodic BCs then the solution is singular and we pin one vertex. However this can lead to singular behaviour around the specified vertex if the Forcing is not balanced with the Neumann BCs.

Proposed solution

Introduce an additional check in ContField::HelmSolve which if the solution is singular evaluate the integral of the forcing over the solution domain (F), the integral of the Neumann BCs over the surfaces they are imposed on (S) and the volume (V). If S != F then singular solutions are possible and if so remove a constant value of (F-X)/V from the forcing.

Implementation

Introduce the above proposed solution into ConfField::HelmSolve. This also appears sufficient for the 3D Homogeneous 1D since it calls this routine for the mean mode.

Tests

Added two new tests, one for a Hex domain and another for a Quad-Homogenoeus1D domain.

Notes

This modification has only been setup when the forcing is in physical space. A warning has been added if an inner product of the forcing has been passed. A warning is also added if the physical space forcing is modified so the user is aware this has happened. For a time dependent problem this will only arise on the first time it is modified.

Checklist

  • Functions and classes, or changes to them, are documented.
  • User guide/documentation is updated.
  • Changelog is updated.
  • Suitable tests added for new functionality.
  • Contributed code is correctly formatted. (See the contributing guidelines).
  • [ ] License added to any new files.
  • No extraneous files have been added (e.g. compiler output or test data files).
Edited by Spencer Sherwin

Merge request reports