H2Lib  3.0
helmholtzbem3d.h
Go to the documentation of this file.
1 /* ------------------------------------------------------------
2  * This is the file "helmholtzbem3d.h" of the H2Lib package.
3  * All rights reserved, Sven Christophersen 2015
4  * ------------------------------------------------------------ */
5 
12 #ifndef HELMHOLTZBEM3D_H_
13 #define HELMHOLTZBEM3D_H_
14 
15 /* C STD LIBRARY */
16 /* CORE 0 */
17 /* CORE 1 */
18 /* CORE 2 */
19 /* CORE 3 */
20 /* SIMPLE */
21 /* PARTICLES */
22 /* BEM */
23 #include "bem3d.h"
24 
25 #ifdef USE_COMPLEX
26 
35 #define KERNEL_CONST_HELMHOLTZBEM3D 0.0795774715459476679
36 
44 
47 
50 };
51 
56 
83  uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis);
84 
114  uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis,
115  field alpha);
116 
146  uint q_singular, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis,
147  field alpha);
148 
154 HEADER_PREFIX void
156 
184 rhs_dirichlet_point_helmholtzbem3d(const real *x, const real *n,
185  const void *data);
186 
214 rhs_neumann_point_helmholtzbem3d(const real *x, const real *n, const void *data);
215 
244 rhs_robin_point_helmholtzbem3d(const real *x, const real *n, const void *data);
245 
273 rhs_dirichlet_plane_helmholtzbem3d(const real *x, const real *n,
274  const void *data);
275 
304 rhs_neumann_plane_helmholtzbem3d(const real *x, const real *n, const void *data);
305 
335 rhs_robin_plane_helmholtzbem3d(const real *x, const real *n, const void *data);
336 
341 #endif
342 
343 #endif /* HELMHOLTZBEM3D_H_ */
field rhs_neumann_point_helmholtzbem3d(const real *x, const real *n, const void *data)
A function based upon the fundamental solution, that will serve as Neumann values.
pbem3d new_dlp_helmholtz_bem3d(field k, 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 m...
real eta
coupling parameter eta.
Definition: helmholtzbem3d.h:46
unsigned uint
Unsigned integer type.
Definition: settings.h:70
double _Complex field
Field type.
Definition: settings.h:171
pbem3d new_adlp_helmholtz_bem3d(field k, 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 tim...
void del_helmholtz_bem3d(pbem3d bem)
Delete a bem3d object for the Helmholtz equation.
field rhs_neumann_plane_helmholtzbem3d(const real *x, const real *n, const void *data)
A function based upon the plane wave, that will serve as Neumann values.
real * source
Some source point.
Definition: helmholtzbem3d.h:49
real * kvec
The wavevector .
Definition: helmholtzbem3d.h:43
Representation of a triangle surface mesh.
Definition: surface3d.h:45
pbem3d new_slp_helmholtz_bem3d(field k, 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 Helmholtz equation...
#define HEADER_PREFIX
Prefix for function declarations.
Definition: settings.h:43
double real
real floating point type.
Definition: settings.h:97
field rhs_robin_plane_helmholtzbem3d(const real *x, const real *n, const void *data)
A function based upon the fundamental solution, that will serve for Robin boundary conditions...
enum _basisfunctionbem3d basisfunctionbem3d
Definition: bem3d.h:181
Simple struct that containts the wavevector and some source point.
Definition: helmholtzbem3d.h:41
field rhs_dirichlet_point_helmholtzbem3d(const real *x, const real *n, const void *data)
A function based upon the fundamental solution, that will serve as Dirichlet values.
Main container object for computation of BEM related matrices and vectors.
Definition: bem3d.h:290
field rhs_dirichlet_plane_helmholtzbem3d(const real *x, const real *n, const void *data)
A function based upon a plane wave, that will serve as Dirichlet values.
field rhs_robin_point_helmholtzbem3d(const real *x, const real *n, const void *data)
A function based upon the fundamental solution, that will serve for Robin boundary conditions...