next up previous
Next: About this document ...

DFT++ forces

Tairan Wang

The forces calculated by the DFT++ program are in the relative coordinates.

Let $\vec{a_1}$, $\vec{a_2}$ and $\vec{a_3}$ be the basis vectors of the crystal. The coordinates of the basis (the ions) are given in this basis $\vec{\tau}$.

So that the position of ion i is
\begin{align}\vec{R^i} &= [ \vec{a_1} \vec{a_2} \vec{a_3} ] \vec{\tau^i} \notag \\
&= A \vec{\tau^i} \notag
\end{align}
or

\begin{displaymath}R^i_j = \sum_k A_{jk} \tau^i_k
\end{displaymath}

The jth component of the force on the ith ion is given by the Feynman-Hellman formula:

\begin{displaymath}F^i_j = \frac{\partial E}{\partial R^i_j}
\end{displaymath}

What the program calculates, however, is
\begin{align}f^i_j &= \frac{\partial E}{\partial \tau^i_j} \notag \\
&= \sum_k...
... R^i_k}{\partial \tau^i_j} \notag \\
&= \sum_k F^i_k A_{kj} \notag
\end{align}

Thus, to get the real force from what the program outputs,

\begin{displaymath}F^i_k = \sum_j f^i_j (A^{-1})_{jk}
\end{displaymath}

Now, to move the ion under the influence of this force, we would like to project it to the relative coordinate system:
\begin{align}m \frac{d^2 R^i_j}{dt^2} &= F^i_j \notag \\
m \sum_k A_{jk} \frac...
..._k \notag \\
&= \sum_{qk}
A^{-1}_{jq}(A^T)^{-1}_{qk} f^i_k \notag
\end{align}

That is to say,

\begin{displaymath}m \frac{d^2 \vec{\tau^i}}{dt^2} = (A^TA)^{-1} \vec{f^i}
\end{displaymath}



 


1999-11-09