Electromagnetic Theory

CPML (Convolutional Perfectly Matched Layer)

/kon-voh-LOO-shuh-nuhl PER-fik-tlee matcht LAY-er/
Used to terminate the edges of a finite-difference time-domain grid, the convolutional perfectly matched layer is an absorbing boundary that lets outgoing waves leave the computational domain as if it extended to infinity. Where the original split-field PML stores two subcomponents per field, CPML applies a complex frequency-shifted stretched-coordinate transform and evaluates it through recursive convolution, so only two extra auxiliary arrays per boundary are needed. The complex frequency shift (the alpha parameter) makes CPML absorb evanescent, low-frequency, and near-grazing-incidence energy that classic PML reflects, which is why it is the default boundary in modern computational electromagnetics solvers. A well-graded 8 to 16 cell CPML reaches reflection levels of minus 40 dB to minus 80 dB while using roughly 30 percent less memory than the Berenger formulation.
Category: Electromagnetic Theory
Layer Thickness: 8 to 16 cells
Reflection: −40 to −80 dB

How CPML Truncates an FDTD Grid

Every time-domain field solver works on a finite mesh, yet most antenna, scattering, and waveguide problems are open-region: the fields radiate outward toward infinity. A perfectly matched layer fixes this by surrounding the grid with a fictitious anisotropic absorber whose wave impedance is matched to the interior medium at every angle of incidence, so an outgoing wave passes the inner interface without reflection and is then attenuated inside the layer before it can return. The convolutional PML, introduced by Roden and Gedney in 2000, recasts that absorber in stretched coordinates and applies a complex frequency-shifted (CFS) stretching variable to each spatial derivative. Because the stretching is frequency dependent, the inverse transform back to the time domain becomes a convolution, which CPML evaluates with a single recursive auxiliary variable rather than storing the full field history.

The CFS stretching factor along a coordinate, written s = kappa + sigma / (alpha + jωε0), carries three graded profiles: kappa, the real coordinate stretch; sigma, the loss term that does the actual absorbing; and alpha, the frequency shift that moves the absorber pole off the real axis. Setting alpha greater than zero is what separates CPML from the earlier uniaxial and split-field layers. It restores low-reflection performance for evanescent fields near a structure and for waves striking the boundary at glancing angles, the two regimes where standard PML develops slow, late-time reflections that corrupt broadband and transient results.

Compared with analytical boundaries such as the first or second-order Mur condition, CPML is dramatically more absorptive (Mur typically reflects at the minus 25 dB to minus 35 dB level and only near normal incidence), at the cost of the extra memory for the auxiliary arrays inside the boundary cells. That trade is almost always worthwhile for radar cross-section, antenna pattern, and full-wave electromagnetic work where late-time accuracy matters.

Governing Equations and Grading

CFS stretched-coordinate factor:
sx = κx + σx / (αx + jωε0)

Polynomial conductivity grading:
σ(x) = σmax × (x / d)m,  m = 3 to 4

Optimal maximum conductivity:
σmax ≈ 0.8 × (m + 1) / (Δx × η)

Theoretical normal-incidence reflection:
R(0) = e−2σmaxd / [(m+1)ε0c]  → target R < −60 dB

Where d = layer thickness, Δx = cell size, η = intrinsic impedance, c = speed of light, κ grades from 1 to 5–15, and α grades from ~0.05–0.24 down to 0 at the outer wall.

CPML vs Other FDTD Boundaries

BoundaryTypeTypical ReflectionMemory OverheadGrazing / EvanescentBest Use
CPML (CFS)Convolutional, unsplit−40 to −80 dB2 arrays / boundaryExcellentAntennas, RCS, dispersive media
Berenger split-field PMLSplit field−40 to −80 dB~30% more than CPMLPoor at grazingLegacy / reference solvers
UPMLUniaxial anisotropic−40 to −70 dBModeratePoor at grazingLossy media, simple layouts
Mur (2nd order)Analytical ABC−25 to −35 dBNegligiblePoor off-normalQuick checks, tight memory
Common Questions

Frequently Asked Questions

What is the difference between CPML and the original Berenger split-field PML?

Berenger's 1994 split-field PML divides each field component into two subcomponents with separate conductivities, doubling the stored variables in the boundary. CPML uses an unsplit, stretched-coordinate form whose convolution is evaluated by a recursive auxiliary variable, cutting memory by roughly 30 percent and simplifying the code to two extra arrays per boundary. The CFS shift also lets CPML absorb evanescent and near-grazing energy that split-field PML reflects.

How thick should the CPML region be and how should sigma be graded?

Use 8 to 16 cells. Grade conductivity polynomially as σ(x) = σmax × (x/d)m with m = 3 to 4, and set σmax ≈ 0.8(m+1)/(Δx×η). Eight cells give about minus 40 dB; 12 to 16 cells reach minus 60 to minus 80 dB. Smooth grading is essential, since an abrupt conductivity step would itself reflect energy back into the grid.

What does the CFS alpha parameter do in CPML?

The complex frequency-shift parameter α moves the PML pole off the real frequency axis, which sharply improves absorption of low-frequency, evanescent, and near-grazing-incidence fields, the cases where classic PML develops late-time reflections. A common recipe grades α from about 0.05 to 0.24 at the inner edge to zero at the outer wall, while κ grades from 1 up to 5 to 15. Tuning α and κ together keeps CPML stable and low-reflection for dispersive and open-region antenna problems.

Modeled Then Measured

From Simulation to Validated Hardware

Our millimeter-wave components are designed in full-wave FDTD and method-of-moments solvers, then verified on the bench. Talk to our engineers about a custom waveguide, antenna, or integrated assembly.

Get in Touch