Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6dev
      Class Index
      File List
   Version 1.0.6
   Version 1.0.5new_solver
   Version 1.0.5dev
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads
Precond Class Referenceabstract

Abstract base preconditioner class. More...

#include <precond.hpp>

Inheritance diagram for Precond:
Diag_Precond Empty_Precond ILU0_Precond ILU1_Precond

Public Member Functions

virtual ~Precond ()
 Virtual destructor. More...
 
virtual Precondcopy (void) const =0
 Get a new copy of preconditiner. More...
 
virtual void prepare (const CRowMatrix &A)=0
 Prepare preconditioner for matrices with non-zero pattern equal to A. More...
 
virtual void construct (const CRowMatrix &A)=0
 Construct preconditioner for matrix A. More...
 
virtual void clear (void)=0
 Clear preconditioner. More...
 
virtual bool is_prepared (void) const =0
 Return false if prepare is needed. More...
 
virtual std::string typestring (void) const =0
 Return string indicating type of preconditioner. More...
 
virtual void solve (Vector &x, const Vector &b) const =0
 Solve M* x = b and return x. Here M is a preconditioner matrix built for matrix A. See implementations of Precond for more information. More...
 

Detailed Description

Abstract base preconditioner class.

Preconditioners are made in two steps. A prepare() function is called to prepare the preconditioner for processing matrices with a certain non-zero pattern. The construct() function can then be used to build the preconditioner for a certain matrix of this type.

Constructor & Destructor Documentation

◆ ~Precond()

virtual Precond::~Precond ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ clear()

virtual void Precond::clear ( void  )
pure virtual

Clear preconditioner.

Clears preconditioner. Both prepare() and construct() functions have to be called after this.

Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.

◆ construct()

virtual void Precond::construct ( const CRowMatrix A)
pure virtual

Construct preconditioner for matrix A.

Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.

◆ copy()

virtual Precond* Precond::copy ( void  ) const
pure virtual

Get a new copy of preconditiner.

Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.

◆ is_prepared()

virtual bool Precond::is_prepared ( void  ) const
pure virtual

Return false if prepare is needed.

Returns true if prepare is not needed and false if it is.

Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.

◆ prepare()

virtual void Precond::prepare ( const CRowMatrix A)
pure virtual

Prepare preconditioner for matrices with non-zero pattern equal to A.

Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.

◆ solve()

virtual void Precond::solve ( Vector x,
const Vector b 
) const
pure virtual

Solve M* x = b and return x. Here M is a preconditioner matrix built for matrix A. See implementations of Precond for more information.

Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.

◆ typestring()

virtual std::string Precond::typestring ( void  ) const
pure virtual

Return string indicating type of preconditioner.

Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.


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


Reference manual for Ion Beam Simulator 1.0.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.