|
ug4
|
#include <transforming.h>
Inheritance diagram for ug::AssembledTransformingSmoother< TDomain, TAlgebra >:Public Types | |
| typedef TAlgebra | algebra_type |
| Algebra type. | |
| typedef TDomain | domain_type |
| Domain. | |
| typedef algebra_type::matrix_type | matrix_type |
| Matrix type. | |
| typedef algebra_type::vector_type | vector_type |
| Vector type. | |
Public Types inherited from ug::ITransformingIteration< TAlgebra, AssembledTransformingSmoother< TDomain, TAlgebra > > | |
| typedef TAlgebra | algebra_type |
| Algebra type. | |
| typedef algebra_type::matrix_type | matrix_type |
| Matrix type. | |
| typedef algebra_type::vector_type | vector_type |
| Vector type. | |
Public Types inherited from ug::ILinearIterator< TAlgebra::vector_type > | |
| typedef TAlgebra::vector_type | codomain_function_type |
| Range space. | |
| typedef TAlgebra::vector_type | domain_function_type |
| Domain space. | |
Public Types inherited from ug::DebugWritingObject< TAlgebra > | |
| 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 | |
Public Types inherited from ug::VectorDebugWritingObject< TAlgebra::vector_type > | |
| typedef TAlgebra::vector_type | vector_type |
| type of vector | |
Public Member Functions | |
| bool | apply_transformed (vector_type &c, const vector_type &d) |
| AssembledTransformingSmoother (SmartPtr< IAssemble< TAlgebra > > spAuxSystemAss, SmartPtr< ILinearIterator< vector_type > > spAuxSmoother, SmartPtr< IAssemble< TAlgebra > > spRightTrafoAss, SmartPtr< ILinearIterator< vector_type > > spRightTrafoSmoother=SPNULL) | |
| constructor setting approximation space | |
| SmartPtr< ILinearIterator< vector_type > > | clone () |
| Clone. | |
| bool | init (SmartPtr< ILinearOperator< vector_type > > J, const vector_type &u) |
| bool | init (SmartPtr< ILinearOperator< vector_type > > L) |
| Since we need grid information, linear operators are not supported... | |
| virtual const char * | name () const |
| name | |
| SmartPtr< ILinearOperator< vector_type > > | original_operator () |
| virtual bool | supports_parallel () const |
| returns if parallel solving is supported | |
| bool | transform_defect (vector_type &c, const vector_type &d) |
| bool | untransform_correction (vector_type &c, const vector_type &d) |
Public Member Functions inherited from ug::ITransformingIteration< TAlgebra, AssembledTransformingSmoother< TDomain, TAlgebra > > | |
| virtual bool | apply (vector_type &c, const vector_type &d) |
| implementation of apply (final, non-CRTP) | |
| bool | apply_transformed (vector_type &c, const vector_type &d) |
| map: dtilde -> ctilde (CRTP) | |
| virtual bool | apply_update_defect (vector_type &c, vector_type &d) |
| implementation of apply (final, non-CRTP) | |
| bool | init (SmartPtr< ILinearOperator< vector_type > > J, const vector_type &u) |
| implementation of init for non-linear (CRTP) | |
| bool | init (SmartPtr< ILinearOperator< vector_type > > L) |
| implementation of init for linear (CRTP) | |
| ITransformingIteration () | |
| ITransformingIteration (const ITransformingIteration &ti) | |
| SmartPtr< ILinearOperator< vector_type > > | original_operator () |
| original operator (CRTP) | |
| bool | transform_defect (vector_type &c, const vector_type &d) |
| map: d -> dtilde (CRTP) | |
| bool | untransform_correction (vector_type &c, const vector_type &d) |
| map: ctilde -> c (CRTP) | |
Public Member Functions inherited from ug::ILinearIterator< TAlgebra::vector_type > | |
| virtual bool | apply (TAlgebra::vector_type &c, const TAlgebra::vector_type &d)=0 |
| compute new correction c = B*d | |
| virtual bool | apply_update_defect (TAlgebra::vector_type &c, TAlgebra::vector_type &d)=0 |
| compute new correction c = B*d and update defect d := d - A*c | |
| 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 | |
Public Member Functions inherited from ug::DebugWritingObject< TAlgebra > | |
| 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 | |
Public Member Functions inherited from ug::VectorDebugWritingObject< TAlgebra::vector_type > | |
| 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 | |
Additional Inherited Members | |
Protected Member Functions inherited from ug::DebugWritingObject< TAlgebra > | |
| 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) | |
Protected Member Functions inherited from ug::VectorDebugWritingObject< TAlgebra::vector_type > | |
| 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) | |
| typedef TAlgebra ug::AssembledTransformingSmoother< TDomain, TAlgebra >::algebra_type |
Algebra type.
| typedef TDomain ug::AssembledTransformingSmoother< TDomain, TAlgebra >::domain_type |
| typedef algebra_type::matrix_type ug::AssembledTransformingSmoother< TDomain, TAlgebra >::matrix_type |
Matrix type.
| typedef algebra_type::vector_type ug::AssembledTransformingSmoother< TDomain, TAlgebra >::vector_type |
Vector type.
|
inline |
constructor setting approximation space
| bool ug::AssembledTransformingSmoother< TDomain, TAlgebra >::apply_transformed | ( | vector_type & | c, |
| const vector_type & | d | ||
| ) |
temporary vector for defect vector_type dTmp; dTmp.resize(d.size());
copy defect dTmp = d;
work on copy return apply_update_defect(c, dTmp);
References UG_LOG.
|
virtual |
Clone.
Implements ug::ILinearIterator< TAlgebra::vector_type >.
| bool ug::AssembledTransformingSmoother< TDomain, TAlgebra >::init | ( | SmartPtr< ILinearOperator< vector_type > > | J, |
| const vector_type & | u | ||
| ) |
References ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), UG_CATCH_THROW, and UG_THROW.
|
inline |
Since we need grid information, linear operators are not supported...
References UG_THROW.
|
inlinevirtual |
name
Implements ug::ILinearIterator< TAlgebra::vector_type >.
|
inline |
|
inlinevirtual |
returns if parallel solving is supported
Implements ug::ILinearIterator< TAlgebra::vector_type >.
References ug::AssembledTransformingSmoother< TDomain, TAlgebra >::m_spAuxSmoother.
|
inline |
| bool ug::AssembledTransformingSmoother< TDomain, TAlgebra >::untransform_correction | ( | vector_type & | c, |
| const vector_type & | d | ||
| ) |
References ug::PST_CONSISTENT, SPNULL, and UG_LOG.
|
protected |
auxiliary correction vector
|
protected |
matrix (operator) of transformed system
|
protected |
smoother used on transformed system
Referenced by ug::AssembledTransformingSmoother< TDomain, TAlgebra >::supports_parallel().
|
protected |
assembling the transformed system
|
protected |
matrix for original system
Referenced by ug::AssembledTransformingSmoother< TDomain, TAlgebra >::original_operator().
|
protected |
assembling the right-transformation
|
protected |
matrix (operator) of right-transformation
|
protected |
smoother used on transformed system