bader -vac problems with VASP
Posted: Sun Nov 07, 2010 5:20 pm
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.
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.