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