34 #ifndef UG_PLUGINS__LIMEX__NEWTON_LIMEX
35 #define UG_PLUGINS__LIMEX__NEWTON_LIMEX
49 template <
typename TAlgebra>
Newton solver for assembling-based discretizations solved using Limex.
Definition: newton_limex.h:53
TAlgebra algebra_type
algebra type
Definition: newton_limex.h:56
SmartPtr< AssembledLinearOperator< algebra_type > > m_J
jacobi operator
Definition: newton_limex.h:118
number m_linSolverRate
Definition: newton_limex.h:127
TAlgebra::vector_type vector_type
vector type
Definition: newton_limex.h:59
LimexNewtonSolver()
default constructor
Definition: newton_limex_impl.h:57
virtual bool prepare(vector_type &u)
prepare operator
Definition: newton_limex_impl.h:107
size_t m_linSolverSteps
Definition: newton_limex.h:126
void write_debug(const vector_type &vec, const char *filename)
TAlgebra::matrix_type matrix_type
matrix type
Definition: newton_limex.h:62
SmartPtr< ILinearOperatorInverse< vector_type > > m_spLinearSolver
linear solver
Definition: newton_limex.h:111
number linear_solver_rate() const
prints average linear solver convergence
Definition: newton_limex_impl.h:209
SmartPtr< IAssemble< TAlgebra > > m_spAss
assembling
Definition: newton_limex.h:121
virtual bool init(SmartPtr< IOperator< vector_type > > N)
This operator inverts the operator N: Y -> X.
Definition: newton_limex_impl.h:94
SmartPtr< AssembledOperator< algebra_type > > m_N
assembling routine
Definition: newton_limex.h:115
void set_linear_solver(SmartPtr< ILinearOperatorInverse< vector_type > > LinearSolver)
sets the linear solver
Definition: newton_limex.h:75
virtual std::string config_string() const
Returns information about configuration parameters. This should return necessary information about pa...
Definition: newton_limex_impl.h:221
virtual bool apply(vector_type &u)
apply operator, i.e. N^{-1}(0) = u
Definition: newton_limex_impl.h:114
void write_debug(const matrix_type &mat, const char *filename)
int linear_solver_steps() const
information on linear solver convergence
Definition: newton_limex_impl.h:215
ParallelMatrix< SparseMatrix< double > > matrix_type
ParallelVector< Vector< double > > vector_type