|
Ifpack Package Browser (Single Doxygen Collection)
Development
|
Ifpack: a function class to define Ifpack preconditioners. More...
#include <Ifpack.h>
Public Types | |
| enum | parameter { absolute_threshold, relative_threshold, drop_tolerance, fill_tolerance, relax_value, level_fill, level_overlap, num_steps, use_reciprocal, overlap_mode } |
| enum | EPrecType { POINT_RELAXATION, POINT_RELAXATION_STAND_ALONE, BLOCK_RELAXATION, BLOCK_RELAXATION_STAND_ALONE, BLOCK_RELAXATION_STAND_ALONE_ILU, BLOCK_RELAXATION_STAND_ALONE_ILUT, BLOCK_RELAXATION_STAND_ALONE_IC, IC, IC_STAND_ALONE, ICT, ICT_STAND_ALONE, ILU, ILU_STAND_ALONE, ILUT, ILUT_STAND_ALONE, CHEBYSHEV, POLYNOMIAL, KRYLOV, IHSS, SORA, TRIDI_RELAXATION, TRIDI_RELAXATION_STAND_ALONE } |
| Enum for the type of preconditioner. More... | |
Public Member Functions | |
| Ifpack_Preconditioner * | Create (const std::string PrecType, Epetra_RowMatrix *Matrix, const int overlap=0, bool overrideSerialDefault=false) |
| Creates an instance of Ifpack_Preconditioner given the std::string name of the preconditioner type (can fail with bad input). More... | |
| int | SetParameters (int argc, char *argv[], Teuchos::ParameterList &List, std::string &PrecType, int &Overlap) |
| Sets the options in List from the command line. More... | |
Static Public Member Functions | |
| static const char * | toString (const EPrecType precType) |
| Function that gives the std::string name for preconditioner given its enumerication value. More... | |
| static Ifpack_Preconditioner * | Create (EPrecType PrecType, Epetra_RowMatrix *Matrix, const int overlap=0, bool overrideSerialDefault=false) |
| Creates an instance of Ifpack_Preconditioner given the enum value of the preconditioner type (can not fail, no bad input possible). More... | |
Static Public Attributes | |
| static const int | numPrecTypes |
| static const EPrecType | precTypeValues [numPrecTypes] |
| List of the preconditioner types as enum values . More... | |
| static const char * | precTypeNames [numPrecTypes] |
| List of preconditioner types as std::string values. More... | |
| static const bool | supportsUnsymmetric [numPrecTypes] |
| List of bools that determines if the preconditioner type supports unsymmetric matrices. More... | |
Ifpack: a function class to define Ifpack preconditioners.
Class Ifpack is a function class, that contains just one method: Create(). Using Create(), users can easily define a variety of IFPACK preconditioners.
Create requires 3 arguments:
The first argument can assume the following values:
"point relaxation" : returns an instance of Ifpack_AdditiveSchwarz<Ifpack_PointRelaxation> (no Additive Schwarz in serial)"point relaxation stand-alone" : returns an instance of Ifpack_PointRelaxation (value of overlap is ignored)."block relaxation" : returns an instance of Ifpack_AdditiveSchwarz<Ifpack_BlockRelaxation> (no Additive Schwarz in serial)"block relaxation stand-alone)" : returns an instance of Ifpack_BlockRelaxation."Amesos" : returns an instance of Ifpack_AdditiveSchwarz<Ifpack_Amesos> (no Additive Schwarz in serial)"Amesos stand-alone" : returns an instance of Ifpack_Amesos."IC" : returns an instance of Ifpack_AdditiveSchwarz<Ifpack_IC> (no Additive Schwarz in serial)"IC stand-alone" : returns an instance of Ifpack_IC."ICT" : returns an instance of Ifpack_AdditiveSchwarz<Ifpack_ICT> (no Additive Schwarz in serial)"ICT stand-alone" : returns an instance of Ifpack_ICT."ILU" : returns an instance of Ifpack_AdditiveSchwarz<Ifpack_ILU> (no Additive Schwarz in serial)"ILU stand-alone" : returns an instance of Ifpack_ILU."ILUT" : returns an instance of Ifpack_AdditiveSchwarz<Ifpack_ILUT> (no Additive Schwarz in serial)"ILUT stand-alone" : returns an instance of Ifpack_ILUT.The following fragment of code shows the basic usage of this class.
| enum Ifpack::parameter |
| Enumerator | |
|---|---|
| absolute_threshold | |
| relative_threshold | |
| drop_tolerance | |
| fill_tolerance | |
| relax_value | |
| level_fill | |
| level_overlap | |
| num_steps | |
| use_reciprocal | |
| overlap_mode | |
Definition at line 57 of file ifp_parameters.h.
| enum Ifpack::EPrecType |
Enum for the type of preconditioner.
|
inlinestatic |
|
static |
Creates an instance of Ifpack_Preconditioner given the enum value of the preconditioner type (can not fail, no bad input possible).
| PrecType | (In) - Enum value of preconditioner type to be created. |
| Matrix | (In) - Matrix used to define the preconditioner |
| overlap | (In) - specified overlap, defaulted to 0. |
Definition at line 253 of file Ifpack.cpp.
| Ifpack_Preconditioner * Ifpack::Create | ( | const std::string | PrecType, |
| Epetra_RowMatrix * | Matrix, | ||
| const int | overlap = 0, |
||
| bool | overrideSerialDefault = false |
||
| ) |
Creates an instance of Ifpack_Preconditioner given the std::string name of the preconditioner type (can fail with bad input).
| PrecType | (In) - String name of preconditioner type to be created. |
| Matrix | (In) - Matrix used to define the preconditioner |
| overlap | (In) - specified overlap, defaulted to 0. |
Returns 0 if the preconditioner with that input name does not exist. Otherwise, return a newly created preconditioner object. Note that the client is responsible for calling delete on the returned object once it is finished using it!
Definition at line 393 of file Ifpack.cpp.
| int Ifpack::SetParameters | ( | int | argc, |
| char * | argv[], | ||
| Teuchos::ParameterList & | List, | ||
| std::string & | PrecType, | ||
| int & | Overlap | ||
| ) |
Sets the options in List from the command line.
Note: If you want full support for all parameters, consider reading in a parameter list from an XML file as supported by the Teuchos helper function Teuchos::updateParametersFromXmlFile() or Teuchos::updateParametersFromXmlStream().
Definition at line 413 of file Ifpack.cpp.
|
static |
|
static |
|
static |
|
static |
1.8.5