{
"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.15665868980 -0.60 6.0 \n",
" 2 -11.16018340015 -2.45 -1.30 1.0 162ms\n",
" 3 -11.16039703433 -3.67 -2.33 2.1 209ms\n",
" 4 -11.16041671291 -4.71 -3.27 2.6 202ms\n",
" 5 -11.16041704730 -6.48 -3.44 3.1 240ms\n",
" 6 -11.16041704968 -8.62 -3.60 1.0 149ms\n",
" 7 -11.16041705061 -9.03 -3.85 1.3 157ms\n",
" 8 -11.16041705110 -9.31 -4.25 1.9 174ms\n",
" 9 -11.16041705132 -9.66 -4.60 2.0 185ms\n",
" 10 -11.16041705139 -10.15 -4.88 2.1 191ms\n",
" 11 -11.16041705144 -10.36 -5.24 2.6 202ms\n",
" 12 -11.16041705145 -10.86 -5.83 3.0 223ms\n",
" 13 -11.16041705145 -12.09 -6.38 2.6 205ms\n",
"Computing bands along kpath:\n",
" Γ -> M -> K -> Γ\n",
"\rDiagonalising Hamiltonian kblocks: 5%|▊ | ETA: 0:00:07\u001b[K\rDiagonalising Hamiltonian kblocks: 10%|█▌ | ETA: 0:00:05\u001b[K\rDiagonalising Hamiltonian kblocks: 15%|██▍ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 17%|██▊ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 22%|███▌ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 27%|████▎ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 32%|█████▏ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 37%|█████▉ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 41%|██████▋ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 46%|███████▍ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 51%|████████▎ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 56%|█████████ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 61%|█████████▊ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 66%|██████████▌ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 71%|███████████▍ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 76%|████████████▏ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 80%|████████████▉ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 85%|█████████████▋ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 90%|██████████████▌ | ETA: 0:00:00\u001b[K\rDiagonalising Hamiltonian kblocks: 95%|███████████████▎| ETA: 0:00:00\u001b[K\rDiagonalising Hamiltonian kblocks: 100%|████████████████| Time: 0:00:03\u001b[K\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "Plot{Plots.GRBackend() n=25}",
"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 Unitful\n",
"using UnitfulAtomic\n",
"using LinearAlgebra\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, psp=load_psp(\"hgh/pbe/c-q4\"))\n",
"atoms = [C, C]\n",
"\n",
"# Run SCF\n",
"model = model_PBE(lattice, atoms, positions; temperature)\n",
"basis = PlaneWaveBasis(model; Ecut, kgrid)\n",
"scfres = self_consistent_field(basis)\n",
"\n",
"# Construct 2D path through Brillouin zone\n",
"sgnum = 13 # Graphene space group number\n",
"kpath = irrfbz_path(model; dim=2, sgnum)\n",
"plot_bandstructure(scfres, kpath; kline_density=20)"
],
"metadata": {},
"execution_count": 1
}
],
"nbformat_minor": 3,
"metadata": {
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.9.0"
},
"kernelspec": {
"name": "julia-1.9",
"display_name": "Julia 1.9.0",
"language": "julia"
}
},
"nbformat": 4
}