OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::CompRow_ILUPreconditioner Class Reference

Implemantation of ILU (Incomplete LU) Preconditioner for compressed row sparse matrices. More...

#include <ilucomprowprecond.h>

+ Inheritance diagram for oofem::CompRow_ILUPreconditioner:
+ Collaboration diagram for oofem::CompRow_ILUPreconditioner:

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
 

Detailed Description

Implemantation of ILU (Incomplete LU) Preconditioner for compressed row sparse matrices.

Fill - up supported.

Definition at line 55 of file ilucomprowprecond.h.

Constructor & Destructor Documentation

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.

oofem::CompRow_ILUPreconditioner::CompRow_ILUPreconditioner ( )
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.

virtual oofem::CompRow_ILUPreconditioner::~CompRow_ILUPreconditioner ( void  )
inlinevirtual

Destructor.

Definition at line 69 of file ilucomprowprecond.h.

Member Function Documentation

virtual const char* oofem::CompRow_ILUPreconditioner::giveClassName ( ) const
inlinevirtual

returns the preconditioner name

Reimplemented from oofem::Preconditioner.

Definition at line 86 of file ilucomprowprecond.h.

void oofem::CompRow_ILUPreconditioner::init ( const SparseMtrx a)
virtual

Initializes the receiver (constructs the precontioning matrix M) of given matrix.

Parameters
aSparse 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)
IRResultType oofem::CompRow_ILUPreconditioner::initializeFrom ( InputRecord ir)
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.

void oofem::CompRow_ILUPreconditioner::qsortCol ( IntArray ,
FloatArray ,
int  l,
int  r 
)
protected
int oofem::CompRow_ILUPreconditioner::qsortColPartition ( IntArray ,
FloatArray ,
int  l,
int  r 
)
protected
void oofem::CompRow_ILUPreconditioner::solve ( const FloatArray x,
FloatArray y 
) const
virtual

Solves the linear system.

Implements oofem::Preconditioner.

Definition at line 71 of file ilucomprowprecond.C.

References A, and oofem::DynCompRow::ILUPsolve().

void oofem::CompRow_ILUPreconditioner::trans_solve ( const FloatArray x,
FloatArray y 
) const
virtual

Solves transposed system.

Implements oofem::Preconditioner.

Definition at line 78 of file ilucomprowprecond.C.

References A, and oofem::DynCompRow::ILUPtrans_solve().

Member Data Documentation

DynCompRow oofem::CompRow_ILUPreconditioner::A
private

Definition at line 58 of file ilucomprowprecond.h.

Referenced by init(), solve(), and trans_solve().

double oofem::CompRow_ILUPreconditioner::drop_tol
private

Definition at line 60 of file ilucomprowprecond.h.

Referenced by init(), and initializeFrom().

int oofem::CompRow_ILUPreconditioner::part_fill
private

Definition at line 61 of file ilucomprowprecond.h.

Referenced by init(), and initializeFrom().


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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:34 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011