16
$\begingroup$

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.

$\endgroup$
1
  • 1
    $\begingroup$ I'm very interested in this! $\endgroup$ May 3, 2020 at 14:49

2 Answers 2

14
$\begingroup$

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.

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

I think one could try to utilize a functionality of hiPhive or TDEP to fit the data from MD-simulations. hiPhive is probably an easier way since it is installed pretty easy using pip. In case of hiPhive once the force-field trained on the MD data is created, generation of the phonon spectrum is straightforward and discussed in the tutorial section.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .