API

Pristine Graphene

GrapheneQFT.GrapheneCoord — Type
GrapheneCoord(u::Int, v::Int, sublattice::Sublattice)

Lattice coordinate of a carbon atom.

Each coordinate contains the sublattice index A or B, as well as the integer coefficients of the two basis vectors $d\times(\pm 1 \hat{x} + \sqrt{3}\hat{y}) / 2$ (u for +, v for -), with $d = 2.46$Å as the lattice constant.

source
GrapheneQFT.GrapheneState — Type
GrapheneState(coord::GrapheneCoord, spin::Spin)

Quantum state of an electron in graphene, denoted by $|u, v, L\rangle\otimes |\sigma\rangle$ in the drivation.

The state is given by the GrapheneCoord of the orbital, as well as the electronic spin, which can take values SpinUp and SpinDown.

source
GrapheneQFT.ImpurityState — Type
ImpurityState(ϵ::Float64, coupling::Vector{Tuple{Float64,GrapheneCoord}}) <: Defect

An impurity state of energy ϵ (in eV) coupled to the graphene system. The tuples in the coupling field contain all the coupling energies (in eV) and the corresponding GrapheneCoord's.

source
GrapheneQFT.Hopping — Type
Hopping(c1::GrapheneCoord, c2::GrapheneCoord, Δ::ComplexF64) <: Defect

Hopping modification (in eV) between two GrapheneCoord's. If c1==c2, this quantity corresponds to a local energy modification.

source
GrapheneQFT.GrapheneSystem — Type
GrapheneSystem(
    μ::Float64,
    T::Float64,
    Δ::Array{ComplexF64,2},
    V::Array{Float64,2},
    scattering_states::Vector{GrapheneState},
    imps::Vector{Float64},
)

A structure describing the perturbed graphene system.

See also mkGrapheneSystem.

source
GrapheneQFT.mkGrapheneSystem — Function
mkGrapheneSystem(
    μ::Float64,
    T::Float64,
    defects::Vector{Defect},
)

Construct GrapheneSystem.

Arguments

  • μ: chemical potential
  • T: temperature
  • defects: a list of [Defect]'s

When supplying []Hopping](@ref) in defects, ensure that each coordinate pair appears only once as repeated pairs with different couplings will cause eariler values to be overwritten. The order of the coordinates does not matter.

The function constructs a GrapheneSystem with the Δ and V matrices. In addition, a list of all GrapheneState that are perturbed (scattering_states field in GrapheneCoord) and a list of impurity energies (imps field in GrapheneCoord) are included.

source
GrapheneQFT.peierls_phase — Function
peierls_phase(vec_pot, a1::GrapheneCoord, a2::GrapheneCoord)

Calculate the phase used in the Peierls substitution to include the effects of the magnetic field.

To make the units work out better, the magnetic field $\mathbf{B}(x, y, z) = \Phi_0/\mathcal{V} \mathbf{f}(x, y, z)$, where $\mathcal{V}$ is the area of the graphene unit cell in Ų, $\Phi_0 = h / 2e$ is the magnetic flux quantum, and $\mathbf{f}(x, y, z) = \nabla \times \mathbf{g}(x,y,z)$ is a dimensionless vector function. Note that $\mathbf{f} = 1$ produces a field of about 40000 T.

For the vector potential, we have $\mathbf{A}(x, y, z) =\Phi_0 / \mathcal{V} \mathbf{g}(x, y, z)$, where $\mathbf{g}(x, y, z)$ has the units of Å. Using the definition of the Peierls phase, one gets

\[\phi = -\frac{\pi}{ \Phi_0} \int \mathbf{A}\cdot d\mathbf{l} = -\frac{\pi}{ \mathcal{V}} \int \mathbf{g}(x, y, z) \cdot d\mathbf{l} \rightarrow -\frac{\pi}{ \mathcal{V}} \int \mathbf{g}_{xy}(x, y) \cdot d\mathbf{l}\,.\]

The last step follows from the fact that the graphene system resides in the $xy$ plane, so one needs to retain only the $x$ and $y$ componends of $\mathbf{g}$, as denoted by the subscript $xy$.

Arguments

  • vec_pot(x,y): $\mathbf{g}_{xy}(x, y)$ in Å with x and y in Å.
  • a1: GrapheneCoord of the "from" atom.
  • a2: GrapheneCoord of the "to" atom.

vec_pot(x,y) needs to return a tuple corresponding to the vector potential in $x$ and $y$ directions.

source

Green's Functions

GrapheneQFT.δG_R — Function
δG_R(z::ComplexF64,
 pairs::Vector{Tuple{GrapheneState,GrapheneState}},
 s::GrapheneSystem)

The correction to the real-space graphene Green's function in the presence of defects as a function of complex energy z.

The function returns a vector of ComplexF64 for each pair of GrapheneState's in pairs.

Arguments

source
GrapheneQFT.G_R — Function
G_R(z::ComplexF64,
pairs::Vector{Tuple{GrapheneState,GrapheneState}},
s::GrapheneSystem)

The full real-space graphene Green's function in the presence of defects as a function of complex energy z.

Arguments

source
GrapheneQFT.δΓ — Function
δΓ(z::ComplexF64, s::GrapheneSystem)

The correction to the impurity Green's function due to the impurities' interaction with graphene.

Arguments

source
GrapheneQFT.Γ — Function
Γ(z::ComplexF64, s::GrapheneSystem)

The full impurity Green's function with the correction due to the impurities' interaction with graphene.

Arguments

source