#include <Thyra_PhysicallyBlockedLinearOpBase.hpp>
Inheritance diagram for Thyra::PhysicallyBlockedLinearOpBase< Scalar >:

Public Member Functions | |
| virtual void | beginBlockFill ()=0 |
| Begin a block fill where the product range and domain spaces will be created on the fly and the number of block rows and columns is not known in advance. | |
| virtual void | beginBlockFill (const int numRowBlocks, const int numColBlocks)=0 |
| Begin a block fill where the product range and domain spaces will be created on the fly but the total number of block rows and block columns is known in advance. | |
| virtual void | beginBlockFill (const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > &productRange, const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > &productDomain)=0 |
| Begin a block fill where the product range and domain spaces are set a priori. | |
| virtual bool | blockFillIsActive () const =0 |
| Determines if a block fill is active or not . | |
| virtual bool | acceptsBlock (const int i, const int j) const =0 |
Determines if the block (i,j) can be filled or not. | |
| virtual void | setNonconstBlock (const int i, const int j, const Teuchos::RCP< LinearOpBase< Scalar > > &block)=0 |
| Set a non-const block linear operator. | |
| virtual void | setBlock (const int i, const int j, const Teuchos::RCP< const LinearOpBase< Scalar > > &block)=0 |
| Set a const block linear operator. | |
| virtual void | endBlockFill ()=0 |
End a block fill after which *this object can be used. | |
| virtual void | uninitialize ()=0 |
| Set to uninitlaized. | |
This interface allows clients to fill a blocked linear operator and create blocked objects with various numbers of row and column blocks. There are two modes to fill a blocked linear operator represented by the two forms of the beginBlockFill() function.
ToDo: Finish documentation.
Definition at line 48 of file Thyra_PhysicallyBlockedLinearOpBase.hpp.
| virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::beginBlockFill | ( | ) | [pure virtual] |
Begin a block fill where the product range and domain spaces will be created on the fly and the number of block rows and columns is not known in advance.
Postconditions:
this->blockFillIsActive()==true this->productRange().get()==NULL this->productDomain().get()==NULL | virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::beginBlockFill | ( | const int | numRowBlocks, | |
| const int | numColBlocks | |||
| ) | [pure virtual] |
Begin a block fill where the product range and domain spaces will be created on the fly but the total number of block rows and block columns is known in advance.
Preconditions:
numRowBlocks > 0 numColBlocks > 0 Postconditions:
this->blockFillIsActive()==true this->productRange().get()==NULL this->productDomain().get()==NULL | virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::beginBlockFill | ( | const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > & | productRange, | |
| const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > & | productDomain | |||
| ) | [pure virtual] |
Begin a block fill where the product range and domain spaces are set a priori.
| productRange | [in] The product space to use of the range space. | |
| productRange | [in] The product space to use of the domain space. |
productRange.get()!=NULL && productRange->dim() > 0 productDomain.get()!=NULL && productDomain->dim() > 0 Postconditions:
this->blockFillIsActive()==true this->productRange().get()==productRange.get() this->productDomain().get()==productDomain.get() | virtual bool Thyra::PhysicallyBlockedLinearOpBase< Scalar >::blockFillIsActive | ( | ) | const [pure virtual] |
Determines if a block fill is active or not .
| virtual bool Thyra::PhysicallyBlockedLinearOpBase< Scalar >::acceptsBlock | ( | const int | i, | |
| const int | j | |||
| ) | const [pure virtual] |
Determines if the block (i,j) can be filled or not.
| i | [in] Zero-based index for the block row. | |
| j | [in] Zero-based index for the block column. |
i >= 0 && j >= 0 this->productRange().get()!=NULL] i < this->productRange()->numBlocks() this->productDomain().get()!=NULL] j < this->productDomain()->numBlocks() | virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::setNonconstBlock | ( | const int | i, | |
| const int | j, | |||
| const Teuchos::RCP< LinearOpBase< Scalar > > & | block | |||
| ) | [pure virtual] |
Set a non-const block linear operator.
| i | [in] Zero-based index for the block row. | |
| j | [in] Zero-based index for the block column. | |
| block | [in] The block operator being set. |
this->acceptsBlock(i,j)==true | virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::setBlock | ( | const int | i, | |
| const int | j, | |||
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | block | |||
| ) | [pure virtual] |
Set a const block linear operator.
| i | [in] Zero-based index for the block row. | |
| j | [in] Zero-based index for the block column. | |
| block | [in] The block operator being set. |
this->acceptsBlock(i,j)==true | virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::endBlockFill | ( | ) | [pure virtual] |
End a block fill after which *this object can be used.
If a valid linear operator object can not be formed from what was set then a ??? exception will be thrown.
Postconditions:
this->blockFillIsActive()==false this->productRange().get()!=NULL this->productDomain().get()!=NULL | virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::uninitialize | ( | ) | [pure virtual] |
Set to uninitlaized.
Postconditions:
this->blockFillIsActive()==false this->productRange().get()==NULL this->productDomain().get()==NULL
1.4.7