Graphane with PHONON - Francesco Buonocore CMAST Website 3.0

Francesco Buonocore
ENEA - TERIN-ICT Division, HPC Lab
F. Buonocore
Go to content

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.
ENEA
Casaccia Research Center, Rome, Italy
TERIN-ICT Division, HPC Lab
Back to content
Cookies Policy