{ "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.15667314117 -0.60 5.9 \n", " 2 -11.16017717058 -2.46 -1.30 1.0 233ms\n", " 3 -11.16039477848 -3.66 -2.33 2.1 321ms\n", " 4 -11.16041671082 -4.66 -3.29 2.7 340ms\n", " 5 -11.16041704729 -6.47 -3.47 3.1 375ms\n", " 6 -11.16041704985 -8.59 -3.63 1.0 238ms\n", " 7 -11.16041705076 -9.04 -3.87 1.3 270ms\n", " 8 -11.16041705117 -9.39 -4.29 2.0 273ms\n", " 9 -11.16041705134 -9.77 -4.60 2.0 283ms\n", " 10 -11.16041705140 -10.25 -4.86 2.0 301ms\n", " 11 -11.16041705144 -10.43 -5.21 2.7 319ms\n", " 12 -11.16041705145 -10.86 -5.79 3.0 387ms\n", " 13 -11.16041705145 -12.13 -6.36 2.6 328ms\n", "Computing bands along kpath:\n", " Γ -> M -> K -> Γ\n", "\rDiagonalising Hamiltonian kblocks: 5%|▊ | ETA: 0:00:11\u001b[K\rDiagonalising Hamiltonian kblocks: 24%|███▉ | ETA: 0:00:06\u001b[K\rDiagonalising Hamiltonian kblocks: 27%|████▎ | ETA: 0:00:05\u001b[K\rDiagonalising Hamiltonian kblocks: 29%|████▋ | ETA: 0:00:05\u001b[K\rDiagonalising Hamiltonian kblocks: 32%|█████▏ | ETA: 0:00:05\u001b[K\rDiagonalising Hamiltonian kblocks: 34%|█████▌ | ETA: 0:00:05\u001b[K\rDiagonalising Hamiltonian kblocks: 37%|█████▉ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 39%|██████▎ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 41%|██████▋ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 44%|███████ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 46%|███████▍ | ETA: 0:00:04\u001b[K\rDiagonalising Hamiltonian kblocks: 49%|███████▊ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 51%|████████▎ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 54%|████████▋ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 56%|█████████ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 59%|█████████▍ | ETA: 0:00:03\u001b[K\rDiagonalising Hamiltonian kblocks: 61%|█████████▊ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 63%|██████████▏ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 66%|██████████▌ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 68%|██████████▉ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 71%|███████████▍ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 73%|███████████▊ | ETA: 0:00:02\u001b[K\rDiagonalising Hamiltonian kblocks: 76%|████████████▏ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 78%|████████████▌ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 80%|████████████▉ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 83%|█████████████▎ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 85%|█████████████▋ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 88%|██████████████ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 90%|██████████████▌ | ETA: 0:00:01\u001b[K\rDiagonalising Hamiltonian kblocks: 93%|██████████████▉ | ETA: 0:00:00\u001b[K\rDiagonalising Hamiltonian kblocks: 95%|███████████████▎| ETA: 0:00:00\u001b[K\rDiagonalising Hamiltonian kblocks: 98%|███████████████▋| ETA: 0:00:00\u001b[K\rDiagonalising Hamiltonian kblocks: 100%|████████████████| Time: 0:00:06\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", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\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.8.5" }, "kernelspec": { "name": "julia-1.8", "display_name": "Julia 1.8.5", "language": "julia" } }, "nbformat": 4 }