<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">I’m requesting help from all you QE wizards out there.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m trying to learn PHonon dispersion calculations, starting simply with diamond. My results look pretty good except for approaching the K point, were I get a bit of a cusp. I’ve tried lots of things: tightening convergences; increasing
sampling in the BZ; using asr=’simple’ or asr=’crystal’, etc., but I can’t get rid of the cusping around K. It also makes the X-K path look bad. I’ve tried xc=’lda’ as well as xc=’pbe’.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have optimized the structure using a PBE ultrasoft pseudo<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I point out that I’m using ibrav=2, and I’m using letter notation to specify the high-symmetry points in the path through k-space, so I use q_in_band_form = .true..<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Computer/QE version details: I’m using the QE 7.0 package on a Linux HPC cluster.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Relatively low-threshold calculations complete with a bash script and pseudopotentials are available here. I also have my *.out files, and a Python3 script that can generate the plots.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks in advance for your insights.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="mso-ligatures:none">Enrique (Erik) Blair, Ph.D.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">Associate Professor<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">Electrical and Computer Engineering<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">Baylor University<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">Website: <a href="http://web.ecs.baylor.edu/faculty/blair/">
<span style="color:#0563C1">http://web.ecs.baylor.edu/faculty/blair/</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">For your convenience, here’s the LDA work-flow:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"># ===== diamond.in =====<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">&control<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> calculation = 'scf',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> restart_mode = 'from_scratch',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> tstress = .true.,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> tprnfor = .true.,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> prefix = 'diamond',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> outdir = 'data',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> pseudo_dir = './',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">&system<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> ibrav = 2,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> nat = 2,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> ntyp = 1,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> a = 3.5689000000000006,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> ecutwfc = 90.0,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> ecutrho = 810.0,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> input_dft = 'lda',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> nbnd = 15,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">&electrons<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> conv_thr = 1.000000d-8,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> mixing_beta = 0.7,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">ATOMIC_SPECIES<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> C 12.011000 C.pz-n-rrkjus_psl.0.1.UPF<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">ATOMIC_POSITIONS {alat}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> C 0.00000000 0.00000000 0.00000000<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> C 0.25000000 0.25000000 0.25000000<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none">K_POINTS {automatic}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"> 9 9 9 0 0 0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none"># ===== diamond.ph.in =====</span><o:p></o:p></p>
<p class="MsoNormal">This is a PHonons (ph.x) input file.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">&inputph<o:p></o:p></p>
<p class="MsoNormal"> tr2_ph = 1.000000d-14,<o:p></o:p></p>
<p class="MsoNormal"> ldisp = .true.,<o:p></o:p></p>
<p class="MsoNormal"> nq1 = 3,<o:p></o:p></p>
<p class="MsoNormal"> nq2 = 3,<o:p></o:p></p>
<p class="MsoNormal"> nq3 = 3,<o:p></o:p></p>
<p class="MsoNormal"> fildyn = 'diamond.dyn',<o:p></o:p></p>
<p class="MsoNormal"> outdir = 'data',<o:p></o:p></p>
<p class="MsoNormal"> prefix = 'diamond',<o:p></o:p></p>
<p class="MsoNormal">/<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"># ==== diamond.q2r.in =====<o:p></o:p></p>
<p class="MsoNormal">&input<o:p></o:p></p>
<p class="MsoNormal"> flfrc = 'diamond.fc',<o:p></o:p></p>
<p class="MsoNormal"> zasr = 'crystal',<o:p></o:p></p>
<p class="MsoNormal"> fildyn = 'diamond.dyn',<o:p></o:p></p>
<p class="MsoNormal">/<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"># ==== diamond.matdyn.in =====<o:p></o:p></p>
<p class="MsoNormal">&input<o:p></o:p></p>
<p class="MsoNormal"> asr = 'simple',<o:p></o:p></p>
<p class="MsoNormal"> q_in_band_form = .true.,<o:p></o:p></p>
<p class="MsoNormal"> flfrc = 'diamond.fc',<o:p></o:p></p>
<p class="MsoNormal"> flfrq = 'diamond.frq',<o:p></o:p></p>
<p class="MsoNormal"> flvec = 'diamond.modes',<o:p></o:p></p>
<p class="MsoNormal">/<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> 5<o:p></o:p></p>
<p class="MsoNormal">gG 40 <o:p></o:p></p>
<p class="MsoNormal">X 20 <o:p></o:p></p>
<p class="MsoNormal">K 30 <o:p></o:p></p>
<p class="MsoNormal">gG 20 <o:p></o:p></p>
<p class="MsoNormal">L 1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"># ===== plot_phonon_dispersion.py =====<o:p></o:p></p>
<p class="MsoNormal">import numpy as np<o:p></o:p></p>
<p class="MsoNormal">import matplotlib.pyplot as plt<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">data = np.loadtxt( 'diamond.frq.gp', unpack=True)<o:p></o:p></p>
<p class="MsoNormal">fdata = np.delete(data, 0, 0) # delete first row - not needed<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="SV">markerpos = [0, 40, 60, 90, 110, ]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="SV">marker_label = ['$\\Gamma$', 'X', 'K', '$\\Gamma$', 'L']<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="SV"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="PT-BR">n_ph, n_qpts = fdata.shape<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="PT-BR"><o:p> </o:p></span></p>
<p class="MsoNormal">int_idx = range(0, n_qpts)<o:p></o:p></p>
<p class="MsoNormal">for freq in fdata:<o:p></o:p></p>
<p class="MsoNormal"> plt.plot(int_idx, freq)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">plt.xticks(markerpos, marker_label)<o:p></o:p></p>
<p class="MsoNormal">plt.xlim((markerpos[0], markerpos[-1]))<o:p></o:p></p>
<p class="MsoNormal">plt.grid(True)<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">plt.xlabel('$q$')<o:p></o:p></p>
<p class="MsoNormal">plt.ylabel('Frequency (cm$^{-1}$)')<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">plt.tight_layout()<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">plt.savefig('phonon_dispersion.png')<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">plt.close('all')<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"># ===== run.sh =====<o:p></o:p></p>
<p class="MsoNormal">#!/bin/bash<o:p></o:p></p>
<p class="MsoNormal">mpiexec -n 8 pw.x < diamond.in > diamond.out<o:p></o:p></p>
<p class="MsoNormal">mpiexec -n 8 ph.x < diamond.ph.in > diamond.ph.out<o:p></o:p></p>
<p class="MsoNormal">mpiexec -n 8 q2r.x < diamond.q2r.in > diamond.q2r.out<o:p></o:p></p>
<p class="MsoNormal">mpiexec -n 8 matdyn.x < diamond.matdyn.in > diamond.matdyn.out<o:p></o:p></p>
<p class="MsoNormal">python3 < plot_phonon_dispersion.py<o:p></o:p></p>
</div>
</div>
</body>
</html>