Phonons with Density-Functional Perturbation Theory
Getting ready
tar -zxvf examples_phon.tgz cd examples_phon
make ph pp tools
Phonons at Gamma point (q=0)
All phonon calculations start from the self-consistent charge density and Kohn-Sham orbitals, calculated for equilibrium atomic positions. For q=0 phonons in Si, there are only two steps:$espresso_dir/bin/pw.x < si.scf.in > si.scf.outYou will get the usual self-consistent results for Si, and the needed data written to directory "outdir"/"prefix".save
$espresso_dir/bin/ph.x < si.phG.in > si.phG.outThe code determines a number of irreps (irreproducible representations) and perform a linear response calculation for each of them. At the end the dynamical matrix is computed, written to file si.dynG [i.e. the variable fildyn in "si.phG.in"], diagonalized. Note the 3 degenerate non zero frequencies and the 3 frequencies close to zero. The latter should be exactly zero due to Acoustic Sum Rule (ASR)), i.e. traslational symmetry. Notice that the degeneracy of the modes [ 3 + 3 ] corresponds to the dimensionality of the irreps: it is a property related to symmetry.
$espresso_dir/bin/dynmat.x &input fildyn='si.dynG' /File "dynmat.asxf" contains normal modes in a format that can be visualized by XCrySDen (they appear as forces on atoms). Do they look reasonable? what did you expect?
Phonons at a generic q-point
In order to perform a phonon calculation at a generic (nonzero) q-point, an intermediate non-scf calculation must be run to (re)construct electronic states at k and k+q. In the following the X point, q = (1,0,0) 2pi/a, is used. There are now three steps to be performed:$espresso_dir/bin/pw.x < si.nscfX.in > si.nscfX.outNotice that the symmetry is reduced and the number of k-points is increased: this is because the symmetry of the small group of q is assumed instead of the crystal symmetry. Notice the presence of k+q vectors intercalated between the k vectors. The directory "outdir"/"prefix".save is overwritten with the new data.
$espresso_dir/bin/ph.x < si.phX.in > si.phX.outNotice that the number and degeneracies of irreps are different from the previous case (they depend on symmetry, i.e. on the small group of q). The file si.dynX contains now three matrices, i.e. the three equivalent X points.
grep omega si.dyn* si.dynG: omega( 1) = 0.063598 [THz] = 2.121419 [cm-1] si.dynG: omega( 2) = 0.063598 [THz] = 2.121419 [cm-1] si.dynG: omega( 3) = 0.063598 [THz] = 2.121419 [cm-1] si.dynG: omega( 4) = 15.475124 [THz] = 516.197992 [cm-1] si.dynG: omega( 5) = 15.475124 [THz] = 516.197992 [cm-1] si.dynG: omega( 6) = 15.475124 [THz] = 516.197992 [cm-1] si.dynL: omega( 1) = 3.281779 [THz] = 109.469103 [cm-1] si.dynL: omega( 2) = 3.281779 [THz] = 109.469103 [cm-1] si.dynL: omega( 3) = 11.303519 [THz] = 377.047327 [cm-1] si.dynL: omega( 4) = 12.548573 [THz] = 418.578134 [cm-1] si.dynL: omega( 5) = 14.786637 [THz] = 493.232384 [cm-1] si.dynL: omega( 6) = 14.786637 [THz] = 493.232384 [cm-1] si.dynX: omega( 1) = 4.317843 [THz] = 144.028682 [cm-1] si.dynX: omega( 2) = 4.317843 [THz] = 144.028682 [cm-1] si.dynX: omega( 3) = 12.400213 [THz] = 413.629325 [cm-1] si.dynX: omega( 4) = 12.400213 [THz] = 413.629325 [cm-1] si.dynX: omega( 5) = 13.962671 [THz] = 465.747664 [cm-1] si.dynX: omega( 6) = 13.962671 [THz] = 465.747664 [cm-1]
Electric Fields and Acoustic Sum Rules
Let us consider a little bit more in detail the Gamma case. In insulating materials the system can sustain macroscopic electric fields and these can be coupled with vibrations. The physical properties that describe these properties are the dielectric tensor ("epsilon") and the effective charges ("Z*"). Note that in metals there are no macroscopic electric fields! epsilon=\infty. Edit "si.phG.in" and add variable epsil=.true. to the namelist. This can be done ONLY if q=(0.0 0.0 0.0), otherwise the code complains. Run again the scf calculation if you have destroyed the original k-point sampling:$espresso_dir/bin/pw.x < si.scf.in > si.scf.outand then the phonon calculation at Gamma again:
$espresso_dir/bin/ph.x < si.phG.in > si.phG.outNote that an additional linear-response calculation for electric fields in 3 independent directions is performed, dielectric constant and effective charges are calculated and stored into the "si.dynG" file. Note that effective charges are tensors: they are neither diagonal nor even symmetric in general! In high-symmetry systems like this one they reduce to a scalar, though. Due to translational symmetry, ASR requires that acoustic modes have zero frequencies AND the sum of effective charges over all atoms is zero: \sum_i Z*_i = 0. In Si, where the two atoms in the cell are equivalent, this means Z*=0. This is never exactly verified in realistic calculations because:
K_POINTS automatic 6 6 6 1 1 1Run again pw.x+ph.x, save the output for later comparison:
$espresso_dir/bin/pw.x < si.scf.in-28k > si.scf.out-28k $espresso_dir/bin/ph.x < si.phG.in > si.phG.out-28kDo the same for the 2 chadi-cohen / monkhorst-pack points :
K_POINTS automatic 2 2 2 1 1 1for the 6 monkhorst-pack points :
K_POINTS automatic 3 3 3 1 1 1and for the 10 chadi-cohen / monkhorst-pack points (this is what we already have)
K_POINTS automatic 4 4 4 1 1 1Notice that
Phonons in Polar Materials
In polar materials, macroscopic electric fields are present in the long-wavelength limit and induce the so-called LO-TO splitting. This can be computed from the knowledge of epsilon, Z* and the propagation direction q. We consider AlAs, a polar semiconductor with the zincblende structure (i.e. like Si but one different atom per sublattices; Si is nonpolar so there is no LO-TO splitting). Create an input for scf calculation in AlAs using the following data:ATOMIC_SPECIES Al 26.98 Al.vbc.UPF As 74.92 As.gon.UPFand alat = 10.6 (theoretical lattice parameter for LDA and those pseudopotentials). Run the scf calculation as usual:
$espresso_dir/bin/pw.x < alas.scf.in > alas.scf.outCreate an input for phonon at Gamma for AlAs (including electric fields: "epsil=.true.")
$espresso_dir/bin/ph.x < alas.phG.in > alas.phG.outNotice that the optical phonon frequencies are 3-fold degenerate and there is no TO-LO splitting, because the non-analytic term that produces the TO-LO splitting has to be added to the dynamical matrix. This is done by auxiliary program "dynmat.x". Create an input (alas.dynmat.in for instance) for dynmat.x for AlAs, specifying the additional variables
&input fildyn='alas.dynG', asr='simple' q(1)=1.0, q(2)=0.0, q(3)=0.0 /Run the dynmat.x code:
$espresso_dir/bin/dynmat.x < alas.dynmat.inThe code will take note of the presence of Z* and epsilon in the dynamical matrix file and will add to the dynamical matrix the nonanalytic part corresponding to the given q=>0. The 3-fold degenerate optical modes are now split by the TO-LO splitting. Also note that asr='simple' (or 'three-dim', a more sophisticated version) makes the frequency of acoustic modes to vanish but has no effect on the other modes. In cubic system, such as AlAs, the frequencies (NOT the eigenvectors) are independent on the q direction. In lower symmetries both eigenvalues and eigenvectors depend on the phonon propagation direction, and modes cannot be distinguished between purely transverse (i.e. q perpendicular to the displacement pattern) and purely longitudinal (i.e. q parallel to the displacement pattern).