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 constant-linear basis functions weights and the last column will be remain for the standard constant-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 single integral with linear basis functions.
- Parameters
-
x | X-component of Points within the triangle. |
y | Y-component 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 linear-constant basis functions weights and the last column will be remain for the standard constant-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 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 linear-linear basis functions weights and the last column will be remain for the standard constant-constant 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.