HLIBpro 3.1
Loading...
Searching...
No Matches
TBilinearForm< T_val > Class Template Referenceabstract

Base class for all bilinear forms. More...

#include <TBEMBF.hh>

Inheritance diagram for TBilinearForm< T_val >:
TBEMBF< T_ansatzsp, T_testsp, double > TBEMBF< T_ansatzsp, T_testsp, T_value > TBEMBF< T_ansatzsp, T_testsp, std::complex< double > > TBEMBF< T_ansatzsp, T_testsp, T_val > TQuadBEMBF< T_ansatzsp, T_testsp, T_val > TQuadBEMBF< T_ansatzsp, T_testsp, double > TQuadBEMBF< T_ansatzsp, T_testsp, std::complex< double > > TMassBF< T_ansatzsp, T_testsp, T_value > TMaxwellEFIEMassBF< T_ansatzsp, T_testsp > TMaxwellMFIEMassBF< T_ansatzsp, T_testsp > TQuadBEMBF< T_ansatzsp, T_testsp, T_value > TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, T_value > TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, double > TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, T_val > TExpBF< T_ansatzsp, T_testsp, T_value > THelmholtzDLPBF< T_ansatzsp, T_testsp, T_value > THelmholtzSLPBF< T_ansatzsp, T_testsp, T_value > TLaplaceDLPBF< T_ansatzsp, T_testsp, T_value > TLaplaceSLPBF< T_ansatzsp, T_testsp, T_value >

Public Member Functions

virtual void eval (const std::vector< idx_t > &row_ind, const std::vector< idx_t > &col_ind, BLAS::Matrix< value_t > &values) const =0
 
bool is_complex () const
 return true if bilinear form is complex valued
 
virtual matform_t format () const
 return format of bilinear form, e.g. symmetric
 

Detailed Description

template<typename T_val>
class Hpro::TBilinearForm< T_val >
     TBilinearForm is mainly introduced to use BEM bilinear forms
     without ansatz/test space arguments in evaluation, e.g. if
     only a generic pointer to a bilinear form is needed without
     any further knowledge.

Member Function Documentation

◆ eval()

template<typename T_val >
virtual void eval ( const std::vector< idx_t > &  row_ind,
const std::vector< idx_t > &  col_ind,
BLAS::Matrix< value_t > &  values 
) const
pure virtual

evaluate subblock defined by row_ind × col_ind; the indices in row_ind and col_ind can be arbitrary, e.g. must not be contiguous

Implemented in TQuadBEMBF< T_ansatzsp, T_testsp, T_val >, and TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, T_val >.