LifeV
|
PreconditionerComposed -. More...
#include <PreconditionerComposed.hpp>
Typedefs | |
typedef Preconditioner | super_Type |
typedef ComposedOperator< Preconditioner > | prec_Type |
typedef std::shared_ptr< prec_Type > | precPtr_Type |
typedef std::shared_ptr< Preconditioner > | epetraPrecPtr_Type |
typedef super_Type::operator_raw_type | operator_Type |
typedef std::shared_ptr< operator_Type > | operatorPtr_Type |
typedef super_Type::list_Type | list_Type |
Constructors, destructor | |
PreconditionerComposed (std::shared_ptr< Epetra_Comm > comm=std::shared_ptr< Epetra_Comm >()) | |
default constructor. More... | |
virtual | ~PreconditionerComposed () |
constructor from matrix A. More... | |
PreconditionerComposed (PreconditionerComposed &P) | |
Copy Constructor. More... | |
Public Methods | |
void | setDataFromGetPot (const GetPot &dataFile, const std::string §ion) |
Sets the data from GetPot. More... | |
void | createParametersList (list_Type &, const GetPot &dataFile, const std::string §ion, const std::string &subSection) |
Creates the Trilinos Teuchos parameter list reading from data file. More... | |
double | condest () |
Returns an estimate of the condition number. More... | |
int | buildPreconditioner (operatorPtr_Type &A) |
same as push_back More... | |
int | buildPreconditioner (operatorPtr_Type &A, const bool useInverse, const bool useTranspose=false) |
same as push_back More... | |
int | push_back (operatorPtr_Type &A, const bool useInverse=false, const bool useTranspose=false) |
Builds a preconditioner based on A and pushes it back in the composedPreconditioner. More... | |
int | replace (operatorPtr_Type &A, const UInt index, const bool useInverse=false, const bool useTranspose=false) |
Builds a preconditioner based on A and replaces it in the composedPreconditioner. More... | |
void | resetPreconditioner () |
resets the pointer to the preconditioner M_prec More... | |
const std::vector< operatorPtr_Type > & | operVector () const |
returns the operator vectir More... | |
Implementation of Methods from Epetra_Operator | |
const Epetra_Comm & | Comm () |
returns the communicator More... | |
int | SetUseTranspose (bool useTranspose=false) |
sets the M_useTranspose flag More... | |
bool | UseTranspose () |
returns the M_useTranspose flag More... | |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Applies the inverse operator to an input vector. More... | |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Applies the operator to an input vector. More... | |
const Epetra_Map & | OperatorRangeMap () const |
returns the range map More... | |
const Epetra_Map & | OperatorDomainMap () const |
returns the domain map More... | |
Get Methods | |
super_Type::prec_raw_type * | preconditioner () |
returns a raw pointer to the preconditioner base class More... | |
UInt | number () const |
returms the number of factors in the preconditioner More... | |
super_Type::prec_type | preconditionerPtr () |
returns a shared pointer to the preconditioner More... | |
const precPtr_Type | composedPreconditionerPtr () |
returns a shared pointer to the preconditioner More... | |
std::string | preconditionerType () |
returns a string identifying the preconditioner type More... | |
Static Methods | |
static Preconditioner * | createComposedPreconditioner () |
Factory method. More... | |
Private Methods | |
void | myCreateParametersList (const GetPot &dataFile, const std::string §ion, const std::string &subSection) |
Int | createPrec (operatorPtr_Type &oper, std::shared_ptr< Preconditioner > &prec) |
Private Members | |
std::vector< operatorPtr_Type > | M_operVector |
precPtr_Type | M_prec |
static bool | registerComposed = PRECFactory::instance().registerProduct ( "Composed", &PreconditionerComposed::createComposedPreconditioner ) |
Additional Inherited Members | |
Public Types inherited from Preconditioner | |
typedef Epetra_Operator | prec_raw_type |
typedef std::shared_ptr< prec_raw_type > | prec_type |
typedef MatrixEpetra< Real > | operator_raw_type |
typedef std::shared_ptr< operator_raw_type > | operator_type |
typedef Displayer::comm_Type | comm_Type |
typedef Displayer::commPtr_Type | commPtr_Type |
typedef Teuchos::ParameterList | list_Type |
Public Member Functions inherited from Preconditioner | |
Preconditioner (const commPtr_Type &comm=commPtr_Type()) | |
Constructor. More... | |
Preconditioner (const Preconditioner &preconditioner, const commPtr_Type &comm=commPtr_Type()) | |
Copy constructor. More... | |
virtual | ~Preconditioner () |
Destructor. More... | |
virtual Int | buildPreconditioner (operator_type &matrix)=0 |
Build a preconditioner based on the given matrix. More... | |
virtual void | showMe (std::ostream &output=std::cout) const |
Show informations about the preconditioner. More... | |
void | setParametersList (const list_Type &list) |
The the internal list. More... | |
virtual void | setSolver (SolverAztecOO &) |
Set the internal solver. More... | |
const bool & | preconditionerCreated () |
Return true if the preconditioner has been created. More... | |
const list_Type & | parametersList () const |
Return the parameters list. More... | |
list_Type & | parametersList () |
Return the parameters list. More... | |
Protected Attributes inherited from Preconditioner | |
std::string | M_precType |
Displayer | M_displayer |
list_Type | M_list |
bool | M_preconditionerCreated |
Definition at line 65 of file PreconditionerComposed.hpp.
typedef Preconditioner super_Type |
Definition at line 74 of file PreconditionerComposed.hpp.
typedef ComposedOperator<Preconditioner> prec_Type |
Definition at line 75 of file PreconditionerComposed.hpp.
typedef std::shared_ptr<prec_Type> precPtr_Type |
Definition at line 76 of file PreconditionerComposed.hpp.
typedef std::shared_ptr<Preconditioner> epetraPrecPtr_Type |
Definition at line 77 of file PreconditionerComposed.hpp.
Definition at line 78 of file PreconditionerComposed.hpp.
typedef std::shared_ptr<operator_Type> operatorPtr_Type |
Definition at line 79 of file PreconditionerComposed.hpp.
typedef super_Type::list_Type list_Type |
Definition at line 80 of file PreconditionerComposed.hpp.
PreconditionerComposed | ( | std::shared_ptr< Epetra_Comm > | comm = std::shared_ptr<Epetra_Comm>() | ) |
default constructor.
Definition at line 34 of file PreconditionerComposed.cpp.
|
private |
Copy Constructor.
This copy constructor does not copy the matrices, but just the shared_ptrs. It calls the copy constructor of ComposedOperator.
|
virtual |
constructor from matrix A.
A | MatrixEpetra<double> matrix upon which construct the preconditioner default destructor |
Definition at line 53 of file PreconditionerComposed.cpp.
|
virtual |
Sets the data from GetPot.
Implements Preconditioner.
Definition at line 64 of file PreconditionerComposed.cpp.
|
virtual |
Creates the Trilinos Teuchos parameter list reading from data file.
Implements Preconditioner.
Definition at line 71 of file PreconditionerComposed.cpp.
|
virtual |
Returns an estimate of the condition number.
Implements Preconditioner.
Definition at line 95 of file PreconditionerComposed.cpp.
int buildPreconditioner | ( | operatorPtr_Type & | A | ) |
same as push_back
Definition at line 107 of file PreconditionerComposed.cpp.
int buildPreconditioner | ( | operatorPtr_Type & | A, |
const bool | useInverse, | ||
const bool | useTranspose = false |
||
) |
same as push_back
Definition at line 114 of file PreconditionerComposed.cpp.
int push_back | ( | operatorPtr_Type & | A, |
const bool | useInverse = false , |
||
const bool | useTranspose = false |
||
) |
Builds a preconditioner based on A and pushes it back in the composedPreconditioner.
Definition at line 123 of file PreconditionerComposed.cpp.
int replace | ( | operatorPtr_Type & | A, |
const UInt | index, | ||
const bool | useInverse = false , |
||
const bool | useTranspose = false |
||
) |
Builds a preconditioner based on A and replaces it in the composedPreconditioner.
Definition at line 151 of file PreconditionerComposed.cpp.
|
virtual |
resets the pointer to the preconditioner M_prec
Implements Preconditioner.
Definition at line 174 of file PreconditionerComposed.cpp.
|
inline |
returns the operator vectir
Definition at line 143 of file PreconditionerComposed.hpp.
|
inline |
returns the communicator
Definition at line 152 of file PreconditionerComposed.hpp.
|
inlinevirtual |
sets the M_useTranspose flag
Reimplemented from Preconditioner.
Definition at line 158 of file PreconditionerComposed.hpp.
|
inlinevirtual |
returns the M_useTranspose flag
Reimplemented from Preconditioner.
Definition at line 163 of file PreconditionerComposed.hpp.
|
inlinevirtual |
Applies the inverse operator to an input vector.
X | input vector |
Y | output vector |
Reimplemented from Preconditioner.
Definition at line 173 of file PreconditionerComposed.hpp.
|
inlinevirtual |
Applies the operator to an input vector.
X | input vector |
Y | output vector |
Reimplemented from Preconditioner.
Definition at line 183 of file PreconditionerComposed.hpp.
|
inlinevirtual |
returns the range map
Reimplemented from Preconditioner.
Definition at line 189 of file PreconditionerComposed.hpp.
|
inlinevirtual |
returns the domain map
Reimplemented from Preconditioner.
Definition at line 195 of file PreconditionerComposed.hpp.
|
virtual |
returns a raw pointer to the preconditioner base class
Implements Preconditioner.
Definition at line 101 of file PreconditionerComposed.cpp.
|
inline |
returms the number of factors in the preconditioner
Definition at line 207 of file PreconditionerComposed.hpp.
|
inlinevirtual |
returns a shared pointer to the preconditioner
Implements Preconditioner.
Definition at line 213 of file PreconditionerComposed.hpp.
|
inline |
returns a shared pointer to the preconditioner
Definition at line 219 of file PreconditionerComposed.hpp.
|
inlinevirtual |
returns a string identifying the preconditioner type
Implements Preconditioner.
Definition at line 225 of file PreconditionerComposed.hpp.
|
inlinestatic |
Factory method.
Definition at line 235 of file PreconditionerComposed.hpp.
|
private |
See http://trilinos.sandia.gov/packages/docs/r9.0/packages/ifpack/doc/html/index.html for more informations on the parameters
Definition at line 79 of file PreconditionerComposed.cpp.
|
private |
Definition at line 187 of file PreconditionerComposed.cpp.
|
private |
Definition at line 254 of file PreconditionerComposed.hpp.
|
private |
Definition at line 255 of file PreconditionerComposed.hpp.
|
staticprivate |
Definition at line 256 of file PreconditionerComposed.hpp.