]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Convert tests. 4189/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Wed, 5 Apr 2017 17:12:00 +0000 (11:12 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Wed, 5 Apr 2017 21:27:30 +0000 (15:27 -0600)
Specifically, convert all tests from FE::interpolate to
FE::convert_generalized_support_point_values_to_nodal_values.

Since the former had three variants but that latter only one,
this also requires deleting some code and updating test results.

15 files changed:
tests/fe/fe_rannacher_turek_01.cc
tests/fe/interpolate_q1.cc
tests/fe/interpolate_q1.output
tests/fe/interpolate_q_bubbles.cc
tests/fe/interpolate_q_bubbles.output
tests/fe/interpolate_q_dg0.cc
tests/fe/interpolate_q_dg0.output
tests/fe/interpolate_q_iso_q1.cc
tests/fe/interpolate_q_iso_q1.output
tests/fe/interpolate_rt.cc
tests/fe/interpolate_rt.output
tests/fe/interpolate_rtn.cc
tests/fe/interpolate_rtn.output
tests/fe/interpolate_system.cc
tests/fe/interpolate_system.output

index 55b0d6659d42299270f8a33ccd7a69dfded87294..bf749e3f8b7ae4e4a18ef8254bc12e61cb4f4ae6 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2015 by the deal.II authors
+// Copyright (C) 2015, 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -61,14 +61,14 @@ void test_nodal_matrix()
   // simply assumes that there are dim components. Thus we do it ourselves.
   const unsigned int n_dofs = fe.dofs_per_cell;
   const std::vector<Point<2> > &points = fe.get_generalized_support_points();
-  std::vector<double> values(points.size());
+  std::vector<Vector<double> > values(points.size(), Vector<double>(1));
   std::vector<double> local_dofs(n_dofs);
 
   for (unsigned int i = 0; i < n_dofs; ++i)
     {
       for (unsigned int k = 0; k < values.size(); ++k)
-        values[k] = fe.shape_value(i, points[k]);
-      fe.interpolate(local_dofs, values);
+        values[k][0] = fe.shape_value(i, points[k]);
+      fe.convert_generalized_support_point_values_to_nodal_values(values, local_dofs);
 
       for (unsigned int j=0; j < n_dofs; ++j)
         N(j,i) = local_dofs[j];
@@ -121,11 +121,11 @@ void test_interpolation()
     {
       fev.reinit(cell);
 
-      std::vector<double> values(quadrature.size());
+      std::vector<Vector<double> > values(quadrature.size(), Vector<double>(1));
       fev.get_function_values(input_vector, values);
 
       std::vector<double> interpolated_local_dofs(n_dofs);
-      fe.interpolate(interpolated_local_dofs, values);
+      fe.convert_generalized_support_point_values_to_nodal_values(values, interpolated_local_dofs);
 
       Vector<double> local_dofs(n_dofs);
       cell->get_dof_values(input_vector, local_dofs);
index 4e7d54486fdd77eaba9fcb2c0411aa5b8f242254..cf2751005de835ff29f975d673c6d166397d7455 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2015 by the deal.II authors
+// Copyright (C) 2005 - 2015, 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -35,19 +35,11 @@ void check(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(1, std::vector<double>(fe.get_unit_support_points().size()));
-  f.value_list(fe.get_unit_support_points(), values[0]);
-  fe.interpolate(dofs, values[0]);
-  deallog << " value " << difference(fe,dofs,f);
-  fe.interpolate(dofs, values);
-  deallog << " vector " << difference(fe,dofs,f);
-
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(), Vector<double>(1));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << difference(fe,dofs,f) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(1));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << difference(fe,dofs,f) << std::endl;
 }
 
 template <int dim>
@@ -59,19 +51,11 @@ void check_dg(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(1, std::vector<double>(fe.get_unit_support_points().size()));
-  f.value_list(fe.get_unit_support_points(), values[0]);
-  fe.interpolate(dofs, values[0]);
-  deallog << " value " << difference(fe,dofs,f);
-  fe.interpolate(dofs, values);
-  deallog << " vector " << difference(fe,dofs,f);
-
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(), Vector<double>(1));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << difference(fe,dofs,f) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(1));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << difference(fe,dofs,f) << std::endl;
 }
 
 template <int dim>
@@ -84,19 +68,11 @@ void check_dg_lobatto(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(1, std::vector<double>(fe.get_unit_support_points().size()));
-  f.value_list(fe.get_unit_support_points(), values[0]);
-  fe.interpolate(dofs, values[0]);
-  deallog << " value " << difference(fe,dofs,f);
-  fe.interpolate(dofs, values);
-  deallog << " vector " << difference(fe,dofs,f);
-
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(), Vector<double>(1));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << difference(fe,dofs,f) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(1));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << difference(fe,dofs,f) << std::endl;
 }
 
 int main()
index d1fe3956217a174475081be09e12c41abeba1f84..914c98792712d735440d39112e6ebd9024a13b44 100644 (file)
@@ -1,22 +1,22 @@
 
-DEAL::FE_Q<1>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q<1>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q<1>(3)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<1>(1)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<1>(2)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<1>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q<2>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_DGQ<3>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q<3>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q<3>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q<3>(3)  value 0 vector 0 Vector 0
+DEAL::FE_Q<1>(1)  vector 0
+DEAL::FE_Q<1>(2)  vector 0
+DEAL::FE_Q<1>(3)  vector 0
+DEAL::FE_DGQ<1>(1)  vector 0
+DEAL::FE_DGQ<1>(2)  vector 0
+DEAL::FE_DGQ<1>(3)  vector 0
+DEAL::FE_Q<2>(1)  vector 0
+DEAL::FE_Q<2>(2)  vector 0
+DEAL::FE_Q<2>(3)  vector 0
+DEAL::FE_DGQ<2>(2)  vector 0
+DEAL::FE_DGQ<2>(3)  vector 0
+DEAL::FE_Q<2>(2)  vector 0
+DEAL::FE_Q<2>(3)  vector 0
+DEAL::FE_DGQ<2>(2)  vector 0
+DEAL::FE_DGQ<2>(3)  vector 0
+DEAL::FE_DGQ<2>(3)  vector 0
+DEAL::FE_Q<2>(3)  vector 0
+DEAL::FE_DGQ<3>(1)  vector 0
+DEAL::FE_Q<3>(1)  vector 0
+DEAL::FE_Q<3>(2)  vector 0
+DEAL::FE_Q<3>(3)  vector 0
index 795be3a4b826103f0409a0e8ff44aa59f6a4aac4..195ed40ac0b8522bff05cba5afd42f9b5a221f04 100644 (file)
@@ -31,19 +31,11 @@ void check_q_bubbles(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(1, std::vector<double>(fe.get_unit_support_points().size()));
-  f.value_list(fe.get_unit_support_points(), values[0]);
-  fe.interpolate(dofs, values[0]);
-  deallog << " value " << difference(fe,dofs,f);
-  fe.interpolate(dofs, values);
-  deallog << " vector " << difference(fe,dofs,f);
-
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(), Vector<double>(1));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << difference(fe,dofs,f) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(1));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " value " << difference(fe,dofs,f) << std::endl;
 }
 
 int main()
index 32a75614b6a7c0ec81e7a3926bf3f7dc5e446e45..fc4740031b9a623c8c10398fbc27bf432c12783d 100644 (file)
@@ -1,13 +1,13 @@
 
-DEAL::FE_Q_Bubbles<1>(QUnknownNodes(2))  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<1>(QUnknownNodes(3))  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<1>(QUnknownNodes(4))  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<2>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<3>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<3>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_Bubbles<3>(3)  value 0 vector 0 Vector 0
+DEAL::FE_Q_Bubbles<1>(QUnknownNodes(2))  value 0
+DEAL::FE_Q_Bubbles<1>(QUnknownNodes(3))  value 0
+DEAL::FE_Q_Bubbles<1>(QUnknownNodes(4))  value 0
+DEAL::FE_Q_Bubbles<2>(1)  value 0
+DEAL::FE_Q_Bubbles<2>(2)  value 0
+DEAL::FE_Q_Bubbles<2>(3)  value 0
+DEAL::FE_Q_Bubbles<2>(2)  value 0
+DEAL::FE_Q_Bubbles<2>(3)  value 0
+DEAL::FE_Q_Bubbles<2>(3)  value 0
+DEAL::FE_Q_Bubbles<3>(1)  value 0
+DEAL::FE_Q_Bubbles<3>(2)  value 0
+DEAL::FE_Q_Bubbles<3>(3)  value 0
index 2901bb24f8af92139a8034836fb2ea1bee03d379..ba744a1c2aed07654dd023f2a17e6c033920ae22 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2015 by the deal.II authors
+// Copyright (C) 2005 - 2015, 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,19 +31,11 @@ void check_q_dg0(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(1, std::vector<double>(fe.get_unit_support_points().size()));
-  f.value_list(fe.get_unit_support_points(), values[0]);
-  fe.interpolate(dofs, values[0]);
-  deallog << " value " << difference(fe,dofs,f);
-  fe.interpolate(dofs, values);
-  deallog << " vector " << difference(fe,dofs,f);
-
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(), Vector<double>(1));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << difference(fe,dofs,f) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(1));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << difference(fe,dofs,f) << std::endl;
 }
 
 int main()
index 697d43ac5cffe5ebae9b72f230d024d7e0cdd75a..1dc3c71dc3d67203959b3870482bafa905382ddd 100644 (file)
@@ -1,13 +1,13 @@
 
-DEAL::FE_Q_DG0<1>(QUnknownNodes(1))  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<1>(QUnknownNodes(2))  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<1>(QUnknownNodes(3))  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<2>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<3>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<3>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_DG0<3>(3)  value 0 vector 0 Vector 0
+DEAL::FE_Q_DG0<1>(QUnknownNodes(1))  vector 0
+DEAL::FE_Q_DG0<1>(QUnknownNodes(2))  vector 0
+DEAL::FE_Q_DG0<1>(QUnknownNodes(3))  vector 0
+DEAL::FE_Q_DG0<2>(1)  vector 0
+DEAL::FE_Q_DG0<2>(2)  vector 0
+DEAL::FE_Q_DG0<2>(3)  vector 0
+DEAL::FE_Q_DG0<2>(2)  vector 0
+DEAL::FE_Q_DG0<2>(3)  vector 0
+DEAL::FE_Q_DG0<2>(3)  vector 0
+DEAL::FE_Q_DG0<3>(1)  vector 0
+DEAL::FE_Q_DG0<3>(2)  vector 0
+DEAL::FE_Q_DG0<3>(3)  vector 0
index 80ed3cc0bd7a68d9bf082aa4e568bd5c729c2a2a..ef4caa018f3c6c9c81d790249028a18e6c36de20 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2015 by the deal.II authors
+// Copyright (C) 2005 - 2015, 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -33,19 +33,11 @@ void check(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(1, std::vector<double>(fe.get_unit_support_points().size()));
-  f.value_list(fe.get_unit_support_points(), values[0]);
-  fe.interpolate(dofs, values[0]);
-  deallog << " value " << difference(fe,dofs,f);
-  fe.interpolate(dofs, values);
-  deallog << " vector " << difference(fe,dofs,f);
-
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(), Vector<double>(1));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << difference(fe,dofs,f) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(1));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << difference(fe,dofs,f) << std::endl;
 }
 
 int main()
index bebd55658210df69c4ac10b6e3e76320defcf8e6..67df989d8d983070505ae97c2a2362d983f86e1c 100644 (file)
@@ -1,10 +1,10 @@
 
-DEAL::FE_Q_iso_Q1<1>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<1>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<1>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<2>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<2>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<2>(3)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<3>(1)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<3>(2)  value 0 vector 0 Vector 0
-DEAL::FE_Q_iso_Q1<3>(3)  value 0 vector 0 Vector 0
+DEAL::FE_Q_iso_Q1<1>(1)  vector 0
+DEAL::FE_Q_iso_Q1<1>(2)  vector 0
+DEAL::FE_Q_iso_Q1<1>(3)  vector 0
+DEAL::FE_Q_iso_Q1<2>(1)  vector 0
+DEAL::FE_Q_iso_Q1<2>(2)  vector 0
+DEAL::FE_Q_iso_Q1<2>(3)  vector 0
+DEAL::FE_Q_iso_Q1<3>(1)  vector 0
+DEAL::FE_Q_iso_Q1<3>(2)  vector 0
+DEAL::FE_Q_iso_Q1<3>(3)  vector 0
index 8d4d389a73b4173a5dc1de97083d8847d8675468..2621a91c39f8263c03cc652c578ba1b5ef2965cb 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2015 by the deal.II authors
+// Copyright (C) 2005 - 2015, 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -34,22 +34,11 @@ void check1(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(dim, std::vector<double>(fe.get_generalized_support_points().size()));
-  std::vector<Vector<double> >
-  vectors(fe.get_generalized_support_points().size(),
-          Vector<double>(dim));
-  f.vector_value_list(fe.get_generalized_support_points(), vectors);
-
-  for (unsigned int c=0; c<values.size(); ++c)
-    for (unsigned int k=0; k<values[c].size(); ++k)
-      values[c][k] = vectors[k](c);
-
-  fe.interpolate(dofs, values);
-  deallog << " vector " << vector_difference(fe,dofs,f,0);
-
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << vector_difference(fe,dofs,f,0) << std::endl;
+  std::vector<Vector<double> > values (fe.get_generalized_support_points().size(),
+                                       Vector<double>(dim));
+  f.vector_value_list(fe.get_generalized_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << vector_difference(fe,dofs,f,0) << std::endl;
 }
 
 int main()
index f86f5e3f91e9037426aa892dd3f799fb0e3d1277..09b99bb216381c2b01aa14da57266dfb595c4490 100644 (file)
@@ -1,5 +1,5 @@
 
-DEAL::FE_RaviartThomas<2>(1) 12  vector 0 Vector 0
-DEAL::FE_RaviartThomas<2>(2) 21  vector 0 Vector 0
-DEAL::FE_RaviartThomas<2>(2) 21  vector 0 Vector 0
-DEAL::FE_RaviartThomas<2>(3) 32  vector 0 Vector 0
+DEAL::FE_RaviartThomas<2>(1) 12  vector 0
+DEAL::FE_RaviartThomas<2>(2) 21  vector 0
+DEAL::FE_RaviartThomas<2>(2) 21  vector 0
+DEAL::FE_RaviartThomas<2>(3) 32  vector 0
index 4516024fec835b5093742464bd25a24d7a73bf77..57442dd8fdc2c94403d55ac951033d67f9721f23 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2015 by the deal.II authors
+// Copyright (C) 2005 - 2015, 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -34,22 +34,11 @@ void check1(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(dim, std::vector<double>(fe.get_generalized_support_points().size()));
-  std::vector<Vector<double> >
-  vectors(fe.get_generalized_support_points().size(),
-          Vector<double>(dim));
-  f.vector_value_list(fe.get_generalized_support_points(), vectors);
-
-  for (unsigned int c=0; c<values.size(); ++c)
-    for (unsigned int k=0; k<values[c].size(); ++k)
-      values[c][k] = vectors[k](c);
-
-  fe.interpolate(dofs, values);
-  deallog << " vector " << vector_difference(fe,dofs,f,0);
-
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << vector_difference(fe,dofs,f,0) << std::endl;
+  std::vector<Vector<double> > values (fe.get_generalized_support_points().size(),
+                                       Vector<double>(dim));
+  f.vector_value_list(fe.get_generalized_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << vector_difference(fe,dofs,f,0) << std::endl;
 }
 
 int main()
index cb364a00e33cbde034afa1ab7a209bbf23499051..d20f35a354f279ce319556a70a75fead7bbf4db5 100644 (file)
@@ -1,7 +1,7 @@
 
-DEAL::FE_RaviartThomasNodal<2>(1) 12  vector 0 Vector 0
-DEAL::FE_RaviartThomasNodal<2>(2) 24  vector 0 Vector 0
-DEAL::FE_RaviartThomasNodal<2>(2) 24  vector 0 Vector 0
-DEAL::FE_RaviartThomasNodal<2>(3) 40  vector 0 Vector 0
-DEAL::FE_RaviartThomasNodal<3>(1) 36  vector 0 Vector 0
-DEAL::FE_RaviartThomasNodal<3>(2) 108  vector 0 Vector 0
+DEAL::FE_RaviartThomasNodal<2>(1) 12  vector 0
+DEAL::FE_RaviartThomasNodal<2>(2) 24  vector 0
+DEAL::FE_RaviartThomasNodal<2>(2) 24  vector 0
+DEAL::FE_RaviartThomasNodal<2>(3) 40  vector 0
+DEAL::FE_RaviartThomasNodal<3>(1) 36  vector 0
+DEAL::FE_RaviartThomasNodal<3>(2) 108  vector 0
index f13d0de6b20d123fec6e1a891e60ab304176df25..b0b7eb936e4a1ccbb73b7e31d99a79ffb229b35f 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2015 by the deal.II authors
+// Copyright (C) 2005 - 2015, 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -36,21 +36,11 @@ void check1(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(comp, std::vector<double>(fe.get_unit_support_points().size()));
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(),
-          Vector<double>(f.n_components));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  for (unsigned int c=0; c<values.size(); ++c)
-    for (unsigned int k=0; k<values[c].size(); ++k)
-      values[c][k] = vectors[k](c);
-
-  fe.interpolate(dofs, values);
-  deallog << " vector " << vector_difference(fe,dofs,f,0);
-
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << vector_difference(fe,dofs,f,0) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(comp));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << vector_difference(fe,dofs,f,0) << std::endl;
 }
 
 template <int dim>
@@ -68,22 +58,11 @@ void check3(const Function<dim> &f,
 
   std::vector<double> dofs(fe.dofs_per_cell);
 
-  std::vector<std::vector<double> >
-  values(f.n_components,
-         std::vector<double>(fe.get_unit_support_points().size()));
-  std::vector<Vector<double> >
-  vectors(fe.get_unit_support_points().size(),
-          Vector<double>(f.n_components));
-  f.vector_value_list(fe.get_unit_support_points(), vectors);
-  for (unsigned int c=0; c<values.size(); ++c)
-    for (unsigned int k=0; k<values[c].size(); ++k)
-      values[c][k] = vectors[k](c);
-
-  fe.interpolate(dofs, values);
-  deallog << " vector " << vector_difference(fe,dofs,f,0);
-
-  fe.interpolate(dofs, vectors, 0);
-  deallog << " Vector " << vector_difference(fe,dofs,f,0) << std::endl;
+  std::vector<Vector<double> > values (fe.get_unit_support_points().size(),
+                                       Vector<double>(f.n_components));
+  f.vector_value_list(fe.get_unit_support_points(), values);
+  fe.convert_generalized_support_point_values_to_nodal_values(values, dofs);
+  deallog << " vector " << vector_difference(fe,dofs,f,0) << std::endl;
 }
 
 int main()
index d8ce30bb14c7325b8f70aa5eca3a78e536215348..fe9df9afb3b1aa0f27effb917b1524d3583908d5 100644 (file)
@@ -1,10 +1,10 @@
 
-DEAL::FESystem<1>[FE_Q<1>(1)^2]  vector 0 Vector 0
-DEAL::FESystem<1>[FE_Q<1>(2)^2]  vector 0 Vector 0
-DEAL::FESystem<1>[FE_Q<1>(3)^2]  vector 0 Vector 0
-DEAL::FESystem<2>[FE_Q<2>(2)^3]  vector 0 Vector 0
-DEAL::FESystem<2>[FE_Q<2>(3)^3]  vector 0 Vector 0
-DEAL::FESystem<3>[FE_Q<3>(1)^3]  vector 0 Vector 0
-DEAL::FESystem<3>[FE_Q<3>(2)^3]  vector 0 Vector 0
-DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(2)^3-FE_Q<2>(3)^4]  vector 0 Vector 0
-DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(2)^3-FE_Q<3>(3)^4]  vector 0 Vector 0
+DEAL::FESystem<1>[FE_Q<1>(1)^2]  vector 0
+DEAL::FESystem<1>[FE_Q<1>(2)^2]  vector 0
+DEAL::FESystem<1>[FE_Q<1>(3)^2]  vector 0
+DEAL::FESystem<2>[FE_Q<2>(2)^3]  vector 0
+DEAL::FESystem<2>[FE_Q<2>(3)^3]  vector 0
+DEAL::FESystem<3>[FE_Q<3>(1)^3]  vector 0
+DEAL::FESystem<3>[FE_Q<3>(2)^3]  vector 0
+DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(2)^3-FE_Q<2>(3)^4]  vector 0
+DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(2)^3-FE_Q<3>(3)^4]  vector 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.