PML Absorbing Boundary Condition (Perfectly Matched Layer)
Theory and Physics
What is PML?
What does PML stand for? Why aren't regular boundary conditions good enough?
Perfectly Matched Layer. It's an artificial layer that absorbs electromagnetic waves as they exit the analysis domain without reflecting them at the boundary.
Huh, aren't fixed walls or symmetry conditions okay? They work fine in structural analysis.
Structural analysis deals with "deformation inside a box," so walls are fine. But electromagnetic waves radiate into the far field. For example, when analyzing an antenna's radiation pattern, if the edges of the computational domain are metal walls, all the waves would bounce back. It's exactly like playing a speaker in a room with lots of echoes—you can't tell what the original sound was.
I see! So what did people do before PML was invented?
They used analytical absorbing boundary conditions (ABCs) like the Mur boundary condition and the Engquist-Majda ABC. However, these had a fatal flaw: they worked for plane waves at normal incidence, but left reflections for oblique incidence. In 1994, Bérenger from the French meteorological office proposed an "absorbing layer with impedance perfectly matched to the interior medium"—this is PML. Theoretically, it has zero reflection for all incidence angles and frequencies. It was a revolutionary paper for the FDTD community, cited over 10,000 times in the 30 years since its publication.
A person from the meteorological office invented an FDTD boundary condition? That's so unexpected...!
Conductivity Profile Design
What exactly happens inside the PML? I want to know how electromagnetic waves are absorbed.
An artificial conductivity $\sigma(x)$ is set inside the PML. The idea is that this conductivity absorbs the wave's energy as Joule heat. The key point is not to suddenly set a large $\sigma$ at the PML interface, but to increase it gradually from zero.
The conductivity profile within the PML is defined by a polynomial grading with respect to the distance $x$ from the boundary ($0 \leq x \leq d$, where $d$ is the PML thickness):
Here, $m$ is the grading order (typically $m = 3 \sim 4$), and $\sigma_{\max}$ is the maximum conductivity.
Why increase it gradually? It seems like absorption would be faster if it were large right away.
Good question. If $\sigma$ changes from zero to a large value in a "step" at the PML interface, an impedance mismatch occurs there, causing reflection. In continuous theory, reflection is zero, but a step arises when discretized (meshed). By increasing it slowly and smoothly, the difference in $\sigma$ between each mesh becomes small, suppressing numerical reflection. Think of it like slowing down smoothly in a deceleration lane on a highway is smoother than coming to a sudden stop at a toll booth, right?
The deceleration lane analogy is super clear! So a larger $m$ means a slower ramp-up.
Exactly. However, if $m$ is too large, the wave might hit the outer wall (PEC) before being sufficiently absorbed in the deeper part of the PML. $m = 3$ or $m = 4$ is the practical sweet spot.
Reflection Coefficient Theory
How do you determine $\sigma_{\max}$? Is it okay to just make it large?
$\sigma_{\max}$ is calculated backwards from the target reflection coefficient $R$. The reflection coefficient for a wave that travels into the PML and back out is given by:
Here, $\theta$ is the incidence angle, and $\eta_0 = \sqrt{\mu_0/\varepsilon_0} \approx 377\,\Omega$ is the impedance of free space. For normal incidence ($\theta = 0$), $\cos\theta = 1$, giving the best absorption.
So, for example, if I want reflection to be $-60\,\text{dB}$ ($R = 10^{-3}$), what should $\sigma_{\max}$ be?
Solving the above equation for $\sigma_{\max}$ gives:
For example, with $m=3$, $d = 10\Delta x$ (where $\Delta x$ is the cell size), and $R = 10^{-3}$:
$\sigma_{\max} = \frac{4 \times 377 \times \ln(10^3)}{2 \times 10\Delta x} \approx \frac{4 \times 377 \times 6.91}{20\Delta x} \approx \frac{10416}{20\Delta x} = \frac{520.8}{\Delta x}$ [S/m]
In practice, a simplified formula like $\sigma_{\max} \approx 0.8 \times (m+1) / (\eta_0 \Delta x)$ is also often used. If $\sigma_{\max}$ is too large, numerical reflection increases due to rapid changes within the PML, so the target $R$ is typically chosen in the range $10^{-4} \sim 10^{-8}$.
Complex Coordinate Stretching
Can you explain the theory of PML a bit more mathematically? What does "perfectly matched" mean?
The essence of PML is Complex Coordinate Stretching. The real coordinate $x$ is replaced by a complex coordinate $\tilde{x}$:
Here, $s_x$ is the stretching coefficient. Outside the PML ($\sigma = 0$), $s_x = 1$ and it's the usual coordinate; inside the PML, $s_x$ becomes complex. Simply replacing the spatial derivative $\partial/\partial x$ in Maxwell's equations with $\frac{1}{s_x}\partial/\partial x$ automatically ensures impedance matching for all incidence angles and polarizations.
Making the coordinate itself complex... that's a mind-blowing idea...
That's exactly where Bérenger's genius lies. Physically, it corresponds to "waves propagating in a direction where they decay exponentially inside the PML." The waves disappear smoothly without reflection—it's mathematically beautiful and the implementation is simple.
PML Variants: Split-field / UPML / CPML
I heard there are different types of PML. What's the difference?
There are roughly three generations:
- Split-field PML (Bérenger's original paper, 1994): Splits each electric and magnetic field component into two sub-components and attenuates them separately. Intuitive physically, but the number of variables doubles, which is a drawback.
- UPML (Uniaxial PML) (Sacks et al., 1995): Formulates the PML as an anisotropic medium tensor. Has high affinity with frequency-domain FEM. Only modifies the medium parameters without changing the form of Maxwell's equations, making it easy to integrate into existing code.
- CPML (Convolutional PML) (Roden & Gedney, 2000): Solves auxiliary differential equations (ADE) using convolution integrals. Does not split variables like Split-field, and can handle arbitrary media and evanescent waves. The de facto standard for current FDTD implementations.
| PML Type | Proposed Year | Main Method | Variable Increase | Evanescent Waves | Main Application |
|---|---|---|---|---|---|
| Split-field PML | 1994 | Field Splitting | Doubles | Can become unstable | Education / Initial Research |
| UPML | 1995 | Anisotropic Tensor | None | Can become unstable | Frequency-Domain FEM |
| CPML | 2000 | Convolution + ADE | Auxiliary variables only | Stable absorption | FDTD (Standard) |
Why is CPML strong against evanescent waves? What's different?
CPML's stretching coefficient has an additional real term called $\kappa$:
$\kappa_x > 1$ stabilizes the decay of evanescent waves, and $\alpha_x > 0$ improves PML performance at low frequencies. The combination of these three parameters ($\sigma, \kappa, \alpha$) enables broadband and stable absorption.
Bérenger's "Eureka!" Moment
Jean
Related Topics
なった
詳しく
報告