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.
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 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 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),
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 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.
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, with EXE= matdyn .
14) Plot the density of states from graphane.dos output file. Frequency units are cm-1.
0 Comments