[Pw_forum] bfgs and trust radius
Carlo Sbraccia
sbraccia at sissa.it
Thu Oct 26 21:38:19 CEST 2006
My advise is that you should not reduce trust_radius_min.
Instead, increase the accuracy of your forces by reducing conv_thr even
more (or by increasing upscale).
You can monitor the error on the forces due to lack of self-consistency by checking
the size of total scf correction (it must be much smaller than the total
force). However this is not the only source of numerical errors. Since
some terms are computed in real space on a equispaced grid, the energy of
the system is not invariant for arbitrary translations. This can easily
confuse BFGS algorithm when the convergence criteria are too tight.
To reduce this error you should increase ecutrho. However I don't see the
reason to waste cpu-time by using such a tight criteria. Also, consider
that the self-consistency itself is going to fail if you ask conv_thr <
1.D-12 because the iterative diagonalization schemes we use can suffer
numerical instabilities when the required accuracy for eigenvalues/eigenvectors is
to high.
carlo
On Tue, 24 Oct 2006, Vivek Ranjan wrote:
> Hi !
>
> I getting the following message :
>
> ---------------------------------------------------------------------------
> number of scf cycles = 14
> number of bfgs steps = 1
>
> energy old = -1402.7124539122 ryd
> energy new = -1402.7077099529 ryd
>
> CASE: energy_new > energy_old
>
> new trust radius = 0.0000480606 bohr
>
> trust_radius < trust_radius_min
>
> resetting bfgs history
>
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> from bfgs : error # 1
> bfgs history already reset at previous step
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>
> stopping ...
> ---------------------------------------------------------------------------------
>
> Based on earlier discussions I feel the following are important
> parameters, which I have set as :
>
> etot_conv_thr = 1.0d-4
> forc_conv_thr = 1.0d-5
> &system
> ibrav= 0,
> nat= 31,
> ntyp= 6,
> celldm(1) = 7.2225240402,
> ecutwfc = 35.0,
> ecutrho = 420.0
> occupations='smearing', smearing='mv', degauss=0.05
> nosym=.true.
> /
> &electrons
> mixing_mode = 'plain'
> mixing_beta = 0.5
> conv_thr = 1.0d-8
> diagonalization = 'david' ,
> /
> &ions
> upscale=100
> /
> -------------------------------------------------------------------------
>
> I have faced the above problem several times. But changing one thing or
> the another may result in convergence. The above generally happens when
> the system is already close to convergence.
>
> I would like to know if it is a good idea to reduce the trust_radius_min
> below its present default value set in pwscf ?
>
> Thank you,
> Vivek
>
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
>
More information about the Pw_forum
mailing list