// 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";
// 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>)));
// 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>)));
--- /dev/null
+// ---------------------------------------------------------------------
+// $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;
+}
--- /dev/null
+
+DEAL::OK
+DEAL::OK
+DEAL::OK
// 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>)));
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>));
--- /dev/null
+// ---------------------------------------------------------------------
+// $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;
+}
--- /dev/null
+
+DEAL::OK
--- /dev/null
+// ---------------------------------------------------------------------
+// $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;
+}
--- /dev/null
+
+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
Threads::Mutex mutex;
-int spin_lock = 0;
+volatile int spin_lock = 0;
void worker ()
Threads::Mutex mutex;
-int spin_lock = 0;
+volatile int spin_lock = 0;
int worker ()
--- /dev/null
+// ---------------------------------------------------------------------
+// $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 ©_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(©_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();
+}
--- /dev/null
+
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
+DEAL::288.
--- /dev/null
+// ---------------------------------------------------------------------
+// $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 ();
+}
--- /dev/null
+
+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
--- /dev/null
+// ---------------------------------------------------------------------
+// $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 ();
+}
--- /dev/null
+
+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
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,
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.7968750
+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.79687500
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.88281250
+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.882812500
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.8732639
+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.87326389
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.9365234
+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.93652344
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:
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.3906250
+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.39062500
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:
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;
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;
}
--- /dev/null
+// ---------------------------------------------------------------------
+// $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;
+}
--- /dev/null
+
+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
#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>
// 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
-// 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
--- /dev/null
+// ---------------------------------------------------------------------
+// $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;
+}
--- /dev/null
+
+DEAL::1.0
+DEAL::42
--- /dev/null
+# note: no endline at the end of the following line
+set val2 = 42
\ No newline at end of file
--- /dev/null
+// ---------------------------------------------------------------------
+// $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;
+}
--- /dev/null
+
+DEAL::test_1=1,0,1
--- /dev/null
+set test_1 = 1,1,1
+include parameter_handler_1_include.prm2
--- /dev/null
+set test_1 = 1,0,1
+
--- /dev/null
+// ---------------------------------------------------------------------
+// $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;
+}
--- /dev/null
+
+DEAL::test_1=1,1,1
--- /dev/null
+set test_1 = 1,1,1
+
+# the following file does not exist
+include parameter_handler_1_include_fail.prm2
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;
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;
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;
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;
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;
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,
{
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);
}
}
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;
}
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;
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;
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;
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;
#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>
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;
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);
// 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>
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);
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
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
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
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
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
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
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;
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)
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)
++counter;
}
- m.compress ();
+ m.compress (VectorOperation::add);
deallog << m.n_nonzero_elements() << std::endl;
Assert (m.n_nonzero_elements() == counter,
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)
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)
}
norm = std::sqrt(norm);
- m.compress ();
+ m.compress (VectorOperation::add);
// compare against the exact value of the
// l2-norm (max row-sum)
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
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
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());
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
// check that they are ok, and this time
// all of them
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
// check that they are ok, and this time
// all of them
v(i) = i;
norm += std::fabs(1.*i);
}
- v.compress ();
+ v.compress (VectorOperation::add);
// then check the norm
Assert (v.l1_norm() == norm, ExcInternalError());
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;
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());
v(i) = i;
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
// multiply v with 5/4
v *= 5./4.;
v(i) = i;
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
// multiply v with 3/4
v /= 4./3.;
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());
}
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
// make sure the scalar product is zero
Assert (v*w == product, ExcInternalError());
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
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
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;
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());
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
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);
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;
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;
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;
v(i) = i;
sum += i*i*i;
}
- v.compress ();
+ v.compress (VectorOperation::add);
// set them to zero again
v = 0;
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v += w;
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v -= w;
for (unsigned int i=0; i<v.size(); ++i)
v(i) = i;
- v.compress ();
+ v.compress (VectorOperation::add);
v.add (1.);
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v.add (w);
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v.add (2, w);
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);
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v.sadd (2, w);
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v.sadd (3, 2, w);
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);
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);
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v.scale (w);
w(i) = i+1.;
}
- v.compress ();
- w.compress ();
+ v.compress (VectorOperation::add);
+ w.compress (VectorOperation::add);
v.equ (2, w);
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);
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);
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()
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)
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
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
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
// check that the vector is really
// non-negative
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
Vector<double> w (v);
Vector<float> x (v);
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
Vector<double> w (v);
Vector<float> x (v);
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
Vector<double> w;
w=v;
pattern[i] = true;
}
- v.compress ();
+ v.compress (VectorOperation::add);
Vector<double> w;
w=v;
norm_sqr += s*s;
++nnz;
}
- m.compress ();
+ m.compress (VectorOperation::add);
deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
<< std::endl;
norm_sqr += s*s;
++nnz;
}
- m.compress ();
+ m.compress (VectorOperation::add);
deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
<< std::endl;
norm_sqr += s*s;
++nnz;
}
- m.compress ();
+ m.compress (VectorOperation::add);
deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
<< std::endl;
norm_sqr += s*s;
++nnz;
}
- m.compress ();
+ m.compress (VectorOperation::add);
deallog << m.frobenius_norm() << ' ' << std::sqrt (norm_sqr)
<< std::endl;
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);
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);
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);
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);
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);
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)
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)
++counter;
}
- m.compress ();
+ m.compress (VectorOperation::add);
// check n_nonzero_elements then
// output a dummy number.
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)
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)
}
norm = std::sqrt(norm);
- m.compress ();
+ m.compress (VectorOperation::add);
// compare against the exact value of the
// l2-norm (max row-sum)
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
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
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;
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);
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);
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);
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);
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);
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);
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);
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;
}
sparsity.add(global, global+N);
}
}
- sparsity.compress();
+ sparsity.compress ();
// next build the sparse matrix itself
matrix.add(global, global+N, -1);
}
}
- matrix.compress ();
+ matrix.compress (VectorOperation::add);
// then do a single matrix-vector
matrix.add(global, global+N, -1);
}
}
- matrix.compress ();
+ matrix.compress (VectorOperation::add);
// then do a single matrix-vector
// multiplication with subsequent formation
matrix.add(global, global+N, rand());
}
}
- matrix.compress ();
+ matrix.compress (VectorOperation::add);
// then do a single matrix-vector
// multiplication with subsequent formation
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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
m.set (i,j, i+2*j);
- m.compress();
+ m.compress (VectorOperation::add);
{
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;
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);
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);
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);
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);
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);
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);
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);