[Pw_forum] How to adjust emass,dt and cutoff in cp.x calculation?

Sandro Scandolo scandolo at ictp.it
Wed Apr 12 11:49:21 CEST 2006

What Nicola says is entirely correct, and you should pay special
attention when studying metallic systems with CP (or seriously
considering using extensions of the CP method like the ones pioneered by
Nicola and by others).

However, should you still be willing to study Na with CP as a test case,
or should you consider studying "easier" (say, nonmetallic) systems in
the future, the recipe for setting emass, emass_cutoff, and dt is
roughly as follows:

1) set emass to a physical sound value. The value of emass determines
how much the fictitiuous dynamics of the electrons couples with the real
dynamics of the ions. A small emass guarantees decoupling. How small is
small is typically determined by the excitation gap E_gap of your
system. The minimum frequency of the fictitious electronic dynamics
scales like sqrt(E_gap/emass) [see, e.g., Pastore et al, PRA 44, 6334
(1991)], and this has to be much higher than the maximum frequency of
the ion dynamics. Typically a factor of three larger is enough. As you
see, metallic systems, where E_gap=0 are a bit of a nightmare for CP,
unless the finite size of your system introduces a finite gap, but then
you have to be extra-careful...

2) start playing with emass_ecutoff, by fixing it to a starting value,
and checking what is the maximum dt that alllows you to integrate the
equations of motion. The error you got is precisely a sign that the dt
you used is too large for the integrator to converge.

3) choose the value of emass_ecutoff that allows you to use the largest dt.

4) Set dt accordingly.

Points (2-4) are described in detail in Tassone, Mauri, Car, PRB 50,
10561 (1994).


Ruijuan Xiao wrote:

>Dear all,
>I met some problems when I do some calculations by cp.x. What I calculated is a cubic box in which 54 Na atoms exist. When I use dt=5.0d0, emass=400.0d0, and emass_cutoff=3.0d0, it can run without any problems. When I put dt=5.0d0,emass=400.0d0, then change the value of emass_cutoff, the calculation also runs without problems.
>But when I put emass=400.0d0 and emass_cutoff=3.0d0,then change dt into 10.0d0, the following error message appears and the program stopped.
>     from ortho : error #        21
>     max number of iterations exceeded
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>     stopping ...
>When I put dt=5.0d0 and emass_cutoff=3.0d0, but change emass into 200.0d0, the program stopped after 12 iterations. The message is :
>  nfi    ekinc  temph  tempp        etot      enthal       econs       econt    vnhh   xnhh0    vnhp   xnhp0
>   10 ********    0.0    0.0    41.82500    41.82500    41.82500   146.23636  0.0000  0.0000  0.0000  0.0000
>   11  NaN        0.0    0.0    58.16717    58.16717    58.16717  NaN         0.0000  0.0000  0.0000  0.0000
>   12  NaN        0.0    0.0  NaN         NaN         NaN         NaN         0.0000  0.0000  0.0000  0.0000
>   MAIN:          EKINC   (thr)          DETOT   (thr)       MAXFORCE   (thr)
>   MAIN:  NaN            0.1D-03 NaN            0.1D-08  0.000000D+00  0.1D+11
>   MAIN: convergence achieved for system relaxation
>              averaged quantities :
>         ekinc          ekin          epot          etot     tempp
> NaN           NaN           NaN           NaN                 0.0
>It seems that the calculation is sensitive to these parameters. Since on the page 37 of the maunal, it says that "unless you are already experienced with the system you are studying or with the code internals, usually you need to tune some
>input parameters, like emass, dt, and cut-offs.", so these parameters must be important for calculations, but now I am puzzled about how to adjust emass,dt and cutoff in cp calculations.Would you like to give me any information or any suggestion about that?
>Thank you very much.
>Best regards,
>Ruijuan Xiao
>Institute of Physics,
>Chinese Academy of Sciences
>Pw_forum mailing list
>Pw_forum at pwscf.org

More information about the users mailing list