Thyra::PhysicallyBlockedLinearOpBase< Scalar > Class Template Reference

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 48 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:

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:

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:

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

Determines if a block fill is active or not .

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:

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:

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:

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:

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

Set to uninitlaized.

Postconditions:


The documentation for this class was generated from the following file:
Generated on Wed May 12 21:26:39 2010 for Extended Thyra ANA Operator/Vector Interfaces by  doxygen 1.4.7