|
HermesCommon
2.0
|
Abstract class for defining solver interface. More...
#include <linear_matrix_solver.h>
Inheritance diagram for Hermes::Solvers::LinearMatrixSolver< Scalar >:Public Member Functions | |
| 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 | |
| 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 solver interface.
Typical usage is through the function create_linear_solver(Matrix<Scalar>* matrix, Vector<Scalar>* rhs).
Definition at line 92 of file linear_matrix_solver.h.
| int Hermes::Solvers::LinearMatrixSolver< Scalar >::get_error | ( | ) |
Definition at line 59 of file linear_matrix_solver.cpp.
| Scalar * Hermes::Solvers::LinearMatrixSolver< Scalar >::get_sln_vector | ( | ) |
Get solution vector.
Definition at line 53 of file linear_matrix_solver.cpp.
| double Hermes::Solvers::LinearMatrixSolver< Scalar >::get_time | ( | ) |
Get time spent on solving.
Definition at line 65 of file linear_matrix_solver.cpp.
|
inlinevirtual |
Set factorization scheme.
| [in] | reuse_scheme | factoriztion scheme to set |
Reimplemented in Hermes::Solvers::DirectSolver< Scalar >.
Definition at line 117 of file linear_matrix_solver.h.
|
pure virtual |
Solve.
|
protected |
Definition at line 126 of file linear_matrix_solver.h.