Teko Version of the Day
Public Member Functions
Teko::Epetra::EpetraBlockPreconditioner Class Reference

A single Epetra wrapper for all the BlockPreconditioners. More...

#include <Teko_EpetraBlockPreconditioner.hpp>

Inherits Teko::Epetra::EpetraInverseOpWrapper.

List of all members.

Public Member Functions

 EpetraBlockPreconditioner (const Teuchos::RCP< const PreconditionerFactory > &bfp)
virtual void initPreconditioner (bool clearOld=false)
 Build the underlying data structure for the preconditioner.
virtual void buildPreconditioner (const Teuchos::RCP< const Epetra_Operator > &A, bool clear=true)
 Build this preconditioner from an Epetra_Operator passed in to this object.
virtual void buildPreconditioner (const Teuchos::RCP< const Epetra_Operator > &A, const Epetra_MultiVector &mv, bool clear=true)
 Build this preconditioner from an Epetra_Operator passed in to this object. It is assumed that this Epetra_Operator.
virtual void rebuildPreconditioner (const Teuchos::RCP< const Epetra_Operator > &A)
 Rebuild this preconditioner from an Epetra_Operator passed in this to object.
virtual void rebuildPreconditioner (const Teuchos::RCP< const Epetra_Operator > &A, const Epetra_MultiVector &mv)
 Rebuild this preconditioner from an Epetra_Operator passed in this to object.
virtual Teuchos::RCP
< PreconditionerState
getPreconditionerState ()
virtual Teuchos::RCP< const
PreconditionerState
getPreconditionerState () const

Detailed Description

A single Epetra wrapper for all the BlockPreconditioners.

This class uses the Thyra based preconditioner factories to build an Epetra_Operator that behaves like a preconditioner. This is done by using the BlockPreconditionerFactory, and letting it build whatever preconditioner is neccessary. Thus the Epetra "layer" is just a single class that handles any generic BlockPreconditionerFactory.

Definition at line 66 of file Teko_EpetraBlockPreconditioner.hpp.


Constructor & Destructor Documentation

Teko::Epetra::EpetraBlockPreconditioner::EpetraBlockPreconditioner ( const Teuchos::RCP< const PreconditionerFactory > &  bfp)

Constructor that takes the BlockPreconditionerFactory that will build the preconditioner.

Definition at line 74 of file Teko_EpetraBlockPreconditioner.cpp.


Member Function Documentation

void Teko::Epetra::EpetraBlockPreconditioner::initPreconditioner ( bool  clearOld = false) [virtual]

Build the underlying data structure for the preconditioner.

Build the underlying data structure for the preconditioner. This permits the manipulation of the state object for a preconditioner. and is useful in that case some extra data needs to fill the preconditioner state.

Parameters:
[in]clearOldIf true any previously constructed preconditioner will be wiped out and a new one created. If false, a preconditioner will be create only if the current one is empty (i.e. initPreconditioner had not been called).

Definition at line 79 of file Teko_EpetraBlockPreconditioner.cpp.

void Teko::Epetra::EpetraBlockPreconditioner::buildPreconditioner ( const Teuchos::RCP< const Epetra_Operator > &  A,
bool  clear = true 
) [virtual]

Build this preconditioner from an Epetra_Operator passed in to this object.

Build this preconditioner from an Epetra_Operator passed in to this object. It is assume that this Epetra_Operator.

Build this preconditioner from an Epetra_Operator passed in to this object. It is assumed that this Epetra_Operator will be a EpetraOperatorWrapper object, so the block Thyra components can be easily extracted.

Parameters:
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)
[in]clearIf true, than any previous state saved by the preconditioner is discarded.

Build this preconditioner from an Epetra_Operator passed in to this object. It is assume that this Epetra_Operator will be a EpetraOperatorWrapper object, so the block Thyra components can be easily extracted.

Parameters:
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)
Note:
This will clear any internal state stored by the state object

Definition at line 98 of file Teko_EpetraBlockPreconditioner.cpp.

void Teko::Epetra::EpetraBlockPreconditioner::buildPreconditioner ( const Teuchos::RCP< const Epetra_Operator > &  A,
const Epetra_MultiVector &  epetra_mv,
bool  clear = true 
) [virtual]

Build this preconditioner from an Epetra_Operator passed in to this object. It is assumed that this Epetra_Operator.

Build this preconditioner from an Epetra_Operator passed in to this object. It is assume that this Epetra_Operator.

Build this preconditioner from an Epetra_Operator passed in to this object. It is assumed that this Epetra_Operator will be a EpetraOperatorWrapper object, so the block Thyra components can be easily extracted.

Parameters:
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)
[in]mvA vector that was used to build the source operator.
[in]clearIf true, than any previous state saved by the preconditioner is discarded.

Build this preconditioner from an Epetra_Operator passed in to this object. It is assume that this Epetra_Operator will be a EpetraOperatorWrapper object, so the block Thyra components can be easily extracted.

Parameters:
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)
[in]srcA vector that was used to build the source operator.
Note:
This will clear any internal state stored by the state object

Definition at line 142 of file Teko_EpetraBlockPreconditioner.cpp.

void Teko::Epetra::EpetraBlockPreconditioner::rebuildPreconditioner ( const Teuchos::RCP< const Epetra_Operator > &  A) [virtual]

Rebuild this preconditioner from an Epetra_Operator passed in this to object.

Rebuild this preconditioner from an Epetra_Operator passed in this to object. If buildPreconditioner has not been called the preconditioner will be built instead. Otherwise efforts are taken to only rebuild what is neccessary. Also, it is assumed that this Epetra_Operator will be an EpetraOperatorWrapper object, so the block Thyra components can be easily extracted.

Parameters:
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)

Rebuild this preconditioner from an Epetra_Operator passed in this to object. If buildPreconditioner has not been called the preconditioner will be built instead. Otherwise efforts are taken to only rebuild what is neccessary. Also, it is assumed that this Epetra_Operator will be an EpetraOperatorWrapper object, so the block Thyra components can be easily extracted.

Parameters:
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)
[in]mvA vector that was used to build the source operator.

Definition at line 188 of file Teko_EpetraBlockPreconditioner.cpp.

void Teko::Epetra::EpetraBlockPreconditioner::rebuildPreconditioner ( const Teuchos::RCP< const Epetra_Operator > &  A,
const Epetra_MultiVector &  epetra_mv 
) [virtual]

Rebuild this preconditioner from an Epetra_Operator passed in this to object.

Rebuild this preconditioner from an Epetra_Operator passed in this to object. If buildPreconditioner has not been called the preconditioner will be built instead. Otherwise efforts are taken to only rebuild what is neccessary. Also, it is assumed that this Epetra_Operator will be an EpetraOperatorWrapper object, so the block Thyra components can be easily extracted.

Parameters:
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)
[in]mvA vector that was used to build the source operator.

Definition at line 235 of file Teko_EpetraBlockPreconditioner.cpp.

Teuchos::RCP< PreconditionerState > Teko::Epetra::EpetraBlockPreconditioner::getPreconditionerState ( ) [virtual]

Try to get a Teko::PreconditionerState object. This method attempts to cast its internal representation of a preconditioner object to a Teko::BlockPreconditioner object. If it suceeds a state object is returned. Otherwise, Teuchos::null is returned.

Returns:
Get the state object associated with this preconditioner. If it doesn't exist for this type of preconditioner factory this method returns null.

Definition at line 285 of file Teko_EpetraBlockPreconditioner.cpp.

Teuchos::RCP< const PreconditionerState > Teko::Epetra::EpetraBlockPreconditioner::getPreconditionerState ( ) const [virtual]

Try to get a Teko::PreconditionerState object. This method attempts to cast its internal representation of a preconditioner object to a Teko::BlockPreconditioner object. If it suceeds a state object is returned. Otherwise, Teuchos::null is returned.

Returns:
Get the state object associated with this preconditioner. If it doesn't exist for this type of preconditioner factory this method returns null.

Try to get a Teko::PreconditionerState object. This method attempts to cast its internal representation of a preconditioner object to a Teko::Preconditioner object. If it suceeds a state object is returned. Otherwise, Teuchos::null is returned.

Returns:
Get the state object associated with this preconditioner. If it doesn't exist for this type of preconditioner factory this method returns null.

Definition at line 304 of file Teko_EpetraBlockPreconditioner.cpp.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables