3.3.1. Perfectly-Matched Layers
PMLs are fictitious anisotropic materials that (usually) absorb whatever radiation falls on them from
PMLs don’t absorb in every direction, so different parts of the domain need different PMLs. This is such a pain that POEMS makes a valiant effort to automate it for you. It works as follows:
(i)If a PML touches a boundary, it will be set to absorb energy falling on that boundary from the centre of the domain.
(ii)If a PML touches more than one boundary, rule(i) will be applied to all of them. (iii)PMLs that touch both the upper and lower boundary of an axis will be automatically split in half down the middle so that (ii) can be applied to both halves.
(iv)PMLs must touch at least one boundary.
A solid block of PML filling the whole space is thus split into 8 blocks, each absorbing diagonally outwards. You can manipulate these rules to customize PMLs for your use. One common desire is to have PMLs covering the whole outer skin of the domain, with the faces, edges, and vertices all absorbing in different directions (26 blocks altogether). This is fiddly, so the HOLLOWBOX statement was added to POEMS to take care of it.
HOLLOWBOX is implemented by splitting the box up and letting the automatic PML handler apply rules
POEMS has heuristics for generating reasonable PMLs automatically, but these are not always reliable. Signs of trouble are checkerboard patterns, fields apparently originating in PML regions,
TEMPEST.
3.4. MATERIALS
Materials used in POEMS are treated as isotropic, linear and
3.5. SOURCES
POEMS has a rich array of sources, and when the PUPILFUNCTION order becomes available, it will be able to generate essentially any monochromatic propagating field.
3.5.1. POINT SOURCES
In
33