<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>