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