Reference documentation for deal.II version 9.6.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
LinearAlgebra::TpetraWrappers::SolverDirectKLU2< Number, MemorySpace > Class Template Reference

#include <deal.II/lac/trilinos_tpetra_solver_direct.h>

Inheritance diagram for LinearAlgebra::TpetraWrappers::SolverDirectKLU2< Number, MemorySpace >:

Classes

struct  AdditionalData
 

Public Member Functions

 SolverDirectKLU2 (SolverControl &cn, const AdditionalData &additional_data=AdditionalData())
 
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)
 
SolverControlcontrol () const
 

Static Public Member Functions

static ::ExceptionBaseExcTrilinosError (int arg1)
 

Protected Member Functions

void do_solve ()
 

Protected Attributes

SolverControlsolver_control
 
Teuchos::RCP< Amesos2::Solver< TpetraTypes::MatrixType< Number, MemorySpace >, TpetraTypes::MultiVectorType< Number, MemorySpace > > > solver
 
std::string solver_type
 
Teuchos::ParameterList parameter_list
 

Detailed Description

template<typename Number, typename MemorySpace = ::MemorySpace::Host>
class LinearAlgebra::TpetraWrappers::SolverDirectKLU2< Number, MemorySpace >

A wrapper class for the solver KLU2 that works in serial and parallel. This solver is part of Amesos2 and enabled by default.

The AdditionalData structure allows to pass options specific to this solver and the default will result in the same solver as constructing SolverDirect with solver_name KLU2.

Definition at line 249 of file trilinos_tpetra_solver_direct.h.

Constructor & Destructor Documentation

◆ SolverDirectKLU2()

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
LinearAlgebra::TpetraWrappers::SolverDirectKLU2< Number, MemorySpace >::SolverDirectKLU2 ( SolverControl & cn,
const AdditionalData & additional_data = AdditionalData() )

Constructor. Takes the solver control object and creates the solver.

Member Function Documentation

◆ initialize()

void LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::initialize ( const SparseMatrix< Number, MemorySpace > & A)
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.

◆ solve() [1/2]

void LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::solve ( Vector< Number, MemorySpace > & x,
const Vector< Number, MemorySpace > & b )
inherited

Solve the linear system Ax=b based on the package set in initialize(). Note the matrix is not refactorized during this call.

◆ solve() [2/2]

void LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::solve ( const SparseMatrix< Number, MemorySpace > & A,
Vector< Number, MemorySpace > & x,
const Vector< Number, MemorySpace > & b )
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.

◆ control()

SolverControl & LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::control ( ) const
inherited

Access to object that controls convergence.

◆ ExcTrilinosError()

static ::ExceptionBase & LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::ExcTrilinosError ( int arg1)
staticinherited

Exception

Note
The message that will be printed by this exception reads:
<< "An error with error number " << arg1 << " occurred while calling a Trilinos function"

◆ do_solve()

void LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::do_solve ( )
protectedinherited

Actually performs the operations for solving the linear system, including the factorization and forward and backward substitution.

Member Data Documentation

◆ solver_control

SolverControl& LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::solver_control
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.

◆ solver

Teuchos::RCP< Amesos2::Solver<TpetraTypes::MatrixType<Number, MemorySpace>, TpetraTypes::MultiVectorType<Number, MemorySpace> > > LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::solver
protectedinherited

A structure that contains the Trilinos solver object.

Definition at line 151 of file trilinos_tpetra_solver_direct.h.

◆ solver_type

std::string LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::solver_type
protectedinherited

Definition at line 156 of file trilinos_tpetra_solver_direct.h.

◆ parameter_list

Teuchos::ParameterList LinearAlgebra::TpetraWrappers::SolverDirectBase< Number, MemorySpace >::parameter_list
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.


The documentation for this class was generated from the following file: