From: Martin Kronbichler Date: Fri, 21 Oct 2016 14:19:51 +0000 (+0200) Subject: Test relaxation interface to PreconditionChebyshev X-Git-Tag: v8.5.0-rc1~547^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a702c5a732d507d3361f23f14f3467812a2e8597;p=dealii.git Test relaxation interface to PreconditionChebyshev --- diff --git a/tests/matrix_free/parallel_multigrid_adaptive_04.cc b/tests/matrix_free/parallel_multigrid_adaptive_04.cc new file mode 100644 index 0000000000..b189fa73d7 --- /dev/null +++ b/tests/matrix_free/parallel_multigrid_adaptive_04.cc @@ -0,0 +1,455 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2016 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. +// +// --------------------------------------------------------------------- + + + +// same as parallel_multigird_adaptive_02, but using mg::SmootherRelaxation +// rather than MGSmootherPrecondition + +#include "../tests.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +std::ofstream logfile("output"); + +using namespace dealii::MatrixFreeOperators; + + +template +class LaplaceOperator : public MatrixFreeOperators::Base +{ +public: + typedef number value_type; + + LaplaceOperator() + : + MatrixFreeOperators::Base() + {}; + + void compute_diagonal () + { + unsigned int dummy = 0; + LinearAlgebra::distributed::Vector &inverse_diagonal_entries = Base::inverse_diagonal_entries; + this->initialize_dof_vector(inverse_diagonal_entries); + Base:: + data->cell_loop (&LaplaceOperator::local_diagonal_cell, + this, inverse_diagonal_entries, dummy); + + const std::vector & + constrained_dofs = Base::data->get_constrained_dofs(); + for (unsigned int i=0; i::edge_constrained_indices.size(); ++i) + inverse_diagonal_entries.local_element(Base::edge_constrained_indices[i]) = 0.; + + for (unsigned int i=0; i 1e-10) + inverse_diagonal_entries.local_element(i) = 1./inverse_diagonal_entries.local_element(i); + else + inverse_diagonal_entries.local_element(i) = 1.; + } + +protected: + + + void apply_add (LinearAlgebra::distributed::Vector &dst, + const LinearAlgebra::distributed::Vector &src) const + { + Base:: + data->cell_loop (&LaplaceOperator::local_apply, this, dst, src); + } + + +private: + + void + local_apply (const MatrixFree &data, + LinearAlgebra::distributed::Vector &dst, + const LinearAlgebra::distributed::Vector &src, + const std::pair &cell_range) const + { + FEEvaluation phi (data); + + for (unsigned int cell=cell_range.first; cell &data, + LinearAlgebra::distributed::Vector &dst, + const unsigned int &, + const std::pair &cell_range) const + { + FEEvaluation phi (data); + + for (unsigned int cell=cell_range.first; cell local_diagonal_vector[phi.tensor_dofs_per_cell]; + for (unsigned int i=0; i(); + phi.begin_dof_values()[i] = 1.; + phi.evaluate (false,true,false); + for (unsigned int q=0; q +class MGInterfaceMatrix : public Subscriptor +{ +public: + void initialize (const LAPLACEOPERATOR &laplace) + { + this->laplace = &laplace; + } + + void vmult (LinearAlgebra::distributed::Vector &dst, + const LinearAlgebra::distributed::Vector &src) const + { + laplace->vmult_interface_down(dst, src); + } + + void Tvmult (LinearAlgebra::distributed::Vector &dst, + const LinearAlgebra::distributed::Vector &src) const + { + laplace->vmult_interface_up(dst, src); + } + +private: + SmartPointer laplace; +}; + + + +template +class MGTransferMF : public MGTransferMatrixFree +{ +public: + MGTransferMF(const MGLevelObject &laplace, + const MGConstrainedDoFs &mg_constrained_dofs) + : + MGTransferMatrixFree(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 + void + copy_to_mg (const DoFHandler &mg_dof_handler, + MGLevelObject > &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]); + MGTransferMatrixFree:: + copy_to_mg(mg_dof_handler, dst, src); + } + +private: + const MGLevelObject &laplace_operator; +}; + + + +template +class MGCoarseIterative : public MGCoarseGridBase > +{ +public: + MGCoarseIterative() {} + + void initialize(const MatrixType &matrix) + { + coarse_matrix = &matrix; + } + + virtual void operator() (const unsigned int level, + LinearAlgebra::distributed::Vector &dst, + const LinearAlgebra::distributed::Vector &src) const + { + ReductionControl solver_control (1e4, 1e-50, 1e-10); + SolverCG > solver_coarse (solver_control); + solver_coarse.solve (*coarse_matrix, dst, src, PreconditionIdentity()); + } + + const MatrixType *coarse_matrix; +}; + + + + +template +void do_test (const DoFHandler &dof) +{ + if (types_are_equal::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; + + IndexSet locally_relevant_dofs; + DoFTools::extract_locally_relevant_dofs(dof, locally_relevant_dofs); + + // Dirichlet BC + ZeroFunction zero_function; + typename FunctionMap::type dirichlet_boundary; + dirichlet_boundary[0] = &zero_function; + + // fine-level constraints + ConstraintMatrix constraints; + constraints.reinit(locally_relevant_dofs); + DoFTools::make_hanging_node_constraints(dof, constraints); + VectorTools::interpolate_boundary_values(dof, dirichlet_boundary, + constraints); + constraints.close(); + + // level constraints: + MGConstrainedDoFs mg_constrained_dofs; + mg_constrained_dofs.initialize(dof, dirichlet_boundary); + + MappingQ mapping(fe_degree+1); + + LaplaceOperator fine_matrix; + MatrixFree fine_level_data; + + typename MatrixFree::AdditionalData fine_level_additional_data; + fine_level_additional_data.tasks_parallel_scheme = MatrixFree::AdditionalData::none; + fine_level_additional_data.tasks_block_size = 3; + fine_level_additional_data.mpi_communicator = MPI_COMM_WORLD; + fine_level_data.reinit (mapping, dof, constraints, QGauss<1>(n_q_points_1d), + fine_level_additional_data); + + fine_matrix.initialize(fine_level_data); + fine_matrix.compute_diagonal(); + + + LinearAlgebra::distributed::Vector in, sol; + fine_matrix.initialize_dof_vector(in); + fine_matrix.initialize_dof_vector(sol); + + // set constant rhs vector + { + // this is to make it consistent with parallel_multigrid_adaptive.cc + ConstraintMatrix hanging_node_constraints; + hanging_node_constraints.reinit(locally_relevant_dofs); + DoFTools::make_hanging_node_constraints(dof, hanging_node_constraints); + hanging_node_constraints.close(); + + for (unsigned int i=0; ilocal_to_global(i))) + in.local_element(i) = 1.; + } + + // set up multigrid in analogy to step-37 + typedef LaplaceOperator LevelMatrixType; + + MGLevelObject mg_matrices; + MGLevelObject > mg_level_data; + mg_matrices.resize(0, dof.get_triangulation().n_global_levels()-1); + mg_level_data.resize(0, dof.get_triangulation().n_global_levels()-1); + for (unsigned int level = 0; level::AdditionalData mg_additional_data; + mg_additional_data.tasks_parallel_scheme = MatrixFree::AdditionalData::none; + mg_additional_data.tasks_block_size = 3; + mg_additional_data.mpi_communicator = MPI_COMM_WORLD; + mg_additional_data.level_mg_handler = level; + + ConstraintMatrix level_constraints; + IndexSet relevant_dofs; + DoFTools::extract_locally_relevant_level_dofs(dof, level, + relevant_dofs); + level_constraints.reinit(relevant_dofs); + level_constraints.add_lines(mg_constrained_dofs.get_boundary_indices(level)); + level_constraints.close(); + + mg_level_data[level].reinit (mapping, dof, level_constraints, QGauss<1>(n_q_points_1d), + mg_additional_data); + mg_matrices[level].initialize(mg_level_data[level], + mg_constrained_dofs, + level); + mg_matrices[level].compute_diagonal(); + } + MGLevelObject > mg_interface_matrices; + mg_interface_matrices.resize(0, dof.get_triangulation().n_global_levels()-1); + for (unsigned int level=0; level mg_transfer(mg_matrices, + mg_constrained_dofs); + mg_transfer.build(dof); + + MGCoarseIterative mg_coarse; + mg_coarse.initialize(mg_matrices[0]); + + typedef PreconditionChebyshev > SMOOTHER; + mg::SmootherRelaxation > + mg_smoother; + + MGLevelObject smoother_data; + smoother_data.resize(0, dof.get_triangulation().n_global_levels()-1); + for (unsigned int level = 0; level > + mg_matrix(mg_matrices); + mg::Matrix > + mg_interface(mg_interface_matrices); + + Multigrid > mg(dof, + mg_matrix, + mg_coarse, + mg_transfer, + mg_smoother, + mg_smoother); + mg.set_edge_matrices(mg_interface, mg_interface); + PreconditionMG, + MGTransferMF > + preconditioner(dof, mg, mg_transfer); + + { + ReductionControl control(30, 1e-20, 1e-7); + SolverCG > solver(control); + solver.solve(fine_matrix, sol, in, preconditioner); + } + + if (types_are_equal::value == true) + deallog.pop(); + + fine_matrix.clear(); + for (unsigned int level = 0; level +void test () +{ + parallel::distributed::Triangulation tria(MPI_COMM_WORLD, + Triangulation::limit_level_difference_at_vertices, + parallel::distributed::Triangulation::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::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 fe (fe_degree); + DoFHandler dof (tria); + dof.distribute_dofs(fe); + dof.distribute_mg_dofs(fe); + + do_test (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(); + } +} diff --git a/tests/matrix_free/parallel_multigrid_adaptive_04.with_mpi=true.with_p4est=true.mpirun=3.output b/tests/matrix_free/parallel_multigrid_adaptive_04.with_mpi=true.with_p4est=true.mpirun=3.output new file mode 100644 index 0000000000..e9349c579a --- /dev/null +++ b/tests/matrix_free/parallel_multigrid_adaptive_04.with_mpi=true.with_p4est=true.mpirun=3.output @@ -0,0 +1,311 @@ + +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 2.456e-05 +DEAL:2d:cg::Starting value 0.9992 +DEAL:2d:cg::Failure step 15 value 0.2156 +DEAL:2d:cg::Starting value 0.9998 +DEAL:2d:cg::Failure step 15 value 1.976 +DEAL:2d:cg::Starting value 0.9998 +DEAL:2d:cg::Failure step 15 value 1.763 +DEAL:2d:cg::Starting value 64.26 +DEAL:2d:cg:cg::Starting value 108.9 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 0.03777 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 0.0007755 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 7.094e-06 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 2.710e-07 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg::Convergence step 5 value 1.631e-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 2.456e-05 +DEAL:2d:cg::Starting value 0.9992 +DEAL:2d:cg::Failure step 15 value 0.2156 +DEAL:2d:cg::Starting value 0.9998 +DEAL:2d:cg::Failure step 15 value 1.976 +DEAL:2d:cg::Starting value 0.9998 +DEAL:2d:cg::Failure step 15 value 1.672 +DEAL:2d:cg::Starting value 0.9999 +DEAL:2d:cg::Failure step 15 value 0.9896 +DEAL:2d:cg::Starting value 83.11 +DEAL:2d:cg:cg::Starting value 165.9 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 0.07398 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 0.003378 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 2.891e-05 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 1.842e-06 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg::Convergence step 5 value 7.691e-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 2.456e-05 +DEAL:2d:cg::Starting value 0.9992 +DEAL:2d:cg::Failure step 15 value 0.2156 +DEAL:2d:cg::Starting value 0.9998 +DEAL:2d:cg::Failure step 15 value 1.976 +DEAL:2d:cg::Starting value 0.9999 +DEAL:2d:cg::Failure step 15 value 1.886 +DEAL:2d:cg::Starting value 0.9999 +DEAL:2d:cg::Failure step 15 value 0.8395 +DEAL:2d:cg::Starting value 1.000 +DEAL:2d:cg::Failure step 15 value 2.204 +DEAL:2d:cg::Starting value 131.0 +DEAL:2d:cg:cg::Starting value 384.0 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 0.2113 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 0.002203 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 3.160e-05 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg:cg::Starting value 1.004e-06 +DEAL:2d:cg:cg::Convergence step 3 value 0 +DEAL:2d:cg::Convergence step 5 value 6.045e-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