Skip to content
Snippets Groups Projects
Commit 8379439e authored by Markus Blatt's avatar Markus Blatt
Browse files

Unify debug output about sparsity.

[[Imported from SVN: r705]]
parent d7dae319
No related branches found
No related tags found
No related merge requests found
......@@ -592,8 +592,10 @@ namespace Dune
overlapVertices+count,
sparsityBuilder);
dinfo<<"Matrix min. row size="<<sparsityBuilder.minRowSize()<<" max row size="
<<sparsityBuilder.maxRowSize()<<" avg="<<sparsityBuilder.sumRowSize()/coarseMatrix->N()<<std::endl;
dinfo<<"Matrix row size: min="<<sparsityBuilder.minRowSize()<<" max="
<<sparsityBuilder.maxRowSize()<<" avg="
<<static_cast<double>(sparsityBuilder.sumRowSize())/static_cast<double>(coarseMatrix->N())
<<std::endl;
delete[] overlapVertices;
delete[] overlapStart_;
......@@ -626,8 +628,8 @@ namespace Dune
ConnectivityConstructor<G,SequentialInformation>::examine(fineGraph, visitedMap, pinfo,
aggregates, sparsityBuilder);
dinfo<<"Matrix min. row size="<<sparsityBuilder.minRowSize()<<" max row size="
<<sparsityBuilder.maxRowSize()<<" avg="<<sparsityBuilder.sumRowSize()/coarseMatrix->N()<<std::endl;
dinfo<<"Matrix row size: min="<<sparsityBuilder.minRowSize()<<" max="
<<sparsityBuilder.maxRowSize()<<" average="<<sparsityBuilder.sumRowSize()/coarseMatrix->N()<<std::endl;
return coarseMatrix;
}
......
......@@ -425,8 +425,8 @@ namespace Dune
void operator()(const matrix_row& row)
{
std::min(min, row.size());
std::max(max, row.size());
min=std::min(min, row.size());
max=std::max(max, row.size());
sum += row.size();
}
......@@ -440,8 +440,9 @@ namespace Dune
static void stats(const Matrix& matrix)
{
calc c= for_each(matrix.begin(), matrix.end(), calc());
dinfo<<"Matrix rows: min="<<c.min<<" max="<<c.max
<<" average="<<c.sum/matrix.N()<<std::endl;
dinfo<<"Matrix row size: min="<<c.min<<" max="<<c.max
<<" average="<<static_cast<double>(c.sum)/static_cast (matrix.N())
<<std::endl;
}
};
};
......@@ -584,7 +585,7 @@ namespace Dune
if(MINIMAL_DEBUG_LEVEL>=INFO_DEBUG_LEVEL && rank==0)
dinfo<<"Level "<<level<<" has "<<unknowns<<" unknowns, "<<unknowns/infoLevel->communicator().size()<<" unknowns per proc"<<std::endl;
if(unknowns < criterion.coarsenTarget())
if(unknowns <= criterion.coarsenTarget())
// No further coarsening needed
break;
......@@ -646,6 +647,7 @@ namespace Dune
visitedMap,
*aggregatesMap,
*infoLevel);
dinfo<< rank<<": agglomeration achieved "<<aggregates<<" aggregates"<<std::endl;
GraphCreator::free(graphs);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment