Advanced charge density and bond order analysis

In addition to Mulliken charge analysis, ADF calculates several atomic charges that do not share the flaws of Mulliken (strong basis set dependence). The multipole-derived charge analysis exactly reproduces dipole and higher multipole moments of the molecule. Other charge analysis methods (‘Voronoi deformation density’ and ‘Hirshfeld’ provide atomic charges that agree well with chemical intuition. Nalewajski bond orders can be calculated and show good agreement with experimental trends and chemical intuition, even for transition metal compounds.

Note that the amount of data can be regulated with the keys PRINT, NoPrint, EPrint and Debug.

Charges, Populations, Bond orders

Mulliken populations

See the input key EPRINT. See also the section on Mulliken populations.

Hirshfeld charges, Voronoi deformation density

No special input key required. See also the section on Hirshfeld charges, Voronoi deformation density.

Multipole derived charges

No special input key required. See also the section on MDC.

Charge model 5 (CM5)

Charges calculated with CM5 activated by keyword


See also the section on CM5.

Bond orders

See also the section on bond order analysis.

Nalewajski-Mrozek Bond orders

Bond order analysis in ADF is activated by keyword

BONDORDER {tol=xxx} {printall}

By default bond order indices calculated by the Nalewajski-Mrozek [148-152] method are calculated. There exist three alternative definitions of the valence and bond order indices within the Nalewajski-Mrozek approach. By default the values obtained from partitioning of Tr(P:math:DeltaP) are calculated and printed in the output. For more information on alternative Nalewajski-Mrozek bond order indices see Results/Properties section (4.1).

The tol=xxx option specifies the threshold value for bond orders to be printed in the output (default=0.2).
The values calculated from all three versions of the Nalewajski-Mrozek approach are printed when the option printall is present; in addition the Gopinathan-Jug [153] and Mayer [140] bond order indices are calculated for comparison.

Present bond order analysis is based on SFOs. Symmetry used in the calculation should be NOSYM. For this reason the analysis may be used only if the symmetry in the calculation is NOSYM. The analysis may be used also for multi-atomic fragments, the fragment-fragment bond orders are printed in such a case. Note that in the present implementation all fragment types should be different.

Mayer Bond orders

The Mayer bond orders are calculated and printed if the keyword:


is included in the input. Next to the Mayer bond orders Mulliken atom-atom populations per l-value will be calculated and printed if this keyword is included in the input. Note that this keyword is not a subkey.

ETS-NOCV: Natural Orbitals for Chemical Valence

With the ETS-NOCV charge and energy decomposition scheme the deformation density is partitioned into the different components (\(\sigma\), \(\pi\), \(\delta\)) of the chemical bond. The energy contributions to the total bond energy is calculated for each specific orbital interactions between fragments, giving insight in the orbital interactions also for non-symmetric molecules. The ETS-NOCV analysis offers a compact quantitative picture of the chemical bond, which is also qualitatively attractive to chemists.

The Natural Orbitals for Chemical Valence (NOCV) approach has been derived from the Nalewajski-Mrozek valence theory [148, 150]. From the mathematical point of view, each NOCV \(\psi\)i is defined as an eigenvector of the deformation density matrix in the basis of fragment orbitals.

\[\Delta P \Psi_i = \nu_i \Psi_i\]

Thus, the deformation density \(\Delta\)\(\rho\) can be expressed in the NOCV representation as a sum of pairs of complimentary eigenfunctions (\(\psi_{-k}\), \(\psi_k\)) corresponding to eigenvalues -\(\nu\)k and \(\nu\)k with the same absolute value but opposite signs:

\[\Delta \rho (r) = \sum \Delta \rho_k (r) = \sum \nu_k \left( -\Psi^2_{-k} (r) + \Psi^2_{k} (r) \right)\]

here, k goes over the pairs of NOCV’s.

In the combined ETS-NOCV scheme the orbital interaction term \(\Delta E_\text{orb}\) is expressed in terms of NOCV’s as [261, 262]:

\[\Delta E_\text{orb} = \sum \Delta E_k^\text{orb} = \sum \nu_k \left( -F^\text{TS}_{-k} + F^{TS}_k \right)\]

here, \(-F^\text{TS}_{-k}\) and \(F^{TS}_k\) are diagonal transition-state Kohn-Sham matrix elements corresponding to NOCV’s with eigenvalues -\(\nu\)k and \(\nu\)k , respectively. The advantage of this expression is that usually only a few complimentary NOCV pairs significantly contribute to the total \(\Delta E_\text{orb}\). Another advantage of this approach is that not only can each \(\Delta \rho_k (r)\) be visualized but there is also a well defined bonding energy contribution \(\Delta E_k^\text{orb}\) corresponding to it.


The ETS-NOCV analysis is often not very useful when atomic fragments are used. No symmetry must be used in the final calculation, thus, use a Symmetry NOSYM keyword if your molecule is symmetric. The analysis is not completely implemented for meta-GGA’s and meta-hybrids.

Improvements in ADF2012 to both the ETS and NOCV analysis with hybrids. ETS: Now the exact exchange contribution to the Pauli term is isolated and the contributions to the orbital term are divided among orbital symmetries. NOCV: The exact exchange contribution to the Fock operator is included when calculating energy contributions. These changes do not apply to meta-hybrids.


In order to perform the ETS-NOCV analysis, the following two keywords must be specified at the same time:

   {RHOKMIN rhokmin}
   {EKMIN ekmin}
   {ENOCV enocv}

The ETSNOCV keyword specifies thresholds for printing of NOCV-related information. All three arguments are optional and when all three are omitted only the NOCV’s corresponding to eigenvalues abs(\(\nu_k\)\(\leq\)  0.05 are included in the analysis.

The threshold for population analysis of each deformation density contribution in terms of individual SFO’s.
The threshold for orbital interaction energy contributions corresponding to deformation density components originating from each NOCV-pairs.
The threshold for NOCV-eigenvalues.

Only one of the two PRINT options is supposed to be used to activate printing of ETS-NOCV results. The choice depends on the bonding situation.

If one is interested in a description of bonding between closed-shell molecular fragments, then ‘PRINT ETSLOWDIN’ keyword must be used. In such a case one set of NOCV’s originating from the total deformation density matrix \(\Delta P = ( \Delta P_\alpha + \Delta P_\beta)\) will be printed out. See the example of carbene bonding between closed shell CH2 and Cr(CO)5.
If, however, one is interested in a description of bonding between open-shell molecular fragments then the ‘PRINT ETSLOWDIN-Unrestricted’ keyword must be used. In this case two sets of NOCV’s originating from \(\Delta P_\alpha\) and \(\Delta P_\beta\) will be printed out. See the example of CH3-CH3 bonding between two CH3 radicals with opposite spins. This option must also be used when one wants to analyze bonding in a molecule with unpaired electrons.
The NOCVs can be integrated per fragment using the Hirshfeld partitioning scheme. Using these integrals, one can distinguish between inter- and intra-fragment NOCVs. An inter-fragment NOCV has non-zero integral Hirshfeld \(\Delta Q\) value and corresponds to a charge transfer between fragments. An intra-fragment NOCV has a small \(\Delta Q\) value and corresponds to polarization of the fragments. When ‘PRINT NOCVHirshfeld’ is specified, the \(\int{\Delta \rho} = -\Delta Q\) values per NOCV are printed to the output file in the “Hirshfeld partitioning” table at the end of the ETS-NOCV section.

Adfnbo, gennbo: NBO analysis

Dr. Autschbach, SCM, and Prof. Weinhold have collaborated to prepare a simple in put file generator, called adfnbo, for the GENNBO program of Prof. Weinholds Natural Bond Orbital (NBO) package. In ADF2013 and later the NBO 6.0 version is supported

The GENNBO executable is included in the ADF distribution and can be enabled via the license file for all those who buy an NBO manual from either the NBO authors or from SCM ( An extensive documentation of GENNBO is part of the NBO manual. The application of ADFNBO to frozen-core basis sets needs to be further tested. Usage can be found below and in the Examples Document.

Next a brief summary of the capabilities of GENNBO is given (by Prof. Weinhold). GENNBO implements most capabilities of the full NBO 6.0 program suite as described on the NBO website: These include determination of natural atomic orbitals (NAOs), bond orbitals (NBOs), and localized MOs (NLMOs), as well as the associated NPA (atomic charges and orbital populations) and NRT (resonance structures, weightings, bond orders) valence descriptors, for a wide variety of uncorrelated and correlated (variational, perturbative, or density functional) theoretical levels. GENNBO-supported options include all keywords except those explicitly requiring interactive communication with the host electronic structure system (viz., $DEL deletions, NEDA, NCS, NJC). The GENNBO program typically sits conveniently on the PC desktop, ready to analyze (or re-analyze at will, with altered options) the final results of a complex ADF calculation performed on a remote cluster.

GENNBO “communicates” with the original ADF calculation through an archive file (JOB.47 file, preserving all necessary details of the final density) that is initially generated by ADF and subsequently becomes the input file for GENNBO. The .47 file contains a standard $NBO ... $END keylist that can be edited with a standard word processor or text editor to include chosen NBO keyword options, just as though they might have appeared in the original input stream of an interactive ADFNBO run. The stand-alone GENNBO program therefore allows many alternative NBO analysis options to be explored at leisure, without costly re-calculation of the wave function.

In ADF2018 the NBO 6.0 version6 in the ADF distribution is updated to the March 2017 version, see also “The 14-Mar-2017 distribution includes a number of other features of interest to general NBO users: The default NAO search algorithm has been modified to better preserve core-valence separation in rare cases where numerical near-degeneracies can lead to unphysical core-valence mixing. The numerical effects are generally negligible except where they become necessary. The “OLDNAO” keyword restores the legacy NAO algorithm for comparison purposes.”

This new NAO method may change the NBO analysis of some properties (EFG, NMR) quite substantially, especially individual contributions.


ADF needs to write some data to file, which is done by including FULLFOCK, AOMAT2FILE, SAVE TAPE15, and SYMMETRY NOSYM in the input file for ADF. An all electron basis set is needed. Use the key ‘spherical’ in the adfnbo input. A file named FILE47 is generated by adfnbo which is an input file for the general NBO program gennbo6. Thus the usage is like

$ADFBIN/adf <<eor
  Core None
Save TAPE15
Symmetry Nosym

$ADFBIN/adfnbo <<eor
end input

$ADFBIN/gennbo6 FILE47

NBO analysis of EFG, NMR chemical shifts, NMR spin-spin coupling

For certain molecular properties it is possible to perform detailed analyses in terms of Natural Bond Orbitals (NBOs) and Natural Localized Molecular Orbitals (NLMOs). These features generally require a sequence of ADF and/or property code runs. An initial non-relativistic or scalar relativistic ADF run, followed by the generation of NBO and NLMO data, is required, and the resulting data files need to be present in subsequent property calculations, along with a keyword indicating that the NBO analysis is requested in the property module.

We have noted in the past some slight loss of numerical accuracy of the results after going through the various orbital transformations in the NBO - NLMO sequence. It is important that the user verifies in each case that the total contributions from the analysis are in agreement with the total calculated property, within the numerical integration accuracy limits. In order to assist the user with this, the analysis program always print the total analysis contributions, including small non-printed values.

Moreover, there appears to be a problem with the analysis of the Fock matrix in the NBO program in conjunction with ADF calculations. Therefore please do NOT use the Fock matrix second order perturbation theory analysis in NBO at this time. We will remove this disclaimer once the issue has been fixed. Applications of the NBO-NLMO property analysis codes have so far given no indication that the Fock matrix issue interferes with the analysis.

Important note: If properties are analyzed from within spin-orbit relativistic computations, the NBO/NLMO analysis is performed in terms of scalar (spin-free) relativistic orbitals, as detailed in the technical references. The results from these analyses are exact in the sense that they fully reproduce the final spin-orbit property result, and they allow to dissect the property in terms of more intuitive one component real scalar relativistic localized orbitals. Typically, the property analysis in a spin-orbit calculation involves contributions from unoccupied scalar NLMOs, whereas there are no such contributions if a non-relativistic or scalar relativistic property is analyzed.

Available properties for NBO analysis: EFG, NMR chemical shifts and NMR spin-spin coupling.

NBO analysis of EFG

EFGs: non-relativistic and scalar ZORA, in ADF/AORresponse. Requires initial ADF run with


in order to generate orbitals that re equivalent to those generated in the subsequent ADF run where the EFG is calculated. Alternatively, simply calculate the EFG twice, once before the NBO generation step, and once afterward.

The next step (see below) is to create the NBOs and the required data files for the analysis. Afterward, in the second ADF run, use

 efg NUC nbo
efg NUC nbo
Here NUC is the number of the nucleus at which the EFG is to be computed (ADF internal atom ordering). Example: efg 1 nbo.

The threshold for printing the EFG-NBO contributions to output can be adjusted via the Tresh options. The default is 0.05, which means that only orbitals with absolute value contribution larger than 5% of the total EFG are printed. To increase the number of contributions printed, specify a smaller threshold. For example:

   efg 1 nbo Tresh 0.01

In addition to the optional NBO analysis, the EFG program in AOResponse prints a Mulliken type analysis of the EFG principal components, and an analysis in terms of canonical MOs.

WARNING: The ordering of the principal components is lowest to highest including the sign. That is, we have \(V11 \leq V22 \leq V33\). This does not conform to the usual convention of \(|V11| \leq |V22| \leq |V33|\). Please make sure you select the right component for your analysis.

Example job: $ADFHOME/examples/adf/AlCl3_efgnbo. For an explanation of the output and a general usage tutorial, see [327]. Further references and recommended citations, see [328].

NBO analysis of NMR Chemical shift

An implementation is currently available for spin-orbit ZORA computations. If scalar ZORA calculations are to be analyzed, provide the input keyword


in the NMR input (outside of the ‘nmr’ keyword). If this feature is requested one should restrict the calculation to a single shielding tensor per NMR run. It would be good practice to check the results against regular NMR calculations where the analysis feature is not requested. No ZORA scaling is applied in the analysis results. The data should be equivalent to a regular computation in the NMR input with

 u1k best
 calc all

Depending on whether scalar or spin-orbit calculations are to be analyzed, the sequence of calculations is different:


  1. ADF, scalar ZORA, symmetry NOSYM, closed shell
  2. generate NBOs and required data files for analysis
  3. NMR with FAKESO and analysis keywords, use TAPE21, TAPE10 from step 1.


  1. ADF, scalar ZORA, closed shell
  2. generate NBOs and required data files for analysis
  3. delete TAPE21, TAPE10, TAPE15
  4. ADF, spin-orbit ZORA, symmetry NOSYM, closed shell
  5. NMR with analysis keywords, using TAPE21, TAPE10 from step 4

In the NMR run, in addition to the NMR keyword, provide the following

 print 0.01

The optional canonical keyword can be used independently from the NBO analysis features. It enables an analysis of the shielding in terms of the canonical MOs. The components keyword is optional and enables an analysis not only of the isotropic shielding but also of each principal component of the tensor. The print keyword selects printout of contributions relative to the total diamagnetic, paramagnetic. In the example, only contributions greater than 1% are printed. Set to zero to print ALL contributions.

Example job: $ADFHOME/examples/adf/CH4_nmrnbo. References [329-331].

NBO analysis of NMR spin-spin coupling (J-coupling)

Non-relativistic, scalar ZORA, spin-orbit ZORA

The sequence of jobs is similar to those in the NMR section.

scalar or non-relativistic:

  1. ADF, scalar ZORA or nonrel.
  2. generate NBOs and required data files for analysis
  3. CPL with analysis keyword, use TAPE21, TAPE10 from step 1.


  1. ADF, scalar ZORA
  2. generate NBOs and required data files for analysis
  3. delete TAPE21, TAPE10, TAPE15
  4. ADF, spin-orbit ZORA
  5. CPL with analysis keyword, using TAPE21, TAPE10 from step 4

In the CPL run provide the following ‘contributions’ keyword to enable the analysis

   ... other options
   contributions 1E19 nbo

The numerical value selects a print threshold in SI units of T**2/J for the analysis. Increase the value to obtain less detail in the analysis. By default, ‘contributions’ triggers an analysis of the J-coupling in terms of canonical MOs. The nbo keyword enables in addition the NBO-NLMO analysis.

Please note that due to the history of how the program was developed the output from the scalar/nrel. analysis and from the spin-orbit calculations differs somewhat. The qualitative content is the same.

In scalar ZORA or non-relativistic CPL calculations without the SD term an orbital based analysis is only performed for the Fermi-contact mechanism. If you also need an analysis for the PSO and SD mechanisms but do not want to run a spin-orbit calculation with ADF please use the SD or NOSD keywords which will cause the spin-orbit branch of the CPL code to be used. In ZORA spin-orbit calculations the FC, SD, PSO, and cross terms are analyzed together by default. You can selectively switch them on or off in order to get individual mechanism analyses. The DSO mechanism is often negligible. An analysis tool for this mechanism has therefore not yet been developed.

Example job: $ADFHOME/examples/adf/CPL_CH3OH_NBO. References NMR spin-spin couplings with NBO analysis [331-334]:

Generation of NBOs

How to generate the NBOs, NLMOs, and the data files needed for these calculations (step 2 below is step 2 in the examples above):

  1. run ADF with scalar ZORA or non-relativistic options, and keep TAPE21 and TAPE15.
# run adfnbo in WRITE  mode to create the gennbo input file FILE47
# and one of the required property analysis files, adfnbo.kf

$ADFBIN/adfnbo << eor
end input

rm -f adfnbo.37 adfnbo.39 adfnbo.49 adfnbo.48
$ADFBIN/gennbo6 << FILE47

# run adfnbo in COPY mode to create the second property analysis
# file, adfnbo2.kf

$ADFBIN/adfnbo <<  eor
end input

# run adfnbo in READ mode: prepare locorb on TAPE21

$ADFBIN/adfnbo <<  eor
end input

rm -f adfnbo.37 adfnbo.39 adfnbo.49 adfnbo.48

# keep the TAPE21 after this sequence in order to
# be able to plot the NBOs and NLMOs with adfview:

mv TAPE21 nbonlmo.t21

# clean up, keep adfnbo*.kf for any NBO property analyses.

QTAIM: Atoms in Molecules

One can calculate Bader atomic charges using a grid based method. This is based on the quantum theory of atoms in molecules (QTAIM) [455]. In ADF2012 one can also calculate critical points of the density and bond paths. Another possibility for Bader’s analysis is to use the adf2aim utility such that a third party program Xaim can be used.

Bader atomic properties (grid based method)

A fast Bader atomic property calculation (see Refs. [228,229]) is performed by specifying the BADER keyword in the input file. This calculation can be used for relatively big systems (hundreds of atoms). The default calculation produces atomic electron density populations, charges, density Laplacian, dipole and quadrupole moments, and Shannon and Renyi entropies. Starting from ADF2012 the default calculation also includes the calculation of critical points of the density and bond paths (see Ref. [363]), which can be visualized with the ADF-GUI. The following CP descriptors are available: density, laplacian and Hessian matrix, ellipticity, Jenkins’ metallicity index [456], reduced density gradient and DFT energy densities variations rates [457], and Abramov’s local energy components [458].

BADER {Energy} {Spacing=value} {Reactivity}
Specifies spacing (distance between neighboring points) of the initial grid when searching for critical points, in Angstrom. The default spacing value is 0.5 Bohr (or approximately 0.26 Angstrom). It may be useful to specify a smaller value if the default results in some critical points being missed, which will result in a more accurate but slower calculation.
If the argument Energy is included, also calculate Bader atomic energies [453]. Note that this option to calculate Bader atomic energies is only valid in cases, where the key TOTALENERGY can be used, and that this option further implies that the key EXACTDENSITY is set.
If Reactivity is specified then certain reactivity descriptors [459] are calculated, such as atomic Fukui functions f+ and f- [483], the Koopmans dual descriptor [484, 460], and the atomic electronegativity[461], by integrating corresponding properties over the atomic basin. Besides, MO populations per basin, the localization and delocalization indices (LI/DI) [462],[463], and the matrix of the condensed linear response function (in the frozen orbital approximation)[464] are computed. When the Koopmans approximation is used (f+, f- and dual descriptor), degenerate or quasi-degenerate FMOs are taken into account based on [491].

The accuracy of this this calculation [228,229] can be determined by the standard method: the integration of the Laplacian of the electron density must vanish over the Bader atomic basins. The default output produces these integrations. The accuracy of the method can be improved by using larger integration grids. Usually the default grid suffices an average atomic integration accuracy of 10-3 a.u. (differences of milliHartree in the energies energies). The convergence of the integration of the electron density Laplacian is not monotone but sinusoidal. So the integration of the Laplacian is not always closer to zero as a larger grid is used. So this type of Bader atomic property calculation might be considered as an approach where computational efficiency is critical and moderate accuracy is sufficient [228,229].

Relativistic QTAIM Bader properties and topology [454] are computed if both arguments Bader and RELATIVISTIC ZORA are included along with CORE NONE argument since relativistic QTAIM calculations can be only computed for all electron calculations currently. Relativistic effects on QTAIM properties and topology might be important for heavy atoms [454].


The ADF utility adf2aim (original name rdt21) developed by Xavi López, Engelber Sans and Carles Bo converts an ADF TAPE21 to WFN format (for Bader analysis)

The program rdt21 is now called adf2aim and is part of the ADF package.

The WFN file is an input file for the third party program Xaim (see for details), which is a graphical user interface to programs that can perform the Bader analysis. Usage of adf2aim can be found in the Examples Document.

Aromaticity index with QTAIM

The cyclic delocalisation of mobile electrons in two or three dimensions is probably one of the key aspects that characterise aromatic compounds. However, aromaticity cannot be measured directly by any physical or chemical experiment because it is not a well-defined magnitude. One can define indicators of aromaticity, some of which are implemented in ADF. The matrix of localisation/delocalisation indices (LI-DI) and the following from it Iring (ring index) and MCI (multi center index) aromaticity indices (see Ref. [440]) can be computed for rings specified by the user. The rings are specified using the AROMATICITY input block, one line per ring. For example, for a benzene molecule where atoms 1-6 are carbon atoms the input would look like this:

  1 2 3 4 5 6

The program does not check whether the atoms in the AROMATICITY input block are connected so it is responsibility of the user to specify them correctly. Moreover, for the Iring index to be calculated correctly the atoms must be listed in the order they are connected in the ring.

Calculation of the aromaticity indices invokes the QTAIM analysis automatically and uses its results so all accuracy considerations for the BADER key above are also valid here. This feature requires that the calculation is performed without symmetry (Symmetry NOSYM).

Results of the calculation are printed to the output under the “Aromaticity Index” header. The first table presents the total number of electrons per atom and their breakdown in “localized” and “delocalized”. Note: the total number of electrons per atom \(N_{total} = N_{loc} + N_{deloc} / 2\) since delocalized electrons are counted twice. The second table presents the Iring and MCI ring indices for each ring specified in the AROMATICITY block. These results (and the original LiDi matrix from which they are computed) are stored in the Properties section in the t21 file.

adf2damqt: DAMQT interface

Interface (adf2damqt) to the 3rd party DAMQT 2.0 package [397], which can analyze the electron density in molecules, and related quantities. DAMQT includes the method of deformed atoms in molecules (DAM). The DAMQT 2.0 package is described in Ref. [397]. In the ADF calculation TAPE15 and TAPE21 need to be saved. The executable adf2damqt can be run with up to three optional arguments. If no argument is supplied, “ADF” is chosen as default root name (fname) for files generated by the interface, and files containing electron density matrix (fname.den) and molecular orbitals (fname.SLorba and, eventually, fname.SLorbb) will be created in a format suitable to be read by DAMQT.

$ADFBIN/adf << eor
$ADFBIN/adf2damqt {fname {SPIN} {NOORBITALS}}
If a specific name is desired for the files (fname), it must be supplied as first optional argument, provided that the name does not coincide with any of the two additional options SPIN and NOORBITALS.
SPIN: for storing spin density matrix in fname.den file (instead of total electron density, which is the default).

NOORBITALS: to prevent generation of files with molecular orbitals (by default orbitals are generated).

SPIN and NOORBITALS are case insensitive and can be given in any order (but always after optional fname when required).

FOD: fractional orbital density

Following the analysis method by Grimme and Hansen (Ref. [398]) a fractional occupation number weighted electron density (FOD) can be plotted with ADFview. The scalar field is obtained by finite-temperature DFT calculations with pre-defined electronic temperature \(T_{el}\), typically \(T_{el}\) =5000 K, and for hybrids \(T_{el}\) =20000*(amount of HF exchange)+5000, see Ref. [398]. This analysis tool can be used to determine whether static electron-correlation effects are important.

$ADFBIN/adf <<eor

The NFOD (integrated FOD) is written in the output of ADF. The FOD can be visualized with ADFview. The contour surface value in ADFview should be set to 0.005 (\(e/(bohr)^3\)).