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

◆ compute() [1/2]

EigRowVec< Complex > bem::SingularitySubtractedHGF::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}\,'|} - \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 62 of file hgf.cpp.

◆ compute_grad() [1/2]

EigMatNX< Complex, 3 > bem::SingularitySubtractedHGF::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

\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 74 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: