]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Merged tests from trunk.
authorheltai <heltai@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 14 Nov 2013 16:17:18 +0000 (16:17 +0000)
committerheltai <heltai@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 14 Nov 2013 16:17:18 +0000 (16:17 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_manifold_id@31655 0785d39b-7218-0410-832d-ea1e28bc413d

170 files changed:
tests/base/function_parser.cc
tests/base/graph_coloring_01.cc
tests/base/graph_coloring_02.cc
tests/base/graph_coloring_02a.cc [new file with mode: 0644]
tests/base/graph_coloring_02a.output [new file with mode: 0644]
tests/base/graph_coloring_03.cc
tests/base/graph_coloring_04.cc
tests/base/graph_coloring_05.cc [new file with mode: 0644]
tests/base/graph_coloring_05.output [new file with mode: 0644]
tests/base/graph_coloring_06.cc [new file with mode: 0644]
tests/base/graph_coloring_06.output [new file with mode: 0644]
tests/base/thread_validity_08.cc
tests/base/thread_validity_09.cc
tests/base/work_stream_03_graph.cc [new file with mode: 0644]
tests/base/work_stream_03_graph.output [new file with mode: 0644]
tests/base/work_stream_05.cc [new file with mode: 0644]
tests/base/work_stream_05.output [new file with mode: 0644]
tests/base/work_stream_05_graph.cc [new file with mode: 0644]
tests/base/work_stream_05_graph.output [new file with mode: 0644]
tests/bits/fe_tools_08.cc
tests/bits/fe_tools_08.output
tests/bits/find_cell_10.cc
tests/bits/find_cell_10a.cc [new file with mode: 0644]
tests/bits/find_cell_10a.debug.output [new file with mode: 0644]
tests/bits/find_cell_alt_7.cc
tests/bits/parameter_handler_15.cc
tests/bits/parameter_handler_16.cc [new file with mode: 0644]
tests/bits/parameter_handler_16.output [new file with mode: 0644]
tests/bits/parameter_handler_16.prm [new file with mode: 0644]
tests/bits/parameter_handler_1_include.cc [new file with mode: 0644]
tests/bits/parameter_handler_1_include.output [new file with mode: 0644]
tests/bits/parameter_handler_1_include.prm [new file with mode: 0644]
tests/bits/parameter_handler_1_include.prm2 [new file with mode: 0644]
tests/bits/parameter_handler_1_include_fail.cc [new file with mode: 0644]
tests/bits/parameter_handler_1_include_fail.output [new file with mode: 0644]
tests/bits/parameter_handler_1_include_fail.prm [new file with mode: 0644]
tests/bits/parsed_function.cc
tests/fe/mapping_real_to_unit_q4_sphere.cc
tests/fe/mapping_real_to_unit_q4_sphere_x.cc
tests/fe/mapping_real_to_unit_q4_sphere_y.cc
tests/fe/mapping_real_to_unit_q4_sphere_z.cc
tests/fe/rt_approximation_01.cc
tests/matrix_free/estimate_condition_number_mass.cc
tests/mpi/trilinos_sparse_matrix_mmult_01.cc
tests/mpi/trilinos_sparse_matrix_mmult_01.with_trilinos=true.with_64bit_indices=off.mpirun=1.output [moved from tests/mpi/trilinos_sparse_matrix_mmult_01.with_trilinos=true.mpirun=1.output with 100% similarity]
tests/mpi/trilinos_sparse_matrix_mmult_01.with_trilinos=true.with_64bit_indices=off.mpirun=2.output [moved from tests/mpi/trilinos_sparse_matrix_mmult_01.with_trilinos=true.mpirun=2.output with 100% similarity]
tests/multigrid/mg_output.cc
tests/multigrid/mg_renumbered_01.cc
tests/multigrid/mg_renumbered_02.cc
tests/multigrid/mg_renumbered_03.cc
tests/multigrid/step-16-02.cc
tests/multigrid/step-39-02.cc
tests/multigrid/step-39-03.cc
tests/multigrid/step-39-03.output
tests/multigrid/transfer_03.cc
tests/petsc/01.cc
tests/petsc/02.cc
tests/petsc/05.cc
tests/petsc/06.cc
tests/petsc/07.cc
tests/petsc/08.cc
tests/petsc/09.cc
tests/petsc/10.cc
tests/petsc/11.cc
tests/petsc/12.cc
tests/petsc/13.cc
tests/petsc/17.cc
tests/petsc/18.cc
tests/petsc/19.cc
tests/petsc/20.cc
tests/petsc/21.cc
tests/petsc/22.cc
tests/petsc/23.cc
tests/petsc/24.cc
tests/petsc/25.cc
tests/petsc/26.cc
tests/petsc/27.cc
tests/petsc/28.cc
tests/petsc/30.cc
tests/petsc/31.cc
tests/petsc/32.cc
tests/petsc/33.cc
tests/petsc/34.cc
tests/petsc/35.cc
tests/petsc/36.cc
tests/petsc/37.cc
tests/petsc/38.cc
tests/petsc/39.cc
tests/petsc/40.cc
tests/petsc/41.cc
tests/petsc/42.cc
tests/petsc/43.cc
tests/petsc/44.cc
tests/petsc/45.cc
tests/petsc/46.cc
tests/petsc/47.cc
tests/petsc/48.cc
tests/petsc/51.cc
tests/petsc/52.cc
tests/petsc/55.cc
tests/petsc/56.cc
tests/petsc/57.cc
tests/petsc/58.cc
tests/petsc/59.cc
tests/petsc/60.cc
tests/petsc/61.cc
tests/petsc/66.cc
tests/petsc/67.cc
tests/petsc/68.cc
tests/petsc/69.cc
tests/petsc/deal_solver_01.cc
tests/petsc/deal_solver_02.cc
tests/petsc/deal_solver_03.cc
tests/petsc/deal_solver_04.cc
tests/petsc/deal_solver_05.cc
tests/petsc/full_matrix_01.cc
tests/petsc/full_matrix_02.cc
tests/petsc/full_matrix_05.cc
tests/petsc/full_matrix_06.cc
tests/petsc/full_matrix_07.cc
tests/petsc/full_matrix_08.cc
tests/petsc/full_matrix_09.cc
tests/petsc/full_matrix_10.cc
tests/petsc/full_matrix_iterator_01.cc
tests/petsc/full_matrix_vector_01.cc
tests/petsc/full_matrix_vector_02.cc
tests/petsc/full_matrix_vector_03.cc
tests/petsc/full_matrix_vector_04.cc
tests/petsc/full_matrix_vector_05.cc
tests/petsc/full_matrix_vector_06.cc
tests/petsc/full_matrix_vector_07.cc
tests/petsc/parallel_sparse_matrix_01.cc
tests/petsc/slowness_01.cc
tests/petsc/slowness_02.cc
tests/petsc/slowness_03.cc
tests/petsc/slowness_04.cc
tests/petsc/solver_01.cc
tests/petsc/solver_02.cc
tests/petsc/solver_03.cc
tests/petsc/solver_03_mf.cc
tests/petsc/solver_03_precondition_boomeramg.cc
tests/petsc/solver_03_precondition_boomeramg_symmetric.cc
tests/petsc/solver_03_precondition_eisenstat.cc
tests/petsc/solver_03_precondition_icc.cc
tests/petsc/solver_03_precondition_ilu.cc
tests/petsc/solver_03_precondition_lu.cc
tests/petsc/solver_03_precondition_parasails.cc
tests/petsc/solver_03_precondition_sor.cc
tests/petsc/solver_03_precondition_ssor.cc
tests/petsc/solver_04.cc
tests/petsc/solver_05.cc
tests/petsc/solver_06.cc
tests/petsc/solver_07.cc
tests/petsc/solver_08.cc
tests/petsc/solver_09.cc
tests/petsc/solver_10.cc
tests/petsc/solver_11.cc
tests/petsc/solver_12.cc
tests/petsc/solver_13.cc
tests/petsc/sparse_direct_mumps.cc
tests/petsc/sparse_matrix_01.cc
tests/petsc/sparse_matrix_02.cc
tests/petsc/sparse_matrix_iterator_01.cc
tests/petsc/sparse_matrix_vector_01.cc
tests/petsc/sparse_matrix_vector_02.cc
tests/petsc/sparse_matrix_vector_03.cc
tests/petsc/sparse_matrix_vector_04.cc
tests/petsc/sparse_matrix_vector_05.cc
tests/petsc/sparse_matrix_vector_06.cc
tests/petsc/sparse_matrix_vector_07.cc

index 10c49aa7d70afcc87a4795accf5ccfab638b84c8..c82bc72bf3d8ba57f7adf54978de152bc4441703 100644 (file)
@@ -38,7 +38,7 @@ int main ()
 
   // Define some constants that will be used by the function parser
   std::map<std::string, double> constants;
-  constants["pi"] = M_PI;
+  constants["pi"] = numbers::PI;
 
   // Define the variables that will be used inside the expressions
   std::string variables = "x,y";
index ed4be3f13779d0be7cdeb93562ebde332bd8dd72..752e50034d80d7f8912d7c8ad4ffd57a03abfe5c 100644 (file)
@@ -57,7 +57,7 @@ void check()
   // Create the coloring
   typename DoFHandler<dim>::active_cell_iterator cell(dof_handler.begin_active());
   std::vector<std::vector<typename DoFHandler<dim>::active_cell_iterator> > coloring(
-      graph_coloring::make_graph_coloring(cell,dof_handler.end(),
+      GraphColoring::make_graph_coloring(cell,dof_handler.end(),
       std_cxx1x::function<std::vector<types::global_dof_index> (typename 
         DoFHandler<dim>::active_cell_iterator const &)> (&get_conflict_indices_cfem<dim>)));      
 
index 456732eb3656c52f36720d18c38e60cc315d5a49..b789d039d3f082bd821b81390322c2108cd52519 100644 (file)
@@ -67,7 +67,7 @@ void check()
 
   // Create the coloring
   std::vector<std::vector<typename DoFHandler<dim>::active_cell_iterator> > coloring(
-      graph_coloring::make_graph_coloring(dof_handler.begin_active(),dof_handler.end(),
+      GraphColoring::make_graph_coloring(dof_handler.begin_active(),dof_handler.end(),
         std_cxx1x::function<std::vector<types::global_dof_index> (typename 
           DoFHandler<dim>::active_cell_iterator const &)> (&get_conflict_indices_cfem<dim>)));
 
diff --git a/tests/base/graph_coloring_02a.cc b/tests/base/graph_coloring_02a.cc
new file mode 100644 (file)
index 0000000..c91af9d
--- /dev/null
@@ -0,0 +1,121 @@
+// ---------------------------------------------------------------------
+// $Id: graph_coloring_02.cc 30045 2013-07-18 19:18:00Z maier $
+//
+// Copyright (C) 2003 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+
+// Like _02, but verify that the elements in each partition really do
+// not conflict
+
+
+#include "../tests.h"
+#include <fstream>
+#include <vector>
+
+#include <deal.II/base/graph_coloring.h>
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/tria.h>
+
+template <int dim>
+std::vector<types::global_dof_index> get_conflict_indices_cfem(
+    typename DoFHandler<dim>::active_cell_iterator const &it)
+{
+  std::vector<types::global_dof_index> local_dof_indices(it->get_fe().dofs_per_cell);
+  it->get_dof_indices(local_dof_indices);
+
+  return local_dof_indices;
+}
+
+template <int dim>
+void check()
+{
+  // Create the Triangulation and the DoFHandler
+  Triangulation<dim> triangulation;
+  GridGenerator::hyper_cube(triangulation);
+  triangulation.refine_global(2);
+  FE_Q<dim> fe(2);
+  DoFHandler<dim> dof_handler(triangulation);
+  dof_handler.distribute_dofs(fe);
+
+  // Create an adapted mesh
+  typename DoFHandler<dim>::active_cell_iterator
+  cell = dof_handler.begin_active();
+  for (; cell<dof_handler.end(); ++cell)
+  {
+    if ((cell->center()[0]==0.625)
+       &&
+       ((dim < 2) || (cell->center()[1]==0.625))
+       &&
+       ((dim < 3) || (cell->center()[2]==0.625)))
+    cell->set_refine_flag();
+  }
+  triangulation.execute_coarsening_and_refinement();
+  dof_handler.distribute_dofs(fe);
+
+  // Create the coloring
+  std::vector<std::vector<typename DoFHandler<dim>::active_cell_iterator> > coloring(
+      GraphColoring::make_graph_coloring(dof_handler.begin_active(),dof_handler.end(),
+        std_cxx1x::function<std::vector<types::global_dof_index> (typename
+          DoFHandler<dim>::active_cell_iterator const &)> (&get_conflict_indices_cfem<dim>)));
+
+  // verify that within each color, there is no conflict
+  for (unsigned int color=0; color<coloring.size(); ++color)
+    for (unsigned int i=0; i<coloring[color].size(); ++i)
+      {
+       std::vector<types::global_dof_index>
+         conflicts_i = get_conflict_indices_cfem<dim> (coloring[color][i]);
+       std::sort (conflicts_i.begin(), conflicts_i.end());
+
+       for (unsigned int j=i+1; j<coloring[color].size(); ++j)
+         {
+           std::vector<types::global_dof_index>
+             conflicts_j = get_conflict_indices_cfem<dim> (coloring[color][j]);
+           std::sort (conflicts_j.begin(), conflicts_j.end());
+
+           // compute intersection of index sets
+           std::vector<types::global_dof_index>
+             intersection (std::max (conflicts_i.size(), conflicts_j.size()));
+           std::vector<types::global_dof_index>::iterator
+             p = std::set_intersection (conflicts_i.begin(), conflicts_i.end(),
+                                        conflicts_j.begin(), conflicts_j.end(),
+                                        intersection.begin());
+           // verify that there is no intersection
+           Assert (p == intersection.begin(),
+                   ExcInternalError());
+         }
+      }
+
+  deallog << "OK" << std::endl;
+}
+
+int main()
+{
+  std::ofstream logfile("output");
+  deallog<<std::setprecision(4);
+  deallog<<std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+
+  check<1> ();
+  check<2> ();
+  check<3> ();
+
+  return 0;
+}
diff --git a/tests/base/graph_coloring_02a.output b/tests/base/graph_coloring_02a.output
new file mode 100644 (file)
index 0000000..fb71de2
--- /dev/null
@@ -0,0 +1,4 @@
+
+DEAL::OK
+DEAL::OK
+DEAL::OK
index 3db85f0e9f2ced4bb9cc18a1e6209f7a8149e6eb..c354cd7ba14fdd3642fc63c463912ab160dc4f73 100644 (file)
@@ -69,7 +69,7 @@ void check()
 
   // Create the coloring
   std::vector<std::vector<typename hp::DoFHandler<dim>::active_cell_iterator> > coloring(
-      graph_coloring::make_graph_coloring(dof_handler.begin_active(),dof_handler.end(),
+      GraphColoring::make_graph_coloring(dof_handler.begin_active(),dof_handler.end(),
         std_cxx1x::function<std::vector<types::global_dof_index> (typename 
           hp::DoFHandler<dim>::active_cell_iterator const &)> (&get_conflict_indices_cfem<dim>)));
 
index 901430bc8a95b00dcac68579bdb11ce5e6c38d22..9ff6fd11d2cf2881f10c2b15d09388e44ae5332c 100644 (file)
@@ -80,7 +80,7 @@ void check ()
       cell != stokes_dof_handler.end(); ++cell)
     cell->clear_user_flag ();
   std::vector<std::vector<typename DoFHandler<dim>::active_cell_iterator> > coloring 
-    = graph_coloring::make_graph_coloring(stokes_dof_handler.begin_active(),
+    = GraphColoring::make_graph_coloring(stokes_dof_handler.begin_active(),
         stokes_dof_handler.end(),
         std_cxx1x::function<std::vector<types::global_dof_index> (
           const typename DoFHandler<dim>::active_cell_iterator &)>(&get_conflict_indices<dim>));
diff --git a/tests/base/graph_coloring_05.cc b/tests/base/graph_coloring_05.cc
new file mode 100644 (file)
index 0000000..3961368
--- /dev/null
@@ -0,0 +1,105 @@
+// ---------------------------------------------------------------------
+// $Id: graph_coloring_02.cc 30045 2013-07-18 19:18:00Z maier $
+//
+// Copyright (C) 2003 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+
+// Check that graph coloring works on adapted mesh with a uniform polynomial
+// order.
+
+
+#include "../tests.h"
+#include <fstream>
+#include <set>
+#include <vector>
+
+#include <deal.II/base/graph_coloring.h>
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/tria.h>
+
+template <int dim>
+std::vector<types::global_dof_index> get_conflict_indices_cfem(
+    typename DoFHandler<dim>::active_cell_iterator const &it) 
+{
+  std::vector<types::global_dof_index> local_dof_indices(it->get_fe().dofs_per_cell);
+  it->get_dof_indices(local_dof_indices);
+
+  return local_dof_indices;
+}
+
+template <int dim>
+void check()
+{
+  // Create the Triangulation and the DoFHandler
+  Triangulation<dim> triangulation;
+  GridGenerator::hyper_cube(triangulation);
+  triangulation.refine_global(2);
+  FE_Q<dim> fe(2);
+  DoFHandler<dim> dof_handler(triangulation);
+  dof_handler.distribute_dofs(fe);
+
+  // Create an adapted mesh
+  typename DoFHandler<dim>::active_cell_iterator
+  cell = dof_handler.begin_active();
+  for (; cell<dof_handler.end(); ++cell)
+  {
+    if ((cell->center()[0]==0.625) && (cell->center()[1]==0.625))
+    cell->set_refine_flag();
+  }
+  triangulation.execute_coarsening_and_refinement();
+  dof_handler.distribute_dofs(fe);
+
+  // Create the coloring
+  std::vector<std::vector<typename DoFHandler<dim>::active_cell_iterator> > coloring(
+      GraphColoring::make_graph_coloring(dof_handler.begin_active(),dof_handler.end(),
+        std_cxx1x::function<std::vector<types::global_dof_index> (typename 
+          DoFHandler<dim>::active_cell_iterator const &)> (&get_conflict_indices_cfem<dim>)));
+
+  // Check that a color does not contain a conflict index twice
+  for (unsigned int color=0; color<coloring.size(); ++color)
+  {
+    std::set<types::global_dof_index> color_set;
+    for (unsigned int i=0; i<coloring[color].size(); ++i)
+    {
+      std::vector<types::global_dof_index> dofs = get_conflict_indices_cfem<dim>(coloring[color][i]);
+      for (unsigned int j=0; j<dofs.size(); ++j)
+      {
+        if (color_set.count(dofs[j])!=0)
+          deallog<<"Error in color: "<<color<<std::endl;
+        color_set.insert(dofs[j]);
+      }
+    }
+  }
+
+  deallog<<"OK"<<std::endl;
+}
+
+int main()
+{
+  std::ofstream logfile("output");
+  deallog<<std::setprecision(4);
+  deallog<<std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+
+  check<2> ();
+
+  return 0;
+}
diff --git a/tests/base/graph_coloring_05.output b/tests/base/graph_coloring_05.output
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/base/graph_coloring_06.cc b/tests/base/graph_coloring_06.cc
new file mode 100644 (file)
index 0000000..d8ea3f2
--- /dev/null
@@ -0,0 +1,100 @@
+// ---------------------------------------------------------------------
+// $Id: graph_coloring_02.cc 30045 2013-07-18 19:18:00Z maier $
+//
+// Copyright (C) 2003 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+
+// Output the sizes of colors
+
+
+#include "../tests.h"
+#include <fstream>
+#include <set>
+#include <vector>
+
+#include <deal.II/base/graph_coloring.h>
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/tria.h>
+
+template <int dim>
+std::vector<types::global_dof_index> get_conflict_indices_cfem(
+    typename DoFHandler<dim>::active_cell_iterator const &it) 
+{
+  std::vector<types::global_dof_index> local_dof_indices(it->get_fe().dofs_per_cell);
+  it->get_dof_indices(local_dof_indices);
+
+  return local_dof_indices;
+}
+
+template <int dim>
+void check()
+{
+  deallog << "dim=" << dim <<  std::endl;
+  
+  // Create the Triangulation and the DoFHandler
+  Triangulation<dim> triangulation;
+  GridGenerator::hyper_cube(triangulation, -1, 1);
+  triangulation.refine_global(2);
+  FE_Q<dim> fe(2);
+  DoFHandler<dim> dof_handler(triangulation);
+  dof_handler.distribute_dofs(fe);
+
+  // Create an adapted mesh
+  for (unsigned int l=0; l<11-2*dim; ++l)
+    {
+      typename DoFHandler<dim>::active_cell_iterator
+       cell = dof_handler.begin_active();
+      for (; cell<dof_handler.end(); ++cell)
+       if (cell->center().distance (Point<dim>()) < cell->diameter())
+         cell->set_refine_flag();
+      triangulation.execute_coarsening_and_refinement();
+    }
+  dof_handler.distribute_dofs(fe);
+
+  deallog << "Total number of cells = " << triangulation.n_active_cells()
+         << std::endl;
+  
+  // Create the coloring
+  std::vector<std::vector<typename DoFHandler<dim>::active_cell_iterator> >
+    coloring
+    = GraphColoring::make_graph_coloring(dof_handler.begin_active(),
+                                        dof_handler.end(),
+                                        std_cxx1x::function<std::vector<types::global_dof_index>
+                                        (typename DoFHandler<dim>::active_cell_iterator const &)>
+                                        (&get_conflict_indices_cfem<dim>));
+
+  for (unsigned int color=0; color<coloring.size(); ++color)
+    deallog << coloring[color].size() << std::endl;
+}
+
+int main()
+{
+  std::ofstream logfile("output");
+  deallog<<std::setprecision(4);
+  deallog<<std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+
+  check<1> ();
+  check<2> ();
+  check<3> ();
+
+  return 0;
+}
diff --git a/tests/base/graph_coloring_06.output b/tests/base/graph_coloring_06.output
new file mode 100644 (file)
index 0000000..3cf0fd2
--- /dev/null
@@ -0,0 +1,37 @@
+
+DEAL::dim=1
+DEAL::Total number of cells = 22
+DEAL::11
+DEAL::11
+DEAL::dim=2
+DEAL::Total number of cells = 100
+DEAL::12
+DEAL::12
+DEAL::10
+DEAL::13
+DEAL::13
+DEAL::13
+DEAL::13
+DEAL::14
+DEAL::dim=3
+DEAL::Total number of cells = 1184
+DEAL::67
+DEAL::58
+DEAL::46
+DEAL::45
+DEAL::64
+DEAL::67
+DEAL::63
+DEAL::57
+DEAL::55
+DEAL::55
+DEAL::65
+DEAL::69
+DEAL::54
+DEAL::65
+DEAL::59
+DEAL::64
+DEAL::63
+DEAL::64
+DEAL::54
+DEAL::50
index 2f4bbe18feccef773380495ab9ec59e5c4a859fd..c7bed3a4eb8e7b78045fc7d9ec1efecdc498c528 100644 (file)
@@ -26,7 +26,7 @@
 
 
 Threads::Mutex mutex;
-int spin_lock = 0;
+volatile int spin_lock = 0;
 
 
 void worker ()
index 60d3247d9c263e156e86cb94cf828f6d616fea18..60ec25506f6ab4ee0ece9edd5581999d4fd9540d 100644 (file)
@@ -29,7 +29,7 @@
 
 
 Threads::Mutex mutex;
-int spin_lock = 0;
+volatile int spin_lock = 0;
 
 
 int worker ()
diff --git a/tests/base/work_stream_03_graph.cc b/tests/base/work_stream_03_graph.cc
new file mode 100644 (file)
index 0000000..4aface3
--- /dev/null
@@ -0,0 +1,185 @@
+// ---------------------------------------------------------------------
+// $Id$
+//
+// Copyright (C) 2006 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Like _03 but with a graph coloring algorithm for the iterators. The
+// graph coloring here is simple since all writes conflict (we just
+// add to a scalar)
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/quadrature_lib.h>
+#include <deal.II/base/work_stream.h>
+#include <deal.II/lac/vector.h>
+#include <deal.II/base/parallel.h>
+
+#include <deal.II/grid/tria.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/fe/fe_nothing.h>
+#include <deal.II/fe/fe_values.h>
+
+#include <fstream>
+#include <vector>
+
+
+template<int dim>
+double
+value(const Point<dim> &p)
+{
+  double val = 0;
+  for (unsigned int d = 0; d < dim; ++d)
+    for (unsigned int i = 0; i <= 1; ++i)
+      val += std::pow(p[d], 1. * i);
+  return val;
+}
+
+namespace
+{
+  template<int dim>
+  struct Scratch
+  {
+    Scratch(const FiniteElement<dim> &fe, const Quadrature<dim> &quadrature) :
+      fe_collection(fe), quadrature_collection(quadrature), x_fe_values(
+        fe_collection, quadrature_collection, update_q_points), rhs_values(
+          quadrature_collection.size())
+    {
+    }
+
+    Scratch(const Scratch &data) :
+      fe_collection(data.fe_collection), quadrature_collection(
+        data.quadrature_collection), x_fe_values(fe_collection,
+                                                 quadrature_collection, update_q_points), rhs_values(
+                                                   data.rhs_values)
+    {
+    }
+
+    const FiniteElement<dim> &fe_collection;
+    const Quadrature<dim> &quadrature_collection;
+
+    FEValues<dim> x_fe_values;
+
+    std::vector<double> rhs_values;
+  };
+
+  struct CopyData
+  {
+    std::vector<double> cell_rhs;
+  };
+}
+
+void
+zero_subrange(const unsigned int begin, const unsigned int end,
+              std::vector<double> &dst)
+{
+  for (unsigned int i = begin; i < end; ++i)
+    dst[i] = 0;
+}
+
+
+void
+zero_element(std::vector<double> &dst,
+             const unsigned int i)
+{
+  dst[i] = 0;
+}
+
+
+template<int dim>
+void
+mass_assembler(const typename Triangulation<dim>::active_cell_iterator &cell,
+               Scratch<dim> &data, CopyData &copy_data)
+{
+  data.x_fe_values.reinit(cell);
+
+  const Point<dim> q = data.x_fe_values.quadrature_point(0);
+
+  // this appears to be the key: the following two ways both overwrite some
+  // of the memory in which we store the quadrature point location.
+  parallel::apply_to_subranges(0U, copy_data.cell_rhs.size(),
+                               std_cxx1x::bind(&zero_subrange, std_cxx1x::_1, std_cxx1x::_2,
+                                               std_cxx1x::ref(copy_data.cell_rhs)), 1);
+
+  Assert(q == data.x_fe_values.quadrature_point(0),
+         ExcInternalError());
+
+  copy_data.cell_rhs[0] = value(data.x_fe_values.quadrature_point(0));
+}
+
+
+void
+copy_local_to_global(const CopyData &data, double *sum)
+{
+  *sum += data.cell_rhs[0];
+}
+
+
+// the function that defines conclicts. we always write into the same
+// field, so we need to always return the same index
+template <int dim>
+std::vector<types::global_dof_index>
+conflictor (const typename Triangulation<dim>::active_cell_iterator &)
+{
+  return std::vector<types::global_dof_index>(1, types::global_dof_index());
+}
+
+
+void
+do_project()
+{
+  static const int dim = 3;
+
+  Triangulation < dim > triangulation;
+  GridGenerator::hyper_cube (triangulation);
+  triangulation.refine_global(2);
+
+  FE_Nothing < dim > fe;
+  QMidpoint < dim > q;
+
+  for (unsigned int i = 0; i < 12; ++i)
+    {
+      std::vector<double> tmp;
+
+      double sum = 0;
+      Scratch<dim> assembler_data(fe, q);
+      CopyData copy_data;
+      copy_data.cell_rhs.resize(8);
+      WorkStream::run(GraphColoring::make_graph_coloring (triangulation.begin_active(),
+                                                         triangulation.end(),
+                                                         std_cxx1x::function<std::vector<types::global_dof_index>
+                                                                             (const Triangulation<dim>::active_cell_iterator &)>
+                                                         (&conflictor<dim>)),
+                      &mass_assembler<dim>,
+                      std_cxx1x::bind(&copy_local_to_global, std_cxx1x::_1, &sum),
+                      assembler_data, copy_data, 8, 1);
+
+      Assert (std::fabs(sum-288.) < 1e-12, ExcInternalError());
+      deallog << sum << std::endl;
+    }
+}
+
+
+int main()
+{
+  std::ofstream logfile("output");
+  deallog << std::setprecision(3);
+
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  do_project();
+}
diff --git a/tests/base/work_stream_03_graph.output b/tests/base/work_stream_03_graph.output
new file mode 100644 (file)
index 0000000..d1b460b
--- /dev/null
@@ -0,0 +1,13 @@
+
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
diff --git a/tests/base/work_stream_05.cc b/tests/base/work_stream_05.cc
new file mode 100644 (file)
index 0000000..5f74904
--- /dev/null
@@ -0,0 +1,99 @@
+// ---------------------------------------------------------------------
+// $Id$
+//
+// Copyright (C) 2008 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// a test for WorkStream where we really do write conflicting entries
+// into a global vector
+
+#include "../tests.h"
+#include <iomanip>
+#include <iomanip>
+#include <fstream>
+#include <cmath>
+
+#include <deal.II/base/work_stream.h>
+#include <deal.II/lac/vector.h>
+
+
+Vector<double> result(100);
+
+
+struct ScratchData
+{};
+
+
+struct CopyData
+{
+  unsigned int computed;
+};
+
+
+void worker (const std::vector<unsigned int>::iterator &i,
+            ScratchData &,
+            CopyData &ad)
+{
+  ad.computed = *i * 2;
+}
+
+void copier (const CopyData &ad)
+{
+  // write into the five elements of 'result' starting at ad.computed%result.size()
+  for (unsigned int j=0; j<5; ++j)
+    result((ad.computed+j) % result.size()) += ad.computed;
+}
+
+
+
+void test ()
+{
+  std::vector<unsigned int> v;
+  for (unsigned int i=0; i<200; ++i)
+    v.push_back (i);
+
+  WorkStream::run (v.begin(), v.end(), &worker, &copier,
+                   ScratchData(),
+                   CopyData());
+
+  // now simulate what we should have gotten
+  Vector<double> comp(result.size());
+  for (unsigned int i=0; i<v.size(); ++i)
+    {
+      const unsigned int ad_computed = v[i] * 2;
+      for (unsigned int j=0; j<5; ++j)
+       comp((ad_computed+j) % result.size()) += ad_computed;
+    }
+
+
+  // and compare
+  for (unsigned int i=0; i<result.size(); ++i)
+    Assert (result(i) == comp(i), ExcInternalError());
+
+  for (unsigned int i=0; i<result.size(); ++i)
+    deallog << result(i) << std::endl;
+}
+
+
+
+
+int main()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  test ();
+}
diff --git a/tests/base/work_stream_05.output b/tests/base/work_stream_05.output
new file mode 100644 (file)
index 0000000..728770d
--- /dev/null
@@ -0,0 +1,101 @@
+
+DEAL::2576.00
+DEAL::1592.00
+DEAL::2200.00
+DEAL::1208.00
+DEAL::1824.00
+DEAL::1224.00
+DEAL::1848.00
+DEAL::1240.00
+DEAL::1872.00
+DEAL::1256.00
+DEAL::1896.00
+DEAL::1272.00
+DEAL::1920.00
+DEAL::1288.00
+DEAL::1944.00
+DEAL::1304.00
+DEAL::1968.00
+DEAL::1320.00
+DEAL::1992.00
+DEAL::1336.00
+DEAL::2016.00
+DEAL::1352.00
+DEAL::2040.00
+DEAL::1368.00
+DEAL::2064.00
+DEAL::1384.00
+DEAL::2088.00
+DEAL::1400.00
+DEAL::2112.00
+DEAL::1416.00
+DEAL::2136.00
+DEAL::1432.00
+DEAL::2160.00
+DEAL::1448.00
+DEAL::2184.00
+DEAL::1464.00
+DEAL::2208.00
+DEAL::1480.00
+DEAL::2232.00
+DEAL::1496.00
+DEAL::2256.00
+DEAL::1512.00
+DEAL::2280.00
+DEAL::1528.00
+DEAL::2304.00
+DEAL::1544.00
+DEAL::2328.00
+DEAL::1560.00
+DEAL::2352.00
+DEAL::1576.00
+DEAL::2376.00
+DEAL::1592.00
+DEAL::2400.00
+DEAL::1608.00
+DEAL::2424.00
+DEAL::1624.00
+DEAL::2448.00
+DEAL::1640.00
+DEAL::2472.00
+DEAL::1656.00
+DEAL::2496.00
+DEAL::1672.00
+DEAL::2520.00
+DEAL::1688.00
+DEAL::2544.00
+DEAL::1704.00
+DEAL::2568.00
+DEAL::1720.00
+DEAL::2592.00
+DEAL::1736.00
+DEAL::2616.00
+DEAL::1752.00
+DEAL::2640.00
+DEAL::1768.00
+DEAL::2664.00
+DEAL::1784.00
+DEAL::2688.00
+DEAL::1800.00
+DEAL::2712.00
+DEAL::1816.00
+DEAL::2736.00
+DEAL::1832.00
+DEAL::2760.00
+DEAL::1848.00
+DEAL::2784.00
+DEAL::1864.00
+DEAL::2808.00
+DEAL::1880.00
+DEAL::2832.00
+DEAL::1896.00
+DEAL::2856.00
+DEAL::1912.00
+DEAL::2880.00
+DEAL::1928.00
+DEAL::2904.00
+DEAL::1944.00
+DEAL::2928.00
+DEAL::1960.00
+DEAL::2952.00
+DEAL::1976.00
diff --git a/tests/base/work_stream_05_graph.cc b/tests/base/work_stream_05_graph.cc
new file mode 100644 (file)
index 0000000..c0c88a2
--- /dev/null
@@ -0,0 +1,115 @@
+// ---------------------------------------------------------------------
+// $Id$
+//
+// Copyright (C) 2008 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// like _05, but with graph coloring
+
+#include "../tests.h"
+#include <iomanip>
+#include <iomanip>
+#include <fstream>
+#include <cmath>
+
+#include <deal.II/base/work_stream.h>
+#include <deal.II/lac/vector.h>
+
+
+Vector<double> result(100);
+
+
+struct ScratchData
+{};
+
+
+struct CopyData
+{
+  unsigned int computed;
+};
+
+
+void worker (const std::vector<unsigned int>::iterator &i,
+            ScratchData &,
+            CopyData &ad)
+{
+  ad.computed = *i * 2;
+}
+
+void copier (const CopyData &ad)
+{
+  // write into the five elements of 'result' starting at ad.computed%result.size()
+  for (unsigned int j=0; j<5; ++j)
+    result((ad.computed+j) % result.size()) += ad.computed;
+}
+
+
+// the function that computes conflicts
+std::vector<types::global_dof_index>
+conflictor (const std::vector<unsigned int>::iterator &i)
+{
+  std::vector<types::global_dof_index> conflicts;
+  const unsigned int ad_computed = *i * 2;
+  for (unsigned int j=0; j<5; ++j)
+    conflicts.push_back ((ad_computed+j) % result.size());
+
+  return conflicts;
+}
+
+
+
+void test ()
+{
+  std::vector<unsigned int> v;
+  for (unsigned int i=0; i<200; ++i)
+    v.push_back (i);
+
+  WorkStream::run (GraphColoring::make_graph_coloring (v.begin(), v.end(),
+                                                      std_cxx1x::function<std::vector<types::global_dof_index>
+                                                                          (const std::vector<unsigned int>::iterator &)>
+                                                      (&conflictor)),
+                  &worker, &copier,
+                   ScratchData(),
+                   CopyData());
+
+  // now simulate what we should have gotten
+  Vector<double> comp(result.size());
+  for (unsigned int i=0; i<v.size(); ++i)
+    {
+      const unsigned int ad_computed = v[i] * 2;
+      for (unsigned int j=0; j<5; ++j)
+       comp((ad_computed+j) % result.size()) += ad_computed;
+    }
+
+
+  // and compare
+  for (unsigned int i=0; i<result.size(); ++i)
+    Assert (result(i) == comp(i), ExcInternalError());
+
+  for (unsigned int i=0; i<result.size(); ++i)
+    deallog << result(i) << std::endl;
+}
+
+
+
+
+int main()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  test ();
+}
diff --git a/tests/base/work_stream_05_graph.output b/tests/base/work_stream_05_graph.output
new file mode 100644 (file)
index 0000000..728770d
--- /dev/null
@@ -0,0 +1,101 @@
+
+DEAL::2576.00
+DEAL::1592.00
+DEAL::2200.00
+DEAL::1208.00
+DEAL::1824.00
+DEAL::1224.00
+DEAL::1848.00
+DEAL::1240.00
+DEAL::1872.00
+DEAL::1256.00
+DEAL::1896.00
+DEAL::1272.00
+DEAL::1920.00
+DEAL::1288.00
+DEAL::1944.00
+DEAL::1304.00
+DEAL::1968.00
+DEAL::1320.00
+DEAL::1992.00
+DEAL::1336.00
+DEAL::2016.00
+DEAL::1352.00
+DEAL::2040.00
+DEAL::1368.00
+DEAL::2064.00
+DEAL::1384.00
+DEAL::2088.00
+DEAL::1400.00
+DEAL::2112.00
+DEAL::1416.00
+DEAL::2136.00
+DEAL::1432.00
+DEAL::2160.00
+DEAL::1448.00
+DEAL::2184.00
+DEAL::1464.00
+DEAL::2208.00
+DEAL::1480.00
+DEAL::2232.00
+DEAL::1496.00
+DEAL::2256.00
+DEAL::1512.00
+DEAL::2280.00
+DEAL::1528.00
+DEAL::2304.00
+DEAL::1544.00
+DEAL::2328.00
+DEAL::1560.00
+DEAL::2352.00
+DEAL::1576.00
+DEAL::2376.00
+DEAL::1592.00
+DEAL::2400.00
+DEAL::1608.00
+DEAL::2424.00
+DEAL::1624.00
+DEAL::2448.00
+DEAL::1640.00
+DEAL::2472.00
+DEAL::1656.00
+DEAL::2496.00
+DEAL::1672.00
+DEAL::2520.00
+DEAL::1688.00
+DEAL::2544.00
+DEAL::1704.00
+DEAL::2568.00
+DEAL::1720.00
+DEAL::2592.00
+DEAL::1736.00
+DEAL::2616.00
+DEAL::1752.00
+DEAL::2640.00
+DEAL::1768.00
+DEAL::2664.00
+DEAL::1784.00
+DEAL::2688.00
+DEAL::1800.00
+DEAL::2712.00
+DEAL::1816.00
+DEAL::2736.00
+DEAL::1832.00
+DEAL::2760.00
+DEAL::1848.00
+DEAL::2784.00
+DEAL::1864.00
+DEAL::2808.00
+DEAL::1880.00
+DEAL::2832.00
+DEAL::1896.00
+DEAL::2856.00
+DEAL::1912.00
+DEAL::2880.00
+DEAL::1928.00
+DEAL::2904.00
+DEAL::1944.00
+DEAL::2928.00
+DEAL::1960.00
+DEAL::2952.00
+DEAL::1976.00
index a2c7e70cc543148686cebd7418fce47f1a4c41a3..a6dfb10af7c546b1355efc28e959a8e6460948a8 100644 (file)
@@ -31,7 +31,7 @@ void
 check_this (const FiniteElement<dim> &fe1,
             const FiniteElement<dim> &fe2)
 {
-  deallog << std::setprecision (9);
+  deallog << std::setprecision (10);
 
   // only check if both elements have
   // support points. otherwise,
index 2c4fcf57279b85ee870e20e53e74ac0e63c465c4..863a90034b39ab29875e273c612d651964bc4540 100644 (file)
 DEAL::Checking Q1 against Q1 in 1d:
 DEAL::Checking Q1 against Q1 in 1d:
 DEAL::Checking Q1 against Q1 in 2d:
-DEAL::99.7500000 29.1515437 15.0000000
-DEAL::0 1.00000000 2.00000000 3.50000000 4.00000000 5.00000000 6.00000000 8.00000000 3.00000000 4.25000000 10.0000000 5.50000000 0.500000000 12.5000000 7.50000000 15.0000000 9.50000000 2.50000000 
+DEAL::99.75000000 29.15154370 15.00000000
+DEAL::0 1.000000000 2.000000000 3.500000000 4.000000000 5.000000000 6.000000000 8.000000000 3.000000000 4.250000000 10.00000000 5.500000000 0.5000000000 12.50000000 7.500000000 15.00000000 9.500000000 2.500000000 
 DEAL::Checking Q1 against Q1 in 2d:
-DEAL::99.7500000 29.1515437 15.0000000
-DEAL::0 1.00000000 2.00000000 3.50000000 4.00000000 5.00000000 6.00000000 8.00000000 3.00000000 4.25000000 10.0000000 5.50000000 0.500000000 12.5000000 7.50000000 15.0000000 9.50000000 2.50000000 
+DEAL::99.75000000 29.15154370 15.00000000
+DEAL::0 1.000000000 2.000000000 3.500000000 4.000000000 5.000000000 6.000000000 8.000000000 3.000000000 4.250000000 10.00000000 5.500000000 0.5000000000 12.50000000 7.500000000 15.00000000 9.500000000 2.500000000 
 DEAL::Checking Q1 against Q1 in 3d:
-DEAL::882.375000 136.945302 49.0000000
-DEAL::0 5.50000000 11.5000000 9.00000000 12.0000000 16.5000000 18.0000000 21.0000000 24.0000000 14.2500000 10.0000000 16.5000000 0.500000000 3.00000000 8.50000000 40.5000000 17.0000000 33.5000000 6.00000000 11.5000000 
+DEAL::882.3750000 136.9453016 49.00000000
+DEAL::0 5.500000000 11.50000000 9.000000000 12.00000000 16.50000000 18.00000000 21.00000000 24.00000000 14.25000000 10.00000000 16.50000000 0.5000000000 3.000000000 8.500000000 40.50000000 17.00000000 33.50000000 6.000000000 11.50000000 
 DEAL::Checking Q1 against Q1 in 3d:
-DEAL::882.375000 136.945302 49.0000000
-DEAL::0 5.50000000 11.5000000 9.00000000 12.0000000 16.5000000 18.0000000 21.0000000 24.0000000 14.2500000 10.0000000 16.5000000 0.500000000 3.00000000 8.50000000 40.5000000 17.0000000 33.5000000 6.00000000 11.5000000 
+DEAL::882.3750000 136.9453016 49.00000000
+DEAL::0 5.500000000 11.50000000 9.000000000 12.00000000 16.50000000 18.00000000 21.00000000 24.00000000 14.25000000 10.00000000 16.50000000 0.5000000000 3.000000000 8.500000000 40.50000000 17.00000000 33.50000000 6.000000000 11.50000000 
 DEAL::Checking Q1 against Q2 in 1d:
 DEAL::Checking Q2 against Q1 in 1d:
 DEAL::Checking Q1 against Q2 in 2d:
-DEAL::414.375000 66.8501341 17.1250000
-DEAL::0 2.00000000 0 0.250000000 0.0937500000 5.00000000 2.25000000 1.59375000 7.00000000 9.00000000 9.31250000 8.37500000 10.0000000 11.8750000 9.87500000 0.250000000 6.06250000 5.59375000 0.562500000 13.0000000 15.0625000 12.6250000 15.0000000 17.1250000 15.1250000 2.25000000 1.56250000 11.6250000 10.796875
+DEAL::414.3750000 66.85013410 17.12500000
+DEAL::0 2.000000000 0 0.2500000000 0.09375000000 5.000000000 2.250000000 1.593750000 7.000000000 9.000000000 9.312500000 8.375000000 10.00000000 11.87500000 9.875000000 0.2500000000 6.062500000 5.593750000 0.5625000000 13.00000000 15.06250000 12.62500000 15.00000000 17.12500000 15.12500000 2.250000000 1.562500000 11.62500000 10.7968750
 DEAL::Checking Q2 against Q1 in 2d:
-DEAL::246.000000 76.9122877 44.0000000
-DEAL::0 1.00000000 2.00000000 6.00000000 9.00000000 10.0000000 15.0000000 19.5000000 7.50000000 10.0000000 24.0000000 12.5000000 0.500000000 34.0000000 19.5000000 44.0000000 26.5000000 5.00000000 
+DEAL::246.0000000 76.91228770 44.00000000
+DEAL::0 1.000000000 2.000000000 6.000000000 9.000000000 10.00000000 15.00000000 19.50000000 7.500000000 10.00000000 24.00000000 12.50000000 0.5000000000 34.00000000 19.50000000 44.00000000 26.50000000 5.000000000 
 DEAL::Checking Q1 against Q2 in 3d:
-DEAL::6415.82031 452.065353 61.3281250
-DEAL::0 1.00000000 3.75000000 15.0000000 10.9375000 12.5625000 10.1347656 31.0000000 31.2656250 41.3281250 0.0625000000 21.6250000 22.4531250 5.05078125 45.0000000 47.0156250 55.1718750 8.00000000 35.4375000 13.4990234 26.0527344 
+DEAL::6415.820312 452.0653533 61.32812500
+DEAL::0 1.000000000 3.750000000 15.00000000 10.93750000 12.56250000 10.13476562 31.00000000 31.26562500 41.32812500 0.06250000000 21.62500000 22.45312500 5.050781250 45.00000000 47.01562500 55.17187500 8.000000000 35.43750000 13.49902344 26.05273438 
 DEAL::Checking Q2 against Q1 in 3d:
-DEAL::3463.12500 581.343339 242.000000
-DEAL::0 15.0000000 43.5000000 28.0000000 45.0000000 58.5000000 69.0000000 85.0000000 105.000000 59.5000000 38.5000000 66.5000000 0.500000000 3.00000000 25.0000000 187.000000 68.8750000 155.500000 15.5000000 37.2500000 
+DEAL::3463.125000 581.3433393 242.0000000
+DEAL::0 15.00000000 43.50000000 28.00000000 45.00000000 58.50000000 69.00000000 85.00000000 105.0000000 59.50000000 38.50000000 66.50000000 0.5000000000 3.000000000 25.00000000 187.0000000 68.87500000 155.5000000 15.50000000 37.25000000 
 DEAL::Checking Q1 against Q3 in 1d:
 DEAL::Checking Q3 against Q1 in 1d:
 DEAL::Checking Q1 against Q3 in 2d:
-DEAL::912.582628 96.3162099 15.8750000
-DEAL::0 -0.0416666667 2.29166667 -0.298611111 7.52083333 3.37500000 6.75000000 8.50000000 6.85503472 9.62500000 9.77083333 9.83333333 6.50781250 4.79600694 4.00838216 12.8750000 12.0000000 11.7083333 15.6666667 13.5208333 13.7083333 12.5555556 8.06380208 9.8828125
+DEAL::912.5826280 96.31620990 15.87500000
+DEAL::0 -0.04166666667 2.291666667 -0.2986111111 7.520833333 3.375000000 6.750000000 8.500000000 6.855034722 9.625000000 9.770833333 9.833333333 6.507812500 4.796006944 4.008382161 12.87500000 12.00000000 11.70833333 15.66666667 13.52083333 13.70833333 12.55555556 8.063802083 9.88281250
 DEAL::Checking Q3 against Q1 in 2d:
-DEAL::458.250000 147.120911 87.0000000
-DEAL::0 1.00000000 2.00000000 9.50000000 16.0000000 17.0000000 28.0000000 36.0000000 14.0000000 18.2500000 44.0000000 22.5000000 0.500000000 65.5000000 37.0000000 87.0000000 51.5000000 8.50000000 
+DEAL::458.2500000 147.1209112 87.00000000
+DEAL::0 1.000000000 2.000000000 9.500000000 16.00000000 17.00000000 28.00000000 36.00000000 14.00000000 18.25000000 44.00000000 22.50000000 0.5000000000 65.50000000 37.00000000 87.00000000 51.50000000 8.500000000 
 DEAL::Checking Q1 against Q3 in 3d:
-DEAL::23293.9889 862.642333 55.8553060
-DEAL::0 4.84722222 31.6724447 8.52473958 19.6666667 11.0000000 20.7777778 28.0000000 33.6250000 18.7849042 26.4166667 20.8333333 37.1180556 23.8330440 43.9791667 48.1927083 37.3061523 31.6724447 32.7920431 21.3331146 51.4814815 
+DEAL::23293.98892 862.6423329 55.85530599
+DEAL::0 4.847222222 31.67244466 8.524739583 19.66666667 11.00000000 20.77777778 28.00000000 33.62500000 18.78490416 26.41666667 20.83333333 37.11805556 23.83304398 43.97916667 48.19270833 37.30615234 31.67244466 32.79204305 21.33311462 51.48148148 
 DEAL::Checking Q3 against Q1 in 3d:
-DEAL::8890.12500 1531.54973 665.000000
-DEAL::0 33.5000000 109.500000 65.0000000 112.000000 143.500000 172.000000 217.000000 280.000000 156.250000 99.0000000 172.500000 0.500000000 3.00000000 58.5000000 504.500000 178.750000 418.500000 34.0000000 89.0000000 
+DEAL::8890.125000 1531.549731 665.0000000
+DEAL::0 33.50000000 109.5000000 65.00000000 112.0000000 143.5000000 172.0000000 217.0000000 280.0000000 156.2500000 99.00000000 172.5000000 0.5000000000 3.000000000 58.50000000 504.5000000 178.7500000 418.5000000 34.00000000 89.00000000 
 DEAL::Checking Q2 against Q2 in 1d:
 DEAL::Checking Q2 against Q2 in 1d:
 DEAL::Checking Q2 against Q2 in 2d:
-DEAL::1025.12500 175.486385 49.1250000
-DEAL::0 2.00000000 -1.12500000 -0.375000000 -1.89062500 10.0000000 4.12500000 1.17187500 16.0000000 18.0000000 18.7500000 16.7500000 24.0000000 27.6250000 20.7500000 -0.375000000 13.7500000 12.3750000 0.0937500000 38.0000000 42.0000000 33.0000000 44.0000000 49.1250000 43.0000000 4.12500000 2.34375000 31.6250000 31.5937500 
+DEAL::1025.125000 175.4863846 49.12500000
+DEAL::0 2.000000000 -1.125000000 -0.3750000000 -1.890625000 10.00000000 4.125000000 1.171875000 16.00000000 18.00000000 18.75000000 16.75000000 24.00000000 27.62500000 20.75000000 -0.3750000000 13.75000000 12.37500000 0.09375000000 38.00000000 42.00000000 33.00000000 44.00000000 49.12500000 43.00000000 4.125000000 2.343750000 31.62500000 31.59375000 
 DEAL::Checking Q2 against Q2 in 2d:
-DEAL::1025.12500 175.486385 49.1250000
-DEAL::0 2.00000000 -1.12500000 -0.375000000 -1.89062500 10.0000000 4.12500000 1.17187500 16.0000000 18.0000000 18.7500000 16.7500000 24.0000000 27.6250000 20.7500000 -0.375000000 13.7500000 12.3750000 0.0937500000 38.0000000 42.0000000 33.0000000 44.0000000 49.1250000 43.0000000 4.12500000 2.34375000 31.6250000 31.5937500 
+DEAL::1025.125000 175.4863846 49.12500000
+DEAL::0 2.000000000 -1.125000000 -0.3750000000 -1.890625000 10.00000000 4.125000000 1.171875000 16.00000000 18.00000000 18.75000000 16.75000000 24.00000000 27.62500000 20.75000000 -0.3750000000 13.75000000 12.37500000 0.09375000000 38.00000000 42.00000000 33.00000000 44.00000000 49.12500000 43.00000000 4.125000000 2.343750000 31.62500000 31.59375000 
 DEAL::Checking Q2 against Q2 in 3d:
-DEAL::26121.3750 1994.72055 294.546875
-DEAL::0 -3.12500000 10.8750000 48.0000000 35.3750000 40.1250000 22.8828125 112.000000 112.984375 161.000000 -5.41796875 83.5000000 91.7968750 7.85156250 224.000000 209.687500 264.906250 23.0000000 168.875000 47.1933594 130.869141 
+DEAL::26121.37500 1994.720551 294.5468750
+DEAL::0 -3.125000000 10.87500000 48.00000000 35.37500000 40.12500000 22.88281250 112.0000000 112.9843750 161.0000000 -5.417968750 83.50000000 91.79687500 7.851562500 224.0000000 209.6875000 264.9062500 23.00000000 168.8750000 47.19335938 130.8691406 
 DEAL::Checking Q2 against Q2 in 3d:
-DEAL::26121.3750 1994.72055 294.546875
-DEAL::0 -3.12500000 10.8750000 48.0000000 35.3750000 40.1250000 22.8828125 112.000000 112.984375 161.000000 -5.41796875 83.5000000 91.7968750 7.85156250 224.000000 209.687500 264.906250 23.0000000 168.875000 47.1933594 130.869141 
+DEAL::26121.37500 1994.720551 294.5468750
+DEAL::0 -3.125000000 10.87500000 48.00000000 35.37500000 40.12500000 22.88281250 112.0000000 112.9843750 161.0000000 -5.417968750 83.50000000 91.79687500 7.851562500 224.0000000 209.6875000 264.9062500 23.00000000 168.8750000 47.19335938 130.8691406 
 DEAL::Checking Q2 against Q3 in 1d:
 DEAL::Checking Q3 against Q2 in 1d:
 DEAL::Checking Q2 against Q3 in 2d:
-DEAL::3192.14023 339.090214 57.0000000
-DEAL::0 -5.10416667 4.02777778 0.0779320988 32.4791667 12.4074074 27.3750000 25.3750000 15.2732446 33.6250000 32.3819444 27.8194444 25.4557292 24.4094329 14.6085612 45.0000000 42.2222222 37.6666667 46.0000000 42.8487654 52.9166667 51.7407407 35.8463542 41.873263
+DEAL::3192.140227 339.0902140 57.00000000
+DEAL::0 -5.104166667 4.027777778 0.07793209877 32.47916667 12.40740741 27.37500000 25.37500000 15.27324460 33.62500000 32.38194444 27.81944444 25.45572917 24.40943287 14.60856120 45.00000000 42.22222222 37.66666667 46.00000000 42.84876543 52.91666667 51.74074074 35.84635417 41.8732638
 DEAL::Checking Q3 against Q2 in 2d:
-DEAL::1917.75000 336.039258 96.6250000
-DEAL::0 2.00000000 -2.75000000 -1.25000000 -4.68750000 17.0000000 6.75000000 0.437500000 29.0000000 31.0000000 32.9375000 28.8750000 44.0000000 50.1250000 36.3750000 -1.25000000 23.1875000 20.9375000 -0.562500000 75.0000000 82.3750000 62.8750000 87.0000000 96.6250000 84.3750000 6.75000000 3.43750000 61.1250000 61.2500000 
+DEAL::1917.750000 336.0392578 96.62500000
+DEAL::0 2.000000000 -2.750000000 -1.250000000 -4.687500000 17.00000000 6.750000000 0.4375000000 29.00000000 31.00000000 32.93750000 28.87500000 44.00000000 50.12500000 36.37500000 -1.250000000 23.18750000 20.93750000 -0.5625000000 75.00000000 82.37500000 62.87500000 87.00000000 96.62500000 84.37500000 6.750000000 3.437500000 61.12500000 61.25000000 
 DEAL::Checking Q2 against Q3 in 3d:
-DEAL::133079.574 4979.53979 323.873264
-DEAL::0 17.1790123 208.847370 22.6922743 73.7777778 71.8888889 98.5756173 124.506173 113.638889 105.844942 149.440586 138.202643 209.286265 144.640207 280.562500 268.519097 232.615234 208.847370 209.576731 146.369858 305.400549 
+DEAL::133079.5736 4979.539785 323.8732639
+DEAL::0 17.17901235 208.8473699 22.69227431 73.77777778 71.88888889 98.57561728 124.5061728 113.6388889 105.8449420 149.4405864 138.2026427 209.2862654 144.6402070 280.5625000 268.5190972 232.6152344 208.8473699 209.5767314 146.3698578 305.4005487 
 DEAL::Checking Q3 against Q2 in 3d:
-DEAL::68493.0391 5350.47287 809.296875
-DEAL::0 -11.5000000 24.7500000 115.000000 84.2187500 93.7187500 49.2441406 287.000000 292.260254 417.863281 -16.3359375 209.700195 235.469238 13.7148438 617.000000 566.116455 728.303955 51.7500000 455.328125 115.012695 351.107788 
+DEAL::68493.03906 5350.472866 809.2968750
+DEAL::0 -11.50000000 24.75000000 115.0000000 84.21875000 93.71875000 49.24414062 287.0000000 292.2602539 417.8632812 -16.33593750 209.7001953 235.4692383 13.71484375 617.0000000 566.1164551 728.3039551 51.75000000 455.3281250 115.0126953 351.1077881 
 DEAL::Checking Q3 against Q3 in 1d:
 DEAL::Checking Q3 against Q3 in 1d:
 DEAL::Checking Q3 against Q3 in 2d:
-DEAL::6274.62939 672.448675 112.000000
-DEAL::0 -11.6875000 5.12500000 -3.56250000 66.1875000 24.3125000 48.8750000 49.5625000 25.7460938 61.3125000 66.7500000 53.9375000 54.1132813 48.0429688 30.4284668 88.0000000 80.0000000 70.6250000 90.0000000 85.6875000 111.125000 105.000000 70.5820313 84.9375000 
+DEAL::6274.629395 672.4486753 112.0000000
+DEAL::0 -11.68750000 5.125000000 -3.562500000 66.18750000 24.31250000 48.87500000 49.56250000 25.74609375 61.31250000 66.75000000 53.93750000 54.11328125 48.04296875 30.42846680 88.00000000 80.00000000 70.62500000 90.00000000 85.68750000 111.1250000 105.0000000 70.58203125 84.93750000 
 DEAL::Checking Q3 against Q3 in 2d:
-DEAL::6274.62939 672.448675 112.000000
-DEAL::0 -11.6875000 5.12500000 -3.56250000 66.1875000 24.3125000 48.8750000 49.5625000 25.7460938 61.3125000 66.7500000 53.9375000 54.1132813 48.0429688 30.4284668 88.0000000 80.0000000 70.6250000 90.0000000 85.6875000 111.125000 105.000000 70.5820313 84.9375000 
+DEAL::6274.629395 672.4486753 112.0000000
+DEAL::0 -11.68750000 5.125000000 -3.562500000 66.18750000 24.31250000 48.87500000 49.56250000 25.74609375 61.31250000 66.75000000 53.93750000 54.11328125 48.04296875 30.42846680 88.00000000 80.00000000 70.62500000 90.00000000 85.68750000 111.1250000 105.0000000 70.58203125 84.93750000 
 DEAL::Checking Q3 against Q3 in 3d:
-DEAL::371459.036 13937.7168 929.761719
-DEAL::0 29.2500000 580.227051 32.1718750 180.000000 225.000000 277.875000 315.000000 288.000000 305.532202 382.250000 378.066406 615.750000 421.164063 763.312500 734.156250 656.671875 580.227051 586.511780 427.805573 900.000000 
+DEAL::371459.0362 13937.71676 929.7617188
+DEAL::0 29.25000000 580.2270508 32.17187500 180.0000000 225.0000000 277.8750000 315.0000000 288.0000000 305.5322018 382.2500000 378.0664063 615.7500000 421.1640625 763.3125000 734.1562500 656.6718750 580.2270508 586.5117798 427.8055725 900.0000000 
 DEAL::Checking Q3 against Q3 in 3d:
-DEAL::371459.036 13937.7168 929.761719
-DEAL::0 29.2500000 580.227051 32.1718750 180.000000 225.000000 277.875000 315.000000 288.000000 305.532202 382.250000 378.066406 615.750000 421.164063 763.312500 734.156250 656.671875 580.227051 586.511780 427.805573 900.000000 
+DEAL::371459.0362 13937.71676 929.7617188
+DEAL::0 29.25000000 580.2270508 32.17187500 180.0000000 225.0000000 277.8750000 315.0000000 288.0000000 305.5322018 382.2500000 378.0664063 615.7500000 421.1640625 763.3125000 734.1562500 656.6718750 580.2270508 586.5117798 427.8055725 900.0000000 
 DEAL::Checking DGQ0 against DGQ0 in 1d:
-DEAL::6.00000000 3.60555128 2.50000000
-DEAL::0.500000000 0.500000000 2.50000000 2.50000000 
+DEAL::6.000000000 3.605551275 2.500000000
+DEAL::0.5000000000 0.5000000000 2.500000000 2.500000000 
 DEAL::Checking DGQ0 against DGQ0 in 1d:
-DEAL::6.00000000 3.60555128 2.50000000
-DEAL::0.500000000 0.500000000 2.50000000 2.50000000 
+DEAL::6.000000000 3.605551275 2.500000000
+DEAL::0.5000000000 0.5000000000 2.500000000 2.500000000 
 DEAL::Checking DGQ0 against DGQ0 in 2d:
-DEAL::50.0000000 17.0880075 7.50000000
-DEAL::3.00000000 3.00000000 3.50000000 3.50000000 3.50000000 3.50000000 7.50000000 7.50000000 7.50000000 7.50000000 
+DEAL::50.00000000 17.08800749 7.500000000
+DEAL::3.000000000 3.000000000 3.500000000 3.500000000 3.500000000 3.500000000 7.500000000 7.500000000 7.500000000 7.500000000 
 DEAL::Checking DGQ0 against DGQ0 in 2d:
-DEAL::50.0000000 17.0880075 7.50000000
-DEAL::3.00000000 3.00000000 3.50000000 3.50000000 3.50000000 3.50000000 7.50000000 7.50000000 7.50000000 7.50000000 
+DEAL::50.00000000 17.08800749 7.500000000
+DEAL::3.000000000 3.000000000 3.500000000 3.500000000 3.500000000 3.500000000 7.500000000 7.500000000 7.500000000 7.500000000 
 DEAL::Checking DGQ0 against DGQ0 in 3d:
-DEAL::247.500000 57.7700182 17.5000000
-DEAL::5.25000000 5.25000000 5.25000000 5.25000000 5.25000000 5.25000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 
+DEAL::247.5000000 57.77001818 17.50000000
+DEAL::5.250000000 5.250000000 5.250000000 5.250000000 5.250000000 5.250000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 
 DEAL::Checking DGQ0 against DGQ0 in 3d:
-DEAL::247.500000 57.7700182 17.5000000
-DEAL::5.25000000 5.25000000 5.25000000 5.25000000 5.25000000 5.25000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 9.50000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 17.5000000 
+DEAL::247.5000000 57.77001818 17.50000000
+DEAL::5.250000000 5.250000000 5.250000000 5.250000000 5.250000000 5.250000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 9.500000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 17.50000000 
 DEAL::Checking DGQ0 against DGQ1 in 1d:
-DEAL::12.5000000 5.31507291 3.25000000
-DEAL::-0.250000000 0.500000000 0.500000000 1.25000000 1.75000000 2.50000000 2.50000000 3.25000000 
+DEAL::12.50000000 5.315072906 3.250000000
+DEAL::-0.2500000000 0.5000000000 0.5000000000 1.250000000 1.750000000 2.500000000 2.500000000 3.250000000 
 DEAL::Checking DGQ1 against DGQ0 in 1d:
-DEAL::14.0000000 8.06225775 5.50000000
-DEAL::1.50000000 1.50000000 5.50000000 5.50000000 
+DEAL::14.00000000 8.062257748 5.500000000
+DEAL::1.500000000 1.500000000 5.500000000 5.500000000 
 DEAL::Checking DGQ0 against DGQ1 in 2d:
-DEAL::189.500000 34.4396267 9.75000000
-DEAL::0.937500000 -0.468750000 3.00000000 -0.375000000 1.25000000 2.75000000 2.00000000 3.50000000 2.75000000 4.25000000 3.50000000 5.00000000 5.25000000 6.75000000 6.00000000 7.50000000 6.75000000 8.25000000 7.50000000 9.00000000 
+DEAL::189.5000000 34.43962675 9.750000000
+DEAL::0.9375000000 -0.4687500000 3.000000000 -0.3750000000 1.250000000 2.750000000 2.000000000 3.500000000 2.750000000 4.250000000 3.500000000 5.000000000 5.250000000 6.750000000 6.000000000 7.500000000 6.750000000 8.250000000 7.500000000 9.000000000 
 DEAL::Checking DGQ1 against DGQ0 in 2d:
-DEAL::215.000000 72.7633149 31.5000000
-DEAL::13.5000000 13.5000000 15.5000000 15.5000000 15.5000000 15.5000000 31.5000000 31.5000000 31.5000000 31.5000000 
+DEAL::215.0000000 72.76331493 31.50000000
+DEAL::13.50000000 13.50000000 15.50000000 15.50000000 15.50000000 15.50000000 31.50000000 31.50000000 31.50000000 31.50000000 
 DEAL::Checking DGQ0 against DGQ1 in 3d:
-DEAL::1938.32812 165.717552 22.7500000
-DEAL::3.23437500 7.50000000 4.92187500 9.18750000 3.09375000 5.25000000 4.25000000 5.00000000 5.75000000 6.50000000 7.25000000 8.00000000 8.75000000 9.50000000 12.2500000 13.0000000 13.7500000 14.5000000 15.2500000 16.0000000 16.7500000 17.5000000 
+DEAL::1938.328125 165.7175519 22.75000000
+DEAL::3.234375000 7.500000000 4.921875000 9.187500000 3.093750000 5.250000000 4.250000000 5.000000000 5.750000000 6.500000000 7.250000000 8.000000000 8.750000000 9.500000000 12.25000000 13.00000000 13.75000000 14.50000000 15.25000000 16.00000000 16.75000000 17.50000000 
 DEAL::Checking DGQ1 against DGQ0 in 3d:
-DEAL::2057.00000 477.201739 143.500000
-DEAL::45.5000000 45.5000000 45.5000000 45.5000000 45.5000000 45.5000000 79.5000000 79.5000000 79.5000000 79.5000000 79.5000000 79.5000000 79.5000000 79.5000000 143.500000 143.500000 143.500000 143.500000 143.500000 143.500000 143.500000 143.500000 
+DEAL::2057.000000 477.2017393 143.5000000
+DEAL::45.50000000 45.50000000 45.50000000 45.50000000 45.50000000 45.50000000 79.50000000 79.50000000 79.50000000 79.50000000 79.50000000 79.50000000 79.50000000 79.50000000 143.5000000 143.5000000 143.5000000 143.5000000 143.5000000 143.5000000 143.5000000 143.5000000 
 DEAL::Checking DGQ0 against DGQ2 in 1d:
-DEAL::18.5000000 6.46625858 3.25000000
-DEAL::-0.250000000 0.125000000 0.500000000 0.500000000 0.875000000 1.25000000 1.75000000 2.12500000 2.50000000 2.50000000 2.87500000 3.25000000 
+DEAL::18.50000000 6.466258578 3.250000000
+DEAL::-0.2500000000 0.1250000000 0.5000000000 0.5000000000 0.8750000000 1.250000000 1.750000000 2.125000000 2.500000000 2.500000000 2.875000000 3.250000000 
 DEAL::Checking DGQ2 against DGQ0 in 1d:
-DEAL::22.0000000 12.5299641 8.50000000
-DEAL::2.50000000 2.50000000 8.50000000 8.50000000 
+DEAL::22.00000000 12.52996409 8.500000000
+DEAL::2.500000000 2.500000000 8.500000000 8.500000000 
 DEAL::Checking DGQ0 against DGQ2 in 2d:
-DEAL::433.265625 51.5628835 9.75000000
-DEAL::1.40625000 0.890625000 -1.31250000 1.42968750 -1.26562500 2.00000000 2.75000000 2.37500000 3.50000000 2.75000000 3.87500000 5.00000000 4.25000000 5.37500000 6.00000000 6.75000000 6.37500000 7.50000000 6.75000000 7.87500000 9.00000000 8.25000000 9.37500000 
+DEAL::433.2656250 51.56288352 9.750000000
+DEAL::1.406250000 0.8906250000 -1.312500000 1.429687500 -1.265625000 2.000000000 2.750000000 2.375000000 3.500000000 2.750000000 3.875000000 5.000000000 4.250000000 5.375000000 6.000000000 6.750000000 6.375000000 7.500000000 6.750000000 7.875000000 9.000000000 8.250000000 9.375000000 
 DEAL::Checking DGQ2 against DGQ0 in 2d:
-DEAL::490.000000 165.565697 71.5000000
-DEAL::31.0000000 31.0000000 35.5000000 35.5000000 35.5000000 35.5000000 71.5000000 71.5000000 71.5000000 71.5000000 
+DEAL::490.0000000 165.5656969 71.50000000
+DEAL::31.00000000 31.00000000 35.50000000 35.50000000 35.50000000 35.50000000 71.50000000 71.50000000 71.50000000 71.50000000 
 DEAL::Checking DGQ0 against DGQ2 in 3d:
-DEAL::6514.40039 302.925986 22.7500000
-DEAL::2.88281250 11.4140625 6.49218750 5.95312500 0.609375000 4.85156250 6.50000000 8.00000000 9.12500000 9.50000000 11.0000000 12.1250000 13.2500000 14.7500000 13.3750000 14.5000000 16.0000000 17.1250000 17.5000000 19.0000000 20.1250000 
+DEAL::6514.400391 302.9259856 22.75000000
+DEAL::2.882812500 11.41406250 6.492187500 5.953125000 0.6093750000 4.851562500 6.500000000 8.000000000 9.125000000 9.500000000 11.00000000 12.12500000 13.25000000 14.75000000 13.37500000 14.50000000 16.00000000 17.12500000 17.50000000 19.00000000 20.12500000 
 DEAL::Checking DGQ2 against DGQ0 in 3d:
-DEAL::6968.50000 1615.67614 485.500000
-DEAL::154.750000 154.750000 154.750000 154.750000 154.750000 154.750000 269.500000 269.500000 269.500000 269.500000 269.500000 269.500000 269.500000 269.500000 485.500000 485.500000 485.500000 485.500000 485.500000 485.500000 485.500000 485.500000 
+DEAL::6968.500000 1615.676136 485.5000000
+DEAL::154.7500000 154.7500000 154.7500000 154.7500000 154.7500000 154.7500000 269.5000000 269.5000000 269.5000000 269.5000000 269.5000000 269.5000000 269.5000000 269.5000000 485.5000000 485.5000000 485.5000000 485.5000000 485.5000000 485.5000000 485.5000000 485.5000000 
 DEAL::Checking DGQ0 against DGQ4 in 1d:
-DEAL::30.3193359 8.27823742 3.09326172
-DEAL::0.187500000 -0.0932617187 -0.0664062500 0.165527344 0.500000000 0.500000000 0.834472656 1.06640625 1.09326172 0.812500000 2.18750000 1.90673828 1.93359375 2.16552734 2.50000000 2.50000000 2.83447266 3.06640625 3.09326172 2.81250000 
+DEAL::30.31933594 8.278237425 3.093261719
+DEAL::0.1875000000 -0.09326171875 -0.06640625000 0.1655273438 0.5000000000 0.5000000000 0.8344726562 1.066406250 1.093261719 0.8125000000 2.187500000 1.906738281 1.933593750 2.165527344 2.500000000 2.500000000 2.834472656 3.066406250 3.093261719 2.812500000 
 DEAL::Checking DGQ4 against DGQ0 in 1d:
-DEAL::38.0000000 21.4709106 14.5000000
-DEAL::4.50000000 4.50000000 14.5000000 14.5000000 
+DEAL::38.00000000 21.47091055 14.50000000
+DEAL::4.500000000 4.500000000 14.50000000 14.50000000 
 DEAL::Checking DGQ0 against DGQ4 in 2d:
-DEAL::1179.48685 85.1729434 9.27978516
-DEAL::2.39697266 -0.401556015 2.00390625 0.332071066 2.97568130 2.05468750 2.93359375 2.62597656 3.83447266 3.83447266 3.81250000 4.73535156 4.99902344 5.72021484 6.49658203 6.31347656 7.39746094 7.50000000 8.09326172 8.09326172 8.68652344 
+DEAL::1179.486847 85.17294340 9.279785156
+DEAL::2.396972656 -0.4015560150 2.003906250 0.3320710659 2.975681305 2.054687500 2.933593750 2.625976563 3.834472656 3.834472656 3.812500000 4.735351562 4.999023438 5.720214844 6.496582031 6.313476563 7.397460937 7.500000000 8.093261719 8.093261719 8.686523438 
 DEAL::Checking DGQ4 against DGQ0 in 2d:
-DEAL::1370.00000 462.536485 199.500000
-DEAL::87.0000000 87.0000000 99.5000000 99.5000000 99.5000000 99.5000000 199.500000 199.500000 199.500000 199.500000 
+DEAL::1370.000000 462.5364850 199.5000000
+DEAL::87.00000000 87.00000000 99.50000000 99.50000000 99.50000000 99.50000000 199.5000000 199.5000000 199.5000000 199.5000000 
 DEAL::Checking DGQ0 against DGQ4 in 3d:
-DEAL::29890.3729 647.338296 21.6528320
-DEAL::3.90066528 1.02409446 6.24975586 5.84682179 3.75180048 4.98668396 6.66796875 7.28808594 8.19384766 10.7622070 10.4375000 9.60253906 10.9990234 13.3471680 15.0512695 15.5908203 16.9873047 19.2480469 19.5385742 18.4155273 19.936523
+DEAL::29890.37285 647.3382962 21.65283203
+DEAL::3.900665283 1.024094462 6.249755859 5.846821792 3.751800476 4.986683965 6.667968750 7.288085938 8.193847656 10.76220703 10.43750000 9.602539063 10.99902344 13.34716797 15.05126953 15.59082031 16.98730469 19.24804687 19.53857422 18.41552734 19.9365234
 DEAL::Checking DGQ4 against DGQ0 in 3d:
-DEAL::32301.5000 7487.81025 2249.50000
-DEAL::718.250000 718.250000 718.250000 718.250000 718.250000 718.250000 1249.50000 1249.50000 1249.50000 1249.50000 1249.50000 1249.50000 1249.50000 1249.50000 2249.50000 2249.50000 2249.50000 2249.50000 2249.50000 2249.50000 2249.50000 2249.50000 
+DEAL::32301.50000 7487.810252 2249.500000
+DEAL::718.2500000 718.2500000 718.2500000 718.2500000 718.2500000 718.2500000 1249.500000 1249.500000 1249.500000 1249.500000 1249.500000 1249.500000 1249.500000 1249.500000 2249.500000 2249.500000 2249.500000 2249.500000 2249.500000 2249.500000 2249.500000 2249.500000 
 DEAL::Checking DGQ1 against DGQ1 in 1d:
-DEAL::28.5000000 11.9268604 7.25000000
-DEAL::-0.250000000 1.50000000 1.50000000 3.25000000 3.75000000 5.50000000 5.50000000 7.25000000 
+DEAL::28.50000000 11.92686044 7.250000000
+DEAL::-0.2500000000 1.500000000 1.500000000 3.250000000 3.750000000 5.500000000 5.500000000 7.250000000 
 DEAL::Checking DGQ1 against DGQ1 in 1d:
-DEAL::28.5000000 11.9268604 7.25000000
-DEAL::-0.250000000 1.50000000 1.50000000 3.25000000 3.75000000 5.50000000 5.50000000 7.25000000 
+DEAL::28.50000000 11.92686044 7.250000000
+DEAL::-0.2500000000 1.500000000 1.500000000 3.250000000 3.750000000 5.500000000 5.500000000 7.250000000 
 DEAL::Checking DGQ1 against DGQ1 in 2d:
-DEAL::808.062500 146.416552 41.2500000
-DEAL::5.06250000 -0.281250000 13.5000000 0.375000000 5.75000000 12.2500000 9.00000000 15.5000000 12.2500000 18.7500000 15.5000000 22.0000000 21.7500000 28.2500000 25.0000000 31.5000000 28.2500000 34.7500000 31.5000000 38.0000000 
+DEAL::808.0625000 146.4165518 41.25000000
+DEAL::5.062500000 -0.2812500000 13.50000000 0.3750000000 5.750000000 12.25000000 9.000000000 15.50000000 12.25000000 18.75000000 15.50000000 22.00000000 21.75000000 28.25000000 25.00000000 31.50000000 28.25000000 34.75000000 31.50000000 38.00000000 
 DEAL::Checking DGQ1 against DGQ1 in 2d:
-DEAL::808.062500 146.416552 41.2500000
-DEAL::5.06250000 -0.281250000 13.5000000 0.375000000 5.75000000 12.2500000 9.00000000 15.5000000 12.2500000 18.7500000 15.5000000 22.0000000 21.7500000 28.2500000 25.0000000 31.5000000 28.2500000 34.7500000 31.5000000 38.0000000 
+DEAL::808.0625000 146.4165518 41.25000000
+DEAL::5.062500000 -0.2812500000 13.50000000 0.3750000000 5.750000000 12.25000000 9.000000000 15.50000000 12.25000000 18.75000000 15.50000000 22.00000000 21.75000000 28.25000000 25.00000000 31.50000000 28.25000000 34.75000000 31.50000000 38.00000000 
 DEAL::Checking DGQ1 against DGQ1 in 3d:
-DEAL::16087.2344 1367.85645 187.250000
-DEAL::28.3281250 62.6250000 42.2656250 76.5625000 28.0312500 45.5000000 35.7500000 42.0000000 48.2500000 54.5000000 60.7500000 67.0000000 73.2500000 79.5000000 99.7500000 106.000000 112.250000 118.500000 124.750000 131.000000 137.250000 143.500000 
+DEAL::16087.23438 1367.856445 187.2500000
+DEAL::28.32812500 62.62500000 42.26562500 76.56250000 28.03125000 45.50000000 35.75000000 42.00000000 48.25000000 54.50000000 60.75000000 67.00000000 73.25000000 79.50000000 99.75000000 106.0000000 112.2500000 118.5000000 124.7500000 131.0000000 137.2500000 143.5000000 
 DEAL::Checking DGQ1 against DGQ1 in 3d:
-DEAL::16087.2344 1367.85645 187.250000
-DEAL::28.3281250 62.6250000 42.2656250 76.5625000 28.0312500 45.5000000 35.7500000 42.0000000 48.2500000 54.5000000 60.7500000 67.0000000 73.2500000 79.5000000 99.7500000 106.000000 112.250000 118.500000 124.750000 131.000000 137.250000 143.500000 
+DEAL::16087.23438 1367.856445 187.2500000
+DEAL::28.32812500 62.62500000 42.26562500 76.56250000 28.03125000 45.50000000 35.75000000 42.00000000 48.25000000 54.50000000 60.75000000 67.00000000 73.25000000 79.50000000 99.75000000 106.0000000 112.2500000 118.5000000 124.7500000 131.0000000 137.2500000 143.5000000 
 DEAL::Checking DGQ1 against DGQ3 in 1d:
-DEAL::56.0000000 16.6061782 6.81250000
-DEAL::0.187500000 0.219907407 0.738425926 1.50000000 1.50000000 2.26157407 2.78009259 2.81250000 4.18750000 4.21990741 4.73842593 5.50000000 5.50000000 6.26157407 6.78009259 6.81250000 
+DEAL::56.00000000 16.60617817 6.812500000
+DEAL::0.1875000000 0.2199074074 0.7384259259 1.500000000 1.500000000 2.261574074 2.780092593 2.812500000 4.187500000 4.219907407 4.738425926 5.500000000 5.500000000 6.261574074 6.780092593 6.812500000 
 DEAL::Checking DGQ3 against DGQ1 in 1d:
-DEAL::60.5000000 25.1843205 15.2500000
-DEAL::-0.250000000 3.50000000 3.50000000 7.25000000 7.75000000 11.5000000 11.5000000 15.2500000 
+DEAL::60.50000000 25.18432052 15.25000000
+DEAL::-0.2500000000 3.500000000 3.500000000 7.250000000 7.750000000 11.50000000 11.50000000 15.25000000 
 DEAL::Checking DGQ1 against DGQ3 in 2d:
-DEAL::3253.54922 289.678994 39.0208333
-DEAL::9.59765625 -0.00146484375 15.2187500 1.10040509 9.68750000 10.3263889 11.6250000 12.2638889 13.5625000 18.5763889 15.5000000 20.5138889 25.6875000 26.3263889 27.6250000 28.2638889 29.5625000 34.5763889 31.5000000 36.5138889 
+DEAL::3253.549217 289.6789938 39.02083333
+DEAL::9.597656250 -0.001464843750 15.21875000 1.100405093 9.687500000 10.32638889 11.62500000 12.26388889 13.56250000 18.57638889 15.50000000 20.51388889 25.68750000 26.32638889 27.62500000 28.26388889 29.56250000 34.57638889 31.50000000 36.51388889 
 DEAL::Checking DGQ3 against DGQ1 in 2d:
-DEAL::3293.00000 594.577261 167.250000
-DEAL::21.9375000 1.40625000 55.5000000 3.75000000 23.7500000 50.7500000 36.5000000 63.5000000 50.7500000 77.7500000 63.5000000 90.5000000 87.7500000 114.750000 100.500000 127.500000 114.750000 141.750000 127.500000 154.500000 
+DEAL::3293.000000 594.5772609 167.2500000
+DEAL::21.93750000 1.406250000 55.50000000 3.750000000 23.75000000 50.75000000 36.50000000 63.50000000 50.75000000 77.75000000 63.50000000 90.50000000 87.75000000 114.7500000 100.5000000 127.5000000 114.7500000 141.7500000 127.5000000 154.5000000 
 DEAL::Checking DGQ1 against DGQ3 in 3d:
-DEAL::127394.921 3821.65533 178.224537
-DEAL::26.3557129 22.4888111 41.4472656 37.7680356 34.4186331 42.8178195 53.0671296 64.4745370 76.3125000 91.1226852 89.0625000 76.1689815 89.4212963 127.418981 113.736111 130.247685 130.175926 150.090278 163.342593 152.918981 166.171296 
+DEAL::127394.9208 3821.655328 178.2245370
+DEAL::26.35571289 22.48881110 41.44726563 37.76803564 34.41863306 42.81781948 53.06712963 64.47453704 76.31250000 91.12268519 89.06250000 76.16898148 89.42129630 127.4189815 113.7361111 130.2476852 130.1759259 150.0902778 163.3425926 152.9189815 166.1712963 
 DEAL::Checking DGQ3 against DGQ1 in 3d:
-DEAL::129303.141 10988.0143 1503.25000
-DEAL::227.484375 501.000000 343.359375 616.875000 228.843750 367.500000 287.750000 336.500000 386.750000 435.500000 491.750000 540.500000 590.750000 639.500000 799.750000 848.500000 898.750000 947.500000 1003.75000 1052.50000 1102.75000 1151.50000 
+DEAL::129303.1406 10988.01434 1503.250000
+DEAL::227.4843750 501.0000000 343.3593750 616.8750000 228.8437500 367.5000000 287.7500000 336.5000000 386.7500000 435.5000000 491.7500000 540.5000000 590.7500000 639.5000000 799.7500000 848.5000000 898.7500000 947.5000000 1003.750000 1052.500000 1102.750000 1151.500000 
 DEAL::Checking DGQ2 against DGQ2 in 1d:
-DEAL::66.5000000 22.5568726 11.2500000
-DEAL::-0.250000000 1.12500000 2.50000000 2.50000000 3.87500000 5.25000000 5.75000000 7.12500000 8.50000000 8.50000000 9.87500000 11.2500000 
+DEAL::66.50000000 22.55687257 11.25000000
+DEAL::-0.2500000000 1.125000000 2.500000000 2.500000000 3.875000000 5.250000000 5.750000000 7.125000000 8.500000000 8.500000000 9.875000000 11.25000000 
 DEAL::Checking DGQ2 against DGQ2 in 1d:
-DEAL::66.5000000 22.5568726 11.2500000
-DEAL::-0.250000000 1.12500000 2.50000000 2.50000000 3.87500000 5.25000000 5.75000000 7.12500000 8.50000000 8.50000000 9.87500000 11.2500000 
+DEAL::66.50000000 22.55687257 11.25000000
+DEAL::-0.2500000000 1.125000000 2.500000000 2.500000000 3.875000000 5.250000000 5.750000000 7.125000000 8.500000000 8.500000000 9.875000000 11.25000000 
 DEAL::Checking DGQ2 against DGQ2 in 2d:
-DEAL::4198.87500 498.135669 93.7500000
-DEAL::15.8125000 12.2265625 -5.75000000 17.3125000 -5.04687500 20.5000000 28.2500000 24.1250000 35.2500000 28.2500000 39.3750000 50.5000000 43.0000000 54.1250000 56.5000000 64.2500000 60.1250000 71.2500000 64.2500000 75.3750000 86.5000000 79.0000000 90.1250000 
+DEAL::4198.875000 498.1356689 93.75000000
+DEAL::15.81250000 12.22656250 -5.750000000 17.31250000 -5.046875000 20.50000000 28.25000000 24.12500000 35.25000000 28.25000000 39.37500000 50.50000000 43.00000000 54.12500000 56.50000000 64.25000000 60.12500000 71.25000000 64.25000000 75.37500000 86.50000000 79.00000000 90.12500000 
 DEAL::Checking DGQ2 against DGQ2 in 2d:
-DEAL::4198.87500 498.135669 93.7500000
-DEAL::15.8125000 12.2265625 -5.75000000 17.3125000 -5.04687500 20.5000000 28.2500000 24.1250000 35.2500000 28.2500000 39.3750000 50.5000000 43.0000000 54.1250000 56.5000000 64.2500000 60.1250000 71.2500000 64.2500000 75.3750000 86.5000000 79.0000000 90.1250000 
+DEAL::4198.875000 498.1356689 93.75000000
+DEAL::15.81250000 12.22656250 -5.750000000 17.31250000 -5.046875000 20.50000000 28.25000000 24.12500000 35.25000000 28.25000000 39.37500000 50.50000000 43.00000000 54.12500000 56.50000000 64.25000000 60.12500000 71.25000000 64.25000000 75.37500000 86.50000000 79.00000000 90.12500000 
 DEAL::Checking DGQ2 against DGQ2 in 3d:
-DEAL::183140.416 8465.25904 633.750000
-DEAL::87.3750000 318.406250 186.148437 172.796875 31.5859375 145.968750 185.000000 226.500000 258.375000 269.500000 313.000000 344.375000 376.250000 417.750000 368.375000 400.250000 441.750000 475.125000 486.250000 528.250000 559.625000 
+DEAL::183140.4160 8465.259041 633.7500000
+DEAL::87.37500000 318.4062500 186.1484375 172.7968750 31.58593750 145.9687500 185.0000000 226.5000000 258.3750000 269.5000000 313.0000000 344.3750000 376.2500000 417.7500000 368.3750000 400.2500000 441.7500000 475.1250000 486.2500000 528.2500000 559.6250000 
 DEAL::Checking DGQ2 against DGQ2 in 3d:
-DEAL::183140.416 8465.25904 633.750000
-DEAL::87.3750000 318.406250 186.148437 172.796875 31.5859375 145.968750 185.000000 226.500000 258.375000 269.500000 313.000000 344.375000 376.250000 417.750000 368.375000 400.250000 441.750000 475.125000 486.250000 528.250000 559.625000 
+DEAL::183140.4160 8465.259041 633.7500000
+DEAL::87.37500000 318.4062500 186.1484375 172.7968750 31.58593750 145.9687500 185.0000000 226.5000000 258.3750000 269.5000000 313.0000000 344.3750000 376.2500000 417.7500000 368.3750000 400.2500000 441.7500000 475.1250000 486.2500000 528.2500000 559.6250000 
 DEAL::Checking DGQ2 against DGQ2 in 1d:
-DEAL::66.5000000 22.5568726 11.2500000
-DEAL::-0.250000000 1.12500000 2.50000000 2.50000000 3.87500000 5.25000000 5.75000000 7.12500000 8.50000000 8.50000000 9.87500000 11.2500000 
+DEAL::66.50000000 22.55687257 11.25000000
+DEAL::-0.2500000000 1.125000000 2.500000000 2.500000000 3.875000000 5.250000000 5.750000000 7.125000000 8.500000000 8.500000000 9.875000000 11.25000000 
 DEAL::Checking DGQ2 against DGQ2 in 1d:
-DEAL::66.5000000 22.5568726 11.2500000
-DEAL::-0.250000000 1.12500000 2.50000000 2.50000000 3.87500000 5.25000000 5.75000000 7.12500000 8.50000000 8.50000000 9.87500000 11.2500000 
+DEAL::66.50000000 22.55687257 11.25000000
+DEAL::-0.2500000000 1.125000000 2.500000000 2.500000000 3.875000000 5.250000000 5.750000000 7.125000000 8.500000000 8.500000000 9.875000000 11.25000000 
 DEAL::Checking DGQ2 against DGQ2 in 2d:
-DEAL::4198.87500 498.135669 93.7500000
-DEAL::15.8125000 12.2265625 -5.75000000 17.3125000 -5.04687500 20.5000000 28.2500000 24.1250000 35.2500000 28.2500000 39.3750000 50.5000000 43.0000000 54.1250000 56.5000000 64.2500000 60.1250000 71.2500000 64.2500000 75.3750000 86.5000000 79.0000000 90.1250000 
+DEAL::4198.875000 498.1356689 93.75000000
+DEAL::15.81250000 12.22656250 -5.750000000 17.31250000 -5.046875000 20.50000000 28.25000000 24.12500000 35.25000000 28.25000000 39.37500000 50.50000000 43.00000000 54.12500000 56.50000000 64.25000000 60.12500000 71.25000000 64.25000000 75.37500000 86.50000000 79.00000000 90.12500000 
 DEAL::Checking DGQ2 against DGQ2 in 2d:
-DEAL::4198.87500 498.135669 93.7500000
-DEAL::15.8125000 12.2265625 -5.75000000 17.3125000 -5.04687500 20.5000000 28.2500000 24.1250000 35.2500000 28.2500000 39.3750000 50.5000000 43.0000000 54.1250000 56.5000000 64.2500000 60.1250000 71.2500000 64.2500000 75.3750000 86.5000000 79.0000000 90.1250000 
+DEAL::4198.875000 498.1356689 93.75000000
+DEAL::15.81250000 12.22656250 -5.750000000 17.31250000 -5.046875000 20.50000000 28.25000000 24.12500000 35.25000000 28.25000000 39.37500000 50.50000000 43.00000000 54.12500000 56.50000000 64.25000000 60.12500000 71.25000000 64.25000000 75.37500000 86.50000000 79.00000000 90.12500000 
 DEAL::Checking DGQ2 against DGQ2 in 3d:
-DEAL::183140.416 8465.25904 633.750000
-DEAL::87.3750000 318.406250 186.148437 172.796875 31.5859375 145.968750 185.000000 226.500000 258.375000 269.500000 313.000000 344.375000 376.250000 417.750000 368.375000 400.250000 441.750000 475.125000 486.250000 528.250000 559.625000 
+DEAL::183140.4160 8465.259041 633.7500000
+DEAL::87.37500000 318.4062500 186.1484375 172.7968750 31.58593750 145.9687500 185.0000000 226.5000000 258.3750000 269.5000000 313.0000000 344.3750000 376.2500000 417.7500000 368.3750000 400.2500000 441.7500000 475.1250000 486.2500000 528.2500000 559.6250000 
 DEAL::Checking DGQ2 against DGQ2 in 3d:
-DEAL::183140.416 8465.25904 633.750000
-DEAL::87.3750000 318.406250 186.148437 172.796875 31.5859375 145.968750 185.000000 226.500000 258.375000 269.500000 313.000000 344.375000 376.250000 417.750000 368.375000 400.250000 441.750000 475.125000 486.250000 528.250000 559.625000 
+DEAL::183140.4160 8465.259041 633.7500000
+DEAL::87.37500000 318.4062500 186.1484375 172.7968750 31.58593750 145.9687500 185.0000000 226.5000000 258.3750000 269.5000000 313.0000000 344.3750000 376.2500000 417.7500000 368.3750000 400.2500000 441.7500000 475.1250000 486.2500000 528.2500000 559.6250000 
 DEAL::Checking DGQ2 against DGQ4 in 1d:
-DEAL::110.000000 28.9226122 10.8125000
-DEAL::0.187500000 0.406738281 0.933593750 1.66552734 2.50000000 2.50000000 3.33447266 4.06640625 4.59326172 4.81250000 6.18750000 6.40673828 6.93359375 7.66552734 8.50000000 8.50000000 9.33447266 10.0664062 10.5932617 10.8125000 
+DEAL::110.0000000 28.92261219 10.81250000
+DEAL::0.1875000000 0.4067382812 0.9335937500 1.665527344 2.500000000 2.500000000 3.334472656 4.066406250 4.593261719 4.812500000 6.187500000 6.406738281 6.933593750 7.665527344 8.500000000 8.500000000 9.334472656 10.06640625 10.59326172 10.81250000 
 DEAL::Checking DGQ4 against DGQ2 in 1d:
-DEAL::114.500000 38.6757353 19.2500000
-DEAL::-0.250000000 2.12500000 4.50000000 4.50000000 6.87500000 9.25000000 9.75000000 12.1250000 14.5000000 14.5000000 16.8750000 19.2500000 
+DEAL::114.5000000 38.67573529 19.25000000
+DEAL::-0.2500000000 2.125000000 4.500000000 4.500000000 6.875000000 9.250000000 9.750000000 12.12500000 14.50000000 14.50000000 16.87500000 19.25000000 
 DEAL::Checking DGQ2 against DGQ4 in 2d:
-DEAL::11573.5281 824.591644 88.7719727
-DEAL::23.6357422 0.326955795 25.2109375 6.62344003 34.2395592 21.5156250 30.5351563 28.0683594 38.3413086 38.1723633 41.0625000 45.9785156 51.3066406 54.2280273 63.1450195 59.8808594 70.9511719 71.5000000 77.4663086 77.1528320 83.1191406 
+DEAL::11573.52811 824.5916443 88.77197266
+DEAL::23.63574219 0.3269557953 25.21093750 6.623440027 34.23955917 21.51562500 30.53515625 28.06835938 38.34130859 38.17236328 41.06250000 45.97851562 51.30664063 54.22802734 63.14501953 59.88085938 70.95117187 71.50000000 77.46630859 77.15283203 83.11914063 
 DEAL::Checking DGQ4 against DGQ2 in 2d:
-DEAL::11725.9219 1391.49730 261.750000
-DEAL::44.8437500 35.2812500 -13.9375000 49.2265625 -12.2031250 57.0000000 79.7500000 66.8750000 98.0000000 79.7500000 110.875000 142.000000 120.750000 151.875000 157.000000 179.750000 166.875000 198.000000 179.750000 210.875000 242.000000 220.750000 251.875000 
+DEAL::11725.92187 1391.497301 261.7500000
+DEAL::44.84375000 35.28125000 -13.93750000 49.22656250 -12.20312500 57.00000000 79.75000000 66.87500000 98.00000000 79.75000000 110.8750000 142.0000000 120.7500000 151.8750000 157.0000000 179.7500000 166.8750000 198.0000000 179.7500000 210.8750000 242.0000000 220.7500000 251.8750000 
 DEAL::Checking DGQ2 against DGQ4 in 3d:
-DEAL::842193.893 18098.6469 601.701660
-DEAL::105.289062 27.7537307 180.041260 168.102550 116.649038 145.992170 194.363281 211.733398 239.565918 303.386230 305.812500 271.894531 312.289062 369.298340 417.383301 433.265625 473.660156 531.393555 543.700684 522.763184 564.601563 
+DEAL::842193.8934 18098.64690 601.7016602
+DEAL::105.2890625 27.75373065 180.0412598 168.1025496 116.6490384 145.9921702 194.3632812 211.7333984 239.5659180 303.3862305 305.8125000 271.8945313 312.2890625 369.2983398 417.3833008 433.2656250 473.6601563 531.3935547 543.7006836 522.7631836 564.6015625 
 DEAL::Checking DGQ4 against DGQ2 in 3d:
-DEAL::848965.123 39236.0541 2936.75000
-DEAL::405.648438 1473.42969 863.914062 801.453125 146.062500 678.695312 858.500000 1048.00000 1194.62500 1249.50000 1457.00000 1600.62500 1747.25000 1936.75000 1704.37500 1851.00000 2040.50000 2202.12500 2257.00000 2449.50000 2593.12500 
+DEAL::848965.1230 39236.05413 2936.750000
+DEAL::405.6484375 1473.429688 863.9140625 801.4531250 146.0625000 678.6953125 858.5000000 1048.000000 1194.625000 1249.500000 1457.000000 1600.625000 1747.250000 1936.750000 1704.375000 1851.000000 2040.500000 2202.125000 2257.000000 2449.500000 2593.125000 
 DEAL::Checking DGQ3 against DGQ3 in 1d:
-DEAL::120.000000 35.1478320 14.8125000
-DEAL::0.187500000 0.886574074 2.07175926 3.50000000 3.50000000 4.92824074 6.11342593 6.81250000 8.18750000 8.88657407 10.0717593 11.5000000 11.5000000 12.9282407 14.1134259 14.8125000 
+DEAL::120.0000000 35.14783196 14.81250000
+DEAL::0.1875000000 0.8865740741 2.071759259 3.500000000 3.500000000 4.928240741 6.113425926 6.812500000 8.187500000 8.886574074 10.07175926 11.50000000 11.50000000 12.92824074 14.11342593 14.81250000 
 DEAL::Checking DGQ3 against DGQ3 in 1d:
-DEAL::120.000000 35.1478320 14.8125000
-DEAL::0.187500000 0.886574074 2.07175926 3.50000000 3.50000000 4.92824074 6.11342593 6.81250000 8.18750000 8.88657407 10.0717593 11.5000000 11.5000000 12.9282407 14.1134259 14.8125000 
+DEAL::120.0000000 35.14783196 14.81250000
+DEAL::0.1875000000 0.8865740741 2.071759259 3.500000000 3.500000000 4.928240741 6.113425926 6.812500000 8.187500000 8.886574074 10.07175926 11.50000000 11.50000000 12.92824074 14.11342593 14.81250000 
 DEAL::Checking DGQ3 against DGQ3 in 2d:
-DEAL::13268.0567 1177.17114 157.743056
-DEAL::40.1210937 2.44996021 62.0625000 6.13715278 38.1875000 43.8726852 45.2500000 50.9351852 56.4375000 76.7060185 63.5000000 83.7685185 102.187500 107.872685 109.250000 114.935185 120.437500 140.706019 127.500000 147.768519 
+DEAL::13268.05668 1177.171138 157.7430556
+DEAL::40.12109375 2.449960214 62.06250000 6.137152778 38.18750000 43.87268519 45.25000000 50.93518519 56.43750000 76.70601852 63.50000000 83.76851852 102.1875000 107.8726852 109.2500000 114.9351852 120.4375000 140.7060185 127.5000000 147.7685185 
 DEAL::Checking DGQ3 against DGQ3 in 2d:
-DEAL::13268.0567 1177.17114 157.743056
-DEAL::40.1210937 2.44996021 62.0625000 6.13715278 38.1875000 43.8726852 45.2500000 50.9351852 56.4375000 76.7060185 63.5000000 83.7685185 102.187500 107.872685 109.250000 114.935185 120.437500 140.706019 127.500000 147.768519 
+DEAL::13268.05668 1177.171138 157.7430556
+DEAL::40.12109375 2.449960214 62.06250000 6.137152778 38.18750000 43.87268519 45.25000000 50.93518519 56.43750000 76.70601852 63.50000000 83.76851852 102.1875000 107.8726852 109.2500000 114.9351852 120.4375000 140.7060185 127.5000000 147.7685185 
 DEAL::Checking DGQ3 against DGQ3 in 3d:
-DEAL::1024195.52 30701.4571 1429.66898
-DEAL::208.856201 173.009514 337.685547 306.021666 280.636906 341.388725 433.206019 520.168981 617.437500 732.594907 730.437500 612.377315 718.657407 1011.37731 912.750000 1043.94213 1046.42593 1204.81250 1311.09259 1237.37731 1343.65741 
+DEAL::1024195.518 30701.45713 1429.668981
+DEAL::208.8562012 173.0095136 337.6855469 306.0216664 280.6369063 341.3887250 433.2060185 520.1689815 617.4375000 732.5949074 730.4375000 612.3773148 718.6574074 1011.377315 912.7500000 1043.942130 1046.425926 1204.812500 1311.092593 1237.377315 1343.657407 
 DEAL::Checking DGQ3 against DGQ3 in 3d:
-DEAL::1024195.52 30701.4571 1429.66898
-DEAL::208.856201 173.009514 337.685547 306.021666 280.636906 341.388725 433.206019 520.168981 617.437500 732.594907 730.437500 612.377315 718.657407 1011.37731 912.750000 1043.94213 1046.42593 1204.81250 1311.09259 1237.37731 1343.65741 
+DEAL::1024195.518 30701.45713 1429.668981
+DEAL::208.8562012 173.0095136 337.6855469 306.0216664 280.6369063 341.3887250 433.2060185 520.1689815 617.4375000 732.5949074 730.4375000 612.3773148 718.6574074 1011.377315 912.7500000 1043.942130 1046.425926 1204.812500 1311.092593 1237.377315 1343.657407 
 DEAL::Checking DGP0 against DGP0 in 1d:
 DEAL::Checking DGP0 against DGP0 in 1d:
 DEAL::Checking DGP0 against DGP0 in 2d:
@@ -330,38 +330,38 @@ DEAL::Checking Nedelec0 against Nedelec0 in 3d:
 DEAL::Checking FE_Q<1>(1)3 against FE_Q<1>(2)3 in 1d:
 DEAL::Checking FE_Q<1>(2)3 against FE_Q<1>(1)3 in 1d:
 DEAL::Checking FE_DGQ<1>(2)2 against FE_DGQ<1>(3)2 in 1d:
-DEAL::368.000000 75.5018827 22.7870370
-DEAL::0.750000000 0.212962963 1.62037037 4.00000000 3.75000000 3.21296296 4.62037037 7.00000000 4.00000000 6.37962963 7.78703704 7.25000000 7.00000000 9.37962963 10.7870370 10.2500000 12.7500000 12.2129630 13.6203704 16.0000000 15.7500000 15.2129630 16.6203704 19.0000000 16.0000000 18.3796296 19.7870370 19.2500000 19.0000000 21.3796296 22.7870370 22.2500000 
+DEAL::368.0000000 75.50188272 22.78703704
+DEAL::0.7500000000 0.2129629630 1.620370370 4.000000000 3.750000000 3.212962963 4.620370370 7.000000000 4.000000000 6.379629630 7.787037037 7.250000000 7.000000000 9.379629630 10.78703704 10.25000000 12.75000000 12.21296296 13.62037037 16.00000000 15.75000000 15.21296296 16.62037037 19.00000000 16.00000000 18.37962963 19.78703704 19.25000000 19.00000000 21.37962963 22.78703704 22.25000000 
 DEAL::Checking FE_DGQ<1>(3)2 against FE_DGQ<1>(2)2 in 1d:
-DEAL::374.500000 88.6206804 32.2500000
-DEAL::-1.25000000 2.12500000 5.50000000 2.75000000 6.12500000 9.50000000 5.50000000 8.87500000 12.2500000 9.50000000 12.8750000 16.2500000 14.7500000 18.1250000 21.5000000 18.7500000 22.1250000 25.5000000 21.5000000 24.8750000 28.2500000 25.5000000 28.8750000 32.2500000 
+DEAL::374.5000000 88.62068043 32.25000000
+DEAL::-1.250000000 2.125000000 5.500000000 2.750000000 6.125000000 9.500000000 5.500000000 8.875000000 12.25000000 9.500000000 12.87500000 16.25000000 14.75000000 18.12500000 21.50000000 18.75000000 22.12500000 25.50000000 21.50000000 24.87500000 28.25000000 25.50000000 28.87500000 32.25000000 
 DEAL::Checking FE_DGP<1>(3)1 against FE_DGP<1>(1)1 in 1d:
 DEAL::Checking FE_DGP<1>(1)1 against FE_DGP<1>(3)1 in 1d:
 DEAL::Checking FE_Q<2>(1)3 against FE_Q<2>(2)3 in 2d:
-DEAL::3900.37500 358.336632 53.3750000
-DEAL::0 8.00000000 2.87500000 0.281250000 17.0000000 12.6250000 21.0000000 29.0000000 19.7500000 30.0000000 37.6250000 32.2187500 18.1875000 18.7812500 20.9687500 45.1875000 39.8750000 49.0000000 45.3750000 8.75000000 27.0156250 32.390625
+DEAL::3900.375000 358.3366317 53.37500000
+DEAL::0 8.000000000 2.875000000 0.2812500000 17.00000000 12.62500000 21.00000000 29.00000000 19.75000000 30.00000000 37.62500000 32.21875000 18.18750000 18.78125000 20.96875000 45.18750000 39.87500000 49.00000000 45.37500000 8.750000000 27.01562500 32.3906250
 DEAL::Checking FE_Q<2>(2)3 against FE_Q<2>(1)3 in 2d:
-DEAL::2268.00000 405.261027 134.000000
-DEAL::0 2.00000000 4.00000000 6.00000000 8.00000000 19.0000000 27.0000000 29.0000000 31.0000000 45.0000000 47.0000000 59.5000000 22.5000000 24.5000000 31.0000000 72.0000000 74.0000000 38.5000000 1.50000000 3.50000000 103.000000 58.5000000 60.5000000 133.000000 79.5000000 81.5000000 16.0000000 
+DEAL::2268.000000 405.2610270 134.0000000
+DEAL::0 2.000000000 4.000000000 6.000000000 8.000000000 19.00000000 27.00000000 29.00000000 31.00000000 45.00000000 47.00000000 59.50000000 22.50000000 24.50000000 31.00000000 72.00000000 74.00000000 38.50000000 1.500000000 3.500000000 103.0000000 58.50000000 60.50000000 133.0000000 79.50000000 81.50000000 16.00000000 
 DEAL::Checking FE_DGQ<2>(2)2 against FE_DGQ<2>(3)2 in 2d:
-DEAL::29824.9757 1870.82290 181.550926
-DEAL::42.0312500 51.0312500 65.9687500 74.9687500 44.6250000 53.6250000 51.6250000 60.6250000 60.0000000 69.0000000 67.0000000 76.0000000 116.625000 125.625000 123.625000 132.625000 132.000000 141.000000 139.000000 148.000000 
+DEAL::29824.97569 1870.822903 181.5509259
+DEAL::42.03125000 51.03125000 65.96875000 74.96875000 44.62500000 53.62500000 51.62500000 60.62500000 60.00000000 69.00000000 67.00000000 76.00000000 116.6250000 125.6250000 123.6250000 132.6250000 132.0000000 141.0000000 139.0000000 148.0000000 
 DEAL::Checking FE_DGQ<2>(3)2 against FE_DGQ<2>(2)2 in 2d:
-DEAL::30096.9375 2518.91271 339.250000
-DEAL::51.0000000 67.0000000 117.562500 133.562500 43.7500000 59.7500000 68.5000000 84.5000000 94.7500000 110.750000 119.500000 135.500000 171.750000 187.750000 196.500000 212.500000 222.750000 238.750000 247.500000 263.500000 
+DEAL::30096.93750 2518.912707 339.2500000
+DEAL::51.00000000 67.00000000 117.5625000 133.5625000 43.75000000 59.75000000 68.50000000 84.50000000 94.75000000 110.7500000 119.5000000 135.5000000 171.7500000 187.7500000 196.5000000 212.5000000 222.7500000 238.7500000 247.5000000 263.5000000 
 DEAL::Checking FE_DGP<2>(3)1 against FE_DGP<2>(1)1 in 2d:
 DEAL::Checking FE_DGP<2>(1)1 against FE_DGP<2>(3)1 in 2d:
 DEAL::Checking FE_Q<3>(1)3 against FE_Q<3>(2)3 in 3d:
-DEAL::58667.5820 2373.72497 185.984375
-DEAL::0 3.00000000 11.2500000 45.0000000 32.8125000 37.6875000 30.4042969 93.0000000 93.7968750 123.984375 0.187500000 64.8750000 67.3593750 15.1523438 135.000000 141.046875 165.515625 24.0000000 106.312500 40.4970703 78.1582031 
+DEAL::58667.58203 2373.724967 185.9843750
+DEAL::0 3.000000000 11.25000000 45.00000000 32.81250000 37.68750000 30.40429688 93.00000000 93.79687500 123.9843750 0.1875000000 64.87500000 67.35937500 15.15234375 135.0000000 141.0468750 165.5156250 24.00000000 106.3125000 40.49707031 78.15820312 
 DEAL::Checking FE_Q<3>(2)3 against FE_Q<3>(1)3 in 3d:
-DEAL::31348.1250 3031.09854 728.000000
-DEAL::0 45.0000000 130.500000 84.0000000 135.000000 175.500000 207.000000 255.000000 315.000000 178.500000 115.500000 199.500000 1.50000000 9.00000000 75.0000000 561.000000 206.625000 466.500000 46.5000000 111.750000 
+DEAL::31348.12500 3031.098540 728.0000000
+DEAL::0 45.00000000 130.5000000 84.00000000 135.0000000 175.5000000 207.0000000 255.0000000 315.0000000 178.5000000 115.5000000 199.5000000 1.500000000 9.000000000 75.00000000 561.0000000 206.6250000 466.5000000 46.50000000 111.7500000 
 DEAL::Checking FE_DGQ<3>(2)2 against FE_DGQ<3>(3)2 in 3d:
-DEAL::1727241.99 36607.5434 1218.25926
-DEAL::175.293945 139.424805 183.751182 52.7265504 222.471680 241.465820 409.194444 352.972222 443.958333 500.083333 568.944444 553.430556 616.791667 806.291667 821.527778 985.430556 905.125000 966.750000 1030.11111 1145.88889 1064.87500 
+DEAL::1727241.989 36607.54344 1218.259259
+DEAL::175.2939453 139.4248047 183.7511817 52.72655044 222.4716797 241.4658203 409.1944444 352.9722222 443.9583333 500.0833333 568.9444444 553.4305556 616.7916667 806.2916667 821.5277778 985.4305556 905.1250000 966.7500000 1030.111111 1145.888889 1064.875000 
 DEAL::Checking FE_DGQ<3>(3)2 against FE_DGQ<3>(2)2 in 3d:
-DEAL::1738113.26 56788.8904 3023.25000
-DEAL::392.062500 441.492188 495.685547 586.664062 294.984375 1057.95703 721.250000 1012.25000 1162.62500 1311.50000 1610.00000 1199.12500 1442.50000 1878.50000 2121.87500 2272.25000 2563.25000 2189.62500 2338.50000 2631.00000 2779.87500 
+DEAL::1738113.262 56788.89042 3023.250000
+DEAL::392.0625000 441.4921875 495.6855469 586.6640625 294.9843750 1057.957031 721.2500000 1012.250000 1162.625000 1311.500000 1610.000000 1199.125000 1442.500000 1878.500000 2121.875000 2272.250000 2563.250000 2189.625000 2338.500000 2631.000000 2779.875000 
 DEAL::Checking FE_DGP<3>(3)1 against FE_DGP<3>(1)1 in 3d:
 DEAL::Checking FE_DGP<3>(1)1 against FE_DGP<3>(3)1 in 3d:
index e52c159ddb98767b054f97ae1ccb14828377074d..1804d9ac8dd4cefe89025a484cb55c16e18242bf 100644 (file)
@@ -76,16 +76,12 @@ using namespace dealii;
 void test()
 {
   Triangulation<2>     triangulation;
-  FE_Q<2>              fe(1);
-  DoFHandler<2> dof_handler(triangulation);
 
   GridIn<2> grid_in1;
   grid_in1.attach_triangulation (triangulation);
   std::ifstream input_file1(SOURCE_DIR "/grids/mesh.msh");
   grid_in1.read_msh(input_file1);
 
-  dof_handler.distribute_dofs (fe);
-
   Point< 2 > ePos;
   ePos(0) = 0.0653630060373507487669897386695;
   ePos(1) = 1125.59175030825804242340382189;
@@ -93,10 +89,10 @@ void test()
   MappingQ<2> mapping(1);
   MappingQ1<2> &mapping2 = StaticMappingQ1< 2 >::mapping;
   deallog << "1:" << std::endl;
-  GridTools::find_active_cell_around_point (mapping, dof_handler, ePos);
+  GridTools::find_active_cell_around_point (mapping, triangulation, ePos);
   deallog << "2:" << std::endl;
   //this second call seems to hang/crash:
-  GridTools::find_active_cell_around_point (mapping2, dof_handler, ePos);
+  GridTools::find_active_cell_around_point (mapping2, triangulation, ePos);
   deallog << "done" << std::endl;
 }
 
diff --git a/tests/bits/find_cell_10a.cc b/tests/bits/find_cell_10a.cc
new file mode 100644 (file)
index 0000000..4412b59
--- /dev/null
@@ -0,0 +1,122 @@
+// ---------------------------------------------------------------------
+// $Id$
+//
+// Copyright (C) 2003 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+
+// transform_real_to_unit_cell works for MappingQ(1) but fails for MappingQ1.
+
+#include "../tests.h"
+
+#include <stdio.h>
+#include <cstdlib>
+
+#include <base/quadrature_lib.h>
+#include <fe/mapping_q.h>
+#include <base/function.h>
+#include <base/logstream.h>
+#include <grid/tria.h>
+#include <grid/grid_generator.h>
+#include <grid/tria_accessor.h>
+#include <grid/tria_iterator.h>
+#include <grid/grid_tools.h>
+#include <dofs/dof_handler.h>
+#include <fe/fe_q.h>
+#include <fe/fe_values.h>
+#include <grid/grid_in.h>
+
+
+#include <iostream>
+#include <fstream>
+#include <list>
+#include <string>
+#include <sstream>
+#include <time.h>
+
+using namespace dealii;
+
+
+void create_coarse_grid(Triangulation<2> &coarse_grid)
+{
+
+  static const Point<2> vertices_1[]
+    = {  Point<2> (9.6982181981258408e-02, 1.1255621492491609e+03),//0
+         Point<2> (6.1219285295807092e-02, 1.1256062663438720e+03),//1
+         Point<2> (0.00000, 1.1255179557007179e+03),//2
+         Point<2> (0.00000, 1.1255994426210491e+03),//3
+      };
+  const unsigned int
+  n_vertices = sizeof(vertices_1) / sizeof(vertices_1[0]);
+
+  const std::vector<Point<2> > vertices (&vertices_1[0],
+                                         &vertices_1[n_vertices]);
+
+  static const int cell_vertices[][GeometryInfo<2>::vertices_per_cell]
+  = {{0, 1, 2, 3}
+  };
+  const unsigned int
+  n_cells = sizeof(cell_vertices) / sizeof(cell_vertices[0]);
+
+  std::vector<CellData<2> > cells (n_cells, CellData<2>());
+  for (unsigned int i=0; i<n_cells; ++i)
+    {
+      for (unsigned int j=0;
+           j<GeometryInfo<2>::vertices_per_cell;
+           ++j)
+        cells[i].vertices[j] = cell_vertices[i][j];
+      cells[i].material_id = 0;
+    }
+
+  coarse_grid.create_triangulation (vertices,
+                                    cells,
+                                    SubCellData());
+}
+
+void test()
+{
+  deallog << std::scientific;
+  deallog.precision(16);
+  
+  Point< 2 > ePos;
+  ePos(0) = 0.0653630060373507487669897386695;
+  ePos(1) = 1125.59175030825804242340382189;
+
+  MappingQ<2> mapping(1);
+  MappingQ1<2> &mapping2 = StaticMappingQ1< 2 >::mapping;
+
+  Triangulation<2>     triangulation;
+  create_coarse_grid(triangulation); // first Tria with just one cell
+
+  Triangulation<2>::active_cell_iterator it = triangulation.begin();
+                                  
+  Point<2> p;
+  p = mapping.transform_real_to_unit_cell(it, ePos);
+  deallog << "A: " << p << std::endl;
+
+                                  // throws:
+  p = mapping2.transform_real_to_unit_cell(it, ePos);
+  deallog << "B: " << p << std::endl;
+
+  deallog << "done" << std::endl;
+}
+
+int main (int argc, char **argv)
+{
+  initlog();
+
+  test();
+
+  return 0;
+}
diff --git a/tests/bits/find_cell_10a.debug.output b/tests/bits/find_cell_10a.debug.output
new file mode 100644 (file)
index 0000000..d6d313c
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEAL::cells 31242
+DEAL::1:
+DEAL::cell 27707
+DEAL::vertex 20297
+DEAL::0.0969822 1125.56
+DEAL::vertex 30988
+DEAL::0.0612193 1125.61
+DEAL::vertex 1298
+DEAL::0.00000 1125.52
+DEAL::vertex 1297
+DEAL::0.00000 1125.60
+DEAL::point 0.706650 0.0885132
+DEAL::1b:
+DEAL::2:
+DEAL::done
index d141bfff66b5c5d3cf1cad1890557a7e2785ed27..edd9c802a20e93d307d6845b2cf9c2badc14382d 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "../tests.h"
 #include <deal.II/base/logstream.h>
+#include <deal.II/base/numbers.h>
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/tria_accessor.h>
 #include <deal.II/grid/tria_iterator.h>
@@ -40,7 +41,7 @@ void check (Triangulation<2> &tria)
   // Test for a number of points, every ten degrees
   for (unsigned int i=0; i<200; i++)
     {
-      Point<2> p(std::sin((double)i/100.*M_PI), std::cos((double)i/100.*M_PI));
+      Point<2> p(std::sin((double)i/100.*numbers::PI), std::cos((double)i/100.*numbers::PI));
       p *= 1.-1e-8;
 
       std::pair<Triangulation<2>::active_cell_iterator, Point<2> > cell
index bd9ce5f5771f37c3de6f36247975a60bcddc97ac..edf3ae2cb59432407a294982739ebf753adf3dc7 100644 (file)
@@ -16,7 +16,7 @@
 
 
 
-// ParameterHandler could not deal missing endline at end of file
+// ParameterHandler could not deal with missing endline at end of file
 // or can it?
 // http://code.google.com/p/dealii/issues/detail?id=126
 
diff --git a/tests/bits/parameter_handler_16.cc b/tests/bits/parameter_handler_16.cc
new file mode 100644 (file)
index 0000000..3951343
--- /dev/null
@@ -0,0 +1,59 @@
+// ---------------------------------------------------------------------
+// $Id: parameter_handler_14.cc 31349 2013-10-20 19:07:06Z maier $
+//
+// Copyright (C) 2002 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+
+// ParameterHandler could not deal with missing endline at end of file
+// or can it?
+// http://code.google.com/p/dealii/issues/detail?id=126
+
+// this is a variant of parameter_handler_15 but in fact reads data
+// from a file
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/parameter_handler.h>
+#include <fstream>
+
+void test ()
+{
+  ParameterHandler foo;
+  foo.enter_subsection("bar");
+  foo.declare_entry("val", "1.0", dealii::Patterns::Double(), "");
+  foo.leave_subsection();
+  foo.declare_entry("val2", "2.0", dealii::Patterns::Double(), "");
+
+  foo.read_input(SOURCE_DIR "/parameter_handler_16.prm");
+
+
+
+  foo.enter_subsection("bar");
+  deallog << foo.get ("val") << std::endl;
+  foo.leave_subsection();
+  deallog << foo.get ("val2") << std::endl;
+}
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  test ();
+
+  return 0;
+}
diff --git a/tests/bits/parameter_handler_16.output b/tests/bits/parameter_handler_16.output
new file mode 100644 (file)
index 0000000..a78af02
--- /dev/null
@@ -0,0 +1,3 @@
+
+DEAL::1.0
+DEAL::42
diff --git a/tests/bits/parameter_handler_16.prm b/tests/bits/parameter_handler_16.prm
new file mode 100644 (file)
index 0000000..b12ecf4
--- /dev/null
@@ -0,0 +1,2 @@
+# note: no endline at the end of the following line
+set val2 = 42
\ No newline at end of file
diff --git a/tests/bits/parameter_handler_1_include.cc b/tests/bits/parameter_handler_1_include.cc
new file mode 100644 (file)
index 0000000..cc32b3e
--- /dev/null
@@ -0,0 +1,52 @@
+// ---------------------------------------------------------------------
+// $Id$
+//
+// Copyright (C) 2002 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+
+// check that we can do include statements
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/parameter_handler.h>
+#include <fstream>
+
+void check (const char *p)
+{
+  ParameterHandler prm;
+  prm.declare_entry ("test_1", "-1,0",
+                     Patterns::List(Patterns::Integer(-1,1),2,3));
+
+  std::ifstream in(p);
+  prm.read_input (in);
+
+  deallog << "test_1=" << prm.get ("test_1") << std::endl;
+}
+
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  // go into the source dir to read files there. this
+  // is necessary so that we can include files there
+  chdir (SOURCE_DIR);
+  check ("parameter_handler_1_include.prm");
+
+  return 0;
+}
diff --git a/tests/bits/parameter_handler_1_include.output b/tests/bits/parameter_handler_1_include.output
new file mode 100644 (file)
index 0000000..46f81e3
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::test_1=1,0,1
diff --git a/tests/bits/parameter_handler_1_include.prm b/tests/bits/parameter_handler_1_include.prm
new file mode 100644 (file)
index 0000000..a2de6a5
--- /dev/null
@@ -0,0 +1,2 @@
+set test_1 = 1,1,1
+include parameter_handler_1_include.prm2
diff --git a/tests/bits/parameter_handler_1_include.prm2 b/tests/bits/parameter_handler_1_include.prm2
new file mode 100644 (file)
index 0000000..cbf86bd
--- /dev/null
@@ -0,0 +1,2 @@
+set test_1 = 1,0,1
+
diff --git a/tests/bits/parameter_handler_1_include_fail.cc b/tests/bits/parameter_handler_1_include_fail.cc
new file mode 100644 (file)
index 0000000..7d6a205
--- /dev/null
@@ -0,0 +1,54 @@
+// ---------------------------------------------------------------------
+// $Id$
+//
+// Copyright (C) 2002 - 2013 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+
+// check that we can do include statements. the current test verifies what
+// happens if such an include statement fails
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/parameter_handler.h>
+#include <fstream>
+
+void check (const char *p)
+{
+  ParameterHandler prm;
+  prm.declare_entry ("test_1", "-1,0",
+                     Patterns::List(Patterns::Integer(-1,1),2,3));
+
+  std::ifstream in(p);
+  bool status = prm.read_input (in);
+  Assert (status == false, ExcInternalError());
+  
+  deallog << "test_1=" << prm.get ("test_1") << std::endl;
+}
+
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  // go into the source dir to read files there. this
+  // is necessary so that we can include files there
+  chdir (SOURCE_DIR);
+  check ("parameter_handler_1_include_fail.prm");
+
+  return 0;
+}
diff --git a/tests/bits/parameter_handler_1_include_fail.output b/tests/bits/parameter_handler_1_include_fail.output
new file mode 100644 (file)
index 0000000..433921b
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::test_1=1,1,1
diff --git a/tests/bits/parameter_handler_1_include_fail.prm b/tests/bits/parameter_handler_1_include_fail.prm
new file mode 100644 (file)
index 0000000..e3ee532
--- /dev/null
@@ -0,0 +1,4 @@
+set test_1 = 1,1,1
+
+# the following file does not exist
+include parameter_handler_1_include_fail.prm2
index 647f052f9276f3c31482c4bb1dd8af3fd9e4b16f..4d17dd742c09627f945904f88bcad3545f810f27 100644 (file)
@@ -82,7 +82,7 @@ void Test()
               double delta=0.;
               for (unsigned int di=0; di<i; ++di)
                 {
-                  delta = values[j](di) - std::cos(M_PI*(i+1)*vertices[j][di])*t;
+                  delta = values[j](di) - std::cos(numbers::PI*(i+1)*vertices[j][di])*t;
                   if (std::abs(delta) > 1e-10)
                     deallog << "p(" << di << "): " << vertices[j] << ", delta: "
                             << delta << std::endl;
index dacae7c7204f4e1598ee47d95aad8b2ccacdb49b..14676e706dd88c584225abe6b35c00769fa80718 100644 (file)
@@ -67,7 +67,9 @@ void test_real_to_unit_cell()
     vertices[v] *= radius/vertices[v].norm();
   std::vector<CellData<dim> > cells;
   {
-    CellData<dim> d = {{0,1,2,3,4,5,6,7},{0}};
+    CellData<dim> d;
+    for (unsigned int i=0; i<8; ++i)
+      d.vertices[i] = i;
     cells.push_back(d);
   }
   Triangulation<dim> triangulation;
index e01f579e2e351b9a8df4766220a4fb5402242c29..5af523158f0236b9c2c3ff2128092b26eac37fb8 100644 (file)
@@ -57,7 +57,9 @@ void test_real_to_unit_cell()
     vertices[v] *= radius/vertices[v].norm();
   std::vector<CellData<dim> > cells;
   {
-    CellData<dim> d = {{0,1,2,3,4,5,6,7},{0}};
+    CellData<dim> d;
+    for (unsigned int i=0; i<8; ++i)
+      d.vertices[i] = i;
     cells.push_back(d);
   }
   Triangulation<dim> triangulation;
index 45b4f613d66e041556a439ed97c8b69743b23950..c63395e9a2094f01d4ca55bc282a78c49b0db39a 100644 (file)
@@ -57,7 +57,9 @@ void test_real_to_unit_cell()
     vertices[v] *= radius/vertices[v].norm();
   std::vector<CellData<dim> > cells;
   {
-    CellData<dim> d = {{0,1,2,3,4,5,6,7},{0}};
+    CellData<dim> d;
+    for (unsigned int i=0; i<8; ++i)
+      d.vertices[i] = i;
     cells.push_back(d);
   }
   Triangulation<dim> triangulation;
index e106281c382fd75d49dedd706229d34f9cdbccfd..67e693bdd8dbcf36e291931b32482e082d5cfa11 100644 (file)
@@ -57,7 +57,9 @@ void test_real_to_unit_cell()
     vertices[v] *= radius/vertices[v].norm();
   std::vector<CellData<dim> > cells;
   {
-    CellData<dim> d = {{0,1,2,3,4,5,6,7},{0}};
+    CellData<dim> d;
+    for (unsigned int i=0; i<8; ++i)
+      d.vertices[i] = i;
     cells.push_back(d);
   }
   Triangulation<dim> triangulation;
index 8cd27d16327b0ecd75d7d06fe278e93efc20e720..04978dbc61da98a8124d77e5085c31634b79de70 100644 (file)
@@ -490,7 +490,7 @@ int main ()
     MappingQ1Eulerian<2> mapping_euler (deformation, *dof_handler_def);
 
     // Try rotating the elements
-    for (double rotat = 0; rotat < 2 * M_PI; rotat += 0.25 * M_PI)
+    for (double rotat = 0; rotat < 2 * numbers::PI; rotat += 0.25 * numbers::PI)
       {
         // Rotate element
         VectorTools::project (*dof_handler_def, hn_constraints_def,
index 1b1ba19203391b1eb0ea9f11df81654f5e5ffabd..dfd39b0910d9c574dd5504634b72c5b72b5ed79d 100644 (file)
@@ -52,12 +52,12 @@ mass_operator (const MatrixFree<dim,Number>  &data,
     {
       fe_eval.reinit (cell);
       fe_eval.read_dof_values (src);
-      fe_eval.template evaluate (true, false, false);
+      fe_eval.evaluate (true, false, false);
       for (unsigned int q=0; q<n_q_points; ++q)
         {
           fe_eval.submit_value (fe_eval.get_value(q),q);
         }
-      fe_eval.template integrate (true,false);
+      fe_eval.integrate (true,false);
       fe_eval.distribute_local_to_global (dst);
     }
 }
index 95de7822ea88e0a15414578d85bbf2d1c90eaff2..0c454fdfc98726780c9d56a942059578d2935a87 100644 (file)
@@ -142,7 +142,7 @@ void test ()
   if ((n_procs == 1) || (my_id == 1))
     Assert(AtA.el(1, 1) == 2, ExcMessage("Wrong element in AtA!"));
 
-  deallog << "OK" << endl;
+  deallog << "OK" << std::endl;
 }
 
 
index 39c5e72e06ff443fa41d126cefd5a43fd5412540..c82d8560e2784886e1308f23abfda27abd377275 100644 (file)
@@ -81,7 +81,7 @@ void refine_mesh (Triangulation<dim> &triangulation)
                                      Point<dim>(0,0) :
                                      Point<dim>(0,0,0));
           const double dist = p.distance(origin);
-          if (dist<0.25/M_PI)
+          if (dist<0.25/numbers::PI)
             {
               cell->set_refine_flag ();
               cell_refined = true;
index d860d13c06dba7eb09655f24b6b8a02682f146b1..e906286c7be764e2462499117e566e3d8d170541 100644 (file)
@@ -439,7 +439,7 @@ void LaplaceProblem<dim>::refine_local ()
                                      Point<dim>(0,0) :
                                      Point<dim>(0,0,0));
           const double dist = p.distance(origin);
-          if (dist<0.25/M_PI)
+          if (dist<0.25/numbers::PI)
             {
               cell->set_refine_flag ();
               cell_refined = true;
index fda0e5a06beb4f47e300b6b4bcd32ec5bc3f66e6..2a95e8ab481e212d982edb8d74cb588b007c0e3e 100644 (file)
@@ -317,7 +317,7 @@ void LaplaceProblem<dim>::refine_local ()
                                      Point<dim>(0,0) :
                                      Point<dim>(0,0,0));
           const double dist = p.distance(origin);
-          if (dist<0.25/M_PI)
+          if (dist<0.25/numbers::PI)
             {
               cell->set_refine_flag ();
               cell_refined = true;
index 9bcb1b87fc7fa44b6b337076b2dd9c477bfcf4ef..007066aecbe1fcda56b2815d44caee5e09cc9bb3 100644 (file)
@@ -385,7 +385,7 @@ void LaplaceProblem<dim>::refine_local ()
                                      Point<dim>(0,0) :
                                      Point<dim>(0,0,0));
           const double dist = p.distance(origin);
-          if (dist<0.25/M_PI)
+          if (dist<0.25/numbers::PI)
             {
               cell->set_refine_flag ();
               cell_refined = true;
index cece429dadd5ae732ee8255557042a9bcb7e05a0..3d69e4cf3ba6fbaebe8188dca150581032fde724 100644 (file)
@@ -27,6 +27,7 @@
 #include <deal.II/base/function.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/utilities.h>
+#include <deal.II/base/numbers.h>
 
 #include <deal.II/lac/constraint_matrix.h>
 #include <deal.II/lac/vector.h>
@@ -519,7 +520,7 @@ void LaplaceProblem<dim>::refine_grid (const std::string& reftype)
                                         Point<dim>(0,0) :
                                         Point<dim>(0,0,0));
              const double dist = p.distance(origin);
-             if(dist<0.25/M_PI)
+             if(dist<0.25/numbers::PI)
                {
                  cell->set_refine_flag ();
                  cell_refined = true;
index 32d858e58ddf52ef05406cd18bd6b86348371215..f445cfccc0718797fdabfaf1840541ede81566ae 100644 (file)
@@ -397,7 +397,7 @@ namespace Step39
   InteriorPenaltyProblem<dim>::setup_system()
   {
     dof_handler.distribute_dofs(fe);
-    unsigned int n_dofs = dof_handler.n_dofs();
+    types::global_dof_index n_dofs = dof_handler.n_dofs();
     solution.reinit(n_dofs);
     right_hand_side.reinit(n_dofs);
 
index 87e33b7662f26db229aa8d306c5beedb61c9915f..0018db3b9e887391b5ee8672b05a07b8857b4c74 100644 (file)
 // Multigrid with continuous and discontinuous elements works, if we
 // enforce continuity at refinement edges through interior penalty
 
+// TH: the test was failing because the solver did not converge. It turns out
+//     that switching from CG to GMRES makes everything work. I have no idea
+//     if the problem is not SPD...
+
 #include "../tests.h"
 #include <deal.II/lac/sparse_matrix.h>
 #include <deal.II/lac/compressed_sparsity_pattern.h>
 #include <deal.II/lac/solver_cg.h>
+#include <deal.II/lac/solver_gmres.h>
 #include <deal.II/lac/precondition.h>
 #include <deal.II/lac/precondition_block.h>
 #include <deal.II/lac/block_vector.h>
@@ -524,7 +529,7 @@ namespace Step39
   InteriorPenaltyProblem<dim>::solve()
   {
     SolverControl control(1000, 1.e-12);
-    SolverCG<Vector<double> > solver(control);
+    SolverGMRES<Vector<double> > solver(control);
 
     MGTransferPrebuilt<Vector<double> > mg_transfer;
     mg_transfer.build_matrices(mg_dof_handler);
index 2fa57e7207b03d0ecf4a1ef78a5ce4e791703526..b62d5259b57288b0805da17f4de8046b284efde5 100644 (file)
@@ -7,8 +7,8 @@ DEAL::Assemble matrix
 DEAL::Assemble multilevel matrix
 DEAL::Assemble right hand side
 DEAL::Solve
-DEAL:cg::Starting value 33.0698
-DEAL:cg::Convergence step 11 value 6.72426e-14
+DEAL:GMRES::Starting value 9.41508
+DEAL:GMRES::Convergence step 10 value 7.45877e-13
 DEAL::energy-error: 0.439211
 DEAL::L2-error:     0.0109342
 DEAL::Estimate 0.979555
@@ -21,8 +21,8 @@ DEAL::Assemble matrix
 DEAL::Assemble multilevel matrix
 DEAL::Assemble right hand side
 DEAL::Solve
-DEAL:cg::Starting value 33.0698
-DEAL:cg::Convergence step 15 value 2.96056e-13
+DEAL:GMRES::Starting value 9.98895
+DEAL:GMRES::Convergence step 21 value 1.04294e-13
 DEAL::energy-error: 0.332582
 DEAL::L2-error:     0.00548996
 DEAL::Estimate 0.838060
@@ -35,8 +35,8 @@ DEAL::Assemble matrix
 DEAL::Assemble multilevel matrix
 DEAL::Assemble right hand side
 DEAL::Solve
-DEAL:cg::Starting value 33.0698
-DEAL:cg::Convergence step 16 value 2.80366e-13
+DEAL:GMRES::Starting value 10.7902
+DEAL:GMRES::Convergence step 28 value 4.34099e-13
 DEAL::energy-error: 0.237705
 DEAL::L2-error:     0.00250869
 DEAL::Estimate 0.611449
@@ -49,8 +49,8 @@ DEAL::Assemble matrix
 DEAL::Assemble multilevel matrix
 DEAL::Assemble right hand side
 DEAL::Solve
-DEAL:cg::Starting value 33.6744
-DEAL:cg::Convergence step 19 value 2.93617e-13
+DEAL:GMRES::Starting value 12.1830
+DEAL:GMRES::Convergence step 33 value 5.33786e-13
 DEAL::energy-error: 0.170860
 DEAL::L2-error:     0.00120805
 DEAL::Estimate 0.452418
@@ -63,8 +63,8 @@ DEAL::Assemble matrix
 DEAL::Assemble multilevel matrix
 DEAL::Assemble right hand side
 DEAL::Solve
-DEAL:cg::Starting value 37.2775
-DEAL:cg::Convergence step 19 value 6.03920e-13
+DEAL:GMRES::Starting value 15.5674
+DEAL:GMRES::Convergence step 34 value 3.96471e-13
 DEAL::energy-error: 0.122755
 DEAL::L2-error:     0.000602816
 DEAL::Estimate 0.332525
@@ -77,8 +77,8 @@ DEAL::Assemble matrix
 DEAL::Assemble multilevel matrix
 DEAL::Assemble right hand side
 DEAL::Solve
-DEAL:cg::Starting value 39.0422
-DEAL:cg::Convergence step 19 value 1.93273e-13
+DEAL:GMRES::Starting value 18.7536
+DEAL:GMRES::Convergence step 33 value 6.84534e-13
 DEAL::energy-error: 0.0869445
 DEAL::L2-error:     0.000292783
 DEAL::Estimate 0.236647
index c7c0f700a5af374d4510cc2a24f843eb7c049a54..c5bd1654762c7ed64484167efa027e3f3a30a5d0 100644 (file)
@@ -80,7 +80,7 @@ void refine_mesh (Triangulation<dim> &triangulation)
                                      Point<dim>(0,0) :
                                      Point<dim>(0,0,0));
           const double dist = p.distance(origin);
-          if (dist<0.25/M_PI)
+          if (dist<0.25/numbers::PI)
             {
               cell->set_refine_flag ();
               cell_refined = true;
index 5f3cc2ad78e467f1dcf65fae0c4d9619abe42c41..bd4a6924627f05b83c3dac58ff17aa631ae37ad3 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::SparseMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then make sure we retrieve the same ones
   for (unsigned int i=0; i<m.m(); ++i)
index 2dbcbcdb3b7bb4a163b6f67553dd9116e7164d16..e82287068049935e7c768095f20e0ced5d2e9d3b 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::SparseMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.add (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then make sure we retrieve the same ones
   for (unsigned int i=0; i<m.m(); ++i)
index 3991d6ecb0f665b46aa697b24aa88858c3512cea..9c3740055d341e9480e4405e681d1e55e06de997 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::SparseMatrix &m)
           ++counter;
         }
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   deallog << m.n_nonzero_elements() << std::endl;
   Assert (m.n_nonzero_elements() == counter,
index 3cf3ad8b11c598dc2c6db23ab31007c49e8b3b18..077103411b49ceeb543a6e5181f9ac110286d8fe 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::SparseMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // compare against the exact value of the
   // l1-norm (max col-sum)
index c0bbc2a97b08ef466226d39a43b8df00f2d3912c..e9f764976976ca666c934ad65e30907e06c86e9b 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::SparseMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // compare against the exact value of the
   // linfty-norm (max row-sum)
index 5a637d9bb330508cd18ecef1f286344ea6cec27c..540d479b7dc93362ad9105a9380e11e325302cce 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::SparseMatrix &m)
         }
   norm = std::sqrt(norm);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // compare against the exact value of the
   // l2-norm (max row-sum)
index 15050cd79539d006ed5f4013b24b950982310307..e7e32c34183529dd7d9dd790e13abe8323ac742b 100644 (file)
@@ -32,7 +32,7 @@ void test (PETScWrappers::SparseMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then multiply everything by 1.25 and
   // make sure we retrieve the values we
index ee2dab657fd0769ed308ba7fed1f8291cf198787..3c1b7556b465e2abe21c172c31ec05345ff7d2e8 100644 (file)
@@ -32,7 +32,7 @@ void test (PETScWrappers::SparseMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then divide everything by 4/3 and
   // make sure we retrieve the values we
index 9f99bdba542d8b06eddd1fc6febf65d0dcd0489a..cc7213f923e0d3dd977f93f333cf12963d8ee360 100644 (file)
@@ -30,7 +30,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); i+=1+i)
     v(i) = i;
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   Assert (v.size() == 100, ExcInternalError());
 
index a9954b0a8b0f5065e1d7b94c39a6bdadc4a7b9b7..4e38d87fac9b0add69de47162da8e2e647254fed 100644 (file)
@@ -37,7 +37,7 @@ void test (PETScWrappers::Vector &v)
       pattern[i] = true;
     }
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // check that they are ok, and this time
   // all of them
index 44be821ae33e87eb2f06e56b9c82adc3402a34f8..ddc9632996ebb35feb59a0d2197ee5d99692bedb 100644 (file)
@@ -37,7 +37,7 @@ void test (PETScWrappers::Vector &v)
       pattern[i] = true;
     }
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // check that they are ok, and this time
   // all of them
index 9501b1f042354759df83e13588afc135b5f73e86..cfb680d6cf01f9d23de1139fd389a8582b24bf3c 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       norm += std::fabs(1.*i);
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then check the norm
   Assert (v.l1_norm() == norm, ExcInternalError());
index 3e3537cf30adad8d4be023c7de2c67a3286bda20..eb00b08281e2cb670796320c387494b9bf0a29ed 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       norm += std::fabs(1.*i)*std::fabs(1.*i);
     }
-  v.compress ();
+  v.compress (VectorOperation::insert);
 
   // then check the norm
   const double eps=typeid(PetscScalar)==typeid(double) ? 1e-14 : 1e-5;
index 6de9a94180aa02694076b250b5ac1de1ca10f67b..7c5e074010c195626719dc170a09fa403b161ccb 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       norm = std::max(norm,fabs(i));
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then check the norm
   Assert (v.linfty_norm() == norm, ExcInternalError());
index aa303d23af48174c0974573c25cba5b379ea4845..20bd818bad7020157ed42e63018b04802075fed9 100644 (file)
@@ -36,7 +36,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       pattern[i] = true;
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // multiply v with 5/4
   v *= 5./4.;
index 4b3602598b54049f01e0ee95215755d1549240e8..9c0f7c134f9385b28c662bec73f35f8e6bd8e9d9 100644 (file)
@@ -36,7 +36,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       pattern[i] = true;
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // multiply v with 3/4
   v /= 4./3.;
index 593c88d366a8a0178c8f00eae6aee5c2165e6850..4816c9fc8dc5bf0ec80b0c9fbf7f409cc9938d4f 100644 (file)
@@ -36,8 +36,8 @@ void test (PETScWrappers::Vector &v,
       v(i) = i;
     else
       w(i) = i;
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // make sure the scalar product is zero
   Assert (v*w == 0, ExcInternalError());
index 747ba74d3e7f0cec213ee6fb429e0c6fadd835f8..e277aae4f927375f99db0696a7b546d4341a8038 100644 (file)
@@ -43,8 +43,8 @@ void test (PETScWrappers::Vector &v,
         }
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // make sure the scalar product is zero
   Assert (v*w == product, ExcInternalError());
index dae86a02b1875950c7c6a848a442ab070ab95db3..837357831bc40a094c4d4971ef30b2ce19e34919 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     if (i%3 == 0)
       v(i) = i+1.;
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then clear it again and make sure the
   // vector is really empty
index 82a30e4adb54d7e9904f1d98cbde23bda3a60375..ee73c55135107406a4ad17aec622ca6a707eca2c 100644 (file)
@@ -31,7 +31,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     if (i%3 == 0)
       v(i) = i+1.;
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then clear it again and make sure the
   // vector is really empty
index 2a26dfea28857842f6b809b3316269ed06407b45..e592f2b41f76f1cd849c13b71d417b446618de72 100644 (file)
@@ -32,7 +32,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     if (i%3 == 0)
       v(i) = i+1.;
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   const unsigned int sz = v.size();
   v = 2;
index ea407ff9385be3c4a3c9196bbea6aca0c451fdb8..a1bc82eaebae9cc336994f8385f2863bb0db678a 100644 (file)
@@ -31,7 +31,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     if (i%3 == 0)
       v(i) = i+1.;
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then copy it
   PETScWrappers::Vector w (v.size());
index 278eb8fdfc2adbea65662ec60392490f336fc27b..50ba45f847af5bb3f45584198c014f8456033a5c 100644 (file)
@@ -32,7 +32,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     if (i%3 == 0)
       v(i) = i+1.;
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then copy it to a vector of different
   // size
index 368a4d9194570aba78ee46424f76f43c03399831..efaaf0e53cfea0c0c16a7fedf15064e0f7bb13a3 100644 (file)
@@ -31,7 +31,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     if (i%3 == 0)
       v(i) = i+1.;
-  v.compress ();
+  v.compress (VectorOperation::insert);
 
   // then resize with setting to zero
   v.reinit (13, false);
index 725303a2d008764195b963ba6cd0cbf552d1a5f3..276705a643e384ee412f953777fe5445514f04ef 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       norm += std::fabs(1.*i)*std::fabs(1.*i);
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then check the norm
   const double eps=typeid(PetscScalar)==typeid(double) ? 1e-14 : 1e-5;
index 1136971c1ff21bb8cbc7a9bf0b612345620d5f2b..aada706965d1dd721f941540eedacfbfd55d63af 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       sum += i;
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then check the norm
   const double eps=typeid(PetscScalar)==typeid(double) ? 1e-14 : 1e-5;
index 7cdf00cdb28187d645a3967982009e0e19e12e2c..17fae3e66029d68adc8db43173dac86d5adc5c55 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       sum += i*i*i;
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then check the norm
   const double eps=typeid(PetscScalar)==typeid(double) ? 1e-14 : 1e-5;
index d2ce01c600ce4539aa69d02d493d847e1843663d..bc5ee0609c0c9145af8820e379bca083dae2f1c7 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::Vector &v)
       v(i) = i;
       sum += i*i*i;
     }
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // set them to zero again
   v = 0;
index bf0b6bcd51f763e7ef70af98a3ac8a86f06c7ce3..8742a8bd6429f6b7e9fd8acd95baa192df3a7274 100644 (file)
@@ -37,8 +37,8 @@ void test (PETScWrappers::Vector &v,
         w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v += w;
 
index a0eeea75eeedd80aeb0a5a99fc3a82d419f428f7..522f9cb116f09f8185b67ba273779faa1b51fb9e 100644 (file)
@@ -37,8 +37,8 @@ void test (PETScWrappers::Vector &v,
         w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v -= w;
 
index ff11c6aabe25c70f43a0eaf55f5f7c5d69d18957..f513e665f614b11262660b8cc26fbc5ab5c594e9 100644 (file)
@@ -30,7 +30,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     v(i) = i;
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   v.add (1.);
 
index aacb319b3dec5a24283afcaf7afa58b5bebb91e9..ba288ac96f17c0ebc336bb134c9821583a59008e 100644 (file)
@@ -34,8 +34,8 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v.add (w);
 
index 662e3334f289bc76403b685a7490d0165019f955..bed8660b2b82f4f732828412a0fa12ef29741108 100644 (file)
@@ -34,8 +34,8 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v.add (2, w);
 
index 1ea51675ae49d8d695a8fa634d10fa8ac1fcf201..752a2765f88c5d216184de416962fafd020b4a19 100644 (file)
@@ -36,9 +36,9 @@ void test (PETScWrappers::Vector &v,
       x(i) = i+2.;
     }
 
-  v.compress ();
-  w.compress ();
-  x.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
+  x.compress (VectorOperation::add);
 
   v.add (2, w, 3, x);
 
index feca17d76569b37873b4c8a041599508f9d47ee9..69c98d621f363aef717da340dec8c5d6c3202934 100644 (file)
@@ -34,8 +34,8 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v.sadd (2, w);
 
index caf0d11fd62d135210a889d5a829ce543838b205..0591ff5fc77fb940881eb37bb06a98c5a41cff64 100644 (file)
@@ -34,8 +34,8 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v.sadd (3, 2, w);
 
index 5675ffb3529756ace76aaf372753bacebd043e05..216c4b0c4bf741cdc7fd98b2b7fa4c407e36c181 100644 (file)
@@ -36,9 +36,9 @@ void test (PETScWrappers::Vector &v,
       x(i) = i+2.;
     }
 
-  v.compress ();
-  w.compress ();
-  x.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
+  x.compress (VectorOperation::add);
 
   v.sadd (1.5, 2, w, 3, x);
 
index f53690ca539f65ff198ff93dcee828463a24805e..3d8bae73a615669e183ae67602bb58e451c0a8db 100644 (file)
@@ -38,10 +38,10 @@ void test (PETScWrappers::Vector &v,
       y(i) = i+3.;
     }
 
-  v.compress ();
-  w.compress ();
-  x.compress ();
-  y.compress ();
+  v.compress (VectorOperation::insert);
+  w.compress (VectorOperation::insert);
+  x.compress (VectorOperation::insert);
+  y.compress (VectorOperation::insert);
 
   v.sadd (1.5, 2, w, 3, x, 4, y);
 
index c63f0f2787455ceab3ff745e631a92135ebad054..4562d006e250759f56cfa63a1fd0f0edff362b7e 100644 (file)
@@ -34,8 +34,8 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v.scale (w);
 
index c063b757214e4002cc0b9942d6f21d47c00cd646..296c5e184d16bc9274bd9b1b237bff841aff987e 100644 (file)
@@ -34,8 +34,8 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1.;
     }
 
-  v.compress ();
-  w.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   v.equ (2, w);
 
index d3065bf076f9cd71d8682b7477fbe2d9251298ae..feb0c52086d065973b6f21d301a5187e937c1e5a 100644 (file)
@@ -36,9 +36,9 @@ void test (PETScWrappers::Vector &v,
       x(i) = i+2.;
     }
 
-  v.compress ();
-  w.compress ();
-  x.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
+  x.compress (VectorOperation::add);
 
   v.equ (2, w, 3, x);
 
index cb99358075e7d4f3066703f477c96efc26069785..da45ea1145389576ccb0ce22a7918f3c87209d7e 100644 (file)
@@ -36,9 +36,9 @@ void test (PETScWrappers::Vector &v,
       x(i) = i+2.;
     }
 
-  v.compress ();
-  w.compress ();
-  x.compress ();
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
+  x.compress (VectorOperation::add);
 
   v.ratio (w, x);
 
index f7b826b64f450d3324f1c93f19e59b92412e0c49..5cc1155cde3356d3c2305bf16fd9b12f02ff3335 100644 (file)
@@ -31,11 +31,11 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     if (i%3 == 0)
       v(i) = i+1.;
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // then copy it
   PETScWrappers::Vector w (v);
-  w.compress ();
+  w.compress (VectorOperation::add);
 
   // make sure they're equal
   deallog << v *w << ' ' << v.l2_norm() * w.l2_norm()
index 3cf2e2e38d2ad487adc1dd0a279f52748b304f6b..754e61c7bd4ac94106b2eb7bb3f62c69897aa090 100644 (file)
@@ -34,7 +34,7 @@ void test (PETScWrappers::SparseMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then make sure we retrieve the same ones
   for (unsigned int i=0; i<m.m(); ++i)
index a6dd4500678b2299671fa66d844b94d9e1167a3b..f50e927cf41a11fdbcc782f43aa3268a5c64781d 100644 (file)
@@ -39,7 +39,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); i+=1+i)
     v(i) *= 2;
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // check that they are ok, and this time
   // all of them
index 8183680678f626743c646f7bf8c1d89af7e0ddbb..67a49d5b77a176e547dc1dd3da8fcd46a30ba33e 100644 (file)
@@ -39,7 +39,7 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); i+=1+i)
     v(i) /= 2;
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // check that they are ok, and this time
   // all of them
index 4a20c3bfe8b7f6874a6a21737cd5454198e19304..b4bd1bfb0324ee1f08c78130a3c97001e0a1e88c 100644 (file)
@@ -36,7 +36,7 @@ void test (PETScWrappers::Vector &v)
       pattern[i] = true;
     }
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   // check that the vector is really
   // non-negative
index 5b195aeb5b170aafc1a11122bcbbb2bf3f462d70..0dbf5596112738bcbe5a2035499f52c5be012510 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::Vector &v)
       pattern[i] = true;
     }
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   Vector<double> w (v);
   Vector<float>  x (v);
index 3bb270d0fcff038df67403b4dad6cbf198f32860..6e2b45c94adc1117f45fedc4bef676a71426c57d 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::Vector &v)
       pattern[i] = true;
     }
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   Vector<double> w (v);
   Vector<float>  x (v);
index 77cba8303053b98888be071459d5e9d1f4ef3a1f..2c532bc0a34095bf3c4ec31ca0a22e657bf4f7ce 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::Vector &v)
       pattern[i] = true;
     }
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   Vector<double> w;
   w=v;
index 75547b0ebd3249c1285e5d46e3bfafd02d55bac8..d883b9813250b6eed0c4ff677f4629420eb68b8a 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::Vector &v)
       pattern[i] = true;
     }
 
-  v.compress ();
+  v.compress (VectorOperation::add);
 
   Vector<double> w;
   w=v;
index a921906e92465896b38226c2b86f4bb8e9b09198..16427b58b16524143343798afc12ab31b704edbe 100644 (file)
@@ -59,7 +59,7 @@ void test (PETScWrappers::MatrixBase &m)
       norm_sqr += s*s;
       ++nnz;
     }
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
           << std::endl;
index 565371457858d8ea35a884ce329607199828333c..6c18362cd95b3e5eb27fb3761d03cabe0f3d39da 100644 (file)
@@ -61,7 +61,7 @@ void test (PETScWrappers::MatrixBase &m)
       norm_sqr += s*s;
       ++nnz;
     }
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
           << std::endl;
index 676a852245596a07f9e39380b98858f432389fde..2719ce002a2cfad76df86bd20f7267130d1eb4b1 100644 (file)
@@ -59,7 +59,7 @@ void test (PETScWrappers::MatrixBase &m)
       norm_sqr += s*s;
       ++nnz;
     }
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
           << std::endl;
index 55e76a9394db800013484115ca14a610c337b767..c01c3f083904fb7e8fbb4e5f6601c0f075f863c8 100644 (file)
@@ -61,7 +61,7 @@ void test (PETScWrappers::MatrixBase &m)
       norm_sqr += s*s;
       ++nnz;
     }
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
           << std::endl;
index 1e73402ba099a573a096ca0aaf8d96935326bf34..88df05b7610bbfc9c11915d180941bdea3085576 100644 (file)
@@ -86,9 +86,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     GrowingVectorMemory<PETScWrappers::Vector> mem;
     SolverCG<PETScWrappers::Vector> solver(control,mem);
index 46f04c6fa5c9db83ce89506f65aa7bd53adce8f6..1a96781ed8e5f5853745b895c6322a4a2cd4f6f9 100644 (file)
@@ -88,9 +88,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     GrowingVectorMemory<PETScWrappers::Vector> mem;
     SolverBicgstab<PETScWrappers::Vector> solver(control,mem);
index 831ebb38ec143238ce8497f220e18af9b34e261c..795c13704accf6b64c2f8581da77f6bcc17af5e8 100644 (file)
@@ -88,9 +88,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     GrowingVectorMemory<PETScWrappers::Vector> mem;
     SolverGMRES<PETScWrappers::Vector> solver(control,mem);
index f4a88b8bc47e7d6e26106f177064da0cc93cecc9..378775dd98cdc963d76c2725566616a86df33d50 100644 (file)
@@ -87,9 +87,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     GrowingVectorMemory<PETScWrappers::Vector> mem;
     SolverMinRes<PETScWrappers::Vector> solver(control,mem);
index 033b498db63ef2dd4726b17d11e7a71b2b46debb..f6bf2ebd84f54457b42e93c7de1bc4b6280759f6 100644 (file)
@@ -86,9 +86,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     GrowingVectorMemory<PETScWrappers::Vector> mem;
     SolverQMRS<PETScWrappers::Vector> solver(control,mem);
index 6125db2d92906d8aec288d349dd735cac0df3fd3..697edcecab6bc07922d357ddb2899d5b6bd959af 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::FullMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then make sure we retrieve the same ones
   for (unsigned int i=0; i<m.m(); ++i)
index 629ba76c6828078b52d5515046a14898a46b1023..1e9c279b1ca9488b92469cbbe9d469f888ca8089 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::FullMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.add (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then make sure we retrieve the same ones
   for (unsigned int i=0; i<m.m(); ++i)
index 36851aa8fcbba7619191fe3f1d13e1fc76d201b9..a59679105fdf6896d24c486e196d8cb19539249e 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::FullMatrix &m)
           ++counter;
         }
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // check n_nonzero_elements then
   // output a dummy number.
index 941c32f8fe831319641f9d96fa2fd324e2c77734..7c90c423e88c9713fb56516b9e659e1ab5a76fd9 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::FullMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // compare against the exact value of the
   // l1-norm (max col-sum)
index 29d8e07e0cd4e37ca893464ee4cad1ac4ffb3c84..09a695f420ac5b088e52b44b4a3e714baa61593f 100644 (file)
@@ -33,7 +33,7 @@ void test (PETScWrappers::FullMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::insert);
 
   // compare against the exact value of the
   // linfty-norm (max row-sum)
index f3c6201ccb2856a46ab37918bcdc2bd9afa42390..5e741375e1d4462df24255c548668d7ef2aa1d03 100644 (file)
@@ -38,7 +38,7 @@ void test (PETScWrappers::FullMatrix &m)
         }
   norm = std::sqrt(norm);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // compare against the exact value of the
   // l2-norm (max row-sum)
index a7b0bb8a087d6855def9c858f2a90caa52bcdc97..22781e7e10ccdcfdae5736de58ce5b24476a7361 100644 (file)
@@ -32,7 +32,7 @@ void test (PETScWrappers::FullMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then multiply everything by 1.25 and
   // make sure we retrieve the values we
index 203f39f0bc084bca476bc8b1f50b51c4805ec58f..f66fc561334479cf07cd6e86b2fdb9fe083515f2 100644 (file)
@@ -32,7 +32,7 @@ void test (PETScWrappers::FullMatrix &m)
       if ((i+2*j+1) % 3 == 0)
         m.set (i,j, i*j*.5+.5);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   // then divide everything by 4/3 and
   // make sure we retrieve the values we
index 94d29eb3cf1f5a8bbb1055e7f245083f2755b15f..a5c1ad4c26b72cba7a841f056f7b6da40b86fd36 100644 (file)
@@ -30,7 +30,7 @@ void test ()
   m.set (0,0,1);
   m.set (1,1,2);
   m.set (1,2,3);
-  m.compress ();
+  m.compress (VectorOperation::add);
   PETScWrappers::FullMatrix::const_iterator i = m.begin();
   deallog << i->row() << ' ' << i->column() << ' ' << i->value() << std::endl;
   ++i;
index daabd4732884a60645a208cc2d668d0bf56087cb..392252810eed540a8b8b8ecd15846e608600135b 100644 (file)
@@ -37,9 +37,9 @@ void test (PETScWrappers::Vector &v,
   for (unsigned int i=0; i<v.size(); ++i)
     v(i) = i;
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // w:=Mv
   m.vmult (w,v);
index 6bf332a6f1e60ef14af2b0ef5a6a81e74f432748..b84340e73c03cfd4e2d2d842b0d6907a7ee46363 100644 (file)
@@ -37,9 +37,9 @@ void test (PETScWrappers::Vector &v,
   for (unsigned int i=0; i<v.size(); ++i)
     v(i) = i;
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // w:=Mv
   m.Tvmult (w,v);
index 1309f3cb23c0b72c3fe1033db4d3f1c78feb3924..f1315a707b15a9feb58cee1fbfcd8d1e02972919 100644 (file)
@@ -40,9 +40,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // w:=Mv
   m.vmult_add (w,v);
index 4ed5c1b261d77c44fcb0f4a33daf761355ca44ab..646c99a517a5f71655d22b8a94c4d6f682fa2d73 100644 (file)
@@ -40,9 +40,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::insert);
+  v.compress (VectorOperation::insert);
+  w.compress (VectorOperation::insert);
 
   // w:=Mv
   m.Tvmult_add (w,v);
index 1d67d92f3d0d72baf04593e23137fd827b7ba8b4..565405adfab2657f216177c19ac8f3d6e4c75d6d 100644 (file)
@@ -40,9 +40,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // <w,Mv>
   const PetscScalar s = m.matrix_scalar_product (w,v);
index 5514768e607422688166e7d27819129635b623a7..07b61100e784dd0938f02dd21e3cec15d161883c 100644 (file)
@@ -36,8 +36,8 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     v(i) = i;
 
-  m.compress ();
-  v.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
 
   // <w,Mv>
   const PetscScalar s = m.matrix_norm_square (v);
index 4eead31ae6fdd6e092fec66528954c390a08bd57..93f4876507607689fad1ab0353e9dc8e697ea94b 100644 (file)
@@ -41,9 +41,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // x=w-Mv
   const double s = m.residual (x, v, w);
index fc1cfb4e94a1ff8543df784716d0ec5a11e95ff0..24f5ba83160b20691377d4c66e61402a045ee9da 100644 (file)
@@ -112,7 +112,7 @@ void test ()
     for (unsigned int j=0; j<csp.row_length(i); ++j)
       m.add (i, csp.column_number(i,j), 1.);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   deallog << "OK" << std::endl;
 }
index 7290ec6caa47b9a65ed19b10c7f416996ab95a4f..98d0ed1fe23fac0ee47c2036266f6b83888e1497 100644 (file)
@@ -63,7 +63,7 @@ void test ()
             sparsity.add(global, global+N);
           }
       }
-  sparsity.compress();
+  sparsity.compress ();
 
 
   // next build the sparse matrix itself
index 9611d27990e59c1652a3ad9d930b0fe3bb430fa8..a5b4c63d8a255315e9ba7ab57ff2cccaee2fa10a 100644 (file)
@@ -63,7 +63,7 @@ void test ()
             matrix.add(global, global+N, -1);
           }
       }
-  matrix.compress ();
+  matrix.compress (VectorOperation::add);
 
 
   // then do a single matrix-vector
index d004153eb070c290660a6a12c9bec749b6ace608..8b3687f811d4fc60a3ea3c4c9d1e8047bdbad390 100644 (file)
@@ -66,7 +66,7 @@ void test ()
             matrix.add(global, global+N, -1);
           }
       }
-  matrix.compress ();
+  matrix.compress (VectorOperation::add);
 
   // then do a single matrix-vector
   // multiplication with subsequent formation
index 221ff387144049e392a972b7836b4bd14d9f5ff8..295bc369660c47ae93c546d5c6816b00be7fd42c 100644 (file)
@@ -97,7 +97,7 @@ void test ()
             matrix.add(global, global+N, rand());
           }
       }
-  matrix.compress ();
+  matrix.compress (VectorOperation::add);
 
   // then do a single matrix-vector
   // multiplication with subsequent formation
index 5c68a79f410d357fcbb7b907647352347f9e7046..9a7c99f66a033c5a444d352d9c2be980614afa86 100644 (file)
@@ -80,9 +80,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverRichardson solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index baf08b9793dd6e8e553b699f6e010d079fff06ab..e534c96a45cff3682eacd02a9018e33072ff16b9 100644 (file)
@@ -80,9 +80,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverChebychev solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index 57b908cc00a032b2e9d0ea260cc4713d19d164b2..74524db36300fbfebed6ab2ddb054569eae55620 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index 84428afb5471348f983a73258ffcfcd6c9181689..4debf5c5c56277a0bce15a504a8b3401e4eba564 100644 (file)
@@ -79,9 +79,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionNone preconditioner(A);
index 8c452a78b1f31d8bfd6eeafbac5747b34c61e0eb..e775a8e41e49cb0eeda58f615d6ee83109ee375d 100644 (file)
@@ -82,9 +82,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionBoomerAMG preconditioner(A);
index 73a442f1a55924dfe892ce58d59c23ce6f9bb499..782e461eea6d46782b5f8adf030e7c4bf39afc79 100644 (file)
@@ -83,9 +83,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionBoomerAMG preconditioner(A, true);
index 6551a25c05d1343141bafcafd43e7889c812a06e..70a6b99b128c45611c99c4792c257f1482f4985c 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionEisenstat preconditioner(A);
index 6849d749796329577bc72e04a15066919b0640b9..628bee413ffecdff6ad1c0c6ec31790a9b20d2e5 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionICC preconditioner(A);
index faad508f0ac0f1c47896701acb8d204f6f0111b0..8e8083b469a740815ca9cda44baf654b9d9bfab9 100644 (file)
@@ -81,9 +81,8 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::insert);
+    f.compress (VectorOperation::insert);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionILU preconditioner(A);
index beabcf434abae689b25e36a8d33c4eddfa324d62..ca0af140cbea64e30df3161bf4593d6f40f7686a 100644 (file)
@@ -88,9 +88,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionLU preconditioner(A);
index 05ffee26f7e076cf7688856038dbb5cafc9dd6ff..3e8698282a38d50030a2bf44af7fddb7ee632f0b 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionParaSails preconditioner(A);
index f0700eebc51cde7973ccf66849d630f035a27993..4a7893f6f4212a92fe5b13ebcf0016540aab77ec 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionSOR preconditioner(A);
index 67fd339d47eba2d62db1b24bab75107e5d646b3b..64ffcf8a55f1c7dd11c5866bf7637cf097d499cd 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCG solver(control);
     PETScWrappers::PreconditionSSOR preconditioner(A);
index 2d9819fba45f536d09d2a9a3d59ebed37b82938b..57fc9afb533365bf7dbc01d5b1822afa21a2e65d 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverBiCG solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index 15f6466e8cdb666e673cbefa4ba3b567b27f0f60..be72a50a579e54a55857883c04ad11f4e60177df 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverGMRES solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index e19bddaf0c37f758ab55db3e83253a87c11296cd..bccd1a5c76773f8aff8cfd52d930f7329f890e63 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverBicgstab solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index 12d44a6ae2f123a9eb0e798f0d70e8385fd9cb1f..30b25fa35699831e1cc94c73bf803e6f90aa604f 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCGS solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index 56b38ef60d7fb64428bc38a24fb160eaa8e5bcf1..6d680f144826532fc5c728c7d91225ed92694afa 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverTFQMR solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index 3297bd8fe2176de9dfe39dda041781740a867dd2..884195c2784446926611fc4acbb87b229606b448 100644 (file)
@@ -85,9 +85,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverTCQMR solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index df81e7dbd2487ce565ba76f0349e29d49ae5e9ae..9e4c41e08eb294d9cd8b99dbf43a5fce83b06da6 100644 (file)
@@ -81,9 +81,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverCR solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index a7e585eb330d37e5f604f40d08a541644426e4ec..02c1e52981cc85bd7adfa79b0387ae5f3e93c8fe 100644 (file)
@@ -82,9 +82,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverLSQR solver(control);
     PETScWrappers::PreconditionJacobi preconditioner(A);
index 79e44183a90999eddf4c38b125836451639fd5bc..39dc5468afd46e3bc353617c54983b7e1d9e4fa5 100644 (file)
@@ -74,9 +74,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  f(dim);
     PETScWrappers::Vector  u(dim);
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     PETScWrappers::SolverPreOnly solver(control);
 
index b28e88cafe33029c9368797b575133002a2df379..7e9db5f265b14efd95779096df0472a18e7275c6 100644 (file)
@@ -72,9 +72,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  u(dim);
     u = 0.;
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
     PETScWrappers::Vector t=u;
 
     PETScWrappers::SolverPreOnly solver(control);
index 01956e4e02b758617c231d772af1ffc2b92397b3..4ca1387710ac485e81efcb5a1e9270e527ffd14c 100644 (file)
@@ -80,9 +80,9 @@ int main(int argc, char **argv)
     PETScWrappers::Vector  u(dim);
     u = 0.;
     f = 1.;
-    A.compress ();
-    f.compress ();
-    u.compress ();
+    A.compress (VectorOperation::add);
+    f.compress (VectorOperation::add);
+    u.compress (VectorOperation::add);
 
     SolverControl cn;
     PETScWrappers::SparseDirectMUMPS solver(cn);
index d1482625ba05da2ba80ad80bf0f71841e1a4063b..767f140e60579b28ad519ba93636a3325eb3b2c8 100644 (file)
@@ -34,13 +34,13 @@ void test ()
     for (unsigned int j=0; j<=i; ++j)
       m.set (i,j, i+2*j);
 
-  m.compress ();
+  m.compress (VectorOperation::add);
 
   PETScWrappers::SparseMatrix m2(s,s,s);
   m2.set(0,1,5.0);
   for (unsigned int i=0; i<m2.m(); ++i)
     m2.set(i,i,1.0+ i);
-  m2.compress();
+  m2.compress (VectorOperation::add);
 
   // we now print the matrix m,
   // print after adding m2, and then subtract m2 again
index f4073e5e32ab575d6f36cd528abeae44b9a5705d..493bfda620e86e27e3f0c9ce27eebd3e80e977a6 100644 (file)
@@ -35,7 +35,7 @@ void test ()
       m.set (i,j, i+2*j);
 
 
-  m.compress();
+  m.compress (VectorOperation::add);
 
   {
 
index b070cc721c6db33d764dde56fb1096ee08300fc9..e9a1444dfdc41507d6266e9765cd60a6c4edd252 100644 (file)
@@ -30,7 +30,7 @@ void test ()
   m.set (0,0,1);
   m.set (1,1,2);
   m.set (1,2,3);
-  m.compress ();
+  m.compress (VectorOperation::add);
   PETScWrappers::SparseMatrix::const_iterator i = m.begin();
   deallog << i->row() << ' ' << i->column() << ' ' << i->value() << std::endl;
   ++i;
index 656249941890cf6a3acfadc6e081ffbaaec9dad0..96094736a01632c1ea43ee6d1f0ee4a910735a6b 100644 (file)
@@ -37,9 +37,9 @@ void test (PETScWrappers::Vector &v,
   for (unsigned int i=0; i<v.size(); ++i)
     v(i) = i;
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // w:=Mv
   m.vmult (w,v);
index b127bb49eec24d957d03c43ce5a2e0845c453376..a0d345cc7828677acd3c2cb74322c05c77801666 100644 (file)
@@ -37,9 +37,9 @@ void test (PETScWrappers::Vector &v,
   for (unsigned int i=0; i<v.size(); ++i)
     v(i) = i;
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // w:=Mv
   m.Tvmult (w,v);
index 667d48d3c3b3846b09b40c2deadf5cd1e83d81b1..09728f409cacd2226fb42856c603fca3fd68e71b 100644 (file)
@@ -40,9 +40,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // w:=Mv
   m.vmult_add (w,v);
index 357e719c5e7de5ccad57e8519e719c466f302d1e..6b311421a9d5a4dcf57d81f9a230d2f848072c4c 100644 (file)
@@ -40,9 +40,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // w:=Mv
   m.Tvmult_add (w,v);
index d17bad38c15a119df1c9eadec3b009f349ac3b8a..6f83c1c0bb7a2868f6b53e0f3bf026a49c9166d9 100644 (file)
@@ -40,9 +40,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // <w,Mv>
   const PetscScalar s = m.matrix_scalar_product (w,v);
index 59011500306eb73a2b046e8b7934817fc209bf1b..144d246bf8aeb4807a536e854193836f0e382d73 100644 (file)
@@ -36,8 +36,8 @@ void test (PETScWrappers::Vector &v)
   for (unsigned int i=0; i<v.size(); ++i)
     v(i) = i;
 
-  m.compress ();
-  v.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
 
   // <w,Mv>
   const PetscScalar s = m.matrix_norm_square (v);
index 45bd1b80c8ca7720a8ab490d892200494daca3af..b4bfef4701f99b6957472c358473754b77106572 100644 (file)
@@ -41,9 +41,9 @@ void test (PETScWrappers::Vector &v,
       w(i) = i+1;
     }
 
-  m.compress ();
-  v.compress ();
-  w.compress ();
+  m.compress (VectorOperation::add);
+  v.compress (VectorOperation::add);
+  w.compress (VectorOperation::add);
 
   // x=w-Mv
   const double s = m.residual (x, v, w);

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.