Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] Questions about optcell /= 0 and ecutsm

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] Questions about optcell /= 0 and ecutsm


Chronological Thread 
  • From: "D. R. Hamann" <drhamann@mat-simresearch.com>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] Questions about optcell /= 0 and ecutsm
  • Date: Thu, 16 Oct 2008 20:10:34 -0400

Hi Joe,

I'll chime in on this since I re-wrote the ecutsm kinetic energy "blowup" formula when I worked on the DFPT strain stuff. My contribution was to make the formula which makes the kinetic energy as used in the code go to infinity at ecut have continuity in the third derivative instead of just the second at (ecut - ecutsm) as had been the case before. The calculated stress is certainly dependent on ecutsm unless you are ridiculously well converged in ecut, and the DFPT elastic tensor calculation totally blew up without the added continuity. The "elastic" tutorial advises to keep ecutsm throughout after you have optimized the structure.

Don

Josef W. Zwanziger wrote:
Yes, the same thing happens with NC's. I just re-ran Si with an opium-generated RRKJ NC pseudo, and when I optimize with dilatmx 1.1 and ecutsm 0.5, I get a final pressure of about 1E-6 GPA, if I then use the new acell and leave dilatmx and ecutsm in place, but do only an SCF run, I also get about 1E-6, but if I delete dilatmx and ecutsm from the input file, so they take their defaults, the pressure goes to 1E-2.
I also tried the same runs at a rather small ecut (for the first set I used ecut = 20 which gives very good convergence for Si, while in the second set I tried ecut = 5). In this case, the cell optimizes to 1E-7 GPa, re-running as scf with ecut and dilatmx non-default gives 1E-5, but deleting ecutsm and dilatmx gave -11.8 GPa.
Results with ecut = 40 are similar to ecut = 20; 1E-5 GPa for opt and for scf
with dilatmx and ecutsm, 1E-3 for scf without dilatmx and ecutsm.

I guess I really don't understand what ecutsm and dilatmx are doing deep down
in the code, or is this a bug?


Joe

Josef W. Zwanziger
Professor of Chemistry
Canada Research Chair in NMR Studies of Materials
Director, Atlantic Region Magnetic Resonance Centre
Department of Chemistry
Dalhousie University
6274 Coburg Road
Halifax, Nova Scotia B3H 4J3 Canada
tel: +1.902.494.1960
fax: +1.902.494.1310
web: http://jwz.chem.dal.ca
jzwanzig@jzwanzig.org,jzwanzig@dal.ca



----- Original Message ----
From: Anglade Pierre-Matthieu <anglade@gmail.com>
To: forum@abinit.org
Sent: Thursday, October 16, 2008 4:57:52 AM
Subject: Re: [abinit-forum] Questions about optcell /= 0 and ecutsm

Hi Joe and Marc

From your post it looks like this is happening with PAW pseudo ?
Have you tested if the same thing happens with norm conserving ones ?
If no could you provide a sample input we can play with ?

regards

PMA


On Mon, Oct 13, 2008 at 3:51 PM, Josef W. Zwanziger
wrote:
Thanks Marc and PMA for your comments. Here's the situation so far (I'm not
sure I've done exactly the tests you wanted, but maybe I have...)

1) I optimized Si with optcell 1, ionmov 2, tolmxf 1.0D-6, tolvrs 1.0D-10 in
three ways:
ecutsm1 0.5, dilatmx1 1.1
ecutsm2 1.0, dilatmx 1.1
ecutsm3 0.5, dilatmx 1.5

All optimize to the same acell within about a part in 10^6, and stress about
10^{-4} GPa

2) Re-run all three optimized acell's as SCF calc's (optcell = 0, ionmov =
0) but with ecutsm and dilatmx as in 1). Final stress about the same as 1),
that is, 10^{-4} GPa or less.

3) Re-run all three acell's as SCF calc's, with ecutsm and dilatmx at
defaults (0 and 1), then final stress about 10^{-2} GPa.

4) Re-run like in 2, but with dilatmx set to run 1 values, ecutsm left at 0,
final stress also about 10^{-2} GPa.

5) Re-run like in 2, but with ecutsm set to run 1 values, dilatmx left at
default of 1: final stress about 10^{-3} GPa

6) Finally, in order to check whether this is the effect of "Pulay stress"
as suggested by one of my colleagues here, I re-ran runs 1-3 above with ecut
= 30 instead of 15, and pawecutdg = 60 instead of 30, but I got about the
same results as above.

what are your thoughts?

Joe

Josef W. Zwanziger
Professor of Chemistry
Canada Research Chair in NMR Studies of Materials
Director, Atlantic Region Magnetic Resonance Centre
Department of Chemistry
Dalhousie University
6274 Coburg Road
Halifax, Nova Scotia B3H 4J3 Canada
tel: +1.902.494.1960
fax: +1.902.494.1310
web: http://jwz.chem.dal.ca
jzwanzig@jzwanzig.org,jzwanzig@dal.ca

----- Original Message ----
From: TORRENT Marc To: forum@abinit.org
Sent: Monday, October 13, 2008 6:36:38 AM
Subject: Re: [abinit-forum] Questions about optcell /= 0 and ecutsm

Hi PMA and Joe,

Additional comment:

* ecutsm directly influence the way some plane waves are taken into account;
so it has to be the same in both runs.
* dilatmx does not : it is only used to dimensioned arrays (in order to take
into account future increasing of number of PW). And additional components
are filled withs zeros.

In others words, internal variables are:
- ecut used to select plane-waves
- ecuteff=ecut*dilatmx**2 used to dimensioned arrays
Array components due to use of dilatmx and not included by ecut are filled
with zeros.

But this is theory !; if a bug is there...

So Joe, aditional questions:
- is the total (converged) energy the same in both runs
- same question for forces...

If yes (for both questions) the problem probably occurs in 'forstrnps'
routine where dilatmx might not be correctly taken into accound; but, this
is speculation...

You also can test (as PMA asked) with and with the same dilatmx in the
second run. It will give a good clue.
But the test proposed by PMA is not correct (sorry Pierre-Matthieu); using
ecut*dilatmx**2 will necessarily give different results.

Marc



Anglade Pierre-Matthieu a écrit :

Hi,

You mentioned keeping ecutsm constant between the two runs but what
about dilatmx ?
Did you tried the second run with a ecut2=ecut1*dilatmx**2 ?

regards

PMA

On Sat, Oct 11, 2008 at 5:56 PM, Josef Zwanziger wrote:


Dear Colleagues,
I've noticed this behavior in the past and never really understood it. I
would
really appreciate an explanation from someone.

When I optimize a cell with optcell = 1 or 2, and dilatmx = 1.1 and ecutsm
/= 0
as required, I find typically that the cell optimizes nicely and the final
computed pressure is very small, of course determined by whatever value I
set
tolmxf to. Then, if I cut and paste the new acell and xred and rprim, and do
a
normal ground state SCF run with the same convergence level (using either
toldff or tolvrs), the computed final pressure is usually several orders of
magnitude larger than the final value achieved in the optimization run. For
example, if I choose really easy case like Si, I can optimize it to a
computed
final pressure of 1E-4 GPa, and then those cell parameters in an SCF
calculation will give a pressure of 1E-2. This gets worse in big cells,
where I
might
optimize to 1E-2 and then the SCF run gives 1 GPa. Why does this happen?
It seems to be independent of the value of ecutsm, and also I am running at
a
pretty dense kpt set (kptrlen = 80). Any comments?

thanks,
Joe Zwanziger






--
Pierre-Matthieu Anglade





--
D. R. Hamann
Mat-Sim Research LLC | Deptartment of Physics
P.O. Box 742 | and Astronomy
Murray Hill, NJ 07974 | Rutgers University
phone: 908-370-8079 | 732-445-4381

email: drhamann@mat-simresearch.com





Archive powered by MHonArc 2.6.15.

Top of Page