bcc_slab

sisl.geom.bcc_slab(alat: float, atoms: sisl.typing.AtomsLike, miller: int | str | tuple[int, int, int], layers=None, vacuum: float | Sequence[float] = 20.0, *, orthogonal: bool = False, start=None, end=None) Geometry

Construction of a surface slab from a body-centered cubic (BCC) crystal

The slab layers are stacked along the \(z\)-axis. The default stacking is the first layer as an A-layer, defined as the plane containing an atom at \((x,y)=(0,0)\).

Several vacuum separated segments can be created by specifying specific positions through either layers being a list, or by having spaces in its str form, see Examples.

Parameters:
  • alat – lattice constant of the fcc crystal

  • atoms – the atom that the crystal consists of

  • miller – Miller indices of the surface facet

  • layers (int or str or array_like of ints, optional) – Number of layers in the slab or explicit layer specification. For array like arguments vacuum will be placed between each index of the layers. Each element can either be an int or a str to specify number of layers or an explicit order of layers. If a str it can contain spaces to specify vacuum positions (then equivalent to layers.split()). If there are no vacuum positions specified a vacuum will be placed after the layers. See examples for details.

  • vacuum – size of vacuum at locations specified in layers. The vacuum will always be placed along the \(z\)-axis (3rd lattice vector). Each segment in layers will be appended the vacuum as found by zip_longest(layers, vacuum). None means that no vacuum is inserted (keeps the crystal structure intact).

  • orthogonal – if True returns an orthogonal lattice

  • start (int or str or array_like, optional) – sets the first layer in the slab. Only one of start or end must be specified. Discouraged to pass if layers is a str.

  • end (int or str or array_like, optional) – sets the last layer in the slab. Only one of start or end must be specified. Discouraged to pass if layers is a str.

Examples

Please see fcc_slab for examples, they are equivalent to this method.

Raises:

NotImplementedError – In case the Miller index has not been implemented or a stacking fault is introduced in layers.

See also

bcc

Fully periodic equivalent of this slab structure

fcc_slab

Slab in FCC structure

rocksalt_slab

Slab in rocksalt/halite structure