HermesCommon
2.0
|
Abstract class for defining interface for iterative solvers. Internal, though utilizable for defining interfaces to other algebraic packages. More...
#include <linear_matrix_solver.h>
Public Member Functions | |
virtual int | get_num_iters ()=0 |
virtual double | get_residual ()=0 |
void | set_tolerance (double tol) |
void | set_max_iters (int iters) |
virtual void | set_precond (const char *name)=0 |
virtual void | set_precond (Precond< Scalar > *pc)=0 |
Public Member Functions inherited from Hermes::Solvers::LinearMatrixSolver< Scalar > | |
virtual bool | solve ()=0 |
Scalar * | get_sln_vector () |
int | get_error () |
double | get_time () |
virtual int | get_matrix_size ()=0 |
Get size of matrix. | |
virtual void | set_factorization_scheme (FactorizationScheme reuse_scheme) |
virtual void | set_factorization_scheme () |
Set factorization scheme to default. | |
Public Member Functions inherited from Hermes::Mixins::Loggable | |
void | set_verbose_output (bool to_set) |
Sets the attribute verbose_output to the paramater option passed. | |
bool | get_verbose_output () const |
Returns the current value of verbose_output;. | |
void | set_verbose_callback (callbackFn callback) |
callbackFn | get_verbose_callback () const |
Returns the current value of verbose_callback;. | |
Public Member Functions inherited from Hermes::Mixins::TimeMeasurable | |
TimeMeasurable (const char *name=NULL) | |
Constructs internal structures and starts measuring. | |
const TimeMeasurable & | reset () |
Resets accumulated time. | |
const TimeMeasurable & | tick_reset () |
Starts a new period and resets accumulated time. | |
const TimeMeasurable & | tick (TimeMeasurable::TimerPeriodTickType type=HERMES_ACCUMULATE) |
Starts/ends a new period. | |
const std::string & | name () const |
Returns a name of the time period if any. | |
double | accumulated () const |
Returns accumulated time (in seconds). | |
std::string | accumulated_str () const |
Returns accumulated time in human readable form. | |
double | last () const |
Returns last measured period (in seconds). More... | |
std::string | last_str () const |
Returns last measured period in human readable form. | |
Protected Attributes | |
int | max_iters |
Maximum number of iterations. | |
double | tolerance |
Convergence tolerance. | |
bool | precond_yes |
Protected Attributes inherited from Hermes::Solvers::LinearMatrixSolver< Scalar > | |
Scalar * | sln |
Solution vector. | |
int | error |
double | time |
Time spent on solving (in secs). | |
Additional Inherited Members | |
Public Types inherited from Hermes::Mixins::TimeMeasurable | |
enum | TimerPeriodTickType { HERMES_ACCUMULATE, HERMES_SKIP } |
Tick type. Used by the class Hermes::TimePeriod. More... | |
Protected Member Functions inherited from Hermes::Mixins::Loggable | |
Loggable (bool verbose_output=false, callbackFn verbose_callback=NULL) | |
void | info (const char *msg,...) const |
void | info_if (bool cond, const char *msg,...) const |
void | warn (const char *msg,...) const |
void | warn_if (bool cond, const char *msg,...) const |
void | error (const char *msg,...) const |
void | error_if (bool cond, const char *msg,...) const |
void | hermes_fwrite (const void *ptr, size_t size, size_t nitems, FILE *stream) const |
void | hermes_fread (void *ptr, size_t size, size_t nitems, FILE *stream) const |
Abstract class for defining interface for iterative solvers. Internal, though utilizable for defining interfaces to other algebraic packages.
Definition at line 148 of file linear_matrix_solver.h.
void Hermes::Solvers::IterSolver< Scalar >::set_max_iters | ( | int | iters | ) |
Set maximum number of iterations to perform.
[in] | iters | - number of iterations |
Definition at line 161 of file linear_matrix_solver.cpp.
void Hermes::Solvers::IterSolver< Scalar >::set_tolerance | ( | double | tol | ) |
Set the convergence tolerance.
[in] | tol | - the tolerance to set |
Definition at line 155 of file linear_matrix_solver.cpp.