H2Lib  3.0
Data Structures | Typedefs | Functions
singquad1d

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

Data Structures

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

Typedefs

typedef struct _singquad1d singquad1d
 
typedef singquad1dpsingquad1d
 
typedef const singquad1dpcsingquad1d
 

Functions

psingquad1d build_log_singquad1d (uint q, preal x, preal w)
 All quadrature rules needed for computation of SLP Operator (identical egdes, edges with a common vertex, distant edges) More...
 
psingquad1d build_pow_singquad1d (uint q, preal x, preal w, real alpha)
 All quadrature rules needed for computation of DLP Operator (identical egdes, edges with a common vertex, distant edges) More...
 
void del_singquad1d (psingquad1d sq)
 Destructor for singquad1d objects. More...
 
uint select_quadrature_singquad1d (pcsingquad1d 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 edges. More...
 

Detailed Description

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

Typedef Documentation

typedef const singquad1d* pcsingquad1d

Pointer to a constant singquad1d object.

Pointer to a singquad1d object.

typedef struct _singquad1d singquad1d

singquad1d is just an abbreviation for the struct _singquad1d. It is necessary for the computation of singular integral arising in BEM applications in 2 dimensional space.

Function Documentation

psingquad1d build_log_singquad1d ( uint  q,
preal  x,
preal  w 
)

All quadrature rules needed for computation of SLP Operator (identical egdes, edges with a common vertex, distant edges)

These quadrature rules a based on hierarchical quadrature from S. Börm and W. Hackbusch.

Parameters
qOrder of quadrature
xGauss quadrature points in [-1,1].
wGauss weights for above points.
Returns
Returns the newly created singquad1d object.
psingquad1d build_pow_singquad1d ( uint  q,
preal  x,
preal  w,
real  alpha 
)

All quadrature rules needed for computation of DLP Operator (identical egdes, edges with a common vertex, distant edges)

These quadrature rules a based on hierarchical quadrature from S. Börm and W. Hackbusch.

Parameters
qOrder of quadrature.
xGauss quadrature points in [-1,1].
wGauss weights for above points.
alphadegree of homogeneity, for bem-problem value is -1.0.
Returns
Returns the newly created singquad1d object.
void del_singquad1d ( psingquad1d  sq)

Destructor for singquad1d objects.

Delete a singquad1d object.

Parameters
sqsingquad1d object to be deleted.
uint select_quadrature_singquad1d ( pcsingquad1d  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 edges.

Parameters
sqA singquad1d object containing all necessary quadrature rules.
tvAn array defining the 2 vertices of edge $ t $.
svAn array defining the 2 vertices of edge $ s $.
tpReturning a permutation array of the vertices for $ t $.
spReturning a permutation array of the vertices for $ s $.
xReturning the quadrature points for the edge $ t $.
yReturning the quadrature points for the edge $ s $.
wReturning the quadrature weights.
nReturning the total number of quadrature points.
baseReturning a constant offset.
Returns
Returns the number of common vertices for edge $ t $ and $ s $, which defines the current quadrature case.