![]() |
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
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
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 . |
1.8.11