|
Belos
Version of the Day
|
Classes | |
| class | LapackSupportsScalar |
| Type traits class that says whether Teuchos::LAPACK has a valid implementation for the given ScalarType. More... | |
| class | LapackSupportsScalar< double > |
| class | LapackSupportsScalar< float > |
| class | LinearSolver |
| Belos' implementation of Trilinos::Details::LinearSolver. More... | |
| class | LinearSolverFactory |
| class | RealSolverManager |
| Base class for Belos::SolverManager subclasses which normally can only compile for real ScalarType. More... | |
| class | RealSolverManager< ScalarType, MV, OP, false > |
| class | RealSolverManager< ScalarType, MV, OP, true > |
| class | SolverManagerRequiresLapack |
| Base class for Belos::SolverManager subclasses which normally can only compile with ScalarType types for which Teuchos::LAPACK has a valid implementation. More... | |
| class | SolverManagerRequiresLapack< ScalarType, MV, OP, false > |
| Specialization for ScalarType types for which Teuchos::LAPACK does NOT have a valid implementation. More... | |
| class | SolverManagerRequiresLapack< ScalarType, MV, OP, true > |
| Specialization for ScalarType types for which Teuchos::LAPACK has a valid implementation. More... | |
| class | SolverManagerRequiresRealLapack |
| Base class for Belos::SolverManager subclasses which normally can only compile with real ScalarType types for which Teuchos::LAPACK has a valid implementation. More... | |
| class | SolverManagerRequiresRealLapack< ScalarType, MV, OP, false > |
| Stub specialization for ScalarType types which are NOT real, or for which Teuchos::LAPACK does NOT have a valid implementation. More... | |
| class | SolverManagerRequiresRealLapack< ScalarType, MV, OP, true > |
| Non-stub specialization for real ScalarType types for which Teuchos::LAPACK has a valid implementation. More... | |
Enumerations | |
| enum | EBelosSolverType { SOLVER_TYPE_BLOCK_GMRES = 0, SOLVER_TYPE_PSEUDO_BLOCK_GMRES, SOLVER_TYPE_BLOCK_CG, SOLVER_TYPE_PSEUDO_BLOCK_CG, SOLVER_TYPE_GCRODR, SOLVER_TYPE_RCG, SOLVER_TYPE_MINRES, SOLVER_TYPE_LSQR, SOLVER_TYPE_STOCHASTIC_CG, SOLVER_TYPE_TFQMR, SOLVER_TYPE_PSEUDO_BLOCK_TFQMR, SOLVER_TYPE_GMRES_POLY, SOLVER_TYPE_PCPG, SOLVER_TYPE_FIXED_POINT, SOLVER_TYPE_BICGSTAB, SOLVER_TYPE_UPPER_BOUND } |
| 1-to-1 enumeration of all supported SolverManager subclasses. More... | |
Functions | |
| EBelosSolverType | getEnumFromCanonicalName (const std::string &canonicalName) |
| Map from canonical solver name to solver enum value. More... | |
| std::pair< std::string, bool > | getCanonicalNameFromAlias (const std::string &candidateAlias) |
| Get the candidate canonical name for a given candidate alias. More... | |
| std::vector< std::string > | solverNameAliases () |
| List of supported aliases (to canonical solver names). More... | |
| int | numSupportedSolvers () |
| Number of Belos solvers supported for any linear algebra implementation ("generically"). More... | |
| std::vector< std::string > | canonicalSolverNames () |
| List of canonical solver names. More... | |
| void | reviseParameterListForAlias (const std::string &aliasName, Teuchos::ParameterList &solverParams) |
| Modify the input ParameterList appropriately for the given solver alias. More... | |
| void | registerLinearSolverFactory () |
| Register Belos' LinearSolverFactory with the central repository, for all enabled combinations of template parameters. More... | |
| template<class SolverManagerBaseType , class SolverManagerType > | |
| Teuchos::RCP< SolverManagerBaseType > | makeSolverManagerTmpl (const Teuchos::RCP< Teuchos::ParameterList > ¶ms) |
| template<class Scalar , class MV , class OP > | |
| Teuchos::RCP< SolverManager< Scalar, MV, OP > > | makeSolverManagerFromEnum (const EBelosSolverType solverType, const Teuchos::RCP< Teuchos::ParameterList > ¶ms) |
1-to-1 enumeration of all supported SolverManager subclasses.
This enum is an implementation detail of SolverFactory. Users of SolverFactory should not refer to this enum or rely on the symbols or integer values therein. We declare it here for later use by SolverFactory.
Belos developers who have implemented a new solver (i.e., a new subclass of SolverManager) and who want to make the solver available through the SolverFactory should first add a new enum symbol corresponding to their solver to the end of the list. They should then follow the instructions provided in the SolverFactory documentation.
SolverFactory was written to be independent of the actual enum values, so Belos developers are allowed to rearrange the symbols.
Definition at line 80 of file Belos_Details_EBelosSolverType.hpp.
| EBelosSolverType Belos::Details::getEnumFromCanonicalName | ( | const std::string & | canonicalName | ) |
Map from canonical solver name to solver enum value.
Access the keys to get the list of canonical solver names.
Definition at line 49 of file Belos_Details_EBelosSolverType.cpp.
| std::pair< std::string, bool > Belos::Details::getCanonicalNameFromAlias | ( | const std::string & | candidateAlias | ) |
Get the candidate canonical name for a given candidate alias.
| candidateAlias | [in] Must be upper case. |
The keys of this map do not necessarily include canonical solver names. If a candidate name isn't a key in this map, then it must be a canonical name in order to be valid. There doesn't need to be an alias for each solver.
Definition at line 107 of file Belos_Details_EBelosSolverType.cpp.
| std::vector< std::string > Belos::Details::solverNameAliases | ( | ) |
List of supported aliases (to canonical solver names).
This list does not include canonical names.
Definition at line 188 of file Belos_Details_EBelosSolverType.cpp.
| int Belos::Details::numSupportedSolvers | ( | ) |
Number of Belos solvers supported for any linear algebra implementation ("generically").
This may differ from the number of supported solver names, since we may accept multiple names ("aliases") for some solvers.
Definition at line 243 of file Belos_Details_EBelosSolverType.cpp.
| std::vector< std::string > Belos::Details::canonicalSolverNames | ( | ) |
List of canonical solver names.
This list does not include aliases.
Definition at line 248 of file Belos_Details_EBelosSolverType.cpp.
| void Belos::Details::reviseParameterListForAlias | ( | const std::string & | aliasName, |
| Teuchos::ParameterList & | solverParams | ||
| ) |
Modify the input ParameterList appropriately for the given solver alias.
Some aliases include modifications or special checking of the input ParameterList. All alias-related ParameterList revision happens in this method.
Definition at line 292 of file Belos_Details_EBelosSolverType.cpp.
| void Belos::Details::registerLinearSolverFactory | ( | ) |
Register Belos' LinearSolverFactory with the central repository, for all enabled combinations of template parameters.
For all combinations of template parameters that Belos enables, register Belos::Details::LinearSolverFactory with the central repository. This will let any clients of Trilinos::Details::getLinearSolver create Belos solvers with those template parameters.
You may call this function multiple times; it will only have an effect the first time (it is idempotent).
Users do not normally have to call this function, but see Bug
Trilinos_ENABLE_LINEAR_SOLVER_FACTORY_REGISTRATION was set to OFF). It never hurts to invoke this function manually, though, since it is idempotent.If you need to register Belos's LinearSolverFactory for a set of template parameters that is not enabled, see Belos_Details_LinearSolverFactory.hpp (in this directory).
Definition at line 80 of file Belos_Details_registerLinearSolverFactory.cpp.
| Teuchos::RCP< SolverManagerBaseType > Belos::Details::makeSolverManagerTmpl | ( | const Teuchos::RCP< Teuchos::ParameterList > & | params | ) |
Definition at line 443 of file BelosSolverFactory.hpp.
| Teuchos::RCP<SolverManager<Scalar, MV, OP> > Belos::Details::makeSolverManagerFromEnum | ( | const EBelosSolverType | solverType, |
| const Teuchos::RCP< Teuchos::ParameterList > & | params | ||
| ) |
Definition at line 361 of file BelosSolverFactory.hpp.
1.8.13