Thyra::PhysicallyBlockedLinearOpBase< Scalar > Class Template Reference
[Thyra operator/vector extended interfaces]

Base interface for physically blocked linear operators. More...

#include <Thyra_PhysicallyBlockedLinearOpBase.hpp>

Inheritance diagram for Thyra::PhysicallyBlockedLinearOpBase< Scalar >:

Inheritance graph
[legend]
List of all members.

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.

Detailed Description

template<class Scalar>
class Thyra::PhysicallyBlockedLinearOpBase< Scalar >

Base interface for physically blocked linear operators.

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 50 of file Thyra_PhysicallyBlockedLinearOpBase.hpp.


Member Function Documentation

template<class Scalar>
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:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
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:

Postconditions:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
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.

Parameters:
productRange [in] The product space to use of the range space.
productRange [in] The product space to use of the domain space.
Preconditions:

Postconditions:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
virtual bool Thyra::PhysicallyBlockedLinearOpBase< Scalar >::blockFillIsActive (  )  const [pure virtual]

Determines if a block fill is active or not .

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
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.

Parameters:
i [in] Zero-based index for the block row.
j [in] Zero-based index for the block column.
Preconditions:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
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.

Parameters:
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.
Preconditions:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
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.

Parameters:
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.
Preconditions:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
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:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
virtual void Thyra::PhysicallyBlockedLinearOpBase< Scalar >::uninitialize (  )  [pure virtual]

Set to uninitlaized.

Postconditions:

Implemented in Thyra::DefaultBlockedLinearOp< Scalar >, and Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.


The documentation for this class was generated from the following file:
Generated on Tue Jul 13 09:26:31 2010 for Thyra by  doxygen 1.4.7