Page 1 of 1

bader -vac problems with VASP

Posted: Sun Nov 07, 2010 5:20 pm
by imcnab
Dear All,

I would value your advice. I have hit a situation in which asking for a bader pDOS in VASP causes the program to die - it gets as
far as writing
START DOS PROJECTION IN BADER VOLUMES
and then stops working and does a core-dump, but gives no error message.

This problem only occurs if BDRCAR (AtIndex.dat) was generated with the flag "-vac auto". (full details are below, but I hope you don't need to read that far).
My system is a surface with an atom attached to it, the vacuum occupies about half the unit cell.

Questions:
(1) If I don't use the "-vac auto" flag, are the resulting BDRCAR and DOSCAR meaningful? Or does the process of including the vacuum introduce errors?
Using the flag speeds up the calculation, but not so much that it is a problem for me if I can get good results without it. Bader goes through around 20 iterations if I don't specify the -vac flag, before writing its output files.
(2) If I MUST use the flag "-vac" and "auto" isn't working for me, how should I decide what value to use? Attempting successive values would take around 36*12 processor hours per value for this system, so I'm keen to try intelligence (would that I had some) rather than trial and error.

In case they are useful, I give further details below.

Thanks for your time and advice, I do greatly appreciate your help.

best regards... Iain

Calculation details:
I am attempting to generate a pDOS into Bader volumes for a large system (approx 400 atoms), representing a single
unit cell of Si(111)-7x7 (eight layers deep) with and without a Br-atom attached at the surface.

I find that for the bare surface, I can generate the Bader file AtIndex.dat using the command
bader -p atom_index -ref CHGCAR_sum -vac auto CHGCAR
as suggested by Graeme and then do the bader pDOS calculation without a problem in the following manner:

I have renamed AtIndex.dat to BDRCAR, and re-ran VASP after editing the INCAR to include the lines:
ICHAIN=5
LORBIT=11
NPAR=1
and I also halved the values of NG(X,Y,Z) while leaving NG(X,Y,Z)F as they were for the original bader calculation, as follows:
NGX = 70 #140/2
NGY = 70 #140/2
NGZ = 70 #140/2

NGXF = 420 #2*default NGYF = 392
NGYF = 420 #2*default NGYF = 392
NGZF = 432 #2*default NGZF = 420
the original NG(X,Y,Z) and NG(X,Y,Z)F values were convergence tested, and provided Bader charges converged to around 0.05 electrons/atom for the surface atoms of interest (this testing was done WITHOUT using the -vac flag).

This works just fine for the bare surface, but dies if the surface has a Br-atom attached to it.
If I do all the above steps, but omit the "-vac auto" flag when generating BDRCAR, the program works well, and generates
DOSCAR without a problem, hence my questions above.

COMUPTER INFO:
My build of vasp.4.6 is for SciNet which is an IBM Power6 cluster with 32-processors per node, linked by "Infiniband".
Compilation was with mpxlf90 - a wrapper for IBM's xlf90 compiler including appropriate flags for the MPI (provided by SciNet or IBM, but definitely NOT by me).
My build includes the add-ons for generating Bader volumes and doing a pDOS calculation into the Bader volumes.
Everything appears to work well until I mess with the "-vac auto" flag on my bader calculations.

Re: bader -vac problems with VASP

Posted: Mon Nov 08, 2010 3:46 pm
by Wenjie
I think it is not the problem with Bader but with our DOS projection code, which is still under development and may get stuck with large system calculation.
I also noticed one problem of your calculation. We suggested NGX(Y,Z)F = 2*NGX(Y,Z) in the DOS calculation. But in your case, NGX(Y,Z)F is much larger than the NGX(Y,Z) value. I think you need to increase your NG(X,Y,Z) value to half of the NG(X,Y,Z)F, otherwise you may not get the correct DOS information.
So can you first try if the NGX(Y,Z) thing fix the problem? If not, please use the VASP built-in DOS projection code at this moment, because we are still trying to fix the problem of our DOS code with large system calculations (maybe a memory problem).

Re: bader -vac problems with VASP

Posted: Thu Nov 11, 2010 9:40 pm
by imcnab
Hi,
thanks for your help, just a quick note.

I tried increasing NGX(YZ) as you suggested, but found that the resulting pDOS values
for surface atoms were negative (I guess this makes them meaningless).

I will use VASP's built in pDOS for now.

best regards... Iain