OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Implemantation of ILU (Incomplete LU) Preconditioner for compressed row sparse matrices. More...
#include <ilucomprowprecond.h>
Public Member Functions | |
CompRow_ILUPreconditioner (const SparseMtrx &A, InputRecord &attributes) | |
Constructor. Initializes the the receiver (constructs the precontioning matrix M) of given matrix. More... | |
CompRow_ILUPreconditioner () | |
Constructor. The user should call initializeFrom and init services in this given order to ensure consistency. More... | |
virtual | ~CompRow_ILUPreconditioner (void) |
Destructor. More... | |
virtual void | init (const SparseMtrx &a) |
Initializes the receiver (constructs the precontioning matrix M) of given matrix. More... | |
void | initialize (const DynCompRow &A) |
virtual void | solve (const FloatArray &x, FloatArray &y) const |
Solves the linear system. More... | |
virtual void | trans_solve (const FloatArray &x, FloatArray &y) const |
Solves transposed system. More... | |
virtual const char * | giveClassName () const |
returns the preconditioner name More... | |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver from given record. Empty implementation. More... | |
Public Member Functions inherited from oofem::Preconditioner | |
Preconditioner (const SparseMtrx &a, InputRecord &attributes) | |
Constructor. More... | |
Preconditioner () | |
Constructor. More... | |
virtual | ~Preconditioner (void) |
Destructor. More... | |
FloatArray | solve (const FloatArray &rhs) const |
Solves the linear system. More... | |
FloatArray | trans_solve (const FloatArray &rhs) const |
Solves transposed system. More... | |
Protected Member Functions | |
void | qsortCol (IntArray &, FloatArray &, int l, int r) |
int | qsortColPartition (IntArray &, FloatArray &, int l, int r) |
Private Attributes | |
DynCompRow | A |
double | drop_tol |
int | part_fill |
Implemantation of ILU (Incomplete LU) Preconditioner for compressed row sparse matrices.
Fill - up supported.
Definition at line 55 of file ilucomprowprecond.h.
oofem::CompRow_ILUPreconditioner::CompRow_ILUPreconditioner | ( | const SparseMtrx & | A, |
InputRecord & | attributes | ||
) |
Constructor. Initializes the the receiver (constructs the precontioning matrix M) of given matrix.
Definition at line 41 of file ilucomprowprecond.C.
|
inline |
Constructor. The user should call initializeFrom and init services in this given order to ensure consistency.
Definition at line 67 of file ilucomprowprecond.h.
|
inlinevirtual |
Destructor.
Definition at line 69 of file ilucomprowprecond.h.
|
inlinevirtual |
returns the preconditioner name
Reimplemented from oofem::Preconditioner.
Definition at line 86 of file ilucomprowprecond.h.
|
virtual |
Initializes the receiver (constructs the precontioning matrix M) of given matrix.
a | Sparse matrix to be preconditioned |
Reimplemented from oofem::Preconditioner.
Definition at line 60 of file ilucomprowprecond.C.
References A, drop_tol, OOFEM_ERROR, and part_fill.
void oofem::CompRow_ILUPreconditioner::initialize | ( | const DynCompRow & | A | ) |
|
virtual |
Initializes receiver from given record. Empty implementation.
Reimplemented from oofem::Preconditioner.
Definition at line 45 of file ilucomprowprecond.C.
References _IFT_CompRow_ILUPrecond_droptol, _IFT_CompRow_ILUPrecond_partfill, drop_tol, oofem::Preconditioner::initializeFrom(), IR_GIVE_OPTIONAL_FIELD, and part_fill.
|
protected |
|
protected |
|
virtual |
Solves the linear system.
Implements oofem::Preconditioner.
Definition at line 71 of file ilucomprowprecond.C.
References A, and oofem::DynCompRow::ILUPsolve().
|
virtual |
Solves transposed system.
Implements oofem::Preconditioner.
Definition at line 78 of file ilucomprowprecond.C.
References A, and oofem::DynCompRow::ILUPtrans_solve().
|
private |
Definition at line 58 of file ilucomprowprecond.h.
Referenced by init(), solve(), and trans_solve().
|
private |
Definition at line 60 of file ilucomprowprecond.h.
Referenced by init(), and initializeFrom().
|
private |
Definition at line 61 of file ilucomprowprecond.h.
Referenced by init(), and initializeFrom().