ug4
|
Abstract definition for subspace V_k. More...
#include <sequential_subspace_correction.h>
Public Types | |
typedef TAlgebra | algebra_type |
Algebra type. More... | |
typedef GridFunction< TDomain, TAlgebra > | grid_function_type |
Grid function type. More... | |
typedef TAlgebra::matrix_type | matrix_type |
Matrix type. More... | |
typedef DenseMatrix< VariableArray2< number > > | matrix_type_local |
typedef TAlgebra::vector_type | vector_type |
Vector type. More... | |
typedef DenseVector< VariableArray1< number > > | vector_type_local |
Public Member Functions | |
virtual void | extract_matrix (const matrix_type &A)=0 |
Extract matrix (on local index set). More... | |
virtual void | extract_rhs (const vector_type &d)=0 |
Extract rhs (on local index set) for parallel subspace correction. More... | |
virtual void | extract_rhs (const vector_type &d, const matrix_type &A, const vector_type &c)=0 |
Extract rhs (on local index set) for sequential subspace correction. More... | |
virtual void | init (TObject *, const vector_type &)=0 |
Extract local data (based on group obj). More... | |
virtual bool | preprocess (const vector_type &c) |
Called once. More... | |
virtual size_t | size () |
virtual void | update_solution (vector_type &u, double omega=1.0)=0 |
u = u + omega*ck. More... | |
virtual | ~ILocalSubspace () |
virtual DTOR More... | |
Abstract definition for subspace V_k.
typedef TAlgebra ug::ILocalSubspace< TDomain, TAlgebra, TObject >::algebra_type |
Algebra type.
typedef GridFunction<TDomain, TAlgebra> ug::ILocalSubspace< TDomain, TAlgebra, TObject >::grid_function_type |
Grid function type.
typedef TAlgebra::matrix_type ug::ILocalSubspace< TDomain, TAlgebra, TObject >::matrix_type |
Matrix type.
typedef DenseMatrix< VariableArray2<number> > ug::ILocalSubspace< TDomain, TAlgebra, TObject >::matrix_type_local |
typedef TAlgebra::vector_type ug::ILocalSubspace< TDomain, TAlgebra, TObject >::vector_type |
Vector type.
typedef DenseVector< VariableArray1<number> > ug::ILocalSubspace< TDomain, TAlgebra, TObject >::vector_type_local |
|
inlinevirtual |
virtual DTOR
|
pure virtual |
Extract matrix (on local index set).
Implemented in ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >, ug::LocalDoFSubspace< TDomain, TAlgebra, Vertex >, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >, and ug::LocalIndexSubspace< TDomain, TAlgebra, Vertex >.
Referenced by ug::ParallelSubspaceCorrectionLoop(), ug::SequentialSubspaceCorrectionLoop(), and ug::SequentialSubspaceCorrectionLoopBackward().
|
pure virtual |
Extract rhs (on local index set) for parallel subspace correction.
Implemented in ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >, ug::LocalDoFSubspace< TDomain, TAlgebra, Vertex >, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >, and ug::LocalIndexSubspace< TDomain, TAlgebra, Vertex >.
Referenced by ug::ParallelSubspaceCorrectionLoop(), ug::SequentialSubspaceCorrectionLoop(), and ug::SequentialSubspaceCorrectionLoopBackward().
|
pure virtual |
Extract rhs (on local index set) for sequential subspace correction.
Implemented in ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >, ug::LocalDoFSubspace< TDomain, TAlgebra, Vertex >, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >, and ug::LocalIndexSubspace< TDomain, TAlgebra, Vertex >.
|
pure virtual |
Extract local data (based on group obj).
Implemented in ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >, and ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >.
Referenced by ug::ParallelSubspaceCorrectionLoop(), ug::SequentialSubspaceCorrectionLoop(), and ug::SequentialSubspaceCorrectionLoopBackward().
|
inlinevirtual |
Called once.
Reimplemented in ug::VertexCenteredVankaSubspace< TDomain, TAlgebra >.
|
inlinevirtual |
|
pure virtual |
u = u + omega*ck.
Implemented in ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >, ug::LocalDoFSubspace< TDomain, TAlgebra, Vertex >, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >, and ug::LocalIndexSubspace< TDomain, TAlgebra, Vertex >.
Referenced by ug::ParallelSubspaceCorrectionLoop(), ug::SequentialSubspaceCorrectionLoop(), and ug::SequentialSubspaceCorrectionLoopBackward().