Graphene

Lattices

monolayer(nearest_neighbors=1, onsite=(0, 0), **kwargs)

Monolayer graphene lattice up to nearest_neighbors hoppings

Parameters:

nearest_neighbors : int

Number of nearest neighbors to consider.

onsite : Tuple[float, float]

Onsite energy for sublattices A and B.

**kwargs

Specify the hopping parameters t, t_nn and t_nnn. If not given, the default values from graphene.constants will be used.

Graphene, nearest neighbor
Graphene, second-nearest neighbor (i.e. next-nearest)
Graphene, third-nearest neighbor (i.e. next-next-nearest)
monolayer_4atom(onsite=(0, 0))

Nearest-neighbor with 4 atoms per unit cell: square lattice instead of oblique

Parameters:

onsite : Tuple[float, float]

Onsite energy for sublattices A and B.

Graphene, 4-atom unit cell
bilayer(gamma3=False, gamma4=False, onsite=(0, 0, 0, 0))

Bilayer lattice in the AB-stacked form (Bernal-stacked)

  • \(\gamma_0\) is the single-layer hopping within the top layer (A1/B1) and bottom layer (A2/B2)
  • \(\gamma_1\) is the inter-layer hopping between B1 and A2 (where atom B1 lies directly over A2)
  • Hoppings \(\gamma_3\) and \(\gamma_4\) are optional (see parameters)
Parameters:

gamma3, gamma4 : bool

Enable \(\gamma_3\) and/or \(\gamma_4\) hoppings. By default, only \(\gamma_0\) and \(\gamma_1\) are active.

onsite : Tuple[float, float, float, float]

Onsite energy for A1, B1, A2, B2

Bilayer graphene unit cell

Constants

a = 0.24595

[nm] unit cell length

a_cc = 0.142

[nm] carbon-carbon distance

beta = 3.37

strain hopping modulation

t = -2.8

[eV] nearest neighbor hopping

t_nn = 0.1

[eV] next-nearest neighbor hopping

vf = 906091185689731.9

[nm/s] Fermi velocity

Shapes

hexagon_ac(side_width, lattice_offset=(-0.122975, 0))

A graphene-specific shape which guaranties armchair edges on all sides

Parameters:

side_width : float

Hexagon side width. It may be adjusted slightly to ensure armchair edges.

lattice_offset : array_like

Offset the lattice so a carbon hexagon is at the center of the shape. The default value is specific for monolayer() and bilayer() lattices from this material repository.

Modifiers

mass_term(delta)

Break sublattice symmetry, make massive Dirac electrons, open a band gap

Only for monolayer graphene.

Parameters:

delta : float

Onsite energy +delta is added to sublattice ‘A’ and -delta to ‘B’.

coulomb_potential(beta, cutoff_radius=0.0, offset=(0, 0, 0))

A Coulomb potential created by an impurity in graphene

Parameters:

beta : float

Charge of the impurity [unitless].

cutoff_radius : float

Cut off the potential below this radius [nm].

offset: array_like

Position of the charge.

constant_magnetic_field(magnitude)

Constant magnetic field in the z-direction, perpendicular to the graphene plane

Parameters:

magnitude : float

In units of Tesla.

triaxial_strain(magnetic_field)

Triaxial strain corresponding to a homogeneous pseudo-magnetic field

Parameters:

magnetic_field : float

Intensity of the pseudo-magnetic field to induce.

gaussian_bump(height, sigma, center=(0, 0))

Gaussian bump deformation

Parameters:

height : float

Height of the bump [nm].

sigma : float

Gaussian sigma parameter: controls the width of the bump [nm].

center : array_like

Position of the center of the bump.