OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
Loading...
Searching...
No Matches
bem::HGF Class Referenceabstract

Class for computing the scalar Green's function for homogeneous, linear, and isotropic materials. More...

#include <hgf.hpp>

+ Inheritance diagram for bem::HGF:

Detailed Description

Class for computing the scalar Green's function for homogeneous, linear, and isotropic materials.

Definition at line 36 of file hgf.hpp.

Member Function Documentation

◆ compute() [1/2]

EigRowVec< Complex > bem::HGF::compute ( ConstEigRef< EigColVecN< Float, 3 > >  r_obs,
ConstEigRef< EigMatNX< Float, 3 > >  r_src,
const Complex  k 
) const

Computes the kernel for given observation and source points.

Parameters
[in]r_obs- Observer position vector.
[in]r_src- Set of source position vectors.
[in]k- Complex wavenumber.
Returns
Kernel value.

Computes

\[ \frac{e^{-jk|\vec{r} - \vec{r}\,'|}}{4\pi|\vec{r} - \vec{r}\,'|} \]

where \( \vec{r} \) is the observer position vector, \( \vec{r}\,' \) is the source position vector, and \( k \) is the complex wavenumber.

Definition at line 31 of file hgf.cpp.

◆ compute_grad() [1/2]

EigMatNX< Complex, 3 > bem::HGF::compute_grad ( ConstEigRef< EigColVecN< Float, 3 > >  r_obs,
ConstEigRef< EigMatNX< Float, 3 > >  r_src,
const Complex  k 
) const

Computes the gradient of the kernel for given observation and source points.

Parameters
[in]r_obs- Observer position vector.
[in]r_src- Set of source position vectors.
[in]k- Complex wavenumber.
Returns
Components of the gradient of the kernel.

Computes

\[ \nabla\left(\frac{e^{-jk|\vec{r} - \vec{r}\,'|}}{4\pi|\vec{r} - \vec{r}\,'|}\right) = -(\vec{r} - \vec{r}\,')\left(1 + jk|\vec{r} - \vec{r}\,'|\right) \frac{e^{-jk|\vec{r} - \vec{r}\,'|}}{4\pi|\vec{r} - \vec{r}\,'|^3} \]

where \( \vec{r} \) is the observer position vector, \( \vec{r}\,' \) is the source position vector, and \( k \) is the complex wavenumber.

Definition at line 43 of file hgf.cpp.

◆ compute() [2/2]

virtual EigRowVec< Complex > bem::ScalarKernelBase< dim >::compute ( ConstEigRef< EigColVecN< Float, dim > >  r_obs,
ConstEigRef< EigMatNX< Float, dim > >  r_src,
const Complex  k 
) const
pure virtualinherited

Computes the scalar kernel for given observation and source points.

Parameters
[in]r_obs- Observer position vector.
[in]r_src- Set of source position vectors.
[in]k- Complex wavenumber.
Returns
Scalar kernel value.

◆ compute_grad() [2/2]

virtual EigMatNX< Complex, dim > bem::ScalarKernelBase< dim >::compute_grad ( ConstEigRef< EigColVecN< Float, dim > >  r_obs,
ConstEigRef< EigMatNX< Float, dim > >  r_src,
const Complex  k 
) const
pure virtualinherited

Computes the gradient of the scalar kernel for given observation and source points.

Parameters
[in]r_obs- Observer position vector.
[in]r_src- Set of source position vectors.
[in]k- Complex wavenumber.
Returns
Components of the gradient of the scalar kernel.

The documentation for this class was generated from the following files: