deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
|
#include <deal.II/lac/trilinos_tpetra_solver_direct.h>
Public Member Functions | |
virtual | ~SolverDirectBase ()=default |
void | initialize (const SparseMatrix< Number, MemorySpace > &A) |
void | solve (Vector< Number, MemorySpace > &x, const Vector< Number, MemorySpace > &b) |
void | solve (const SparseMatrix< Number, MemorySpace > &A, Vector< Number, MemorySpace > &x, const Vector< Number, MemorySpace > &b) |
SolverControl & | control () const |
Static Public Member Functions | |
static ::ExceptionBase & | ExcTrilinosError (int arg1) |
Protected Member Functions | |
SolverDirectBase (SolverControl &cn, const std::string &solver_type) | |
void | do_solve () |
Protected Attributes | |
SolverControl & | solver_control |
Teuchos::RCP< Amesos2::Solver< TpetraTypes::MatrixType< Number, MemorySpace >, TpetraTypes::MultiVectorType< Number, MemorySpace > > > | solver |
std::string | solver_type |
Teuchos::ParameterList | parameter_list |
The base class for all direct solvers based on the Amesos2 package of Trilinos.
Definition at line 72 of file trilinos_tpetra_solver_direct.h.
|
virtualdefault |
Destructor.
|
protected |
Constructor. Takes the solver control object and name and creates the solver.
void LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::initialize | ( | const SparseMatrix< Number, MemorySpace > & | A | ) |
Initializes the direct solver for the matrix A
and creates a factorization for it with the package chosen from the additional data structure. Note that there is no need for a preconditioner here and solve() is not called.
void LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::solve | ( | Vector< Number, MemorySpace > & | x, |
const Vector< Number, MemorySpace > & | b | ||
) |
Solve the linear system Ax=b
based on the package set in initialize(). Note the matrix is not refactorized during this call.
void LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::solve | ( | const SparseMatrix< Number, MemorySpace > & | A, |
Vector< Number, MemorySpace > & | x, | ||
const Vector< Number, MemorySpace > & | b | ||
) |
Solve the linear system Ax=b
. Creates a factorization of the matrix with the package chosen from the additional data structure and performs the solve. Note that there is no need for a preconditioner here.
SolverControl & LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::control | ( | ) | const |
Access to object that controls convergence.
|
protected |
Actually performs the operations for solving the linear system, including the factorization and forward and backward substitution.
|
protected |
Reference to the object that controls convergence of the iterative solver. In fact, for these Trilinos wrappers, Trilinos does so itself, but we copy the data from this object before starting the solution process, and copy the data back into it afterwards.
Definition at line 143 of file trilinos_tpetra_solver_direct.h.
|
protected |
A structure that contains the Trilinos solver object.
Definition at line 151 of file trilinos_tpetra_solver_direct.h.
|
protected |
Definition at line 156 of file trilinos_tpetra_solver_direct.h.
|
protected |
An optional Teuchos::ParameterList for fine tuning the solver. Please refer to the Amesos2 manual to see which parameters to set for each individual solver.
Definition at line 163 of file trilinos_tpetra_solver_direct.h.