HLIBpro
2.7
|
class for BEM HCA generator functions with invariant basis functions More...
#include <TQuadHCAGenFn.hh>
Public Member Functions | |
TInvarBasisQuadHCAGenFn (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 TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val > | |
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) | |
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 | |
const std::vector< ansatz_value_t > * | ansatz_val (const idx_t idx, const TGrid::triangle_t &tri, const uint order) const |
const std::vector< test_value_t > * | test_val (const idx_t idx, const TGrid::triangle_t &tri, const uint order) const |
same as More... | |
Protected Member Functions inherited from TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val > | |
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 |
Optimises evaluation of basis function for quadrature points under the assumption, that they are invariant with respect to translation and scaling, e.g. can be precomputed on reference triangles.
TInvarBasisQuadHCAGenFn | ( | 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
|
inlineprotected |
return ansatz basis function values for index idx in triangle tri for quadrature points of order order
|
virtual |
Evaluate \int \phi_i(x) D_x \gamma(x, y_{l}) dx for i ∈ is and points y_{l} defined by pts. Store results in matrix at index (i,l).
Reimplemented from TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val >.
|
virtual |
Evaluate \int \phi_j(y) D_y \gamma(x_{l}, y) dy for j ∈ is and points x_{l} defined by pts. Store results in matrix at index (j,l).
Reimplemented from TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val >.
|
inlineprotected |