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.F
into directory containing VASP source code./scr
. - apply
interfaces/VASP_interface/proj_VASP_5.4.patch
by 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
SSAdNDP
folder, modifyMakefile
by changing the correspondingMKLROOT
. - Use the following command to generate a
Makefile
:
./mkmf -t Makefile.template -p ssadndp.exe
-
Type
make
to getssadndp.exe
-
To compile
projection.exe
, go to theprojection
folder and modify the fileMakefile
by changing the correspondingMKLROOT
, then type:
Make
- To compile
visual.exe
, go to thevisualization
folder 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 sureNPAR
is the default value andISYM=0
is 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.inp
using basisexchange.
NOTE: Remember to put
****
at the beginning of the first species and make sure the ordering of species matches the ordering of VASP'sPOTCAR
file.NOTE: A suitable basis set is very important and can have huge impact on later analysis. 2. Run
projection.exe
by: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 inmanual
folde. - Run SSAdNDP to generate
vis_*_bond.out
by:
ssadndp.exe SSAdNDP.inp
NOTE:
ulimit -s unlmited
maybe 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.cube
and unselectshow section
, thenEdit
->Edit Data
->phase
->Import
to import*_bond_*.cube
. Select the first entry of*_bond_*.cube
and change the three numbers underthis layer
to0.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.