This project is originally written by Alexander Boldyrev @ Utah State University. Forked from http://ion.chem.usu.edu/~boldyrev/ssadndp.php.
The source code has been updated by replacing several deprecated routine-calling scheme, and a modified Makefile for it to work with newest intel compiler and MKL version 2022.1.1
Solid State Adaptive Natural Density Partitioning (SSAdNDP) [1] is an extension of the AdNDP method [2] to periodic systems and as such was derived from periodic implementation [3] of the Natural Bond Orbital (NBO) analysis [4]. SSAdNDP allows the interpretation of chemical bonding in systems with translational symmetry in terms of classical lone pairs and two-center bonds, as well as multi-center delocalized bonding. Similar to AdNDP, the bonding pattern is expressed as a set of n-center - 2-electron (nc-2e) bonds. See the AdNDP page and AdNDP and SSAdNDP publications [1,2] for details on this approach to interpretation of chemical bonding.
These instructions will get you a copy of the project up and running.
This package comes in three part:
- DFT interface and projection executable.
- SSAdNDP calculation executable.
- Visualization executable.
The code is written in Fortran 90, and requires the BLAS95 and LAPACK95 libraries as implemented in MKL, as well as libraries used for OpenMP parallelization.
- VASP (compatible with VASP v5.4.4)
- copy
interfaces/VASP_interface/projection_output.Finto directory containing VASP source code./scr. - apply
interfaces/VASP_interface/proj_VASP_5.4.patchby putting it in VASP source code's root directory and:
patch -p0 < proj_VASP_5.4.patch
- Compile VASP as usual.
- CRYSTAL
- No modification needed.
- Go to
SSAdNDPfolder, modifyMakefileby changing the correspondingMKLROOT. - Use the following command to generate a
Makefile:
./mkmf -t Makefile.template -p ssadndp.exe
-
Type
maketo getssadndp.exe -
To compile
projection.exe, go to theprojectionfolder and modify the fileMakefileby changing the correspondingMKLROOT, then type:
Make
- To compile
visual.exe, go to thevisualizationfolder and type:
ifort visual.f90 -o visual.exe
The workflow of SSAdNDP is:
-
Calculate the system with DFT code and generate the wavefunctions (wavefunction.dat)
- Put
LNBO=.T.intoINCAR. Make sureNPARis the default value andISYM=0is set. - Run VASP as usual and the code will generate
wavefunction.dat.
- Put
-
Projecting the wavefunctions onto atomic orbitals (basis.inp) to get the projection coefficients (NBO.out)
- Construct a
basis.inpusing basisexchange.
NOTE: Remember to put
****at the beginning of the first species and make sure the ordering of species matches the ordering of VASP'sPOTCARfile.NOTE: A suitable basis set is very important and can have huge impact on later analysis. 2. Run
projection.exeby:projection.exe basis.inp wavefunction.dat NBO.out - Construct a
-
Calculate the NBOs with predefined parameters (SSAdNDP*.inp)
- Construct a
SSAdNDP.inp(orSSAdNDP-UD.inp) file for general search (or user-directed search). A set of exemplary inputs can be found inmanualfolde. - Run SSAdNDP to generate
vis_*_bond.outby:
ssadndp.exe SSAdNDP.inpNOTE:
ulimit -s unlmitedmaybe needed when runningssadndp.exe. - Construct a
-
(optional) Plot the NBOs:
- run visualization program by:
visual.exe vis_ud_bonds.out- use vesta to visualize, first open the
lattice_vec.cubeand unselectshow section, thenEdit->Edit Data->phase->Importto import*_bond_*.cube. Select the first entry of*_bond_*.cubeand change the three numbers underthis layerto0.5 0.5 0.5.
Please checkout SSAdNDP_manual.pdf.
The author request that anyone who downloads and utilizes the code cite:
[1] Solid state adaptive natural density partitioning: a tool for deciphering multi-center bonding in periodic systems Timur R. Galeev, Benjamin D. Dunnington, J. R. Schmidt, and Alexander I. Boldyrev Phys. Chem. Chem. Phys., 2013, 15, 5022-5029
[2] Developing paradigms of chemical bonding: adaptive natural density partitioning Dmitry Yu. Zubarev, and Alexander I. Boldyrev Phys. Chem. Chem. Phys., 2008, 10, 5207-5217
[3] Generalization of Natural Bond Orbital Analysis to Periodic Systems: Applications to Solids and Surfaces via Plane-Wave Density Functional Theory Benjamin D. Dunnington and J. R. Schmidt J. Chem. Theory Comput., 2012, 8, 1902-1911
[4] See NBO references and bibliography
This project is licensed under the GNU License - see the LICENSE.md for details.