HermesCommon
3.0
|
interface for both linear and nonlinear algebraic solvers. More...
#include <matrix_solver.h>
Public Types | |
enum | UMFPACK_reporting_data_value { FactorizationSize = 0, PeakMemoryUsage = 1, Flops = 2 } |
Data values (types) for UMFPACK reporting. | |
Public Member Functions | |
MatrixSolver (bool force_use_direct_solver=false) | |
virtual Scalar * | get_sln_vector () |
Return the solution vector. | |
void | set_jacobian_constant (bool to_set=true) |
Sets the jacobian to be constant, i.e. reused whenever possible. | |
virtual LinearMatrixSolver < Scalar > * | get_linear_matrix_solver () |
virtual void | set_UMFPACK_output (bool to_set=true, bool with_output=false) |
virtual double | get_UMFPACK_reporting_data (UMFPACK_reporting_data_value data_value) |
SparseMatrix< Scalar > * | get_jacobian () |
Only a shortcut for algebraic solver (->) get_matrix(). | |
Vector< Scalar > * | get_residual () |
Only a shortcut for algebraic solver (->) get_rhs(). | |
virtual void | set_verbose_output (bool to_set) |
Verbose output. | |
![]() | |
Loggable (bool verbose_output=false, callbackFn verbose_callback=NULL, bool add_newline=true) | |
void | set_file_output_only (bool onOff) |
void | set_timestamps (bool onOff) |
Sets the addition of a time stamp on each line in the log file. By default it is on. | |
void | set_erase_on_beginning (bool onOff) |
Sets the logFile being always erased before logging. | |
void | set_logFile_name (const char *filename) |
void | set_logFile_name (std::string filename) |
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 |
bool | get_verbose_output () const |
Returns the current value of verbose_output;. | |
virtual void | set_verbose_callback (callbackFn callback) |
callbackFn | get_verbose_callback () const |
Returns the current value of verbose_callback;. | |
Public Attributes | |
Scalar * | sln_vector |
The solution vector. | |
![]() | |
char * | logFileName |
Logfile name. | |
Protected Member Functions | |
void | handle_UMFPACK_reports () |
This is not used now. | |
![]() | |
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 |
Protected Attributes | |
Hermes::Solvers::LinearMatrixSolver < Scalar > * | linear_matrix_solver |
Linear solver. | |
bool | constant_jacobian |
Jacobian can be reused if possible. | |
bool | jacobian_reusable |
Jacobian is ready to be reused if desirable. | |
int | problem_size |
Number of equations. | |
bool | do_UMFPACK_reporting |
double | UMFPACK_reporting_data [3] |
Additional Inherited Members | |
![]() | |
static void | set_static_logFile_name (const char *filename) |
static void | set_static_logFile_name (std::string filename) |
![]() | |
static char * | staticLogFileName = nullptr |
interface for both linear and nonlinear algebraic solvers.
Definition at line 35 of file matrix_solver.h.
Hermes::Solvers::MatrixSolver< Scalar >::MatrixSolver | ( | bool | force_use_direct_solver = false | ) |
Linear solver.
Definition at line 30 of file matrix_solver.cpp.
|
virtual |
This is not used now. Get UMFPACK numerical factorization data provided the used matrix solver is UMFPACK
|
virtual |
This is not used now. Set Reporting of UMFPACK numerical factorization data provided the used matrix solver is UMFPACK.
|
protected |
This is not used now. Switch for UMFPACK reporting.
Definition at line 94 of file matrix_solver.h.
Referenced by Hermes::Solvers::MatrixSolver< Scalar >::MatrixSolver().
|
protected |
This is not used now. Data for UMFPACK reporting.
Definition at line 100 of file matrix_solver.h.