Element: phonons

Compute the dynamical matrix.

This is done by constructing a supercell (attributes ngridq and reduceq), displacing atoms in it and obtaining the dynamical matrix from the forces. As all atoms are displaced four times in each direction, and this is done for every ${\bf q}$-point, phonon calculations can become quite tedious. If the calculation was done already at an earlier point, and an existing dynamical matrix should be reused, the attribute do allows to skip a fresh calculation. Note also that the calculation of the dynamical matrix can be run in parallel.

To obtain phonon eigenvalues and eigenvectors for one or more ${\bf q}$-points, add one of the elements qpointset, interpolate, phonondispplot or phonondos.

contains: qpointset (optional)
phonondos (optional)
phonondispplot (optional)
reformatdynmat (optional)
interpolate (optional)
parts (optional)
XPath: /input/phonons

This element allows for specification of the following attributes: deltaph, do, gamma, ngridq, reduceq

Attribute: deltaph

Phonon calculations are performed by constructing a supercell corresponding to a particular ${\bf q}$-vector and making small periodic sin- and cos-like displacements of the atoms. The amplitude of this displacement, in cartesian coordinates for each component, is given by deltaph (in units of Bohr). Additionally a displacement of 2*deltaph is done, so in general each atom is displaced four times.

deltaph should not be made too large, as anharmonic terms could then become significant, neither should it be too small as this can introduce a numerical error.

Type: fortrandouble
Default: "0.03d0"
Use: optional
XPath: /input/phonons/@deltaph

Attribute: do

Specify if the phonon calculation is performed (value fromscratch) or skipped (value skip.) In the latter case the dynamical matrix is read from files produced in a previous run with the same parameters. The value fromscratch can also be used to continue an incomplete calculation.

Type: choose from:
Default: "fromscratch"
Use: optional
XPath: /input/phonons/@do

Attribute: gamma

Determines how force constants at the $\Gamma$-point are computed. The numerical differentiation is done from (a) a displacement by deltaphi and the equilibirum (onestep), (b) displacements by $\pm$deltaphi (twostep), or (c) displacements by deltaphi and 2deltaphi (standard) for each atom in each cartesian direction. Note that options (a) requires $3N+1$ computations, whereas option (b) and (c) require $6N$ for $N$ atoms. In particular if only the $\Gamma$-point is to be computed, option (b) is more accurate and yields better eigenvectors than (a).

Type: choose from:
Default: "twostep"
Use: optional
XPath: /input/phonons/@gamma

Attribute: ngridq

Number of ${\bf q}$ grid points along the basis vector directions. This determines the size of the supercell.

Type: integertriple
Default: "1 1 1"
Use: optional
XPath: /input/phonons/@ngridq

Attribute: reduceq

The attribute reduceq is set to "true" if the ${\bf q}$-point set is to be reduced with the crystal symmetries.

Type: boolean
Default: "true"
Use: optional
XPath: /input/phonons/@reduceq

Element: phonondos

Compute the phonon density of states (DOS) $g(\omega)$ and thermodynamical properties. This is done by calculating the phonon eigenvalues on a dense grid, specified by ngrdos. The DOS is output to file PHDOS.OUT. Note that $\int\limits_{\omega_{\rm min}}^{\omega_{\rm max}} d\omega\; g(\omega) = 3N_{\rm at}$

From the DOS $g(\omega)$ the following thermodynamical properties are obtained:

  • the zero-point energy $E_{\rm ZP} = \frac{1}{2} \int\limits_{\omega_{\rm min}}^{\omega_{\rm max}} d\omega\; \omega\, g(\omega)$
  • the vibrational internal energy $E_{\rm vib} = \frac{1}{2} \int\limits_{\omega_{\rm min}}^{\omega_{\rm max}} d\omega\; \omega\, g(\omega) \coth\frac{\omega}{2k_B T}$
  • the vibrational free energy $F_{\rm vib} = k_B T \int\limits_{\omega_{\rm min}}^{\omega_{\rm max}} d\omega\; g(\omega) \log\left(2 \sinh \frac{\omega}{2k_B T}\right)$
  • the vibrational entropy $S_{\rm vib} = \frac{E_{\rm vib}-F_{\rm vib}}{T}$
  • the heat capacity $c = k_B \int\limits_{\omega_{\rm min}}^{\omega_{\rm max}} d\omega\; g(\omega) \left(\frac{\omega}{k_B T}\right)^{\!\!\! 2} {\exp\left(\frac{\omega}{k_B T}\right)}{\left[\exp(\frac{\omega}{k_B T})-1\right]^{-2}}$

where $N_{\rm at}$ is the number of atoms in the unit cell. These quantities are computed for the temperatures, specified by ntemp and written to files THERMO.OUT and thermo.xml.

Type: no content
XPath: /input/phonons/phonondos

This element allows for specification of the following attributes: ngrdos, nsmdos, ntemp, nwdos

Attribute: ngrdos

Number of grid points in each lattice direction on which the eigenvalues are interpolated.

Type: integer
Default: "100"
Use: optional
XPath: /input/phonons/phonondos/@ngrdos

Attribute: nsmdos

Number of 3-point averaging runs to smoothen the DOS. One run corresponds to setting the DOS value for one frequency $g(\omega_i)$ to the average $1/3\:\left[g(\omega_{i-1})+g(\omega_{i})+g(\omega_{i+1})\right]$.

Type: integer
Default: "0"
Use: optional
XPath: /input/phonons/phonondos/@nsmdos

Attribute: ntemp

Number of temperatures in the range up to the maximal temperature $T_{\rm max}$ for the calculation of the thermodynamical properties from the phonon DOS This corresponds to the maximal phonon frequency $\omega_{\rm max}$ by $T_{\rm max} = \omega_{\rm max} / k_B$.

Type: integer
Default: "200"
Use: optional
XPath: /input/phonons/phonondos/@ntemp

Attribute: nwdos

Number of steps between the lowest and highest phonon frequency for the DOS.

Type: integer
Default: "500"
Use: optional
XPath: /input/phonons/phonondos/@nwdos

Element: phonondispplot

Produce a phonon dispersion plot by interpolating phonon frequencies for points on a path through the Brillouin zone. The frequencies for all phonon modes along the path are written to file PHDISP.OUT, vertex lines are written to file PHDLINES.OUT. Use the element plot1d to specify the path in reciprocal lattice vectors.

contains: plot1d
XPath: /input/phonons/phonondispplot

Element: reformatdynmat

Reads in the dynamical matrix rows from the corresponding files and outputs them as $3\times 3$ blocks for each atom combination to the file DYNMAT.OUT. A corrected dynamical matrix which fulfills the accoustic sumrule is output to the file DYNMAT_SUMRULE.OUT. It is obtained by subtracting the three lowest eigenvectors from the original matrix: $D_{ij}^{\bf q}\rightarrow D_{ij}^{\bf q}-\sum_{k=1}^3 \omega_k^0 v_{k;i}^0 v_{k;j}^0$ for all ${\bf q}$, where $\omega_k^0$ is the $k$th eigenvalue of the ${\bf q}=0$ dynamical matrix and $v_{k;i}^0$ the $i$th component of its eigenvector.

Symmetrized forms are written to the files DYNMAT_SYM.OUT and DYNMAT_SYM_SUMRULE.OUT.

Type: no content
XPath: /input/phonons/reformatdynmat

Element: interpolate

Interpolates the phonon frequencies, and optionally eigenvectors, on a given ${\bf q}$-point grid and outputs them to file PHONON_INTERPOLATE.OUT.

Type: no content
XPath: /input/phonons/interpolate

This element allows for specification of the following attributes: ngridq (required), vqloff, writeeigenvectors

Attribute: ngridq

${\bf q}$-point grid for interpolation.

Type: integertriple
Use: required
XPath: /input/phonons/interpolate/@ngridq

Attribute: vqloff

The ${\bf q}$-point offset vector in lattice coordinates.

Type: vect3d
Default: "0.0d0 0.0d0 0.0d0"
Use: optional
XPath: /input/phonons/interpolate/@vqloff

Attribute: writeeigenvectors

Set to true if the phonon eigenvectors are to be interpolated and output in addition to the phonon frequencies.

Type: boolean
Default: "false"
Use: optional
XPath: /input/phonons/interpolate/@writeeigenvectors

Reused Elements

The following elements can occur more than once in the input file. There for they are listed separately.

Data Types

The Input definition uses derived data types. These are described here.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License