legume.ShapesLayer

class legume.ShapesLayer(lattice, z_min: float = 0, z_max: float = 0, eps_b: float = 1.0)

Layer with permittivity defined by Shape objects

__init__(lattice, z_min: float = 0, z_max: float = 0, eps_b: float = 1.0)

Initialize a ShapesLayer.

Parameters:
  • lattice (Lattice) – A lattice defining the 2D periodicity.
  • z_min (float, optional) – z-coordinate of the bottom of the layer.
  • z_max (float, optional) – z-coordinate of the top of the layer.
  • eps_b (float, optional) – Layer background permittivity.

Methods

__init__(lattice, z_min, z_max, eps_b) Initialize a ShapesLayer.
add_shape(shapes) Add a shape or a list of shapes to the layer.
compute_ft(gvec) Compute the 2D Fourier transform of the layer permittivity.
get_eps(points) Compute the permittivity of the layer over a ‘points’ tuple containing a meshgrid in x, y defined by arrays of same shape.