*************************** Matrix Subdomain Solver *************************** :: Matrix subdomain solver = {char_string} ----------------------- Description / Usage ----------------------- This optional card selects a solver to use in constructing a preconditioner. It is used in conjunction with a *Preconditioner* setting. :: Preconditioner = dom_decomp All of these preconditioners are available through the Aztec library. Valid options for {char_string} are listed below. lu Approximately solve the processor’s local matrix via direct factorization using Sparse 1.3 in conjunction with a userspecified *Matrix drop tolerance.* ilut Approximately solve the processor’s local matrix via ILUT (Saad, 1994.) The factorization is affected by user-specified options for *Matrix drop tolerance* as well as *Matrix ILUT fill factor.* This subdomain solver is among the more robust to recommend as a first attempt; thus it has been chosen as the default if no subdomain solver is specified. ilu Approximately factor the processor’s local matrix using ILU(k), where k is specified by the user in the argument to *Matrix graph fillin.* rilu Approximately factor the processor’s local matrix using RILU(k,ω), where k is specified by the user in the argument to *Matrix graph fillin* and ω is specified by the user in the argument to *Matrix RILU relax factor.* (This option applies only to Trilinos.) bilu Approximately factor the processor’s local matrix using block ILU(k) for a VBR format matrix, where k is specified by the user in the argument to *Matrix graph fillin.* While not the most efficient preconditioner, **bilu** is very robust. (This option applies only to Trilinos.) icc Incomplete Cholesky factorization. See the Aztec manual for a reference. If this *Matrix subdomain solver* card is omitted, then the default selection is **ilut.** ------------ Examples ------------ Following is a sample card: :: Matrix subdomain solver = ilut ------------------------- Technical Discussion ------------------------- There is no real recipe to follow when choosing a preconditioner. In general, the cheapest preconditioner that works should be used. If ILUT(1) does the job, great. Sometimes the only preconditioner(s) that will work are very expensive. When the preconditioner seems to take too much time, remember that you may not be choosing the “wrong” preconditioner; the problem may just be that difficult. Although Aztec 2.1 is being maintained and supported as a solver package for Goma, the interative solvers and preconditioners are now primarily accessed through the Trilinos library (as AztecOO), which is actively being developed and maintained at Sandia National Laboratories. Note that some features can only be accessed through Trilinos, as indicated above. -------------- References -------------- SAND2001-3512J: Iterative Solvers and Preconditioners for Fully-coupled Finite Element Formulations of Incompressible Fluid Mechanics and Related Transport Problems, P. R. Schunk, M. A. Heroux, R. R. Rao, T. A. Baer, S. R. Subia and A. C. Sun, March 2002. Saad, Y., 1994. “ILUT: a dual threshold incomplete ILU factorization”, Numerical Linear Algebra with Applications, 1:387-402.