H2Lib
3.0
|
This module contains functions to setup and solve boundary integral equations for the Laplace operator in 3D. More...
Macros | |
#define | KERNEL_CONST_LAPLACEBEM3D 0.0795774715459476679 |
Constant that originates from the fundamental solution of the Laplace equation. The value is . | |
Functions | |
pbem3d | new_slp_laplace_bem3d (pcsurface3d gr, uint q_regular, uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis) |
Creates a new bem3d-object for computation of single layer potential matrix of the Laplace equation. More... | |
pbem3d | new_dlp_laplace_bem3d (pcsurface3d gr, uint q_regular, uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis, field alpha) |
Creates a new bem3d-object for computation of double layer potential matrix plus a scalar times the mass matrix of the Laplace equation. More... | |
pbem3d | new_adlp_laplace_bem3d (pcsurface3d gr, uint q_regular, uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis, field alpha) |
Creates a new bem3d-object for computation of adjoint double layer potential matrix plus a scalar times the mass matrix of the Helmholtz equation. More... | |
void | del_laplace_bem3d (pbem3d bem) |
Delete a bem3d object for the Laplace equation. More... | |
field | eval_dirichlet_linear_laplacebem3d (const real *x, const real *n, void *data) |
A simple linear harmonic function that will serve as dirichlet values. More... | |
field | eval_neumann_linear_laplacebem3d (const real *x, const real *n, void *data) |
A simple linear harmonic function that will serve as neumann values. More... | |
field | eval_dirichlet_quadratic_laplacebem3d (const real *x, const real *n, void *data) |
A simple quadratic harmonic function that will serve as dirichlet values. More... | |
field | eval_neumann_quadratic_laplacebem3d (const real *x, const real *n, void *data) |
A simple quadratic harmonic function that will serve as neumann values. More... | |
field | eval_dirichlet_fundamental_laplacebem3d (const real *x, const real *n, void *data) |
A harmonic function based upon the fundamental solution, that will serve as dirichlet values. More... | |
field | eval_neumann_fundamental_laplacebem3d (const real *x, const real *n, void *data) |
A harmonic function based upon the fundamental solution, that will serve as neumann values. More... | |
field | eval_dirichlet_fundamental2_laplacebem3d (const real *x, const real *n, void *data) |
A harmonic function based upon the fundamental solution, that will serve as dirichlet values. More... | |
field | eval_neumann_fundamental2_laplacebem3d (const real *x, const real *n, void *data) |
A harmonic function based upon the fundamental solution, that will serve as neumann values. More... | |
pbem3d | new_slp_laplace_ocl_bem3d (pcsurface3d gr, uint q_regular, uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis) |
Creates a new bem3d-object for computation of single layer potential matrix supported by OpenCL. More... | |
pbem3d | new_dlp_laplace_ocl_bem3d (pcsurface3d gr, uint q_regular, uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis, field alpha) |
Creates a new bem3d-object for computation of double layer potential matrix supported by OpenCL. More... | |
void | del_laplace_ocl_bem3d (pbem3d bem) |
Delete a bem3d object for the Laplace equation with OpenCL support. More... | |
This module contains functions to setup and solve boundary integral equations for the Laplace operator in 3D.
void del_laplace_bem3d | ( | pbem3d | bem | ) |
Delete a bem3d object for the Laplace equation.
bem | Object to be deleted. |
void del_laplace_ocl_bem3d | ( | pbem3d | bem | ) |
Delete a bem3d object for the Laplace equation with OpenCL support.
bem | Object to be deleted. |
A harmonic function based upon the fundamental solution, that will serve as dirichlet values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate dirichlet values of with the following values:
with . Corresponding neumann data can be generated by using eval_neumann_fundamental2_laplacebem3d.
To build up an appropriate dirichlet data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
A harmonic function based upon the fundamental solution, that will serve as dirichlet values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate dirichlet values of with the following values:
with . Corresponding neumann data can be generated by using eval_neumann_fundamental_laplacebem3d.
To build up an appropriate dirichlet data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
A simple linear harmonic function that will serve as dirichlet values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate dirichlet values of with the following values:
Corresponding neumann data can be generated by using eval_neumann_linear_laplacebem3d.
To build up an appropriate dirichlet data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
A simple quadratic harmonic function that will serve as dirichlet values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate dirichlet values of with the following values:
Corresponding neumann data can be generated by using eval_neumann_quadratic_laplacebem3d.
To build up an appropriate dirichlet data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
A harmonic function based upon the fundamental solution, that will serve as neumann values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate neumann values of with the following values:
with . Corresponding dirichlet data can be generated by using eval_dirichlet_fundamental_laplacebem3d.
To build up an appropriate neumann data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
A harmonic function based upon the fundamental solution, that will serve as neumann values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate neumann values of with the following values:
with . Corresponding dirichlet data can be generated by using eval_dirichlet_fundamental_laplacebem3d.
To build up an appropriate neumann data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
A simple linear harmonic function that will serve as neumann values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate neumann values of with the following values:
Corresponding dirichlet data can be generated by using eval_dirichlet_linear_laplacebem3d.
To build up an appropriate neumann data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
A simple quadratic harmonic function that will serve as neumann values.
When computing the neumann data out of the dirichlet data one can use this function as test data which will generate neumann values of with the following values:
Corresponding dirichlet data can be generated by using eval_dirichlet_quadratic_laplacebem3d.
To build up an appropriate neumann data coefficient vector one needs the -projection. This can be done by passing this function to projectL2_bem3d_c_avector for piecewise constant basis functions or to projectL2_bem3d_l_avector for piecewise linear basis functions.
x | Evaluation point. |
n | Normal vector to current evaluation point. |
data | Additional data for evaluating the functional |
pbem3d new_adlp_laplace_bem3d | ( | pcsurface3d | gr, |
uint | q_regular, | ||
uint | q_singular, | ||
basisfunctionbem3d | row_basis, | ||
basisfunctionbem3d | col_basis, | ||
field | alpha | ||
) |
Creates a new bem3d-object for computation of adjoint double layer potential matrix plus a scalar times the mass matrix of the Helmholtz equation.
After calling this function the resulting bem-object will provide all functionality that is necessary to build up fully populated adjoint double layer potential matrix and also hmatrix or h2matrix approximation of this matrix.
gr | Surface mesh. |
q_regular | Order of gaussian quadrature used within computation of matrix entries for single integrals and regular double integrals. |
q_singular | Order of gaussian quadrature used within computation of matrix entries singular double integrals. |
row_basis | Type of basis functions that are used for the test space. Can be one of the values defined in basisfunctionbem3d. |
col_basis | Type of basis functions that are used for the trial space. Can be one of the values defined in basisfunctionbem3d. |
alpha | Adjoint double layer operator + mass matrix. |
pbem3d new_dlp_laplace_bem3d | ( | pcsurface3d | gr, |
uint | q_regular, | ||
uint | q_singular, | ||
basisfunctionbem3d | row_basis, | ||
basisfunctionbem3d | col_basis, | ||
field | alpha | ||
) |
Creates a new bem3d-object for computation of double layer potential matrix plus a scalar times the mass matrix of the Laplace equation.
After calling this function the resulting bem-object will provide all functionality that is necessary to build up fully populated double layer potential matrix and also hmatrix or h2matrix approximation of this matrix.
gr | Surface mesh. |
q_regular | Order of gaussian quadrature used within computation of matrix entries for single integrals and regular double integrals. |
q_singular | Order of gaussian quadrature used within computation of matrix entries singular double integrals. |
row_basis | Type of basis functions that are used for the test space. Can be one of the values defined in basisfunctionbem3d. |
col_basis | Type of basis functions that are used for the trial space. Can be one of the values defined in basisfunctionbem3d. |
alpha | Double layer operator + mass matrix. |
pbem3d new_dlp_laplace_ocl_bem3d | ( | pcsurface3d | gr, |
uint | q_regular, | ||
uint | q_singular, | ||
basisfunctionbem3d | row_basis, | ||
basisfunctionbem3d | col_basis, | ||
field | alpha | ||
) |
Creates a new bem3d-object for computation of double layer potential matrix supported by OpenCL.
After calling this function the resulting bem-object will provide all functionality that is necessary to build up fully populated double layer potential matrix and also hmatrix or h2matrix approximation of this matrix.
The computation intense parts like _bem3d::nearfield are carried out to the GPU, if one uses this constructor and enabled the use of OpenCL.
gr | Surface mesh. |
q_regular | Order of gaussian quadrature used within computation of matrix entries for single integrals and regular double integrals. |
q_singular | Order of gaussian quadrature used within computation of matrix entries singular double integrals. |
row_basis | Type of basis functions that are used for the test space. Can be one of the values defined in basisfunctionbem3d. |
col_basis | Type of basis functions that are used for the trial space. Can be one of the values defined in basisfunctionbem3d. |
alpha | Double layer operator + mass matrix. |
pbem3d new_slp_laplace_bem3d | ( | pcsurface3d | gr, |
uint | q_regular, | ||
uint | q_singular, | ||
basisfunctionbem3d | row_basis, | ||
basisfunctionbem3d | col_basis | ||
) |
Creates a new bem3d-object for computation of single layer potential matrix of the Laplace equation.
After calling this function the resulting bem-object will provide all functionality that is necessary to build up fully populated single layer potential matrix and also hmatrix or h2matrix approximation of this matrix.
gr | Surface mesh |
q_regular | Order of gaussian quadrature used within computation of matrix entries for single integrals and regular double integrals. |
q_singular | Order of gaussian quadrature used within computation of matrix entries singular double integrals. |
row_basis | Type of basis functions that are used for the test space. Can be one of the values defined in basisfunctionbem3d. |
col_basis | Type of basis functions that are used for the trial space. Can be one of the values defined in basisfunctionbem3d. |
pbem3d new_slp_laplace_ocl_bem3d | ( | pcsurface3d | gr, |
uint | q_regular, | ||
uint | q_singular, | ||
basisfunctionbem3d | row_basis, | ||
basisfunctionbem3d | col_basis | ||
) |
Creates a new bem3d-object for computation of single layer potential matrix supported by OpenCL.
After calling this function the resulting bem-object will provide all functionality that is necessary to build up fully populated single layer potential matrix and also hmatrix or h2matrix approximation of this matrix.
The computation intense parts like _bem3d::nearfield are carried out to the GPU, if one uses this constructor and enabled the use of OpenCL.
gr | Surface mesh |
q_regular | Order of gaussian quadrature used within computation of matrix entries for single integrals and regular double integrals. |
q_singular | Order of gaussian quadrature used within computation of matrix entries singular double integrals. |
row_basis | Type of basis functions that are used for the test space. Can be one of the values defined in basisfunctionbem3d. |
col_basis | Type of basis functions that are used for the trial space. Can be one of the values defined in basisfunctionbem3d. |