Xavier Andrade edited geometry optimization.tex  over 9 years ago

Commit id: 3e9beb4a5d538f5d39612e0d5bc621989989e9fa

deletions | additions      

       

  %When performing geometry optimization on real-space grids, the spacing should be one of the most important aspects to consider in order to get accurate results. However, one of the weaknesses in previous versions of Octopus was the prediction of low-energy structures, performing geometry optimizations, regardless of the spacing of the mesh. In low-dimensional systems, this is a significant issue, due the precise determination of the geometric arrangement of the atoms, is probably the first step in their description and understanding~\cite{Goedecker2005}.  With our approach, the forces tend to converge faster with the grid spacing than the energy. This means that to perform geometry optimizations it would be ideal to have a local minimization method that only relies on the forces, without needing to evaluate the energy as both values will not be entirely consistant. consistent.  Such method is the fast inertial relaxation engine (FIRE) algorithm, put forward by Bitzek {\it et al.}~\cite{Bitzek2006}. FIRE has shown a competitive performance compared with both the standard conjugate gradient method, and more sophisticated variations typically used in {\it ab initio} calculations. A recent article shows also the FIRE as one of the most convenient algorithm due to its speed and precision to reach the nearest local minimum starting from a given initial configuration~\cite{Asenjo2013}. The FIRE algorithm is based on molecular dynamics with additional velocity modifications and adaptative adaptive  time steps which only requires first derivatives of the target function. In the FIRE algorithm, the system slides down the potential energy surface, gathering ``momentum'' until the direction of the gradient changes, at which point it stops, resets the adaptative adaptive  parameters, and resumes sliding. This gain of momentum is done through the modification of the time step $\Delta t$ as adaptative adaptive  parameter, and by introducing the following velocity modification %  \begin{equation}  \label{eq:velocity_fire}  \mathrm{\vec{v}}(t) \rightarrow \mathrm{\vec{V}}(t) = (1-\alpha)\mathrm{\vec{v}}(t) + \alpha \left| \mathrm{\vec{v}}(t) \right| \hat{F}(t)\ ,  \end{equation}  %  where $\mathrm{\vec{v}}$ is the velocity of the atoms, $\alpha$ is an adaptative adaptive  parameter, and $\hat{F}$ is an unitary vector in the direction of the force $\vec{F}$. By doing this velocity modification, the acceleration of the atoms are given by %  \begin{equation}  \label{eq:acceleration_fire}