Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] SCF speed

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] SCF speed


Chronological Thread 
  • From: "Anglade Pierre-Matthieu" <anglade@gmail.com>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] SCF speed
  • Date: Sun, 2 Sep 2007 13:23:01 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=f/31aEJvZ+oSNboXSWGsOiC5gNbGQkycrEYZc2ppb5miMe/l31V4BDmjVXwX+b16UgtlZkzm5mGpu+H0v1obYX7tezOlM7moDKIf19qxjwjPKBtjjWy2eworiyQU5DHJ/Egh5S+tMNiyFlH/+RoM6VAoDGPDwm+XQb/FepYHnuQ=

Well,
It is very natural that your system keeps diverging after starting
doing so for more than npulayit iterations.
So follow my first advice and use
iprcel 143 or 142

Let me explain you what is happening:
For some reasons your system is a very divergent one. Moreover this is
probalby not due to the metallic behavior of your electrons since TiO2
is likely an insulator; so you are just very probably starting from a
point awfully far from ground state electronic configuration. Using CG
like mixing methods (because utlimately that is what pulay mixing is)
will hardly be efficient in such a state because your system is so far
away from the ground state, making the harmonic approximation of all
those minimization methods almost inefficient.
You must rely on the very state of the art optimization algorithm.
That is this very simple Newton-Raphson method. It will make your
system a naturally converging one; no matter how far you are from
ground state and how anharmonic is the problem. Yet using Newton
Raphson methods (see the article of K.M. Ho) takes an awfully large
time. The solution is to use a Newton-Raphson like method: we will
make two kind of changes. one, we don't compute the exact derivative
of potential with respect to density. Only an approximation. That's
the meaning of the 4 in "iprcel [10]4[1-9]". Second even this
approximate form is not perfect enough. So we update it only every
[1-9] steps if the first number is 1 and only once at the [1-9]th step
is the first number is zero. would your system be close enough to the
solution a single update would be sufficient. Even no update at all
because Pulay algorithm is quite efficient in such a case.
Unfortunately it looks like your problem is not close to equilibrium.
So you need more update because the derivative of your potential with
respect to density is changing a lot along iterations. That is the
reason why I recommend you to use iprcel 143 (or even 142). It will
frequently update the so-called preconditioner and makes reaching
convergence something much more easy for the mixing algorithm; at the
cost of many reevaluation of the preconditioner.



PS: I have drink half a belgian beer before answering and my comment
might be quite confuse because I'm almost drunk... (belgian beer !!!)
Do not hesitate asking for more, better, clearer explanations.

On 9/2/07, Hua Bao <hbao@purdue.edu> wrote:
> Dear Anglade Pierre-Matthieu,
>
>
> Still, I cannot get a convergent wave function. First, I am a little
> confused about the word "tune"? I set iprcel 49, then get 4 converging
> steps, then set 44, get and 6 converging steps. I set 46 and get 4
> converging steps. If I set for 45 and get 2 converging steps. Am I able
> to set iprcel 4x and get exactly x converging steps?
>
> I tried 49/44/46/45 for a sufficiently long time (100 steps), it just
> doesn't show any sign of convergence. I did not try 14x yet because I
> am a little confused about the tune procedure.
>
> Thanks,
> Hua
>
> Anglade Pierre-Matthieu wrote:
> > using kerker's preconditioner is not efficient in your case since you
> > consider a cluster. So forget about diemac. Instead use
> > iprcel 4x
> > diecut 1
> >
> > The best is to tune the x in 4x so that it is the number of the last
> > converging step. For instance
> > if you try 49 and get
> > ETOT1 -407 -407
> > ETOT2 -408 -1
> > ETOT3 -409 -1
> > ETOT4 -408 +1
> > ...
> >
> > You'd better try "iprcel 43".
> > With this you should achieve perfect convergency in less than 50 steps.
> > If this fails I recommand that you try "iprcel 14x". (with your
> > previously determined x).
> > You should get the required level of convergency in probably less than
> > 20 steps eventhough they cost much more you'll win a lot of your time.
> > Notice however that the computation associated with iprcel are not
> > parallelized over band... sorry
> >
> > PMA
> >
> >
> > On 8/29/07, Hua Bao <hbao@purdue.edu> wrote:
> >
> >> Dear Anglade Pierre-Matthieu,
> >>
> >> Thank you for your fast reply. I am using infinite band, so I guess
> >> parallel may help a little.
> >> I am using MT type norm-conserving pseudopotential for both Ti and O
> >> (22ti.pspnc and 8o.pspnc).
> >>
> >> Below is my input file and part of the output,
> >> ionmov 3 # Use the modified Broyden algorithm
> >> ntime 1000 # Maximum number of Broyden "timesteps"
> >> tolmxf 1.0d-4 # Stopping criterion for the geometry
> >> optimization : when
> >> iscf 7
> >> npulayit 20
> >> chkprim 1
> >> toldff 1.0d-4
> >> xangst 9.186000 9.186000 11.779326
> >> 10.506552 10.505191 12.167015
> >> 7.865448 7.866809 12.167015
> >> 9.186000 9.186000 8.877000
> >> .........
> >> #Definition of the unit cell
> >> acell 15 15 15 angstrom
> >> angdeg 90 90 90
> >> ntypat 2
> >> znucl 22 8
> >> natom 33
> >> typat 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2
> >> ecut 30.0 # Maximal kinetic energy cut-off, in Hartree
> >> #Definition of the k-point grid
> >> nkpt 1
> >>
> >> nstep 500 # Maximal number of SCF cycles
> >> diemac 50
> >>
> >> Output,
> >> .....
> >> Symmetries : space group P1 (# 1); Bravais aP (primitive triclinic)
> >> ================================================================================
> >> Values of the parameters that define the memory need of the present run
> >> intxc = 0 ionmov = 3 iscf = 7 ixc
> >> = 1
> >> lmnmax = 2 lnmax = 2 mband = 93 mffmem
> >> = 1
> >> P mgfft = 144 mkmem = 1 mpssoang= 3 mpw
> >> = 89463
> >> mqgrid = 3001 natom = 33 nfft = 2985984 nkpt
> >> = 1
> >> nloalg = 4 nspden = 1 nspinor = 1 nsppol
> >> = 1
> >> nsym = 1 n1xccc = 2501 ntypat = 2 occopt
> >> = 1
> >> ================================================================================
> >> .....
> >> ETOT 1 -390.60418925724 -3.906E+02 1.162E-01 2.003E+05 6.522E-01
> >> 6.522E-01
> >> ETOT 2 -399.15192426392 -8.548E+00 1.729E-01 9.015E+04 1.048E+00
> >> 6.410E-01
> >> ETOT 3 -407.53310732403 -8.381E+00 4.573E-02 4.745E+04 7.852E-01
> >> 4.791E-01
> >> ETOT 4 -407.92518738003 -3.921E-01 3.082E-02 3.906E+04 1.451E-01
> >> 4.030E-01
> >> ETOT 5 -405.54214107012 2.383E+00 1.644E-02 7.648E+04 6.195E-01
> >> 5.258E-01
> >> ETOT 6 -408.24685027392 -2.705E+00 1.358E-02 2.997E+04 6.768E-01
> >> 3.641E-01
> >> ......
> >> ETOT 50 -409.77792273642 -8.557E-03 2.940E-05 1.482E+03 4.318E-02
> >> 9.077E-02
> >> ETOT 51 -409.78097373049 -3.051E-03 1.125E-05 2.254E+03 7.028E-02
> >> 1.043E-01
> >> ETOT 52 -409.84803111241 -6.706E-02 2.862E-05 2.478E+02 5.466E-02
> >> 6.845E-02
> >> ETOT 53 -409.79189318401 5.614E-02 1.107E-05 2.079E+03 6.247E-02
> >> 9.658E-02
> >> ETOT 54 -409.82779081084 -3.590E-02 2.751E-05 6.042E+02 6.102E-02
> >> 8.605E-02
> >> ETOT 55 -409.78546959552 4.232E-02 1.143E-05 1.367E+03 3.418E-02
> >> 9.129E-02
> >> ETOT 56 -409.83178716613 -4.632E-02 2.502E-05 4.860E+02 7.159E-02
> >> 9.624E-02
> >> .........
> >> ETOT261 -409.86217751005 7.211E-04 4.555E-08 8.010E+01 6.128E-03
> >> 7.429E-02
> >> ETOT262 -409.86060355976 1.574E-03 7.512E-08 1.062E+02 5.525E-03
> >> 7.759E-02
> >> ETOT263 -409.86285205630 -2.248E-03 4.087E-08 6.501E+01 7.248E-03
> >> 7.305E-02
> >> ETOT264 -409.85658369085 6.268E-03 6.611E-08 1.735E+02 1.226E-02
> >> 7.614E-02
> >> ETOT265 -409.86055804058 -3.974E-03 3.425E-08 1.007E+02 5.539E-03
> >> 7.763E-02
> >> ETOT266 -409.86273053407 -2.172E-03 6.215E-08 7.162E+01 1.099E-02
> >> 7.444E-02
> >> ETOT267 -409.84672451979 1.601E-02 4.149E-08 2.413E+02 2.870E-02
> >> 5.157E-02
> >> ETOT268 -409.85874398923 -1.202E-02 5.906E-08 1.028E+02 1.905E-02
> >> 6.155E-02
> >> ETOT269 -409.85148059726 7.263E-03 3.656E-08 2.451E+02 2.618E-02
> >> 7.902E-02
> >> Anglade Pierre-Matthieu wrote:
> >>
> >>> Hi,
> >>>
> >>> OK, it looks like your system is a difficult one. Please send the
> >>> various input and relevant part of the output so that we can give you
> >>> a better diagnose (just the change with respect to the first one you
> >>> send will be sufficient). I'm quite astonished that you do not get
> >>> perfect convergency following my previous advices. Is it possible that
> >>> you did a mistake ? Or are you using PAW ?
> >>>
> >>> About parallel computing:
> >>> - If you use a single k-point, you must rely on the band FFT. It
> >>> requires a fast network. Forget about it if you use ethernet.
> >>> -If you have a few k-point use as much processor as k-point .
> >>> Parallelism will decrease the time per step. But never enhance the
> >>> convergence you get.
> >>>
> >>> Regards
> >>>
> >>> PMA
> >>> O
> >>>
> >>
> >
> >
> >
>
>


--
Pierre-Matthieu Anglade



Archive powered by MHonArc 2.6.16.

Top of Page