ug4
ug::AgglomeratingBase< TBase, TAlgebra > Class Template Referenceabstract

#include <agglomerating_solver.h>

+ Inheritance diagram for ug::AgglomeratingBase< TBase, TAlgebra >:

Public Types

typedef TAlgebra algebra_type
 
typedef TAlgebra::matrix_type matrix_type
 
typedef TAlgebra::vector_type vector_type
 

Public Member Functions

virtual bool apply (vector_type &x, const vector_type &b)
 
virtual bool apply_agglomerated (vector_type &x, const vector_type &b)=0
 
virtual bool apply_return_defect (vector_type &u, vector_type &f)
 
virtual bool apply_update_defect (vector_type &u, vector_type &f)
 
virtual bool base_init (SmartPtr< ILinearOperator< vector_type > > A)
 
bool base_init (SmartPtr< MatrixOperator< matrix_type, vector_type > > Op)
 Preprocess routine. More...
 
void broadcast_vector_from_one (vector_type &x, const vector_type &collectedX, ParallelStorageType type)
 
bool empty ()
 
void gather_vector_on_one (vector_type &collectedB, const vector_type &b, ParallelStorageType type)
 
bool i_am_root ()
 
virtual bool init_agglomerated (SmartPtr< MatrixOperator< matrix_type, vector_type > > Op)=0
 
void init_collected_vec (vector_type &collectedX)
 
bool init_mat (const matrix_type &A)
 
bool is_serial ()
 
virtual bool step (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp, vector_type &c, const vector_type &d)
 
virtual ~AgglomeratingBase ()
 

Protected Attributes

HorizontalAlgebraLayouts agglomerationLayout
 
vector_type collectedB
 
vector_type collectedX
 
bool m_bEmpty
 
bool m_bRoot
 
matrix_typem_pMatrix
 
SmartPtr< MatrixOperator< matrix_type, vector_type > > m_spCollectedOp
 
SmartPtr< AlgebraLayoutsm_spLocalAlgebraLayouts
 

Member Typedef Documentation

◆ algebra_type

template<typename TBase , typename TAlgebra >
typedef TAlgebra ug::AgglomeratingBase< TBase, TAlgebra >::algebra_type

◆ matrix_type

template<typename TBase , typename TAlgebra >
typedef TAlgebra::matrix_type ug::AgglomeratingBase< TBase, TAlgebra >::matrix_type

◆ vector_type

template<typename TBase , typename TAlgebra >
typedef TAlgebra::vector_type ug::AgglomeratingBase< TBase, TAlgebra >::vector_type

Constructor & Destructor Documentation

◆ ~AgglomeratingBase()

template<typename TBase , typename TAlgebra >
virtual ug::AgglomeratingBase< TBase, TAlgebra >::~AgglomeratingBase ( )
inlinevirtual

Member Function Documentation

◆ apply()

◆ apply_agglomerated()

template<typename TBase , typename TAlgebra >
virtual bool ug::AgglomeratingBase< TBase, TAlgebra >::apply_agglomerated ( vector_type x,
const vector_type b 
)
pure virtual

◆ apply_return_defect()

template<typename TBase , typename TAlgebra >
virtual bool ug::AgglomeratingBase< TBase, TAlgebra >::apply_return_defect ( vector_type u,
vector_type f 
)
inlinevirtual

◆ apply_update_defect()

template<typename TBase , typename TAlgebra >
virtual bool ug::AgglomeratingBase< TBase, TAlgebra >::apply_update_defect ( vector_type u,
vector_type f 
)
inlinevirtual

◆ base_init() [1/2]

template<typename TBase , typename TAlgebra >
virtual bool ug::AgglomeratingBase< TBase, TAlgebra >::base_init ( SmartPtr< ILinearOperator< vector_type > >  A)
inlinevirtual

◆ base_init() [2/2]

◆ broadcast_vector_from_one()

template<typename TBase , typename TAlgebra >
void ug::AgglomeratingBase< TBase, TAlgebra >::broadcast_vector_from_one ( vector_type x,
const vector_type collectedX,
ParallelStorageType  type 
)
inline

◆ empty()

template<typename TBase , typename TAlgebra >
bool ug::AgglomeratingBase< TBase, TAlgebra >::empty ( )
inline

◆ gather_vector_on_one()

template<typename TBase , typename TAlgebra >
void ug::AgglomeratingBase< TBase, TAlgebra >::gather_vector_on_one ( vector_type collectedB,
const vector_type b,
ParallelStorageType  type 
)
inline

◆ i_am_root()

◆ init_agglomerated()

template<typename TBase , typename TAlgebra >
virtual bool ug::AgglomeratingBase< TBase, TAlgebra >::init_agglomerated ( SmartPtr< MatrixOperator< matrix_type, vector_type > >  Op)
pure virtual

◆ init_collected_vec()

◆ init_mat()

◆ is_serial()

template<typename TBase , typename TAlgebra >
bool ug::AgglomeratingBase< TBase, TAlgebra >::is_serial ( )
inline

◆ step()

template<typename TBase , typename TAlgebra >
virtual bool ug::AgglomeratingBase< TBase, TAlgebra >::step ( SmartPtr< MatrixOperator< matrix_type, vector_type > >  pOp,
vector_type c,
const vector_type d 
)
inlinevirtual

Member Data Documentation

◆ agglomerationLayout

◆ collectedB

◆ collectedX

◆ m_bEmpty

template<typename TBase , typename TAlgebra >
bool ug::AgglomeratingBase< TBase, TAlgebra >::m_bEmpty
protected

◆ m_bRoot

template<typename TBase , typename TAlgebra >
bool ug::AgglomeratingBase< TBase, TAlgebra >::m_bRoot
protected

◆ m_pMatrix

◆ m_spCollectedOp

◆ m_spLocalAlgebraLayouts

template<typename TBase , typename TAlgebra >
SmartPtr<AlgebraLayouts> ug::AgglomeratingBase< TBase, TAlgebra >::m_spLocalAlgebraLayouts
protected

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