{
"cells": [
{
"cell_type": "markdown",
"source": [
"# Graphene band structure"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"This example plots the band structure of graphene, a 2D material. 2D band\n",
"structures are not supported natively (yet), so we manually build a custom\n",
"path in reciprocal space."
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"n Energy log10(ΔE) log10(Δρ) Diag Δtime\n",
"--- --------------- --------- --------- ---- ------\n",
" 1 -11.15656705121 -0.60 5.9 191ms\n",
" 2 -11.16020721823 -2.44 -1.30 1.1 127ms\n",
" 3 -11.16039992622 -3.72 -2.33 2.4 147ms\n",
" 4 -11.16041622339 -4.79 -3.21 2.3 138ms\n",
" 5 -11.16041703063 -6.09 -3.47 2.7 148ms\n",
" 6 -11.16041704404 -7.87 -3.63 1.1 113ms\n",
" 7 -11.16041704963 -8.25 -3.98 1.1 111ms\n",
" 8 -11.16041705117 -8.81 -4.51 1.9 123ms\n",
" 9 -11.16041705142 -9.60 -5.01 1.9 125ms\n",
" 10 -11.16041705145 -10.58 -5.38 1.7 451ms\n",
" 11 -11.16041705145 -11.57 -5.87 1.7 118ms\n",
" 12 -11.16041705145 -12.34 -6.23 2.0 127ms\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "Plot{Plots.GRBackend() n=24}",
"image/png": "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",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 1
}
],
"cell_type": "code",
"source": [
"using DFTK\n",
"using LinearAlgebra\n",
"using Plots\n",
"using PseudoPotentialData\n",
"using Unitful\n",
"using UnitfulAtomic\n",
"\n",
"# Define the convergence parameters (these should be increased in production)\n",
"L = 20 # height of the simulation box\n",
"kgrid = [6, 6, 1]\n",
"Ecut = 15\n",
"temperature = 1e-3\n",
"\n",
"# Define the geometry and pseudopotential\n",
"a = 4.66 # lattice constant\n",
"a1 = a*[1/2,-sqrt(3)/2, 0]\n",
"a2 = a*[1/2, sqrt(3)/2, 0]\n",
"a3 = L*[0 , 0 , 1]\n",
"lattice = [a1 a2 a3]\n",
"C1 = [1/3,-1/3,0.0] # in reduced coordinates\n",
"C2 = -C1\n",
"positions = [C1, C2]\n",
"C = ElementPsp(:C, PseudoFamily(\"cp2k.nc.sr.pbe.v0_1.semicore.gth\"))\n",
"atoms = [C, C]\n",
"\n",
"# Run SCF\n",
"model = model_DFT(lattice, atoms, positions; functionals=PBE(), temperature)\n",
"basis = PlaneWaveBasis(model; Ecut, kgrid)\n",
"scfres = self_consistent_field(basis)\n",
"\n",
"# Construct 2D path through Brillouin zone\n",
"kpath = irrfbz_path(model; dim=2, space_group_number=13) # graphene space group number\n",
"bands = compute_bands(scfres, kpath; kline_density=20)\n",
"plot_bandstructure(bands)"
],
"metadata": {},
"execution_count": 1
}
],
"nbformat_minor": 3,
"metadata": {
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.11.4"
},
"kernelspec": {
"name": "julia-1.11",
"display_name": "Julia 1.11.4",
"language": "julia"
}
},
"nbformat": 4
}