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_
50 template <
typename TAlgebra>
117 template <
typename TDomain,
typename TAlgebra>
184 std::stringstream ss;
185 ss <<
"NonlinearGaussSeidelSolver( damp = " <<
m_damp <<
")\n";
186 ss <<
" ConvergenceCheck: ";
188 else ss <<
" NOT SET!\n";
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
TAlgebra::vector_type vector_type
type of vector
Definition: debug_writer.h:360
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:82
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
virtual bool init(SmartPtr< IOperator< vector_type > > op)
This operator inverts the Operator op: Y -> X.
Definition: nl_gauss_seidel_impl.h:147
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
Wrapper for sequential matrices to handle them in parallel.
Definition: parallel_matrix.h:65
specialization of ISelector for a grid of class Grid.
Definition: selector_grid.h:96
double number
Definition: types.h:124
CPUAlgebra::vector_type vector_type
string ConfigShift(string s)
Definition: string_util.cpp:457
T value_type
Definition: sparsematrix_interface.h:2
Definition: domain_traits.h:53