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