Ifpack_ValidParameters.cpp

Go to the documentation of this file.
00001 #include "Ifpack_ValidParameters.h"
00002 
00003 #ifdef HAVE_IFPACK_TEUCHOS
00004 
00005 Teuchos::ParameterList Ifpack_GetValidParameters()
00006 {
00007   Teuchos::ParameterList List; // empty list
00008 
00009   // ============================================================ //
00010   // Parameters are reported from each used file in IFPACK. Files //
00011   // are listed in alphabetical order, first all *.cpp, then *.h. //
00012   // Some options not very tested or documented anywhere          //
00013   // are not reported here.                                       //
00014   // ============================================================ //
00015   
00016   // Ifpack_Amesos.cpp
00017   List.set("amesos: solver type", "Amesos_Klu");
00018 
00019   // Ifpack_IC.cpp
00020   List.set("fact: level-of-fill", (int)1);
00021   List.set("fact: absolute threshold", (double)0.0);
00022   List.set("fact: relative threshold", (double)0.0);
00023   List.set("fact: drop tolerance", (double)0.0);
00024 
00025   // Ifpack_ICT.cpp
00026   List.set("fact: ict level-of-fill", (double)1.0);
00027   List.set("fact: absolute threshold", (double)0.0);
00028   List.set("fact: relative threshold", (double)1.0);
00029   List.set("fact: relax value", (double)0.0);
00030   List.set("fact: drop tolerance", (double)0.0);
00031 
00032   // Ifpack_ILU.cpp
00033   List.set("fact: level-of-fill", (int)0);
00034   List.set("fact: absolute threshold", (double)0.0);
00035   List.set("fact: relative threshold", (double)1.0);
00036   List.set("fact: relax value", (double)0.0);
00037 
00038   // Ifpack_ILUT.cpp
00039   List.set("fact: ilut level-of-fill", (double)1.0);
00040   List.set("fact: absolute threshold", (double)0.0);
00041   List.set("fact: relative threshold", (double)1.0);
00042   List.set("fact: relax value", (double)0.0);
00043 
00044   // Ifpack_METISPartitioner.cpp
00045   List.set("partitioner: local parts", (int)1);
00046   List.set("partitioner: overlap", (int)0);
00047   List.set("partitioner: print level", (int)0);
00048 
00049   // Ifpack_PointRelaxation.cpp
00050   List.set("relaxation: type", "Jacobi");
00051   List.set("relaxation: sweeps", (int)1);
00052   List.set("relaxation: damping factor", (double)1.0);
00053   List.set("relaxation: min diagonal value", (double)1.0);
00054   List.set("relaxation: zero starting solution", true);
00055 
00056   // Ifpack_SPARSKIT.cpp
00057   List.set("fact: sparskit: lfil", (int)0);
00058   List.set("fact: sparskit: tol", (double)0.0);
00059   List.set("fact: sparskit: droptol", (double)0.0);
00060   List.set("fact: sparskit: permtol", (double)0.1);
00061   List.set("fact: sparskit: alph", (double)0.0);
00062   List.set("fact: sparskit: mbloc", (int)(-1));
00063   List.set("fact: sparskit: type", ("ILUT"));
00064 
00065   // Additive Schwarz preconditioner
00066   List.set("schwarz: compute condest", true);
00067   List.set("schwarz: combine mode", "Zero"); // use string mode for this
00068   List.set("schwarz: reordering type", "none");
00069   List.set("schwarz: filter singletons", false);
00070 
00071   // Ifpack_BlockRelaxation.h
00072   // List.set("relaxation: type", "Jacobi"); // already set
00073   // List.set("relaxation: sweeps", 1); // already set
00074   // List.get("relaxation: damping factor", 1.0); // already set
00075   // List.get("relaxation: zero starting solution", true); // already set
00076   List.set("partitioner: type", "greedy");
00077   List.set("partitioner: local parts", (int)1);
00078   List.set("partitioner: overlap", (int)0);
00079 
00080   // Ifpack_METISPartitioner.h
00081   List.set("partitioner: use symmetric graph", true);
00082 
00083   return(List);
00084 }
00085 
00086 #endif

Generated on Thu Sep 18 12:37:22 2008 for Ifpack Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1