]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
add tests for new nodal RT element
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 30 May 2005 09:08:21 +0000 (09:08 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 30 May 2005 09:08:21 +0000 (09:08 +0000)
git-svn-id: https://svn.dealii.org/trunk@10775 0785d39b-7218-0410-832d-ea1e28bc413d

tests/fe/Makefile
tests/fe/fe_data_test.cc
tests/fe/rtdiff.cc [new file with mode: 0644]
tests/fe/rtn_1.cc
tests/results/i686-pc-linux-gnu+gcc3.2/fe/fe_data_test.output
tests/results/i686-pc-linux-gnu+gcc3.2/fe/rtdiff.output [new file with mode: 0644]
tests/results/i686-pc-linux-gnu+gcc3.2/fe/rtn_1.output

index 150a22d78c8bf026284d0c45fedf750c45419767..02b1a13a1e25accb5f2138f69b090e6d0a870b8e 100644 (file)
@@ -49,6 +49,7 @@ rt_4.exe                : rt_4.g.$(OBJEXT)                $(libraries)
 rt_5.exe                : rt_5.g.$(OBJEXT)                $(libraries)
 rt_6.exe                : rt_6.g.$(OBJEXT)                $(libraries)
 rtn_1.exe               : rtn_1.g.$(OBJEXT)               $(libraries)
+rtdiff.exe              : rtdiff.g.$(OBJEXT)              $(libraries)
 dgp_monomial_1.exe     : dgp_monomial_1.g.$(OBJEXT)      $(libraries)
 dgp_monomial_2.exe     : dgp_monomial_2.g.$(OBJEXT)      $(libraries)
 system_1.exe            : system_1.g.$(OBJEXT)            $(libraries)
@@ -61,7 +62,7 @@ tests = fe_data_test traits fe_tools fe_tools_test mapping \
         transfer internals \
        dgq_1 \
        q_1 q_2 q_3 q_4 \
-       rt_1 rt_2 rt_3 rt_4 rt_5 rt_6 \
+       rt_1 rt_2 rt_3 rt_4 rt_5 rt_6 rtdiff rtn_1 \
        dgp_monomial_1 dgp_monomial_2 \
        system_1 \
         non_primitive_1 non_primitive_2 \
index add70c3e632a99ba024b9a1d3ef8c6b30d56b880..072a957536a1e3265623a969ee1d00c214369d1d 100644 (file)
@@ -59,12 +59,29 @@ void test_fe_datas()
                                   // Check Raviart-Thomas in 2d only
   if (dim==2)
     {
-      fe_datas.push_back(new FE_RaviartThomas<dim>(0));
+      FE_RaviartThomas<dim>* rt0 = new FE_RaviartThomas<dim>(0);
+      FE_RaviartThomas<dim>* rt1 = new FE_RaviartThomas<dim>(1);
+      fe_datas.push_back(rt0);
       deallog << (*fe_datas.rbegin())->get_name() << std::endl;
-      fe_datas.push_back(new FE_RaviartThomas<dim>(1));
+      fe_datas.push_back(rt1);
       deallog << (*fe_datas.rbegin())->get_name() << std::endl;
       fe_datas.push_back(new FE_RaviartThomas<dim>(2));
       deallog << (*fe_datas.rbegin())->get_name() << std::endl;
+      fe_datas.push_back(new FESystem<dim>(*rt1, 1,
+                                          FE_DGQ<dim> (1), 1));
+      deallog << (*fe_datas.rbegin())->get_name() << std::endl;
+    }
+  if (dim>1)
+    {
+      FE_RaviartThomasNodal<dim>* rt0 = new FE_RaviartThomasNodal<dim>(0);
+      FE_RaviartThomasNodal<dim>* rt1 = new FE_RaviartThomasNodal<dim>(1);
+      fe_datas.push_back(rt0);
+      deallog << (*fe_datas.rbegin())->get_name() << std::endl;
+      fe_datas.push_back(rt1);
+      deallog << (*fe_datas.rbegin())->get_name() << std::endl;
+      fe_datas.push_back(new FESystem<dim>(*rt1, 1,
+                                          FE_DGQ<dim> (1), 1));
+      deallog << (*fe_datas.rbegin())->get_name() << std::endl;
     }
   
 
diff --git a/tests/fe/rtdiff.cc b/tests/fe/rtdiff.cc
new file mode 100644 (file)
index 0000000..d8bd721
--- /dev/null
@@ -0,0 +1,150 @@
+//----------------------------------------------------------------------
+//    rt_1.cc,v 1.3 2003/06/09 16:00:38 wolf Exp
+//    Version: 
+//
+//    Copyright (C) 2005 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+// FE_RaviartThomasNodal and FE_RaviartThomas
+
+// compare the shape funcions and shape values after converting to the
+// same basis.
+
+// Summary: the different Raviart-Thomas implementations use the same
+// polynomial spaces, but different basis functions. Here, we convert
+// between the bases and test if the resulting functions are the same
+// point-wise.
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/quadrature_lib.h>
+#include <grid/grid_generator.h>
+#include <fe/fe_raviart_thomas.h>
+#include <fe/mapping_cartesian.h>
+#include <fe/fe_values.h>
+
+#include <fstream>
+
+// This function copied from FERaviartThomasNodal. nodes is the
+// element having the support points and the value of other in these
+// points is computed.
+template <int dim>
+void
+initialize_node_matrix (const FiniteElement<dim>& other,
+                       const FiniteElement<dim>& nodes,
+                       FullMatrix<double>& N)
+{
+  const unsigned int n_dofs = other.dofs_per_cell;
+  Assert (n_dofs == nodes.dofs_per_cell,
+         ExcDimensionMismatch(n_dofs, nodes.dofs_per_cell));
+  
+  N.reinit(n_dofs, n_dofs);
+
+  const std::vector<Point<dim> >& unit_support_points = nodes.get_unit_support_points();
+  
+                                  // The curent node functional index
+  unsigned int current = 0;
+
+                                  // For each face and all quadrature
+                                  // points on it, the node value is
+                                  // the normal component of the
+                                  // shape function, possibly
+                                  // pointing in negative direction.
+  for (unsigned int face = 0; face<GeometryInfo<dim>::faces_per_cell; ++face)
+    for (unsigned int k=0;k<other.dofs_per_face;++k)
+      {
+       for (unsigned int i=0;i<n_dofs;++i)
+         N(current,i) = other.shape_value_component(
+           i, unit_support_points[current],
+           GeometryInfo< dim >::unit_normal_direction[face]);
+       ++current;
+      }
+                                  // Interior degrees of freedom in each direction
+  const unsigned int n_cell = (n_dofs - current) / dim;
+  
+  for (unsigned int d=0;d<dim;++d)
+    for (unsigned int k=0;k<n_cell;++k)
+      {
+       for (unsigned int i=0;i<n_dofs;++i)
+         N(current,i) = other.shape_value_component(i, unit_support_points[current], d);
+       ++current;
+      }
+  Assert (current == n_dofs, ExcInternalError());
+}
+
+
+template <int dim>
+void
+compare_shapes (const FiniteElement<dim>& other,
+               const FiniteElement<dim>& nodes,
+               FullMatrix<double>& M)
+{
+  QGauss<dim> quadrature(other.degree+1);
+  Table<3,double> other_values(quadrature.n_quadrature_points, other.dofs_per_cell, dim);
+  Table<3,double> nodes_values(quadrature.n_quadrature_points, other.dofs_per_cell, dim);
+  Table<3,Tensor<1,dim> > other_grads(quadrature.n_quadrature_points, other.dofs_per_cell, dim);
+  Table<3,Tensor<1,dim> > nodes_grads(quadrature.n_quadrature_points, other.dofs_per_cell, dim);
+  for (unsigned int k=0;k<quadrature.n_quadrature_points;++k)
+    for (unsigned int i=0;i<other.dofs_per_cell;++i)
+      for (unsigned int d=0;d<dim;++d)
+       {
+         other_values[k][i][d] = other.shape_value_component(i,quadrature.point(k),d);
+         nodes_values[k][i][d] = nodes.shape_value_component(i,quadrature.point(k),d);
+         other_grads[k][i][d] = other.shape_grad_component(i,quadrature.point(k),d);
+         nodes_grads[k][i][d] = nodes.shape_grad_component(i,quadrature.point(k),d);
+       }
+
+  for (unsigned int k=0;k<quadrature.n_quadrature_points;++k)
+    {
+      for (unsigned int i=0;i<other.dofs_per_cell;++i)
+       for (unsigned int d=0;d<dim;++d)
+         {
+           double value = other_values[k][i][d];
+           Tensor<1,dim> grad = other_grads[k][i][d];
+           for (unsigned int j=0;j<other.dofs_per_cell;++j)
+             {
+               value -= M(j,i) * nodes_values[k][j][d];              
+               grad -= M(j,i) * nodes_grads[k][j][d];
+             }
+           deallog << '.';
+           if (std::fabs(value) > 1.e-12)
+             deallog << "Error value\t" << k << '\t' << i << '\t' << d << '\t' << value
+                     << std::endl;
+           if (grad.norm() > 1.e-12)
+             deallog << "Error grad\t" << k << '\t' << i << '\t' << d << '\t' << grad
+                     << '\t' << other_grads[k][i][d]
+                     << std::endl;
+         }
+      deallog << std::endl;
+    }
+}
+
+
+template<int dim>
+void
+test (unsigned int degree)
+{
+  FE_RaviartThomas<dim> rt1(degree);
+  FE_RaviartThomasNodal<dim> rtn1(degree);
+  FullMatrix<double> N;
+  initialize_node_matrix(rt1, rtn1, N);
+  compare_shapes(rt1, rtn1, N);
+}
+
+int main()
+{
+  std::ofstream logfile ("rtdiff.output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  test<2>(0);
+  test<2>(1);
+  test<2>(2);  
+}
index 75f7ce463a8c213e093c6dec075f1efb275057f7..2fbb1fba7a94cff390cd5fa9aa988b2912feb375 100644 (file)
@@ -138,11 +138,13 @@ main()
 {
   std::ofstream logfile ("rtn_1.output");
   deallog.attach(logfile);
-  deallog.depth_console(10);
+  deallog.depth_console(0);
   deallog.threshold_double(1.e-10);
 
   FE_RaviartThomasNodal<2> e20(0);
   check_support_points(e20);
+  FE_RaviartThomasNodal<3> e30(0);
+  check_support_points(e30);
   check_face_support_points(e20);
   FE_RaviartThomasNodal<2> e21(1);
   check_support_points(e21);
index 785137fc11befed8c119a5690a7ce2b5adcd7ed7..f7ae7c8c434f45771e32151f316853ee7c714303 100644 (file)
@@ -339,6 +339,10 @@ DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(2)]
 DEAL::FE_RaviartThomas<2>(0)
 DEAL::FE_RaviartThomas<2>(1)
 DEAL::FE_RaviartThomas<2>(2)
+DEAL::FESystem<2>[FE_RaviartThomas<2>(1)-FE_DGQ<2>(1)]
+DEAL::FE_RaviartThomasNodal<2>(0)
+DEAL::FE_RaviartThomasNodal<2>(1)
+DEAL::FESystem<2>[FE_RaviartThomasNodal<2>(1)-FE_DGQ<2>(1)]
 DEAL::FESystem<2>[FE_Q<2>(3)^2]
 DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(3)]
 DEAL::FESystem<2>[FE_Q<2>(4)^2]
@@ -614,7 +618,83 @@ DEAL::support on face 1:   0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21
 DEAL::support on face 2:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23
 DEAL::support on face 3:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23
 DEAL::
-DEAL::fe_data[14]:FESystem<2>[FE_Q<2>(3)^2]
+DEAL::fe_data[14]:FESystem<2>[FE_RaviartThomas<2>(1)-FE_DGQ<2>(1)]
+DEAL::dofs_per_vertex=0
+DEAL::dofs_per_line=2
+DEAL::dofs_per_quad=8
+DEAL::dofs_per_hex=0
+DEAL::first_line_index=0
+DEAL::first_quad_index=8
+DEAL::first_hex_index=16
+DEAL::first_face_line_index=0
+DEAL::first_face_quad_index=2
+DEAL::dofs_per_face=2
+DEAL::dofs_per_cell=16
+DEAL::components=3
+DEAL::degree=2
+DEAL::support on face 0:       0       1       2       3       4       5       6       7       8       9       10      11      12      13
+DEAL::support on face 1:       0       1       2       3       4       5       6       7       8       9       10      11      13      15
+DEAL::support on face 2:       0       1       2       3       4       5       6       7       8       9       10      11      14      15
+DEAL::support on face 3:       0       1       2       3       4       5       6       7       8       9       10      11      12      14
+DEAL::
+DEAL::fe_data[15]:FE_RaviartThomasNodal<2>(0)
+DEAL::dofs_per_vertex=0
+DEAL::dofs_per_line=1
+DEAL::dofs_per_quad=0
+DEAL::dofs_per_hex=0
+DEAL::first_line_index=0
+DEAL::first_quad_index=4
+DEAL::first_hex_index=4
+DEAL::first_face_line_index=0
+DEAL::first_face_quad_index=1
+DEAL::dofs_per_face=1
+DEAL::dofs_per_cell=4
+DEAL::components=2
+DEAL::degree=1
+DEAL::support on face 0:       0       1       2       3
+DEAL::support on face 1:       0       1       2       3
+DEAL::support on face 2:       0       1       2       3
+DEAL::support on face 3:       0       1       2       3
+DEAL::
+DEAL::fe_data[16]:FE_RaviartThomasNodal<2>(1)
+DEAL::dofs_per_vertex=0
+DEAL::dofs_per_line=2
+DEAL::dofs_per_quad=4
+DEAL::dofs_per_hex=0
+DEAL::first_line_index=0
+DEAL::first_quad_index=8
+DEAL::first_hex_index=12
+DEAL::first_face_line_index=0
+DEAL::first_face_quad_index=2
+DEAL::dofs_per_face=2
+DEAL::dofs_per_cell=12
+DEAL::components=2
+DEAL::degree=2
+DEAL::support on face 0:       0       1       2       3       4       5       6       7       8       9       10      11
+DEAL::support on face 1:       0       1       2       3       4       5       6       7       8       9       10      11
+DEAL::support on face 2:       0       1       2       3       4       5       6       7       8       9       10      11
+DEAL::support on face 3:       0       1       2       3       4       5       6       7       8       9       10      11
+DEAL::
+DEAL::fe_data[17]:FESystem<2>[FE_RaviartThomasNodal<2>(1)-FE_DGQ<2>(1)]
+DEAL::dofs_per_vertex=0
+DEAL::dofs_per_line=2
+DEAL::dofs_per_quad=8
+DEAL::dofs_per_hex=0
+DEAL::first_line_index=0
+DEAL::first_quad_index=8
+DEAL::first_hex_index=16
+DEAL::first_face_line_index=0
+DEAL::first_face_quad_index=2
+DEAL::dofs_per_face=2
+DEAL::dofs_per_cell=16
+DEAL::components=3
+DEAL::degree=2
+DEAL::support on face 0:       0       1       2       3       4       5       6       7       8       9       10      11      12      13
+DEAL::support on face 1:       0       1       2       3       4       5       6       7       8       9       10      11      13      15
+DEAL::support on face 2:       0       1       2       3       4       5       6       7       8       9       10      11      14      15
+DEAL::support on face 3:       0       1       2       3       4       5       6       7       8       9       10      11      12      14
+DEAL::
+DEAL::fe_data[18]:FESystem<2>[FE_Q<2>(3)^2]
 DEAL::dofs_per_vertex=2
 DEAL::dofs_per_line=4
 DEAL::dofs_per_quad=8
@@ -633,7 +713,7 @@ DEAL::support on face 1:    2       3       4       5       12      13      14      15
 DEAL::support on face 2:       4       5       6       7       16      17      18      19
 DEAL::support on face 3:       0       1       6       7       20      21      22      23
 DEAL::
-DEAL::fe_data[15]:FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(3)]
+DEAL::fe_data[19]:FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(3)]
 DEAL::dofs_per_vertex=3
 DEAL::dofs_per_line=2
 DEAL::dofs_per_quad=4
@@ -652,7 +732,7 @@ DEAL::support on face 1:    3       4       5       6       7       8       14      15
 DEAL::support on face 2:       6       7       8       9       10      11      16      17
 DEAL::support on face 3:       0       1       2       9       10      11      18      19
 DEAL::
-DEAL::fe_data[16]:FESystem<2>[FE_Q<2>(4)^2]
+DEAL::fe_data[20]:FESystem<2>[FE_Q<2>(4)^2]
 DEAL::dofs_per_vertex=2
 DEAL::dofs_per_line=6
 DEAL::dofs_per_quad=18
@@ -671,7 +751,7 @@ DEAL::support on face 1:    2       3       4       5       14      15      16      17      18      19
 DEAL::support on face 2:       4       5       6       7       20      21      22      23      24      25
 DEAL::support on face 3:       0       1       6       7       26      27      28      29      30      31
 DEAL::
-DEAL::fe_data[17]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2]
+DEAL::fe_data[21]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2]
 DEAL::dofs_per_vertex=4
 DEAL::dofs_per_line=0
 DEAL::dofs_per_quad=0
@@ -690,7 +770,7 @@ DEAL::support on face 1:    4       5       6       7       8       9       10      11
 DEAL::support on face 2:       8       9       10      11      12      13      14      15
 DEAL::support on face 3:       0       1       2       3       12      13      14      15
 DEAL::
-DEAL::fe_data[18]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]]
+DEAL::fe_data[22]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]]
 DEAL::dofs_per_vertex=2
 DEAL::dofs_per_line=0
 DEAL::dofs_per_quad=8
@@ -709,7 +789,7 @@ DEAL::support on face 1:    2       3       4       5       9       11      13      15
 DEAL::support on face 2:       4       5       6       7       10      11      14      15
 DEAL::support on face 3:       0       1       6       7       8       10      12      14
 DEAL::
-DEAL::fe_data[19]:FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]]
+DEAL::fe_data[23]:FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]]
 DEAL::dofs_per_vertex=4
 DEAL::dofs_per_line=3
 DEAL::dofs_per_quad=21
@@ -728,7 +808,7 @@ DEAL::support on face 1:    4       5       6       7       8       9       10      11      19      20      21      33      36      39      42      45      48
 DEAL::support on face 2:       8       9       10      11      12      13      14      15      22      23      24      37      38      39      46      47      48
 DEAL::support on face 3:       0       1       2       3       12      13      14      15      25      26      27      31      34      37      40      43      46
 DEAL::
-DEAL::fe_data[20]:FESystem<2>[FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2]^2-FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]]-FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]]^2]
+DEAL::fe_data[24]:FESystem<2>[FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2]^2-FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]]-FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]]^2]
 DEAL::dofs_per_vertex=18
 DEAL::dofs_per_line=6
 DEAL::dofs_per_quad=50
@@ -758,6 +838,9 @@ DEAL::FE_DGP<3>(2)
 DEAL::FE_DGP<3>(4)
 DEAL::FESystem<3>[FE_Q<3>(2)^2]
 DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(2)]
+DEAL::FE_RaviartThomasNodal<3>(0)
+DEAL::FE_RaviartThomasNodal<3>(1)
+DEAL::FESystem<3>[FE_RaviartThomasNodal<3>(1)-FE_DGQ<3>(1)]
 DEAL::FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2]
 DEAL::FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]]
 DEAL::FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]]
@@ -995,7 +1078,70 @@ DEAL::support on face 3:  3       4       5       6       7       8       15      16      17      18      19      20      25      29      33      34      39
 DEAL::support on face 4:       6       7       8       9       10      11      18      19      20      21      22      23      26      30      34      35      40
 DEAL::support on face 5:       0       1       2       9       10      11      12      13      14      21      22      23      27      31      32      35      41
 DEAL::
-DEAL::fe_data[11]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2]
+DEAL::fe_data[11]:FE_RaviartThomasNodal<3>(0)
+DEAL::dofs_per_vertex=0
+DEAL::dofs_per_line=0
+DEAL::dofs_per_quad=1
+DEAL::dofs_per_hex=0
+DEAL::first_line_index=0
+DEAL::first_quad_index=0
+DEAL::first_hex_index=6
+DEAL::first_face_line_index=0
+DEAL::first_face_quad_index=0
+DEAL::dofs_per_face=1
+DEAL::dofs_per_cell=6
+DEAL::components=3
+DEAL::degree=1
+DEAL::support on face 0:       0       1       2       3       4       5
+DEAL::support on face 1:       0       1       2       3       4       5
+DEAL::support on face 2:       0       1       2       3       4       5
+DEAL::support on face 3:       0       1       2       3       4       5
+DEAL::support on face 4:       0       1       2       3       4       5
+DEAL::support on face 5:       0       1       2       3       4       5
+DEAL::
+DEAL::fe_data[12]:FE_RaviartThomasNodal<3>(1)
+DEAL::dofs_per_vertex=0
+DEAL::dofs_per_line=0
+DEAL::dofs_per_quad=4
+DEAL::dofs_per_hex=12
+DEAL::first_line_index=0
+DEAL::first_quad_index=0
+DEAL::first_hex_index=24
+DEAL::first_face_line_index=0
+DEAL::first_face_quad_index=0
+DEAL::dofs_per_face=4
+DEAL::dofs_per_cell=36
+DEAL::components=3
+DEAL::degree=2
+DEAL::support on face 0:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35
+DEAL::support on face 1:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35
+DEAL::support on face 2:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35
+DEAL::support on face 3:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35
+DEAL::support on face 4:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35
+DEAL::support on face 5:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35
+DEAL::
+DEAL::fe_data[13]:FESystem<3>[FE_RaviartThomasNodal<3>(1)-FE_DGQ<3>(1)]
+DEAL::dofs_per_vertex=0
+DEAL::dofs_per_line=0
+DEAL::dofs_per_quad=4
+DEAL::dofs_per_hex=20
+DEAL::first_line_index=0
+DEAL::first_quad_index=0
+DEAL::first_hex_index=24
+DEAL::first_face_line_index=0
+DEAL::first_face_quad_index=0
+DEAL::dofs_per_face=4
+DEAL::dofs_per_cell=44
+DEAL::components=4
+DEAL::degree=2
+DEAL::support on face 0:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      36      37      40      41
+DEAL::support on face 1:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      38      39      42      43
+DEAL::support on face 2:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      36      37      38      39
+DEAL::support on face 3:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      37      39      41      43
+DEAL::support on face 4:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      40      41      42      43
+DEAL::support on face 5:       0       1       2       3       4       5       6       7       8       9       10      11      12      13      14      15      16      17      18      19      20      21      22      23      24      25      26      27      28      29      30      31      32      33      34      35      36      38      40      42
+DEAL::
+DEAL::fe_data[14]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2]
 DEAL::dofs_per_vertex=4
 DEAL::dofs_per_line=0
 DEAL::dofs_per_quad=0
@@ -1016,7 +1162,7 @@ DEAL::support on face 3:  4       5       6       7       8       9       10      11      20      21      22      23      24      25      26      27
 DEAL::support on face 4:       8       9       10      11      12      13      14      15      24      25      26      27      28      29      30      31
 DEAL::support on face 5:       0       1       2       3       12      13      14      15      16      17      18      19      28      29      30      31
 DEAL::
-DEAL::fe_data[12]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]]
+DEAL::fe_data[15]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]]
 DEAL::dofs_per_vertex=2
 DEAL::dofs_per_line=0
 DEAL::dofs_per_quad=0
@@ -1037,7 +1183,7 @@ DEAL::support on face 3:  2       3       4       5       10      11      12      13      17      19      21      23      25      27      29      31
 DEAL::support on face 4:       4       5       6       7       12      13      14      15      20      21      22      23      28      29      30      31
 DEAL::support on face 5:       0       1       6       7       8       9       14      15      16      18      20      22      24      26      28      30
 DEAL::
-DEAL::fe_data[13]:FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]]
+DEAL::fe_data[16]:FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]]
 DEAL::dofs_per_vertex=4
 DEAL::dofs_per_line=3
 DEAL::dofs_per_quad=3
@@ -1058,7 +1204,7 @@ DEAL::support on face 3:  4       5       6       7       8       9       10      11      20      21      22      23      24      25      26      27      35      36      37      47      4
 DEAL::support on face 4:       8       9       10      11      12      13      14      15      24      25      26      27      28      29      30      31      38      39      40      50      51      52      62      63      64      65      66      67      80      81      82      107     108     109     110     111     112     113     114     115     134     135     136     137     138     139     140     141     142
 DEAL::support on face 5:       0       1       2       3       12      13      14      15      16      17      18      19      28      29      30      31      41      42      43      53      54      55      56      57      58      65      66      67      83      84      85      89      92      95      98      101     104     107     110     113     116     119     122     125     128     131     134     137     140
 DEAL::
-DEAL::fe_data[14]:FESystem<3>[FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2]^2-FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]]-FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]]^2]
+DEAL::fe_data[17]:FESystem<3>[FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2]^2-FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]]-FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]]^2]
 DEAL::dofs_per_vertex=18
 DEAL::dofs_per_line=6
 DEAL::dofs_per_quad=6
diff --git a/tests/results/i686-pc-linux-gnu+gcc3.2/fe/rtdiff.output b/tests/results/i686-pc-linux-gnu+gcc3.2/fe/rtdiff.output
new file mode 100644 (file)
index 0000000..6a67e50
--- /dev/null
@@ -0,0 +1,30 @@
+
+DEAL::........
+DEAL::........
+DEAL::........
+DEAL::........
+DEAL::........................
+DEAL::........................
+DEAL::........................
+DEAL::........................
+DEAL::........................
+DEAL::........................
+DEAL::........................
+DEAL::........................
+DEAL::........................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
+DEAL::................................................
index de53b7db83846858d17a5deaf4f9d866755c7795..e28c324a7355322477f15807ab66271fafd93c4f 100644 (file)
@@ -1,43 +1,51 @@
 
 DEAL::FE_RaviartThomasNodal<2>(0)
-DEAL::0.500000 0.00000  0 -60   30 0    0 0     -30 0
-DEAL::1.00000 0.500000  0 -30   60 0    0 30    0 0
-DEAL::0.500000 1.00000  0 0     30 0    0 60    -30 0
-DEAL::0.00000 0.500000  0 -30   0 0     0 30    -60 0
+DEAL::0.500000 0.00000  0 60    30 0    0 0     30 0
+DEAL::1.00000 0.500000  0 30    60 0    0 30    0 0
+DEAL::0.500000 1.00000  0 0     30 0    0 60    30 0
+DEAL::0.00000 0.500000  0 30    0 0     0 30    60 0
+DEAL::
+DEAL::FE_RaviartThomasNodal<3>(0)
+DEAL::0.500000 0.00000 0.500000         0 60 0  0 0 0   0 0 30  30 0 0  0 0 30  30 0 0
+DEAL::0.500000 1.00000 0.500000         0 0 0   0 60 0  0 0 30  30 0 0  0 0 30  30 0 0
+DEAL::0.500000 0.500000 0.00000         0 30 0  0 30 0  0 0 60  30 0 0  0 0 0   30 0 0
+DEAL::1.00000 0.500000 0.500000         0 30 0  0 30 0  0 0 30  60 0 0  0 0 30  0 0 0
+DEAL::0.500000 0.500000 1.00000         0 30 0  0 30 0  0 0 0   30 0 0  0 0 60  30 0 0
+DEAL::0.00000 0.500000 0.500000         0 30 0  0 30 0  0 0 30  0 0 0   0 0 30  60 0 0
 DEAL::
 DEAL::Face FE_RaviartThomasNodal<2>(0)
-DEAL::0.500000 0.00000  0 -60   30 0    0 0     -30 0
+DEAL::0.500000 0.00000  0 60    30 0    0 0     30 0
 DEAL::
-DEAL::1.00000 0.500000  0 -30   60 0    0 30    0 0
+DEAL::1.00000 0.500000  0 30    60 0    0 30    0 0
 DEAL::
-DEAL::0.500000 1.00000  0 0     30 0    0 60    -30 0
+DEAL::0.500000 1.00000  0 0     30 0    0 60    30 0
 DEAL::
-DEAL::0.00000 0.500000  0 -30   0 0     0 30    -60 0
+DEAL::0.00000 0.500000  0 30    0 0     0 30    60 0
 DEAL::
 DEAL::FE_RaviartThomasNodal<2>(1)
-DEAL::0.211325 0.00000  0 -60   0 0     -10 0   3 0     0 0     0 0     -37 0   10 0    55 0    -15 0   0 0     0 0
-DEAL::0.788675 0.00000  0 0     0 -60   37 0    -10 0   0 0     0 0     10 0    -3 0    55 0    -15 0   0 0     0 0
-DEAL::1.00000 0.211325  0 10    0 -37   60 0    0 0     0 3     0 -10   0 0     0 0     0 0     0 0     0 -15   0 55
-DEAL::1.00000 0.788675  0 -3    0 10    0 0     60 0    0 -10   0 37    0 0     0 0     0 0     0 0     0 -15   0 55
-DEAL::0.211325 1.00000  0 0     0 0     3 0     -10 0   0 60    0 0     10 0    -37 0   -15 0   55 0    0 0     0 0
-DEAL::0.788675 1.00000  0 0     0 0     -10 0   37 0    0 0     0 60    -3 0    10 0    -15 0   55 0    0 0     0 0
-DEAL::0.00000 0.211325  0 -37   0 10    0 0     0 0     0 -10   0 3     -60 0   0 0     0 0     0 0     0 55    0 -15
-DEAL::0.00000 0.788675  0 10    0 -3    0 0     0 0     0 37    0 -10   0 0     -60 0   0 0     0 0     0 55    0 -15
-DEAL::0.500000 0.211325         0 -14   0 -14   0 0     0 0     0 -4    0 -4    0 0     0 0     60 0    0 0     0 20    0 20
-DEAL::0.500000 0.788675         0 4     0 4     0 0     0 0     0 14    0 14    0 0     0 0     0 0     60 0    0 20    0 20
-DEAL::0.211325 0.500000         0 0     0 0     -4 0    -4 0    0 0     0 0     -14 0   -14 0   20 0    20 0    0 60    0 0
-DEAL::0.788675 0.500000         0 0     0 0     14 0    14 0    0 0     0 0     4 0     4 0     20 0    20 0    0 0     0 60
+DEAL::0.211325 0.00000  0 60    0 0     -10 0   3 0     0 0     0 0     37 0    -10 0   55 0    -15 0   0 0     0 0
+DEAL::0.788675 0.00000  0 0     0 60    37 0    -10 0   0 0     0 0     -10 0   3 0     55 0    -15 0   0 0     0 0
+DEAL::1.00000 0.211325  0 -10   0 37    60 0    0 0     0 3     0 -10   0 0     0 0     0 0     0 0     0 -15   0 55
+DEAL::1.00000 0.788675  0 3     0 -10   0 0     60 0    0 -10   0 37    0 0     0 0     0 0     0 0     0 -15   0 55
+DEAL::0.211325 1.00000  0 0     0 0     3 0     -10 0   0 60    0 0     -10 0   37 0    -15 0   55 0    0 0     0 0
+DEAL::0.788675 1.00000  0 0     0 0     -10 0   37 0    0 0     0 60    3 0     -10 0   -15 0   55 0    0 0     0 0
+DEAL::0.00000 0.211325  0 37    0 -10   0 0     0 0     0 -10   0 3     60 0    0 0     0 0     0 0     0 55    0 -15
+DEAL::0.00000 0.788675  0 -10   0 3     0 0     0 0     0 37    0 -10   0 0     60 0    0 0     0 0     0 55    0 -15
+DEAL::0.500000 0.211325         0 14    0 14    0 0     0 0     0 -4    0 -4    0 0     0 0     60 0    0 0     0 20    0 20
+DEAL::0.500000 0.788675         0 -4    0 -4    0 0     0 0     0 14    0 14    0 0     0 0     0 0     60 0    0 20    0 20
+DEAL::0.211325 0.500000         0 0     0 0     -4 0    -4 0    0 0     0 0     14 0    14 0    20 0    20 0    0 60    0 0
+DEAL::0.788675 0.500000         0 0     0 0     14 0    14 0    0 0     0 0     -4 0    -4 0    20 0    20 0    0 0     0 60
 DEAL::
 DEAL::Face FE_RaviartThomasNodal<2>(1)
-DEAL::0.211325 0.00000  0 -60   0 0     -10 0   3 0     0 0     0 0     -37 0   10 0    55 0    -15 0   0 0     0 0
-DEAL::0.788675 0.00000  0 0     0 -60   37 0    -10 0   0 0     0 0     10 0    -3 0    55 0    -15 0   0 0     0 0
+DEAL::0.211325 0.00000  0 60    0 0     -10 0   3 0     0 0     0 0     37 0    -10 0   55 0    -15 0   0 0     0 0
+DEAL::0.788675 0.00000  0 0     0 60    37 0    -10 0   0 0     0 0     -10 0   3 0     55 0    -15 0   0 0     0 0
 DEAL::
-DEAL::1.00000 0.211325  0 10    0 -37   60 0    0 0     0 3     0 -10   0 0     0 0     0 0     0 0     0 -15   0 55
-DEAL::1.00000 0.788675  0 -3    0 10    0 0     60 0    0 -10   0 37    0 0     0 0     0 0     0 0     0 -15   0 55
+DEAL::1.00000 0.211325  0 -10   0 37    60 0    0 0     0 3     0 -10   0 0     0 0     0 0     0 0     0 -15   0 55
+DEAL::1.00000 0.788675  0 3     0 -10   0 0     60 0    0 -10   0 37    0 0     0 0     0 0     0 0     0 -15   0 55
 DEAL::
-DEAL::0.211325 1.00000  0 0     0 0     3 0     -10 0   0 60    0 0     10 0    -37 0   -15 0   55 0    0 0     0 0
-DEAL::0.788675 1.00000  0 0     0 0     -10 0   37 0    0 0     0 60    -3 0    10 0    -15 0   55 0    0 0     0 0
+DEAL::0.211325 1.00000  0 0     0 0     3 0     -10 0   0 60    0 0     -10 0   37 0    -15 0   55 0    0 0     0 0
+DEAL::0.788675 1.00000  0 0     0 0     -10 0   37 0    0 0     0 60    3 0     -10 0   -15 0   55 0    0 0     0 0
 DEAL::
-DEAL::0.00000 0.211325  0 -37   0 10    0 0     0 0     0 -10   0 3     -60 0   0 0     0 0     0 0     0 55    0 -15
-DEAL::0.00000 0.788675  0 10    0 -3    0 0     0 0     0 37    0 -10   0 0     -60 0   0 0     0 0     0 55    0 -15
+DEAL::0.00000 0.211325  0 37    0 -10   0 0     0 0     0 -10   0 3     60 0    0 0     0 0     0 0     0 55    0 -15
+DEAL::0.00000 0.788675  0 -10   0 3     0 0     0 0     0 37    0 -10   0 0     60 0    0 0     0 0     0 55    0 -15
 DEAL::

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.