Phonons and thermodynamics

Collective oscillations of atoms around theirs equilibrium positions, giving rise to lattice vibrations, are called phonons. BAND can calculate phonon dispersion curves within standard harmonic theory, implemented with a finite difference method in the spirit of the program PHON [45]. Within the harmonic approximation we can calculate the partition function and therefore thermodynamic properties, such as the specific heat and the free energy.

Our implementation can also handle 1D and 2D periodic systems. For the study of isotopic shift of phonons see the AtomProps key.

To run a phonon calculation you need to do the following steps (see: Phonons example):

  • Optimize the structure, including the lattice vectors. The resulting geometry is the starting geometry for the phonon run.

  • Specify a super cell transformation. In principle this should be as large as possible. In practice one may want to start with a 2x2x2 cell. Set the RunType to Phonons:

    RunType
       Phonons
    End
    
  • Examine with the GUI the dispersion curves, and check for negative frequencies. If these exist then either:

    • the geometry was not close enough to the minimum. Try specifying a smaller gradient convergence criteria in your geometry optimization
    • the super cell transformation was too small
    • the numerical precision of the phonon run was not good enough.
PhononConfig (block-type)

Key to control the phonon run:

PhononConfig
  {SuperCell (Sub block type)}
  {StepSize step}
  {nSides [1|2]}
  {useSymmetry [True|False]}
  {MinTempKelvin tmin}
  {MaxTempKelvin tmax}
  {NumTemperatures ntemp}
End
SuperCell
This sub block key should hold the supercell transformation, which expresses the lattice vectors in terms of the vectors of the primitive cell.
StepSize
(Default: 0.076 Bohr) The step size taken to obtain all force constants.
nSides
(Default: 2) By default a two-sided (or quadratic) numerical differentiation of the nuclear gradients is used. Using a single-sided (or linear) numerical differentiation is computationally faster but much less accurate (Note: in older versions of the program only the single-sided option was available).
useSymmetry
(Default: True) Whether or not to exploit the symmetry of the system in the phonon calculation (note: the general SYMMETRY key does not affect the symmetry of phonon calculations).
MinTempKelvin
(Default: 0.0 Kelvin) Minimum temperature for thermodynamic plots.
MaxTempKelvin
(Default: 1000.0 Kelvin) Maximum temperature for thermodynamic plots.
NumTemperatures
(Default: 1000) Number of temperatures for thermodynamic plots.

Here is an example input:

PhononConfig
  StepSize 0.0913
  SuperCell
    2 0 0
    0 2 0
    0 0 2
  SubEnd
End

In the standard output the thermodynamic functions are printed:

========================
ThermoDynamic Properties
========================
Zero-point Energy (Hartree)            0.00448537
Zero-point Energy (eV)                 0.12205313

==================================================================================================================
Temperature(K) Internal energy(Hartree)              Entropy(kB)     Free Energy(Hartree)        Specific Heat(kB)

  0.000000E+00             0.448537E-02             0.000000E+00             0.448537E-02             0.000000E+00
  0.100000E+01             0.448540E-02             0.116921E-01             0.448536E-02             0.329896E-01
  0.200000E+01             0.448566E-02             0.643295E-01             0.448525E-02             0.138532E+00
  ...                      ...                      ...                      ...                      ...