Graphane with PHONON
Tutorials
Graphane phonons calculation using phonon (ph.x in the QUANTUM ESPRESSO package)
In the following tutorial it is shown how to calculate phonon of graphane with Pwscf & Phonon codes included in the QUANTUM ESPRESSO package installed on CRESCO.
The details on keywords are found in the QUANTUM ESPRESSO web-page and ph.x input file description.
You can check the best suited queue and scratch directory from the Cresco website. E.g., there the information for cresco4 and cresco6 clusters.
More information about how to use the QUANTUM ESPRESSO package on CRESCO can be found at this page.
1) Build up the graphane structure with your preferred atomistic model editor.
2) Make a relax of graphane following the example of the relax calculation in the previous tutorials. Here we provide the relaxed atomic coordinates and unit cell parameters.
To run a job on CRESCO6 the command line is:
bsub -n NP -q QUEUE -o lsf_file.out -e file.err qe 6.3.0 par EXE input.inp output.out
where NP is the number of processors (NP=48 is one node on CRESCO6), QUEUE=cresco6_48h24 (24h queue), cresco6_48h48 (48h queue, NP >= 48), cresco6_h144 (144h queue, NP can be less than 48), EXE = executable (e.g., pw, pp, bands, projwfc, ph).
3) Create your pwscf input file graphane.scf.in as follows:
&CONTROL
calculation='scf'
title='graphane'
prefix='graphane'
verbosity='high'
restart_mode='from_scratch'
nstep=1000
iprint=1
tstress=.true.
tprnfor=.true.
disk_io='default'
pseudo_dir='./your/pseudo_dir/'
outdir='./your/scratch_dir/'
/
&SYSTEM
ibrav = 12,
a = 2.538,
b = 2.538,
c= 20.000,
cosab=-0.500000,
nat = 4,
ntyp = 2,
ecutwfc = 60.0 ,
ecutrho = 480.0 ,
/
&ELECTRONS
electron_maxstep = 100,
conv_thr = 1.0d-12 ,
mixing_mode = 'plain' ,
mixing_beta = 0.7d0 ,
/
ATOMIC_SPECIES
C 12.011 C.pz-rrkjus.UPF
H 1.0079 H.pz-rrkjus.UPF
ATOMIC_POSITIONS angstrom
C -0.000000127 1.465495893 10.000196385
C 1.269000127 0.732827575 10.459793118
H -0.000000127 1.465530658 8.888518366
H 1.269000127 0.732792416 11.571492131
K_POINTS automatic
12 12 1 0 0 0
Notes:
i) The convergence threshold of SCF calculation conv_thr must be very low (1.0D-12), smaller than for total energy calculation.
ii) LDA pseudopotentials have been used.
3) Launch the scf calculation using the input file above with EXE= pw .
4) Create your phonon input file graphane.ph.in as follows:
phonons of graphane on a grid ! title line
&inputph
recover=.true.
tr2_ph=1.0d-14, ! the threshold
prefix='graphane', ! must be the same than scf calculation
ldisp=.true. ! when true the calculation is on a grid
nq1=12, ! uniform q-point grid along x
nq2=12, ! uniform q-point grid along y
nq3=1, ! uniform q-point grid along z
amass(1)=12.011, ! If not specified, masses are read from data file
amass(2)=1.0079, ! If not specified, masses are read from data file
outdir='./your/scratch_dir/', ! must be the same than scf calculation
fildyn='graphane.dyn', ! name of output file
/
5) Launch the phonon calculation using the input file above with EXE= ph .
6) Check the ouput files. In the same directory than input file you will find the files graphane.dyn#, with # ranging from 0 to 43. The files from 1 to 43 are the dynamical matrices on the grid of q-points. graphane.dyn0 is the list of inequivalent q-point (43 in this case).
7) Create the following graphane.q2r.in input for q2r.x:
&input
fildyn='graphane.dyn', ! the dynamical matrix from phonon calculation
zasr='simple',
flfrc='graphane.12x12x1.fc' ! the interatomic force constants
/
8) Launch the conversion of the dynamical matrices in a supercell 12x12x1 of the reciprocal space from the phonon calculation (q) to the interatomic force constants in a supercell 12x12x1 of real space (r), using the input file above with EXE= q2r .
9) Create the graphane.matdyn.disp.in input file for matdyn.x:
&input
asr='simple',
amass(1)=12.011,
amass(2)=1.0079
flfrc='graphane.12x12x1.fc', ! interatomic force constants file
flfrq='graphane.disp.freq' ! output file with frequencies
/
25 ! number of q-points
0 0 0 ! gamma point, here starts q-points list
0 0.06415003 0
0 0.12830006 0
0 0.19245009 0
0 0.25660012 0
0 0.32075015 0
0 0.384900179 0
0 0.449050209 0
0 0.513200239 0
0 0.577350269 0 ! M point
-0.066666667 0.577350269 0
-0.133333333 0.577350269 0
-0.2 0.577350269 0
-0.266666667 0.577350269 0
-0.333333333 0.577350269 0 ! K point
-0.3 0.519615242 0
-0.266666667 0.461880215 0
-0.233333333 0.404145188 0
-0.2 0.346410162 0
-0.166666667 0.288675135 0
-0.133333333 0.230940108 0
-0.1 0.173205081 0
-0.066666667 0.115470054 0
-0.033333333 0.057735027 0
0 0 0 ! gamma point
10) Calculate the phonon dispersion using the interatomic force constants by calculating phonons at a generic q point, using the input file above with the EXE= matdyn .
11) Generate a plot of the phonon bands. You can use plotband.x inserting graphane.disp.freq as input file. Frequency units are cm-1. Use plotband.x in /afs/enea.it/software/qu_esp/<your_qe_version>
You can also create plotb.in input file:
graphane.disp.freq
0 3000
graphane.disp.freq.dat
graphane.disp.freq.ps
0
200 0
and run:
plotband.x < plotb.in > plotb.out
You can plot the graphane.disp.freq.dat data file with xmgrace.
However, latest versions of QE gives the .gp file for direct plotting.
12) Create also the graphane.matdyn.dos.in input file for matdyn.x:
&input
asr='simple',
amass(1)=12.011,
amass(2)=1.0079
flfrc='graphane.12x12x1.fc',
flfrq='graphane.dos.freq'
dos=.true., ! an option for phonon calculation
fldos='graphane.dos' ! output file
deltaE=1.d0, ! interval of energy
nk1=12, nk2=12, nk3=1, ! grid of q-points for DOS calculation
/
13) Calculate the vibrational density of states, using the input file above with EXE= matdyn .
14) Plot the density of states from graphane.dos output file. Frequency units are cm-1.