{ "cells": [ { "cell_type": "markdown", "source": [ "# Introduction to periodic problems and plane-wave discretisations" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "In this example we want to show how DFTK can be used to solve simple one-dimensional\n", "periodic problems. Along the lines this notebook serves as a concise introduction into\n", "the underlying theory and jargon for solving periodic problems using plane-wave\n", "discretizations." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Periodicity and lattices\n", "A periodic problem is characterized by being invariant to certain translations.\n", "For example the ``\\sin`` function is periodic with periodicity ``2π``, i.e.\n", "$$\n", " \\sin(x) = \\sin(x + 2πm) \\quad ∀ m ∈ \\mathbb{Z},\n", "$$\n", "This is nothing else than saying that any translation by an integer multiple of ``2π``\n", "keeps the ``\\sin`` function invariant. In a more formal one can use the\n", "translation operator ``T_{-2πm}`` to write this as:\n", "$$\n", " T_{-2πm} \\, \\sin(x) = \\sin(x + 2πm) = \\sin(x).\n", "$$\n", "\n", "Whenever such periodicity exists one can exploit it to save computational work.\n", "Consider a problem in which we want to find a function ``f : \\mathbb{R} → \\mathbb{R}``,\n", "but *a priori* the solution is known to be periodic with periodicity ``a``. As a consequence\n", "of said periodicity it is sufficient to determine the values of ``f`` for all ``x`` from the\n", "interval ``[-a/2, a/2)`` to uniquely define ``f`` on the full real axis. Naturally exploiting\n", "periodicity in a computational procedure thus greatly reduces the required amount of work.\n", "\n", "Let us introduce some jargon: The periodicity of our problem implies that we may define\n", "a **lattice**\n", "```\n", " -3a/2 -a/2 +a/2 +3a/2\n", " ... |---------|---------|---------| ...\n", " a a a\n", "```\n", "with lattice constant ``a``. Each cell of the lattice is an identical periodic image of\n", "any of its neighbors. For finding ``f`` it is thus sufficient to consider only the\n", "problem inside a **unit cell** ``[-a/2, a/2)``. In passing we note that the definition\n", "of the unit cell is itself only unique up to translations. A choice ``[0, a)``,\n", "for example, would have done just as well.\n", "\n", "## Periodic operators and the Bloch transform\n", "Not only functions, but also operators can feature periodicity.\n", "Consider for example the **free-electron Hamiltonian**\n", "$$\n", " H = -\\frac12 Δ.\n", "$$\n", "In free-electron model (which gives rise to this Hamiltonian) electron motion is only\n", "by their own kinetic energy. As this model features no potential which could make one point\n", "in space more preferred than another, we would expect this model to be periodic.\n", "If an operator is periodic with respect to a lattice such as the one defined above,\n", "than it commutes with all lattice translations. For the free-electron case ``H``\n", "one can easily show exactly that, i.e.\n", "$$\n", " T_{ma} H = H T_{ma} \\quad ∀ m ∈ \\mathbb{Z}.\n", "$$\n", "We note in passing that the free-electron model is actually very special in the sense that\n", "the choice of ``a`` is completely arbitrary here. In other words ``H`` is periodic\n", "with respect to any translation. In general, however, periodicity is only\n", "attained with respect to a finite number of translations ``a`` and we will take this\n", "viewpoint here.\n", "\n", "**Bloch's theorem** now tells us that for periodic operators,\n", "the solutions to the eigenproblem\n", "$$\n", " H ψ_{kn} = ε_{kn} ψ_{kn}\n", "$$\n", "satisfy a factorization\n", "$$\n", " ψ_{kn}(x) = e^{i k⋅x} u_{kn}(x)\n", "$$\n", "into a plane wave ``e^{i k⋅x}`` and a lattice-periodic function\n", "$$\n", " T_{ma} u_{kn}(x) = u_{kn}(x - ma) = u_{kn}(x) \\quad ∀ m ∈ \\mathbb{Z}.\n", "$$\n", "In this ``n`` is a labeling integer index and ``k`` is a real number,\n", "whose details will be clarified in the next section.\n", "The index ``n`` is sometimes also called the **band index** and\n", "functions ``ψ_{kn}`` satisfying this factorization are also known as\n", "**Bloch functions** or **Bloch states**.\n", "\n", "Consider the application of ``2H = -Δ = - \\frac{d^2}{d x^2}``\n", "to such a Bloch wave. First we notice for any function ``f``\n", "$$\n", " -i∇ \\left( e^{i k⋅x} f \\right)\n", " = -i\\frac{d}{dx} \\left( e^{i k⋅x} f \\right)\n", " = k e^{i k⋅x} f + e^{i k⋅x} (-i∇) f = e^{i k⋅x} (-i∇ + k) f.\n", "$$\n", "Using this result twice one shows that applying ``-Δ`` yields\n", "$$\n", "\\begin{aligned}\n", " -\\Delta \\left(e^{i k⋅x} u_{kn}(x)\\right)\n", " &= -i∇ ⋅ \\left[-i∇ \\left(u_{kn}(x) e^{i k⋅x} \\right) \\right] \\\\\n", " &= -i∇ ⋅ \\left[e^{i k⋅x} (-i∇ + k) u_{kn}(x) \\right] \\\\\n", " &= e^{i k⋅x} (-i∇ + k)^2 u_{kn}(x) \\\\\n", " &= e^{i k⋅x} 2H_k u_{kn}(x),\n", "\\end{aligned}\n", "$$\n", "where we defined\n", "$$\n", " H_k = \\frac12 (-i∇ + k)^2.\n", "$$\n", "The action of this operator on a function ``u_{kn}`` is given by\n", "$$\n", " H_k u_{kn} = e^{-i k⋅x} H e^{i k⋅x} u_{kn},\n", "$$\n", "which in particular implies that\n", "$$\n", " H_k u_{kn} = ε_{kn} u_{kn} \\quad ⇔ \\quad H (e^{i k⋅x} u_{kn}) = ε_{kn} (e^{i k⋅x} u_{kn}).\n", "$$\n", "To seek the eigenpairs of ``H`` we may thus equivalently\n", "find the eigenpairs of *all* ``H_k``.\n", "The point of this is that the eigenfunctions ``u_{kn}`` of ``H_k``\n", "are periodic (unlike the eigenfunctions ``ψ_{kn}`` of ``H``).\n", "In contrast to ``ψ_{kn}`` the functions ``u_{kn}`` can thus be fully\n", "represented considering the eigenproblem only on the unit cell.\n", "\n", "A detailed mathematical analysis shows that the transformation from ``H``\n", "to the set of all ``H_k`` for a suitable set of values for ``k`` (details below)\n", "is actually a unitary transformation, the so-called **Bloch transform**.\n", "This transform brings the Hamiltonian into the symmetry-adapted basis for\n", "translational symmetry, which are exactly the Bloch functions.\n", "Similar to the case of choosing a symmetry-adapted basis for other kinds of symmetries\n", "(like the point group symmetry in molecules), the Bloch transform also makes\n", "the Hamiltonian ``H`` block-diagonal[^1]:\n", "$$\n", " T_B H T_B^{-1} ⟶ \\left( \\begin{array}{cccc} H_1&&&0 \\\\ &H_2\\\\&&H_3\\\\0&&&\\ddots \\end{array} \\right)\n", "$$\n", "with each block ``H_k`` taking care of one value ``k``.\n", "This block-diagonal structure under the basis of Bloch functions lets us\n", "completely describe the spectrum of ``H`` by looking only at the spectrum\n", "of all ``H_k`` blocks.\n", "\n", "[^1]: Notice that block-diagonal is a bit an abuse of terms here, since the Hamiltonian\n", " is not a matrix but an operator and the number of blocks is essentially infinite.\n", " The mathematically precise term is that the Bloch transform reveals the fibers\n", " of the Hamiltonian.\n", "\n", "## The Brillouin zone\n", "\n", "We now consider the parameter ``k`` of the Hamiltonian blocks in detail.\n", "\n", "- As discussed ``k`` is a real number. It turns out, however, that some of\n", " these ``k∈\\mathbb{R}`` give rise to operators related by unitary transformations\n", " (again due to translational symmetry).\n", "- Since such operators have the same eigenspectrum, only one version needs to be considered.\n", "- The smallest subset from which ``k`` is chosen is the **Brillouin zone** (BZ).\n", "\n", "- The BZ is the unit cell of the **reciprocal lattice**, which may be constructed from\n", " the **real-space lattice** by a Fourier transform.\n", "- In our simple 1D case the reciprocal lattice is just\n", " ```\n", " ... |--------|--------|--------| ...\n", " 2π/a 2π/a 2π/a\n", " ```\n", " i.e. like the real-space lattice, but just with a different lattice constant\n", " ``b = 2π / a``.\n", "- The BZ in our example is thus ``B = [-π/a, π/a)``. The members of ``B``\n", " are typically called ``k``-points.\n", "\n", "## Discretization and plane-wave basis sets\n", "\n", "With what we discussed so far the strategy to find all eigenpairs of a periodic\n", "Hamiltonian ``H`` thus reduces to finding the eigenpairs of all ``H_k`` with ``k ∈ B``.\n", "This requires *two* discretisations:\n", "\n", " - ``B`` is infinite (and not countable). To discretize we first only pick a finite number\n", " of ``k``-points. Usually this **``k``-point sampling** is done by picking ``k``-points\n", " along a regular grid inside the BZ, the **``k``-grid**.\n", " - Each ``H_k`` is still an infinite-dimensional operator.\n", " Following a standard Ritz-Galerkin ansatz we project the operator into a finite basis\n", " and diagonalize the resulting matrix.\n", "\n", "For the second step multiple types of bases are used in practice (finite differences,\n", "finite elements, Gaussians, ...). In DFTK we currently support only plane-wave\n", "discretizations.\n", "\n", "For our 1D example normalized plane waves are defined as the functions\n", "$$\n", "e_{G}(x) = \\frac{e^{i G x}}{\\sqrt{a}} \\qquad G \\in b\\mathbb{Z}\n", "$$\n", "and typically one forms basis sets from these by specifying a\n", "**kinetic energy cutoff** ``E_\\text{cut}``:\n", "$$\n", "\\left\\{ e_{G} \\, \\big| \\, (G + k)^2 \\leq 2E_\\text{cut} \\right\\}\n", "$$\n", "\n", "## Correspondence of theory to DFTK code\n", "\n", "Before solving a few example problems numerically in DFTK, a short overview\n", "of the correspondence of the introduced quantities to data structures inside DFTK.\n", "\n", "- ``H`` is represented by a `Hamiltonian` object and variables for hamiltonians are usually called `ham`.\n", "- ``H_k`` by a `HamiltonianBlock` and variables are `hamk`.\n", "- ``ψ_{kn}`` is usually just called `ψ`.\n", " ``u_{kn}`` is not stored (in favor of ``ψ_{kn}``).\n", "- ``ε_{kn}`` is called `eigenvalues`.\n", "- ``k``-points are represented by `Kpoint` and respective variables called `kpt`.\n", "- The basis of plane waves is managed by `PlaneWaveBasis` and variables usually just called `basis`.\n", "\n", "## Solving the free-electron Hamiltonian\n", "\n", "One typical approach to get physical insight into a Hamiltonian ``H`` is to plot\n", "a so-called **band structure**, that is the eigenvalues of ``H_k`` versus ``k``.\n", "In DFTK we achieve this using the following steps:\n", "\n", "Step 1: Build the 1D lattice. DFTK is mostly tailored for 3D problems.\n", "Therefore quantities related to the problem space are have a fixed\n", "dimension 3. The convention is that for 1D / 2D problems the\n", "trailing entries are always zero and ignored in the computation.\n", "For the lattice we therefore construct a 3x3 matrix with only one entry." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "using DFTK\n", "\n", "lattice = zeros(3, 3)\n", "lattice[1, 1] = 20.;" ], "metadata": {}, "execution_count": 1 }, { "cell_type": "markdown", "source": [ "Step 2: Select a model. In this case we choose a free-electron model,\n", "which is the same as saying that there is only a Kinetic term\n", "(and no potential) in the model." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Model(custom, 1D):\n lattice (in Bohr) : [20 , 0 , 0 ]\n [0 , 0 , 0 ]\n [0 , 0 , 0 ]\n unit cell volume : 20 Bohr³\n\n num. electrons : 0\n spin polarization : none\n temperature : 0 Ha\n\n terms : Kinetic()" }, "metadata": {}, "execution_count": 2 } ], "cell_type": "code", "source": [ "model = Model(lattice; terms=[Kinetic()])" ], "metadata": {}, "execution_count": 2 }, { "cell_type": "markdown", "source": [ "Step 3: Define a plane-wave basis using this model and a cutoff ``E_\\text{cut}``\n", "of 300 Hartree. The ``k``-point grid is given as a regular grid in the BZ\n", "(a so-called **Monkhorst-Pack** grid). Here we select only one ``k``-point (1x1x1),\n", "see the note below for some details on this choice." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "PlaneWaveBasis discretization:\n Ecut : 300.0 Ha\n fft_size : (320, 1, 1), 320 total points\n kgrid type : Monkhorst-Pack\n kgrid : [1, 1, 1]\n num. irred. kpoints : 1\n\n Discretized Model(custom, 1D):\n lattice (in Bohr) : [20 , 0 , 0 ]\n [0 , 0 , 0 ]\n [0 , 0 , 0 ]\n unit cell volume : 20 Bohr³\n \n num. electrons : 0\n spin polarization : none\n temperature : 0 Ha\n \n terms : Kinetic()" }, "metadata": {}, "execution_count": 3 } ], "cell_type": "code", "source": [ "basis = PlaneWaveBasis(model; Ecut=300, kgrid=(1, 1, 1))" ], "metadata": {}, "execution_count": 3 }, { "cell_type": "markdown", "source": [ "Step 4: Plot the bands! Select a density of ``k``-points for the ``k``-grid to use\n", "for the bandstructure calculation, discretize the problem and diagonalize it.\n", "Afterwards plot the bands." ], "metadata": {} }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Computing bands along kpath:\n", " -½ -> ½\n", "\rDiagonalising Hamiltonian kblocks: 6%|█ | ETA: 0:00:19\u001b[K\rDiagonalising Hamiltonian kblocks: 100%|████████████████| Time: 0:00:01\u001b[K\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=6}", "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", "\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", "\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": 4 } ], "cell_type": "code", "source": [ "using Unitful\n", "using UnitfulAtomic\n", "using Plots\n", "\n", "plot_bandstructure(basis; n_bands=6, kline_density=100)" ], "metadata": {}, "execution_count": 4 }, { "cell_type": "markdown", "source": [ "!!! note \"Selection of k-point grids in `PlaneWaveBasis` construction\"\n", " You might wonder why we only selected a single ``k``-point (clearly a very crude\n", " and inaccurate approximation). In this example the `kgrid` parameter specified\n", " in the construction of the `PlaneWaveBasis`\n", " is not actually used for plotting the bands. It is only used when solving more\n", " involved models like density-functional theory (DFT) where the Hamiltonian is\n", " non-linear. In these cases before plotting the bands the self-consistent field\n", " equations (SCF) need to be solved first. This is typically done on\n", " a different ``k``-point grid than the grid used for the bands later on.\n", " In our case we don't need this extra step and therefore the `kgrid` value passed\n", " to `PlaneWaveBasis` is actually arbitrary." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Adding potentials\n", "So far so good. But free electrons are actually a little boring,\n", "so let's add a potential interacting with the electrons.\n", "\n", "- The modified problem we will look at consists of diagonalizing\n", " $$\n", " H_k = \\frac12 (-i \\nabla + k)^2 + V\n", " $$\n", " for all ``k \\in B`` with a periodic potential ``V`` interacting with the electrons.\n", "\n", "- A number of \"standard\" potentials are readily implemented in DFTK and\n", " can be assembled using the `terms` kwarg of the model.\n", " This allows to seamlessly construct\n", "\n", " * density-functial theory (DFT) models for treating electronic structures\n", " (see the Tutorial).\n", " * Gross-Pitaevskii models for bosonic systems\n", " (see Gross-Pitaevskii equation in one dimension)\n", " * even some more unusual cases like anyonic models.\n", "\n", "In this tutorial we will go a little more low-level and directly provide\n", "an analytic potential describing the interaction with the electrons to DFTK.\n", "\n", "First we define a custom Gaussian potential as a new \"element\" inside DFTK:" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "struct ElementGaussian <: DFTK.Element\n", " α # Prefactor\n", " L # Extend\n", "end\n", "\n", "# Some default values\n", "ElementGaussian() = ElementGaussian(0.3, 10.0)\n", "\n", "# Real-space representation of a Gaussian\n", "function DFTK.local_potential_real(el::ElementGaussian, r::Real)\n", " -el.α / (√(2π) * el.L) * exp(- (r / el.L)^2 / 2)\n", "end\n", "\n", "# Fourier-space representation of the Gaussian\n", "function DFTK.local_potential_fourier(el::ElementGaussian, q::Real)\n", " # = ∫ -α exp(-(r/L)^2 exp(-ir⋅q) dr\n", " -el.α * exp(- (q * el.L)^2 / 2)\n", "end" ], "metadata": {}, "execution_count": 5 }, { "cell_type": "markdown", "source": [ "A single potential looks like:" ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=1}", "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" ], "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" ] }, "metadata": {}, "execution_count": 6 } ], "cell_type": "code", "source": [ "using Plots\n", "using LinearAlgebra\n", "nucleus = ElementGaussian()\n", "plot(r -> DFTK.local_potential_real(nucleus, norm(r)), xlims=(-50, 50))" ], "metadata": {}, "execution_count": 6 }, { "cell_type": "markdown", "source": [ "With this element at hand we can easily construct a setting\n", "where two potentials of this form are located at positions\n", "``20`` and ``80`` inside the lattice ``[0, 100]``:" ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=1}", "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" ], "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" ] }, "metadata": {}, "execution_count": 7 } ], "cell_type": "code", "source": [ "using LinearAlgebra\n", "\n", "# Define the 1D lattice [0, 100]\n", "lattice = diagm([100., 0, 0])\n", "\n", "# Place them at 20 and 80 in *fractional coordinates*,\n", "# that is 0.2 and 0.8, since the lattice is 100 wide.\n", "nucleus = ElementGaussian()\n", "atoms = [nucleus, nucleus]\n", "positions = [[0.2, 0, 0], [0.8, 0, 0]]\n", "\n", "# Assemble the model, discretize and build the Hamiltonian\n", "model = Model(lattice, atoms, positions; terms=[Kinetic(), AtomicLocal()])\n", "basis = PlaneWaveBasis(model; Ecut=300, kgrid=(1, 1, 1));\n", "ham = Hamiltonian(basis)\n", "\n", "# Extract the total potential term of the Hamiltonian and plot it\n", "potential = DFTK.total_local_potential(ham)[:, 1, 1]\n", "rvecs = collect(r_vectors_cart(basis))[:, 1, 1] # slice along the x axis\n", "x = [r[1] for r in rvecs] # only keep the x coordinate\n", "plot(x, potential, label=\"\", xlabel=\"x\", ylabel=\"V(x)\")" ], "metadata": {}, "execution_count": 7 }, { "cell_type": "markdown", "source": [ "This potential is the sum of two \"atomic\" potentials (the two \"Gaussian\" elements).\n", "Due to the periodic setting we are considering interactions naturally also occur\n", "across the unit cell boundary (i.e. wrapping from `100` over to `0`).\n", "The required periodization of the atomic potential is automatically taken care,\n", "such that the potential is smooth across the cell boundary at `100`/`0`.\n", "\n", "With this setup, let's look at the bands:" ], "metadata": {} }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Computing bands along kpath:\n", " -½ -> ½\n", "\rDiagonalising Hamiltonian kblocks: 79%|████████████▋ | ETA: 0:00:00\u001b[K\rDiagonalising Hamiltonian kblocks: 100%|████████████████| Time: 0:00:00\u001b[K\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=6}", "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", "\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", "\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": 8 } ], "cell_type": "code", "source": [ "using Unitful\n", "using UnitfulAtomic\n", "\n", "plot_bandstructure(basis; n_bands=6, kline_density=500)" ], "metadata": {}, "execution_count": 8 }, { "cell_type": "markdown", "source": [ "The bands are noticeably different.\n", " - The bands no longer overlap, meaning that the spectrum of $H$ is no longer continuous\n", " but has gaps.\n", "\n", " - The two lowest bands are almost flat. This is because they represent\n", " two tightly bound and localized electrons inside the two Gaussians.\n", "\n", " - The higher the bands are in energy, the more free-electron-like they are.\n", " In other words the higher the kinetic energy of the electrons, the less they feel\n", " the effect of the two Gaussian potentials. As it turns out the curvature of the bands,\n", " (the degree to which they are free-electron-like) is highly related to the delocalization\n", " of electrons in these bands: The more curved the more delocalized. In some sense\n", " \"free electrons\" correspond to perfect delocalization." ], "metadata": {} } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.7.2" }, "kernelspec": { "name": "julia-1.7", "display_name": "Julia 1.7.2", "language": "julia" } }, "nbformat": 4 }