My master thesis

Scalable solving of boundary element methods utilizing the Green cross approximation method and GPUs

This project is maintained by Bennet Carstensen

Documentation

kernels

Set of kernel functions and their partial derivative usable in the Green cross approximation method. More...

Functions

HEADER_PREFIX real laplace_kernel (const field *x, const field *y, const uint dim)
 Implementation of the fundamental solution of the negative Laplace operator \(- \Delta\) in 2D and 3D. More...
 
HEADER_PREFIX real pdx_laplace_kernel (const field *x, const field *y, const uint dim, const uint i)
 Calculates the partial derivative of the negative Laplace operator \(- \Delta\) in the i th component of the first operand in 2D and 3D. More...
 
HEADER_PREFIX real pdy_laplace_kernel (const field *x, const field *y, const uint dim, const uint i)
 Calculates the partial derivative of the negative Laplace operator \(- \Delta\) in the i th component of the second operand in 2D and 3D. More...
 

Variables

static const real r_minus_two_pi = -0.159154943091895336
 \(- \frac{1}{2 \pi}\) More...
 
static const real r_four_pi = 0.0795774715459476679
 \(\frac{1}{4 \pi}\) More...
 
static const real r_minus_pi = -0.318309886183790671
 \(- \frac{1}{\pi}\) More...
 

Detailed Description

Set of kernel functions and their partial derivative usable in the Green cross approximation method.

Function Documentation

◆ laplace_kernel()

HEADER_PREFIX real laplace_kernel ( const field *  x,
const field *  y,
const uint  dim 
)

Implementation of the fundamental solution of the negative Laplace operator \(- \Delta\) in 2D and 3D.

Calculates the fundamental solution of the negative Laplace operator:

\[ g(x, y) := \begin{cases} -\frac{1}{2 \pi} \log{\left \Vert x - y \right \Vert_2} & \text{if } x \neq y, \ dim = 2 \\ \\ \frac{1}{4 \pi \left \Vert x - y \right \Vert_2} & \text{if } x \neq y, \ dim = 3 \\ \\ 0 & \text{otherwise} \end{cases} \]

Parameters
[in]xFirst operand as an array of dim coefficients.
[in]ySecond operand as an array of dim coefficients.
[in]dimDimension in which to evaluate the negative Laplace operator.
Returns
The result of the dim dimensional negative Laplace operator in the parameters x and y.

◆ pdx_laplace_kernel()

HEADER_PREFIX real pdx_laplace_kernel ( const field *  x,
const field *  y,
const uint  dim,
const uint  i 
)

Calculates the partial derivative of the negative Laplace operator \(- \Delta\) in the i th component of the first operand in 2D and 3D.

Calculates the partial derivative of the fundamental solution of the negative Laplace operatorin in the i th component of the first operand:

\[ \frac{\delta g}{\delta x_{i}}(x, y) := \begin{cases} - \frac{x_i - y_i}{\pi \left \Vert x - y \right \Vert_{2}^{2}} & \text{if } x \neq y, \ dim = 2 \\ \\ - \frac{x_i - y_i}{4 \pi \left \Vert x - y \right \Vert_{2}^{3}} & \text{if } x \neq y, \ dim = 3 \\ \\ 0 & \text{otherwise} \end{cases} \]

Parameters
[in]xFirst operand as an array of dim coefficients. Parital derivating the i th component of this operand.
[in]ySecond operand as an array of dim coefficients.
[in]dimDimension in which to evaluate the partial derivative of the negative Laplace operator
[in]iIndex of the component of x in which to parital derive.
Returns
The result of the dim dimensional partial derivative of the fundamental solution of the negative Laplace operator.

◆ pdy_laplace_kernel()

HEADER_PREFIX real pdy_laplace_kernel ( const field *  x,
const field *  y,
const uint  dim,
const uint  i 
)

Calculates the partial derivative of the negative Laplace operator \(- \Delta\) in the i th component of the second operand in 2D and 3D.

Calculates the partial derivative of the fundamental solution of the negative Laplace operatorin in the i th component of the second operand:

\[ \frac{\delta g}{\delta y_{i}}(x, y) := \begin{cases} \frac{x_i - y_i}{\pi \left \Vert x - y \right \Vert_{2}^{2}} & \text{if } x \neq y, \ dim = 2 \\ \\ \frac{x_i - y_i}{4 \pi \left \Vert x - y \right \Vert_{2}^{3}} & \text{if } x \neq y, \ dim = 3 \\ \\ 0 & \text{otherwise} \end{cases} \]

Parameters
[in]xFirst operand as an array of dim coefficients.
[in]ySecond operand as an array of dim coefficients. Parital derivating the i th component of this operand.
[in]dimDimension in which to evaluate the partial derivative of the negative Laplace operator
[in]iIndex of the component of y in which to parital derive.
Returns
The result of the dim dimensional partial derivative of the fundamental solution of the negative Laplace operator.

Variable Documentation

◆ r_four_pi

const real r_four_pi = 0.0795774715459476679
static

\(\frac{1}{4 \pi}\)

◆ r_minus_pi

const real r_minus_pi = -0.318309886183790671
static

\(- \frac{1}{\pi}\)

◆ r_minus_two_pi

const real r_minus_two_pi = -0.159154943091895336
static

\(- \frac{1}{2 \pi}\)