rheolef  6.5
sinusprod_error.cc
Go to the documentation of this file.
1 #include "rheolef.h"
2 using namespace rheolef;
3 using namespace std;
4 #include "sinusprod.icc"
5 int main(int argc, char**argv) {
6  environment rheolef(argc, argv);
7  Float error_linf_expected = (argc > 1) ? atof(argv[1]) : 1e+38;
8  field uh; din >> uh;
9  space Xh = uh.get_space();
10  size_t d = Xh.get_geo().dimension();
11  field pi_h_u = interpolate(Xh, u_exact(d));
12  field eh = uh - pi_h_u;
13  trial u (Xh); test v (Xh);
14  form m = integrate (u*v);
15  form a = integrate (dot(grad(u),grad(v)));
16  dout << "error_l2 " << sqrt(m(eh,eh)) << endl
17  << "error_linf " << eh.max_abs() << endl
18  << "error_h1 " << sqrt(a(eh,eh)) << endl;
19  return (eh.max_abs() <= error_linf_expected) ? 0 : 1;
20 }
21