Git reference: Benchmark nist-04.
This problem has an exponential peak in the interior of the domain.
Equation solved: Poisson equation
(1)-\Delta u = f.
Domain of interest: Unit Square (0, 1)^2.
Boundary conditions: Dirichlet, given by exact solution.
u(x,y) = e^{-\alpha ((x - x_{loc})^{2} + (y - y_{loc})^{2})}
where (x_{loc}, y_{loc}) is the location of the peak, and \alpha determines the strength of the peak.
Right-hand side: Obtained by inserting the exact solution into the latter equation. The corresponding code snippet is shown below:
{
public:
CustomRightHandSide(double alpha, double x_loc, double y_loc)
: DefaultNonConstRightHandSide(), alpha(alpha), x_loc(x_loc), y_loc(y_loc) {};
virtual double value(double x, double y) const {
double a_P = (-alpha * pow((x - x_loc), 2) - alpha * pow((y - y_loc), 2));
return -(4 * exp(a_P) * alpha * (alpha * (x - x_loc) * (x - x_loc)
+ alpha * (y - y_loc) * (y - y_loc) - 1));
}
Final mesh (h-FEM, p=1, anisotropic refinements):
Final mesh (h-FEM, p=2, anisotropic refinements):
Final mesh (hp-FEM, h-anisotropic refinements):
DOF convergence graphs:
CPU convergence graphs:
Final mesh (hp-FEM, isotropic refinements):
Final mesh (hp-FEM, h-anisotropic refinements):
Final mesh (hp-FEM, hp-anisotropic refinements):
DOF convergence graphs:
CPU convergence graphs: