Skip to content

Commit

Permalink
Merge Pull Request trilinos#8827 from cgcgcg/Trilinos/ml2muelu
Browse files Browse the repository at this point in the history
Automatically Merged using Trilinos Pull Request AutoTester
PR Title: MueLu ML2MueLuParameterTranslator: Correctly translate verbosity
PR Author: cgcgcg
  • Loading branch information
trilinos-autotester authored Mar 8, 2021
2 parents a0f5586 + ce425ff commit e483b4a
Show file tree
Hide file tree
Showing 14 changed files with 67 additions and 3,441 deletions.
16 changes: 16 additions & 0 deletions packages/muelu/src/Interface/MueLu_ML2MueLuParameterTranslator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,22 @@ namespace MueLu {
std::string valueInterpreterStr = "\"" + valuestr + "\"";
std::string ret = MasterList::interpretParameterName(MasterList::ML2MueLu(pname),valueInterpreterStr);

// special handling for verbosity level
if (pname == "ML output") {
// Translate verbosity parameter
int verbosityLevel = std::stoi(valuestr);
std::string eVerbLevel = "none";
if (verbosityLevel == 0) eVerbLevel = "none";
if (verbosityLevel >= 1) eVerbLevel = "low";
if (verbosityLevel >= 5) eVerbLevel = "medium";
if (verbosityLevel >= 10) eVerbLevel = "high";
if (verbosityLevel >= 11) eVerbLevel = "extreme";
if (verbosityLevel >= 42) eVerbLevel = "test";
if (verbosityLevel >= 666) eVerbLevel = "interfacetest";
mueluss << "<Parameter name=\"verbosity\" type=\"string\" value=\"" << eVerbLevel << "\"/>" << std::endl;
continue;
}

// add XML string
if (ret != "") {
mueluss << ret << std::endl;
Expand Down
6 changes: 2 additions & 4 deletions packages/muelu/test/interface/ParameterListInterpreter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -250,10 +250,8 @@ int main_(Teuchos::CommandLineProcessor &clp, Xpetra::UnderlyingLib& lib, int ar
paramList.set("verbosity", "interfacetest");
else if (dirList[k] == prefix+"FactoryParameterListInterpreter/" || dirList[k] == prefix+"FactoryParameterListInterpreter-heavy/")
paramList.sublist("Hierarchy").set("verbosity", "InterfaceTest");
else if (dirList[k] == prefix+"MLParameterListInterpreter/")
paramList.set("ML output", 43);
else if (dirList[k] == prefix+"MLParameterListInterpreter2/")
paramList.set("ML output", 10);
else if (dirList[k] == prefix+"MLParameterListInterpreter/" || dirList[k] == prefix+"MLParameterListInterpreter2/")
paramList.set("ML output", 666);

try {
timer.start();
Expand Down
220 changes: 3 additions & 217 deletions packages/muelu/test/interface/default/Output/MLcoarse1b_epetra.gold
Original file line number Diff line number Diff line change
@@ -1,332 +1,118 @@
Clearing old data (if any)
Level 0
Setup Smoother (MueLu::IfpackSmoother{type = point relaxation stand-alone})
keep smoother data = 0 [default]
PreSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
PostSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
smoother ->
relaxation: type = symmetric Gauss-Seidel [unused]
relaxation: sweeps = 2 [unused]
relaxation: damping factor = 1 [unused]

Level 1
Prolongator smoothing (MueLu::SaPFactory)
Matrix filtering (MueLu::FilteredAFactory)
Build (MueLu::CoalesceDropFactory)
Build (MueLu::AmalgamationFactory)
[empty list]

algorithm = "classical" classical algorithm = "default": threshold = 0, blocksize = 1
aggregation: drop tol = 0 [default]
aggregation: Dirichlet threshold = 0 [default]
aggregation: drop scheme = classical [default]
aggregation: block diagonal: interleaved blocksize = 3 [default]
aggregation: distance laplacian algo = default [default]
aggregation: classical algo = default [default]
lightweight wrap = 1

Filtered matrix is not being constructed as no filtering is being done
filtered matrix: use lumping = 1 [default]
filtered matrix: reuse graph = 1 [default]
filtered matrix: reuse eigenvalue = 1 [default]
filtered matrix: use root stencil = 0 [default]
filtered matrix: use spread lumping = 0 [default]
filtered matrix: spread lumping diag dom growth factor = 1.1 [default]
filtered matrix: spread lumping diag dom cap = 2 [default]
filtered matrix: Dirichlet threshold = -1 [default]

Build (MueLu::TentativePFactory)
Build (MueLu::UncoupledAggregationFactory)
BuildAggregates (Phase - (Dirichlet))
BuildAggregates (Phase 1 (main))
BuildAggregates (Phase 2a (secondary))
BuildAggregates (Phase 2b (expansion))
BuildAggregates (Phase 3 (cleanup))
aggregation: max agg size = -1 [default]
aggregation: min agg size = 2 [default]
aggregation: max selected neighbors = 0 [default]
aggregation: ordering = natural [default]
aggregation: enable phase 1 = 1 [default]
aggregation: enable phase 2a = 1 [default]
aggregation: enable phase 2b = 1 [default]
aggregation: enable phase 3 = 1 [default]
aggregation: phase2a include root = 1 [default]
aggregation: phase2a agg factor = 0.5 [default]
aggregation: preserve Dirichlet points = 0 [default]
aggregation: allow user-specified singletons = 0 [default]
aggregation: use interface aggregation = 0 [default]
aggregation: error on nodes with no on-rank neighbors = 0 [default]
aggregation: phase3 avoid singletons = 0 [default]
aggregation: compute aggregate qualities = 0 [default]
OnePt aggregate map name = [default]
OnePt aggregate map factory = [default]
Interface aggregate map name = [default]
Interface aggregate map factory = [default]

Nullspace factory (MueLu::NullspaceFactory)
Fine level nullspace = Nullspace

Build (MueLu::CoarseMapFactory)
Striding info = {} [default]
Strided block id = -1 [default]
Domain GID offsets = {0} [default]

tentative: calculate qr = 1 [default]
tentative: build coarse coordinates = 1 [default]
tentative: constant column sums = 0 [default]
Nullspace name = Nullspace [default]
matrixmatrix: kernel params ->
[empty list]

sa: damping factor = 1.333
sa: calculate eigenvalue estimate = 0 [default]
sa: eigenvalue estimate num iterations = 10
sa: use rowsumabs diagonal scaling = 0 [default]
sa: enforce constraints = 0 [default]
tentative: calculate qr = 1 [default]
sa: max eigenvalue = -1 [default]
sa: rowsumabs diagonal replacement tolerance = -1 [default]
sa: rowsumabs diagonal replacement value = 0 [default]
matrixmatrix: kernel params ->
[empty list]

Transpose P (MueLu::TransPFactory)
matrixmatrix: kernel params ->
[empty list]

Computing Ac (MueLu::RAPFactory)
transpose: use implicit = 0 [default]
rap: triple product = 0 [default]
rap: fix zero diagonals = 0 [default]
rap: fix zero diagonals threshold = 0 [default]
rap: fix zero diagonals replacement = 1 [default]
rap: relative diagonal floor = {} [default]
CheckMainDiagonal = 0 [default]
RepairMainDiagonal = 0 [default]
matrixmatrix: kernel params ->
[empty list]

Setup Smoother (MueLu::IfpackSmoother{type = point relaxation stand-alone})
keep smoother data = 0 [default]
PreSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
PostSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
smoother ->
relaxation: type = symmetric Gauss-Seidel [unused]
relaxation: sweeps = 2 [unused]
relaxation: damping factor = 1 [unused]

Level 2
Prolongator smoothing (MueLu::SaPFactory)
Matrix filtering (MueLu::FilteredAFactory)
Build (MueLu::CoalesceDropFactory)
Build (MueLu::AmalgamationFactory)
[empty list]

algorithm = "classical" classical algorithm = "default": threshold = 0, blocksize = 1
aggregation: drop tol = 0 [default]
aggregation: Dirichlet threshold = 0 [default]
aggregation: drop scheme = classical [default]
aggregation: block diagonal: interleaved blocksize = 3 [default]
aggregation: distance laplacian algo = default [default]
aggregation: classical algo = default [default]
lightweight wrap = 1

Filtered matrix is not being constructed as no filtering is being done
filtered matrix: use lumping = 1 [default]
filtered matrix: reuse graph = 1 [default]
filtered matrix: reuse eigenvalue = 1 [default]
filtered matrix: use root stencil = 0 [default]
filtered matrix: use spread lumping = 0 [default]
filtered matrix: spread lumping diag dom growth factor = 1.1 [default]
filtered matrix: spread lumping diag dom cap = 2 [default]
filtered matrix: Dirichlet threshold = -1 [default]

Build (MueLu::TentativePFactory)
Build (MueLu::UncoupledAggregationFactory)
BuildAggregates (Phase - (Dirichlet))
BuildAggregates (Phase 1 (main))
BuildAggregates (Phase 2a (secondary))
BuildAggregates (Phase 2b (expansion))
BuildAggregates (Phase 3 (cleanup))
aggregation: max agg size = -1 [default]
aggregation: min agg size = 2 [default]
aggregation: max selected neighbors = 0 [default]
aggregation: ordering = natural [default]
aggregation: enable phase 1 = 1 [default]
aggregation: enable phase 2a = 1 [default]
aggregation: enable phase 2b = 1 [default]
aggregation: enable phase 3 = 1 [default]
aggregation: phase2a include root = 1 [default]
aggregation: phase2a agg factor = 0.5 [default]
aggregation: preserve Dirichlet points = 0 [default]
aggregation: allow user-specified singletons = 0 [default]
aggregation: use interface aggregation = 0 [default]
aggregation: error on nodes with no on-rank neighbors = 0 [default]
aggregation: phase3 avoid singletons = 0 [default]
aggregation: compute aggregate qualities = 0 [default]
OnePt aggregate map name = [default]
OnePt aggregate map factory = [default]
Interface aggregate map name = [default]
Interface aggregate map factory = [default]

Nullspace factory (MueLu::NullspaceFactory)
Fine level nullspace = Nullspace

Build (MueLu::CoarseMapFactory)
Striding info = {} [default]
Strided block id = -1 [default]
Domain GID offsets = {0} [default]

tentative: calculate qr = 1 [default]
tentative: build coarse coordinates = 1 [default]
tentative: constant column sums = 0 [default]
Nullspace name = Nullspace [default]
matrixmatrix: kernel params ->
[empty list]

sa: damping factor = 1.333
sa: calculate eigenvalue estimate = 0 [default]
sa: eigenvalue estimate num iterations = 10
sa: use rowsumabs diagonal scaling = 0 [default]
sa: enforce constraints = 0 [default]
tentative: calculate qr = 1 [default]
sa: max eigenvalue = -1 [default]
sa: rowsumabs diagonal replacement tolerance = -1 [default]
sa: rowsumabs diagonal replacement value = 0 [default]
matrixmatrix: kernel params ->
[empty list]

Transpose P (MueLu::TransPFactory)
matrixmatrix: kernel params ->
[empty list]

Computing Ac (MueLu::RAPFactory)
transpose: use implicit = 0 [default]
rap: triple product = 0 [default]
rap: fix zero diagonals = 0 [default]
rap: fix zero diagonals threshold = 0 [default]
rap: fix zero diagonals replacement = 1 [default]
rap: relative diagonal floor = {} [default]
CheckMainDiagonal = 0 [default]
RepairMainDiagonal = 0 [default]
matrixmatrix: kernel params ->
[empty list]

Setup Smoother (MueLu::IfpackSmoother{type = point relaxation stand-alone})
keep smoother data = 0 [default]
PreSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
PostSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
smoother ->
relaxation: type = symmetric Gauss-Seidel [unused]
relaxation: sweeps = 2 [unused]
relaxation: damping factor = 1 [unused]

Level 3
Prolongator smoothing (MueLu::SaPFactory)
Matrix filtering (MueLu::FilteredAFactory)
Build (MueLu::CoalesceDropFactory)
Build (MueLu::AmalgamationFactory)
[empty list]

algorithm = "classical" classical algorithm = "default": threshold = 0, blocksize = 1
aggregation: drop tol = 0 [default]
aggregation: Dirichlet threshold = 0 [default]
aggregation: drop scheme = classical [default]
aggregation: block diagonal: interleaved blocksize = 3 [default]
aggregation: distance laplacian algo = default [default]
aggregation: classical algo = default [default]
lightweight wrap = 1

Filtered matrix is not being constructed as no filtering is being done
filtered matrix: use lumping = 1 [default]
filtered matrix: reuse graph = 1 [default]
filtered matrix: reuse eigenvalue = 1 [default]
filtered matrix: use root stencil = 0 [default]
filtered matrix: use spread lumping = 0 [default]
filtered matrix: spread lumping diag dom growth factor = 1.1 [default]
filtered matrix: spread lumping diag dom cap = 2 [default]
filtered matrix: Dirichlet threshold = -1 [default]

Build (MueLu::TentativePFactory)
Build (MueLu::UncoupledAggregationFactory)
BuildAggregates (Phase - (Dirichlet))
BuildAggregates (Phase 1 (main))
BuildAggregates (Phase 2a (secondary))
BuildAggregates (Phase 2b (expansion))
BuildAggregates (Phase 3 (cleanup))
aggregation: max agg size = -1 [default]
aggregation: min agg size = 2 [default]
aggregation: max selected neighbors = 0 [default]
aggregation: ordering = natural [default]
aggregation: enable phase 1 = 1 [default]
aggregation: enable phase 2a = 1 [default]
aggregation: enable phase 2b = 1 [default]
aggregation: enable phase 3 = 1 [default]
aggregation: phase2a include root = 1 [default]
aggregation: phase2a agg factor = 0.5 [default]
aggregation: preserve Dirichlet points = 0 [default]
aggregation: allow user-specified singletons = 0 [default]
aggregation: use interface aggregation = 0 [default]
aggregation: error on nodes with no on-rank neighbors = 0 [default]
aggregation: phase3 avoid singletons = 0 [default]
aggregation: compute aggregate qualities = 0 [default]
OnePt aggregate map name = [default]
OnePt aggregate map factory = [default]
Interface aggregate map name = [default]
Interface aggregate map factory = [default]

Nullspace factory (MueLu::NullspaceFactory)
Fine level nullspace = Nullspace

Build (MueLu::CoarseMapFactory)
Striding info = {} [default]
Strided block id = -1 [default]
Domain GID offsets = {0} [default]

tentative: calculate qr = 1 [default]
tentative: build coarse coordinates = 1 [default]
tentative: constant column sums = 0 [default]
Nullspace name = Nullspace [default]
matrixmatrix: kernel params ->
[empty list]

sa: damping factor = 1.333
sa: calculate eigenvalue estimate = 0 [default]
sa: eigenvalue estimate num iterations = 10
sa: use rowsumabs diagonal scaling = 0 [default]
sa: enforce constraints = 0 [default]
tentative: calculate qr = 1 [default]
sa: max eigenvalue = -1 [default]
sa: rowsumabs diagonal replacement tolerance = -1 [default]
sa: rowsumabs diagonal replacement value = 0 [default]
matrixmatrix: kernel params ->
[empty list]

Transpose P (MueLu::TransPFactory)
matrixmatrix: kernel params ->
[empty list]

Computing Ac (MueLu::RAPFactory)
transpose: use implicit = 0 [default]
rap: triple product = 0 [default]
rap: fix zero diagonals = 0 [default]
rap: fix zero diagonals threshold = 0 [default]
rap: fix zero diagonals replacement = 1 [default]
rap: relative diagonal floor = {} [default]
CheckMainDiagonal = 0 [default]
RepairMainDiagonal = 0 [default]
matrixmatrix: kernel params ->
[empty list]

Max coarse size (<= 1000) achieved
Setup Smoother (MueLu::AmesosSmoother{type = <ignored>})
keep smoother data = 0 [default]
PreSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
PostSmoother data = Teuchos::RCP<MueLu::SmootherPrototype<ignored> >{ptr=0,node=0,strong_count=0,weak_count=0} [default]
smoother ->
[empty list]


--------------------------------------------------------------------------------
--- Multigrid Summary ---
--------------------------------------------------------------------------------
Expand All @@ -341,11 +127,11 @@ level rows nnz nnz/row c ratio procs
2 1111 3331 3.00 3.00 1
3 371 1111 2.99 2.99 1

Smoother (level 0) both : IFPACK (Local SGS, sweeps=2, damping=1)
Smoother (level 0) both : MueLu::IfpackSmoother{type = point relaxation stand-alone}

Smoother (level 1) both : IFPACK (Local SGS, sweeps=2, damping=1)
Smoother (level 1) both : MueLu::IfpackSmoother{type = point relaxation stand-alone}

Smoother (level 2) both : IFPACK (Local SGS, sweeps=2, damping=1)
Smoother (level 2) both : MueLu::IfpackSmoother{type = point relaxation stand-alone}

Smoother (level 3) pre : MueLu::AmesosSmoother{type = <ignored>}
Smoother (level 3) post : no smoother
Expand Down
Loading

0 comments on commit e483b4a

Please sign in to comment.