viperleed.calc.classes.layer.Layer
- class viperleed.calc.classes.layer.Layer(slab, num, is_bulk=False)[source]
A container of atoms residing close to one another along z.
This is intended to be used with Slab objects. Has origin, atoms (a subset of the ones in slab), and a number.
- cartori
The Cartesian origin of this layer. It is the position where a plane passing through the topmost atom in this layer intersects the c vector of the slab’s unit cell. Notice that cartori is in the same Cartesian frame as the atoms (i.e., z increases going from vacuum into the solid). A call to update_position() updates this attribute.
- Type:
numpy.ndarray
- cartbotz
Z (i.e., out-of-plane) position of the bottom-most atom in the layer. A call to update_position() updates this attribute.
- Type:
float
- is_bulk
Whether this layer has bulk character.
- Type:
bool
- num
A progressive index (zero-based) identifying this layer within its slab. Normally, layer.num == 0 for the layer closest to the solid/vacuum interface.
- Type:
int
- slab
The slab to which this layer belongs.
- Type:
Slab
Methods
__init__
(slab, num[, is_bulk])Initialize instance.
update_position
()Update the Cartesian position of this layer from its atoms.
Attributes
n_atoms
Return the number of atoms in this layer.
thickness
Return the z thickness of this layer.