BilayerGraphene

class sknano.core.structures.BilayerGraphene(**kwargs)[source] [edit on github][source]

Bases: sknano.core.structures.Graphene

Bilayer Graphene structure class.

Parameters:
  • armchair_edge_length (float, optional) –

    Length of armchair edge in Angstroms

    New in version 0.3.10.

    Changed in version 0.4.0: Changed units from nanometers to Angstroms

  • zigzag_edge_length (float, optional) –

    Length of zigzag edge in Angstroms

    New in version 0.3.10.

    Changed in version 0.4.0: Changed units from nanometers to Angstroms

  • length (float, optional) –

    Length of armchair edge in Angstroms

    Deprecated since version 0.3.10: Use armchair_edge_length instead

  • width (float, optional) –

    Width of graphene sheet in Angstroms

    Deprecated since version 0.3.10: Use zigzag_edge_length instead

  • edge ({'AC', 'armchair', 'ZZ', 'zigzag'}, optional) –

    ArmChair or ZigZag edge along the length of the sheet.

    Deprecated since version 0.3.10: No longer used!

  • basis ({list}, optional) –

    List of strs of element symbols or atomic number of the two atom basis (default: [‘C’, ‘C’])

    New in version 0.3.10.

  • element2 (element1,) –

    Element symbol or atomic number of basis Atom 1 and 2

    Deprecated since version 0.3.10: Use basis instead

  • bond (float, optional) – \(\mathrm{a}_{\mathrm{CC}} =\) distance between nearest neighbor atoms. Must be in units of Angstroms.
  • layer_spacing (float, optional) – Distance between layers in Angstroms (default: 3.4).
  • stacking_order ({'AA', 'AB'}, optional) – Stacking order of graphene layers.
  • layer_rotation_angles (list, optional) – list of rotation angles for each layer in degrees if degrees is True (default), otherwise in radians. The list length must equal the number of layers.
  • layer_rotation_increment (float, optional) – incremental layer rotation angle in degrees if degrees is True (default), otherwise in radians. Each subsequent layer will be rotated by layer_rotation_increment relative to the layer below it.
  • verbose (bool, optional) – verbose output

Attributes

N Number of graphene unit cells.
Natoms Total number of atoms.
Natoms_per_layer Number of atoms per layer.
Natoms_per_unit_cell Number of atoms per unit cell.
area Total area of graphene supercell.
atoms Structure Atoms.
basis NanoStructureBase basis objects.
crystal_cell Structure CrystalCell.
element1 Basis element 1
element2 Basis element 2
fmtstr Format string.
lattice Structure Crystal3DLattice.
lattice_shift Lattice displacement vector.
n1 Number of unit cells along Crystal3DLattice.a1.
n2 Number of unit cells along Crystal3DLattice.a2.
r1 Vector GrapheneMixin.n1 \(\times\) Crystal3DLattice.a1.
r2 Vector GrapheneMixin.n2 \(\times\) Crystal3DLattice.a2.
scaling_matrix CrystalCell.scaling_matrix.
structure An alias to self.
unit_cell Structure UnitCell.
vdw_distance Van der Waals distance.
vdw_radius Van der Waals radius

Methods

clear() Clear list of StructureMixin.atoms.
from_conventional_cell(**kwargs) See the ConventionalCellGraphene structure class documentation.
from_primitive_cell(**kwargs) See the PrimitiveCellGraphene structure class documentation.
make_supercell(scaling_matrix[, wrap_coords]) Make supercell.
rotate(**kwargs) Rotate crystal cell lattice, basis, and unit cell.
todict() Return dict of constructor parameters.
transform_lattice(scaling_matrix[, ...]) Transform structure lattice.
translate(t[, fix_anchor_points]) Translate crystal cell lattice, basis, and unit cell.