Ifpack2 Templated Preconditioning Package  Version 1.0
Namespaces | Functions
Ifpack2_AdditiveSchwarz_def.hpp File Reference

Definition of Ifpack2::AdditiveSchwarz, which implements additive Schwarz preconditioning with an arbitrary subdomain solver. For the declaration and class documentation, please see Ifpack2_AdditiveSchwarz_decl.hpp in this directory. More...

#include "Trilinos_Details_LinearSolverFactory.hpp"
#include "Ifpack2_Details_LinearSolver.hpp"
#include "Ifpack2_Details_CanChangeMatrix.hpp"
#include "Ifpack2_LocalFilter.hpp"
#include "Ifpack2_OverlappingRowMatrix.hpp"
#include "Ifpack2_Parameters.hpp"
#include "Ifpack2_ReorderFilter.hpp"
#include "Ifpack2_SingletonFilter.hpp"
#include "Teuchos_StandardParameterEntryValidators.hpp"
#include <locale>

Go to the source code of this file.

Namespaces

 Ifpack2
 Preconditioners and smoothers for Tpetra sparse matrices.
 

Functions

void Ifpack2::Details::registerLinearSolverFactory ()
 Register Ifpack2's LinearSolverFactory with the central repository, for all enabled combinations of template parameters. More...
 

Detailed Description

Definition of Ifpack2::AdditiveSchwarz, which implements additive Schwarz preconditioning with an arbitrary subdomain solver. For the declaration and class documentation, please see Ifpack2_AdditiveSchwarz_decl.hpp in this directory.

If you want to use Ifpack2::AdditiveSchwarz directly in your application, please include the automatically generated header file Ifpack2_AdditiveSchwarz.hpp. In general, you should never need to include Ifpack2_AdditiveSchwarz_def.hpp in your application directly.

Function Documentation

◆ registerLinearSolverFactory()

void Ifpack2::Details::registerLinearSolverFactory ( )

Register Ifpack2's LinearSolverFactory with the central repository, for all enabled combinations of template parameters.

For all combinations of template parameters that Ifpack2 enables, register Ifpack2::Details::LinearSolverFactory with the central repository. This will let any clients of Trilinos::Details::getLinearSolver create Ifpack2 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

  1. Ifpack2 tries its best to register its LinearSolverFactory automatically with the central repository, for all enabled template parameter combinations. You may have to call this function if your C++ compiler does not support the necessary features for automatic registration to work, or if Trilinos was configured with automatic registration turned off (Trilinos_ENABLE_LINEAR_SOLVER_FACTORY_REGISTRATION was set to OFF). It never hurts to invoke this function manually, though.

If you need to register Ifpack2's LinearSolverFactory for a set of template parameters that is not enabled, see Ifpack2_Details_LinearSolverFactory.hpp (in this directory).