template <int dim>
-void LaplaceMatrix<dim>::boundary(MeshWorker::DoFInfo<dim>& dinfo,
- typename MeshWorker::IntegrationInfo<dim>& info) const
+void LaplaceMatrix<dim>::boundary(MeshWorker::DoFInfo<dim>& /*dinfo*/,
+ typename MeshWorker::IntegrationInfo<dim>& /*info*/) const
{
- const unsigned int deg = info.fe_values(0).get_fe().tensor_degree();
+// const unsigned int deg = info.fe_values(0).get_fe().tensor_degree();
// Laplace::nitsche_matrix(dinfo.matrix(0,false).matrix, info.fe_values(0),
// Laplace::compute_penalty(dinfo, dinfo, deg, deg));
}
template <int dim>
void LaplaceMatrix<dim>::face(
- MeshWorker::DoFInfo<dim>& dinfo1, MeshWorker::DoFInfo<dim>& dinfo2,
- MeshWorker::IntegrationInfo<dim>& info1, MeshWorker::IntegrationInfo<dim>& info2) const
+ MeshWorker::DoFInfo<dim>& /*dinfo1*/, MeshWorker::DoFInfo<dim>& /*dinfo2*/,
+ MeshWorker::IntegrationInfo<dim>& /*info1*/, MeshWorker::IntegrationInfo<dim>& /*info2*/) const
{
- const unsigned int deg = info1.fe_values(0).get_fe().tensor_degree();
+// const unsigned int deg = info1.fe_values(0).get_fe().tensor_degree();
// Laplace::ip_matrix(dinfo1.matrix(0,false).matrix, dinfo1.matrix(0,true).matrix,
// dinfo2.matrix(0,true).matrix, dinfo2.matrix(0,false).matrix,
// info1.fe_values(0), info2.fe_values(0),
mg_interface_in[cell->level()]);
}
}
-
- const unsigned int nlevels = triangulation.n_levels();
- for (unsigned int level=1;level<nlevels;++level)
- {
- std::cout << "cG in " << mg_interface_in[level].l1_norm() << std::endl;
-// mg_interface_in[level].print(std::cout);
- std::cout << "cG out " << mg_interface_out[level].l1_norm() << std::endl;
-// mg_interface_out[level].print(std::cout);
- std::cout << std::endl;
- }
}
coarse_grid_solver.initialize (coarse_matrix);
typedef PreconditionSOR<SparseMatrix<double> > Smoother;
- GrowingVectorMemory<> vector_memory;
MGSmootherRelaxation<SparseMatrix<double>, Smoother, Vector<double> >
mg_smoother;
mg_smoother.initialize(mg_matrices);
int main ()
{
initlog(__FILE__, true);
- deallog << std::setprecision(4);
- deallog.threshold_double(1.e-10);
try
{
DEAL::Cycle 0:
-DEAL:: Number of active cells: 20
-DEAL::Number of degrees of freedom: 25 L0: 8 L1: 25
-DEAL:: Number of degrees of freedom: 25 (by level: 8, 25)
-DEAL:cg::Starting value 0.5107
-DEAL:cg::Convergence step 7 value 0
-DEAL:: 7 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 4
+DEAL::Number of degrees of freedom: 9 L0: 4 L1: 9
+DEAL:: Number of degrees of freedom: 9 (by level: 4, 9)
+DEAL:cg::Starting value 1.00000
+DEAL:cg::Convergence step 1 value 0.00000
+DEAL:: 1 CG iterations needed to obtain convergence.
DEAL::Cycle 1:
-DEAL:: Number of active cells: 44
-DEAL::Number of degrees of freedom: 57 L0: 8 L1: 25 L2: 48
-DEAL:: Number of degrees of freedom: 57 (by level: 8, 25, 48)
-DEAL:cg::Starting value 0.4679
-DEAL:cg::Convergence step 8 value 0
-DEAL:: 8 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 16
+DEAL::Number of degrees of freedom: 25 L0: 4 L1: 9 L2: 25
+DEAL:: Number of degrees of freedom: 25 (by level: 4, 9, 25)
+DEAL:cg::Starting value 0.750000
+DEAL:cg::Convergence step 5 value 1.17215e-16
+DEAL:: 5 CG iterations needed to obtain convergence.
DEAL::Cycle 2:
-DEAL:: Number of active cells: 92
-DEAL::Number of degrees of freedom: 117 L0: 8 L1: 25 L2: 80 L3: 60
-DEAL:: Number of degrees of freedom: 117 (by level: 8, 25, 80, 60)
-DEAL:cg::Starting value 0.3390
-DEAL:cg::Convergence step 9 value 0
-DEAL:: 9 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 28
+DEAL::Number of degrees of freedom: 41 L0: 4 L1: 9 L2: 25 L3: 25
+DEAL:: Number of degrees of freedom: 41 (by level: 4, 9, 25, 25)
+DEAL:cg::Starting value 0.628894
+DEAL:cg::Convergence step 7 value 2.44070e-14
+DEAL:: 7 CG iterations needed to obtain convergence.
DEAL::Cycle 3:
-DEAL:: Number of active cells: 188
-DEAL::Number of degrees of freedom: 221 L0: 8 L1: 25 L2: 80 L3: 200
-DEAL:: Number of degrees of freedom: 221 (by level: 8, 25, 80, 200)
-DEAL:cg::Starting value 0.2689
-DEAL:cg::Convergence step 12 value 0
-DEAL:: 12 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 40
+DEAL::Number of degrees of freedom: 57 L0: 4 L1: 9 L2: 25 L3: 25 L4: 25
+DEAL:: Number of degrees of freedom: 57 (by level: 4, 9, 25, 25, 25)
+DEAL:cg::Starting value 0.620541
+DEAL:cg::Convergence step 7 value 5.62398e-13
+DEAL:: 7 CG iterations needed to obtain convergence.
DEAL::Cycle 4:
-DEAL:: Number of active cells: 416
-DEAL::Number of degrees of freedom: 485 L0: 8 L1: 25 L2: 89 L3: 288 L4: 280
-DEAL:: Number of degrees of freedom: 485 (by level: 8, 25, 89, 288, 280)
-DEAL:cg::Starting value 0.1841
-DEAL:cg::Convergence step 13 value 0
-DEAL:: 13 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 52
+DEAL::Number of degrees of freedom: 73 L0: 4 L1: 9 L2: 25 L3: 25 L4: 25 L5: 25
+DEAL:: Number of degrees of freedom: 73 (by level: 4, 9, 25, 25, 25, 25)
+DEAL:cg::Starting value 0.620015
+DEAL:cg::Convergence step 8 value 4.43441e-14
+DEAL:: 8 CG iterations needed to obtain convergence.
DEAL::Cycle 5:
-DEAL:: Number of active cells: 800
-DEAL::Number of degrees of freedom: 925 L0: 8 L1: 25 L2: 89 L3: 288 L4: 784 L5: 132
-DEAL:: Number of degrees of freedom: 925 (by level: 8, 25, 89, 288, 784, 132)
-DEAL:cg::Starting value 0.1440
-DEAL:cg::Convergence step 14 value 0
-DEAL:: 14 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 160
+DEAL::Number of degrees of freedom: 201 L0: 4 L1: 9 L2: 25 L3: 65 L4: 65 L5: 65 L6: 65
+DEAL:: Number of degrees of freedom: 201 (by level: 4, 9, 25, 65, 65, 65, 65)
+DEAL:cg::Starting value 0.415999
+DEAL:cg::Convergence step 9 value 4.46942e-14
+DEAL:: 9 CG iterations needed to obtain convergence.
DEAL::Cycle 6:
-DEAL:: Number of active cells: 1628
-DEAL::Number of degrees of freedom: 1865 L0: 8 L1: 25 L2: 89 L3: 304 L4: 1000 L5: 1164 L6: 72
-DEAL:: Number of degrees of freedom: 1865 (by level: 8, 25, 89, 304, 1000, 1164, 72)
-DEAL:cg::Starting value 0.1174
-DEAL:cg::Convergence step 14 value 0
-DEAL:: 14 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 304
+DEAL::Number of degrees of freedom: 357 L0: 4 L1: 9 L2: 25 L3: 81 L4: 81 L5: 81 L6: 81 L7: 153
+DEAL:: Number of degrees of freedom: 357 (by level: 4, 9, 25, 81, 81, 81, 81, 153)
+DEAL:cg::Starting value 0.377840
+DEAL:cg::Convergence step 8 value 1.00219e-13
+DEAL:: 8 CG iterations needed to obtain convergence.
DEAL::Cycle 7:
-DEAL:: Number of active cells: 3194
-DEAL::Number of degrees of freedom: 3603 L0: 8 L1: 25 L2: 89 L3: 328 L4: 1032 L5: 2200 L6: 1392
-DEAL:: Number of degrees of freedom: 3603 (by level: 8, 25, 89, 328, 1032, 2200, 1392)
-DEAL:cg::Starting value 0.09098
-DEAL:cg::Convergence step 16 value 0
-DEAL:: 16 CG iterations needed to obtain convergence.
+DEAL:: Number of active cells: 676
+DEAL::Number of degrees of freedom: 761 L0: 4 L1: 9 L2: 25 L3: 81 L4: 81 L5: 81 L6: 121 L7: 209 L8: 465
+DEAL:: Number of degrees of freedom: 761 (by level: 4, 9, 25, 81, 81, 81, 121, 209, 465)
+DEAL:cg::Starting value 0.377713
+DEAL:cg::Convergence step 8 value 5.29691e-13
+DEAL:: 8 CG iterations needed to obtain convergence.