26.08.2015 Views

nonsymmetric dynamics

ML 5.0 Smoothed Aggregation User's Guide - Trilinos - Sandia ...

ML 5.0 Smoothed Aggregation User's Guide - Trilinos - Sandia ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

class affects all levels in the multigrid hierarchy. There are two ways to change settings for<br />

a particular level.<br />

The first method for changing a setting on a particular level, such as level d, is to append<br />

the string “(level d)” to the option string (note that a space must separate the option<br />

and the level specification). For instance, assuming decreasing levels starting from 4, one<br />

could set the aggregation schemes as follows:<br />

MLList.set("aggregation: type","Uncoupled");<br />

MLList.set("aggregation: type (level 1)","METIS");<br />

MLList.set("aggregation: type (level 3)","MIS");<br />

If the finest level is 0 and there are 5 levels, ML uses Uncoupled for levels 0, 2 and 4, METIS<br />

for level 1 and MIS for level 3. Parameters that can be set differently on individual levels<br />

are denoted with the symbol ⋆ (this symbol is not part of the parameter name).<br />

The second method for changing a setting on a particular level is by using sublists.<br />

Smoother sublists name must be of the form ”smoother: list (level XX)”, and aggregation<br />

sublist names must be of the form ”aggregation: list (level XX)”, where XX is the level<br />

number (0 is the finest). Parameter names in the sublist do not then need a level number.<br />

Similarly, options for the coarsest level can be specified via the sublist ”coarse: list”. Below<br />

is a short code fragment to illustrate this usage.<br />

ParameterList MLList;<br />

ParameterList &smList = MLList.sublist("smoother: list (level 1)");<br />

smList.set("smoother: type","Jacobi");<br />

smList.set("smoother: sweeps",5);<br />

ParameterList &coarseList = MLList.sublist("coarse: list");<br />

coarseList.set("coarse: type","symmetric Gauss-Seidel");<br />

6.4.2 Parameter Validation<br />

By default, the MultiLevelPreconditioner class validates the input parameter list. A parameter<br />

that is misspelled/unknown or has an incorrect value type will cause an exception<br />

to be thrown and execution to halt. Note that spaces are important within a parameter’s<br />

name. Do not include non-required leading or trailing spaces. Please separate<br />

words by just one space! The option ML print initial list prints the initial list<br />

given to the MultiLevelPreconditioner constructor. The option ML print final list<br />

prints the final list actually used by the MultiLevelPreconditioner constructor. One may<br />

find it useful to print unused parameters by calling PrintUnused() after the construction<br />

of the multilevel hierarchy.<br />

6.4.3 General Options<br />

ML output<br />

[int] Controls the amount of printed information.<br />

Ranges from 0 to 10 (0 is no output, and<br />

10 is incredibly detailed output). Default: 0.<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!