A Perfectly Matched Layer node (
) applies a complex coordinate scaling to a layer of virtual domains surrounding the physical region of interest. When appropriately tuned, this layer absorbs all outgoing wave energy in frequency-domain problems, without any impedance mismatch causing spurious reflections at the boundary.
To add a Perfectly Matched Layer to any Component, click Perfectly Matched Layer in the
Definitions toolbar, or right-click the
Definitions node under the Component and choose
Perfectly Matched Layer. If the nodes under the
Component node are grouped by type, you can instead right-click
Artificial Domains under
Definitions.
The Label is the default perfectly matched layer name.
The default Name (for the first perfectly matched layer in the model) is
pml. The
Name provides a namespace for variables created by the
Perfectly Matched Layer node. For example, the scaled
x coordinate can typically be accessed in equations and postprocessing as
pml1.x. See the
Equation View subnode for a complete list of available variables.
Select a Coordinate stretching type:
Polynomial (the default),
Rational, or
User defined. See
PML Implementation for help on making a decision.
Select an option from the Typical wavelength from list:
Physics interface (the default) or
User defined. If
Physics interface is selected, select one of the interfaces supporting PMLs from the
Physics list. If
User defined is selected, enter a value or expression for the
Typical wavelength. The default is 1.
For the predefined Polynomial and
Rational stretching types, enter a value or expression for the
PML scaling factor and the
PML scaling curvature parameter which can be used to tune the PMLs for wave fields with evanescent components or wavelengths deviating from the free-space wavelength of plane waves. See further
PML Implementation. The defaults are 1 for both.
For the User defined stretching type, select
Real part of stretching function and
Imaginary part of stretching function from functions defined under
Global>Definitions or under
Definitions in a component, or leave the default value
None, which for the real part is interpreted as
f(ξ) = ξ and for the imaginary part as
f(ξ) = 0. Any function node defining a single function of one or two arguments is eligible for use as a stretching function. The first argument is interpreted as a dimensionless distance,
ξ, in the range
0 to
1, and the second argument — if present — as the typical wavelength.