|
HermesCommon
2.0
|
Base class for defining interface for nonlinear solvers. More...
#include <nonlinear_solver.h>
Inheritance diagram for Hermes::Solvers::NonlinearSolver< Scalar >:Public Member Functions | |
| NonlinearSolver (DiscreteProblemInterface< Scalar > *dp) | |
| virtual void | solve (Scalar *coeff_vec) |
| Scalar * | get_sln_vector () |
| void | set_iterative_method (const char *iterative_method_name) |
| void | set_preconditioner (const char *preconditioner_name) |
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. | |
Public Member Functions inherited from Hermes::Mixins::IntegrableWithGlobalOrder | |
| void | set_global_integration_order (unsigned int order) |
Public Member Functions inherited from Hermes::Mixins::SettableComputationTime | |
| virtual void | set_time (double time) |
| set time information for time-dependent problems. | |
| virtual void | set_time_step (double time_step) |
Protected Attributes | |
| DiscreteProblemInterface < Scalar > * | dp |
| NonlinearProblem(DiscreteProblemInterface *) ctor. More... | |
| Scalar * | sln_vector |
| The solution vector. | |
| int | error |
| For use of error measurement. | |
| bool | precond_yes |
| Preconditioned solver. | |
| char * | iterative_method |
| char * | preconditioner |
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... | |
Public Attributes inherited from Hermes::Mixins::IntegrableWithGlobalOrder | |
| bool | global_integration_order_set |
| unsigned int | global_integration_order |
Public Attributes inherited from Hermes::Mixins::SettableComputationTime | |
| double | time |
| double | time_step |
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 |
Base class for defining interface for nonlinear solvers.
Definition at line 36 of file nonlinear_solver.h.
| void Hermes::Solvers::NonlinearSolver< Scalar >::set_iterative_method | ( | const char * | iterative_method_name | ) |
Set the name of the iterative method employed by AztecOO (ignored by the other solvers).
| [in] | preconditioner_name | See the attribute preconditioner. |
Definition at line 57 of file nonlinear_solver.cpp.
| void Hermes::Solvers::NonlinearSolver< Scalar >::set_preconditioner | ( | const char * | preconditioner_name | ) |
Set the name of the preconditioner employed by AztecOO (ignored by the other solvers).
| [in] | preconditioner_name | See the attribute preconditioner. |
Definition at line 71 of file nonlinear_solver.cpp.
|
virtual |
Basic solve method.
| [in] | coeff_vec | initiall guess as a vector of coefficients wrt. basis functions. |
Definition at line 44 of file nonlinear_solver.cpp.
|
protected |
NonlinearProblem(DiscreteProblemInterface *) ctor.
FE problem being solved (not NULL in case of using
Definition at line 60 of file nonlinear_solver.h.
|
protected |
Name of the iterative method employed by AztecOO (ignored by the other solvers). Possibilities: gmres, cg, cgs, tfqmr, bicgstab.
Definition at line 75 of file nonlinear_solver.h.
|
protected |
Name of the preconditioner employed by AztecOO (ignored by the other solvers). Possibilities: none, jacobi, neumann, least-squares, or a preconditioner from IFPACK (see solver/aztecoo.h).
Definition at line 81 of file nonlinear_solver.h.