4.1.2 Layer

Each geometry defined in the PSlab consists of several layers. They are assumed to be uniform along $z$-axis and can have any number of objects defined in $xy$-plane.

class Layer( epsilon[, mu])
The layer class defines the single layer. The epsilon parameter is a permittivity value of a bulk material of the layer and mu is its permeablity (which defaults to $1$).

Here and in any geometry objects both epsilon and mu can be defined either as a single isotropic values or as 3-element sequences with diagonal elements or permibility or permeability diagonal tensors.

The layer has the following methods:

addObject( obj)
Add a new object to the layer.

getPWexpansion( G, geometry)
Compute the plane-wave coefficients of the layer. G must be a sequence of wavevectors and the geometry is one of the abovementioned geometry objects.

In practice you should not call this method yourself. It is used when necessary in the simulation.

__call__( width)
Return a tuple layer, width) whete layer is the layer object itself. This method is here to allow you the neat way of adding layers to geometry as geometry.addLayer(layer(width)).