This module is responsible for standard and singular quadrature scheme that will be applied by bem3d and derived modules such as laplacebem3d.
More...

struct  _singquad2d 
 This struct collects all type of quadrature formulas needed by the computation of matrix entries within BEM. More...



psingquad2d  build_singquad2d (pcsurface3d gr, uint q, uint q2) 
 Creates a new singquad2d object containing all necessary quadrature rules for singular integrals arising in BEM applications in 3 dimensional space. More...


void  del_singquad2d (psingquad2d sq) 
 Destructor for singquad2d objects. More...


void  weight_basisfunc_ll_singquad2d (real *x, real *y, real *w, uint nq) 
 Weighting a quadrature rule for a double integral with both linear basis functions. More...


void  weight_basisfunc_cl_singquad2d (real *x, real *y, real *w, uint nq) 
 Weighting a quadrature rule for a double integral with a combination of piecewise constant and linear basis functions. More...


void  weight_basisfunc_lc_singquad2d (real *x, real *y, real *w, uint nq) 
 Weighting a quadrature rule for a double integral with a combination of piecewise linear and constant basis functions. More...


void  weight_basisfunc_l_singquad2d (real *x, real *y, real *w, uint nq) 
 Weighting a quadrature rule for a single integral with linear basis functions. More...


uint  fast_select_quadrature (uint(*geo_t)[3], uint t, uint s) 
 Determine the number of common vertices of a pair of triangles. More...


uint  select_quadrature_singquad2d (pcsingquad2d sq, const uint *tv, const uint *sv, uint *tp, uint *sp, real **x, real **y, real **w, uint *n, real *base) 
 This function is designed to select the correct quadrature rule for a current pair of triangles. More...


This module is responsible for standard and singular quadrature scheme that will be applied by bem3d and derived modules such as laplacebem3d.
singquad2d is just an abbreviation for the struct _singquad2d. It is necessary for the computation of singular integral arising in BEM applications in 3 dimensional space.
Creates a new singquad2d object containing all necessary quadrature rules for singular integrals arising in BEM applications in 3 dimensional space.
 Parameters

gr  Currently used geometry. 
q  Order of gaussian quadrature rule used for construction of single triangle quadrature rule and in case of distant domains. 
q2  Order of gaussian quadrature rule used for construction of singular quadrature cases. 
 Returns
 returns a new _singquad2d" "singquad2d" object.
Determine the number of common vertices of a pair of triangles.
 Parameters

geo_t  Array of all triangles in the geometry. 
t  Index for the first triangle. 
s  Index for the second triangle. 
 Returns
 Number of common vertices for
t
and s
.
Weighting a quadrature rule for a double integral with a combination of piecewise constant and linear basis functions.
 Parameters

x  Points within the first triangle using piecewise constant basis functions. 
y  Points within the second triangle using linear basis functions. 
w  Quadrature weights. Actually this is a 4 times nq two dimensional array of weights. The first 3 columns will be used for the 3 combinations of constantlinear basis functions weights and the last column will be remain for the standard constantconstant case. 
nq  Number of quadrature points and weights stored within x, y, w . 
 Attention
 The column
w[3]
has to be filled with valid quadrature weights before calling this function.
Weighting a quadrature rule for a single integral with linear basis functions.
 Parameters

x  Xcomponent of Points within the triangle. 
y  Ycomponent of Points within the triangle. 
w  Quadrature weights. Actually this is a 4 times nq two dimensional array of weights. The first 3 columns will be used for the 3 combinations of linear basis functions weights and the last column will be remain for the standard constant case. 
nq  Number of quadrature points and weights stored within x, y, w . 
 Attention
 The column
w[3]
has to be filled with valid quadrature weights before calling this function.
Weighting a quadrature rule for a double integral with a combination of piecewise linear and constant basis functions.
 Parameters

x  Points within the first triangle using piecewise linear basis functions. 
y  Points within the second triangle using piecewise constant basis functions. 
w  Quadrature weights. Actually this is a 4 times nq two dimensional array of weights. The first 3 columns will be used for the 3 combinations of linearconstant basis functions weights and the last column will be remain for the standard constantconstant case. 
nq  Number of quadrature points and weights stored within x, y, w . 
 Attention
 The column
w[3]
has to be filled with valid quadrature weights before calling this function.
Weighting a quadrature rule for a double integral with both linear basis functions.
 Parameters

x  Points within the first triangle. 
y  Points within the second triangle. 
w  Quadrature weights. Actually this is a 10 times nq two dimensional array of weights. The first 9 columns will be used for the 9 combinations of linearlinear basis functions weights and the last column will be remain for the standard constantconstant case. 
nq  Number of quadrature points and weights stored within x, y, w . 
 Attention
 The column
w[9]
has to be filled with valid quadrature weights before calling this function.