Skip to content

Radiation Boundary Condition

Like the Absorbing Boundary Condition, you can apply the radiation boundary condition to the outer boundary of the computational domain to replicate an infinite space enclosure. It can also simulate 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]:

\[ \hat{\mathbf{n}} \times \left(\frac{1}{\mu} \nabla \times \tilde{\mathbf{E}}\right) = j \frac{\omega}{Z} \hat{\mathbf{n}} \times \left(\tilde{\mathbf{E}} \times \hat{\mathbf{n}}\right) -j \frac{\omega}{Z}\hat{\mathbf{n}} \times \left[ \tilde{\mathbf{E}}^\text{in} \times \left(\hat{\mathbf{n}} - \hat{\mathbf{k}}\right) \right], \]

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 a RadiationBoundaryCondition, give a name, the boundary Marker, the propagation direction of the incoming plane wave as a unit vector kuv, and its polarization as the unit vector euv. A plane wave that propagates in free space needs euv perpendicular to kuv. If euv is not perpendicular to kuv, mufem uses only the component of euv perpendicular to kuv. The frequency of the wave corresponds to the frequency of the model. You can also specify a vector for the point where the phase of the plane wave is zero. This is the location where the amplitude of the wave is maximal. The example below shows how to create a RadiationBoundaryCondition:

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)