Calculation of Bader volumes
Moderator: moderators
Calculation of Bader volumes
Dear all.
I have problems to calculate the volumes of atoms of my structure. I tried option 2, but my computer runs out of memory. The structure contains 500 atoms in the unit cell. Is there a possibility to lower the number of volumes to be calculated? Does somebody have a suggestion?
With kind regards.
I have problems to calculate the volumes of atoms of my structure. I tried option 2, but my computer runs out of memory. The structure contains 500 atoms in the unit cell. Is there a possibility to lower the number of volumes to be calculated? Does somebody have a suggestion?
With kind regards.
You can get the integrated charge for all atoms in the system without choosing to print any of the volumes. I would start with this option. Then if you want to visualize the volume around a few atoms, you can get the code to print those specific Bader regions. This should avoid a large memory problem.
Calculation of Bader Volumes
Dear Graeme.
Thank you for your advice.
I have followed it and have calculated the charge of the atoms. I also would like to calculate the volumes of several atoms. I appreciate, if you could provide me with this code.
With kind regards.
Kai
Thank you for your advice.
I have followed it and have calculated the charge of the atoms. I also would like to calculate the volumes of several atoms. I appreciate, if you could provide me with this code.
With kind regards.
Kai
I find some compilation problems on Opteron procs... The Makefile.pgf90 compiles ok although it is the old version ("-p" DOES NOT EXIST...). I took the OBJS from the makefile.xlf and then it crashes:
m2c -o kind_mod.o kind_mod.mod
make: m2c: Command not found
make: *** [kind_mod.o] Error 127
I guess only xlf and pfortran Makefiles are updated. Would it be possible to update also the binaries? They always worked fine in our machines.
Thanks,
calatayu
m2c -o kind_mod.o kind_mod.mod
make: m2c: Command not found
make: *** [kind_mod.o] Error 127
I guess only xlf and pfortran Makefiles are updated. Would it be possible to update also the binaries? They always worked fine in our machines.
Thanks,
calatayu
Try (with the proper line indentation):
-----------------------------------------
OBJS = kind_mod.o \
matrix_mod.o \
ions_mod.o \
options_mod.o \
charge_mod.o \
chgcar_mod.o \
cube_mod.o \
io_mod.o \
bader_mod.o \
voronoi_mod.o
%.o %.mod : %.f90
$(FC) $(FFLAGS) -c $*.f90
bader: $(OBJS) main.o
rm -f bader
$(FC) $(LINK) main.o -o $@ $(OBJS)
#FC = /opt/pgi/linux86-64/6.0/bin/pgf90
#FC = /opt/pgi/linux86/6.0/bin/pgf90
FFLAGS = -tp px -O3 -fast
LINK = -Bstatic
clean:
rm -f *.o *.mod *.lst bader
-------------------------------------------
But use the appropriate compiler for your system (32/64 bit) and change the (or skip it entirely) generic "-tp px" tag to the proper one for your compiler by using "man pgf90" and searching for "-tp".
-----------------------------------------
OBJS = kind_mod.o \
matrix_mod.o \
ions_mod.o \
options_mod.o \
charge_mod.o \
chgcar_mod.o \
cube_mod.o \
io_mod.o \
bader_mod.o \
voronoi_mod.o
%.o %.mod : %.f90
$(FC) $(FFLAGS) -c $*.f90
bader: $(OBJS) main.o
rm -f bader
$(FC) $(LINK) main.o -o $@ $(OBJS)
#FC = /opt/pgi/linux86-64/6.0/bin/pgf90
#FC = /opt/pgi/linux86/6.0/bin/pgf90
FFLAGS = -tp px -O3 -fast
LINK = -Bstatic
clean:
rm -f *.o *.mod *.lst bader
-------------------------------------------
But use the appropriate compiler for your system (32/64 bit) and change the (or skip it entirely) generic "-tp px" tag to the proper one for your compiler by using "man pgf90" and searching for "-tp".
Ooops... it was not the right version; this is the error now:
c569-n6@calatayu> ./bader -p all_atom CHGCAR
Unknown option "all_atom"
And when I try "-p all", it starts but never ends... here the beginning of the output
calatayu
---------
OPEN ... CHGCAR
VASP-STYLE INPUT FILE
FFT-grid: 60 x 60 x 140
CLOSE ... CHGCAR
RUN TIME: 0.36 SECONDS
CALCULATING BADER CHARGE DISTRIBUTION
0 10 25 50 75 100
PERCENT DONE: **
grd: 1 1 1
r_before: 1.0000 1.0000 1.0000
011, 111: 3.2842 3.1977
001, 101: 3.2019 3.1239
010, 110: 2.7381 2.5542
000, 100: 2.7499 2.5414
rho_grad: -1.6527 -0.0937 3.7221
offstep: 0.6095 0.9779 1.9137
to_lat: 1 1 2
rho: 3.2019
r_before: 0.6095 0.9779 1.9137
011, 111: 3.2103 3.2019
001, 101: 3.3745 3.3469
010, 110: 2.9081 2.7499
000, 100: 3.0511 2.8837
rho_grad: -1.3263 -1.1329 2.6635
offstep: 0.2086 0.6354 2.7503
to_lat: 60 60 2
rho: 3.3745
r_before: 0.2086 0.6354 2.7503
011, 111: 3.4884 3.4531
001, 101: 3.9021 3.8643
010, 110: 3.2103 3.2019
000, 100: 3.3745 3.3469
rho_grad: -0.2185 -1.3016 4.3449
offstep: 0.1623 0.3595 3.7071
c569-n6@calatayu> ./bader -p all_atom CHGCAR
Unknown option "all_atom"
And when I try "-p all", it starts but never ends... here the beginning of the output
calatayu
---------
OPEN ... CHGCAR
VASP-STYLE INPUT FILE
FFT-grid: 60 x 60 x 140
CLOSE ... CHGCAR
RUN TIME: 0.36 SECONDS
CALCULATING BADER CHARGE DISTRIBUTION
0 10 25 50 75 100
PERCENT DONE: **
grd: 1 1 1
r_before: 1.0000 1.0000 1.0000
011, 111: 3.2842 3.1977
001, 101: 3.2019 3.1239
010, 110: 2.7381 2.5542
000, 100: 2.7499 2.5414
rho_grad: -1.6527 -0.0937 3.7221
offstep: 0.6095 0.9779 1.9137
to_lat: 1 1 2
rho: 3.2019
r_before: 0.6095 0.9779 1.9137
011, 111: 3.2103 3.2019
001, 101: 3.3745 3.3469
010, 110: 2.9081 2.7499
000, 100: 3.0511 2.8837
rho_grad: -1.3263 -1.1329 2.6635
offstep: 0.2086 0.6354 2.7503
to_lat: 60 60 2
rho: 3.3745
r_before: 0.2086 0.6354 2.7503
011, 111: 3.4884 3.4531
001, 101: 3.9021 3.8643
010, 110: 3.2103 3.2019
000, 100: 3.3745 3.3469
rho_grad: -0.2185 -1.3016 4.3449
offstep: 0.1623 0.3595 3.7071
Make sure you have the latest version from cvs. I don't see any changes from when I checked it in a few days ago, and I don't see the messages you get. I think these debugging messages are from a while ago.
We are in the process of getting all the wrinkles worked out of the latest version. When we do, we'll update the webpage, put up static binaries, and change the instructions on how to use it. For now, you are welcome to run the cvs version, but make sure you always run cvs update before compiling. The code is changing, so it's important that we are talking about the same version. Also, as you have found, there will be glitches, such as in the makefiles for platforms that we don't typically run on. If you find these problems, we'll be pretty quick to update the files in cvs. We'll update the makefiles today or tomorrow.
We are in the process of getting all the wrinkles worked out of the latest version. When we do, we'll update the webpage, put up static binaries, and change the instructions on how to use it. For now, you are welcome to run the cvs version, but make sure you always run cvs update before compiling. The code is changing, so it's important that we are talking about the same version. Also, as you have found, there will be glitches, such as in the makefiles for platforms that we don't typically run on. If you find these problems, we'll be pretty quick to update the files in cvs. We'll update the makefiles today or tomorrow.