]> https://gitweb.dealii.org/ - dealii.git/commitdiff
new Gauss quadratures, larger numerical errors on SUN?
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Mon, 12 Feb 2001 13:35:50 +0000 (13:35 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Mon, 12 Feb 2001 13:35:50 +0000 (13:35 +0000)
git-svn-id: https://svn.dealii.org/trunk@3912 0785d39b-7218-0410-832d-ea1e28bc413d

tests/base/quadrature_test.cc

index 2af6236bd7a9e5da981634115054466ca8ec8820..83cabb0ac712b4581ff4679c91f49d445cdbe54f 100644 (file)
@@ -135,7 +135,8 @@ check_faces (vector<Quadrature<dim-1>*>& quadratures, bool sub)
          ++i;
 
          quadrature_int=0;
-                                          // Check the polynomial x^i*y^i
+                                          // Check the polynomial
+                                          // x^i*y^i*z^i
 
          for (unsigned int x=0; x<quadrature.n_quadrature_points; ++x)
            {
@@ -152,22 +153,23 @@ check_faces (vector<Quadrature<dim-1>*>& quadratures, bool sub)
              quadrature_int+=f*weights[x];
            }
          
-                                          // the exact integral is 1/(i+1)
-      switch (dim)
-       {
-       case 2:
-         exact_int = 2 * (sub ? 2:1) / pow(i+1,dim-1);
-         break;
-       case 3:
-         exact_int = 3 * (sub ? 4:1) / pow(i+1,dim-1);
-         break;
-       }
+                                          // the exact integral is
+                                          // 1/(i+1)^(dim-1)
+         switch (dim)
+           {
+           case 2:
+             exact_int = 2 * (sub ? 2:1) / (double) (i+1);
+             break;
+           case 3:
+             exact_int = 3 * (sub ? 4:1) / (double) (i+1)/(i+1);
+             break;
+           }
       
          err = fabs(quadrature_int-exact_int);
        }
-      while (err<1e-16);
+      while (err<5e-15);
                                       // Uncomment here for testing
-//      deallog << " (Int " << quadrature_int << ',' << exact_int << ")";
+      //      deallog << " (Int " << quadrature_int << '-' << exact_int << '=' << err << ")";
       deallog << " is exact for polynomials of degree " << i-1 << endl;
     }
   deallog.pop();

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.