38#ifndef __H__UG__LIB_DISC__OPERATOR__NON_LINEAR_OPERATOR__NL_GAUSS_SEIDEL__NL_GAUSS_SEIDEL_H_
39#define __H__UG__LIB_DISC__OPERATOR__NON_LINEAR_OPERATOR__NL_GAUSS_SEIDEL__NL_GAUSS_SEIDEL_H_
50template <
typename TAlgebra>
117template <
typename TDomain,
typename TAlgebra>
184 std::stringstream ss;
185 ss <<
"NonlinearGaussSeidelSolver( damp = " <<
m_damp <<
")\n";
186 ss <<
" ConvergenceCheck: ";
188 else ss <<
" NOT SET!\n";
233 void attach_attachments()
235 typename TDomain::grid_type& grid = *this->domain().grid();
236 grid.attach_to_vertices(m_aElemList);
237 m_aaElemList.access(grid, m_aElemList);
Definition smart_pointer.h:296
Definition smart_pointer.h:108
base class for approximation spaces without type of algebra or dof distribution
Definition approximation_space.h:279
Definition debug_writer.h:354
Definition grid_level.h:42
Definition convergence_check.h:72
interface for definition of special LocalToGlobal mappings
Definition local_to_global_mapper.h:50
describes a mapping X->Y
Definition operator.h:86
describes an inverse mapping X->Y
Definition operator_inverse.h:79
Definition local_algebra.h:422
Definition nl_gauss_seidel.h:52
size_t m_assemblingIndex
Definition nl_gauss_seidel.h:85
void modify_LocalSol(LocalVector &vecMod, const LocalVector &lvec, ConstSmartPtr< DoFDistribution > dd)
modifies local solution vector for adapted defect computation
Definition nl_gauss_seidel.h:76
LocalToGlobalMapperNLGS()
default constructor
Definition nl_gauss_seidel.h:65
TAlgebra algebra_type
Algebra type.
Definition nl_gauss_seidel.h:55
algebra_type::matrix_type matrix_type
Type of algebra matrix.
Definition nl_gauss_seidel.h:58
void add_local_vec_to_global(vector_type &vec, const LocalVector &lvec, ConstSmartPtr< DoFDistribution > dd)
adds a local vector to the global rhs
Definition nl_gauss_seidel_impl.h:63
~LocalToGlobalMapperNLGS()
destructor
Definition nl_gauss_seidel.h:82
void add_local_mat_to_global(matrix_type &mat, const LocalMatrix &lmat, ConstSmartPtr< DoFDistribution > dd)
adds a local matrix to the global matrix
Definition nl_gauss_seidel_impl.h:82
void set_assembling_index(const size_t assIndex)
sets assembling index
Definition nl_gauss_seidel.h:79
algebra_type::vector_type vector_type
Type of algebra vector.
Definition nl_gauss_seidel.h:61
Definition local_algebra.h:198
Nonlinear GaussSeidel-method.
Definition nl_gauss_seidel.h:121
virtual bool prepare(vector_type &u)
prepare Operator
Definition nl_gauss_seidel_impl.h:183
int m_dgbCall
call counter
Definition nl_gauss_seidel.h:225
void set_approximation_space(SmartPtr< approx_space_type > spApproxSpace)
Definition nl_gauss_seidel.h:159
vector_type m_ConsVec
vector describing a constraint
Definition nl_gauss_seidel.h:221
Selector m_sel
selector of elements with contributions to a specific DoF
Definition nl_gauss_seidel.h:245
void set_damp(const number damp)
Definition nl_gauss_seidel.h:164
SmartPtr< AssembledLinearOperator< algebra_type > > m_spJBlock
Definition nl_gauss_seidel.h:214
NLGaussSeidelSolver()
constructor
Definition nl_gauss_seidel_impl.h:125
TAlgebra::vector_type vector_type
Vector type.
Definition nl_gauss_seidel.h:134
ApproximationSpace< domain_type > approx_space_type
Type of approximation space.
Definition nl_gauss_seidel.h:143
TAlgebra algebra_type
Algebra type.
Definition nl_gauss_seidel.h:128
TAlgebra::matrix_type matrix_type
Matrix type.
Definition nl_gauss_seidel.h:131
domain_traits< TDomain::dim >::grid_base_object grid_base_object
Type of geometric base object.
Definition nl_gauss_seidel.h:146
bool m_bProjectedGS
Definition nl_gauss_seidel.h:222
SmartPtr< IConvergenceCheck< vector_type > > m_spConvCheck
Definition nl_gauss_seidel.h:211
ConstSmartPtr< DoFDistribution > m_spSurfDD
Definition nl_gauss_seidel.h:206
GridLevel m_gridLevel
DoF Distribution used.
Definition nl_gauss_seidel.h:209
number m_damp
damping factor
Definition nl_gauss_seidel.h:218
SmartPtr< approx_space_type > m_spApproxSpace
Approximation Space.
Definition nl_gauss_seidel.h:202
SmartPtr< IAssemble< TAlgebra > > m_spAss
Definition nl_gauss_seidel.h:215
std::vector< grid_base_object * > elemList
Definition nl_gauss_seidel.h:241
LocalToGlobalMapperNLGS< TAlgebra > m_map
LocalToGlobal-Mapper which accounts for index-wise assembling.
Definition nl_gauss_seidel.h:248
DebugWritingObject< TAlgebra > base_writer_type
Definition nl_gauss_seidel.h:149
virtual bool apply(vector_type &u)
apply Operator, i.e. op^{-1}(0) = u
Definition nl_gauss_seidel_impl.h:268
vector_type::value_type value_type
Value type.
Definition nl_gauss_seidel.h:137
virtual std::string config_string() const
returns information about configuration parameters
Definition nl_gauss_seidel.h:182
std::vector< elemList > m_vElemList
Definition nl_gauss_seidel.h:242
SmartPtr< AssembledOperator< algebra_type > > m_spAssOp
Definition nl_gauss_seidel.h:213
void set_convergence_check(SmartPtr< IConvergenceCheck< vector_type > > spConvCheck)
Definition nl_gauss_seidel_impl.h:136
void set_constraint(const vector_type &cons)
Definition nl_gauss_seidel.h:166
NLGaussSeidelSolver< TDomain, TAlgebra > this_type
own type
Definition nl_gauss_seidel.h:124
ConstSmartPtr< DoFDistribution > m_spLevDD
DoF distribution pointer.
Definition nl_gauss_seidel.h:205
void write_debug(const vector_type &vec, const char *filename)
Definition nl_gauss_seidel_impl.h:456
TDomain domain_type
Domain type.
Definition nl_gauss_seidel.h:140
specialization of ISelector for a grid of class Grid.
Definition selector_grid.h:96
double number
Definition types.h:124
string ConfigShift(string s)
Definition string_util.cpp:457
Definition domain_traits.h:53