|
Plugins
|
Newton solver for assembling-based discretizations solved using Limex. More...
#include <newton_limex.h>
Inheritance diagram for ug::LimexNewtonSolver< TAlgebra >:Public Types | |
| typedef TAlgebra | algebra_type |
| algebra type | |
| typedef TAlgebra::matrix_type | matrix_type |
| matrix type | |
| typedef TAlgebra::vector_type | vector_type |
| vector type | |
Public Types inherited from ug::IOperatorInverse< TAlgebra::vector_type > | |
| typedef Y | codomain_function_type |
| typedef X | domain_function_type |
Public Member Functions | |
| virtual bool | apply (vector_type &u) |
| apply operator, i.e. N^{-1}(0) = u | |
| virtual std::string | config_string () const |
| Returns information about configuration parameters. This should return necessary information about parameters and possibly calling config_string of subcomponents. | |
| virtual bool | init (SmartPtr< IOperator< vector_type > > N) |
| This operator inverts the operator N: Y -> X. | |
| LimexNewtonSolver () | |
| default constructor | |
| LimexNewtonSolver (SmartPtr< IAssemble< TAlgebra > > spAss) | |
| constructor using assembling | |
| LimexNewtonSolver (SmartPtr< IOperator< vector_type > > N) | |
| constructor setting operator | |
| number | linear_solver_rate () const |
| prints average linear solver convergence | |
| int | linear_solver_steps () const |
| information on linear solver convergence | |
| virtual bool | prepare (vector_type &u) |
| prepare operator | |
| void | set_linear_solver (SmartPtr< ILinearOperatorInverse< vector_type > > LinearSolver) |
| sets the linear solver | |
Public Member Functions inherited from ug::IOperatorInverse< TAlgebra::vector_type > | |
| virtual bool | apply (X &u)=0 |
| virtual bool | init (SmartPtr< IOperator< Y, X > > N)=0 |
| virtual bool | prepare (X &u)=0 |
| virtual | ~IOperatorInverse () |
Private Member Functions | |
| void | write_debug (const vector_type &vec, const char *filename) |
| void | write_debug (const matrix_type &mat, const char *filename) |
Private Attributes | |
| SmartPtr< AssembledLinearOperator< algebra_type > > | m_J |
| jacobi operator | |
| SmartPtr< AssembledOperator< algebra_type > > | m_N |
| assembling routine | |
| SmartPtr< IAssemble< TAlgebra > > | m_spAss |
| assembling | |
| SmartPtr< ILinearOperatorInverse< vector_type > > | m_spLinearSolver |
| linear solver | |
| size_t | m_linSolverSteps |
| number | m_linSolverRate |
Newton solver for assembling-based discretizations solved using Limex.
| typedef TAlgebra ug::LimexNewtonSolver< TAlgebra >::algebra_type |
algebra type
| typedef TAlgebra::matrix_type ug::LimexNewtonSolver< TAlgebra >::matrix_type |
matrix type
| typedef TAlgebra::vector_type ug::LimexNewtonSolver< TAlgebra >::vector_type |
vector type
| ug::LimexNewtonSolver< TAlgebra >::LimexNewtonSolver | ( | ) |
default constructor
| ug::LimexNewtonSolver< TAlgebra >::LimexNewtonSolver | ( | SmartPtr< IOperator< vector_type > > | N | ) |
constructor setting operator
References ug::LimexNewtonSolver< TAlgebra >::init().
| ug::LimexNewtonSolver< TAlgebra >::LimexNewtonSolver | ( | SmartPtr< IAssemble< TAlgebra > > | spAss | ) |
constructor using assembling
|
virtual |
apply operator, i.e. N^{-1}(0) = u
References make_sp(), NEWTON_PROFILE_BEGIN, NEWTON_PROFILE_END, UG_CATCH_THROW, UG_LOGN, and UG_THROW.
|
virtual |
Returns information about configuration parameters. This should return necessary information about parameters and possibly calling config_string of subcomponents.
Implements ug::IOperatorInverse< TAlgebra::vector_type >.
References ug::ConfigShift().
|
virtual |
This operator inverts the operator N: Y -> X.
References NEWTON_PROFILE_BEGIN, and UG_THROW.
Referenced by ug::LimexNewtonSolver< TAlgebra >::LimexNewtonSolver().
| number ug::LimexNewtonSolver< TAlgebra >::linear_solver_rate | ( | ) | const |
prints average linear solver convergence
| int ug::LimexNewtonSolver< TAlgebra >::linear_solver_steps | ( | ) | const |
information on linear solver convergence
|
virtual |
prepare operator
|
inline |
sets the linear solver
References ug::LimexNewtonSolver< TAlgebra >::m_spLinearSolver.
|
private |
help functions for debug output
|
private |
help functions for debug output
|
private |
jacobi operator
|
private |
convergence history of linear solver
|
private |
convergence history of linear solver
|
private |
assembling routine
|
private |
assembling
|
private |
linear solver
Referenced by ug::LimexNewtonSolver< TAlgebra >::set_linear_solver().