Skip to content

Commit

Permalink
Merge Pull Request #8828 from trilinos/Trilinos/csiefer-cbb5cd5
Browse files Browse the repository at this point in the history
Automatically Merged using Trilinos Pull Request AutoTester
PR Title: MueLu: Adding more Phase2a controls
PR Author: csiefer2
  • Loading branch information
trilinos-autotester authored Mar 4, 2021
2 parents 2c593fc + d55effb commit 216b961
Show file tree
Hide file tree
Showing 35 changed files with 106 additions and 4 deletions.
9 changes: 9 additions & 0 deletions packages/muelu/doc/UsersGuide/masterList.xml
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,15 @@
<comment-ML>parameter not existing in ML</comment-ML>
</parameter>

<parameter>
<name>aggregation: phase2a agg factor</name>
<type>double</type>
<default>0.5</default>
<description>Agg factor for Phase 2a sizes</description>
<visible>false</visible>
<comment-ML>parameter not existing in ML</comment-ML>
</parameter>

<parameter>
<name>aggregation: error on nodes with no on-rank neighbors</name>
<type>bool</type>
Expand Down
2 changes: 2 additions & 0 deletions packages/muelu/doc/UsersGuide/paramlist_hidden.tex
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@

\cbb{aggregation: phase2a include root}{bool}{true}{Whether the root node should be included in the aggregates formed in phase 2a.}

\cbb{aggregation: phase2a agg factor}{double}{0.5}{Agg factor for Phase 2a sizes}

\cbb{aggregation: error on nodes with no on-rank neighbors}{bool}{false}{Causes phase 3 aggregation to throw an error for
non-Dirichlet nodes that have no on-rank neighbors. This only
works for Uncoupled Aggregation.}
Expand Down
4 changes: 1 addition & 3 deletions packages/muelu/src/Graph/Containers/MueLu_LWGraph_def.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,8 @@ namespace MueLu {

if (verbLevel & Debug) {
for (LO i = 0; i < rows_.size()-1; i++) {
out0 << i << ":";
for (LO j = rows_[i]; j < rows_[i+1]; j++)
out0 << " " << columns_[j];
out0 << std::endl;
out0 << i << " " << columns_[j]<<std::endl;
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ namespace MueLu {
LO numLocalNodes = procWinner.size();
LO numLocalAggregated = numLocalNodes - numNonAggregatedNodes;

const double aggFactor = 0.5;
const double aggFactor = params.get<double>("aggregation: phase2a agg factor");
double factor = as<double>(numLocalAggregated)/(numLocalNodes+1);
factor = pow(factor, aggFactor);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ namespace MueLu {
SET_VALID_ENTRY("aggregation: enable phase 2b");
SET_VALID_ENTRY("aggregation: enable phase 3");
SET_VALID_ENTRY("aggregation: phase2a include root");
SET_VALID_ENTRY("aggregation: phase2a agg factor");
SET_VALID_ENTRY("aggregation: preserve Dirichlet points");
SET_VALID_ENTRY("aggregation: allow user-specified singletons");
SET_VALID_ENTRY("aggregation: use interface aggregation");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1045,6 +1045,7 @@ namespace MueLu {
MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: enable phase 2b", bool, aggParams);
MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: enable phase 3", bool, aggParams);
MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: phase2a include root", bool, aggParams);
MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: phase2a agg factor", double, aggParams);
MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: preserve Dirichlet points", bool, aggParams);
MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: error on nodes with no on-rank neighbors", bool, aggParams);
MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: phase3 avoid singletons", bool, aggParams);
Expand Down
3 changes: 3 additions & 0 deletions packages/muelu/src/MueCentral/MueLu_MasterList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ namespace MueLu {
"<Parameter name=\"aggregation: enable phase 2b\" type=\"bool\" value=\"true\"/>"
"<Parameter name=\"aggregation: enable phase 3\" type=\"bool\" value=\"true\"/>"
"<Parameter name=\"aggregation: phase2a include root\" type=\"bool\" value=\"true\"/>"
"<Parameter name=\"aggregation: phase2a agg factor\" type=\"double\" value=\"0.5\"/>"
"<Parameter name=\"aggregation: error on nodes with no on-rank neighbors\" type=\"bool\" value=\"false\"/>"
"<Parameter name=\"aggregation: phase3 avoid singletons\" type=\"bool\" value=\"false\"/>"
"<Parameter name=\"aggregation: allow empty prolongator columns\" type=\"bool\" value=\"false\"/>"
Expand Down Expand Up @@ -652,6 +653,8 @@ namespace MueLu {

("aggregation: phase2a include root","aggregation: phase2a include root")

("aggregation: phase2a agg factor","aggregation: phase2a agg factor")

("aggregation: error on nodes with no on-rank neighbors","aggregation: error on nodes with no on-rank neighbors")

("aggregation: phase3 avoid singletons","aggregation: phase3 avoid singletons")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -156,6 +157,7 @@ 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]
Expand Down Expand Up @@ -261,6 +263,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -156,6 +157,7 @@ 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]
Expand Down Expand Up @@ -261,6 +263,7 @@ 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]
Expand Down Expand Up @@ -366,6 +369,7 @@ 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]
Expand Down Expand Up @@ -471,6 +475,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -156,6 +157,7 @@ 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]
Expand Down Expand Up @@ -261,6 +263,7 @@ 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]
Expand Down Expand Up @@ -366,6 +369,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -156,6 +157,7 @@ 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]
Expand Down Expand Up @@ -261,6 +263,7 @@ 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]
Expand Down Expand Up @@ -366,6 +369,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -156,6 +157,7 @@ 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]
Expand Down Expand Up @@ -261,6 +263,7 @@ 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]
Expand Down Expand Up @@ -366,6 +369,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ 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]
Expand Down Expand Up @@ -130,6 +131,7 @@ 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]
Expand Down Expand Up @@ -220,6 +222,7 @@ 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]
Expand Down Expand Up @@ -310,6 +313,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -168,6 +169,7 @@ 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]
Expand Down Expand Up @@ -285,6 +287,7 @@ 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]
Expand Down Expand Up @@ -402,6 +405,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -156,6 +157,7 @@ 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]
Expand Down Expand Up @@ -261,6 +263,7 @@ 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]
Expand Down Expand Up @@ -366,6 +369,7 @@ 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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ 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]
Expand Down Expand Up @@ -156,6 +157,7 @@ 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]
Expand Down Expand Up @@ -261,6 +263,7 @@ 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]
Expand Down Expand Up @@ -366,6 +369,7 @@ 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]
Expand Down
Loading

0 comments on commit 216b961

Please sign in to comment.