template <int dim, int fe_degree, int n_q_points_1d, typename number>
-void do_test (const DoFHandler<dim> &dof,
- const bool also_test_parallel = false)
+void do_test (const DoFHandler<dim> &dof)
{
if (types_are_equal<number,float>::value == true)
{
dof.distribute_dofs(fe);
dof.distribute_mg_dofs(fe);
- do_test<dim, fe_degree, fe_degree+1, double> (dof, true);
+ do_test<dim, fe_degree, fe_degree+1, double> (dof);
}
}
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2014-2015 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.
+//
+// ---------------------------------------------------------------------
+
+
+
+// similar as parallel_multigrid but using adaptive meshes with hanging nodes
+// (doing local smoothing)
+
+#include "../tests.h"
+
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/utilities.h>
+#include <deal.II/lac/parallel_vector.h>
+#include <deal.II/lac/solver_cg.h>
+#include <deal.II/lac/precondition.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/lac/constraint_matrix.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/mapping_q.h>
+#include <deal.II/numerics/vector_tools.h>
+#include <deal.II/distributed/tria.h>
+
+#include <deal.II/multigrid/multigrid.h>
+#include <deal.II/multigrid/mg_transfer.h>
+#include <deal.II/multigrid/mg_tools.h>
+#include <deal.II/multigrid/mg_coarse.h>
+#include <deal.II/multigrid/mg_smoother.h>
+#include <deal.II/multigrid/mg_matrix.h>
+
+#include <deal.II/matrix_free/matrix_free.h>
+#include <deal.II/matrix_free/fe_evaluation.h>
+
+std::ofstream logfile("output");
+
+
+template <int dim, int fe_degree, int n_q_points_1d = fe_degree+1, typename number=double>
+class LaplaceOperator : public Subscriptor
+{
+public:
+ LaplaceOperator() {};
+
+
+ void initialize (const Mapping<dim> &mapping,
+ const DoFHandler<dim> &dof_handler,
+ const MGConstrainedDoFs &mg_constrained_dofs,
+ const typename FunctionMap<dim>::type &dirichlet_boundary,
+ const unsigned int level = numbers::invalid_unsigned_int)
+ {
+ const QGauss<1> quad (n_q_points_1d);
+ typename MatrixFree<dim,number>::AdditionalData addit_data;
+ addit_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
+ addit_data.tasks_block_size = 3;
+ addit_data.level_mg_handler = level;
+ addit_data.mpi_communicator = MPI_COMM_WORLD;
+ ConstraintMatrix constraints;
+ if (level == numbers::invalid_unsigned_int)
+ {
+ IndexSet relevant_dofs;
+ DoFTools::extract_locally_relevant_dofs(dof_handler, relevant_dofs);
+ constraints.reinit(relevant_dofs);
+ DoFTools::make_hanging_node_constraints(dof_handler, constraints);
+ VectorTools::interpolate_boundary_values(dof_handler, dirichlet_boundary,
+ constraints);
+ }
+ else
+ {
+ IndexSet relevant_dofs;
+ DoFTools::extract_locally_relevant_level_dofs(dof_handler, level,
+ relevant_dofs);
+ constraints.reinit(relevant_dofs);
+ constraints.add_lines(mg_constrained_dofs.get_boundary_indices(level));
+
+ std::vector<types::global_dof_index> interface_indices;
+ mg_constrained_dofs.get_refinement_edge_indices(level).fill_index_vector(interface_indices);
+ edge_constrained_indices.clear();
+ edge_constrained_indices.reserve(interface_indices.size());
+ edge_constrained_values.resize(interface_indices.size());
+ const IndexSet &locally_owned = dof_handler.locally_owned_mg_dofs(level);
+ for (unsigned int i=0; i<interface_indices.size(); ++i)
+ if (locally_owned.is_element(interface_indices[i]))
+ edge_constrained_indices.push_back(locally_owned.index_within_set(interface_indices[i]));
+ have_interface_matrices = Utilities::MPI::max((unsigned int)edge_constrained_indices.size(), MPI_COMM_WORLD) > 0;
+ }
+ constraints.close();
+
+ data.reinit (mapping, dof_handler, constraints, quad, addit_data);
+
+ if (level != numbers::invalid_unsigned_int)
+ compute_inverse_diagonal();
+ }
+
+ void vmult(parallel::distributed::Vector<number> &dst,
+ const parallel::distributed::Vector<number> &src) const
+ {
+ dst = 0;
+ vmult_add(dst, src);
+ }
+
+ void Tvmult(parallel::distributed::Vector<number> &dst,
+ const parallel::distributed::Vector<number> &src) const
+ {
+ dst = 0;
+ vmult_add(dst, src);
+ }
+
+ void Tvmult_add(parallel::distributed::Vector<number> &dst,
+ const parallel::distributed::Vector<number> &src) const
+ {
+ vmult_add(dst, src);
+ }
+
+ void vmult_add(parallel::distributed::Vector<number> &dst,
+ const parallel::distributed::Vector<number> &src) const
+ {
+ Assert(src.partitioners_are_globally_compatible(*data.get_dof_info(0).vector_partitioner), ExcInternalError());
+ Assert(dst.partitioners_are_globally_compatible(*data.get_dof_info(0).vector_partitioner), ExcInternalError());
+
+ // set zero Dirichlet values on the input vector (and remember the src and
+ // dst values because we need to reset them at the end)
+ for (unsigned int i=0; i<edge_constrained_indices.size(); ++i)
+ {
+ edge_constrained_values[i] =
+ std::pair<number,number>(src.local_element(edge_constrained_indices[i]),
+ dst.local_element(edge_constrained_indices[i]));
+ const_cast<parallel::distributed::Vector<double>&>(src).local_element(edge_constrained_indices[i]) = 0.;
+ }
+
+ data.cell_loop (&LaplaceOperator::local_apply,
+ this, dst, src);
+
+ const std::vector<unsigned int> &
+ constrained_dofs = data.get_constrained_dofs();
+ for (unsigned int i=0; i<constrained_dofs.size(); ++i)
+ dst.local_element(constrained_dofs[i]) += src.local_element(constrained_dofs[i]);
+
+ // reset edge constrained values, multiply by unit matrix and add into
+ // destination
+ for (unsigned int i=0; i<edge_constrained_indices.size(); ++i)
+ {
+ const_cast<parallel::distributed::Vector<double>&>(src).local_element(edge_constrained_indices[i]) = edge_constrained_values[i].first;
+ dst.local_element(edge_constrained_indices[i]) = edge_constrained_values[i].second + edge_constrained_values[i].first;
+ }
+ }
+
+ void vmult_interface_down(parallel::distributed::Vector<double> &dst,
+ const parallel::distributed::Vector<double> &src) const
+ {
+ Assert(src.partitioners_are_globally_compatible(*data.get_dof_info(0).vector_partitioner), ExcInternalError());
+ Assert(dst.partitioners_are_globally_compatible(*data.get_dof_info(0).vector_partitioner), ExcInternalError());
+
+ dst = 0;
+
+ if (!have_interface_matrices)
+ return;
+
+ // set zero Dirichlet values on the input vector (and remember the src and
+ // dst values because we need to reset them at the end)
+ for (unsigned int i=0; i<edge_constrained_indices.size(); ++i)
+ {
+ const double src_val = src.local_element(edge_constrained_indices[i]);
+ const_cast<parallel::distributed::Vector<double>&>(src).local_element(edge_constrained_indices[i]) = 0.;
+ edge_constrained_values[i] = std::pair<number,number>(src_val,
+ dst.local_element(edge_constrained_indices[i]));
+ }
+
+ data.cell_loop (&LaplaceOperator::local_apply,
+ this, dst, src);
+
+ unsigned int c=0;
+ for (unsigned int i=0; i<edge_constrained_indices.size(); ++i)
+ {
+ for ( ; c<edge_constrained_indices[i]; ++c)
+ dst.local_element(c) = 0.;
+ ++c;
+
+ // reset the src values
+ const_cast<parallel::distributed::Vector<double>&>(src).local_element(edge_constrained_indices[i]) = edge_constrained_values[i].first;
+ }
+ for ( ; c<dst.local_size(); ++c)
+ dst.local_element(c) = 0.;
+ }
+
+ void vmult_interface_up(parallel::distributed::Vector<double> &dst,
+ const parallel::distributed::Vector<double> &src) const
+ {
+ Assert(src.partitioners_are_globally_compatible(*data.get_dof_info(0).vector_partitioner), ExcInternalError());
+ Assert(dst.partitioners_are_globally_compatible(*data.get_dof_info(0).vector_partitioner), ExcInternalError());
+
+ dst = 0;
+
+ if (!have_interface_matrices)
+ return;
+
+ parallel::distributed::Vector<double> src_cpy (src);
+ unsigned int c=0;
+ for (unsigned int i=0; i<edge_constrained_indices.size(); ++i)
+ {
+ for ( ; c<edge_constrained_indices[i]; ++c)
+ src_cpy.local_element(c) = 0.;
+ ++c;
+ }
+ for ( ; c<src_cpy.local_size(); ++c)
+ src_cpy.local_element(c) = 0.;
+
+ data.cell_loop (&LaplaceOperator::local_apply,
+ this, dst, src_cpy);
+ for (unsigned int i=0; i<edge_constrained_indices.size(); ++i)
+ {
+ dst.local_element(edge_constrained_indices[i]) = 0.;
+ }
+ }
+
+ types::global_dof_index m() const
+ {
+ return data.get_vector_partitioner()->size();
+ }
+
+ types::global_dof_index n() const
+ {
+ return data.get_vector_partitioner()->size();
+ }
+
+ number el (const unsigned int row, const unsigned int col) const
+ {
+ AssertThrow(false, ExcMessage("Matrix-free does not allow for entry access"));
+ return number();
+ }
+
+ void
+ initialize_dof_vector(parallel::distributed::Vector<number> &vector) const
+ {
+ if (!vector.partitioners_are_compatible(*data.get_dof_info(0).vector_partitioner))
+ data.initialize_dof_vector(vector);
+ Assert(vector.partitioners_are_globally_compatible(*data.get_dof_info(0).vector_partitioner),
+ ExcInternalError());
+ }
+
+ const parallel::distributed::Vector<number> &
+ get_matrix_diagonal_inverse() const
+ {
+ Assert(inverse_diagonal_entries.size() > 0, ExcNotInitialized());
+ return inverse_diagonal_entries;
+ }
+
+
+private:
+ void
+ local_apply (const MatrixFree<dim,number> &data,
+ parallel::distributed::Vector<number> &dst,
+ const parallel::distributed::Vector<number> &src,
+ const std::pair<unsigned int,unsigned int> &cell_range) const
+ {
+ FEEvaluation<dim,fe_degree,n_q_points_1d,1,number> phi (data);
+
+ for (unsigned int cell=cell_range.first; cell<cell_range.second; ++cell)
+ {
+ phi.reinit (cell);
+ phi.read_dof_values(src);
+ phi.evaluate (false,true,false);
+ for (unsigned int q=0; q<phi.n_q_points; ++q)
+ phi.submit_gradient (phi.get_gradient(q), q);
+ phi.integrate (false,true);
+ phi.distribute_local_to_global (dst);
+ }
+ }
+
+ void
+ compute_inverse_diagonal ()
+ {
+ data.initialize_dof_vector(inverse_diagonal_entries);
+ unsigned int dummy;
+ data.cell_loop (&LaplaceOperator::local_diagonal_cell,
+ this, inverse_diagonal_entries, dummy);
+
+ const std::vector<unsigned int> &
+ constrained_dofs = data.get_constrained_dofs();
+ for (unsigned int i=0; i<constrained_dofs.size(); ++i)
+ inverse_diagonal_entries.local_element(constrained_dofs[i]) = 1.;
+ for (unsigned int i=0; i<edge_constrained_indices.size(); ++i)
+ {
+ inverse_diagonal_entries.local_element(edge_constrained_indices[i]) = 1.;
+ }
+
+
+ for (unsigned int i=0; i<inverse_diagonal_entries.local_size(); ++i)
+ if (std::abs(inverse_diagonal_entries.local_element(i)) > 1e-10)
+ inverse_diagonal_entries.local_element(i) = 1./inverse_diagonal_entries.local_element(i);
+ else
+ inverse_diagonal_entries.local_element(i) = 1.;
+ }
+
+ void
+ local_diagonal_cell (const MatrixFree<dim,number> &data,
+ parallel::distributed::Vector<number> &dst,
+ const unsigned int &,
+ const std::pair<unsigned int,unsigned int> &cell_range) const
+ {
+ FEEvaluation<dim,fe_degree,n_q_points_1d,1,number> phi (data);
+
+ for (unsigned int cell=cell_range.first; cell<cell_range.second; ++cell)
+ {
+ phi.reinit (cell);
+
+ VectorizedArray<number> local_diagonal_vector[phi.tensor_dofs_per_cell];
+ for (unsigned int i=0; i<phi.dofs_per_cell; ++i)
+ {
+ for (unsigned int j=0; j<phi.dofs_per_cell; ++j)
+ phi.begin_dof_values()[j] = VectorizedArray<number>();
+ phi.begin_dof_values()[i] = 1.;
+ phi.evaluate (false,true,false);
+ for (unsigned int q=0; q<phi.n_q_points; ++q)
+ phi.submit_gradient (phi.get_gradient(q), q);
+ phi.integrate (false,true);
+ local_diagonal_vector[i] = phi.begin_dof_values()[i];
+ }
+ for (unsigned int i=0; i<phi.tensor_dofs_per_cell; ++i)
+ phi.begin_dof_values()[i] = local_diagonal_vector[i];
+ phi.distribute_local_to_global (dst);
+ }
+ }
+
+ MatrixFree<dim,number> data;
+ parallel::distributed::Vector<number> inverse_diagonal_entries;
+ std::vector<unsigned int> edge_constrained_indices;
+ mutable std::vector<std::pair<number,number> > edge_constrained_values;
+ bool have_interface_matrices;
+};
+
+
+
+template <typename LAPLACEOPERATOR>
+class MGInterfaceMatrix : public Subscriptor
+{
+public:
+ void initialize (const LAPLACEOPERATOR &laplace)
+ {
+ this->laplace = &laplace;
+ }
+
+ void vmult (parallel::distributed::Vector<double> &dst,
+ const parallel::distributed::Vector<double> &src) const
+ {
+ laplace->vmult_interface_down(dst, src);
+ }
+
+ void Tvmult (parallel::distributed::Vector<double> &dst,
+ const parallel::distributed::Vector<double> &src) const
+ {
+ laplace->vmult_interface_up(dst, src);
+ }
+
+private:
+ SmartPointer<const LAPLACEOPERATOR> laplace;
+};
+
+
+
+template <typename LAPLACEOPERATOR>
+class MGTransferMF : public MGTransferPrebuilt<parallel::distributed::Vector<double> >
+{
+public:
+ MGTransferMF(const MGLevelObject<LAPLACEOPERATOR> &laplace,
+ const ConstraintMatrix &hanging_node_constraints,
+ const MGConstrainedDoFs &mg_constrained_dofs)
+ :
+ MGTransferPrebuilt<parallel::distributed::Vector<double> >(hanging_node_constraints,
+ mg_constrained_dofs),
+ laplace_operator (laplace)
+ {
+ }
+
+ /**
+ * Overload copy_to_mg from MGTransferPrebuilt to get the vectors compatible
+ * with MatrixFree and bypass the crude vector initialization in
+ * MGTransferPrebuilt
+ */
+ template <int dim, class InVector, int spacedim>
+ void
+ copy_to_mg (const DoFHandler<dim,spacedim> &mg_dof_handler,
+ MGLevelObject<parallel::distributed::Vector<double> > &dst,
+ const InVector &src) const
+ {
+ for (unsigned int level=dst.min_level();
+ level<=dst.max_level(); ++level)
+ laplace_operator[level].initialize_dof_vector(dst[level]);
+ MGTransferPrebuilt<parallel::distributed::Vector<double> >::
+ copy_to_mg(mg_dof_handler, dst, src);
+ }
+
+private:
+ const MGLevelObject<LAPLACEOPERATOR> &laplace_operator;
+};
+
+
+
+template<typename MatrixType, typename Number>
+class MGCoarseIterative : public MGCoarseGridBase<parallel::distributed::Vector<Number> >
+{
+public:
+ MGCoarseIterative() {}
+
+ void initialize(const MatrixType &matrix)
+ {
+ coarse_matrix = &matrix;
+ }
+
+ virtual void operator() (const unsigned int level,
+ parallel::distributed::Vector<double> &dst,
+ const parallel::distributed::Vector<double> &src) const
+ {
+ ReductionControl solver_control (1e4, 1e-50, 1e-10);
+ SolverCG<parallel::distributed::Vector<double> > solver_coarse (solver_control);
+ solver_coarse.solve (*coarse_matrix, dst, src, PreconditionIdentity());
+ }
+
+ const MatrixType *coarse_matrix;
+};
+
+
+
+
+template <int dim, int fe_degree, int n_q_points_1d, typename number>
+void do_test (const DoFHandler<dim> &dof)
+{
+ if (types_are_equal<number,float>::value == true)
+ {
+ deallog.push("float");
+ deallog.threshold_double(1e-6);
+ }
+ else
+ {
+ deallog.threshold_double(5.e-11);
+ }
+
+ deallog << "Testing " << dof.get_fe().get_name();
+ deallog << std::endl;
+ deallog << "Number of degrees of freedom: " << dof.n_dofs() << std::endl;
+
+ ConstraintMatrix hanging_node_constraints;
+ IndexSet locally_relevant_dofs;
+ DoFTools::extract_locally_relevant_dofs(dof, locally_relevant_dofs);
+ hanging_node_constraints.reinit(locally_relevant_dofs);
+ DoFTools::make_hanging_node_constraints(dof, hanging_node_constraints);
+ hanging_node_constraints.close();
+
+ MGConstrainedDoFs mg_constrained_dofs;
+ ZeroFunction<dim> zero_function;
+ typename FunctionMap<dim>::type dirichlet_boundary;
+ dirichlet_boundary[0] = &zero_function;
+ mg_constrained_dofs.initialize(dof, dirichlet_boundary);
+
+ MappingQ<dim> mapping(fe_degree+1);
+ LaplaceOperator<dim,fe_degree,n_q_points_1d,number> fine_matrix;
+ fine_matrix.initialize(mapping, dof, mg_constrained_dofs, dirichlet_boundary,
+ numbers::invalid_unsigned_int);
+
+ parallel::distributed::Vector<number> in, sol;
+ fine_matrix.initialize_dof_vector(in);
+ fine_matrix.initialize_dof_vector(sol);
+
+ // set constant rhs vector
+ for (unsigned int i=0; i<in.local_size(); ++i)
+ if (!hanging_node_constraints.is_constrained(in.get_partitioner()->local_to_global(i)))
+ in.local_element(i) = 1.;
+
+ // set up multigrid in analogy to step-37
+ typedef LaplaceOperator<dim,fe_degree,n_q_points_1d,number> LevelMatrixType;
+
+ MGLevelObject<LevelMatrixType> mg_matrices;
+ mg_matrices.resize(0, dof.get_triangulation().n_global_levels()-1);
+ for (unsigned int level = 0; level<dof.get_triangulation().n_global_levels(); ++level)
+ {
+ mg_matrices[level].initialize(mapping, dof, mg_constrained_dofs,
+ dirichlet_boundary, level);
+ }
+ MGLevelObject<MGInterfaceMatrix<LevelMatrixType> > mg_interface_matrices;
+ mg_interface_matrices.resize(0, dof.get_triangulation().n_global_levels()-1);
+ for (unsigned int level=0; level<dof.get_triangulation().n_global_levels(); ++level)
+ mg_interface_matrices[level].initialize(mg_matrices[level]);
+
+ MGTransferMF<LevelMatrixType> mg_transfer(mg_matrices,
+ hanging_node_constraints,
+ mg_constrained_dofs);
+ mg_transfer.build_matrices(dof);
+
+ MGCoarseIterative<LevelMatrixType,number> mg_coarse;
+ mg_coarse.initialize(mg_matrices[0]);
+
+ typedef PreconditionChebyshev<LevelMatrixType,parallel::distributed::Vector<number> > SMOOTHER;
+ MGSmootherPrecondition<LevelMatrixType, SMOOTHER, parallel::distributed::Vector<number> >
+ mg_smoother;
+
+ MGLevelObject<typename SMOOTHER::AdditionalData> smoother_data;
+ smoother_data.resize(0, dof.get_triangulation().n_global_levels()-1);
+ for (unsigned int level = 0; level<dof.get_triangulation().n_global_levels(); ++level)
+ {
+ smoother_data[level].smoothing_range = 15.;
+ smoother_data[level].degree = 5;
+ smoother_data[level].eig_cg_n_iterations = 15;
+ smoother_data[level].matrix_diagonal_inverse =
+ mg_matrices[level].get_matrix_diagonal_inverse();
+ }
+ mg_smoother.initialize(mg_matrices, smoother_data);
+
+ mg::Matrix<parallel::distributed::Vector<double> >
+ mg_matrix(mg_matrices);
+ mg::Matrix<parallel::distributed::Vector<double> >
+ mg_interface(mg_interface_matrices);
+
+ Multigrid<parallel::distributed::Vector<double> > mg(dof,
+ mg_matrix,
+ mg_coarse,
+ mg_transfer,
+ mg_smoother,
+ mg_smoother);
+ mg.set_edge_matrices(mg_interface, mg_interface);
+ PreconditionMG<dim, parallel::distributed::Vector<double>,
+ MGTransferMF<LevelMatrixType> >
+ preconditioner(dof, mg, mg_transfer);
+
+ {
+ ReductionControl control(30, 1e-20, 1e-7);
+ SolverCG<parallel::distributed::Vector<double> > solver(control);
+ solver.solve(fine_matrix, sol, in, preconditioner);
+ }
+
+ if (types_are_equal<number,float>::value == true)
+ deallog.pop();
+}
+
+
+
+template <int dim, int fe_degree>
+void test ()
+{
+ parallel::distributed::Triangulation<dim> tria(MPI_COMM_WORLD,
+ dealii::Triangulation<dim>::none,parallel::distributed::Triangulation<dim>::construct_multigrid_hierarchy);
+ GridGenerator::hyper_cube (tria);
+ tria.refine_global(6-dim);
+ const unsigned int n_runs = fe_degree == 1 ? 6-dim : 5-dim;
+ for (unsigned int i=0; i<n_runs; ++i)
+ {
+ for (typename Triangulation<dim>::active_cell_iterator cell=tria.begin_active();
+ cell != tria.end(); ++cell)
+ if (cell->is_locally_owned() &&
+ (cell->center().norm() < 0.5 && (cell->level() < 5 ||
+ cell->center().norm() > 0.45)
+ ||
+ (dim == 2 && cell->center().norm() > 1.2)))
+ cell->set_refine_flag();
+ tria.execute_coarsening_and_refinement();
+ FE_Q<dim> fe (fe_degree);
+ DoFHandler<dim> dof (tria);
+ dof.distribute_dofs(fe);
+ dof.distribute_mg_dofs(fe);
+
+ do_test<dim, fe_degree, fe_degree+1, double> (dof);
+ }
+}
+
+
+
+int main (int argc, char **argv)
+{
+ Utilities::MPI::MPI_InitFinalize mpi_init(argc, argv);
+
+ if (Utilities::MPI::this_mpi_process(MPI_COMM_WORLD) == 0)
+ {
+ deallog.attach(logfile);
+ deallog << std::setprecision (4);
+ }
+
+ {
+ deallog.threshold_double(1.e-10);
+ deallog.push("2d");
+ test<2,1>();
+ test<2,3>();
+ deallog.pop();
+ deallog.push("3d");
+ test<3,1>();
+ test<3,2>();
+ deallog.pop();
+ }
+}
--- /dev/null
+
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 507
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9984
+DEAL:2d:cg::Failure step 15 value 0.001385
+DEAL:2d:cg::Starting value 21.93
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 5 value 7.812e-07
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 881
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9988
+DEAL:2d:cg::Failure step 15 value 0.002581
+DEAL:2d:cg::Starting value 0.9989
+DEAL:2d:cg::Failure step 15 value 0.0001487
+DEAL:2d:cg::Starting value 27.77
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 6 value 9.245e-07
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 2147
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9988
+DEAL:2d:cg::Failure step 15 value 0.003288
+DEAL:2d:cg::Starting value 0.9993
+DEAL:2d:cg::Failure step 15 value 0.005495
+DEAL:2d:cg::Starting value 0.9997
+DEAL:2d:cg::Failure step 15 value 0.05100
+DEAL:2d:cg::Starting value 43.26
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 6 value 1.145e-06
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 6517
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9989
+DEAL:2d:cg::Failure step 15 value 0.005519
+DEAL:2d:cg::Starting value 0.9994
+DEAL:2d:cg::Failure step 15 value 0.01098
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 0.09572
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 0.7527
+DEAL:2d:cg::Starting value 76.92
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 6 value 1.559e-06
+DEAL:2d::Testing FE_Q<2>(3)
+DEAL:2d::Number of degrees of freedom: 4259
+DEAL:2d:cg::Starting value 0.9682
+DEAL:2d:cg::Convergence step 2 value 0
+DEAL:2d:cg::Starting value 0.9897
+DEAL:2d:cg::Convergence step 7 value 0
+DEAL:2d:cg::Starting value 0.9970
+DEAL:2d:cg::Failure step 15 value 0.0009642
+DEAL:2d:cg::Starting value 0.9992
+DEAL:2d:cg::Failure step 15 value 0.7055
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 3.190
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 2.417
+DEAL:2d:cg::Starting value 64.26
+DEAL:2d:cg:cg::Starting value 244.2
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.01076
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.0006421
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 4.476e-06
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 2.268e-07
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg::Convergence step 5 value 1.148e-06
+DEAL:2d::Testing FE_Q<2>(3)
+DEAL:2d::Number of degrees of freedom: 7457
+DEAL:2d:cg::Starting value 0.9682
+DEAL:2d:cg::Convergence step 2 value 0
+DEAL:2d:cg::Starting value 0.9897
+DEAL:2d:cg::Convergence step 7 value 0
+DEAL:2d:cg::Starting value 0.9970
+DEAL:2d:cg::Failure step 15 value 0.0009642
+DEAL:2d:cg::Starting value 0.9992
+DEAL:2d:cg::Failure step 15 value 0.7055
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 3.190
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 2.388
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 1.373
+DEAL:2d:cg::Starting value 83.11
+DEAL:2d:cg:cg::Starting value 372.5
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.04232
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.003840
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 4.562e-05
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 1.847e-06
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg::Convergence step 5 value 6.031e-06
+DEAL:2d::Testing FE_Q<2>(3)
+DEAL:2d::Number of degrees of freedom: 18535
+DEAL:2d:cg::Starting value 0.9682
+DEAL:2d:cg::Convergence step 2 value 0
+DEAL:2d:cg::Starting value 0.9897
+DEAL:2d:cg::Convergence step 7 value 0
+DEAL:2d:cg::Starting value 0.9970
+DEAL:2d:cg::Failure step 15 value 0.0009642
+DEAL:2d:cg::Starting value 0.9992
+DEAL:2d:cg::Failure step 15 value 0.7055
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 3.190
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 2.658
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 1.254
+DEAL:2d:cg::Starting value 1.000
+DEAL:2d:cg::Failure step 15 value 2.650
+DEAL:2d:cg::Starting value 131.0
+DEAL:2d:cg:cg::Starting value 862.1
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.2008
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.005678
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 5.638e-05
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 2.711e-06
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg::Convergence step 5 value 4.590e-06
+DEAL:3d::Testing FE_Q<3>(1)
+DEAL:3d::Number of degrees of freedom: 1103
+DEAL:3d:cg::Starting value 0.9354
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 13 value 9.706e-11
+DEAL:3d:cg::Starting value 0.9989
+DEAL:3d:cg::Convergence step 14 value 6.535e-11
+DEAL:3d:cg::Starting value 31.21
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg::Convergence step 6 value 3.615e-08
+DEAL:3d::Testing FE_Q<3>(1)
+DEAL:3d::Number of degrees of freedom: 3694
+DEAL:3d:cg::Starting value 0.9354
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 13 value 9.706e-11
+DEAL:3d:cg::Starting value 0.9994
+DEAL:3d:cg::Failure step 15 value 1.839e-08
+DEAL:3d:cg::Starting value 0.9998
+DEAL:3d:cg::Failure step 15 value 7.469e-05
+DEAL:3d:cg::Starting value 55.00
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg::Convergence step 7 value 3.941e-06
+DEAL:3d::Testing FE_Q<3>(1)
+DEAL:3d::Number of degrees of freedom: 9566
+DEAL:3d:cg::Starting value 0.9354
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 13 value 9.706e-11
+DEAL:3d:cg::Starting value 0.9995
+DEAL:3d:cg::Failure step 15 value 1.479e-07
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.0004644
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 1.830e-10
+DEAL:3d:cg::Starting value 76.18
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg::Convergence step 8 value 5.376e-06
+DEAL:3d::Testing FE_Q<3>(2)
+DEAL:3d::Number of degrees of freedom: 7494
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 15 value 5.276e-11
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.001572
+DEAL:3d:cg::Starting value 0.9998
+DEAL:3d:cg::Failure step 15 value 0.0008241
+DEAL:3d:cg::Starting value 82.90
+DEAL:3d:cg:cg::Starting value 7.225
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.01157
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.0009262
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.0001114
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 3.295e-06
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 2.088e-07
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 2.026e-08
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg::Convergence step 7 value 8.696e-07
+DEAL:3d::Testing FE_Q<3>(2)
+DEAL:3d::Number of degrees of freedom: 26548
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 15 value 5.276e-11
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.001572
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.008306
+DEAL:3d:cg::Starting value 1.000
+DEAL:3d:cg::Failure step 15 value 0.1026
+DEAL:3d:cg::Starting value 152.6
+DEAL:3d:cg:cg::Starting value 17.46
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.008363
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.001190
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.0001843
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 8.789e-06
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 7.697e-07
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 6.053e-08
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg::Convergence step 7 value 3.971e-06
--- /dev/null
+
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 507
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9984
+DEAL:2d:cg::Failure step 15 value 0.001385
+DEAL:2d:cg::Starting value 21.93
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 5 value 7.812e-07
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 881
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9988
+DEAL:2d:cg::Failure step 15 value 0.002581
+DEAL:2d:cg::Starting value 0.9989
+DEAL:2d:cg::Failure step 15 value 0.0001487
+DEAL:2d:cg::Starting value 27.77
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 6 value 9.245e-07
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 2147
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9988
+DEAL:2d:cg::Failure step 15 value 0.003288
+DEAL:2d:cg::Starting value 0.9993
+DEAL:2d:cg::Failure step 15 value 0.005495
+DEAL:2d:cg::Starting value 0.9997
+DEAL:2d:cg::Failure step 15 value 0.05100
+DEAL:2d:cg::Starting value 43.26
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 6 value 1.145e-06
+DEAL:2d::Testing FE_Q<2>(1)
+DEAL:2d::Number of degrees of freedom: 6517
+DEAL:2d:cg::Starting value 0.8660
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9428
+DEAL:2d:cg::Convergence step 1 value 0
+DEAL:2d:cg::Starting value 0.9798
+DEAL:2d:cg::Convergence step 4 value 0
+DEAL:2d:cg::Starting value 0.9938
+DEAL:2d:cg::Convergence step 10 value 0
+DEAL:2d:cg::Starting value 0.9983
+DEAL:2d:cg::Failure step 15 value 2.432e-05
+DEAL:2d:cg::Starting value 0.9989
+DEAL:2d:cg::Failure step 15 value 0.005519
+DEAL:2d:cg::Starting value 0.9994
+DEAL:2d:cg::Failure step 15 value 0.01098
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 0.09572
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 0.7527
+DEAL:2d:cg::Starting value 76.92
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg:cg::Convergence step 0 value 0
+DEAL:2d:cg::Convergence step 6 value 1.559e-06
+DEAL:2d::Testing FE_Q<2>(3)
+DEAL:2d::Number of degrees of freedom: 4259
+DEAL:2d:cg::Starting value 0.9682
+DEAL:2d:cg::Convergence step 2 value 0
+DEAL:2d:cg::Starting value 0.9897
+DEAL:2d:cg::Convergence step 7 value 0
+DEAL:2d:cg::Starting value 0.9970
+DEAL:2d:cg::Failure step 15 value 0.0009642
+DEAL:2d:cg::Starting value 0.9992
+DEAL:2d:cg::Failure step 15 value 0.7055
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 3.190
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 2.417
+DEAL:2d:cg::Starting value 64.26
+DEAL:2d:cg:cg::Starting value 244.2
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.01076
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.0006421
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 4.476e-06
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 2.268e-07
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg::Convergence step 5 value 1.148e-06
+DEAL:2d::Testing FE_Q<2>(3)
+DEAL:2d::Number of degrees of freedom: 7457
+DEAL:2d:cg::Starting value 0.9682
+DEAL:2d:cg::Convergence step 2 value 0
+DEAL:2d:cg::Starting value 0.9897
+DEAL:2d:cg::Convergence step 7 value 0
+DEAL:2d:cg::Starting value 0.9970
+DEAL:2d:cg::Failure step 15 value 0.0009642
+DEAL:2d:cg::Starting value 0.9992
+DEAL:2d:cg::Failure step 15 value 0.7055
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 3.190
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 2.388
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 1.373
+DEAL:2d:cg::Starting value 83.11
+DEAL:2d:cg:cg::Starting value 372.5
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.04232
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.003840
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 4.562e-05
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 1.847e-06
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg::Convergence step 5 value 6.031e-06
+DEAL:2d::Testing FE_Q<2>(3)
+DEAL:2d::Number of degrees of freedom: 18535
+DEAL:2d:cg::Starting value 0.9682
+DEAL:2d:cg::Convergence step 2 value 0
+DEAL:2d:cg::Starting value 0.9897
+DEAL:2d:cg::Convergence step 7 value 0
+DEAL:2d:cg::Starting value 0.9970
+DEAL:2d:cg::Failure step 15 value 0.0009642
+DEAL:2d:cg::Starting value 0.9992
+DEAL:2d:cg::Failure step 15 value 0.7055
+DEAL:2d:cg::Starting value 0.9998
+DEAL:2d:cg::Failure step 15 value 3.190
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 2.658
+DEAL:2d:cg::Starting value 0.9999
+DEAL:2d:cg::Failure step 15 value 1.254
+DEAL:2d:cg::Starting value 1.000
+DEAL:2d:cg::Failure step 15 value 2.650
+DEAL:2d:cg::Starting value 131.0
+DEAL:2d:cg:cg::Starting value 862.1
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.2008
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 0.005678
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 5.638e-05
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg:cg::Starting value 2.711e-06
+DEAL:2d:cg:cg::Convergence step 3 value 0
+DEAL:2d:cg::Convergence step 5 value 4.590e-06
+DEAL:3d::Testing FE_Q<3>(1)
+DEAL:3d::Number of degrees of freedom: 1103
+DEAL:3d:cg::Starting value 0.9354
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 13 value 9.706e-11
+DEAL:3d:cg::Starting value 0.9989
+DEAL:3d:cg::Convergence step 14 value 6.535e-11
+DEAL:3d:cg::Starting value 31.21
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg::Convergence step 6 value 3.615e-08
+DEAL:3d::Testing FE_Q<3>(1)
+DEAL:3d::Number of degrees of freedom: 3694
+DEAL:3d:cg::Starting value 0.9354
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 13 value 9.706e-11
+DEAL:3d:cg::Starting value 0.9994
+DEAL:3d:cg::Failure step 15 value 1.839e-08
+DEAL:3d:cg::Starting value 0.9998
+DEAL:3d:cg::Failure step 15 value 7.469e-05
+DEAL:3d:cg::Starting value 55.00
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg::Convergence step 7 value 3.941e-06
+DEAL:3d::Testing FE_Q<3>(1)
+DEAL:3d::Number of degrees of freedom: 9566
+DEAL:3d:cg::Starting value 0.9354
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 13 value 9.706e-11
+DEAL:3d:cg::Starting value 0.9995
+DEAL:3d:cg::Failure step 15 value 1.479e-07
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.0004644
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 1.830e-10
+DEAL:3d:cg::Starting value 76.18
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg:cg::Convergence step 0 value 0
+DEAL:3d:cg::Convergence step 8 value 5.376e-06
+DEAL:3d::Testing FE_Q<3>(2)
+DEAL:3d::Number of degrees of freedom: 7494
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 15 value 5.276e-11
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.001572
+DEAL:3d:cg::Starting value 0.9998
+DEAL:3d:cg::Failure step 15 value 0.0008241
+DEAL:3d:cg::Starting value 82.90
+DEAL:3d:cg:cg::Starting value 7.225
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.01157
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.0009262
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.0001114
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 3.295e-06
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 2.088e-07
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 2.026e-08
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg::Convergence step 7 value 8.696e-07
+DEAL:3d::Testing FE_Q<3>(2)
+DEAL:3d::Number of degrees of freedom: 26548
+DEAL:3d:cg::Starting value 0.9813
+DEAL:3d:cg::Convergence step 1 value 0
+DEAL:3d:cg::Starting value 0.9960
+DEAL:3d:cg::Convergence step 5 value 0
+DEAL:3d:cg::Starting value 0.9993
+DEAL:3d:cg::Convergence step 15 value 5.276e-11
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.001572
+DEAL:3d:cg::Starting value 0.9999
+DEAL:3d:cg::Failure step 15 value 0.008306
+DEAL:3d:cg::Starting value 1.000
+DEAL:3d:cg::Failure step 15 value 0.1026
+DEAL:3d:cg::Starting value 152.6
+DEAL:3d:cg:cg::Starting value 17.46
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.008363
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.001190
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 0.0001843
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 8.789e-06
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 7.697e-07
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg:cg::Starting value 6.053e-08
+DEAL:3d:cg:cg::Convergence step 1 value 0
+DEAL:3d:cg::Convergence step 7 value 3.971e-06