Maxwell Single Layer Operator

The Maxwell single layer operator, also known als electric field integral operator (EFIO) is encountered in many time-harmonic BEM scattering formulations in electromagnetics. So far, only the 3D variant is implemented.


Definition

The operator is defined as (see, e.g., [RWG82])

\[\bm{\mathcal{T}} \bm b = α \bm{\mathcal{T}}_{\!\!s} \bm b + β \bm{\mathcal{T}}_{\!\!h} \bm b\]

for a vector field $\bm{b}$ and parameters $α$ and $β$, as well as, the weakly singular operator (also known as vector potential operator)

\[\bm{\mathcal{T}}_{\!\!s} \bm b = \int_\Gamma g_γ(\bm x,\bm y) \, \bm b(\bm y) \,\mathrm{d}\bm y\]

and the hyper singular operator (also known as scalar potential operator)

\[\bm{\mathcal{T}}_{\!\!h} \bm b = ∇\int_\Gamma g_γ(\bm x,\bm y) \, ∇_Γ⋅\bm b(\bm y) \,\mathrm{d}\bm y\]

with the free-space Green's function

\[g_{γ}(\bm x,\bm y) = \dfrac{\mathrm{e}^{-γ|x-y|}}{4π|x-y|} \,.\]

The parameters are typically $α=-\mathrm{j}k$, $β=-1/(\mathrm{j}k)$, and $γ = \mathrm{j}k$ with $k$ denoting the wavenumber and $\mathrm{j}$ the imaginary unit.


As Bilinear Form

When handed to the assemble function, the operators are interpreted as the corresponding bilinear forms

\[a(\bm t, \bm b) = α ∬_{\Gamma \times \Gamma} \bm t(\bm x) ⋅ \bm b(\bm y) \, g_γ(\bm x,\bm y) \,\mathrm{d}\bm y \mathrm{d}\bm x + β ∬_{Γ×Γ} ∇_Γ⋅\bm t(\bm x) \, ∇_Γ⋅\bm b(\bm y) \, g_γ(\bm x,\bm y) \,\mathrm{d}\bm y \mathrm{d}\bm x\]

for the complete Maxwell single layer operator,

\[a_s(\bm t, \bm b) = α ∬_{\Gamma \times \Gamma} \bm t(\bm x) ⋅ \bm b(\bm y) \, g_γ(\bm x,\bm y) \,\mathrm{d}\bm y \mathrm{d}\bm x\]

for the weakly singular part, and

\[a_h(\bm t, \bm b) = β ∬_{Γ×Γ} ∇_Γ⋅\bm t(\bm x) \, ∇_Γ⋅\bm b(\bm y) \, g_γ(\bm x,\bm y) \,\mathrm{d}\bm y \mathrm{d}\bm x\]

for the hyper singular part. Note that the gradient in the hypersingular operator has been moved to the test function using, e.g., a Stokes identity [Ned01, p. 73]. The corresponding matrices contain the entries

\[[\bm A]_{mn} = a_x(\bm t_m, \bm b_n) \,.\]

API

The weakly singular and the hyper singular operator can be used as such or combined in the single layer operator.

Tip

The qualifier Maxwell3D has to be used.

BEAST.Maxwell3D.singlelayerFunction
singlelayer(;gamma, alpha, beta)
singlelayer(;wavenumber, alpha, beta)

Maxwell 3D single layer operator.

Either gamma, or the wavenumber, or α and β must be provided.

If α and β are not provided explitly, they are set to $α = -γ$ and $β = -1/γ$ with $γ=\mathrm{j} k$.

source
BEAST.Maxwell3D.weaklysingularFunction
weaklysingular(;wavenumber)

Weakly singular part of the Maxwell 3D single layer operator.

$α = -\mathrm{j} k$ is set with the wavenumber $k$.

source
BEAST.Maxwell3D.hypersingularFunction
hypersingular(;wavenumber)

Hyper singular part of the Maxwell 3D single layer operator.

$β = -1/\mathrm{j} k$ is set with the wavenumber $k$.

source

As Linear Map

When handed to the potential function, the operator can be evaluated at provided points in space. Commonly, this is used in post-processing.

Far-Field

In the limit that the observation point $\bm x \rightarrow \infty$, the operator simplifies to the far-field (FF) version

\[(\bm{\mathcal{T}}_\mathrm{FF} \bm b)(\bm x) = α \bm{u}_r \times \int_\Gamma \bm{b}(\bm y) \mathrm{e}^{\mathrm{j}\bm{u}_r \cdot\, \bm{y}} \,\mathrm{d}\bm{y} \times \bm{u}_r \]

where $\bm{u}_r$ is the unit vector in the direction of the evaluation point.

API

BEAST.MWSingleLayerField3DType
MWSingleLayerField3D(;gamma, wavenumber, alpha, beta)

Create the single layer near field operator, for use with potential.

source
Tip

The provided points for the potential should be in Cartesian coordinates. The returned fields are also in Cartesian from.

Warning

Singularities are not addressed: the case when the evaluation point is close to the surface is not treated properly, so far.