NIST-07 (Boundary Line Singularity)

Git reference: Benchmark nist-07.

Many papers on testing adaptive algorithms use a 1D example with a singularity of the form x^{\alpha} at the left endpoint of the domain. This can be extended to 2D by simply making the solution be constant in y.

Model problem

Equation solved: Poisson equation

(1)-\Delta u = f.

Domain of interest: Unit Square (0, 1)^2

Boundary conditions: Dirichlet, given by exact solution.

Exact solution

u(x,y) = x^{\alpha}

where \alpha \geq 0.5 determines the strength of the singularity.

Right-hand side: Obtained by inserting the exact solution into the equation. The corresponding code snippet is shown below:

{
public:
  CustomRightHandSide(double alpha) : DefaultNonConstRightHandSide(), alpha(alpha) {};

  virtual double value(double x, double y) const {
    return - alpha * (alpha - 1.) * pow(x, alpha - 2.);
}

Sample solution

Solution for \alpha = 0.6:

Solution.

Comparison of h-FEM (p=1), h-FEM (p=2) and hp-FEM with anisotropic refinements

Final mesh (h-FEM, p=1, anisotropic refinements):

Final mesh.

Final mesh (h-FEM, p=2, anisotropic refinements):

Final mesh.

Final mesh (hp-FEM, h-anisotropic refinements):

Final mesh.

DOF convergence graphs:

DOF convergence graph.

CPU convergence graphs:

CPU convergence graph.

hp-FEM with h-aniso and hp-aniso refinements

Final mesh (hp-FEM, h-anisotropic refinements):

Final mesh.

Final mesh (hp-FEM, hp-anisotropic refinements):

Final mesh.

DOF convergence graphs:

DOF convergence graph.

CPU convergence graphs:

CPU convergence graph.