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