API

Pristine Graphene

GrapheneQFT.GrapheneCoordType
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.GrapheneStateType
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.ImpurityStateType
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.HoppingType
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.GrapheneSystemType
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.mkGrapheneSystemFunction
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_phaseFunction
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_RFunction
δ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_RFunction
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