|
virtual SmartPtr< ILinearIterator< vector_type > > | clone () |
| Clone. More...
|
|
| GaussSeidel () |
| constructor More...
|
|
| GaussSeidel (const GaussSeidel< TAlgebra > &parent) |
| clone constructor More...
|
|
virtual const char * | name () const |
| returns the name of iterator More...
|
|
virtual void | step (const matrix_type &A, vector_type &c, const vector_type &d, const number relax) |
|
void | enable_consistent_interfaces (bool enable) |
| activates the new parallelization approach (disabled by default) More...
|
|
void | enable_overlap (bool enable) |
|
| GaussSeidelBase () |
|
| GaussSeidelBase (const GaussSeidelBase< TAlgebra > &parent) |
| clone constructor More...
|
|
void | set_ordering_algorithm (SmartPtr< ordering_algo_type > ordering_algo) |
| sets an ordering algorithm More...
|
|
void | set_sor_relax (number relaxFactor) |
| set relaxation parameter to define a SOR-method More...
|
|
virtual bool | apply (vector_type &c, const vector_type &d) |
| compute new correction c = B*d More...
|
|
virtual bool | apply_update_defect (vector_type &c, vector_type &d) |
| compute new correction c = B*d and update defect d:= d - L*c More...
|
|
SmartPtr< MatrixOperator< matrix_type, vector_type > > | approx_operator () |
| underlying matrix based operator used for the preconditioner More...
|
|
SmartPtr< MatrixOperator< matrix_type, vector_type > > | defect_operator () |
| underlying matrix based operator for calculation of defect More...
|
|
virtual bool | init (SmartPtr< ILinearOperator< vector_type > > J, const vector_type &u) |
| implements the ILinearIterator-interface for matrix based preconditioner More...
|
|
bool | init (SmartPtr< ILinearOperator< vector_type > > L) |
| implements the ILinearIterator-interface for matrix based preconditioner More...
|
|
bool | init (SmartPtr< MatrixOperator< matrix_type, vector_type > > Op) |
| initializes the preconditioner for a matrix based operator More...
|
|
| IPreconditioner () |
| default constructor More...
|
|
| IPreconditioner (const IPreconditioner< TAlgebra > &parent) |
| clone constructor More...
|
|
| IPreconditioner (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
| constructor setting debug writer More...
|
|
virtual void | set_approximation (SmartPtr< MatrixOperator< matrix_type, vector_type > > approx) |
|
virtual | ~IPreconditioner () |
| virtual destructor More...
|
|
virtual std::string | config_string () const |
|
SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > | damping () |
| returns the scaling More...
|
|
| ILinearIterator () |
| constructor More...
|
|
| ILinearIterator (const ILinearIterator< TAlgebra::vector_type, TAlgebra::vector_type > &parent) |
| copy constructor More...
|
|
virtual bool | init (SmartPtr< ILinearOperator< TAlgebra::vector_type, TAlgebra::vector_type > > J, const TAlgebra::vector_type &u)=0 |
| initialize for operator J(u) and linearization point u More...
|
|
virtual bool | init (SmartPtr< ILinearOperator< TAlgebra::vector_type, TAlgebra::vector_type > > L)=0 |
| initialize for linear operator L More...
|
|
void | set_damp (number factor) |
| sets the damping to a constant factor More...
|
|
void | set_damp (SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > spScaling) |
| sets a scaling for the correction More...
|
|
virtual | ~ILinearIterator () |
| virtual destructor More...
|
|
SmartPtr< IDebugWriter< algebra_type > > | debug_writer () |
| returns the debug writer More...
|
|
ConstSmartPtr< IDebugWriter< algebra_type > > | debug_writer () const |
|
bool | debug_writer_valid () const |
| returns true if the debug writer is set More...
|
|
| DebugWritingObject () |
|
| DebugWritingObject (const DebugWritingObject< algebra_type > &parent) |
| clone constructor More...
|
|
| DebugWritingObject (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
|
virtual void | set_debug (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
| set debug writer More...
|
|
virtual | ~DebugWritingObject () |
| virtual destructor More...
|
|
virtual void | set_debug (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter) |
| set debug writer More...
|
|
SmartPtr< IVectorDebugWriter< vector_type > > | vector_debug_writer () |
| returns the debug writer More...
|
|
ConstSmartPtr< IVectorDebugWriter< vector_type > > | vector_debug_writer () const |
|
bool | vector_debug_writer_valid () const |
| returns true if the debug writer is set More...
|
|
| VectorDebugWritingObject () |
|
| VectorDebugWritingObject (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter) |
|
void | write_debug (const vector_type &vec, const char *filename) |
| writing debug output for a vector (if debug writer set) More...
|
|
virtual | ~VectorDebugWritingObject () |
| virtual destructor More...
|
|
|
typedef TAlgebra | algebra_type |
|
typedef IPreconditioner< TAlgebra > | base_type |
| Base type. More...
|
|
typedef IPreconditioner< TAlgebra >::matrix_operator_type | matrix_operator_type |
| Matrix Operator type. More...
|
|
typedef TAlgebra::matrix_type | matrix_type |
|
typedef IOrderingAlgorithm< TAlgebra, ordering_container_type > | ordering_algo_type |
|
typedef std::vector< size_t > | ordering_container_type |
| Ordering type. More...
|
|
typedef TAlgebra::vector_type | vector_type |
|
typedef TAlgebra | algebra_type |
| Algebra type. More...
|
|
typedef MatrixOperator< matrix_type, vector_type > | matrix_operator_type |
| Matrix Operator type. More...
|
|
typedef TAlgebra::matrix_type | matrix_type |
| Matrix type. More...
|
|
typedef TAlgebra::vector_type | vector_type |
| Vector type. More...
|
|
typedef TAlgebra::vector_type | codomain_function_type |
| Range space. More...
|
|
typedef TAlgebra::vector_type | domain_function_type |
| Domain space. More...
|
|
typedef TAlgebra | algebra_type |
| type of algebra More...
|
|
typedef TAlgebra::matrix_type | matrix_type |
| type of matrix More...
|
|
typedef TAlgebra::vector_type | vector_type |
| type of vector More...
|
|
typedef TAlgebra::vector_type | vector_type |
| type of vector More...
|
|
virtual bool | postprocess () |
| cleans the operator More...
|
|
virtual bool | preprocess (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp) |
| initializes the preconditioner More...
|
|
virtual bool | step (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp, vector_type &c, const vector_type &d) |
| computes a new correction c = B*d More...
|
|
virtual bool | supports_parallel () const |
| returns if parallel solving is supported More...
|
|
void | enter_debug_writer_section (const char *secDir) |
| enters a debugging section More...
|
|
void | enter_debug_writer_section (std::string secDir) |
| enters a debugging section More...
|
|
void | leave_debug_writer_section () |
| leaves a debugging section More...
|
|
void | write_debug (const matrix_type &mat, const char *filename) |
| write debug output for a matrix (if debug writer set) More...
|
|
void | write_debug (const matrix_type &mat, std::string name) |
| write debug output for a matrix (if debug writer set) More...
|
|
void | enter_vector_debug_writer_section (const char *secDir) |
| enters a debugging section More...
|
|
void | enter_vector_debug_writer_section (std::string secDir) |
| enters a debugging section More...
|
|
void | leave_vector_debug_writer_section () |
| leaves a debugging section More...
|
|
void | print_debugger_message (const char *msg) |
| prints a debugger message (listing all the sections) More...
|
|
void | print_debugger_message (std::string msg) |
| prints a debugger message (listing all the sections) More...
|
|
virtual void | write_debug (const vector_type &vec, std::string name) |
| writing debug output for a vector (if debug writer set) More...
|
|
matrix_type | m_A |
|
bool | m_bConsistentInterfaces |
|
vector_type | m_oC |
|
vector_type | m_oD |
| for overlaps only More...
|
|
number | m_relax |
| relaxation parameter More...
|
|
SmartPtr< ordering_algo_type > | m_spOrderingAlgo |
| for ordering algorithms More...
|
|
bool | m_useOverlap |
|
bool | m_bInit |
| init flag indicating if init has been called More...
|
|
bool | m_bOtherApproxOperator |
|
SmartPtr< MatrixOperator< matrix_type, vector_type > > | m_spApproxOperator |
| underlying matrix based operator used for the preconditioner More...
|
|
SmartPtr< ILinearOperator< vector_type > > | m_spDefectOperator |
| underlying matrix based operator for calculation of defect More...
|
|
SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > | m_spDamping |
| the scaling More...
|
|
SmartPtr< IDebugWriter< algebra_type > > | m_spDebugWriter |
| Debug Writer. More...
|
|
SmartPtr< IVectorDebugWriter< vector_type > > | m_spVectorDebugWriter |
| Debug Writer. More...
|
|
template<typename TAlgebra>
class ug::GaussSeidel< TAlgebra >
Gauss-Seidel preconditioner for the 'forward' ordering of the dofs.
This class implements the Gauss-Seidel preconditioner (and smoother) for the 'forward' ordering of the dofs. When a relaxation parameter is set by the method 'set_sor_relax', the resulting preconditioner is better known as (forward) 'SOR'-method. References:
-
W. Hackbusch. Iterative solution of large sparse systems of equations. New York: Springer, 1994
- Template Parameters
-