Thyra Version of the Day
Loading...
Searching...
No Matches
List of all members
Thyra::DiagonalEpetraLinearOpWithSolveFactory Class Reference

Create a DefaultDiagonalLinearOpWithSolve out of a diagonal Epetra_RowMatrix object. More...

#include <Thyra_DiagonalEpetraLinearOpWithSolveFactory.hpp>

Inheritance diagram for Thyra::DiagonalEpetraLinearOpWithSolveFactory:
Inheritance graph
[legend]

Overridden from LinearOpWithSolveFactoryBase

bool isCompatible (const LinearOpSourceBase< double > &fwdOpSrc) const
 
Teuchos::RCP< LinearOpWithSolveBase< double > > createOp () const
 
void initializeOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
 
void uninitializeOp (LinearOpWithSolveBase< double > *Op, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc, Teuchos::RCP< const PreconditionerBase< double > > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
 Uninitialize a LinearOpWithSolveBase object and return its remembered forward linear operator and potentially also its externally generated preconditioner.
 

Overridden from ParameterListAcceptor

void setParameterList (Teuchos::RCP< Teuchos::ParameterList > const &paramList)
 
Teuchos::RCP< Teuchos::ParameterListgetNonconstParameterList ()
 
Teuchos::RCP< Teuchos::ParameterListunsetParameterList ()
 
Teuchos::RCP< const Teuchos::ParameterListgetParameterList () const
 
Teuchos::RCP< const Teuchos::ParameterListgetValidParameters () const
 

Additional Inherited Members

- Public Member Functions inherited from Thyra::LinearOpWithSolveFactoryBase< double >
virtual bool acceptsPreconditionerFactory () const
 Determines if *this accepts external preconditioner factories.
 
virtual void setPreconditionerFactory (const RCP< PreconditionerFactoryBase< double > > &precFactory, const std::string &precFactoryName)
 Set a preconditioner factory object.
 
virtual RCP< PreconditionerFactoryBase< double > > getPreconditionerFactory () const
 Get a preconditioner factory object.
 
virtual void unsetPreconditionerFactory (RCP< PreconditionerFactoryBase< double > > *precFactory=NULL, std::string *precFactoryName=NULL)
 Unset the preconditioner factory (if one is set).
 
virtual void initializeAndReuseOp (const RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op) const
 Initialize a pre-created LinearOpWithSolveBase object given a "compatible" LinearOpBase object but allow for reuse of any preprocessing that is in *Op.
 
virtual bool supportsPreconditionerInputType (const EPreconditionerInputType precOpType) const
 Determines if *this supports given preconditioner type.
 
virtual void initializePreconditionedOp (const RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const RCP< const PreconditionerBase< double > > &prec, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) const
 Initialize a pre-created LinearOpWithSolveBase object given a "compatible" LinearOpBase object and an optional PreconditionerBase object.
 
virtual void initializeApproxPreconditionedOp (const RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) const
 Initialize a pre-created LinearOpWithSolveBase object given a "compatible" forward LinearOpBase object and an approximate forward LinearOpBase object.
 

Detailed Description

Create a DefaultDiagonalLinearOpWithSolve out of a diagonal Epetra_RowMatrix object.

Definition at line 57 of file Thyra_DiagonalEpetraLinearOpWithSolveFactory.hpp.

Member Function Documentation

◆ isCompatible()

bool Thyra::DiagonalEpetraLinearOpWithSolveFactory::isCompatible ( const LinearOpSourceBase< double > & fwdOpSrc) const
virtual

◆ createOp()

RCP< LinearOpWithSolveBase< double > > Thyra::DiagonalEpetraLinearOpWithSolveFactory::createOp ( ) const
virtual

◆ initializeOp()

void Thyra::DiagonalEpetraLinearOpWithSolveFactory::initializeOp ( const Teuchos::RCP< const LinearOpSourceBase< double > > & fwdOpSrc,
LinearOpWithSolveBase< double > * Op,
const ESupportSolveUse supportSolveUse ) const
virtual

◆ uninitializeOp()

void Thyra::DiagonalEpetraLinearOpWithSolveFactory::uninitializeOp ( LinearOpWithSolveBase< double > * Op,
Teuchos::RCP< const LinearOpSourceBase< double > > * fwdOpSrc,
Teuchos::RCP< const PreconditionerBase< double > > * prec,
Teuchos::RCP< const LinearOpSourceBase< double > > * approxFwdOpSrc,
ESupportSolveUse * supportSolveUse ) const
virtual

Uninitialize a LinearOpWithSolveBase object and return its remembered forward linear operator and potentially also its externally generated preconditioner.

Parameters
Op[in/out] On input, *Op is an initialized or uninitialized object and on output is uninitialized. Note that "uninitialized" does not mean that Op is completely stateless. It may still remember some aspect of the matrix fwdOpSrc that will allow for a more efficient initialization next time through this->initializeOp().
fwdOpSrc[in/out] If fwdOpSrc!=NULL on input, then on output this is set to the same forward operator passed into this->initializeOp().
prec[in/out] If prep!=NULL on input, then on output, this this is set to same preconditioner that was passed into this->initializePreconditionedOp().
approxFwdOpSrc[in/out] If approxFwdOpSrc!=NULL on input, then on output, this is set to same approximate forward operator that was passed into this->initializePreconditionedOp().
ESupportSolveUse[in/out] If fwdOpSrc!=NULL on input, then on output this is set to same option value passed to this->initializeOp().

Preconditions:

Postconditions:

  • If *Op on input was initialized through a call to this->initializeOp() and if fwdOpSrc!=NULL then (*fwdOpSrc).get()!=NULL.

  • If *Op was uninitialized on input and fwdOpSrc!=NULL then fwdOpSrc->get()==NULL out output.

  • On output, *Op can be considered to be uninitialized and it is safe to modify the forward operator object *(*fwdOpSrc) returned in fwdOpSrc. The default is fwdOpSrc==NULL in which case the forward operator will not be returned in *fwdOpSrc.

This function should be called before the forward operator passed in to this->initializeOp() is modified. Otherwise, *this could be left in an inconsistent state. However, this is not required.

Implements Thyra::LinearOpWithSolveFactoryBase< double >.

Definition at line 124 of file Thyra_DiagonalEpetraLinearOpWithSolveFactory.cpp.

◆ setParameterList()

void Thyra::DiagonalEpetraLinearOpWithSolveFactory::setParameterList ( Teuchos::RCP< Teuchos::ParameterList > const & paramList)
virtual

◆ getNonconstParameterList()

RCP< Teuchos::ParameterList > Thyra::DiagonalEpetraLinearOpWithSolveFactory::getNonconstParameterList ( )
virtual

◆ unsetParameterList()

RCP< Teuchos::ParameterList > Thyra::DiagonalEpetraLinearOpWithSolveFactory::unsetParameterList ( )
virtual

◆ getParameterList()

RCP< const Teuchos::ParameterList > Thyra::DiagonalEpetraLinearOpWithSolveFactory::getParameterList ( ) const
virtual

◆ getValidParameters()

RCP< const Teuchos::ParameterList > Thyra::DiagonalEpetraLinearOpWithSolveFactory::getValidParameters ( ) const
virtual

The documentation for this class was generated from the following files: