{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Reproduce: Dielectric function, screening, and plasmons in two-dimensional graphene" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "E. H. Hwang and S. Das Sarma, Dielectric function, screening, and plasmons in two-dimensional graphene, Phys. Rev. B 75, 205418 (2007)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reproduced by Eunjong Kim (ekim7206@gmail.com)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from numpy import *\n", "from scipy.integrate import dblquad\n", "from scipy.optimize import newton\n", "import matplotlib\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "# matplotlib setup\n", "matplotlib.rcParams['font.size'] = 18\n", "matplotlib.rcParams['text.usetex'] = True" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unlike conventional 2D systems with quadratic dispersion, the graphene shows a linear energy-momentum relation \n", "$$\\varepsilon_{\\mathbf{k}s} = s\\hbar v_\\mathrm{F} |\\mathbf{k}| $$\n", "near the $K, K'$ points of the Brillouin zone. Here, $v_\\mathrm{F}$ is the 2D Fermi velocity and $s=\\pm1$ is the band index. Based on this linear relation, the dynamical screening function (dielectric function) can be obtained using the random-phase approximation (RPA):\n", "$$\\epsilon^\\mathrm{RPA}(\\mathbf{q},\\omega) = 1 - v_\\mathrm{C}(\\mathbf{q})\\chi_0(\\mathbf{q},\\omega)$$\n", "where $v_\\mathrm{C}(\\mathbf{q}) = 2\\pi e^2/\\kappa q$ is the 2D Coulomb potential in the momentum space." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def energy(k, phi, q, s):\n", " '''\n", " Linear energy dispersion near the K point of the momentum space\n", " '''\n", " return (s * sqrt(k ** 2 + q ** 2 + 2 * k * q * cos(phi)))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "q_e = 1.60217662e-19 * 2.9979245800e9 # charge of an electron in units of Coulomb\n", "kappa = 2.5\n", "\n", "def v_c(q):\n", " '''\n", " Coulomb potential in momentum space in Gaussian units (CGS)\n", " '''\n", " return 2 * pi * q_e ** 2 / (kappa * abs(q))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\chi_0 (\\mathbf{q},\\omega)$ is the non-interacting density-density response function given by\n", "$$\\chi_0(\\mathbf{q},\\omega) = g_s g_v\\sum_{s,s' = \\pm 1} \\int \\frac{d^2 k}{(2\\pi)^2} \\frac{f_{\\mathbf{k},s} - f_{\\mathbf{k+q},s'}}{\\hbar \\omega + \\varepsilon_{\\mathbf{k},s} - \\varepsilon_{\\mathbf{k+q},s'}+i\\eta} F_{s, s'}(\\mathbf{k},\\mathbf{k+q}),$$\n", "where $g_s=g_v=2$ denote the spin and valley degeneracies and $\\eta\\rightarrow 0^+$ is an infinitesimal positive number. $F_{s,s'}(\\mathbf{k},\\mathbf{k}')= (1 + ss'\\cos{\\theta_{\\mathbf{k},\\mathbf{k}'}})/2$ is the overlap between wavefunctions with $\\theta_{\\mathbf{k},\\mathbf{k}'}$ being the angle between vectors $\\mathbf{k}$ and $\\mathbf{k}'$. Here, $f_{\\mathbf{k}, s}$ is the Fermi distribution function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The non-interacting density-density response function $\\chi_0$ can be decomposed into two parts, $\\chi_0 = \\chi^{+}_0 + \\chi^{-}_0$, with" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\chi^{+}_0(\\mathbf{q}, \\omega) = \\frac{g_s g_v}{2} \\int \\frac{d^{2}k}{(2\\pi)^2}\\left[\\frac{(f_{\\mathbf{k},+} - f_{\\mathbf{k+q},+})(1 + \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}})}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},+}-\\varepsilon_{\\mathbf{k+q},+} + i\\eta}\n", "+\\frac{f_{\\mathbf{k},+} (1 - \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}})}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},+}-\\varepsilon_{\\mathbf{k+q},-} + i\\eta} \n", "-\\frac{f_{\\mathbf{k+q},+}(1 - \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}})}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},-}-\\varepsilon_{\\mathbf{k+q},+} + i\\eta}\\right],$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\chi^{-}_0(\\mathbf{q}, \\omega) = \\frac{g_s g_v}{2} \\int \\frac{d^{2}k}{(2\\pi)^2}\\left[\\frac{(f_{\\mathbf{k},-} - f_{\\mathbf{k+q},-})(1 + \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}})}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},-}-\\varepsilon_{\\mathbf{k+q},-} + i\\eta}\n", "+\\frac{f_{\\mathbf{k},-} (1 - \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}})}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},-}-\\varepsilon_{\\mathbf{k+q},+} + i\\eta} \n", "-\\frac{f_{\\mathbf{k+q},-}(1 - \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}})}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},+}-\\varepsilon_{\\mathbf{k+q},-} + i\\eta}\\right].$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}} = \\frac{\\mathbf{k}\\cdot\\mathbf{k+q}}{k|\\mathbf{k+q}|} = \\frac{k + q\\cos{\\phi}}{\\sqrt{k^2 + q^2 + 2kq\\cos{\\phi}}}$$" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def cosine(k, phi, q):\n", " '''\n", " cosine between the two vectors k and k + q as a function of phi,\n", " which is the angle bewteen k and q.\n", " '''\n", " return ((k + q * cos(phi)) / sqrt(k**2 + q**2 + 2 * k * q * cos(phi)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the zero-temperature limit $T\\rightarrow 0$, the Fermi distribution function $f_{\\mathbf{k} s}$ reduces to a simple step function or unity depending on the band index $s=\\pm 1$:\n", "$$f_{\\mathbf{k} s} = \\left[e^{\\beta(\\varepsilon_{\\mathbf{k}s}-\\mu)} + 1\\right]^{-1}\\quad \\xrightarrow{T\\rightarrow 0} \\quad \\Theta(\\varepsilon_\\mathrm{F} - \\varepsilon_{\\mathbf{k}s}) = \n", "\\begin{cases} \\Theta(k_\\mathrm{F} - k) & \\textrm{for }s= +1 \\\\\n", " 1 & \\textrm{for }s=-1 \n", "\\end{cases}$$\n", "Here, the Fermi energy is defined as $\\varepsilon_\\mathrm{F} = \\hbar v_\\mathrm{F}k_\\mathrm{F}$, with $k_\\mathrm{F}$ being the Fermi wavevector." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "eta = 1e-4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We express the plus and the minus polarizabilities in simpler forms and perform the numerical integration:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\therefore \\frac{\\chi^{+}_0(\\mathbf{q},\\omega)}{D(\\varepsilon_\\mathrm{F})} = \\int_{\\tilde{k}<1} \\frac{d^{2}\\tilde{k}}{4\\pi}\\left[\\left(\\frac{1 + \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}}}{\\tilde{\\omega} + \\tilde{\\varepsilon}_{\\mathbf{k},+}-\\tilde{\\varepsilon}_{\\mathbf{k+q},+} + i\\tilde{\\eta}}\n", "+\\frac{1 - \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}}}{\\tilde{\\omega} + \\tilde{\\varepsilon}_{\\mathbf{k},+}-\\tilde{\\varepsilon}_{\\mathbf{k+q},-} + i\\tilde{\\eta}}\n", "\\right)\n", "-\n", "\\left(\\frac{1 + \\cos{\\theta_{\\mathbf{k-q},\\mathbf{k}}}}{\\tilde{\\omega} + \\tilde{\\varepsilon}_{\\mathbf{k-q},+}-\\tilde{\\varepsilon}_{\\mathbf{k},+} + i\\tilde{\\eta}} + \n", "\\frac{1 - \\cos{\\theta_{\\mathbf{k-q},\\mathbf{k}}}}{\\tilde{\\omega} + \\tilde{\\varepsilon}_{\\mathbf{k-q},-}-\\tilde{\\varepsilon}_{\\mathbf{k},+} + i\\tilde{\\eta}} \\right)\n", "\\right] $$" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def polarizability0_p_integrand(k, phi, q, omega):\n", " '''\n", " For the evaluation of this dblquad, k-integration followed\n", " by phi-integration is more efficient.\n", " '''\n", " e11 = (1 + cosine(k, phi, q)) / (omega + energy(k, phi, 0, +1)\n", " - energy(k, phi, q, +1) + 1j * eta)\n", " e12 = (1 - cosine(k, phi, q)) / (omega + energy(k, phi, 0, +1)\n", " - energy(k, phi, q, -1) + 1j * eta)\n", " e1 = e11 + e12\n", "\n", " e21 = (1 + cosine(k, pi + phi, q)) / (omega + energy(k, pi + phi, q, +1)\n", " - energy(k, phi, 0, +1) + 1j * eta)\n", " e22 = (1 - cosine(k, pi + phi, q)) / (omega + energy(k, pi + phi, q, -1)\n", " - energy(k, phi, 0, +1) + 1j * eta)\n", " e2 = - (e21 + e22)\n", " return - k * (e1 + e2) / (4 * pi)\n", "\n", "def polarizability0_p_real(q, omega):\n", " return dblquad(lambda k, phi: polarizability0_p_integrand(k, phi, q, omega).real,\n", " 0, 2 * pi, lambda k: 0, lambda k: 1,\n", " epsabs=1e-05, epsrel=1e-05)[0]\n", "\n", "def polarizability0_p_imag(q, omega):\n", " return dblquad(lambda k, phi: polarizability0_p_integrand(k, phi, q, omega).imag,\n", " 0, 2 * pi, lambda k: 0, lambda k: 1,\n", " epsabs=1e-05, epsrel=1e-05)[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\chi^{-}_0(\\mathbf{q}, \\omega) \\xrightarrow{T\\rightarrow0} \\frac{g_s g_v}{2} \\int \\frac{d^{2}k}{(2\\pi)^2}\\left[\n", "\\frac{ 1}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},-}-\\varepsilon_{\\mathbf{k+q},+} + i\\eta} \n", "-\\frac{1}{\\hbar\\omega + \\varepsilon_{\\mathbf{k},+}-\\varepsilon_{\\mathbf{k+q},-} + i\\eta}\\right](1 - \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}}) $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\therefore \\frac{\\chi^{-}_0(\\mathbf{q}, \\omega)}{D(\\varepsilon_\\mathrm{F})}= \\int \\frac{ d^{2}\\tilde{k}}{4\\pi}\\left[\n", "\\frac{1}{\\tilde{\\omega} + \\tilde{\\varepsilon}_{\\mathbf{k},-}-\\tilde{\\varepsilon}_{\\mathbf{k+q},+} + i\\tilde{\\eta}} \n", "-\\frac{1}{\\tilde{\\omega} + \\tilde{\\varepsilon}_{\\mathbf{k},+}-\\tilde{\\varepsilon}_{\\mathbf{k+q},-} + i\\tilde{\\eta}}\\right](1 - \\cos{\\theta_{\\mathbf{k},\\mathbf{k+q}}}) $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where $\\tilde{\\omega} = \\hbar\\omega/\\varepsilon_\\mathrm{F}$, $\\tilde{\\varepsilon}_{\\mathbf{k},s} = \\varepsilon_{\\mathbf{k},s}/\\varepsilon_\\mathrm{F}$, and $\\tilde{k} = k/k_\\mathrm{F}$. Here $$D(\\varepsilon_\\mathrm{F}) = \\frac{g_s g_v}{2\\pi} \\frac{k_\\mathrm{F}}{\\hbar v_\\mathrm{F}} = \\frac{g_s g_v}{2\\pi}\\frac{k_\\mathrm{F}}{\\varepsilon_\\mathrm{F}}$$\n", "is the density of states at the Fermi energy. Note that the static polarizability at $q=0$ satisfies $$\\Pi_0(0, 0) = \\Pi_0^{+}(0,0) + \\Pi_0^{-} (0, 0) = D(\\varepsilon_\\mathrm{F}).$$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# spin and valley degeneracies\n", "g_s, g_v = 2, 2\n", "# density in units of cm^{-2}\n", "n = 1e12\n", "# Fermi wavevector in CGS units\n", "wavevector_F = (4 * pi * n / (g_s * g_v))**(1/2)\n", "\n", "hbar = 1.0545716e-27\n", "# Fermi energy in CGS units\n", "energy_F = 6.5 * 1.60217662e-12 * 1e-8\n", "# Density of states at the Fermi level in CGS units\n", "DOS_F = g_s * g_v * wavevector_F / (2 * pi * energy_F)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def polarizability0_m_integrand(k, phi, q, omega):\n", " '''\n", " For the evaluation of this dblquad, phi-integration followed by\n", " k-integration is much more efficient.\n", " '''\n", " e1 = + 1 / (omega + energy(k, phi, 0, -1) - energy(k, phi, q, +1) + 1j * eta)\n", " e2 = - 1 / (omega + energy(k, phi, 0, +1) - energy(k, phi, q, -1) + 1j * eta)\n", " e = (e1 + e2) * (1 - cosine(k, phi, q))\n", " return - k * e / (4 * pi)\n", "\n", "k_c = 50 # cutoff wavevector for numerical integration\n", "\n", "def polarizability0_m_real(q, omega):\n", " return dblquad(lambda phi, k: polarizability0_m_integrand(k, phi, q, omega).real,\n", " 0, k_c, lambda phi: 0, lambda phi: 2 * pi,\n", " epsabs=1e-05, epsrel=1e-05)[0]\n", "\n", "def polarizability0_m_imag(q, omega):\n", " return dblquad(lambda phi, k: polarizability0_m_integrand(k, phi, q, omega).imag,\n", " 0, k_c, lambda phi: 0, lambda phi: 2 * pi,\n", " epsabs=1e-05, epsrel=1e-05)[0]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def polarizability0_real(q, omega):\n", " return (polarizability0_p_real(q, omega)\n", " + polarizability0_m_real(q, omega))\n", "\n", "def polarizability0_imag(q, omega):\n", " return (polarizability0_p_imag(q, omega)\n", " + polarizability0_m_imag(q, omega))\n", "\n", "def polarizability0(q, omega):\n", " return (polarizability0_real(q, omega)\n", " + 1j * polarizability0_imag(q, omega))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The interacting polarizability $\\Pi^\\mathrm{RPA}(\\mathbf{q},\\omega)$ within RPA is calculated as follows:\n", "$$ \\Pi^\\mathrm{RPA}(\\mathbf{q},\\omega) = \\frac{\\Pi_0(\\mathbf{q},\\omega)}{\\epsilon^\\mathrm{RPA}(\\mathbf{q},\\omega)}=\\frac{\\Pi_0(\\mathbf{q},\\omega)}{1 - v_\\mathrm{C}(\\mathbf{q})\\Pi_0(\\mathbf{q},\\omega)}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The loss function is given by\n", "$$ -\\mathrm{Im}\\left[\\frac{1}{\\epsilon^\\mathrm{RPA}(\\mathbf{q},\\omega)}\\right] = -\\mathrm{Im}\\left[1 + v_\\mathrm{C}(\\mathbf{q})\\Pi^\\mathrm{RPA} (\\mathbf{q},\\omega) \\right] = -\\mathrm{Im}\\left[\\frac{1}{1-v_\\mathrm{C}(\\mathbf{q})\\Pi_0(\\mathbf{q},\\omega)}\\right]$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plasmon mode dispersion $\\omega(\\mathbf{q})$ in 2D graphene" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [], "source": [ "N = 20\n", "\n", "# range of omega/E_F values: 0 to 3\n", "omega = linspace(1e-2, 3, N)\n", "# range of q/k_F values: 0 to 3\n", "q = linspace(1e-2, 3, N)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "omega0 = sqrt(g_s * g_v * q_e ** 2 * energy_F / (2 * kappa))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# empty array to store the imaginary part of polarizability values\n", "polarizability = zeros((N, N), dtype=complex)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "idx1 = 0, q = 0.010000 complete\n", "idx1 = 1, q = 0.167368 complete\n", "idx1 = 2, q = 0.324737 complete\n", "idx1 = 3, q = 0.482105 complete\n", "idx1 = 4, q = 0.639474 complete\n", "idx1 = 5, q = 0.796842 complete\n", "idx1 = 6, q = 0.954211 complete\n", "idx1 = 7, q = 1.111579 complete\n", "idx1 = 8, q = 1.268947 complete\n", "idx1 = 9, q = 1.426316 complete\n", "idx1 = 10, q = 1.583684 complete\n", "idx1 = 11, q = 1.741053 complete\n", "idx1 = 12, q = 1.898421 complete\n", "idx1 = 13, q = 2.055789 complete\n", "idx1 = 14, q = 2.213158 complete\n", "idx1 = 15, q = 2.370526 complete\n", "idx1 = 16, q = 2.527895 complete\n", "idx1 = 17, q = 2.685263 complete\n", "idx1 = 18, q = 2.842632 complete\n", "idx1 = 19, q = 3.000000 complete\n" ] } ], "source": [ "# time-consuming calculation\n", "for idx1, q_ in enumerate(q):\n", " for idx2, omega_ in enumerate(omega):\n", " polarizability0_ = polarizability0(q_, omega_)\n", " polarizability[idx1, idx2] = (polarizability0_ / (1 - v_c(q_ * wavevector_F) *\n", " DOS_F * polarizability0_))\n", " print(r\"idx1 = %d, q = %f complete\" % (idx1, q_))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# plasmon dispersion (numerical) --- needs revision\n", "# plasmon_freq = zeros(N)\n", "\n", "#for idx, q_ in enumerate(q):\n", "# plasmon_freq[idx] = newton(lambda omega: (1 - v_c(q_ * wavevector_F) * DOS_F *\n", "# polarizability0_real(q_,omega)),\n", "# omega0 * sqrt(q_) / energy_F, tol=1e-4)\n", "# print(plasmon_freq[idx])" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAFZCAYAAAB5Wo82AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+0XGV97/H3NyEJEcxJThAFUXIO2KVFLSeBehXu7TEh\n+GMpCxIIam1dYiJg1VYlIG1to951IcUf69rVS0hob121WpJCFF1XyW+XrUpNAiyuv5ofBG1dFzWH\nkxAJ+XW+94+9J0zmzJyZ2bN/789rrbPI7Jn97OdsZj7znGc/+3nM3RERkXKblHUFREQkeQp7EZEK\nUNiLiFSAwl5EpAIU9iIiFaCwFxGpAIW9iEgFnJZ1BcxsGdAHGHABsNLdn+hgn/3hPgPu/pnEKyoi\n0qDXLDKzte6+pJsyox4z07A3s+Xuflfd48XARuDCCfZZBri7PxA+HjCzVe5+U+IVFhEJ9ZpFZjYX\nWNxNmb0c07K8g9bMdgG31Vcc2A3McveDLfbZ7u6XNGzb7e4tvyBEROLWaxaZ2QJgg7tP7rTMXo6Z\ndZ/9wlrQhy4ARicI+j5gqMlTo2Y2P4kKiog06jWLzGyRu28m6IrpqMxej5lp2Lv7voZNtwLXTrDL\nIDDaZPsIMDemaomItBM5i8xsCNgZPqzvWmlXZk/5l/kFWjjZV38FcKe7b53gpf0Ev1ijUWB2EnUT\nEWmilywacPdHIpTZU/5l3Y0DgLvf7+43A/PMbFXW9RERSYKZLW7ouk5NLlr2Ne5+l5mNhMORtrR4\nWX+TbTMJhiKdwsw0f7NICbm7tX/VeHOmmD95PNIhn3L3lzRs6ziL4OQAlL1tjtOuzK6OWS+zsA/7\nrTa7e2Pl9wILgWZhv53gF2vUz/N9YKeIOtrIIr2VolgR/mRj9on/bPuaZz/5WV7wlx9LoTawc1K0\nSy+fX3GIj6w4M+badOblF/yyo9etGIEVzT6qOTJRHX+25+xEjjl3rOlHl/2TX9pij+gfziePgw92\nv5/t5cUNm7rOIoKu6r5wFA6Ev4iZ3ULQFbNugjJ3hOV2e8yTsmzZ9wP3NNk+SDD8chx3P2Bme81s\nRsOInb4J/hKIxD3NwJci+9meszsO/KLKT9DnQ5Qscvc1jdvM7M76m6ImKHNrm+fb5l9mffbhsKNT\nhDcZOME3XO2GgbVmNqPuZSuB2+v2GQI2JVPHJErNj05a9SIK+pYmzKIW+dWosUnZLt8i51/WffZ3\nmNlygoA3glb9vLpvrUFgAcFfAQcB3P1eM1sajiudRXBl++akKph8C384ycJjMeX3Xp91Fdr6L8NT\ns65CW8PTs65Be411VNC31kEWjcuvmrAr50bAzew+4B5339KuzF7yL9M7aJNmZh7X71fGLp08tuyj\n9tlnrYzdOPkNeot8gdbMPGKffeRj5kXWLfvCUB9+8ooa9GWTVMhD66CX5OVinH1RlPiPIBEgu6Av\nUvdNUSnsKyqPXThFlmRIpkVBX27qxumSunOkbJL+olLQ54Na9hGoO0fKIsu/SBT06VLYR6TAl0ZF\n68pJo75lGGJZFurG6YG6dKSI0vpSUtDni1r2PSpiCz+PF2c17DIdCvrqUtjHoIiBL8nIc1dOGYI+\njw2VolA3jkjJpfkFpKDPL7XsRWKWl9b9z/acnYugl3xQy14kAbWQzWLOnCy+bJIeS69Wfe/UshdJ\nUJrBm3ZLvkZBXwxq2VeMPjjpS7qVn2W3kYK+ONSyF0lJ3KGcVUu+RkFfLGrZi6QojlZ+Hi4AK+iL\nR2EvmaviDVXN1q3NQ4h3QkFfTAp7kYwUJdzrKeiLS332FaIPkvRCQV9sCnsRaUtBX3wKexHJlII+\nHQp7EZlQkq16BX16FPYi0pKCvjwU9iLSlNaOLReFfUWoFSXd0AXZ8tE4exE5qd00xQr64lLLXkQA\nBX3ZKexFREFfAQp7kYpT0FeDwl6kwhT01aGwF6moNNaMVdDnh8JepII6CXrdNFUuhQt7MxswswVZ\n10OkqBT01ZT5OHszWxb+cx7gwMfd/cAEu8wF1phZHzAKbAduc/dHk61pcemDJzUK+urKNOzNbJm7\nrwkfrgmDfwdw4QS7ubv3m9kMdz+YfC1FykFBX22ZdeOELfNThMHfb2bz2+2voBfpXBpBL/mWZZ/9\nILDKzGY0bN8bPteKJVclkfJJK+jVqs+3zLpx3P0RM5vXpIU+SBD4LYUXaJ0g+IeANW36+UUqSUEv\nNZn22TdeVDWza4E97r5lgt12hPvuC/fZC6wDrkyomiKF0+kYegV9deRm6KWZzQRuAybsr3f3fbWg\nDx8/AQya2cXJ1lCkGBT00kxuwh64E7jO3Z+JsO8ocEnM9REpHAW9tJL5OHsAM1sO3FnfYm/xugGC\nbp7GL6mR8GecFStWnPz38PAww8PDvVRVJLfKGvTHtn2XY9/+XmrHKytz92wrEIyt31gf9Ga2wN03\nN3ltH0Hr/96G7SPA3MYvCzPztH4/y/EYoby3wHZOmpt1FQqvm3luij6Wfv/k83D3SJ84M3OfaKxf\nq/32EvmYeZFpN044qmZ73cXWvrqRNrWpEdbWhmc2G3ETflnc1+6vApGyqlLQS3SZdeOEXTIbAbfn\nm8VGEPSzwseDwAKgHzgI4O73ht0+T4evc3e/OcWqi+SGgl46lXk3TpLUjRMowodUXTndq2rQqxsn\nmjyNxhGRDlU16CU6hb1IwaQZ9FIeuRh6KSLtdbuyVNGGWEqy1LIXKQAFvfRKYS+Scwp6iYPCXiTH\nFPQSF4W9SE4p6CVOCvsY5HmMfVF0G2xlNndsp4JeYqew75GCXuKU1Zeegr78FPY9UNDHq+qt+6i/\nv26akk4o7EVyQEEvSdNNVRGpVZ+MuWM7KzdPTlZBX0R+4kTWVThFOOvufoJJHAfc/TMd7tMX7nMB\nsDJcca+jMqMcExT2kSjoJQ69dFtV7YLs8cd/zHP/816OP/ajrKtyUhi67u4PhI8HzGyVu980wT7L\n3f2uuseLCWb/vbCTMqMc8+SxNOtlt2XGWlwqivShril7615B35ljD+/k8Cfu4tjm7wQbzMA9F7Ne\nmtl2d7+kYdtud79wguPvAm6rD2tgDzDT3Q+2KzPKMWvUZ9+FIgY9VPPP/TxT0HfORw8GQf+C6Uz7\nwHuY+eNvZ10l4OSqeUNNnho1s/kT7LqwFvShC4Cnw6CfOVGZPRwTUDdOx4oa9JIvCvruTLny9zjj\nf93J1CVvY9KsmVlXp94gMNpk+wgwF9jSbKcmK+rdClwb/nugTZlPRzlmjVr2HVDQp69swzCj3ChV\nr8xBf/zRH3LofR9j7Je/HvecmXH6je/OW9BDsHreSJPto8Dsdjub2WIzuxu40923dlhmT8dU2Leh\noJde9frFVcag97Exjn5jEweuWMKBeW/iyN/fx3P3/EPW1UqNu98fLqc6z8xWpXFMdeNIbpVhGKaC\nfrxj277Lbz74Z5z48S4A7IVnMu2GdzDt3Yszrtnzth0Oftrob7JtJsGwyI64+11mNmJmazssM/Ix\nFfYTUKteooqjG6qMQQ9gM/s48eNdTHrZuZz+4fcx7X3vZFLfjNSO/7M9Z7d9zWD4U/NJ+2XjS7YT\nhGyjfqDp/3wzGwI2u3tjYO8FFgJ3ArNalLkjLLerY9ZT2LegoM+HIrbuFfQTO+3ii3jhN/+RKW98\nAzZlStbVicTdD5jZXjOb4e4H657qc/dWF0r7gXuabB8Edodl7mlR5laACMc8SX32TSjoJaq8BH3W\njm9/jGfe+QFO7Nrb9PmpV/5eYYO+zkrg9tqDsOW+qe7xgJmtNbMZAO6+ubEAM5sLOLCukzI7eL4l\n3VTVdL8EKpMDeW3pdSLvrfu4Rg/FFfRZ/L/2sTGO/Z8tHP7cKo5/+/sATLvpDznzb/5HrMfZP/m8\nnm6qetLbd+M0Ot9+2fSYZraUoBtmFg1TF5jZAmAtMK825DIM/hsJAt4IWvUr64dkTlRmJ8+3orBv\nul8ClcmBIoc95C/w4x4eWuSgP/b9Hfxm6S3PX3Sd8UKmvf/3Of1DNzD5vHNjPVaewr5I1GffhHt5\nA7/I8tJ/n+d7ALL6Qp90zos5sesJJp13Dqf/8dLUL7pKe2rZt9w35srkRNFb9/XSDv4kQ74MF2SP\n/cu/cdrrhhLvi1fLPhq17KWwauGbZOin0YovStCfePI/eO7zq5n6zquZ8rrx53zK5b+beB0kOoW9\nFF59IMcR/Gl20xQh6I//359w+K67OfpPX4Pjxznx5H8yZf3fJnpMiZ/CXkqlm9Z+1n3veQ/6E0/+\nB7/58Cc49o2NwYbJk5n6rmuYvvzmxI4pyVHYV8z+yS/NvG83DVkHeTt5D3oA63shx7/9PTh9GtNu\neAfTP3ojkwdenugxJTkKe5GUFSHoASbN7OPM+1Zx2tCrmXT2WYkfT5KlsBdJUd7ujvXjxzm69utM\nOvfFTBl+w7jnp75pOP1KSSI0XUIF5S1wqiJPN0350aM893f/xOhFwxz6gw/x7J/eQZmHYYta9iKp\nyEvQ+9GjHLn3yxy+627GfhaUNWnwfKbd8E7dTVhymYd9uFo6wDyC+SI+7u4HOthnP8HcEh3PDdEN\nve8lLnkJegDcefaOv8Z/8RSTX/UKpt/+IaZefxV2WuZRIAnL9P+wmS1z9zXhwzVhiO8AJlqdfRng\n9auzm9kqd78p+RqLdCdXQQ/YtGmc8dkVMHkSU695CzZJPblVkdl0CeFK6Uvqwr62fQS4ttX8zGa2\n3d0vadi2293HfUH0Ml1CsH/kXQuhCkMws5Rl0I8dOMjYEz/ntIsviqUOeaLpEqLJ8mt9EFhVm+u5\nzl5OXSTmpPALYqjJU6NmNj/m+olEllXQjx04yLOf/jyjg6/nmSXvx48fj6UeUnyZhb27P0Iwz/PB\nhqcGCQK/mUGCldQbjQCxTpBS9lY9aFROUrII+vqQP7zis/joASa97Fz8Vx0vhyoll2mfvbs/Wv/Y\nzK4F9rRZ1mukyfZRYHbM1RPpWlZfoM+8/T0c/9cfAHDa8Ot5wSc+0nTcvFRXbi7Bm9lM4DZA3TEp\nqsr0CWmIM+i7/X9y+gdv4LkppynkpaXchD3ByurXufszbV7XuDI7BCuuN/17dcWKFSf/PTw8zPDw\ncMTqlZcCv3dpBb2PjTUdQTP1urcxbcnbY6tDnhzb9l2Offt7WVej8HKxeImZLQfW1a/D2OJ1fcCI\nu09u2L4duLWx+0eLl3ROYR9dGkHvzxzi8F//HUf+4Z+Zuf1b2BkviO2YRaPRONFkPsg2HDd/StCH\nC/WOE95stbfJCJ6+Cfr5pQO6WBtN0kHvhw9z+POrefrCN3D4E3/F2L/v5ehXvxXbMaU6Mg37MNS3\n16283hdu8/DxgJmtbQj3lcDtdWUMAZvSq7VIIOmgP/q1h3j6ty7n2Vs+hf96hNNeP48Zm+5j2u8v\niu24Uh2Z9dmb2QCwEXB7vs/ECIJ+Vvh4EFhA0E9/EMDd7zWzpeG4+lkE0yXEuppC1bpwatR337k0\num7shWcG0xoMvZoXfGo5U94yH6vqm1N6los++6RE7bOv8udJYd9emqNujm35V04bfr2mNaijPvto\n9A6SU6jvfmJxnx935+iDGxj7dbPbR2DK/MsU9BILvYtEOhRv0Dsv/NZXOPiGt/PMNTdw+K/+Jsay\nRcbL0zh7yQn13Y8Xb9BvZ8qCj/DMm/8FADv7LCYPzomxfJHxFPbSlAI/EH+31hNgv8uxzY7N7GP6\n8ps5/UM3VHrcvKRDYS8tVT3wk7h+MfvEVA7dcB129mym3/ZHTJo1M/ZjiDSj0Tgt9425MgVW1cCP\nO+xr59HdNYSyBxqNE40u0LZQ4u/ArlVthM7+yS/t8Xc+AnyBYF6/QP0XpoJesqBunAloHdrnVaVL\np7eQHwO+Avw5sI+gLbWM2Semx1Azkd6oZS8dK3MLv/fW/AaC9XPeTRD0vw2sBy7ovXIiMVDYt6Hu\nnFOVMfDj+Z3uBx4DzgP+Nvz3Vcw+8YsYyhbpnbpxOqDunFOVpUsn3i+uTwGvAP4ICLptynCOpDzU\nsu+QWvinKnoLP3r9j7XY/mLgFhT0klcK+y4o8E9VxMCP3jc/BnwJuBD4twlfqaCXPFLYS0+KFPjR\n6/od4HXAHwA/A9a0fKWCXvJKYd8lte7Hy3vgR2/N/wJYDPw3YDtwDvB3wKqmr1bQS57pAm0EumA7\nXh4v2vb+JTQd2Aa8AFge/pzRY5ki2VDYR6TAH68+XLMK/nj/ypgF/BPBmPmJy83bF51II4V9DxT4\nrdVCN60Q7D3knyVowTda2HZPBb0UgcK+Rwr8iSUZ+vG04v8TuBX4KfAwMLmrvRX0UhQKe0lFnF08\n8YT8EeDzwH8HfgOcDjwKzOu4BAW9FInCXlKX/eidDcAHgD3h40XAZ4E5HZegoJeiUdhLBf2cIOhf\nRTAV8RVd7a2glyLqOuzNbA7BVH7u7lvirpBI8t4LTAHeGf5XpPyitOw3AgvdfV/MdSksXaTNKw9/\nGu8dnAT8YaQS1aqXoopyB+1qd99nZn1mttjMlprZIjObEXvtRCL7CTAfWB1biQp6KbIoYf80gLsf\ncPf7gSvd/QF3PwhQ1dDXNAp5cRj4BPBagrtfPwuc6LlUBb0UXRxz42xoeLwkhjILSYGftW8BryYY\nTnkMWAp8n27HzjdS0EsZmHeZUGa2m+fHrAEMAntrTwPz3H12PNXrjZl5t79fPMdN/ZCCA68nuDHq\n1QSTlV3Wc6kK+vzZP/k83D3Sp8zM/Ek/u+v9zrdfRj5mXkS5QLsTuG+C56+PWBeRHhhwN7AZ+GM0\nykbkVFHC/g53f6TVk2a2t9VzVaHROVkZCn/ioVa9lEnHffZmdjHAREHfyfNVof77pBwgWP7vV4ke\nRUEvZdPNBdqVzTaa2fyY6lI6Cvw4ObAWeCXBCJtbEzuSgl7KqJuw74fgDtrwLtqap81sUZyVasXM\nBsxsQRrHkjz5BXANweWg/we8AfhIIkdS0EtZRemzX0jQzLoXgm4bM/s48ECUCpjZEHC7u3cyZHMu\nsMbM+oBRgrXibnP3R6McOw3qv+/V08BrgBHghcBdwDKSWFFTQS/dMrNlwH6CEQID7v6ZDveBYIpV\nBz7u7gc6LTPKMaG7sH96gucGuygHOBnytZE7Ax3u5u7eb2YzajdxFYECvxezgHcTjPZdBZyXbXVE\nQmHours/ED4eMLNV7n7TRPu4e23F+jVhGTuACzspM8oxa7oJ+5Vh//xMwi6dOrO6KAc4eSH3kTD0\nu+qaKVLQ1yjwe/EZgrdqcidQrXqJ4EZ3v6T2wN2fMLOWU6iGPRKncPc1ZrbSzOaHE0u2K7OrY9br\n+G9hd99M8GkbBTbV+unNbDFwT6fl9KjQcakLtu20GmEzBQW95EkY3M3G+Y5OMGhlEFjVZEqZvcBg\nWObcVmVGPOZJXXV8uvtmd18TBv8jdX9S3NVNOb0wswXhL77AzG5p9m2ZZwr8Zo4BdwDnA99J9cgK\n+mLJfuGbkwYJGr6NRmge2LXejHlNeiZqsxAM0ry7vFZm18esF3nxEnd/AljT9oXx2hEeex+cvIFr\nHXBlyvWQ2DwK3ADUbs/YDPzXVI6soJce9BOEbKNRoOV0MY2DSczsWmCPu28JRxpOVGakY9Y0bdmb\n2apw6uJczWDp7vvq59EPv3AGazd8FYVa9xCsAfvnwKUEQT+HYE69FdlVSXItR636WJjZTOA2grm4\nE9c07MMru08D95rZfWmNo49oFLik7atyRoF/kOAPwxPAh4HHCUb1pkOt+mLJadA3DlSBYADL/g73\nvxO4zt2f6aLMyMds2Y0TzlV/PwTDfcxsbVjguiyWIzSzAYI/dxq/oEZo/qcNACtWrDj57+HhYYaH\nh5OoXiTVHqHzIuAfgenEMTtlNxT0xbJ/8i7i7DGeO7az7WuObfsux779vbotn298yXaCkG3UTzBZ\n5ITMbDlwZ8OKfxOVuSMsN/oxu5kCOLwY+n6CJtgO4L5eb2gKh16udvdLOzj2de5+b8P2EWBus2US\ns5riuFvVDfz0KeiLZ3yr3nqa4nj2if+IUIfx0yqb2S4aLria2S53f0WbOiwDNtZnlpktcPfN7cqM\nekzofjTOAXe/y92vJFjv7R1m9lA4KmZON2XVmU2TcXXhzQJra9cN6u8wq3vNMoIvnH0Rj50LBfg+\n6oED64HjWVdEQV9AOe2+qVkJ3F57EDZcN9U9PiXDwm0LgO11g0z6wm3eSZkdPN9S14uXNC0kOOCN\nBHfCrgPWtrvxKeyWuRG4gmDs6GpgR63lHp6AtQTfYvvq9ltOcD1hFsGwz5a3ChelZV9Tvhb+Lwmm\nNniQYPWoP8u0Ngr7Ymkd9Plo2YflLSUYNjmLhqkLGjOs1hXN88EOQUPXgVl1S7u2LLOT51uJJewb\nKrIAuI4giG+OtfDu61KosIcyBf7XCIL+V0AfwcIi78ysNgr6Ypm4RZ+fsC+S2MM+T4oY9lD0wH8O\n+CDwt+Hj+cDfAy/LqkIK+oJp33WjsI8i/qkDpeKmAvuAaQQjGDaioBfJXsd30Ib9RPMI+pw25Xla\n4aIr9pDMScD/JhhHf1GmNVHQF0/OL8gWWjfTJVwJ/IBg7P3M8ELphBdIJbpiB352LXkpLgV9sjoO\n+yaLizwSDi36AbDU3R+Lt2qS/8B/AHg9cE7WFRlHrfpiUdAnr6c++3BumpXAP8dTHWmUz+vLzwEf\nABYD7yKY8kAkGgV9OiLPelnnaeCCGMqRFvLVwv93YAnwGMHF2MXk7Tq/WvUi43Ud9uGNASsJpiiE\nYNa22+KslIyXj8D/CsFsGYcIvt/vI7hmnx8K+mJRqz49XTfJ3P2JsP9+M8FF23vSXLykyrLv0vkp\nQdBfTzDvUr6CXopFQZ+unm+qCmfDfNjdPxtPleJT1Juq2smuhX+CYOqDq8njCpFq1RdHb0Gvm6qi\n6LhlP8Gc9vcAfxpPdaQT2X1/TQauQUEvvVCLPhvddOM8YWZ3NlnYdi7N102UBCUb+IcILsCKxEtB\nn51uxtk/wvNj6xcTTJi/kGBBk/SWGJKTkrlo+yOCETYjBOvD5m8MfSO16kXa63o0Tji2/onwYdoL\njkuDeAP/a8C7CVr2vw08QxHCXopBrfps5WuAtETSe5fOGPApgguvtdE2/wb8Vq8FJ06t+mJQ0GdP\nYV8S7r2E/g5gBcGF1zsIxtOfEU/FEqSgLwYFfT7EcQet5Ei0bp1LCaYjfgXw1tjrJNWloM8PhX0J\nRQv8P06iKolRq16kO+rGKakS3ksmBaNWfb4o7EtsfOAfBt4LbEm/MjFSqz7/FPT5o26cknu+S+fn\nwCJgO0HY7yKYtVIkXgr6fFLLvgK+851/AS4hCPoB4OsUNejVqs83BX1+KexL7otf/CLz588Hfhn+\n9wfAazOulZSRgj7fFPYld9555zE2Nsaf/Mmf8NBDD+E+O+sqRaZWvUh0PU9xnGdlneK4Wz/5yU94\n5StfOW579ouhdE5Bn2/ptuo1xXEUatlXQLOgBw3PlHio+6YYFPYlcvTo0a73KULgq1WfXwr64lDY\nl8RPf/pTLrroIr7xjW90vW9v8+pIVSnoi0VhXwLf//73ueyyy9i9ezef+9zniHqdIo+Br1Z9Pino\ni0dhX3APPvgg8+fPZ//+/bztbW/j61//OtbDlddaKz+PwS/5oKAvJoV9gX3xi1/kmmuu4fDhw7zv\nfe9j/fr1nHFGfFMT1wd/FuGvVr1IfBT2BXbhhRcydepU/uIv/oI1a9Zw2mnJzn6RdfhL9tSqLy6N\nsy+4J598kvPPPz/14yY9Rl+t+vzJT9BrnH0UatkXXBmDXvInP0EvUWUe9mY2ZGZru3j9MjNbZGaL\nzeyWJOuWJ2NjY1lXQSpKQV8OmYV9GPJ3EqxuPdDhPssAd/cH3P1+YLOZrUqynnkwOjrK5Zdfzn33\n3Zd1VVJp1asLJz8U9OWR2Xz27v4I8IiZDQELOtztRne/pL4MM7sikQrmxMGDB3nzm9/Mww8/zK9/\n/Wuuvvpqpk2blkld1H1TLQr6csm8G6dTZtYHDDV5atTM5qddnzQ888wzJ4N+zpw5bNy4UUEvIpEU\nJuyBQWC0yfYRYG7KdUncoUOHeOtb38r3vvc9Xv7yl7N169ZMLsamTV04+aBWffkUKez7CYK90ShQ\n3EnaW9i1axePPfYYL3vZy9i6dStz5szJrC5q1VeLgr6ctAZtTg0NDbFx40bOOussBgcHM6tHmkGv\nVn32FPTlVbSw72+ybSawv9UOK1asOPnv4eFhhoeHY69UUl73utdlXQWpkPwG/bbwR3qR+R204Wic\n1e5+aZvX9QEj7j65Yft24FZ339Jkn9LfQZuktLtv1LLPTn6DvhndQRtFYfrs3f0AsNfMZjQ81dcs\n6IvkueeeY8OGDVlX4xQK+uooVtBLVHkI+9nAuGgxswEzW9sQ7iuB2+teMwRsSr6KyTly5AiLFi3i\nzW9+M1/+8pezro5UjIK+OjLrszezAeBG4ApgyMzuBna4+73hSwYJbrbqBw4CuPu9ZrY0HFc/Cxhw\n95vTr308jhw5wuLFi/nmN7/JWWedxWtf+9qsqwRo9E1VKOirJfM++yTluc/+6NGjXHfddTz44IP0\n9/ezdevWXIR9FkGvLpxsFDHs3cFMffZR5KEbp5Le+9738uCDDzJr1iw2b95c2aCXbBQ16CU6hX1G\nPvzhD/PKV76STZs2cfHFF2ddHQV9hSjoq0ndOBkaGxtj0qTsv2+zDnp146SniEEPp4a9unGiyT5p\nKkxBL2kqQ9BLdNmnjYgkTkEvCvsUHDhwgK9+9atZV2OcPLTq1YWTPAW9gMI+ccePH+f666/nmmuu\n4e677866OiflIegleQp6qVHYJ+xjH/sYDz30EC960Yt4y1veknV1AAV9VSjopZ7CPkGrVq3iC1/4\nAlOnTuWBBx7IdE76GgV9NSjopZHCPiFbtmzhgx/8IACrV6/m8ssvz7hGCvqqUNBLM0Wbz74wZs+e\nzbnnnsu73vUu3vOe92RdHQV9RSjo02VmywjW0zCCubo+0+F+Q8Dt7r6k2zKjHlNhn5Df+Z3fYefO\nnfT3N1uJYFKsAAAQT0lEQVRvJV15DXqNxIlXUYO+qMLQdXd/IHw8YGar3P2mCfYZAq4PHw50W2aU\nY54sO893mPYq73fQpkVhX35FDvpuP6J5uYPWzLa7+yUN23a7+4Ud1KPpok3tyuzlmOqzL7m8Br3E\np0pBnxfhynlDTZ4aDadgj73MXo+psI/Jj3/846yrMI6CvvwU9JkZBEabbB8B5iZUZk/HVNjHYOPG\njbzmNa/hox/9KHnpNipC0Bc5qPKgyOcvJx+TXvQThGyjUYLV95Ios6djKux79NRTT/GOd7yDEydO\nMH36dCwHKZuDKkjCFPTSLYV9jz70oQ8xMjLClVdeyac//emsq6OgrwAFfW40G2o3k2BYZFJlRj6m\nhl724Ktf/Srr1q3jjDPOYPXq1ZlPWaygLz8Ffe86O4fbwp+WthOEbKN+YGfXlWpf5o6w3MjHVNhH\n5O7ccccdANxxxx2cf/75mdanqEG/f/JLNQSzQ0UO+uIZDn9qPnnKs+5+wMz2mtkMdz9Y91Sfu2+J\ncsQ2ZW4F6OWY6saJyMzYsGEDK1eu5AMf+EDW1ZGSK3rQ56VVH7OVwO21B+HY+U11jwfMbK2ZzWiy\n72yCO2C7KrOD51vSTVUlUNRWfY1a9hNT0J+q15uqIEqFmh/TzJYCe4FZNExdYGYLgLXAPHffF24b\nAG4EriAYM78a2OHu93ZSZifPt/wNyhyGVQj7ogc9KOwnoqAfL09hXyTqximwMgS9tKaglzgp7Lvw\n5JNPcuTIkayrAZQr6Iseakko+jlR0OePwr5DR48e5e1vfztz585lz549mdalTEEv4ynoJQkK+w6t\nXLmSxx9/nCNHjnDOOedkVg8Ffbkp6CUpukDbgR/96EcMDQ1x9OhRtmzZwhvf+MYYate9Mge9LtIW\nP+ghnbDXBdpo1LJv48SJEyxdupSjR4+ybNmyzIK+7MoQdL0ow+9f4nZjKahl38b69etZtGgR5557\nLj/84Q+ZObPZ3crJK3Orvl4VW/gK+u6oZR+Npkto4+qrr+ZLX/oSs2bNUtBLrMoQ8qAWfVGoZZ9z\nVQz6KrTuFfTRqWUfTeH67MP5JhZkXY80VDHooTxB2EpZfr+Ct6MqJ/OwN7NlZrbIzBab2S0d7DIX\nWGdmJ8xsv5k9ZGYXJ13PtFU16GvKEoj19k9+aWl+LwV98WTaZ29mywB39wfCxwNmtsrdb5pgN3f3\n/ibTfMbmqaee4sUvfnESRXek6kFfRmUJeVDQF1XWLfsb62d7c/cnCGaDayupoF+/fj0DAwPcfffd\nSRQvXShLQJbl9wAFfZFlFvZm1kcwxWejUTObP9GuCVUJd+fWW2/l8OHDnDhxIqnDTEit+lMVOSjL\n1G0jxZdly36QYFX0RiME/fItmdkCM5sf/veW8IujZzt37mT37t285CUv4eabb46jyK4o6JsrYmAW\nsc7tqFVfbFn22fcTBHujUYJVXFrZAVC3GMBeYB1wZa8VWrt2LQDXXnstkydP7rW4rijoy0NBL3mU\ndZ9919x9Xy3ow8dPAIO9jshx95Nhv2TJkp7q2C0FfXtFCNCydtso6Msh6zto+5tsmwns77KcUeAS\n4NGoFTl48CAXX3wxkyZN4rLLLotaTNcU9J3L6+LkZQz4GgV9eWQZ9tsJgr1RP7Cz2Q7h+o173L3x\nL5IRmncJsWLFipP/Hh4eZnh4uGll+vr6WL9+PcePH2fSpHT+4FHQd68WrHkI/TKHPOQn6Ldt28a2\nbduyrkbhZTpdgpntIliM92D9Nnd/RYvX9wHX1Q/XDLePAHPru3fC7bmeLkFh35usAr/sIQ/5Cfpm\nNF1CNFn32a8Ebq89MLMhYFPd4wEzW2tmMwDc/UBjAeGNWfc1Bn3eKeh7l3YfeVn75BvlOegluswn\nQjOzpcBeYBYw4O6fqXtuAbCWoPW/r277cuDpcB+v36eh7Fy27BX0yUiqpV+FgK/J4cdlHLXso8k8\n7JOUx7BX0KcjruCvUtCDwn6CPQsf9ll342Tu4YcfZsmSJTz00EOJH0tBn55Ou1xqr2v1UyVFCHqJ\nLuuhl5n7yle+wrp163j5y1/Om970pqyrIzGrWmBHpaAvv0q37MfGxli3bh2Q/I1UatVLXinoq6HS\nYf/d736XX/ziF5x//vlceumliR1HQS95paCvjkqHff30CJZQIivoJa8U9NVS2bB3d775zW8CcP31\n1ydyDAW95JWCvnoqPfTyN7/5DZs2beKqq66KvWWvoJe8KvpHXkMvo6l02Cd33NQPKdKxon/kFfbR\nVLYbJykKesmzoge9RKewF6kIBX21KexjpFa95JWCXioX9sePH2ft2rUcOnQo1nIV9JJXCnqBCob9\ntm3buP7667n88suzropI4hT0UlO5sK/dSHXVVVdlXBORZCnopV6lhl4eO3aMc845h/379/P444/z\n6le/OqbjxFKMSGxK/LHW0MuIKtWy37p1K/v37+dVr3oVF110USxlKuglb8oc9BJdpcI+7rlwFPQi\nUhSVms/+2muv5dlnn41lLhwFveSRWvXSSqX67OMrN/YiRXpW4o/yKdRnH02lunFEyqoqQS/RKey7\npFa95I2CXjqhsO+Cgl7yRkEvnapE2B89erTnMhT0kjcKeulG6cP+ueee47zzzuOqq67i8OHDkcpQ\n0EveKOilW6UP+w0bNvCrX/2Kn//850yfPr3r/RX0IlIGpQ/7+hupRMpArXqJovTj7M8880wOHTrE\nrl27uPDCCyOUkUDFRCIq8ce1YxpnH03pW/aHDh1i7ty5kYIe9OGS/NB7UXpR+rDv6+vruQtHHzLJ\nmt6D0qvSz43z1FNPcezYsayrIRKZgl7iUPo++zh/P/XfS9pK/PGMTH320ZS+GydO+uBJmvR+kzgp\n7LukD6CkQe8ziZvCPgJ9ECVJen9JEjK/QGtmy4D9gAED7v6ZJPYREYlbEvnVSZlmNgTc7u4dDzXM\nNOzDX8rd/YHw8ZCZrXL3m+LcJwnuumAr8VOrvjiaZNFAhPw6ZZ8Onh8CakvtDXRV3yxH45jZdne/\npGHbbndveQdUN/sktVLVqcdItHipEAV9Z/IyGieJ/Oq0zDD0V7v7pZ3+Bpn12ZtZHzDU5KlRM5sf\n1z5J6/0Dui2GWiRtW9YV6MC2rCvQgW0tn8lL0G/bti3rKhRCEvmVdL5leYF2EBhtsn0EmBvjPolz\nf/6ne9tirk0StmVdgQ5sy7oCHdjWdGtegh4U9l1IIr8Szbcs++z7CX6JRqPA7Bj3SVW7D666faRe\nnoJeupJEfiWabxp6mbL6vwLc4S//cvy2dj9SXPp/KVnJeuhlf5NtMwmGHcWyjxWgKf3JT34y6yp0\nQHWMg1n+61iM92NkT4KdH2G/p5psSyK/opTZkSzDfjvBL9GoH9gZxz5Fn8tCROLl7nNiKiru/NoR\n7tdtmR3LrBvH3Q8Ae81sRsNTfe6+Ja59RETilkB+bU0637Lus18J3F57EI4d3VT3eMDM1jb88hPu\nIyKSkiTyq9N8m01wh23HMp/i2MyWAnuBWTTcGmxmC4C1wDx339fJPkVnZgPAoLtvzrouRaVzGA+d\nx/aSyK82ZQ4ANwJXEIzJXw3scPd729Y167DvRRHm1en2eGa2GFgD9BEMudoO3ObujyZYx67m2chi\nbqJu6pjROVwW/nMewS2aHw//LG+3T9rvxY7rmOF57CM4JxcAK939iQ720VxZbWQ9GieyIsyrE2Xu\njPD1/WY2w90PJlGvuvp1Pc9GBucwylwgqZ1DCM6Ju68JH64Jz9EOYKLb5qO8N1KtI+mfx+Xuflfd\n48XAxonqmPZ5LDR3L+QPsL3Jtt1x75NBHRdlcC6HgB8k9TtlUMfUziFBK3RZk+0jwPw8nMce6pjq\nexHYVX9Mgi/3E8CMPJzHov9kfYE2kiLMq9PD8XI7XDSPcxO1kOY5HARWNRlBsTd8bpwMzmPXdQyl\n/V5c6GELPXQBMOot/qoo0PsxFwoZ9hRjXp3IxzOzBeHESAvM7JbwTZ0HuZybqJm0zqG7P0JwAa4x\nkAYJwrSZVM9jxDoC6b4Xve4iZuhW4NoJdinM+zEPitpnX4R5daIebwc8/8Y3s73AOuDKmOsXRe7n\nJgqleg694YKlmV0L7PHWY6NTP48R6ggZvRfDvvorgDvdfesELy3K+zEXitqyLy1331ffwvFgJMKg\nmV2cXa2KJctzaGYzgduA3HYjdFrHrM6ju9/v7jcD88xsVZLHqpIih33i8+rEIK7jjQKXtH1VOtI+\nh3FJ6xzeCVzn7s+0eV2W57HTOjaT2nvRg5E5S9r0vxf1/Zi6ooZ94vPqxKDr44XDxsaaPDVC8z9X\n05b2OexalufQzJYTdD3sa/PSzM5jp3VM+zyGQ3iblbsXWNhit9y/H/OkkGHvBZhXJ+LxRoD3N9l+\nCTl486Z9DiPK5ByG473X+al3Si5o9tqszmM3dST989gP3NNk+yCwu9kOBXk/5kYhwz5UhHl1uqqj\nN7mbMfyA3tdBa7EXTefZyMk5rOmojlmcwzAwt9ddyOwLt3mzOoZSPY/d1jHt8+hNpmQws7lh/dY1\nq2NIc2V1qOjTJeR+Xp2IdVwOPB3u40nV0drMs5GHc9hDHdM8h3s4dRVrCx/PcveDWZ/HHuuYynkM\njzWD4P+1h/UbJJguYV/4fObvxyIrdNiLiEhnityNIyIiHVLYi4hUgMJeRKQCFPYiIhWgsBcRqQCF\nvYhIBSjspdBaTZSlCbRETqWwl8IKp8Ld3rBtgZltJ1hnVURCRZ3PXgSCtWmX1m9w981mdg8Tr8Ak\nUjlq2UuReYsl6xYCP0i7MiJ5pukSpJDCSbn2N6xZWntuBJjTau1SkSpSN47kSt3EWwCbgdvc/aYm\nL13o7kua7D9E8CVwMHy8mGD63HktyhGpBHXjSG6Y2QbCGS3DWS3XcepMjbXX9dF6JaIrCKe4NbNl\n7n5/uH0ggSqLFIbCXnLBzG4Fnm6y6MTGJi9/P+Ec500sBHaa2SJ3XwPg7mvc/U3hakhrzWy3mS0N\nf5ab2S4zmxPX7yKSR+qzl1wIl8Bb7O7rw8d9BN05g42LZZjZBne/coJydgB3tOjPXwy8393fVLdt\nDnBBswU0RMpCLXvJXLi4hhP00dcsJGjp72vy2h0tylkA7HH3S4EDZjbSZMm6xn36wmOo1SOlprCX\nPBgERhtGz5zse29wI3Bfi3IW1vapa6UPwoRrrV4Rvl5rlkqpKewlDxrvgh0g6Jdv1l8/5O6Ptijn\nioZ9+ggWpB4iWJavZjDsr19LsJSdSOkp7CVz4eLWy8xsVbieaG2h6cYvgSGafwHU9HHqXwO3EXxp\nDDR0B+0NR/wsAUZi+BVEck8XaCV3wi6XDe4+uWH7KuDOxn78Lss+5QKtmc3QzVdSBWrZSx7NpXl/\nfWMLPSqr/UNBL1WhsJc8WgjsrN8QtvZbja3vSNgNdD0wL+yzn3CkjkiZaLoEyY3wwuxtwALAzWx+\n3SiZ64Bbeynf3R8Bxk2xIFIF6rOXQjCzu9395qzrIVJUCnsRkQpQn72ISAUo7EVEKkBhLyJSAQp7\nEZEKUNiLiFSAwl5EpAIU9iIiFaCwFxGpgP8PboOPKm9b61cAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1, figsize=(5.5,5))\n", "\n", "#ax.plot(q, plasmon_freq)\n", "ax.plot(q, omega0 * sqrt(q)/ energy_F, ls='--', color='black',\n", " lw=2, label=r'$\\omega = \\omega_0 \\sqrt{q}$')\n", "\n", "ax.set_xlim([0, 3]); ax.set_ylim([0, 3]);\n", "#ax.imshow(q, omega, polarizability_imag, origin='down')\n", "cs = ax.contourf(q, omega, polarizability.imag.T, [0.001, 0.1, 0.2, 0.3, 0.4])\n", "ax.set_xlabel(r'$q/k_\\mathrm{F}$')\n", "ax.set_ylabel(r'$\\omega/\\varepsilon_\\mathrm{F}$')\n", "fig.colorbar(cs, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The imaginary part of the dielectric function $\\epsilon^{\\mathrm{RPA}}(\\mathbf{q},\\omega)$ calculated numerically within RPA is mapped. To find the plasmon dispersion, " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Static Polarizabililty ($\\omega=0$) for 2D graphene" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false }, "outputs": [], "source": [ "N = 20\n", "\n", "# range of q/k_F values: 0 to 5\n", "q = linspace(1e-2, 5, N)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# empty arrays to store polarizability values\n", "polarizability0_p, polarizability0_m = zeros(N), zeros(N)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# static polarizability\n", "for idx, q_ in enumerate(q):\n", " polarizability0_p[idx] = polarizability0_p_real(q_, 0)\n", " polarizability0_m[idx] = polarizability0_m_real(q_, 0)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1, figsize=(5,5))\n", "\n", "ax.plot(q, polarizability0_p, label=r'$\\Pi^{+}_0$', lw=2)\n", "ax.plot(q, polarizability0_m, label=r'$\\Pi^{-}_0$', lw=2)\n", "ax.plot(q, polarizability0_p + polarizability0_m, label=r'$\\Pi_0$', lw=2)\n", "\n", "ax.set_xlabel(r'$q/k_\\mathrm{F}$')\n", "ax.set_ylabel(r'$\\Pi_0(q,\\omega=0)/D(\\varepsilon_\\mathrm{F})$')\n", "fig.text(0.12, 0.93, r'Static polarizability for 2D graphene')\n", "ax.set_xlim([0, 5]); ax.set_ylim([0, 2])\n", "ax.legend(loc=0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the static $(\\omega=0)$ polarizability for 2D graphene and Figure 2 of [Phys. Rev. B 75, 205418 (2007)] has been reproduced." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Version Information" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/json": { "Software versions": [ { "module": "Python", "version": "3.4.4 64bit [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]" }, { "module": "IPython", "version": "4.0.1" }, { "module": "OS", "version": "Darwin 15.2.0 x86_64 i386 64bit" }, { "module": "numpy", "version": "1.10.4" }, { "module": "scipy", "version": "0.16.1" }, { "module": "matplotlib", "version": "1.5.0" } ] }, "text/html": [ "
SoftwareVersion
Python3.4.4 64bit [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]
IPython4.0.1
OSDarwin 15.2.0 x86_64 i386 64bit
numpy1.10.4
scipy0.16.1
matplotlib1.5.0
Tue Jan 12 01:06:13 2016 KST
" ], "text/latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 3.4.4 64bit [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] \\\\ \\hline\n", "IPython & 4.0.1 \\\\ \\hline\n", "OS & Darwin 15.2.0 x86\\_64 i386 64bit \\\\ \\hline\n", "numpy & 1.10.4 \\\\ \\hline\n", "scipy & 0.16.1 \\\\ \\hline\n", "matplotlib & 1.5.0 \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Tue Jan 12 01:06:13 2016 KST} \\\\ \\hline\n", "\\end{tabular}\n" ], "text/plain": [ "Software versions\n", "Python 3.4.4 64bit [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]\n", "IPython 4.0.1\n", "OS Darwin 15.2.0 x86_64 i386 64bit\n", "numpy 1.10.4\n", "scipy 0.16.1\n", "matplotlib 1.5.0\n", "Tue Jan 12 01:06:13 2016 KST" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%reload_ext version_information\n", "\n", "%version_information numpy, scipy, matplotlib" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.4" } }, "nbformat": 4, "nbformat_minor": 0 }