Dear all,
I was testing ExactSolution class by a simple program that solves
Poisson equation
on a unite rectangle, using P1 elements on triangles, and calculates
convergence
rate of the method by using uniform refinement of the initial mesh.
To my surprise I obtained the following errors and rates:
E R R O R C
O N V E R G E N C E R A T E
H1 L2 Linf
H1 L2 Linf
===== ===== ======= ===== ===== ======
3.469577e-01 1.363935e-02 3.209919e-02
1.744062e-01 4.888679e-03 1.110995e-02 0.992308 1.480259 1.530684
8.753062e-02 2.352227e-03 5.084924e-03 0.994592 1.055418 1.127554
4.406352e-02 1.495102e-03 3.113305e-03 0.990203 0.653783 0.707779
The convergence in L2 norm is too slow (should be of second order).
My guess is that I am missing here something fairly obvious, but I can't
find what.
The assembly function is taken from example 2, and the refining loop is
given here:
for(int refinement=0; refinement < max_refinement; ++ refinement)
{
system.solve();
ex_sol.compute_error("Poisson","p");
l2_error = ex_sol.l2_error("Poisson","p");
h1_error = ex_sol.h1_error("Poisson","p");
linf_error = ex_sol.l_inf_error("Poisson","p");
out_file << std::scientific
<< h1_error << " " << l2_error << " "<< linf_error<< " ";
if(refinement >0)
out_file << std::fixed
<< std::log2(h1_error_old/h1_error)<< " "
<< std::log2(l2_error_old/l2_error) << " "
<< std::log2(linf_error_old/linf_error);
out_file <<std::endl;
h1_error_old = h1_error;
l2_error_old = l2_error;
linf_error_old = linf_error;
mesh_refinement.uniformly_refine();
es.reinit();
}
I give the whole program in the attachment. Thanks for your help.
Mladen Jurak
<http://web.math.hr/%7Ejurak>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users