Computing phonon dispersion from molecular dynamics simulations?

How would one obtain the phonon dispersion curve from a molecular dynamics simulation trajectory? What are the steps involved? Are there any packages that does this? If so, please mention them.

• I'm very interested in this! May 3 '20 at 14:49

You are basically looking for finding phonon frequencies with respect to $$\mathbf{q}$$ the scattering vector in reciprocal space. From fluctuation-dissipation theory, the force constants of the system in the reciprocal space is given by:

$$\Phi_{k\alpha,k^{'}\beta}(\mathbf{q}) = k_{B}T \mathbf{G}^{-1}_{k\alpha,k^{'}\beta}(\mathbf{q})$$

$$\mathbf{G}$$ is the green function defined as:

$$\mathbf{G}_{k\alpha,k^{'}\beta}(\mathbf{q}) = \langle \mathbf{u}_{k\alpha}(\mathbf{q}) \cdot \mathbf{u}_{k^{'}\beta}^{*}(\mathbf{q}) \rangle$$

$$\langle...\rangle$$ is the ensemble average and $$\mathbf{u}_{k\alpha}$$ is $$\alpha$$ component of atomic displacement for $$k$$-th atom:

$$\mathbf{u}_{k\alpha}(\mathbf{q}) = \sum_{\ell}\mathbf{u}_{k\alpha}^{\ell}\exp{(i\mathbf{q}\cdot \mathbf{r}_{\ell})}$$

We could calculate Green function based on the instantaneous position of atoms ($$\mathbf{R}$$) and their ensemble average as:

$$\mathbf{G}_{k\alpha,k^{'}\beta}(\mathbf{q}) = \langle \mathbf{R}_{k\alpha}(\mathbf{q}) \cdot \mathbf{R}^{*}_{k^{'}\beta}(\mathbf{q})\rangle - \langle \mathbf{R}\rangle_{k\alpha} (\mathbf{q}) \cdot \langle \mathbf{R} \rangle^{*}_{k^{'}\beta}(\mathbf{q})$$

Now the dynamical matrix $$\mathbf{D}$$ is calculated as:

$$\mathbf{D}_{k\alpha,k^{'}\beta}(\mathbf{q}) = (m_{k}m_{k^{'}})^{-\frac{1}{2}} \Phi_{k\alpha,k^{'}\beta}(\mathbf{q})$$

The eigenvalues of this matrix are phonon frequencies at $$\mathbf{q}$$ and if you plot them versus $$\mathbf{q}$$ you would get the phonon dispersion curve. This is done in LAMMPS by using fix phonon command.

• Great answer. Thanks. Are there / do you know any packages which has implemented this computation. May 3 '20 at 17:43
• And can you post a source where I can read more on this, if possible. May 3 '20 at 17:44
• @rashid You’re welcome :) Yes LAMMPS by using fix phonon command. See in answer. May 3 '20 at 17:44
• @rashid See more information here: lammps.sandia.gov/doc/fix_phonon.html May 3 '20 at 17:46
• Great. Thanks again! May 3 '20 at 17:48