Public Member Functions | Private Attributes
Playa::IfpackICCOperator Class Reference
Inheritance diagram for Playa::IfpackICCOperator:
Playa::LinearOpWithSpaces< double > Playa::Printable Playa::LinearOperatorBase< double > Playa::ObjectWithVerbosity

List of all members.

Public Member Functions

 IfpackICCOperator (const EpetraMatrix *A, int fillLevels, int overlapFill, double dropTol, double relaxationValue, double relativeThreshold, double absoluteThreshold)
virtual void apply (Teuchos::ETransp applyType, const Vector< double > &in, Vector< double > out) const
std::ostream & describe (std::ostream &out, const Teuchos::EVerbosityLevel verbLevel, const std::string leadingIndent, const std::string indentSpacer) const
std::string description () const
Diagnostic output
virtual void print (std::ostream &os) const

Private Attributes

RCP< Ifpack_ICT > precond_

Detailed Description

This is the operator representation of the inverse upper triangular factor ${\tilde R}^{-1}$ in the incomplete Cholesky factorization of a matrix $ A \approx {\tilde R}{\tilde R}^T$.

Author:
Kimberly Kennedy, with some small modifications by Kevin Long

Definition at line 60 of file PlayaIfpackICCOperator.hpp.


Constructor & Destructor Documentation

Playa::IfpackICCOperator::IfpackICCOperator ( const EpetraMatrix A,
int  fillLevels,
int  overlapFill,
double  dropTol,
double  relaxationValue,
double  relativeThreshold,
double  absoluteThreshold 
)

Construct the operator. During construction, the matrix A will be approximately factored using the options given in the arguments.

Parameters:
AThe matrix to be factored
fillLevelsSpecifies the number of on-processor nonzeros allowed in each row of the factorization, given as a ratio of the allowed nnz per row in the factor to nnz per row in A.
overlapFillFill allowed for off-processor elements
dropTolNew elements are dropped if |R_ij| < dropTol*R_jj.
relaxationValueFraction of dropped element mass to be added to diagonal.
relativeThresholdFraction of diagonal element to be added to diagonal
absoluteThresholdAmount to be added to each diagonal element

Definition at line 58 of file PlayaIfpackICCOperator.cpp.

References Playa::EpetraMatrix::crsMatrix(), Sundance::List(), and precond_.


Member Function Documentation

void Playa::IfpackICCOperator::apply ( Teuchos::ETransp  applyType,
const Vector< double > &  in,
Vector< double >  out 
) const [virtual]

Apply the operator.

Implements Playa::LinearOperatorBase< double >.

Definition at line 95 of file PlayaIfpackICCOperator.cpp.

References Playa::EpetraVector::getConcrete(), and precond_.

std::ostream& Playa::IfpackICCOperator::describe ( std::ostream &  out,
const Teuchos::EVerbosityLevel  verbLevel,
const std::string  leadingIndent,
const std::string  indentSpacer 
) const [inline]

Definition at line 103 of file PlayaIfpackICCOperator.hpp.

References description().

Definition at line 131 of file PlayaIfpackICCOperator.cpp.

Referenced by describe().

void Playa::IfpackICCOperator::print ( std::ostream &  os) const [virtual]

Print the matrix

Implements Playa::Printable.

Definition at line 126 of file PlayaIfpackICCOperator.cpp.

References precond_.


Member Data Documentation

RCP<Ifpack_ICT> Playa::IfpackICCOperator::precond_ [private]

Definition at line 120 of file PlayaIfpackICCOperator.hpp.

Referenced by apply(), IfpackICCOperator(), and print().

Site Contact