The code can calculate the bond dipole moment, starting from the charge density and electron density cube files that were produced using CP2K software.
The steps to perform the calculation are as below:
- Using CP2K software to perform a static calculation that produce both charge density (PROJECT-TOTAL_DENSITY-1_0.cube) and electron density (PROJECT-ELECTRON_DENSITY-1_0.cube) cube files. The corresponding CP2K input is "CP2K_INPUT / FORCE_EVAL / DFT / PRINT / TOT_DENSITY_CUBE" and "CP2K_INPUT / FORCE_EVAL / DFT / PRINT / E_DENSITY_CUBE".
- Download the Bader code from http://theory.cm.utexas.edu/henkelman/code/bader/ and replace the file "bader_mod.f90" with the modified, and compile the Bader code.
- Using the Bader to produce the electron partition file "grid_nion.cube" with the command "bader PROJECT-ELECTRON_DENSITY-1_0.cube -p all_atoms"
- Unzip and compile the cubedipole.x code sucessfully (in the cubedipole root dir, after revise the configuration, simply type make), and then cubedipole.x can be used to perform dipole calculation. One can see the help menu by typing "cubedipole.x -h"
- To calculate the molecular dipole moment, simply type "cubedipole.x -md -p PROJECT"; To calculate the dipole moment for all bonds within the molecule, simpy type "cubedipole.x -bd_all -p PROJECT"; To calculate the dipole moment for a fragment, prepare a file "fragment_groups" in the executive path and type "cubedipole -fd -p PROJECT".