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

Class for computing the scalar Green's function for homogeneous, linear, and isotropic materials, with the singular term(s) explicitly subtracted out. More...

#include <hgf.hpp>

+ Inheritance diagram for bem::SingularitySubtractedHGF:

Detailed Description

Class for computing the scalar Green's function for homogeneous, linear, and isotropic materials, with the singular term(s) explicitly subtracted out.

Definition at line 91 of file hgf.hpp.

Member Function Documentation

◆ kernel() [1/2]

Complex bem::SingularitySubtractedHGF::kernel ( ConstEigRef< EigColVecN< Float, 3 > >  r_obs,
ConstEigRef< EigColVecN< 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- Source position vector.
[in]k- Complex wavenumber.
Returns
Kernel value.

Computes

\[ \frac{e^{-jk|\vec{r} - \vec{r}\,'|}}{4\pi|\vec{r} - \vec{r}\,'|} - \frac{1}{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 59 of file hgf.cpp.

◆ grad_kernel() [1/2]

EigColVecN< Complex, 3 > bem::SingularitySubtractedHGF::grad_kernel ( ConstEigRef< EigColVecN< Float, 3 > >  r_obs,
ConstEigRef< EigColVecN< 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- Source position vector.
[in]k- Complex wavenumber.
Returns
Components of the gradient of the kernel.

Computes

\begin{align*} \nabla\left(\frac{e^{-jk|\vec{r} - \vec{r}\,'|}}{4\pi|\vec{r} - \vec{r}\,'|} - \frac{1}{4\pi|\vec{r} - \vec{r}\,'|}\right) &=\\ -(\vec{r} - \vec{r}\,')&\left[\left(1 + jk|\vec{r} - \vec{r}\,'|\right) \frac{e^{-jk|\vec{r} - \vec{r}\,'|}}{4\pi|\vec{r} - \vec{r}\,'|^3} - \frac{1}{4\pi|\vec{r} - \vec{r}\,'|^3} - \left(\frac{1}{2}\right) \frac{k^2}{4\pi|\vec{r} - \vec{r}\,'|}\right] \end{align*}

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

Definition at line 70 of file hgf.cpp.

◆ kernel() [2/2]

virtual Complex bem::ScalarKernelBase< dim >::kernel ( ConstEigRef< EigColVecN< Float, dim > >  r_obs,
ConstEigRef< EigColVecN< 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- Source position vector.
[in]k- Complex wavenumber.
Returns
Scalar kernel value.

◆ grad_kernel() [2/2]

virtual EigColVecN< Complex, dim > bem::ScalarKernelBase< dim >::grad_kernel ( ConstEigRef< EigColVecN< Float, dim > >  r_obs,
ConstEigRef< EigColVecN< 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- Source position vector.
[in]k- Complex wavenumber.
Returns
Components of the gradient of the scalar kernel.

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