# [Pw_forum] from linmin : error

Paolo Giannozzi giannozz at nest.sns.it
Thu Jun 26 17:30:05 CEST 2003

On Thursday 26 June 2003 10:40, Katalin Gaal-Nagy wrote:
> Dear all!
>
> In my calculations I relax one of two atomic positions in z-direction and
> receive in some cases such an error messages:
>
>      from linmin : error #         2
>      unexpected error
>
> Sometimes it is also an error # 1
> What does this mean exactly

"exactly" ? the line minimization algorithm (linmin) looks for a minimum
- using atomic positions and forces at  the current and preceding
step, and 3rd- or 2nd-degree polynomial interpolation - along a
given direction (determined by the BFGS algorithm). If this minimum
turns out to be where it shouldn't be (for instance, on the wrong side
wrt forces), the code stops with "unexpected error".

What does it mean in practise? there is an inconsistency between
forces and energies. Usually this is due to imperfect self-consistency:
the error on forces is linear, the error on energies is quadratic. When
forces are small, the relative error can be sizable (the "Total SCF
correction" field gives an idea of how large it is)

> and how can I avoid this?

it depends. In your case (two atoms, one fixed?), maybe you should
simply set larger thresholds for structural optimization convergence

\item {\em Structural optimization goes wild after the first or second step}
The algorithm used in structural optimization is not very robust.
If you start too far away from minimum, it may lead to badly
wrong atomic positions. Restart from a better starting point.
\item {\em Structural optimization is slow or does not converge.}
Close to convergence the self-consistency error in forces may
become large with respect to the value of forces. The resulting
mismatch between
forces and energies may confuse the line minimization algorithm,
which assumes consistency between the two. The code reduces
the starting self-consistency threshold {\tt conv\_thr} when approaching
the minimum energy configuration, up to a factor defined by
{\tt upscale}. Reducing {\tt conv\_thr} (or increasing {\tt upscale})
yields a smoother structural optimization, but if {\tt conv\_thr}
becomes
too small, electronic self-consistency may not converge. You may also
increase variables {\tt etot\_conv\_thr} and {\tt forc\_conv\_thr}
that determine the
threshold for convergence (the default values are quite strict).

Paolo

--
Paolo Giannozzi             e-mail:  giannozz at nest.sns.it
Scuola Normale Superiore    Phone:   +39/050509412
Piazza dei Cavalieri 7      Fax:     +39/050509417, 050563513
I-56126 Pisa, Italy         Office:  Lab. NEST, Via della Faggiola 19