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