]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
add cell residuals
authorkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 8 Aug 2012 15:48:19 +0000 (15:48 +0000)
committerkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 8 Aug 2012 15:48:19 +0000 (15:48 +0000)
git-svn-id: https://svn.dealii.org/trunk@25777 0785d39b-7218-0410-832d-ea1e28bc413d

tests/integrators/laplacian_01.cc
tests/integrators/laplacian_01/cmp/generic

index 80b13e99b300aedf246d42b91daaf40bfa03cfd3..e5261e300de1b86b23f696abcd4c92c0e40dd29a 100644 (file)
@@ -28,11 +28,39 @@ template <int dim>
 void test_cell(const FEValuesBase<dim>& fev)
 {
   const unsigned int n = fev.dofs_per_cell;
+  unsigned int d=fev.get_fe().n_components();
   FullMatrix<double> M(n,n);
-//  Vector<double> u(n), v(n);
-  
   cell_matrix(M,fev);
   M.print(deallog,8);
+  
+  Vector<double> u(n), v(n), w(n);
+  std::vector<std::vector<Tensor<1,dim> > >
+    ugrad(d,std::vector<Tensor<1,dim> >(fev.n_quadrature_points));
+  
+  std::vector<unsigned int> indices(n);
+  for (unsigned int i=0;i<n;++i)
+    indices[i] = i;
+  
+  deallog << "Residuals";
+  for (unsigned int i=0;i<n;++i)
+    {
+      u = 0.;
+      u(i) = 1.;
+      w = 0.;
+      fev.get_function_gradients(u, indices, ugrad, true);
+      cell_residual(w, fev, make_slice(ugrad));
+      M.vmult(v,u);
+      w.add(-1., v);
+      deallog << ' ' << w.l2_norm();
+      if (d==1)
+       {
+         cell_residual(w, fev, ugrad[0]);
+         M.vmult(v,u);
+         w.add(-1., v);
+         deallog << " e" << w.l2_norm();         
+       }
+    }
+  deallog << std::endl;
 }
 
 
@@ -41,8 +69,9 @@ void test_boundary(const FEValuesBase<dim>& fev)
 {
   const unsigned int n = fev.dofs_per_cell;
   unsigned int d=fev.get_fe().n_components();
-  
   FullMatrix<double> M(n,n);
+  nitsche_matrix(M, fev, 17);
+  M.print(deallog,8);
   
   Vector<double> u(n), v(n), w(n);
   std::vector<std::vector<double> >
@@ -55,9 +84,6 @@ void test_boundary(const FEValuesBase<dim>& fev)
   for (unsigned int i=0;i<n;++i)
     indices[i] = i;
   
-  nitsche_matrix(M, fev, 17);
-  M.print(deallog,8);
-  
   deallog << "Residuals";
   for (unsigned int i=0;i<n;++i)
     {
@@ -150,8 +176,8 @@ test(Triangulation<dim>& tr)
 //  FE_DGQ<dim> q2(2);
 //  test_fe(tr, q2);
 
-//  FE_Nedelec<dim> n1(1);  
-//  test_fe(tr, n1);  
+ FE_Nedelec<dim> n1(1);  
+ test_fe(tr, n1);  
 }
 
 
index 0208202d151bd6efa649473d81aa670fa49448d9..6e0e9734f5c5ec88129c40ccf9be201148601f22 100644 (file)
@@ -6,30 +6,31 @@ DEAL::0.67    -0.17   -0.17   -0.33
 DEAL::-0.17   0.67    -0.33   -0.17   
 DEAL::-0.17   -0.33   0.67    -0.17   
 DEAL::-0.33   -0.17   -0.17   0.67    
+DEAL::Residuals 0 e0 0 e0 0 e0 0 e0
 DEAL::boundary_matrix 0
 DEAL::11.     0.33    5.3     0.17    
 DEAL::0.33    0       0.17    0       
 DEAL::5.3     0.17    11.     0.33    
 DEAL::0.17    0       0.33    0       
-DEAL::Residuals 0 0 0 0
+DEAL::Residuals 0 e0 0 e0 0 e0 0 e0
 DEAL::boundary_matrix 1
 DEAL::0       0.33    0       0.17    
 DEAL::0.33    11.     0.17    5.3     
 DEAL::0       0.17    0       0.33    
 DEAL::0.17    5.3     0.33    11.     
-DEAL::Residuals 0 0 0 0
+DEAL::Residuals 0 e0 0 e0 0 e0 0 e0
 DEAL::boundary_matrix 2
 DEAL::11.     5.3     0.33    0.17    
 DEAL::5.3     11.     0.17    0.33    
 DEAL::0.33    0.17    0       0       
 DEAL::0.17    0.33    0       0       
-DEAL::Residuals 0 0 0 0
+DEAL::Residuals 0 e0 0 e0 0 e0 0 e0
 DEAL::boundary_matrix 3
 DEAL::0       0       0.33    0.17    
 DEAL::0       0       0.17    0.33    
 DEAL::0.33    0.17    11.     5.3     
 DEAL::0.17    0.33    5.3     11.     
-DEAL::Residuals 0 0 0 0
+DEAL::Residuals 0 e0 0 e0 0 e0 0 e0
 DEAL::face_matrix 0
 DEAL::M11
 DEAL::0       0.17    0       0.083   
@@ -51,3 +52,127 @@ DEAL::-0.17   -5.3    -0.083  -2.7
 DEAL::0       -0.17   0       -0.083  
 DEAL::-0.083  -2.7    -0.17   -5.3    
 DEAL::0       -0.083  0       -0.17   
+DEAL::FE_Nedelec<2>(1)
+DEAL::cell matrix
+DEAL::1.0     0       -1.0    0       0       0       0       0       0       0       0       0       
+DEAL::0       5.0     0       1.0     0       0       0       0       0       0       0       -1.7    
+DEAL::-1.0    0       1.0     0       0       0       0       0       0       0       0       0       
+DEAL::0       1.0     0       5.0     0       0       0       0       0       0       0       -1.7    
+DEAL::0       0       0       0       1.0     0       -1.0    0       0       0       0       0       
+DEAL::0       0       0       0       0       5.0     0       1.0     0       -1.7    0       0       
+DEAL::0       0       0       0       -1.0    0       1.0     0       0       0       0       0       
+DEAL::0       0       0       0       0       1.0     0       5.0     0       -1.7    0       0       
+DEAL::0       0       0       0       0       0       0       0       1.0     0       0       0       
+DEAL::0       0       0       0       0       -1.7    0       -1.7    0       2.2     0       0       
+DEAL::0       0       0       0       0       0       0       0       0       0       1.0     0       
+DEAL::0       -1.7    0       -1.7    0       0       0       0       0       0       0       2.2     
+DEAL::Residuals 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::boundary_matrix 0
+DEAL::32.     0       1.0     0       0       0       0       0       0       0       -1.7    0       
+DEAL::0       32.     0       1.0     0       0       0       0       0       0       0       -1.7    
+DEAL::1.0     0       0       0       0       0       0       0       0       0       0       0       
+DEAL::0       1.0     0       0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       0       11.     -18.    5.7     -9.2    -4.9    8.0     0       0       
+DEAL::0       0       0       0       -18.    30.     -9.2    15.     8.0     -13.    0       0       
+DEAL::0       0       0       0       5.7     -9.2    11.     -18.    -4.9    8.0     0       0       
+DEAL::0       0       0       0       -9.2    15.     -18.    30.     8.0     -13.    0       0       
+DEAL::0       0       0       0       -4.9    8.0     -4.9    8.0     3.4     -5.5    0       0       
+DEAL::0       0       0       0       8.0     -13.    8.0     -13.    -5.5    9.0     0       0       
+DEAL::-1.7    0       0       0       0       0       0       0       0       0       0       0       
+DEAL::0       -1.7    0       0       0       0       0       0       0       0       0       0       
+DEAL::Residuals 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::boundary_matrix 1
+DEAL::0       0       1.0     0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       1.0     0       0       0       0       0       0       0       0       
+DEAL::1.0     0       32.     0       0       0       0       0       0       0       -1.7    0       
+DEAL::0       1.0     0       32.     0       0       0       0       0       0       0       -1.7    
+DEAL::0       0       0       0       11.     18.     5.7     9.2     -4.9    -8.0    0       0       
+DEAL::0       0       0       0       18.     30.     9.2     15.     -8.0    -13.    0       0       
+DEAL::0       0       0       0       5.7     9.2     11.     18.     -4.9    -8.0    0       0       
+DEAL::0       0       0       0       9.2     15.     18.     30.     -8.0    -13.    0       0       
+DEAL::0       0       0       0       -4.9    -8.0    -4.9    -8.0    3.4     5.5     0       0       
+DEAL::0       0       0       0       -8.0    -13.    -8.0    -13.    5.5     9.0     0       0       
+DEAL::0       0       -1.7    0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       -1.7    0       0       0       0       0       0       0       0       
+DEAL::Residuals 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::boundary_matrix 2
+DEAL::11.     -18.    5.7     -9.2    0       0       0       0       0       0       -4.9    8.0     
+DEAL::-18.    30.     -9.2    15.     0       0       0       0       0       0       8.0     -13.    
+DEAL::5.7     -9.2    11.     -18.    0       0       0       0       0       0       -4.9    8.0     
+DEAL::-9.2    15.     -18.    30.     0       0       0       0       0       0       8.0     -13.    
+DEAL::0       0       0       0       32.     0       1.0     0       -1.7    0       0       0       
+DEAL::0       0       0       0       0       32.     0       1.0     0       -1.7    0       0       
+DEAL::0       0       0       0       1.0     0       0       0       0       0       0       0       
+DEAL::0       0       0       0       0       1.0     0       0       0       0       0       0       
+DEAL::0       0       0       0       -1.7    0       0       0       0       0       0       0       
+DEAL::0       0       0       0       0       -1.7    0       0       0       0       0       0       
+DEAL::-4.9    8.0     -4.9    8.0     0       0       0       0       0       0       3.4     -5.5    
+DEAL::8.0     -13.    8.0     -13.    0       0       0       0       0       0       -5.5    9.0     
+DEAL::Residuals 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::boundary_matrix 3
+DEAL::11.     18.     5.7     9.2     0       0       0       0       0       0       -4.9    -8.0    
+DEAL::18.     30.     9.2     15.     0       0       0       0       0       0       -8.0    -13.    
+DEAL::5.7     9.2     11.     18.     0       0       0       0       0       0       -4.9    -8.0    
+DEAL::9.2     15.     18.     30.     0       0       0       0       0       0       -8.0    -13.    
+DEAL::0       0       0       0       0       0       1.0     0       0       0       0       0       
+DEAL::0       0       0       0       0       0       0       1.0     0       0       0       0       
+DEAL::0       0       0       0       1.0     0       32.     0       -1.7    0       0       0       
+DEAL::0       0       0       0       0       1.0     0       32.     0       -1.7    0       0       
+DEAL::0       0       0       0       0       0       -1.7    0       0       0       0       0       
+DEAL::0       0       0       0       0       0       0       -1.7    0       0       0       0       
+DEAL::-4.9    -8.0    -4.9    -8.0    0       0       0       0       0       0       3.4     5.5     
+DEAL::-8.0    -13.    -8.0    -13.    0       0       0       0       0       0       5.5     9.0     
+DEAL::Residuals 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::face_matrix 0
+DEAL::M11
+DEAL::0       0       0.50    0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       0.50    0       0       0       0       0       0       0       0       
+DEAL::0.50    0       16.     0       0       0       0       0       0       0       -0.87   0       
+DEAL::0       0.50    0       16.     0       0       0       0       0       0       0       -0.87   
+DEAL::0       0       0       0       5.7     9.2     2.8     4.6     -2.5    -4.0    0       0       
+DEAL::0       0       0       0       9.2     15.     4.6     7.5     -4.0    -6.5    0       0       
+DEAL::0       0       0       0       2.8     4.6     5.7     9.2     -2.5    -4.0    0       0       
+DEAL::0       0       0       0       4.6     7.5     9.2     15.     -4.0    -6.5    0       0       
+DEAL::0       0       0       0       -2.5    -4.0    -2.5    -4.0    1.7     2.8     0       0       
+DEAL::0       0       0       0       -4.0    -6.5    -4.0    -6.5    2.8     4.5     0       0       
+DEAL::0       0       -0.87   0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       -0.87   0       0       0       0       0       0       0       0       
+DEAL::M22
+DEAL::16.     0       0.50    0       0       0       0       0       0       0       -0.87   0       
+DEAL::0       16.     0       0.50    0       0       0       0       0       0       0       -0.87   
+DEAL::0.50    0       0       0       0       0       0       0       0       0       0       0       
+DEAL::0       0.50    0       0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       0       5.7     -9.2    2.8     -4.6    -2.5    4.0     0       0       
+DEAL::0       0       0       0       -9.2    15.     -4.6    7.5     4.0     -6.5    0       0       
+DEAL::0       0       0       0       2.8     -4.6    5.7     -9.2    -2.5    4.0     0       0       
+DEAL::0       0       0       0       -4.6    7.5     -9.2    15.     4.0     -6.5    0       0       
+DEAL::0       0       0       0       -2.5    4.0     -2.5    4.0     1.7     -2.8    0       0       
+DEAL::0       0       0       0       4.0     -6.5    4.0     -6.5    -2.8    4.5     0       0       
+DEAL::-0.87   0       0       0       0       0       0       0       0       0       0       0       
+DEAL::0       -0.87   0       0       0       0       0       0       0       0       0       0       
+DEAL::M12
+DEAL::-0.50   0       0       0       0       0       0       0       0       0       0       0       
+DEAL::0       -0.50   0       0       0       0       0       0       0       0       0       0       
+DEAL::-16.    0       -0.50   0       0       0       0       0       0       0       0.87    0       
+DEAL::0       -16.    0       -0.50   0       0       0       0       0       0       0       0.87    
+DEAL::0       0       0       0       -5.7    9.2     -2.8    4.6     2.5     -4.0    0       0       
+DEAL::0       0       0       0       -9.2    15.     -4.6    7.5     4.0     -6.5    0       0       
+DEAL::0       0       0       0       -2.8    4.6     -5.7    9.2     2.5     -4.0    0       0       
+DEAL::0       0       0       0       -4.6    7.5     -9.2    15.     4.0     -6.5    0       0       
+DEAL::0       0       0       0       2.5     -4.0    2.5     -4.0    -1.7    2.8     0       0       
+DEAL::0       0       0       0       4.0     -6.5    4.0     -6.5    -2.8    4.5     0       0       
+DEAL::0.87    0       0       0       0       0       0       0       0       0       0       0       
+DEAL::0       0.87    0       0       0       0       0       0       0       0       0       0       
+DEAL::M21
+DEAL::-0.50   0       -16.    0       0       0       0       0       0       0       0.87    0       
+DEAL::0       -0.50   0       -16.    0       0       0       0       0       0       0       0.87    
+DEAL::0       0       -0.50   0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       -0.50   0       0       0       0       0       0       0       0       
+DEAL::0       0       0       0       -5.7    -9.2    -2.8    -4.6    2.5     4.0     0       0       
+DEAL::0       0       0       0       9.2     15.     4.6     7.5     -4.0    -6.5    0       0       
+DEAL::0       0       0       0       -2.8    -4.6    -5.7    -9.2    2.5     4.0     0       0       
+DEAL::0       0       0       0       4.6     7.5     9.2     15.     -4.0    -6.5    0       0       
+DEAL::0       0       0       0       2.5     4.0     2.5     4.0     -1.7    -2.8    0       0       
+DEAL::0       0       0       0       -4.0    -6.5    -4.0    -6.5    2.8     4.5     0       0       
+DEAL::0       0       0.87    0       0       0       0       0       0       0       0       0       
+DEAL::0       0       0       0.87    0       0       0       0       0       0       0       0       

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.