Thyra Package Browser (Single Doxygen Collection)
Version of the Day
|
Implements the Epetra_Operator interface with a Thyra LinearOperator. More...
#include <Thyra_EpetraOperatorWrapper.hpp>
Inherits Epetra_Operator.
Static Private Member Functions | |
static RCP< const Epetra_Comm > | getEpetraComm (const LinearOpBase< double > &thyraOp) |
Private Attributes | |
bool | useTranspose_ |
RCP< const LinearOpBase< double > > | thyraOp_ |
RCP< const VectorSpaceBase < double > > | range_ |
RCP< const VectorSpaceBase < double > > | domain_ |
RCP< const Epetra_Comm > | comm_ |
RCP< const Epetra_Map > | rangeMap_ |
RCP< const Epetra_Map > | domainMap_ |
std::string | label_ |
Related Functions | |
(Note that these are not member functions.) | |
RCP< const LinearOpBase< double > > | makeEpetraWrapper (const RCP< const LinearOpBase< double > > &thyraOp) |
Wrap a Thyra operator in the Epetra_Operator interface, and then wrap it again in a Thyra operator interface. More... | |
Constructor, utilties. | |
EpetraOperatorWrapper (const RCP< const LinearOpBase< double > > &thyraOp) | |
RCP< const LinearOpBase< double > > | getThyraOp () const |
void | copyEpetraIntoThyra (const Epetra_MultiVector &x, const Ptr< VectorBase< double > > &thyraVec) const |
void | copyThyraIntoEpetra (const VectorBase< double > &thyraVec, Epetra_MultiVector &x) const |
Overridden from Epetra_Operator | |
int | SetUseTranspose (bool UseTranspose_in) |
int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
double | NormInf () const |
const char * | Label () const |
bool | UseTranspose () const |
bool | HasNormInf () const |
const Epetra_Comm & | Comm () const |
const Epetra_Map & | OperatorDomainMap () const |
const Epetra_Map & | OperatorRangeMap () const |
Implements the Epetra_Operator interface with a Thyra LinearOperator.
This enables the use of absrtact Thyra operators in AztecOO as preconditioners and operators, without being rendered into concrete Epetra matrices.
Definition at line 31 of file Thyra_EpetraOperatorWrapper.hpp.
Thyra::EpetraOperatorWrapper::EpetraOperatorWrapper | ( | const RCP< const LinearOpBase< double > > & | thyraOp | ) |
Definition at line 36 of file Thyra_EpetraOperatorWrapper.cpp.
|
inline |
Definition at line 42 of file Thyra_EpetraOperatorWrapper.hpp.
References thyraOp_.
void Thyra::EpetraOperatorWrapper::copyEpetraIntoThyra | ( | const Epetra_MultiVector & | x, |
const Ptr< VectorBase< double > > & | thyraVec | ||
) | const |
Definition at line 50 of file Thyra_EpetraOperatorWrapper.cpp.
References TEUCHOS_TEST_FOR_EXCEPTION.
Referenced by Apply().
void Thyra::EpetraOperatorWrapper::copyThyraIntoEpetra | ( | const VectorBase< double > & | thyraVec, |
Epetra_MultiVector & | x | ||
) | const |
Definition at line 88 of file Thyra_EpetraOperatorWrapper.cpp.
References TEUCHOS_TEST_FOR_EXCEPTION.
Referenced by Apply().
|
inline |
Definition at line 61 of file Thyra_EpetraOperatorWrapper.hpp.
References useTranspose_.
int Thyra::EpetraOperatorWrapper::Apply | ( | const Epetra_MultiVector & | X, |
Epetra_MultiVector & | Y | ||
) | const |
Definition at line 127 of file Thyra_EpetraOperatorWrapper.cpp.
References CONJTRANS, copyEpetraIntoThyra(), copyThyraIntoEpetra(), domain_, NOTRANS, Teuchos::RCP< T >::ptr(), range_, thyraOp_, and useTranspose_.
int Thyra::EpetraOperatorWrapper::ApplyInverse | ( | const Epetra_MultiVector & | X, |
Epetra_MultiVector & | Y | ||
) | const |
Definition at line 149 of file Thyra_EpetraOperatorWrapper.cpp.
References TEUCHOS_TEST_FOR_EXCEPTION, and TEUCHOS_UNREACHABLE_RETURN.
double Thyra::EpetraOperatorWrapper::NormInf | ( | ) | const |
Definition at line 158 of file Thyra_EpetraOperatorWrapper.cpp.
References TEUCHOS_TEST_FOR_EXCEPTION, and TEUCHOS_UNREACHABLE_RETURN.
|
inline |
Definition at line 77 of file Thyra_EpetraOperatorWrapper.hpp.
References label_.
|
inline |
Definition at line 80 of file Thyra_EpetraOperatorWrapper.hpp.
References useTranspose_.
|
inline |
Definition at line 83 of file Thyra_EpetraOperatorWrapper.hpp.
|
inline |
Definition at line 86 of file Thyra_EpetraOperatorWrapper.hpp.
References comm_.
|
inline |
Definition at line 89 of file Thyra_EpetraOperatorWrapper.hpp.
References domainMap_.
|
inline |
Definition at line 92 of file Thyra_EpetraOperatorWrapper.hpp.
References rangeMap_.
|
staticprivate |
Definition at line 170 of file Thyra_EpetraOperatorWrapper.cpp.
References Thyra::get_Epetra_Comm(), nonnull(), and Teuchos::rcp().
|
private |
Definition at line 98 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by Apply(), SetUseTranspose(), and UseTranspose().
|
private |
Definition at line 99 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by Apply(), and getThyraOp().
|
private |
Definition at line 100 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by Apply().
|
private |
Definition at line 101 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by Apply().
|
private |
Definition at line 102 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by Comm().
|
private |
Definition at line 103 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by OperatorRangeMap().
|
private |
Definition at line 104 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by OperatorDomainMap().
|
private |
Definition at line 106 of file Thyra_EpetraOperatorWrapper.hpp.
Referenced by Label().