|
ug4
|
Concrete definition of subspace V_k (based on size_t) More...
#include <sequential_subspace_correction.h>
Inheritance diagram for ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >:Public Types | |
| typedef TAlgebra | algebra_type |
| Algebra type. | |
| typedef std::vector< size_t > | index_vector |
| Local data. | |
| typedef TAlgebra::matrix_type | matrix_type |
| Matrix type. | |
| typedef DenseMatrix< VariableArray2< number > > | matrix_type_local |
| typedef TAlgebra::vector_type | vector_type |
| Vector type. | |
| typedef DenseVector< VariableArray1< number > > | vector_type_local |
Public Types inherited from ug::ILocalSubspace< TDomain, TAlgebra, TObject > | |
| typedef TAlgebra | algebra_type |
| Algebra type. | |
| typedef GridFunction< TDomain, TAlgebra > | grid_function_type |
| Grid function type. | |
| typedef TAlgebra::matrix_type | matrix_type |
| Matrix type. | |
| typedef DenseMatrix< VariableArray2< number > > | matrix_type_local |
| typedef TAlgebra::vector_type | vector_type |
| Vector type. | |
| typedef DenseVector< VariableArray1< number > > | vector_type_local |
Public Member Functions | |
| virtual void | extract_matrix (const matrix_type &A) |
| Extract matrix (on local index set) | |
| virtual void | extract_rhs (const vector_type &d) |
| Extract rhs (on local index set) for parallel subspace correction. | |
| virtual void | extract_rhs (const vector_type &d, const matrix_type &A, const vector_type &c) |
| Extract rhs (on local index set) for sequential subspace correction. | |
| virtual void | init (TObject *, const vector_type &)=0 |
| Called once. | |
| virtual size_t | size () |
| virtual void | update_solution (vector_type &u, double omega=1.0) |
| u = u + ck | |
| virtual | ~LocalIndexSubspace () |
| virtual DTOR | |
Public Member Functions inherited from ug::ILocalSubspace< TDomain, TAlgebra, TObject > | |
| virtual bool | preprocess (const vector_type &c) |
| Called once. | |
| virtual | ~ILocalSubspace () |
| virtual DTOR | |
Protected Attributes | |
| matrix_type_local | m_Aloc |
| vector_type_local | m_dloc |
| vector_type_local | m_uloc |
| Memory for local algebra. | |
| index_vector | m_vInd |
| Algebraic indices. | |
Concrete definition of subspace V_k (based on size_t)
| typedef TAlgebra ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::algebra_type |
Algebra type.
| typedef std::vector<size_t> ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::index_vector |
Local data.
| typedef TAlgebra::matrix_type ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::matrix_type |
Matrix type.
| typedef DenseMatrix< VariableArray2<number> > ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::matrix_type_local |
| typedef TAlgebra::vector_type ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::vector_type |
Vector type.
| typedef DenseVector< VariableArray1<number> > ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::vector_type_local |
|
inlinevirtual |
virtual DTOR
|
inlinevirtual |
Extract matrix (on local index set)
Implements ug::ILocalSubspace< TDomain, TAlgebra, TObject >.
References ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_Aloc, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_vInd, ug::VariableArray2< T, T_ordering >::resize(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::size(), and ug::DenseMatrix< TStorage >::subassign().
|
inlinevirtual |
Extract rhs (on local index set) for parallel subspace correction.
Implements ug::ILocalSubspace< TDomain, TAlgebra, TObject >.
References ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_dloc, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_vInd, ug::VariableArray1< T >::resize(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::size(), and ug::DenseVector< TStorage >::subassign().
|
inlinevirtual |
Extract rhs (on local index set) for sequential subspace correction.
Implements ug::ILocalSubspace< TDomain, TAlgebra, TObject >.
References ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_dloc, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_vInd, ug::MatMultAdd(), ug::VariableArray1< T >::resize(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::size(), and ug::DenseVector< TStorage >::subassign().
|
pure virtual |
Called once.
Extract local data (based on group obj)
Implements ug::ILocalSubspace< TDomain, TAlgebra, TObject >.
|
inlinevirtual |
Reimplemented from ug::ILocalSubspace< TDomain, TAlgebra, TObject >.
References ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_vInd.
Referenced by ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_matrix(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), and ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::update_solution().
|
inlinevirtual |
u = u + ck
Implements ug::ILocalSubspace< TDomain, TAlgebra, TObject >.
References ug::InverseMatMult(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_Aloc, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_dloc, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_uloc, ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_vInd, ug::VariableArray1< T >::resize(), and ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::size().
|
protected |
|
protected |
|
protected |
Memory for local algebra.
Referenced by ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::update_solution().
|
protected |
Algebraic indices.
Referenced by ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_matrix(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::size(), and ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::update_solution().