MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_MasterList.cpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // MueLu: A package for multigrid based preconditioning
4 //
5 // Copyright 2012 NTESS and the MueLu contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 // clang-format off
12 
13 #include "MueLu_Exceptions.hpp"
14 #include "MueLu_MasterList.hpp"
15 
16 namespace MueLu {
17 
19  if (masterList_.is_null()) {
20  masterList_ = Teuchos::getParametersFromXmlString(stringList_);
21  }
22 
23  return masterList_;
24  }
25 
27 
28  if ( (problemType != problemType_) || problemSpecificList_.is_null() ) {
29  if (DefaultProblemTypeLists_.find(problemType) != DefaultProblemTypeLists_.end()) {
30  problemType_ = problemType;
31  problemSpecificList_ = Teuchos::getParametersFromXmlString(DefaultProblemTypeLists_[problemType]);
32  } else {
33  //TODO provide valid problem types
34  TEUCHOS_TEST_FOR_EXCEPTION(true, MueLu::Exceptions::RuntimeError, "Invalid problem type " << problemType << ".");
35  }
36  }
37  return problemSpecificList_;
38  }
39 
40  std::string MasterList::interpretParameterName(const std::string& name, const std::string& value) {
41 
42  // used to concatenate the return string
43  std::stringstream ss;
44 
45  // put in short cuts here!
46 
47  if (name == "verbosity") {
48  std::string verb = "none";
49  if (value == "\"0\"") verb = "none";
50  if (value == "\"1\"" || value == "\"2\"" || value == "\"3\"") verb = "low";
51  if (value == "\"4\"" || value == "\"5\"" || value == "\"6\"") verb = "medium";
52  if (value == "\"7\"" || value == "\"8\"") verb = "high";
53  if (value == "\"9\"") verb = "extreme";
54  if (value == "\"10\"") verb = "test";
55  verb = "\"" + verb + "\"";
56  ss << "<Parameter name=\"verbosity\" type=\"string\" value=" << verb << "/>";
57  return ss.str();
58  }
59 
60  if (name == "cycle type") {
61  std::stringstream temp1; temp1 << "\"" << "MGV" << "\"";
62  std::stringstream temp2; temp2 << "\"" << "MGV" << "\"";
63  if (value == temp1.str() ) { ss << "<Parameter name=\"cycle type\" type=\"string\" value=\"V\"/>"; }
64  else if (value == temp2.str()) { ss << "<Parameter name=\"cycle type\" type=\"string\" value=\"W\"/>"; }
65  else TEUCHOS_TEST_FOR_EXCEPTION(true, MueLu::Exceptions::RuntimeError, "MasterList::interpretParameterName, Line " << __LINE__ << ". "
66  << "The parameter " << value << " is not supported by MueLu.");
67  return ss.str();
68  }
69 
70  // energy minimization is enabled
71  if (name == "multigrid algorithm") {
72  std::stringstream temp; temp << "\"" << "1" << "\"";
73  if (value == temp.str() ) { ss << "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"pg\"/>"; return ss.str(); }
74  }
75 
76  // put in auto-generated code here
77 
78 
79  if (name == "output filename") { ss << "<Parameter name=\"output filename\" type=\"string\" value=" << value << "/>"; return ss.str(); }
80  if (name == "number of equations") { ss << "<Parameter name=\"number of equations\" type=\"int\" value=" << value << "/>"; return ss.str(); }
81  if (name == "max levels") { ss << "<Parameter name=\"max levels\" type=\"int\" value=" << value << "/>"; return ss.str(); }
82  if (name == "W cycle start level") { ss << "<Parameter name=\"W cycle start level\" type=\"int\" value=" << value << "/>"; return ss.str(); }
83  if (name == "coarse grid correction scaling factor") { ss << "<Parameter name=\"coarse grid correction scaling factor\" type=\"double\" value=" << value << "/>"; return ss.str(); }
84  if (name == "fuse prolongation and update") { ss << "<Parameter name=\"fuse prolongation and update\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
85  if (name == "number of vectors") { ss << "<Parameter name=\"number of vectors\" type=\"int\" value=" << value << "/>"; return ss.str(); }
86  if (name == "problem: symmetric") { ss << "<Parameter name=\"problem: symmetric\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
87  if (name == "hierarchy label") { ss << "<Parameter name=\"hierarchy label\" type=\"string\" value=" << value << "/>"; return ss.str(); }
88  if (name == "aggregation: drop tol") { ss << "<Parameter name=\"aggregation: drop tol\" type=\"double\" value=" << value << "/>"; return ss.str(); }
89  if (name == "print initial parameters") { ss << "<Parameter name=\"print initial parameters\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
90  if (name == "print unused parameters") { ss << "<Parameter name=\"print unused parameters\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
91  if (name == "sa: damping factor") { ss << "<Parameter name=\"sa: damping factor\" type=\"double\" value=" << value << "/>"; return ss.str(); }
92  if (name == "sa: use filtered matrix") { ss << "<Parameter name=\"sa: use filtered matrix\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
93  if (name == "sa: eigen-analysis type") { ss << "<Parameter name=\"sa: eigen-analysis type\" type=\"string\" value=" << value << "/>"; return ss.str(); }
94  if (name == "sa: eigenvalue estimate num iterations") { ss << "<Parameter name=\"sa: eigenvalue estimate num iterations\" type=\"int\" value=" << value << "/>"; return ss.str(); }
95  if (name == "sa: use rowsumabs diagonal scaling") { ss << "<Parameter name=\"sa: use rowsumabs diagonal scaling\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
96  if (name == "sa: enforce constraints") { ss << "<Parameter name=\"sa: enforce constraints\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
97  if (name == "sa: max eigenvalue") { ss << "<Parameter name=\"sa: max eigenvalue\" type=\"double\" value=" << value << "/>"; return ss.str(); }
98  if (name == "sa: rowsumabs diagonal replacement tolerance") { ss << "<Parameter name=\"sa: rowsumabs diagonal replacement tolerance\" type=\"double\" value=" << value << "/>"; return ss.str(); }
99  if (name == "sa: rowsumabs use automatic diagonal tolerance") { ss << "<Parameter name=\"sa: rowsumabs use automatic diagonal tolerance\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
100  if (name == "sa: rowsumabs diagonal replacement value") { ss << "<Parameter name=\"sa: rowsumabs diagonal replacement value\" type=\"double\" value=" << value << "/>"; return ss.str(); }
101  if (name == "sa: rowsumabs replace single entry row with zero") { ss << "<Parameter name=\"sa: rowsumabs replace single entry row with zero\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
102  if (name == "replicate: npdes") { ss << "<Parameter name=\"replicate: npdes\" type=\"int\" value=" << value << "/>"; return ss.str(); }
103  if (name == "combine: numBlks") { ss << "<Parameter name=\"combine: numBlks\" type=\"int\" value=" << value << "/>"; return ss.str(); }
104  if (name == "pcoarsen: element") { ss << "<Parameter name=\"pcoarsen: element\" type=\"string\" value=" << value << "/>"; return ss.str(); }
105  if (name == "pcoarsen: schedule") { ss << "<Parameter name=\"pcoarsen: schedule\" type=\"string\" value=" << value << "/>"; return ss.str(); }
106  if (name == "pcoarsen: hi basis") { ss << "<Parameter name=\"pcoarsen: hi basis\" type=\"string\" value=" << value << "/>"; return ss.str(); }
107  if (name == "pcoarsen: lo basis") { ss << "<Parameter name=\"pcoarsen: lo basis\" type=\"string\" value=" << value << "/>"; return ss.str(); }
108  if (name == "smoother: neighborhood type") { ss << "<Parameter name=\"smoother: neighborhood type\" type=\"string\" value=" << value << "/>"; return ss.str(); }
109  if (name == "tentative: calculate qr") { ss << "<Parameter name=\"tentative: calculate qr\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
110  if (name == "tentative: constant column sums") { ss << "<Parameter name=\"tentative: constant column sums\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
111  if (name == "repartition: enable") { ss << "<Parameter name=\"repartition: enable\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
112  if (name == "repartition: start level") { ss << "<Parameter name=\"repartition: start level\" type=\"int\" value=" << value << "/>"; return ss.str(); }
113  if (name == "repartition: use map") { ss << "<Parameter name=\"repartition: use map\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
114  if (name == "repartition: use subcommunicators in place") { ss << "<Parameter name=\"repartition: use subcommunicators in place\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
115  if (name == "repartition: node repartition level") { ss << "<Parameter name=\"repartition: node repartition level\" type=\"int\" value=" << value << "/>"; return ss.str(); }
116  if (name == "repartition: node id") { ss << "<Parameter name=\"repartition: node id\" type=\"int\" value=" << value << "/>"; return ss.str(); }
117  if (name == "repartition: min rows per proc") { ss << "<Parameter name=\"repartition: min rows per proc\" type=\"int\" value=" << value << "/>"; return ss.str(); }
118  if (name == "repartition: max imbalance") { ss << "<Parameter name=\"repartition: max imbalance\" type=\"double\" value=" << value << "/>"; return ss.str(); }
119  if (name == "use external multigrid package") { ss << "<Parameter name=\"use external multigrid package\" type=\"string\" value=" << value << "/>"; return ss.str(); }
120  if (name == "maxwell1: dump matrices") { ss << "<Parameter name=\"maxwell1: dump matrices\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
121  if (name == "refmaxwell: mode") { ss << "<Parameter name=\"refmaxwell: mode\" type=\"string\" value=" << value << "/>"; return ss.str(); }
122  if (name == "refmaxwell: disable addon") { ss << "<Parameter name=\"refmaxwell: disable addon\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
123  if (name == "refmaxwell: use as preconditioner") { ss << "<Parameter name=\"refmaxwell: use as preconditioner\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
124  if (name == "refmaxwell: dump matrices") { ss << "<Parameter name=\"refmaxwell: dump matrices\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
125  if (name == "refmaxwell: subsolves on subcommunicators") { ss << "<Parameter name=\"refmaxwell: subsolves on subcommunicators\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
126  if (name == "refmaxwell: enable reuse") { ss << "<Parameter name=\"refmaxwell: enable reuse\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
127  if (name == "refmaxwell: skip first (1,1) level") { ss << "<Parameter name=\"refmaxwell: skip first (1,1) level\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
128  if (name == "refmaxwell: normalize nullspace") { ss << "<Parameter name=\"refmaxwell: normalize nullspace\" type=\"bool\" value=" << value << "/>"; return ss.str(); }
129  return "";
130  }
131 
134  std::string MasterList::problemType_ = "unknown";
135  const std::string MasterList::stringList_ =
136 "<ParameterList name=\"MueLu\">"
137  "<Parameter name=\"problem: type\" type=\"string\" value=\"unknown\"/>"
138  "<Parameter name=\"verbosity\" type=\"string\" value=\"high\"/>"
139  "<Parameter name=\"output filename\" type=\"string\" value=\"\"/>"
140  "<Parameter name=\"number of equations\" type=\"int\" value=\"1\"/>"
141  "<Parameter name=\"max levels\" type=\"int\" value=\"10\"/>"
142  "<Parameter name=\"cycle type\" type=\"string\" value=\"V\"/>"
143  "<Parameter name=\"W cycle start level\" type=\"int\" value=\"0\"/>"
144  "<Parameter name=\"coarse grid correction scaling factor\" type=\"double\" value=\"1.0\"/>"
145  "<Parameter name=\"fuse prolongation and update\" type=\"bool\" value=\"false\"/>"
146  "<Parameter name=\"number of vectors\" type=\"int\" value=\"1\"/>"
147  "<Parameter name=\"problem: symmetric\" type=\"bool\" value=\"true\"/>"
148  "<Parameter name=\"xml parameter file\" type=\"string\" value=\"\"/>"
149  "<Parameter name=\"parameterlist: syntax\" type=\"string\" value=\"muelu\"/>"
150  "<Parameter name=\"hierarchy label\" type=\"string\" value=\"\"/>"
151  "<ParameterList name=\"matvec params\"/>"
152  "<Parameter name=\"half precision\" type=\"bool\" value=\"false\"/>"
153  "<Parameter name=\"smoother: pre or post\" type=\"string\" value=\"both\"/>"
154  "<Parameter name=\"smoother: type\" type=\"string\" value=\"RELAXATION\"/>"
155  "<Parameter name=\"smoother: pre type\" type=\"string\" value=\"RELAXATION\"/>"
156  "<Parameter name=\"smoother: post type\" type=\"string\" value=\"RELAXATION\"/>"
157  "<ParameterList name=\"smoother: params\"/>"
158  "<ParameterList name=\"smoother: pre params\"/>"
159  "<ParameterList name=\"smoother: post params\"/>"
160  "<Parameter name=\"smoother: overlap\" type=\"int\" value=\"0\"/>"
161  "<Parameter name=\"smoother: pre overlap\" type=\"int\" value=\"0\"/>"
162  "<Parameter name=\"smoother: post overlap\" type=\"int\" value=\"0\"/>"
163  "<Parameter name=\"coarse: max size\" type=\"int\" value=\"2000\"/>"
164  "<Parameter name=\"coarse: type\" type=\"string\" value=\"KLU\"/>"
165  "<ParameterList name=\"coarse: params\"/>"
166  "<Parameter name=\"coarse: overlap\" type=\"int\" value=\"0\"/>"
167  "<Parameter name=\"aggregation: backend\" type=\"string\" value=\"default\"/>"
168  "<Parameter name=\"aggregation: type\" type=\"string\" value=\"uncoupled\"/>"
169  "<Parameter name=\"aggregation: mode\" type=\"string\" value=\"uncoupled\"/>"
170  "<Parameter name=\"aggregation: ordering\" type=\"string\" value=\"natural\"/>"
171  "<Parameter name=\"aggregation: phase 1 algorithm\" type=\"string\" value=\"Distance2\"/>"
172  "<Parameter name=\"aggregation: symmetrize graph after dropping\" type=\"bool\" value=\"false\"/>"
173  "<Parameter name=\"aggregation: use blocking\" type=\"bool\" value=\"false\"/>"
174  "<Parameter name=\"aggregation: drop scheme\" type=\"string\" value=\"classical\"/>"
175  "<Parameter name=\"aggregation: strength-of-connection: matrix\" type=\"string\" value=\"A\"/>"
176  "<Parameter name=\"aggregation: strength-of-connection: measure\" type=\"string\" value=\"smoothed aggregation\"/>"
177  "<Parameter name=\"aggregation: classical scheme\" type=\"string\" value=\"direct\"/>"
178  "<Parameter name=\"aggregation: row sum drop tol\" type=\"double\" value=\"-1.0\"/>"
179  "<Parameter name=\"aggregation: block diagonal: interleaved blocksize\" type=\"int\" value=\"3\"/>"
180  "<Parameter name=\"aggregation: number of random vectors\" type=\"int\" value=\"10\"/>"
181  "<Parameter name=\"aggregation: number of times to pre or post smooth\" type=\"int\" value=\"10\"/>"
182  "<Parameter name=\"aggregation: penalty parameters\" type=\"Array(double)\" value=\"{12.,-.2,0,0,0} \"/>"
183  "<Parameter name=\"aggregation: distance laplacian directional weights\" type=\"Array(double)\" value=\"{1,1,1}\"/>"
184  "<Parameter name=\"aggregation: distance laplacian algo\" type=\"string\" value=\"default\"/>"
185  "<Parameter name=\"aggregation: distance laplacian metric\" type=\"string\" value=\"unweighted\"/>"
186  "<Parameter name=\"aggregation: classical algo\" type=\"string\" value=\"default\"/>"
187  "<Parameter name=\"aggregation: drop tol\" type=\"double\" value=\"0.0\"/>"
188  "<Parameter name=\"aggregation: use ml scaling of drop tol\" type=\"bool\" value=\"false\"/>"
189  "<Parameter name=\"aggregation: min agg size\" type=\"int\" value=\"2\"/>"
190  "<Parameter name=\"aggregation: max agg size\" type=\"int\" value=\"-1\"/>"
191  "<Parameter name=\"aggregation: compute aggregate qualities\" type=\"bool\" value=\"false\"/>"
192  "<Parameter name=\"aggregation: brick x size\" type=\"int\" value=\"2\"/>"
193  "<Parameter name=\"aggregation: brick y size\" type=\"int\" value=\"2\"/>"
194  "<Parameter name=\"aggregation: brick z size\" type=\"int\" value=\"2\"/>"
195  "<Parameter name=\"aggregation: brick x Dirichlet\" type=\"bool\" value=\"false\"/>"
196  "<Parameter name=\"aggregation: brick y Dirichlet\" type=\"bool\" value=\"false\"/>"
197  "<Parameter name=\"aggregation: brick z Dirichlet\" type=\"bool\" value=\"false\"/>"
198  "<Parameter name=\"aggregation: max selected neighbors\" type=\"int\" value=\"0\"/>"
199  "<Parameter name=\"aggregation: Dirichlet threshold\" type=\"double\" value=\"0.0\"/>"
200  "<Parameter name=\"aggregation: greedy Dirichlet\" type=\"bool\" value=\"false\"/>"
201  "<Parameter name=\"aggregation: deterministic\" type=\"bool\" value=\"false\"/>"
202  "<Parameter name=\"aggregation: coloring algorithm\" type=\"string\" value=\"serial\"/>"
203  "<Parameter name=\"aggregation: coloring: use color graph\" type=\"bool\" value=\"false\"/>"
204  "<Parameter name=\"aggregation: coloring: localize color graph\" type=\"bool\" value=\"true\"/>"
205  "<Parameter name=\"aggregation: enable phase 1\" type=\"bool\" value=\"true\"/>"
206  "<Parameter name=\"aggregation: enable phase 2a\" type=\"bool\" value=\"true\"/>"
207  "<Parameter name=\"aggregation: enable phase 2b\" type=\"bool\" value=\"true\"/>"
208  "<Parameter name=\"aggregation: enable phase 3\" type=\"bool\" value=\"true\"/>"
209  "<Parameter name=\"aggregation: match ML phase1\" type=\"bool\" value=\"false\"/>"
210  "<Parameter name=\"aggregation: match ML phase2a\" type=\"bool\" value=\"false\"/>"
211  "<Parameter name=\"aggregation: match ML phase2b\" type=\"bool\" value=\"false\"/>"
212  "<Parameter name=\"aggregation: phase2a agg factor\" type=\"double\" value=\"0.5\"/>"
213  "<Parameter name=\"aggregation: error on nodes with no on-rank neighbors\" type=\"bool\" value=\"false\"/>"
214  "<Parameter name=\"aggregation: phase3 avoid singletons\" type=\"bool\" value=\"false\"/>"
215  "<Parameter name=\"aggregation: allow empty prolongator columns\" type=\"bool\" value=\"false\"/>"
216  "<Parameter name=\"aggregation: preserve Dirichlet points\" type=\"bool\" value=\"false\"/>"
217  "<Parameter name=\"aggregation: dropping may create Dirichlet\" type=\"bool\" value=\"true\"/>"
218  "<Parameter name=\"aggregation: allow user-specified singletons\" type=\"bool\" value=\"false\"/>"
219  "<Parameter name=\"aggregation: use interface aggregation\" type=\"bool\" value=\"false\"/>"
220  "<Parameter name=\"aggregation: export visualization data\" type=\"bool\" value=\"false\"/>"
221  "<Parameter name=\"aggregation: output filename\" type=\"string\" value=\"\"/>"
222  "<Parameter name=\"aggregation: output file: time step\" type=\"int\" value=\"0\"/>"
223  "<Parameter name=\"aggregation: output file: iter\" type=\"int\" value=\"0\"/>"
224  "<Parameter name=\"aggregation: output file: agg style\" type=\"string\" value=\"Point Cloud\"/>"
225  "<Parameter name=\"aggregation: output file: fine graph edges\" type=\"bool\" value=\"false\"/>"
226  "<Parameter name=\"aggregation: output file: coarse graph edges\" type=\"bool\" value=\"false\"/>"
227  "<Parameter name=\"aggregation: output file: build colormap\" type=\"bool\" value=\"false\"/>"
228  "<Parameter name=\"aggregation: output file: aggregate qualities\" type=\"bool\" value=\"false\"/>"
229  "<Parameter name=\"aggregation: output file: material\" type=\"bool\" value=\"false\"/>"
230  "<ParameterList name=\"aggregation: params\"/>"
231  "<ParameterList name=\"strength-of-connection: params\"/>"
232  "<Parameter name=\"aggregation: mesh layout\" type=\"string\" value=\"Global Lexicographic\"/>"
233  "<Parameter name=\"aggregation: output type\" type=\"string\" value=\"Aggregates\"/>"
234  "<Parameter name=\"aggregation: coarsening rate\" type=\"string\" value=\"{3}\"/>"
235  "<Parameter name=\"aggregation: number of spatial dimensions\" type=\"int\" value=\"3\"/>"
236  "<Parameter name=\"aggregation: coarsening order\" type=\"int\" value=\"0\"/>"
237  "<Parameter name=\"aggregation: pairwise: size\" type=\"int\" value=\"8\"/>"
238  "<Parameter name=\"aggregation: pairwise: tie threshold\" type=\"double\" value=\"1e-6\"/>"
239  "<Parameter name=\"aggregate qualities: check symmetry\" type=\"bool\" value=\"false\"/>"
240  "<Parameter name=\"aggregate qualities: good aggregate threshold\" type=\"double\" value=\"100.0\"/>"
241  "<Parameter name=\"aggregate qualities: file output\" type=\"bool\" value=\"false\"/>"
242  "<Parameter name=\"aggregate qualities: file base\" type=\"string\" value=\"agg_qualities\"/>"
243  "<Parameter name=\"aggregate qualities: algorithm\" type=\"string\" value=\"forward\"/>"
244  "<Parameter name=\"aggregate qualities: zero threshold\" type=\"double\" value=\"1e-12\"/>"
245  "<Parameter name=\"aggregate qualities: percentiles\" type=\"Array(double)\" value=\"{}\"/>"
246  "<Parameter name=\"aggregate qualities: mode\" type=\"string\" value=\"eigenvalue\"/>"
247  "<ParameterList name=\"export data\"/>"
248  "<Parameter name=\"keep data\" type=\"string\" value=\"{}\"/>"
249  "<Parameter name=\"print initial parameters\" type=\"bool\" value=\"true\"/>"
250  "<Parameter name=\"print unused parameters\" type=\"bool\" value=\"true\"/>"
251  "<Parameter name=\"transpose: use implicit\" type=\"bool\" value=\"false\"/>"
252  "<Parameter name=\"transfers: half precision\" type=\"bool\" value=\"false\"/>"
253  "<Parameter name=\"nullspace: calculate rotations\" type=\"bool\" value=\"false\"/>"
254  "<Parameter name=\"nullspace: suppress dimension check\" type=\"bool\" value=\"false\"/>"
255  "<Parameter name=\"restriction: scale nullspace\" type=\"bool\" value=\"false\"/>"
256  "<Parameter name=\"use kokkos refactor\" type=\"bool\" value=\"false\"/>"
257  "<Parameter name=\"synchronize factory timers\" type=\"bool\" value=\"false\"/>"
258  "<Parameter name=\"rap: triple product\" type=\"bool\" value=\"false\"/>"
259  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
260  "<Parameter name=\"toggle: mode\" type=\"string\" value=\"semicoarsen\"/>"
261  "<Parameter name=\"semicoarsen: coarsen rate\" type=\"int\" value=\"3\"/>"
262  "<Parameter name=\"semicoarsen: piecewise constant\" type=\"bool\" value=\"false\"/>"
263  "<Parameter name=\"semicoarsen: piecewise linear\" type=\"bool\" value=\"false\"/>"
264  "<Parameter name=\"semicoarsen: calculate nonsym restriction\" type=\"bool\" value=\"false\"/>"
265  "<Parameter name=\"semicoarsen: number of levels\" type=\"int\" value=\"3\"/>"
266  "<Parameter name=\"linedetection: orientation\" type=\"string\" value=\"vertical\"/>"
267  "<Parameter name=\"linedetection: num layers\" type=\"int\" value=\"-1\"/>"
268  "<Parameter name=\"sa: damping factor\" type=\"double\" value=\"1.33\"/>"
269  "<Parameter name=\"sa: use filtered matrix\" type=\"bool\" value=\"true\"/>"
270  "<Parameter name=\"sa: calculate eigenvalue estimate\" type=\"bool\" value=\"false\"/>"
271  "<Parameter name=\"sa: eigen-analysis type\" type=\"string\" value=\"power-method\"/>"
272  "<Parameter name=\"sa: eigenvalue estimate num iterations\" type=\"int\" value=\"10\"/>"
273  "<Parameter name=\"sa: use rowsumabs diagonal scaling\" type=\"bool\" value=\"false\"/>"
274  "<Parameter name=\"sa: enforce constraints\" type=\"bool\" value=\"false\"/>"
275  "<Parameter name=\"sa: max eigenvalue\" type=\"double\" value=\"-1.0\"/>"
276  "<Parameter name=\"sa: rowsumabs diagonal replacement tolerance\" type=\"double\" value=\"-1.0\"/>"
277  "<Parameter name=\"sa: rowsumabs use automatic diagonal tolerance\" type=\"bool\" value=\"false\"/>"
278  "<Parameter name=\"sa: rowsumabs diagonal replacement value\" type=\"double\" value=\"0.0\"/>"
279  "<Parameter name=\"sa: rowsumabs replace single entry row with zero\" type=\"bool\" value=\"true\"/>"
280  "<Parameter name=\"replicate: npdes\" type=\"int\" value=\"1\"/>"
281  "<Parameter name=\"combine: numBlks\" type=\"int\" value=\"1\"/>"
282  "<Parameter name=\"interp: build coarse coordinates\" type=\"bool\" value=\"true\"/>"
283  "<ParameterList name=\"transfer: params\"/>"
284  "<Parameter name=\"pcoarsen: element\" type=\"string\" value=\"\"/>"
285  "<Parameter name=\"pcoarsen: schedule\" type=\"string\" value=\"\"/>"
286  "<Parameter name=\"pcoarsen: hi basis\" type=\"string\" value=\"\"/>"
287  "<Parameter name=\"pcoarsen: lo basis\" type=\"string\" value=\"\"/>"
288  "<Parameter name=\"smoother: neighborhood type\" type=\"string\" value=\"\"/>"
289  "<Parameter name=\"filtered matrix: use lumping\" type=\"bool\" value=\"true\"/>"
290  "<Parameter name=\"filtered matrix: use spread lumping\" type=\"bool\" value=\"false\"/>"
291  "<Parameter name=\"filtered matrix: spread lumping diag dom growth factor\" type=\"double\" value=\"1.1\"/>"
292  "<Parameter name=\"filtered matrix: spread lumping diag dom cap\" type=\"double\" value=\"2.0\"/>"
293  "<Parameter name=\"filtered matrix: use root stencil\" type=\"bool\" value=\"false\"/>"
294  "<Parameter name=\"filtered matrix: Dirichlet threshold\" type=\"double\" value=\"-1.0\"/>"
295  "<Parameter name=\"filtered matrix: reuse eigenvalue\" type=\"bool\" value=\"true\"/>"
296  "<Parameter name=\"filtered matrix: reuse graph\" type=\"bool\" value=\"true\"/>"
297  "<Parameter name=\"matrix: compute analysis\" type=\"bool\" value=\"false\"/>"
298  "<Parameter name=\"emin: iterative method\" type=\"string\" value=\"cg\"/>"
299  "<Parameter name=\"emin: num iterations\" type=\"int\" value=\"2\"/>"
300  "<Parameter name=\"emin: num reuse iterations\" type=\"int\" value=\"1\"/>"
301  "<Parameter name=\"emin: pattern\" type=\"string\" value=\"AkPtent\"/>"
302  "<Parameter name=\"emin: pattern order\" type=\"int\" value=\"1\"/>"
303  "<Parameter name=\"emin: use filtered matrix\" type=\"bool\" value=\"true\"/>"
304  "<Parameter name=\"tentative: calculate qr\" type=\"bool\" value=\"true\"/>"
305  "<Parameter name=\"tentative: constant column sums\" type=\"bool\" value=\"false\"/>"
306  "<Parameter name=\"tentative: build coarse coordinates\" type=\"bool\" value=\"true\"/>"
307  "<Parameter name=\"repartition: enable\" type=\"bool\" value=\"false\"/>"
308  "<Parameter name=\"repartition: partitioner\" type=\"string\" value=\"zoltan2\"/>"
309  "<ParameterList name=\"repartition: params\"/>"
310  "<Parameter name=\"repartition: start level\" type=\"int\" value=\"2\"/>"
311  "<Parameter name=\"repartition: use map\" type=\"bool\" value=\"false\"/>"
312  "<Parameter name=\"repartition: use subcommunicators in place\" type=\"bool\" value=\"false\"/>"
313  "<Parameter name=\"repartition: node repartition level\" type=\"int\" value=\"-1\"/>"
314  "<Parameter name=\"repartition: node id\" type=\"int\" value=\"-1\"/>"
315  "<Parameter name=\"repartition: min rows per proc\" type=\"int\" value=\"800\"/>"
316  "<Parameter name=\"repartition: target rows per proc\" type=\"int\" value=\"0\"/>"
317  "<Parameter name=\"repartition: min rows per thread\" type=\"int\" value=\"0\"/>"
318  "<Parameter name=\"repartition: target rows per thread\" type=\"int\" value=\"0\"/>"
319  "<Parameter name=\"repartition: max imbalance\" type=\"double\" value=\"1.2\"/>"
320  "<Parameter name=\"repartition: remap parts\" type=\"bool\" value=\"true\"/>"
321  "<Parameter name=\"repartition: remap num values\" type=\"int\" value=\"4\"/>"
322  "<Parameter name=\"repartition: remap accept partition\" type=\"bool\" value=\"true\"/>"
323  "<Parameter name=\"repartition: print partition distribution\" type=\"bool\" value=\"false\"/>"
324  "<Parameter name=\"repartition: rebalance P and R\" type=\"bool\" value=\"false\"/>"
325  "<Parameter name=\"repartition: explicit via new copy rebalance P and R\" type=\"bool\" value=\"false\"/>"
326  "<Parameter name=\"repartition: rebalance Nullspace\" type=\"bool\" value=\"true\"/>"
327  "<Parameter name=\"repartition: use subcommunicators\" type=\"bool\" value=\"true\"/>"
328  "<Parameter name=\"repartition: save importer\" type=\"bool\" value=\"false\"/>"
329  "<Parameter name=\"rap: relative diagonal floor\" type=\"Array(double)\" value=\"{}\"/>"
330  "<Parameter name=\"rap: fix zero diagonals\" type=\"bool\" value=\"false\"/>"
331  "<Parameter name=\"rap: fix zero diagonals threshold\" type=\"double\" value=\"0.\"/>"
332  "<Parameter name=\"rap: fix zero diagonals replacement\" type=\"double\" value=\"1.\"/>"
333  "<Parameter name=\"rap: shift\" type=\"double\" value=\"0.0\"/>"
334  "<Parameter name=\"rap: shift diagonal M\" type=\"bool\" value=\"false\"/>"
335  "<Parameter name=\"rap: shift low storage\" type=\"bool\" value=\"false\"/>"
336  "<Parameter name=\"rap: shift array\" type=\"Array(double)\" value=\"{}\"/>"
337  "<Parameter name=\"rap: cfl array\" type=\"Array(double)\" value=\"{}\"/>"
338  "<Parameter name=\"rap: algorithm\" type=\"string\" value=\"galerkin\"/>"
339  "<ParameterList name=\"matrixmatrix: kernel params\"/>"
340  "<Parameter name=\"matrixmatrix: kernel params:MM_TAFC_OptimizationCoreCount \" type=\"int\" value=\"3000 \"/>"
341  "<Parameter name=\"isMatrixMatrix_TransferAndFillComplete \" type=\"bool\" value=\"false\"/>"
342  "<Parameter name=\"reuse: type\" type=\"string\" value=\"none\"/>"
343  "<Parameter name=\"use external multigrid package\" type=\"string\" value=\"none\"/>"
344  "<ParameterList name=\"amgx:params\"/>"
345  "<ParameterList name=\"kokkos tuning: muelu parameter mapping\"/>"
346  "<Parameter name=\"debug: graph level\" type=\"int\" value=\"-2\"/>"
347  "<Parameter name=\"maxwell1: mode\" type=\"string\" value=\"standard\"/>"
348  "<ParameterList name=\"maxwell1: 11list\"/>"
349  "<ParameterList name=\"maxwell1: 22list\"/>"
350  "<Parameter name=\"maxwell1: dump matrices\" type=\"bool\" value=\"false\"/>"
351  "<Parameter name=\"maxwell1: nodal smoother fix zero diagonal threshold\" type=\"double\" value=\"1e-10\"/>"
352  "<Parameter name=\"refmaxwell: mode\" type=\"string\" value=\"additive\"/>"
353  "<Parameter name=\"refmaxwell: disable addon\" type=\"bool\" value=\"true\"/>"
354  "<ParameterList name=\"refmaxwell: 11list\"/>"
355  "<ParameterList name=\"refmaxwell: 22list\"/>"
356  "<Parameter name=\"refmaxwell: use as preconditioner\" type=\"bool\" value=\"false\"/>"
357  "<Parameter name=\"refmaxwell: dump matrices\" type=\"bool\" value=\"false\"/>"
358  "<Parameter name=\"refmaxwell: subsolves on subcommunicators\" type=\"bool\" value=\"false\"/>"
359  "<Parameter name=\"refmaxwell: enable reuse\" type=\"bool\" value=\"false\"/>"
360  "<Parameter name=\"refmaxwell: skip first (1,1) level\" type=\"bool\" value=\"true\"/>"
361  "<Parameter name=\"refmaxwell: normalize nullspace\" type=\"bool\" value=\"false\"/>"
362 "</ParameterList>"
363 ;
365 ("Poisson-2D",
366 
367  "<ParameterList name=\"MueLu\">"
368 
369  "<Parameter name=\"number of equations\" type=\"int\" value=\"1\"/>"
370 
371  "<Parameter name=\"smoother: type\" type=\"string\" value=\"CHEBYSHEV\"/>"
372 
373  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
374 
375  "</ParameterList>"
376  )
377 ("Poisson-2D-complex",
378 
379  "<ParameterList name=\"MueLu\">"
380 
381  "<Parameter name=\"number of equations\" type=\"int\" value=\"1\"/>"
382 
383  "<Parameter name=\"smoother: type\" type=\"string\" value=\"RELAXATION\"/>"
384 
385  "<ParameterList name=\"smoother: params\">"
386 
387  "<Parameter name=\"relaxation: type\" type=\"string\" value=\"Symmetric Gauss-Seidel\"/>"
388 
389  "</ParameterList>"
390 
391  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
392 
393  "</ParameterList>"
394  )
395 ("Poisson-3D",
396 
397  "<ParameterList name=\"MueLu\">"
398 
399  "<Parameter name=\"number of equations\" type=\"int\" value=\"1\"/>"
400 
401  "<Parameter name=\"smoother: type\" type=\"string\" value=\"CHEBYSHEV\"/>"
402 
403  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
404 
405  "</ParameterList>"
406  )
407 ("Poisson-3D-complex",
408 
409  "<ParameterList name=\"MueLu\">"
410 
411  "<Parameter name=\"number of equations\" type=\"int\" value=\"1\"/>"
412 
413  "<Parameter name=\"smoother: type\" type=\"string\" value=\"RELAXATION\"/>"
414 
415  "<ParameterList name=\"smoother: params\">"
416 
417  "<Parameter name=\"relaxation: type\" type=\"string\" value=\"Symmetric Gauss-Seidel\"/>"
418 
419  "</ParameterList>"
420 
421  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
422 
423  "</ParameterList>"
424  )
425 ("Elasticity-2D",
426 
427  "<ParameterList name=\"MueLu\">"
428 
429  "<Parameter name=\"number of equations\" type=\"int\" value=\"2\"/>"
430 
431  "<Parameter name=\"smoother: type\" type=\"string\" value=\"CHEBYSHEV\"/>"
432 
433  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
434 
435  "</ParameterList>"
436  )
437 ("Elasticity-2D-complex",
438 
439  "<ParameterList name=\"MueLu\">"
440 
441  "<Parameter name=\"number of equations\" type=\"int\" value=\"2\"/>"
442 
443  "<Parameter name=\"smoother: type\" type=\"string\" value=\"RELAXATION\"/>"
444 
445  "<ParameterList name=\"smoother: params\">"
446 
447  "<Parameter name=\"relaxation: type\" type=\"string\" value=\"Symmetric Gauss-Seidel\"/>"
448 
449  "</ParameterList>"
450 
451  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
452 
453  "</ParameterList>"
454  )
455 ("Elasticity-3D",
456 
457  "<ParameterList name=\"MueLu\">"
458 
459  "<Parameter name=\"number of equations\" type=\"int\" value=\"3\"/>"
460 
461  "<Parameter name=\"smoother: type\" type=\"string\" value=\"CHEBYSHEV\"/>"
462 
463  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
464 
465  "</ParameterList>"
466  )
467 ("Elasticity-3D-complex",
468 
469  "<ParameterList name=\"MueLu\">"
470 
471  "<Parameter name=\"number of equations\" type=\"int\" value=\"3\"/>"
472 
473  "<Parameter name=\"smoother: type\" type=\"string\" value=\"RELAXATION\"/>"
474 
475  "<ParameterList name=\"smoother: params\">"
476 
477  "<Parameter name=\"relaxation: type\" type=\"string\" value=\"Symmetric Gauss-Seidel\"/>"
478 
479  "</ParameterList>"
480 
481  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"sa\"/>"
482 
483  "</ParameterList>"
484  )
485 ("MHD",
486 
487  "<ParameterList name=\"MueLu\">"
488 
489  "<Parameter name=\"smoother: type\" type=\"string\" value=\"SCHWARZ\"/>"
490 
491  "<ParameterList name=\"smoother: params\">"
492 
493  "<Parameter name=\"schwarz: overlap level\" type=\"int\" value=\"1\"/>"
494 
495  "<Parameter name=\"schwarz: combine mode\" type=\"string\" value=\"Zero\"/>"
496 
497  "<Parameter name=\"schwarz: use reordering\" type=\"bool\" value=\"false\"/>"
498 
499  "<Parameter name=\"subdomain solver name\" type=\"string\" value=\"RILUK\"/>"
500 
501  "<ParameterList name=\"subdomain solver parameters\">"
502 
503  "<Parameter name=\"fact: iluk level-of-fill\" type=\"int\" value=\"0\"/>"
504 
505  "<Parameter name=\"fact: absolute threshold\" type=\"double\" value=\"0.\"/>"
506 
507  "<Parameter name=\"fact: relative threshold\" type=\"double\" value=\"1.\"/>"
508 
509  "<Parameter name=\"fact: relax value\" type=\"double\" value=\"0.\"/>"
510 
511  "</ParameterList>"
512 
513  "</ParameterList>"
514 
515  "<Parameter name=\"transpose: use implicit\" type=\"bool\" value=\"true\"/>"
516 
517  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"unsmoothed\"/>"
518 
519  "</ParameterList>"
520  )
521 ("ConvectionDiffusion",
522 
523  "<ParameterList name=\"MueLu\">"
524 
525  "<Parameter name=\"problem: symmetric\" type=\"bool\" value=\"false\"/>"
526 
527  "<Parameter name=\"smoother: type\" type=\"string\" value=\"RELAXATION\"/>"
528 
529  "<ParameterList name=\"smoother: params\">"
530 
531  "<Parameter name=\"relaxation: type\" type=\"string\" value=\"Gauss-Seidel\"/>"
532 
533  "</ParameterList>"
534 
535  "<Parameter name=\"multigrid algorithm\" type=\"string\" value=\"pg\"/>"
536 
537  "<Parameter name=\"sa: use filtered matrix\" type=\"bool\" value=\"true\"/>"
538 
539  "<Parameter name=\"emin: use filtered matrix\" type=\"bool\" value=\"true\"/>"
540 
541  "</ParameterList>"
542  )
543 ;
545 
546  ("default values","problem: type")
547 
548  ("ML output","verbosity")
549 
550  ("output filename","output filename")
551 
552  ("PDE equations","number of equations")
553 
554  ("max levels","max levels")
555 
556  ("prec type","cycle type")
557 
558  ("W cycle start level","W cycle start level")
559 
560  ("coarse grid correction scaling factor","coarse grid correction scaling factor")
561 
562  ("fuse prolongation and update","fuse prolongation and update")
563 
564  ("number of vectors","number of vectors")
565 
566  ("problem: symmetric","problem: symmetric")
567 
568  ("xml parameter file","xml parameter file")
569 
570  ("parameterlist: syntax","parameterlist: syntax")
571 
572  ("ML label","hierarchy label")
573 
574  ("matvec params","matvec params")
575 
576  ("half precision","half precision")
577 
578  ("smoother: pre or post","smoother: pre or post")
579 
580  ("smoother: type","smoother: type")
581 
582  ("smoother: pre type","smoother: pre type")
583 
584  ("smoother: post type","smoother: post type")
585 
586  ("smoother: params","smoother: params")
587 
588  ("smoother: pre params","smoother: pre params")
589 
590  ("smoother: post params","smoother: post params")
591 
592  ("smoother: overlap","smoother: overlap")
593 
594  ("smoother: pre overlap","smoother: pre overlap")
595 
596  ("smoother: post overlap","smoother: post overlap")
597 
598  ("max size","coarse: max size")
599 
600  ("coarse: type","coarse: type")
601 
602  ("coarse: params","coarse: params")
603 
604  ("coarse: overlap","coarse: overlap")
605 
606  ("aggregation: backend","aggregation: backend")
607 
608  ("aggregation: type","aggregation: type")
609 
610  ("aggregation: mode","aggregation: mode")
611 
612  ("aggregation: ordering","aggregation: ordering")
613 
614  ("aggregation: phase 1 algorithm","aggregation: phase 1 algorithm")
615 
616  ("aggregation: symmetrize graph after dropping","aggregation: symmetrize graph after dropping")
617 
618  ("aggregation: use blocking","aggregation: use blocking")
619 
620  ("aggregation: drop scheme","aggregation: drop scheme")
621 
622  ("aggregation: strength-of-connection: matrix","aggregation: strength-of-connection: matrix")
623 
624  ("aggregation: strength-of-connection: measure","aggregation: strength-of-connection: measure")
625 
626  ("aggregation: classical scheme","aggregation: classical scheme")
627 
628  ("aggregation: row sum drop tol","aggregation: row sum drop tol")
629 
630  ("aggregation: block diagonal: interleaved blocksize","aggregation: block diagonal: interleaved blocksize")
631 
632  ("aggregation: number of random vectors","aggregation: number of random vectors")
633 
634  ("aggregation: number of times to pre or post smooth","aggregation: number of times to pre or post smooth")
635 
636  ("aggregation: penalty parameters","aggregation: penalty parameters")
637 
638  ("aggregation: distance laplacian directional weights","aggregation: distance laplacian directional weights")
639 
640  ("aggregation: distance laplacian algo","aggregation: distance laplacian algo")
641 
642  ("aggregation: distance laplacian metric","aggregation: distance laplacian metric")
643 
644  ("aggregation: classical algo","aggregation: classical algo")
645 
646  ("aggregation: threshold","aggregation: drop tol")
647 
648  ("aggregation: use ml scaling of drop tol","aggregation: use ml scaling of drop tol")
649 
650  ("aggregation: min agg size","aggregation: min agg size")
651 
652  ("aggregation: max agg size","aggregation: max agg size")
653 
654  ("aggregation: compute aggregate qualities","aggregation: compute aggregate qualities")
655 
656  ("aggregation: brick x size","aggregation: brick x size")
657 
658  ("aggregation: brick y size","aggregation: brick y size")
659 
660  ("aggregation: brick z size","aggregation: brick z size")
661 
662  ("aggregation: brick x Dirichlet","aggregation: brick x Dirichlet")
663 
664  ("aggregation: brick y Dirichlet","aggregation: brick y Dirichlet")
665 
666  ("aggregation: brick z Dirichlet","aggregation: brick z Dirichlet")
667 
668  ("aggregation: max selected neighbors","aggregation: max selected neighbors")
669 
670  ("aggregation: Dirichlet threshold","aggregation: Dirichlet threshold")
671 
672  ("aggregation: greedy Dirichlet","aggregation: greedy Dirichlet")
673 
674  ("aggregation: deterministic","aggregation: deterministic")
675 
676  ("aggregation: coloring algorithm","aggregation: coloring algorithm")
677 
678  ("aggregation: coloring: use color graph","aggregation: coloring: use color graph")
679 
680  ("aggregation: coloring: localize color graph","aggregation: coloring: localize color graph")
681 
682  ("aggregation: enable phase 1","aggregation: enable phase 1")
683 
684  ("aggregation: enable phase 2a","aggregation: enable phase 2a")
685 
686  ("aggregation: enable phase 2b","aggregation: enable phase 2b")
687 
688  ("aggregation: enable phase 3","aggregation: enable phase 3")
689 
690  ("aggregation: match ML phase1","aggregation: match ML phase1")
691 
692  ("aggregation: match ML phase2a","aggregation: match ML phase2a")
693 
694  ("aggregation: match ML phase2b","aggregation: match ML phase2b")
695 
696  ("aggregation: phase2a agg factor","aggregation: phase2a agg factor")
697 
698  ("aggregation: error on nodes with no on-rank neighbors","aggregation: error on nodes with no on-rank neighbors")
699 
700  ("aggregation: phase3 avoid singletons","aggregation: phase3 avoid singletons")
701 
702  ("aggregation: allow empty prolongator columns","aggregation: allow empty prolongator columns")
703 
704  ("aggregation: preserve Dirichlet points","aggregation: preserve Dirichlet points")
705 
706  ("aggregation: dropping may create Dirichlet","aggregation: dropping may create Dirichlet")
707 
708  ("aggregation: allow user-specified singletons","aggregation: allow user-specified singletons")
709 
710  ("aggregation: use interface aggregation","aggregation: use interface aggregation")
711 
712  ("aggregation: export visualization data","aggregation: export visualization data")
713 
714  ("aggregation: output filename","aggregation: output filename")
715 
716  ("aggregation: output file: time step","aggregation: output file: time step")
717 
718  ("aggregation: output file: iter","aggregation: output file: iter")
719 
720  ("aggregation: output file: agg style","aggregation: output file: agg style")
721 
722  ("aggregation: output file: fine graph edges","aggregation: output file: fine graph edges")
723 
724  ("aggregation: output file: coarse graph edges","aggregation: output file: coarse graph edges")
725 
726  ("aggregation: output file: build colormap","aggregation: output file: build colormap")
727 
728  ("aggregation: output file: aggregate qualities","aggregation: output file: aggregate qualities")
729 
730  ("aggregation: output file: material","aggregation: output file: material")
731 
732  ("aggregation: params","aggregation: params")
733 
734  ("strength-of-connection: params","strength-of-connection: params")
735 
736  ("aggregation: mesh layout","aggregation: mesh layout")
737 
738  ("aggregation: output type","aggregation: output type")
739 
740  ("aggregation: coarsening rate","aggregation: coarsening rate")
741 
742  ("aggregation: number of spatial dimensions","aggregation: number of spatial dimensions")
743 
744  ("aggregation: coarsening order","aggregation: coarsening order")
745 
746  ("aggregation: pairwise: size","aggregation: pairwise: size")
747 
748  ("aggregation: pairwise: tie threshold","aggregation: pairwise: tie threshold")
749 
750  ("aggregate qualities: check symmetry","aggregate qualities: check symmetry")
751 
752  ("aggregate qualities: good aggregate threshold","aggregate qualities: good aggregate threshold")
753 
754  ("aggregate qualities: file output","aggregate qualities: file output")
755 
756  ("aggregate qualities: file base","aggregate qualities: file base")
757 
758  ("aggregate qualities: algorithm","aggregate qualities: algorithm")
759 
760  ("aggregate qualities: zero threshold","aggregate qualities: zero threshold")
761 
762  ("aggregate qualities: percentiles","aggregate qualities: percentiles")
763 
764  ("aggregate qualities: mode","aggregate qualities: mode")
765 
766  ("export data","export data")
767 
768  ("keep data","keep data")
769 
770  ("ML print initial list","print initial parameters")
771 
772  ("print unused","print unused parameters")
773 
774  ("transpose: use implicit","transpose: use implicit")
775 
776  ("transfers: half precision","transfers: half precision")
777 
778  ("nullspace: calculate rotations","nullspace: calculate rotations")
779 
780  ("nullspace: suppress dimension check","nullspace: suppress dimension check")
781 
782  ("restriction: scale nullspace","restriction: scale nullspace")
783 
784  ("use kokkos refactor","use kokkos refactor")
785 
786  ("synchronize factory timers","synchronize factory timers")
787 
788  ("rap: triple product","rap: triple product")
789 
790  ("energy minimization: enable","multigrid algorithm")
791 
792  ("toggle: mode","toggle: mode")
793 
794  ("semicoarsen: coarsen rate","semicoarsen: coarsen rate")
795 
796  ("semicoarsen: piecewise constant","semicoarsen: piecewise constant")
797 
798  ("semicoarsen: piecewise linear","semicoarsen: piecewise linear")
799 
800  ("semicoarsen: calculate nonsym restriction","semicoarsen: calculate nonsym restriction")
801 
802  ("semicoarsen: number of levels","semicoarsen: number of levels")
803 
804  ("linedetection: orientation","linedetection: orientation")
805 
806  ("linedetection: num layers","linedetection: num layers")
807 
808  ("aggregation: damping factor","sa: damping factor")
809 
810  ("aggregation aux: enable","sa: use filtered matrix")
811 
812  ("sa: calculate eigenvalue estimate","sa: calculate eigenvalue estimate")
813 
814  ("sa: eigen-analysis type","sa: eigen-analysis type")
815 
816  ("eigen-analysis: iterations","sa: eigenvalue estimate num iterations")
817 
818  ("not supported by ML","sa: use rowsumabs diagonal scaling")
819 
820  ("not supported by ML","sa: enforce constraints")
821 
822  ("not supported by ML","sa: max eigenvalue")
823 
824  ("not supported by ML","sa: rowsumabs diagonal replacement tolerance")
825 
826  ("not supported by ML","sa: rowsumabs use automatic diagonal tolerance")
827 
828  ("not supported by ML","sa: rowsumabs diagonal replacement value")
829 
830  ("not supported by ML","sa: rowsumabs replace single entry row with zero")
831 
832  ("not supported by ML","replicate: npdes")
833 
834  ("not supported by ML","combine: numBlks")
835 
836  ("interp: build coarse coordinates","interp: build coarse coordinates")
837 
838  ("transfer: params","transfer: params")
839 
840  ("pcoarsen: element","pcoarsen: element")
841 
842  ("pcoarsen: schedule","pcoarsen: schedule")
843 
844  ("pcoarsen: hi basis","pcoarsen: hi basis")
845 
846  ("pcoarsen: lo basis","pcoarsen: lo basis")
847 
848  ("smoother: neighborhood type","smoother: neighborhood type")
849 
850  ("filtered matrix: use lumping","filtered matrix: use lumping")
851 
852  ("filtered matrix: use spread lumping","filtered matrix: use spread lumping")
853 
854  ("filtered matrix: spread lumping diag dom growth factor","filtered matrix: spread lumping diag dom growth factor")
855 
856  ("filtered matrix: spread lumping diag dom cap","filtered matrix: spread lumping diag dom cap")
857 
858  ("filtered matrix: use root stencil","filtered matrix: use root stencil")
859 
860  ("filtered matrix: Dirichlet threshold","filtered matrix: Dirichlet threshold")
861 
862  ("filtered matrix: reuse eigenvalue","filtered matrix: reuse eigenvalue")
863 
864  ("filtered matrix: reuse graph","filtered matrix: reuse graph")
865 
866  ("matrix: compute analysis","matrix: compute analysis")
867 
868  ("emin: iterative method","emin: iterative method")
869 
870  ("emin: num iterations","emin: num iterations")
871 
872  ("emin: num reuse iterations","emin: num reuse iterations")
873 
874  ("emin: pattern","emin: pattern")
875 
876  ("emin: pattern order","emin: pattern order")
877 
878  ("emin: use filtered matrix","emin: use filtered matrix")
879 
880  ("tentative: calculate qr","tentative: calculate qr")
881 
882  ("tentative: constant column sums","tentative: constant column sums")
883 
884  ("tentative: build coarse coordinates","tentative: build coarse coordinates")
885 
886  ("repartition: enable","repartition: enable")
887 
888  ("repartition: partitioner","repartition: partitioner")
889 
890  ("repartition: params","repartition: params")
891 
892  ("repartition: start level","repartition: start level")
893 
894  ("repartition: use map","repartition: use map")
895 
896  ("repartition: use subcommunicators in place","repartition: use subcommunicators in place")
897 
898  ("repartition: node repartition level","repartition: node repartition level")
899 
900  ("repartition: node id","repartition: node id")
901 
902  ("repartition: min per proc","repartition: min rows per proc")
903 
904  ("repartition: target rows per proc","repartition: target rows per proc")
905 
906  ("repartition: min rows per thread","repartition: min rows per thread")
907 
908  ("repartition: target rows per thread","repartition: target rows per thread")
909 
910  ("repartition: max min ratio","repartition: max imbalance")
911 
912  ("repartition: remap parts","repartition: remap parts")
913 
914  ("repartition: remap num values","repartition: remap num values")
915 
916  ("repartition: remap accept partition","repartition: remap accept partition")
917 
918  ("repartition: print partition distribution","repartition: print partition distribution")
919 
920  ("repartition: rebalance P and R","repartition: rebalance P and R")
921 
922  ("repartition: explicit via new copy rebalance P and R","repartition: explicit via new copy rebalance P and R")
923 
924  ("repartition: rebalance Nullspace","repartition: rebalance Nullspace")
925 
926  ("repartition: use subcommunicators","repartition: use subcommunicators")
927 
928  ("repartition: save importer","repartition: save importer")
929 
930  ("rap: relative diagonal floor","rap: relative diagonal floor")
931 
932  ("rap: fix zero diagonals","rap: fix zero diagonals")
933 
934  ("rap: fix zero diagonals threshold","rap: fix zero diagonals threshold")
935 
936  ("rap: fix zero diagonals replacement","rap: fix zero diagonals replacement")
937 
938  ("rap: shift","rap: shift")
939 
940  ("rap: shift diagonal M","rap: shift diagonal M")
941 
942  ("rap: shift low storage","rap: shift low storage")
943 
944  ("rap: shift array","rap: shift array")
945 
946  ("rap: cfl array","rap: cfl array")
947 
948  ("rap: algorithm","rap: algorithm")
949 
950  ("matrixmatrix: kernel params","matrixmatrix: kernel params")
951 
952  ("matrixmatrix: kernel params:MM_TAFC_OptimizationCoreCount ","matrixmatrix: kernel params:MM_TAFC_OptimizationCoreCount ")
953 
954  ("isMatrixMatrix_TransferAndFillComplete ","isMatrixMatrix_TransferAndFillComplete ")
955 
956  ("reuse: type","reuse: type")
957 
958  ("use external multigrid package","use external multigrid package")
959 
960  ("amgx:params","amgx:params")
961 
962  ("kokkos tuning: muelu parameter mapping","kokkos tuning: muelu parameter mapping")
963 
964  ("debug: graph level","debug: graph level")
965 
966  ("maxwell1: mode","maxwell1: mode")
967 
968  ("maxwell1: 11list","maxwell1: 11list")
969 
970  ("maxwell1: 22list","maxwell1: 22list")
971 
972  ("maxwell1: dump matrices","maxwell1: dump matrices")
973 
974  ("maxwell1: nodal smoother fix zero diagonal threshold","maxwell1: nodal smoother fix zero diagonal threshold")
975 
976  ("refmaxwell: mode","refmaxwell: mode")
977 
978  ("refmaxwell: disable addon","refmaxwell: disable addon")
979 
980  ("refmaxwell: 11list","refmaxwell: 11list")
981 
982  ("refmaxwell: 22list","refmaxwell: 22list")
983 
984  ("zero starting solution","refmaxwell: use as preconditioner")
985 
986  ("refmaxwell: dump matrices","refmaxwell: dump matrices")
987 
988  ("refmaxwell: subsolves on subcommunicators","refmaxwell: subsolves on subcommunicators")
989 
990  ("refmaxwell: enable reuse","refmaxwell: enable reuse")
991 
992  ("refmaxwell: skip first (1,1) level","refmaxwell: skip first (1,1) level")
993 
994  ("refmaxwell: normalize nullspace","refmaxwell: normalize nullspace")
995  ;
996 
997 }
998 
static std::map< std::string, std::string > ML2MueLuLists_
Map of ML parameter strings to corresponding MueLu parametes.
static const std::string stringList_
String equivalent of the masterList_.
static Teuchos::RCP< Teuchos::ParameterList > problemSpecificList_
A ParameterList that holds all valid parameters and their default values for a particular problem typ...
static std::string interpretParameterName(const std::string &name, const std::string &value)
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
static Teuchos::RCP< Teuchos::ParameterList > masterList_
A ParameterList that holds all valid parameters and their default values.
static Teuchos::RCP< Teuchos::ParameterList > GetProblemSpecificList(std::string const &problemType)
Return default parameter settings for the specified problem type.
Exception throws to report errors in the internal logical of the program.
static Teuchos::RCP< const Teuchos::ParameterList > List()
Return a &quot;master&quot; list of all valid parameters and their default values.
Helper class to initialize DefaultProblemTypeLists_ in class MasterList.
static std::map< std::string, std::string > DefaultProblemTypeLists_
Map of string equivalents of the problemSpecificList_. The first entry is the problem type...
static std::string problemType_
The problem type associated with the current problem-specific ParameterList.
bool is_null() const