MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType > Class Template Reference

#include <MueLu_Details_LinearSolverFactory_def.hpp>

Inheritance diagram for MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >:

Public Member Functions

 LinearSolver ()
 Constructor.
 
virtual ~LinearSolver ()
 Destructor (virtual for memory safety).
 
void setMatrix (const Teuchos::RCP< const Tpetra::Operator< Scalar, LO, GO, Node > > &A)
 Set the Solver's matrix.
 
Teuchos::RCP< const Tpetra::Operator< Scalar, LO, GO, Node > > getMatrix () const
 Get a pointer to this Solver's matrix.
 
void solve (Tpetra::MultiVector< Scalar, LO, GO, Node > &X, const Tpetra::MultiVector< Scalar, LO, GO, Node > &B)
 Solve the linear system(s) AX=B.
 
void setParameters (const Teuchos::RCP< Teuchos::ParameterList > &params)
 Set this solver's parameters.
 
void symbolic ()
 Set up any part of the solve that depends on the structure of the input matrix, but not its numerical values.
 
void numeric ()
 Set up any part of the solve that depends on both the structure and the numerical values of the input matrix.
 
std::string description () const
 Implementation of Teuchos::Describable::description.
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Implementation of Teuchos::Describable::describe.
 

Private Attributes

Teuchos::RCP< const Tpetra::Operator< Scalar, LO, GO, Node > > A_
 
Teuchos::RCP< Teuchos::ParameterList > params_
 
Teuchos::RCP< TpetraOperator< Scalar, LO, GO, Node > > solver_
 
bool changedA_
 
bool changedParams_
 

Detailed Description

template<class Scalar, class LO, class GO, class Node>
class MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >

Definition at line 273 of file MueLu_Details_LinearSolverFactory_def.hpp.

Constructor & Destructor Documentation

◆ LinearSolver()

template<class Scalar , class LO , class GO , class Node >
MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::LinearSolver ( )
inline

Constructor.

Definition at line 285 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ ~LinearSolver()

template<class Scalar , class LO , class GO , class Node >
virtual MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::~LinearSolver ( )
inlinevirtual

Destructor (virtual for memory safety).

Definition at line 291 of file MueLu_Details_LinearSolverFactory_def.hpp.

Member Function Documentation

◆ setMatrix()

template<class Scalar , class LO , class GO , class Node >
void MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::setMatrix ( const Teuchos::RCP< const Tpetra::Operator< Scalar, LO, GO, Node > > &  A)
inline

Set the Solver's matrix.

Parameters
A[in] Pointer to the matrix A in the linear system(s) AX=B to solve.

Definition at line 297 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ getMatrix()

template<class Scalar , class LO , class GO , class Node >
Teuchos::RCP< const Tpetra::Operator< Scalar, LO, GO, Node > > MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::getMatrix ( ) const
inline

Get a pointer to this Solver's matrix.

Definition at line 309 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ solve()

template<class Scalar , class LO , class GO , class Node >
void MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::solve ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  X,
const Tpetra::MultiVector< Scalar, LO, GO, Node > &  B 
)
inline

Solve the linear system(s) AX=B.

Definition at line 314 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ setParameters()

template<class Scalar , class LO , class GO , class Node >
void MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::setParameters ( const Teuchos::RCP< Teuchos::ParameterList > &  params)
inline

Set this solver's parameters.

Definition at line 332 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ symbolic()

template<class Scalar , class LO , class GO , class Node >
void MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::symbolic ( )
inline

Set up any part of the solve that depends on the structure of the input matrix, but not its numerical values.

Definition at line 342 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ numeric()

template<class Scalar , class LO , class GO , class Node >
void MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::numeric ( )
inline

Set up any part of the solve that depends on both the structure and the numerical values of the input matrix.

Definition at line 346 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ description()

template<class Scalar , class LO , class GO , class Node >
std::string MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::description ( ) const
inline

Implementation of Teuchos::Describable::description.

Definition at line 388 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ describe()

template<class Scalar , class LO , class GO , class Node >
void MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::describe ( Teuchos::FancyOStream &  out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::Describable::verbLevel_default 
) const
inline

Implementation of Teuchos::Describable::describe.

Definition at line 407 of file MueLu_Details_LinearSolverFactory_def.hpp.

Member Data Documentation

◆ A_

template<class Scalar , class LO , class GO , class Node >
Teuchos::RCP<const Tpetra::Operator<Scalar,LO,GO,Node> > MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::A_
private

Definition at line 429 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ params_

template<class Scalar , class LO , class GO , class Node >
Teuchos::RCP<Teuchos::ParameterList> MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::params_
private

Definition at line 430 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ solver_

template<class Scalar , class LO , class GO , class Node >
Teuchos::RCP<TpetraOperator<Scalar,LO,GO,Node> > MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::solver_
private

Definition at line 431 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ changedA_

template<class Scalar , class LO , class GO , class Node >
bool MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::changedA_
private

Definition at line 432 of file MueLu_Details_LinearSolverFactory_def.hpp.

◆ changedParams_

template<class Scalar , class LO , class GO , class Node >
bool MueLu::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::changedParams_
private

Definition at line 433 of file MueLu_Details_LinearSolverFactory_def.hpp.


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