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

Abstract definition for subspace V_k. More...

#include <sequential_subspace_correction.h>

+ Inheritance diagram for ug::ILocalSubspace< TDomain, TAlgebra, TObject >:

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...
 

Detailed Description

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

Abstract definition for subspace V_k.

Member Typedef Documentation

◆ algebra_type

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

Algebra type.

◆ grid_function_type

template<typename TDomain , typename TAlgebra , typename TObject >
typedef GridFunction<TDomain, TAlgebra> ug::ILocalSubspace< TDomain, TAlgebra, TObject >::grid_function_type

Grid function type.

◆ matrix_type

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

Matrix type.

◆ matrix_type_local

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

◆ vector_type

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

Vector type.

◆ vector_type_local

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

Constructor & Destructor Documentation

◆ ~ILocalSubspace()

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

virtual DTOR

Member Function Documentation

◆ extract_matrix()

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

◆ extract_rhs() [1/2]

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

◆ extract_rhs() [2/2]

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

◆ init()

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

◆ preprocess()

template<typename TDomain , typename TAlgebra , typename TObject >
virtual bool ug::ILocalSubspace< TDomain, TAlgebra, TObject >::preprocess ( const vector_type c)
inlinevirtual

◆ size()

template<typename TDomain , typename TAlgebra , typename TObject >
virtual size_t ug::ILocalSubspace< TDomain, TAlgebra, TObject >::size ( )
inlinevirtual

◆ update_solution()

template<typename TDomain , typename TAlgebra , typename TObject >
virtual void ug::ILocalSubspace< TDomain, TAlgebra, TObject >::update_solution ( vector_type u,
double  omega = 1.0 
)
pure virtual

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