ug4
ug::LocalIndexSubspace< TDomain, TAlgebra, TObject > Class Template Referenceabstract

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. More...
 
typedef std::vector< size_t > index_vector
 Local data. 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 Types inherited from ug::ILocalSubspace< TDomain, TAlgebra, TObject >
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)
 Extract matrix (on local index set) More...
 
virtual void extract_rhs (const vector_type &d)
 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)
 Extract rhs (on local index set) for sequential subspace correction. More...
 
virtual void init (TObject *, const vector_type &)=0
 Called once. More...
 
virtual size_t size ()
 
virtual void update_solution (vector_type &u, double omega=1.0)
 u = u + ck More...
 
virtual ~LocalIndexSubspace ()
 virtual DTOR More...
 
- Public Member Functions inherited from ug::ILocalSubspace< TDomain, TAlgebra, TObject >
virtual bool preprocess (const vector_type &c)
 Called once. More...
 
virtual ~ILocalSubspace ()
 virtual DTOR More...
 

Protected Attributes

matrix_type_local m_Aloc
 
vector_type_local m_dloc
 
vector_type_local m_uloc
 Memory for local algebra. More...
 
index_vector m_vInd
 Algebraic indices. More...
 

Detailed Description

template<typename TDomain, typename TAlgebra, typename TObject>
class ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >

Concrete definition of subspace V_k (based on size_t)

Member Typedef Documentation

◆ algebra_type

template<typename TDomain , typename TAlgebra , typename TObject >
typedef TAlgebra ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::algebra_type

Algebra type.

◆ index_vector

template<typename TDomain , typename TAlgebra , typename TObject >
typedef std::vector<size_t> ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::index_vector

Local data.

◆ matrix_type

template<typename TDomain , typename TAlgebra , typename TObject >
typedef TAlgebra::matrix_type ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::matrix_type

Matrix type.

◆ matrix_type_local

template<typename TDomain , typename TAlgebra , typename TObject >
typedef DenseMatrix< VariableArray2<number> > ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::matrix_type_local

◆ vector_type

template<typename TDomain , typename TAlgebra , typename TObject >
typedef TAlgebra::vector_type ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::vector_type

Vector type.

◆ vector_type_local

template<typename TDomain , typename TAlgebra , typename TObject >
typedef DenseVector< VariableArray1<number> > ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::vector_type_local

Constructor & Destructor Documentation

◆ ~LocalIndexSubspace()

template<typename TDomain , typename TAlgebra , typename TObject >
virtual ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::~LocalIndexSubspace ( )
inlinevirtual

virtual DTOR

Member Function Documentation

◆ extract_matrix()

template<typename TDomain , typename TAlgebra , typename TObject >
virtual void ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_matrix ( const matrix_type A)
inlinevirtual

◆ extract_rhs() [1/2]

template<typename TDomain , typename TAlgebra , typename TObject >
virtual void ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_rhs ( const vector_type d)
inlinevirtual

◆ extract_rhs() [2/2]

template<typename TDomain , typename TAlgebra , typename TObject >
virtual void ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_rhs ( const vector_type d,
const matrix_type A,
const vector_type c 
)
inlinevirtual

◆ init()

template<typename TDomain , typename TAlgebra , typename TObject >
virtual void ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::init ( TObject *  ,
const vector_type  
)
pure virtual

Called once.

Extract local data (based on group obj)

Implements ug::ILocalSubspace< TDomain, TAlgebra, TObject >.

◆ size()

◆ update_solution()

Member Data Documentation

◆ m_Aloc

template<typename TDomain , typename TAlgebra , typename TObject >
matrix_type_local ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_Aloc
protected

◆ m_dloc

template<typename TDomain , typename TAlgebra , typename TObject >
vector_type_local ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_dloc
protected

◆ m_uloc

template<typename TDomain , typename TAlgebra , typename TObject >
vector_type_local ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::m_uloc
protected

◆ m_vInd


The documentation for this class was generated from the following file: