HLIBpro  2.4
Classes | Public Member Functions | Protected Member Functions | List of all members
TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val > Class Template Referenceabstract

base class for HCA generator functions using quadrature More...

#include <TQuadHCAGenFn.hh>

Inheritance diagram for TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val >:
TPermHCAGeneratorFn< T_val > THCA< T >::TGeneratorFn TInvarBasisQuadHCAGenFn< T_ansatzsp, T_testsp, T_val >

Classes

struct  stat_t
 

Public Member Functions

 TQuadHCAGenFn (const ansatzsp_t *ansatzsp, const testsp_t *testsp, const uint quad_order, const TPermutation *row_perm_i2e, const TPermutation *col_perm_i2e, stat_t *stat=NULL)
 
virtual void integrate_dx_perm (const std::vector< idx_t > &idxs, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const
 
virtual void integrate_dy_perm (const std::vector< idx_t > &idxs, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const
 
- Public Member Functions inherited from TPermHCAGeneratorFn< T_val >
 TPermHCAGeneratorFn (const TPermutation *row_perm_i2e, const TPermutation *col_perm_i2e)
 
virtual void integrate_dx (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const
 
virtual void integrate_dy (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const
 
- Public Member Functions inherited from THCA< T >::TGeneratorFn
virtual bool is_complex () const
 indicate complex nature of function
 
virtual value_t eval (const T3Point &x, const T3Point &y) const =0
 
virtual void integrate_dx (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const =0
 
virtual void integrate_dy (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const =0
 

Protected Member Functions

virtual void eval_dx (const idx_t tri_idx, const T3Point &y, const tri_quad_rule_t &quad_rule, std::vector< value_t > &values) const =0
 
virtual void eval_dy (const T3Point &x, const idx_t tri_idx, const tri_quad_rule_t &quad_rule, std::vector< value_t > &values) const =0
 

Detailed Description

template<typename T_ansatzsp, typename T_testsp, typename T_val>
class HLIB::TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val >

Evaluates the integrals over the derivatives of the kernel generator function by means of quadrature.

Constructor & Destructor Documentation

TQuadHCAGenFn ( const ansatzsp_t *  ansatzsp,
const testsp_t *  testsp,
const uint  quad_order,
const TPermutation row_perm_i2e,
const TPermutation col_perm_i2e,
stat_t stat = NULL 
)

constructor for HCA generator function over ansatz space ansatzsp test space testsp with permutations for row and column indices and (maximal) quadrature order quad_order

Member Function Documentation

virtual void eval_dx ( const idx_t  tri_idx,
const T3Point &  y,
const tri_quad_rule_t quad_rule,
std::vector< value_t > &  values 
) const
protectedpure virtual

Evaluate $ D_x \gamma(x, y) $ on with $x$ defined by quadrature points on triangle tri_idx. The computed values for each quadrature point i are stored on values[i].

Implemented in THelmholtzDLPGenFn< T_ansatzsp, T_testsp >, TLaplaceDLPGenFn< T_ansatzsp, T_testsp >, THelmholtzSLPGenFn< T_ansatzsp, T_testsp >, and TLaplaceSLPGenFn< T_ansatzsp, T_testsp >.

virtual void eval_dy ( const T3Point &  x,
const idx_t  tri_idx,
const tri_quad_rule_t quad_rule,
std::vector< value_t > &  values 
) const
protectedpure virtual

Evaluate $ D_y \gamma(x, y) $ on with $y$ defined by quadrature points on triangle tri_idx. The computed values for each quadrature point i are stored on values[i].

Implemented in THelmholtzDLPGenFn< T_ansatzsp, T_testsp >, TLaplaceDLPGenFn< T_ansatzsp, T_testsp >, THelmholtzSLPGenFn< T_ansatzsp, T_testsp >, and TLaplaceSLPGenFn< T_ansatzsp, T_testsp >.

virtual void integrate_dx_perm ( const std::vector< idx_t > &  idxs,
const std::vector< T3Point > &  pts,
BLAS::Matrix< value_t > &  matrix 
) const
virtual
virtual void integrate_dy_perm ( const std::vector< idx_t > &  idxs,
const std::vector< T3Point > &  pts,
BLAS::Matrix< value_t > &  matrix 
) const
virtual