#include <LinEqSolver.h>
Inheritance diagram for KrylovItSolver::

Public Methods | |
| ~KrylovItSolver () | |
| virtual bool | ok () const |
| virtual bool | solve (LinEqSystem &system) |
| virtual void | debugPrint (Os os, int amount_of_output=1) const |
| virtual String | getCategory () const |
| virtual bool | inCategory (const String &baseclass_name) const |
Protected Methods | |
| KrylovItSolver () | |
| KrylovItSolver (const LinEqSolver_prm &pm) | |
| void | prepare (Residual_type residual_tp) |
| void | grabResidualVector (Residual_type residual_tp, Handle(LinEqVector) &v) |
| void | initResiduals () |
| virtual void | init (const LinEqPrecMode algprec_mode) |
| virtual void | restart () |
| virtual bool | redim (LinEqSystem &system) |
| virtual void | initCommBlk () |
Protected Attributes | |
| Handle(LinEqVector) | r |
| Handle(LinEqVector) | s |
| Handle(LinEqVector) | z |
| bool | use_svector |
| bool | use_zvector |
| Handle(LinEqVector) | prev_r |
| Handle(LinEqVector) | prev_s |
| Handle(LinEqVector) | prev_z |
NAME: KrylovItSolver - base class for Krylov subspace iterations
DESCRIPTION:
This class is the base for any Krylov subspace iteration, where storage of residual vectors is required.
|
|
See class "LinEqSolver". |
|
|
See documentation of one of the overloaded constructor. |
|
|
|
|
|
prints detailed information on the last solve. This is particularly useful for debugging purposes. Reimplemented from IterativeSolver. |
|
|
returns a string indicating the current solver category, e.g., "DirectSolver" or "IterativeSolver". Reimplemented from IterativeSolver. |
|
|
rebinds the handle "v" to refer the solver''s internal residual vector defined by the argument "residual_tp". Typically, "v" is rebound to the standard residual "r" when "residual_tp" has the value "ORIGINAL_RES". |
|
|
checks if the current solver belongs to the specified category. This function is useful when one wants to cast a "LinEqSolver" object to some derived type in order to reach specialized functionality. The test on "inCategory" should then preceed the casting. Reimplemented from IterativeSolver. |
|
|
to be called by "solve" before starting the iteration. This implies redimensioning of internal data structures and other bookeeping details to ensure the flexibility of the "IterativeSolver" framework. (For internal use only). Reimplemented from IterativeSolver. |
|
|
initializes the communication block needed for communication with attached "LinEqSystem", "EigenEstimator", "Precond" and "ConvMonitor" objects. This function is typically called by "init". (For internal use only). Reimplemented from IterativeSolver. |
|
|
allocate and compute initial residuals. |
|
|
returns "true" if the solver is in a healthy state, i.e., if a "LinEqSystem" object is attached. If not, the value "false" is returned. Reimplemented from IterativeSolver. Reimplemented in BiCGStab, CGS, ConjGrad, GMRES, MinRes, Orthomin, SymMinRes, Symmlq, and TFQMR. |
|
|
sets up the storage scheme for residual vectors based on the argument. |
|
|
redimensions internal storage based on the given "LinEqSystem" object. This function is typically called from "solve". Reimplemented from LinEqSolver. Reimplemented in BiCGStab, CGS, ConjGrad, GMRES, MinRes, Orthomin, Symmlq, and TFQMR. |
|
|
Reimplemented from IterativeSolver. |
|
|
solves the linear system given as argument. There is no need for explicit redimensioning of internal data structure, this is automatically done by "solve". Reimplemented from LinEqSolver. Reimplemented in BiCGStab, CGS, ConjGrad, GMRES, MinRes, Orthomin, SymMinRes, Symmlq, and TFQMR. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|