MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 >:
Trilinos::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, Teuchos::ScalarTraits< Scalar >::magnitudeType > Teuchos::Describable Teuchos::LabeledObject

Public Member Functions

 LinearSolver ()
 Constructor. More...
 
virtual ~LinearSolver ()
 Destructor (virtual for memory safety). More...
 
void setMatrix (const Teuchos::RCP< const Tpetra::Operator< Scalar, LO, GO, Node > > &A)
 Set the Solver's matrix. More...
 
Teuchos::RCP< const
Tpetra::Operator< Scalar, LO,
GO, Node > > 
getMatrix () const
 Get a pointer to this Solver's matrix. More...
 
void solve (Tpetra::MultiVector< Scalar, LO, GO, Node > &X, const Tpetra::MultiVector< Scalar, LO, GO, Node > &B)
 Solve the linear system(s) AX=B. More...
 
void setParameters (const Teuchos::RCP< Teuchos::ParameterList > &params)
 Set this solver's parameters. More...
 
void symbolic ()
 Set up any part of the solve that depends on the structure of the input matrix, but not its numerical values. More...
 
void numeric ()
 Set up any part of the solve that depends on both the structure and the numerical values of the input matrix. More...
 
std::string description () const
 Implementation of Teuchos::Describable::description. More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Implementation of Teuchos::Describable::describe. More...
 
- Public Member Functions inherited from Trilinos::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, Teuchos::ScalarTraits< Scalar >::magnitudeType >
virtual void setMatrix (const Teuchos::RCP< const OP > &A)=0
 
virtual void solve (MV &X, const MV &B)=0
 
- Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 

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_
 

Additional Inherited Members

- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

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

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.

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

Member Function Documentation

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.

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
inlinevirtual
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.

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)
inlinevirtual
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 ( )
inlinevirtual

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

Implements Trilinos::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, Teuchos::ScalarTraits< Scalar >::magnitudeType >.

Definition at line 342 of file MueLu_Details_LinearSolverFactory_def.hpp.

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 ( )
inlinevirtual

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

Implements Trilinos::Details::LinearSolver< Tpetra::MultiVector< Scalar, LO, GO, Node >, Tpetra::Operator< Scalar, LO, GO, Node >, Teuchos::ScalarTraits< Scalar >::magnitudeType >.

Definition at line 346 of file MueLu_Details_LinearSolverFactory_def.hpp.

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
inlinevirtual

Implementation of Teuchos::Describable::description.

Reimplemented from Teuchos::Describable.

Definition at line 388 of file MueLu_Details_LinearSolverFactory_def.hpp.

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
inlinevirtual

Implementation of Teuchos::Describable::describe.

Reimplemented from Teuchos::Describable.

Definition at line 407 of file MueLu_Details_LinearSolverFactory_def.hpp.

Member Data Documentation

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.

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.

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.

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.

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: