From c9c1f7a20881d9a8bb20d1f022bb1e088a412589 Mon Sep 17 00:00:00 2001 From: Denis Davydov Date: Fri, 4 Nov 2016 12:47:14 +0100 Subject: [PATCH] add another matrix-free laplace GMG unit test --- tests/matrix_free/parallel_multigrid_02.cc | 293 ++++++++++++++++++ ...h_mpi=true.with_p4est=true.mpirun=3.output | 131 ++++++++ ...h_mpi=true.with_p4est=true.mpirun=7.output | 131 ++++++++ 3 files changed, 555 insertions(+) create mode 100644 tests/matrix_free/parallel_multigrid_02.cc create mode 100644 tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=3.output create mode 100644 tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=7.output diff --git a/tests/matrix_free/parallel_multigrid_02.cc b/tests/matrix_free/parallel_multigrid_02.cc new file mode 100644 index 0000000000..62394c9466 --- /dev/null +++ b/tests/matrix_free/parallel_multigrid_02.cc @@ -0,0 +1,293 @@ +// --------------------------------------------------------------------- +// +// 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_multigrid.cc but using MatrixFreeOperators::LaplaceOperator +// class. + +#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"); + + +template +class MGTransferPrebuiltMF : public MGTransferPrebuilt > +{ +public: + MGTransferPrebuiltMF(const MGLevelObject &laplace) + : + laplace_operator (laplace) + {}; + + /** + * Overload copy_to_mg from MGTransferPrebuilt to get the vectors compatible + * with MatrixFree and bypass the crude initialization in MGTransferPrebuilt + */ + template + void + copy_to_mg (const DoFHandler &mg_dof, + 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]); + MGTransferPrebuilt >::copy_to_mg(mg_dof, 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; +}; + + +using namespace dealii::MatrixFreeOperators; + +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.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 + in = 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.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(); + } + + MGTransferPrebuiltMF mg_transfer(mg_matrices); + mg_transfer.build_matrices(dof); + + MGCoarseIterative mg_coarse; + mg_coarse.initialize(mg_matrices[0]); + + typedef PreconditionChebyshev > SMOOTHER; + MGSmootherPrecondition > + mg_smoother; + + MGLevelObject smoother_data; + smoother_data.resize(0, dof.get_triangulation().n_global_levels()-1); + for (unsigned int level = 0; level >()); + *smoother_data[level].preconditioner = + mg_matrices[level].get_matrix_diagonal_inverse(); + } + mg_smoother.initialize(mg_matrices, smoother_data); + + mg::Matrix > + mg_matrix(mg_matrices); + + Multigrid > mg(dof, + mg_matrix, + mg_coarse, + mg_transfer, + mg_smoother, + mg_smoother); + PreconditionMG, + MGTransferPrebuiltMF > + 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 () +{ + for (unsigned int i=5; i<8; ++i) + { + 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(i-dim); + + 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,2>(); + deallog.pop(); + deallog.push("3d"); + test<3,1>(); + test<3,2>(); + deallog.pop(); + } +} diff --git a/tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=3.output b/tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=3.output new file mode 100644 index 0000000000..c1311be955 --- /dev/null +++ b/tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=3.output @@ -0,0 +1,131 @@ + +DEAL:2d::Testing FE_Q<2>(1) +DEAL:2d::Number of degrees of freedom: 81 +DEAL:2d:cg::Starting value 9.000 +DEAL:2d:cg:cg::Starting value 0.009355 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 6.428e-06 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 6.896e-08 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg::Convergence step 3 value 4.626e-07 +DEAL:2d::Testing FE_Q<2>(1) +DEAL:2d::Number of degrees of freedom: 289 +DEAL:2d:cg::Starting value 17.00 +DEAL:2d:cg:cg::Starting value 0.02710 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 5.173e-06 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 7.863e-10 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg::Convergence step 3 value 3.600e-07 +DEAL:2d::Testing FE_Q<2>(1) +DEAL:2d::Number of degrees of freedom: 1089 +DEAL:2d:cg::Starting value 33.00 +DEAL:2d:cg:cg::Starting value 0.09750 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 2.792e-06 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 1.110e-07 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 1.758e-10 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg::Convergence step 4 value 1.484e-08 +DEAL:2d::Testing FE_Q<2>(2) +DEAL:2d::Number of degrees of freedom: 289 +DEAL:2d:cg::Starting value 17.00 +DEAL:2d:cg:cg::Starting value 0.6907 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 0.0001064 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 6.439e-07 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 1.579e-09 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg::Convergence step 4 value 1.405e-08 +DEAL:2d::Testing FE_Q<2>(2) +DEAL:2d::Number of degrees of freedom: 1089 +DEAL:2d:cg::Starting value 33.00 +DEAL:2d:cg:cg::Starting value 2.631 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 0.0001068 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 1.290e-06 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 2.685e-09 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg::Convergence step 4 value 1.627e-08 +DEAL:2d::Testing FE_Q<2>(2) +DEAL:2d::Number of degrees of freedom: 4225 +DEAL:2d:cg::Starting value 65.00 +DEAL:2d:cg:cg::Starting value 10.37 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 0.0005721 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 7.479e-07 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 1.098e-08 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg::Convergence step 4 value 3.011e-08 +DEAL:3d::Testing FE_Q<3>(1) +DEAL:3d::Number of degrees of freedom: 125 +DEAL:3d:cg::Starting value 11.18 +DEAL:3d:cg:cg::Starting value 0.1410 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 6.992e-05 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 4.858e-09 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg::Convergence step 3 value 9.022e-09 +DEAL:3d::Testing FE_Q<3>(1) +DEAL:3d::Number of degrees of freedom: 729 +DEAL:3d:cg::Starting value 27.00 +DEAL:3d:cg:cg::Starting value 0.03499 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 0.0002870 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 1.473e-07 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg::Convergence step 3 value 1.327e-06 +DEAL:3d::Testing FE_Q<3>(1) +DEAL:3d::Number of degrees of freedom: 4913 +DEAL:3d:cg::Starting value 70.09 +DEAL:3d:cg:cg::Starting value 0.06180 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 7.869e-05 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 1.067e-06 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 1.447e-09 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg::Convergence step 4 value 6.374e-08 +DEAL:3d::Testing FE_Q<3>(2) +DEAL:3d::Number of degrees of freedom: 729 +DEAL:3d:cg::Starting value 27.00 +DEAL:3d:cg:cg::Starting value 1.155 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 0.0001367 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 1.471e-07 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg::Convergence step 3 value 5.042e-08 +DEAL:3d::Testing FE_Q<3>(2) +DEAL:3d::Number of degrees of freedom: 4913 +DEAL:3d:cg::Starting value 70.09 +DEAL:3d:cg:cg::Starting value 6.475 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 0.0005841 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 2.220e-06 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg::Convergence step 3 value 2.560e-06 +DEAL:3d::Testing FE_Q<3>(2) +DEAL:3d::Number of degrees of freedom: 35937 +DEAL:3d:cg::Starting value 189.6 +DEAL:3d:cg:cg::Starting value 47.62 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 0.006358 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 8.274e-06 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg::Convergence step 3 value 1.007e-05 diff --git a/tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=7.output b/tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=7.output new file mode 100644 index 0000000000..c1311be955 --- /dev/null +++ b/tests/matrix_free/parallel_multigrid_02.with_mpi=true.with_p4est=true.mpirun=7.output @@ -0,0 +1,131 @@ + +DEAL:2d::Testing FE_Q<2>(1) +DEAL:2d::Number of degrees of freedom: 81 +DEAL:2d:cg::Starting value 9.000 +DEAL:2d:cg:cg::Starting value 0.009355 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 6.428e-06 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 6.896e-08 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg::Convergence step 3 value 4.626e-07 +DEAL:2d::Testing FE_Q<2>(1) +DEAL:2d::Number of degrees of freedom: 289 +DEAL:2d:cg::Starting value 17.00 +DEAL:2d:cg:cg::Starting value 0.02710 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 5.173e-06 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 7.863e-10 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg::Convergence step 3 value 3.600e-07 +DEAL:2d::Testing FE_Q<2>(1) +DEAL:2d::Number of degrees of freedom: 1089 +DEAL:2d:cg::Starting value 33.00 +DEAL:2d:cg:cg::Starting value 0.09750 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 2.792e-06 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 1.110e-07 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg:cg::Starting value 1.758e-10 +DEAL:2d:cg:cg::Convergence step 1 value 0 +DEAL:2d:cg::Convergence step 4 value 1.484e-08 +DEAL:2d::Testing FE_Q<2>(2) +DEAL:2d::Number of degrees of freedom: 289 +DEAL:2d:cg::Starting value 17.00 +DEAL:2d:cg:cg::Starting value 0.6907 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 0.0001064 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 6.439e-07 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 1.579e-09 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg::Convergence step 4 value 1.405e-08 +DEAL:2d::Testing FE_Q<2>(2) +DEAL:2d::Number of degrees of freedom: 1089 +DEAL:2d:cg::Starting value 33.00 +DEAL:2d:cg:cg::Starting value 2.631 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 0.0001068 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 1.290e-06 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 2.685e-09 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg::Convergence step 4 value 1.627e-08 +DEAL:2d::Testing FE_Q<2>(2) +DEAL:2d::Number of degrees of freedom: 4225 +DEAL:2d:cg::Starting value 65.00 +DEAL:2d:cg:cg::Starting value 10.37 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 0.0005721 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 7.479e-07 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg:cg::Starting value 1.098e-08 +DEAL:2d:cg:cg::Convergence step 2 value 0 +DEAL:2d:cg::Convergence step 4 value 3.011e-08 +DEAL:3d::Testing FE_Q<3>(1) +DEAL:3d::Number of degrees of freedom: 125 +DEAL:3d:cg::Starting value 11.18 +DEAL:3d:cg:cg::Starting value 0.1410 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 6.992e-05 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 4.858e-09 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg::Convergence step 3 value 9.022e-09 +DEAL:3d::Testing FE_Q<3>(1) +DEAL:3d::Number of degrees of freedom: 729 +DEAL:3d:cg::Starting value 27.00 +DEAL:3d:cg:cg::Starting value 0.03499 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 0.0002870 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 1.473e-07 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg::Convergence step 3 value 1.327e-06 +DEAL:3d::Testing FE_Q<3>(1) +DEAL:3d::Number of degrees of freedom: 4913 +DEAL:3d:cg::Starting value 70.09 +DEAL:3d:cg:cg::Starting value 0.06180 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 7.869e-05 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 1.067e-06 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg:cg::Starting value 1.447e-09 +DEAL:3d:cg:cg::Convergence step 1 value 0 +DEAL:3d:cg::Convergence step 4 value 6.374e-08 +DEAL:3d::Testing FE_Q<3>(2) +DEAL:3d::Number of degrees of freedom: 729 +DEAL:3d:cg::Starting value 27.00 +DEAL:3d:cg:cg::Starting value 1.155 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 0.0001367 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 1.471e-07 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg::Convergence step 3 value 5.042e-08 +DEAL:3d::Testing FE_Q<3>(2) +DEAL:3d::Number of degrees of freedom: 4913 +DEAL:3d:cg::Starting value 70.09 +DEAL:3d:cg:cg::Starting value 6.475 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 0.0005841 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 2.220e-06 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg::Convergence step 3 value 2.560e-06 +DEAL:3d::Testing FE_Q<3>(2) +DEAL:3d::Number of degrees of freedom: 35937 +DEAL:3d:cg::Starting value 189.6 +DEAL:3d:cg:cg::Starting value 47.62 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 0.006358 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg:cg::Starting value 8.274e-06 +DEAL:3d:cg:cg::Convergence step 2 value 0 +DEAL:3d:cg::Convergence step 3 value 1.007e-05 -- 2.39.5