Phonons from density-functional-perturbation theory: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
In density functional theory we solve the | '''Density-functional-perturbation theory''' provides a way to compute the second-order linear response to ionic displacement, strain, and electric fields. The equations are derived as follows. | ||
In density-functional theory, we solve the Kohn-Sham (KS) equations | |||
:<math> | :<math> | ||
H(\mathbf{k}) | \psi_{n\mathbf{k}} \rangle= | H(\mathbf{k}) | \psi_{n\mathbf{k}} \rangle= | ||
e_{n\mathbf{k}}S(\mathbf{k}) | \psi_{n\mathbf{k}} \rangle | e_{n\mathbf{k}}S(\mathbf{k}) | \psi_{n\mathbf{k}} \rangle, | ||
</math> | </math> | ||
where ... | |||
Taking | Taking the derivative with respect to the ionic positions <math>R_i^a</math>, we obtain the Sternheimer equations | ||
:<math> | :<math> | ||
Line 16: | Line 19: | ||
</math> | </math> | ||
Once the derivative of the orbitals is computed from the Sternheimer | Once the derivative of the KS orbitals is computed from the Sternheimer equations, we can write | ||
:<math> | :<math> | ||
| \psi^{u^a_i}_\lambda \rangle = | | \psi^{u^a_i}_\lambda \rangle = | ||
| \psi \rangle + | | \psi \rangle + | ||
\lambda | \partial_{u^a_i}\psi \rangle | \lambda | \partial_{u^a_i}\psi \rangle. | ||
</math> | </math> | ||
The second-order force constants are then computed using | The second-order response to ionic displacement, i.e., the force constants or Hessian matrix, are then computed using | ||
:<math> | :<math> | ||
\Phi^{ab}_{ij}= | \Phi^{ab}_{ij}= | ||
Line 33: | Line 36: | ||
\mathbf{F}[\{\psi^{u^b_j}_{\lambda/2}\}]- | \mathbf{F}[\{\psi^{u^b_j}_{\lambda/2}\}]- | ||
\mathbf{F}[\{\psi^{u^b_j}_{-\lambda/2}\}] | \mathbf{F}[\{\psi^{u^b_j}_{-\lambda/2}\}] | ||
\right)^a_i}{\lambda} | \right)^a_i}{\lambda}, | ||
</math> | </math> | ||
where <math>\mathbf{F}</math> yields the forces for a given set of orbitals. | where <math>\mathbf{F}</math> yields the [[:Category:Forces|forces]] for a given set of KS orbitals. | ||
The internal strain tensor is computed using | The internal strain tensor is computed using | ||
:<math> | :<math> | ||
\Xi^a_{il}=\frac{\partial^2 E}{\partial | \Xi^a_{il}=\frac{\partial^2 E}{\partial \eta^a_i \partial u^b_j}= | ||
\frac{\partial \sigma_l}{\partial u^a_i} | \frac{\partial \sigma_l}{\partial u^a_i} | ||
\approx | \approx | ||
Line 50: | Line 53: | ||
</math> | </math> | ||
<!--- | |||
At the end of the calculation if {{TAG|LEPSILON}}=.TRUE., the Born effective charges are computed using Eq. (42) of Ref. {{cite|gonze:prb:1997}}. | At the end of the calculation if {{TAG|LEPSILON}}=.TRUE., the Born effective charges are computed using Eq. (42) of Ref. {{cite|gonze:prb:1997}}. | ||
Line 68: | Line 72: | ||
If {{TAG|IBRION}}=7 no symmetry is used and the displacement of all the ions is computed. | If {{TAG|IBRION}}=7 no symmetry is used and the displacement of all the ions is computed. | ||
When {{TAG|IBRION}}=8 only the irreducible displacements are computed with the physical quantities being reconstructed by symmetry. | When {{TAG|IBRION}}=8 only the irreducible displacements are computed with the physical quantities being reconstructed by symmetry. | ||
---!> | |||
== References == | == References == | ||
<references/> | <references/> | ||
[[Category:Phonons]] | [[Category:Phonons]] |
Revision as of 14:51, 20 July 2022
Density-functional-perturbation theory provides a way to compute the second-order linear response to ionic displacement, strain, and electric fields. The equations are derived as follows.
In density-functional theory, we solve the Kohn-Sham (KS) equations
where ...
Taking the derivative with respect to the ionic positions , we obtain the Sternheimer equations
Once the derivative of the KS orbitals is computed from the Sternheimer equations, we can write
The second-order response to ionic displacement, i.e., the force constants or Hessian matrix, are then computed using
where yields the forces for a given set of KS orbitals.
The internal strain tensor is computed using