HLIBpro
2.6
|
Bilinear form for Helmholtz single layer potential. More...
#include <THelmholtzBF.hh>
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, complex > | |
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) | |
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, complex > | |
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) | |
virtual | ~TQuadBEMBF () |
destructor | |
Public Member Functions inherited from TBEMBF< T_ansatzsp, T_testsp, complex > | |
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< complex > | |
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 *quad_rule, std::vector< complex > &values) const |
Protected Member Functions inherited from TInvarBasisQuadBEMBF< T_ansatzsp, T_testsp, complex > | |
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 More... | |
Protected Member Functions inherited from TQuadBEMBF< T_ansatzsp, T_testsp, complex > | |
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 * | 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, complex > | |
const ansatzsp_t * | _ansatz_sp |
function space for ansatz functions | |
const testsp_t * | _test_sp |
function space for test functions | |
THelmholtzSLPBF implements the bilinear form for the Helmholtz single layer potential with the kernel function
\[ \frac{e^{i\kappa \|x-y\|_2}}{\|x-y\|_2} \]
i.e. for the integral equation
\[ 4 \pi \int_{\Gamma} \frac{u(y) \cdot e^{i\kappa \|x-y\|_2}}{\|x-y\|_2} dy = f(x) \]
|
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, complex >.