We consider the numerical solution, by finite element methods, of singularly-perturbed differential equations (SPDEs) whose solutions exhibit boundary layers. We will discuss our numerical method and the implementation in FEniCS , including some technical problems we overcame.
Our interest lies in developing parameter-robust methods, where the quality of the solution is independent of the value of the perturbation parameter. One way of achieving this is to use layer resolving methods based on meshes that concentrate their mesh points in regions of large variations in the solution.
We investigate the use of Mesh PDEs (MPDEs), as first presented in , to generate layer resolving meshes that yield parameter robust solutions to SPDEs. Specifically, we present MPDEs whose solutions, in the 1D case, yield the celebrated graded "Bakhvalov" meshes .
The true value of the proposed approach comes to the fore when we investigate 2D problems. Whereas the classical Bakhvalov mesh is restricted to generating tensor product grids, the use of MPDEs allows us to generate non-tensor product grids that are still highly anisotropic and layer-adapted grids, and yield robust solutions. We demonstrate this by solving problems on irregular domains, and with space-varying diffusion.
As the MPDEs are non-linear problems, we use a fixed-point iterative method to solve them numerically. We present an approach involving alternating between \(h\)- and \(r\)-refinement which is highly efficient, especially for larger meshes and small values of the perturbation parameter.
The manuscript on which this talk is based, and the code that generated the results, are available at osf.io/dpexh/