Stratimikos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Private Member Functions | Private Attributes | List of all members
Thyra::Amesos2LinearOpWithSolve< Scalar > Class Template Reference

Concrete LinearOpWithSolveBase subclass in terms of Amesos2. More...

#include <Thyra_Amesos2LinearOpWithSolve_decl.hpp>

Inherits LinearOpWithSolveBase< Scalar >.

Public Types

using MAT = Tpetra::CrsMatrix< Scalar >
 
using Op = Tpetra::Operator< Scalar >
 
using MV = Tpetra::MultiVector< Scalar >
 
using Solver = ::Amesos2::Solver< MAT, MV >
 
using ConverterT = TpetraOperatorVectorExtraction< Scalar >
 

Private Member Functions

void assertInitialized () const
 

Private Attributes

Teuchos::RCP< const
LinearOpBase< Scalar > > 
fwdOp_
 
Teuchos::RCP< const
LinearOpSourceBase< Scalar > > 
fwdOpSrc_
 
Teuchos::RCP< Solveramesos2Solver_
 

Constructors/initializers/accessors

 Amesos2LinearOpWithSolve ()
 Construct to uninitialized. More...
 
 Amesos2LinearOpWithSolve (const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RCP< Solver > &amesos2Solver, const EOpTransp amesos2SolverTransp, const Scalar amesos2SolverScalar)
 Calls this->initialize(). More...
 
void initialize (const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RCP< Solver > &amesos2Solver)
 Initialize after construction. More...
 
Teuchos::RCP< const
LinearOpSourceBase< Scalar > > 
extract_fwdOpSrc ()
 Extract the forward LinearOpSourceBase<double> object so that it can be modified and remove it from this object. More...
 
Teuchos::RCP< const
LinearOpBase< Scalar > > 
get_fwdOp () const
 
Teuchos::RCP< Solverget_amesos2Solver ()
 
Teuchos::RCP< const
LinearOpSourceBase< Scalar > > 
get_fwdOpSrc () const
 

Overridden public functions from LinearOpBase

Teuchos::RCP< const
VectorSpaceBase< Scalar > > 
range () const
 
Teuchos::RCP< const
VectorSpaceBase< Scalar > > 
domain () const
 
Teuchos::RCP< const
LinearOpBase< Scalar > > 
clone () const
 

Overridden public functions from Teuchos::Describable

std::string description () const
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Overridden from LinearOpBase

virtual bool opSupportedImpl (EOpTransp M_trans) const
 
virtual void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 

Overridden from LinearOpWithSolveBase.

virtual bool solveSupportsImpl (EOpTransp M_trans) const
 
virtual bool solveSupportsSolveMeasureTypeImpl (EOpTransp M_trans, const SolveMeasureType &solveMeasureType) const
 
SolveStatus< Scalar > solveImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &B, const Ptr< MultiVectorBase< Scalar > > &X, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const
 

Detailed Description

template<typename Scalar>
class Thyra::Amesos2LinearOpWithSolve< Scalar >

Concrete LinearOpWithSolveBase subclass in terms of Amesos2.

ToDo: Finish documentation!

Definition at line 72 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

Member Typedef Documentation

template<typename Scalar>
using Thyra::Amesos2LinearOpWithSolve< Scalar >::MAT = Tpetra::CrsMatrix<Scalar>

Definition at line 75 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar>
using Thyra::Amesos2LinearOpWithSolve< Scalar >::Op = Tpetra::Operator<Scalar>

Definition at line 76 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar>
using Thyra::Amesos2LinearOpWithSolve< Scalar >::MV = Tpetra::MultiVector<Scalar>

Definition at line 77 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar>
using Thyra::Amesos2LinearOpWithSolve< Scalar >::Solver = ::Amesos2::Solver<MAT, MV>

Definition at line 78 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar>
using Thyra::Amesos2LinearOpWithSolve< Scalar >::ConverterT = TpetraOperatorVectorExtraction<Scalar>

Definition at line 79 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

Constructor & Destructor Documentation

template<typename Scalar >
Thyra::Amesos2LinearOpWithSolve< Scalar >::Amesos2LinearOpWithSolve ( )

Construct to uninitialized.

Definition at line 57 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
Thyra::Amesos2LinearOpWithSolve< Scalar >::Amesos2LinearOpWithSolve ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  fwdOp,
const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const Teuchos::RCP< Solver > &  amesos2Solver,
const EOpTransp  amesos2SolverTransp,
const Scalar  amesos2SolverScalar 
)

Calls this->initialize().

Definition at line 62 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

Member Function Documentation

template<typename Scalar >
void Thyra::Amesos2LinearOpWithSolve< Scalar >::initialize ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  fwdOp,
const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const Teuchos::RCP< Solver > &  amesos2Solver 
)

Initialize after construction.

Definition at line 75 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
Teuchos::RCP< const LinearOpSourceBase< Scalar > > Thyra::Amesos2LinearOpWithSolve< Scalar >::extract_fwdOpSrc ( )

Extract the forward LinearOpSourceBase<double> object so that it can be modified and remove it from this object.

Postconditions:

Definition at line 92 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::Amesos2LinearOpWithSolve< Scalar >::get_fwdOp ( ) const
inline

Definition at line 192 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar >
Teuchos::RCP< typename Amesos2LinearOpWithSolve< Scalar >::Solver > Thyra::Amesos2LinearOpWithSolve< Scalar >::get_amesos2Solver ( )
inline

Definition at line 200 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar >
Teuchos::RCP< const LinearOpSourceBase< Scalar > > Thyra::Amesos2LinearOpWithSolve< Scalar >::get_fwdOpSrc ( ) const
inline

Definition at line 208 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar >
Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::Amesos2LinearOpWithSolve< Scalar >::range ( ) const

Definition at line 106 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::Amesos2LinearOpWithSolve< Scalar >::domain ( ) const

Definition at line 114 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::Amesos2LinearOpWithSolve< Scalar >::clone ( ) const

Definition at line 122 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
std::string Thyra::Amesos2LinearOpWithSolve< Scalar >::description ( ) const

Definition at line 132 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
void Thyra::Amesos2LinearOpWithSolve< Scalar >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel 
) const

Definition at line 146 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
bool Thyra::Amesos2LinearOpWithSolve< Scalar >::opSupportedImpl ( EOpTransp  M_trans) const
protectedvirtual

Definition at line 189 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
void Thyra::Amesos2LinearOpWithSolve< Scalar >::applyImpl ( const EOpTransp  M_trans,
const MultiVectorBase< Scalar > &  X,
const Ptr< MultiVectorBase< Scalar > > &  Y,
const Scalar  alpha,
const Scalar  beta 
) const
protectedvirtual

Definition at line 196 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
bool Thyra::Amesos2LinearOpWithSolve< Scalar >::solveSupportsImpl ( EOpTransp  M_trans) const
protectedvirtual

Definition at line 211 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
bool Thyra::Amesos2LinearOpWithSolve< Scalar >::solveSupportsSolveMeasureTypeImpl ( EOpTransp  M_trans,
const SolveMeasureType &  solveMeasureType 
) const
protectedvirtual

Definition at line 223 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar >
SolveStatus< Scalar > Thyra::Amesos2LinearOpWithSolve< Scalar >::solveImpl ( const EOpTransp  M_trans,
const MultiVectorBase< Scalar > &  B,
const Ptr< MultiVectorBase< Scalar > > &  X,
const Ptr< const SolveCriteria< Scalar > >  solveCriteria 
) const
protected

Definition at line 233 of file Thyra_Amesos2LinearOpWithSolve_def.hpp.

template<typename Scalar>
void Thyra::Amesos2LinearOpWithSolve< Scalar >::assertInitialized ( ) const
private

Member Data Documentation

template<typename Scalar>
Teuchos::RCP<const LinearOpBase<Scalar> > Thyra::Amesos2LinearOpWithSolve< Scalar >::fwdOp_
private

Definition at line 178 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar>
Teuchos::RCP<const LinearOpSourceBase<Scalar> > Thyra::Amesos2LinearOpWithSolve< Scalar >::fwdOpSrc_
private

Definition at line 179 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.

template<typename Scalar>
Teuchos::RCP< Solver > Thyra::Amesos2LinearOpWithSolve< Scalar >::amesos2Solver_
private

Definition at line 180 of file Thyra_Amesos2LinearOpWithSolve_decl.hpp.


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