deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+00:00
|
#include <deal.II/lac/trilinos_tpetra_solver_direct.h>
Classes | |
struct | AdditionalData |
Public Member Functions | |
SolverDirect (SolverControl &cn, const AdditionalData &additional_data=AdditionalData()) | |
void | set_pararameter_list (Teuchos::ParameterList ¶meter_list) |
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 | |
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 |
A general purpose class to support any solver that the Amesos2 package of Trilinos provides.
Notes for users switching from TrilinosWrappers to TpetraWrappers: The general interface of this class is kept identical to the Amesos(1) wrapper with the notable exception of being templated.
A further addition is the option to fine tune each solver with a Teuchos::ParameterList, to change default parameters.
Definition at line 182 of file trilinos_tpetra_solver_direct.h.
LinearAlgebra::TpetraWrappers::SolverDirect< Number, MemorySpace >::SolverDirect | ( | SolverControl & | cn, |
const AdditionalData & | additional_data = AdditionalData() |
||
) |
Constructor. Takes the solver control object and creates the solver.
void LinearAlgebra::TpetraWrappers::SolverDirect< Number, MemorySpace >::set_pararameter_list | ( | Teuchos::ParameterList & | parameter_list | ) |
Set a parameter list to fine tune the solver. The valid parameters depend on the solver you use and the possible parameters can be found in the documentation of Amesos2.
|
inherited |
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.
|
inherited |
Solve the linear system Ax=b
based on the package set in initialize(). Note the matrix is not refactorized during this call.
|
inherited |
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.
|
inherited |
Access to object that controls convergence.
|
protectedinherited |
Actually performs the operations for solving the linear system, including the factorization and forward and backward substitution.
|
protectedinherited |
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.
|
protectedinherited |
A structure that contains the Trilinos solver object.
Definition at line 151 of file trilinos_tpetra_solver_direct.h.
|
protectedinherited |
Definition at line 156 of file trilinos_tpetra_solver_direct.h.
|
protectedinherited |
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.