ug4
|
#include <constrained_linear_iterator.h>
Classes | |
struct | apply_update_defect_impl |
struct | apply_update_defect_impl< S, typename boost::enable_if< boost::is_base_of< IPreconditioner< TAlgebra >, S > >::type > |
Public Types | |
typedef TLinIt | base_type |
typedef GridFunction< TDomain, TAlgebra > | gf_type |
typedef TAlgebra::vector_type | vector_type |
Public Member Functions | |
virtual SmartPtr< ILinearIterator< vector_type > > | clone () |
clone More... | |
ConstrainedLinearIterator (const ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt > &parent) | |
clone constructor More... | |
ConstrainedLinearIterator (SmartPtr< IDomainDiscretization< TAlgebra > > domDisc) | |
constructor More... | |
void | set_time (number time) |
setter for time More... | |
virtual bool | supports_parallel () const |
returns if parallel solving is supported More... | |
virtual | ~ConstrainedLinearIterator () |
destructor More... | |
Protected Member Functions | |
virtual bool | apply (vector_type &c, const vector_type &d) |
virtual bool | apply_update_defect (vector_type &c, vector_type &d) |
virtual bool | init (SmartPtr< ILinearOperator< vector_type, vector_type > > J, const vector_type &u) |
virtual bool | init (SmartPtr< ILinearOperator< vector_type, vector_type > > L) |
virtual const char * | name () const |
returns the name of iterator More... | |
Protected Attributes | |
SmartPtr< IDomainDiscretization< TAlgebra > > | m_spDomDisc |
SmartPtr< ILinearIterator< vector_type > > | m_spLinIt |
number | m_time |
Friends | |
struct | apply_update_defect_impl< TLinIt > |
This class is a template for constraint-respecting versions of any linear iterator derived from ILinearIterator. This includes linear solvers as well as preconditioners. The derived ILinearIterator class must have a constructor without arguments. The handled constraints must implement the two methods: adjust_correction(), adjust_defect().
typedef TLinIt ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::base_type |
typedef GridFunction<TDomain, TAlgebra> ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::gf_type |
typedef TAlgebra::vector_type ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::vector_type |
|
inline |
constructor
|
inline |
clone constructor
|
inlinevirtual |
destructor
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlinevirtual |
clone
References make_sp().
|
inlineprotectedvirtual |
References init().
|
inlineprotectedvirtual |
References init().
|
inlineprotectedvirtual |
returns the name of iterator
This method returns the name of the iterator operator. This function is typically needed, when the iterator operator is used inside of another operator and some debug output should be printed
References name.
|
inline |
setter for time
References ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::m_time.
|
inlinevirtual |
returns if parallel solving is supported
|
friend |
|
protected |
|
protected |
|
protected |
Referenced by ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::apply(), ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::apply_update_defect_impl< S, typename >::operator()(), and ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::set_time().