PMLΒΆ

Type:section
Appearance:simple

The method of perfectly matched layers (PML, [1]) is used for numerically realizing transparent boundary conditions which may be present in the geometry layout. In a nutshell, the solver surrounds the computational domain by a (mathematical) meta-material which does not reflect any outgoing field. Fortunately, JCMsuite performs the mathematically sophisticated construction of the PML meta-material fully automatically.

To become truly non-reflective the PML needs to be thick enough. Within the automatic PML adaption, the solver starts with a moderate PML thickness and then increases the layer thickness if necessary to reach the desired accuracy. This repeated solving produces some overhead. For efficiency purposes, you are allowed to set the starting thickness level a well as the maximum number of thickness increasements. For details see the next paragraph Tuning the automatic PML adaption.

Warning

For eigenproblems (propagating modes or resonances) the automatic PML may fail due to the presence of eigenmodes of the PML caused by the continuous spectrum of the exterior domain. Either filter out these mode within the SelectionCriteria section or set a fix PML thickness level.

The paragraph User based PML settings shows how you set the PML parameter directly. This is not recommended and should be only used when you have verified that the automatic PML tends to use unnecessarily fine or thick PML.

Tuning the automatic PML adaption

Automatic, adaptive settings for the PML are chosen by default. In the iterative process of PML adaption, the starting thickness can be chosen using the parameter StartThicknessLevel, and the number of thickness increasement steps can be restricted by using the parameter MaxThicknessSteps, e.g.:
PML {
  StartThicknessLevel = 3
  MaxThicknessSteps = 2
}

Note

The actual PML thickness does not scale linearly with the thickness level. Typically the PML quality increases exponentially with the thickness level.

You can monitor the PML settings by using a log file:
PML {
  ...
  LogFile = "my_adaptive_pml.log"
}

This will output the automatically determined PML settings in .jcm format.

User based PML settings

The PML method consists in a continuation of the field distribution in complex space, where waves radiating outwards are damped and are truncated after a certain distance. Damping and discretization of the PML continuation can be defined using the parameters Gamma and XiVector, e.g.:
PML {
  Gamma = 1+1i
  XiVector = [0 100 200 300 400 600 800 1100]
  LogFile = "my_fixed_pml.log"
}

For finding good initial values for parameter studies of the numerical parameters Gamma and XiVector is it advised to first use the LogFile output of an automatic PML setting as start values and to coarsen, refine, extend or restrict these.

It can be shown that the PML method is a rigorous method, in the sense that any numerical discretization errors introduced by the PML converge to zero under refinement of the PML parameters [2], [3]. This implies also that the placement of transparent boundaries should not influence the numerical results (i.e., no specific minimum distance between scatterers or other structures and a transparent boundary / PML region has to be included).

Bibliography

[1]J.P. Berenger, A perfectly matched layer for the absorption of electromagnetic waves, J. Comp. Phys. 114 , 185 (1994).
[2]
  1. Hohage et al., SIAM J. Math. Anal. 35, 547 (2003).
[3]
  1. Zschiedrich et al., J. Comput. Appl. Math. 188, 12 (2006).