BCTA tutorial


To run BCTA, you must have the CHGCAR_sum from converged structure. Below are the instructions on how to create the CHGCAR, run the analysis and obtain the results.

Making CHGCAR_sum

  1. Under the directory where you have your converged geometry (on the same level as your run# directories), create the "bader" directory.
  2. Copy your converged structure (POSCAR or CONTCAR), INCAR, KPOINTS, POTCAR and slurm_fri.sub to the bader directory.
  3. Go to the bader directory. Rename CONTCAR into POSCAR if you copied over the CONTCAR.
  4. Make these changes to the INCAR: change LCHARG from .FALSE. to .TRUE. , change LAECHG from .FALSE to .TRUE. . If LAECHG line was missing, add it. Change NSW to 0.
  5. Change slurm_fri.sub accordingly and submit the job.
  6. Once the job finishes, you should get 4 very large files: CHGCAR, AECCAR0, AECCAR1, AECCAR2. You can use command ll which is an alias for ls -l to get the size of each file. Run the command chgsum.pl AECCAR0 AECCAR2 to add AECCAR0 and AECCAR2 together. This produces the CHGCAR_sum, which is the total charge density that BCTA works on.

Running BCTA

  1. To run Bader, you need the GNU module loaded. You can do so by module swap intel gnu12 . Note that when you have GNU loaded, you cannot run new VASP jobs. Your existing VASP jobs in the queue will not be affected. If you need to submit new VASP jobs, you can swap back to intel with module swap gnu12 intel , or simply start a new terminal. The Intel compiller module is loaded by default.
  2. At the directory where you have your CHGCAR_sum file, run BCTA with /home/wc5879/svn/bader/bader -cp CHGCAR_sum . This may take a minute. Whether the run passes or fails is printed to the standard output.
  3. If you get a pass, you can find the critical points found in CPFU00.dat. Locate the critical point you are interested in. You can do this by first identifying the type. You can pay attention to only the type you want and ignore all other types. Then, you can estimate roughly where this point should be using near by atoms and find the point with the closest position. Alternatively, you can look at the allcpPOSCAR with ag allcpPOSCAR and find the the position of the critical point you are looking for. Bond CPs are marked as He, ring CPs are marked as Neon, and cage CPs are marked as Argon. Use the position to find your CP in CPFU00.dat.
  4. Get the gradient, density and Hessian (curvature) matrix from CPFU00.dat. Calculate the Laplacian by adding up the diagonal term of the hessiam matrix.