H2Lib
3.0
|
Substructure containing callback functions to different types of kernel evaluations. More...
#include <bem2d.h>
Data Fields | |
void(* | fundamental )(const real(*X)[2], const real(*Y)[2], pamatrix V) |
Evaluate the fundamental solution at given point sets X and Y More... | |
void(* | dny_fundamental )(const real(*X)[2], const real(*Y)[2], const real(*NY)[2], pamatrix V) |
Evaluate the normal derivative of the fundamental solution in respect to the 2nd component at given point sets X and Y More... | |
void(* | dnx_dny_fundamental )(const real(*X)[2], const real(*NX)[2], const real(*Y)[2], const real(*NY)[2], pamatrix V) |
Evaluate the normal derivatives of the fundamental solution in respect to the 1st and 2nd component at given point sets X and Y More... | |
void(* | kernel_row )(const uint *idx, const real(*Z)[2], pcbem2d bem, pamatrix A) |
Integrate the kernel function within the 1st component. More... | |
void(* | kernel_col )(const uint *idx, const real(*Z)[2], pcbem2d bem, pamatrix B) |
Integrate the kernel function within the 2nd component. More... | |
void(* | dnz_kernel_row )(const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix A) |
Integrate the normal derivative of the kernel function with respect to the 2nd component within the 1st component. More... | |
void(* | dnz_kernel_col )(const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix B) |
Integrate the normal derivative of the kernel function with respect to the 1st component within the 2nd component. More... | |
void(* | fundamental_row )(const uint *idx, const real(*Z)[2], pcbem2d bem, pamatrix A) |
Integrate the fundamental solution within the 1st component. More... | |
void(* | fundamental_col )(const uint *idx, const real(*Z)[2], pcbem2d bem, pamatrix B) |
Integrate the fundamental solution within the 2nd component. More... | |
void(* | dnz_fundamental_row )(const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix A) |
Integrate the normal derivative of the fundamental solution with respect to the 2nd component within the 1st component. More... | |
void(* | dnz_fundamental_col )(const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix B) |
Integrate the normal derivative of the fundamental solution with respect to the 1st component within the 2nd component. More... | |
void(* | lagrange_row )(const uint *idx, pcavector px, pcavector py, pcbem2d bem, pamatrix V) |
Integrate the Lagrange polynomials or their derivatives within the 1st component. More... | |
void(* | lagrange_col )(const uint *idx, pcavector px, pcavector py, pcbem2d bem, pamatrix W) |
Integrate the Lagrange polynomials or their derivatives within the 2nd component. More... | |
Substructure containing callback functions to different types of kernel evaluations.
This struct consists of a set of callback function, that will evaluate the kernel, its derivatives or integrals over the kernel and / or its derivatives. Of course they depend on an appropriate problem to be solved. The kernel function will be a function of the following form:
In many application the field will just be the field of the real number , as in the laplace-problem. But it can also be the complex field as in the helmholtz-equation or a vector valued function as in the lame-problem.
void(* dnx_dny_fundamental) (const real(*X)[2], const real(*NX)[2], const real(*Y)[2], const real(*NY)[2], pamatrix V) |
Evaluate the normal derivatives of the fundamental solution in respect to the 1st and 2nd component at given point sets X
and Y
This callback will evaluate the normal derivatives of the fundamental solution corresponding to and at points and store the result into matrix V at position .
X | An array of 2D-vectors. X[i][0] will be the first component of the i-th vector. Analogously X[i][1] will be the second component of the i-th vector. The length of this array is determined by V->rows . |
NX | An array of normal vectors correspoding to the vectors defined by X and are stored in the same way as X and Y. |
Y | An array of 2D-vectors. Y[i][0] will be the first component of the i-th vector. Analogously Y[i][1] will be the second component of the i-th vector. The length of this array is determined by V->cols . |
NY | An array of normal vectors correspoding to the vectors defined by Y and are stored in the same way as X and Y. |
V | V will contain the results of the kernel evaluations. It applies
|
Evaluate the normal derivative of the fundamental solution in respect to the 2nd component at given point sets X
and Y
This callback will evaluate the normal derivatives of the fundamental solution corresponding to at points and store the result into matrix V at position .
X | An array of 2D-vectors. X[i][0] will be the first component of the i-th vector. Analogously X[i][1] will be the second component of the i-th vector. The length of this array is determined by V->rows . |
Y | An array of 2D-vectors. Y[i][0] will be the first component of the i-th vector. Analogously Y[i][1] will be the second component of the i-th vector. The length of this array is determined by V->cols . |
NY | An array of normal vectors correspoding to the vectors defined by Y and are stored in the same way as X and Y. |
V | V will contain the results of the kernel evaluations. It applies
|
void(* dnz_fundamental_col) (const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix B) |
Integrate the normal derivative of the fundamental solution with respect to the 1st component within the 2nd component.
This callback will evaluate the integral
idx | This array describes the permutation of the degrees of freedom. Its length is determined by B->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by B->cols . |
NZ | An array Normal vectors corresponding to the vectors Z. |
bem | BEM-object containing additional information for computation of the matrix entries. |
B | B will contain the results of the integral evaluations. It applies
|
void(* dnz_fundamental_row) (const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix A) |
Integrate the normal derivative of the fundamental solution with respect to the 2nd component within the 1st component.
This callback will evaluate the integral
idx | This array describes the permutation of the degrees of freedom. Its length is determined by A->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by A->cols . |
NZ | An array Normal vectors corresponding to the vectors Z. |
bem | BEM-object containing additional information for computation of the matrix entries. |
A | A will contain the results of the integral evaluations. It applies
|
void(* dnz_kernel_col) (const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix B) |
Integrate the normal derivative of the kernel function with respect to the 1st component within the 2nd component.
This callback will evaluate the integral
with being a kernel function depending on a specific integral operator. In case of the single layer potential it applies . But in case of the double layer potential e.g. it applies .
idx | This array describes the permutation of the degrees of freedom. Its length is determined by B->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by B->cols . |
NZ | An array Normal vectors corresponding to the vectors Z. |
bem | BEM-object containing additional information for computation of the matrix entries. |
B | B will contain the results of the integral evaluations. It applies
|
void(* dnz_kernel_row) (const uint *idx, const real(*Z)[2], const real(*NZ)[2], pcbem2d bem, pamatrix A) |
Integrate the normal derivative of the kernel function with respect to the 2nd component within the 1st component.
This callback will evaluate the integral
with being a kernel function depending on a specific integral operator. In case of the single layer potential it applies . But in case of the double layer potential e.g. it applies .
idx | This array describes the permutation of the degrees of freedom. Its length is determined by A->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by A->cols . |
NZ | An array Normal vectors corresponding to the vectors Z. |
bem | BEM-object containing additional information for computation of the matrix entries. |
A | A will contain the results of the integral evaluations. It applies
|
Evaluate the fundamental solution at given point sets X
and Y
This callback will evaluate the fundamental solution at points and store the result into matrix V at position .
X | An array of 2D-vectors. X[i][0] will be the first component of the i-th vector. Analogous X[i][1] will be the second component of the i-th vector. The length of this array is determined by V->rows . |
Y | An array of 2D-vectors. Y[i][0] will be the first component of the i-th vector. Analogous Y[i][1] will be the second component of the i-th vector. The length of this array is determined by V->cols . |
V | V will contain the results of the kernel evaluations. It applies
|
Integrate the fundamental solution within the 2nd component.
This callback will evaluate the integral
idx | This array describes the permutation of the degrees of freedom. Its length is determined by B->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by B->cols . |
bem | BEM-object containing additional information for computation of the matrix entries. |
B | B will contain the results of the integral evaluations. It applies
|
Integrate the fundamental solution within the 1st component.
This callback will evaluate the integral
idx | This array describes the permutation of the degrees of freedom. Its length is determined by A->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by A->cols . |
bem | BEM-object containing additional information for computation of the matrix entries. |
A | A will contain the results of the integral evaluations. It applies
|
Integrate the kernel function within the 2nd component.
This callback will evaluate the integral
with being a kernel function depending on a specific integral operator. In case of the single layer potential it applies . But in case of the double layer potential e.g. it applies .
idx | This array describes the permutation of the degrees of freedom. Its length is determined by B->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by B->cols . |
bem | BEM-object containing additional information for computation of the matrix entries. |
B | B will contain the results of the integral evaluations. It applies
|
Integrate the kernel function within the 1st component.
This callback will evaluate the integral
with being a kernel function depending on a specific integral operator. In case of the single layer potential it applies . But in case of the double layer potential e.g. it applies .
idx | This array describes the permutation of the degrees of freedom. Its length is determined by A->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
Z | An array of 2D-vectors. Z[i][0] will be the first component of the i-th vector. Analogously Z[i][1] will be the second component of the i-th vector. The length of this array is determined by A->cols . |
bem | BEM-object containing additional information for computation of the matrix entries. |
A | A will contain the results of the integral evaluations. It applies
|
Integrate the Lagrange polynomials or their derivatives within the 2nd component.
This callback will evaluate the integral
with being a Lagrange polynomial or its derivative.
idx | This array describes the permutation of the degrees of freedom. Its length is determined by W->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
px | A Vector of type avector that contains interpolation points in x-direction. |
py | A Vector of type avector that contains interpolation points in y-direction. |
bem | BEM-object containing additional information for computation of the matrix entries. |
W | W will contain the results of the integral evaluations. It applies The index is computed in a tensor way. Having Points in x-direction and Points in y-direction, then using the -th and the the -th point will result in matrix index . |
Integrate the Lagrange polynomials or their derivatives within the 1st component.
This callback will evaluate the integral
with being a Lagrange polynomial or its derivative.
idx | This array describes the permutation of the degrees of freedom. Its length is determined by V->rows . In case idx == NULL it is assumed the degrees of freedom are instead. |
px | A Vector of type avector that contains interpolation points in x-direction. |
py | A Vector of type avector that contains interpolation points in y-direction. |
bem | BEM-object containing additional information for computation of the matrix entries. |
V | V will contain the results of the integral evaluations. It applies The index is computed in a tensor way. Having Points in x-direction and Points in y-direction, then using the -th and the -th point will result in matrix index . |