Stokhos Package Browser (Single Doxygen Collection) Version of the Day
|
A container class for products of Epetra_Vector's.
More...
#include <Stokhos_ProductEpetraOperator.hpp>
Public Types | |
typedef double | value_type |
Typename of values. | |
typedef int | ordinal_type |
Typename of ordinals. | |
![]() | |
typedef Stokhos::ProductContainerTraits< Epetra_Operator > | traits_type |
Typename of traits. | |
typedef traits_type::value_type | value_type |
Typename of values. | |
typedef traits_type::ordinal_type | ordinal_type |
Typename of ordinals. | |
Public Member Functions | |
ProductEpetraOperator (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm) | |
Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map . | |
ProductEpetraOperator (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const Epetra_Map > &range_product_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm) | |
Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map . | |
ProductEpetraOperator (const ProductEpetraOperator &v) | |
Copy constructor. | |
virtual | ~ProductEpetraOperator () |
Destructor. | |
ProductEpetraOperator & | operator= (const ProductEpetraOperator &v) |
Assignment. | |
Teuchos::RCP< const EpetraExt::MultiComm > | productComm () const |
Get product comm. | |
![]() | |
ProductContainer () | |
Default constructor. | |
ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map) | |
Create a container with container map map . | |
ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner) | |
Create a container container map map where each coefficient is generated through a clone operation as implemented by the traits class for the coefficient. | |
ProductContainer (const ProductContainer &) | |
Copy constructor. | |
virtual | ~ProductContainer () |
Destructor. | |
ProductContainer & | operator= (const ProductContainer &) |
Assignment. | |
void | reset (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to new map map . | |
void | reset (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner) |
Resize to new map map and create coefficients from cloner . | |
void | resize (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to map map . | |
void | reserve (ordinal_type sz) |
Reserve space for a size sz container. | |
ordinal_type | size () const |
Return size. | |
Teuchos::RCP< const Epetra_BlockMap > | map () const |
Return container map. | |
const Teuchos::Array< Teuchos::RCP< Epetra_Operator > > & | getCoefficients () const |
Return array of coefficients. | |
Teuchos::Array< Teuchos::RCP< Epetra_Operator > > & | getCoefficients () |
Return array of coefficients. | |
Teuchos::RCP< Epetra_Operator > | getCoeffPtr (ordinal_type i) |
Return ref-count pointer to coefficient i . | |
Teuchos::RCP< const Epetra_Operator > | getCoeffPtr (ordinal_type i) const |
Return ref-count pointer to constant coefficient i . | |
void | setCoeffPtr (ordinal_type i, const Teuchos::RCP< Epetra_Operator > &c) |
Set coefficient i to c . | |
Epetra_Operator & | operator[] (ordinal_type i) |
Array access. | |
const Epetra_Operator & | operator[] (ordinal_type i) const |
Array access. | |
void | init (const value_type &val) |
Initialize coefficients. | |
bool | myGID (int i) const |
Return whether global index i resides on this processor. | |
std::ostream & | print (std::ostream &os) const |
Print polynomial. | |
![]() | |
virtual | ~Epetra_Operator () |
virtual int | SetUseTranspose (bool UseTranspose)=0 |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual double | NormInf () const=0 |
virtual const char * | Label () const=0 |
virtual bool | UseTranspose () const=0 |
virtual bool | HasNormInf () const=0 |
virtual const Epetra_Comm & | Comm () const=0 |
virtual const Epetra_Map & | OperatorDomainMap () const=0 |
virtual const Epetra_Map & | OperatorRangeMap () const=0 |
Epetra_Operator methods | |
Teuchos::RCP< const Epetra_Map > | domain_base_map |
Domain map of each coefficient. | |
Teuchos::RCP< const Epetra_Map > | range_base_map |
Range map of each coefficient. | |
Teuchos::RCP< const Epetra_Map > | product_range_map |
Product range map. | |
Teuchos::RCP< const EpetraExt::MultiComm > | product_comm |
Product multi-level communicator. | |
bool | useTranspose |
Whether to use transpose in Apply() | |
virtual int | SetUseTranspose (bool UseTranspose) |
Set to true if the transpose of the operator is requested. | |
virtual int | Apply (const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above. | |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above. | |
virtual double | NormInf () const |
Returns an approximate infinity norm of the operator matrix. | |
virtual const char * | Label () const |
Returns a character string describing the operator. | |
virtual bool | UseTranspose () const |
Returns the current UseTranspose setting. | |
virtual bool | HasNormInf () const |
Returns true if the this object can provide an approximate Inf-norm, false otherwise. | |
virtual const Epetra_Comm & | Comm () const |
Returns a reference to the Epetra_Comm communicator associated with this operator. | |
virtual const Epetra_Map & | OperatorDomainMap () const |
Returns the Epetra_Map object associated with the domain of this matrix operator. | |
virtual const Epetra_Map & | OperatorRangeMap () const |
Returns the Epetra_Map object associated with the range of this matrix operator. | |
ProductEpetraOperator (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm) | |
Protected constructor to allow 2-stage derived setup. | |
void | setup (const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map) |
Second stage of setup. | |
Additional Inherited Members | |
![]() | |
Teuchos::RCP< const Epetra_BlockMap > | map_ |
Container map. | |
Teuchos::Array< Teuchos::RCP< Epetra_Operator > > | coeff_ |
Array of polynomial coefficients. | |
A container class for products of Epetra_Vector's.
Definition at line 55 of file Stokhos_ProductEpetraOperator.hpp.
Typename of values.
Definition at line 61 of file Stokhos_ProductEpetraOperator.hpp.
typedef int Stokhos::ProductEpetraOperator::ordinal_type |
Typename of ordinals.
Definition at line 64 of file Stokhos_ProductEpetraOperator.hpp.
Stokhos::ProductEpetraOperator::ProductEpetraOperator | ( | const Teuchos::RCP< const Epetra_BlockMap > & | block_map, |
const Teuchos::RCP< const Epetra_Map > & | domain_base_map, | ||
const Teuchos::RCP< const Epetra_Map > & | range_base_map, | ||
const Teuchos::RCP< const EpetraExt::MultiComm > & | product_comm | ||
) |
Create a container with container map block_map
where each coefficient is generated from the supplied coefficient map coeff_map
.
Definition at line 46 of file Stokhos_ProductEpetraOperator.cpp.
Stokhos::ProductEpetraOperator::ProductEpetraOperator | ( | const Teuchos::RCP< const Epetra_BlockMap > & | block_map, |
const Teuchos::RCP< const Epetra_Map > & | domain_base_map, | ||
const Teuchos::RCP< const Epetra_Map > & | range_base_map, | ||
const Teuchos::RCP< const Epetra_Map > & | range_product_map, | ||
const Teuchos::RCP< const EpetraExt::MultiComm > & | product_comm | ||
) |
Create a container with container map block_map
where each coefficient is generated from the supplied coefficient map coeff_map
.
Definition at line 61 of file Stokhos_ProductEpetraOperator.cpp.
Stokhos::ProductEpetraOperator::ProductEpetraOperator | ( | const ProductEpetraOperator & | v | ) |
Copy constructor.
NOTE: This is a shallow copy
Definition at line 77 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Destructor.
Definition at line 88 of file Stokhos_ProductEpetraOperator.cpp.
|
protected |
Protected constructor to allow 2-stage derived setup.
Definition at line 204 of file Stokhos_ProductEpetraOperator.cpp.
Stokhos::ProductEpetraOperator & Stokhos::ProductEpetraOperator::operator= | ( | const ProductEpetraOperator & | v | ) |
Assignment.
NOTE: This is a shallow copy
Definition at line 92 of file Stokhos_ProductEpetraOperator.cpp.
Teuchos::RCP< const EpetraExt::MultiComm > Stokhos::ProductEpetraOperator::productComm | ( | ) | const |
Get product comm.
Definition at line 104 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Set to true if the transpose of the operator is requested.
Implements Epetra_Operator.
Definition at line 110 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.
Implements Epetra_Operator.
Definition at line 121 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.
Implements Epetra_Operator.
Definition at line 143 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns an approximate infinity norm of the operator matrix.
Implements Epetra_Operator.
Definition at line 152 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns a character string describing the operator.
Implements Epetra_Operator.
Definition at line 160 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns the current UseTranspose setting.
Implements Epetra_Operator.
Definition at line 167 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Implements Epetra_Operator.
Definition at line 174 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns a reference to the Epetra_Comm communicator associated with this operator.
Implements Epetra_Operator.
Definition at line 181 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns the Epetra_Map object associated with the domain of this matrix operator.
Implements Epetra_Operator.
Definition at line 187 of file Stokhos_ProductEpetraOperator.cpp.
|
virtual |
Returns the Epetra_Map object associated with the range of this matrix operator.
Implements Epetra_Operator.
Definition at line 196 of file Stokhos_ProductEpetraOperator.cpp.
|
protected |
Second stage of setup.
Definition at line 215 of file Stokhos_ProductEpetraOperator.cpp.
|
protected |
Domain map of each coefficient.
Definition at line 177 of file Stokhos_ProductEpetraOperator.hpp.
|
protected |
Range map of each coefficient.
Definition at line 180 of file Stokhos_ProductEpetraOperator.hpp.
|
protected |
Product range map.
Definition at line 183 of file Stokhos_ProductEpetraOperator.hpp.
|
protected |
Product multi-level communicator.
Definition at line 186 of file Stokhos_ProductEpetraOperator.hpp.
|
protected |
Whether to use transpose in Apply()
Definition at line 189 of file Stokhos_ProductEpetraOperator.hpp.