|
| virtual SmartPtr< ILinearIterator< vector_type > > | clone () |
| | Clone.
|
| |
| | GaussSeidel () |
| | constructor
|
| |
| | GaussSeidel (const GaussSeidel< TAlgebra > &parent) |
| | clone constructor
|
| |
| virtual const char * | name () const |
| | returns the name of iterator
|
| |
| 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)
|
| |
| void | enable_overlap (bool enable) |
| |
| | GaussSeidelBase () |
| |
| | GaussSeidelBase (const GaussSeidelBase< TAlgebra > &parent) |
| | clone constructor
|
| |
| void | set_ordering_algorithm (SmartPtr< ordering_algo_type > ordering_algo) |
| | sets an ordering algorithm
|
| |
| void | set_sor_relax (number relaxFactor) |
| | set relaxation parameter to define a SOR-method
|
| |
| virtual bool | apply (vector_type &c, const vector_type &d) |
| | compute new correction c = B*d
|
| |
| virtual bool | apply_update_defect (vector_type &c, vector_type &d) |
| | compute new correction c = B*d and update defect d:= d - L*c
|
| |
| SmartPtr< MatrixOperator< matrix_type, vector_type > > | approx_operator () |
| | underlying matrix based operator used for the preconditioner
|
| |
| SmartPtr< MatrixOperator< matrix_type, vector_type > > | defect_operator () |
| | underlying matrix based operator for calculation of defect
|
| |
| virtual bool | init (SmartPtr< ILinearOperator< vector_type > > J, const vector_type &u) |
| | implements the ILinearIterator-interface for matrix based preconditioner
|
| |
| bool | init (SmartPtr< ILinearOperator< vector_type > > L) |
| | implements the ILinearIterator-interface for matrix based preconditioner
|
| |
| bool | init (SmartPtr< MatrixOperator< matrix_type, vector_type > > Op) |
| | initializes the preconditioner for a matrix based operator
|
| |
| | IPreconditioner () |
| | default constructor
|
| |
| | IPreconditioner (const IPreconditioner< TAlgebra > &parent) |
| | clone constructor
|
| |
| | IPreconditioner (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
| | constructor setting debug writer
|
| |
| virtual void | set_approximation (SmartPtr< MatrixOperator< matrix_type, vector_type > > approx) |
| |
| virtual | ~IPreconditioner () |
| | virtual destructor
|
| |
| virtual std::string | config_string () const |
| |
| SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > | damping () |
| | returns the scaling
|
| |
| | ILinearIterator () |
| | constructor
|
| |
| | ILinearIterator (const ILinearIterator< TAlgebra::vector_type, TAlgebra::vector_type > &parent) |
| | copy constructor
|
| |
| 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
|
| |
| virtual bool | init (SmartPtr< ILinearOperator< TAlgebra::vector_type, TAlgebra::vector_type > > L)=0 |
| | initialize for linear operator L
|
| |
| void | set_damp (number factor) |
| | sets the damping to a constant factor
|
| |
| void | set_damp (SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > spScaling) |
| | sets a scaling for the correction
|
| |
| virtual | ~ILinearIterator () |
| | virtual destructor
|
| |
| SmartPtr< IDebugWriter< algebra_type > > | debug_writer () |
| | returns the debug writer
|
| |
| ConstSmartPtr< IDebugWriter< algebra_type > > | debug_writer () const |
| |
| bool | debug_writer_valid () const |
| | returns true if the debug writer is set
|
| |
| | DebugWritingObject () |
| |
| | DebugWritingObject (const DebugWritingObject< algebra_type > &parent) |
| | clone constructor
|
| |
| | DebugWritingObject (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
| |
| virtual void | set_debug (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
| | set debug writer
|
| |
| virtual | ~DebugWritingObject () |
| | virtual destructor
|
| |
| virtual void | set_debug (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter) |
| | set debug writer
|
| |
| SmartPtr< IVectorDebugWriter< vector_type > > | vector_debug_writer () |
| | returns the debug writer
|
| |
| ConstSmartPtr< IVectorDebugWriter< vector_type > > | vector_debug_writer () const |
| |
| bool | vector_debug_writer_valid () const |
| | returns true if the debug writer is set
|
| |
| | 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)
|
| |
| virtual | ~VectorDebugWritingObject () |
| | virtual destructor
|
| |
|
| typedef TAlgebra | algebra_type |
| |
| typedef IPreconditioner< TAlgebra > | base_type |
| | Base type.
|
| |
| typedef IPreconditioner< TAlgebra >::matrix_operator_type | matrix_operator_type |
| | Matrix Operator type.
|
| |
| 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.
|
| |
| typedef TAlgebra::vector_type | vector_type |
| |
| typedef TAlgebra | algebra_type |
| | Algebra type.
|
| |
| typedef MatrixOperator< matrix_type, vector_type > | matrix_operator_type |
| | Matrix Operator type.
|
| |
| typedef TAlgebra::matrix_type | matrix_type |
| | Matrix type.
|
| |
| typedef TAlgebra::vector_type | vector_type |
| | Vector type.
|
| |
| typedef TAlgebra::vector_type | codomain_function_type |
| | Range space.
|
| |
| typedef TAlgebra::vector_type | domain_function_type |
| | Domain space.
|
| |
| typedef TAlgebra | algebra_type |
| | type of algebra
|
| |
| typedef TAlgebra::matrix_type | matrix_type |
| | type of matrix
|
| |
| typedef TAlgebra::vector_type | vector_type |
| | type of vector
|
| |
| typedef TAlgebra::vector_type | vector_type |
| | type of vector
|
| |
| virtual bool | postprocess () |
| | cleans the operator
|
| |
| virtual bool | preprocess (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp) |
| | initializes the preconditioner
|
| |
| virtual bool | step (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp, vector_type &c, const vector_type &d) |
| | computes a new correction c = B*d
|
| |
| virtual bool | supports_parallel () const |
| | returns if parallel solving is supported
|
| |
| void | enter_debug_writer_section (const char *secDir) |
| | enters a debugging section
|
| |
| void | enter_debug_writer_section (std::string secDir) |
| | enters a debugging section
|
| |
| void | leave_debug_writer_section () |
| | leaves a debugging section
|
| |
| void | write_debug (const matrix_type &mat, const char *filename) |
| | write debug output for a matrix (if debug writer set)
|
| |
| void | write_debug (const matrix_type &mat, std::string name) |
| | write debug output for a matrix (if debug writer set)
|
| |
| void | enter_vector_debug_writer_section (const char *secDir) |
| | enters a debugging section
|
| |
| void | enter_vector_debug_writer_section (std::string secDir) |
| | enters a debugging section
|
| |
| void | leave_vector_debug_writer_section () |
| | leaves a debugging section
|
| |
| void | print_debugger_message (const char *msg) |
| | prints a debugger message (listing all the sections)
|
| |
| void | print_debugger_message (std::string msg) |
| | prints a debugger message (listing all the sections)
|
| |
| virtual void | write_debug (const vector_type &vec, std::string name) |
| | writing debug output for a vector (if debug writer set)
|
| |
| matrix_type | m_A |
| |
| bool | m_bConsistentInterfaces |
| |
| vector_type | m_oC |
| |
| vector_type | m_oD |
| | for overlaps only
|
| |
| number | m_relax |
| | relaxation parameter
|
| |
| SmartPtr< ordering_algo_type > | m_spOrderingAlgo |
| | for ordering algorithms
|
| |
| bool | m_useOverlap |
| |
| bool | m_bInit |
| | init flag indicating if init has been called
|
| |
| bool | m_bOtherApproxOperator |
| |
| SmartPtr< MatrixOperator< matrix_type, vector_type > > | m_spApproxOperator |
| | underlying matrix based operator used for the preconditioner
|
| |
| SmartPtr< ILinearOperator< vector_type > > | m_spDefectOperator |
| | underlying matrix based operator for calculation of defect
|
| |
| SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > | m_spDamping |
| | the scaling
|
| |
| SmartPtr< IDebugWriter< algebra_type > > | m_spDebugWriter |
| | Debug Writer.
|
| |
| SmartPtr< IVectorDebugWriter< vector_type > > | m_spVectorDebugWriter |
| | Debug Writer.
|
| |
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
-