Radiation Boundary Condition¶
Like the Absorbing Boundary Condition, the radiation boundary condition can be applied to the outer boundary of the computational domain to replicate an infinite space enclosure. Additionally it serves to simulate the irradiation of the entire computational domain by an external plane wave. According to this condition, the electric field at the boundary satisfies the following relation [1]:
where \(\hat{\mathbf{n}}\) is the unit vector normal to the boundary, \(\omega\) is the angular frequency, and \(Z = \sqrt{\mu/(\varepsilon - j\sigma/\omega)}\) is the impedance with \(\mu\), \(\varepsilon\), and \(\sigma\) being the permeability, permittivity, and conductivity of the material adjacent to the boundary. Additionally, \(\tilde{\mathbf{E}}^\text{in} = \mathbf{e}^\text{in} \exp(-j\mathbf{k}\cdot\mathbf{r})\) represents the complex amplitude of the incident plane wave, characterized by the polarization vector \(\mathbf{e}^\text{in}\) and wavevector \(\mathbf{k}=k\hat{\mathbf{k}}\) with the wavenumber \(k=\sqrt{(\varepsilon - j\sigma/\omega)\mu}\,\omega\) and the unit vector \(\hat{\mathbf{k}}\) indicating the direction of wave propagation.
To create an AbsorbingBoundaryCondition, in addition to specifying a custom
name and the boundary Marker, the user must
provide the direction of propagation for the incoming plane wave using a unit
vector kuv, as well as its polarization using the unit vector euv.
If the polarization vector euv is not perpendicular to kuv, which is
necessary for a plane wave propagating in free space, only the component of
euv that is perpendicular to kuv will be utilized.
The frequency of the wave corresponds to the frequency of the model.
Additionally, the user can specify a vector indicating the point where the phase
of the plane wave is zero, which corresponds to the location where the amplitude
of the wave is maximal.
An example of how to create an AbsorbingBoundaryCondition is provided below:
condition = RadiationBoundaryCondition(
name = "My Radiation Boundary Condition",
marker = my_marker,
kuv=mufem.FixedVector(0, 0, 1),
euv=mufem.FixedVector(1, 0, 0),
zero_phase_point=mufem.FixedVector(0, 0, 0),
)
References¶
[1] J.-M. Jin, "The finite element method in electromagnetics", 3rd edition, Wiley, 2014 (Chapter 9.3)