Plugins
|
Newton solver for assembling-based discretizations solved using Limex. More...
#include <newton_limex.h>
Public Types | |
typedef TAlgebra | algebra_type |
algebra type More... | |
typedef TAlgebra::matrix_type | matrix_type |
matrix type More... | |
typedef TAlgebra::vector_type | vector_type |
vector type More... | |
Public Types inherited from ug::IOperatorInverse< class, class > | |
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 More... | |
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. More... | |
virtual bool | init (SmartPtr< IOperator< vector_type > > N) |
This operator inverts the operator N: Y -> X. More... | |
LimexNewtonSolver () | |
default constructor More... | |
LimexNewtonSolver (SmartPtr< IAssemble< TAlgebra > > spAss) | |
constructor using assembling More... | |
LimexNewtonSolver (SmartPtr< IOperator< vector_type > > N) | |
constructor setting operator More... | |
number | linear_solver_rate () const |
prints average linear solver convergence More... | |
int | linear_solver_steps () const |
information on linear solver convergence More... | |
virtual bool | prepare (vector_type &u) |
prepare operator More... | |
void | set_linear_solver (SmartPtr< ILinearOperatorInverse< vector_type > > LinearSolver) |
sets the linear solver More... | |
Public Member Functions inherited from ug::IOperatorInverse< class, class > | |
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 More... | |
SmartPtr< AssembledOperator< algebra_type > > | m_N |
assembling routine More... | |
SmartPtr< IAssemble< TAlgebra > > | m_spAss |
assembling More... | |
SmartPtr< ILinearOperatorInverse< vector_type > > | m_spLinearSolver |
linear solver More... | |
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, ParallelVector< Vector< double > >::set(), 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< class, class >.
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 |
prints average linear solver convergence
int ug::LimexNewtonSolver< TAlgebra >::linear_solver_steps |
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().