HLIBpro 3.1
Loading...
Searching...
No Matches
TLaplaceDLPBF< T_ansatzsp, T_testsp, T_value > Class Template Reference

Bilinear form for Laplace double layer potential. More...

#include <TLaplaceBF.hh>

Inheritance diagram for TLaplaceDLPBF< T_ansatzsp, T_testsp, T_value >:
TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, T_val > TQuadBEMBF< T_ansatzsp, T_testsp, T_value > TBEMBF< T_ansatzsp, T_testsp, T_val > TBilinearForm< T_val >

Public Member Functions

matform_t format () const
 return format of bilinear form, e.g. symmetric
 
- Public Member Functions inherited from TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, T_val >
 TInvarBasisQuadBEMBF (const ansatzsp_t *ansatzsp, const testsp_t *testsp, const uint order=CFG::BEM::quad_order, const bool dist_ada=CFG::BEM::adaptive_quad_order, const double ada_err=0)
 
virtual ~TInvarBasisQuadBEMBF ()
 destructor
 
virtual void eval (const std::vector< idx_t > &row_ind, const std::vector< idx_t > &col_ind, BLAS::Matrix< value_t > &values) const
 
- Public Member Functions inherited from TQuadBEMBF< T_ansatzsp, T_testsp, T_value >
 TQuadBEMBF (const ansatzsp_t *ansatzsp, const testsp_t *testsp, const uint order=CFG::BEM::quad_order, const bool dist_ada=CFG::BEM::adaptive_quad_order, const double ada_err=0)
 
virtual ~TQuadBEMBF ()
 destructor
 
virtual void eval (const std::vector< idx_t > &row_ind, const std::vector< idx_t > &col_ind, BLAS::Matrix< value_t > &values) const
 
- Public Member Functions inherited from TBEMBF< T_ansatzsp, T_testsp, T_val >
 TBEMBF (const ansatzsp_t *aansatzsp, const testsp_t *atestsp)
 construct bilinear form over function spaces ansatzsp and testsp
 
virtual ~TBEMBF ()
 destructor
 
const ansatzsp_t * ansatz_space () const
 return ansatz space
 
const testsp_t * test_space () const
 return test space
 
- Public Member Functions inherited from TBilinearForm< T_val >
bool is_complex () const
 return true if bilinear form is complex valued
 

Protected Member Functions

virtual void eval_kernel (const idx_t tri0idx, const idx_t tri1idx, const TGrid::triangle_t &tri0, const TGrid::triangle_t &tri1, const tripair_quad_rule_t< real_t > *quad_rule, std::vector< value_t > &values) const
 
- Protected Member Functions inherited from TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, T_val >
void compute_basis_func ()
 compute ansatz and test basis functions for all quadrature points
 
const std::vector< ansatz_value_t > * ansatz_val (const idx_t idx, const TGrid::triangle_t &tri, const uint ncommon, const uint order) const
 
const std::vector< test_value_t > * test_val (const idx_t idx, const TGrid::triangle_t &tri, const uint ncommon, const uint order) const
 same as
 
- Protected Member Functions inherited from TQuadBEMBF< T_ansatzsp, T_testsp, T_value >
uint reorder_common (idx_t *vtx0idxs, idx_t *vtx1idxs) const
 
uint adjust_order (const idx_t *vtx0idxs, const idx_t *vtx1idxs, const uint order) const
 adjust quadrature order order depending on diameter and distance of triangles
 
const tripair_quad_rule_t< real_t > * quad_rule (const uint ncommon, const uint order) const
 return quadrature rule for ncommon vertices and order order
 

Additional Inherited Members

- Protected Attributes inherited from TBEMBF< T_ansatzsp, T_testsp, T_val >
const ansatzsp_t * _ansatz_sp
 function space for ansatz functions
 
const testsp_t * _test_sp
 function space for test functions
 

Detailed Description

template<typename T_ansatzsp, typename T_testsp, typename T_value = double>
class Hpro::TLaplaceDLPBF< T_ansatzsp, T_testsp, T_value >
     TLaplaceDLPBF implements the bilinear form for the Laplace
     double layer potential with the kernel function
     \f[ \frac{\langle n(y), y-x \rangle}{\|x-y\|_2^3} \f]
     or the adjoint potential
     \f[ \frac{\langle n(x), x-y \rangle}{\|x-y\|_2^3} \f]

Member Function Documentation

◆ eval_kernel()

virtual void eval_kernel ( const idx_t  tri0idx,
const idx_t  tri1idx,
const TGrid::triangle_t tri0,
const TGrid::triangle_t tri1,
const tripair_quad_rule_t< real_t > *  quad_rule,
std::vector< value_t > &  values 
) const
protectedvirtual

compute kernel at quadrature points in triangles tri0idx and tri1idx with coordinate indices tri0 and tri1 using quadrature rule quad_rule; the results for all points are returned in values

Implements TQuadBEMBF< T_ansatzsp, T_testsp, T_value >.