[Pw_forum] On tne optimization error in PbTiO3

Axel Kohlmeyer akohlmey at cmm.chem.upenn.edu
Wed Jan 31 15:37:09 CET 2007


On Wed, 31 Jan 2007, degironc wrote:

hi,

let me translate this into 'beginner speak':

the problem here essentially boils down to: you cannot get more
accuracy on one property, if you do not calculate the property it
depends on accurate enough. if one changes a parameter, one has to
check, what other parameters need to be changed as well.

in case of geometry optimization. if you want to converge the
geometry very accurately (as stefano pointed out, 1.0e-5 is 
extreme), you first have to make sure that you compute the forces
on the atoms accurate enough. that accuracy depends primarily on 
the basis set size (plane wave energy cutoff) and the convergence
parameter for single point energy. so you have to do a run of
single point calculations where you print out the forces to find
out how high you have to crank up the PW-cutoff and how tight
you have to converge the wavefunction to get forces that accurate.

the second point is the 'noise' from evaluating the xc-functionals
(especially when you include gradient correction). and interpolated
with splines, with a very coarse grid the forces may be pretty random.
now, with ultra-soft pseudopotentials, the wavefunction cutoff needed
to get a converged energy is rather low, but to avoid the noise from
the xc-functional evaluation (and from the augmentation charges), 
you need a higher density cutoff (by default 4x the wavefunction 
cutoff). if you search the mailing archive you'll find that 30-40ry
for the wavefunction cutoff and a factor of 10 for the density cutoff
(i.e. 300-400ry) is a conservative choice.

hope that helps,
   axel.

SdG> In general calculated energies are a little noisy (due to insufficient 
SdG> scf accuracy and/or
SdG> insufficient accuracy in the integration of the XC functional on the FFT 
SdG> real space grid).
SdG> Moreover Energies and forces are slightly inconsistent (due to 
SdG> insufficient scf accuracy).
SdG> Hence it is pointless to pretend a convergence in the relaxation below 
SdG> this noise level.
SdG> When the history of the relaxation makes no sense the code reduce the 
SdG> size of the tipical
SdG> step and restart  the history, but if the step is so small that you are 
SdG> already digging below
SdG> the noise level this does not help.
SdG> 
SdG> By the way forc_conv_thr = 1.0D-5 is an extremey strict threshold.
SdG> default value is 1.0d-3 and usually is alread fine. 1.0d-4 should be 
SdG> more than
SdG> enough for any purpouse.
SdG> 
SdG> stefano
SdG> 
SdG> yukihiro_okuno at fujifilm.co.jp wrote:
SdG> 
SdG> >Dear PWscf Users.
SdG> >
SdG> >I'm now working the optimization of PbTiO3
SdG> >
SdG> >But in the process of calculation, my calculation
SdG> >
SdG> >stopped with an error like below
SdG> >
SdG> >   CASE: energy_new > energy_old
SdG> >
SdG> >     new trust radius        =       0.0000499856 bohr
SdG> >
SdG> >     trust_radius < trust_radius_min
SdG> >
SdG> >     resetting bfgs history
SdG> >
SdG> >
SdG> >
SdG> >%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
SdG> >     from bfgs : error #         1
SdG> >     bfgs history already reset at previous step
SdG> >
SdG> >%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
SdG> >
SdG> >     stopping ...
SdG> >
SdG> >
SdG> >What is wrong and how to treat such an erro?
SdG> >
SdG> >This is my input file
SdG> >
SdG> >&control
SdG> >    calculation  = 'relax',
SdG> >    restart_mode = 'from_scratch',
SdG> >    pseudo_dir   = '/home/okuno/PWSCF/espresso-3.1.1/pseudo/',
SdG> >    outdir       = './',
SdG> >    forc_conv_thr = 1.0D-5
SdG> > /
SdG> > &system
SdG> >    ibrav=6
SdG> >    celldm(1)=7.36203352272
SdG> >    celldm(3)=1.07
SdG> >    nat=5
SdG> >    ntyp=3
SdG> >    nbnd=25
SdG> >    ecutwfc=30.0
SdG> >    occupations = 'fixed'
SdG> >    degauss=0.00
SdG> > /
SdG> > &electrons
SdG> >    conv_thr = 1e-7,
SdG> >    mixing_beta=0.3,
SdG> > /
SdG> >&IONS
SdG> > ion_dynamics='bfgs'
SdG> > bfgs_ndim=3
SdG> > pot_extrapolation = "second_order"
SdG> > wfc_extrapolation = "second_order"
SdG> >/
SdG> >ATOMIC_SPECIES
SdG> >  Pb    207.2     Pb.vdb.UPF
SdG> >  Ti    47.867    Ti.vdb.UPF
SdG> >  O     15.9994   O.vdb.UPF
SdG> >ATOMIC_POSITIONS {crystal}
SdG> >Pb       0.000000000   0.000000000   0.000000000
SdG> >Ti       0.500000000   0.500000000   0.534020000
SdG> >O        0.000000000   0.500000000   0.611230000
SdG> >O        0.500000000   0.000000000   0.611230000
SdG> >O        0.500000000   0.500000000   0.103910000
SdG> >K_POINTS {automatic}
SdG> >  4 4 4 1 1 1
SdG> >
SdG> >
SdG> >_______________________________________________
SdG> >Pw_forum mailing list
SdG> >Pw_forum at pwscf.org
SdG> >http://www.democritos.it/mailman/listinfo/pw_forum
SdG> >  
SdG> >
SdG> 
SdG> _______________________________________________
SdG> Pw_forum mailing list
SdG> Pw_forum at pwscf.org
SdG> http://www.democritos.it/mailman/listinfo/pw_forum
SdG> 

-- 
=======================================================================
Axel Kohlmeyer   akohlmey at cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.




More information about the users mailing list