Public Member Functions | Private Attributes | List of all members
oomph::ILUZeroPreconditioner< CRDoubleMatrix > Class Template Reference

ILU(0) Preconditioner for matrices of CRDoubleMatrix Format. More...

#include <general_purpose_preconditioners.h>

+ Inheritance diagram for oomph::ILUZeroPreconditioner< CRDoubleMatrix >:

Public Member Functions

 ILUZeroPreconditioner ()
 Constructor (empty) More...
 
 ILUZeroPreconditioner (const ILUZeroPreconditioner &)
 Broken copy constructor. More...
 
void operator= (const ILUZeroPreconditioner &)
 Broken assignment operator. More...
 
 ~ILUZeroPreconditioner ()
 Destructor (empty) More...
 
void preconditioner_solve (const DoubleVector &r, DoubleVector &z)
 Apply preconditioner to r. More...
 
void setup ()
 Setup the preconditioner (store diagonal) from the fully assembled matrix. Problem pointer is ignored. More...
 
- Public Member Functions inherited from oomph::Preconditioner
 Preconditioner ()
 Constructor. More...
 
 Preconditioner (const Preconditioner &)
 Broken copy constructor. More...
 
void operator= (const Preconditioner &)
 Broken assignment operator. More...
 
virtual ~Preconditioner ()
 Destructor (empty) More...
 
void setup (DoubleMatrixBase *matrix_pt)
 Setup the preconditioner: store the matrix pointer and the communicator pointer then call preconditioner specific setup() function. More...
 
void setup (const Problem *problem_pt, DoubleMatrixBase *matrix_pt)
 Compatability layer for old preconditioners where problem pointers were needed. The problem pointer is only used to get a communicator pointer. More...
 
virtual void clean_up_memory ()
 Clean up memory (empty). Generic interface function. More...
 
virtual DoubleMatrixBasematrix_pt () const
 Get function for matrix pointer. More...
 
virtual void set_matrix_pt (DoubleMatrixBase *matrix_pt)
 Set the matrix pointer. More...
 
virtual const OomphCommunicatorcomm_pt () const
 Get function for comm pointer. More...
 
virtual void set_comm_pt (const OomphCommunicator *const comm_pt)
 Set the communicator pointer. More...
 
double setup_time () const
 Returns the time to setup the preconditioner. More...
 
virtual void turn_into_subsidiary_block_preconditioner (BlockPreconditioner< CRDoubleMatrix > *master_block_prec_pt, const Vector< unsigned > &doftype_in_master_preconditioner_coarse)
 
virtual void turn_into_subsidiary_block_preconditioner (BlockPreconditioner< CRDoubleMatrix > *master_block_prec_pt, const Vector< unsigned > &doftype_in_master_preconditioner_coarse, const Vector< Vector< unsigned > > &doftype_coarsen_map_coarse)
 
- Public Member Functions inherited from oomph::DistributableLinearAlgebraObject
 DistributableLinearAlgebraObject ()
 Default constructor - create a distribution. More...
 
 DistributableLinearAlgebraObject (const DistributableLinearAlgebraObject &matrix)
 Broken copy constructor. More...
 
void operator= (const DistributableLinearAlgebraObject &)
 Broken assignment operator. More...
 
virtual ~DistributableLinearAlgebraObject ()
 Destructor. More...
 
LinearAlgebraDistributiondistribution_pt () const
 access to the LinearAlgebraDistribution More...
 
unsigned nrow () const
 access function to the number of global rows. More...
 
unsigned nrow_local () const
 access function for the num of local rows on this processor. More...
 
unsigned nrow_local (const unsigned &p) const
 access function for the num of local rows on this processor. More...
 
unsigned first_row () const
 access function for the first row on this processor More...
 
unsigned first_row (const unsigned &p) const
 access function for the first row on this processor More...
 
bool distributed () const
 distribution is serial or distributed More...
 
bool distribution_built () const
 
void build_distribution (const LinearAlgebraDistribution *const dist_pt)
 setup the distribution of this distributable linear algebra object More...
 
void build_distribution (const LinearAlgebraDistribution &dist)
 setup the distribution of this distributable linear algebra object More...
 

Private Attributes

Vector< unsigned > U_row_start
 Row start for upper triangular matrix. More...
 
Vector< CompressedMatrixCoefficientU_row_entry
 column entry for the upper triangular matrix (each element of the vector contains the column index and coefficient) More...
 
Vector< unsigned > L_row_start
 Row start for lower triangular matrix. More...
 
Vector< CompressedMatrixCoefficientL_row_entry
 column entry for the lower triangular matrix (each element of the vector contains the column index and coefficient) More...
 

Additional Inherited Members

- Protected Member Functions inherited from oomph::DistributableLinearAlgebraObject
void clear_distribution ()
 clear the distribution of this distributable linear algebra object More...
 

Detailed Description

template<>
class oomph::ILUZeroPreconditioner< CRDoubleMatrix >

ILU(0) Preconditioner for matrices of CRDoubleMatrix Format.

Definition at line 340 of file general_purpose_preconditioners.h.

Constructor & Destructor Documentation

◆ ILUZeroPreconditioner() [1/2]

Constructor (empty)

Definition at line 346 of file general_purpose_preconditioners.h.

◆ ILUZeroPreconditioner() [2/2]

Broken copy constructor.

Definition at line 350 of file general_purpose_preconditioners.h.

References oomph::BrokenCopy::broken_copy().

◆ ~ILUZeroPreconditioner()

Member Function Documentation

◆ operator=()

Broken assignment operator.

Definition at line 356 of file general_purpose_preconditioners.h.

References oomph::BrokenCopy::broken_assign().

◆ preconditioner_solve()

void oomph::ILUZeroPreconditioner< CRDoubleMatrix >::preconditioner_solve ( const DoubleVector r,
DoubleVector z 
)
virtual

◆ setup()

void oomph::ILUZeroPreconditioner< CRDoubleMatrix >::setup ( )
virtual

Member Data Documentation

◆ L_row_entry

column entry for the lower triangular matrix (each element of the vector contains the column index and coefficient)

Definition at line 387 of file general_purpose_preconditioners.h.

◆ L_row_start

Vector<unsigned> oomph::ILUZeroPreconditioner< CRDoubleMatrix >::L_row_start
private

Row start for lower triangular matrix.

Definition at line 383 of file general_purpose_preconditioners.h.

◆ U_row_entry

column entry for the upper triangular matrix (each element of the vector contains the column index and coefficient)

Definition at line 380 of file general_purpose_preconditioners.h.

◆ U_row_start

Vector<unsigned> oomph::ILUZeroPreconditioner< CRDoubleMatrix >::U_row_start
private

Row start for upper triangular matrix.

Definition at line 376 of file general_purpose_preconditioners.h.


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