#!/usr/bin/env python # coding: utf-8 # # Reproduce: Density Dependent Exchange Contribution to $\partial\mu/\partial n$ and compressibility in Graphene # E. H. Hwang, Ben Yu-Kuang Hu, and S. Das Sarma, Density Dependent Exchange Contribution to $\partial\mu/\partial n$ and Compressibility in Graphene, Phys. Rev. Lett. 99, 226801 (2007). # Reproduced by Eunjong Kim (ekim7206@gmail.com) # In[1]: from numpy import * from scipy.integrate import dblquad import matplotlib.pyplot as plt from matplotlib import rcParams # In[2]: get_ipython().run_line_magic('matplotlib', 'inline') rcParams.update({'font.size': 18, 'text.usetex': True}) # Similarly as an electron gas system, the exchange self-energy in graphene is given by # $$ # \hbar \Sigma_{s}^{(1\mathrm{E})} (\mathbf{k}) = -\sum_{s'} \int \frac{d^{2}k'}{(2\pi)^2} u(\mathbf{k}-\mathbf{k}') n_{\mathbf{k'},s'} F_{s,s'} (\mathbf{k},\mathbf{k'}) # $$ # where $u(\mathbf{q}) = 2\pi e^2 / \epsilon_0 q$ is the 2D Coulomb potential ($\epsilon_0$ is the background dielectric constant due to substrates) and $F_{s,s'}(\mathbf{k},\mathbf{k'}) = \left| \big\langle \psi_{\mathbf{k},s}\big\vert \psi_{\mathbf{k'},s'}\big\rangle \right|^2$ is the wavefunction overlap factor given by # $$ # F_{s,s'} (\mathbf{k},\mathbf{k}') = \frac{1}{2} \left[ 1+ss'\cos{(\phi_{\mathbf{k}}-\phi_{\mathbf{k}'})}\right] # $$ # in graphene. Here, $s=\pm1$ is the band index. At zero temperature ($T=0$) and the positive chemical potential ($\mu=\epsilon_\mathrm{F}>0$), # $$n_{\mathbf{k}, s} = \Theta(\varepsilon_F - \varepsilon_{\mathbf{k}, s}) = # \begin{cases} # \Theta(k_\mathrm{F}-k) &\mathrm{for}\ s = +1\\ # 1 &\mathrm{for}\ s = -1 # \end{cases} # $$ # We separate the exchange self-energy into contributions from the intrinsic electrons, $\Sigma_{x}^\mathrm{int}$, and the extrinsic carriers, $\Sigma_{x}^\mathrm{ext}$. That is, $\Sigma_{x,s}(k) = \Sigma_{x,s}^\mathrm{int}(k)+ \Sigma_{x,s}^\mathrm{ext}(k)$, where # $$\hbar\Sigma_{x,s}^\mathrm{int}(\mathbf{k}) = - \int \frac{d^2 k'}{(2\pi)^2} u(\mathbf{k}-\mathbf{k}') F_{s,-} (\mathbf{k},\mathbf{k}');$$ # $$\hbar\Sigma_{x,s}^\mathrm{ext}(\mathbf{k}) = - \sum_{s'}\int \frac{d^2 k'}{(2\pi)^2} \delta n_{\mathbf{k}',s'}u(\mathbf{k}-\mathbf{k}') F_{s,s'} (\mathbf{k},\mathbf{k}'),$$ # where $\delta n_{\mathbf{k}',s'} \equiv n_{\mathbf{k}',s'} - \frac{1}{2}(1-s')$ is the difference in the electron occupation from the intrinsic $T=0$ case. At zero temperature ($T=0$) and the positive chemical potential ($\mu=\epsilon_\mathrm{F}>0$), # $$ # \delta n_{\mathbf{k}',+} = n_{\mathbf{k}',+} = \Theta(k_\mathrm{F} - k)\\ # \delta n_{\mathbf{k}',-} = n_{\mathbf{k}',-} - 1 = 0 # $$ # and the exchange self-energy contributions from the extrinsic carriers, only $s'=+1$ in the summation remains, and # # $$\hbar\Sigma_{x,s}^\mathrm{ext}(\mathbf{k}) = - \int \frac{d^2 k'}{(2\pi)^2} \delta n_{\mathbf{k}',+}u(\mathbf{k}-\mathbf{k}') F_{s,+} (\mathbf{k},\mathbf{k}') = -\int \frac{d^2 k'}{(2\pi)^2} \Theta(k_\mathrm{F}-k) \frac{2\pi e^2}{|\mathbf{k}-\mathbf{k}'|} \frac{1}{2} \left[1+s\cos{(\phi_\mathbf{k}-\phi_{\mathbf{k}'})}\right]. # $$ # For numerical evaluation of the integral, we assume that the wavevector $\mathbf{k}$ is directed along the $x$-direction, $\mathbf{k} = k\hat{\mathbf{x}}$ ($\phi_\mathbf{k}=0$), # $$\cos(\phi_\mathbf{k}-\phi_\mathbf{k'}) = \cos{\phi_\mathbf{k'}},$$ # $$|\mathbf{k}-\mathbf{k'}| = \sqrt{k^2 + (k')^2 -2kk'\cos{\phi_\mathbf{k'}}}$$ # $$ # \hbar\Sigma_{x,s}^\mathrm{ext}(k) = -\frac{2\pi e^2}{\epsilon_0} \frac{1}{(2\pi)^2} \frac{1}{2}\int_{0}^{k_\mathrm{F}} k'dk' \int_{0}^{2\pi} d\phi' \frac{1+s\cos{\phi'}}{\sqrt{k^2 + (k')^2 -2kk'\cos{\phi'}}} # $$ # We define unitless wavevectors $\tilde{k}\equiv k/k_\mathrm{F}$, $\tilde{k}'\equiv k'/k_\mathrm{F}$ # $$ # \frac{\hbar\Sigma_{x,s}^\mathrm{ext}(k)}{e^2k_\mathrm{F}/\epsilon_0} = -\frac{1}{4\pi} \int_{0}^{1} d\tilde{k}' \int_{0}^{2\pi} # d\phi' \frac{\tilde{k}'(1+s\cos{\phi'})}{\sqrt{\tilde{k}^2 + \tilde{k}'^2 -2\tilde{k}\tilde{k}'\cos{\phi'}}} # $$ # We make use of scipy.integrate.dblquad to evaluate the double integral: # In[3]: def integrand(k,s,k_,phi): # define the integrand return k_*(1 + s*cos(phi)) / sqrt(k**2 + k_**2 - 2*k*k_*cos(phi)) def i(k,s): # double integration of the integrand return dblquad(lambda k_, phi: integrand(k,s,k_,phi), 0, 2*pi, lambda k_: 0, lambda k_: 1)[0] # In[4]: k = linspace(1e-5, 2, 50) # range of k/kF values: 0 to 2 SE_ext_p, SE_ext_m = zeros(len(k)), zeros(len(k)) for idx, k_ in enumerate(k): SE_ext_p[idx] = i(k_,+1)/(-4*pi) SE_ext_m[idx] = i(k_,-1)/(-4*pi) # In[5]: fig, ax = plt.subplots(1,1, figsize=(6,6)) ax.plot(k, SE_ext_p, label=r'$\Sigma_{x, +}^\mathrm{ext}$', lw=2, ls=':') ax.plot(k, SE_ext_m, label=r'$\Sigma_{x, -}^\mathrm{ext}$', lw=2, ls='--') ax.plot(k, SE_ext_p + SE_ext_m, label=r'$\Sigma_{x}^\mathrm{pb}$', lw=2, ls='-') ax.set_xlim([0, 2]); ax.set_xlabel(r'$k/k_\mathrm{F}$') ax.set_ylim([-1.1, 0]); ax.set_ylabel(r'$\hbar\Sigma_{x}(k)/(e^2 k_\mathrm{F}/\epsilon_0)$') ax.legend(loc=0) fig.text(0.08, 0.95, r'Exchange self-energies for graphene with $\mu>0$') ax.grid(True); # and the Figure 1 of [PRL 99, 226801 (2007)] is reproduced. # ## Version Information # In[1]: get_ipython().run_line_magic('reload_ext', 'version_information') get_ipython().run_line_magic('version_information', 'numpy, scipy, matplotlib')