dynamical_matrix command

Syntax

dynamical_matrix group-ID style gamma args keyword value ...
  • group-ID = ID of group of atoms to displace

  • style = regular or eskm

  • gamma = finite different displacement length (distance units)

  • one or more keyword/arg pairs may be appended

    keyword = file or binary
      file name = name of output file for the dynamical matrix
      binary arg = yes or no or gzip

Examples

dynamical_matrix 1 regular 0.000001
dynamical_matrix 1 eskm 0.000001
dynamical_matrix 3 regular 0.00004 file dynmat.dat
dynamical_matrix 5 eskm 0.00000001 file dynamical.dat binary yes

Description

Calculate the dynamical matrix by finite difference of the selected group,

_images/dynamical_matrix_dynmat.jpg

where D is the dynamical matrix and Phi is the force constant matrix defined by

_images/dynamical_matrix_force_constant.jpg

The output for the dynamical matrix is printed three elements at a time. The three elements are the three beta elements for a respective i/alpha/j combination. Each line is printed in order of j increasing first, alpha second, and i last.

If the style eskm is selected, the dynamical matrix will be in units of inverse squared femtoseconds. These units will then conveniently leave frequencies in THz, where frequencies, represented as omega, can be calculated from

:c, image(Eqs/dynamical_matrix_phonons.jpg)

Restrictions

The command collects an array of nine times the number of atoms in a group on every single MPI rank, so the memory requirements can be very significant for large systems.

This command is part of the USER-PHONON package. It is only enabled if LAMMPS was built with that package. See the Build package doc page for more info.

Default

The default settings are file = “dynmat.dyn”, binary = no