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.
-
1$\begingroup$ I'm very interested in this! $\endgroup$ – Nike Dattani 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.
-
$\begingroup$ Great answer. Thanks. Are there / do you know any packages which has implemented this computation. $\endgroup$ – Rashid Rafeek May 3 '20 at 17:43
-
1$\begingroup$ And can you post a source where I can read more on this, if possible. $\endgroup$ – Rashid Rafeek May 3 '20 at 17:44
-
3$\begingroup$ @rashid You’re welcome :) Yes LAMMPS by using fix phonon command. See in answer. $\endgroup$ – Alone Programmer May 3 '20 at 17:44
-
2$\begingroup$ @rashid See more information here: lammps.sandia.gov/doc/fix_phonon.html $\endgroup$ – Alone Programmer May 3 '20 at 17:46
-
1