Multiwfn 3.8 Dev
Multiwfn 3.8 Dev
Software Manual
with tutorials and abundant examples in Chapter 4
Tian Lu
[email protected]
2. To very quickly understand how to use Multiwfn to carry out very common
tasks, please check "Multiwfn quick start.pdf" in the Multiwfn binary package.
3. The BEST way to get started is reading through Chapter 1, Sections 2.1~2.5 of
Chapter 2, and then follow the tutorials in Chapter 4. After that if you want to learn
more about theoretical backgrounds and details of Multiwfn, then read Section 2.6~2.8
of Chapter 2 and Chapter 3. Note that the tutorials and examples given in Chapter 4
only cover most important and frequently used functions rather than all functions of
Multiwfn.
5. Usually Multiwfn runs in interactive mode, however Multiwfn can also be run
in command-line mode, and it is very convenient to write shell script to make Multiwfn
deal with a large number of input files. See Sections 5.2 and 5.3 for detail.
6. If you do not know how to copy the output of Multiwfn from command-line
window to a plain text file, consult Section 5.4. If you do not know how to enlarge
screen buffer size of command-line window of Windows system, consult Section 5.5.
7. If error “No executable for file l1.exe” appears in screen when Multiwfn is
invoking Gaussian, you should set up Gaussian environment variable first. For
Windows version, you can refer Appendix 1. (Note: Most functions in Multiwfn DO
NOT require Gaussian installed on your local machine)
8. The so-called “current folder” in this manual and in prompts of Multiwfn refers
to the path where you are invoking Multiwfn. If you boot up Multiwfn by clicking the
icon of executable file in Windows platform, the “current folder” is the folder
containing Multiwfn executable file. In the case of command-line mode, if you are in
“D:\study\” directory when invoking Multiwfn, then “D:\study\” is “current directory”.
9. Please frequently check Multiwfn website and update the program to the latest
version. Multiwfn is always in active development, useful new functions are frequently
added, bugs are continuously fixed and efficiency is continuously improved.
i
Linux and Mac OS USERS MUST READ
1. If you are new to Multiwfn, using Windows version is highly recommended,
since this version of Multiwfn is more stable than others, the GUI effect is the best and
you do not need to set up your system.
2. See Section 2.1.2 and 2.1.3 on how to install Linux and Mac OS versions of
Multiwfn, respectively.
3. When graphical user interface (GUI) appears, the graph cannot be shown
automatically, you have to do something to active the graph, e.g. clicking "up" button
or dragging a scale bar in the GUI.
4. Transparent style does not work when showing isosurfaces in GUI window. But
if you choose to save the graph as image file, the transparent isosurfaces can be rendered
normally in the resulting graphical file.
5. Using Mac OS version is deprecated, some functions may do not work normally.
ii
About the manual
Chapter 1 Overview: Briefly describes what is Multiwfn and what Multiwfn can
do.
Chapter 2 General information: Introduces all aspects beyond specific functions
of Multiwfn, such as how to install, how to use, supported file types, etc.
Chapter 3 Functions: Describes all functions and related theories of Multiwfn in
detail.
Chapter 4 Tutorials and examples: Plenty of practical examples are provided for
helping users to use Multiwfn and understand value of various analysis methods. The
Section 4.A contains some advanced tutorials, important overviews and special topics.
Chapter 5 Skills: Some useful skills in using Multiwfn.
Appendix
In general, italics font is used for inputted commands, journal names and filenames
throughout this manual. Very important contents are highlighted by red color or bolded.
You can directly jump to specific section by choosing corresponding entry in
bookmark window of your pdf reader.
The purpose of this manual is not only helping users to use Multiwfn, but also
introducing related theories. I hope any quantum chemist can benefit from this manual.
Albeit I have tried to write this manual as readable as possible for beginners, some
topics request the readers have basic knowledge of quantum chemistry. If the readers
have carefully read the book "Quantum Chemistry 7ed" written by Ira. Levine, then
they will never encounter any difficulty during reading through the whole manual.
iii
Contents
1 Overview ................................................................................................1
3 Functions ..............................................................................................55
3.2 Showing molecular structure and viewing orbitals / isosurfaces (0) ..................................... 55
3.3 Outputting all properties at a point (1) .................................................................................. 58
3.4 Outputting and plotting specific property in a line (3) .......................................................... 58
3.5 Outputting and plotting specific property in a plane (4) ....................................................... 59
3.5.1 Graph types .................................................................................................................... 60
3.5.2 Setting up grid, plane and plotting region ...................................................................... 64
3.5.3 Options in post-processing interface .............................................................................. 67
3.5.4 Setting up contour lines .................................................................................................. 67
3.5.5 Plot critical points, paths and interbasin paths on plane graph....................................... 68
3.6 Outputting and plotting specific property within a spatial region (5) ................................... 70
3.7 Custom operation, promolecular and deformation properties (options 0, -1, -2 in main
functions 3, 4, 5) ......................................................................................................................... 74
3.7.1 Custom operation for multiple wavefunctions (0) ......................................................... 74
iv
3.7.2 Promolecular and deformation properties (-1, -2) .......................................................... 75
3.7.3 Generation of atomic wavefunctions.............................................................................. 75
3.7.4 Sphericalization of atom wavefunction .......................................................................... 76
3.8 Checking & modifying wavefunction (6) ............................................................................. 77
3.9 Population analysis and calculation of atomic charges (7) ................................................... 80
3.9.1 Hirshfeld atomic charge (1)............................................................................................ 80
3.9.2 Voronoi deformation density (VDD) atom population (2) ............................................. 82
3.9.3 Mulliken atom & basis function population analysis (5) ............................................... 82
3.9.4 Löwdin atom & basis function population (6) ............................................................... 84
3.9.5 Modified Mulliken atom population defined by Ros & Schuit (SCPA) (7) ................... 84
3.9.6 Modified Mulliken atom population defined by Stout & Politzer (8) ............................ 85
3.9.7 Modified Mulliken atom population defined by Bickelhaupt (9)................................... 85
3.9.8 Becke atomic charge with atomic dipole moment correction (10) ................................. 86
3.9.9 Atomic dipole moment corrected Hirshfeld atomic charges (ADCH, 11) ..................... 86
3.9.10 CHELPG (Charges from electrostatic potentials using a grid based method) ESP fitting
atomic charge (12)................................................................................................................... 88
3.9.11 Merz-Kollmann (MK) ESP fitting atomic charge (13) ................................................. 91
3.9.12 AIM atomic charge (14) ............................................................................................... 92
3.9.13 Hirshfeld-I atomic charge (15) ..................................................................................... 92
3.9.14 CM5 and 1.2*CM5 atomic charge (16, -16) ................................................................ 95
3.9.15 Electronegativity Equalization Method (EEM) atomic charge (17) ............................. 96
3.9.16 Restrained ElectroStatic Potential (RESP) atomic charge (18) .................................... 99
3.9.16.1 Theory ................................................................................................................... 99
3.9.16.2 Usage and some details ....................................................................................... 104
3.9.17 PEOE (Partial equalization of orbital electronegativity) or Gasteiger charge (19) .... 107
3.9.18 Minimal Basis Iterative Stockholder (MBIS) charge (20) ......................................... 109
3.10 Orbital composition analysis (8) ....................................................................................... 109
3.10.1 Output basis function, shell and atom composition in a specific orbital by Mulliken,
Stout-Politzer and SCPA approaches (1, 2, 3) ....................................................................... 109
3.10.2 Define fragment 1 and 2 (-1, -2) ................................................................................ 111
3.10.3 Output composition of fragment 1 and inter-fragment composition by Mulliken, Stout-
Politzer and SCPA approaches (4, 5, 6)................................................................................. 111
3.10.4 Orbital composition analysis by natural atomic orbital approach (7) ........................ 112
3.10.5 Calculate atom and fragment contributions by Hirshfeld or Hirshfeld-I method (8,10)
............................................................................................................................................... 113
3.10.6 Calculate atom and fragment contributions by Becke method (9) ............................. 114
3.10.7 Calculate atom and fragment contributions by AIM method (11) .............................. 114
3.10.100 Evaluate oxidation state by LOBA method (100) .................................................. 115
3.11 Bond order analysis (9) ..................................................................................................... 115
3.11.1 Mayer bond order analysis (1).................................................................................... 116
3.11.2 Multi-center bond order analysis (2, -2, -3) ............................................................... 117
3.11.3 Wiberg bond order analysis in Löwdin orthogonalized basis (3) ............................... 120
3.11.4 Mulliken bond order analysis (4) and decomposition (5)........................................... 121
3.11.5 Orbital occupancy-perturbed Mayer bond order (6)................................................... 121
v
3.11.6 Fuzzy bond order (7) .................................................................................................. 122
3.11.7 Laplacian bond order (8) ............................................................................................ 122
3.11.8 Decompose Wiberg bond order in NAO basis as atomic orbital pair contributions (9)
............................................................................................................................................... 123
3.11.9 Intrinsic bond strength index (IBSI) (10) ................................................................... 124
3.11.10 AV1245 index (approximate multi-center bond order for large rings) and AVmin .. 125
3.12 Plotting total density-of-states (DOS), partial DOS, overlap population DOS, local DOS and
photoelectron spectrum (10) ..................................................................................................... 127
3.12.1 Theory ........................................................................................................................ 127
3.12.2 Input file ..................................................................................................................... 129
3.12.3 Options for plotting DOS and basic usage ................................................................. 130
3.12.4 Local DOS.................................................................................................................. 132
3.12.4 Photoelectron spectrum .............................................................................................. 132
3.13 Plotting IR, Raman, UV-Vis, ECD, VCD, ROA and NMR spectra (11) ........................... 134
3.13.1 Theory ........................................................................................................................ 135
3.13.2 Input file ..................................................................................................................... 138
3.13.3 Usage and options ...................................................................................................... 142
3.13.4 Plotting multiple systems together and weighted spectrum ....................................... 144
3.13.5 Plotting NMR spectrum ............................................................................................. 145
3.13.6 Partial vibrational spectrum (PVS) and partial vibrational density-of-states (PVDOS)
............................................................................................................................................... 148
3.13.6.1 Theory ................................................................................................................. 148
3.13.6.2 Usage................................................................................................................... 151
3.13.7 Predicting color based on UV-Vis spectrum curve..................................................... 152
3.14 Topology analysis (2) ........................................................................................................ 154
3.14.1 Theory ........................................................................................................................ 154
3.14.2 Search critical points .................................................................................................. 156
3.14.3 Generate topology paths ............................................................................................. 159
3.14.4 Generate interbasin surfaces....................................................................................... 159
3.14.5 Visualize, analyze, modify and export results ............................................................ 160
3.14.6 Calculate the aromaticity indices based on topology properties of electron density .. 161
3.15 Quantitative analysis of molecular surface (12) ................................................................ 162
3.15.1 Theory ........................................................................................................................ 163
3.15.2 Numerical algorithm .................................................................................................. 167
3.15.2.1 Analysis on the whole molecular surface ............................................................ 167
3.15.2.2 Analysis on local molecular surface .................................................................... 169
3.15.3 Parameters and options .............................................................................................. 171
3.15.4 Options in post-processing menu ............................................................................... 173
3.15.5 Special topic: Hirshfeld and Becke surface analyses ................................................. 177
3.16 Processing grid data (13) ................................................................................................... 180
3.16.0 Visualize isosurface of present grid data (-2) ............................................................. 180
3.16.1 Export present grid data to Gaussian-type cube file (0) ............................................. 180
3.16.2 Output all data points with value and coordinate (1) ................................................. 180
3.16.3 Output data points in a XY/YZ/XZ plane (2, 3, 4)..................................................... 180
vi
3.16.4 Output average data of XY/YZ/XZ planes in a range of Z/X/Y (5, 6, 7) ................... 181
3.16.5 Output data points in a plane defined three atom indices or three points (8, 9) ......... 181
3.16.6 Output data points in specified value range (10) ........................................................ 181
3.16.7 Grid data calculation (11) ........................................................................................... 181
3.16.8 Map values of a cube file to specified isosurface of present grid data (12) ............... 182
3.16.9 Set value of the grid points that far away from / close to some atoms (13) ............... 182
3.16.10 Set value of the grid points outside overlap region of two fragments (14) .............. 183
3.16.11 If data value is within certain range, set it to a specified value (15) ........................ 183
3.16.12 Scale data range of present grid data (16) ................................................................ 183
3.16.13 Show statistic data of grid points in specific spatial and value ranges (17) ............. 184
3.16.14 Plot (local) integral curve and plane-averaged curve in X/Y/Z direction (18) ......... 184
3.17 Adaptive natural density partitioning (AdNDP) analysis (14) .......................................... 186
3.17.1 Theory ........................................................................................................................ 186
3.17.2 Input file ..................................................................................................................... 188
3.17.3 Options ....................................................................................................................... 189
3.18 Fuzzy atomic space analysis (15) ...................................................................................... 191
3.18.0 Basic concepts ............................................................................................................ 191
3.18.1 Integration of a real space function in fuzzy atomic spaces (1) ................................. 194
3.18.2 Integration of a real space function in overlap spaces (8) .......................................... 195
3.18.3 Calculate atomic and molecular multipole moments and <r2> (2)............................. 195
3.18.4 Calculate atomic overlap matrix (3) ........................................................................... 198
3.18.5 Calculate localization index (LI) and delocalization index (DI) (4) .......................... 199
3.18.6 Calculate para-delocalization index (PDI) (5)............................................................ 201
3.18.7 Calculate aromatic fluctuation index (FLU) and FLU-π (6,7) ................................... 202
3.18.8 Calculate condensed linear response kernel (CLRK) (9) ........................................... 203
3.18.9 Calculate para linear response index (PLR) (10) ....................................................... 204
3.18.10 Calculate multi-center delocalization index (11)...................................................... 204
3.18.11 Calculate information-theoretic aromaticity index (12) ........................................... 205
3.18.12 Calculate atomic effective volume, free volume and polarizability (13) ................. 205
3.19 Charge decomposition analysis and plotting orbital interaction diagram (16) .................. 207
3.19.1 Theory ........................................................................................................................ 207
3.19.2 Input file ..................................................................................................................... 210
3.19.3 Usage.......................................................................................................................... 211
3.20 Basin analysis (17) ............................................................................................................ 213
3.20.1 Theory ........................................................................................................................ 213
3.20.2 Numerical aspects ...................................................................................................... 215
3.20.3 Usage.......................................................................................................................... 218
3.21 Electron excitation analysis (18) ....................................................................................... 224
3.21.A Basic information about electron excitation analysis module ................................... 224
3.21.0 Check, modify and export configuration coefficients of an excitation (-1) ............... 228
3.21.1 Analyze and visualize hole&electron distribution, transition density, and transition
electric/magnetic dipole moment density (1) ........................................................................ 229
3.21.1.1 Theory ................................................................................................................. 229
3.21.1.2 Usage and Functions ........................................................................................... 237
vii
3.21.2 Plot atom/fragment transition matrix of various kinds as heat map (2) ..................... 239
3.21.4 Calculate ∆r index to measure charge-transfer length (4) .......................................... 243
3.21.3 Analyze charge-transfer based on density difference grid data (3) ............................ 244
3.21.5 Calculate transition electric/magnetic dipole moments between all states and for each
state (5).................................................................................................................................. 247
3.21.6 Generate natural transition orbitals (NTOs) (6) ......................................................... 249
3.21.7 Calculate ghost-hunter index (7) ................................................................................ 251
3.21.8 Calculate interfragment charge transfer in electron excitation via IFCT method (8) . 252
3.21.9 Generate and export transition density matrix (9) ...................................................... 255
3.21.10 Decompose transition electric/magnetic dipole moment as molecular orbital pair
contributions (10) .................................................................................................................. 258
3.21.11 Decompose transition electric/magnetic dipole moment as basis function and atom
contributions (11) .................................................................................................................. 259
3.21.12 Calculate Mulliken atomic transition charges (12) .................................................. 260
3.21.13 Generate natural orbitals of specific excited states (13)........................................... 261
3.21.14 Calculate Λ index to characterize electron excitation (14)....................................... 262
3.21.15 Print major MO transitions in all excited states ....................................................... 263
3.21.16 Charge-transfer spectrum (CTS) analysis ................................................................ 264
3.22 Orbital localization analysis (19) ...................................................................................... 265
3.23 Visual study of weak interaction (20)................................................................................ 271
3.23.1 Noncovalent interaction (NCI) analysis (1) ............................................................... 271
3.23.2 NCI analysis based on promolecular density (2)........................................................ 280
3.23.3 Averaged NCI analysis (NCI analysis for multiple frames. 3) ................................... 281
3.23.4 Density Overlap Regions Indicator (DORI) analysis (5) ........................................... 283
3.23.5 Independent Gradient Model (IGM) analysis based on promolecular density (10) ... 283
3.23.6 IGM analysis based on Hirshfeld partition of molecular density (IGMH) (11) ......... 288
3.23.7 Visualization of van der Waals potential (6) .............................................................. 290
3.23.8 Interaction region indicator (IRI) and IRI-pi analysis (4) .......................................... 290
3.23.9 Averaged independent gradient model (aIGM) analysis (12) ..................................... 292
3.24 Energy decomposition analysis (21) ................................................................................. 293
3.24.1 Energy decomposition analysis based on molecular forcefield (EDA-FF) ................ 293
3.24.2 Shubin Liu's energy decomposition ........................................................................... 297
3.24.3 SobEDA and sobEDAw energy decomposition analyses ........................................... 299
3.25 Conceptual density functional theory (CDFT) analysis (22) ............................................ 299
3.25.1 Theory ........................................................................................................................ 299
3.25.2 Usage.......................................................................................................................... 301
3.25.3 Special topic: Orbital-weighted Fukui function and dual descriptor.......................... 302
3.25.4 Special topic: (Quasi-)degenerate Fukui function and dual descriptor based on electron
density ................................................................................................................................... 304
3.25.5 Special topic: Nucleophilic and electrophilic superdelocalizabilities ........................ 305
3.26 Extended Transition State - Natural Orbitals for Chemical Valence (ETS-NOCV) analysis
(23) ............................................................................................................................................ 307
3.26.1 Theory ........................................................................................................................ 307
3.26.2 Implementation details ............................................................................................... 310
viii
3.26.3 Usage.......................................................................................................................... 311
3.27 (Hyper)polarizability analysis (24) ................................................................................... 314
3.27.1 Parse output of (hyper)polarizability task of Gaussian and evaluate relevant quantities
............................................................................................................................................... 314
3.27.2 Study (hyper)polarizability by sum-over-states (SOS) method and two- or three-level
model analyses ...................................................................................................................... 320
3.27.2.1 Calculation of (hyper)polarizability .................................................................... 320
3.27.2.2 Two-level and three-level model analyses for hyperpolarizability...................... 323
3.27.3 Study (hyper)polarizability density ............................................................................ 325
3.27.5 Visualize (hyper)polarizability via unit sphere and vector representations ................ 327
3.28 Electron delocalization and aromaticity analyses (25) ...................................................... 330
3.28.3 Generate iso-chemical shielding surfaces (ICSS) and related quantities ................... 330
3.28.4 Obtain NICSZZ value for non-planar or tilted system ................................................ 331
3.28.6 Calculate HOMA and Bird aromaticity index ............................................................ 333
3.28.13 NICS-1D scan curve map and integral ..................................................................... 334
3.28.14 NICS-2D scan plane map ......................................................................................... 335
3.100 Other functions, part 1 (100) ........................................................................................... 336
3.100.1 Draw scatter graph between two functions and generate their cube files ................ 336
3.100.2 Export various files or generate input file of quantum chemistry programs ............ 337
3.100.3 Calculate molecular van der Waals volume ............................................................. 338
3.100.4 Integrate a function over the whole space ................................................................ 339
3.100.5 Show overlap integral between alpha and beta orbitals ........................................... 340
3.100.6 Monitor SCF convergence process of Gaussian....................................................... 341
3.100.8 Generate Gaussian input file with initial guess combined from fragment wavefunctions
............................................................................................................................................... 342
3.100.9 Evaluate interatomic connectivity and atomic coordination number ....................... 344
3.100.11 Calculate overlap and centroid distance between two orbitals ............................... 345
3.100.12 Biorthogonalization between alpha and beta orbitals ............................................. 346
3.100.14 Calculate LOLIPOP (LOL Integrated Pi Over Plane) ............................................ 348
3.100.15 Calculate intermolecular orbital overlap ................................................................ 349
3.100.17 Generate Fock/KS matrix based on orbital energies and coefficients .................... 350
3.100.18 Yoshizawa's electron transport route analysis ........................................................ 351
3.100.19 Generate new wavefunction by combining fragment wavefunctions .................... 353
3.100.20 Calculate Hellmann-Feynman forces ..................................................................... 353
3.100.21 Calculate properties based on geometry information for specific atoms ............... 354
3.100.22 Detect π orbitals, set occupation numbers and calculate π composition ................ 357
3.100.23 Fit function distribution to atomic value ................................................................ 360
3.200 Other functions, part 2 (200) ........................................................................................... 361
3.200.1 Calculate core-valence bifurcation (CVB) index and related quantities .................. 361
3.200.2 Calculate atomic and bond dipole moments in Hilbert space .................................. 366
3.200.3 Generate cube file for multiple orbital wavefunctions ............................................. 368
3.200.4 (moved to Section 3.28.3) ........................................................................................ 368
3.200.5 Plot radial distribution function for a real space function ........................................ 368
3.200.6 Analyze correspondence between orbitals in two wavefunctions ............................ 369
ix
3.200.7 (moved to Section 3.27.1) ........................................................................................ 371
3.200.8 (moved to Section 3.27.2) ........................................................................................ 371
3.200.9 Calculate average bond length and average coordinate number .............................. 371
3.200.10 Output various kinds of integral between orbitals .................................................. 372
3.200.11 Calculate center, first/second moments, radius of gyration, and <r^2> of a function
............................................................................................................................................... 372
3.200.12 Calculate energy index (EI) or bond polarity index (BPI) ..................................... 374
3.200.13 Evaluate orbital contributions to density difference or other grid data .................. 375
3.200.14 Domain analysis (obtaining properties within isosurfaces of a function) .............. 377
3.200.15 Calculate electron correlation index ....................................................................... 379
3.200.16 Generate natural orbitals, natural spin orbitals (NSO) and spin natural orbitals (SNO)
based on the density matrix in .fch/.fchk file ........................................................................ 380
3.200.17 Calculate Coulomb and exchange integral between two orbitals ........................... 381
3.200.18 Calculate bond length/order alternation (BLA/BOA) and angle/dihedral alternation
............................................................................................................................................... 383
3.200.19 Calculate spatial delocalization index (SDI) for orbitals or a function .................. 384
3.200.20 Bond order density (BOD) and natural adaptive orbital (NAdO) analyses ............ 385
3.200.21 Perform Löwdin orthogonalization between occupied orbitals.............................. 389
3.300 Other functions, part 3 (300) ........................................................................................... 389
3.300.1 Viewing free regions and calculating free volume in a cell ..................................... 389
3.300.2 Fitting atomic radial density as linear combination of multiple STOs or GTFs ...... 392
3.300.2.1 Algorithm and technical details ......................................................................... 392
3.300.2.2 Usage................................................................................................................. 395
3.300.3 (moved to Section 3.27.5) ........................................................................................ 398
3.300.4 Simulating scanning tunneling microscope (STM) image ....................................... 398
3.300.5 Calculate electric dipole/multipole moments and electronic spatial extent.............. 400
3.300.6 Calculate energies of present orbitals by inputting Fock matrix .............................. 402
3.300.7 Geometry relevant operations on the present system ............................................... 402
3.300.8 Plot surface distance projection map ........................................................................ 405
3.300.9 Determine Fermi level.............................................................................................. 407
x
4.2.3 Plot real space function along bond path ..................................................................... 432
4.2.4 Decompose properties at a critical point as orbital contributions ................................ 434
4.2.5 Easily plot high quality AIM topology map in VMD visualization program based on
Multiwfn outputs ................................................................................................................... 437
4.2.6 Topology analysis in special ways: G-C...G-C base pair as an example ...................... 440
4.2.7 Topology analysis via refining attractors located by basin analysis: Spin density of
biradical as an example ......................................................................................................... 443
4.2.8 Topology analysis for density difference: Deformation density of H2O as an example
............................................................................................................................................... 445
4.2.9 Topology analysis for electrostatic potential (ESP) ..................................................... 447
4.2.10 Topology analysis for van der Waals potential ........................................................... 453
4.2.11 Topology analysis for interaction region indicator (IRI) and reduced density gradient
(RDG) ................................................................................................................................... 454
4.3 Output and plot various properties in a line ........................................................................ 456
4.3.1 Plot the spin density curve of triplet formamide along carbon and oxygen atoms....... 456
4.3.2 Study Fermi hole and Coulomb hole of H2 .................................................................. 457
4.3.3 Study interatomic interaction via PAEM-MO method ................................................. 460
4.4 Output and plot various properties in a plane ..................................................................... 463
4.4.1 Illustration of plotting color-filled map and contour line map ..................................... 463
4.4.1.1 Plotting electron density of hydrogen cyanide ...................................................... 463
4.4.1.2 Plotting localized orbital locator (LOL) for FOX-7 .............................................. 466
4.4.2 Shaded relief map with projection effect of electron localization function (ELF) of
monofluoroethane ................................................................................................................. 469
4.4.3 Plotting plane map without contributions from some atoms ........................................ 470
4.4.4 Contour map of electrostatic potential of chlorine trifluoride ...................................... 472
4.4.5 Contour map of two orbital wavefunctions .................................................................. 474
4.4.6 Gradient + contour map with topology paths of electron density of hydrogen peroxide
............................................................................................................................................... 476
4.4.7 Deformation map of electron density of acetyl chloride .............................................. 480
4.4.8 Plot difference map of electron density and ELF for water tetramer with respect to its
constituent monomers ........................................................................................................... 481
4.4.9 Plotting LOL-π map for porphyrin to reveal favorable electron delocalization path ... 484
4.4.10 Plotting gradient line and vector field map of electrostatic potential to reveal electric
field of LiF ............................................................................................................................ 488
4.4.11 Plotting a pretty 4p orbital of Kr atom ....................................................................... 490
4.5 Generate grid data and view isosurface map ....................................................................... 491
4.5.1 Electron localization function of chlorine trifluoride ................................................... 491
4.5.2 Laplacian of electron density of 1,3-butadiene ............................................................ 493
4.5.3 Calculate ELF- and ELF-π to study aromaticity of benzene ..................................... 494
4.5.4 Use Fukui function and dual descriptor to study favorable site of electrophilic attack for
phenol.................................................................................................................................... 497
4.5.4.1 Fukui function ....................................................................................................... 497
4.5.4.2 Dual descriptor ...................................................................................................... 499
4.5.5 Plot difference map of electron density to study electron transfer of imidazole coordinated
xi
magnesium porphyrin............................................................................................................ 501
4.5.6 Study electron delocalization range function EDR(r;d) of anionic water dimer .......... 505
4.5.7 Study orbital overlap distance function D(r) of thioformic acid .................................. 506
4.6 Modify and check wavefunction ......................................................................................... 507
4.6.1 Delete certain Gaussian functions ................................................................................ 507
4.6.2 Valence electron density analysis: Example of removing contributions from certain
orbitals to real space functions .............................................................................................. 508
4.6.3 Translate and duplicate graphene primitive cell wavefunction to periodic system ...... 510
4.7 Population analysis and atomic charge calculation ............................................................. 511
4.7.0 Mulliken population analysis on triplet ethanol ........................................................... 511
4.7.1 Calculate Hirshfeld and CHELPG atomic charges as well as fragment charge for chlorine
trifluoride .............................................................................................................................. 514
4.7.2 Calculate and compare ADCH atomic charges with Hirshfeld atomic charges for
acetamide .............................................................................................................................. 515
4.7.3 Calculate condensed Fukui function and condensed dual descriptor ........................... 516
4.7.4 Illustration of computing Hirshfeld-I atomic charges .................................................. 518
4.7.5 Calculating EEM atomic charges for ethanol-water cluster ......................................... 520
4.7.6 Determining correspondence between basis functions and atomic orbitals via population
analysis .................................................................................................................................. 522
4.7.7 Illustration of deriving RESP charges and normal ESP fitting charges with extra
constraints ............................................................................................................................. 524
4.7.7.1 Example 1: Deriving RESP charges for dopamine in ethanol environment.......... 524
4.7.7.2 Example 2: Taking multiple conformations into account during RESP charge
calculation of dopamine ............................................................................................................ 527
4.7.7.3 Example 3: Imposing equivalence constraint in ESP fitting of Dimethyl phosphate
.................................................................................................................................................. 529
4.7.7.4 Example 4: Evaluation of atomic charges of aspartic acid residue with equivalence
and charge constraints ............................................................................................................... 530
4.7.7.5 Example 5: Example of setting equivalence constraint according to local or global
point group symmetry ............................................................................................................... 533
4.7.7.6 Example 6: RESP charge calculation with additional fitting centers .................... 536
4.7.7.7 Skill 1: Using two times of one-stage fitting to equivalently realize standard RESP
two-stage fitting ........................................................................................................................ 539
4.7.7.8 Skill 2: Quickly obtaining RESP charges from molecular structure file by only one
command ................................................................................................................................... 540
4.7.7.9: Special topic: Calculation of RESP2 charges....................................................... 541
4.7.8 Examine electrostatic potential reproducibility of atomic charges............................... 544
4.7.9 Calculate PEOE (Gasteiger) charge ............................................................................. 547
4.7.9 Calculate CM5 and 1.2*CM5 charges ......................................................................... 547
4.8 Molecular orbital composition analysis .............................................................................. 549
4.8.1 Analyze acetamide by Mulliken method ...................................................................... 549
4.8.2 Analyze water by natural atomic orbital method.......................................................... 552
4.8.3 Analyze acetamide by Hirshfeld and Becke method .................................................... 555
4.8.4 Calculate oxidation state by LOBA method ................................................................. 557
xii
4.8.5 Quantifying extent of spatial delocalization of orbitals via orbital delocalization index
(ODI) ..................................................................................................................................... 559
4.8.5.1 Example of calculating ODI based on orbital composition................................... 559
4.8.5.2 Calculating ODI based on orbital composition for a batch of orbitals .................. 561
4.8.5.3 Calculating ODI for a fragment ............................................................................ 561
4.8.6 Calculate orbital composition contributed by AIM basins and other type of basins .... 562
4.9 Bond order analysis ............................................................................................................. 565
4.9.1 Mayer bond order and fuzzy bond order analysis on acetamide .................................. 565
4.9.2 Multi-center bond order analysis on Li6 cluster and phenanthrene .............................. 568
4.9.3 Calculate Laplacian bond order (LBO) ........................................................................ 571
4.9.4 Decomposition analysis of Wiberg bond order in NAO basis for formaldehyde ......... 572
4.9.5 Study orbital contributions to Mulliken bond order for C-C bond of CH3CONH2 ...... 574
4.9.6 Using intrinsic bond strength index (IBSI) to measure strength of chemical bonds .... 575
4.9.11 Example of using AV1245 and AVmin indices to study aromaticity .......................... 577
4.9.11.1 Using AV1245 and AVmin to study local aromaticity of phenanthrene .............. 577
4.9.11.2 Using AV1245 and AVmin to measure global aromaticity of porphyrin ............. 578
4.10 Plot density-of-states (DOS) maps .................................................................................... 581
4.10.1 Plot total, partial and overlap DOS for N-phenylpyrrole ........................................... 582
4.10.2 Plot local DOS for 1,3-butadiene ............................................................................... 590
4.10.3 Plot DOS map for unrestricted open-shell system: Na3O@Si12C12 ........................... 592
4.10.4 Plot photoelectron spectrum (PES) for Cr3Si12− cluster ............................................. 594
4.10.5 Plot MO-PDOS map to reveal PDOS contributed by different MOs for cyclo[18]carbon
............................................................................................................................................... 596
4.10.6 Calculate d-band center for transition metal clusters ................................................. 598
4.11 Plot various kinds of spectra ............................................................................................. 601
4.11.1 Plot infrared (IR) spectrum for NH3BF3..................................................................... 601
4.11.2 Plot UV-Vis spectrum and contributions from individual transitions for acetic acid . 602
4.11.3 Plot electronic circular dichroism (ECD) spectrum for asparagine ............................ 604
4.11.4 Plot conformational weighted UV-Vis and ECD spectra for plumericin .................... 607
4.11.5 Plot Raman and pre-resonance spectra for 2-methyloxirane ...................................... 611
4.11.6 Simultaneously plot multiple systems ........................................................................ 612
4.11.7 Plot VCD and ROA spectra for chiral molecule S-methyloxirane ............................. 614
4.11.8 Skill: Plot spectrum for a batch of files via shell script .............................................. 616
4.11.9 Skill: Use spikes to indicate position of transition levels ........................................... 617
4.11.10 Plotting NMR spectrum............................................................................................ 619
4.11.10.1 Plotting 1H and 13C NMR spectra for acetaldehyde .......................................... 619
4.11.10.2 Plotting NMR spectra for pyridine based on scaling method ............................ 621
4.11.10.3 Plotting conformation weighted NMR spectrum for valine .............................. 622
4.11.10.4 Plotting multiple systems simultaneously ......................................................... 625
4.11.11 Plotting fluorescence spectrum of BODIPY............................................................. 625
4.11.12 Plotting partial vibrational spectrum (PVS) and partial vibrational density-of-states
(PVDOS) ............................................................................................................................... 627
4.11.12.1 PVS-NC decomposition analysis of IR spectrum of C18B9N9 complex ......... 627
4.11.12.2 PVS-I decomposition analysis of IR spectrum of C18B9N9 complex ............. 632
xiii
4.11.12.3 PVDOS analysis of vibrational spectrum C18B9N9 complex.......................... 632
4.11.12.4 PVS-NC decomposition analysis of VCD spectrum of phenylalanine.............. 635
4.11.12.5 Plotting directional IR spectrum........................................................................ 635
4.11.13 Plotting directional UV-Vis spectrum....................................................................... 635
4.11.14 Predicting color of indigo and allura red .................................................................. 637
4.11.14.1 Predicting color of indigo based on theoretical calculation............................... 637
4.11.14.2 Predicting color of allura red based on experimental UV-Vis spectrum ........... 639
4.12 Quantitative analysis of molecular surface ....................................................................... 639
4.12.1 Electrostatic potential analysis on phenol molecular surface ..................................... 639
4.12.2 Average local ionization energy analysis (ALIE) on phenol molecular surface......... 646
4.12.3 Atomic local molecular surface analysis for acrolein................................................. 648
4.12.4 Quantitative analysis of Fukui function on molecular surface of phenol ................... 650
4.12.5 Becke surface analysis on guanine-cytosine base pair ............................................... 653
4.12.6 Hirshfeld surface analysis and fingerprint plot analysis on urea crystal .................... 655
4.12.7 Predict density of molecular crystal of FOX-7 .......................................................... 661
4.12.8 Quantitative analysis of orbital overlap distance function D(r) on thioformic acid
molecular surface .................................................................................................................. 662
4.12.9 Evaluate vdW surface area of the whole system as well as individual fragment ....... 664
4.12.10 Quantification of area of sigma-hole and pi-hole ..................................................... 666
4.12.11 Basin-like analysis of molecular surface for electrostatic potential ......................... 669
4.12.12 Estimate kinetic diameter for small molecules......................................................... 671
4.12.13 Using local electron affinity and local electron attachment energy to reveal
electrophilic regions .............................................................................................................. 673
4.13 Process grid data ............................................................................................................... 676
4.13.1 Extract data points in a plane ..................................................................................... 676
4.13.2 Perform mathematical operation on grid data ............................................................ 677
4.13.3 Scaling numerical range of grid data.......................................................................... 678
4.13.4 Screen isosurfaces in local regions............................................................................. 678
4.13.4.1 Screen isosurfaces inside or outside a region ...................................................... 678
4.13.4.2 Screen isosurfaces outside overlap region of two fragments .............................. 679
4.13.5 Acquire barycenter of a molecular orbital .................................................................. 681
4.13.6 Plot charge displacement curve .................................................................................. 682
4.13.7 Evaluation of electron density overlap ....................................................................... 684
4.13.8 Integrate electron density in a cylindrical region ....................................................... 686
4.14 Adaptive natural density partitioning (AdNDP) analysis .................................................. 688
4.14.1 Analyze Li5+ cluster.................................................................................................... 688
4.14.2 Analyze B11− cluster ................................................................................................... 689
4.14.3 Analyze phenanthrene ................................................................................................ 693
4.14.4 Analyze Au20 cluster................................................................................................... 696
4.15 Fuzzy atomic space analysis ............................................................................................. 698
4.15.1 Study delocalization index of benzene ....................................................................... 698
4.15.2 Study aromaticity of phenanthrene by PDI, FLU, FLU-π and PLR ........................... 699
4.15.3 Calculate fragment dipole moment to exhibit local polarity ...................................... 700
4.15.4 Calculate atomic effective and free volumes as well as atomic polarizability: Oxirane as
xiv
an example ............................................................................................................................ 703
4.15.5 Visualizing atomic electric dipole and quadrupole moments ..................................... 705
4.15.5.1 Plotting atomic dipole moments .......................................................................... 705
4.15.5.2 Plotting atomic quadrupole moments .................................................................. 707
4.16 Charge decomposition analysis and plotting orbital interaction diagram ......................... 708
4.16.1 Closed-shell interaction case: COBH3 ....................................................................... 709
4.16.2 Open-shell interaction case: CH3NH2 ........................................................................ 713
4.16.3 More than two fragments case: Pt(NH3)2Cl2 .............................................................. 715
4.16.4 CDA analysis based on restricted open-shell wavefunction: ethane .......................... 716
4.17 Basin analysis.................................................................................................................... 719
4.17.1 AIM basin analysis for HCN and Li6 ......................................................................... 719
4.17.2 Example of ELF basin analysis .................................................................................. 726
4.17.3 Basin analysis of electrostatic potential for H2O........................................................ 732
4.17.4 Basin analysis of electron density difference for H2O ............................................... 736
4.17.5 Study source function in AIM basins ......................................................................... 738
4.17.6 Local region basin analysis for polyyne ..................................................................... 740
4.17.7 Evaluate atomic contribution to population of ELF basins ........................................ 741
4.17.8 Calculating high ELF localization domain population and volume (HELP, HELV).. 742
4.17.9 Evaluate atomic contributions to system electronic energy ....................................... 744
4.17.10 Plotting ELF isosurface map colored by basin types ............................................... 746
4.18 Electron excitation analysis............................................................................................... 748
4.18.1 Using hole-electron analysis to fully characterize electron excitations ..................... 748
4.18.1.1 Example 1: NH2-biphenyl-NO2........................................................................... 749
4.18.1.2 Example 2: Ru(bpy3)2+ cation in water ............................................................... 760
4.18.2 Illustration of transition density (matrix) and transition dipole moment density (matrix)
analysis .................................................................................................................................. 762
4.18.2.1 Analyzing transition density and transition dipole moment density in real
space.......................................................................................................................................... 763
4.18.2.2 Plotting and analyzing transition density matrix (TDM) .................................... 766
4.18.2.3 Plotting and analyzing transition dipole moment matrix .................................... 772
4.18.2.4 Investigating transition density and transition density matrix between excited
states .......................................................................................................................................... 774
4.18.3 Analyze charge-transfer during electron excitation based on electron density difference
............................................................................................................................................... 777
4.18.4 Calculate ∆r and Λ indices to characterize various electron excitations for N-
phenylpyrrole ........................................................................................................................ 779
4.18.5 Calculate dipole moment of each excited state and transition dipole moment between all
states for 4-nitroaniline ......................................................................................................... 782
4.18.6 Generate and analyze natural transition orbitals (NTOs) for uracil ........................... 783
4.18.8 Using IFCT method and heat map of charge transfer matrix to study interfragment
charge transfer during electron excitation ............................................................................. 786
4.18.8.1 IFCT analysis for 4-nitroaniline .......................................................................... 786
4.18.8.2 Plotting heat map of charge transfer matrix to intuitively understand nature of
electron excitation ..................................................................................................................... 789
xv
4.18.9 Generate transition density matrix and transform it to orbital representation ............ 791
4.18.10 Obtain molecular orbital pair contributions to transition dipole moment ................ 792
4.18.11 Plot transition dipole moment vector contributed by molecular fragments as arrows
............................................................................................................................................... 794
4.18.13 Study electronic structure of a single excited state and difference between two excited
states ...................................................................................................................................... 796
4.18.16 Plot charge-transfer spectrum and calculate major characters of all excited states: N-
phenylpyrrole as an instance ................................................................................................. 799
4.19 Orbital localization analysis .............................................................................................. 802
4.19.1 Localizing molecular orbital of 1,3-butadiene by Pipek-Mezey method ................... 803
4.19.2 Analyze variation of localized molecular orbitals for SN2 reaction .......................... 805
4.19.3 Characterize Re-Re bond of [Re2Cl8]2- anion............................................................. 807
4.19.4 Study bond dipole moment based on two-center LMOs for CH3NH2 ....................... 809
4.20 Visual study of weak interactions...................................................................................... 810
4.20.1 Studying weak interaction in 2-pyridoxine 2-aminopyridine by NCI method ........... 810
4.20.2 Studying weak interaction in DNA by NCI method based on promolecular density . 813
4.20.3 Visually studying weak interaction for water in bulk environment by aNCI method 815
4.20.4 Revealing both chemical bonding and weak interaction regions in phenol dimer by IRI
analysis .................................................................................................................................. 821
4.20.5 Simultaneously revealing covalent and noncovalent interactions in phenol dimer by
DORI analysis ....................................................................................................................... 824
4.20.6 Visualizing and analyzing van der Waals potential .................................................... 825
4.20.6.1 Example 1: Helicene ........................................................................................... 825
4.20.6.2 Example 2: Cyclo[18]carbon .............................................................................. 827
4.20.10 Visualize and quantify weak interactions by Independent Gradient Model (IGM) .. 830
4.20.10.1 Example 1: Guanine-cytosine (GC) base pair ................................................... 830
4.20.10.2 Example 2: C60-coronene dimer ........................................................................ 838
4.20.10.3 Example 3: Oxazolidinone trimer ..................................................................... 839
4.20.11 Using IGMH (IGM based on Hirshfeld partition of molecular density) to study weak
interaction.............................................................................................................................. 842
4.21 Energy decomposition analysis ......................................................................................... 844
4.21.1 Examples of energy decomposition analysis based on forcefield (EDA-FF)............. 844
4.21.1.1 Example 1: Water dimer ...................................................................................... 845
4.21.1.2 Example 2: Circumcoronene-Cytosine-Guanine trimer ...................................... 848
4.21.2 Shubin Liu's energy decomposition analysis for ethane rotation barrier.................... 855
4.21.3 Examples of sobEDA and sobEDAw energy decomposition analyses....................... 856
4.22 Examples of conceptual density functional theory (CDFT) analysis ................................ 856
4.22.1 Automatically calculate conceptual density functional theory quantities for phenol . 856
4.22.2 Illustration of studying orbital-weighted Fukui function and orbital-weighted dual
descriptor............................................................................................................................... 860
4.22.3 Example of CDFT analysis in (quasi-)degenerate HOMO/LUMO case .................... 865
4.22.3.1 Fukui function and dual descriptor of benzene ................................................... 865
4.22.3.2 Local softness and local hyper-softness of C60 fullerene .................................... 867
4.23 Examples of ETS-NOCV analysis .................................................................................... 869
xvi
4.23.1 A simple closed-shell instance: CO-BH3 .................................................................... 870
4.23.2 A simple open-shell instance: Ethane ......................................................................... 878
4.23.3 An open-shell system with multiple bond: Ethene ..................................................... 881
4.23.4 Weak interaction instance: A-T base pair ................................................................... 882
4.23.5 Transition metal coordinate instance: (CO)5Cr=CH2 ................................................. 885
4.23.6 More than two fragments instance: Transition state of trimerization of acetylene..... 887
4.24 Examples of (hyper)polarizability analyses ...................................................................... 889
4.24.1 Parse output file of “polar” task of Gaussian to obtain (hyper)polarizability and calculate
related quantities ................................................................................................................... 889
4.24.2 Studying polarizability and hyperpolarizability based on sum-over-states (SOS) method
............................................................................................................................................... 893
4.24.2.1 Calculate polarizability and hyperpolarizability for NH3 .................................... 893
4.24.2.2 Perform two- and three-level model analysis for first hyperpolarizability of NH2-
biphenyl-NO2 ............................................................................................................................ 897
4.24.3 Example of studying (hyper)polarizability density .................................................... 900
4.24.5 Example of using unit sphere representation to visually study (hyper)polarizability 905
4.24.5.1 First-order hyperpolarizability of CH3NHCHO .................................................. 905
4.24.5.2 Polarizability and second-order hyperpolarizability of cyclo[18]carbon ............ 908
4.25 Examples of electron delocalization and aromaticity analyses ......................................... 910
4.25.3 Study iso-chemical shielding surface (ICSS) and magnetic shielding distribution for
benzene ................................................................................................................................. 910
4.25.6 Calculate HOMA and Bird aromaticity index for phenanthrene ................................ 916
4.25.13 Example of plotting one-dimension NICS curve and calculate integral .................. 917
4.25.13.1 Example 1: NICSZZ curve of infinitene ............................................................. 917
4.25.13.2 Example 2: NICSsigma,ZZ and NICSpi,ZZ curves of benzene................................ 919
4.25.14 Example of plotting two-dimension NICS plane map ............................................. 921
4.25.14.1 Plotting NICSZZ plane map above 1 Å of coronene .......................................... 921
4.25.14.2 Plotting NICSZZ plane map above 1 Å of a phenyl ring of N(phenyl)3............. 923
4.100 Other functions (Part 1) ................................................................................................... 925
4.100.4 Calculate kinetic energy and nuclear attraction potential energy of phosgene by
numerical integration ............................................................................................................ 925
4.100.8 Perform simple energy decomposition by using combined fragment wavefunctions
............................................................................................................................................... 926
4.100.12 Biorthogonalization analysis for orbitals of unrestricted open-shell wavefunction927
4.100.14 Calculate LOLIPOP index...................................................................................... 931
4.100.14.1 Example of planar system: phenanthrene........................................................ 931
4.100.14.2 Example of non-planar system: biphenyl ........................................................ 932
4.100.15 Calculate intermolecular orbital overlap integral of DB-TTF ................................ 934
4.100.18 Yoshizawa's electron transmission route analysis for phenanthrene ...................... 935
4.100.19 ELF analysis on the whole wavefunction combined from fragment wavefunctions
............................................................................................................................................... 936
4.100.21 Examples of characterizing geometric structure .................................................... 939
4.100.21.1 Calculate molecular diameter and length/width/height for alpha-
cyclodextrin............................................................................................................................... 939
xvii
4.100.21.2 Study molecular planarity of [14]annulene ..................................................... 941
4.100.21.3 Study evolution of molecular planarity of cyclo[18]carbon in molecular
dynamics trajectory ................................................................................................................... 943
4.100.21.4 Evaluating cavity diameter and graphically illustrating its region .................. 944
4.100.22 Analyze π electron character of non-planar system: cycloheptatriene ................... 946
4.200 Other functions (Part 2) ................................................................................................... 950
4.200.4 (moved to Section 4.25.3) ........................................................................................ 950
4.200.5 Plot radial distribution function of electron density ................................................. 950
4.200.6 Studying correspondence between orbitals in different wavefunction files ............. 954
4.200.6.1 Revealing relationship between HF and MP2 orbitals of CH3NH2 ................... 954
4.200.6.2 Study contribution of lone pair of nitrogen to MOs of dopamine ..................... 955
4.200.7 (moved to section 4.24.1) ......................................................................................... 957
4.200.8 (moved to section 4.24.2) ......................................................................................... 957
4.200.12 Calculate energy index (EI) and bond polarity index (BPI) ................................... 957
4.200.13 Study orbital contributions to density difference ................................................... 958
4.200.13.1 Contribution of MOs to Fukui function f − of phenol ...................................... 958
4.200.13.2 Contribution of NBO orbitals to Fukui function f − of 1,3-butadiene ............. 960
4.200.13.3 Contribution of NBO orbitals to density difference between S0 and S1 states
of H2CO .................................................................................................................................... 962
4.200.14 Domain analysis examples ..................................................................................... 964
4.200.14.1 Integrate real space functions within reduced density gradient (RDG)
isosurface to study weak interaction quantitatively .................................................................. 964
4.200.14.2 Visualize molecular cavity and calculate its volume by domain analysis
module....................................................................................................................................... 967
4.200.18 Studying bond length/order alternation (BLA/BOA) as well as alteration of bond
angle and dihedral for specific paths ..................................................................................... 971
4.200.18.1 BLA and BOA of thiophene oligomer............................................................. 971
4.200.18.2 Study variation of bond lengths, bond angles and dihedrals in the ring of
cyclo[18]carbon ........................................................................................................................ 973
4.200.19 Examples of calculating spatial delocalization index............................................. 975
4.200.20 Using bond order density and natural adaptive orbital to study chemical bonds ... 977
4.200.20.1 Plot bond order density for N2 molecule ......................................................... 977
4.200.20.2 Study BOD and NAdO orbitals for C-C bonds in butadiene .......................... 979
4.200.20.3 Study interaction between two fragments using BOD/NAdO......................... 981
4.300 Other functions (Part 3) ................................................................................................... 983
4.300.1 Example of visualizing free regions and calculating free volume in a cell .............. 983
4.300.2 Example of fitting radial atomic density as STOs or GTFs ..................................... 987
4.300.2.1 Crudely fitting radial density of silicon as several STOs .................................. 987
4.300.2.2 Accurately fitting radial density of bromine as many GTFs ............................. 989
4.300.3 (moved to Section 4.24.5) ........................................................................................ 991
4.300.4 Example of simulating scanning tunneling microscope (STM) image .................... 991
4.300.4.1 Simulating constant height STM image for phenanthrene ................................ 991
4.300.4.2 Simulating constant current STM image for phenanthrene ............................... 993
4.300.5 Calculate electric dipole moment, multipole moments and electronic spatial extent for
xviii
uracil ..................................................................................................................................... 995
4.300.6 Calculating orbital energies: NTO orbital as an example......................................... 997
4.300.8 Plotting surface distance projection map for [Ru(bpy)3]2+ cation coordinate .......... 998
4.A Special topics and advanced tutorials ............................................................................... 1001
4.A.1 Study variation of electronic structure along IRC path ............................................. 1001
4.A.2 Calculation of spin population .................................................................................. 1006
4.A.3 Overview of methods for studying aromaticity ......................................................... 1007
4.A.4 Overview of methods for predicting reactive sites .................................................... 1011
4.A.5 Overview of methods for studying weak interactions ............................................... 1013
4.A.6 Calculate odd electron density and local electron correlation function ..................... 1017
4.A.6.1 Odd electron density........................................................................................... 1017
4.A.6.2 Local electron correlation functions ................................................................... 1020
4.A.8 Analyze wavefunction higher than CCSD level ........................................................ 1021
4.A.9 Calculate TrEsp (transition charge from electrostatic potential) charges and analyze
exciton coupling .................................................................................................................. 1023
4.A.10 Intuitively exhibiting atomic properties by coloring atoms..................................... 1028
4.A.11 Overview of methods for studying chemical bonds ................................................ 1030
4.A.12 Overview of methods for analyzing electron excitation .......................................... 1037
4.A.13 Plot electrostatic potential colored van der Waals surface map and penetration graph of
van der Waals surfaces ........................................................................................................ 1043
4.A.14 Very easily rendering cube files as state-of-the-art isosurface map via VMD script
............................................................................................................................................. 1051
4.A.15 Calculating information-theoretic quantities and some relevant quantities............. 1053
5 Skills .................................................................................................1054
5.1 Make Multiwfn support more quantum chemistry programs ............................................ 1054
5.2 Running Multiwfn in silent mode ..................................................................................... 1054
5.3 Running Multiwfn in batch mode ..................................................................................... 1056
5.4 Copy outputs from command-line window to clipboard................................................... 1058
5.5 Make command-line window capable to record more outputs ......................................... 1059
5.6 Rapidly load a file into Multiwfn ...................................................................................... 1060
5.7 Make use of cubegen utility in Gaussian package to reduce computational time of electrostatic
potential analyses .................................................................................................................... 1060
5.8 Some tips on achieving ideal drawing quality .................................................................. 1062
Appendix ..............................................................................................1064
1 Setting up running environment for Gaussian in Windows.................................................. 1064
2 The routines for evaluating real space functions .................................................................. 1064
3 Detail of built-in atomic densities ........................................................................................ 1067
4 Details about supplying inner-core electron density for the wavefunctions involving pseudo-
potential................................................................................................................................... 1068
5 Check sanity of wavefunction .............................................................................................. 1069
6 Special functions .................................................................................................................. 1069
7 About providing Fock/KS matrix to Multiwfn ..................................................................... 1071
xix
xx
1 Overview
1 Overview
Multiwfn is a powerful wavefunction analysis program, it supports almost all of the most
important wavefunction analysis methods. Multiwfn is free, open-source, high-efficient, very user-
friendly and flexible. Multiwfn can be downloaded at Multiwfn official website
http://sobereva.com/multiwfn. This code is developed by Tian Lu at Beijing Kein Research Center
for Natural Sciences (http://www.keinsci.com).
1
1 Overview
2
1 Overview
Wiberg bond order can be decomposed to contribution from various NAO pair
interactions.
Plotting total, partial, overlap population density-of-states (TDOS, PDOS, OPDOS) and
MO-PDOS. Up to 10 fragments can be very flexibly and conveniently defined. Local
DOS (LDOS) can also be plotted for a point as curve map or for a line as color-filled map.
Furthermore, plotting photoelectron spectrum (PES) based on (generalized) Koopmans'
theorem is fully supported, d-band and p-band centers can be calculated.
Plotting various kinds of spectra: IR (infrared), regular/pre-resonance Raman, UV-Vis,
directional UV-Vis, ECD (electronic circular dichroism), VCD (vibrational circular
dichroism), Raman optical activity (ROA) and NMR. For vibrational spectra, not only
harmonic spectrum, but also anharmonic fundamental, overtone and combination bands
can be plotted. Spin-orbit coupling effect could be incorporated for electronic spectra.
Abundant parameters (broadening function, FWHM, scale factor, etc.) can be customized
by users. Maxima and minima of the spectra can be printed and directly labelled on the
map. Spikes can be added to bottom of the graph to clearly indicate position and
degeneracy of transition levels. Total spectrum can be decomposed to individual
contribution of each transition. Spectrum of multiple systems can be conveniently plotted
together. Conformational weighted spectrum can be easily plotted. In addition, for
vibrational type of spectra, partial vibrational spectrum (PVS) can be plotted to intuitively
understand how different atoms or internal coordinates participate in the spectra, and
overlap partial vibration spectrum (OPVS) can be plotted to visualize coupling of various
terms. Partial vibrational density-of-states (PVDOS) can also be plotted. Color displayed
by a chemical substance can be exactly predicted based on its theoretically simulated and
experimentally determined UV-Vis spectrum.
Quantitative analysis of molecular surface. Surface properties such as
(total/positive/negative/polar/nonpolar) surface area, enclosed volume, average value and
std. of mapped functions can be computed for overall molecular surface or local surfaces;
Various kinds of GIPF descriptors and molecular polarity index (MPI) can be evaluated;
minima and maxima of mapped functions on the surface can be located; area of
characteristic region corresponding to e.g. /-hole and lone pair can be calculated based
on ESP; Basin-like analysis on molecular surface for arbitrary mapped function can be
realized.
Processing grid data (can be loaded from .cub/.grd or generated by Multiwfn). User can
perform mathematical operations on grid data, set value in certain range, extract data in
specified plane, plot (local) integral and plane-averaged curve, etc.
Adaptive natural density partitioning (AdNDP) analysis. The interface is interactive and
the AdNDP orbitals can be visualized directly. Energy and orbital composition of AdNDP
orbitals can be obtained.
Analyzing real space functions in fuzzy atomic spaces (defined by Becke, Hirshfeld or
Hirshfeld-I partitions). These quantities can be computed: Integral of real space functions
in atomic spaces or in overlap region between atomic spaces, dipole and multipole
moments of atom/fragment/molecule, atomic multipole moments, atomic overlap matrix
(AOM), localization and delocalization indices (LI, DI), condensed linear response kernel,
multi-center DI, as well as five aromaticity indices, namely FLU, FLU-, PDI, PLR and
3
1 Overview
4
1 Overview
5
1 Overview
real space functions are supported and listed below, detailed descriptions can be found in Section
2.6 and 2.7 of the manual:
• Electron density
• Gradient norm of electron density
• Laplacian of electron density
• Value of orbital wavefunction
• Electron spin density
• Hamiltonian kinetic energy density K(r)
• Lagrangian kinetic energy density G(r)
• Electron localization function (ELF) defined by Becke and the one defined by Tsirelson
• Localized orbital locator (LOL) defined by Becke and the one defined by Tsirelson
• Interaction region indicator (IRI) and IRI-
• g function defined in Independent Gradient Model (IGM) and IGM based on Hirshfeld
partition (IGMH)
• Local information entropy
• Electrostatic potential (ESP), and that from nuclear / electronic / atomic charges
• van der Waals potential
• Reduced density gradient (RDG) with/without promolecular approximation
• sign(2) (product of the sign of the second largest eigenvalue of electron density Hessian
matrix and electron density) with/without promolecular approximation
• Exchange-correlation density, correlation hole and correlation factor
• Average local ionization energy (ALIE) and local electron attachment energy (LEAE)
• Source function
• Electron delocalization range function EDR(r;d) and orbital overlap distance function D(r)
• Others (incomplete list): Potential energy density, electron energy density, orbital-weighted
Fukui function and dual descriptor, strong covalent interaction index (SCI), ultrastrong interaction
(USI), bonding and noncovalent interaction (BNI), local electron affinity/electronegativity/hardness,
ellipticity of electron density, eta index, on-top pair density, numerous forms of DFT exchange-
correlation potential, numerous forms of DFT kinetic energy density, Weizsäcker potential, Fisher
information entropy, Ghosh/Shannon entropy density, integrand of Rényi entropy, shape function,
local temperature, bond metallicity, linear response kernel, steric energy/potential/charge, Pauli
potential/force/charge, quantum potential/force/charge, PAEM, density overlap regions indicator
(DORI), region of slow electrons (RoSE), PS-FID, single exponential decay detector (SEDD),
electron linear momentum density, electric/magnetic dipole moment density, local electron
correlation function, magnitude of electric field, and so on.
Implementing a new real space function into Multiwfn is extremely easy, as illustrated in
Section 2.7 of the manual.
6
1 Overview
(ELF, LOL, 2, kinetic/potential energy density, IRI and IRI-, valence electron density, fragment
density difference, deformation density, source function, bond ellipticity, bond degree, eta index,
V(r)/G(r), SCI, PAEM, IGM...); various kinds of bond orders analysis (Mayer, Laplacian, Mulliken,
Wiberg, Fuzzy and multi-center bond orders, as well as decomposition analysis for Mayer, Mulliken
and Wiberg bond orders); intrinsic bond strength index (IBSI); localization/delocalization index;
orbital localization analysis; bond order density (BOD) and natural adaptive orbital (NAdO)
analyses; various methods of measuring bond polarity and bond dipole moment; charge
decomposition analysis (CDA); Extended Transition State - Natural Orbitals for Chemical Valence
(ETS-NOCV); overlap population density-of-states (OPDOS); energy decomposition analysis and
so on. See Section 4.A.11 of manual for an overview. Variation of various properties of chemical
bonds during scan and IRC processes can also be easily studied via shell scripts, see Section 4.A.1
of manual.
• Characterizing electron distribution and variation: Atomic charges (AIM, Mulliken, SCPA,
Hirshfeld, Hirshfeld-I, Voronoi, Löwdin, ADCH, CM5, EEM, CHELPG, MK, RESP, RESP2...);
total and spin population analyses for basis functions/shells/atoms/fragments; atomic electric dipole
and multipole moment analysis (can also be visualized in VMD program via a plotting script
provided in Multiwfn); plotting / basin analysis / domain analysis for density difference; charge
displacement curve
• Aromaticity and electron delocalization analyses: ICSS; NICS and its 1D/2D scan; AdNDP;
ELF-/; LOL-/; HOMA; Bird; multi-center bond order; AV1245 and AVmin; Shannon
aromaticity; FLU and FLU-; PDI; ATI; PLR; ∆DI; density curvature perpendicular to ring plane
and so on. See Section 4.A.3 of manual for an overview
• Characterizing intramolecular and intermolecular weak interactions: AIM analysis (bond path
visualization and analysis of various properties at bond critical point); visual analyses of weak
interactions (NCI, IGM, IGMH, aIGM, IRI, DORI); atom and atomic pair g indices based on IGM
or IGMH; quantitative molecular surface analysis for electrostatic potential (ESP); plotting ESP in
various form; plotting van der Waals potential; energy decomposition analysis based on forcefield
(EDA-FF); Hirshfeld/Becke surface analysis; LOLIPOP; mutual penetration distance and
penetration volume analysis; atomic charge and multipole moment analysis; charge transfer analysis
(density difference map, CDA, variation of population ...); ELF and core-valence bifurcation (CVB)
index and so on. See Section 4.A.5 of manual for an overview
• Electron excitation analysis: Analysis of hole and electron (distribution,
atom/fragment/orbital contribution, centroid position, displacement and overlap, exciton binding
energy); charge transfer analysis (IFCT, density difference...); NTO; overlap and centroid distance
between crucial MOs; plotting atom/fragment transition density matrix and charge transfer matrix;
∆r index; decomposition of transition dipole moment to basis function/atom/fragment/MO pair
contributions; transition dipole moment between various excited states; transition atomic charge;
ghost-hunter index; revealing variation of electronic structure (bonding and population) during
excitation; printing major MO transitions in all excited states; plotting charge-transfer spectrum to
graphically reveal nature of UV-Vis spectrum, and so on. See Section 4.A.12 of manual for an
overview and so on. See Section 4.A.12 of manual for an overview
• Prediction of reactive sites and reactivity analysis: ESP and ALIE analyses on molecular
surface; atomic charges; orbital composition analysis for frontier molecular orbitals; population of
electron; orbital overlap distance function analysis; automatically calculating all quantities defined
7
1 Overview
in the framework of conceptual density functional theory; evaluating contribution of orbitals (MO,
NBO, NAO, etc.) to Fukui function. See Section 4.A.4 of manual for an overview
• Prediction properties of molecular condensed phase: Using ESP distribution on vdW surface
to empirically predict heat of vaporization, heat of sublimation, density of molecular crystal, boiling
point, heat of fusion, surface tension, pKb and so on. Molecular polarity can be quantified. See
Section 3.15.1 of manual
• Plotting spectra: IR, Raman, UV-Vis, ECD, VCD, ROA, NMR and photoelectron spectra. In
the case of UV-Vis, displayed color can be exactly predicted
• Characterizing geometric structure: Molecular volume, surface area, length/height/weight,
vdW diameter, kinetic diameter, cavity volume and diameter, interatomic connectivity and atomic
coordination number, average bond length of atomic cluster, bond length alternation (BLA) as well
as bond angle and dihedral alternations, molecular planarity parameter (MPP) and span of deviation
from plane (SDP), and so on. Free regions (pores) in a cell can be visualized and their volume can
be evaluated
• (Hyper)polarizability study: Parsing Gaussian output file of "polar" task and calculating many
data related to (hyper)polarizability; Calculating quantities related to Hyper-Rayleigh scattering
(HRS); plotting (hyper)polarizability density; obtaining atomic contribution to (hyper)polarizability;
calculating (hyper)polarizability by means of sum-over-states (SOS) method; two-level and three-
level model analyses; unit sphere and vector representation of (hyper)polarizability tensor;
calculating atomic polarizabilities in molecular environment
• Electric conduction analysis: TDOS and PDOS; orbital overlap analysis between
neighbouring monomers; Yoshizawa's transport route analysis; bond length/order alternation
(BLA/BOA)
• Many others: Teaching structure chemistry; simulating scanning tunneling microscope (STM)
image; converting file formats containing geometry or wavefunction information; studying electron
correlation effect; realizing ELF-tuning and LOL-tuning for DFT functionals; evaluating oxidation
state by LOBA method; studying distribution of real space functions (in terms of radial distribution
function, centroid, first and second moments, integral over whole space and local region...);
evaluating or component in molecular orbitals, geometry transformation, and so on
Citing Multiwfn
If Multiwfn is used in your research, at least this paper must be cited in main text:
Other my papers should be cited depending on the method and function employed in your work.
Please carefully check How to cite Multiwfn.pdf document in the Multiwfn binary package.
Whenever possible, please mention and cite Multiwfn in main text rather than in supplemental
information, otherwise not only Multiwfn will be difficult for readers to notice, but also the paper
will not be included in citation statistics.
Discussion zones
8
1 Overview
There are two Multiwfn official forums, with different languages. You can discuss anything
about Multiwfn and wavefunction analysis in either one. If you encountered problems in using
Multiwfn, please do not hesitate to post topic on these forums!
Multiwfn English forum: http://sobereva.com/wfnbbs
Multiwfn Chinese forum: http://bbs.keinsci.com/wfn
BTW: Multiwfn Youtube channel contains many valuable illustration videos of Multiwfn, it is
highly recommended to look at them and subscribe this channel.
9
2 General information
2 General information
2.1 Install
What you need to do is just uncompressing the program package, then you can start to use by
double-clicking the icon.
A few functions in Multiwfn rely on Gaussian, if you need to carry out these analyses, you
need to setup environment variables for Gaussian manually, see Appendix 1.
It is strongly suggested to set "nthreads" in settings.ini to actual number of CPU physical cores
of your machine, so that all computing power of your CPU could be utilized during calculation. See
Section 2.4 for more detail.
If you want to make Multiwfn able to directly open .chk file produced by Gaussian, set
"formchkpath" in settings.ini to actual path of formchk executable file in Gaussian package.
ulimit -s unlimited
These lines mean removing limitation on stacksize memory, and defining stacksize of 200MB
for each thread during parallel calculations, see Section 2.4 for detail.
Note: If ulimit -s unlimited does not work properly on your system, try to use ulimit -Sn unlimited instead.
• Run cat /proc/sys/kernel/shmmax to check if the size of SysV shared memory segments is
large enough (unit is in bytes); if the value is too small, Multiwfn may crash when analyzing big
wavefunction. To enlarge the size, for example you can add kernel.shmmax = 512000000 to
/etc/sysctl.conf and reboot system, then the upper limit will be enlarged to about 512MB.
• Assume that you are using Bash shell, and you have decompressed the Multiwfn package as
“/sob/Multiwfn_3.6_bin_Linux” folder, you should add below lines into ~/.bashrc file:
export Multiwfnpath=/sob/Multiwfn_3.6_bin_Linux
export PATH=$PATH:/sob/Multiwfn_3.6_bin_Linux
10
2 General information
chmod +x /sob/Multiwfn_3.6_bin_Linux/Multiwfn
• Configure the settings.ini file in Multiwfn folder in the same way as described in last Section
After re-entering the terminal, you can boot up Multiwfn anywhere by simply running Multiwfn
command.
If you use Multiwfn via remote connection to a server with text-only mode, and you find
Multiwfn get stuck by about two seconds after loading input file, please add export DISPLAY=":0"
to your ~/.bashrc file.
Linux version of Multiwfn works well on CentOS 6/7/8 and Ubuntu 12/14/16. I cannot guarantee that the
program is completely compatible with all other Linux distributions. If system prompts you that some dynamical
link libraries (.so files) are missing when booting up Multiwfn, please try to find and install the packages which
contain the corresponding .so files.
If you encounter difficulty when running/compiling Multiwfn due to missing or incompatibility of some
graphics related library files, and meantime you do not need any visualization function of Multiwfn, you can
run/compile Multiwfn without GUI supported, all functions irrelevant to GUI and map plotting will still work
normally. Please check “COMPLIATION_METHOD.txt” in source code package on how to compile this special
version, the pre-compiled executable file of this version can also be downloaded from Multiwfn website (termed as
"noGUI" version).
If you are using relatively old Mac OS version, e.g. OS X 10.8, simply follow the instruction
given in this section. If you intend to install Multiwfn in relatively new Mac OS systems, such as
OS X 10.11 EI Capitan and MacOS 10.12 Sierra, please follow steps in this page:
https://wiki.ch.ic.ac.uk/wiki/index.php?title=Mod:multiwfn. Since I am not a Mac user, I am sorry
that I am unable to provide much help if you encounter difficulty in Mac platform.
• Uncompress the program package to e.g. /Users/sob/Multiwfn. Notice that the path
(including file name) should less than 80 characters.
• Download .dmg file of Mac OS version of motif from http://www.ist-
inc.com/downloads/motif_download.html and then install it. The motif package I installed is
openmotif-compat-2.1.32_IST.macosx10.5.dmg.
If your system does not natively support X11 (i.e. OS X Mountain Lion), you should download
XQuartz from http://xquartz.macosforge.org/landing and install it.
• Add below sentence to your .profile file (e.g. /Users/sob/.profile) to make them take effect
automatically, then reboot your terminal. If the .profile is nonexistent, you should create it manually.
export OMP_STACKSIZE=64000000
OMP_STACKSIZE defines stacksize (in bytes) for each thread in parallel implementation, see
Section 2.4 for detail.
• Run sysctl -a|grep shmmax to check if the size of SysV shared memory segments is large
enough (unit is in bytes), if the value is too small, Multiwfn may crashes when analyzing big
wavefunction. In order to enlarge the size, you should edit or create the file /etc/sysctl.conf, and add
kern.sysv.shmmax = 512000000 to it and reboot system, then the upper limit will be enlarged to
about 512MB.
• Move the libdislin_d.11.dylib in the Multiwfn package to /usr/local/lib folder.
• Set Multiwfnpath environment variable if needed, see point 5 of Section 2.1.2.
• Configure the settings.ini file in the same way as described in Section 2.1.1.
11
2 General information
First of all a user should download the newest version of Unofficial Wineskin
(https://github.com/Gcenx/WineskinServer/releases/tag/V1.8.4). After that, run it, update the
wrapper version and download one of the most recent engines. These are
WS11WineCX64Bit19.0.1-1 (for 64bit system) or WS11WineCX19.0.1-1 (for 32bit system).
Finally, one should create new wrapper and use Windows GUI installer.
A Multiwfn user provides a way of compiling Multiwfn for Mac with Apple Silicon chips, see
http://sobereva.com/wfnbbs/viewtopic.php?id=802.
Using Multiwfn is very easy, by simply reading the prompts shown on screen, you will know
what should input next. If you get stuck, please read corresponding section carefully in Chapter 3
or corresponding tutorials in Chapter 4.
In Windows, usually Multiwfn is booted up by directly double-clicking the icon of the
executable file, then you should input the path of the file to be loaded. You can also boot up Multiwfn
via command line, and the same time the path of input file may be also given, for example you can
run Multiwfn /sob/test.wfn.
If the input file is in current directory, you can input file name without the path of directory. If
the input file is just the one that last time used, you can simply input the letter o after entering
Multiwfn (the path of the input file successfully read at last time was recorded in settings.ini). If the
input file is in the same folder as the one last time used, for convenience the path can be replaced
by symbol ?. For example, last time you loaded C:\sob\wives\K-ON\Mio.wfn, this time you can
simply input ?Azusa.fch to load C:\sob\wives\K-ON\Azusa.fch. If you preferred to choose input file
in GUI window, you can directly press ENTER button after entering Multiwfn, then a GUI window
will be shown for selecting input file.
You can press CTRL+C or click “×” button at right-top of Multiwfn window any time to exit
Multiwfn, but a more graceful way of exiting Multiwfn is inputting q in main menu. When graphical
window is showing on screen, you can click “RETURN” button to close the window, if there is no
such button, clicking right mouse button on the graph to close it.
If you want to load another file into Multiwfn, you can reboot Multiwfn or start a new Multiwfn
instance. Alternatively, in main menu you can input r to initialize Multiwfn and load a new file, at
the meantime the settings.ini will also be reloaded. However, please notice that the safest way of
loading a new file is rebooting Multiwfn.
Multiwfn can also run via silent mode instead of interactive mode, by which users do not need
to press any keyboard button during running. This is useful for batch processing, please consult
Sections 5.2 and 5.3.
Supported arguments
For convenience, there are a few arguments may be added when running Multiwfn via
command line:
• -nt: Number of threads for parallel calculation
• -uf: Index of user-defined function
12
2 General information
You will find following files after uncompressing Multiwfn package, only the bolded files are
indispensable for running Multiwfn:
• Multiwfn.exe (Windows) or Multiwfn (Linux/Mac OS) : The executable file of Multiwfn.
• libiomp5md.dll (Windows) : Intel OpenMP Runtime library.
• settings.ini : All detail parameters for running Multiwfn are recorded here, most of them do
not need to be frequently modified. When booting up, Multiwfn will try to find and use this file in
current folder, if it is not presented in current folder, the file in the path defined by "Multiwfnpath"
environment variable will be used; if the file still cannot be found, default settings will be used
instead. If you run Multiwfn via command line, you can also directly specify position of this file via
"-set" argument, for example: Multiwfn test.wfn -set /sob/3.7/settings.ini.
The meanings of all parameters in settings.ini are not documented in this manual systematically,
since they have already been commented in detail, only those important will be mentioned in this
manual. I suggest you read through the settings.ini and find out the ones useful for you.
• “examples” folder : Some useful files, scripts and the files involved in the examples of
Chapter 4.
• LICENSE.txt : The terms that all users must follow.
• Multiwfn quick start.pdf : A short document lets new user immediately understand how to
use Multiwfn to carry out very common tasks.
• How to cite Multiwfn.pdf : Please properly cite Multiwfn according to this document.
Most time-consuming codes of Multiwfn have been parallelized by OpenMP technique. If your
CPU has multiple cores, you can greatly benefit from parallelization. To enable parallelization, just
modify “nthreads” parameter in settings.ini to a proper number. For example, your computer have
a CPU with 12-cores physical cores, then commonly you should change “nthreads” to 12.
If Multiwfn crashes during parallel calculation for a very large system, try to enlarge
“ompstacksize” in settings.ini (for Windows version) or enlarge the value of the environment
variable OMP_STACKSIZE (for Linux or Mac OS version).
13
2 General information
Multiwfn determines the input file type by file extension. Notice that different functions need
different types of information, you should choose proper type of input file, see the table below. For
example, the wavefunction represented by GTFs is enough for Hirshfeld population, so you can
use .mwfn/.fch/.molden/.gms/.31~.40/.wfn/.wfx file as input, but .pdb, .xyz, .mol, etc. do not carry
any wavefunction information hence cannot be used; in contrast, generating grid data of RDG
function with promolecular approximation only requires atom coordinates, so all supported file
formats can be used (except for plain text file). The requirement on information types by each
function is commonly described at the end of corresponding section in Chapter 3 by red text.
About ghost atom: In any wavefunction format described below, ghost atoms (the points with basis functions
but without nuclear charges) are allowed to occur. Their element indices should be 0, and if the file format records
element names, the ghost atom should have element name of Bq. Their nuclear charges are loaded by Multiwfn in
common way from the file, but of course, in principle they should be zero since they are ghost atoms.
Multiwfn wavefunction file (.mwfn): This format is defined and supported since Multiwfn
3.7. This is the most ideal format for wavefunction storage and exchange purposes. This file records
all information for wavefunction analysis in a strict, concise, compact and extensible format. The
14
2 General information
introduction and definition of this format have been carefully described in my paper: ChemRxiv
(2020) DOI: 10.26434/chemrxiv.11872524.
AIM wavefunction file (.wfn): This format was first introduced by Bader’s AIMPAC program,
and currently supported by a lot of mainstream quantum chemistry softwares, such as Gaussian,
ORCA, GAMESS-US/UK, Firefly, Q-Chem and NWChem. The information in .wfn file include
atomic coordinates, elements, orbital energies, occupation numbers, expansion coefficients of
Cartesian Gaussian type functions (GTF). Supported angular momentum of GTF is up to f. The wfn
file does not contain any virtual orbital. The generation method of .wfn file is documented at the
beginning of Chapter 4.
Note: Although GTFs with angular moment of g and h are not formally supported by original .wfn format, if g
and h-type GTFs are recorded in following manner, then Multiwfn is able to recognize them: 21~35 in "TYPE
ASSIGNMENT" correspond to YZZZ, XYYY, XXYY, XYZZ, YZZZ, XYYZ, XXXX, XXXY, XZZZ, XXYZ,
XXXZ, XXZZ, YYYY, YYYZ, ZZZZ, respectively. 36~56 correspond to ZZZZZ, YZZZZ, YYZZZ, YYYZZ,
YYYYZ, YYYYY, XZZZZ, XYZZZ, XYYZZ, XYYYZ, XYYYY, XXZZZ, XXYZZ, XXYYZ, XXYYY, XXXZZ,
XXXYZ, XXXYY, XXXXZ, XXXXY, XXXXX, respectively. The sequence shown here in fact is also the sequence
used in the .wfn outputted by Molden2AIM and Gaussian09 since B.01.
AIM extended wavefunction files (.wfx) : This is a format introduced as an extension of .wfn,
and it was supported by Gaussian 09 since B.01 revision. Relative to .wfn format, .wfx supports
higher data record precision and infinitely high GTF angular moment. The most special point of this
format is the newly added electron density function (EDF) field, that is using multiple GTFs to
represent inner core electron density of the wavefunction in which effective core potential (ECP) is
used. Due to this, the result of electron density analysis for the wavefunction using ECP is nearly
identical to that for full electron wavefunction. Currently the real space functions supported EDFs
in Multiwfn include: electron density, its gradient and Laplacian, local information entropy, reduced
density gradient as well as Sign(λ2(r)). Meanwhile topology analyses of electron density and its
Laplacian also take into account EDFs. Notice that EDF information have neither effect on ESP nor
the real space functions that relied on wavefunction (e.g. kinetic energy density, ELF). If you you
want to analyze these properties for heavy elements, you should use full-electrons basis sets, at lease
small-core ECP. Currently the only supported GTF type in EDF field is S-type (actually S-type is
enough for fitting inner density, since which is nearly spherical symmetry). Like .wfn, Multiwfn
does not allow virtual orbitals presented in .wfx file.
Multiwfn has a powerful built-in EDF library, taken from Molden2aim program developed by
Wenli Zou. As long as the input file contains GTF information (e.g. .fch, .wfn, .molden, .gms...),
Multiwfn always automatically loads EDF information from this library for the atoms using
pseudopotential. Only when you use .wfx file as input and the .wfx itself already contains EDF field,
the EDF information will be loaded from the .wfx file rather than from EDF library. See Appendix
4 for more details.
Note that although some programs other than Gaussian can also generate .wfx file (e.g. ORCA),
these .wfx files are unable to provide EDF field.
Notice: For certain version of Gaussian (e.g. G09 B.01), I found that the EDF field recorded in .wfx for rare
cases is problematic, namely the number of electrons represented by EDF field is unequal to the actual number of
core electrons exhibited by ECP. In order to verify if the EDF field is correct, you can use subfunction 4 in main
function 100 to obtain the integral of total electron density over the whole space, if the result is approximately equal
to the total number of electrons (core+valence electrons), that means the EDF field is correct.
Gaussian formatted checkpoint file (.fch/.fchk): Checkpoint file of Gaussian program (.chk)
15
2 General information
can be converted to formatted checkpoint file (.fch/.fchk) via formchk utility in Gaussian package.
There is no any difference between .fch and .fchk. "fch" ("fchk") is the default extension generated
by Windows (Linux) version of formchk.
If you want to make Multiwfn able to directly load .chk file, you must set "formchkpath" in
settings.ini to actual path of formchk executable file in Gaussian package. In this case Multiwfn will
automatically invoke formchk to convert .chk file to .fch/fchk file, and if conversion is successful,
the .fch/fchk will be loaded and then be automatically deleted once loading is finished.
.fch/.fchk contains richer information than .wfn/.wfx files, virtual orbital wavefunctions are
also recorded, and meanwhile it provides basis function information for Multiwfn. If you want to
use .fch/.fchk file as carrier for post-HF wavefunction, read the beginning of Chapter 4 carefully!
The .fchk file generated by Q-Chem and PSI4 can also be used as input file of Multiwfn. (If
the .fchk file was generated by relatively old version of Q-Chem, you must set “ifchprog” in
settings.ini to 2. You do not need to do this if your Q-Chem version is equal or newer than 5.0).
16
2 General information
Na 9
Cl 7
A disadvantage of using Molden input file as wavefunction carrier is that its format is not as
compact as .mwfn and .fch. Due to this reason, for the same wavefunction, loading speed of .molden
file is much slower than .mwfn and .fch. Therefore, if you need to frequently analyze a .molden file,
I suggest you use subfunction 2 of main function 100 to convert it to .mwfn format.
The way of generating Molden input file by some quantum chemistry programs is described at
the beginning of Chapter 4. If you are an ORCA user and you do not want to manually convert
the .gbw file to Molden input file via the orca_2mkl utility in ORCA, you can set "orca_2mklpath"
in settings.ini to actual path of orca_2mkl executable file in ORCA folder, then Multiwfn will be
able to directly load .gbw file.
PS: Detailed description about .molden format can be found on Molden official site:
https://www3.cmbi.umcn.nl/molden/molden_format.html.
GAMESS-US or Firefly output file (.gms): If you want to use GAMESS-US or Firefly
(originally known as PC-GAMESS) output file as input file, you can change its extension as .gms,
then Multiwfn will properly recognize it. Currently, I can only guarantee that output file of
HF/DFT/TDDFT calculation with default NPRINT option can be normally loaded by Multiwfn. If
the point group is not C1, Multiwfn will be unable to deal with the output file.
The role of .gms is similar as .molden and .fch file, i.e. all of them provide atomic coordinates,
GTF and basis function information.
Since I am not a experienced Firefly user, I cannot guarantee that the compatibility with Firefly output files is
as good as GAMESS-US output files. For the former I only tested DFT single point task and TDDFT task.
Plot files of NBO program (.31~.40): The main purpose of supporting these file types is for
visualizing PNAO/NAO/PNHO/NHO/PNBO/NBO/PNLMO/NLMO/MO (their orbital coefficients
are recorded in .32~.40 respectively), .31 recorded basis function information. After boot up
Multiwfn, you should input the path of .31 file first, and then input the path of one of .32~.40 files
(for simplicity, you can only input the suffix when the filenames are identical).
Notice that among all types of the orbitals generated by NBO program, only using NBO or
NLMO to calculate real space functions is meaningful!
Protein data bank format (.pdb), .xyz, MDL Molfile (.mol/sdf), .mol2: These are the most
widely used formats for recording atom coordinates. They do not carry any wavefunction
information, but for the functions which only require atom coordinates, using these kind of files as
input is adequate. An advantage of .mol and .mol2 with respect to .pdb and .xyz is that they contain
atomic connectivity table, which is need by a few functions of Multiwfn, e.g. Calculation of EEM
atomic charges. If .xyz file contains multiple frames, only the first frame will be loaded.
17
2 General information
Notice that the .mol file supported by Multiwfn is V2000 version, both the maximum number
of atoms and bonds that can be recorded are 999. More description about .mol format can be found
in https://en.wikipedia.org/wiki/Chemical_table_file. .sdf file is simply a wrapper of .mol file with
additional information.
In a standard .xyz file, the name of each atom is element name. However, the .xyz file exported by VMD based
on trajectory of some molecular dynamics programs is atom name used in the simulation, in this case Multiwfn is
unable to always correctly recognize actual elements from the atom names, so there is special rule in Multiwfn to
circumvent this issue: If there is a .pdb file with identical name in the same folder as the inputted .xyz file, element
name in the .pdb file will be used instead (however, if for an atom the element name is missing in the .pdb file, the
Multiwfn will still guess element from atom name in the .xyz file).
.pqr file: This format is very similar to .pdb format, but with different content. Behind the
columns corresponding to atomic X/Y/Z coordinate, there are two columns recording atomic
charges and atomic radii, respectively (the number of decimals of the two columns is not important,
the fields must be delimited by white-space). This kind of file can provide atom information as well
as atomic charge information to Multiwfn. Below is an example .pqr file of water. The REMARK
field could exist to record comments, they will be skipped during loading the file.
REMARK From file m1charges.out
Charge files (.chg): This type of plain text file can be generated by some functions of Multiwfn
(e.g. population analysis functions), it contains element names (less than or equal to two characters),
atom coordinates (first three columns, in Å) and charges (the fourth column), users can modify them
manually. This file is free-formatted, all fields must be delimited by white-space. This file can
provide atomic charge information, the main use of which is to visualize electrostatic potential and
analyze it on molecular surface based on atomic charges, the electrostatic interaction energy based
on atomic charges can also be evaluated by subfunction -2 of main function 7 using .chg as input
file. When .chg file is loaded, the sum of all atomic charges as well as electric dipole moment
calculated using the atomic charges will be shown on screen.
An example of .chg file of water molecule is given below:
O 0.000000 0.000000 0.119308 -0.301956
.gro file: GROMOS structure format. This kind of file is most frequently employed in
GROMACS molecular dynamics program. .gro file can only provide atomic information for
Multiwfn. Note that since this file records atom name rather than element, Multiwfn automatically
guesses the actual element based on atom names and residue names during loading. However,
sometime the guessed element may be incorrect, therefore it is recommended to examine the printed
molecular formula after loading the file.
.cif file: This is the standard format for recording crystal structure. Symmetry operations must
be explicitly given in this file, otherwise positions of equivalent atoms cannot be generated.
18
2 General information
Gaussian-type cube file (.cub or .cube): This is the most popular volumetric data format, it
can be generated by vast computational chemistry softwares and can be recognized by the majority
of molecular graphics programs. Atom coordinates, a set of grid data of real space function or
multiple sets of grid data of molecular orbitals could be recorded in this file. After a cube file is
loaded into Multiwfn, one can choose main function 0 to visualize isosurfaces, or use main function
13 to process the grid data.
Gaussian input file (.gjf), ORCA input file and MOPAC input file (.mop): These files can
provide atom coordinate information as well as the number of and electrons information to
Multiwfn. Note that the atoms must be recorded as Cartesian coordinate. .gjf can also provide cell
information to Multiwfn via “Tv” field.
CP2K input and restart file (.inp and .restart): These files can provide atom coordinate
information and cell information to Multiwfn. Note that the atoms must be recorded as Cartesian
coordinate in Å.
Quantum ESPRESSO input (.inp or .in): It can provide atom coordinate information and
cell information to Multiwfn. Only ibrav=0 is supported.
19
2 General information
Plain text file: This file type is only used for special functions, such as plotting DOS graph,
plotting spectrum, generating Gaussian input file with initial guess. See explanations in
corresponding sections.
The "Real space functions" in this manual referred to as the functions whose variables are
coordinate of the three-dimension space of present system. Real space function analysis is one of
the most important functions of Multiwfn, the supported real space functions are listed below. All
wavefunctions are assumed to be real type, all units are in atomic unit (a.u.).
Notice that for speeding up calculation, especially for big system, when evaluating a
exponential function (except for some real space functions, such as 12, 14 and 16), if the exponent
is more negative than -40, then this evaluation will be skipped. The default cutoff value is safe
enough and cannot cause detectable loss of precision even in quantitative analysis, you can also
disable this treatment or adjust cutoff, see “expcutoff” in settings.ini.
1 Electron density
2
(r ) = + +
x y z
20
2 General information
2 (r ) 2 (r ) 2 (r )
(r ) =
2
+ +
x 2 y 2 z 2
The positive and negative value of this function correspond to electron density is locally
depleted and locally concentrated respectively. The relationships between ∇2 𝜌 and valence shell
electron pair repulsion (VSEPR) model, chemical bond type, electron localization and chemical
reactivity have been built by Bader and many other researchers.
If “laplfac” in settings.ini is set to other value rather than the default one 1.0, ∇2 𝜌 will be
multiplied with this value. Setting it to negative value is convenient for analysis of electron density
concentration.
The ∇2 𝜌 outputted by Multiwfn is in atomic unit, which can be explicitly written as 1 Bohr-5
(corresponding to 24.09874 Å-5, since 1 Bohr = 0.529177 Å).
When you select this function, you will be prompted to input the index of orbital i.
s (r ) = (r ) − (r )
If “ipolarpara” in settings.ini is set to 1, then spin polarization parameter function will be
returned instead of spin density
(r ) − (r )
(r ) =
(r ) + (r )
The absolute value of going from zero to unity corresponds to the local region going from
unpolarized case to completely polarized case.
operator | −(1 / 2) | can be recovered by integrating kinetic energy density from
2
1
K (r ) = −
2 i
ii* (r)2i (r)
21
2 General information
Relative to K(r), the local kinetic energy definition given below guarantee positiveness
everywhere, hence the physical meaning is clearer and more commonly used. G(r) is also known as
positive definite kinetic energy density.
1 1
i (r ) i (r ) i (r )
2 2 2
G (r ) = i i (r ) = i + +
2
2 i 2 i x y z
1 i i
Since i = (i i2 ) = 2i i i , there is an equivalent form of G(r): .
8 i i
2 ( r ) / 4 = G ( r ) − K (r )
ZA
Vnuc (r) =
A r − RA
where RA and ZA denote position vector and nuclear charge of atom A, respectively. If pseudo-
potential is used, then Z is the number of explicitly expressed electrons. When .chg file is used as
input, Z will stand for the atomic charges recorded in the file (the fourth column), at this time Vnu is
useful for analyzing the difference between exact electrostatic potential and the electrostatic
potential reproduced by atomic charges.
Notice that at nuclear positions, this function will be infinite and may cause some numerical
problems in program, hence at these cases this function always returns 1000 instead of infinity.
1
ELF(r ) =
1 + [ D(r ) / D0 (r )]2
where
22
2 General information
1 (r )
2
1
2
(r )
D(r ) = i i (r ) − +
2
2 i 8 (r ) (r )
3
D0 (r ) = (6 2 ) 2 / 3 [ (r )5 / 3 + (r )5 / 3 ]
10
1 (r )
2
1
D(r ) = i i (r ) −
2
2 i 8 (r )
D0 (r ) = (3 / 10)(3 2 )2/3 (r)5/3
Savin et al. have reinterpreted ELF in the view of kinetic energy, see Angew. Chem. Int. Ed.
Engl., 31, 187 (1992), which makes ELF also meaningful for Kohn-Sham DFT wavefunction and
even multi-configuration wavefunction. The first term of D(r) can be seen as the exact kinetic
energy density of the non-interacting electron system defined by KS-DFT theory, namely
S (r ) = (1 / 2)i i (r ) , while the second term is equivalent to Weizsäcker kinetic energy
2
energy density caused by Pauli repulsion and it is known as Pauli kinetic energy density. The D0(r)
can be interpreted as Thomas-Fermi kinetic energy density TF, which is the exact kinetic energy
density of non-interacting, uniform electron gas. Since D0(r) is introduced into ELF as reference,
what the ELF reveals is actually degree of relative localization.
ELF is within the range of [0,1]. A large ELF value means that electrons are greatly localized,
indicating that there is a covalent bond, a lone pair or inner shells of the atom involved. ELF has
been widely used for a wide variety of systems, such as organic and inorganic small molecules,
atomic crystals, coordination compounds, clusters, and for different problems, such as the revealing
atomic shell structure, classification of chemical bonding, verification of charge-shift bond,
studying aromaticity.
BTW: Someone questioned the implementation of ELF in Multiwfn for multi-configuration wavefunctions.
The following paragraphs are my response to a Multiwfn user in an E-mail, which justifies the definition of ELF
employed by Multiwfn that given above:
It should be noted that ELF has different interpretations, or, there are different ways of deriving ELF. Originally,
Becke et al. derived ELF based on average Fermi hole for HF wavefunction, therefore the original form of ELF is
incompatible with multi-configuration wavefunctions like MP2, CASSCF and CCSD (it is even not strictly
applicable to DFT wavefunction!). I noticed that some people extended ELF to multi-configuration wavefunctions
by following Becke's original idea, which, however, is fairly complicated and difficult to implement, and thus not
adopted by Multiwfn.
In contrast, for multi-configuration wavefunctions, Multiwfn calculates ELF simply based on their natural
orbitals, as mentioned in Section 2.6 of manual. I believe this is never incorrect but physically sound. In Angew.
Chem. Int. Ed. Engl., 31, 187 (1992), Savin et al. reinterpreted the physical meaning of ELF in terms of kinetic
energy, this paves a way of calculating ELF for any kind of wavefunction as long as kinetic energy density is
available. By following this viewpoint, all three kinds of kinetic energy densities involved in the expression of ELF
are calculated based on natural orbitals. Although the result of this implementation is not identical as the one
mentioned above (i.e. based on Fermi hole exactly derived from multi-configuration wavefunctions), it is also strict
and physically meaningful.
In short, for multi-configuration wavefunctions, the realization of ELF is not unique, which depends on how
one looks at ELF.
Notice that there is a deficiency of ELF, sometimes with r going beyond from molecular
23
2 General information
boundary, D(r) decreases faster than D0(r) and then ELF reaches 1 (completely localized). To
overcome the problem, Multiwfn automatically adds a minimal value 10-5 to D(r), this treatment
almost does not affect the ELF value in interesting regions. You can also disable this treatment by
modifying “ELF_addminimal” in settings.ini to 0.
Tsirelson and Stash put forward an approximate version of ELF in Chem. Phys. Lett., 351, 142
(2002), in which the actual kinetic energy term in D(r) is replaced by Kirzhnits type second-order
gradient expansion, that is
(1 / 2)i i (r ) TF (r ) + (1 / 72) (r ) / (r ) + (1 / 6)2 (r )
2 2
so that ELF is totally independent from wavefunction, and then can be used to analyze electron
density from X-ray diffraction data. Of course Tsirelson’s ELF can also be used to analyze electron
density from quantum chemistry calculation, but is not as good as the ELF defined by Becke owing
to the approximation introduced in kinetic energy term, however, qualitative conclusions can still
be recovered in general. If you want to use Tsirelson’s definition of ELF, change “ELFLOL_type”
in settings.ini from 0 to 1.
If “ELFLOL_type” is set to 2, another formalism will be used:
1
1 + D (r ) / D0 (r )
A real space function closely related to ELF is SCI index, it is very useful for identifying strong
covalent bonds, see introduction of user-defined function 37 in Section 2.7.
(r )
LOL(r) =
1 + (r )
where
D0 (r )
(r ) =
(1 / 2) i i (r )
2
D0(r) for spin-polarized system and closed-shell system are defined in the same way as in ELF.
LOL has similar expression compared to ELF. Actually, the chemically significant regions that
highlighted by LOL and ELF are generally qualitative comparable, while Jacobsen pointed out that
LOL conveys more decisive and clearer picture than ELF, see Can. J. Chem., 86, 695 (2008).
Obviously LOL can be interpreted in kinetic energy way as for ELF, however LOL can also be
interpreted in view of localized orbital. Small (large) LOL value usually appears in boundary (inner)
region of localized orbitals because the gradient of orbital wavefunction is large (small) in this area.
The value range of LOL is identical to ELF, namely [0,1].
Multiwfn also supports the approximate version of LOL defined by Tsirelson and Stash (Acta.
24
2 General information
Cryst., B58, 780 (2002)), namely the actual kinetic energy term in LOL is replaced by second-order
gradient expansion, as what they do for ELF. This Tsirelson’s version of LOL can be activated by
setting “ELFLOL_type” to 1.
For special reason, if “ELFLOL_type” in settings.ini is changed from 0 to 2, another formalism
1
will be used: LOL(r) = .
1 + [1 / (r)]2
S ( x ) = − P( x ) ln P( x ) d x
For chemical system, if P(x) is replaced with (r)/N, then the integrand may be called as local
information entropy of electrons
(r ) (r )
S (r ) = − ln
N N
where N is the total number of electrons in current system. Integrating this function over whole
space yields information entropy.
ZA (r ')
VESP (r ) = Vnuc (r ) + Vele (r ) = − dr'
A r − RA r −r'
where Z is nuclear charge, the index A cycles over all atoms. If pseudo-potential is used, then ZA is
the number of explicitly represented electrons. The atomic unit (a.u.) of ESP is Hartree/e, where e
is elementary charge. Other commonly used unit are eV/e and kcal/(mole), however for simplicity,
in Multiwfn they are printed as eV and kcal/mol, respectively. The value in eV/e unit is equal to the
value in SI unit (J/C).
This function measures the electrostatic interaction between a unit point charge placed at r and
the system of interest. A positive (negative) value implies that current position is dominated by
nuclear (electronic) charges. Molecular electrostatic potential (ESP) has been widely used for
prediction of nucleophilic and electrophilic sites for a long time. It is also valuable in studying
hydrogen bonds, halogen bonds, molecular recognitions and the intermolecular interaction of
aromatics. Moreover, based on statistical analysis, Murray and coworkers found a set of functions
called GIPF, see J. Mol. Struct. (THEOCHEM), 307, 55, which connects ESP in molecular surface
and macroscopic properties. There are a lot of reviews on ESP, interested readers are suggested to
25
2 General information
consult WIREs Comput. Mol. Sci., 1, 153 (2011), Theor. Chem. Acc., 108, 134 (2002), Chapter 17
of the book Chemical Reactivity Theory-A Density Functional View, the entry "Electrostatic
Potentials: Chemical Applications" (page 912) in the book Encyclopedia of Computational
Chemistry and Chapter 7 of the book Reviews in Computational Chemistry vol.2.
By the way, if you only want to obtain the electrostatic potential contributed by electrons,
namely Vele(r), you can use the 14th user-defined function. If you want to omit contribution of
specific nucleus during evaluating VESP(r), use 39th user-defined function. See corresponding
entries in Section 2.7 for details.
Note 1: Currently there are two sets of internal code in Multiwfn for evaluating ESP, they can be selected by
"iESPcode" in settings.ini. iESPcode=1 corresponds to the old and slow code written by Tian Lu, iESPcode=2
(default) corresponds to the newer and fast code provided by Jun Zhang based on his LIBRETA electron repulsion
integral library. In addition, in many kinds of analyses, if you are using .fch/fchk as input file and Gaussian has been
installed on your machine, you can allow Multiwfn to invoke the cubegen utility in Gaussian package to calculate
ESP, the speed is even faster than "iESPcode=2" if number of your CPU cores is less than 10, see Section 5.7 for
detail.
Note 2: Some functions in Multiwfn modify orbital occupations. For example, user can use subfunction 26 of
main function 6 to manually modify occupation number of specific orbitals. Only the ESP calculated by internal
code with "iESPcode=1" directly reflect the effect of the modification on occupation. In the case of using
"iESPcode=2", in order to represent the effect of modification in the ESP calculation, you should first export the
modified wavefunction to .wfn/wfx/molden/mwfn (via subfunction2 of main function 100), then reboot Multiwfn
and load the file.
1 (r )
RDG(r ) =
2(3 ) 2 1/ 3
(r ) 4 / 3
Notice that there is a parameter “RDG_maxrho” in settings.ini, if the value is set to x, then
RDG function will be set to an arbitrary big value (100.0) where the electron density is larger than
x. This mechanism allows uninteresting regions to be shielded when viewing isosurfaces of weak
interaction regions. By default x is 0.05, you can nullify this treatment by setting the parameter to
zero.
26
2 General information
15 sign(2)
where sign[λ2(r)] means the sign of the second largest eigenvalue of electron density Hessian matrix
at position r.
(r1 ) (r2 ) . Of course, in real world electrons always interacting with each other, so their
1 2
motions are correlated. The pair density thereby should be corrected by exchange-correlation
density Г
If we have already known that an electron with spin σ1 presents at r1, then the probability of
27
2 General information
finding another electron with spin σ2 at r2 is known as conditional probability (This function is also
known as Lennard-Jones function)
(r1 , r2 )
1 2
XC (r1 , r2 )
1 2
1 2 (r1 , r2 ) = =
( r ) +
2
(r1 ) 1
2
(r1 ) 1
Correlation hole reveals the decrease of probability of finding another electron with spin σ2 at
r2 when an electron with spin σ1 presents at r1 owing to electron correlation effect
ГXC can be decomposed to the sum of exchange correlation (also called as Fermi correlation)
part ГX and Coulomb correlation part ГC, therefore hXC can be straightforwardly decomposed to
exchange hole hX (also called as Fermi hole) and Coulomb hole hC as follows. Likewise, fXC can be
decomposed to fX and fC
XC1 2 (r1 , r2 ) = X1 2 (r1 , r2 ) + C1 2 (r1 , r2 )
1 2
hXC (r1 , r2 ) = hX1 2 (r1 , r2 ) + hC1 2 (r1 , r2 )
1 2
f XC (r1 , r2 ) = f X1 2 (r1 , r2 ) + f C1 2 (r1 , r2 )
Fermi correlation only presents between like-spin electrons; while Coulomb correlation occurs
between any two electrons. Fermi correlation is much more important than Coulomb correlation,
even at Hartree-Fock level, Fermi correlation is always well represented due to the anti-symmetry
requirement of Slater determinant, while Coulomb is completely omitted. Only post-HF
wavefunction is capable to simultaneously exhibit Fermi and Coulomb correlation effects.
Commonly we only focus on Fermi hole while neglecting Coulomb hole. One can easily show that
integration of hX over whole space is exactly equal to -1, hence Fermi correlation perfectly avoided
self-pairing problem, which may cause significant rise in system energy; while the integration for
hC is zero, this is mainly why Coulomb correlation has less influence on system energy.
It is also rather straightforward to obtain the pair density and conditional probability when only
exchange correlation or Coulomb correlation is taken into account.
The total π, Ω, ГXC (or ГX, ГC) and hXC (or hX, hC) for an electron with spin σ, regardless the
spin of another electron can be defined as
28
2 General information
i j
For post-HF wavefunction, exact evaluation of pair density requires two-particle density matrix
(2PDM). Unfortunately, 2PDM is very difficult to be obtained, mainstream quantum chemistry
packages including Gaussian cannot directly output it. In Multiwfn, exchange-correlation density
for post-HF wavefunction is approximately evaluated by natural orbital formalism. Note that the
approximate method is not unique, see J. Chem. Theory Comput., 6, 2736 (2010) for discussion.
The most popular form among them, which is firstly derived by Müller, is currently implemented
in Multiwfn as below. See Phys. Lett. A, 105, 446 (1984), also see Mol. Phys., 100, 401 (2002) for
extensive discussion (especially equation 32).
XC,approx
,tot
(r1, r2 ) = −
i j i (r1 ) j (r2 ) j (r1 )i (r2 )
* *
i j
Obviously, if occupation numbers of natural spin orbitals are integer (0 or 1), then α,tot
XC,approx
α,tot
reduces to single-determinant form. so XC,approx can be regarded as a general form to evaluate
exchange-correlation density. Note that post-HF wavefunction has taken Coulomb correlation
between unlike-spin electrons into account, however there is no way to separate α
XC,approx and
α
XC,approx from α,tot
XC,approx .
i j
C,approx
,tot
(r1 , r2 ) = XC,approx
,tot
(r1 , r2 ) −
X,approx (r1 , r2 )
= [(
i j −
i j ) i (r1 ) j (r2 ) j (r1 ) i (r2 )]
* *
i j
Since we already have explicit expression to calculate ГXC term, other quantities introduced
earlier can be easily computed according to the relationships between them and ГXC. Recall that
29
2 General information
i
Postscript: One can show that α,tot
XC,approx (𝐫1 , 𝐫2 ) also exactly holds the requirement that
integration of r2 over the whole space is equal to −𝜌 (𝐫1 ). However, in common, integrating r2 over
the whole space for α,tot α,tot
X,approx (𝐫1 , 𝐫2 ) and C,approx (𝐫1 , 𝐫2 ) deviate from −𝜌 (𝐫1 ) and zero,
respectively, which are basic properties of exact form of α,tot
X and α,tot
C .
calculated is hX ,tot (r1 , r2 ) , which is equivalent to hX (r1 , r2 ) since β electron pairs have no
exchange correlation. This quantity can be interpreted as Fermi hole at r2 caused by an electron
present at r1.
(r ) |
i i |
I (r ) = i
(r )
where i(r) and i are the electron density function and orbital energy of the ith molecular orbital,
respectively. Hartree-Fock and typical DFT functionals such as B3LYP are both suitable for
computing 𝐼 .̅ Lower value of 𝐼 ̅ indicates that the electrons at this point are more weakly bounded. 𝐼 ̅
has widespread uses, for example revealing atomic shell structures, measuring electronegativity,
predicting pKa, quantifying local polarizability and hardness, but the most important one may be
predicting reactive site of electrophilic or radical attack. It is proved that the minima of ALIE on
vdW surface are good indicator to reveal which atoms are more likely to be the preferential site of
30
2 General information
electrophilic or radical attack. There are also many potential uses of 𝐼 ̅ waiting for further
investigation. Excellent reviews of 𝐼 ̅ have been given by Politzer et al, see J. Mol. Model., 16, 1731
(2010) and Chapter 8 of the book Theoretical Aspects of Chemical Reactivity (2007).
Since 𝐼 ̅ is dependent upon orbital energies, while orbital energy for post-HF wavefunction is
undefined, therefore when post-HF wavefunction is used, 𝐼 ̅ will be simply outputted as zero
everywhere.
If the parameter "iALIEdecomp" in settings.ini is set to 1, in main function 1, not only 𝐼 ̅ will
be outputted, the contribution from each occupied MOs will also be outputted, the contribution due
to MO i is defined as
i (r ) | i |
I i (r ) =
(r)
19 Source function
Source function was proposed by Bader and Gatti, see Chem. Phys. Lett., 287, 233 (1998).
2 (r')
SF (r, r') = −
4 r − r'
It can be shown that
20,21 Electron delocalization range function EDR(r;d) and orbital overlap distance
function D(r)
Content of this section and all analysis code of EDR(r;d) and D(r) was kindly contributed by Arshad Mehmood
and then slightly adapted by Tian Lu.
The electron delocalization range function EDR(r;d) (J. Chem. Phys., 141, 144104 (2014); J.
Chem. Theory Comput., 12, 3185 (2016); Angew. Chem. Int. Ed., 56, 6878 (2017)) quantifies the
31
2 General information
extent to which electrons at point r in a wave function occupy orbital lobes of size d. EDR(r;d) is
built from the nonlocal one-particle reduced density matrix (1-RDM) (r, r ') = i (r ) (r ')
i
as
EDR (r; d ) = g d (r, r ') (r, r ') dr '
| r − r ' |2
3/4
2
g d (r, r ') = 2
−1/2 (r ) exp −
d d 2
Here (r) is the electron density at point r. The prefactor ensures that the EDR is between -1 and
+1. The Multiwfn implementation evaluates the EDR on grids, for a single global input value of
distance d. Section 4.5.6 illustrates an example.
At each point, the orbital overlap distance function D(r)=argmaxdEDR(r;d) corresponds to the
distance d that maximizes EDR(r;d). Compact, chemically "hard" regions of small D(r) are
distinguished from diffuse, chemically "soft" regions of large D(r). Atomic averages of valence-
electron D(r) complement the information obtained from atomic partial charges. Plots of D(r) on
density isosurfaces, and quantitative analysis of such surfaces, complements molecular electrostatic
potentials. The Multiwfn implementation evaluates EDR(r;di) on a grid of distances di, then uses a
three-point numerical fit to find the maximum. Sections 4.5.7 and 4.12.8 illustrate example
calculations.
g (r ) = g IGM (r ) − g (r ) = abs[
A
A (r )] −
A
A (r )
where A stands for atomic density of atom A, the abs() operator makes each of the three gradient
components to be its absolute value. Specifically, Multiwfn supports two ways to calculate the g:
• Real space function 22: Corresponding to the g calculated under promolecular
approximation, namely the A corresponds to spherically density of atom A in its isolated state, in
this case only geometry information is needed to be supplied by input file, since the atomic densities
are built-in data in Multiwfn (see Appendix 3 for detail).
• Real space function 23: Corresponding to the g calculated based on Hirshfeld partition of
actual molecular electron density, thus wavefunction must be supplied by input file. This definition
was proposed by me in J. Comput. Chem., 43, 539 (2022). In this case the A is defined as wA,
where is molecular electron density calculated in usual way, wA is Hirshfeld weighting function
of atom A (see Section 3.9.1 for its definition).
The g function at bond critical point in weak interaction region is shown to be closely related
to interaction strength. This function can also be plotted as plane map or isosurface map to reveal
all bonding regions. Very detailed introduction of IGM method is given in Section 3.23.5, and if you
want to study weak interaction due to specific two or more fragments, you should use the function
described in this section.
32
2 General information
| (r) |
IRI (r) =
[ (r)]a
where a corresponds to "uservar" in settings.ini. When it is set to 0, then the recommended value
1.1 is employed. See Section 3.23.8 for detailed introduction of IRI. Note that IRI is set to an
arbitrarily large value (5.0) if is equal or smaller than “IRI_rhocut” in settings.ini, so that IRI
isosurfaces in uninterested extremely low regions will not occur. If “IRI_rhocut” is set to 0 then
this treatment is not applied. For basin analysis and topology analysis for IRI or IRI-, it should be
set to 0 to avoid occurrence of artificial extrema due to this treatment (this is automatically done by
Multiwfn).
In real space function selection menu, you can find a term named "User-defined real space
function". In order to avoid lengthy list of real space functions, numerous uncommonly used real
space functions are not explicitly presented in the list. However, if you want to use them, you can
set "iuserfunc" parameter in settings.ini to one of the indices (see below), then the user-defined
function will be pinned to corresponding function. For example, before running Multiwfn, if you
set "iuserfunc" to 2, then the user-defined real space function will be equivalent to density of beta
electrons. An alternative way of setting user-defined function is inputting iu in the main menu, you
can input the index of the user-defined function.
In fact, the user-defined function corresponds to “userfunc” function in source file function.f90.
By filling proper code yourself, the functions supported by Multiwfn can be easily extended. For
examples, after filling the code "userfunc=fgrad(x,y,z,'t')**2/8/fdens(x,y,z)" into proper place of
“function userfunc” in function.f90 and recompile Multiwfn, the integrand of Weizsäcker kinetic
energy functional, namely W [ ] = (r) / [8 (r)]d r , will be ready for use. When you
2
write your own code you can refer to existing codes, a list of built-in functions is given in Appendix
2 of this manual.
33
2 General information
14 and 16, because in which the atomic densities from H to Ar are directly taken from the original paper of NCI
method rather than calculated according to the method described in Appendix 3.
-1 Value evaluated by trilinear interpolation from grid data. The grid data can be generated by main
function 5, or loaded from .cub/.grd/.vti file when Multiwfn boot up. This function is quite useful.
For example, by making use of this function you can plot the grid data as curve map and plane map
via main functions 3 and 4, respectively; you can also gain atomic contribution to the total value via
subfunction 1 of fuzzy atomic space analysis module (main function 15).
-3 The same as -1, but use 3D cubic B-spline interpolation instead. The cost is higher than trilinear
interpolation but smoother and usually more accurate especially when grid spacing is relatively large.
However, the function interpolated via cubic B-spline shows unwanted feature where the variation of actual
function cannot be well approximated by polynomial and in this case the result is even worse than trilinear
interpolation. For example, cusp character of electron density at nucleus cannot be faithfully represented. In addition,
the function shows fluctuant feature when the actual function shows a steep slope close to a region of small slope,
or when the grid points inadequately represents the actual function.
For trilinear and B-spline interpolations, evidently the position to be calculate should be within the range of the
grid data, otherwise the interpolation cannot be carried out and thus the function value will simply be zero.
2 Beta density: (r ) = [ (r ) − (r )] / 2
s
1 (r )
2
1 2 (r )
4 Weizsäcker potential (closed-shell form): VW (r ) = −
8 2 (r ) 4 (r )
5 Integrand of Weizsäcker functional (closed-shell form): W (r) = (r) 2 / [8 (r)] , which is
the exact kinetic energy density of any one-orbital system (one or two electrons, or any number of
bosons). If you need spin polarized form, use user-defined function 1200.
7 Local temperature, in Hartree/kB (PNAS, 81, 8028): T (r) = [2G(r)] / [3 (r)] . Note that if is
less than the “uservar” parameter in settings.ini, then T will be treated as 0.
8 Average local electrostatic potential (J. Chem. Phys., 72, 3027 (1980)): VESP (r ) / (r )
11 Electron energy density: E (r) = G(r) + V (r) = − K (r) (Sometimes E is written as H). Note that
integral of E(r) over the whole space is not exactly identical to the electronic energy printed by
quantum chemistry code, because in practice the virial ratio is always more or less violated.
-11 Scaled electron energy density: Escl (r ) = − K (r ) ( R − 1) , where R is the virial ratio loaded from
34
2 General information
input file (beware that not all kinds of input file contain this information! fch/mwfn/wfx/wfn format
have specific field to record it). Integral of Escl(r) over the whole space is exactly identical to the
electronic energy printed by quantum chemistry code. Section 4.17.9 illustrates the usefulness of
this function.
13 Kinetic energy density per electron: G(r) / (r) This quantity at bond critical point is able to
discriminate covalent bonding and closed-shell interaction, see J. Am. Soc. Chem., 120, 13429 (1998)
(r ')
14 Electrostatic potential from electrons: Vele (r ) = VESP (r ) − Vnuc (r ) = − r − r' dr' . The
negative of this function is also known as Hartree potential, which represents classical Coulomb
potential on an electron at r caused by all electrons.
D0 (r ) − G (r )
has a pattern very similar to ELF, with value space of [-1,1]: =
D0 (r ) + G (r )
19 Single exponential decay detector (SEDD), which is highly analogous to ELF. Its updated
definition in J. Chem. Theory Comput., 10, 3745 (2014) is implemented:
( (r ) / (r )) 2
2
SEDD( r ) = ln 1 +
(r )
20 Density overlap regions indicator (DORI), defined in J. Chem. Theory Comput., 10, 3745 (2014):
DORI(r) = (r) / [1 + (r)] , where (r ) = [( (r) / (r))2 ]2 / [ (r) / (r)]6 . DORI is
mainly used to reveal interatomic interaction regions, see Section 3.23.3 for more information
21 Integrand of X component of electric dipole moment: −x(r)
22 Integrand of Y component of electric dipole moment: −y(r)
23 Integrand of Z component of electric dipole moment: −z(r)
24 Approximate form of DFT linear response kernel for closed-shell (Phys. Chem. Chem. Phys., 14,
35
2 General information
useful to discuss bonding and very similar to reduced density gradient, see Theor. Chem. Acc., 127,
393 (2010)
26 Integrand of Thomas-Fermi kinetic energy functional (closed-shell form): TF(r) = CTF(r)5/3,
where CTF=(3/10)(32)2/3=2.871234. This is the exact kinetic energy density of non-interacting,
uniform electron gas. If you need spin polarized form, use user-defined function 1200.
− i (r ) i
2
local ionization energy, but i cycles all unoccupied orbitals. See J. Mol. Model., 9, 342 (2003).
Illustration of applying this function for a practical molecule is given in Section 4.12.13.
i 0
i (r ) i
2
n
-27 Local electron attachment energy: Eatt (r ) = i = LUMO
. i loops over all unoccupied
(r )
orbitals with negative energy. For restricted and unrestricted wavefunctions, n equals to 2 and 1,
respectively. See J. Phys. Chem. A., 120, 10023 (2016). This function has similar usefulness as LEA
but is more robust. Illustration of applying this function for a practical molecule is given in Section
4.12.13.
(2003)
Note: In order to use EAL, Eatt, L and L, the input file must contain both occupied and
unoccupied orbitals of a single determinant wavefunction (but restricted open-shell is not supported),
formats such as .mwfn, .fch, .molden and .gms should be used as input file.
Generally EAL (and thus L and L) is not compatible with basis sets with diffuse functions,
while any basis set may be used for evaluating Eatt. The much better compatibility with augmented
basis set is a notable advantage of Eatt over EAL. However, in order to use Eatt, at least LUMO should
has a negative energy, while often this condition is not satisfied under commonly used levels. It is
found in the original paper of Eatt that this function works reasonably with B3LYP/6-31+G(d,p)
orbitals.
30 Ellipticity of electron density: (r ) = 1 (r ) / 2 (r ) − 1 , where 1 and 2 are the lowest and
the second lowest eigenvalues of Hessian matrix of , respectively. At bond critical point (BCP), 1
and 2 are both negative and exhibit the curvatures of electron density in the two orthogonal
36
2 General information
directions that perpendicular to the bond. The at BCP is often viewed as an indicator of asymmetric
distribution of electron density around the bond, the higher deviation to axisymmetric distribution,
the larger the value at BCP.
31 eta index: (r ) = 1 (r ) / 3 (r ) , where 1 and 3 are the lowest and the highest eigenvalues of
Hessian matrix of , respectively. It was argued that the value of at bond critical point is less than
unity for closed shell interactions and increases with increasing covalent character, see Angew. Chem.
Int. Ed., 53, 2766 (2014), as well as J. Phys. Chem. A, 114, 552 (2010) for discussions.
32 Modified eta index by Tian Lu: '(r ) = 1 (r ) / 3 (r ) − 1 . Similar to , but negative value of
ZA 1 (r, r')
VPAEM (r ) = −
| r − R A | (r ) | r − r' |
+ d r' , π is pair density. It can be further written as
A
is the total molecular electrostatic potential and VXC is exchange-correction potential. In Multiwfn,
the exchange-correlation density Γ is evaluated in terms of Müller approximation, see part 17 of
Section 2.6 for detail. It was shown in the original paper that PAEM may be useful to distinguish
covalent and noncovalent interactions. An example of application of PAEM can be found in Section
4.3.3.
34 The same as 33, but now VXC directly corresponds to DFT exchange-correlation potential. Its
specific form can be chosen via "iDFTxcsel" parameter, see the end of this section for detail. This
form of PAEM is significantly cheaper than 33 but only supports closed-shell wavefunction. For
very large systems, cost of 33 is computationally forbidden, so 34 is the only choice.
35 |𝑉(𝐫)|/𝐺(𝐫). In J. Chem. Phys., 117, 5529 (2002) it was proposed that this quantity at BCP can
be used to discriminate interaction types. <1 corresponds to closed-shell interaction; >2 corresponds
to covalent interaction; while >1 and < 2 corresponds to intermediate interaction.
36 On-top pair density, namely the two positions of the pair density are identical: (r,r). See such
as Int. J. Quantum Chem., 61, 197 (1995) for discussion. "paircorrtype" parameter in settings.ini
mentioned earlier affects the result.
37 The strong covalent interaction index (SCI) defined in J. Phys. Chem. A, 122, 3087 (2018) and
further examined in J. Mol. Model., 24, 213 (2018). This function was shown to be very useful for
identifying very strong covalent bonds. SCI is expressed as SCI(r) = 1/(r), where (r) = [S(r) −
W(r)]/TF. The meaning of S, W and TF are described in Section 2.6 where ELF is introduced. It
is easy to find SCI index is closely related to ELF, which can be written as ELF(r) = 1/[1+ 2(r)].
38 The angle between the second eigenvector of Hessian of electron density and the vector
perpendicular to a given plane, which can be defined by option 4 of main function 1000; the unit
vector normal to the plane will be shown on screen, assume that you use three points A, B, C to
define the plane and you get vector u, but what you really want is -u, you can then input the points
again but in reverse sequence, i.e. C, B, A. In J. Phys. Chem. A, 115, 12512 (2011) this quantity
along bond paths was used to reveal π interaction.
37
2 General information
ZA (r ')
Vn (r ) = r−R
A K
−
r −r'
d r ' , where the nucleus K can be set by option 3 of main function
A
1000 (which is hidden in main interface but can be chosen). Vn is a useful quantity, for example if
K is chosen as index of a hydrogen, then the value correlates with its pKa, because in this case Vn
approximately reflects the binding energy of a proton at the position of K and rest of the system; In
addition, J. Phys. Chem. A, 118, 1697 (2014) showed that Vn can be used to quantitatively predict
interaction energy of the weak interactions dominated by electrostatic effect (viz. H-bonds, halogen-
bonds, dihydrogen bonds), see Section 4.1.2 for introduction and example.
It is worth to mention that in main function 1, when you request Multiwfn to print properties at nuclear position
of an atom, the electrostatic potential without contribution of nuclear charge of this atom is automatically printed.
40 Steric energy density: (r) / [8 (r)] , which is equivalent to integrand of Weizsäcker
2
functional.
1 | (r ) |2 1 2 (r)
41 Steric potential: s (r ) = − . The negative of this quantity is also
8 [ (r) + ]2 4 (r) +
known as one-electron potential (OEP). Notice that the is a very small term artificially introduced
to avoid the denominator converges to zero faster than nominator. The value of can be determined
by "steric_addminimal" in settings.ini. If is set to 0, then the original expression of steric potential
is recovered.
Notice that the term, which is mentioned above, also affects steric force and steric charge.
Discussions of steric energy/potential/force/charge can be found in J. Chem. Phys., 126, 244103
(2007).
44,45,46 Damped Steric potential, steric force based on damped steric potential, directly damped
Steric force: Documented privately
47 Damped steric charge: Documented privately
𝜌(𝐫)
49 Relative Shannon entropy density, also known as information gain density: 𝑖G = 𝜌(𝐫)ln 𝜌 ,
0 (𝐫)
where 0(r) is promolecular density. Before performing any analysis or visualization for this
function, you must enter main function 1000 (a hidden function) and then select subfunction 17 to
construct promolecular wavefunction and store in memory, which is generated by calculating
wavefunction files for all atoms (see Section 3.7.3 for details) and then combining them together.
38
2 General information
Shannon entropy and Fisher information can be found in J. Chem. Phys., 126, 191107 (2007). The
integration of this function over the whole space is exactly identical to that of Fisher information
density.
53 Ghosh entropy density or Ghosh-Berkowitz-Parr (GBP) entropy density, in kB (PNAS, 81, 8028
(r )
57 g1 (r ) = (r )ln
2
0 (r )
2 (r ) 2 0 (r )
58 g 2 (r ) = (r ) −
(r ) 0 (r )
59 g 3 (r ) = (r ) ln (r )
0 (r )
Note that user-defined functions 57, 58, 59 can only be studied by plotting as map in main
functions 3, 4, 5, and meantime deformation and promolecular maps are not available.
60 Pauli potential: V. Multiwfn supports two ways to evaluate this function, depending on
"ispecial" in settings.ini:
• ispecial=0: According to Eq. 17 of Comput. Theor. Chem., 1006, 92 (2013), V = + VESP − VXC
− VW, where is chemical potential (assumed to be zero by Multiwfn), VESP is electrostatic potential
(as described in Section 2.6) and VXC is exchange-correlation potential (its form is determined by
"iDFTxcsel" in settings.ini, see later).
• ispecial=1: Use original definition, namely 𝑉θ = 𝑉S − 𝑉W = 𝛿𝜏S [𝜌]/𝛿𝜌 − 𝛿𝜏W [𝜌]/𝛿𝜌, where VS
is potential of non-interacting kinetic energy functional (S), and VW is potential of Weizsäcker
kinetic energy functional (W). The form of S can be chosen by "iKEDsel" in settings.ini, see later;
currently only iKEDsel of 3, 5, 7 are supported.
Since Pauli force and charge are calculated by finite difference based on Pauli potential, and
quantum potential/force/charge are defined based on Pauli potential/force/charge, the user-defined
functions 61~65 are also affected by "ispecial".
39
2 General information
to VESP − VW
Chem. Phys., 19, 1496 (2017), there is a very close relationship between steric force, quantum force
and electrostatic force, which are user-defined functions 43, 64 and 66, respectively.
68 Energy density of electronic part of electrostatic term of Shubin Liu's energy decomposition:
(r) ZA
e (r ) = (r ) d r − = −VESP (r ) (r ) . To learn more about Shubin
| r − r | A | r − R A |
3 (r ) 9 2 (r )
70 Phase-space-defined Fisher information density (PS-FID): if (r ) = = ,
k BT (r ) 2 G (r )
where T(r) is local temperature as shown above. This function has very similar characters to ELF
and LOL, the spatial localization of electron pairs can be clearly revealed. See Chem. Phys., 435,
49 (2014) for introduction and illustrative applications.
71, 72, 73, 74 Electron linear momentum density (EMD) in 3D representation. The electron linear
momentum operator is − i , for an orbital the expectation value of linear momentum in X is
i
defined functions correspond to X, Y, Z component, respectively. The magnitude (74) of EMD is
defined as ptot (r ) = p x2 (r ) + p 2y (r ) + p z2 (r ) .
75, 76, 77, 78 Magnetic dipole moment density (MDMD). The operator for magnetic dipole moment
is the angular momentum operator (see Theor. Chim. Acta, 6, 341 (1966))
40
2 General information
− i (r ) = −i ˆi y − z + ˆj z − x + kˆ x − y
z y x z y x
(r ) (r )
m x (r ) = −i i* (r ) y i −z i
i z y
(r ) (r )
m y (r ) = − i i* (r ) z i −x i
i x z
(r ) (r )
mz (r ) = −i i* (r ) x i −y i
i y x
The 75, 76, 77th user-defined functions correspond to X, Y, Z components, respectively. The 78th
natural spin orbital, is corresponding occupation number. This and below two functions are very
useful for revealing electron correlation in different regions, see J. Chem. Theory Comput., 13, 2705
(2017) for introduction, illustrative example can also be found in Section 4.A.6. Note that in some
cases, may be marginally larger than 1.0 or negative, Multiwfn automatically sets it to 1.0 and 0.0
respectively to make the calculation feasible.
88 Local dynamic electron correlation function:
I D (r) = 14 i (1 − i ) − 2i (1 − i ) | i (r) |2
i
92, 93, 94 Van der Waals potential, repulsion potential and dispersion potential based on UFF
forcefield parameters, see Section 3.23.7 for detailed introduction. The unit is in kcal/mol, the probe
atom can be set by "ivdwprobe" in settings.ini. Note that 92 is identical to the 25th function
described in Section 2.6.
95, 96, 97, 98 Orbital-weighted f +, f −, f 0 Fukui functions as well as orbital-weighted dual descriptor,
41
2 General information
respectively. They are originally proposed in J. Comput. Chem., 38, 481 (2017) and J. Phys. Chem.
A, 123, 10556 (2019). They are useful in studying local reactivity for systems whose frontier
molecular orbitals are (quasi-)degenerate, see Section 3.25.3 for brief introduction and Section
4.22.2 for illustrative examples. The parameter in these functions can be set by option 6 of main
function 1000 (a hidden option). Since these functions involve virtual orbitals, you should use
mwfn/fch/molden/gms as input file. Only closed-shell single-determinant wavefunction is
supported.
99 Interaction region indicator (IRI): The same as function 24 described in Section 2.6.
100 Disequilibrium (also known as semi-similarity): 𝐷r (𝐫) = 𝜌2 (𝐫). See illustrative applications in
Int. J. Quantum Chem., 113, 2589 (2013).
+ +
101 Positive part of ESP: 𝑉ESP . In the region where VESP is positive, 𝑉ESP = 𝑉ESP ; where ESP is
+
negative, 𝑉ESP = 0.
− +
102 Negative part of ESP: 𝑉ESP , defined similarly as 𝑉ESP .
103 Magnitude of electric field |F|. Since electric field vector is simply negative gradient vector of
ESP, therefore this quantity corresponds to norm of gradient of ESP.
110 Total energy density of the steric, electrostatic and quantum components defined in Shubin Liu's
energy decomposition analysis (see Section 3.24.2 for introduction), corresponding to sum of user-
defined functions 40, 68 and 69
111 Sum of steric potential, electrostatic potential and quantum potential. Note that "ispecial",
"iDFTxcsel" and "iKEDsel" in settings.ini affect this and next two functions, see description of user-
defined function 60 for detail.
112 Magnitude of vector sum of steric force, electrostatic force and quantum force.
113 Sum of steric charge, electrostatic charge and quantum charge.
114 Pauli kinetic energy density: 𝜏θ (𝐫) = 𝜏S (𝐫) − 𝜏W (𝐫), where S(r) is the kinetic energy density
that can be chosen by "iKEDsel" in settings.ini (see later), and W(r) is Weizsäcker kinetic energy
density.
200 Random number of [0,1).
819 Ultrastrong interaction (USI): USI(𝐫) = ∇2 𝜌(𝐫)/𝜌5/3 (𝐫). See J. Phys. Chem. A, 126, 2437
(2022) for detail.
820 Bonding and noncovalent interaction (BNI): BNI(𝐫) = [𝐺(𝐫) − 𝜏W (𝐫)]/𝜏W(𝐫), where G(r) is
Lagrangian kinetic energy density. See J. Phys. Chem. A, 126, 2437 (2022) for detail.
900, 901, 902 X, Y and Z coordinate variables, respectively.
Functions 910~914 shown below calculate atomic weighting function. The atom to be
calculated is determined by “uservar” in settings.ini. Periodic system is supported except for Becke
atomic weighting function.
910 Hirshfeld atomic weighting function.
911,912 Becke atomic weighting function using Tian Lu covalent radii and CSD covalent radii,
respectively. Sharpness parameter of the boundary is 3
913 Tian Lu error function type atomic weighting function
914 Tian Lu Gaussian function type atomic weighting function
42
2 General information
999 Local Hartree-Fock exchange energy (or Hartree-Fock exchange energy density). Its integral
over the whole space corresponds to Hartree-Fock exchange energy.
Closed-shell situation:
1
eHFX (r) = − Eb (r)Ed (r)vbd (r)
4 bd
where
1
vbd (r ) = b (r ') d (r ')d r '
|r − r'|
Eb (r ) = Pib i (r )
i
Ed (r ) = Pid i (r )
i
1
eHFX (r ) = − Eb (r)Ed (r)vbd (r)
2 bd
1
eHFX (r ) = − Eb (r ) Ed (r )vbd (r )
2 bd
where
Ebr (r ) = Pibr i (r ) r = { , }
i
Edr (r ) = Pidr i (r ) r = { , }
i
1101 DFT exchange-correlation potential of electrons, only available for open-shell systems:
VXC (r ) = EXC / (r )
1102 DFT exchange-correlation potential of electrons, only available for open-shell systems:
VXC (r ) = EXC / (r )
43
2 General information
About iuserfunc=1200
The kinetic energy density (KED) denotes integrand of kinetic energy functional. User-defined
function 1200 is a collection of all KEDs supported by Multiwfn, which were systematically
examined in J. Chem. Phys., 150, 204106 (2019). The "iKEDsel" in settings.ini is used to choose
the form of KED.
Note that if "iKEDsel" is not at its default value (0), then the S term (Lagrangian kinetic energy
density) of ELF and strong covalent interaction index (SCI) will be replaced with corresponding
KED.
There is an subfunction 92 in the main function 1000 (hidden in the main menu), it can calculate
integral of all KEDs over the whole space, namely evaluating kinetic energy based on the kinetic
energy functionals. The GEA4 KED is calculated only when "iKEDsel" is set to 24 since it needs
Laplacian of electron density, while other KEDs only need electron density and its gradient. Integral
of Hamiltonian KED is not calculated by this function since the result is identical to that of
Lagrangian KED.
• iKEDsel=1: Hamiltonian KED, identical to real space function 6
44
2 General information
where CTF = 103 (6 2 )2/3 = 4.557799872 is Thomas-Fermi constant in spin polarized case.
(r )
2
factor, see J. Chem. Phys., 127, 144109 (2007) for detail. This paper systematically introduced and
compared a variety of existing KEDs. Note that a lot of expressions given in this paper are wrong,
while the formulae given below are absolutely correct, and all of them are explicitly written as spin
polarized form, if they will be involved in your work please cite my paper J. Chem. Phys., 150,
204106 (2019); citation of each KED is also given in this paper. More information and comparison
about KEDs can be found in Phys. Rev. A, 46, 6920 (1992) and J. Chem. Phys., 100, 4446 (1994).
1
• iKEDsel=5: Second order gradient expansion approximation, FGEA 2 = 1 + s (r ) 2
72CTF
1
• iKEDsel=6: Thomas-Fermi + 1/5 Weizsäcker KED, FTF 5 W = 1 + s (r ) 2
40C TF
1
• iKEDsel=7: Thomas-Fermi + Weizsäcker KED, FTFvW = 1 + s (r ) 2
8C TF
1.067
• iKEDsel=8: Thomas-Fermi + b/9 Weizsäcker KED, FTF 9 W = 1 + s (r ) 2
72CTF
0.313 0.187
• iKEDsel=9: N-dependent Thomas-Fermi KED, FTF −N = 1 + − 2 / 3 , where N is the
N 1/ 3 N
number of total electrons in the system
2
1 1 (r )
• iKEDsel=10: Pearson KED, Pear = TF + , where is fixed to
1 + [ sr (r ) / ]6 72 (r )
9b3 x 4 + a3 x 3 + a2 x 2 + a1 x + 1
• iKEDsel=11: DePristo-Kress Pade KED, FDK Pade = , where
b3 x 3 + b2 x 2 + b1 x + 1
45
2 General information
0.0044188[ s (r )]2
• iKEDsel=12: Lee-Lee-Parr KED, FLLP = 1 +
1 + 0.0253s (r )arcsinh[ s (r)]
1
• iKEDsel=13: Ou-Yang–Levy 1 KED, FOL1 = 1 + [ s (r )]2 + 0.00187 s (r)
72CTF
1 0.0245s (r )
• iKEDsel=14: Ou-Yang–Levy 2 KED, FOL 2 =1+ [ s (r )] +
2
72CTF 1 + 2 5 / 3 s (r )
[ s (r )]2
• iKEDsel=16: Becke 86A KED, FB86 A = 1 + 0.0039
1 + 0.004[ s (r)]2
[ s (r )]2
• iKEDsel=17: Becke 86B KED, FB86 B = 1 + 0.00403
{1 + 0.007[ s (r)]2 }4/5
• iKEDsel=18: DePristo-Kress 87 KED,
1 + 0.861504 s (r)
FDK87 = 1 + 0.00132327[ s (r)]2
1 + 0.044286[ s (r)]2
• iKEDsel=19: Perdew-Wang 86 KED,
86 = {1 + 1.296[ sr (r )] + 14[ sr (r )] + 0.2[ sr (r )] }
2 4 6 1 / 15
FPW
FPW 91 = , where a1=0.19645,
1 + a1sr (r ) arcsinh[ b sr (r )] + a4 [ sr (r )]4
a2=0.2743, a3=0.1508, a4=0.004 and b=7.7956
• iKEDsel=21: Lacks-Gordon 94 KED
{1 + a2 [ sr (r )]2 + a4 [ sr (r )]4 + a6 [ sr (r )]6 + a8 [ sr (r )]8 + a10 [ sr (r )]10 + a12 [ sr (r )]12 }b
FLG 94 =
1 + 10−8 [ sr (r )]2
, where a2=(10-8+0.1234)/0.024974, a4=29.790, a6=22.417, a8=12.119, a10=1570.1, a12=55.944 and
b=0.024974
1 1.412
• iKEDsel=22: Acharya-Bartolotti-Sears-Parr KED, FABSP = [ s (r )]2 + 1 − 1/3
8CTF N
1 2 1.303 0.029
• iKEDsel=23: Gázquez-Robles KED, FGR = [ s (r )]2 + 1 − 1 − 1 / 3 + 2 / 3
8CTF N N N
• iKEDsel=24: Fourth order gradient expansion approximation,
46
2 General information
(6 2 ) − 2 / 3 2 2
9 2 (r ) (r )
2
1 (r )
4
1 / 3 (r )
GEA 4 = GEA 2 + [ (r )] −
+
540
( r ) 8 (r ) (r ) 3 (r )
Note that if the "uservar" in settings.ini is not equal to zero, all above mentioned KEDs will be
added by "2 /uservar" term. For example, when iuserfunc=1200, iKEDsel=5 and uservar=6, the
user-defined function will correspond to GEA2+2 /6 (which corresponds to the KED employed
by Tsirelson type of ELF and LOL, as shown in Section 2.6).
1210 Potential of kinetic energy functional, whose form is determined by "iKEDsel" in settings.ini.
Only valid for closed-shell case and available for the following KEDs:
iKEDsel=3: Thomas-Fermi
iKEDsel=5: Second order GEA
iKEDsel=7: Thomas-Fermi + Weizsäcker
47
2 General information
Tip 1: If the graph is mainly composed of lines, e.g. contour line map and curve map, the best
formats are pdf and svg. However, if you need to embed the resulting graph to Office, commonly
wmf format should be used.
Tip 2: If you want to make background of exported image file transparent, please look this
video illustration: https://youtu.be/E7lAGac3aDM.
Multiwfn is able to deal with periodic systems, details will be given in this section. To analyze
wavefunction for periodic systems, you can use either wavefunction of cluster model produced by
quantum chemistry codes, or use periodic wavefunction produced by CP2K program, as will be
described in Section 2.9.1 and 2.9.2, respectively. There are many analyses in Multiwfn independent
of wavefunction, special attention of applying them to periodic systems will be described in Section
2.9.3.
2.9.1 Wavefunction analysis on wavefunction of cluster model
You can extend primitive cell of the crystal to a large supercell, then extract a cluster from the
supercell. Based on this cluster, you can use any quantum chemistry code to carry out optimization
or single point task and then analyze the resulting wavefunction as usual in Multiwfn. Of course, to
minimize artificial boundary effect due to the finite cluster size, the cluster should be large enough.
If you are not sure what the minimum acceptable size is, you can perform a convergence test for the
result with respect to cluster size. It is important to recognize that electronic structure of boundary
48
2 General information
atoms of the cluster should not be included in the discussion since it must be meaningless due to
unavoidable boundary effect.
If the crystal structure was determined by X-ray diffraction experiment, you should always
perform an optimization for positions of hydrogens, since hydrogens usually cannot be accurately
determined by X-ray diffraction.
If the atomic positions were determined experimentally with satisfactory resolution, geometry
optimization of heavy atoms (i.e. non-hydrogen atoms) should be ignored. However, if you want to
study surface reaction or adsorption, or investigate reaction inside the crystal, you should freeze
boundary heavy atoms to mimic bulk circumstance while optimize central region of the cluster to
represent the influence on geometry due to the reaction or adsorption.
There are four common kinds of crystals, some comments are given below:
• Molecular crystal: This is the simplest situation. Section 4.12.6 illustrates how to extract a
urea cluster from urea crystal, you can follow it to construct other kinds of cluster. A good example
of using cluster model to analyze wavefunction of molecular crystal is Fig. 6 of J. Comput. Chem.,
33, 580 (2012), in which reduced density gradient analysis was employed for urea cluster based on
B3LYP/6-31G** wavefunction. Another example: “Calculate absorption spectrum of a molecule in
crystal environment based on background charge” (http://sobereva.com/579).
• Metal crystal: An example of utilizing this model can be found in my blog article:
"Calculating adsorption on metal surface by quantum chemistry program based on cluster model"
(http://sobereva.com/540). It is not recommended to use cluster model to study d-group and f-group
metals, since self-consistent field of the corresponding cluster is very difficult to converge, and it is
easy to converge to unstable wavefunction.
• Covalent crystal: Graphene and diamond are typical instances, you should saturate the
boundary atoms by hydrogens to avoid dangling bonds, which make electronic structure of the
current system highly artificial. Of course, the position of the added hydrogens should be optimized.
A good example is Mater. Sci. Eng. B, 273, 115425 (2021) DOI: 10.1016/j.mseb.2021.115425,
which studies interaction between cyclo[18]carbon and graphene fragment using Multiwfn.
• Ionic or semi-ionic crystal: NaCl and TiO2 are typical cases. This type of crystal needs special
attention to properly account for boundary effect. Usually, embedded cluster model should be used,
as mentioned below. One should first determine a region of suitable size to be treated quantum
chemically (known as QM region). The larger the region, often the better the result but more
expensive. Numerous layers of point charges at crystal sites around the QM region should be added
as background charges to mimic electrostatic interaction between QM atoms and the environmental
atoms. Oxidation states of the environmental atoms may be chosen as the values of the point charges,
while there is a better but more complicated way to determine them by means of iteration process,
see Inorg. Chem., 58, 9303 (2019). In addition, effective core potentials (ECP, without basis
functions) of corresponding elements should be added to a layer of environmental atoms closest to
the QM region, they are known as capped ECP (cECP), and this very thin region is recognized as
buffer region. Presence of buffer region is needed to avoid electron spill-out from the QM region
towards the neighboring positive Coulomb singularities of the point charges, it is of great
importance when the QM region is negatively charged. See Inorg. Chem., 58, 9303 (2019) and J.
Chem. Theory Comput., 16, 6950 (2020) for details about the aforementioned embedded cluster
model, SI in the former paper provides an example ORCA input file. Also see Surface Sci., 471, 21
(2001) for another application. Note that another way of avoiding the electron spill-out problem is
49
2 General information
using Gaussian charge distribution to represent the environmental atoms, this is known as Gaussian
expansion of the electrostatic potential (GEEP) and supported by QM/MM treatment of CP2K, see
J. Chem. Theory Comput., 1, 1176 (2005).
The .molden file exported by CP2K can be used as input file of Multiwfn. In order to generate
it, you should add the following content in the $DFT field of input file
&PRINT
&MO_MOLDEN
NDIGITS 9
&END MO_MOLDEN
&END PRINT
Then you should edit the file to manually add cell information at the beginning of the file, for
example
[Molden Format]
[Cell]
[Atoms] AU
...ignored
The three highlighted rows respectively correspond to the three translation vectors of the cell (also
known as cell vectors) in Å. Any type of cell is supported, the cell is not necessarily to be orthogonal.
For convenience, you can also specify the cell information in terms of cell lengths (a, b, c) and
cell angles (, , ). For example, the following content define a = 15 Å, b = 13 Å, c = 18.5 Å, =
90, = 90, = 121.3.
[Cell]
15 13 18.5 90 90 121.3
50
2 General information
In addition, if you do not hope to modify .molden file, you can also provide the cell information
(three lines for three cell vectors, or one line for six cell parameters) in a text file named [Cell].txt
and put it in current folder. When [Cell] cannot be found from .molden file while [Cell].txt is
detected in current folder, Multiwfn will ask you if loading cell information from it.
If you employed pseudopotential, it is suggested to modify the element index of the atoms to
actual number of valence electrons, so that appropriate electron density function (EDF) can be
automatically employed to represent electron density of inner core electrons when you studying
electron density and its derivatives (see Appendix 4 for detail), and Multiwfn can correctly calculate
atomic charges, this is why the second term after "C" in above example has been changed to 4 from
the element index (6). If you find it is too troublesome to modify the file for every atom one by one,
you can use the [Nval] field to manually specify number of valence electrons for specific elements,
for example
...ignored
[Nval]
C 4
O 6
[Atoms] AU
...ignored
An example CP2K input file of generating .molden file for 2×2 supercell of diamond has been
provided as examples\PBC\CP2K_diamond_2x2_DZVP-MOLOPT.inp.
51
2 General information
Note on studying one- and two- dimension systems: If you want to study a two-dimension
system which is parallel to XY plane, it is highly suggested to set the "ifdoPBCxyz" to 1,1,0, then
periodicity in Z direction will not be taken into account, the computational cost will also be reduced.
Similarly, for a one-dimension system with periodicity of Z direction, it is suggested to set
"ifdoPBCxyz" to 0,0,1.
52
2 General information
Currently, only a few of these functions explicitly support taking periodic boundary condition
(PBC) into account, as shown below (in other words, other functions will simply treat the current
system as an isolated system):
• Visualizing geometry and grid data (main function 0)
• Processing grid data (main function 13), including plotting (local) integral curve
• RDG/NCI analysis based on promolecular density, independent gradient model (IGM)
(subfunctions 2 and 10 of main function 20, respectively)
• van der Waals potential analysis (subfunction 6 of main function 20)
• Evaluate interatomic connectivity and atomic coordination number (subfunction 9 of main
function 100)
• Calculating cavity diameter (described in Section 3.100.21)
• Visualizing free regions and calculating free volume for a porous system (subfunction 1 of
main function 300)
• Plot molecular surface distance projection map (subfunction 8 of main function 300)
• Domain analysis (subfunction 14 of main function 200)
• Calculating bond length/order alternation (BLA/BOA) (subfunction 9 of main function 200)
Note that the "ifdoPBCxyz" parameter mentioned in the last section also affects result of
geometry analysis of periodic systems.
53
2 General information
.cif file
.molden file produced by CP2K and modified according to Section 2.9.2
.mwfn file containing "Ndim" field and Ndim>0
.pdb and .pqr file containing "CRYST1" field
.gro file of GROMACS/GROMOS code
.mol2 file containing "@<TRIPOS>CRYSIN" field
Gaussian input file containing "Tv" (translation vector) information
.fch/fchk file produced by Gaussian PBC calculation
CP2K input file or restart file
POSCAR, CHGCAR, CHG, ELFCAR, LOCPOT file of VASP program
.xyz file. The original format does not have a field to record cell information, however you
can manually add cell information in the second line of this file to provide cell information to
Multiwfn. For example, the following content in second line defines three translation vectors as
(7.426 0.0 0.0), (-3.66 6.40 0.0) and (0.0 0.0 10.0) Å:
Tv_1: 7.426 0.0 0.0 Tv_2: -3.66 6.40 0.0 Tv_3: 0.0 0.0 10.0
Alternatively, in the second line you can use the same way as extended xyz format (“Lattice” label)
to record cell information, for example
Lattice="7.426 0.0 0.0 -3.66 6.40 0.0 0.0 0.0 10.0"
.wfn file. The original format does not have a field to record cell information, however you
can manually add cell information like the following one at the end of the file. The field contains
three cell vectors and has the same format as the [Cell] field in CP2K file as mentioned above, the
unit is Å.
[Cell]
If cell information is available, these files exported by subfunction 2 of main function 100 will
also carry cell information: .mwfn, .molden, .pdb, .pqr, .xyz, .fch, .gjf, .wfn, CP2K input file.
54
3 Functions
3 Functions
This chapter introduces all functions of Multiwfn in detail, the numbers in the parentheses of
secondary titles are indices of corresponding functions in main menu, the numbers in the parentheses
of tertiary titles are indices of corresponding options in corresponding submenus. Different
functions of Multiwfn require different types of input file, the information needed by each function
are shown in the final line of corresponding section. Please choose proper type of input file
according to the table in Section 2.5.
When main function 0 is selected, information of all atoms as well as basic information of
featured orbitals (e.g. index of HOMO and LUMO, HOMO-LUMO gap) will be printed on text
window, meanwhile molecular structure will be shown in a GUI window. If the input file contains
orbital information, the orbitals can be viewed by selecting corresponding orbital index in the list at
right-bottom corner of the window, or by directly inputting orbital index in the text box, see below
screenshot. If the input file is .cub or .grd format, then one can view isosurface of the grid data in
this interface.
55
3 Functions
Since most widgets in this GUI are self-explanatory, I only mention some worth noting points
here.
Viewing structure
"Ratio of atomic size" is the ratio of one-fourth of atom radius shown on screen to its van der
Waals (vdW) radius, so if the slide bar is dragged to 4.0, then what to be shown is vdW surface.
There are three predefined drawing styles of system structure, you can activate one of them via
“Use CPK style”, “Use vdW style” and “Use line style” in “Other settings” in the menu.
The perspective can be adjusted by "Left", "Right", "Up", "Down", "Zoom in" and "Zoom out"
buttons. To exactly control the view, you can also directly input value of rotation angles by selecting
"Set rotation of viewpoint" option in "Set view" dropdown list in the menu, in this list there are also
many other options to change view. In addition, you can scroll your mouse wheel in the drawing
region to zoom in and zoom out.
Multiwfn determines if two atoms are bonded by empirical distance criteria, if the distance
between two atoms is short than 1.15 times of the sum of their CSD covalent radii, they will be
considered as bonded. You can adjust this criterion by dragging "Bonding threshold" slide bar.
Note: If your input file contains connectivity information, such as .mol and .mol2, then the bonds will be
displayed directly according to the provided connectivity.
The color of bonds, atomic labels and atom spheres can be set by parameters "bondRGB",
"atmlabRGB" and "atmcolorfile" in settings.ini, respectively. See corresponding comments for
detail. After adjusting these parameters, you need to reboot Multiwfn to make them take effect. You
can also directly change atomic label color in the GUI via “Other settings”-“Set atomic label color”.
Viewing orbitals
By clicking "Orbital info." and then selecting corresponding options, basic orbital
information can be printed on text window.
All orbital indices are listed in the right-bottom box, default selection is “none” (no orbital is
shown). If you click an orbital index, Multiwfn will calculate grid data of wavefunction value for
corresponding orbital, and then the orbital isosurface appears immediately. Green and blue parts
correspond to positive and negative regions, respectively. The “Isovalue” slide bar controls the
isovalue of the isosurface.
For efficiency consideration, the default quality of grid data is relatively coarse, the number of
grid points can be set by "Isosur. quality", the larger number leads to the smoother isosurface (Note
that after you adjust the number, present isosurface will be deleted). You can also set default number
of grid points through changing “nprevorbgrid” in settings.ini.
For unrestricted wavefunction, the alpha and beta orbitals are recorded separately. Assume that
there are Na alpha orbitals and Nb beta orbitals, then the first Na and latter Nb orbitals in the orbital
selection list correspond to alpha and beta orbitals, respectively. Whereas in the orbital selection
box, negative index corresponds to beta orbitals. For example, if you input -9, then the 9th beta
orbital will be shown, and the orbital selection list will be automatically switched to the Na+9 term.
Sometimes it is useful to display two orbitals simultaneously; for example, analysis of phase
overlapping of two NBOs. This can be realized by "Show+Sel. Isosur#2" (Sel.=Select) check box.
This check box is inactive by default, once you have chosen an orbital (corresponding isosurface
will be referred to as Isosurface #1), this check box will be activated. After you clicked the check
box, the isosurface of the orbital you newly selected (which will be referred to as Isosurface #2) will
be shown together with the orbital you previously selected, yellow-green and purple parts
56
3 Functions
correspond to positive and negative regions respectively. If the check box is deselected, Isosurface
#2 will disappear, then if you reselect the check box the same Isosurface #2 will be redrawn.
The representation styles of Isosurface #1 and #2 can be adjusted by suboptions in "Isosur.
#1" and "Isosur. #2" individually, available styles include solid face (default), mesh, points, solid
face+mesh and transparent face. (Notice that Multiwfn cannot plot only one isosurface as
transparent face). The colors for face and mesh/points can be set by corresponding suboptions too,
users will be prompted to input Red, Green, Blue components for positive and negative parts in turn,
the component should between 0.0 and 1.0. For instance, 1.0,0.0,0.0 corresponds to pure red while
1.0,1.0,0.0 corresponds to Yellow. The default values for positive and negative parts can be set by
"isoRGB_same" and "isoRGB_oppo" in settings.ini, respectively. Opacity for transparent face can
also be customized, valid range is from 0.0 (completely transparent) to 1.0 (completely opaque).
Before showing orbital isosurfaces, Multiwfn first sets up a box internally, then calculates
orbital wavefunction value at the points evenly placed in the box. The default extension distance for
setting up the box is controlled by "Aug3D" parameter in settings.ini. The default value is suitable
and efficient for general cases; however, in rare cases (e.g. visualizing Rydberg orbitals) you may
need to manually enlarge the extension distance, you can either change the Aug3D to modify the
default setting, or select "Other settings"-"Set extension distance" and then input a value to modify
extension distance for present instance.
When orbital isosurface is portrayed as solid face, in rare cases the plotting effect is not quite
good, for example positive and negative regions are difficult to be distinguished, in these cases you
can try to adjust lighting setting by choosing "Other settings"-"Set lighting" or properly rotate the
system to bypass this issue.
Tools submenu
In the "Tools" of the menu bar, there are many options:
• Write settings to GUIsettings.ini: Write visualization state (e.g. color, view angle, molecular
representation, text size, etc.) to GUIsettings.ini in current folder. If "Multiwfnpath" environment
variable has been defined, the GUIsettings.ini will be written to the folder defined by this
environment variable instead.
• Load settings from GUIsettings.ini: Load visualization state from GUIsettings.ini in current
folder, so that you can quickly retrieve previous visualization state. If "Multiwfnpath" environment
variable has been defined, Multiwfn will first try to load this file from the folder defined by this
environment variable.
• Measure geometry: By inputting two, three and four atom indices in the boxes and press
ENTER button, the bond length, angle and dihedral will be returned.
• Batch plotting orbitals: Via this tool you can very conveniently save a lot of selected orbitals
to respective image file in current folder, see https://youtu.be/SHwrQhqBHZ0 for video illustration.
• Select fragment: After selecting it and input an atom index, the whole fragment where the
atom attributes to will be highlighted, and the indices of all atoms in the fragment will be returned.
This is useful when you perform some analyses, in which you need to input atom indices in the
fragment of interest.
• Get atom indices of given element: Input an element name, program will return indices of all
atoms of corresponding element
• Print XYZ coordinates in Angstrom: X, Y, Z coordinates of all atoms with Å as unit will be
shown in console window
57
3 Functions
• Print fractional coordinates: Fractional coordinates of all atoms will be shown in console
window. This option is available only when cell information is available.
• Export all internal coordinates: This option exports all bonds, angles and dihedrals of present
system to int_coord.txt in current folder. If you want to use this function with noGUI version of
Multiwfn, after entering main menu, you can input geomparm, then all internal coordinates can be
exported to specific file.
More functions and illustration of the use of the main function 0 are described in Section 4.0.
Information needed: GTFs (only for viewing orbitals), atom coordinates, grid data (only for
viewing isosurface of grid data)
Input coordinate of a point or index of an atom, then the values of all real space functions
supported by Multiwfn at the point or corresponding nuclear position will be printed on screen, as
well as each component of gradient and Hessian matrix of specified function (default is electron
density). The function can be specified by f?, for example f9 select ELF, you can input allf to check
all available functions. The orbital whose wavefunction value will be outputted can be selected by
command o?, for example o4 choose the 4th orbital. If the input file merely contains atom
coordinates (such as pdb file), then only limited functions based on electron density will be outputted,
the electron density used is promolecular density constructed from fitted free atom density, see the
introduction of real space function 14 in Section 2.6.
If input d, value of a real space function at a given point can be decomposed into orbital
contributions. The contribution from orbital i is evaluated as follows: First set occupation number
of all orbitals to zero except for orbital i, and then calculate real space function as usual. Note that
sum of contribution of all orbitals may be different to the result when all orbitals are simultaneously
into account, since many real space functions contain non-linear operators, such as ELF.
Electrostatic potential is the most expensive one among all of the real space functions supported
by Multiwfn. If you are not interested in it, you can set "ishowptESP" parameter in settings.ini to 0
to skip calculation of electrostatic potential.
Information needed: GTFs (depending on the choice of real space function), atom coordinates
In this function, what you should do is just selecting a real space function and then define a
line. There are two ways to define the line:
(1) By inputting indices of two atoms, the line will be automatically extended by a small
distance in each side, the extended distance can be adjusted by "aug1D" in settings.ini or by the
option “0 Set extension distance for mode 1”, default value is 1.5 Bohr.
58
3 Functions
The gray dashed line indicates the position of Y=0. If the line is defined by the second way,
two red circles with Y=0 will appear in the graph, they indicate the position of the two nuclei. Click
right button on the graph and then you can select what to do next, you can redefine the scale of Y-
axis, export the data to line.txt in current directory, save the graph to a file, locate minimal and
maximal positions and so on. Note that the process for searching stationary points and the position
where Y equals to specified value is based on the data you have calculated, that means the finer the
points, the more accurate X position you will get.
The data points are evenly distributed in the line, the number of points is 3000 by default,
which is fine enough for most cases. The number can also be adjusted by “num1Dpoints” parameter
in settings.ini. Of course, the more points the more time is needed for calculating data. Notice that
for ESP calculation, the number of points is decreased to one-sixth automatically, because it is much
more time-consuming than other task.
Information needed: GTFs (except for ESP from nuclear/atomic charges and promolecular
approximation version of RDG and sign(2)), atom coordinates
The basic steps of using this function are listed below. Users can finish all operations by simply
following program prompts, there are only a few key points are needed to be described.
1. Select a real space function
2. Select a graph type
3. Set the number of grid points in both dimensions
4. Define a plane
5. View the graph
59
3 Functions
6. Post-processes (adjust plotting parameters, save graph, export data to plain text file, etc.)
It is noteworthy that after you enter this function, you will see real space function selection menu; if you select
option 111 (a hidden option), then the real space function to be plotted will be Becke weight of an atom or Becke
overlap weight between two atoms. If you select option 112 (another hidden option), Hirshfeld weight of a given
atom or fragment will be plotted.
If the parameter "iplaneextdata" in settings.ini is set to 1, then the data in the plane will not be calculated by
Multiwfn internally but directly loaded from an external plain text file. The coordinate of the points in the plane will
be automatically outputted to current folder, you can use third-party tools (e.g. cubegen utility of Gaussian) to
calculate function value at these points.
Currently Multiwfn supports seven graph types for exhibiting data in a plane.
1 Color-filled map. This type of map uses different colors to represent real space function
value in different regions, two examples are given below.
By default, "Rainbow" coloring transition is employed, and if the function value exceeds lower
(upper) limit of color scale, then the region will be filled by black (white). By selecting "Set color
transition" in post-processing menu, you can choose other color transition methods.
By selecting “Enable showing contour lines” in post-processing menu, contour lines can be
plotted together on the graph. You can also use other options to control if showing atomic labels and
bonds.
2 Contour line map. This map usually uses solid lines to represent positive regions, and dashed
lines to exhibit negative regions.
60
3 Functions
The number of contour lines can be adjusted by user (see Section 3.5.4 for detail), you can also
mark the isovalues on the contour lines by using the option “2 Enable showing isovalue on contour
lines” in post-processing menu.
To fill colors between contour lines (see the figure on the right above), you can choose "9
Enable filling colors for contour lines" in the post-processing menu. Then if you choose option 9
again, you can further adjust filling effect, such as color scale, color transition and so on.
Only for contour line map, if the real space function selected to be plotted is orbital
wavefunction, you can not only plot one orbital by inputting one orbital index, but also plot two
orbitals simultaneously by inputting two orbital indices (e.g. 3,5), see Section 4.4.5 for example.
Option 4 in post-processing menu is used to toggle if showing atoms labels or reference point
(involved in some real space functions such as correlation hole and source function) in the graph.
The size and form (i.e. if showing atom index or element name) of the atom labels can be set by
"pleatmlabsize" and "iatmlabtype" parameters in settings.ini, respectively. The reference point is
represented as a blue asterisk on the graph. By default, only when the distance between the atoms
and the plane is smaller than "disshowlabel" in settings.ini the corresponding atom labels will be
shown. To change this distance threshold, you can either adjust this value in setting.ini or choose
option 17 in post-processing menu. If "iatom_on_plane_far" parameter in settings.ini is set to 1,
then even if the distance is larger than the threshold, the label will still be shown, but in thin text
rather than bold text.
Option 8 in post-processing menu is used to toggle if showing bonds. The bond is shown for
an atomic pair if these two conditions are satisfied: (1) The distance between the two atoms is
smaller than bonding threshold, which can be adjusted in the GUI window of main function 0 using
corresponding scale bar. (2) Both atoms are close enough to the plotting plane (smaller than the
"disshowlabel" parameter mentioned above).
Option 15 in post-processing is used to plot a contour line corresponding to vdW surface
(electron density=0.001 a.u., which is defined by R. F. W Bader in J. Am. Chem. Soc., 109, 7968
(1987)). This is useful to analyze distribution of electrostatic potential on vdW surface. Such a
contour line can be plotted in gradient line and vector field map too by the same option. Color, label
size and line style of the contour line can be adjusted by Option 16.
The content in the above paragraphs also applies to color-filled map, gradient lines map and
vector field map (see below).
61
3 Functions
3 Relief map. Use height to represent value at every point. If values are too large they will be
truncated in the graph, you can choose to scale the data with a factor to avoid truncation. The graph
is shown on interactive interface, you can rotate, zoom in/out the graph.
4 Shaded relief map and 5 Shaded relief map with projection. The relief map is shaded in
these two types. The latter also plots color-filled map as projection. The meshes on the surface can
disabled at post-processing stage.
62
3 Functions
6 Gradient line map with/without contour lines. This graph type represents gradient
direction of real space function, you can determine if the contour lines is also shown on the graph.
Note that since gradients of real space function are needed to be evaluated, and graphical library
needs to take some time to generate gradient lines, the calculation and plotting costs are evidently
higher than other graph types.
In the option "11 Set detailed parameters of plotting gradient line" at the post-processing menu,
you can set various plotting parameters:
• Suboption 1: Integration step for gradient lines, the smaller the value the finer the graph
• Suboption 2: Interstice between gradient lines, the smaller the value the denser the lines
• Suboption 3: Criteria for plotting new gradient line, try to play with it and you will know how this
parameter affects the graph
• Suboption 4: Integration method. The RK4 is the most robust but most expensive. The default
RK2 is good balance between accuracy and speed
• Suboptions 5 and 6: Color and width of gradient lines
7 Vector field map with/without contour lines. This graph type is very similar to last graph
type, however the gradient lines are replaced by arrows, which distribute on grids evenly and
represent gradient vectors at corresponding point. You can set color of arrows, or map different
colors on arrows according to magnitude of function value, you can also invert the direction of
arrows. The option 10 is worth mentioning, if you set upper limit for scaling to x by this option, then
if the norm of a gradient vector exceeds this value, the vector will be scaled so that its norm equals
to x.
63
3 Functions
When program asking you to input the number of grid points in both dimensions, you can input
such as 100,150, which means in dimensions 1 and 2 the number of grid points are 100 and 150,
respectively, so total number is 100*150=15000, they are evenly distributed in the plotting region.
For “Relief map”, “Shaded relief map” and “Shaded relief map with projection”, commonly I
recommend 100,100; if this value is exceeded, the lines in the graph will look too crowd. For other
graph types I recommend 200,200. Of course the picture will become more pretty and smoother if
you set the value larger, but you have to wait more time for calculation. Bear in mind that total ESP
calculation is very time-consuming, you’d better use less grid points, for previewing purpose I
recommend 80,80 or less.
64
3 Functions
Modes 1 to 5
For modes 1~5, the actual plotting region is a subregion of the plane you defined. Multiwfn
automatically sets the plotting region to tightly enclose the whole molecule (for modes 1, 2 and 3)
or cover the three nuclei / points you inputted (for modes 4 and 5), finally the plotting region is
extended by a small distance to avoid truncating the interesting region. The extension distance is
4.5 Bohr by default, if you find the region you are interested in is still be truncated, simply enlarging
the value by option “0 Set extension distance for plane type 1~5”, you can also directly modify the
default value, which is controlled by “Aug2D” parameter in settings.ini.
Below diagram illustrates how the actual plotting region is determined when you select mode
4 or 5 to define the plotting plane. The X and Y axes shown in the graph correspond to the actual X
and Y axes you finally see. Evidently, the input sequence of the three points or atoms directly affects
the graph.
Mode 6
For mode 6, the plotting region is determined as follows, in which each black arrow denotes
translational vector 1, each brown arrow denotes translational vector 2, blue point denotes origin
point. The number of arrows is the number of grids set by users. Evidently, this mode enables users
to fully control the plotting plane setting.
65
3 Functions
Mode 7
Mode 7 is very useful when you want to define a plotting plane cutting a bond, see following
map for illustration, the purple rectangle is the plane you will plot:
To define this plane, you should select mode 7, and then input 3,5 to use these two atoms to define
the axis that the plotting will be parallel to, and then input 2,3,10 (or 2,5,10 etc.) to use them to
define a plane that the plotting plane will be normal to. After that you need to input the length of X
and Y axes, e.g. 10 and 7 Bohr, respectively.
Mode 8
Via this mode you can plot a local plane above or below interesting atoms. Typically, this mode
is used to study function distribution above/below a ring. See following map for example, the
transparent blue region corresponds to the plotting plane. In this mode you should input indices of
the atoms to define a fitting plane (plotting plane will parallel to it) and a geometric center, then
input the vertical distance between plotting plane and the geometric center (namely the d in the
following map. Positive and negative values correspond to above and below the fitting plane), then
input length of the plotting plane. Note that in this mode the plotting plane is square, and the
projection point of the geometric center to this plane corresponds to the plane center.
After that, you will find three commands in Multiwfn command-line window, you can copy them into VMD
console window to run them, then the plotting plane will be drawn, just like the following map, which allows you to
determine if the plotting plane is correctly defined.
66
3 Functions
After plotting the graph, you will see a menu, in which there are a lot of options used to adjust
or improve the quality of the graph. Since many of them have already been introduced above and
some of them will be mentioned in next sections, and lots of them are self-explanatory, only a few
will be mentioned here.
-9 Only plot the data around certain atoms: Sometimes in the graph only a few regions are
interesting; if you want to screen other regions, you may find this option useful. After selecting this
option, assume that you input 2,4,8-10, then only the real space function around atoms 2,4,8,9,10
will be plotted (the data to be plotted then in fact is the original plane data multiplied by the Hirshfeld
weight of the fragment you inputted). Next time you select this option, the original data will be
recovered.
-7 Multiply data by a factor: This is mainly used to scale the range of the plane data.
-6 Export the current plane data to plane.txt in current folder: After using this option to
export the plane data, you can very conveniently use third-part plotting softwares such as Sigmaplot
to redraw the data.
-2 Set label interval in X, Y (and color scale) axes: This option determines the spacing
between the labels in the coordinate axes. If axis labels are not shown on your map, that means the
current interval(s) are too large.
-1 Show the graph again: After adjusting plotting parameters, choose this option to replot the
graph to check the effect.
0 Save the graph to a file: Export the graph to a graphic file in current folder. See Section 2.8
on how to determine the graphic format and size.
For graph types 1, 2, 6 and 7, the contour lines can be plotted (if not shown, select "2 Enable
showing contour lines" in the post-processing menu). There is also an option “Change setting of
contour lines” in the post-processing menu. In this interface, values of current contour lines are first
listed and you can modify them by using below suboptions:
Option 1: Save current setting and return to upper menu. Then if you select “Show the graph
again”, the graph with new isovalue setting will appears.
Option 2: Input a new value to replace old value of a contour line.
Option 3: Add a new contour line and input the isovalue for it.
67
3 Functions
3.5.5 Plot critical points, paths and interbasin paths on plane graph
CPs and paths can be plotted on color-filled map, contour line map, gradient line map and
vector field map. Below is a typical electron density gradient line map containing critical points,
topology paths and interbasin paths.
68
3 Functions
In order to append the CPs and paths on plane map, before drawing the plane graph using main
function 4, you need to enter topology analysis module (main function 2), then search CPs and
generate paths. After that, return to main menu and draw plane graph as usual, you will find that the
CPs and paths have appeared on the graph. In the graph, brown, blue, orange, green dots denote (3,-
3), (3,-1), (3,+1), (3,+3) critical points, respectively. Bold dark brown lines depict bond paths.
In the option “4 Set details of plotting critical points and paths” at post-processing menu, you
can choose which types of CPs are allowed to be shown, and you can set size of markers, thickness,
distance threshold and color of path lines. By default, if the vertical distance between a CP or a point
in a path and the plotting plane exceeds 0.5 Bohr, the CP or path point will not be shown, the
thresholds can be altered by “8 Set distance threshold for showing CPs” and “9 Set distance
threshold for showing paths”.
Interbasin paths (deep blue lines in above graph) are derived from (3,-1) CPs, these paths
dissect the whole space into individual atomic basins. You can also append the interbasin paths on
contour line map, gradient line map and vector field map. In order to draw interbasin paths, you
should first confirm that at least one (3,-1) CP has been found in topology analysis module and it is
close enough to current plotting plane (smaller than "disshowlabel" in settings.ini), then you can
find a option "Generate and show interbasin paths" in post-processing stage, choose it, wait until
the generation of interbasin paths is completed, then replot the plane graph again, you will find these
interbasin paths have already presented.
If you hope the interbasin paths become shorter or longer, choose option "Set stepsize and
maximal iteration for interbasin path generation" in post-processing stage before generating
interbasin paths, you will be prompted to input stepsize and the number of iterations, the maximum
69
3 Functions
length of yielded interbasin paths equals to product of the two values. Note that if distance between
a point in interbasin path and the plotting plane exceeds the "disshowlabel" in settings.ini,
corresponding points in the interbasin path will not be shown on the plane graph.
Information needed: GTFs (depending on the choice of real space function), atom coordinates
The main purpose of this function is calculating grid data or generating Gaussian-type cube
file (.cub) for specific real space function. The .cub file is supported by a lot of chemistry
visualization softwares, such as VMD, GaussView, and Molekel. The isosurface of generated grid
data can be viewed directly in Multiwfn too. This function can also be used to calculate function
values for a set of points recorded in a plain text file.
The basic procedure of using this function is:
(1) Select a real space function
(2) Set up grid
(3) Use post-processing options to visualize isosurfaces, modify and export data
PS: In the real space function selection menu, if you select option 111 (a hidden option), then the real space
function to be calculated will be Becke weight of an atom or Becke overlap weight between two atoms. If you select
option 112 (another hidden option), Hirshfeld weight of a given atom or fragment will be calculated.
Setting up grid
Multiwfn provides many modes for setting up grid point:
Mode 1: Low quality grid, about 125000 points in total (corresponding to 50*50*50 grid,
assuming the spatial region is cubic), this mode is recommended for previewing purpose.
Mode 2: Medium quality grid, about 512000 points in total (corresponding to 80*80*80 grid,
assuming the spatial region is cubic). For small molecular, this quality is enough for most analysis.
Mode 3: High quality grid, about 1728000 points in total (corresponding to 120*120*120 grid,
assuming the spatial region is cubic).
For modes 1, 2 and 3, the actual number of points in each direction is automatically determined
by Multiwfn so that grid spacing in each direction are nearly equal. The method of determining
spatial scope of grid data is illustrated below in two-dimension case.
70
3 Functions
First, Multiwfn sets up a box (red dashed line) to just enclose the entire molecule, and then the
box is suitably extended in each dimension to avoid truncating boundary part of isosurfaces, the
green rectangle in below graph is the actual spatial scope of grid data. If the extension distance is
inappropriate, you can set the value by using option “-10 Set extension distance of grid range", or
directly set default value by modifying “Aug3D” in settings.ini.
The so-called “Low quality”, “Medium quality” and “High quality” respectively corresponding to modes 1, 2
and 3 are only relative to medium-sized systems, because each of them corresponds to a fixed number of grid points.
For a large system, spatial range of grid data is often wide, then grid density of mode 3 will not be very fine and
should actually be called “Medium quality” in this context, and mode 2 should be called “Low quality”. In contrast,
for a micro system, the density of grid points of mode 1 is already fine enough for most purposes.
Mode 4: Specify the number of grid points or grid spacing in X, Y and Z directions yourself,
the spatial scope is determined automatically as shown above.
Mode 5: Specify all details of grid setting by user, including original point, the number of
points and grid spacings in X, Y and Z directions. This mode is useful for experienced users.
Mode 6: Specify the center coordinate, number of points and extension distance in X, Y and Z
directions. For example, the center coordinate you inputted is 2.3,1.0,5.5, the extension distance in
X, Y and Z is k,k,m, then the coordinates of two most distant endpoints are (2.3-k,1.0-k,5.5-m) and
(2.3+k,1.0+k,5.5+m). This mode is useful for analyzing local properties.
Mode 7: Like function 6, but inputting indices of two atoms instead of inputting center
coordinate, the midpoint between the two nuclei will be set as center. This mode is very useful for
weak interaction analysis by RDG function. For examples, we want to study the weak interaction
region between the dimer shown below, and we found C1 and C14 may enclose this region, so we
input 1,14. see Section 3.23.1 for example. If the two atom indices are identical, then the nuclear
coordinate will be set as center.
71
3 Functions
Mode 8: Use grid setting (origin, number of points and grid spacing) of an existing cube file.
You will be prompted to input the file name. This mode is useful to generate multiple cube files with
exactly identical grid setting.
Mode 9: This mode is visible only when input file contains cell information (i.e.
modified .molden file of CP2K is used as input file, see Section 2.9.2.1, or other files carrying cell
information is used as input file, see Section 2.9.3). You will be requested to input coordinate of
origin, box lengths, and grid spacing (shared by all the three dimensions). If you press ENTER
button directly when Multiwfn asks you to set origin and box lengths, the relationship of the box
and the cell will correspond to the situation shown below, in which each point of intersection
corresponds to a grid point to be calculated. As you can see, in each direction, the length of the box
differs from the length of cell by a grid spacing. In this case, integral of a function can be
straightforwardly evaluated based on grid data as ∑𝑖 𝑓(𝑖)𝑣, where f(i) is function value at grid i and
v is grid volume. Note that the inputted grid spacing will be automatically adjusted to that the
number of grids is an integer.
Mode 10: Set up the grid data in a GUI window. This mode is quite convenient, the box is
clearly visible in the graphic window, and you can directly change box length, box center and grid
spacing by dragging corresponding scale bars (the X,Y,Z directions share the same grid spacing).
The total number of grids under present grid setting can be directly seen at the right bottom side of
the window.
72
3 Functions
Mode 11: You will be asked to input atomic indices to define a fragment and input extension
distance, then the box will be determined by extending the given distance around the fragment. You
will be also prompted to input grid spacing, which is shared by all the three directions. This mode
is particularly useful when you want to employ non-covalent interaction (NCI) and independent
gradient model (IGM) methods to visually study interaction between a molecule (the fragment you
defined) and surroundings.
Notice that the more grid points you set, the finer the isosurface graph you will get, however
the more time is needed for calculating grid data and generating isosurface graph. The increase of
calculation time with the number of points is nearly linear.
After setting grid points, the program starts to calculate grid data, once the calculation is
finished, the minimum/maximum and corresponding coordinate, the sum of all/positive/negative
data multiplied by differential element are printed on screen immediately. If what you calculated is
electron density, the molecular dipole moment evaluated based on grid data is also printed out. Then
you will see post-processing menu.
Post-processing options
In the post-processing menu if the option “-1 Show isosurface graph” is selected, a GUI
window will pop up, which shows the isosurface of grid data, all widgets are self-explanatory, you
can change isosurface value by both dragging slide bar (upper and lower limit are -5 and +5
respectively) or inputting precise value in text box (then press “Enter” button in your keyboard); if
“Show data range” is selected, the spatial scope will be marked by a blue frame as the one in above
picture (if spatial scope exceeds the range of coordinate axis, the frame will not be displayed). The
isosurfaces with the same and reverse sign of current isovalue are in green and blue respectively.
Option 1 can export isosurface graph to graphical file in current directory. Option 2 can export
73
3 Functions
grid data to .cub file in current directory. By selecting option 3 the grid data will be exported to plain
text file output.txt in current directory. Using option 4 you can set isovalue without entering GUI
window and dragging slide bar, it is useful for batch process and in command-line environment.
With options 5~8, you can perform addition, subtraction, multiplication and division operations on
the grid data, respectively; after that, you may use option 10 to restore to original grid data.
If you only want to visualize isosurface of a specific fragment, you can select option 9 in post-
processing menu, then input indices of the atoms in this fragment. After that, Hirshfeld weight of
the fragment will be calculated at every grid, which will then be multiplied to the original grid data.
Via this manner, value of the grid points far from the fragment will be zero, and thus will not be
shown in isosurface map.
....
The coordinates must be given in Bohr. The format is in free format, and can have more than four
columns of data, but the columns after the fourth one will be simply ignored.
Multiwfn will load coordinates of the points from this file, and then calculate function value
for them. Finally, the X/Y/Z coordinate and function value of all points will be outputted to a plain
text file, whose path is specified by users.
Information needed: Atom coordinates, GTFs (depends on the choice of real space function)
In main function 3, 4 and 5, there is a subfunction allow you to set custom operation for
multiple wavefunctions. Supported operators include + (add), − (minus), * (multiply), / (divide),
there is no upper limit of the number of wavefunctions involved in custom operation. For example,
if the first loaded wavefunction after booting up Multiwfn is a.wfn, then in the setting step of custom
operation you inputted 2 (viz. there are two wavefunctions will be put into “custom operation list”
74
3 Functions
and thus will be operated with a.wfn in turn), then you inputted -,b.wfn and *,c.wfn, the property
finally you get will be [(property of a.wfn) - (property of b.wfn)] * (property of c.wfn). If you are
confused, you can consult the example in Sections 4.5.4 and 4.5.5.
Sometimes the molecular structure in the first loaded file and that in the subsequently loaded
files are not identical, the grid points you set will be for the first loaded file, all of the other files will
share the same grid setting.
Avoid using custom operation in conjunction with main functions -4, -3 and 6, otherwise you
may get absurd result.
75
3 Functions
wavefunctions can be arbitrarily set by user, however it is suggested to use the same basis set as the
molecular wavefunction.
The newly generated element wavefunction files or those taken from “atomwfn” directory are
stored in “wfntmp” subdirectory in current directory. They will be translated to actual position of
the atoms in present system, meanwhile atomic indices will be added to the .wfn filename (e.g. "Cr
30.wfn"). These are the files will directly be used to calculate promolecular and deformation
properties.
The main purpose of Multiwfn supporting promolecular and deformation property is for
generating promolecular and deformation density, however, electron density of most elements in
free and ground state is not in spherical symmetry, hence will lead to orientation dependence
problem. To tackle it, atomic electron density must be sphericalized. However, there is no unique
way to do this. In Multiwfn, atom electron density is sphericalized by modifying atom wavefunction
artificially, here I describe the detail. If you want to skip the sphericalization step, simply set the
“ispheratm” in settings.ini to 0.
For elements in IV A group, Multiwfn uses sp3 configuration to replace s2p2 ground state by
76
3 Functions
default. This treatment is reasonable, since in most molecules these atoms are in sp3 hybridization.
For VI A, VII A and Fe, Co, Ni, Multiwfn equalizes the occupation number of orbitals within the
same shell; for example, oxygen has two singly occupied 2p orbitals and one doubly occupied 2p
orbitals in ground state, the number of electrons in this shell is 4, so Multiwfn sets the occupation
number of all the three orbitals to 4/3. This method works because the shape of occupied orbitals
are always nearly identical, regardless of the original occupation number is one or two. However,
the difference between virtual orbital and occupied orbital is remarkable, thus Multiwfn uses another
method to sphericalize electron density of elements in III A group, as well as Sc, Ti and V. In this
method, the singly occupied orbitals are duplicated and rotated. Taking boron as example, assume
that the singly occupied 2p orbital is directing along Z-axis, Multiwfn replicates this orbital twice
and turn them toward X-axis and Y-axis respectively, finally the occupation numbers of the three
orbitals are set to 1/3. (Users needn’t to check the orientation of singly occupied orbital by
themselves). If you hope that Multiwfn sphericalizes atoms in IV A group in such manner instead
of using sp3 configuration, set “SpherIVgroup” in settings.ini to 1.
Notice that the sphericalization methods used in Multiwfn are closely related to wavefunction
type, the methods fail if unrestricted wavefunction is used for main group elements or restricted
open-shell wavefunction is used for transition metals. These methods also fail if Hartree-Fock
method is used for transition metals, because orbital order produced by HF is different from most
DFT cases (the HF’s order is wrong, 4s is higher than 3d).
This function provides a lot of subfunctions for checking and modifying loaded wavefunction,
all subfunctions take effect immediately, so after modification(s) you can print related information
via proper subfunction to check if your previous operations are correct. After returning to main menu,
all subsequent analyses which make use of wavefunction information will be affected. The title in
this interface shows the number of GTFs, orbitals, atoms and alpha/beta/total electrons of present
wavefunction.
Once you finished all modifications of wavefunction, you can save current wavefunction to
new.wfn in current folder via subfunction 0. If you want to save to other wavefunction format, you
should return to main menu first, and then enter subfunction 2 of main function 100, then choose
corresponding option to save to an expected format.
77
3 Functions
real space function contributed by certain atoms, these two functions can fulfill your purpose.
This function can be safely used together with main function 1~6. For other tasks, DO NOT
use this function if you do not understand what you are exactly doing, otherwise you may obtain
wrong or meaningless results. Notice that this function is irreversible, the discarded GTFs cannot
be recovered, unless you reboot the program and reload the wavefunction file.
Subfunction 0: Save current modified wavefunction to new.wfn file in current directory. Notice
that the orbitals with zero occupation number and the atoms do not have GTFs will be automatically
discarded during saving.
Subfunction 1: Print information of all GTFs, including the centers they are belonging to, GTF
types and exponents.
Subfunction 2: Print information of all basis functions, including the shells/centers they
attributed to, types, and corresponding GTF index ranges.
Subfunction 3: Print basic information of all orbitals, including energies, occupation numbers,
orbital types (Alpha, beta or alpha+beta).
Subfunction 4: Print detail information of an orbital, including the expansion coefficients with
respect to GTFs (along with GTF information), note that the coefficients include GTF normalization
constants.
Subfunction 5: Print coefficient matrix in basis functions (not the coefficients with respect to
GTFs), only available when the input file contains basis function information.
Subfunction 6: Print one-particle density matrix in basis functions, only available when the
input file contains basis function information.
Subfunction 7: Print various kinds of integral matrix between basis functions, including
overlap integrals, electric/magnetic dipole moment integrals, kinetic energy integrals, velocity
integrals, electric quadrupole and octopole integrals. For overlap matrix, eigenvalues are printed
together, which are useful for checking linear dependency. Only available when the input file
contains basis function information.
Subfunction 11: Exchange centers or types or exponents or orbital expansion coefficients of
two GTFs, or exchange all information of two GTFs at once (equivalent to exchanging recording
order of two GTFs, thus does not affect any analysis result)
Subfunction 21 to 24: Set center, type, exponent and expansion coefficient of a specific GTF
in an orbital, respectively.
Subfunction 25: Set expansion coefficients of some GTFs in some orbitals to a specific value.
The GTFs simultaneously satisfying the three inputted conditions will be selected: Index range of
GTFs, index range of the atoms that GTFs centered at, GTF types (input specific type, such as YZ,
XXZ, etc., or input angular moment, such as S, P, D, etc.).
If the input file also contains basis function information, by this option you can also set
expansion coefficients of basis functions.
Subfunction 26: Set occupation number of some orbitals. You can directly set them to a
specific value, or add, minus, multiply, divide them by a given value. This function is very useful
for shielding the contributions from certain orbitals to real space functions, namely setting their
occupation numbers to zero before calculating real space functions.
Subfunction 27: Set orbital type of some orbitals, then wavefunction type will be
automatically updated, please check the prompts shown on the screen.
Subfunction 28: Set energy of some orbitals. You can directly set them to a specific value, or
78
3 Functions
add, minus, multiply, divide them by a given value. This function is useful when you want to rectify
the orbital energies using a given relationship (e.g. J. Am. Chem. Soc., 121, 3414 (1999)) before
plotting density-of-states (DOS) map.
Subfunction 29: Input indices of two orbitals, then all of their information (energy, occupation,
coefficients) will be exchanged
Subfunction 30: Exchange energies and occupation numbers for all orbitals. This is
particularly useful in obtaining EDDB grid data based on EDDB code of D. W. Szczepanik. After
loading the .fchk file exported by EDDB code, entering this function, and selecting option 1
(exchange orbital energies in eV with occupation numbers), then occupation numbers will
correspond to eigenvalues of Natural Orbital for Bond Delocalization (NOBD). Then if you use
main function 5 to calculate grid data of electron density as usual, the resulting grid data will directly
correspond to EDDB.
Subfunction 31: Translate the whole wavefunction and all atom coordinates of current system
by inputting translation vectors and their units.
Subfunction 32: Translate and duplicate the whole wavefunction and all atom coordinates of
current system, users need to input translation vectors, their units and how many times the system
will be translated and duplicated according to the translation vectors. This function is useful for
extending the primitive cell wavefunction outputted by Gaussian PBC function to supercell
wavefunction, of course you can calculate supercell wavefunction directly by Gaussian, but much
more computational time will be consumed. Notice that constructing wavefunction of supercell by
this way is only an approximation, because the mix between orbitals of neighbouring primitive cell
to new supercell orbitals is completely ignored.
Subfunction 33: Rotate wavefunction, namely X→Y, Y→Z, Z→X
Subfunction 34: Set occupation number of all inner molecular orbitals in present system to
zero, namely only contribution from valence orbitals will be reserved for subsequent studies. The
number of inner MOs is automatically determined, however, the atoms using pseudopotential are
not taken into account.
Subfunction 35: This function is very useful if you want to discard contribution of orbitals
with certain irreducible representation (IRREP) in all kinds of analyses. After you enter this
subfunction, IRREP of all occupied orbitals will be shown, the "N_orb" denotes the number of
occupied orbitals belonging to the corresponding IRREP. If you want to discard contribution of
some IRREPs in the succeeding analyses, you can select option 1 and input the index of the IRREPs,
then the occupation number of corresponding orbitals will be set to zero and thus their contributions
are eliminated, and you will also see their status are changed from "Normal" to "discarded". Then
you can choose option 0 to save wavefunction and quit. You can also choose option 2 to recover the
original occupation number of all orbitals, or choose 3 to reverse the status of every IRREP between
"Normal" and "Discarded". Note that this subfunction only works for .mwfn, .molden and .gms files,
because only these files record orbital IRREPs (beware that the IRREPs in the .molden file produced
by many quantum chemistry programs are missing or incorrect). Besides, only restricted and
unrestricted SCF wavefunctions are supported.
Subfunction 36: Invert phase of some orbitals (i.e. replacing expansion coefficients of basis
functions and GTFs of these orbitals with their negative values).
Subfunction 37: This option converts restricted (R) or restricted open-shell (RO)
wavefunction to unrestricted wavefunction. More precisely, each spatial orbital will be split to an
79
3 Functions
alpha and a beta orbital, which have identical energy and shape but their occupancy may be different.
This option is useful for CDA analysis based on ROKS wavefunctions, see Section 4.16.4 for
example.
Subfunction 38: This option is used to make occupation of orbitals integer and satisfy Aufbau
principle. For example, originally the occupation of orbitals (from energy of low to high) is 2.0 1.95
1.93 0.09 0.03 0.0, then after using this option, the occupations will be 2.0 2.0 2.0 0.0 0.0 0.0. In
addition, if the number of electrons is an integer and the wavefunction was originally determined as
a multi-determinant wavefunction, this option will also automatically set the wavefunction type to
single-determinant. Note that this function assumes that the orbitals in the inputted wavefunction
file was ordered by energy from low to high.
Information needed: Basis function (only for subfunctions 2, 5, 6, 7), GTFs, atom coordinates
This module is used to calculate population number of basis functions, shells, atoms, fragments,
or atomic charges. There are some points should be noted:
Regardless of which subfunction you choose, if you want to evaluate fragment
charge/population (the sum of charge/population of the atoms in a fragment), you should select
option "-1 Define fragment" first and input atom indices to define the fragment. Then once the
calculation of atomic charges is finished, fragment charge will be printed along with atomic charges.
If your input file is .chg or .pqr, which contains atomic charge information, this option also
automatically prints the sum of atomic charges of the atoms in the fragment.
After atomic charge calculation, you can choose to output atomic coordinates with calculated
charges to [name of loaded file].chg file in current directory, see Section 2.5 for detail about .chg
format.
If the file loaded when Multiwfn boots up is .chg format, you can use option "-2 Calculate
interaction energy between fragments based on atomic charges" in present function to evaluate
interfragment electrostatic interaction energy between two given fragments by classic Coulomb
formula (see below) using the atomic charges in this .chg file.
q A qB
ECoul −int =
Afrag 1 Bfrag 2 | R A − R B |
This feature is useful for studying electrostatic interaction component in total molecular interaction
energy, as well as evaluating intermolecular exciton coupling energy based on atomic transition
charges (see Section 4.A.9 on how to derive them).
Hirshfeld is a very popular atomic population method based on deformation density partition,
80
3 Functions
Hirshfeld charge is defined as (Theor. Chim. Acta (Berl.), 44, 129 (1977))
where
def (r ) = (r ) − pro (r )
pro (r ) = Afree (r − R A )
A
Afree (r − R A )
w Hirsh
(r ) =
A
pro (r )
It can also be rewritten as follows to make its physical meaning clearer
q A = − wAHirsh (r )[ (r ) − pro (r )]d r
= − wAHirsh (r ) (r ) − Afree (r − R A ) d r
= − wAHirsh (r ) (r ) d r + Afree (r − R A ) d r
= − pA + Z A
where pA is population number of the atom in actual chemical system. Z is nuclear charge, which
equals to the number of electrons carried by the atom in its free state.
The disadvantages of Hirshfeld population are the charge is always too small and the poor
reproducibility of observable quantities, such as molecular dipole moment and ESP, the reason is
Hirshfeld population completely ignores atomic dipole moments.
After calculation, if the printed sum of all Hirshfeld charges is very close to integer, that means
the quadrature is accurate; if not, that means the outputted Hirshfeld charges are unreliable, you
need to increase the density of integration points by setting “radpot” and “sphpot” to larger value
and calculate again. For balancing computational time and accuracy, the default value of “radpot”
81
3 Functions
and “sphpot” are 75 and 434, respectively, you can set them to 100 and 590 respectively to obtain
more accurate results.
The only difference between VDD and Hirshfeld population is the weighting function w. In
VDD population, the Voronoi cell-like partition is used, each cell corresponds to an atom, see J.
Comput. Chem., 25, 189 (2004) for details.
The results of VDD population are similar to Hirshfeld population in common, because the
magnitude of deformation density is always small, so there is no significant change in charges when
different weighting functions are used. The outputted terms are identical to Hirshfeld population.
Personally, I suggest you use Hirshfeld population instead of VDD.
Note that if the sum of VDD atomic charge deviates from molecular net charge evidently, that
means the numerical integration accuracy is not satisfactory, and hence you should enlarge "sphpot"
parameter in settings.ini to improve the result. "radpot" parameter also influences the result, but not
so significantly as "sphpot".
Theory
Mulliken analysis is the oldest population method based on orbital wavefunction, supported by
almost all quantum chemistry packages.
that the orbital is real type and insert the linear combination equation i (r ) = Ca ,i a (r ) into
a
it, we get
2
1 = C a ,i a (r ) d r = C a2,i + C a ,i Cb,i S a ,b = C a2,i + 2 C a ,i Cb,i S a ,b
a a a ba a a b a
where S a ,b = a (r ) b (r ) d r , the normality of basis functions are used in derivation. The first
term is “local term”, denotes the net population of each basis function in orbital i, the second term
is “cross term”, denotes the shared electrons between basis function pairs in orbital i. Certainly the
local terms should be completely attributed to corresponding basis functions, however for cross
terms the partition method is not unique. Mulliken defined the population of basis function a in spin
82
3 Functions
orbital i as
i ,a = C a2,i + C a ,i Cb,i S a ,b
ba
That is each cross term 2C a ,i Cb ,i S a ,b is equally partitioned to corresponding two basis functions.
The population number of atom A is simply the sum of population numbers of all basis
functions attributed to atom A in all orbitals. Mulliken atomic charge is defined as
q A = Z A − ni , A = Z A − i i ,a
i i aA
Usage
Since amount of outputted information is huge for large systems, before selecting below
subfunctions, you can use option -1 to change the default output destination from screen to a specific
plain text file.
·Subfunction 1 (Output Mulliken population and atomic charges): Population of basis
functions, population of basis function shells, population of each angular moment of atomic orbitals,
as well as atomic charges are printed.
·Subfunction 2 (Output gross atomic population matrix and decompose it): Gross atom
population matrix is printed, from which you can get local terms of each atom (diagonal element)
and cross terms between each atomic pair (non-diagonal element multiplies 2). The matrix element
is defined as
A,B = iA,B = i Ca ,iCb,i Sa ,b
i i aA bB
Note that the last row of outputted matrix is the sum of corresponding column elements, that
is the total population number of corresponding atom. You can also choose to decompose the matrix
to contribution of each occupied orbital, the matrices will be outputted to groatmdcp.txt in current
directory.
𝑖
By the way, the quantity 2𝐴,𝐵 is just the Mulliken bond order between atom A and B
contributed from orbital i, as we will see in Section 3.11.4.
·Subfunction 3 (Output gross basis function population matrix and decompose it): Gross
basis function population matrix can be outputted by this option for further analyzing detail of
electron distribution, the matrix element is defined as
a ,b = ia ,b = iCa ,iCb,i Sa ,b
i i
Likewise, in subfunction 2, the last row of the outputted matrix is total population number of
corresponding basis function. You can also select to output contribution of each occupied orbital,
namely 𝑖𝑎,𝑏 , to grobasdcp.txt in current directory (notice that this file is extremely large even for
83
3 Functions
medium-sized system).
·Subfunction 4 (Output orbital contributions to atomic populations to atmpopdcp.txt): This
option is used to output contributions of occupied orbitals to atomic populations, namely all
i
i
aA
i ,a terms, to atmpopdcp.txt in current folder.
The only difference between Löwdin and Mulliken population analysis is whether Löwdin
orthogonalization is performed first. In Löwdin orthogonalization, the transformation matrix is
X = Us1/2UT
where U is eigenvector matrix of overlap matrix, matrix s is diag(1, 2...), where {} is eigenvalue
set of overlap matrix. After Löwdin orthogonalization, the overlap matrix becomes identity matrix,
and new coefficient matrix is X-1C.
Ostensibly, Löwdin population avoids the partition for cross terms since they have become
zero, actually, the partition step is no more than hidden in the orthogonalization. Since Löwdin
orthogonalization still has no strong physical meaning, it cannot make conclusion that Löwdin
population is better than Mulliken. In view of practical results, one also found Löwdin charges have
no any evident advantages relative to Mulliken charges, though some people argued that Löwdin
charges have better basis set stability and reproducibility of molecular dipole moment. Besides,
Mayer et. al. found Löwdin population has rotation dependence to some extent when Cartesian type
Gaussian basis functions are used, however the dependency can be safely ignored in generally, for
detail please see Chem. Phys. Lett., 393, 209 (1968) and Int. J. Quantum Chem., 106, 2065 (2006).
Some people had proposed several different partition methods of cross term to improve
Mulliken analysis, they are generally called as modified Mulliken population analysis (MMPA). In
the method proposed by Ros and Schuit (Theo. Chim. Acta, 4, 1 (1966)), the composition of basis
function a in orbital i is defined as
C a2,i
i ,a =
C
b
2
b ,i
only the square of coefficients are presented in the formula, so this method is also called C-squared
84
3 Functions
1 = C a2,i + C a ,i Cb,i S a ,b
a a ba
C a2,i
i ,a = C 2
+ C C b ,i S a ,b
C
a ,i 2 a ,i
b ,i a ba
b
It is clear that when calculating composition of basis function a in orbital i, what is partitioned is
not the cross terms between atom a and other atoms, but the total cross term of all atomic pairs. The
SCPA atomic charges can be calculated in the same manner as Mulliken charges by using the newly
defined . Relative to Mulliken population, the advantage of SCPA is that negative value of
population number never occurs.
Stout and Politzer defined the as (Theor. Chim. Acta, 12, 379 (1968))
Ca2,i
i ,a = Ca2,i + 2Ca ,iCb ,i Sa ,b
b a Ca ,i + Cb ,i
2 2
That is cross terms are partitioned according to the ratio of the squares of corresponding coefficients.
Ostensibly, this definition has more consideration on the unbalanced nature of cross term, however
in practical applications the results are even worse than Mulliken, therefore this method is rarely
used now. Besides, Grabenstetter and Whitehead had pointed out that this MMPA definition has
unitary transformation dependence, so if the molecule is rotated the results changed (the dependence
is remarkable and cannot be ignored).
The population number of a basis function defined in Organometallics, 15, 2923 (1996) is
a = iCa2,i + wa ,b 2iCa ,iCb,i Sa ,b
i ba i
where the weight of basis function a for partitioning the total cross term between a and b in all
orbitals is
85
3 Functions
C k
2
a ,k
wa ,b = k
C + C
i
i
2
a ,i
j
j
2
b, j
3.9.8 Becke atomic charge with atomic dipole moment correction (10)
In the paper J. Chem. Phys., 88, 2547 (1988), Becke proposed a weighting function for
converting whole space integral to multiple single-center spherical integrals, although the weighting
function is not intending for population analysis, Multiwfn still makes an attempt to use this
weighting function as atomic space to obtain atomic charges. The Becke charge can be defined as
qA = Z A − wA (r ) (r) d r
The radii used for evaluating the Becke weighting function (or say Becke atomic space) can be
controlled by uses, see corresponding options shown on screen. For details about Becke weighting
function please see J. Chem. Phys., 88, 2547 (1988) or Section 3.18.0. According to my experiences,
by using the default "modified CSD" radii, Becke charge is reasonable for typical organic systems,
but not very appropriate for ionic systems. For detail about "modified CSD" radii, see the end of
Section 3.18.0.
After the Becke charges are calculated, atomic dipole moment correction will be performed
automatically. The correction process is identical to the one used for correcting Hirshfeld charge
(see next section). After the correction the charges will have better electrostatic potential
reproducibility and can exactly reproduce molecular dipole moment.
86
3 Functions
chemical sense, molecular dipole moment is exactly reproduced, the reproducibility of ESP is close
to the atomic charges obtained from fitting ESP. Compared to another method that try to improve
Hirshfeld charges, namely Hirshfeld-I (see Section 3.9.13), the computational cost of ADCH charge
is negligible. Owing to its many advantages, ADCH is a highly recommended atomic charge model.
For an extensive comparison of atomic charge models, see Acta Phys. -Chim. Sin, 28, 1 (2012).
Before doing ADCH correction, Hirshfeld charge will be calculated first. In the summary field,
“corrected” and “before” correspond to ADCH charge and Hirshfeld charge respectively. At final
stage, the “Error” means the the difference between molecular dipole moment produced by ADCH
charges and the one produced by actual electron density, “Error” is always equals to or very close
to zero, because ADCH charges in principle exactly reproduce molecular dipole moment.
If you would like to obtain the detail of charge transfer between atoms in the atomic dipole
moment correction process, you can set “ishowchgtrans” in settings.ini to 1.
q
B
A→ B =0
μ A = q A→ B R B
B
where qA→B is transferred charge from atom A to B, in other words, it is the correction charge on
atom B due to A. The index B cycles all atoms in the system. RB is relative coordinate (column
vector) of atom B with respect to atom A
The correction charges are expected to be distributed only around atoms neighbouring to A,
this could be realized by minimizing function F:
( q A→ B ) 2
F = + q A→ B + (μ A − q A→ B R B )
B AB B B
where and are Lagrangian multipliers used to satisfy the two constraint conditions, the AB is a
function decreases rapidly as increase of distance between A and B, and its detailed form is
dependent of atomic radii of A and B, see original paper of ADCH for more information. Obviously,
this design of F suppresses occurrence of large correction charge on the atoms far away from atom
A.
It is shown that after some manipulations, the working equation of evaluating qA→B is
AB
q A→ B = [( R B − R B )T Λ −1 μ A ]
AB
B
87
3 Functions
Λ = R B (R B )T − R B R B
T
R AB B AB R B (R B )T
RB = B
, R B (R B )T = B
B
AB B
AB
If the atom A is in local planar region, the matrix will be exactly or almost singular matrix,
in this case inversed matrix of obviously cannot be obtained. Notice that the solution to this
problem in current implementation is slightly different to the one introduced in the ADCH original
paper. In current Multiwfn, the matrix is first diagonalized, the eigenvalues with absolute value
less than 10-5 will be simply set to zero (the corresponding eigenvector typically perpendicular to
the local plane of atom A), and remaining eigenvalues are inversed, now this matrix has
corresponded to the -1 in the new local coordinate. Then 𝐑 𝐵 − 〈𝐑 𝐵 〉 and A are transformed to the
new local coordinate by doing left multiplication of transpose of eigenvector matrix of on them.
Finally, the qA→B is obtained using above formula.
Theory
CHELPG (J. Comput. Chem., 11, 361 (1990)) is one of most widely used electrostatic
potentials (ESP) fitting charge models. Compared to CHELP and Merz-Kollman methods, CHELPG
charges have better rotational invariance, mostly due to the fitting points are distributed in cubic
grid manner.
In CHELPG model, a box is defined first to enclose the whole molecule, extension distance in
each side is 2.8 Å, see the red box in the following picture
Fitting points are evenly distributed in the box, the default spacing is 0.3 Å. For any fitting
point, if the distance between the point and any nucleus is smaller than vdW radius of the atom, or
88
3 Functions
the distances between the point and all nuclei are larger than 2.8 Å, then the fitting point will be
discarded. The purple dots shown above are finally used fitting points.
Like other ESP fitting methods, in CHELPG, the deviation function shown below is minimized
to make the ESP calculated by atomic charges (Vq) close to the ESP calculated based on
wavefunction (V) as good as possible.
F (q1 , q2 ...qN ) = [Vq (ri ) − V (ri )]2
i
where ri is coordinate of fitting point i. {q} are fitted point charges, their positions are referred to as
fitting centers. Notice that q does not necessarily correspond to atomic charge, the fitting centers
can be defined at arbitrary positions.
It can be shown that the minimization of F could be formulated to below matrix equation
Aq = B
which can be further explicitly written as
with
1 V (ri )
A A, B = BA = qtot = q A
i riAriB i riA A
where A and B are indices of fitting centers and N is total number of fitting centers. The column
vector q is what we need, its first N elements correspond to charges of the fitting centers. The q
could be easily evaluated as q=A-1B.
Usage
In the interface there are many options, which are introduced below.
• Option 1: If selecting this option, Multiwfn will start to calculate ESP value at each fitting
point, then fitted atomic charges of all fitting centers will be outputted on screen. RMSE and
RRMSE are also outputted automatically, they measure quality of fitting, the smaller value suggests
that the fitted charges have better ESP reproducibility. RMSE and RRMSE are defined as (where N
is the number of fitting points)
[V (r ) − V (r )]
q i i
2
RMSE = i
N
[V (r ) − V (r )]
q i i
2
RRMSE = i
V (r ) i
i
2
• Options 2~4: These options are used to set parameters for distributing fitting points. The
default values are reasonable and should not be changed without special reasons.
89
3 Functions
• Option 4: If you hope fitting points only distribute over certain fragment, you can select this
option and input atom indices, then a fitting point will be taken into account only if the atom closest
to it belongs to the given atom list.
• Option 5: During the ESP fitting, three kinds of ESP can be calculated and used, namely
"Nuclear + Electronic" (default), "Electronic" and "Transition electronic". Commonly you should
not change this option. The "Transition electronic" should be chosen if you want to evaluate the so-
called TrEsp (transition charge from electrostatic potential), please check Section 4.A.9 for details.
• Option 6: If you have chosen this option once to switch its status to "Yes", then after
calculation, coordinates with ESP values of all fitting points can be exported to ESPfitpt.txt or
ESPfitpt.pqr in current folder, the former is more readable, while the latter can be directly loaded
into VMD program to visualize the fitting points (and can be colored according to the "charge"
column, which records ESP values). In addition, fitting points with absolute difference between
exact ESP and the ESP evaluated based on atomic charges can be exported to ESPerr.pqr so that
ESP reproduction error in various molecular regions can be visualized in VMD. See Section 4.7.8
for illustration.
• Option 10: Choose the atomic radii used in fitting. The atomic radii employed in fitting affects
the distribution of fitting points, and thus influence the resulting charges. There are three modes can
be chosen to set the radii:
(1) This is default mode, the radii defined in original paper of CHELPG are used. However,
only the elements in the first three rows are defined, if your system contains other elements,
Multiwfn will ask you to input their vdW radii in turn. If you do not have proper radii in hand, you
can directly press ENTER button, then vdW radius of UFF forcefield of corresponding element
multiplied by 1/1.2 will be used, which is commonly a reasonable choice.
(2) Employing the UFF radii scaled by 1/1.2 for all elements. The UFF radii can be find in
Table 1 of UFF original paper J. Am. Chem. Soc., 114, 10024 (1992).
(3) Load radii of all elements involved in present system from external file. Multiwfn will ask
you to input the file path during fitting, the format of the file should like follows, the unit of the radii
should be in Å, all elements in the system must be defined:
H 1.2
O 1.8
Cu 2.2
• Option -1: For flexibility consideration, by using this option, coordinates of fitting points are
allowed to be read from external file to replace the CHELPG fitting points. The format of the file
should be
numdata
X Y Z [ESPval] For fitting point 1
X Y Z [ESPval] For fitting point 2
...
where the ESPval is an optional term, which denotes precalculated ESP value at corresponding point.
If numdata is a negative value, then the ESP values used in charge fitting will be read from the
fourth column rather than calculated by Multiwfn.
• Option -2: If you have special reasons (e.g. you want to place additional fitting centers at lone
pair or -hole region to enhance description of ESP around corresponding region), then coordinates
of additional fitting centers can be read from external file by using this option. The format of the
90
3 Functions
file should be
numdata
X Y Z For additional fitting center 1
X Y Z For additional fitting center 2
...
where numdata denotes how many entries are in this file. X, Y, Z are coordinates (in Å).
• Option -3: If you simply want to examine reproducibility for ESP at the fitting points of given
atomic charges, then you can use this option to load atomic charges from specific .chg file. Then
when you select option 1 to start the ESP fitting process, no ESP fitting charges will be yielded, only
the RMSE and RRMSE of the given atomic charges will be outputted (note that if you have chosen
option -2 to load additional fitting centers, then the number of charges in the loaded .chg file should
be identical to the total number of fitting centers). If you only want to study reproducibility of ESP
for the fitting points around specific fragment, you can choose option 4 and input the atom indices.
Merz-Kollmann (MK) charge is another well-known charge model derived from ESP fitting,
see J. Comput. Chem., 11, 431 (1990). The only difference between MK and CHELPG is grid setting.
In MK, the fitting points are evenly distributed on the layers of 1.4, 1.6, 1.8 and 2.0 times the vdW
radius of each atom, if distance between a fitting point and any atom is smaller than 1.4 times of its
vdW radius, then this fitting points will be discarded.
In the MK module of Multiwfn, the density of points per Å2 on the MK layers can be set by
option 2, the number of layers and the scale factor of atomic vdW radii used to define the layers can
be set by option 3, the atoms used to construct the MK fittings points can be set by option 4. For
description of other options and outputs, see last section.
Like the CHELPG module, in the MK module you can also choose the mode for determining
atomic radii used in the fitting by option 10. Notice that the original paper of MK method does not
explicitly present atomic radii. In Multiwfn, the default MK radii for the first and second rows and
P, S, Cl are in line with those in MK code of Gaussian, while the default radii for Na~Si are defined
as 1.57, 1.65, 1.65, 1.80 Å, respectively.
In the example in Section 4.7.8, I exemplified how to use the MK module to investigate ESP
reproducibility of given atom charges on all MK fitting points and on the fitting points
corresponding to specific atoms. In addition, the example showed how to visualize ESP reproduction
error at various molecular regions.
91
3 Functions
AIM (Atoms-in-molecules) population denotes the number of electrons in AIM basin, and
accordingly, nuclear charge minus AIM population yields AIM charge, which is also known as
Bader charge. AIM charges can be calculated in basin analysis module, please check the example
given in 4.17.1 on how to do this. Related theories and algorithms of basin analysis module are
introduced in Section 3.20.
Hirshfeld-I (HI) method was proposed in J. Chem. Phys., 126, 144111 (2007), it is an important
extension of Hirshfeld method. It is believed that the atomic space defined by Hirshfeld is not quite
ideal, because it does not respond actual molecular environment. In HI, atomic spaces are gradually
refined via an iterative scheme. After convergence, the final HI atomic spaces are evidently more
physically meaningful than the Hirshfeld ones.
There are some variants of HI method, including the Hirshfeld-E proposed in J. Chem. Theory
Comput., 9, 2221 (2013), the Hirshfeld-I proposed in J. Comput. Chem., 32, 1561 (2011) and the
fractional occupation Hirshfeld-I (FOHI) proposed in J. Chem. Theory Comput., 7, 1328 (2011).
Also, there is an iterative atomic space method name iterated stockholder atoms (ISA), which is
closely related to HI, see Chem. Commun., 2008, 5909.
where r and R denote spatial coordinate and position of atomic nucleus, respectively. The atomic
density involved in HI is obtained by linear interpolation between spherically averaged free-state
atomic density of adjacent charge states:
where qhigh and qlow are upper and lower integer of atomic charge of atom A at n-1 iteration, while
free free
𝜌𝐴,up and 𝜌𝐴,low are spherically averaged atomic density of atom A at these two charged states,
respectively. For example, if atom A carries charge of 0.2 at n-1 step, then its radial atomic density
at step n will be computed as
A( n ) (r ) = 0.8 Afree
,q =0 ( r ) + 0.2 A,q =+1 ( r )
free
Before the HI iteration, radial density of all atoms are initialized to their neutral state.
Based on HI atomic weighting functions, HI atomic charges can be straightforwardly obtained.
The HI iteration continues until all atomic charges converged to a given criterion.
Note: It is clear that the HI atomic charges yielded at the first iteration are in principle identical to Hirshfeld
charges. However, this is not exactly true in Multiwfn, because currently the rule of generating spherically averaged
free-state atomic density involved in HI is not completely identical to that used in Hirshfeld, but the difference is
very small and can be ignored. It is never incorrect to directly take the atomic charges printed at the first iteration of
92
3 Functions
HI as Hirshfeld charges.
Usage
After entered the HI analysis module, you will find many options, you can adjust convergence
criterion and maximum number of cycles, also you can switch the algorithm for realizing HI
iterations (see below), and you can decide if printing atomic charges every iteration.
If you select option 0, Multiwfn will start the HI calculation. Before this, Multiwfn first checks
atomic radial density files (.rad) in "atmrad" folder, if they are available for all elements in the
current system, HI calculation will directly start; if they are not available, Multiwfn will try to
calculate atomic .wfn files by invoking Gaussian and convert them to .rad files, and then start the
HI iterations.
After convergence of HI iterations, HI atomic charges and fragment charge/population (if you
have defined fragment) are printed. Note that the printed HI atomic charges have been properly
normalized to eliminate noise of numerical integration (i.e. making sum of HI population of all
atoms equal to total number of electrons). Finally, you can select if outputting resulting atomic
charges as .chg file.
There is an option "-3 Switch if speeding up calculation using distance cutoff". By default, this treatment is
enabled to significantly reduce cost for large system. If you find the HI charges are problematic or the calculation
cannot be normally finished, you can select this option once to disable this treatment and retry. Alternatively, you
can select it twice, then you will be prompted to input a cutoff value for this treatment, the larger the value, the more
accurate the result and more robust the calculation will be, however, at the expense of increasing computational cost.
The default cutoff is 2.0, which should be very safe for almost all cases.
93
3 Functions
for all cases, for example, ground state at different calculation levels may even be different. However,
this is never an important problem, so please do not concern it too much). The path of Gaussian
executable file should be set by "gaupath" in settings.ini file, if it is not properly set, you will be
prompted to input it in the Multiwfn interface. You also need to input the keywords of Gaussian
used to calculate the atomic .wfn files. After Gaussian calculation has finished, the atomic .wfn files
are generated in "atmrad" folder, the file name directly corresponds to element name and charge
state. For example, the file corresponding to -1, 0, +1 and +2 charged states of Be will be generated
in "atmrad" folder as Be-1.wfn, Be_0.wfn, Be+1.wfn and Be+2.wfn, respectively. If corresponding
file has already been found in the "atmrad" folder, then the file will be directly used and not be
recalculated. If you find Gaussian calculation is failed (mostly due to SCF nonconvergence problem),
you should carefully check Gaussian output file and properly adjust the keywords used.
(2) Converting atomic .wfn files to .rad files: As mentioned earlier, HI calculation requires
spherically averaged atomic densities. However, the electron density corresponding to the
atomic .wfn files generated at last step often does not meet this requirement. For example, carbon
at its neutral ground state has s2p2 configuration, and thus C_0.wfn corresponds to elliptical density
distribution. To get spherically averaged representation of atomic densities, Multiwfn automatically
loads each atomic .wfn files in "atmrad" folder, calculates spherically averaged radial density, and
write the data as .rad file, whose name is identical to its parental .wfn file. For example, C_0.wfn
will be converted to C_0.rad. The .rad file is a plain text file, the first line is the number of data
points, the first and second columns respectively correspond to radial distance with respect to
nucleus (in Bohr) and corresponding electron density. Note that if needed .rad file has already
presented in "atmrad" folder, then the conversion of .wfn→.rad will be skipped.
Note: If you are using Windows version of Multiwfn and Gaussian cannot be invoked properly, please read
Appendix 1 to set environment variable for Gaussian.
It is best (but never compulsory) that the atomic .wfn files are generated at the same calculation level as the
molecule under study, so that the result has strict physical meaning. If you want to let Multiwfn regenerate all needed
atomic .wfn/.rad files at a specific level prior to HI analysis, evidently you should clean up the "atmrad" folder before
calculation.
• Manually generate .rad files
It is also possible to manually calculate .rad files and put them in the "atmrad" folder, so that
they will be used in HI calculation. At least .rad files corresponding to below charged states must
be provided for the elements in the present system, otherwise Multiwfn will try to employ Gaussian
to calculate missing ones.
IA, VIIIA: -1,0,1
IIA: -1,0,1,2
VIIA: -1,0,1,2
For lanthanides and actinides, the consideration of charged states is up to you. It is suggested to
consider -1, 0, 1 and 2.
As an example, if you want to calculate HI charges for water, you should provide O-2.rad, O-
1.rad, O_0.rad, O+1.rad, O+2.rad, H-1.rad, H_0.rad and H+1.rad in "atmrad" folder of current
directory. Generating .rad file is easy. Taking generation of O-1.rad as example, you should use
Gaussian or other code to calculate an oxygen atom with charge of -1 and spin multiplicity of 2.
Then load the resulting wavefunction file (e.g. wfn/molden/fch...) into Multiwfn, enter main
function 1000 and select subfunction 14, you will immediately obtain a .rad file with same name as
the input file.
94
3 Functions
Note that if your system contains lanthanides or actinides, this is the only way of preparing
corresponding .rad files and thus calculating HI charges.
CM5 charge was proposed by Truhlar et al. in J. Chem. Theory Comput., 8, 527 (2012). This
charge is somewhat akin to the ADCH charge proposed by me, both of them are defined as applying
additional correction to Hirshfeld charges. Unlike ADCH, which is free of empirical parameters,
CM5 method contains global parameters as well as parameters for individual elements. The CM5
parameters are optimized for best reproduction of highly accurate experimental or theoretical
molecular dipole moment.
It is noteworthy that there is a remarkable difference between the basic feature of ADCH and
CM5: ADCH charges can exactly reproduce molecular dipole moment corresponding to present
calculation level, that means if the level used is very high (e.g. CCSD/aug-cc-pVTZ), then the dipole
moment calculated by the resulting ADCH charge must be very close to the molecular dipole
moment in real world; while if the used level is poor (e.g. HF/6-31G), then the ADCH charges will
be almost useless. In contrast, the CM5 charges do not attempt to reproduce molecular dipole
moment at present calculation level, but to reproduce real molecular dipole moment, therefore even
if low level such as B3LYP/6-31G* is used, which is certainly unable to give good dipole moment
result, the CM5 charges derived at this level commonly are still able to yield molecular dipole
moment at acceptable accuracy.
The expression of CM5 charge is
95
3 Functions
where rij is distance between atom i and j, Bij may be regarded as their Pauling bond order, Ri and
Rj are their atomic covalent radii, which are defined as follows: For Z=1~96, the average between
CSD radii and Pyykkö radii are used, while for Z=97~118, the Pyykkö radii are employed. The
global parameter equals to 2.474 Å-1. The Tij is defined as Dij if both i and j are attributed to H, C,
O, N, note that Dij=0 when i and j belong to the same element and Dij=-Dji. All the involved six Dij
parameters (H-C, H-N, H-O, C-N, C-O, N-O) are tabulated in the original paper. For other cases, Tij
is defined as Di - Dj, the optimized D parameters for all elements throughout the whole periodic
table are provided in the supplemental material of CM5 original paper.
Like usual Hirshfeld and ADCH calculations, after you enter this function, I suggest you select
option 1 to use the build-in sphericalized atomic densities in free-states, since it is the most
convenient. Then Multiwfn starts calculation of Hirshfeld charges, and then print CM5 charges. If
you want to gain detailed information about the CM5 correction process during the calculation, you
can set "ishowchgtrans" parameter in settings.ini to 1.
As demonstrated in J. Phys. Chem. B, 121, 3864 (2017), 1.2*CM5 is well-suited for molecular
dynamics with OPLS-AA forcefield. Details and calculation example can be found in Section 4.7.9.
uESE and xESE are good solvation models based on CM5 charges in gas phase, there are
corresponding codes for calculating free energy of solvation (Gsolv) based on them, see website
http://iqcc.udg.edu/~vybo/ESE/. In J. Comput. Chem., 1, 11 (2021) it was shown that uESE is much
better in average than SMD solvation model for evaluating Gsolv of ions, while xESE performs
somewhat better than SMD for evaluating Gsolv of neutral species. Multiwfn is able to generate
input file of uESE code (the input file of xESE is the same as uESE). You simply need to set
“uESEinp” in settings.ini to 1. Note that since uESE was parameterized at B3LYP/def2-TZVP level
in gas phase, the CM5 charges should also be calculated at this level, and it is advised that geometry
optimization is also performed at this level.
Theory
The EEM method is also known as Full Equalization of Orbital Electronegativity (FEOE), it
was firstly proposed in J. Am. Chem. Soc., 107, 829 (1985). The idea of EEM is very clear. The
electronegativity of atom i can be written as
qj
i = ( i0 + i ) + 2(i0 + i )qi +
j i ri. j
where 0𝑖 and 0𝑖 are Sanderson electronegativity and Parr-Pearson hardness of corresponding
element, respectively, while ∆𝑖 and ∆𝑖 are fitted parameters. qi denotes atomic charge of atom i,
96
3 Functions
and ri,j is distance between atoms i and j. For convenience, above formula is commonly expressed
as
qj
i = Ai + Bi qi +
j i ri , j
where is global parameter, A and B are element parameters. It can be seen that, atomic
electronegativity in a chemical system is function of atomic charges.
EEM method assumes that in a chemical system, all atoms have equal electronegativity, hence
the EEM charges can be determined by solving linear equations according to below conditions
1 = 2 = ... = N = mol
qi
i =Q
where Q stands for net charge of the whole system, mol is (unknown) molecular electronegativity,
N is number of atoms.
It is easy to show that the working matrix equation for solving EEM charges can be written as
follows
B1
r1, 2 r1, N − 1 q1 − A1
B2 r2,N − 1 q2 − A2
r2 ,1
=
rN ,1
rN , 2 BN − 1 qN − AN
1 1 1 0 mol Q
Since EEM matrix element is very simple and the above matrix equation can be solved easily, EEM
charges could be evaluated rather rapidly even for very large systems.
Parameters
The result of EEM charges are directly dependent of EEM parameters , {A} and {B}. There
is no unique way to determine the parameters, the most common way to obtain them is fitting, so
that the resulting EEM charges are close to quantum chemistry atomic charges (e.g. NPA, CHELPG,
Mulliken) as much as possible. Many papers presented EEM parameters fitted to various kinds of
atomic charges calculated at different levels. In Multiwfn, below EEM parameters can be directly
chosen:
Parameters fitted to Mulliken charges at HF/STO-3G, see Int. J. Mol. Sci., 8, 572 (2007).
Available for H, C, N, O, S
Parameters fitted to CHELPG charges at B3LYP/6-31G* and at HF/6-31G*, see J. Comput.
Chem., 30, 1174 (2009). Available for H, C, N, O, F, S, Cl, Br, Zn
Parameters fitted to NPA charges at B3LYP/6-311G*, they were extracted from SI of J.
Cheminform., 8, 57 (2016). Available for H, C, N, O, F, P, S, Cl, Br
Note that for some elements, their A and B parameters also depend on multiplicity, namely the
maximal formal bond order between this atom and its neighboring atoms, so that influence of
chemical environment can be taken into account.
With above mentioned parameters, EEM charges have good reproducibility of target atomic
charges for typical organic systems, but do not expect EEM method can work well for systems with
97
3 Functions
complicated electronic structure, since common training set of EEM parameters only include
organic systems with typical bonding.
Usage
Since formal bond order is involved in the EEM calculation, you must use MDL molfile (.mol)
or .mol2 as input file, because in all file types that supported by Multiwfn, only this file contains
connectivity information between atoms. Do not forget that there is a severe limitation of .mol
format, namely the number of atoms cannot exceeds 999, therefore .mol2 must be used for very
large system. The .mol/.mol2 file can be outputted by many programs, such as GaussView and
OpenBabel.
After you load a .mol/.mol2 file and then enter present function, you can directly choose option
0 to calculate EEM charges, the molecular electronegativity will also be outputted together. The
default EEM parameters are those fitted for reproducing B3LYP/6-31G* CHELPG charges.
Before calculation, you can choose option "1 Choose EEM parameters", present EEM
parameters will be shown on screen, and then you can select a built-in parameter set that you want
to use. Alternatively, you can load parameters from external file using suboption 0, the format of
parameter file should mimic to this:
0.302000
H 1 2.38500 0.73700
C 1 2.48200 0.46400
C 2 2.46400 0.39200
N 1 2.59500 0.46800
N 2 2.55600 0.37700
O 1 2.82500 0.84400
O 2 2.78900 0.83400
The first line is , after that, defining parameter for each element of each multiplicity. The second,
third and fourth columns are multiplicity, A and B, respectively. Free format is used. Using
corresponding option, the present parameters can also be exported to EEMparm.txt in current folder.
If the system under study is an ionic system, do not forget to use option "2 Set net charge" to
set net charge to actual status before calculation!
if the system contains aromatic ring(s), in order to assign suitable EEM parameters, the
aromatic ring(s) in the inputted .mol/mol2 file must be represented by alternate variation of single
and double bonds rather than represented by consecutive aromatic bonds (namely bond type 4
of .mol format, or “ar” type of .mol2 format). For this kind of system, I suggest first saving the
structure to e.g. pdb or xyz format, and then use OpenBabel to convert it to .mol format (using the
command obabel old.xyz -O new.mol2), which can then be used as input file for EEM charge
calculation, because in this case OpenBabel will automatically represent aromatic ring(s) by
alternative single and double bonds.
98
3 Functions
This module is quite powerful and flexible, it can calculate the standard RESP charge proposed
by Kollman and coworkers in J. Phys. Chem., 97, 10269 (1993), and can also calculate ESP fitting
charges under various equivalence and charge constraints. In Section 3.9.16.1 I first describe basic
ideas of RESP charge and related treatments, then in Section 3.19.16.2 the usage of this module is
introduced. If you are not interested in relevant theories, you can skip Section 3.9.16.1. However, if
you are not familiar with ESP fitting method, you should at least read Section 3.9.10 first to gain
minimal knowledge.
Some more discussions about this topic can be found in my blog article "Principle of RESP charge and its
calculation in Multiwfn" (in Chinese, http://sobereva.com/441).
3.9.16.1 Theory
99
3 Functions
the ESP of those conformations with relatively large weights. This idea has been examined in J. Am.
Chem. Soc., 114, 9075 (1992). Of course, this way of considering multiple conformations can be
very expensive for flexible molecules with many rotatable bonds, because the number
conformations increases exponentially with the increase in rotatable bonds.
For the above problem (2), equivalence constraints can be imposed on chemically equivalent
atoms in the fitting process so that their atomic charges are the same (Another way is to calculate
the ESP fitting charges as usual, and then average the charges of chemical equivalent atoms.
However, the charge obtained in this way is not as ideal as employing equivalence constraints).
For the above problem (3), the solution proposed in Kollman's RESP paper is to add a
hyperbolic penalty function rstr
2
= a [(qA2 + b2 )1/2 − b] to the function of measuring
A
reproducibility of the ESP calculated based on wavefunction, where index A corresponds to atomic
index of non-hydrogen atoms. The penalty function involves a tightness parameter b and a restraint
strength parameter a. The former is generally set to 0.1, while the latter can be adjusted in the actual
calculation. The larger the a, the stronger the tendency of the atomic charge to be pulled down, and
meantime the worse the ESP reproducibility becomes. Obviously, the parameter a should be
properly selected, generally a value less than or equal to 0.001 is employed. It has been found that
introduction of this form of penalty function significantly lowers charges of buried atoms, while
other atoms, in particular polar atoms, are not evidently affected. Kollman believes that this
treatment also significantly reduces the conformational dependence of the ESP fitting charge. After
introducing the hyperbolic penalty function, the ESP fitting procedure can no longer be solved in
one step, iteration is needed until changes of all atomic charges are small enough.
Below I give detailed derivation of the working equation used to calculate ESP fitting charges
under above special considerations. When equivalence constraint is employed, the function to be
minimized using least square method in the ESP fitting procedure will be
2
1
F = Vi − q A + n Aq A − qtot
i A a A ria A
where i cycles fitting points, Vi is the ESP calculated based on wavefunction at point i, {q} is the set
of uniquely derived atomic charges, ria denotes distance between point i and atom a, which belongs
to equivalence constraints A. nA is the number of atoms constrained to be equivalent in batch A. If
nA=1, that means A just corresponds to an atom without equivalence constraint.
Minimization of F with respect to variables yields
F
= 0 = nAqA − qtot
A
F 1 1
= 0 = −2 Vi − qA + nB
qB bB rib i A aA ria
The second equation can be further reorganized as follows, with considering the fact that the
value of Lagrangian multiplier is arbitrary
100
3 Functions
F 1 1
= 0 = Vi − qA +
qB bB rib i A aA ria
1 Vi
q r r
A
A
aA bB i
+ =
bB i rib
ia ib
with
1 Vi
AA,B = BA = qtot = q A
aA bB i ria rib aA i ria A
where A and B are atomic indices, and there are totally N atoms. Once construction of the A and B
is completed, the charge vector can be easily obtained as q=A-1B.
Now we consider the case that penalty function is added to the function F. Given that
rstr
2
/ qA = aqA ( qA2 + b2 )−1/2
1 Vi
q r r
A
A
a A bB i
+ aqA ( q A2 + b2 ) −1 / 2 + =
bB i rib
ia ib
1
The diagonal elements of A should thus be AA, A = r r
a , b A i
+ a ( q A2 + b2 ) −1 / 2 , while the non-
ia ib
diagonal terms of A should keep unchanged. In practical calculation, the {q} in initial A is set to
zero, then updated {q'} is obtained by solving the matrix equation, after that {q'} is used to construct
the A of the second iteration. The iteration is repeated until charge variation of all atoms is smaller
than a given threshold.
The easiest way of taking multiple conformations into the ESP fitting procedure is replacing
the A matrix and B vector with their weighted averaged counterparts, as suggested in J. Am. Chem.
Soc., 114, 9075 (1992):
A = w A B = w B
where is index of conformer and w is corresponding weight. The weights could be determined in
different ways, the common way is calculating relative Gibbs free energies and then evaluating
weights according to Boltzmann distribution.
101
3 Functions
Chem., 97, 10269 (1993) may be the most suitable atomic charge model for molecular simulation
of flexible molecules. It takes advantage of many aforementioned ideas and largely solves the above
mentioned problems in MK/CHELPG charges. The fitting process of the RESP charges is divided
into the following two steps.
• Step 1: During the charge fitting, a hyperbolic penalty function with a=0.0005 is used to
impose a weak charge restraint on non-hydrogen atoms. Charges of all atoms are fitted, and no
equivalence constraint is employed. This step allows atomic charges to change with the greatest
degree of freedom to make polar atoms fit the ESP as well as possible.
• Step 2: Using the hyperbolic penalty function with a=0.001 to impose a strong restraint on
non-hydrogen atoms. This step only allows charge of sp3 hybridized carbons, methylene carbons
and hydrogens attached on them to be fitted, while charges of all the other atoms keep fixed at the
value obtained at step 1. Equivalence constraint is applied to hydrogens on each −CH3, =CH2,
−CH2− group.
The reason why the RESP charge fitting is divided into two steps is because the authors found
that only by doing so, the problems of normal ESP fitting charges in modeling flexible molecules
could be largely solved without causing too much damage on the reproducibility of ESP. Since RESP
charge is fairly ideal for molecular dynamic modeling purpose, it has been employed by many
famous forcefields, such as AMBER, GAFF and GLYCAM.
Notice that although conformation dependency has been diminished to large extent in the subtly
designed RESP fitting process, if you want to obtain a set of atomic charges that can equally well
describe all important conformations, you still need to explicitly take multiple conformations in the
RESP fitting procedure.
The MK type of fitting points are employed in original paper of RESP, however, changing to
CHELPG type of fitting points is also completely reasonable.
102
3 Functions
straightforward, we only need to properly modify the form of matrix equation. For example, we
want to add below constraints:
q1 + qN = 0.5
q2 = −0.2
Then below terms should be added to the function F, which is to be minimized:
F F F F F F
= 0 = 0 + ' = 0 = 0 + '' = 0 = 0 + '
q1 q1 q2 q2 qN qN
where F0 is the function F without charge constraint. Clearly, the current ESP fitting problem in
matrix equation form can be given as
103
3 Functions
D:\a\conf2.fch 0.75
D:\b\conf.fch 0.05
Evidently, the sum of all weights must be exactly or very close to 1.0. After that, in the charge
calculation, all files involved in this file will be loaded and calculated in turn (if you use this feature,
the input file loaded when Multiwfn boots up will be unimportant, it can even only contain structure
information of present system, therefore you can also use e.g. .pdb and .xyz as input file).
·Option 3: By default, MK type of fitting points is employed, if you want to change to
CHELPG type of fitting points, or you want to modify detailed setting of distribution of fitting
points (such as point density), you can use this option. Note that the density of fitting points under
default setting is already high enough, thus it does not need to be further enhanced without special
reason.
·Option 4: This option is used to set parameters of hyperbolic penalty function for non-
hydrogen atoms. The a used in "one-stage fitting" (0.0005 is employed by default), the respective a
parameters used in the first and second stages of the standard RESP fitting, as well as the b parameter
can be customized. Also, this option is able to manually define maximum number of RESP iterations
and convergence threshold of charge variation.
·Option 5: This option is use to set equivalence constraint. You can customize the constraint
by providing a plain text file containing entries of equivalence constraints. For example, if the file
content is
4,6,9-11
5,7
Then there will be two equivalence constraints, the first one requires that atoms 4, 6, 9, 10, 11 share
the same charge, the second one requires that atoms 5 and 7 share the same charge. The equivalence
constraint defined in this way take effect for both "one-stage fitting" and the first step of "two-stage
RESP fitting".
Note that for "one-stage fitting", by default hydrogens in each CH3 and CH2 group are
constrained to be equivalent. You can modify or simply remove this equivalence constraint setting
via this option.
104
3 Functions
Suboption 10 can generate plain text file named eqvcons_H.txt containing equivalence
constraint setting of "hydrogens in each CH3 and CH2 group are the same". You can then manually
modify this file to meet your special requirement.
Subfunction 11 can generate plain text file containing equivalence constraint of symmetrically
equivalent atoms in local region or the entire system. The point group of the selected atoms will be
detected and each class of equivalent atoms will be written to eqvcons_PG.txt in current folder. This
feature is quite useful in certain cases.
·Option 6: This option is use to set charge constraint in "one-stage fitting" or the first step of
"two-stage RESP fitting" (the charge constraint does not apply to the second step, mainly because
the automatically determined equivalent constraint may conflict with user-defined charge
constraint). In this option you can provide a plain text file to customize the rule of charge constraint.
For example, if the file content is
4,6,9-11 0.8
5,7 -0.32
Then sum of charges of atoms 4, 6, 9, 10, 11 will be constrained to 0.8 during the fitting, while sum
of charges of atoms 5 and 7 will be constrained to -0.32.
·Option 7 and details about determination of connectivity: To calculate the standard RESP
charge, or to calculate the normal ESP fitting charges but requiring the charges of the hydrogens in
each CH3 and CH2 group to be equivalent, interatomic connectivity is needed for automatically
determining which atomic charges should be fitted and which hydrogens should be constrained to
be equivalent. By default, if distance between two atoms is less than 1.15 times the sum of their
CSD covalent radii, then they will be regarded as bonded. If you feel that the current connection
relationship does not match your expectation, you can select option 7 to read the connectivity from
a specific .mol file, the .mol format contains a field recording connectivity information and can be
generated by many visualization programs such as GaussView. (Alternatively, you can modify the
threshold for judging bonding in main function 0, in which you can gradually change the bonding
threshold until the bonding relationship shown in the graphical window completely in line with your
expectation, the threshold will be retained and applied to the calculation in the RESP module).
·Option 8: This option enables Multiwfn directly load fitting points and corresponding ESP
values from Gaussian output file. If you have selected this option once, then during the ESP fitting
charge calculation process, Multiwfn will no longer attempts to determine position of fitting points
and calculate ESP values, but ask you to input path of a Gaussian output file of pop=MK or
pop=CHELPG task in combination with IOp(6/33=2) keyword. In addition, Gaussian also has a
keyword IOp(6/42=x), where x is the number of fitting points per Å2 for pop=MK task. x is
recommended to set to 6, which corresponds to Multiwfn default setting. Notice that since the code
in Multiwfn and in Gaussian for generating MK fitting points is different, the result calculated with
and without loading Gaussian pop=MK output file must have slight deviation.
In general, this option is not needed, but if you prefer to perform time-consuming calculations
on server and use Multiwfn to realize analyses on a poorly configured PC, then this function will be
useful. In addition, if you may calculate ESP fitting charges for a system many times (due to some
reasons, such as each time of calculation uses a different setting), then if Gaussian output file
containing fitting points information is generated, calculation of ESP values in each time of ESP
fitting can be avoided and thus a lot of time could be saved.
• Option 9: This option is used to set additional fitting centers for the RESP fitting, which may
105
3 Functions
be used to enhance representation of ESP due to e.g. lone pairs and -holes. The coordinates are
read from a given text file, whose format should look like
numdata
[blank line]
[blank line]
where numdata denotes the number of additional fitting centers for each conformer (the number is
the same for all conformers). X, Y, Z denote the coordinates in Å. You can set arbitrary number of
additional fitting centers for arbitrary number of conformers. The additional center definition
between different conformers should be separated by a blank line, as illustrated above. Note that
these fitting centers are regarded as polar non-hydrogen atoms in the RESP charge fitting procedure,
however, their radii are set to zero (i.e. they do not affect number and distribution of ESP fitting
points). An example of utilizing this feature is given as "Example 6" of Section 4.7.7.
·Option 10: This option is used to set the atomic radii employed in the fitting, please check
corresponding description in the CHELPG section (Section 3.9.10) for detail. Notice that the default
mode is "automatic", in this case, if the fitting points of MK type are employed, then MK radii will
be adopted (see Section 3.9.11 on how the MK radii are defined in Multiwfn); if fitting points of
CHELPG type are employed, then CHELPG radii will be adopted.
·Option 11: This option is used to choose the type of ESP that you want to fit. Commonly,
this option should not be changed, the default type of ESP is the ESP defined in usual way. However,
if you intend to use this RESP module to derive atomic transition charges, you should choose this
option and change the ESP type to “3 Transition electronic”. Please check Section 4.A.9 for more
information and example.
106
3 Functions
equivalent atoms share exactly the same charge during fitting. Writing this file is quite easy even if
the system is large, because by subfunction 11 of option 5 you can make Multiwfn automatically
recognize point group of local fragment or the entire system and write corresponding equivalence
constraint setting to eqvcons_PG.txt. This point is fully exemplified in "Example 6" in Section 4.7.7.
(1) Choose option "3 Set method and parameters for distributing fitting points", select
CHELPG, and then select "1 Set grid spacing", input a value much smaller than the default one. The
smaller the grid spacing, the better the atomic charges satisfy the point group symmetry. This
treatment does not completely solve the problem but only relieve it, and it increases computational
cost because the number of points to be calculated is increased. Therefore, way (1) is preferred over
this way.
Many examples of evaluating standard RESP charges and normal ESP fitting charges with
various constraints, as well as some special skills can be found in Section 4.7.7.
The RESP2 method is an extension of RESP method. The RESP2 charge is more suitable than
RESP charge for molecular dynamics simulation in condensed phase since it better takes solvent
effect into account. See Section 4.7.7.9 for instance on how to calculate RESP2 charge.
Theory
The PEOE (Partial equalization of orbital electronegativity) charge is also known as Gasteiger
charge or Gasteiger-Marsili charge, the idea was firstly proposed by Gasteiger and Marsili in
Tetrahedron Lett., 19, 3181 (1978), and then matured in Tetrahedron, 36, 3219 (1980). PEOE charge
is determined according to interatomic connectivity, chemical environment and partially based on
electronegativity equalization principle. The major advantage of PEOE method is that it is able to
estimate atomic charges for huge system with negligible computational cost. However, there are
several drawbacks in this method: (1) Only limited elements are supported (2) Actual electronic
structure is not taken into account, the charges only reflect bonding types and connectivity (3) Poor
reproducibility to many observable quantities, such as dipole moment and electrostatic potential. (4)
Cannot be used for charged systems. Despite that there are many shortcomings, PEOE is still very
popular for crude estimation of atomic charges purpose, and have been widely employed in
molecular docking and drug design fields.
The principle of PEOE method is simple. It defines atomic electronegativity as follows
A = a + bqA + cqA2
where qA is atomic charge of atom A, while a, b and c are parameters derived by Gasteiger et al.
based on ionization potential and electron affinity of corresponding element at neutral and charge
states. The parameters are dependent of atomic hybridization state, which can be determined
according to the number and type of bonded atoms.
PEOE charges are calculated via iterative process. In every iteration, certain amount of electron
107
3 Functions
is transferred between each pair of bonded atoms. In iteration n, the variation of atomic charge of A
due to its bonded atom B is calculated as:
where looped atoms K and L satisfy K( n −1) A( n −1) and A( n −1) L( n −1) , respectively.
then the atomic electronegativities {(n)} are recalculated based on {q(n)} via the aforementioned
equation.
The iteration stops when maximum of charge variation is smaller than a given threshold. In
Multiwfn the threshold is set to 0.0001, in this case the iteration can usually converge after a dozens
of cycles. In Multiwfn the f parameter is fixed to 0.5.
The initial charges, namely {q(0)}, are default to zero except for very few kinds of atoms, whose
q(0) is automatically set to a specific value. For example, the =O atom in sulfonyl group has default
q(0) of -1. Sum of all final charges is equivalent to that of all initial charges, therefore you should
guarantee that sum of all initial charges is equal to actual net charge of present system. If you want
to manually set initial charges to override the default ones, you can prepare a file named
PEOEinit.txt in current folder, each line contains atom index and initial charge, for example:
32 -0.5
33 -0.5
36 1.0
Usage
Calculating PEOE charges are quite easy. You only need to load a file containing geometry
information into Multiwfn, then enter subfunction 19 of main function 7, the determined PEOE
parameters in the current system as well as calculated charges will be printed immediately.
If you want to monitor variation in atomic charges and atomic electronegativities in each cycle,
you can set "outmedinfo" in settings.ini to 1 before booting up Multiwfn.
Currently the PEOE module of Multiwfn supports H, C, N, P, O, S, F, Cl, Br, I, most parameters
are taken from Tetrahedron, 36, 3219 (1980), while some of them are supplemented from parameter
file of the Antechamber utility in AmberTools.
108
3 Functions
This method was proposed in J. Chem. Theory Comput., 12, 3894 (2016) and reviewed in J.
Phys. Chem. A, 122, 17, 4219 (2018).
Notice that the word “orbital” here is not restricted to molecular orbital, for example, if the
input file carries natural bond orbitals (NBO), then what will be analyzed is NBOs. There is an
excellent paper compared various orbital composition analysis approaches, see Acta Chim. Sinica,
69, 2393 (2011) (in Chinese, http://sioc-journal.cn/Jwk_hxxb/CN/abstract/abstract340458.shtml).
No matter which orbital composition analysis method you choose, if you request Multiwfn to
print composition of various atoms in an orbital, in the output you can find a value "Orbital
delocalization index" (ODI). The lower the value, the stronger the orbital delocalization. When you
intend to quantitatively compare extent of spatial delocalization of various orbitals, you will find
this index quite useful. This ODI is detailedly described and illustrated in Section 4.8.5.
Mulliken, SCPA and Stout-Politzer methods support decomposing orbital to basis function,
shell and atom compositions. Actually I have introduced the theories in Sections 3.9.5, 3.9.6 and
3.9.7, i,a100% is just the composition of basis function a in orbital i, if we sum up all the
compositions of basis functions that within a shell we will get shell composition, and if we sum up
all the compositions of shells that attributed to the same atom we will get atom composition.
109
3 Functions
These approaches rely on basis expansion, in current Multiwfn version you must
use .mwfn, .fch, .molden or .gms as input file.
When you entered “Orbital composition analysis” submenu from main menu, select which
method you want to use for decomposition, and then input the index of orbital, the result will be
printed on screen immediately, you can also input -1 to print basic information of all orbitals to find
which one you are interested in. By default, only those terms with composition larger than 0.5%
will be printed, this threshold can be adjusted by “compthres” in settings.ini.
If the basis functions stored in .mwfn/.fch/.molden file are spherical harmonic type, then the
label of basis functions printed will look like D+1, F-3 rather than XX, XYY. The labels of spherical
harmonic basis functions used in Multiwfn are completely identical to Gaussian program, the
conversion relationship is:
D 0=-0.5*XX-0.5*YY+ZZ
D+1=XZ
D-1=YZ
D+2=√3/2*(XX-YY)
D-2=XY
F 0=-3/2/√5*(XXZ+YYZ)+ZZZ
F+1=-√(3/8)*XXX-√(3/40)*XYY+√(6/5)*XZZ
F-1=-√(3/40)*XXY-√(3/8)*YYY+√(6/5)*YZZ
F+2=√3/2*(XXZ-YYZ)
F-2=XYZ
F+3=√(5/8)*XXX-3/√8*XYY
F-3=3/√8*XXY-√(5/8)*YYY
G 0=ZZZZ+3/8*(XXXX+YYYY)-3*√(3/35)*(XXZZ+YYZZ-1/4*XXYY)
G+1=2*√(5/14)*XZZZ-3/2*√(5/14)*XXXZ-3/2/√14*XYYZ
G-1=2*√(5/14)*YZZZ-3/2*√(5/14)*YYYZ-3/2/√14*XXYZ
G+2=3*√(3/28)*(XXZZ-YYZZ)-√5/4*(XXXX-YYYY)
G-2=3/√7*XYZZ-√(5/28)*(XXXY+XYYY)
G+3=√(5/8)*XXXZ-3/√8*XYYZ
G-3=-√(5/8)*YYYZ+3/√8*XXYZ
G+4=√35/8*(XXXX+YYYY)-3/4*√3*XXYY
G-4=√5/2*(XXXY-XYYY)
H 0=ZZZZZ-5/√21*(XXZZZ+YYZZZ)+5/8*(XXXXZ+YYYYZ)+√(15/7)/4*XXYYZ
H+2=√5/2*(XXZZZ-YYZZZ)-√(35/3)/4*(XXXXZ-YYYYZ)
H-2=√(5/3)*XYZZZ-√(5/12)*(XXXYZ+XYYYZ)
H+3=√(5/6)*XXXZZ-√(3/2)*XYYZZ-√(35/2)/8*(XXXXX-XYYYY)+√(5/6)/4*XXXYY
H-3=-√(5/6)*YYYZZ+√(3/2)*XXYZZ-√(35/2)/8*(XXXXY-YYYYY)-√(5/6)/4*XXYYY
110
3 Functions
H+4=√35/8*(XXXXZ+YYYYZ)-3/4*√3*XXYYZ
H-4=√5/2*(XXXYZ-XYYYZ)
H+5=3/8*√(7/2)*XXXXX+5/8*√(7/2)*XYYYY-5/4*√(3/2)*XXXYY
H-5=3/8*√(7/2)*YYYYY+5/8*√(7/2)*XXXXY-5/4*√(3/2)*XXYYY
Before doing composition analysis for fragments by Mulliken, Stout-Politzer and SCPA
approaches, you have to define fragment in advance. If what you are interested in is only
composition of one fragment rather than the composition between two fragments (cross term
composition), you only need to define fragment 1. The content of fragment can be chosen to basis
functions, shells, atoms or mixture of them, whatever you choose, only the indices of corresponding
basis functions are recorded eventually. Notice that the "fragment" I referred here has no any
relationship with the "fragment" involved in Section 3.1, the fragment defined here does not disturb
wavefunction at all.
All supported commands in the interface of defining fragment are self-explanatory, so I will
not reiterate them but only give an examples, that is define fragment as all P-shells of atom 3: First,
type command all, information of all basis functions are listed, find out the shells that attributed to
center 3 and contain X, Y and Z type of basis functions (viz. PX, PY and PZ). Assume that the
indices of such shells are 3, 6 and 7, then input s 3,6,7 to add them into fragment. If you want to
verify your operation, input all again and check if asterisks have appeared in the leftmost of
corresponding rows, the marked basis functions are those that have been included in the fragment.
Finally, input the letter q to save current fragment and return to last menu, the indices of basis
functions in the fragment will be printed at the same time.
By default, fragments do not have any content. Each time you enter the fragment definition
interface, the status of fragment is identical to that when you leave the interface last time. So, if you
have defined the fragment earlier and you want to completely redefine it, do not forget to use “clean”
command to empty the fragment first.
After you defined fragment 1, the fragment composition analysis based on Mulliken, Stout-
Politzer and SCPA approaches is available. The fragment composition is the sum of all basis function
compositions within the fragment, in this function the fragment compositions of all orbitals are
printed on screen at the same time. If the analysis method you chose is Mulliken (subfunction 4) or
Stout-Politzer (subfunction 5), below component terms are outputted together with total
composition:
c^2 term: The sum of square of coefficients of basis functions within fragment 1, namely
111
3 Functions
C
afrag1
2
a ,i 100% .
afrag1 bfrag 2
Ca ,iCb,i Sa ,b 100% .
Ext.cross: Fragment 1 part of the total cross term between fragment 1 and all other atoms,
namely w
afrag1 bfrag1
a ,b 2Ca ,iCb,i Sa ,b 100% .
It is clear that total composition of fragment 1 equals to c^2 term + Int.cross + Ext.cross.
If the fragment 2 is also defined (you must have already defined fragment 1), in subfunction 5
(Mulliken) or subfunction 5 (Stout-Politzer) the cross term between fragment 1 and fragment 2 in
each orbital, namely
afrag1 bfrag 2
2Ca ,iCb,i Sa ,b 100% will be outputted too. “Frag1 part” and
“Frag2 part” correspond to the components of cross term attributed to fragment 1 and fragment 2
respectively, for Mulliken analysis the two terms are of course exactly equal due to the “equal
partition”.
This function is used to calculate orbital composition based on natural atomic orbitals (NAOs).
This idea was proposed in my paper Acta Chim. Sinica, 69, 2393 (2011) http://sioc-
journal.cn/Jwk_hxxb/CN/abstract/abstract340458.shtml.
Theory
The first step of the famous natural bond orbital (NBO) analysis is converting original basis
functions to NAOs based on density matrix. Resulting NAOs can be classified into three categories:
• Core-type NAOs, describing inner core densities, their occupation numbers are almost equal
to integer
• Valence-type NAOs, describing valence densities, generally they have high occupation
numbers
• Rydberg-type NAOs, mainly displaying characteristics of polarization and delocalization of
electrons, the occupation numbers of them are very low
Core and valence NAOs are collectively called as minimal set, they have strong physical
meaning and have one-to-one correspondence with "actual" atomic orbitals, so they are what we
should be most concerned. Occupied MOs are almost exclusively contributed by minimal set NAOs.
Rydberg NAOs do not have clear physical interpretation, their contributions can be ignored in
occupied MOs, however they often have great contribution to virtual orbitals.
Since NAOs is an orthonormal set, if we have MO coefficient matrix in NAO basis, we can get
contribution from a NAO to specific MO by simply squaring corresponding expansion coefficient
and then multiplying it by 100%. Composition of an atom can be calculated as sum of composition
of minimal set NAOs in this center.
This orbital composition calculation method based on NAOs has great basis set stability as
112
3 Functions
Input file
The MO coefficient matrix in NAO basis cannot be generated by Multiwfn itself, you need to
provide an output file of NBO program containing this matrix as Multiwfn input file. By default,
NBO program does not output this matrix, so you need to manually add NAOMO keyword between
$NBO ... $END field in NBO input file. The NBO program we referred here may be stand-alone
NBO program (also known as GENNBO), or NBO module embedded in quantum chemistry
software, such as L607 in Gaussian.
Options
After loading proper input file and enter present function, you will find following options in
the interface:
-1 Define fragment: This option is used to define fragment, which is needed by fragment
contribution analysis (option 1). All commands are self-explanatory.
0 Show composition of an orbital: Print contribution from NAOs, shells and atoms to a
specific MO. At the meantime, contributions from core, valence and Rydberg type of NAOs are
reported respectively.
1 Show fragment contribution to a batch of orbitals: Print contribution from the fragment
defined by option -1 to specific orbitals.
2 Select output mode: This option controls which set of terms will be printed by option 0,
there are four modes:
(0) Show all terms
(1) Show non-Rydberg terms
(2) Show the terms whose contributions are larger than specific criterion
(3) Show non-Rydberg terms whose contributions are larger than specific criterion (default)
3 Switch spin type: You can find this option if the current system is open shell. You can select
the spin of the MOs to be analyzed.
Hirshfeld and Hirshfeld-I weighting function (see Sections 3.9.1 and 3.9.13, respectively) can
also be used for decomposing orbital to atom and fragment compositions, the composition of atom
the compositions of the atoms that belongs to the fragment. These methods have great basis set
stability and are always more reliable and reasonable than Mulliken and MMPA. In fact the
Hirshfeld partition is already good enough, the more sophisticated and computationally demanding
113
3 Functions
This function is very similar to the function introduced in Section 3.10.5, the only difference
is that Becke partition is used instead of Hirshfeld partition. For most cases, their results are in
qualitative agreement with each other. Using Becke partition instead of Hirshfeld partition has a
prominent advantage, namely the atomic wavefunction files are not needed, since the Becke atomic
space can be simply constructed based on atomic radius. For more detail about Becke partition, see
Section 3.18.0. An example is given in Section 4.8.3.
114
3 Functions
Usually I do not recommend to calculate orbital composition in this way, because the cost is
significantly higher than other ways while the result is not better.
This function is an implementation the LOBA method proposed in Phys. Chem. Chem. Phys.,
11, 11297 (2009). LOBA (localized orbital bonding analysis) is a method used to evaluate atomic
oxidation state based on orbital composition of localized MOs (LMOs). The idea is very simple: if
an atom has nuclear charge of Z, and its compositions in N occupied LMOs are larger than a given
threshold (e.g. 50%. In this case the electrons in these LMOs can be approximately viewed as
completely attributed to the atom. If a LMO is doubly occupied, it should be counted twice), then
the oxidation state of the atom will be Z−N.
In my opinion, this idea can also be extended to define oxidation state of a fragment, namely
if the sum of nuclear charge in a fragment is Z, and the fragment contribution to N LMOs are larger
than a certain threshold, then the fragment oxidation state will be Z−N.
To use this function, you should provide .mwfn, .fch or .molden file recording LMOs (or
NBOs). For example, you can use Multiwfn to carry out orbital localization to generate a
wavefunction file containing LMOs. If you are a Gaussian user, you can use the .fch file resulting
from pop=saveNBO or pop=saveNLMO task as input file to conduct LOBA analysis based on NBO
or NLMO.
The result of LOBA method somewhat depends on the choice of orbital composition analysis
method. Multiwfn employs Hirshfeld method for LOBA analysis, which is very robust.
In the bond order analysis module, you can directly select an option to analyze bond order by
corresponding method.
If you want to obtain total bond order between atoms in two molecular fragments, you can use
option -1 to define fragments 1 and 2 prior to bond order analysis. Then if you choose an option to
calculate bond order, the total bond order IRS between the two fragments will be calculated as follows
by summing up interatomic bond orders, and meantime be outputted along with two-center bond
orders
I RS = I AB
AR BS
Evidently, interfragment bond order calculation is not available for multi-center bond order analysis, orbital
occupancy-perturbed Mayer bond order and Wiberg bond order decomposition analysis.
115
3 Functions
The Mayer bond order between atom A and B is defined as (Chem. Phys. Lett, 97, 270 (1983))
I AB = I AB
+ I AB = 2[(P S)ba (P S)ab + (P S)ba (P S)ab ]
aA bB
P P
where and are alpha and beta density matrix respectively, S is overlap matrix. Above formula
can be equivalently rewritten using total density matrix P=P+P and spin density matrix Ps=P−P
I AB = [(PS)ba (PS)ab + (PsS)ba (PsS)ab ]
aA bB
For restricted closed-shell circumstance, since spin density matrix is zero, the formula can be
simplified to
I AB = (PS)ab (PS)ba
aA bB
Generally, the value of Mayer bond order is in agreement with empirical bond order; for single,
double and triple bonds, the values are close to 1.0, 2.0 and 3.0 respectively. For unrestricted or
restricted open-shell wavefunction, alpha, beta and total Mayer bond orders will be outputted
separately. By default, only the bonds whose bond order exceed 0.05 will be printed on screen, the
threshold can be adjusted by “bndordthres” parameter in settings.ini, you can also select to export
full bond order matrix.
Moreover, Multiwfn outputs total and free valences, the former is defined as
VA = 2 ( PS )aa − ( PS )ab ( PS )ba
aA aA bA
The latter is defined as
FA = VA − I AB = (PsS)ab (PsS)ba
B A aA bA
For restricted closed-shell wavefunctions free valences are zero since Ps=0, thus total valence
of an atom is simply the sum of the related bond orders
V A = I AB
B A
Total valence (also known as atomic valence) measures atomic bonding capacity, while free valence
characterizes the remaining ability of forming new bonds by sharing electron pairs.
For unrestricted or restricted open-shell system, there is another way to calculate total bond
order rather than summing up alpha and beta bond orders, that is summing up alpha and beta density
matrices to form total density matrix first and then calculate Mayer bond order by using restricted
closed-shell formula, this treatment is sometimes called “generalized Wiberg bond order“, these
total bond orders are printed following the title “Mayer bond order from mixed alpha&beta density
matrix”.
Similar to Mulliken population, Mayer bond order and the multi-center bond order described
below are sensitive to basis set, so do not use the basis sets having diffuse functions, otherwise the
bond order result will be unreliable.
Although Mayer bond order was originally defined for single-determinant wavefunctions, for
post-HF wavefunctions, Multiwfn calculates Mayer bond orders via exactly the same formulae as
shown above based on corresponding post-HF density matrix. The reasonableness of this treatment
has been validated in Chem. Phys. Lett., 544, 83 (2012).
116
3 Functions
Some applications of Mayer bond order can be seen in J. Chem. Soc., Dalton Trans., 2001,
2095.
In main function 9 there are three options (2, -2, -3) used to calculate multi-center bond order,
they are very similar and will be introduced below in turn. Finally, a notable point about the input
order of atomic indices is mentioned.
= 2n −1 (P S) ab (P S)bc (P S)cd (P S)ka
aA bB cC kK
+ 2n −1 ( P S) ab (P S)bc (P S)cd (P S)ka
aA bB cC kK
Another definition is using the mixed density matrix, this is not rigorous as above:
I ABCDEF K = (P mixed
S)ab (P mixedS)bc (P mixedS)cd (P mixedS)ka
aA bB cC kK
P mixed
= P +P
For unrestricted or restricted open-shell wavefunction, the output of MCBO analysis consists
of four terms, which have been explained above: (1) The result from alpha density matrix (2) The
result from beta density matrix (3) The sum of the result of alpha and beta parts (4) The result from
mixed alpha&beta density matrix. Commonly, if you are only interested in total MCBO, you should
117
3 Functions
use (3).
According to the expression, the computational cost of MCBO seems to increase exponentially
with increase of the number of centers in the ring, however, due to my special implementation in
Multiwfn, the cost grows only linearly with ring members. The computational time is negligible
even for a ring consisting of dozens of atoms.
Notice that the MCBO for different number of centers are not directly comparable, since the
result is not in the same magnitude. However, in Phys. Chem. Chem. Phys., 18, 11839 (2016), it was
shown that the normalized MCBO is comparable for different ring size and can be simply calculated
as MCBO1/n, where n is the number of centers. For example, at B3LYP/6-31G* level, the MCBO
for H3+, benzene (6 centers) and naphthalene (10 centers) are 0.2963, 0.0863 and 0.0080,
respectively, while the normalized results are 0.667, 0.665 and 0.617, respectively. When MCBO is
negative, the normalized value will be calculated as -|MCBO|1/n. Commonly, if you need to compare
MCBO between different number of centers, you should take the normalized MCBO from the
information printed by Multiwfn, else using raw MCBO value is suggested.
Multiwfn is able to automatically search multi-center bonds. If you input -3 when Multiwfn
asks you to input atom combination, all three-center bond orders will be calculated, only those larger
than the threshold you inputted will be printed. Similarly, four-, five- and six-center bonds can be
searched by inputting -4, -5 and -6 respectively. Due to efficiency consideration, the search may be
not exhaustive. Also note that the search is based on mixed alpha&beta density matrix for open-
shell cases.
There is a hidden option -3 in main function 9, it is used to calculate MCBO under Löwdin
orthogonalized basis. The only difference between this option and the option 2 described above is
that this option performs Löwdin orthogonalization for basis functions before calculating the MCBO.
Since this method does not have obvious advantage over the standard MCBO definition, this option
is rarely used and thus invisible in the interface. However, if you have interesting, you can have a
try.
Option -2: Multi-center bond order in natural atomic orbital (NAO) basis
The most severe drawback of the MCBO is its high basis set dependency. In particular, if
diffuse functions are presented, then MCBO result may be misleading or completely meaningless.
In order to tackle this problem, I proposed an alternative way (to be published) to calculate the
MCBO, and the idea is implemented as option -2.
Option -2 is very similar to option 2 (as introduced above), the only difference is that the
MCBO is calculated based on natural atomic orbital (NAO) basis rather than based on the basis
functions originally defined by the basis set. Since NAO is an orthonormal set and thus overlap
matrix S is an identity matrix, the formula can be simplified as (using closed-shell form for example)
I ABCDEF K = P P Pab bc cd Pka
aA bB cC kK
The MCBO calculated in this manner has very good stability with respect to change in basis
set. Even if diffuse functions are presented the result is still fully reliable. According to my
experience, if no basis function shows diffuse character, the results given by option 2 and -2 will be
very similar, though not exactly identical.
In order to use option -2, the output file of NBO module embedded in Gaussian or standalone
NBO program (namely GENNBO) should be used as input file, and DMNAO keyword must be used
118
3 Functions
to make NBO print density matrix in NAO basis. If you are a Gaussian user, for example, you can
use output file of below instance as input file of Multiwfn (DO NOT use .fch file for this analysis!).
#p PBE1PBE/6-311G** pop=nboread
opted
0 1
... [ignored]
In this function, if you only input indices of two atoms, then the result is just Wiberg bond
order under NAO basis, which is completely identical to that printed by bndidx keyword of NBO
program.
119
3 Functions
atoms, the bond order of (B,C,A,D,E,F), (C,A,B,D,E,F), (D,B,C,A,F,E) and so on (6!=720 in total)
are all required to be taken into account. An explicit definition is given below, see Eq. 9 of Phys.
Chem. Chem. Phys., 18, 11839 (2016):
1
I perm = I A,B,C...
2n Pˆ ( A,B ,C ...)
where n is the number of atoms involved in the calculation, 𝑃̂ is permutation operator that generates
all possible permutation sequences. The MCBO in this form is significantly more expensive than
the one in original definition, and it is not suitable for measuring aromaticity or cyclic delocalization.
However, it may be useful in measuring "global" electron delocalization among atoms in a cluster-
like region.
If you want to make Multiwfn directly print Iperm, you can set "iMCBOtype" in settings.ini to
2, then if you calculate MCBO as usual (via any of options 2, -2 and -3), the printed result will
correspond to Iperm.
Finally, it is worth to note that MCBO may be marginally negative in some cases. If you did
not employ diffuse functions, or the MCBO was calculated based on NAOs, then you can simply
view the very small negative MCBO as zero. For three-center cases, if MCBO is an evident negative
value, then it is implied that there is a three-center four-electron (3c-4e) interaction (e.g. CO2).
Information needed: Basis functions (options 2, -3), NBO output file with DMNAO keyword
(option -2)
Wiberg bond order is defined as follows, see footnote in Tetrahedron, 24, 1083 (1968)
I AB = Pab2
aA bB
The original definition of Wiberg bond order is only suitable for the wavefunction represented
by orthogonal basis functions such as most of semiempirical wavefunctions, and only defined for
restricted closed-shell system. Actually, Mayer bond order can be seen as a generalization of Wiberg
bond order, for restricted closed-shell system and orthonormal basis functions (namely S matrix is
identity matrix) cases their results are completely identical.
In this function, Multiwfn first orthogonalizes basis functions by Löwdin method and then
performs usual Mayer bond order analysis. The threshold for printing is controlled by “bndordthres”
in settings.ini too.
As shown in J. Mol. Struct. (THEOCHEM), 870, 1 (2008), the Wiberg bond order calculated
in this manner, say WL, has much less sensitivity to basis set than Mayer bond order (whereas for
small basis sets, their results are closed to each other). One should be aware that WL tends to
overestimates bond order for polar bonds in comparison with Mayer bond order.
Commonly, if there is not special reason, using Mayer bond order is more preferred.
Notice that numerous literatures used NBO program to calculate Wiberg bond order, the result
must be somewhat different to that produced by present function, because in NBO program the
Wiberg bond orders are calculated in the basis of natural atomic orbitals (NAO), which are generated
120
3 Functions
by OWSO orthogonalization method. Multiwfn is also possible to calculate Wiberg bond order
under NAO basis, and furthermore, the result can be decomposed as atomic orbital pair contributions,
see Section 3.11.8 for details.
Orbital occupancy-perturbed Mayer bond order was firstly proposed in J. Chem. Theory
Comput., 8, 908 (2012). Put simply, by using this method one can obtain how large is the
contribution from specific orbital to Mayer bond order.
Orbital occupancy-perturbed Mayer bond order can be written as
,
I A ,B = I AB ,
+ I AB = 2[(PX S)ba (PX S)ab + (PX S )ba (PX S )ab ]
aA bB
The only difference between this definition and Mayer bond order shown in Section 3.11.1 is that
𝛽
P and P have been replaced by 𝐏𝑋𝛼 and 𝐏𝑋 respectively. PX stands for the density matrix generated
∗
when occupation number of a specific orbital is set to zero. The difference between 𝐼𝐴,𝐵 and Mayer
bond order can be regarded as a measure of contribution from the orbital to Mayer bond order. Bear
∗
in mind, because Mayer bond order is not a linear function of density matrix, the sum of 𝐼𝐴,𝐵 for all
orbitals is not equal to Mayer bond order generally.
∗
In Multiwfn, you only need to input indices of two atoms, then 𝐼𝐴,𝐵 for all occupied orbitals
∗
and the difference between 𝐼𝐴,𝐵 and Mayer bond order will be outputted. The more negative
(positive) the difference, the more beneficial (harmful) to the bonding due to the existence of the
orbital.
121
3 Functions
∗
You can also use another way to calculate 𝐼𝐴,𝐵 , that is using wavefunction modification module
(main function 6) to manually set occupation number of a specific orbital to zero, and then calculate
∗
Mayer bond order as usual, but this manner may be tedious if you want to calculate 𝐼𝐴,𝐵 for many
orbitals.
Fuzzy bond order (FBO) was first proposed by Mayer in Chem. Phys. Lett., 383, 368 (2004):
BAB = BAB
+ BAB = 2[(P S A ) (P S B ) + (P S A ) (P S B ) ]
where S is overlap matrix of basis functions in fuzzy atomic spaces. In Multiwfn, Becke's fuzzy
atomic space with sharpness parameter k=3 in conjunction with modified CSD radii is used for
calculating FBO. (See Section 3.18.0 for introduction of fuzzy atomic space).
Commonly the magnitude of FBO is close to Mayer bond order, especially for low-polar bonds,
but much more stable with respect to the change in basis set. According to the comparison between
FBO and delocalization index (DI) given in J. Phys. Chem. A, 109, 9904 (2005), FBO is essentially
the DI calculated in fuzzy atomic space. See Section 3.18.5 for detail about DI.
Calculation of FBO requires performing Becke's DFT numerical integration, due to which the
computational cost is larger than evaluation of Mayer bond order. By default, 40 radial points and
230 angular points are used for numerical integration. This setting is able to yield accurate enough
results in general. If you want to further refine the result, you can set the number of radial and
angular points by "radpot" and "sphpot" in settings.ini manually, and ensure that "iautointgrid" has
been set to 0.
The threshold for printing results is controlled by “bndordthres” parameter in settings.ini.
where w is a smoothly varying weighting function proposed by Becke and represents fuzzy atomic
space, hence wAwB corresponds to fuzzy overlap space between A and B. Note that the integration
122
3 Functions
is only restricted to negative part of ∇2 𝜌. The physical basis of LBO is that the larger magnitude the
integral of negative ∇2 𝜌 in the fuzzy overlap space, the more intensively the electron density is
concentrated in the bonding region, and therefore, the stronger the covalent bonding.
In the original paper of LBO, the reasonableness and usefulness of LBO were demonstrated by
applying it to a wide variety of molecules and by comparing it with many existing bond order
definitions. It is shown that LBO has a direct correlation with the bond polarity, the bond
dissociation energy and the bond vibrational frequency. The computational cost of LBO is low, also
LBO is insensitive to the computational level used to generate electron density. In addition, since
LBO is inherently independent of wavefunction, one can in principle obtain LBO by making use of
accurate electron densities derived from X-ray diffraction data.
In Multiwfn, Becke's fuzzy atomic space with sharpness parameter k=3 in conjunction with
modified CSD radii is used for calculating LBO. (See Section 3.18.0 for detail about fuzzy atomic
space). The threshold for printing results is controlled by “bndordthres” parameter in settings.ini.
Note that in current implementation, LBO is particularly suitable for organic system, but not
for ionic bonds since in these cases a better definition of atomic space should be used to faithfully
exhibit actual atomic space. LBO is also not very appropriate for studying the bond between two
very heavy atoms (heavier than Ar), because these bonds are often accompanied by insignificant
charge concentration in the fuzzy overlap space, even though the bonding is doubtless covalent.
A good application example of LBO is Carbon, 165, 468 (2020), in which LBO was employed
to characterize the bonding between two different kinds of C-C bonds in cyclo[18]carbon.
Theory
As mentioned in Section 3.11.3, Wiberg bond order is expressed as
I AB = Pab2
aA bB
The data is calculated for atomic pair. Since the expression is simply a linear combination of square
of density matrix element, it is straightforward to decompose Wiberg bond order as basis function
pair contribution (this idea is to be published). For example, Pab2 is simply the contribution from
interaction between basis functions a and b. Since one-to-one correspondence between basis
function and atomic orbital is lacking when extended basis set is used, in order to make the
decomposition method full of physical meaning, the decomposition is best to be carried out under
natural atomic orbitals (NAOs). Each non-Rydberg type of NAO uniquely corresponds to an atomic
orbital, thus, by above decomposition method, Wiberg bond order at the atomic orbital scale can be
obtained.
In addition, contribution from interaction between atomic orbital shells i and j can be obtained
as P
ashell i bshell j
2
ab .
By the way, it is also possible to decompose multi-center bond order as atomic orbital
123
3 Functions
Usage
After entering this function, simply input indices of two atoms, the nonnegligible contribution
from NAO pairs and NAO shell pairs together with total Wiberg bond will be printed.
You can also input -1 to input atom indices to define two fragments, then NAO shell
contributions between the two fragments to the interfragment Wiberg bond order will be given.
The input file of this function is completely identical to the option -2 described in Section
3.11.2, namely the output file of NBO program containing density matrix information (i.e.
"DMNAO" keyword is required).
Theory
The intrinsic bond strength index (IBSI) was proposed in J. Phys. Chem. A, 124, 1850 (2020)
to quantify strength of chemical bonds, it may also be used to compare strength of weak interactions.
The IBSI is defined in the framework of independent gradient model (IGM), which is very detailedly
described in Section 3.23.5. The IBSI is expressed as
(1 / d 2 ) g pair d r
IBSI =
(1 / d H2 2 ) g H 2 d r
where d is the distance between the two atoms for which the interaction is to be studied. The integral
in the numerator is equivalent to the atomic pair g index defined by me between the two atoms,
see Section 3.23.6 for detail. The denominator is the data for reference system, the 𝑑H2 and the
integral are the bond length and atomic pair g index of H2 in its equilibrium structure, respectively.
In the original paper of IBSI, it was shown that the IBSI value is modestly positively correlated with
strength of covalent bond. Furthermore, it was found that magnitude of IBSI of transition metal
coordinate bond is markedly smaller than that of covalent bond, and magnitude of IBSI of weak
interactions is even much lower, this feature of IBSI may be used to distinguish type of interaction.
Implementation
It is important to note that in the IBSI paper the authors calculated the IBSI using the IGM
based on gradient-based partition (IGMGBP), however this form of IGM is not supported by
Multiwfn. Currently Multiwfn supports the original form of IGM, namely IGM based on
promolecular approximation (IGMpro), and also supports IGM based on Hirshfeld partition of
molecular density (IGMH), which I believe is better than IGMGBP. Different forms of IGM
correspond to different ways of evaluating gradient of atomic density, and thus the value of the
integral in the IBSI expression is correspondingly different. In Multiwfn, the IBSI can be computed
124
3 Functions
based on both IGMpro and IGMH, their results are very different, I found the result based IGMpro is
obviously closer to the original paper of IBSI.
Usage
To calculate IBSI, you simply need to enter main function 9 and select subfunction 10, then
select option 0 to start calculation.
Before calculation, Multiwfn asks you to choose quality of integration grid, evidently the better
the grid, the higher the cost, while the more accurate the result. According to my experience, for
IGMpro, "medium quality" is already able to give quantitatively accurate result; while for IGMH, at
least "high quality" should be used if you have requirement on accuracy.
You can choose which form of IGM will be used in the IBSI calculation by option 2. If the
input file contains wavefunction information, by default IGMH is used, while if the input file only
contains geometry information (e.g. .pdb, .mol, .xyz...), only IGMpro can be used. Note that IGMH
is much more expensive than IGMpro, since its formula to evaluate gradient of atomic density is
much more complicated.
If you are only interested in the interactions in a local region, you can choose option 3 to define
the region to be studied, only the IBSI between the atoms in the defined fragment will be evaluated
and outputted, the cost is correspondingly lower than the IBSI calculation for the whole system,
especially when the system is huge.
The reference value can be set by option 4, it corresponds to the denominator of the IBSI
formula. Of course, this value must be different for IGMpro and IGMH. The default reference values
of both IGMpro and IGMH cases were calculated for H2 with experimental structure (0.74144 Å), in
the latter case B3LYP/6-311G** wavefunction was employed. Commonly, the reference value is
not needed to be changed. However, for calculating IBSI in terms of IGMH, if you want to obtain
the reference value at your current calculation level to pursue stricter result, you can load
wavefunction file of H2, then enter the present function, set reference value to 1.0, then use option
0 to start to calculate IBSI, the result can be employed as reference value for studying practical
molecules.
In order to avoid excessive output, by default only the data for the atomic pairs with separation
smaller than 3.5 Å are printed, because IBSI should be negligible if the separation is larger. If you
need to adjust the distance printing threshold, use option 5.
Information needed: Atom coordinates (for IBSI based on IGM), GTF information (for IBSI
based on IGMH)
Theory
The multi-center bond order (MCBO), as introduced in Section 3.11.2, is a very rigorous and
popular way of characterizing aromaticity. In Phys. Chem. Chem. Phys., 18, 11839 (2016), the
authors proposed the AV1245 index to quantify aromaticity for large rings, it can be regarded as an
125
3 Functions
approximation of MCBO.
The original key advantage of AV1245 over MCBO is that the computational cost of AV1245 only increases
linearly with number of atoms, while the cost of MCBO is usually prohibitively high for a ring composed of more
than 11~12 atoms. However, since Multiwfn 3.8, the computational time of MCBO also becomes linearly
proportional to ring members and thus MCBO can be easily employed for very large rings, the value of AV1245
becomes much less obvious.
The definition of AV1245 in the original paper is "average all the 4c-ESI values along the ring
that keeps a positional relationship of 1, 2, 4, 5". Here I clarify its definition. As an instance, for
below ring,
AV1245=[ESI(1,2,4,5)+ESI(2,3,5,6)+ESI(3,4,6,1)+ESI(4,5,1,2)+ESI(5,6,2,3)+ESI(6,1,3,4)] / 6
where the nc-ESI (n-center electron sharing index) can be directly obtained via the multi-center
bond order with all possible permutations (namely I perm, see Section 3.11.2 for detail) by below
relationship
2
ESI = I perm
(n − 1)!
where n is the number of atoms. Evidently, 4c-ESI = (4c-Iperm) / 3.
The central idea of AV1245 is based on the fact that in an aromatic ring, the resonance between
1-2 bond and 4-5 bond is strong, as illustrated below. This feature can be captured by ESI(1,2,4,5).
Larger value of AV1245 of a cyclic path implies stronger delocalization and thus larger
aromaticity of the ring. Since magnitude of AV1245 is small, it is often multiplied by 1000 when
presenting the data.
It is worth to note that in the original paper of AV1245, the MCBO was calculated in terms of
atomic overlap matrix under AIM partition, this way of calculation is not only expensive but
complicated. In Multiwfn, the MCBO involved in the AV1245 is calculated in usual way, namely
based on density matrix and overlap matrix. Since in this case the calculation of 4-center I perm is
fairly cheap, the AV1245 can be quickly obtained even for large systems and macro-rings. However,
due to the difference in the calculation of MCBO, the result of AV1245 produced by Multiwfn is
smaller than that in the original paper. In addition, when directly calculating AV1245 by Multiwfn
(in other words, calculating AV1245 in original basis functions), the employed basis set should not
contain diffuse functions, otherwise the AV1245 will be meaningless.
Multiwfn also supports calculating AV1245 in natural atomic orbital (NAO) basis, in this case
reasonable result can be obtained even if diffuse functions are presented. If there is no diffuse
function, the result calculated in original basis functions and that in NAO basis is nearly the same.
The AVmin index was proposed in J. Phys. Chem. C, 121, 27118 (2017) and further discussed
126
3 Functions
in Phys. Chem. Chem. Phys., 20, 2787 (2018). It corresponds to minimal absolute value of all 4c-
ESIs involved in the calculation of AV1245. Unlike AV1245, AVmin quantifies lowest degree of
conjugation in the whole pathway, therefore it has unique value in distinguishing aromaticities of
different delocalization pathways, since according to common intuition, aromaticity of a path should
be predominated by the local region mostly disconnecting the delocalization over the whole path.
In other words, AVmin is able to determine the bottleneck of aromaticity of a given path.
Usage
• Calculating AV1245 and AVmin in original basis functions
You should enter subfunction 19 of main function 200, then input indices of the atoms in the
ring in the order of connectivity (clockwise or counterclockwise along the ring). After that, the
AV1245 together with its constituent 4c-ESI values as well as AVmin will be outputted
Multiwfn provides a convenience for inputting the atomic indices for large rings. If you input d first and press
ENTER button, then you can input the atomic indices in arbitrary order, because in this case the actual order will be
automatically guessed according to interatomic connectivity. However, this input mode cannot be used when any
atom in the ring connects to more than two other atoms in the ring.
Examples of employing AV1245 and AVmin to study aromaticity of small rings and large rings
are given in Section 4.9.11.
3.12.1 Theory
Density-of-states (DOS) is an important concept of solid physics, which represents the number
of states in unit energy interval, since energy levels are contiguous, so DOS can be plotted as curve
map. In isolated system (such as molecule), the energy levels are discrete, the concept of DOS is
questionable and some people argued that DOS is completely valueless in this situation. However,
if the discrete energy levels are broadened to curve artificially, DOS graph can be used as a valuable
tool for analyzing the nature of electron structure.
127
3 Functions
where {} is eigenvalue set of single-particle Hamilton, is Dirac delta function. If is replaced by
broadening function F(x), such as Gaussian, Lorentzian and pseudo-Voigt function, we get
broadened TDOS.
The normalized Gaussian function is defined as
x2
− FWHM
G ( x) =
1
e 2c 2 where c=
c 2 2 2 ln 2
FWHM is acronym of “full width at half maximum”, it is an adjustable parameter in Multiwfn,
the larger FWHM the TDOS graph looks more smooth and analysis is easier to perform, but more
fine-structure is masked.
The normalized Lorentzian function is defined as
FWHM 1
L( x ) =
2 x + 0.25 FWHM 2
2
P( x ) = wGaussG ( x ) + (1 − wGauss ) L( x )
Obviously, if G(x) and L(x) are normalized, normalization condition for P(x) always holds
regardless of the select of wGauss.
The curve map of broadened partial DOS (PDOS) and overlap DOS (OPDOS) are very
valuable for visual study of orbital composition. PDOS of fragment A is defined as
PDOS A ( E ) = i , A F ( E − i )
i
where i,A is the composition of fragment A in orbital i. Note that the word "projected DOS" used
in some literatures is essentially equivalent to the partial DOS.
The OPDOS between fragment A and B is defined as
OPDOS A,B ( E ) = iA,B F ( E − i )
i
𝑖
where X𝐴,𝐵 is the composition of total cross term between fragment A and B in orbital i. I have
discussed how to calculate and in Section 3.10.3.
The local DOS (LDOS) is a special kind of DOS, which will be introduced in Section 3.12.4.
Since the TDOS is closely related to photoelectron spectra (PES), present module is also able to
PES, this point will be introduced in Section 3.12.5.
When one or more fragments are defined by users, Multiwfn will automatically center of PDOS
of every fragment as follows and print it in command-line window when showing DOS map
high
c ,F =
low
E PDOSF ( E ) d E
high
low
PDOSF ( E ) d E
128
3 Functions
where low and high are lower and upper limits of current X-axis (energy range), the F denotes the
fragment under consideration. Via this feature, one can easily calculate d-band center, which is
important in studying chemisorption on transition metal surface. See Section 4.10.6 for example.
The graph clearly exhibits orbital characteristics in different energy ranges, each discrete lines
corresponds to a MO. The curves are yielded by applying broadening function to the discrete lines.
The left and right Y-axes correspond to the curves and discrete lines, respectively. Notice that only
relative height rather than absolute height of curves is meaningful. It is obvious that the major
contribution from s, px and py atomic orbitals of carbon (magenta curve) is due to low-lying MOs
rather than frontier MOs. The major composition of MOs around -0.25 a.u. comes from pz orbital
of carbon (blue curve) and iron atom (red curve). Inspection of the green OPDOS curve, which
corresponds to the bonding between carbon pz and iron atom, suggests that carbon pz orbitals are
very important for stabilization of ferrocene, since OPDOS has large positive value in these ranges.
HOMO is almost purely contributed by iron orbitals, however its slight overlap with carbon pz
orbitals is still beneficial to bonding. For all virtual MOs, OPDOS curve is in negative region and
shows antibonding characteristic, this is due to the unfavorable overlapping in orbital phase, as can
been seen from LUMO isosurface.
.mwfn/.fch/.molden/.gms files can be used as input. You can also use output file of single point
task of Gaussian program as input (pop=full keyword must be specified).
For generality, Multiwfn also supports using plain text file as input file, the format is free, there
is no upper limit of the number of orbitals. The format of the file should be
129
3 Functions
nmo inp
energy occ [strength] [FWHM] For orbital 1
energy occ [strength] [FWHM] For orbital 2
energy occ [strength] [FWHM] For orbital 3
...
energy occ [strength] [FWHM] For orbital nmo
where energy and occ denote orbital energy and occupation number, respectively. nmo is the number
of orbitals recorded in this file. inp is input type, there four cases:
1: Only energies (in a.u.) and occupation numbers will be loaded, while strengths and FWHMs
of all orbitals will be automatically set to 1.0 and 0.25 a.u., respectively
2: The same as 1, but you also have to specify strength and FWHM for each orbital as columns
3 and 4 because in this case they will also be loaded. If the strength of an orbital is set to k,
then the broadened curve from this orbital will be normalized to k rather than 1 (default value)
3: The same as 1, but energy unit is eV.
4: The same as 2, but energy unit is eV.
When you entered the interface of plotting DOS, you will see following options. Notice that
options -1 and 7 only appear when the input file contains basis function information, that is if you
want to draw PDOS and OPDOS graph, you have to use .mwfn/.fch/.molden/.gms file as input.
Also note that in this interface, you can input s to save current status (plotting settings, fragment
definition and orbital information) to a specific file, and you can input l to load status from a specific
file, so that you can quickly replot a map without redoing the settings.
-6 Set shift of energy levels: In this option, orbital energies can be shifted by an inputted value.
If you input H, then the shift will be set to negative of HOMO energy, so that HOMO in the DOS
map corresponds to position of 0.
-5 Customize energy levels, occupations, strengths and FWHMs for specific MOs: By this
option, you can manually set energies, occupations, strengths and FWHMs for specific orbitals. For
example, if you would like only to plot DOS for a few MOs, you can set strengths of the other MOs
to zero (by default, strengths for all MOs are 1.0).
-4 Show all orbital information: Print information of all orbitals on screen.
-3 Export energy levels, strengths, FWHMs to plain text file: Export energy, strength and
FWHM of each orbital to orginfo.txt in current directory, this file complies the format introduced in
last section, so can be directly used as input file.
-2 Define MO fragments for MO-PDOS: The "MO-PDOS" is a special kind of PDOS, which
is used to reveal DOS contributed by different sets of MOs (rather than atoms or basis functions),
the DOS curves and discrete lines corresponding to different sets of MOs are drawn using different
colors. This option is used to define different sets of MOs involved in the "MO-PDOS" plot. See
Section 4.10.5 for example.
-1 Define fragments for PDOS/OPDOS: You can define up to 10 fragments in this option.
After you entered this option, the information of present fragments is shown on screen. You can
input x to define fragment x, and input -x to unset fragment x, or input i,j to exchange the definition
of fragment i and j. To leave this interface, input 0. The PDOS will be plotted for all of the fragments
130
3 Functions
defined in this option. OPDOS will be drawn only when both fragments 1 and 2 have been defined.
DOS graph will contain the line and curve of “PDOS frag 1” only when fragment 1 is defined.
0 Draw TDOS graph!: After selecting this, TDOS map will be immediately shown on screen.
If any fragment has been defined, the texts in this option will become “TDOS+PDOS”; if both
fragments 1 and 2 have been defined, the texts will become “TDOS+PDOS+OPDOS”.
1 Select broadening function: Select which broadening function will be used, you can select
Lorentzian, Gaussian or Pseudo-Voigt function. Default is Gaussian.
2 Set energy range: This option is used to set the lower limit, upper limit and step between
labels of X-axis.
3 Set full width at half maximum (FWHM): As the title says.
4 Set scale ratio for DOS curve: If this option is set to k, then height of all curves will multiply
k (in full energy range).
5 Set Gaussian-weighting coefficient: This option sets wgauss, which is mentioned in last
section. This option only appears when Pseudo-Voigt function is chosen.
6 Choose orbital spin: This option appears only when the loaded file contains basis function
information and the wavefunction is unrestricted. This option determines which set of orbitals (alpha,
beta, or both alpha and beta) will be taken into account.
7 Set the method for calculating PDOS: Mulliken, SCPA, Hirshfeld and Becke methods are
supported for calculating orbital compositions used in plotting PDOS, via this option you can select
one of them. Hirshfeld and Becke methods are more robust than Mulliken and SCPA methods,
especially for unoccupied MOs, unfortunately they are more expensive, and in this case OPDOS
cannot be plotted (i.e. the fragments can only be defined as a set of atoms). It is very important to
note that when diffuse functions are presented, the PDOS maps plotted based on Mulliken or SCPA
methods will be meaningless! If you diffuse functions cannot be ignored due to special reasons,
Hirshfeld or Becke method have to be employed.
For isolated systems, Mulliken is the default method; while for periodic systems, SCPA is the
default method, because evaluation of overlap matrix for large periodic cell may be very time-
consuming, and SCPA does not need overlap matrix.
8 Switch unit between a.u. and eV: You can switch the unit for X-axis of the DOS map via
this option. eV is more commonly used.
9 Toggle using line height to show orbital degeneracy: If you want to show degeneracy of
orbitals in the DOS map, you can choose this option to enable this effect, then you will be asked to
input threshold of energy difference for determining degeneracy. This feature can be used when
plotting TDOS and MO-PDOS, but cannot be utilized when plotting PDOS.
Once you choose option 0 in the DOS module, Multiwfn starts to calculate data and then DOS
graph pops up. You can see there is a vertical dash line, which highlights position of HOMO level.
Note that some people believe this is Fermi energy, which, however is an ill-defined concept for
isolated systems, any energy that EHOMO and < ELUMO may be regarded as "Fermi energy".
After closing the graph, a post-processing menu appears on the screen, it contains many options,
which are self-explanatory and can be used to adjust various plotting parameters. When the
parameters have been changed, you can choose "1 Show graph again" to check the effect. It is
noteworthy that there is an option named “Set scale factor of Y-axis for OPDOS”, if the value is set
to k and the range of left-axis (for TDOS/PDOS) is set to e.g. [-3.5, 2.0], then the range of right-axis
131
3 Functions
(for OPDOS) will become [-3.5*k, 2.0*k]. The reason why Multiwfn uses double axis is because
the magnitude of OPDOS is generally much smaller than TDOS and PDOS. You can also choose to
export the DOS map as graphical file in current folder, or export X-Y data set of DOS to plain text
files so that you can reproduce the graph by third-part softwares, such as Origin. By choosing option
0 you can return to last interface, the quality of DOS graph can be gradually improved by repeating
the adjustments until you are satisfied.
The absolute value of the DOS curves does not have evident practical meaning, only relative
height of the curves at different energy regions is interesting. Hence, after you have properly set
each plotting parameter, you can choose option "13 Toggle showing labels and ticks on Y-axis" in
the post-processing menu to switch its status to "No".
Very detailed examples of plotting TDOS, PDOS and OPDOS are given in Section 4.10.1,
while Section 4.10.3 illustrates how to plot DOS for open-shell systems via Multiwfn in combination
with Origin software to get better effect.
There is a special kind of DOS named local DOS (LDOS), which is also known as spatial DOS.
LDOS curve for a given point r is evaluated as follows:
LDOS(r, E ) = i2 (r) f ( E − i )
i
It is worth to note that in some first-principle books and literatures, the word "Local DOS" in fact refers to the
PDOS introduced in Section 3.12.1, do not be confused!
To plot LDOS map, choose option "10 Draw local DOS for a point" after you entered main
function 10, you will be prompted to input the coordinate of the point r.
One can also plot LDOS for a set of points placed evenly in a line as color-filled map, the X-
axis correspond to energy, while the Y-axis corresponds to coordinate in the line relative to starting
point. To plot this kind of LDOS map, choose option "11 Draw local DOS along a line", you will be
prompted to input the coordinate of starting point and end point defining the line, as well as the
number of points consisting of the line.
In the DOS module, the options controlling FWHM, energy unit, energy range and scale ratio
affect the resulting LDOS graphs.
Note that fragment definition does not affect the result of LDOS, i.e. the LDOS always
corresponds to total DOS. However, if you want to separate angular moment contribution to LDOS,
you can use subfunction 25 of main function 6 to set coefficient of unwanted GTF in all MOs to
zero, then they will not contribute to LDOS.
132
3 Functions
a special interface in the DOS module is provided for easily generating theoretically simulated PES
spectrum.
Theory
The position of the peaks in the PES spectrum reflects the energy difference between various
N-1 states and the original N-electron state. If a system is neutral, the system is usually in vibrational
ground state of neutral electronic state. After ionization of an electrons, the system can be in different
vibrational states of the cationic state. Therefore, the PES has a fine structure, which reflects the
vibration coupling effect. However, in order to simplify the problem, we often ignore the quantum
effect of nuclear motion, and the ionization is assumed to be a vertical process starting from
minimum point of potential energy surface of initial state. At this time, the peak positions in the PES
are equivalent to the vertical ionization energy (VIP) of the electrons of different shells of present
system. Clearly, as long as we optimize the system and then calculate the VIPs, we can simulate the
PES.
The 1st VIP corresponds to the energy needed for ionizing out the electron of outermost shell,
it is usually calculated as E(N-1) - E(N) for a system containing N electrons at minimum point
geometry of potential energy surface of the N-electron state; the E signifies electronic energy. The
VIP corresponding to inner electrons can also be theoretically calculated, but special methods are
needed, such as OVGF, IP-EOM-CC, ADC and so on.
The easiest way to plot PES is based on the Koopmans' theorem, which stated that the
ionization energy of an electron is equal to the negative value of orbital energy of corresponding
shell. Note that this is only an approximate relationship, it fully ignores the electron correlation and
orbital relaxation effect. Under the Koopmans' theorem, the simulated PES simply corresponds to
the TDOS curve broadened by all occupied MOs, however before the broadening the sign of orbital
energies should be reversed (corresponding to "electronic binding energy").
Because of the fact that Koopmans' theorem does not work well for most popular DFT
functionals (except for some special ones, such as QTP17), the negative values of MO energies
deviate from actual VIP evidently, leading to poor PES compared to the experimental one.
Fortunately, there is a so-called generalized Koopmans' theorem, if it is applied to theoretical
simulation of PES, it essentially corresponds to adding a shift value to all electronic binding energies
before PES plotting, the shift value is defined as 1st VIP + E(HOMO). After taking the shift into
account, the first peak of simulated PES will exactly correspond to the 1st VIP, which does not
deviate from the first peak of experimental PES evidently as long as the DFT functionals and basis
set are properly chosen, the geometry has been substantially optimized, and the electronic state to
be computed corresponds to actual ground state.
Usage
The PES plotting interface is embedded in the DOS module as option 12, it allows user to
extremely easily plot PES spectrum based on (generalized) Koopmans' theorem. Any kind of input
files that used for plotting DOS can also be employed for PES plotting purpose.
If you want to plot the PES based on Koopmans' theorem, simply select option 1 after entering
the PES plotting interface. If you want to adopt generalized Koopmans' theorem, you should choose
option 3 to set a shift value before plotting.
There are many parameters and options in the PES plotting interface similar to those in the
DOS plotting interface, such as range and step of X and Y axes, FWHM, if showing discrete lines
and so on, however most parameters are not shared by the two interfaces. Note that only eV unit
133
3 Functions
and Gaussian broadening function can be employed for PES plotting. If present wavefunction is an
unrestricted open-shell one, the type of orbital spin is not distinguished.
If you want to adjust relative height between the PES curve and the discrete lines corresponding
to various binding energy levels, you can use "11 Set scale ratio for PES curve" to set a scale ratio.
The smaller the ratio, the lower the curve.
If nothing is shown after choosing option 1 to plot the PES spectrum, you should:
Select option "-2 Show all binding energy level information" and then check if values of
binding energies are correct.
Check if range of X-axis has been properly set. To plot PES, there must be at least one
binding energy occurs within the current range of X-axis.
By default, all orbitals have identical strength (1.0) and FWHM (0.2 eV), the latter can be
directly set in the PES interface via option 6. If you want to adjust strength and FWHM for individual
orbitals, you can select "-3 Export occupied MO energies, strengths and FWHMs to plain text file",
then a file PESinfo.txt in a format as described in Section 3.12.2 will be exported to current folder.
You can then manually adjust strengths and FWHMs of certain orbitals in this file, and then use this
file as input file to plot PES, so that the simulated PES could be more close to the experimental one.
The absolute value of the PES curve does not have practical meaning. Hence, after you have
properly set range of Y-axis, you can choose "13 Toggle showing labels and ticks on Y-axis" to
switch its status to "No".
Information needed: For PDOS, OPDOS and local DOS, see Section 3.12.2. For TDOS and
PES spectrum, use .mwfn/.fch/.molden/.gms file, or Gaussian output file with pop=full, or plain text
file in a format as described in Section 3.12.2.
Multiwfn has a very powerful and flexible module to plot IR (Infrared), normal Raman / Pre-
resonance Raman, UV-Vis (ultraviolet-visible), ECD (electronic circular dichroism), VCD
(vibrational circular dichroism) and Raman optical activity (ROA) spectra, see Sections
3.13.1~3.13.4 for introduction. Many examples of plotting various kinds of spectra are given in
Section 4.11.
Multiwfn is also able to plot NMR spectrum, see Section 3.13.5 for introduction and Section
4.11.10 for examples.
For vibrational spectra, Multiwfn is able to decompose them to gain insight into their nature,
this is known as partial vibrational spectrum (PVS), which will be described in Section 3.13.6,
relevant examples are given in Section 4.11.12.
Multiwfn can exactly predict color based on theoretical or experimental UV-Vis spectrum, see
Section 3.12.7 for introduction and 4.11.14 for example.
134
3 Functions
3.13.1 Theory
For comparing theoretical results with experimental spectrum, the discrete lines corresponding
to each transition mode have to be broadened to emulate the situation in real world, the commonly
used broadening function for vibrational spectra (IR, Raman, VCD and ROA) is Lorentzian function,
while for electronic spectra (UV-Vis and ECD), Gaussian function is often used, see Section 3.12.1
for details. Unlike DOS graph, in which the strengths for each energy level are always simply set to
1.0 (namely broadened curves from each energy level are normalized to 1.0), the strengths of
transitions are very important data for plotting spectrum.
The unit of transition energy of IR, Raman, VCD and ROA spectra is cm-1 in common, for UV-
Vis and ECD spectra all of eV (1 eV=8.06551000 cm-1), nm and 1000 cm-1 are common units. The
strength data of each transition mode outputted by quantum chemistry programs is proportional to
the area under the broadened curve. Below we discuss some details of the six types of spectra
supported by Multiwfn respectively.
IR: The frequently used unit of molar absorptivity , namely L(molcm)-1, can be rewritten as
L 1000cm3 1000cm2
= =
mol cm mol cm mol
135
3 Functions
7480.21 473.59
6707.25 424.65
Molar absorption coefficient (L/mol/cm)
5934.30 375.72
5161.34 326.78
IR intensities (km/Mol)
4388.39 277.84
3615.43 228.90
2842.48 179.96
2069.52 131.03
1296.57 82.09
523.61 33.15
-249.34 -15.79
0.00 401.37 802.74 1204.12 1605.49 2006.86 2408.23 2809.60 3210.98 3612.35 4013.72
Frequencies (cm**-1)
C ( 0 − vi ) 4 Si hc i
Ii = Bi = 1 − exp −
i Bi kT
where C is a suitably chosen common normalization factor for all peak intensities, i is vibrational
frequency. Only the Raman spectrum broadened based on Raman intensities is strictly comparable
to the experimental one; however, as the peak position of Raman activity and intensity are identical,
and for a specific vibrational mode its intensity is proportional to its activity, the Raman spectrum
broadened from Raman activities is also useful in some sense.
Almost all quantum chemistry codes only output Raman activities, therefore by default,
Multiwfn emulates the Raman spectrum in terms of broadening Raman activities. However, you can
also let Multiwfn to first convert the activities to intensities via option 19 (v0 and T are provided by
users) based on above formula, then the Raman spectrum will be obtained by broadening Raman
intensities. The normalization coefficient C is fixed to 10-12 in Multiwfn (which is unimportant since
what we are interested in is the shape rather than the absolute height of Raman spectrum). The
integral of the peak broadened by one unit of Raman activity or intensity is equal to 1.
UV-Vis: In theoretical chemistry field, oscillator strength (f) is used for representing the
transition strength involved in UV-Vis spectrum, which is defined as
2
fij = ( E j − Ei ) | μij |2
3
where i and j stand for initial and final states, and they correspond to ground state and excited state
136
3 Functions
in the context of UV-Vis spectrum, respectively. E is energy of state. |ij|2 is squared norm of
transition electric dipole moment vector between the two states.
There is a relation between theoretical data and experimental spectra: If the unit 1000 cm-1 and
L/mol/cm are used for X-axis and Y-axis respectively, then the area under the curve that broadened
from per unit f should be 1/4.32*106. Equivalently, if eV is used as X-axis unit, the value should be
1/4.32/8.0655*106=28700. Via this relation, UV-Vis spectrum can be simulated by theoretical data.
Fluorescence spectrum can also be plotted with exactly the same manner as UV-Vis, the only
difference to UV-Vis is that according to Kasha's rule, you should only take the first singlet excited
state (S1) into account, and geometry of optimized S1 state should be used (however, note that some
systems break Kasha’s rule). For plotting phosphorescence spectrum, you should only take the first
triplet excited state (T1) into account, and geometry of optimized T1 state should be used. Note that
in order to obtain non-vanishing f corresponding to phosphorescence emission, spin-orbit coupling
effect must be taken into account.
Directional UV-Vis: The |ij|2 mentioned above can be written as sum of its three Cartesian
2 𝑋 2𝑌 2
𝑍 2
components, namely |𝛍𝑖𝑗 | = (𝜇𝑖𝑗 ) + (𝜇𝑖𝑗 ) + (𝜇𝑖𝑗 ) . The so-called directional UV-Vis spectrum
in Multiwfn refers to the case of only taking contribution of specific components of |ij|2 into account.
You can choose to plot X, Y, Z, XY, XZ, or YZ type of the spectrum. For example, if you plot XY
2 𝑋 2 𝑌 2
type, then the |𝛍𝑖𝑗 | will be replaced with (𝜇𝑖𝑗 ) + (𝜇𝑖𝑗 ) , and the resulting spectrum will only
exhibit the absorption due to interaction between present system and the electric field oscillating in
X and Y directions. Clearly, directional UV-Vis spectrum is very helpful in understanding the nature
of optical absorption in terms of interaction with oscillating electric field of specific direction(s). In
contrast, common UV-Vis spectrum corresponds to the case that the incident oscillating electric field
is isotropic. Note that directional UV-Vis spectrum is additive, for example, sum of X and Y and Z
types of the spectrum, and sum of XY and Z types of the spectrum, all equivalent to common UV-
Vis spectrum.
ECD:The significance of rotatory strengths in ECD spectrum is analogous to oscillator
strengths in UV-Vis spectrum, each electron transition mode corresponds to a rotatory strength. If
the rotatory strengths are broadened, after somewhat scaling and shifting, the resultant curve will be
comparable to experimental ECD spectrum. The integral of the peak broadened by one unit of
rotatory strength is equal to 1. In quantum chemistry programs, such as Gaussian, rotatory strengths
can be calculated in length representation or in velocity representation, in the former case the
strengths are origin-dependent, while in the latter case the strengths are origin-independent. For
complete basis set situation, the results in the two representations converge to the same values.
Commonly velocity representation is recommended to be used.
VCD: VCD measures difference in molecular absorption coefficient of left- and right-
circularly polarized lights at different wavenumber , namely VCD curve can be expressed as
∆𝜀() = 𝜀L () − 𝜀R (). Each vibrational mode has a rotatory strength, after broadening rotatory
strengths of all vibrational modes, the shape of the resulting curve can be compared with
experimental VCD spectrum. The integral area under the curve ∆𝜀() contributed by a vibrational
mode is proportional to its rotatory strength.
ROA: The ROA spectrum measures the difference between scattering intensity of right and
left circularly polarized light:
137
3 Functions
( 0 − vi ) 4 Ai hc i
ROA intensity I iR − I iL Bi = 1 − exp −
i Bi kT
The ROA strength data outputted by Gaussian ROA task in fact is the Ai term, which should be
converted to actual ROA intensity according to above equation. The Ai term is dependent of
frequency of incident light. The integral of the peak broadened by one unit of ROA intensity/strength
is equal to 1. There are several different forms of ROA, including ROA SCP(180), ROA SCP(90),
ROA DCP(180). The 90 and 180 denote the angle between incident light and scattered light. The
SCP (scattered circular polarization) means the incident light is linearly polarized light while the
scattered light is circularly polarized light; DCP (dual circular polarization) corresponds to the case
that both incident and scattered lights are circularly polarized light. The ROA SCP(180) is
commonly employed, and it is also known as SCP backscattered ROA.
The ROA task of Gaussian also simultaneously outputs frequency-dependent Raman strength,
which corresponds to the Ri term of below equation
( 0 − vi ) 4 Ri hc i
Raman intensity I iR + I iL Bi = 1 − exp −
i Bi kT
correspondingly, there are also Raman SCP(180), Raman SCP(90) and Raman DCP(180) data.
Since the current used incident light should be far from electron excitation energy, such Raman
spectrum is called as far from resonance Raman.
Only the input files mentioned in this section are supported by Multiwfn for plotting spectrum
purpose. DO NOT use such as .fch, .molden and .wfn as input file, evidently the data needed for
plotting spectrum are not recorded in these files.
138
3 Functions
• UV-Vis, directional UV-Vis and ECD spectrum: Use output file of TDDFT, TDHF, CIS,
ZINDO or EOM-CCSD task as input, no any additional keywords are required. The rotatory
strengths in both length and velocity representation (the data under "R(length)" and "R(velocity)",
respectively) can be chosen to be loaded by Multiwfn. Output file of optimization task for excited
state can also be used, only the last output for transition information will be loaded by Multiwfn,
therefore the resulting spectrum corresponds to final geometry.
• ROA spectrum: Use output file of freq=ROA task as input. The frequencies of incident lights
should be specified after a blank line under the geometry specification, e.g. 0.02, 0.03, 0.04, 0.05,
the unit is default to a.u.; or write e.g. 500nm 520nm 550nm.
139
3 Functions
also be used as input file for simulating (directional) UV-Vis and ECD spectra in Multiwfn.
• VCD and ROA spectra: Currently not supported by ORCA.
&MOMENTS
&END
&END
For plotting Raman spectrum, the following content should present in &FORCE_EVAL
&PROPERTIES
&LINRES
PRECONDITIONER FULL_ALL
&POLAR
DO_RAMAN T
&END POLAR
140
3 Functions
&END LINRES
&END PROPERTIES
In addition, if you request CP2K to export .mol (Molden) file containing vibrational modes and
IR intensities by adding the following content to &VIBRATIONAL_ANALYSIS field, then the .mol
file can also be used as input file for plotting IR spectrum.
&PRINT
&MOLDEN_VIB
&END MOLDEN_VIB
&END PRINT
Output file of TDDFPT calculation of CP2K can be used as input file for plotting (directional)
UV-Vis spectrum, and sTDA kernel is also supported. When spin-orbit coupling is activated by
using following content in &TDDFPT section, then spin-orbit coupling corrected UV-Vis spectrum
can be plotted.
&SOC
&END SOC
&SOC_PRINT
SPLITTING
SOME
&END SOC_PRINT
&END PRINT
141
3 Functions
After boot up Multiwfn, first input path of output file of aforementioned programs or the plain
text file containing transition data, then enter main function 11, and you will be asked to select the
type of spectrum (for pre-resonance Raman and ROA, you also need to choose the frequency of
interest), after that you will see below options. The meaning of some options may be different for
various types of spectra.
Note that in this interface you can input s anytime to save current plotting settings to a file, or
input l to load plotting settings from a file, so that you can quickly recover plotting status.
-4 Set format of saving graphical file: This is used to choose the format of the graphical file
exported by option 1. Commonly, using vector format such as ps, pdf and svg is recommended.
-2 Export transition data to plain text file: Output energies, intensities and FWHMs of all
transitions to transinfo.txt in current directory, this file fully complies with the format introduced in
last section, so it can be directly used as input file.
-1 Show transition data: Print energy and intensity data of all transitions on screen.
0 Plot spectrum: Plot spectrum right now! The spectrum will be shown on screen, and
meantime the minima and maxima of the spectrum curve will be shown in console window.
1 Save graphical file of the spectrum in current folder: As the title says.
2 Export X-Y data set of lines and curves to plain text file: Export X-Y data set of lines and
broadened spectrum to spectrum_line.txt and spectrum_curve.txt in current directory, respectively,
you can replot the curve and discrete line graph directly by the two files via external program, such
as Origin.
3 Set lower and upper limit of X-axis: As the title says. The interval between ticks also needs
to be inputted. By default, the range of X-axis is adjusted automatically according to minimum and
maximum transition energies.
4 Set left Y-axis: Set starting value, ending value and step size for left Y-axis. By default, the
range of Y-axis is adjusted automatically according to the maximum peak.
5 Set right Y-axis: Like option 4, but for right Y-axis.
In many cases, after you adjusting setting for Y-axis at one side, the position of zero point of
this Y-axis deviates from that of Y-axis at another side, which makes the graph weird; To address
this problem, options 4 and 5 enable you to choose if correspondingly adjusting range of Y-axis at
another side. If you input y, then lower/upper limit and label interval of Y-axis at another side will
be proportionally scaled to make zero point of left and right Y-axes are in the same horizontal line.
6 Select broadening function: Gaussian, Lorentzian and Pseudo-Voigt function can be
142
3 Functions
143
3 Functions
21 Set status of showing weighted curve and curves of individual systems: As shown in the
next section, Multiwfn is able to plot weighted spectrum according to given weights of multiple
systems. This option controls if plotting weighted curves and curves of various systems.
22 Set thickness of curves/lines/texts/axes: As the title says.
23 Set status of showing spikes to indicate transition levels: Via this option, you can plot
one or multiple sets of spikes at bottom of the spectrum to indicate position of different sets of
transitions. If some transitions are degenerate, the height of spikes can be used to reflect degree of
degenerate. See Section 4.11.9 for illustration of this option. This option is not available when
multiple systems are considered in the plotting simultaneously.
Note that the actual number of points constituting the spectrum is controlled by "num1Dpoints"
parameter in settings.ini. The default value is commonly large enough and thus need not to be
adjusted.
In Multiwfn, it is possible to simultaneously plot spectrum for multiple files, and meantime
taking weights into account. This feature is quite useful for obtaining actual spectrum of flexible
molecule with many thermally accessible conformations.
For example, there is a molecule containing four accessible conformations, their distribution
ratio has been determined according to Boltzmann's method based on calculated free energies. If
you want to plot its weighted spectrum and spectrum of each conformation, you should write a plain
text file named multiple.txt (other file name cannot be recognized by Multiwfn), the content is:
boltz\Excit\a.out 0.6046
boltz\Excit\b.out 0.1950
boltz\Excit\c.out 0.1686
boltz\Excit\d.out 0.0317
where the first and second column correspond to path of input file and weight of each conformation.
Different type of input file can be presented together in this file. If you use this file as input file,
after you entered spectrum plotting module, Multiwfn will load data from these files in turn. When
plotting spectrum, spectrum of all the four conformations will be separately calculated and drawn
with different colors. In addition, the weighted spectrum is plotted on the graph as thick red curve,
it is simply evaluated as follows:
weighted spectrum = 0.6046a + 0.1950b + 0.1686c + 0.0317d
In the graph you can also observe many black discrete lines, these are collection of discrete lines
corresponding to different conformations. Notice that their heights have already been multiplied by
corresponding weights.
If before plotting spectrum you have chosen option 18 once, then the spectrum of various
conformations shown on graph are the weighted ones; in other words, these curves represent
contribution of each conformation to actual spectrum (thick red curve). In this case, the color of
weighted discrete lines is no longer all black but in accordance with color of curves, so that user can
easily recognize correspondence between curve and discrete among different systems.
If you simply want to simultaneously plot spectrum for multiple systems but do not want to
144
3 Functions
draw weighted spectrum, then the second column of multiple.txt should not be weights, but
customized legends, for example
boltz\Excit\a.out Molecule A
boltz\Excit\b.out Molecule B
boltz\Excit\c.out Molecule C
boltz\Excit\d.out Molecule D
Then plot spectrum as usual, curve of all the four systems will be shown together, and the legends
will be "Molecule A", "Molecule B", etc.
When the legend is completely composed of numbers, the legend will be regarded as weight. If the legends
have to be a number, you should add $ in front of the legend to let Multiwfn know it is legend rather than weight.
For example, $50 will be recognized as legend of “50”.
If you are using Linux platform and some file paths in the multiple.txt contains / symbol or
space, you should add double quotation marks at the two ends of the file path, so that the path could
be properly loaded.
Theory
Many quantum chemistry programs are able to compute magnetic shielding tensors at nuclei,
usually only the average of its diagonal terms, namely isotropic magnetic shielding value iso, is of
interest, because NMR spectrum is commonly determined in solvent environment and the solute is
able to freely rotate.
The chemical shift is calculated as follows
ref −
= ref −
1− ref
where ref is shielding value of reference substance (tetramethylsilane for 13C and 1H NMR), while
the is shielding value of the sample to be determined. The two values should be evaluated at
exactly the same calculation setting (theoretical method, basis set, solvation model...).
Another way of determining chemical shift is scaling method, see http://cheshirenmr.info for
detail. Briefly speaking, this method evaluate in a very simple way:
= a + b
where the a and b are prefitted slope and intercept parameters based on a training set for specific
calculation level. For example, if the optimization is conducted under vacuum using B3LYP/6-31G*
while shielding value is calculated using B3LYP/6-31G* under chloroform environment represented
by SMD solvation model, then a = -1.0157 and b = 32.2109 for 1H NMR, while a = -0.9449 and b
= 188.4418 for 13C NMR.
If there are methyl groups in the system, the of its three hydrogens should be averaged before
generating NMR spectrum, since methyl groups can freely rotate in actual environment due to its
extremely low rotation barrier. In addition, if there are multiple thermally accessible conformers and
they can interconvert with each other easily, the weighted average shielding value should be
calculated for each atom based on weights of the conformers:
A = pi iA
i
where i is conformer index and A is atom index. pi stands for weight of conformer i, which can be
145
3 Functions
calculated according to Boltzmann distribution based on relative free energies between the
conformers.
With of all atoms in hand, one can plot discrete line map of NMR, the X-axis of the spikes
in the map corresponds to while Y-axis corresponds to degeneracy, which is N if maximal spacing
between N chemical shifts is less than specific threshold (e.g. 0.05 ppm), for other cases the
degeneracy is 1.0.
Actual NMR spectrum with finite peak width can be generated by broadening the spikes by
Lorentzian function, the full width at half maximum (FWHM) is a key parameter of controlling peak
shape. In this curve map, the peak height corresponds to strength of NMR signal.
Input file
Output file of NMR task of Gaussian, ORCA and BDF programs are directly supported as input
file for plotting NMR spectrum. .data file generated by NMR task of CP2K can also be used.
• Example of NMR task of Gaussian
# B972/def2tzvp scrf=solvent=chloroform NMR
0 1
[...ignored]
* xyz 0 1
C 0. 1.14218 0.72212
C 0. 1.19872 -0.67302
[...ignored]
• Example of NMR task of CP2K. Adding the following content into &FORCE_EVAL of input
file of a common GAPW task. In addition, it is suggested to set &SCF / EPS_SCF to 1E-7 and
EPS_DEFAULT to 1E-14 to guarantee sufficient numerical accuracy.
&LINRES
PRECONDITIONER FULL_KINETIC
EPS 1E-8
MAX_ITER 300
&CURRENT
CHI_PBC T
GAUGE R_AND_STEP_FUNCTION
ORBITAL_CENTER ATOM
&END CURRENT
&LOCALIZE
MAX_ITER 20000
EPS_LOCALIZATION 1E-5
&END LOCALIZE
146
3 Functions
&NMR
&END NMR
&END LINRES
Usage
After loading input file, entering main function 11 and selecting NMR, you will see the NMR
plotting interface. Then if you select option 0, NMR spectrum will be displayed, and raw data will
be shown on console window. Since most options in this interface are self-explanatory, only a few
noteworthy options are mentioned below.
• -2 Export NMR data to a plain text file: This option exports shielding values to
NMRdata.txt in current folder. If you have used option 7 to convert shielding values to chemical
shifts, then both of them will be exported.
• 6 Choose the element considered in plotting: Via this option you can choose the element
to be considered. For example, if you want to plot 1H NMR spectrum or examine relevant data, you
should select this option and input H.
• 7 Set how to determine chemical shifts: By default, the X-axis in the plotted NMR spectrum
corresponds to magnetic shielding value, while if want to make chemical shift as X-axis, you
should select this option prior to plotting. In this option you can select the way of determine :
(1) Taking difference between shielding value of current system and reference system. You can
manually input reference value or directly use built-in data.
(2) Using scaling method to determine the . you can manually input the fitted slope and
intercept, or directly use built-in data.
There are several sets of built-in data, they correspond to the levels very suitable for calculating
.
• 10 Average shielding values of specific atoms: For example, usually the of the hydrogens
in the same methyl group should be averaged, you can use this function to realize this purpose.
• 11 Set strength of specific atoms: By default, every atom has strength of 1.0, namely
contributes to degeneracy by 1.0. You can use this option to modify strength of specific atoms. For
example, if you set strength of atoms 3, 6, 7 to 0, then these atoms will disappear in the plotted
spectrum.
• 16 Change setting of labelling atoms: In order to distinguish the atoms in the NMR spectrum,
Multiwfn labels atomic indices on the plotted peaks. You can use this option to control details of
labelling, such as position, size, color, content of the labels and so on.
D:\valine\conf2.out 0.25
D:\valine\conf3.out 0.32
147
3 Functions
If you simply want to plot NMR spectrum of multiple systems together, specifying file path
and legend in each line, for example
/lovelive/nico.out Isomer 1
/lovelive/nozomi.out Isomer 2
Then after entering NMR plotting interface, you can plot the spectrum via exactly the same
steps as plotting single system. Note that all systems must have the same number of atoms.
Special notes
To save the NMR spectrum as graphical file, you can choose option 1. It is highly suggested to
use pdf format, because it is a vectorial format, the spectrum can be losslessly zoomed in and out,
and the lines and texts look very smooth. The format can be chosen by option -3, and the default
format can be changed by "graphformat" in settings.ini.
After adjusting various plotting settings, you can input s in the interface to save plotting settings
to a specific text file, so that when you want to replot the NMR spectrum with exactly the same
effect in the future, you can input l to directly restore plotting settings from the text file. Note that
any operation on plotted data must be manually redone every time (e.g. averaging shielding values,
converting shielding values to chemical shifts, etc.).
The partial vibrational spectrum (PVS) were proposed by me to intuitively understand nature
of peaks of vibrational spectra. Partial vibrational density-of-states (PVDOS) is closely related to it.
In this section I will describe their definition and implementation in Multiwfn.
3.13.6.1 Theory
where Θ𝐴𝑖
is composition of fragment A in vibrational mode i.
Vibrational density-of-states (VDOS) represents density of vibrational transitions per
wavenumber, which is represented as
148
3 Functions
( E ) = c G( E − Eivib )
i
The coefficient c and the unit of VDOS are arbitrary, only relative magnitude of VDOS at different
energies is of interest. The partial VDOS (PVDOS) curve of fragment A is expressed as
A ( E ) = c iAG( E − Eivib )
i
Type of fragment
In Multiwfn, maximally 10 fragments can be defined simultaneously to draw their PVS or
PVDOS curves. The fragment(s) can be defined in two ways:
(1) A set of atoms. Their all Cartesian coordinates or specific Cartesian components (i.e. X, Y,
Z, XY, XZ, or YZ) can be taken into account.
(2) A set of redundant internal coordinates (RIC). The RICs may be bonds, angles and dihedrals,
and they are allowed to be mixed in a fragment.
where s is a constant factor, and stands for Cartesian component of electric dipole moment of
present system. The derivative of with respect to qi can be further written as sum of product of
dipole moment derivative to atomic Cartesian coordinates and corresponding components of normal
coordinates:
x j
= L j ,i
qi j x j qi j x j
where
149
3 Functions
2
2
i , i ,
I = L j ,i I = Lk ,i
jA x j
kB xk
A,intra B ,intra
i ,
I AB = 2 L j ,i Lk ,i
jA x j kB xk
𝑖,𝜎
in which 𝐼𝐴,intra stands for intrafragment contribution of fragment A to mode i in direction, and
𝑖,𝜎
𝐼𝐴B corresponds to contribution from coupling of fragments A and B. There is no unique way to
partition the coupling term to the fragments, I prefer to simply equally dissect it, in this case
contribution of fragment A to Ii is written as
I Ai = s (I i, i ,
+ 12 I AB )=s
x
L Lk ,i
k xk
A,intra j ,i
= x, y, z = x, y, z jA j
Finally, Θ𝐴𝑖 is calculated as
I Ai
iA = 100%
Ii
Note that the Θ𝐴𝑖 defined in above way could be slightly negative or larger than 100% in some
cases, this is unavoidable and never means the result is incorrect. Negative value comes from the
fact that the interfragment coupling contribution may be negative, whose magnitude can even be
greater than the always positive intrafragment contribution.
150
3 Functions
can respectively utilize PVDOS-NC(atom) and PVDOS-NC(RIC) to easily understand which atoms
and internal coordinates are significantly involved in vibration modes lying in different energy
regions.
AB ( E ) = c iAB G ( E − Eivib )
i
𝑖
where A and B are the two fragments for which you want to study their coupling effect, Θ𝐴𝐵 is their
percentage coupling contribution to vibrational mode i.
𝑖
For overlap PVS-NC (OPVS-NC) and overlap PVDOS-NC (OPVDOS-NC), Θ𝐴𝐵 is defined as
If mode i is equally contributed by fragments A and B, namely Θ𝐴𝑖 = Θ𝑖𝐵 = 50%, then Θ𝐴𝐵𝑖
= 100%.
At a wavenumber, the closer the OPVS-NC (𝜀𝐴𝐵 ) curve to curve, or the close the OPVDOS-NC
(𝜌𝐴𝐵 ) curve to curve, the more the spectrum at this wavenumber exhibits the collective motion of
fragments A and B.
𝑖 𝑖 𝑖
For overlap PVS-I (OPVS-I) spectrum, Θ𝐴𝐵 is defined as 100% × 𝐼𝐴𝐵 /𝐼 𝑖 , where 𝐼𝐴𝐵 is
coupling contribution of fragments A and B to vibration mode i:
i
I AB =s
= x, y,z
i ,
I AB
The more positive (negative) the OPVS-I curve, the more the IR absorption is enhanced (suppressed)
by the interfragment coupling effect.
3.13.6.2 Usage
To plot the spectrum curves contributed by fragments introduced above, after booting up
Multiwfn, you need to load input file for plotting common vibrational spectrum, then enter main
function 11, select the type of the vibrational spectrum you want to plot, including IR, Raman, VCD
or ROA (PVS-I only supports IR. For VDOS, all of them are equivalent). Then, after choosing
option “24 Set partial vibrational spectra (PVS) or vibrational DOS (VDOS)”, you will enter an
interface for defining fragments and adjusting relevant plotting settings. As you can see from screen,
by inputting t, you can select the type of the fragment spectrum. By inputting a number, you can
define fragment of corresponding index, please carefully follow the prompts on screen, at most 10
fragments can be defined. If you have defined two or more fragments, you can then use option 0 to
choose two fragments for which the OPVS or OPVDOS curve will be plotted.
Once defining fragments has finished, you can input q to leave the interface, and at the same
time, Multiwfn will load needed data from input file and generate composition of various fragments
in every vibrational mode, and the quantitative result will be shown on screen. (For PVS-I, you will
also be asked to input the .fch/fchk file produced by “freq” task of Gaussian, from which Multiwfn
will load data needed for calculating IR intensities. At the same time, Multiwfn asks you if
outputting IRinten.txt file, which contains very detailed raw and intermediate information about IR
151
3 Functions
intensity evaluation, which is particularly helpful for you to understand source of 𝐼𝐴𝑖,𝜎 )
After leaving option 24, you can plot vibrational spectrum as usual by choosing option 0, the
PVS/OPVS or VDOS/OPVDOS curves will be displayed together with vibrational spectrum curve.
Note that for plotting Raman or ROA spectrum together with accompanied PVS-NC curves,
you need to convert Raman activities to Raman intensities first as usual.
Input file
• PVS-NC(atom) and PVDOS-NC(atom): You can use output file of frequency analysis of
Gaussian, ORCA, and CP2K programs as input file.
xtb program is also supported but the situation is slightly special: After performing Hessian
calculation task by xtb, you will have vibspectrum and g98.out files. After booting up Multiwfn you
should load the vibspectrum, and after defining fragments and leaving the interface of option 24,
you will be asked to input the path of the g98.out, from which Multiwfn will load normal coordinates.
• PVS-NC(RIC) and PVDOS-NC(RIC): You should use output file of frequency analysis of
Gaussian as input file. freq=intmodes keyword of Gaussian must be used, so that composition of
RICs in various vibrational modes will be written to Gaussian output file, which will be loaded by
Multiwfn when leaving option 24.
• PVS-I(atom): You should use output file of frequency analysis of Gaussian as input file, and
the .fch/fchk file converted from the .chk file produced by this task must be kept, which is requested
to be provided by Multiwfn when leaving option 24.
Multiwfn provides a very useful and powerful function to predict color of a chemical substance
based on its UV-Vis adsorption spectrum curve. Very detailed explanation can be found in my blog
article “Prediction of color of chemical substances by quantum chemical calculations and Multiwfn
program” (http://sobereva.com/662, in Chinese), here only key information is given.
Theory
A chemical substance displays a color if it has optical adsorption in visible light range, and the
displayed color corresponds to the reflection and transmission lights. Essentially, the displayed color
is the complementary color with respect to the color corresponding to the UV-Vis adsorption
spectrum (i.e. adsorption color). In order to convert the UV-Vis spectrum to the displayed color, the
following steps are needed:
(1) Calculate X, Y, Z values of CIE1931 XYZ color space based on CIE1931 2 tristimulus
functions (tabulated data given in literature) and the UV-Vis spectrum generated in usual way. See
https://www.oceanopticsbook.info/view/photometry-and-visibility/chromaticity for details.
(2) Convert X, Y, Z values to R, G, B values of sRGB color space via linear transformation.
See https://www.oceanopticsbook.info/view/photometry-and-visibility/from-xyz-to-rgb for details.
Note that Gamma correction is not used.
(3) If any of R, G, B values exceeds valid range of sRGB color space, scale it into valid range,
namely [0,1].
(4) Take complementary color of the color corresponding to the adsorption light as (1.0-R,1.0-
152
3 Functions
G,1.0-B).
(5) Obtain maximum brightness colors of the adsorption color and its complementary color by
respectively shifting their maximum components to 1.0, so that the two colors have equal brightness.
Now, the maximum brightness of complementary color can be regarded as the color actually
displayed by the chemical substance.
Note that Multiwfn not only reports R, G, B components of adsorption color and
complementary color in [0,1], but also reports in [0,255] range.
Usage
There are two ways of using Multiwfn to predict color
• Case 1: Predicting color directly based on the theoretical UV-Vis spectrum generated by
Multiwfn
In this case, the input file is the same as that for plotting UV-Vis spectrum as described in
Section 3.13.2. After loading input file, enter main function 11, select option “25 Evaluate color
based on the spectrum in visible range”, then UV-Vis spectrum within 360-830 nm will be first
shown on screen, after closing it, you will see adsorption color corresponding the UV-Vis spectrum
and its complementary color. At the same time, maximum brightness forms of these two colors are
also shown on screen. Commonly the color shown at bottom right corner of the window can be
regarded as the actually displayed color of the substance. Meantime, from command-line window
of Multiwfn, you can find detailed parameters of the colors shown on screen, such as CIE1931 XYZ
values, RGB values in sRGB color space, etc.
• Case 2: Predicting color for a given spectrum curve recorded in plain text file
In this case, you can predict color based on e.g. experimentally determined spectrum curve.
The input file should be a plain text file containing two column data, the first column is wavelength
in nm, the second column is absorbance in arbitrary unit (see examples\spectra\Allura_red_UV-
Vis.txt for example. The data range and spacing are arbitrary, the two columns should be separated
by space or comma). After loading the input file, enter main function 11 and then choose option “0:
Predicting color based on UV-Vis spectrum”, you will see predicted colors, the information provided
by Multiwfn has the same form as that mentioned in case (1).
153
3 Functions
3.14.1 Theory
The topology analysis module of Multiwfn is quite flexible, powerful and general, it can be
applied to any real space function supported by Multiwfn as long as the the variation of the function
is smooth and thus its gradient is contiguous. All commonly studied functions, such as electron
density, its Laplacian, orbital wavefunction, spin density, ELF, LOL, ESP... can be analyzed by this
function. The default real space function to be studied is electron density, it can be altered by option
-11. Notice that once option -11 is chosen, all previous topology analysis results will be clean.
The topology analysis technique proposed by Bader was firstly used for analyzing electron
density in "atoms in molecules" (AIM) theory, which is also known as "the quantum theory of atoms
in molecules" (QTAIM), this technique has also been extended to other real space functions, e.g. the
first topology analysis research of ELF for small molecules is given by Silvi and Savin, see Nature,
371, 683 (1994). In topology analysis language, the points at where gradient norm of function value
is zero (except at infinity) are called as critical points (CPs), CPs can be classified into four types
according to how many eigenvalues of Hessian matrix of real space function are negative.
(3,-3): All three eigenvalues of Hessian matrix of function are negative, namely the local
maximum. For electron density analysis and for heavy atoms, the position of (3,-3) are nearly
identical to nuclear positions, hence (3,-3) is also called nuclear critical point (NCP). Generally the
number of (3,-3) is equal to the number of atoms, only in rarely cases the former can be more than
(e.g. Li2) or less than (e.g. KrH+) the latter.
(3,-1): Two eigenvalues of Hessian matrix of function are negative, namely the second-order
saddle point. For electron density analysis, (3,-1) generally appears between attractive atomic pairs
and hence commonly called as bond critical point (BCP). The value of real space functions at BCP
have great significance, for example the value of and the sign of ∇2 𝜌 at BCP are closely related
to bonding strength and bonding type respectively for analogous bonds (The Quantum Theory of
Atoms in Molecules-From Solid State to DNA and Drug Design, p11); I have demonstrated that the
at BCP can be reliably used to predict hydrogen bond binding energies (J. Comput. Chem, 40,
2868 (2019)); local information entropy at BCP is a good indicator of aromaticity (Phys. Chem.
Chem. Phys., 12, 4742 (2020)).
(3,+1): Only one eigenvalue of Hessian matrix of function is negative, namely first-order
saddle point (like transition state in potential energy surface). For electron density analysis, (3,+1)
generally appears in the center of ring system and displays steric effect, hence (3,+1) is often named
as ring critical point (RCP).
(3,+3): None of eigenvalues of Hessian matrix of function are negative, namely the local
minimum. For electron density analysis, (3,+3) generally appears in the center of cage system (e.g.
pyramid P4 molecule), hence is often referred to as cage critical point (CCP).
The positions of CPs are searched by Newton method by default. If one chooses a starting point,
then Newton iterations will converge to the CP that closest to it. By assigning proper guessing
positions and performing Newton iterations starting from every of them, all CPs could be finally
154
3 Functions
found. Once search of CPs is finished, one may verify if all CPs may have been found according to
Poincaré-Hopf relationship, which states that
n(3,-3) – n(3,-1) + n(3,+1) – n(3,+3) = 1 (for isolated systems)
n(3,-3) – n(3,-1) + n(3,+1) – n(3,+3) = 0 (for periodic systems)
If the relationship is unsatisfied, then some CPs must be missing; if you are interested in them, you
need to further perform CP searching by using starting points different to the previous ones.
However, even if the Poincaré-Hopf relationship is satisfied, it does not necessarily mean that all
CPs have been found. Notice that behaviors of many real space functions, such as ELF, LOL, density
difference, Laplacian of , are much more complex than , it is very difficult to locate all CPs for
these functions, especially for medium and large systems. So, attempt of searching CPs could be
terminated once you found all CPs of interest have been found.
The maximal gradient path linking BCP and associated two local maxima of density is termed
as “bond path”, which reveals atomic interaction path for all kinds of bonding. The collection of
bond paths is known as molecular graph, which provides an unambiguous definition of molecular
structure. Bond path can be straight line or curve, obviously for the latter case the length of bond
path is longer than the sum of the distances between BCP and associated two (3,-3) CPs.
Let us see an example. In the complex shown below, the imidazole plane is vertical to
magnesium porphyrin plane, the nitrogen in imidazole coordinated to magnesium. Magenta, orange
and yellow spheres correspond to (3,-3), (3,-1) and (3,+1) critical points, brown lines denote bond
paths.
The topology paths for other real space functions can be generated too in Multiwfn, they are
very helpful to clarify intrinsic relationship between CPs.
About degenerate CP
Appearance of degenerate CPs in general system is very rare, so I mention it in the final of this
section. The so-called degenerate CP is the CP have one or two zero eigenvalues of Hessian matrix.
155
3 Functions
These CPs are very instable, slight perturbation of molecular geometry can break them into other
type CPs. However, degenerate CPs commonly occur in axisymmetric system. For example, in
fluorine atom at ground state, one of p orbital is singly occupied while other two are doubly occupied,
topology analysis on LOL gives below picture:
The two (3,-3) correspond to the two valves of the singly occupied p orbital, while the locally
maximum of electron localization arise from the other two p orbitals are represented by a circle of
CPs. Ostensibly, the CPs in the circle are either (3,-1) or (3,+1) type, but in fact they are the same
type degenerate CP, in which one eigenvalue is zero. Simply because the reasons of numerical
convergence of the eigenvalue, they are formally recorded as different CP types in Multiwfn.
Searching modes
In Multiwfn, several modes are provided to assign starting points for searching CPs:
• (1) Search CPs from given starting points: If you already know approximate position of CPs
or you are able to reasonably guess where CPs may appear, then this mode is very suitable for you,
the iteration will start from the provided coordinates. In this mode, you can directly input coordinate
of a starting point, or input two atomic indices, then their midpoint will be taken as starting point.
You can also provide a .pdb or .pqr file, the atom coordinates in it will be treated as starting points
in turn. In addition, a .txt file containing all starting points can also be provided, the format should
look like follows, each line corresponds to X, Y, Z coordinate of a starting point in Bohr, the format
is free
1.2 3.10 -0.4
...
• (2) Search CPs from nuclear positions: This mode uses all nuclear positions in turn as starting
points, this mode is very suitable for searching all (3,-3) for , and those (3,-3) CPs in innermost
region of atom for ELF/LOL and Laplacian of . For electron density analysis, if you located n CPs
after using this mode while there are more than n atoms in your system, it generally implies that
some (3,-3) CPs were missed during searching.
• (3) Search CPs from midpoint of atomic pairs: This mode uses midpoint of all atomic pairs
in turn as starting points. This mode is very suitable for searching all (3,-1) CPs for .
• (4) Search CPs from triangle center of three atoms: Like mode 3, but use triangle center of
all combinations of three atoms in your system. Suitable for searching all (3,+1).
• (5) Search CPs from pyramid center of four atoms: Like mode 3, but use pyramid center of
all combinations of four atoms in your system. For electron density analysis, if you have tried mode
2 and mode 3 but still cannot find certain (3,+3), this mode is worth to try. This mode is more
156
3 Functions
CP searching parameters
The default searching parameters are appropriate for most systems, however in some cases you
have to adjust parameters manually to ensure expected CPs could be found. These parameters can
be set in the option "-1 Set CP searching parameters".
(1) Set maximal iterations: If the number of iteration exceeds this value before converged to a
CP or before Hessian matrix became singular (that is the iteration cannot continue), then the iteration
will be terminated.
(2) Set scale factor of stepsize: The default value is 1.0, that means the stepsize determined by
standard algorithm is unchanged. Sometimes reducing the stepsize is benefit for locating CPs. For
example, in the topology analysis of examples\uracil.wfn, the BCP linking N6 and H12 cannot be
found by using mode 2 with default parameter. If you reduce the stepsize to 0.5, then this problem
will be solved.
(3)/(4) Set criteria for gradient norm / displacement convergence: If both gradient norm in
current position and displacement in last step is smaller than the two values, then the iteration will
stop and current position will be regarded as a critical point.
Notice that for searching mode 2, which is usually employed for locating NCPs, the convergence criterion of
gradient norm is temporarily removed, since electron density peak is quite sharp at nuclear position for very heavy
atoms, the iteration can hardly converge if gradient norm criterion is taken into account.
(5) Minimal distance between CPs: If an iteration converged to a CP, however the distance
between this CP and any CP that has been found is smaller than this value, then the CP just found
will not be considered as a new CP, and hence discarded.
(6) Skip search if distance between atoms is longer than the sum of their vdW radius multiplied
by: In CP searching mode 3, 4 and 5, if the distance of any two atoms that involved in the
combination is longer than the sum of their vdW radii multiplied this value then current search will
be skipped. The purpose of this option is to reduce the number of searches and hence computational
cost of huge system. For example, the imidazole--magnesium porphyrin complex mentioned earlier,
there are 49*48/2=1176 atomic pairs, hence if this cutoff strategy is not employed when you choose
searching mode 2, Multiwfn will try as many as 1176 searches. While if this strategy is used, since
only closely related atomic pairs will be considered, only 274 searches are needed be performed, it
157
3 Functions
158
3 Functions
SD are only choices. Moreover, some functions have very crowded CPs or minima/maxima in very
narrow quadratic regions, I frequently found Newton and BB can hardly converge to
minima/maxima, in this case SA/SD should also be used if the minima/maxima are what you are
really interested in. The SA (SD) in Multiwfn utilizes microiteration to determine suitable
displacement magnitude toward positive (negative) direction of gradient vector; in each
microiteration, if displacement is unable to cause increase (decrease) of function value, the
displacement magnitude will be reduced to 40% and retry, until function value indeed increases
(decreases).
The interbasin surfaces (IBS) generated by Multiwfn actually consist of a bunch of paths
derived from (3,-1) CPs, these surfaces divide the whole space into respective region for each (3,-
3) CPs. By the option "10 Add or delete interbasin surfaces", you can generate, delete and check
interbasin surfaces. Notice that before generating IBS, generation of CPs should be completed first,
and at least one (3,-1) CP must be found.
If you want to generate the IBS from the (3,-1) CP with index of 15, then simply input 15 (you
159
3 Functions
will find it is useful to visualize CPs by function 0 first to get the CP index). To delete this surface,
input -15 (negative sign means "delete"). If there is no IBS presented and you hope to generate all
IBSs, input 0. To delete all already generated IBS, also input 0. A list of generated IBS can be printed
by inputting the letter l If you need to export the paths of a specific IBS (e.g. corresponding to the
(3,-1) CP with index of 4) to external file, input o 4, then the coordinates of all paths derived from
the CP4 will be saved to surpath.txt in current folder. Input letter q can return to upper level menu.
Parameters for generating IBSs can be adjusted by the option "-3 Set interbasin surface
generating parameters". Enlarging number of paths in each IBS or lowering stepsize will make IBSs
looks more smooth. The length of paths in IBSs, or say the area of IBSs, is proportional to product
of stepsize and number of points in each IBS path. Notice that once the parameters are changed, all
generated IBSs will be lost.
There are three ways to portray IBSs in Multiwfn, which can be controlled by "isurfstyle" in
settings.ini. Way 1 represents the IBS directly by the paths derived from corresponding (3,-1) CP;
By Way 2 IBSs are shown by solid surfaces, this is default style; Way 3 is uncommonly used, you
can try it yourself.
160
3 Functions
If the real space function you selected is electron density, options 20 and 21 will be visible,
161
3 Functions
In above formula, N is the total number of the BCPs in the ring you want to study aromaticity, rBCP
is the position of BCP. In option 20, you need to input N and the index of these CPs in turn, then
Shannon aromaticity index will be printed immediately. The smaller the SA index, the more
aromatic is the molecule. The range of 0.003 < SA < 0.005 is chosen as the boundary of
aromaticity/antiaromaticity in original paper.
162
3 Functions
3.15.1 Theory
In Multiwfn, in principle, distribution of any real space function on molecular surface (or the
surface defined by isosurface of a certain function) can be quantitatively studied. Electrostatic
potential and average local ionization energy on molecular vdW surface are particularly useful,
therefore they will be discussed detailed in this section. Same kind of quantitative analyses could
also be applied to other real space functions, such as user-defined functions, electron delocalization
range function (EDR) and even Fukui function and dual descriptor.
N+ N−
+ −
V S = (1/ N + )V (ri ) V S = (1/ N − )V (ri )
i i
where N+ and N− are number of sampling points in positive and negative regions respectively, and
the index i only loops corresponding points. The S subscript means "molecular surface". The average
of ESP over the entire surface is
N
V S = (1/ N ) V (ri )
i
163
3 Functions
N
= (1/ N ) V (ri ) − V S
i
The total ESP variance can be written as the sum of positive and negative parts:
N+ N−
+ 2 −
= + = (1/ N + )[V (ri ) − V ] + (1/ N − )[V (r j ) − V S ]2
2
tot
2
+
2
− S
i j
The variance reflects the variability of ESP. The larger the 𝜎+2 and 𝜎−2 , the more tendency that the
molecule interacts with other molecules by positive and negative ESP regions respectively.
Degree of charge balance (also known as balance of charges) is defined as
+2 −2
=
( tot
2 2
)
When 𝜎+2 equals to 𝜎−2 , attains its maximum value of 0.250. The closer the to 0.250, the more
possible that the molecule can interact to others through positive and negative region with similar
extent.
2
The product of 𝜎tot and is a very useful quantity too, a large value of 𝜎tot
2
is an indicative
of a molecule that has relatively strong tendencies to interact with others of its own kind
electrostatically.
In order to quantify molecular polarity, I defined a quantity named molecular polarity index
(MPI), which is closely related to the index.
N
MPI = (1/ N ) V (ri ) (1/ A) | V (r) | d S
i S
where S denotes molecular surface. My test for some representative molecules showed that MPI is
a quite reliable index of measuring molecular polarity, the larger the index, the higher the polarity.
If MPI is involved in your research, please cite my paper Carbon, 171, 514 (2021), which is the first
publication introducing the MPI index.
Skewness can be used to measure the asymmetry of distribution of a real space function about
its mean over molecular surface. Positive skewness is calculated as follows
N+
+ 3
[V (r ) − V i S]
3 (V ) = + i
N + ( +2 )3/2
S
similarly, for calculating negative skewness, only surface points with negative ESP are taken into
account. While for calculating overall skewness, all surface points are used. For each kind of
skewness, the more positive (negative) the value, the stronger the tendency that ESP distributes
toward negative (positive) direction with respect to the average value.
In Multiwfn, above mentioned surface descriptors can be calculated not only on the whole vdW
surface, but also on the subregions corresponding to atoms or user-defined fragments. The detail of
the theory is to be published, and thus not documented here at the moment. In addition, these surface
descriptors can be calculated for any other real space function.
164
3 Functions
H vap = a A + b tot
2
+c
with least-squares fit coefficients a = 2.130, b = 0.930 and c = -17.844. The heat of sublimation can
be predicted as
M
= + ( tot
2
)+
Vm
At B3PW91/6-31G** level, the fitted coefficients are = 0.9183, = 0.0028 and = 0.0443. This
formula has proven to have improved accuracy, because intermolecular electrostatic interaction is
somewhat effectively taken into considered. In a succeeding paper Mol. Phys., 108, 1391 (2010),
the author showed that the crystal density of ionic compounds can be estimated much better than
= M / Vm if GIPF descriptors are introduced:
165
3 Functions
M V +S (cation) −
= + + + V S (anion) +
Vm A(cation) A(anion)
−
with least-squares fit coefficients = 1.0260, = 0.0514, = 0.0419 and = 0.0227 at B3PW91/6-
+
31G** level. In the equation, 𝑉̅S(cation)
+
and 𝐴+ ̅+ ̅−
(cation) denote the 𝑉S and 𝐴 of the cation; 𝑉S(anion)
̅− −
and 𝐴−(anion) denote the 𝑉S and 𝐴 of the anion. For 30 test cases, the average absolute error is
merely 0.033 g/cm3.
Noticed that above relationships are only appropriate for small organic compounds containing
C, H, N, O elements, the error are significantly larger for other kinds of systems.
·Predicting boiling point
In J. Phys. Chem., 97, 9369 (1993), it is shown that boiling point can be predicted as
Tbp = A + tot
2
+
where = 2.736, = 33.31, = -72.05 were fitted at HF/STO-5G*//HF/STO-3G* level. This paper
also showed equations for predicting critical temperature, volume and pressure.
·Predicting solvation free energy
In J. Phys. Chem. A, 103, 1853 (1999), the prediction equation for solvation free energy is
presented as (Vmin denotes the ESP value at its global minimum in the whole space):
Gsolv (kJ/mol) = 0.17201Vmin − 2.6412 10−5 (VS, max − VS, min ) 3
− −
+ 0.051892A− V S + 9704.2 /( A− V S ) + 46.827
·Predicting pKb
In J. Chem. Inf. Model., 60, 1445 (2020), the authors showed that pKb of amino groups can be
nicely estimated by fitting equation, for example, primary amine cases:
where VS,min is in kcal/mol and should be calculated at B97XD/cc-pVDZ level. Prediction accuracy
of this equation is fairly satisfactory, the R2 is as high as 0.9519 with mean absolute error of merely
0.12. Similar fitted equations are also available for secondary amines, tertiary amines and tertiary
amines.
·Predicting other properties
In addition, the equations used to predict heat of fusion, surface tension and crystal/liquid
density can be found in J. Phys. Chem., 99, 12081 (1995), the equations used to predict lattice energy
for ionic crystal containing NH4+, K+ and Na+ are given in J. Phys. Chem. A, 102, 1018 (1998). More
formulae used to predict physical properties of organic molecules based on GIPF descriptors are
summarized in Table 3 of J. Mol. Struct. (THEOCHEM), 425, 107 (1998). GIPF also has many
important uses in study of biochemical systems, see Int. J. Quantum Chem., 85, 676 (2001) for a
review.
166
3 Functions
vdW surface, 𝐼𝑆̅ . Lower value of 𝐼𝑆̅ indicates that the electron at r is more weakly bounded, therefore
more likely r is the site of electrophilic or radical attack. Many studies have shown that the global
minimum of 𝐼 ̅ on vdW surface exactly locates the experimental reaction site, while relative
magnitude of 𝐼 ̅ at corresponding reaction site in homologues correlates well with relative reactivity.
The interested users are recommended to take a look at J. Mol. Model, 16, 1731 (2010) and Chapter
8 of the book Theoretical Aspects of Chemical Reactivity (2007).
Local electron affinity EAL is a quantity very similar to 𝐼 ,̅ the only difference is that the MOs
under consideration is not all occupied ones, but all unoccupied ones. It was shown that EAL on
molecular surface is useful for analyzing nucleophilic attacking, for detail see J. Mol. Model., 9, 342
(2003).
Quantitative analysis on molecular surface for Fukui function and orbital overlap distance
function D(r) have also been proven to be fairly useful, see Sections 4.12.4 and 4.12.8 for example,
respectively.
About sphericity
At the end of this section, it is worth to mention that Multiwfn automatically prints "sphericity"
of the molecular surface during the calculation irrespective of the choice of mapped function. This
quantity is defined as follows (see https://en.wikipedia.org/wiki/Sphericity for detail)
−
V S , V S , , +2 , −2 and so on. Here I briefly describe how these properties are computed in
Multiwfn, the basic steps are given below.
1. Grid data of electron density enclosed the entire molecular space is compute. The smaller
the grid spacing is used, the more accurate result you will get, however the more vertices will be
generated in next step and therefore you will wait longer time in step 3.
167
3 Functions
2. Marching Tetrahedra algorithm is performed by making use of the grid data generated above,
this step generally does not cost much computational time. The volume enclosed by the isosurface
is computed at the same time. This step generates vertices representing the isosurface, along with
their connectivity. Each neighbouring three vertices constitute a triangle (will be referred to as facet
below). Below example is a water molecule, vertices (red points) and connectivity (black lines) are
portrayed:
3. Since computing ESP is time consuming, in order to cut down overall computational time,
Multiwfn eliminates redundant points automatically. Specifically, if the distance between two points
is smaller than a specific value, one of the points will be eliminated, and the other point will be
moved to their average position. In above graph, the aggregated points such as those inside blue
circles will be finally merged to one point.
4. Calculate mapped function (ESP, 𝐼 ̅ and so on) at each vertex on the isosurface. For ESP, this
is the most time consuming step; however for such as 𝐼 ̅ and EAL, this step can be finished
immediately.
5. Locate and then output minima and maxima of the mapped function on the surface by
making use of connectivity. If the mapped function value at a vertex is both lower (larger) than that
at its first-shell neighbours and second-shell neighbours, then this vertex will be regarded as surface
minimum (maximum).
+ −
6. Compute and output V S , V S , V S , , +2 , −2 , tot
2
, , tot
2
, P, as well as vdW
volume, area of total vdW surface, the area where the mapped function is positive and where is
N
V S = (1/ A) Ai Fi
i
where N is the total number of facets, A is the sum of area of all facets, Ai is the area of facet i, Fi is
the ESP value (or value of other mapped function) of facet i, which is calculated as the average of
168
3 Functions
| r − rA |
wA = 1 −
RA
where A denotes atomic index, rA and RA are coordinate and radius of atom A, respectively. The
surface point r is attributed to the atom that has the maximal weight. It can be seen that at the
position of nucleus of A, wA reaches its maximal value 1.0. wA linearly attenuates with increase of
the distance |r-rA|, it attains zero when the distance just equals to corresponding atomic radius. The
larger radius the atom has, the slower the weight attenuates, therefore the above definition of weight
makes larger sized atoms have higher possibility to cover broader range on molecular surface.
In Multiwfn it is also possible to perform analysis of local molecular surface corresponding to
a user-defined fragment, the region of the fragment is simply the sum of the regions of all the atoms
that constitute it.
169
3 Functions
In this graph, the black curve represents the original ESP distribution, the cyan and black curves
collectively correspond to the absolute value of the ESP. The region enclosed by blue bracket
170
3 Functions
corresponds to the local surface corresponding to minimum 1, while the two pink brackets
respectively correspond to the two local surfaces corresponding to maxima 1 and 2.
For the above mentioned modes (2) and (3), if all the three vertices of a surface facet are
selected, this surface facet will be regarded as attributed to the selected local surface. Then the area
as well as average of mapped function of the selected local surface can be straightforwardly
evaluated.
You will see below options in the main interface of quantitative analysis of molecular surface.
0 Start analysis now!: When this option is selected, the analysis boots up. All steps described
in last section will be implemented sequentially.
6 Start analysis without considering mapped function: This option also starts analysis like
option 0, however calculation and analysis of mapped function are skipped. This option is useful if
you are only interested in e.g. volume and area of molecular surface while value of mapped function
is not of interest.
1 The isovalue of electron density used to define molecular surface: Default value is 0.001,
corresponding to the most frequently used definition of vdW surface. In general, it is not
recommended to adjust this value.
2 Select mapped function: The mapped function to be studied can be selected by this option.
Such as ESP, 𝐼 ,̅ EAL and user-defined function (Section 2.7) are directly supported and can be
automatically computed by internal code of Multiwfn during the surface analysis. Alternatively, if
you intend to load value of mapped functions at all surface vertices from an external file, you should
choose "0 Function from external file", in this case you may analyze broader type of mapped
functions (e.g. Fukui function), see description of option 5 given below for more detail.
Note that by default the ESP is evaluated based on wavefunction, this process may be quite time-consuming for
large systems. However, if you choose "Electrostatic potential from atomic charge", then Multiwfn will evaluate
ESP based on atomic charges, which are loaded from a .chg file, the computational time will be reduced by several
orders. You can use main function 7 to calculate atomic charge and produce the .chg file, or you can write the .chg
file manually, see corresponding part of Section 2.5 on the .chg file format. Note that the analysis result will be
reasonable only when the method used to generate atomic charges can reproduce ESP well (e.g. CHELPG, MK and
ADCH methods). Also note that in some cases ESP generated by atomic charges differ significantly from the ESP
generated based on wavefunction, see J. Chem. Theory Comput., 10, 4488 (2014) for comprehensive discussion.
3 Spacing of grid points for generating molecular surface: This setting defines the spacing
of electron density grid data, see step 1 introduced in the last section. The spacing directly
determines the accuracy and computational cost of the analysis. Default value is suitable for general
cases. Increasing this value can reduce computational time evidently, however if this value is not
small enough, the vertices on the isosurface will be spare, this may cause missing or erroneous
locating of some extrema. In general, the results under the default spacing are accurate and reliable.
If you find some extrema were not located under default spacing, try to decrease spacing and rerun
the task.
171
3 Functions
high
electron density, high quality ESP (V) can thus be approximately estimated as 𝑉large BS ≈
172
3 Functions
(1) Load mapped function at all surface vertices from plain text file: If this option is
selected, then after generation of molecular surface, coordinate of all surface vertices (in Bohr) will
be automatically exported to surfptpos.txt in current folder. Then you can use your favourite program
to calculate mapped function value at these points, and write the values as the fourth column in this
file (in free format, unit is in a.u.). For example
1324 // The first line is the total number of points
....
Then input the path of this file (the name can still be surfptpos.txt), Multiwfn will directly read the
values. An exemplificative application of this option is given in Section 4.12.4.
Hint: If you will analyze a system twice or more times, and want to avoid calculating mapped
function values every time for saving time, at the first time you analyze the system, you can select
option 7 at post-processing interface to export coordinates and corresponding mapped function
values of surface vertices to vtx.txt in current folder. At next time you analyze the system, if you
choose this option, and input the path of the vtx.txt during the surface analysis, then mapped function
values will be directly loaded rather than re-calculated (See Section 4.12.1 for example).
(2) Similar to 1, but specific for the case of using cubegen utility of Gaussian: A file named
cubegenpt.txt will be generated in current folder after generation of molecular surface. This file is
very similar to surfptpos.txt, the difference is that in this file the first line is not presented, and
coordinate unit is in Å. Based on this file, you can make use of cubegen utility of Gaussian to
calculate mapped function at all surface vertices. After that, input the path of cubegen output file,
the data will be loaded by Multiwfn.
(3) Interpolate mapped function from an external cube file: After generation of molecular
surface, a template cube file named template.cub will be generated in current folder. Then you will
be prompted to input the path of a cube file representing the mapped function you are interested in,
the grid setting of this cube file must be exactly identical to template.cub. The mapped function
values at surface vertices will be evaluated by interpolation from the cube file you provided.
Once the all calculations of surface analysis are finished, a summary will be printed on screen.
Meanwhile below options will appear on screen used to check, adjust and export results.
-3 Visualize the surface: By this option you can directly visualize the isosurface analyzed.
-2 Export the grid data to surf.cub in current folder: The grid data used to generate
isosurface will be exported to the cube file surf.cub in current folder.
-1 Return to upper level menu
0 View molecular structure, surface minima and maxima: A GUI window will pop up if
this option is chosen. Red and blue spheres represent the position of maxima and minima. All
widgets are self-explanatory and hence not be referred here.
173
3 Functions
1 Export surface extrema as surfanalysis.txt in current folder: This option exports value of
mapped function and X, Y, Z coordinates of surface extrema to surfanalysis.txt in current folder.
2 Export surface extrema as surfanalysis.pdb in current folder: This option outputs surface
extrema to surfanalysis.pdb in current folder. The B-factor column records mapped function value
(the actually used unit is shown on screen).
3 Discard surface minima in certain value range: If the mapped function value at a surface
minimum is between the lower and upper limit inputted by user, then this minimum will be discarded
and cannot be recovered. This option is useful to screen the minima with too large value.
4 Discard surface maxima in certain value range: If the mapped function value at a surface
maximum is between the lower and upper limit inputted by user, then this maximum will be
discarded and cannot be recovered. This option is useful to screen the maxima with too small value.
5 Export present molecule as pdb format file: This option outputs structure of present system
to a specified pdb file. Since pdb is a widely supported format, in conjunction with the output by
option 2, surface extrema can be conveniently analyzed in external visualization softwares such as
VMD.
6 Export all surface vertices to vtx.pdb in current folder: This option outputs surface
vertices to vtx.pdb file in current folder, mapped function values are written to B-factor field (the
actually used unit is shown on screen). This option is mainly used to check validity of isosurface
polygonization and visualize distribution of mapped function on molecular surface.
There is a hidden option 66, which not only outputs surface vertices to vtx.pdb, but also outputs connectivity
into CONECT field of this file. If you would like to visualize connectivity based on the vtx.pdb in VMD program,
please consult my blog article "Setting connectivity of atoms according to CONECT field in VMD"
(http://sobereva.com/121, in Chinese)
7 Export all surface vertices to vtx.txt in current folder: Namely outputting all reserved
surface vertices to a plain text file named vtx.txt in current folder, including vertex X/Y/Z
174
3 Functions
where "begin" and "end" is the lower and upper limit of local value range, respectively. "Center" is
their average value. Area is in Å2, "%" denotes the proportion of the area in overall molecular surface
area.
10 Output the closest and farthest distance between the surface and a point
In this option, after defining a point (you can define a nuclear position or geometry center as
the point, you can also directly input the coordinate of the point), the closest and farthest distance
between the molecular surface and the point will be outputted. These two quantities have two main
uses:
(1) In atoms in molecules (AIM) theory, for systems in gas phase, the vdW isosurface is defined
as the ρ=0.001 a.u. isosurface. The closest distance between a nucleus and the surface can be
regarded as non-bonded atomic radius. For a non-covalently interacting atomic pair AB, the
difference between the length of A-B and the sum of their non-bonded radii is termed as mutual
penetration distance. In general, the larger the distance is, the stronger the interaction will be.
(2) The farthest distance between molecular surface and geometry center can be viewed as a
definition of molecular radius. Of course, the concept of molecular radius is only meaningful for
sphere-like molecules.
If you input f, Multiwfn will output the farthest distance between all surface points. This can
be regarded as a definition of molecular diameter.
175
3 Functions
Abundant examples of various kinds of quantitative molecular surface analyses can be found
in Section 4.12.
176
3 Functions
The quantitative molecular surface analysis module is also able to carry out Hirshfeld and
Becke surface analysis, present section is devoted to introduce this point.
where 𝜌𝐴0 denotes the density of atom A in free-state. Summing up weight of all atoms in a fragment
yields Hirshfeld weight of this fragment
wPHirsh (r) = wAHirsh (r)
AP
177
3 Functions
Hirshfeld weighting function of the monomer at left side of the graph is represented by color bar,
going from red to dark purple corresponds to the weight varying from 1.0 to 0.0. The black line,
which is the contour line of 0.5, is just its Hirshfeld surface. Evidently, Hirshfeld surface very
elegantly partitioned the whole space into two monomer regions, the difference in atomic size is
properly and automatically taken into account. The Hirshfeld surface in this case is an open surface,
the surface extends to infinity; while if the monomer is completely buried, such as in molecular
crystal or metal-organic framework environment, then its Hirshfeld surface will be a close surface
and encloses all of its nuclei, just like common molecular surface.
If we map specific real space functions on Hirshfeld/Becke surface and study their distributions,
just like quantitative analysis on molecular surface, we can gain many important information about
intermolecular interaction. There are three real space functions very useful for this purpose
d i − ri vdW d e − revdW
(1) Normalized contact distance d norm = + , where di (de) is the
ri vdW revdW
distance from a point on the surface to the nearest nucleus inside (outside) the surface, 𝑟𝑖vdW and
𝑟𝑒vdW denote vdW radius of the corresponding two atoms. Small value of dnorm indicates close
intermolecular contact and implies evident interaction.
(2) Electron density. If electron density is large in some local regions of Hirshfeld/Becke
surface, obviously the intermolecular interactions crossing these regions must be prominent. The
usefulness of electron density is similar to dnorm, while the former is more physically meaningful
and leads to smoother color variation on the surface.
(3) sign(λ2), see corresponding part Section 2.6 for detailed explanation. This function can
not only exhibit interaction strength but also reveal interaction type.
Below is urea crystal, the isosurface represents Hirshfeld surface of the central urea, and dnorm
is the mapped function. Red parts correspond to small dnorm and thus exhibit close contact, which
mainly originates from H-bond interaction.
178
3 Functions
plot correspond to di and de, respectively. Each vertex on the Hirshfeld/Becke surface is drawn as a
scatter point on the fingerprint plot. According to the distribution of the scatter points, possible
intermolecular interactions can be inferred. The usefulness of the fingerprint plot is demonstrated in
page 24 and 25 of CrystEngComm, 11, 19 (2009).
The Hirshfeld/Becke surface in fact can be viewed as the contact surface between the atoms in
the Hirshfeld/Becke fragment you defined and all other atoms. The remarkable flexibility of
Multiwfn allows the overall contact surface to be decomposed to various local contact surfaces and
draw the corresponding local fingerprint plots. For example, one can draw fingerprint plot for the
local contact surface between the nitrogen atoms in central urea and the hydrogens in surrounding
ureas. In this case, all vertices on the local contact surface simultaneously satisfy two conditions:
(1) In the Hirshfeld/Becke fragment (viz. the central urea), the atoms closest to the vertices are
nitrogen (2) Among all surrounding atoms, the ones closest to the vertices are hydrogen.
Undoubtedly, fingerprint plot of local contact surface greatly facilitates one to study the noncovalent
interaction in local region due to the contact between specific atom sets.
Usage
The procedure to perform Hirshfeld/Becke surface analysis is similar with usual quantitative
molecular surface analysis. After you entered main function 12, choose option 1 and select Hirshfeld
or Becke surface, then input the index of the atoms in the fragment. Now mapped function is
automatically switched to electron density (if no wavefunction information is available, it
corresponds to promolecular density). You can also choose option 2 to select other mapped function.
After that, choose option 0 to start calculation. Quantitative data on the surface such as average
value and standard deviation will be outputted, and surface extrema will be located. Then via
corresponding options you can visualize surface minima/maxima, export result and so on, all options
in the post-processing menu (except for option 20) have already been introduced in Section 3.15.4
and thus will not be described again.
In the post-processing menu you can see an option named "20 Fingerprint plot and local contact
analyses", after entering it you will see a menu, in which if you select option 0, the fingerprint
analysis will be started. By default, the analysis is performed over the entire Hirshfeld/Becke surface.
If you intend to perform fingerprint plot analysis for local contact region, you should use options 1
and 2 in this menu to respectively define "inside atoms" and "outside atoms", only the contact
surface between these two sets of atoms will be taken into account in the analysis. Any atom in the
"inside atoms" should be an atom in the current fragment, while any atom in the "outside atoms"
should not belong to the current fragment. In the options 1 and 2 you will be asked to input two
filter conditions, their intersection defines the set. Condition 1 is atom index range, the condition 2
is element. For example, if you input 1,3-6 as condition 1 and Cl as condition 2, then the Cl atom(s)
within the range of 1,3-6 will be chosen.
After carrying out the fingerprint plot analysis, the area of the contact surface will be shown
on screen. Then, in the new post-processing menu you can find many options, which can be used to
draw fingerprint plot or modify plotting settings. By option 4 you can export the vertices on the
local contact surface and entire Hirshfeld/Becke surface to finger.pqr and finger_all.pqr in current
folder, respectively, in which “Charge” property (penultimate column of the files) corresponds to
the value of mapped function. In addition, by option 5, you can export di and de values of the points
on the local contact surface and entire Hirshfeld/Becke surface to di_de.txt and di_de_all.txt in
current folder, respectively.
179
3 Functions
It is possible to obtain contact area between every pair of element at the same time, just choose
option “3 Calculate contact area between different elements” in fingerprint analysis menu.
Information needed: Depending on the real space function used to define the surface and that
mapped on the surface. At least atom coordinates must be provided. (For local electron affinity,
virtual MOs must be presented, hence such as .mwfn, .fch, .molden and .gms should be used in this
case)
If grid data was loaded from input file when Multiwfn boots up, or grid data has been generated
by main function 5 or other functions, a set of grid data will be presented in memory (which will be
referred to as "present grid data" below), then this module will be available. If grid data has not been
presented in memory but you choose this main function, you can also directly load grid data from
an external file.
In this module, you can visualize present grid data, extract data in a specified plane, perform
mathematical algorithm, set value in specified range by corresponding options and so on. These
options will be described below.
Visualize isosurface of present grid data in a GUI window, this is useful to check validity of
the grid data updated by some functions (e.g. function 11)
If you choose this function, present grid data (may be has updated by using function 11, 13, 14,
15) along with atom information will be outputted to a cube file.
3.16.2 Output all data points with value and coordinate (1)
By this function, all present grid data will be outputted to output.txt in current folder, the first
three columns correspond to X, Y, and Z in Å, the last column is data value.
By these functions, the grid data in the XY/YZ/XZ plane with specified Z/X/Y value will be
180
3 Functions
outputted to output.txt in current folder, which is a plain text file, you can load it to visualization
softwares such as Sigmaplot and then plot plane graphs. Since grid data is discretely distributed, the
actual outputted plane is the one nearest to your input Z/X/Y value.
Please read program prompts for the meaning of each column in output file.
By these functions, the average grid data in some XY/YZ/XZ planes whose Z/X/Y coordinate
are in specified range will be outputted to output.txt in current folder. The column 1/2/3/4 correspond
to X, Y, Z, value, respectively, geometry unit is Å.
3.16.5 Output data points in a plane defined three atom indices or three
points (8, 9)
By these two functions, the data in an arbitrary plane can be outputted to plain text file.
However, if the plane you are interested in is XY/YZ/XZ plane, you should use function 2,3,4
instead respectively. You can define the plane by inputting three atom indices or by inputting three
points.
You need to input tolerance distance, the data points whose distance to the plane are short than
this value will be outputted. In general, it is recommended to input 0 to use default value.
Then if you want to project the data points to XY plane so that you can load them into some
visualization softwares and then plot them as plane graph, you can input 1 to tell program to do that.
You will find Z values of all points in the output file are zero.
Like function 2, but only the data points whose value are in specified range will be outputted.
If you input both lower and upper limit of value as k, then the data between k−abs(k)0.03 and
k+abs(k)0.03 will be outputted.
In this function, you can perform algorithm for present grid data by corresponding options,
then the grid data will be updated, and then you can use such as function -2 to visualize the updated
grid data, use function 0 to output the updated grid data as cube file or extract data in a plane by
function 2~9, etc.
Supported operations are shown below, where A means value of present grid data, B means
value at corresponding point in the cube file that will be loaded. C means the updated value at
corresponding point.
1 Add a constant e.g. A+0.1=C
2 Add a grid file i.e. A+B=C
3 Subtract a constant e.g. A-0.1=C
4 Subtract a grid file i.e. A-B=C
5 Multiplied by a constant e.g. A*0.1=C
181
3 Functions
The function is especially useful if you have an electron density cube file and corresponding
ESP cube file, you can obtain ESP values of the points laying on the vdW surface, which may be
defined as the isosurface with electron density isovalue of 0.001. (Note that main function 12 can
realize the same goal, meanwhile the accuracy is higher)
You need to input a isovalue to define the isosurface of present grid data, assume that you input
p, and then input deviation in percentage, referred to as k here, then the data points whose values
are between p+abs(p)*0.01*k and p−abs(p)*0.01*k will be regarded as isosurface points.
Subsequently, you need to input the filename of another cube file (should has identical grid setting
as present grid data), the value in this cube file of those isosurface points will be exported to
output.txt in current folder, along with X/Y/Z coordinates.
3.16.9 Set value of the grid points that far away from / close to some
atoms (13)
By this function, the value of grid points beyond or within scaled vdW region of a molecular
fragment can be set to a specific value. This is very useful for screening uninteresting region when
182
3 Functions
showing isosurface, namely setting value of this region to a very large value (very positive or very
negative, according to the character of the grid data).
You need to input a scale factor for vdW radius, then input expected value. After that, you need
to specify fragment, you can either directly input atomic indices (e.g. 3,5,1-15,20), or input filename
of a plain text file, in which a molecular fragment is defined as atomic list, below is an example of
the file:
3
1 3 4
where 3 means there are three atoms in this fragment, 1, 3, 4 are corresponding atom indices.
Then all grid points that beyond the region occupied by scaled vdW spheres of the fragment
atoms will be set to specific value.
If the scale factor of vdW sphere is set to a negative value, e.g. -1.3, then all grid points that
within the scaled vdW surface of the fragment will be set to the specific value.
An example of using this function is given in Section 4.13.4.1.
3.16.10 Set value of the grid points outside overlap region of two
fragments (14)
This function is similar to function 13, but only the grid points outside superposition region of
scaled vdW regions of two fragments will be set to a specified value. You can either directly input
atomic indices of the two fragments, or prepare two files containing atom lists for the two fragments,
the format is the same as function 13.
This function is very useful if you are only interested in studying isosurfaces between two
fragments, all isosurfaces outside this region can be screened by setting grid data value to very large.
An illustrative example is given in Section 4.13.4.2.
You need to input lower and upper limit value and an expected value, if any value in present
grid data is within the range you inputted, its value will be set to the expected value.
By this function, the value of present grid data can be linearly scaled to certain range. You need
to input original data range, assumed that you inputted 0.5,1.7, and you inputted -10,10 as new data
range, then all the value of present grid data that higher than 1.7 will be set to 1.7, all the value lower
than 0.5 will be set to 0.5. After that, the value between 0.5 and 1.7 will be linearly scaled to -10,10.
It may be more clear if the algorithm is expressed as pseudo-code:
where (value>0.5) value=0.5
183
3 Functions
3.16.13 Show statistic data of grid points in specific spatial and value
ranges (17)
This function can output statistic data of the grid points in specific spatial and value ranges. If
user do not want to impose any constraint (namely the statistical data is for all data points), input 1.
If constraint(s) are needed to be imposed, user should input 2, then value range and spatial region
can be specified, only grid points simultaneously satisfy the conditions will be included into the
statistics. Three types of spatial regions are supported: spherical, cylindrical and rectangular.
The minimum and maximum value, average, root mean square, standard deviation, volume,
sum, integral and barycenter position of the data points satisfied the constraints will be outputted.
The positive, negative and total barycenter are computed respectively as
+ +
R + = ri f (ri ) / f (ri )
i i
− −
R − = r j f (r j ) / f ( r j )
j j
all all
R tot = rk f (rk ) / f (rk )
k k
where f is the data value, r denotes coordinate vector, the indices i, j and k run over positive, negative
and all grid points respectively.
This function calculates and plots various kinds of curve based on the grid data in memory, so
that distribution of the real space function represented by the grid data can be studied quantitatively
and clearly in a specific direction.
Integral curve is defined as below (e.g. in Z direction). The - and denote the position of
lower and upper limits of the grid data in the direction to be integrated, respectively; p denotes the
real space function represented by the grid data.
z ' + +
I ( z ') = p( x, y , z ) d x d y d z
zini − −
Evidently
z'
I ( z ') = I
zini
L ( z )d z
184
3 Functions
+ +
p( x, y, z )d x d y
pavg ( z ) = − −
AXY
where AXY is area of the box of the grid data in XY.
In Multiwfn, I, IL and pavg curves are evaluated based on numerical integration of the grid data
in memory. In the present function, user first needs to choose which direction to be studied, and then
input the lower and upper limit of the coordinate in this direction. Assume that user has chosen Z as
the direction of interest, and the lower and upper limits were set to -5 and 10, respectively, then the
spatial range of the curve generated by Multiwfn will be z=[-5,10], and the zini in above formula will
be -5. If you press ENTER button directly when Multiwfn asks you to input range, then the minimal
and maximal values of Z coordinate of present grid data will be taken as lower and upper limit,
respectively.
After calculation of (local) integral curve and plane-averaged curve is finished, you will see a
menu. By corresponding options in the menu, the graph of the curves can be plotted or saved, the
curve data can be exported to current folder as a plain text file. When a curve is plotted, position
and value of minima and maxima of the curve are automatically shown on console window. Via
option 11 in this function, you can calculate curve value at a given position.
It is noteworthy that to use this function, the grid is not necessarily orthogonal, however the
following conditions must be satisfied:
(1) If calculate the curve along X axis, the first translation vector of the grid must be parallel
along X, while the other two must be parallel to YZ plane.
(2) If calculate the curve along Y axis, the second translation vector of the grid must be parallel
along Y, while the other two must be parallel to XZ plane.
(3) If calculate the curve along Z axis, the third translation vector of the grid must be parallel
along Z, while the other two must be parallel to XY plane.
If the integrand is chosen as electron density difference, then the integral curve sometimes is
known as "charge displacement curve" and useful in discussion of charge transfer, see J. Am. Chem.
Soc., 130, 1048 (2008) for example. If you want to obtain such a curve, before entering this function,
you should calculate grid data of electron density difference, or directly load the grid data from
external file (e.g. cube file).
Very nice examples of applying local integral curve of electron density in discussing electron
transfer are ChemPhysChem, 22, 386 (2021) and Carbon, 171, 514 (2021) (see Supplemental
Information).
185
3 Functions
3.17.1 Theory
Famous NBO analysis developed by Weinhold and coworkers is able to recover up to 3-centers
2-electrons (3c-2e) orbitals from density matrix (e.g. by using "3cbond" keyword in NBO program).
Adaptive natural density partitioning (AdNDP), which was proposed by Boldyrev et al. (Phys. Chem.
Chem. Phys., 10, 5207 (2008)), may be viewed as a natural extension of NBO analysis aiming for
locating N>3 centers orbitals. AdNDP has been extensively used to study electronic structure
characteristic of widespread of cluster systems, by googling "AdNDP" you can find many related
literatures.
Canonical molecular orbitals (CMOs) are generally highly delocalized, often lacking of
chemical significances; While 2c or 3c NBOs are substantially localized, for highly conjugated
system resonant description is often needed (otherwise large non-Lewis composition will occur, that
means current system is inappropriate to be portrayed by single set of NBOs), this somewhat
conflicts with modern quantum chemistry concepts and obscures delocalization natural of electrons
in conjugated system. AdNDP orbitals seamlessly bridged CMOs and NBOs, AdNDP bonding
patterns avoid resonant description and are always consistent with the point symmetry of the
molecule.
The basic idea of AdNDP to generate multi-center orbitals is very similar to NBO analysis, that
is constructing proper sub-block of density matrix in natural atomic orbital (NAO) basis and then
diagonalize it, the eigenvalues and eigenvectors correspond to occupation number and orbital
wavefunction respectively. For example, we want to generate all possible 4-centers orbitals for atom
A,B,C,D, we first pick out corresponding sub-blocks and then combine them to together:
PA, A PA,B PA,C PA,D
P PB ,B PB ,C PB ,D
=
B, A
P ( A,B ,C ,D )
PC , A PC ,B PC ,C PC ,D
PD , A PD ,B PD ,C PD ,D
After diagonalization of P(A,B,C,D), if one or more eigenvalues exceeded the predefined threshold,
which is commonly set to close to 2.0 (e.g. 1.7), then corresponding orbitals will be regarded as
candidate 4c-2e bonds. Completely identical strategy can be used to generate orbitals with higher
number of centers.
Indeed, the orbital generating process of AdNDP is quite easy once atom combination is
determined, however the searching process of final Nc-2e orbitals in entire system is complicated,
manual inspections and operations are necessary. AdNDP approach has large ambiguity, it is
possible that the searching process carried out by different peoples finally results in different AdNDP
pattern, I think this is the most serious limitation of current AdNDP approach. So, AdNDP is never
a black box, before using it users must have preliminary understanding of the searching process of
the AdNDP implemented in Multiwfn.
Before the search, densities from core-type NAOs are automatically eliminated from the
density matrix, since they have no any contribution to bonding. After that, 1-center orbitals (lone
186
3 Functions
pair), 2-centers orbitals, 3-centers orbitals, 4-centers orbitals ... will be searched in turn, until
residual density (trace of density matrix) is close to zero. The search could be exhaustive, that means
when searching N-centers orbitals, Multiwfn will construct and diagonalize M!/(M-N)!/N! sub-
blocks of density matrix, where M is the total number of atoms. All of the orbitals whose occupation
numbers are larger than the threshold will be added to candidate orbital list. For large system, the
searching process may be very time-consuming or even forbidden, for example, exhaustive search
of 10-centers orbitals in the system with 30 atoms needs to construct and diagonalize 30045015 sub-
blocks of density matrix! This is very difficult to be finished in personal computer, for such case,
user-directed searching is necessary. In Multiwfn you can define a search list, then the exhaustive
search will only apply to the atoms in the search list, so that the amount of computation would be
greatly reduced. You can also directly let Multiwfn construct and diagonalize sub-block of density
matrix for specified atom combination. Note that user-directed searching has relatively high
requirements of skill and experience on users.
Once the search of N-centers orbitals is finished, we will get a list containing candidate N-
centers orbitals. We need to pick some of them out as final N-centers AdNDP orbitals. Commonly,
one or more orbitals with the highest occupation numbers will be picked out. Notice that, since some
densities are simultaneously shared by multiple candidate orbitals, if we directly pick out several
candidate orbitals with the largest occupation at one time, the electrons may be overcounted. To
avoid this problem, assume that K orbitals with the highest occupation numbers obviously overlap
with some other candidate orbitals meanwhile there is no evident overlapping between the K orbitals,
we should first pick out K orbitals as final AdNDP orbitals, then Multiwfn will automatically deplete
their density from the density matrix and then reconstruct and diagonalize the corresponding sub-
blocks of density matrix for remained candidate orbitals to update their shapes and occupation
numbers. If there are still some candidate orbitals with occupation numbers close to 2.0, you may
consider picking them out, then remained orbitals will be updated again. Such process may be
repeated several times until there is no orbitals have high occupation numbers. After that, you can
start to search N+1 centers orbitals.
The general requirements of AdNDP analysis are that: The final residual density (corresponds
to non-Lewis composition in NBO analysis) should as low as possible; the occupation numbers of
each AdNDP orbital should as close to 2.0 as possible; the number of centers of AdNDP orbitals
should as less as possible; the resulting orbitals must be consistent with molecular symmetry.
However, there is no unique rule on how to search orbitals and pick out candidate orbitals as
AdNDP orbitals. For example, one can first search 5-centers orbitals before completing search of 3-
centers orbitals, and one can also directly search 6-centers orbitals after the search of 2-centers
orbitals has finished. The sequence of picking out candidate orbitals is also not necessarily always
in accordance to magnitude of occupation numbers. The final AdNDP pattern obtained by different
operations may be different, how to do AdNDP analysis is largely dependent on users themselves.
Actually some molecules may have two or even more equally reasonable AdNDP patterns,
sometimes it is difficult to discriminate which pattern is the best. I have confidence to say that some
AdNDP patterns presented in published papers are not the optimal ones. The experience of using
AdNDP approach can be gradually accumulated in practices and during reading related literatures.
AdNDP is very insensitive to basis set quality as NBO analysis, 6-31G* is enough to produce
accurate results for main group elements in the first few rows. Over enhancing basis set quality will
not improve AdNDP analysis results but only lead to increase of the computational burden in
187
3 Functions
diagonalization step, since the size of sub-block of density matrix is directly determined by size of
basis set.
Multiwfn offers capacity of evaluating AdNDP orbital energies. You need to provide a file
containing Fock (or Kohn-Sham) matrix in original basis functions. The Fock matrix can be obtained
from output of Gaussian or other programs. The energy of AdNDP orbital is corresponding diagonal
term of Fock matrix in AdNDP orbital representation. Specifically, Multiwfn performs below
representation transform:
where FAO is the Fock matrix in original basis function that loaded from user-provided file, C(r,i)
corresponds to coefficient of basis function r in AdNDP orbital i. c(s,i) corresponds to coefficient of
NAO s in AdNDP orbital i. XAONAO is transformation matrix between original basis function and
NAO, i.e. X(t,s) is coefficient of basis function t in NAO s. Energy of AdNDP orbital j is simply
FAdNDP(j,j), which is expectation value of Fock operator of AdNDP orbital wavefunction.
The output file of NBO program containing density matrix in NAO basis (DMNAO) can be
used as input file for AdNDP analysis. If you also need to visualize AdNDP orbitals or export orbitals
as cube files, .fch file must be provided, meanwhile transformation matrix between NAO and
original basis functions (AONAO) must be presented in the NBO output file.
Assume that you are a Gaussian user, in order to obtain a Gaussian output file containing all
information needed by Multiwfn to perform the AdNDP analysis and visualization, you should write
a Gaussian input file of single point task with pop=nboread keyword in route section, and write
$NBO AONAO DMNAO $END after molecular geometry section with a blank line as separator.
Then run the input file by Gaussian and then convert .chk file to .fch format by formchk utility.
The Gaussian output file (not .fch file) should be used as the initial input file when Multiwfn
boots up. Once you entered AdNDP module, Multiwfn will load NAO information and DMNAO
matrix from this file. If then you choose corresponding options to visualize or export orbitals,
AONAO matrix will be loaded and the program will prompt you to input the path of the .fch file
(if .fch is in the same folder and has identical name as the Gaussian output file, then the .fch will be
automatically loaded).
Multiwfn is also compatible with the output files of stand-alone NBO program (GENNBO), of
course you have to add DMNAO keywords in $NBO section in .47 file. In this case it is impossible
to visualize AdNDP orbitals.
Formally, AdNDP approach is also applicable to open-shell systems; of course, the occupation
threshold should be divided by 2. When you enter AdNDP module, Multiwfn will ask you which
density matrix should be used, the so-called total density matrix is the sum of alpha and beta density
matrix.
Notice that if after you entered AdNDP module Multiwfn suddenly crashes, and the basis set
you used contains diffuse functions, you can try to use another basis set without diffuse functions.
This problem is caused by the bug in NBO 3.1 module, namely in rarely cases the DMNAO output
may be slightly problematic if diffuse functions present. Since AdNDP analysis is quite insensitive
to diffuse functions, they can be safely removed without any loss of accuracy.
If you want to obtain AdNDP orbital energies, Fock matrix corresponding to present system at
188
3 Functions
the same calculation level must be provided in lower-triangular sequence in a plain text file, namely:
F(1,1) F(2,1) F(2,2) F(3,1) F(3,2) F(3,3) ... F(nbasis,nbasis), where nbasis is the total number of
basis functions. The format is free. If you are a Gaussian user, you can add archive file=XXX
keyword between $NBO ... $END, then in the resulting XXX.47 file, search $FOCK and copy all
data between $FOCK ... $END to a plain text file, then this file can be directly used to provide Fock
matrix to Multiwfn (In fact, Multiwfn is also able to automatically locate and read the $FOCK field
when the file name has .47 suffix).
3.17.3 Options
All of the options involved in AdNDP module are introduced below, some options are invisible
in certain cases. If current candidate orbital list is not empty, then all candidate orbitals will always
be printed on screen in front of the menu (except when you select option 5 or 13), the candidate
orbital indices are determined according to occupation numbers. The number of residual valence
electrons of all atoms in the search list is always printed at the upper of the menu, this value
decreases with gradually picking out candidate orbitals as final AdNDP orbitals. If this value is very
low (e.g. lower than 1.4), it is suggested that new Nc-2e AdNDP orbitals will be impossible to be
found between the atoms in the search list.
-10 Return to main menu: Once you choose this option, you will return to main menu,
meantime all results of AdNDP analysis will be lost. Hence the status of AdNDP module can be
reset by choosing this option and then re-entering the module.
-2 Various other settings and functions: This options have several unimportant subfunctions
and settings. The option "Set maximum number of candidate orbitals to be printed" is worth to
mention, it is used to set how many candidate orbitals will be printed on screen, proper choice of
the threshold can avoid excessive output when very large number of candidates are found.
-1 Define exhaustive search list: In this option, one can define a search list, exhaustive search
(option 2) will only apply to the atoms in the search list. All commands in this defining interface are
self-explanatory. Notice that default search list includes all atoms of the molecule.
0 Pick out some candidate orbitals and update occupations of others: This is used to pick
out orbitals from candidate list to actual AdNDP orbital list. As shown by prompt on screen, user
can input indices of the orbitals to picked out. For convenience, if user only inputs one number, e.g.
5, then 5 candidate orbitals with largest occupation numbers will be picked out. After that, the
eigenvectors (orbital shape) and eigenvalues (occupation numbers) of remained candidate orbitals
will be updated as mentioned earlier.
1 Perform orbitals search for a specific atom combination: Users need to input indices of
some atoms, e.g. 3,4,5,8,9, then sub-block of density matrix for atom 3,4,5,8,9 will be constructed
and diagonalized, all resultant eigenvectors will be added to candidate orbitals list, meantime all
previous candidate orbitals will be removed. There is no limit on the number of inputted atoms.
2 Perform exhaustive search of N-centers orbitals within the search list: N atoms will be
selected out from the search list in an exhaustive manner, assume that the search list contains M
atoms, then totally M!/(M-N)!/N! atom combinations will be formed. For each combination,
corresponding sub-block of density matrix will be constructed and diagonalized, all eigenvectors
with eigenvalues larger than user-defined threshold will be added to candidate orbital list. Old
candidate orbital list will be cleaned.
3 Set the number of centers in the next exhaustive search: Namely set the value N in option
189
3 Functions
2. Once exhaustive search of N-centers orbitals is finished, N will be automatically increased by one.
4 Set occupation threshold in the next exhaustive search: Namely set the threshold used in
option 2.
5 Show information of AdNDP orbitals: Print occupation numbers and involved atoms of all
saved AdNDP orbitals.
6 Delete some AdNDP orbitals: Input two numbers, e.g. i, j, then saved AdNDP orbitals from
i to j will be removed.
7 Visualize AdNDP orbitals and molecular geometry: The path of corresponding .fch file
will be prompted to be inputted, after loading some necessary information from the file, a GUI
window will pop up and molecular geometry will be shown. Isosurfaces of AdNDP orbitals can be
plotted by clicking corresponding numbers in the right-bottom list
8 Visualize candidate orbitals and molecular geometry: Analogous to option 7, but used to
visualize isosurfaces of candidate orbitals. It is useful to visualize the isosurfaces before picking out
some candidate orbitals as final AdNDP orbitals.
9 Export some AdNDP orbitals to Gaussian-type cube files: User need to choose grid setting
and then input index range, e.g. 2-4, then wavefunction value of AdNDP orbitals 2, 3, 4 will be
calculated and exported to AdNDPorb0002.cub, AdNDPorb0003.cub and AdNDPorb0004.cub in
current folder, respectively. They are Gaussian-type cube files and can be visualized by many
softwares such as VMD.
10 Export some candidate orbitals to Gaussian-type cube files: Analogous to option 9, but
used to export cube files for candidate orbitals.
11/12 Save/Load current density matrix and AdNDP orbital list: Option 11 is used to save
current density matrix and AdNDP orbital list in memory temporarily, when density matrix and
AdNDP orbital list is changed, you can choose option 12 to recover previous state.
13 Show residual density distributions on the atoms in the search list: After choosing this
option, population number of each atom in the search list will be calculated according to present
density matrix and then printed out. If some neighboring atoms have large population number, it is
suggested that multi-center orbitals with high occupation number may appear on these atoms; while
the atoms with low population number often can be ignored in the following searching process.
Thus this option is very helpful for setting up user-directed searching.
14 Export AdNDP orbitals to .mwfn file: Via this option, all picked AdNDP orbitals will be
exported as AdNDP.mwfn in current folder (see Section 2.5 for introduction of .mwfn format). By
using this file as input file, you can perform various kinds of analyses for AdNDP orbitals (e.g.
orbital composition analysis by main function 8, plotting plane map via main function 4). Note that
if there are N basis functions and M AdNDP orbitals have been picked out, then the first M orbitals
in the AdNDP.mwfn will correspond to the AdNDP orbitals, while the other N-M orbitals in this file
are meaningless and can be simply ignored.
15 Evaluate and output composition of AdNDP orbitals: This option is used to calculate
orbital composition of picked AdNDP orbitals by natural atomic orbital (NAO) method, which has
been introduced in Section 3.10.4.
16 Evaluate and output energy of AdNDP orbitals: This function is used to evaluate energy
of AdNDP orbitals that have already been picked out. Multiwfn will prompt you to input the path of
the file containing Fock matrix in original basis functions, the elements of the matrix should be
recorded in lower-triangular sequence, the NBO .47 file containing $FOCK field can also be directly
190
3 Functions
used as input file. Then after a simple transformation, orbital energies are immediately outputted.
AdNDP analysis is relatively complicated and not a black box, please follow the examples in
Section 4.14 before using this module to analyze your systems.
Information needed: NBO output file (with AONAO DMNAO keywords), .fch file (only
needed when visualizing and exporting cube file for AdNDP orbitals, or exporting AdNDP orbitals
as .mwfn file), plain text file (containing Fock matrix. Only needed if you want to gain orbital
energies)
Before introducing each individual function, here I first introduce some basic concepts of fuzzy
atomic space.
Atomic space is the local space attributed to specific atom in the whole three-dimension
molecular space. Below we will express atomic space as weighing function w. The methods used to
partition the whole space into atomic spaces can be classified to two categories:
1 Discrete partition methods: The two representative methods are Bader's partition (also
known as AIM partition) and Voronoi partition. They partition molecular space discretely, so any
point can be attributed to only one atom, in other words,
wA (r) = 1 if r A
wA (r) = 0 if r A
where ΩA is atomic space of atom A.
2 Fuzzy partition methods: The representative methods include Hirshfeld, Becke, Hirshfeld-
I and ISA. They partition molecular space contiguously, atomic spaces overlap with each other, any
point may be simultaneously attributed to many atoms to different extent, and the weights are
normalized to unity. In other words, below two conditions hold for all atoms and any point
0 w A (r ) 1 A
w
B
B (r ) = 1
The most significant advantage of fuzzy partition may be that the integration of real space
function in fuzzy atomic space is much easier than in discrete atomic space. By using Becke's
numerical DFT integration scheme (J. Chem. Phys., 88, 2547 (1988)), high accuracy of integration
in fuzzy atomic space can be achieved for most real space functions at the expense of relatively low
computation effort. In the fuzzy atomic space analysis module of Multiwfn, all integrations are
realized by this scheme. The more integration points are used, the higher integration accuracy can
be reached, one can adjust the number of points by "radpot" and "sphpot" parameter in settings.ini.
In fuzzy atomic space analysis module of Multiwfn, one can obtain many properties that based
191
3 Functions
on fuzzy atomic spaces. Currently, the most widely used definitions of fuzzy atomic spaces, namely
Hirshfeld, Hirshfeld-I and Becke are supported, they are introduced below. One can choose which
fuzzy atomic spaces will be used by option -1.
Hirshfeld atomic space: In Theor. Chim. Acta (Berl.), 44, 129 (1977), Hirshfeld defined the
atomic space as
Afree (r − R A )
w AHirsh (r ) =
Bfree (r − R A )
B
free
where R is coordinate of nucleus, ρ denotes spherically averaged atomic electron density in free-
state.
In option -1, you will found two options "Hirshfeld" and "Hirshfeld*". The former uses
atomic .wfn files to calculate the weights, they must be provided yourself or let Multiwfn
automatically invoke Gaussian to generate them, see Section 3.7.3 for detail. The latter evaluates
the weights directly based on built-in radial atomic densities and thus is more convenient, detail can
be found in Appendix 3. I strongly suggest using "Hirshfeld*" instead of "Hirshfeld".
Hirshfeld-I (HI) atomic space: This is a well-known extension of Hirshfeld method, it was
proposed in J. Chem. Phys., 126, 144111 (2007). Commonly the atomic space defined by HI is more
physically meaningful than that of Hirshfeld, since it can respond actual molecular environment.
Unfortunately, HI is much more expensive than Hirshfeld due to its iterative nature. Details of
Hirshfeld-I and its implementation in Multiwfn have been introduced in Section 3.9.13 and thus will
not be repeated here. When you choose HI in option -1, Multiwfn will first perform regular HI
iterations (If you are confused by the operations, please consult the example of computing HI
charges in Section 4.7.4). After HI atomic spaces have converged, you can do subsequent analyses.
p( d ) = (3 / 2)d − (1 / 2)d 3
which can be iterated many times
f1 ( d ) = p( d )
f 2 (d ) = p[ p( d )]
f 3 ( d ) = p{ p[ p( d )]}
...
Then define a function s
sk (t ) = (1 / 2)[1 − f k (t )]
192
3 Functions
1.0
0.9 k=1
k=2
0.8 k=3
0.7 k=4
k=5
0.6
sk(t)
0.5
0.4
0.3
0.2
0.1
0.0
-1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
t
From above graph it can be seen that sk gradually reduces from 1 to 0 with t varying from -1 to 1.
The larger the k is, the sharper the curve becomes. The weighting function of Becke atomic space is
based on simple transformation of sk, for details please consult original paper J. Chem. Phys., 88,
2547 (1988).
PA (r )
w ABecke (r ) =
PB (r )
B
PA (r ) = sk ( AB (r )) AB (r ) = AB (r ) + a AB (1 − AB (r ) 2 )
B A
u AB AB − 1 R Acov
a AB = u AB = AB =
u AB − 1
2
AB + 1 RBcov
a AB = −0.5 if a AB −0.5
a AB = 0.5 if a AB 0.5
r −r
AB (r ) = A B R AB = R A − R B rA = r − R A rB = r − R B
R AB
where R stands for coordinates of nucleus. Rcov denotes covalent radius.
The number of iterations, namely k value, can be set by option -3. The default value (3) is
appropriate for most cases. The definition of the covalent radius used to generate Becke atomic
space can be chosen by option -2. Through corresponding suboptions, one can directly select a set
of built-in radii (CSD radii, modified CSD radii, Pyykkö radii, Suresh radii, Hugo radii), load radii
information from external plain text file (the format required is described in the program prompts),
or modify current radii by manual input.
The origin paper of CSD radii is Dalton Trans., 2008, 2832, these radii were deduced from
statistic of Cambridge Structural Database (CSD) for the elements with atomic numbers up to 96.
Pyykkö radii was defined in Chem. Eur. J., 15, 186 (2008), which covers the entire periodic table,
Groups 1–18, Z=1–118. Suresh radii was proposed in J. Phys. Chem. A, 105, 5940 (2001), which is
based on theoretically calculated geometries of H3C-EHn, the defined radii cover most of main group
and transition elements in periodic table. Hugo radii was proposed in Chem. Phys. Lett., 480, 127
(2009), which has clear physical meaning and is based on atomic ionization energy. Notice that
193
3 Functions
Hugo radii for hydrogen is rather large (even larger than Kr by 0.01 Bohr).
I found it is inappropriate to directly use any covalent radii definition shown above to define
Becke's atomic space. The covalent radii of metal elements in IA and IIA groups are always large,
e.g. CSD radius of lithium is 1.28 Å. While covalent radii of elements in such as VIIA group are
always small, e.g. CSD radius of fluorine is only 0.58 Å. For main groups, the elements with small
(large) covalent radius generally have large (small) electronegativity. So, in molecule environment,
the atoms with small (large) covalent radius prefer to withdraw (donate) electrons to expand (shrink)
their effective size, this behavior makes actual radii of main group elements in each row equalized.
In order to faithfully reflect this behavior, I defined the so-called "modified CSD radii", namely the
CSD radii of all main group elements (except for the first row) are replaced by CSD radii of the IVA
group element in corresponding row, while transition elements still use their original CSD radii. The
modified CSD radii are the default radii definition for Becke's atomic space.
The Becke atomic space of carbon in acetamide constructed by default parameters is illustrated
below
I A = wA (r) f (r)d r
A
For example, if f is chosen as electron density, then IA will be the electron population number
of atom A.
f may be also chosen as the real space functions involving coordinates of two electrons, such
as exchange-correlation density and source function. For this case, the coordinate of reference point
can be set by option -10 (this is equivalent to set "refxyz" in settings.ini). If you have carried out
topology analysis, you can also use option -11 to set a critical point as reference point, this is
especially convenient for studying source function (for which bond critical point is usually set as
reference point).
194
3 Functions
The "% of sum" and "% of sum abs" in output are defined as ( I A / I B ) 100% and
B
( I A / I B ) 100% , respectively.
B
By default, all atomic spaces will be integrated. If you only need integral value of certain atoms,
you can use option -5 to define the atom list.
Special note: This option uses single-center integration grid to integrate each atom, commonly this is no problem.
However, if you choose to use Hirshfeld or Hirshfeld-I partition, and the real space function to be integrated varies
very fast around nuclei (e.g. Laplacian of electron density), then this option is unable to give accurate result. You
should use option 101 (invisible in the interface) instead, which employs molecular integration grid to integrate every
Hirshfeld atoms, the result is always very accurate.
This function is used to integrate specified real space function f in overlap spaces between
atomic pairs
For example, if f is chosen as electron density, then IAB will be the number of electrons shared
by atom A and B. f may be also chosen as the real space functions involving coordinates of two
electrons.
Integrals of positive and negative parts of f are outputted separately. Meanwhile, sum of
diagonal elements ∑𝐴 𝐼𝐴𝐴 , sum of non-diagonal elements ∑𝐴 ∑𝐵≠𝐴 𝐼𝐴𝐵 and sum of all elements
∑𝐴 ∑𝐵 𝐼𝐴𝐵 for positive and negative parts are also outputted together.
Currently only the fuzzy atomic space defined by Becke can be employed in this function.
3.18.3 Calculate atomic and molecular multipole moments and <r2> (2)
This function is used to evaluate atomic and molecular monopole, dipole, quadrupole moments
and octopole moments as well as <r2>. All units in the output are in a.u.
In below formulae, superscript A means an atom named A. x, y and z are the components of
electron coordinate r relative to nuclear coordinate R.
and r2 = x2 + y2 + z2.
Atomic monopole moment due to electrons is just negative of electron population number
p A = − w A (r ) ( r ) d r
Atomic charges are outputted together, namely qA = pA + ZA, where Z denotes nuclear charge.
Atomic dipole moment is useful to measure polarization of electron distribution around the
atom, which is defined as
195
3 Functions
xA x
μ A = yA = − y wA (r ) (r ) d r
zA z
Its magnitude, or say its norm, is
μ A = ( xA )2 + ( yA )2 + ( zA )2
Multiwfn also outputs the contribution of present atom to total molecular dipole moment,
which is evaluated as qAR + A.
Traceless Cartesian form of atomic quadrupole moment tensor is defined as (see Section 1.8.7
of book The Quantum Theory of Atoms in Molecules-From Solid State to DNA and Drug Design).
xxA xyA xzA 3x 2 − r 2 3xy 3xz
A 1
Θ A = Ayx Ayy yz = − 3 yx 3y − r
2 2
3 yz wA (r ) (r ) d r
2
zxA zyA zzA 3zx 3zy 3z 2 − r 2
whose magnitude can be calculated as
Inspired by electronic spatial extent (see Section 3.300.5), I defined atomic electronic spatial
extent 〈𝑟𝐴2 〉, it is expressed as
〈𝑥𝐴2 〉 = ∫ 𝑥 2 𝑤𝐴 (𝐫)𝜌(𝐫)d𝐫
The atomic quadrupole and octopole moments in spherical harmonic form are also outputted.
196
3 Functions
All of the five components of quadrupole moment in spherical harmonic form correspond to
R2,0 = (3z 2 − r 2 ) / 2
R2,−1 = 3 yz R2,1 = 3xz
R2,−2 = 3xy R2,2 = ( 3 / 2)( x 2 − y 2 )
All of the 7 components of octopole moment in spherical harmonic form correspond to
R3,0 = (1 / 2)(5 z 2 − 3r 2 ) z
R3,−1 = 3 / 8(5 z 2 − r 2 ) y R3,1 = 3 / 8(5 z 2 − r 2 ) x
R3,−2 = 15 xyz R3,2 = ( 15 / 2)( x 2 − y 2 ) z
R3,−3 = 5 / 8(3x 2 − y 2 ) y R3,3 = 5 / 8( x 2 − 3 y 2 ) x
The magnitude of multipole moments in spherical harmonic form is calculated as
QlA = (Q
m
A 2
)
l ,m
At the end of the calculation, the total number of electrons, molecular dipole moment and its
magnitude are outputted. Molecular dipole moment is calculated as the sum of all contributions
from atomic dipole moments and atomic charges (i.e. the sum of all "Contribution to molecular
dipole moment" terms in the output information)
μ mol = ( qA R A + μ A )
A
In addition, Multiwfn outputs molecular quadrupole and octopole moments in Cartesian form and
spherical harmonic form, they can also be viewed as sum of contributions of atoms. For example,
molecular quadrupole moment of Θxy is expressed as
3
xy =
2 A
RxA RyA Z A − xywA (r ) (r )d r
A
where x, y, z in this context are Cartesian components of r with respect to (0,0,0) position. <r2> of
molecule can be written as
〈𝑟 2 〉 = ∑ ∫ 𝑟 2 𝑤𝐴 (𝐫)𝜌(𝐫)d𝐫
𝐴
where r is radial distance with respect to (0,0,0).
By default, atomic multipole moments and <r2> for all atoms are evaluated, and finally, these
quantities of the whole system are printed. If you only need them for specific atoms, you can use
option -5 to define an atom list, in this case only the quantities of selected atoms will be calculated
and outputted. In addition, via this feature you can calculate the quantities of a molecule in a
molecular complex, or calculate them of a fragment in a molecule, because in this case the
"Molecular dipole and multipole moments" printed at the end of output are only contributed by the
197
3 Functions
atoms in the defined list. See example in Section 4.15.3 for illustration of use of this feature.
After entering the present function, you will be asked to choose destination of outputting. If
you choose 2 to output result to multipole.txt, a file named atom_moment.txt will also be produced
in the current folder. Based on this file, atomic electric dipole and quadrupole moments can be
visualized in VMD program via a special script, see Section 4.15.5 for detail.
PS 1: If your purpose is only calculating electric dipole/multipole moments and <r2> for the whole system, it is
best to use the function described in Section 3.300.5, it is significantly faster and more accurate since it calculates
them analytically.
PS 2: If “ispecial” in settings.ini is set to 1, then the electron density involved in this function will be replaced
with user-defined function. Via this feature, it is possible to realize some special purpose, such as calculating atomic
dipole moments corresponding to variation of electron density, see #10 and relevant discussions in
http://sobereva.com/wfnbbs/viewtopic.php?id=650.
This function is used to calculate atomic overlap matrix (AOM) for orbitals in atomic spaces,
the AOM will be outputted to AOM.txt in current folder. The element of AOM is defined as
where i and j are orbital indices, integration is performed within fuzzy space of atom A. For
unrestricted wavefunctions, AOMs between orbitals and between β orbitals are outputted
separately for each atom.
Notice that the highest virtual orbitals will not be taken into account during calculation. For
example, present system has 10 orbitals in total, in which 7, 8, 9, 10 are not occupied, and user has
set the occupation number of orbital 3 to zero via option 26 in main function 6, then the dimension
of each AOM outputted by Multiwfn will be (6,6), corresponding to the overlap integral between
the first 6 orbitals in each atomic space. If you hope to take all orbitals into account, set “ispecial”
in settings.ini to 3.
Since orbitals are orthonormal in the whole space, in principle, summing up AOMs for all
atoms (corresponding to integrating in the whole space) should yield an identity matrix
SUM = S( A) = I
A
Of course, this condition is not strictly held, because the integration is performed numerically. The
deviation of SUM to identity matrix is a useful metric of integration accuracy
SUM i, j − Ii , j
Error = i j
N atom
Multiwfn automatically outputs the "Error" value. If it is not small enough, e.g. >0.001, then you
may want to improve the integration accuracy via following ways
(1) Enlarge "radpot" and "sphpot" in settings.ini
(2) Set "radcut" in settings.ini to 0
(3) Choose option -6 to change the default atomic integration grid to the much more expensive
molecular integration grid
(4) If diffuse functions were heavily employed, remove them
198
3 Functions
3.18.5 Calculate localization index (LI) and delocalization index (DI) (4)
For open-shell systems, the LI () and DI () are calculated for each spin of electrons
respectively. Below only the expression of LI and DI for electrons is given. For β electrons, just
replacing with β, similarly hereinafter. The electrons in atomic space A that can delocalize to
atomic space B is computed as
( A → B) = − XC,tot (r1 , r2 ) d r1 d r2
A B
where ГXC is exchange-correlation density; if you are not familiar with it, please consult the
discussion in part 17 of Section 2.6. The electrons in atomic space B that can delocalize to atomic
space A is
( B → A) = − XC,tot (r1 , r2 ) d r1 d r2
B A
Clearly, above two terms are identical in value, therefore we define DI between A and B as below,
it measures the total number of electrons shared by atom A and B
( A, B) = ( A → B) + ( B → A) = −2 XC,tot (r1, r2 ) d r1 d r2
A B
The LI measures the number of electrons localized in an atom. Note that this quantity is not
additive.
( A) = − XC,tot (r1 , r2 ) d r1 d r2 = ( A, A) / 2
A A
The relationship between LI, DI and the population number of electrons in atomic space is
given below, the physical meaning is that the sum of electrons of atom A that localized in atom A
and that delocalized to other regions is the total number of electrons of space A.
( A) + (1 / 2) ( A, B) ( A) + ( A → B) =
B A B A
= −
,tot
XC (r1 , r2 ) d r1 d r2 = (r ) d r = N A
A A
Using the approximate expression of ГXC, the DI and LI can be explicitly written as
( A, B ) = 2 i j Sij ( A) Sij ( B )
i j
( A, B ) = ( A, B ) + ( A, B )
( A) = ( A) + ( A)
Since in closed-shell case ( A, B ) = ( A, B ) , one can evaluate total DI as
m n
( A, B ) = 2 ( A, B ) = 2 2 Smn ( A) Smn ( B ) = 2 mn Smn ( A) Smn ( B )
m n 2 2 m n
where m and n denote closed-shell natural orbitals. Similarly, the total LI for closed-shell cases is
199
3 Functions
Conventionally, LI and DI are calculated in AIM atomic space (also called as AIM basin).
While in fuzzy atomic space analysis module of Multiwfn, they are calculated in fuzzy atomic space,
the physical nature is the same. According to the discussion presented in J. Phys. Chem. A, 109,
9904 (2005) (compare Eq. 13 and Eq. 18), the DI calculated in fuzzy atomic space is just the so-
called fuzzy bond order, which was defined by Mayer in Chem. Phys. Lett., 383, 368 (2004).
For closed-shell system, atomic valence can be calculated as the sum of its fuzzy bond orders
V ( A) = ( A, B)
B A
In Multiwfn, before calculating LI and DI, AOM is calculated first automatically, this is the
most time-consuming step. For open-shell systems, the LI and DI for and β electrons, as well as
for all electrons are outputted respectively. Notice that the diagonal terms of DI matrix are calculated
as the sum of corresponding off-diagonal row (or column) elements. For closed-shell system, as
stated above, they correspond to atomic valence.
For strictly planar molecules, because overlap integral of σ orbital and π orbital is exactly zero
in atomic space, the contributions from σ and π electrons to DI can be exactly decomposed as DI-σ
and DI-π
200
3 Functions
( A, B ) = ( A, B ) + ( A, B )
( A, B ) = 2 i j Sij ( A) Sij ( B )
i j
( A, B ) = 2 i j Sij ( A) Sij ( B )
i j
By the way, in some literatures, especially the ones written by Bernard Silvi, the variance of
electronic fluctuation in atomic space σ2(A) and the covariance of fluctuation of electron pair
between two atomic spaces cov(A,B) are discussed. They are not directly outputted by Multiwfn,
because there is a very simple relationship correlates σ2(A), cov(A,B) and DI(A,B), thus you can
calculate them quite easily, see Chem. Rev., 105, 3911 (2005) for derivation
cov( A, B) = − ( A, B) / 2
2 ( A) = N A − ( A) = − cov( A, B) = ( A, B) / 2
B A B A
where NA is the electron population number in A. As mentioned above, the diagonal terms of the DI
matrix outputted by Multiwfn are calculated as the sum of off-diagonal elements in the
corresponding row (or column), hence you can simply obtain σ2 by dividing corresponding diagonal
term of DI matrix by two.
A quantity closely related to σ2 is the relative fluctuation parameter introduced by Bader, which
indicates the electronic fluctuations for a given atomic space relative to its electron population, you
can calculate it manually if you want
F ( A) = 2 ( A) / N A
Alternatively, you can calculate below value to measure the proportion of the electrons localized in
the atomic space
l ( A) = ( A) / N A
201
3 Functions
it can only be used to study aromaticity of six-membered rings, and it was shown that PDI is
inappropriate for the cases when the ring plane has an out-plane distortion.
In Multiwfn, before calculating PDI, AOM and DI are first calculated automatically. Then you
will be prompted to input the indices of the atoms in the ring that you are interested in, the input
order must be consistent with atom connectivity.
PDI currently is only available for closed-shell systems, although theoretically it may be
possible to be extended to open-shell cases.
Note that for completely planar systems, since DI can be decomposed to and π parts, PDI
can also be separated as PDI- and PDI-π to individually study aromaticity and π aromaticity. In
order to calculate PDI- (PDI-π), before enter present module, you should first manually set
occupation number of all MOs except for π () MOs to zero (or you can utilize option 22 in main
function 100 to do this step, which will be much more convenient).
Aromatic fluctuation index (FLU) was proposed in J. Chem. Phys., 122, 014109 (2005), also
see Chem. Rev., 105, 3911 (2005) for more discussion. Like PDI, FLU is an aromaticity index based
on DI, but can be used to study rings with any number of atoms. The FLU index was constructed by
following the HOMA philosophy (see Section 3.28.6), i.e. measuring divergences (DI differences
for each single pair bonded) from aromatic molecules chosen as a reference. FLU is defined as
below
2
1 ring V ( B ) ( A, B ) − ref ( A, B )
FLU =
n A− B V ( A) ref ( A, B )
where the summation runs over all adjacent pairs of atoms around the ring, n is equal to the number
of atoms in the ring, ref is the reference DI value, which is precalculated parameter. is used to
ensure the ratio of atomic valences is greater than one
1 V ( B ) V ( A)
=
− 1 V ( B ) V ( A)
The first factor in the formula of FLU penalizes those with highly localized electrons, while
the second factor measures the relative divergence with respect to a typical aromatic system.
Obviously, lower FLU corresponds to stronger aromaticity.
The dependence on reference value is one of main weakness of FLU. The default ref in
Multiwfn for C-C, C-N, B-N are 1.468, 1.566 and 1.260 respectively, they are obtained from
calculation of benzene, pyridine and borazine respectively under HF/6-31G* (geometry is optimized
at the same level. Becke's atomic space with modified CSD radii and with sharpness parameter k=3
is used to derive ref). Users can modify or add ref through option -4.
The original paper of FLU also defined FLU-π, which is based on DI-π and π-atomic valence
202
3 Functions
2
1 V ( B ) ( A, B ) − avg
ring
FLU =
n A− B V ( A) avg
where π is the average value of the DI-π for the bonded atomic pairs in the ring, and the other
symbols denote the aforementioned quantities calculated using π-orbitals only. The advantage of
FLU-π over FLU is that FLU-π does not rely on predefined reference DI value, while the
disadvantage is that FLU-π can only be exactly calculated for planar molecules.
Akin to FLU, the lower the FLU-π, the stronger aromatic the ring. If FLU-π is equal to zero,
that means DI-π is completely equalized in the ring. The reasonableness to measure aromaticity by
FLU-π is that aromaticity for most aromatic molecules are almost purely contributed by π electrons,
rather than σ electrons.
In fuzzy atomic space analysis module of Multiwfn, PDI, FLU and FLU-π are calculated in
fuzzy atomic spaces. In J. Phys. Chem. A, 110, 5108 (2006), the authors showed that the correlation
between the PDI, FLU and FLU-π calculated in fuzzy atomic space and the ones calculated in AIM
atomic space is excellent.
In Multiwfn, before calculating FLU and FLU-π, AOM will be calculated automatically. If you
are calculating FLU-π, you will be prompted to input the indices of π orbitals, you can find out their
indices by checking isosurface of all orbitals by main function 0. Then DI or DI-π matrix will be
generated. Next, you should input the indices of the atoms in the ring, the input order must be
consistent with atom connectivity. Besides FLU or FLU-π value, the contributions from each bonded
atomic pair are outputted too.
FLU and FLU-π are only available for closed-shell system in Multiwfn. It is not well known
whether FLU and FLU-π are also applicable for open-shell systems.
Linear response kernel (LRK) is an important concept defined in DFT framework, which can
be written as
2E (r1 )
(r1 , r2 ) = =
(r1 ) (r2 ) N (r2 ) N
This quantity reflects the impact of the perturbation of external potential at r2 on the electron density
at r1, which may also be regarded as the magnitude coupling between electron at r1 and r2.
In Multiwfn, LRK is evaluated by an approximation form based on second-order perturbation
theory (see Eq.3 of Phys. Chem. Chem. Phys., 14, 3960 (2012))
203
3 Functions
Sij ( A) S ji ( B )
A, B = (r1 , r2 ) d r1 d r2 = 4
A B
iocc jvir i − j
where A and S(A) denote fuzzy atomic space and atomic overlap matrix for atom A, similar for atom
B. In Phys. Chem. Chem. Phys., 15, 2882 (2013), it was shown that CLRK is useful for investigation
of aromaticity and anti-aromaticity.
Present function is used to calculate CLRK between all atomic pairs in current system, and the
result will be outputted as a matrix. Due to evaluation of LRK requires virtual MO information, in
current version .mwfn/.fch/.molden/.gms file must be used as input file.
Note that CLRK can be decomposed to orbital contribution, e.g. for MO i
Sij ( A) S ji ( B)
A( i,)B = 4
jvir i − j
For instances, assume that you want to evaluate the contribution from MO 3,4,7, then before
calculating CLRK, you should enter main function 6 and use option 26 to set occupation number of
all MOs except for 3,4,7 to zero. (Note that the virtual MOs used to calculate LRK will automatically
still be the original virtual MOs, rather than the ones after modification of MO occupation numbers.)
The definition of para linear response index (PLR) has an analogy to PDI, the only difference
is that DI is replaced by CLRK
1,4 + 2,5 + 3,6
PLR( A, B) =
3
In Phys. Chem. Chem. Phys., 14, 3960 (2012), the authors argued that PLR is as useful as PDI
in quantitatively measuring aromaticity, and it is found that the linear relationship between PLR and
PDI is as high as R2=0.96.
Present function is used to calculate PLR. Multiwfn will first calculate CLRK, and then you
should input the indices of the atoms constituting the ring in question, e.g. 3,5,6,7,9,2. The input
order must be consistent with atom connectivity. Then PLR will be immediately outputted on screen.
PLR is only applicable to HF/DFT closed-shell systems, and currently .mwfn/.fch/.molden/.gms
must be used as input file.
Note that for completely planar systems, PLR can be exactly separated as PLR- and PLR-π
to individually study aromaticity and π aromaticity. In order to calculate PLR- (PLR-π), before
enter present module, you should first manually set occupation number of all MOs except for π ()
MOs to zero (or you can utilize option 22 in main function 100 to do this step, which will be much
more convenient).
204
3 Functions
where i, j, k... only cycle occupied orbitals. The normalized form of multi-center DI is defined as
1/n, and may be compared between rings with different number of members.
Currently this function is only available for single-determinant closed-shell wavefunctions, and
supports up to 10 centers. Note that for relatively large size of systems, calculating multi-center DI
for more than 6 centers may be quite time-consuming.
In ACS Omega, 3, 18370 (2018) it is shown that arithmetic mean of some information-theoretic
quantities of the atoms constituting a ring has good linear relationship with other widely accepted
aromaticity indices, such as HOMA and aromatic stabilization energy (ASE). It is thus clear that the
arithmetic mean may be used as index for measuring aromaticity, although this point needs to be
further explored.
The information-theoretic aromaticity index, namely the above-mentioned arithmetic mean can
be calculated via subfunction 12 of fuzzy analysis module. After entering this function, you should
choose the way of defining atomic information-theoretic quantity, three choices are currently
available:
Atomic Shannon entropy: sS ( A) = − (r ) ln (r ) wA (r ) d r
Atomic Fisher information: iF ( A) = | (r ) | / (r ) wA (r ) d r
2
Atomic GBP entropy: sGBP ( A) = (3 / 2) (r ){ + ln[t (r ) / tTF (r )]}wA (r ) d r
Essentially, the three quantities correspond to the integral of user-defined functions 50, 51 and 54 in
fuzzy atomic space. In this function, you also need to input the index of the atoms in the ring. Once
calculation of the selected quantity for all atoms in the ring is finished, the average will be shown,
and it can be regarded as an aromaticity index.
Before using this function, you can firstly select the way of defining atomic space. In the
original paper, Hirshfeld partition was employed, while the default partition method of the fuzzy
analysis module is Becke.
Theory
Atomic (effective) polarizability, 𝛼 eff (0) , in a molecule system, is a quantiy of chemical
interest; however, there is no unique way to estimate it and it is not experimentally observable in
general. In the original paper of Tkatchenko-Scheffler (TS) dispersion correction method, the
authors suggested a simple way of estimating it by scaling free-atom polarizability 𝛼 free (0), they
assumed that atomic polarizability of an element is positively proportional to its atomic volume.
Then in a review article Chem. Rev., 117, 4714 (2017), this method is explicitly expressed as
205
3 Functions
VAeff
Aeff (0) = Afree (0)
VAfree
where atomic effective volume Veff in a molecule and atomic free volume Vfree are expressed as
VAeff = (r )wA (r ) | r − R A |3 d r
VAfree = Afree (r ) | r − R A |3 d r
Usage
Multiwfn is able to calculate Veff, Vfree, 𝛼 eff (0) and 𝛼 % (0). To evaluate them for all atoms in a
molecule, the steps are:
(1) Manually generate wavefunction file of each kind of atom in the current system by your
favourite quantum chemistry code.
(2) Boot up Multiwfn and load the wavefunction file of the system.
(3) Enter main function 15, choose a proper weighting function by option -1. Commonly
Hirshfeld weighting function is used for this purpose, but other weighting functions such
as Becke and Hirshfeld-I can also be selected.
(4) Choose option 13. Multiwfn will ask you to input path of wavefunction file of each kind
of element involved in the present system, the corresponding density will be used to
evaluate Vfree. After inputting the paths, calculation will be started.
During calculation, you can see Veff , Vfree and their ratio Veff/Vfree are printed for each atom. Once
the calculation is completely finished, Multiwfn will print eff (0) and % (0) for all atoms. Note
that the free (0) used for their evaluations come from the recommended values in CTCP atomic
polarizability table (http://ctcp.massey.ac.nz/index.php?menu=dipole&page=dipole, data of Nov 16,
2020 version was taken).
If you only need aforementioned data for certain atoms in the system, you can use option -5 to
define an atom list first, then other atoms will not be involved in the calculation of option 13.
It is worth to note that constructing atomic weighting functions by Hirshfeld and Hirshfeld-I methods also
depend on atomic wavefunction files if you choose not to employ built-in atomic densities. However, these atomic
206
3 Functions
wavefunction files are completely irrelevant to the atomic wavefunction files used to evaluate Vfree.
3.19.1 Theory
The charge decomposition analysis (CDA) proposed by Dapprich and Frenking (J. Phys.
Chem., 99, 9352 (1995)) is used to provide deep insight on how charges are transferred between
fragments in a complex to achieve charge equilibrium. The idea of CDA is based on fragment orbital
(FO), which denotes the molecular orbital (MO) of fragment in its isolated state. Besides, once the
compositions of FOs in MOs of complex are obtained, the orbital interaction diagram can be directly
plotted, which allows one visually and directly understand how orbitals of fragments are mixed to
form orbitals of complex.
For simplicity, in this section we assume that the complex consists of only two fragments. The
CDA can also be straightforwardly employed for more than two fragments cases.
Fragment orbitals
Consider we are studying a complex AB, NA basis functions are located in the atoms of
fragment A, NB basis functions in fragment B, then each MO of complex will be linearly expanded
by NA+NB basis functions, and meanwhile, the complex has NA+NB MOs. By using the same basis
set, and maintaining the same geometry as in complex, if we calculate the two fragments respectively,
we can obtain NA MOs of fragment A, and NB MOs of fragment B, they are collectively called as
fragment orbital (FO). We can take these FOs as basis functions to linearly expand the MOs of
complex. Since the dimension (the number of basis functions) is still NA+NB, the expansion is exact.
In other words, we equivalently transformed the basis.
Sm,n = m (r) n (r)d r is overlap integral between FO m and FO n. Note that though the NA and
NB FOs are respectively orthonormal sets, the NA set are in common not normal to the NB set, so S
is not an identity matrix. Cm,i denotes the coefficient of FO m in MO i of complex. The superscript
207
3 Functions
"vir" and "occ" mean virtual (viz. unoccupied) and occupied, respectively.
The term di denotes the amount of electron donated from fragment A to B via MO i of complex;
similarly, the term bi denotes the electron back donated from B to A. In fact, iCm,iCn,iSm,n can be
regarded as the half of overlap population between FO m and n in MO i. Hence, the difference
between term d and b is that which fragment provides its electrons from its occupied FOs to virtual
FOs of another fragment. The term r reveals closed-shell interaction between two occupied FOs in
different fragments; positive value of ri means that owing to MO i, the electrons of the two fragments
are accumulated in their overlap region and shows bonding character, while negative value indicates
that the electrons are depleted from the overlap region and thus reflecting electron repulsive effect.
The sum of all ri terms is in general negative, because overall interaction between filled orbitals are
generally repulsive. r is also known as "repulsion polarization" term
Beware that although the CDA formulae given in original paper are correct, by carefully
inspecting the data, I found the d, b and r terms in the examples presented in the original paper are
erroneous (the data should be divided by two).
Generalization of CDA
The original definition of CDA has two drawbacks. First, it is only applicable to closed-shell
cases (namely, complex and each fragment must be closed-shell) and hence unable to be used when
the two fragments are bound by covalent bonding. Second, in post-HF calculations, though the MOs
of complex can be replaced by natural orbitals (NOs), the FOs can only be produced by HF or DFT
calculation, because occupation numbers of FOs are not explicitly considered in the original CDA
formulae.
To address the limitations of the original definition, in my paper J. Adv. Phys. Chem., 4, 111-
124 (2015) (http://dx.doi.org/10.12677/JAPC.2015.44013) I proposed a generalized form of CDA,
which is the form used in CDA module of Multiwfn:
mFO − nFO
ti =
mA nB
i
ref
Cm ,i Cn ,i S m ,n
In the generalized CDA, orbitals of complex and fragments can be produced either by HF/DFT or
by post-HF method, corresponding to MOs and NOs, respectively. FO 𝑚
stands for occupation
number of FO m. For open-shell cases, ηref is 1.0, CDA will be performed for alpha spin and beta
spin separately; for the former, i denotes alpha orbital of complex, m and n run over all alpha FOs;
for the latter, i denotes beta orbital of complex, m and n run over all beta FOs. For closed-shell cases,
ηref is 2.0, m and n run over space orbitals. min() is the function used to extract minimum from two
values. During calculation of t, if the values are only accumulated for the cases FO𝑚
> FO
𝑛
, then the
resulting t is d; if only for the cases 𝑚 < 𝑛 , then t will be b.
FO FO
For the situations when the original CDA is applicable, the b and d calculated by the generalized
form are exactly identical to the ones obtained via original definition; while r will be exactly twice
of the one produced via original definition. The reason why the factor 2 is introduced into the
generalized form of r is because after doing so, r has more clear physical meaning, namely it equals
to overlap population (also known as Mulliken bond order) between the occupied FOs in the two
fragments.
Because the CDA has been generalized, below, FO will stand for MO or NO of fragment,
208
3 Functions
"complex orbital" will denote MO or NO of complex. The orbitals can either be spin-space orbital
(for open-shell) or space orbital (for closed-shell).
It is clear that the d, b and r terms can be decomposed into FO pair contributions, this kind of
decomposition is supported by Multiwfn and greatly facilitates analysis of the nature of FO
interaction.
m,i = Cm2 ,i + Cm,i Cn ,i S m,n 100%
n m
Note that due to a well-known drawback of Mulliken method, sometimes negative contributions
may occur. Since the negative values are often not large, you can simply view them as zero. In
addition, sometimes contribution may be slightly larger than 100%, you can simply view it as 100%.
Using SCPA method instead of Mulliken method to compute the composition is also supported, you
just need to change “iCDAcomp” in settings.ini to 2. The advantage of SCPA over Mulliken is that
the composition will never exceed 100%, and it is always positive. However, if i is a high-lying
virtual orbital, the calculated composition may be not very reasonable.
From Θ, we can clearly understand how each complex orbital is formed by mixing FOs of the
two fragments. Furthermore, one can plot orbital interaction diagram to visually and intuitively
study the relationship between complex orbitals and FOs, namely plot a bar for each complex orbital
and FO according to its energy, and then check each Θ to determine how to link the bars, e.g. if the
value of Θm,i is larger than 5%, then the two bars corresponding to FO m and complex orbital i will
be linked. Consequently, from the graph we will directly know that FO m has important contribution
to complex orbital i.
209
3 Functions
CDA analysis can be carried out as long as you have file containing basis function information
for complex and all fragments. As described in Section 2.5, .mwfn, .fch, .gms, .molden can be used
as input file in this case.
Below requirements on input files should be noticed:
(1) The method and basis set employed in the calculation of complex and fragments must be
the same, otherwise the result will be meaningless. For example, assume that you are preparing input
files of CDA analysis for a transition metal complex, if mixed basis set is employed for complex
calculation (e.g. Lanl2TZ for metal and 6-31G* for ligands), then in the fragment calculations,
Lanl2TZ must be used for the metal fragment, and 6-31G* must be used for the ligand fragment(s).
(2) The coordinate of each fragment in their wavefunction files must be exactly identical to the
coordinate in the complex wavefunction file.
In order to guarantee this, it is best to first optimize the complex (and meantime obtain its wavefunction file),
and then directly extract coordinates of various fragments from the optimized complex geometry and then write them
as individual input files of single point task (after calculating them you will obtain wavefunction files of the
fragments). Clearly, the fragments should never be optimized, otherwise their coordinates will become inconsistent
with the complex coordinate.
(3) The sequence of atoms in fragments and in complex must be identical, that means the actual
atom sequence in the complex can be retrieved by successively combining the atoms in fragment 1,
2, 3 ...
(4) Avoid employing diffusion functions whenever possible! According to my experiences,
when diffusion basis functions are presented, the CDA results are often unreasonable or even
completely meaningless.
"examples\CDA\COBH3_ORCA" folder contains example .molden files generated by ORCA
3.0.1 for performing CDA analysis of COBH3 system.
210
3 Functions
Gaussian output file of single point task can also be used for CDA analysis. nosymm pop=full
must be employed in all cases, and IOp(3/33=1) should also be specified in the complex calculation.
Molecular geometry must be given in Cartesian coordinate. If you want to perform CDA analysis at
post-HF level, do not use pop=full but use density pop=NO and density pop=NOAB for closed-shell
and open-shell cases, respectively, so that coefficients of natural orbitals can be outputted.
3.19.3 Usage
After booting up Multiwfn, you should first input the path of the file of complex, and then enter
the CDA module. Next, you should set the number of fragments, and then input the path of the file
for each fragment in turn.
For open-shell fragments, you will be prompted to choose if flipping its electron spin. If you
select "y", then orbital information of its alpha and beta orbitals will be exchanged. The reason for
introduction of this step is clear: for example, we want to use CDA to decompose electron transfer
between fragment CH3 and NH2 in CH3NH2; CH3NH2 has 9 alpha and 9 beta electrons. However,
during calculation via quantum chemistry codes, both CH3 and NH2 will be regarded as having 5
alpha and 4 beta electrons. Therefore, in order to carry out CDA, we have to flip electron spin of
either CH3 or NH2, otherwise the total numbers of alpha and beta electrons in the two fragments,
namely 5+5=10 and 4+4=8, respectively, will be unequal to those of the complex, namely 9 and 9.
Once the loading is finished, Multiwfn starts to calculate some data. If only two fragments are
defined, CDA and ECDA result will be directly shown. Then you will see a menu:
-2 Switch output destination (for options 0 and 1): By default, the options 0 and 1 output
results on screen; if you select this option once, then their results will be outputted to CDA.txt in
current folder.
0 Print CDA result and ECDA result: Input the index of two fragments, then the CDA and
ECDA analysis result between them will be outputted.
1 Print full CDA result: If you select this option, the CDA result for all complex orbitals will
be outputted. By default, Multiwfn does not output CDA result for the complex orbitals lying higher
than LUMO+5, because the number of such orbitals is too large, whereas their contributions to d, b
and r terms are often completely negligible due to their occupation numbers are often quite small.
(For HF/DFT wavefunctions, the occupation numbers of the orbitals lying higher than HOMO are
211
3 Functions
exactly zero, and thus have no contribution to d, b and r terms at all. So for this case this option is
meaningless)
2 Show fragment orbital contributions to specific complex orbital: If you input x, then the
composition of complex orbital x will be outputted (for open-shell cases, the xth alpha and the xth
beta complex orbital will be outputted respectively). By default only the FOs having contribution
1% will be shown, but this threshold can be altered by "compthresCDA" parameter in settings.ini.
If you want to obtain composition of a fragment orbital in all complex orbitals, you can input
for example 1,6, which means orbital 6 of fragment 1 is selected.
3 Export coefficient matrix of complex orbitals in fragment orbital basis: The coefficient
matrix corresponding to all FOs in all complex orbitals will be outputted to coFO.txt in current
folder.
4 Export overlap matrix between fragment orbitals: The overlap matrix between all FOs
will be outputted to ovlpint.txt in current folder.
6 Decompose complex orbital contribution to CDA: You need to input index of a complex
orbital and set threshold for printing, if contribution of a pair of fragmental orbitals to any of d, b
and r term of this complex orbital is larger than the threshold then the contribution value will be
shown. This greatly facilitates analysis of interaction between fragment orbitals.
5 Plot orbital interaction diagram: If you select this option, you will enter a new menu, in
which by corresponding options you can plot and save orbital interaction diagram and adjust plotting
parameters, such as size of labels, energy range (namely Y-axis range) and the criterion for linking
bars. The orbital interaction diagram plotted under default settings looks like this:
In above graph, occupied and virtual orbitals are represented as solid and dashed bars,
respectively, the vertical positions are determined by their energies. The bars at left and right sides
correspond to the FOs of the two fragments you selected; the bars in the middle correspond to
complex orbitals. Orbital indices are labelled by blue texts. If two or more labels occur in the same
212
3 Functions
bar, that means these orbitals are degenerate in energy. If composition of a FO in a complex orbital
is larger than specific criterion, then the corresponding two bars will be connected by red line, so
that simply by viewing the diagram one can directly understand the complex orbitals are constructed
by mainly mixing which FOs. The compositions are labelled in the center of the lines.
By default, all FOs and complex MOs are plotted, and if the contribution of a FO of fragment
A or B to a complex MO is larger than 10% then they will be connected. For large systems, usually
there are too many bars and linking lines in the diagram, and it is hence difficult to identify the
orbital interaction mode based on the diagram. In these cases, you should properly use the option "4
Set the rule for connecting and drawing orbital bars" to manually set up the rule for connecting and
plotting the orbital bars. See the prompt shown on the screen on how to use this option.
Sometimes the difference between orbital energies of the two fragments in the orbital
interaction diagram is too large and thus hinders one to analyze the diagram, so you may want to
equalize their energies. In this case, you can use the option "12 Set orbital energy shifting value" to
set the value used to shifting orbital energies of the complex or the two fragments presented at the
left and right side of the diagram; their orbital energies will be augmented by the given value.
Some notes
If complex or any fragment is an unrestricted open-shell system, then CDA will be performed
separately for alpha and beta electrons.
Files containing restricted open-shell wavefunction can also be used as input file for CDA
analysis, however, Multiwfn will deal with this situation in the same way as closed-shell case,
therefore CDA data is completely wrong because occupancy of alpha and beta orbitals is incorrect,
but orbital interaction diagram is still usable. If you want to correctly perform CDA based on
restricted open-shell wavefunction to avoid explicitly distinguishing alpha and beta orbitals, you
should manually convert restricted open-shell wavefunction to equivalent unrestricted open-shell
wavefunction prior to the analysis, see Section 4.16. 4 for example.
Infinite number of fragments can be defined; however, if more than two fragments are defined,
ECDA analysis will be unavailable.
ECDA analysis and orbital interaction diagram are not available if complex or any fragment
was calculated by multiconfiguration method (e.g. MP2, double-hybrid functional), since orbital
energy of natural orbitals is not undefined.
3.20.1 Theory
The concept of basin was first introduced by Bader in his atom in molecular (AIM) theory,
after that, this concept was transplant to the analysis of ELF by Savin and Silvi. In fact, basin can
be defined for any real space function, such as molecular orbital, electron density difference,
electrostatic potential and even Fukui function.
A real space function in general has one or more maxima, which are referred to as attractors or
213
3 Functions
(3,-3) critical points. Each basin is a subspace of the whole space, and uniquely contains an attractor.
The basins are separated with each other by interbasin surfaces, which are essentially the zero-flux
surface of the real space functions; mathematically, such surfaces consist of all points {r} satisfying
∇𝑓(𝐫) ∙ 𝐧(𝐫) = 0, where n(r) stands for the unit normal vector of the surface at position r.
Below figure illustrates the basins of total electron density of NH2COH, such figure is often
involved in AIM analysis. Brown points are attractors; in this case they correspond to maxima of
total electron density and thus are very close to nuclei. Blue bolded lines correspond to interbasin
surfaces, they dissect the whole molecular space into basins, which in present case are also known
as AIM atomic space or AIM basin. Grey lines are gradient paths of total electron density, they are
emanated from attractors.
Multiwfn is able to generate basins for any supported real space functions, such as electron
density, ELF, LOL, electrostatic potential. Alternatively, one can let Multiwfn load the grid file
generated by third-part programs (e.g. cube file or .grd file) and then generate basins for the real
space function recorded in the grid data.
After the basins were generated, some analyses based on the basins can be conducted to extract
information of chemical interest. The three most useful types of basin analyses are supported by
Multiwfn and are briefed below. All of them require performing integration in the basin.
(1) Study integral of a real space function in the basins. For example, one can first use electron
density to define the basins, and then integrate electron density in the basins to acquire electron
population numbers in the basins; this quantity is known as AIM atomic population number. Another
example, one can first partition the space into basins according to ELF function, and then calculate
integral of spin density in the basins.
(2) Study electric multipole moments in the basins. In Multiwfn electric monopole, dipole and
quadrupole moments can be calculated in the basins. This is very useful to gain a deep and
quantitative insight on how the electrons are distributed in different regions of a system. Based on
these data, one can clearly understand such as how lone pair electrons contribute to molecular dipole
moment (see J. Comput. Chem., 29, 1440 (2008) for example, in which ELF basins are used), how
the electron density around an atom is polarized as another molecule approaching.
(3) Study localization index and delocalization index in the basins. The former one measures
how many electrons are localized in a basin in average, while the latter one is a quantitative measure
of the number of electrons delocalized (or say shared) between two basins. They have been very
214
3 Functions
detailedly introduced in Section 3.18.5 and hence will not be reintroduced here. The only difference
relative to Section 3.18.5 is that the range of integration in our current consideration is basins rather
than fuzzy atomic spaces.
This section I will talk about many numerical aspects involved in basin analysis, so that you
can understand how the basin analysis module of Multiwfn works.
215
3 Functions
and then cycle the next grid (a) The trajectory reached a grid, in which the gradients in all directions
is equal or less than zero; such a grid will be regarded as an attractor, meanwhile all grids contained
in the trajectory will be assigned to this attractor. (b) The trajectory reached a grid that has already
been assigned; all of the grids contained in the trajectory will be assigned to the same attractor. This
treatment greatly reduced computational expense. (c) The upper limit of step number is reached (d)
The trajectory reached the grids at box boundary; all of the grids in the trajectory will be marked as
"travelled to boundary" status.
After all grids have been cycled, we obtained position of all attractors covered by the spatial
scope of the grid data. Each set of grids that assigned to a same attractor collectively constitutes the
basin corresponding to the attractor. Interbasin grids will then be detected, according to the criterion
that if any neighbouring grid belongs to different attractor. Note that sometimes after finished above
processes, some grids may remain unassigned, and some grids may have the status "travelled to
boundary". Such grids are often far away from atoms and thus unimportant, in general you can
safely ignore them.
The only difference between on-grid method and near-grid method is that in the latter one, the
so-called "correction step" is introduced to continuously calibrate the evolvement direction of the
trajectory, which greatly eliminates the artificiality problem of interbasin surfaces due to on-grid
method, and in turn makes the basin integration more close to actual values. Near-grid method can
be supplemented by a refinement step for interbasin surfaces at the final stage, so that the partition
of basin can be even more accurate, this additional step is not very time-consuming.
For ELF (and may be other real space functions), if sphere- or ring-shape attractors exist in the
system, in corresponding regions a large number of attractors having basically the same value will
be found. Below two examples illustrated the existence of the ring-shape ELF attractor encircling
N-C bond of HCN and the sphere-shape ELF attractor encompassing the Ar atom.
Based on nearest neighbor algorithm, Multiwfn automatically checks the distances and the relative
value differences between all pairs of located attractors, and then clusters some attractors together.
The resulting attractors thus have multiple member attractors, and will be referred to as "degenerate
attractors" later. For example, the left graph and right graph given below displayed the attractor
indices before and after clustering, respectively. As you can see, after clustering, all of the attractors
constituting the ring-shape ELF attractor now have the same index, suggesting that the
corresponding basins have been merged together as basin #2.
For certain cases, in the regions far beyond the systems, some artificial or physically
216
3 Functions
meaningless attractors are located. These attractors have very low function value and thus are called
as "insignificant" attractors; in contrast, other attractors can be called as "significant" attractors. The
presence of insignificant attractors is because in corresponding regions the function values are rather
small, hence the function behavior is not very definitive, even a very slight fluctuation of function
value or trivial numerical perturbation is enough to result in new attractors. When insignificant
attractors are detected, Multiwfn will prompt you to select how to deal with them, there are three
options: (1) Do nothing, namely do not remove these attractors (2) Remove these attractors
meanwhile set corresponding grids as unassigned grids (3) Remove these attractors meanwhile
assign corresponding grids to the nearest significant attractors. The third option is generally
recommended.
If the real space function simultaneously possesses positive and negative parts, e.g. electrostatic
potential, Multiwfn will automatically invert the sign of negative part of the grid data and then locate
attractors and generate basins as usual, after that the sign will be retrieved. Therefore, for negative
parts, the "attractors" located by Multiwfn actually are "repulsors".
If the grid data is found to be non-negative everywhere, and you want to locate its minima
(repulsors) rather than maxima (attractors), you can either choose corresponding suboption in option
“-1 Select the method for generating basins” in basin analysis module to switch the objects to locate,
or set "ibasinlocmin" parameter in settings.ini to 1. The attractors reported subsequently will
correspond to repulsors. This feature is useful to locate minima of RDG and IRI, which have unique
value in revealing interactions.
Integration of basins
Once the basins have been generated by grid-based method, the integral of a real space function
f in a basin P can be readily evaluated as 𝐹 = ∑𝑖∈𝑃 𝑓(𝐫𝒊 ) × d𝑉, where i is grid index, dV is volume
differential element. Evidently, the finer the grid data (smaller grid spacing) is used, the more
accurate the integral values will be, and correspondingly, the more computational effort must be
paid.
Since the arrangement of grids in general is not in coincident with system symmetry, one should
not expect that the integral values always satisfy system symmetry well, unless very fine grid is
used.
Note that different functions have different requirement on the quality of grid data. For the
same grid spacing, the faster the function varies, the lower the integration accuracy will be. Due to
Laplacian of electron density, source function and kinetic density function, etc. fluctuate violently
near nuclei, it is impossible to directly integrate these functions in AIM basins solely by grid-based
method at satisfactory accuracy (since only uniform grids are used, which is incapable to represent
nuclear region well enough). In order to tackle this difficulty, an integration method based on mixed
atomic-center and uniform grids is proposed by me and supported by Multiwfn, in which the regions
close to nuclei are integrated by atomic-center grids, while the other regions are integrated by
uniform grids. This method is able to integrate AIM basin for any real space function, including the
ones having complicated behavior at generally acceptable accuracy without evident additional
computational cost with respect to grid-based method. In order to further improve the integration
accuracy for AIM basins, Multiwfn also enables one to exactly refine the assignment of the grids at
basin boundary. An exact steepest ascent trajectory is emitted from each boundary grid, and
terminates when reaches an attractor. Since there are often very large number of boundary grids and
each steepest ascent step requires evaluating gradient of electron density once, this process is time-
217
3 Functions
3.20.3 Usage
The basin analysis module in Multiwfn is very powerful, fast and flexible. Basins can be
generated and visualized for any real space function, meanwhile any real space function can be
integrated in the generated basins. Electric multipole moments and localization index in the basins
and delocalization index between basins can be calculated.
Basic steps
To perform basins analysis in Multiwfn, there are five basic steps you need to do
(1) Load input file into Multiwfn and then enter main function 17.
(2) Select option 1 to generate basins and locate attractors. Before doing this, you can change
the method used to generate basins via option -1, or adjust the parameters for clustering attractors
via option -6.
(3) Visualize attractors and basins by option 0. This step is optional.
(4) Perform the analyses you want. Integral of a real space function in generated basins, electric
multipole moments in the basins and localization/delocalization index of the basins can be
calculated by option 2 (or 7), 3 (or 8) and 4, respectively.
You can export the generated basins as cube files by option -5, export attractors as .pdb file by
option -4, check the coordinate of the located attractors by option -3, measure the distances, angles
and dihedrals angles between attractors or atoms by option -2. Also you can use suboption 3 in
option -6 to manually merge specified basins as a single one. If you want to regenerate basins and
locate attractors for other real space functions or under new settings, you can select option 1 again.
218
3 Functions
In the function of basin integration, namely option 2, the value of integrand at each grid must
be available so that the integral can be evaluated. These values can come from three ways, you can
choose any one: (1) Let Multiwfn directly calculate them (2) Load and use the grid data in e.g. a .cub
file, note that this operation will not overwrite the grid data already stored in memory (3) Use the
grid data already stored in memory. Beware that the grid setting of the grid data stored in memory
or the grid data recorded in a grid data file must be exactly in coincidence with that of the grid data
used to generate basin, otherwise the integral is meaningless.
Note that if you have made Multiwfn calculate grid data for a real space function, then this grid
data will be stored in memory and hence you can directly use it in the basin integration step.
Visualization
In option 0, you can visualize attractors and basins, for example
Most of buttons are self-explanatory, please feel free to play with them. You can plot a basin
by choosing corresponding index in the basin list at right-bottom corner. By default, only the grids
at the basin boundary are shown. If you want to plot the whole basin region, "Show basin interior"
check box should be selected. If you only want to visualize the region of the basin enclosed by =
0.001 a.u. isosurface (common definition of vdW surface), you should select "Set basin drawing
method" - "rho>0.001 region only".
At the end of the basin list, the "Unas" entry means unassigned grids during basin generation,
while the "Boun" term corresponds to the grids travelled to box boundary, you can select them to
plot corresponding grids. Some basins are very small and very close to nucleus, such as core-type
basin of ELF, they are often screened by molecular structure; if you want to inspect these basins,
219
3 Functions
220
3 Functions
attractors. In order to make graphical effect of attractors satisfactory, it is suggested to choose "File"-
"Preference"-"Display Format"-"Molecule", and set low layer as "Tube". It is also suggested to
disable showing atomic labels.
-3 Show information of attractors: The coordinate and value of all attractors will be outputted
on screen. For degenerate attractors, the shown coordinates and values are the average ones of their
member attractors, the coordinate and the value of all of the member attractors will also be
individually shown on screen. This option also asks you if printing attractor information after sorting
the value from most negative to most positive.
-2 Measure distances, angles and dihedral angles between attractors or atoms: As the title
says. Please follow the prompts shown on the screen.
-1 Select the method for generating basins: In this option, you can choose which kind of
extrema (minima or maxima) will be located, and you can also choose the algorithm for partitioning
basins, there are three algorithms supported: (1) On-grid method (2) near-grid method (3) near-grid
method with boundary refinement step. Note that the near-grid method used in Multiwfn has been
adapted by me, and thus become more robust. In general, (3) is recommended, which is also the
default one.
0 Visualize attractors and basins: This option has already been introduced above.
1 Generate basins and locate attractors: Choose a real space function, and select a grid setting,
then Multiwfn will calculate grid data, and then generate basins meanwhile locate attractors. After
that, as mentioned earlier, if there are some attractors having similar value and closely placed then
they will be automatically clustered. If a grid data has been stored in memory, you can directly
choose to use this grid data to avoid calculating new grid data. You can use this option to regenerate
basins again and again.
Multiwfn provided a lot of ways to define the grid setting. If you want to study the basins in
the whole system, in commonly "medium quality grid" is recommended for qualitative analysis
purposes; while if you want to obtain higher integration accuracy, "high quality grid" is in general
recommended. If you only need to study the basins in a local region of the whole system, you can
make the spatial scope of the grid data only cover this region; for this purpose, I suggest you to use
the option "Input center coordinate, grid spacing and box length", by which you can easily define
the spatial scope of the grid data.
2 Integrate real space functions in the basins: Select a real space function, or select the grid
data stored in memory, or choose to use external .cub/.grd file, then the real space function you
selected or the real space function recorded in the grid data will be integrated in the basins that have
been generated by option 1, the integral in each basin and basin volumes will be outputted. If there
are some unassigned grids or the grids travelled to box boundary, their integrals will also be shown.
If the basins you analyzed are AIM basins, it is highly recommended to use option 7 instead to
gain much better integration accuracy.
3 Calculate electric dipole and multipole moments as well as <r2> for basins: Please refer to
Section 3.18.3. The differences with respect to Section 3.18.3 are that spatial ranges of integrations
are confined in respective basins rather than fuzzy atomic spaces, and nuclear positions are replaced
with attractor positions. The multipole moments are outputted up to quadrupole, while octopole and
higher orders are not calculated, because based on grid integration they are difficult be evaluated
accurately.
If the basins to study are AIM basins, it is highly recommended to use option 8 instead to gain
221
3 Functions
molecular orbital i. All virtual orbitals are not taken into account.
Options 6~9 introduced below are visible in the menu only when the real space function used
to define the basins is electron density
6 Calculate and output orbital overlap matrix in all atoms (also known as atomic overlap
matrix, AOM) to AOM.txt in current folder: The definition is identical to BOM, the only difference
is that the atom index is used instead of basin index. Note that the basins corresponding to non-
nuclear attractors are not outputted.
7 Integrate real space functions in AIM basins with mixed type of grids: This option is
specific for integrating AIM basins; there are three different ways to realize it:
Hint: Accuracy: (2)≥(3)>>(1). Time spent: (2)>(3)>>(1). Memory requirement: (3)>(2)=(1)
(1) Integrate a specific function with atomic-center + uniform grids: Atomic-center grids are
mainly used to integrate the real space function near nuclei, while uniform grids are mainly used for
other regions. The accuracy is much better than solely using uniform grids (namely option 2 in basin
analysis module).
(2) The same as (1), but with exact refinement of basin boundary: Compared to option (2),
when integrating the grids at basin boundary, the assignment of these grids will be exactly refined
by steepest ascent scheme, hence the result will be more accurate than using option (1),
unfortunately the refinement step is time consuming.
(3) The same as (2), but with approximate refinement of basin boundary: This is an
approximate version of option (2). The gradient of electron density used in refinement step will not
be evaluated exactly, but obtained by trilinear interpolation of pre-calculated grid data of gradient.
Although evaluating the grid data of gradient is also time consuming, the overall time cost is lower
than option (2), and the loss of accuracy is trivial.
After you used option (2) or (3) once, the assignment of the boundary grids will be updated
permanently, that means then if you use option (1), the result will be identical to (2) or (3).
Not only the basin volumes are outputted along with the integrals, the basin volumes with
electron density > 0.001 are also outputted, which can be regarded as atomic sizes.
8 Calculate electric dipole and multipole moments in AIM basins with mixed type of grids:
Similar to option 3, but use mixed atomic-center and uniform grids to calculate electric multipole
moments to gain a better accuracy without bringing evident additional computational cost. This
option is only applicable to AIM basins.
After calculation, you will be asked to choose if also writing the result to multipole.txt. If you
choose y, a file named atom_moment.txt will also be produced in the current folder. Based on this
file, atomic electric dipole and quadrupole moments can be visualized in VMD program via a special
222
3 Functions
For options 3, 4, 5, 7 and 8, if the input file you used does not contain GTF information
(e.g. .cub file is used as input file and you directly use the grid data carried by it to generate basins),
then Multiwfn will prompt you to input a new file, which should contain GTF information of present
system, you can use for example mwfn/.wfn/.wfx/.fch/.molden/.gms as input.
Information needed: GTFs or grid data loaded from external file (e.g. .cub), atom coordinates
223
3 Functions
1 Overview
Main function 18 contains a lot of subfunctions aiming for electron excitation analysis, namely
characterizing the electron excitation in various ways. All functions in this category fully support
single-reference methods (i.e. reference wavefunction for generating excited state wavefunction is
single Slater-determinant), including TDDFT, TDA-DFT, CIS and TDHF, while ZINDO is also
supported by transition density matrix plotting function. Other kinds of methods for excited state
problems such as EOM-CCSD, LR-CC2/3, CASSCF, CASPT2 and MRCI are not formally
supported. Examples of some of these electron excitation analysis functions are provided in Section
4.18.
Both closed-shell and open-shell systems are fully supported by all kinds of electron excitation
analyses of Multiwfn.
where i and a respectively run over all occupied and all virtual MOs, similarly hereafter in. 𝑎𝑖 is
the configuration state wavefunction corresponding to moving an electron from originally occupied
MO i to virtual MO a. w is known as configuration coefficient. The electron excitation in CIS or
TDA-DFT framework therefore can be represented as linear combination of orbital pair transitions.
The weighting coefficients w satisfy this normalization condition:
(w )
i →a
a 2
i = 1.0
Clearly, the i→a orbital pair transition has contribution of 100% × (𝑤𝑖𝑎 )2 to the electron excitation.
While for TDHF and TDDFT, excited state wavefunction also contains so-called de-excitation
part:
exc = wia ia + wia ia
i →a i a
where w and w' correspond to configuration coefficient of excitation and de-excitation, respectively.
In this cases, the normalization condition becomes:
(w ) − (w )
i →a
a 2
i
i a
i
a 2
=1
The MOs used for CIS/TDHF and TDA-DFT/TDDFT are yielded by HF and DFT calculation
for ground state of present system, respectively. The Slater determinant consisted of the occupied
MOs, namely the ground state wavefunction, is known as reference state. If the reference state is
closed-shell, then and MOs are exactly matched with each other, and thus → orbital
transitions have one-to-one correspondence with → orbital transitions; in this situation, only one
set of orbital transition is recorded, and correspondingly, the configuration coefficients are
normalized to 0.5 instead of 1.
224
3 Functions
3 Input files
Input file of almost all electron excitation analysis functions are basically the same, except for
subfunction 3 (Analyzing charge transfer based on density difference grid data). Two kinds of input
files are needed:
(1) A file containing basis function and molecular orbital information.
mwfn, .fch/.fchk, .molden and .gms files produced by excited state calculation (e.g. TDDFT) can be
directly used. This file should be loaded when Multiwfn boots up.
(2) A file containing configuration coefficients of excited states. The path of this kind of file
should be inputted when you enter corresponding analysis function, Multiwfn will load
configuration coefficients from this file. There are several situations, as shown below:
Gaussian users: Output file (.out or .log) of CIS, TDHF, TDDFT and TDA-DFT tasks can
be used. Both single point and optimization tasks are supported; for the latter case, Multiwfn
analyzes electronic excitation at the final geometry. Since by default Gaussian only outputs the
configuration coefficients whose absolute value is larger than 0.1, In order to achieve acceptable
accuracy, you must add IOp(9/40=4) keyword in the route section so that all configuration
coefficients whose magnitude larger than 0.0001 will be printed (If the calculation in Multiwfn is
found to be too expensive, using IOp(9/40=3) instead is also generally acceptable). Implicit
solvation model, including external iteration (state specific) treatment of solvent response to
transition, is fully compatible.
ORCA users: Output file of CIS and TDA-DFT tasks can be used. Beware that TPrint
keyword should be used within %cis or %tddft, otherwise only very small amount of configuration
coefficients will be printed. TPrint x means outputting configurations whose contribution to excited
state larger than x*100%. Typically, I suggest using TPrint 1E-8. Since contribution is calculated as
square of configuration coefficient, TPrint 1E-8 simply corresponds to outputting configurations
who have absolute value of coefficients larger than 1E-4, the effect is identical to IOp(9/40=4) in
Gaussian. Below is an example input:
! PBE0 def2-SVP
%tddft
nroots 8
tprint 1E-8
end
IMPORTANT NOTE: It is also possible to use ORCA TDDFT/TDHF output file, but the analysis result may
be unreliable or even fully wrong!!! Because in TD task, ORCA only prints configuration contributions (which are
given as sum of excitation and de-excitation contributions) but does not print configuration coefficients for excitation
and de-excitation respectively. In this case, Multiwfn automatically generates configuration coefficients by
calculating square root of the configuration contributions. This treatment is sometimes reasonable, however when
de-excitation is significant, the configuration coefficients yielded in this manner must be nonsense; in addition, even
if de-excitation is completely zero, the result may still be incorrect, because actual configuration coefficients may
either be positive or negative, while the sign evidently cannot be determined from configuration contributions.
Spin-flip TDDFT output file of ORCA is also supported, you just need to add SF TRUE
into %tddft field and set spin multiplicity of reference state 3. Note that only a few functions,
including generating natural orbitals of excited state, hole-electron analysis and related analyses, are
formally supported, other functions were not tested. In particular, all analyses directly based on
transition density matrix are not supported in this case.
225
3 Functions
ORCA users using sTDA or sTDDFT: They are approximations of regular TDA and
TDDFT, respectively. In ORCA, their calculations are based on DFT MOs. Once the single point
task of DFT has finished, the excited states will be calculated by sTDA/sTDDFT with negligible
cost. To carry out these calculations, use keywords like follows (see ORCA manual for details)
! wB97X-D3 def2-SV(P) def2/J RIJCOSX
%tddft
Mode sTDDFT //The sTDDFT may also be changed to sTDA
Ethresh 7.0
PThresh 1e-4
PTLimit 30
maxcore 6000
end
It is important to note that, at least for ORCA 4.2, only the three largest configuration
coefficients are printed (unfortunately, TPrint does not work for sTDA/sTDDFT calculation),
therefore often the normalization condition of configuration coefficients is violated evidently, in this
case the analysis result is unreliable or even fully misleading! So, please take care of the "Deviation
to expected normalization value" shown on screen after loading selected excited state.
BDF users: Output file of TDDFT task of BDF program can be used.
CP2K users: Periodic TDDFT (with/without sTDA kernel) task of CP2K is supported.
Currently, only hole-electron analysis, NTO analysis, “Generate natural orbitals of specific excited
states “, “Check, modify and export configuration coefficients of an excitation” and “Print major
MO transitions in all excited states” are formally supported, other analyses may or may not work
(at least I have not tested).
After booting up Multiwfn, the .molden file containing all virtual orbitals and cell information
should be loaded. Then, after you entering an analysis module, output file of CP2K should be loaded.
It is noteworthy that using Multiwfn to prepare input file of TDDFT task of CP2K is quite easy.
After booting up Multiwfn, load a structure file first (for crystal, often .cif is used, see Section 2.9.3
for detail), then input cp2k and the path of the input file to export. After that, you may first enter
option -11 and then suboption 19 to extend the current cell to a supercell if needed. Then return to
the interface of creating CP2K input file, choose option 15 to enable TDDFT calculation, then input
y to allow CP2K to generate the .molden file containing all orbitals and specify how many virtual
orbitals to solve and record in the .molden file. Finally, choose option 0 to yield CP2K input file.
Then use CP2K to run the input file, after the calculation is finished, manually insert cell information
to .molden file (as mentioned in Section 2.9.2.1). Now the .molden file and output file can be used
for electronic excitation analyses.
Note that the virtual orbitals recorded in .molden file should cover all virtual orbitals involved in the printed
configurations. If you do not know how many virtual orbitals should be calculated, simply set it to a very large value
so that all virtual orbitals will be solved and recorded, however in this case the .molden file may be quite large. You
can also perform TDDFT once, then check the printed configurations and find the highest virtual orbital, then
properly set the number of virtual orbitals to solve in the input file and redo a single point calculation to generate
the .molden file.
General cases: You can also use plain text file as the input file. The format of transition
information should be completely identical to Gaussian output, for instance: (the // and all text after
it should not appear in your file)
226
3 Functions
Excited State 1 1 5.7945 // Label, index, multiplicity and excitation energy (eV)
5 -> 7 0.63860
5 -> 8 0.30006
5 -> 7 -0.30006
5 -> 8 0.63860
4 <- 8 0.01000
Example of unrestricted TDDFT calculation is given below. Note that spin multiplicity is set
to 0, meaning undefined, since the excited states produced by this kind of calculation are not pure
spin states.
Excited State 1 0 2.07774
...ignored
...ignored
Evidently, the above mentioned two kinds of files must correspond to the same geometry and
same calculation level. For example, if the MOs in the .fch were produced at B3LYP/6-31G* level
while the Gaussian output file corresponds to the TDDFT task carried out at PBE0/6-31G* level,
the analysis results will be completely meaningless.
Special case for GAMESS-US and Firefly users: If you are a user of Firefly or GAMESS-
US program, you do not need to separately provide two kinds of files as mentioned above for
electron excitation analysis. If the input file used for Multiwfn is TDDFT output file with .gms suffix,
the Multiwfn will not only load basis function and molecular orbital information from this file when
Multiwfn boots up, but also load configuration coefficients of excited states when performing
electron excitation analysis. The H2CO_TDDFT_Firefly.gms and H2CO_TDDFT_GAMESS.gms in
"examples\excit" folder are example file of TDDFT output file of Firefly and GAMESS-US,
respectively.
For Firefly user, you should decrease the "PRTTOL" parameter in $TDDFT so that more
configuration coefficients could be printed.
For GAMESS-US, output file of CIS and TDA-DFT are not supported. In addition, there are
no option used to control the printing threshold of configuration coefficients, therefore some
analysis result may be not very accurate because some configurations, which have nonnegligible
227
3 Functions
This function allows one to check, modify and export coefficient of configuration coefficients.
The input files needed by this function have been detailedly described at the beginning of Section
3.21, namely you should load a file containing basis function information when Multiwfn boots up,
then load a file containing configuration coefficients of excited states. The summary of all
recognized excited states will be printed on screen, you should select one of them, the configuration
coefficients of orbital pairs involved in this electron excitation will be loaded. After that, up to 10
orbital pairs that have largest absolute contribution to the excitation are automatically shown. Then
in the newly appeared menu, you can find below options:
1 Set coefficient of an orbital pair: You can use this option to replace the loaded configuration
coefficients of an orbital pair with inputted value.
2 Set coefficient for specific range of orbital pairs: This option is used to replace a batch of
loaded configuration coefficients with inputted values. You should input index range of the occupied
MOs and virtual MOs corresponding to the orbital transitions.
After manually modifying coefficients use above two options, in order to make the
modification affect following electron excitation analysis, you should use option -3 to export the
modified coefficients as plain text file, and then use this file as the second kind of input file for
electron excitation analyses.
-1 Retrieve original coefficient of all orbital pairs: If configuration coefficients have been
manually modified by above two options, you can select this option to retrieve the coefficients to
the original loaded values.
-2 Print coefficient (and contribution to excitation) of some orbital pairs: You can use this
option to print configuration coefficients whose absolute value are larger than specific value,
meantime the corresponding contributions to the electron excitation are shown together. Via this
option you can easily find out which orbital pair transition has crucial contribution to the electron
excitation.
-3 Export current excitation information to a plain text file: Basic information and
configuration coefficients of currently selected excited state can be exported to a specific plain text
file. This file can then be employed as the second kind of input file for various electron excitation
analysis functions of Multiwfn, e.g. hole-electron analysis and NTO analysis, and then the analysis
result will correspond to the modified configuration coefficients.
Obviously, if you set coefficient of some orbital pairs to zero, then their contributions to the
quantities you studied will be completely ignored; while if you have cleaned all coefficients except
for a specific orbital pair, then the resulting quantities will only reveal characters of this orbital
transition.
The example given in Section 4.18.10 utilized this function.
228
3 Functions
This very powerful module is used to analyze and visualize hole-electron distribution,
transition density and transition electric/magnetic dipole moment density. Moreover, hole and
electron can be decomposed to orbital pair contributions as well as atom and fragment contributions;
furthermore, the atom/fragment contributions can be directly plotted as heat map for visual
inspection.
3.21.1.1 Theory
There are many knowledge points involved in this module, they will be described below first.
ele (r ) = (loc)
ele
(r ) + (cross)
ele
(r ) = ( wia )2 a (r ) a (r ) + wia wib a (r) b (r)
i →a i → a i →b a
i →a i a
i →a j i →a i j i a
where denotes MO wavefunction. "loc" and "cross" stand for the contribution of local term and
cross term to the hole and electron distribution, respectively. Note that the definition of hole and
electron given above is in density form rather than wavefunction form, hence the hole and electron
do not have phase (If you really need phase information of hole and electron, you should resort on
NTO analysis, see Section 3.21.6).
Due to the orthonormality of MOs and the fact that the sum of square of all configuration
coefficients is 1.0, it is clear that
229
3 Functions
(r ) d r = 1 (r ) d r = 1
hole ele
This is an important property that any reasonable definition of hole and electron distribution should
satisfy, it indicates that one electron is excited.
The overlap function between hole and electron distribution can be defined as
namely taking the minimal value of hole and ele everywhere. Another function for measuring the
overlap is
S r (r ) = hole (r ) ele (r )
It is evident that Sr is always equal or larger than Sm. Both the two definitions are reasonable, but I
prefer to use Sr, since its graphical effect is better and its mathematical meaning is more clear.
The charge density difference (CDD) between excited state and ground state can be easily
evaluated as
(r ) = ele (r ) − hole (r )
NOTE: Beware that if you are a Gaussian user, the calculated in this way is obviously different
to the produced via subtracting excited state density by ground state density, unless you specified
keyword density=rhoci when generating .wfn/wfx file of excited state. Because by default the
excited state density exported to .wfn/wfx file by Gaussian is relaxed density rather than unrelaxed
density (which is directly constructed by MOs and excited state configuration coefficients). In other
words, unrelaxed excited state density can be simply written as 𝜌excited (𝐫) = 𝜌ground (𝐫) −
𝜌hole (𝐫) + 𝜌ele (𝐫) , while deriving relaxed excited state density requires employing the very
complicated "Z-vector" method.
After generalization, above definitions of hole and electron can also be applied to TDHF and
TDDFT cases, where de-excitations must be taken into account. The generalized local terms are
(loc)
hole
= ( wia )2 i − ( wia )2 i
i →a i a
ele
(loc) = ( w ) a − ( wia )2 a
a 2
i
i →a i a
where i=|i|2stands for electron density of orbital i, w' denotes configuration coefficient of de-
excitation. The generalized cross terms are
(cross)
hole
= w w − w w
a
i
a
j i j i
a
j
a
i j
i →a j i →a i a j i a
(cross)
ele
= w w − w w
a
i
b
i a b i
a
i
b
a b
i →a i →b a i a i b a
If combining local and cross terms together, the expressions of hole and electrons could be
simply expressed as
hole = w w
i, j →a
a
i
a
j i j − w w
i, ja
i
a
j
a
i j
ele = w w
i → a ,b
a
i
b
i a b − w w
i a ,b
i
a
i
b
a b
230
3 Functions
Theory 2: Contribution of MOs, basis functions, atoms and fragments to hole and
electron distributions
In order to investigate which MOs have significant contributions to hole and electron, I defined
the contribution of occupied MO to hole and contribution of virtual MO to electron as follows
ihole = [(wia )2 − ( wia )2 ] a = [( wi ) − ( wi ) ]
ele a 2
a 2
a i
Below normalization conditions are held evidently:
i
hole
i =1
a
ele
a =1
Contribution to hole/electron by an atom can be easily evaluated using real space partition like
Hirshfeld, Hirshfeld-I and Becke. For example, contribution to hole by atom A using Hirshfeld
partition:
hole
A = wAHirsh (r ) hole (r ) d r
where 𝑤𝐴Hirsh is weighting function of atom A under Hirshfeld partition, see Section 3.9.1 for its
detail.
Mulliken-like partition is also possible, and the working equation is derived as follows.
Considering the normalization condition of the hole (de-excitation part is temporarily ignored for
simplicity)
i , j →a wi
a a
w j i j dr = 1
w w d r = 1
a a
C C
i j ,i ,j
i , j →a
w w
i , j →a
C C d r = 1
a
i
a
j ,i ,j
w w
i , j →a
a
C C
i
a
j ,i ,j S , = 1
where denotes basis function, S and C are overlap matrix and coefficient matrix, respectively. If
we employ Mulliken-like method to partition the
C C ,i S
, j , term as atomic contributions,
hole
A = ww a
i
a 1
j 2 C ,i C , j S , + C ,i C , j S ,
i, j →a A A
Above treatment can be similarly applied to de-excitation part of hole as well as electron. The
actual working equations used to evaluate atomic contribution to hole and electron are
a 1 ij
hole
A = ww a
i
a 1
j 2 T , + T ,
ij ij
− wi wj 2 T , + T ,
a ij
i , j →a A A i , j a A A
b 1 ab
ele
A = ww a
i
b 1
i 2 T , + T ,
ab ab
− wi wi 2 T , + T ,
a ab
i → a ,b A A i a ,b A A
231
3 Functions
i , j a
a
ij
ab b 1 ab
ele
= ww
i → a ,b
a
i
b 1
i 2 T , + T , − wi wi 2 T , + T ,
ab
i a ,b
a
ab
In order to significantly save computational time, Multiwfn ignores all terms if magnitude of product of
corresponding two configuration coefficients is less than 0.001. The loss of accuracy due to this trick is negligible.
For both Mulliken-like and Hirshfeld partitions, fragment contributions to hole and electron
can be simply evaluated by summing up atomic contributions:
hole
frag =
A frag
hole
A ele
frag =
A frag
ele
A
CDD
A = ele
A − A
hole
CDD
frag = frag − frag
ele hole
Overlap between hole and electron in atom and fragment spaces are defined as geometry
average of their contributions:
ovlp
A = ele
A A
hole
ovlp
frag = ele
frag frag
hole
Notice that the overlap in this form is not additive, namely A + B ovlp
ovlp ovlp
AB .
Mulliken-like partition works reasonably for most cases, however, it is incompatible with
diffuse functions. Another well-known shortcoming of this partition is that some atomic
contributions may be small negative values in certain situations, obviously in this case the overlap
between hole and electron in corresponding atomic spaces cannot be evaluated, so Multiwfn
automatically sets the overlap values to zero. Obviously, when diffuse functions must be employed
(e.g. anionic system, Rydberg excited state), or you have observed notable negative atomic
contribution to hole or electron, you have to change to Hirshfeld partition, which is more robust but
computational cost is higher.
Mulliken-like and Hirshfeld partitions can be directly selected in hole-electron analysis module.
Due to the extreme flexibility of Multiwfn, you may also use other ways to determine atomic
contributions to hole and electron, such as Becke and Hirshfeld-I partitions. However, you have to
manually evaluate them. For example, if you want to employ Becke partition for hole and electron,
you should first export cube file of hole or electron, then set "iuserfunc" in settings.ini to -1 (in this
case the user-defined function will correspond to the interpolated function based on the grid data),
then load hole or electron cube file into Multiwfn, use subfunction 1 of main function 15 to integrate
"user-defined function" in each Becke's atomic fuzzy space. Note that if in the main function 15,
you first select option -4 to define a fragment and then use subfunction 1 to integrate user-defined
function, then the sum of results of all atoms will correspond to the fragment contribution.
232
3 Functions
To characterize overlapping extent of hole and electron, Sm index and Sr index are defined as
follows (Sr must be equal or larger than Sm index)
Centroid can be calculated to reveal most representative position of hole and electron
distribution. For example, X coordinate of centroid of electron is written as
X ele = x ele (r ) d r
D index =| D | ( Dx )2 + ( Dy )2 + ( Dz )2
It is noteworthy that the variation of dipole moment of excited state (corresponding to
unrelaxed density) with respect to ground state in X, Y and Z can be simply calculated as
The RMSD of hole and electron can be used to characterize their extent of spatial distribution.
For example, X component of RMSD of hole is expressed as
H measures average degree of spatial extension of hole and electron distribution in X/Y/Z
direction, HCT is that in CT direction, and H index is an overall measure
233
3 Functions
t index = D index − H CT
If t index<0, it implies that hole and electron is not substantially separated due to CT. Clear
separation of hole and electron distributions must correspond to evidently positive t index.
The hole delocalization index (HDI) and electron delocalization index (EDI) are defined as
follows
HDI = 100 [
hole
(r )]2 d r
EDI = 100 [
ele
(r )]2 d r
It is found that the smaller the HDI (EDI), the larger the spatial delocalization of hole (electron); in
other words, the more evenly distributed throughout the system. HDI and EDI are pretty useful in
quantifying breadth of spatial distribution (although |hole| and |ele| can also reveal this point, they
are not suitable when hole or electron are concentrated in multiple areas).
There are often many nodes or complicated fluctuations in hole and electron distributions. In
order to make visual study of hole and electron easier, Chole and Cele functions are defined as follows.
The function behavior of Chole and Cele is similar to Gaussian function, they are highly smooth
functions, the value asymptotically approaches zero from centroid of hole/electron.
In fact, the definition of RMSD, Chole, Cele, H and t indices introduced above was motivated by
J. Chem. Theory Comput., 7, 2498 (2011), these quantities were originally used to analyze electron
excitation based on density difference, but I found all of them work well under the framework of
hole-electron analysis. Also note that many details of these indices have been modified when
introduced to hole-electron analysis framework.
The above defined quantitative indices could be used for distinguishing type of electron
excitation. My empirical rule is summarized as follows, it should be suitable for most cases.
234
3 Functions
Index
Excitation type
D Sr t ∆
LE small medium ~ large <0 small
Single direction CT large ? ? ?
Centrosymmetric CT small ? <0 large
Rydberg small Small <0 large
In the table, three kinds of excitations are involved:
• Local excitation (LE): The hole and electron occupy similar spatial region.
• Charge-transfer excitation (CT): The spatial separation of hole and electron is large, leading
to evident displacement of charge density. The CT may be single directional or multiple directional
(centrosymmetric CT is a special case of the latter).
• Rydberg excitation: Electron mainly consists of very diffuse MOs, therefore the overlap
between electron and hole must be small. This type of excitation in general does not lead to
prominent long-range displacement of charge density.
235
3 Functions
Note that there are many kinds of transition dipole moment, including transition electric dipole
moment, transition magnetic dipole moment, transition velocity dipole moment and so on. The word
"transition dipole moment" commonly refers to transition electric dipole moment.
X, Y and Z components of transition electric dipole moment density can be written as negative
of product of X, Y and Z coordinate variables and transition density, respectively:
Tx (r ) = − xT (r ) Ty (r ) = − yT (r ) Tz (r ) = − zT (r )
Integrating transition electric dipole moment density over the whole space yields transition
dipole moment D
Dx = Tx (r ) d r Dy = Ty (r ) d r Dz = Tz (r ) d r
Obviously, one can conveniently study contribution to transition electric dipole moment of various
molecular regions by plotting transition electric dipole moment density.
Next, we look at transition magnetic dipole moment. The operator for magnetic dipole moment
due to movement of electrons is the angular momentum operator L (see e.g. Theor. Chim. Acta, 6,
341 (1966))
L = −i (r ) = ˆiLx + ˆjLy + kˆ Lz
= −i ˆi y − z + ˆj z − x + kˆ x − y
z y x z y x
where i, j, k are unity vectors in X, Y and Z directions, respectively. Therefore, the X component of
transition magnetic dipole moment can be explicitly defined as below. Noticed that in order to
provide a real value I ignored the imaginary and negative signs simultaneously; the symbol "←"
denotes de-excitation MO pairs in TDHF/TDDFT formalism.
exc
M x = 0 y −z = wia i y − z a − wjb j y − z b
z y i→a z y j b z y
My and Mz can be defined similarly.
We can define transition magnetic dipole moment density component mi(r) by considering the
relationship M i = mi (r ) d r i = x, y, z , so that distribution of transition magnetic dipole
moment can be visualized in terms of e.g. isosurface map. Explicit expression of mi(r) of X
component is given below, Y and Z components can be defined similarly.
b
mx (r ) = wiai (r ) y a (r ) − z a (r ) − w (r) y
b
(r ) − z b (r )
z y z y
j j
i →a j b
Theory 6: Coulomb attraction between hole and electron (exciton binding energy)
The "electron" of course carries negative charge, while "hole" can be regarded as carrying
positive charge, therefore formally there is a Coulomb attractive energy between them, its negative
value is known as exciton binding energy, which is a positive value. This term can be calculated via
simple Coulomb formula (in atomic unit form):
236
3 Functions
Function 1: Visualize and analyze hole, electron and transition density and so on
After you enter this function, you are requested to set up grid data, then grid data will be
calculated for hole distribution, electron distribution, overlap of hole and electron, transition density,
transition electric/magnetic dipole moment density, charge density difference and Cele/Chole
functions.
After calculation of grid data is finished, various quantities introduced in Section 3.21.1.1 will
be evaluated based on the evenly distributed grid data and then shown on screen, their meanings
should be very easy to understand. The outputted transition electric/magnetic dipole moment is
calculated by integrating grid data of transition dipole moment density, the value should be very
close to the one directly outputted by quantum chemistry program. The ideal value of the integral
of hole or electron over the whole space is 1.0, while for transition density the ideal value is 0. If
the actual outputted values deviate too far from expected values, then the printed t index, H index,
D index, Sm index and so on may be unreliable. There are three reasons may lead to this problem:
(1) The grid quality is too poor. Higher number of grid points should be used
(2) The spatial extent of the grid data is too narrow, you should enlarge extension distance so
that the grid data could cover broader regions
(3) You forgot to use the IOp(9/40=x) option mentioned at the beginning of Section 3.21, as a
result, only very small number of configuration coefficients are loaded
In post-processing menu, grid data of hole, electron, transition density, Sm/Sr and so on can be
237
3 Functions
directly visualized as isosurface map, or be exported as cube file in current folder by corresponding
options. You can also choose corresponding option to calculate Coulomb attractive energy between
hole and electron distribution, notice that this calculation is expensive even if you only choose low
quality grid.
By default, the transition magnetic dipole moment density is not evaluated because it is less
important than the transition electric dipole moment density. If you want to calculate it, select option
-1 before entering this function.
For large systems, if computational cost for grid data is too high and you only need to
qualitatively examine isosurface map of hole, electron, transition density and so on, in Gaussian you
can safely use IOp(9/40=3) instead of IOp(9/40=4), so that smaller number of configurations will
be taken into account.
Function 3: Show atom or fragment contribution to hole and electron and plot the
contributions as heat map
After you enter this function, many quantities mentioned in "Theory 2" of Section 3.21.1.1 will
be printed on screen, below is an output example. Mulliken type of partition is used to derive the
atomic contributions.
Contribution of each non-hydrogen atom to hole and electron:
...[ignored]
In the output, the "Overlap" is simply the geometry average of "Hole" and "Electron", while "Diff."
is obtained by subtracting "Hole" from "Electron". Since hydrogens commonly do not participate in
electronic excitations of interest, by default hydrogens are ignored, but you can choose "Toggle if
taking hydrogens into account" option to switch status.
If you need contribution of molecular fragments to above mentioned quantities, you can select
option "-1 Load fragment definition" and then input the number of fragments and atomic index of
each fragment in turn. Fragment definition can also be loaded from an external plain text file, in
which each fragment occupies a line, for example
238
3 Functions
1,3,6-10,12
2,4,5
11
13-15
This example totally defines four fragments, the first fragment consists of atom 1,3,6,7,8,9,10,12.
Once defining fragments is completed, contribution of the fragments to various quantities will be
immediately printed on screen.
Composition of atom/fragment in hole and electron, as well as hole-electron overlap in various
atom/fragment spaces can be plotted as heat map, so that their distribution character can be very
vividly exhibited. Below is an example, the color corresponds to function value, while abscissa
corresponds to atom index.
From the graph, you can immediately recognize that this is a local excitation, since most part of
both hole and electron are distributed on the fragment consisted of atom 1~14. In particular, atoms
7 and 8 are the atoms that contribute most to this electron excitation. If you load fragment definition
before plotting, then the abscissa of the heat map will correspond to fragment index. In the menu,
there are also options used to adjust color scale, ratio of the map and interval between labels in X
axis.
A very detailed example of this hole-electron module is given in Section 4.18.1. Example of
analyzing transition density and transition dipole moment density using this module is given in
Section 4.18.2.1. More discussion and examples can be found from my blog article "Using Multiwfn
to perform hole-electron analysis to fully investigate electron excitation character" (in Chinese,
http://sobereva.com/434).
This function is used to plot atom transition matrix (ATM) of various kinds as heat map (color-
filled matrix map). The ATM refers to any kind of atom based matrix that represents electron
transition information between two states. For example, it may correspond to the atom based
transition density matrix (see below), the atom-atom charge transfer matrix, the atom transition
dipole moment matrix and so on. In this function, the ATM can also be further transformed to
fragment transition matrix (FTM) and then plotted as heat map.
Although this function can also plot heat map for other matrices, the major purpose of
developing this function is plotting atom or fragment based transition density matrix, therefore I
will first introduce theories related to transition density matrix.
239
3 Functions
where Ci denotes the expansion coefficient of basis function in MO i. It is worth to note in passing
that the TDM in real space representation, which is introduced in Section 3.21.1.1, can be
constructed easily via TDM in basis function representation ( stands for basis function):
T (r; r ') = Ptran (r) (r ')
The off-diagonal elements of TDM essentially represent the coupling between various basis
functions during electron excitation. Assume there are only two basis functions and meantime the
excitation can be perfectly represented as i→a MO transition, then the TDM could be explicitly
written as below form (notice that the index of the elements has been rearranged according to
convention of TDM heat map)
Ptran + Ptran
P =
tran
The TDM can be contracted to atom based form according to correspondence between basis
functions and atoms, it will be symbolized as p. In Multiwfn, below construction ways are available:
Way 1 : p AB = ( P
A B
tran 2
)
Way 2 : p AB = ( P
A B
tran 2
)
Way 4 : p AA = | P
A
tran
|, B =
p Atran ( P
A B
tran 2
)
where and denote the basis functions centered at atom A and on B, respectively. Both original
240
3 Functions
If fragments are defined, the p (or other kinds of atom transition matrix) can further be
contracted to fragment based form:
pRS =
Afrag R Bfrag S
pAB
This form is very convenient when one wishes to study role of various fragments in electron
excitation.
241
3 Functions
Input files
Since there are different types of atom transition matrix, and the matrix can be passed to
Multiwfn in different ways, there are several circumstances as shown below, you should use proper
input files. The file that should be loaded when Multiwfn boots up is always the file containing basis
function information, and it should correspond to another file that needed to be loaded when you
enter present function.
(1) Plotting heat map of p in usual way
You should load a file containing configuration coefficient information of excited states when
you enter this function (see beginning of Section 3.21). Then Multiwfn will automatically generate
TDM between ground state and you selected excited state, and at the same time you can choose if
symmetrizing the resulting TDM in aforementioned way.
(2) Plotting heat map of p based on the TDM recorded in Gaussian output file
You should load Gaussian output file of electron excitation task when you enter this function.
The keywords density=transition=x IOp(6/8=3) must be specified in Gaussian input file, so that
TDM between ground state and excited state x can be printed in output file by Link 601 of Gaussian.
Via this way, not only the TDM of CIS/TDHF/TDA-DFT/TDDFT can be plotted, but also the TDM
generated by the EOM-CCSD and semi-empirical ZINDO method can be plotted.
Note 1: The TDM outputted by Gaussian is in aforementioned symmetrized form.
Note 2: If your ground state is singlet state while you used such as TD=triplet to request Gaussian to compute
triplet excited states, then the outputted TDM will be exactly zero due to spin forbidden, and thus Multiwfn is unable
to plot corresponding TDM map. However, it is possible to draw spatial part of the singlet-triplet TDM. To do this,
you should let Multiwfn itself to generate TDM, see (1).
Note 3: If the basis set you used contains diffuse basis functions, in rare cases, the TDM outputted by Gaussian
is incorrect, and thus the resulting heat map will be useless.
In summary, if the method you are using is not ZINDO, do not let Multiwfn to load TDM directly from Gaussian
output file.
(3) Plotting heat map of p based on the TDM recorded in a plain text file
You should load a file named tdmat.txt when you enter this function, Multiwfn will read TDM
from this file. Commonly, the tdmat.txt is generated by subfunction 9 of main function 18 (see
Section 3.21.9 for detail), which can not only generate TDM between ground state and an excited
state, but can also generate TDM between two excited states. An example file has been provided as
examples\excit\tdmat.txt.
For above three cases, you can choose the way used to contract the TDM to the p.
(4) Plotting atom transition dipole moment matrix
You should load a file named one of AAtrdip.txt, AAtrdipX.txt, AAtrdipY.txt, AAtrdipZ.txt when
you enter this function, Multiwfn will read atom transition dipole moment matrix from this file.
Commonly, they are generated by subfunction 11 of main function 18 (see Section 3.21.11 for detail).
By plotting heat map of these matrices, one can easily recognize which atoms and which interatomic
couplings notably affect transition dipole moment.
(5) Plotting atom-atom charge transfer matrix
You should load a file named atmCTmat.txt when you enter this function, Multiwfn will read
atom-atom charge transfer matrix from this file. Commonly, the atmCTmat.txt is generated by
subfunction 8 of main function 18 (see Section 3.21.8 for detail). By plotting heat map of this kind
of matrix, charge transfers between various atoms or fragments as well as charge reorganization
sites can be intuitively recognized.
Hint: In fact, you can also make the tdmat.txt or AAtrdip.txt/atmCTmat.txt contain other kind of matrices so that
they can be plotted as heat map via present module. For example, you can export bond order matrix as bndmat.txt
using corresponding subfunction in main function 9, then rename it as atmCTmat.txt and delete the first line from it,
then if you load this file into Multiwfn when entering present module, the plotted heat map will correspond to the
242
3 Functions
Usage
After loading all needed files and generating all needed data as mentioned above, you will enter
the interface for plotting heat map of the atom transition matrix (ATM). Some options are self-
explanatory, others are described below:
Option 0: Showing heat map of ATM on screen. By default, labels in abscissa and ordinate of
this map correspond to indices of non-hydrogen atoms.
Option 1: The same as option 0, but save the heat map as graphical file in current folder.
Option 3: Exporting the ATM as matrix.txt in current folder, so that it can then be conveniently
plotted by some third-party tools such as Origin and Sigmaplot.
Option 4: Switching the status that if hydrogens will be included in the heat map
Option 5: Changing upper and lower limits of color scale. By default, they are automatically
set to maximum and minimum matrix elements of ATM, respectively.
Option 6: Changing the number of interpolation steps between grid data. If you want to make
the graph look smooth, it should be set to a large value (the default 10 is already quite large); if the
value is set to 1, then interpolation will not be performed, in this case each square grid in the map
exactly corresponds to a matrix element.
Option 8: Determining if performing normalization. If the status is switched to "Yes", then
normalization factor will be applied so that the sum of all elements of ATM is equal to unity.
If you select option "-1 Define fragments", fragment definition can be directly inputted or be
loaded from a plain text file, which should look like below, each fragment occupies a line:
1,3,6-10,12
2,4,5
11
13-15
Then Multiwfn will contract the atom transition matrix to fragment transition matrix (FTM). After
that, the matrix to be plotted or exported in present module will be FTM instead of ATM
Theory
In the paper J. Chem. Theory Comput., 9, 3118 (2013), r index was proposed to measure CT
length during electron excitation. The r can be expressed as
r = ri a
i ,a
243
3 Functions
( Kia )2
ri =
a
r − r
( Kia )2 a a i i
i, a
The index i and a run over all occupied and virtual MOs, respectively. is orbital wavefunction.
Assume that the method you used to calculate electron excitation is CIS or the TDDFT under Tamm-
Dancoff approximation, then 𝐾𝑖𝑎 is simply the configuration coefficient corresponding to excitation
of i→a. While if the method you used is TDHF or TDDFT, then 𝐾𝑖𝑎 = 𝑤𝑖𝑎 + 𝑤′𝑎𝑖 , where 𝑤𝑖𝑎 and
𝑤′𝑎𝑖 denote the configuration coefficient corresponding to excitation of i→a and de-excitation of
ia, respectively.
r is especially useful for diagnosing when certain classes of DFT functionals are failure for
TDDFT purpose. When r is large, pure functionals such as BLYP and PBE, and the hybrid
functionals with low Hartree-Fock exchange composition such as B3LYP and PBE0, will not work
well. In this case, long-range corrected functionals should be employed; for instance, CAM-B3LYP
and ωB97XD.
It is worth to mention that if an electron excitation can be perfectly represented by one pair of
MO transition, then the r index and D index defined in hole-electron analysis framework will be
exactly identical in principle:
r = a r a − i r i r a (r ) d r − r i (r ) d r
2 2
However, their values outputted by Multiwfn should be marginally different, since they are
evaluated based on different numerical integration algorithms.
Usage
The input files needed by present module have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states.
After entering present function (subfunction 4 of main function 18), you will be prompted to
select the excited states for which the r will be calculated, then the results will be printed on screen
immediately.
If you only selected one state, then Multiwfn will ask you to choose if decomposing the r into
orbital pair contributions. If you inputted e.g. 0.01, then orbital pairs which have contribution to r
larger than 0.01 will be printed. From the output, you can easily identify which orbital pairs have
significant contribution to charge-transfer of electron excitation.
Theory
244
3 Functions
In the paper J. Chem. Theory Comput., 7, 2498 (2011), the authors proposed a method for
analyzing charge-transfer (CT) during electron transition, present function fully implements this
analysis method. It is also probable that this method can be used to study CT in other processes,
such as formation of molecular complex. In the original paper, the author only discussed the cases
when charge-transfer is in one-dimension, while in Multiwfn this scheme has been generalized to
three-dimension case. In addition, some quantities introduced below are not proposed in the original
paper but proposed by me, definition of some quantities in the original paper have also been
modified by me to make the analysis more meaningful.
The electron density variation between excited state (EX) and ground state (GS) is
(r ) = EX (r ) − GS (r )
Notice that the geometry used in calculating EX and GS must be identical, otherwise the resulting
will be meaningless. Therefore, present function can only be used to characterize "vertical"
process. can be divided into positive and negative parts, namely + and −. Of course, the integral
of + and -− over the whole space should be equal. If evident inequality is observed, that means the
error in numerical integral is unneglectable, and higher quality of grid (i.e. larger number of grid
points) is required. Even though what you analyzed is single-electron excitation, the magnitude of
+ and − as well as their integrals over the whole space in principle can also be larger than 1.0, this
is because excitation of an electron must lead to reorganization of distribution of the rest of electrons,
which also make contribution to .
The transferred charge qCT is the magnitude of the integral of + and − over the whole space.
It is important to correctly recognize the physical meaning of this quantity. qCT only corresponds to
the total amount of charge whose distribution is perturbed during electron excitation, it does not
correspond to net charge transfer from one fragment to another fragment (e.g. from donor group to
acceptor group)
The barycenter of positive and negative parts of can be computed as
R + = r + (r ) d r / + (r ) d r
R − = r − ( r ) d r / − ( r ) d r
The Cartesian component coordinates of R+ will be referred to as X+, Y+, Z+ below, while that of R−
will be referred to as X−, Y−, Z−.
The distance between the two barycenters measures the CT length, its three Cartesian
components:
Dx = X + − X − Dy = Y+ − Y− Dz = Z + − Z −
length.
The dipole moment variation caused by electron excitation can be evaluated as
245
3 Functions
a , = a (r )( '− a ) 2 d r
a (r ) d r
where a={+,-}, ’={x,y,z}, ={X, Y, Z}. x, y and z are Cartesian components of position vector r.
For example, +,y can be explicitly written as
+, y = + (r )( y − Y+ ) 2 d r
+ (r ) d r
The difference between RMSD of + and − in X/Y/Z direction can be measured via , while
overall difference can be measured via the index
= + , − −, = {x, y, z}
index =| σ + | − | σ − |
It is noteworthy that D index is zero for exactly centrosymmetric systems, therefore, it is useless for
discussing CT problem of such kind of system. However, index is often useful to identify this
type of excitation, since in this case index must be large because diffuseness extent of + is much
higher than −.
C+ and C− functions are defined aiming for visualizing CT more intuitively than . Their
structures are similar to Gaussian function, the value asymptotically approaches zero from the
centroid of the function.
( x − X + ) 2 ( y − Y+ ) 2 ( z − Z + ) 2
C + (r ) = A+ exp − − −
2 2
2 2
2 2
+,x +, y +, z
( x − X − ) 2 ( y − Y− ) 2 ( z − Z − ) 2
C − (r ) = A− exp − − −
2 2
2 2
2 2
−, x −, y −, z
The normalization factor A is introduced so that the integrals of C+ and C− over the whole space are
equal to that of + and −, respectively.
H measures average degree of spatial extension of − and + in X/Y/Z direction, HCT is that in
CT direction, and H index is an overall measure:
H = ( + , + − , ) / 2 = {x, y, z}
H CT =| H uCT |
H index = (| σ + | + | σ − |) / 2
where uCT is unit vector in CT direction and can be straightforwardly derived using centroid of −
and +.
t index measures separation degree of + and −:
t index = D index − H CT
If t index<0, it implies that − and + are not substantially separated due to CT. Clear separation of
− and + distributions must correspond to evidently positive t index.
I defined another quantity to measure overlapping extent between C+ and C−:
246
3 Functions
S+− = C+ (r ) / A+ C− (r ) / A− d r
If the value equals to 1, that means the two functions are completely superposed, else if the value
equals to zero, it indicates that the distribution of them are completely separated. This index is
dimensionless.
Usage
Because all numerical integrals mentioned above are computed based on evenly distributed
grid data, user needs to generate grid data of by using custom operation of main function 5, see
Section 3.7.1, or load a file (e.g. cube file) containing grid data of density difference when Multiwfn
boots up. After that, enter subfunction 3 of main function 18, all aforementioned quantities will be
shown on screen immediately. The "Overlap integral between C+ and C-" term is the S+− introduced
above. In the post-processing menu, user can choose to visualize C+ and C−, or export grid data for
the two functions to cube file in current folder.
This function is used to calculate transition electric/magnetic dipole moment between all states
(including both ground state and excited states). This function is also able to print electric dipole
moment for each state.
For two states i and j, the transition electric dipole moment is defined as i|-r|j; when i=j,
this quantity corresponds to electric dipole moment of this state contributed by electrons. The
transition electric dipole moment is formally defined as −ii|r|j, but the moment outputted by
this function corresponds to i|r|j.
The input files needed by present function have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states. If
you need very accurate transition dipole moments, you should use IOp(9/40=5) keyword of
Gaussian or TPrint 1E-10 keyword of ORCA to make the program print as much configuration
coefficients as possible.
After you enter present function, summary of all excitations will be printed. "Normalization"
should be as close as possible to expected value (0.5 and 1.0 for closed- and open-shell reference
states, respectively). If the deviation is large, then the resulting transition dipole moments must have
large error, and you must make your quantum chemistry program output more configuration
coefficients.
In the interface you can use option 0 to choose the type of (transition) dipole moments to be
calculated, by default they are electric, but you can change to magnetic. You can use options 1 ~ 4
to choose the task to conduct, see below, in which options 3 and 4 are available only if the (transition)
dipole moment to be calculated is set to electric.
247
3 Functions
• Option 1: Output transition electric dipole moments between all states (including both ground
state and excited states) to screen
• Option 2: The same as 1, but output to transdipmom.txt in current folder.
• Option 3: Generate input file of SOS module of Multiwfn as SOS.txt in current folder. Then
if you use the SOS.txt as input file, you can use SOS module to evaluate (hyper)polarizability, see
Section 3.27.2 for detail.
• Option 4: Output electric dipole moment of each excited state to dipmom.txt in current folder.
Note that both electronic and nuclear contributions to the value are taken into account (this is clearly
different to the values corresponding to i=j cases printed by option 1 and 2, which only considers
contribution from electrons).
If the output file of quantum chemistry program includes both singlet and triplet excited states,
for example, you used TD(50-50) keyword in Gaussian and reference state is closed-shell, only
aforementioned tasks (1) and (2) are available, and transition dipole moment of all singlet-singlet
pairs (including ground state) and triplet-triplet pairs will be calculated by Multiwfn and outputted
separately, while singlet-triplet pairs are ignored because due to spin-forbidden the result must be
zero. In addition, excitation energies between S0 and all excited states are printed at the end of
output. This function is of great importance if you want to use PySOC code to calculate spin-orbit
coupling matrix element, see my blog article "Using Gaussian+PySOC to calculate spin-orbit
coupling matrix element under TDDFT" (http://sobereva.com/411, in Chinese) for detail.
There is a parameter "maxloadexc" in settings.ini, if this value is not 0 (default) and the actual
number of excited states is higher than this value, then only the first "maxloadexc" excited states
will be loaded and subjected to transition electric dipole moment calculation.
Calculation of transition dipole moments between excited states is quite time-consuming for
large systems. However, if you only need them between ground state and excited states, the data can
always be quickly calculated. In this case, before starting calculation, you should select option “-1:
Toggle if only calculating between ground and excited states” to change its status to “Yes”, then
transition dipole moments between excited states will not be calculated and printed.
Appendix
The formulae used to derive transition electric/magnetic dipole moment between electronic
states used in the present function are given as follows
(1) Transition electric dipole moment between ground state and an excited state K:
248
3 Functions
where w and w’ are coefficients of excitation and de-excitation configurations respectively. i and a
denote indices of occupied and unoccupied molecular orbitals, respectively.
(2) Transition magnetic dipole moment between ground state and an excited state K:
occ vir occ vir
M 0→ K = w K
i ,a i r a − wi,Ka i r a
i a i a
See Eqs. 22 and 24 in J. Chem. Phys., 66, 3460 (1977) on why the consideration of excitations
and de-excitations is different for evaluating electric and magnetic transition dipole moments.
(3) Transition electric/magnetic dipole moment between excited states K and L:
occ vir occ vir
TK → L = wiK,a wLj ,bV iajb
i a j b
with
i vˆ a (i = j , a b)
− vˆ a (i j , a = b)
V iajb = 0 i
v − i vˆ i + a vˆ a (i = j , a = b)
0 (i j , a b)
occ
v 0 = l l vˆ l
l
where 𝑤 ̃ denotes both w and w’. v0 corresponds to ground state property with being orbital
occupancy. The operator 𝐯̂ = −𝐫 is for transition electric dipole moment and 𝐯̂ = 𝐫 × ∇ is for
transition magnetic dipole moment. For TD case, the V terms between excitation and de-excitation
configurations is simply ignored. In addition, when calculating V terms between de-excitation
configurations, it is replaced with −V.
Theory
This function is used to generate natural transition orbitals (NTOs). NTO was proposed in J.
Chem. Phys., 118, 4775 (2003), it has become a very popular and useful way to analyze character
electron excitation obtained by single-reference methods.
Transition of electronic state is often not predominated by only one MO pair, in many cases
multiple MO pair transitions simultaneously have non-negligible contributions, which can be
evaluated as square of corresponding configuration coefficient. This fact brings great hindrance of
analyzing electron excitation character by simply visualizing related MOs. The NTO method aims
to relieve this difficulty, it separately performs unitary transformation for occupied MOs and virtual
MOs, so that only one or very few number of orbital pairs have dominant contributions.
The basic procedure of yielding NTOs is outlined below:
(1) Generating transition density matrix in MO basis (T). Assume that the system has nocc
occupied MOs and nvir virtual MOs, then T has dimension of (nocc, nvir), its (i,l) element is simply
249
3 Functions
constructed as
Ti ,l = wia
where i<nocc, l<nvir and a=l+nocc. 𝑤𝑖𝑎 stands for configuration coefficient corresponding to i→a
orbital transition. Note that for TD formalism, there may be some de-excitations, their configuration
coefficients are simply ignored in constructing the T.
(2) Generating temporary matrix for occupied and virtual orbitals, respectively
Evidently, both Tocc and Tvir are square matrices, their dimensions are nocc and nvir, respectively.
(3) Diagonalizing Tocc and Tvir to obtain eigenvalues and eigenvectors
−1 −1
Uocc Tocc Uocc = Λ occ U vir Tvir U vir = Λ vir
(4) The diagonal terms of occ and vir are eigenvalues of occupied and virtual NTOs,
respectively. For the former, the eigenvalues are commonly sorted from low to high, while for the
latter, the eigenvalues are commonly sorted from high to low. A NTO pair consists of an occupied
NTO and a virtual NTO sharing the same eigenvalue. Eigenvalue of a NTO pair multiplied by 100
is just its percentage contribution to the electron excitation.
For CIS and TDA-DFT, the range of eigenvalue must be 0.0~1.0. However, in the TDHF and
TDDFT cases, due to presence of de-excitations, which is not explicitly considered in the NTO
analysis, it is possible that a NTO pair has eigenvalue slightly larger than 1.0, in this situation you
can simply treat it as 1.0 (However, if the value is much larger than 1.0, the TDDFT result may be
unreliable, and I suggest using TDA-DFT instead).
(5) MOs are transformed to NTOs via unitary transformation matrix U
NTO
Cocc = Cocc
MO
Uocc NTO
Cvir = CMO
vir U vir
MO MO
where 𝐂occ and 𝐂vir are coefficient matrix of occupied MOs and virtual MOs in original basis
functions, respectively; their columns correspond to different MOs. The counterpart matrices with
NTO superscript denote coefficient matrix of occupied and virtual NTOs.
250
3 Functions
According to my experiences, NTO analysis often works equally well as the hole-electron
analysis introduced in Section 3.21.1, namely both of them are able to avoid necessity of inspecting
many MOs when discussing electron excitation. An additional advantage of NTO analysis over hole-
electron analysis is that the orbital phase information is retained; however, in some cases NTO
analysis completely fails, namely even after transformation from MO to NTO representation, there
is still no dominant orbital pair transition. Clearly in this case you have to resort to hole-electron
analysis.
Theory background
The ghost states are spurious very low-lying charge transfer (CT) excited states with excitation
wavelength usually around 1000 nm or more, they result from evidently incorrect asymptotic
behavior of exchange potential of pure DFT functionals or the hybrid functionals having low
Hartree-Fock exchange composition in long range electron interaction. Since the ghost states are
unreal states, they should be ignored when discussing electron excitations and plotting electronic
spectra. When ghost states are identified, then DFT functionals with relatively high global HF
exchange composition (e.g. M06-2X and BH&HLYP), or long-range corrected functional (e.g.
B97XD), or range-separated functional with high HF exchange composition at long range of
electronic interaction (e.g. CAM-B3LYP), should be employed to get rid of them.
The lower bound of TDDFT excitation energy of a CT state can be expressed as
𝜔low = 𝐼𝑃𝐷 − 𝐸𝐴𝐴 − 1/𝑅
where IPD is ionization potential of electron donor moiety (energy consumption of leaving an
electron), EAA is electron affinity of electron acceptor moiety (its negative is energy lowering due
to receiving an electron), and R denotes the electrostatic interaction between the hole and electron
after the CT excitation. According to Koopmans’ theorem, IP−HOMO, EA−LUMO, and we assume
that the excitation fully corresponds to HOMO→LUMO transition, where HOMO and LUMO are
completely localized in donor and acceptor regions respectively, we have
𝜔low − 𝜀HOMO + 𝜀LUMO − 1/𝑅
In practice, electron excitation is contributed by multiple orbital transitions, so weighted MO
energies should be employed instead. In addition, the R may be estimated using DCT index (see later).
So, the above equation can be converted to
( wi )
a 2
1
low = ( a − i ) −
i , a ( wi )
a 2
DCT
i ,a
term 2
term 1
where i and a denote occupied and virtual MOs, respectively. The summation loops all TDDFT
configurations. w is configuration coefficient. stands for MO energy.
In J. Comput. Chem., 38, 2151 (2017), the authors proposed ghost-hunter index (MAC) to
251
3 Functions
diagnose if an excited state yielded by current TDDFT calculation may be a ghost state. The MAC is
simply the low shown above.
Notice that in the original MAC paper, they erroneously used w rather than w2 in the above
equation, and the sign in front of a is wrong, these problems have been fixed in their later
publication J. Chem. Phys., 154, 204102 (2021). This paper and the original MAC paper did not
explicitly mention how to deal with de-excitation configurations, in the implementation in Multiwfn,
all de-excitation configurations are ignored.
Since the MAC corresponds to the theoretical lower bound of CT excitation energy calculated
by TDDFT (ETDDFT), in the paper of ghost-hunter index, it is argued that
𝐸TDDFT < 𝑀AC → ghost CT state
𝐸TDDFT > 𝑀AC → real CT state
Ghost-hunter index is undoubtedly useful, however, according to my experience, this criterion is
often too stringent. I suggest only regard ETDDFT<MAC as a necessary rather than sufficient condition
for determining presence of ghost CT state.
Theory
Interfragment charge transfer is a very important phenomenon in electron excitation process. I
252
3 Functions
devised an albeit simple but quite useful way of evaluating amount of interfragment charge transfer
between any number of fragments, the method is described below (to be published publicly). This
method will be referred to as IFCT (InterFragment Charge Transfer).
The IFCT method contains three steps:
(1) Calculating atomic contribution to hole and electron (see introduction of the concept of hole
and electron in Section 3.21.1.1)
(2) Calculating fragment contributions to hole and electron by summing up atomic
contributions
(3) Constructing interfragment charge transfer matrix Q. Its (R,S) element corresponds to the
electron transfer from fragment R to fragment S during the excitation:
QR , S = R ,hole S ,ele
where R,hole and S,ele denote contribution of fragment R to hole and contribution of fragment S to
electron, respectively. Above formula is very easy to comprehend, it essentially assumes that
electron transfer from R to S is proportional to both composition of R in hole (where electron leaves)
and composition of S in electron (where electron goes).
By the way, it is easy to show that variation of electron population of a fragment evaluated in
above way is quite reasonable:
It is easy to comprehend that this is a quite reasonable way of evaluating variation of electron
population of fragment R, and thus well demonstrated reasonableness of the interfragment charge
analysis formalism introduced above.
In addition, it is worth to note that sum of amount of interfragment transferred electrons and
amount of intrafragment redistribution electrons exactly equals to unity, reflecting the fact that only
one electron is excited:
253
3 Functions
Q
R S R
R,S + QS , S
S
= QR , S
R S
= R , hole S , ele
R S
= R , hole S , ele
R S
=1
Usage
The input files needed by the IFCT analysis have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states.
After entering this function, you need to choose the method for calculating fragment
distribution to hole and electron, and select the excited state to be studied, then input the total number
of fragments, after that you should define each fragment in turn by inputting atomic indices. If you
prefer to load fragment definition from a plain text file, you can input 0 when Multiwfn let you set
the total number of fragments, then you can input the path of the file containing fragment definition,
the file format should look like below, definition of each fragment occupies a line:
1,3,6-10,12
2,4,5
11
13-15
254
3 Functions
If in this step you input -1, Multiwfn will not carry out regular IFCT analysis but export a file named
atmCTmat.txt in current folder, this file records atom-atom charge transfer matrix, whose element
is defined as QA,B = A,holeB,ele. If you input path of this file after entering the function used to plot
atom/fragment transition matrix (see Section 3.21.2), this matrix could be plotted as heat map so
that you can visually study its matrix elements.
Once definition of fragments is completed, Multiwfn will calculate and print contribution of
all defined fragments to hole and electron, as well as amount of electron transfer between fragments.
In addition, net electron transfer as well as variation of electron population of each fragment are
also printed. Below is an output instance:
Variation of population number of fragment 1: -0.25313
If two fragments are defined, then both intrinsic and apparent CT(%) and LE(%) will then be
printed, while if more than two fragments are defined, only intrinsic CT(%) and LE(%) are printed.
Usually Mulliken-like partition is reasonable choice for evaluating fragment contribution to
hole and electron, see "Theory 2" of Section 3.21.1.1 for detail of this method. However, diffuse
functions must not be employed in this case, otherwise the result may be very misleading. Hirshfeld
method is more robust and fully compatible with diffuse functions, but it is evidently more
expensive. When diffuse functions do not occur, the IFCT result under Mulliken-like partition and
Hirshfeld partition are in good agreement with each other.
255
3 Functions
occ vir
Ptran = wiK,aCiC a
i a
where w corresponds to coefficient of the configurations involved in the excitation, Ci denotes the
expansion coefficient of basis function in MO i. Excitation and de-excitation cases are not
distinguished in this context (PS: The TDM constructed in this way is suitable for studying transition
electric dipole moment, but not suitable for studying transition velocity and magnetic dipole moment,
see Eqs. 22, 23 and 24 in J. Chem. Phys., 66, 3460 (1977)).
(2) TDM between two selected excited states K and L:
occ vir occ vir
PKL = wiK,a w Lj ,bViajb
i a j b
CaC b (i = j , a b )
−C C (i j , a = b )
Viajb = i j
P − CiC i + CaC a (i = j , a = b )
0 (i j , a b )
where P is density matrix of ground state. For TD case, the V between excitation and de-excitation
configurations is simply ignored. In addition, when calculating V between de-excitation
configurations, it is replaced with −V.
Once generation of TDM has been finished, you can choose if symmetrizing the TDM. There
are two ways
The way 1 is reasonable and should be used in common case. However, it should be noted that the
TDM generated by Gaussian program corresponds to the one symmetrized by way 2, therefore you
should choose way 2 if you want the resulting TDM follows convention of Gaussian.
The generated matrix will be outputted to tdmat.txt in current folder. You can also choose to
output TDM.fch in current folder, whose “Total SCF Density” field will correspond to TDM (this
file is useful if you would like to calculate TrEsp type of atomic transition charges by making use
of cubegen utility in Gaussian, see Section 4.A.9 for detail).
Note that when ground state and excited state have different spin multiplicities, due to the
orthonormality of spin coordinates, although in principle the transition density matrix should be
zero, the outputted matrix is not, because Multiwfn only takes spatial part of the MOs into account
during constructing the matrix.
The input files needed by present function have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states.
The example in Section 4.18.2.4 and Section 4.18.9 utilized present function.
256
3 Functions
Appendix: Derivation of the formula of evaluating TDM between two excited states
The TDM between two excited states K and L in real space representation is
where the excited state wavefunctions are represented by linear combination of singly excited Slater
determinants
occ vir occ vir
K = wiK,a ia L = w Lj ,b bj
i a j b
We have
occ vir occ vir
T KL (r; r ') = wiK,a w Lj ,b ia (r, r2 , , rN ) bj (r ', r2 , , rN ) d r2 d rN
i a j b
=0 (i j, a b)
= ahb (i = j, a b)
=− j h i (i j, a = b)
N
= p h p − i h i + a h a (i = j , a = b)
p
Without performing the integral and view the h operator as 1, based on the above relations we
have
0 (i j , a b )
wi ,a wi ,b a (r ) b (r ') (i = j, a b)
K L
i a b
L
N
wi ,a wi ,a p (r ) p (r ') − i (r )i (r ') + a (r ) a (r ') (i = j, a = b)
K
i a p
Given that
T KL (r; r ') = PKL (r ) (r ')
k (r ) = C k (r )
where is basis function, we can finally reach the formula or evaluating PKL shown earlier in this
section. For example, in the case of i=j, ab:
T KL (r; r ') = wiK,a wiL,b a (r ) b (r ')
i a b
P KL
= w w CaC b K
i ,a
L
i ,b
i a b
257
3 Functions
Theoretical chemists often prefer to study electron excitations in terms of molecular orbital
transitions, this function helps them in this respect. This function decomposes transition electric or
magnetic dipole moment from ground state to an excited state of interest as molecular orbital pair
contributions to provide users a deeper insight into electron excitation.
Theory
As mentioned in Section 3.13.1, oscillator strength (f) of an electron excitation directly relates
to the integral area of the corresponding absorption peak. f has direct relationship with transition
electric dipole moment Dtran (in atomic unit):
2
f = E | D tran |2
3
where E denotes the transition energy between the two electronic states. Clearly, Dtran is a crucial
quantity of electron excitations and largely determines optical absorption. Dtran between ground state
and an excited state is calculated as follows
Dtran = ( wi ,a + wi,a ) i − r a
i ,a
where i and a loop over all occupied and virtual MOs, respectively. w and w are configuration
coefficient of excitations and de-excitations, respectively. denotes molecular orbital wavefunction.
It is clear that the transition dipole moment can be straightforwardly decomposed into contribution
of various MO pairs. Via such a decomposition, one can easily study why some excitations have
relatively large oscillator strength and thus have strong absorption, and why some excitations only
have small oscillator strength and thus they are difficult to observe in electronic spectrum.
Transition magnetic dipole moment Mtran is also an important quantity of electron excitation,
because Mtran and Dtran collectively determine rotatory strength, which determines electronic circular
dichroism (ECD) and circularly polarized luminescence (CPL) spectra. Mtran between ground state
and an excited state is calculated as follows
M tran = (wi ,a − wi,a ) i r a
i ,a
Obviously, Mtran can also be straightforwardly decomposed into contribution of various MO pairs.
Usage
The input files needed by present function have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states when
you enter this function.
In this function, you will be asked to select the type of transition dipole moment, and will be
prompted to choose the excited state for which the transition dipole moment will be decomposed as
MO pairs, then a menu appears. You can select corresponding option to make Multiwfn output
contribution of every MO pair to transdip.txt in current folder, or let Multiwfn sort the MO pairs
according to their contributions to transition dipole moment and then output the first few or dozens
of terms, so that you can immediately identify the most important MO transitions. In addition, you
258
3 Functions
can request Multiwfn to only output MO pairs with contribution larger than a given threshold.
This function is used to decompose the transition electric or magnetic dipole moment between
ground state and a selected excited state, or between two excited states, into contributions from
various basis functions and atoms. The result is exported to trdipcontri.txt. Therefore, from which
you can easily examine which part of the system has significant impact on excitation properties such
as oscillator strength.
There are many possible ways to realize the decomposition. In this function Mulliken-like
partition is employed due to its simplicity. The contribution of basis function μ to transition electric
dipole moment vector is evaluated as
D = Ptran − r +
1
2
(Ptran − r + Ptran − r )
and the contribution of basis function μ to transition magnetic dipole moment vector is evaluated as
M = Ptran r +
1
(
2
Ptran r + Ptran r )
where Ptran is transition density matrix from ground state to the excited state of interest. The
contribution from an atom is simply the sum of the contribution from the basis functions belonging
to it.
Since Mulliken partition is incompatible with diffuse functions, the decomposition result is
unreliable if diffuse functions are presented in the basis set you used. In this case, the best way to
study contribution from various atoms is visualizing the transition dipole moment density (see
Section 3.21.1).
This function also asks you if outputting atom transition dipole moment matrix, if you choose
y, then X, Y, Z components of the matrix will be exported to AAtrdipX.txt, AAtrdipY.txt, AAtrdipZ.txt
in current folder, respectively, the matrix elements are defined as follows (I take atom-atom
contribution matrix of transition electric dipole moment as example, the matrix for transition
magnetic dipole moment is defined similarly and thus not explicitly shown here)
DAX, B = P
A B
tran
− x
DYA, B = P
A B
tran
− y
DAZ, B = P
A B
tran
− z
𝑋
For example, the term 𝐷𝐴,𝐵 corresponds to joint contribution of A-B atomic pair to X component of
259
3 Functions
transition dipole moment, the sum of all elements of DX equals to X component of transition dipole
moment of current system. Total transition dipole moment matrix (sum of square of X, Y, Z) is
exported as AAtrdip.txt in current folder. All of these .txt files can be directly plotted as colored
matrix map (heat map) by atom transition matrix plotting module (see Section 3.21.2 for detail).
The input files needed by present function have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states when
you enter this function.
This function is used to calculate atomic transition charges, which is useful for studying
Coulomb coupling between ground state and excited state (exciton coupling) of two molecules, see
e.g. J. Phys. Chem. B, 110, 17268 (2006) and Photosynth. Res., 111, 47 (2012).
Transition population of a basis function μ derived by Mulliken method is
tran = Ptran + S ( Ptran + Ptran ) / 2
So, the Mulliken atomic transition charge of atom A should be − tran . Sum of all atomic
A
transition charges must be zero because the total number of electrons keeps unchanged during
electron excitation.
The input files needed by present function have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states when
you enter this function. After that, you should choose the excited state for which the Mulliken
transition charges will be calculated. Then the result will be outputted to atmtrchg.chg file in current
folder, the format of this kind of file has been introduced in Section 2.5, the last column of this file
corresponds to the transition charges.
Note that in Multiwfn it is also possible to calculate the TrEsp (transition charge from
electrostatic potential) introduced in J. Phys. Chem. B, 110, 17268 (2006), which is derived by ESP
fitting method based on transition density. See Section 4.A.9 on how to do this. For studying exciton
260
3 Functions
coupling purpose, TrEsp should work better than Mulliken atomic transition charge, but for large
systems, cost of evaluating the former is is significantly higher than the latter.
This function is used to generate natural orbitals (NOs) for a batch of selected excited states,
and then export the NOs as .mwfn file. After that, if you want to perform wavefunction analysis for
an excited state, you can simply load corresponding .mwfn file. Of course, you can also calculate
e.g. density difference between two excited states using corresponding two .mwfn files via custom
operation feature of main functions 3, 4 and 5.
To use this function, you should load a file containing basis function information, and then load
a file containing configuration coefficients when you enter this file, see beginning of Section 3.21
for detail. After that, you will be prompted to input the indices of the excited state for which NOs
will be generated. For each selected excited state, the program will do below steps:
(1) Generating density matrix of excited state PES (note that the density matrix constructed in
this way corresponds to unrelaxed density):
P rs = Cr CTs
− w w P +
a
i
a
j
ij
wia waj Pij
i →a j i →a i a j i a
(2) Diagonalizing the PES to yield NOs. Each NO is an eigenvector of PES, the accompanied
eigenvalue is occupation number of the NO.
(3) Exporting information of basis function and NOs to .molden file. If the excited state you
selected is 2, then they will be exported as NO_0002.mwfn in current folder.
This function supports both closed-shell and open-shell reference states. For the latter case,
density matrices of alpha and beta spins are calculated separately, and natural orbitals of alpha and
beta spins are generated and exported to the .mwfn file respectively.
261
3 Functions
Theory
In the paper J. Chem. Phys., 128, 044118 (2008), index was proposed to distinguish types of
electron excitations. The form of the index and the r index (see Section 3.21.4) is very similar.
index can be expressed as
= ia
i ,a
( Kia )2
( Kia )2 i a
ia = (r ) (r ) d r
i, a
All quantities involved in above expression are identical those in r index. The integral corresponds
to overlap extent of the MO i and a, it is calculated numerically via Becke's multicenter grid-based
integration approach. The default grid is a good compromise between cost and accuracy; if you want
to change it, you can set "iautogrid" in settings.ini to 0 and then specify "radpot" and "sphpot" in
settings.ini as your expected values. Note that calculation cost of the index is by far higher than
the r index, because of the above numerical integral step is expensive, especially for large systems.
The theoretical lower and upper limits of the index are 0.0 and 1.0, respectively; the former
(latter) corresponds to the case that hole and electron are completely separated (perfectly
overlapped).
As the r index, the index is useful for distinguishing type of electron excitations. Notice
that their intrinsic characteristics are different, the r index is essentially an indicator of
configuration weighted orbital separation distance, while index reflects configuration weighted
orbital overlapping extent. In some sense, the physical nature of r and indices are similar to the
D and Sr indices defined in hole-electron analysis framework, respectively (see Section 3.21.1.1),
however I believe that the D and Sr indices are more reasonable, since their physical meanings are
more clear and couplings between different configurations are fully taken into account. Therefore,
without special reasons, using D and Sr indices is more recommended.
It is worth to mention that if an electron excitation can be perfectly represented by one pair of
MO transition, then the index and Sr index defined in hole-electron analysis framework will be
exactly identical in principle:
= i (r ) a (r ) d r
Sr = hole (r ) ele (r ) d r = i (r ) a (r ) d r = i (r ) a (r ) d r
2 2
However, their values outputted by Multiwfn should be marginally different, since they are
262
3 Functions
Usage
The input files needed by present module have been detailedly described at the beginning of
Section 3.21, namely you should load a file containing basis function information when Multiwfn
boots up, and then load a file containing configuration coefficient information of excited states.
After entering present function (subfunction 14 of main function 18), the matrix containing
overlap integral between norms of all occupied and unoccupied MOs will be evaluated first, then
you will be prompted to select the excited states for which the will be calculated, then the results
will be printed on screen immediately.
If you only selected one state, then Multiwfn will ask you to choose if decomposing the into
orbital pair contributions. If you inputted e.g. 0.01, then orbital pairs which have contribution to
larger than 0.01 will be printed.
This is a useful function used to show major MO transitions for all excited states, so that you
can quickly recognize basic characteristics of various excited states in terms of MOs.
Below is an example. Boot up Multiwfn and input
examples\excit\D-pi-A.out // Output file of TDDFT task of Gaussian
18 // Electron excitation analysis
15 // The present function
You can see below information immediately, including excitation energy, spin multiplicity,
notable MO transitions and their contributions of each excited state.
# 1 3.9069 eV 317.35 nm f= 0.01880 Spin multiplicity= 1:
H-2 -> L 54.5%, H -> L+1 27.6%, H-3 -> L+1 6.4%
H -> L+3 57.3%, H-2 -> L 17.0%, H-1 -> L+2 8.8%, H-1 -> L 8.0%
From above output, for example, we can find HOMO-4 → LUMO transition contributes 81.9% to
the excitation from ground state to S1 state.
For open-shell cases, orbital spins are explicitly indicated. For example, Ha-4 means
HOMOalpha−4.
By default, only MO transitions with contribution larger than 5% are printed. The printing
threshold corresponds to 10 times of "compthres" parameter in settings.ini.
263
3 Functions
This function is used to calculate data for plotting the charge-transfer spectrum (CTS). At the
meantime, major characters given by IFCT analysis of all excited states are presented.
The idea of CTS was firstly proposed by me in Carbon, 187, 78-85 (2022) DOI:
10.1016/j.carbon.2021.11.005 for studying spectrum nature of C18@Li complex, please cite this
paper if this method is employed in your study.
Theory of CTS
Please first recall the hole-electron analysis introduced in Section 3.21.1. For every excited
state, it is able to calculate hole and electron distributions. Using Mulliken-like partition or Hirshfeld
partition, contributions of various fragments to hole and electron can be calculated. Then, according
to the IFCT analysis introduced in Section 3.21.8, amount of intrafragment electron redistribution
and amount of interfragment electron transfer can be calculated. Sum of all redistribution terms and
electron transfer terms of an excited state equals to unity.
As introduced in Section 3.13.1, UV-Vis spectrum is obtained via broadening excitation
energies (Eexc) and oscillator strength (f) of all excited states by Gaussian function (G).
Mathematically, the spectrum curve is expressed as
( E ) = c fi G( E − Eiexc )
i
where (E) is molar absorption coefficient at energy E. i loops over all excited states. c is a constant.
The CTS aims at graphically exhibit contribution of electron transfer component and
redistribution component to UV-Vis spectrum. The idea is very simple, and only the f will be
modified. Assume there are two fragments, A and B, then the absorption curve of CTS corresponding
to electron transfer from A to B is expressed as
A, B ( E ) = fiQiA, BG( E − Eiexc )
i
where 𝑄𝑖𝐴,𝐵is amount of electron transfer from A to B of excited state i.
The absorption curve of CTS corresponding to electron redistribution within fragment A is
expressed as
A, A ( E ) = fiQiA, AG( E − Eiexc )
i
A, A ( E ) + B , B ( E ) + A, B ( E ) + B , A ( E ) = ( E )
It is obvious that charge-transfer spectra are able to make the underlying nature of significant
peaks of UV-Vis spectrum very easy to recognize. In order words, the total UV-Vis spectrum is
decomposed as different subparts corresponding to different physical natures.
264
3 Functions
An example of calculating IFCT data for a batch of excited states and plotting CTS is given in
Section 4.18.16.
265
3 Functions
(1960). This method minimizes below quantity, so that the spatial distribution range of all orbitals
become as small as possible
Boys
= i (r1 )(r1 − r2 )2 i (r2 )d r1 d r2 i =| i |2
i
1
= i (r1 ) i (r2 ) d r1 d r2
ER
i | r1 − r2 |
The ER method is highly deprecated, because it needs evaluation of two-electrons integral, which
is very complicated; furthermore, transformation of the integral from AO basis to MO basis is very
expensive. Although in a few papers some people argue that ER method has better physical meaning
and the computational cost can be considerably reduced via introducing resolution-of-identity
technique, I never think there is any convincing reason to employ ER method instead of FB, so ER
method is not supported by Multiwfn.
The most popular orbital localization method is PM. The essence of PM localization is to
maximize below quantity, so that distribution range of all orbitals can be shrunk as much as possible
P = ( p iA ) 2
i A
In the original paper of PM method J. Chem. Phys., 90, 4916 (1989), pAi corresponds to Mulliken
population of atom A in MO i. While in J. Chem. Theory Comput., 10, 642 (2014), it was shown
that other population methods such as Löwdin, Hirshfeld, Becke, AIM can also be used in
combination with PM and obtaining reasonable result. Currently PM method based on Mulliken,
Löwdin and Becke populations are supported in Multiwfn.
Algorithm details
If you are not interested in the implementation details of the orbital localization methods, you
can safely skip this part.
The maximization or minimization of above mentioned quantities can be done via Jacob sweep
algorithm, which is employed in the original paper of the orbital localization methods and still be
prevalently used until now. This method has lower efficiency than the later developed sophisticated
methods such as unitary optimization and trust region; however, the Jacob sweep is very simple and
works well for most cases, in particular when only occupied orbitals are needed to be localized,
therefore this algorithm is employed in Multiwfn.
The working equation of PM localization based on various population methods are largely
identical, see Eq. 9 of J. Comput. Chem., 14, 736 (1993), they only differ in the definition of the
term Q, which is needed to be computed in each iteration of Jacob sweep for every orbital pair.
For PM localization based on Mulliken population (PM-Mulliken method), the term Q
corresponding to orbitals i and j for atom A is
QAij = 12 [C iC j + CiC j ]S
A
where and correspond to basis function index and the latter cycles all basis functions.
For PM-Löwdin method, because the basis functions have been orthonormalized by Löwdin
266
3 Functions
If the SC matrix is calculated and stored in memory before Jacob sweep and updated frequently
during iteration, the summation for index can be completely ignored. In fact, because symmetric
diagonalization step of Löwdin method is time-consuming for large system, the overall cost of PM-
Mulliken is generally lower than PM-Löwdin.
In the PM-Becke, namely PM localization based on Becke population (see Section 3.9.8), the
Q is written as
QAij = ciTS Ac j
A
S = (r )wA (r ) (r)d r
where SA is atomic overlap matrix between basis functions at atom A, the wA(r) is Becke weighting
function of atom A, the is basis function, ci stands for the column array of expansion coefficients
of orbital i. The cost of PM-Becke method is high, especially for large systems, this is not only
because calculating atomic overlap matrices for all atoms by numerical integration is quite time-
consuming, but also the Q term is calculated numerous times during the whole localization process
while each time expensive matrix multiplications are involved.
Regarding the FB method, because it involves transformation of dipole moment integrals from
AO to MO basis, which requires large amount of arithmetic operations, it is more expensive
compared to PM-Mulliken and PM-Löwdin, but the cost is significantly lower than PM-Becke.
267
3 Functions
Due to the robustness and very low cost of PM-Mulliken method, it is chosen as the default
orbital localization method in Multiwfn. If you want to change to other methods, use option "-6 Set
localization method".
In the interface, you can use option 1 to choose to localize occupied MOs only, or use option 2
to localize both occupied and unoccupied MOs (the two set of orbitals will be localized separately,
i.e. no mixture between occupied and unoccupied orbitals is allowed). For unrestricted
wavefunctions, the alpha and beta parts are treated separately. Via option 3 you can localize specific
subset of MOs; in other words, only specific MOs are allowed to be mixed during localization. This
feature enables you to realize special purposes, for example, obtaining fully or semi- localized MOs
in certain region by selecting proper MOs.
Orbital localization is an iterative process, thus you should set criterion of convergence and
maximum number of cycles. The default values are commonly appropriate and need not to be
modified. The convergence status is printed during iteration, for all localizations methods, the
change of P = ( p )
i A
i 2
A is used for judging convergence.
Once the localization is converged, orbital composition of all resulting LMOs will be calculated
and major characters of the LMOs are printed. By default, the robust Hirshfeld method is employed
for evaluating orbital compositions (see Section 3.9 for detail), but you can also change to other
methods via option "-9 Set the method for calculating orbital composition" before the orbital
localization.
Finally, the LMOs are exported to new.fch in current folder, and then Multiwfn automatically
loads it, after that you can analyze the localized orbitals in various ways; for example, plotting them
as isosurfaces by main function 0 or performing orbital composition analysis by main function 8. If
you do not want to let Multiwfn automatically load the newly generated new.fch, you can choose
option -3 once to switch the status.
268
3 Functions
FLMO = C T FAO C
where FAO is the Fock matrix in original basis functions, C(,i) corresponds to coefficient of basis
function in LMO i. Energy of LMO i is simply the diagonal term FLMO(i,i).
If you want to obtain energy of LMOs in this way, you should choose option “-4 If calculating
and print orbital energies” before starting orbital localization. Then you can choose two ways to
provide the FAO: (1) Generate it based on energies and coefficient matrix of MOs via FAO=SCEC-1
relationship (2) Input path of a file containing FAO, then the matrix will be loaded, see Appendix 7
of this manual for details.
R i = i r i
269
3 Functions
“Yes”, after performing orbital localization, you will be asked to choose if also performing dipole
moment analysis for occupied LMOs. If you input y, then you will have LMOdip.txt, which contains
dipole moment analysis result for all occupied LMOs. In order to make you correctly understand
the output, below I describe the details.
The contribution of electron of an occupied LMO to dipole moment of the whole system is
Di = i − r i
This vector for all LMOs is outputted as “Contributions of all occupied LMOs to system dipole
moment” in the LMOdip.txt file.
However, this quantity is unable to be directly used to measure polarity of a LMO. Given that
r = (r-rc)+rc, where rc is a fixed point, the above quantity can be rewritten as follows
we can define a quantity di, which measures dipole moment of the orbital with respect to the rc:
di = − i r − rci i = Di + rci
If we properly choose the rc for an orbital, then the di may be able to reflect polarity of the LMO.
For each LMO that identified as single-center one, the rc is automatically set to be the position
of the atom having largest contribution to the LMO. Therefore, the di represents deviation of
centroid of the LMO electron distribution with respect to the nuclear position. These {d} are printed
as “Single-center orbital dipole moments (a.u.)” in the LMOdip.txt.
For each LMO that identified as two-center one, assume that the two atoms with largest
contributions are A and B, the rc is set to
RB RA
rc = rA + rB
RA + RB RA + RB
where rA and RA are nuclear position and covalent radius of atom A, respectively. Similarly for atom
B. The rc locates at center of the bonding region, therefore the di, which exhibits deviation of
centroid of LMO electron distribution from rc, is capable of revealing the bond polarity. These {d}
are printed as “Two-center orbital dipole moments (a.u.)” in the LMOdip.txt.
For closed-shell case, the printed d data are multiplied by a factor of 2, because the LMOs are
doubly occupied. For open-shell case, the d of alpha and beta LMOs are printed separately.
As byproducts, dipole moment of the whole system, as well as nuclear contribution and
electronic contribution are also printed at the beginning of the LMOdip.txt. It is important to notice
that even if there is no more delocalized LMOs, the sum of d of all LMOs is generally unequal to
the dipole moment of the whole system.
BTW: In fact, only when sum of the rc vectors in all d equals to − ∑𝐴 𝑍𝐴 𝐫𝐴, namely exactly
cancels the nuclear contribution to the system dipole moment, the sum of all d will be equal to the
system dipole moment. If one wants to satisfy this point, the (rA+rB)/2 should be employed as rc for
all two-center LMOs, and all LMOs should just correspond to a Lewis structure of current system.
Of course, these conditions are not met in present implementation of LMO analysis (but met in the
“DIPOLE” analysis of NBO theory). Note that if (rA+rB)/2 is taken as rc and meantime you use the
d of two-center LMOs to measure bond polarity, ridiculous result will be obtained, for example you
will find C-H is even much more polar than O-H!
270
3 Functions
Examples of orbital localization analysis are provided in Section 4.19. The examples of LOBA
method (Section 4.8.4) and Section 4.100.22 also utilized the present function.
Visual study of weak interaction has become increasingly popular, and numerous related
analysis methods were put forward. Main function 20 of Multiwfn is a collection of these analysis
methods.
My book chapter “Visualization Analysis of Weak Interactions in Chemical Systems”
Comprehensive Computational Chemistry, Vol. 2 pp. 240-264. Oxford: Elsevier. DOI:
10.1016/B978-0-12-821978-2.00076-3 is a very comprehensive and detailed review article
introducing all methods about visual study of weak interactions, it is strongly recommended to read
this article.
The noncovalent interaction (NCI) method, which is also known as reduced density gradient
(RDG) method, is a very popular method for studying weak interaction. The theory of NCI method
is described in its original paper J. Am. Chem. Soc., 132, 6498 (2010). In this section, I will detailedly
introduce the basic idea of this method and illustrate how to realize it in Multiwfn. If you just want
to learn how to plot the color-filled RDG map, you can directly jump to “Part 3” of this section. It
is also strongly recommended to look at this video tutorial: https://youtu.be/e4FpVc9ao48, you will
very quickly learn how to plot various maps related to the NCI analysis.
If you can read Chinese, you are also suggested to check my blog article "Visual research of weak interaction
by Multiwfn" (in Chinese, see http://sobereva.com/68) and "Some key points and common problems of carrying out
RDG analysis via Multiwfn+VMD" (in Chinese, see http://sobereva.com/291).
Around nuclei Around chemical bond Weak interaction region Boundary of molecule
The definition of the RDG function is shown below, it is essentially a dimensionless form of electron
271
3 Functions
1 (r )
RDG(r ) =
2(3 )2 1/3
(r)4/3
For remaining regions ("Around chemical bond" and " Weak interaction region"), if we only
keep the region where (r) is small, then only weak interaction region will be revealed.
Now I use phenol dimer to exemplify this idea, we will calculate grid data of RDG function
and visualize it as isosurface. Boot up Multiwfn and input following commands
examples\PhenolDimer.wfn // Any format containing GTF information can be used as input
file, see Section 2.5 for detail
5 // Generate grid data
13 // RDG function
7 // Use middle point of two atoms as center of grid data, this way of defining spatial scope is
very suitable for weak interaction analysis
1,14 // The indices of the two atoms are set to 1 and 14, because from molecular structure (see
below graph) we can estimate that the weak interaction region occurs between C1 and C14
40,40,40 // The weak interaction region is small, so 40*40*40=64000 grid is fine enough
3,3,3 // Set extension distance (buffer distance) in all X/Y/Z directions to 3 Bohr
-1 // Show the isosurface of RDG
Please make sure that the isovalue in the GUI window is set to 0.5, which is suitable for
visualizing weak interaction regions (if the isovalue is too small, then RDG isosurface will be too
thin and thus ugly; if too large, then unwanted “Around nuclei” and “Around chemical bond”
regions will appear). Now you can see below graph in the GUI window:
The green isosurface represents the weak interaction region between phenol dimer very clearly.
Notice that by default, RDG function is set to an arbitrarily large value (100.0) where electron
density is larger than or equal to 0.05, so that the isosurfaces in the region “around chemical bond”
can be shielded. The threshold is determined by “RDG_maxrho” parameter in settings.ini file. The
default 0.05 is suitable for visualizing weak interaction regions for most cases. If you do not want
to enable the screening treatment due to special reason, you can set “RDG_maxrho” to 0.
The cubic blue frame in above graph shows spatial scope of the calculated grid data, it is only
visible when “Show data range” is checked in the GUI window. Because the extension distance
from center of the grid data was set to 3.0 Bohr, the side length is 2*3=6 Bohr.
272
3 Functions
High-resolution of the above labelled color bar is examples\RGB_bar.png, you can directly embed it into figures
of your paper.
Current Multiwfn does not support plotting color-filled isosurface graph, however, we can use
Multiwfn to generate cube file for sign(2) and RDG, and then use plotting script of VMD to draw
such map. VMD is one of the best visualization tool and can be freely downloaded at
http://www.ks.uiuc.edu/Research/vmd. Here I illustrate how to do this for phenol dimer by using
subfunction 1 of main function 20. This time we do not only want to study the weak interaction
region between the two monomers, but also want to examine the steric effect within in aromatic ring
of phenol, therefore the spatial scope of grid data should cover the entire dimer.
Boot up Multiwfn and input following commands
examples\PhenolDimer.wfn
20 // Visual study of weak interaction
1 // NCI analysis
-10 // Set extension distance in all directions with respect to molecular boundary
0 // Because weak interaction regions only appear in internal region of present system, we do
not need to leave a buffer region at system boundary, so we set the extension distance to 0 Bohr
2 // Medium quality grid (about 512000 points). Because the spatial scope of grid data is
evidently larger than last example, we need more grid points than last example, otherwise the the
RDG isosurfaces will look discrete
I first discuss the characteristics of various kinds of regions via scatter graph, I think it will be
273
3 Functions
helpful to understand the nature and idea of the NCI method. Select option -1 in the post-processing
menu, a scatter graph immediately pops up (you can also select option 1 to export this graph as file):
In the graph, the X-axis and Y-axis correspond to sign(2) and RDG functions, respectively;
each point in the graph corresponds to a grid point in 3D space. There are four spikes, the points at
their peaks are just the approximate CP positions in AIM theory. If you draw a horizontal line on the
graph as below, then the segments crossing the spikes just correspond to the points used to construct
the RDG isosurfaces. Hence, the NCI analysis method can be regarded as an extension of the AIM
theory for visual study. The spikes can be classified into three types, I marked them by blue, green
and red circles, as shown above.
Then close the scatter map, select option 3 to export grid data of sign(2) and RDG as
func1.cub and func2.cub in current directory, respectively, then copy the two files as well as the
RDGfill.vmd file in “examples” folder to VMD installation directory. The RDGfill.vmd is a plotting
script of VMD written by me. Boot up VMD, select "file"-"Load state", choose RDGfill.vmd
(alternatively, you can directly input source RDGfill.vmd in console window), you will see below
graph below in OpenGL window.
274
3 Functions
The default RDG isosurface is 0.5, the color range is -0.035 to 0.02. You can manually edit the
RDGfill.vmd to change the default settings, the current values are suitable for general cases.
From the color-filled RDG isosurface, we can identify different types of regions by simply
examining their colors. Recall the color scale bar I showed previously, the bluer implies the stronger
attractive interaction; in current graph it can be seen that the elliptical slab between oxygen and
hydrogen atoms shows light blue color, so we can conclude that there is a hydrogen bond, but not
very strong. The interaction region marked by green circle can be identified as vdW interaction
region, because the mapped color is green or light brown, which shows that the electron density in
this region is low. Obviously, the regions at the center of the two rings correspond to strong steric
interaction, since they are filled by red.
275
3 Functions
the smoother the resulting isosurfaces. Too large grid spacing will result in severe jaggies at the
edges or hole at internal regions of the isosurfaces. It is easy to comprehend, if the box size (i.e.
spatial range of grid data) keeps fixed, then the higher number of grid points you set, the smaller the
grid spacing will be. Clearly, the box should be properly defined, its spatial range should not be too
broad, otherwise the grid spacing will be large and thus lowers the graph quality; it should also not
be too narrow, otherwise the interesting RDG isosurfaces may be truncated. The best practice is to
make the box just enclose the interesting region. Then, if you can afford high computational cost,
you can use as large number of points as possible to improve the final isosurface quality.
Note that the "low/medium/high quality grid" options in the interface of setting up grid are
relative to small or medium sized systems. If the system is huge and you have to employ large box,
even "high quality grid" will correspond to relatively large grid spacing, and thus the graphical
quality is not satisfactory. In this case, you should use the option "4 Input the number of points or
grid spacing in X,Y,Z, covering whole system" and manually input a reasonable grid spacing value.
Below is an illustration of various grid setting for the phenol dimer system, the value denotes
grid spacing. From this plot you can intuitively understand how grid spacing influences the result.
276
3 Functions
277
3 Functions
• NCI+ELF map: As introduced in Section 2.6 and illustrated in relevant examples in Sections
4.4 and 4.5, the ELF (electron localization function) is very useful function for exhibiting character
of chemical bonds. Clearly, plotting NCI map and ELF isosurfaces together can convey more
information. Part 5 of this video tutorial illustrated how to realize this by Multiwfn in combination
with VMD: https://youtu.be/e4FpVc9ao48.
278
3 Functions
The default color range in this plotting script is from -0.035 to 0.02, if you intend to correlate this
map with RDG color-filled map, you should ensure that the color scale setting in RDGscatter.gnu
and RDGfill.vmd are completely identical.
If you find difficulty in reproducing this map, please follow part 2 of this video tutorial:
https://youtu.be/e4FpVc9ao48.
Special skill 2: Interactively set RDG value where sign(2) is in specific range
Multiwfn allows you to interactively set RDG value where sign(2) is in specified value range,
using this feature you can easily screen unwanted regions. Here I continue the phenol dimer example
described in “Part 2” and illustrate how to screen RDG isosurface corresponding to the H-bond from
the graph. From the original scatter map, we find that the H-bond region corresponds to sign(2)
range of -0.035 ~ -0.015, therefore we can input below command in post-processing menu
-2 // Set RDG value where sign(2) in within given data range
-0.035,-0.015 // The lower and upper limit of sign(2)
100 // Set RDG value in these regions to an arbitrarily large value to screen RDG isosurface
Then, if you select option -1 to plot the scatter map again, you will see
279
3 Functions
Clearly the spike corresponding to H-bond no longer exists. We can also export the cube files and
use VMD redraw the color-filled map, as shown below, the H-bond RDG isosurface has indeed
disappeared.
Notice that the original grid data cannot be retrieved once modified as exemplified above.
Generating wavefunction and calculating grid data of RDG and sign(2) for large system are
very time-consuming, which greatly hinders application range of NCI analysis method. Fortunately,
it is shown that the NCI analysis based on promolecular density is also reasonable in general. The
so-called promolecular density is the electron density approximately constructed by superposing
electron density of atoms in their free-state, this is known as “Promolecular approximation”. High
quality free-state atomic electron density for almost all elements in periodic table are predetermined
280
3 Functions
and built-in, hence NCI analysis based on promolecular density can be in principle used for any
system in Multiwfn.
To carry out NCI analysis under promolecular approximation, just choose subfunction 2 in
main function 20, all operation steps are completely identical to regular NCI analysis. Since only
atom coordinate information is required for constructing promolecular density, any input file
containing atomic coordinate information can be used as input file, such as the popular .pdb and .xyz
formats.
The VMD plotting script for NCI analysis based on promolecular density is offered as
examples\RDGfill_pro.vmd, which is slightly different to examples\RDGfill.vmd in the default
setting of color scale and isovalue.
By default, RDG value is automatically set to 100.0 where is larger than 0.1 when
promolecular approximation is used, this threshold may not be suitable for certain circumstances.
You can manually change the threshold by “RDGprodens_maxrho” in settings.ini.
Example of performing NCI analysis based on promolecular density is given in Section 4.20.1
and illustrated as part 3 of this video: https://youtu.be/e4FpVc9ao48.
Theory
In J. Chem. Theory Comput., 9, 2226 (2013), the NCI method described in last sections is
extended to analyzing fluctuation environment (e.g. molecular dynamics trajectory), resulting in the
averaged NCI (aNCI) method. This method is also carefully reviewed in DOI: 10.1016/B978-0-12-
821978-2.00076-3. Present function aims at realizing the aNCI analysis.
The only difference between aNCI and the original NCI method is that in the former, the
electron density and its gradient norm || are not calculated for only one geometry, but for
multiple frames in a trajectory file, then get average (namely 𝜌̅ and ̅̅̅̅
∇𝜌). Therefore, the isosurface
of averaged reduced density gradient (aRDG)
1 | (r ) |
aRDG(r ) =
2(3 )2 1/3
(r )
4/3
can be directly used to reveal the averaged weak interaction regions for a dynamics process.
Similarly, in order to exhibit averaged weak interaction type, in aNCI method, the λ2 term in
sign(λ2) function is obtained as the second largest eigenvalue of the averaged electron density
Hessian matrix computed throughout the dynamical trajectory.
aNCI method also defines a new quantity named thermal fluctuation index (TFI) to reveal the
stability of weak interaction
std [ (r)]
TFI(r) =
(r)
whose numerator is standard deviation of electron density in the dynamical trajectory, which can be
calculated as
281
3 Functions
[ (r) − (r)]
i
2
std [ (r )] = i
n
where n is the number of frames in consideration, i is the density calculated based on the geometry
of frame i. After mapping TFI on the isosurface of aNCI, the stability of each weak interaction region
can be clearly identified by visually examining the colors.
The quality of aNCI graph directly depends on the number of frames that taken into account.
Small number of frames, for example 50 frames, can only leads to inaccurate and very unsmooth
isosurface graph. In general, at least 500 frames should be used to generate aNCI graph.
Usage
Firstly, note that since calculating electron density based on wavefunction for large number of
geometries is very expensive, promolecular approximation is forced to be used in the aNCI analysis
function of Multiwfn. This approximation is reasonable and always works well.
The trajectory stored in .xyz file format is acceptable as input file. You can use such as VMD
program to convert other format of trajectory files to .xyz trajectory file.
PS: The structure of a multiple frame .xyz file looks like below
[Number of atoms in frame 1]
[Element, x, y and z of atom 1 in frame 1]
[Element, x, y and z of atom 2 in frame 1]
...
[Element, x, y and z of atom n in frame 1]
[Number of atoms in frame 2]
[Element, x, y and z of atom 1 in frame 2]
[Element, x, y and z of atom 2 in frame 2]
...
[Element, x, y and z of atom n in frame 2]
[Number of atoms in frame 3]
...
In all of the frames, the coordinate of the molecule of interest should be fixed. For example, if
you want to study the weak interaction between solvents and a benzene molecule, then the position
of the benzene must be fixed throughout the whole trajectory. Note that the molecule of interest
should be far away from box boundary so that it is always surrounded by environment atoms.
After you enter present function, you will be prompted to input the frame range to be analyzed,
for example inputting 140,450 means the frame from 140 to 450 will be used in the aNCI analysis.
Then you need to set up grid, the spatial range of the box should properly enclose the molecule of
interest. After that, averaged electron density, averaged density gradient and averaged density
Hessian will be calculated for each frame, you should wait patiently. Once the calculation is finished,
you can use corresponding options to draw scatter graph between averaged NCI and averaged
sign(λ2), output scatter points, export their cube files, etc. Thermal fluctuation index can also be
calculated and export to cube file.
282
3 Functions
Sometimes ELF and RDG are used in combination to simultaneously investigate covalent and
noncovalent interactions, see J. Chem. Theory Comput., 8, 3993 (2012) for example. Is it possible
to study both kinds of interactions by a single real space function? The answer is yes. In J. Chem.
Theory Comput., 10, 3745 (2014) the authors proposed a function named density overlap regions
indicator (DORI), it was found that if properly choosing an isovalue, both covalent and noncovalent
interaction regions can be exhibited by DORI isosurface, and sign(2) can also be mapped on to
DORI isosurfaces to facilitate analysis of the nature of interactions.
The expression of DORI is
(r )
DORI(r) =
1 + (r )
To plot the sign(λ2) mapped DORI isosurface map, enter subfunction 5 of main function 20,
the subsequent operations are exactly identical to NCI analysis. After exporting the grid data of
sign(λ2) and DORI as cube files by option 3 in post-processing menu, you can then copy them
along with examples\DORIfill.vmd to VMD folder, then boot up VMD and execute the plotting
script DORIfill.vmd to plot the color-filled isosurface map.
I do not recommend to use DORI, because the interaction region indicator (IRI) introduced in
Section 3.23.8 is not only defined in a simpler way and thus the computational cost is lower, but
also the graphical effect of IRI is significantly better.
Preface
In Phys. Chem. Chem. Phys., 19, 17928 (2017), Hénon et al. proposed a useful way for visually
studying interfragment and intrafragment interactions, it is named as Independent Gradient Model
(IGM). Note that currently IGM has three versions:
(1) IGM based on promolecular density. This is the original version of IGM proposed in 2017,
the function introduced in this section implements this form of IGM, only molecular structure is
needed in the analysis.
(2) IGM based on gradient-based partitioning (GBP). This version was proposed in
ChemPhysChem, 19, 724 (2018) and requires actual molecular electron density. This is not
supported by Multiwfn.
(3) IGM based on Hirshfeld partition (IGMH). This version was proposed by me, see Section
3.23.6 for details. The IGMH is more expensive than IGM and meantime wavefunction must be
283
3 Functions
provided in input file, the advantage of IGMH is that the result is more meaningful and the graphical
effect is significantly better than IGM. Whenever computational cost is affordable, I always suggest
using IGMH instead of IGM.
Idea of IGM
A complete and easy-to-understand overview of IGM method can be found in J. Comput.
Chem., 43, 539 (2022) DOI: 10.1002/jcc.26812 and in DOI: 10.1016/B978-0-12-821978-2.00076-
3. Below I only outline the key idea of IGM method. Let us first look at a very simple system, the
H2 molecule. The atomic density in free-state of each atom along the molecular axis is shown below
From above graph one notices that the gradient of atomic density of the two atoms in the interatomic
region have opposite signs. For example, at the position of X=1.2, the density gradient of H1 is
negative, while that of H2 is positive. Therefore, in the gradient of promolecular density (the curve
g in the following map), the contribution from the two atoms largely cancel with each other in the
region between the two atoms. Note that at the midpoint of the two hydrogens, g is exactly zero,
such point corresponds to bond critical point (BCP) in AIM theory under promolecular density.
In above map, the gIGM is IGM type of density gradient, it is calculated as sum of absolute
value of density gradient of each atom in their free-states; in other words, phase is ignored and thus
the density gradients originating from various atoms do not cancel with each other. Due to this
feature, gIGM is upper limit of g.
g function is defined as the difference between gIGM and g, it is plotted as deep blue curve in
above map. It can be seen that g is non-zero in the interatomic interaction region, and has maximum
value at the midpoint of the bond. Clearly, g could be used to reveal interaction regions like IRI
function (see Section 3.23.8). In addition, as will be illustrated in the examples in Section 4.20.10,
magnitude of g in interaction region has close relationship with interaction strength.
For three-dimensional cases, gIGM and g can be defined as follows
284
3 Functions
g (r ) =
i
i
free
(r ) g IGM (r ) = ifree (r )
i
g (r ) = g IGM
(r ) − g (r )
The 𝜌𝑖free stands for spherically averaged density of atom i in its free state. Such atomic density for
almost all elements is directly available in Multiwfn, see Appendix 3 for detail.
Based on the idea of gIGM and g, the IGM method also defines ginter and gintra aiming to study
interfragment and intrafragment interactions, respectively
g inter (r ) =
A iA
i
free
(r )
g IGM,inter (r ) = ifree (r )
A iA
where A and i are index of fragments and atoms, respectively. The fragments can be arbitrarily
defined according to character of actual system and research purpose. Note that the above
expressions of ginter and gintra are general forms proposed by me and implemented in Multiwfn,
they were not explicitly given in the IGM original paper.
The idea of ginter is easy to understand from above formula. One first calculate density gradient
in usual way as ginter, and then calculate the gIGM,inter, which ignores cancellation effect of density
gradient of various fragments due to possible different phases; then the difference between gIGM,inter
and ginter, namely ginter, must be able to reveal the interaction between the fragments. The g reveals
all kinds of interactions in present system, irrespective of the type is interfragment or intrafragment.
Therefore, if ginter is subtracted from g, the remaining part, namely gintra, must be capable of
revealing intrafragment interactions.
In Section 3.23.1, it is shown that interaction region and interaction type can be simultaneously
exhibited by plotting RDG isosurface map colored by sign(2) function. Similarly, if sign(2)
function is mapped on ginter and gintra isosurfaces using various colors, the type and position of
inter- and intra-fragment interactions could also be vividly revealed.
, j = δgi , j (r )d r = [ gi , j (r ) − gi , j (r )]d r
δGipair i A, j B
IGM
where
gi , j (r ) = ifree (r ) + free
j (r )
, j (r ) = i
giIGM (r ) + free
free
j (r )
285
3 Functions
δGipair
, j (%) =
δGipair 100%
,j
δG
kA lB
pair
k ,l
Since definition of G (%) is so simple, it is certainly not expected that it is able to accurately
pair
represent contribution of atomic pairs to interaction energy between two fragments, however
Gpair(%) should be able to identify “hot” atomic pairs, which may indeed have large actual
contribution to interfragment binding.
I also defined atomic g index (Gatom) to quantify importance of atom to interfragment
interaction
δGiatom = δGipair
,j
jB
δGiatom
δG atom
(%) = 100%
i
δG atom
jA
j
When plotting molecule structure, if atoms are colored according to the Gatom or Gatom(%), the
relative importance between various atoms to interfragment interaction can be vividly exhibited.
Inspired by the IBSI (intrinsic bond strength index) introduced in Section 3.11.9, I defined
IBSIW (IBSI for weak interaction) as follows
Gipair
IBSIW (i, j ) = 100 ,j
(d i , j )2
where di,j is distance between atoms i and j in Å. My preliminary test showed that IBSIW has
somewhat better ability to distinguish interaction strengths. Clearly, the larger the IBSIW, the
stronger the interaction. Since in Multiwfn the Gpair is given in a.u., the formal unit of IBSIW
should be a.u./Å2.
286
3 Functions
of corresponding interaction.
The options in post-processing menu are self-explanatory, I briefly describe them here:
-1: Suboptions 1, 2 and 3 of this option are used to draw scatter map of g, ginter, gintra vs.
sign(2), respectively. While suboption 4 is used to draw ginter and gintra vs. sign(2)
simultaneously with different colors. As shown in the original paper of IGM, this kind of map is
useful for discussing details about interactions (recall that RDG vs. sign(2) scatter map is
frequently involved in NCI analysis). If you want to directly save the scatter map in current folder
as graphic file, use option 1. If the default axis range is not appropriate, use option -2 or -3 to adjust.
2: If you want to draw scatter map using third-part softwares such as Origin and gnuplot, use
this option to export data of g, ginter, gintra and sign(2) to plain text in current folder. Meaning
of each column of this file is shown on screen.
3: Output grid data of sign(2), g, ginter and gintra to cube file in current folder. After
exporting the cube files, you can use IGM_inter.vmd and IGM_intra.vmd scripts in "examples"
folder to draw color-filled ginter and gintra isosurfaces map in VMD, respectively. See examples of
Section 4.20.10.
4: This option is used to directly visualize isosurface of sign(2), g, ginter or gintra in
Multiwfn.
5: This option is used to set gintra to zero where sign(2) is not within specified value range.
By this option uninterested regions could be screened from gintra scatter and isosurface maps. For
example, we merely want to study weak intrafragment interactions, then we can input the range
corresponding to relatively small value of sign(2). (The aim of this option resembles the
“RDG_maxrho” parameter used in NCI analysis)
6: This option is used to evaluate quantitative indices. If you have defined more than two
287
3 Functions
fragments, here you need to choose two fragments for which the indices will be calculated. Multiwfn
will compute g grid data of every atomic pair between the two fragments and calculate integral of
the g function to derive the indices. The integrals are calculated using Becke's multi-center
integration method, there are several choices of integration grids, the better the grid, the more
accurate the result, but the higher the cost. Once the calculation is complete, atmdg.txt will be
outputted to current folder, which records all Gatom, Gatom(%), Gpair and Gpair(%), the values are
sorted from high to low. The sum of all Gpair is also outputted at the end. Then the program asks
you if also outputting atmdg.pdb in current folder, which contain coordinate of all atoms in present
system. The "beta" and “occupancy” fields (the data in the second and third columns from last) of
this file correspond to atom g index multiplied by 10 and percentage atom g index, respectively.
Clearly, if you load one of them into VMD visualization program and color the atoms according to
“beta” or “occupancy” property, then relative importance of various atoms to interfragment
interactions can be intuitively identified.
At the same time of outputting atmdg.txt, IBSIW indices for atom and atomic pairs are also
exported to IBSIW.txt in current folder.
7&8: These two options are used to set value of g and ginter functions respectively if the
sign(2) at corresponding grid is out of specific range. Clearly, these options are useful when you
want to screen unwanted region from IGM isosurface map. For example, you only want to visualize
isosurface of ginter where sign(2) is within -0.04 ~ -0.025 a.u., then you can enter option 8, input
-0.04,-0.025 and then input 0 to set ginter of these grids to zero; next, you can plot the updated scatter
map or export cube files to visualize IGM map in VMD.
If your input file contains GTF or basis function information (e.g. mwfn, .wfn, .fch, .molden),
when carrying out IGM analysis, Multiwfn will let you choose the type of the sign(2) to be used,
the first one is that based on actual electron density, the second one is that based on promolecular
density. Using the former should give more meaningful result, however, calculation the cost for the
former is evidently higher than that of the latter (if your input file only contains atomic coordinate
information, the latter one is always used).
Several examples of IGM analysis are given in Section 4.20.10. More discussions and instances
about IGM method can be found in my blog article "Investigating intermolecular weak interactions
via Independent Gradient Model (IGM)" (in Chinese, http://sobereva.com/407).
As shown in Section 3.23.5, the original version of IGM is calculated purely based on density
of atoms in their free states, namely promolecular approximation is used. A different form of IGM
was proposed by me named as "IGM based on Hirshfeld partition of molecular density" (IGMH). A
very detailed article introducing theory background of IGMH and containing very rich examples is
J. Comput. Chem., 43, 539 (2022) DOI: 10.1002/jcc.26812. An erratum about implementation was
288
3 Functions
later published as ChemRxiv (2022) DOI: 10.26434/chemrxiv-2022-g1m34. Please cite these papers
if your research utilized IGMH analysis. IGMH method is also reviewed in DOI: 10.1016/B978-0-
12-821978-2.00076-3.
The key difference compared to IGM is that, in IGMH the atomic densities involved in
definition of g, ginter and gintra are derived based on Hirshfeld partition, namely 𝜌𝑖Hirsh (𝐫) =
𝜌(𝐫)𝑤𝑖 (𝐫), where is the electron density of the whole system calculated based on wavefunction,
and the Hirshfeld weighting function of atom i is expressed as
ifree (r ) ifree (r )
wi (r ) = =
pro (r ) freej (r )
j
pro
where 𝜌𝑖free
is spherically averaged electron density of atom i in its free state, 𝜌 corresponds to
promolecular density, the index j loops over all atoms.
In the IGMH analysis, the sign(2) function is always calculated based on actual electron
density. Clearly IGMH is evidently more expensive than IGM, since both gradient and Hessian of
actual electron density must be evaluated.
The significant advantages of IGMH over IGM are three:
(1) The graphical effect of isosurface map is much better. The isosurfaces of g or ginter
function defined in IGM are often too bulgy, and sometimes the color according to mapped function
sign(2) on them are unreasonable; in contrast, the shape of the g function calculated in terms of
IGMH is thinner and thus easier to examine and compare, at the meantime the misleading coloring
issue is always avoided.
It is worth to note that the isosurface of g in IGMH is close to the isosurface of reduced density gradient (RDG),
which is employed in the NCI method (see Section 3.23.1). The advantage of the former is that the isosurface looks
smoother, and unsightly jagged edges in the RDG isosurface is highly avoided.
(2) The physical meaning of IGMH is more rigorous than IGM, since all factors that influence
distribution of electron density during formation of the system have been intrinsically taken into
account.
(3) For some chemical bond interactions, IGM is completely failed to reveal their real
characters since electron distribution changes significantly during formation of bonds, while IGM
is fully based on promolecular approximation and thus ignores this crucial effect. In contrast, IGMH,
has a markedly better capability in revealing chemical bonds, see original paper of IGMH for
comparison.
Due to above reasons, using IGMH instead of IGM is always strongly recommended if the
system is not quite large and thus the computational cost is affordable.
It is also worth noting that ginter of IGMH is also a stand-alone function, it corresponds to the
91th user-defined function. Therefore, you can easily check its value at bond critical points in
topology analysis module, plotting it as plane map in main function 4, etc. Before using it, you must
first enter option 16 of main function 1000 (a hidden function) to define two fragments.
The use of the present function, namely subfunction 11 of main function 20, is exactly the same
as the IGM function, see Section 3.23.5 for introduction of various options.
289
3 Functions
Please check my paper for full description of idea, implementation and application of the van
der Waals (vdW) potential analysis: J. Mol. Model., 26, 315 (2020) DOI: 10.1007/s00894-020-
04577-0. Below I only briefly introduce this function in a nutshell.
Recall that the vdW interaction energy between two atoms A and B is usually expressed in
terms of Lennard-Jones potential in below form
12 6
R0 R0
E vdW
AB =E repul
AB +E disp
AB = AB AB − 2 AB AB
rAB rAB
where the potential well and equilibrium distance R0 are dependent of atom types. The two
components of EvdW, namely Erepul and Edisp, correspond to exchange-repulsion and dispersion
interaction, respectively.
I define vdW potential of a chemical system as follows
RAB 0
12
RAB 0
6
V vdW
(r ) = V repul
(r ) + V disp
(r ) = AB + −2 AB
A | RA − r | A
| RA − r |
where B can be regarded as probe atom. The Vrepul and Vdisp denote repulsion and dispersion
potentials, respectively.
In the implementation in Multiwfn, the vdW parameters from UFF forcefield are employed,
this is because the elements supported by UFF almost cover the whole periodic table (H~Lr), and
the parameters are only dependent of element, thus the problem in assigning atom types is fully
avoided. The element index of the probe atom can be set by "ivdwprobe" in settings.ini, the default
is carbon (i.e. ivdwprobe=6). If the "ivdwprobe" is set to 0, then program will ask you to input
element name of probe atom when entering this function.
The vdW potential can be easily calculated by subfunction 6 of main function 20, the unit of
result is kcal/mol. In this function, you need to first select grid setting, then grid data of VvdW, Vrepul
and Vdisp will be calculated, then you can visualize their isosurfaces or export them as cube files by
corresponding options.
Note that the VvdW, Vrepul and Vdisp also directly correspond to user-defined functions, 92, 93
and 94, respectively.
It is highly recommended to read my original paper describing interaction region indicator (IRI)
290
3 Functions
and IRI-, namely Chemistry−Methods, 1, 231 (2021) DOI: 10.1002/cmtd.202100007, in which the
idea of IRI, comparison with other methods as well as many illustrations are given. The IRI- is
also introduced in this paper. In addition, IRI method has been carefully reviewed in DOI:
10.1016/B978-0-12-821978-2.00076-3.
Features of IRI
The IRI is defined as follows
IRI (r ) =| (r ) | /[ (r )]a
where a corresponds to "uservar" in settings.ini. If "uservar" is set to 0, then a will be the
recommended value 1.1.
IRI is able to clearly reveal both chemical bond regions and weak interaction regions by its
isosurfaces (usually isovalue of 1.0 is recommended), this point is similar with the DORI introduced
in Section 3.23.4. Indeed, the isosurface maps of IRI and DORI have similar characters, however
IRI is always preferred over DORI due to the two evident advantages:
(1) The definition of IRI is much simpler, only electron density and its gradient are needed,
while DORI also requires Hessian of electron density. Clearly, evaluation of IRI is thus cheaper than
DORI.
(2) The graphical effect of IRI isosurface is significantly better than DORI. This point can be
easily recognized from the comparison between IRI and DORI in the original paper of IRI.
It is worth to note that if the parameter a is set to 4/3, then IRI only differs from RDG by a
constant prefactor. Thought the difference is trivial, the RDG isosurfaces is unable to simultaneously
clearly reveal weak interactions and chemical bond regions under a single isovalue like IRI.
It is sometimes observed that IRI isosurfaces occur in uninterested extremely low regions.
To screen them in the isosurface map at commonly used isovalue (around 1.0), IRI is set to a large
value (5) if is equal or smaller than “IRI_rhocut” in settings.ini. The default value 0.00005 a.u.
commonly works well.
If you are only interested in IRI itself and want to study its distribution, for example, plotting
it as plane map by main function 4, performing basin analysis on IRI to find its minima by main
function 17, you should set "iuserfunc" in settings.ini to 99, then the user-defined function will
correspond to IRI. Then you can study it via various functions in Multiwfn, you just need to select
"User-defined function" when Multiwfn asks you to choose the real space function to be investigated.
On the IRI-
IRI- is a byproduct in my study of IRI, it is simply defined as the IRI calculated based on
electron. In the aforementioned my Chemistry−Methods paper, IRI- is shown to be able to nicely
291
3 Functions
distinguish type of interactions and reveal interaction strengths. A good application example of
IRI- is my paper Chem. Eur. J. (2022) DOI: 10.1002/chem.202103815, from which you can see
that IRI- is able to clearly represent interaction of different C-C bonds in C18(CO)n (n = 2,4,6)
molecules.
To evaluate IRI-, you simply need to set occupancy of other orbitals to zero prior to the
calculation of IRI.
A complete and detailed document showing how to perform various kinds of IRI and IRI-
analyses can be downloaded here: http://sobereva.com/multiwfn/res/IRI_tutorial.zip. A very simple
example showing the procedure of plotting IRI isosurface map colored by sign(2) is given in
Section 4.20.4.
(r)
inter
g (r ) = i
A iA
(r ) = (r)
IGM,inter
g i
A iA
inter IGM,inter inter
g (r ) = g (r ) − g (r )
Form 2:
inter IGM,inter inter
g (r ) = g (r ) − g (r )
= (r) − (r)
A iA
i
A iA
i
where i is atomic index, i is built-in spherically symmetrized electron density of atom i in its
isolated state, and the <...> symbol stands for time average for all trajectory frames.
Usually, aIGM analysis is performed by plotting 𝛿𝑔̅ inter isosurface map colored by averaged
sign(λ2), which is calculated based on promolecular electron density and its derivatives averaged
for trajectory frames.
292
3 Functions
To perform aIGM analysis, you should provide a multiple frame .xyz file recording the
molecular dynamics trajectory as input file, then enter subfunction 12 of main function 20, then
define fragments for aIGM analysis as regular IGM analysis (Section 3.23.5), then choose the range
of frames to be considered, and finally define a proper box for calculating grid data. After that,
various grid data will be calculated, and post-processing menu appears. In this menu, you can export
cube files of 𝛿𝑔̅ inter and averaged sign(λ2) as avgdg_inter.cub and avgsl2r.cub, respectively. There
is an option to plot scatter map between the two functions, which may be useful in the aIGM
discussion. You can can also export the averaged RDG (byproduct of aIGM analysis) and thermal
fluctuation index (TFI) mentioned Section 3.23.3 as cube files.
To plot 𝛿𝑔̅ inter isosurface map colored by averaged sign(λ2), you should put the exported
avgdg_inter.cub, avgsl2r.cub as well as examples\aIGM.vmd to VMD installation folder, then boot
up VMD and input source aIGM.vmd in VMD console window to execute the plotting script, you
will immediately view the map.
293
3 Functions
Theory
There are many popular FFs for molecular systems. The major ingredients of weak interactions
are van der Waals (vdW) interaction and electrostatic interaction, most FFs represent them by mean
of pairwise potential, as shown below.
·Electrostatic interaction energy between atoms A and B (atomic unit is used):
q A qB
ele
E AB =
rAB
where q is atomic charge and rAB is distance between A and B.
·vdW interaction energy between atoms A and B:
vdW
E AB = E AB
rep
+ E AB
disp
12 6
R0 R0
E rep
AB = AB AB E disp
AB = −2 AB AB
rAB rAB
where Erep represents repulsive interaction due to Pauli repulsion effect (also known as exchange-
repulsion), while Edisp is attractive dispersion interaction. The AB is well depth of interatomic vdW
interaction potential, while R0AB is vdW nonbond distance. When rAB=RAB0, the interaction energy
just corresponds to well depth.
The parameters and R0 are provided by FFs, and the values are commonly defined for each
atom type. The interatomic parameters used in practical calculation are commonly evaluated as
geometric average or arithmetic average of atomic parameters. For example, in UFF forcefield,
below mixing rule is used
AB = A B 0
RAB = RA0 RB0
While for some other FFs such as AMBER and GAFF, atomic and R*are defined, the employed
mixing rule is
AB = A B 0
RAB = RA + RB
Usage
The basic steps of using this module are:
(1) Prepare a "molecule list" file, which contains paths of "molecule type" files. Detailed
description is given later.
(2) Load a file containing geometry information of the whole system. Evidently, many formats
294
3 Functions
supported by Multiwfn could be used, for example, .xyz, .mol, .pdb, .fch and so on.
(3) Enter subfunction 1 of main function 21.
(4) Use option 3 to load molecule list file. This step is used to assign atomic charge and type
for each atom.
(5) Use option 2 to define fragments. Infinite number of fragments may be defined, any atom
should not simultaneously appear in two or more fragments. If you want to study interaction between
two fragments in the same molecule, any atomic pair between the two fragments should be separated
by at least three bonds (otherwise the interaction will no longer belong to the scope of weak
interaction). Note that the order of the steps (4) and (5) could be exchanged.
(6) Choose option 1 to start analysis, then interaction energy components between each
fragment pair, as well as atomic contributions will be printed. Before the analysis, if you want to
check whether the charges and types have been properly assigned, you can choose option 4.
Next, I introduce the rule of writing the molecular list file. The content of the file should look
like this:
C:\mol1\phenol.txt 1
C:\mol2\H2O.txt 4
C:\HCl.txt 2
This example file implies that, in the geometry information provided by the file loaded when
Multiwfn boots up, the recording sequence is: one phenol molecule, four H2O molecules and two
HCl molecules. The three .txt files contain atom types (case sensitive) and charges of respective
molecule. For example, below is the content of the C:\mol2\H2O.txt, which records information of
295
3 Functions
the atoms in H2O molecule, the OW and HW are atom types of AMBER force field.
OW -0.728713
HW 0.364427
HW 0.364286
The first column is atom type corresponding to the FF you currently choose, the second column
corresponds to atomic charge. Notice that the atom sequence in this file must be exactly identical to
the geometry information loaded when Multiwfn boots up. If the forcefield employed in analysis is
UFF, then this file should only contain atomic charge, thus there should be only one column (because
for each element, all relevant atom types share the same UFF vdW parameters, therefore users do
not need to define atom types).
·About atom types: Detailed description of atom types can be found in original paper of
corresponding forcefields. For AMBER, see Table 1 of J. Am. Chem. Soc., 117, 5179 (1995). For
GAFF, see Table 1 of J. Comput. Chem., 25, 1157 (2004); you can also consult the AMBER99.txt
and GAFF.txt in "examples\EDA\EDA_FF" folder for description of atom types. In general, you can
manually find appropriate atom type for each atom in current system according to its actual chemical
environment. However, if you feel this process is troublesome, you can use third-part programs to
help you to identify atom types and construct the molecular files. For example, GaussView can
automatically assign AMBER atom types (enter "Atom List", click the icon with large organge "M"
symbol, double click head of "AMBER Type" column, select "File"-"Export Data", then extract the
data corresponding to "AMBER Type" column), while Antechamber utility in AmberTools package
is able to assign GAFF atom types. Note that AMBER and GAFF atom types can be mixed together
in the same molecule file, since these two forcefields are completely compatible with each other,
the AMBER and GAFF atom types use upper and lower case, respectively.
Note: The atom types assigned by GaussView are always in upper case, however, some atom types of
AMBER99 are lower case, e.g. Br. Clearly, you should manually make modification before loading the file into
Multiwfn. If you are confused, take a look at examples\EDA\EDA_FF\AMBER99.txt.
·On the choice of forcefield: For organic type of systems, commonly I suggest using
AMBER/GAFF forcefield to conduct the analysis, the result should be reasonable and chemically
meaningful. In fact, since vdW parameters of GAFF are directly inherited from AMBER, commonly
there should be no different between using GAFF and AMBER atom types. Evidently, the geometry
used in the analysis should be firstly optimized under reasonable level. Using UFF is generally
deprecated, since I found that when UFF is employed, the total interfragment interaction energy is
usually positive due to overestimation of Erep, even if the geometry has already been substantially
optimized with appropriate quantum chemistry method. A way to solve this problem is using the
geometry optimized by UFF itself (many programs can do this, such as Gaussian and OpenBabel),
however the resulting geometry for weakly interacting molecular dimer or multimer is often not
quite good. The unique advantage of UFF is that it covers almost entire periodic table. Considering
this, I designed a trick in Multiwfn: If you are using AMBER/GAFF, when atom type is written as
UF, then UFF vdW parameter will be employed. This treatment greatly extends the application
scope of AMBER and GAFF.
·On the choice of atomic charges: The atomic charges used for energy decomposition
analysis should be able to reproduce electrostatic potential (ESP) around molecular vdW surface
296
3 Functions
well. Commonly I suggest to use CHELPG atomic charge, which is obtained via ESP fitting process
and can be directly calculated via Multiwfn, see Section 3.9.10 for introduction and Section 4.7.1
for example. Note that if a type of molecule appears more than once in current system with
significantly different conformations, given that ESP fitting charges of each monomer may be very
different to others, it is suggested to treat these replicas as different types of molecules, so that
atomic charges can be individually assigned. If some monomers of the system is to large to calculate
their ESP fitting atomic charges, you may change to EEM atomic charges using the parameters fitted
for reproducing ESP fitting charges, see Section 3.9.15 for introduction. The computational cost of
EEM charges is negligible for a system even composed of hundreds of atoms, since the calculation
is purely based on molecular geometry information and empirical parameters.
Information needed: Atom coordinates and special files containing atomic charges/types
Theory
In J. Chem. Phys., 126, 244103 (2007), the author Shubin Liu proposed an idea of energy
decomposition, which will be referred to as EDA-SBL below. In this method, the total molecular
energy is decomposed as
The steric term is simply the energy derived by Weizsäcker kinetic functional, which corresponds
to the exact kinetic energy under assumption that the electrons in present system are non-interacting
bosons:
The electrostatic term is the sum of all classical Coulomb interactions of the particles in the system:
(r1 ) (r2 ) ZA Z Z
Eelectrostatic = EJ + EN − E + EN − N = d r1 d r2 − (r ) dr + A B
r12 A | r − RA | A B RAB
Finally, the quantum term is the energy purely caused by quantum effect:
where the EXC is exchange-correlation energy, the EPauli=TS-TW is Pauli kinetic energy, in which the
TS stands for total kinetic energy of non-interacting electron model and can be computed as the sum
of kinetic energy of all occupied molecular orbitals. The Equantum essentially exhibits electronic
correlation effect as well as influence of Pauli exclusion principle on electronic kinetic energy under
non-interacting particle assumption.
The EDA-SBL method has been employed in many research papers, such as the ones shown
below, which are suggested to read to if you want to understand how this method can be used to
study practical chemical problems: J. Phys. Chem. A, 117, 962 (2013), J. Chem. Phys., 133, 114110
297
3 Functions
(2010), Phys. Chem. Chem. Phys., 17, 27052 (2015), J. Phys. Chem. A, 119, 8216 (2015), Chem.
Phys. Lett., 687, 131 (2017).
Usage
The Multiwfn itself is unable to evaluate all terms in the EDA-SBL method, Multiwfn needs
to read relevant information from Gaussian output file. The way of using Gaussian to perform EDA-
SBL analysis is summarized as follows:
(1) Manually create a special Gaussian input file of single point task based on optimized
geometry
(2) Run the input file by Gaussian and get output file as well as fch/fchk file
(3) Boot up Multiwfn and load the fch/fchk file, then enter subfunction 2 of main function 21
(4) Input the path of the Gaussian output file
Then Multiwfn calculates the Esteric term, and prints all the three energy components defined
by the EDA-SBL method. Other intermediate terms involved in the EDA-SBL terms are also
simultaneously given, such as Pauli kinetic energy, nuclear-electronic Coulomb attraction energy
and so on.
The special Gaussian input file should be coincident with following format, the geometry has
been optimized using appropriate level.
%chk=H2O.chk
# B3LYP/6-31G* ExtraLinks=L608
Optimized water
0 1
-5
The DFT functional and basis set can be arbitrarily chosen, the "ExtraLinks=L608" must be
specified so that Gaussian can break total energy into various components and print them to output
file. After calculation, the resulting H2O.chk should be converted to fch/fchk file using formchk
utility. As you can see, there is a value "-5" at the end of the input file, this value should be specified
according to the DFT functional you actually used, you can find corresponding value by consulting
IOp(3/74) in Gaussian IOp reference. The value for commonly employed hybrid functionals are:
-73 (MN15) -58 (B97XD), -55 (M06-2X), -54 (M06), -53 (M06L), -40 (CAM-B3LYP), -35
(TPSSh), -13 (PBE0), -5 (B3LYP), -6 (B3PW91), -3 (BHandHLYP), 402 (BLYP), 1009 (PBE), 2523
(TPSS).
An alternative way of finding the corresponding value of IOp(3/74) for present DFT functional is carrying out
a simple calculation and check the value of IOp(3/74) automatically shown at the beginning of the output file, for
example, the output file using B3LYP/6-31G* level will contain a line "3/5=1,6=6,7=1,11=2,16=1,25=1,30=1,
74=-5/1,2,3;", showing that the IOp(3/74) is -5. More explanation of ExtraLinks=L608 can be found in
http://gaussian.com/faq1/.
IMPORTANT NOTE for Gaussian with version G16 C.01: According to response from Gaussian support, at
least for G16 C.01 or older, range-separated functionals such as B97XD and CAM-B3LYP are not compatible with
ExtraLinks=L608. In addition, for consistency reason, if you are using G16, you should also add value "5" after the
298
3 Functions
functional index to request Gaussian to use “ultrafine” grid for the ExtraLinks=L608, because “ultrafine” is the
default DFT grid since G16. For example, if you need to use M06-2X, you should write -55 5 rather than simply 55.
The sobEDA and sobEDAw energy decomposition analyses defined based on dispersion-
corrected density functional theory are very robust, efficient, universal, and easy-to-use, and thus
highly recommended to use! They can be easily performed using sobEDA.sh shell script based on
Gaussian and Multiwfn. Please check the original paper J. Phys. Chem. A, 127, 7023 (2023) for
introduction about the theory background and illustrative applications, a very detailed tutorial is
available at http://sobereva.com/soft/sobEDA_tutorial.zip.
The conceptual density functional theory (CDFT) originally developed by Robert Parr is a
theory framework aiming for unraveling reactivity of chemical systems. CDFT contains numerous
concepts and quantities, some of them can be used to predict favorable reactive sites and reactive
character, and some of them can compare reactivity among different chemical species. Due to the
high popularity and important role of CDFT in quantum chemistry, as well as there are so many
meaningful relevant quantities, I believe it is very useful to develop a module to calculate all
commonly investigated quantities involved in CDFT with minimal steps.
In the Part 1 of this section, I will briefly describe the definition of all quantities that can be
studied via this module; then in the Part 2, I will show how to use this module. This module is able
to calculate the so-called orbital-weighted quantities, which will be specifically described in Part 3.
Note that aside from CDFT, Multiwfn also supports many other methods for revealing reactive
sites, see Section 4.A.4 for overview.
If the functions described in this section is used in your research, please NOT ONLY cite
original paper of Multiwfn, BUT ALSO cite the following book chapter, which comprehensively
introduces feature and implementation of this module:
Tian Lu, Qinxue Chen, Realization of Conceptual Density Functional Theory and Information-
Theoretic Approach in Multiwfn Program. In Conceptual Density Functional Theory, WILEY-VCH
GmbH: Weinheim (2022); pp 631-647. DOI: 10.1002/9783527829941.ch31
3.25.1 Theory
To yield all below quantities, electronic energy (E) and electron density of N, N+1 and N-1
electron states must be available. Commonly N refers to the number of electrons carried by a
299
3 Functions
chemical system at its most stable status. Geometry optimized for N-electrons state is employed for
all calculations.
➢ Global indices
• First vertical ionization potential (VIP): E(N-1) − E(N)
• First vertical electron affinity (VEA): E(N) − E(N+1)
• Mulliken electronegativity (): (VIP+VEA)/2
• Chemical potential (): −
• Hardness (): VIP−VEA, which is also equivalent to fundamental gap. See J. Am. Chem.
Soc., 105, 7512 (1983). Note that according to the convention employed by many CDFT papers, the
prefix of 1/2 in original definition of is dropped.
• Softness (S): 1/. See Proc. Nati. Acad. Sci., 82, 6723 (1985)
• Electrophilicity index (): 2/(2). See J. Am. Chem. Soc., 121, 1922 (1999)
• Nucleophilicity index (NNu): EHOMO(Nu) − EHOMO(TCE), where Nu denotes nucleophile, TCE
denotes tetracyanoethylene, whose HOMO energy is almost the lowest one among all organic
molecules and therefore it is chosen as reference system. See J. Org. Chem., 73, 4615 (2008).
➢ Atom indices
• Condensed Fukui function (fA) and dual descriptor (fA): See Section 4.7.3 for detailed
introduction
• Condensed local softness
For nucleophilic attack: 𝑠𝐴+ = 𝑆𝑓𝐴+
For electrophilic attack: 𝑠𝐴− = 𝑆𝑓𝐴−
For radical attack attack: 𝑠𝐴0 = 𝑆𝑓𝐴0
• Relative electrophilicity index: 𝑠𝐴+ /𝑠𝐴− , see J. Phys. Chem. A, 102, 3746 (1998)
• Relative nucleophilicity index: 𝑠𝐴− /𝑠𝐴+, see J. Phys. Chem. A, 102, 3746 (1998)
• Condensed local electrophilicity index: 𝜔 𝐴 = 𝜔𝑓𝐴+
• Condensed local nucleophilicity index: 𝑁Nu
𝐴
= 𝑁Nu 𝑓𝐴−
(2)
• Condensed local hyper-softness: 𝑠𝐴 = 𝑆 2 ∆𝑓𝐴
cubic = 1 + 2
3
300
3 Functions
In practice, it is calculated as
( cubic )2 cubic
cubic = 1 + 3( )2 cubic
2cubic cubic
3.25.2 Usage
After entering the present module, namely main function 22, you will see a menu, in which the
options 2 and 3 are used to calculate above quantities. Before using them, generally you should
provide N.wfn, N-1.wfn and N+1.wfn in current folder, they contain wavefunction and electronic
energy of N, N-1 and N+1 states respectively for present system, the geometries must be the same
and correspond to the optimized geometry of N state. The calculation level of the three files must
also be the same. If any of the three .wfn files is missing, Multiwfn will ask you to manually input
path of .wfn file for corresponding state (.wfx, .fch and .mwfn files are also allowed, since they also
carry wavefunction and electronic energy information).
Option 2: Used to calculate all aforementioned global indices and atomic indices, the result
will be exported to CDFT.txt in current folder. Because as mentioned in Section 4.7.3, Hirshfeld
method is an ideal choice for calculating condensed Fukui functions and may be other relevant
atomic indices, therefore Hirshfeld charges are automatically calculated and used for evaluation of
all atomic indices. Nucleophilicity index as well as its local version are dependent of HOMO energy
of TCE, which should be calculated using the same level for present system, notice that these indices
printed in present module simply employ the EHOMO(TCE) = -0.335198 Hartree calculated at the
commonly used B3LYP/6-31G* level (Clearly, if you want to get more reliable result and your
current calculation level is not B3LYP/6-31G*, you should calculate EHOMO(TCE) yourself and then
manually evaluate these indices)
Option 3: Used to calculate grid data of Fukui function, dual descriptor and functions related
to them, then their isosurface maps can be directly visualized, the grid data can be exported to cube
files in current folder. In this option you can set the scale factor to be multiplied to the calculated
grid data. For example, if you set the scale factor to the global softness outputted by option 2, then
the scaled f −(r) Fukui function will correspond to s−(r).
For using present module, the file loaded after booting up Multiwfn is relatively arbitrary, the
only requirement is that the atomic information in this file is identical to the system under study.
301
3 Functions
You can manually prepare the .wfn files used by options 2 and 3, alternatively, you can use
option 1 of present module to automatically realize the preparation work.
After choosing option 1, you will be prompted to input Gaussian keywords for single point
task, then Multiwfn asks you to input charge and spin multiplicity for N, N+1 and N-1 states in turn,
then Gaussian single point input files N.gjf, N+1.gjf and N-1.gjf will be generated in current folder
(the geometry in these files correspond to the geometry in the input file of Multiwfn). Then, you can
manually use Gaussian to run them to obtain N.wfn, N+1.wfn and N-1.wfn, or if Gaussian has been
installed on your computer, you can directly let Multiwfn to invoke Gaussian to calculate them (in
this case the "gaupath" parameter in settings.ini must have been set to actual path of Gaussian
executable file), after calculations the three .wfn files will appear in current folder.
Sometimes we need to use mixed basis set, in this case you should prepared a file named
basis.txt in current folder, which records the definition of basis set (may be also accompanied by
pseudopotential definition). If the inputted keyword contains "gen" or "genecp", then the content of
basis.txt will be automatically appended to the end of the generated .gjf files.
Multiwfn is also able to generate input file of ORCA for producing the three .wfn files. You
should choose option -2 and select ORCA, then choosing option 1 will generate N.inp, N-1.inp and
N+1.inp. If you have set “orcapath” in settings.ini to actual path of ORCA executable file, you can
directly let Multiwfn to invoke ORCA to run them to yield N.wfn, N-1.wfn and N+1.wfn;
alternatively, you can run them by ORCA manually, and then put the resulting N.wfn, N-1.wfn and
N+1.wfn in current folder.
To use present module to study large organic systems, commonly I suggest using B3LYP/6-
31G* level, because this level is inexpensive, while the quality of the yielded quantities is already
satisfactory.
An example of using present module to calculate various CDFT quantities for phenol is
provided in Section 4.22.1.
Theory
The originally defined Fukui function and dual descriptor do not work well when frontier
molecular orbitals are (quasi-)degenerate. For example, when HOMO and HOMO-1 have very
similar or exactly identical energies, the Fukui function f − may be unable to give meaningful result
or the result is fully misleading; in addition, when the system shows point group symmetry, such as
C60 fullerene, the distribution of f − is usually not in consistency with molecular symmetry, this is an
apparently unexpected observation.
In order to address these problems, in J. Comput. Chem., 38, 481 (2017), the authors proposed
302
3 Functions
orbital-weighted Fukui function, and in J. Phys. Chem. A, 123, 10556 (2019), they further proposed
orbital-weighted dual descriptor, they are summarized below (the 𝑓𝑤0 is defined by me)
exp[ −( −i ) 2 ]
f w+ (r ) = wi | i (r ) |2 wi =
i = LUMO
i = LUMO
exp[ −( −i )2 ]
HOMO
exp[ −( −i )2 ]
f w− (r ) = wi | i (r ) |2 wi = HOMO
i
i
exp[ −( −i ) 2 ]
+ −
f (r ) = [ f (r ) + f (r )] / 2
0
w w w
f w (r ) = f w+ (r ) − f w− (r )
where i and i are energy and wavefunction of orbital i; is chemical potential and approximately
calculated as (EHOMO+ELUMO)/2 in the above formulae. The is an adjustable parameter, in principle
its best value is the one able to make the functions have ideal predictability of local reactivity.
Clearly the most appropriate is dependent of practical system, usually 0.1 Hartree is a worth-
trying guess. If you find the orbital-weighted functions under this value do not work well, you can
try to properly change it and redo calculations.
Compared to the frozen orbital approximation form of f −, namely f −(r)=|HOMO(r)|2, the
advantage of 𝑓𝑤− is that it takes all orbitals into account with different weights. From the expression
it can be seen that the closer a low-lying orbital energy is to the HOMO energy, the greater its weight.
Evidently degenerate orbitals share the same weight. The Gaussian function involved in the formula
behaves as a decay function, the larger the , the higher the contribution of low-lying orbitals to the
𝑓𝑤− . When energy difference between HOMO and HOMO-1 is significant, there will be no reason
to use 𝑓𝑤− instead of f −. The situation is similar for 𝑓𝑤+ , 𝑓𝑤0 and ∆𝑓𝑤 .
Usage
Since orbital-weighted functions involve virtual orbitals, you should use .mwfn, .fch, .molden
or .gms file as input file. Commonly, the geometry in the input file should correspond to the
optimized geometry of N-electron state; however, it is also possible to study them for
nonequilibrium structure, such as a point in intrinsic reaction coordinate (IRC).
Only closed-shell single-determinant wavefunction is acceptable. Diffuse functions should not
be used if you intend to calculate 𝑓𝑤+ , 𝑓𝑤0and ∆𝑓𝑤 , since they utilize virtural orbitals, whose chemical
meaning may be severely broken when diffuse functions are employed.
In main function 22, four options are related to the orbital-weighted calculation:
• Option 4: Set the parameter used in the subsequent orbital-weighted calculations
• Option 5: Print the highest 10 weights (i.e. the {w} in the aforementioned formulae) involved
in the orbital-weighted calculations. This option is useful to check if current parameter is
reasonable and helps user to better understand how the orbital-weighted method works
• Option 6: Calculating condensed 𝑓𝑤+ , 𝑓𝑤− , 𝑓𝑤0 and 𝑓𝑤 values, in other words, calculating
integration of these functions in Hirshfeld atomic spaces. The result is useful in quantitatively
examining net amount of these functions at various atoms. The default radial and angular integration
points are usually fine enough, if you find the sum of condensed 𝑓𝑤+ or 𝑓𝑤− deviates from 1.0
evidently, you should set "iautointgrid" parameter in settings.ini to 0 and then properly enlarge
"radpot" and "sphpot" parameters.
303
3 Functions
• Option 7: Calculating grid data of 𝑓𝑤+ , 𝑓𝑤− , 𝑓𝑤0 and 𝑓𝑤 functions, then you can directly
visualize their isosurfaces or export them as cube files so that you can render them via third-part
softwares such as VMD and ChimeraX.
Examples of using this module to calculate orbital-weighted Fukui function and orbital-
weighted dual descriptor are provided in Section 4.22.2.
Theory
In the last section, I have introduced orbital-weighted Fukui function and dual descriptor, which
are suitable when frontier molecular orbitals are (quasi-)degenerate. However, they are defined
based on orbital approximation, namely orbital relaxation effect is not taken into account, while this
effect cannot be always safely overlooked. In J. Comput. Chem., 37, 2279 (2016), an alternative
form of Fukui function and dual descriptor that work for (quasi-)degenerate HOMO/LUMO case
was proposed, and this form is defined directly based on electron density, that means orbital
relaxation effect is fully taken into account as the original Fukui function and dual descriptor. This
(quasi-)degenerate Fukui function and dual descriptor based on electron density will be referred to
as fQ and fQ, respectively.
The idea of fQ is very simple. If at electron state N the degree of degeneracy of LUMO and
HOMO is p and q, respectively, then three forms of fQ are evaluated as follows
N + p (r ) − N (r )
f Q+ (r ) =
p
N (r ) − N − q ( r )
f Q− (r ) =
q
Q
0
Q
+
f (r ) = [ f (r ) + f Q− (r )] / 2
fQ can be evaluated based on 𝑓Q+ and 𝑓Q− as usual
Clearly, if both HOMO and LUMO are nondegenerate, then fQ and fQ will be equivalent to
the original form of Fukui function and dual descriptor, f and f, respectively.
To reasonably calculate fQ and fQ, it is crucial to properly determine p and q. Commonly they
can be assigned by inspecting energies of several lowest unoccupied MOs and several highest
occupied MOs, respectively. If energy difference between an occupied (unoccupied) MO and
HOMO (LUMO) is very small, e.g. less than 0.01 eV, then they may be regarded as degenerate.
Obvious, there is no strict energy threshold for judging orbital degeneracy, and in some cases you
may need to judge by considering various factors, e.g. HOMO-LUMO gap, reasonableness of actual
calculation result, orbital shape, etc.
Note that fQ and fQ are defined only for closed-shell case.
Multiwfn is not only able to calculate fQ and fQ, but also able to calculate local properties
described in Section 3.25.1 (except for cubic) based on them. For example, local softness with
304
3 Functions
consideration of degeneracy is product of global softness and fQ. Note that the involved first VEA
and VIP are still evaluated as usual, namely VEA = E(N) − E(N+1) and VIP = E(N-1) − E(N).
Spin multiplicity must be properly chosen for calculating wavefunction file of N+p and N-q
states, usually they should be set to p+1 and q+1, see J. Comput. Chem., 37, 2279 (2016) for detailed
discussion. This setting commonly is able to guarantee that the attached (detached) electrons equally
enter (leave from) all degenerate LUMOs (HOMOs).
Usage
In main function 22, both p and q are defaulted to be 1, namely degeneracy of frontier molecular
orbitals (FMOs) is not taken into account. To manually set p and q and thus consider the
(quasi-)degeneracy effect in the subsequent calculations, you should choose option “-3 Set degree
of FMO degeneracy” first. Then information of 10 lowest unoccupied MOs and that of 10 highest
occupied MOs will be listed on screen (in the case that the input file contains wavefunction
information), you should properly input p and q according to the listed MO energies.
After setting p and q, you can use option 1 to use Multiwfn to help you generate input files of
single point task of Gaussian or ORCA code for N, N+p and N-q states, you will be asked to input
net charge and spin multiplicity for these states. In addition, if either p or q is not equal to 1, then
Multiwfn will also ask you if also generating input file for N+1 and/or N-1 states, because E(N+1)
and E(N-1) are needed to evaluate first VIP, VEA and related quantities in option 2. After running
these input files, .wfn files of the states will be yielded. Of course you can also manually generate
wavefunction files for the states via any of your favourite quantum chemistry codes.
Finally, you can use option 2 or option 3 to calculate various quantities or functions that defined
in the CDFT framework, the output content is exactly identical to the default nondegenerate case,
though p and q have been properly considered in the current situation. Note that if p or q is not equal
to 1, and at the same time either N+1.wfn or N-1.wfn is not available in current folder, then quantities
related to first VIP and VEA will not be calculated and outputted by option 2.
Theory
Nucleophilic and electrophilic delocalizabilities are also known as nucleophilic and
electrophilic superdelocalizabilities, they were proposed by Schüürmann in Environ. Toxicof. Chem.,
9, 417 (1990) and Quant. Struct.-Act. Relat., 9, 326 (1990), and have been employed as molecular
descriptors for building quantitative structure-activity relationship (QSAR) equations. In the
Schüürmann’s work, nucleophilic superdelocalizability (DN) and electrophilic superdelocalizability
(DE) of atom A are defined as follows, respectively
C2 ,i
unocc
D ( A) = 2
N
i A − i
occ
C2 ,i
D ( A) = 2
E
i A i −
305
3 Functions
where i is energy of molecular orbital i, = (EHOMO + ELUMO)/2, A stands for basis function
of atom A, and C is coefficient matrix. Evidently, both DN and DE are negative.
However, the expression of superdelocalizabilities by Schüürmann is only suitable for semi-
empirical calculation, which employs orthonormal basis functions. In Sci. Rep., 5, 13695 (2015), a
different version of electrophilic superdelocalizability was proposed and it is compatible with non-
orthonormal basis functions. In this work, it was shown that electrophilic superdelocalizability of
an atom is closely related to its atomic polarizability.
The above definitions of superdelocalizability are based on molecular orbital expansion
coefficients; in contrast, in Multiwfn, superdelocalizabilities are evaluated based on Hirshfeld
partition of atomic spaces, this form is more robust and fully compatible with diffuse functions.
Specifically, in Multiwfn, the nucleophilic and electrophilic superdelocalizabilities are calculated as
follows
unocc
A,i
D N ( A) = 2
i − i
occ
A,i
D E ( A) = 2
i i −
where A,i is composition of atom A in orbital i calculated by Hirshfeld method, see Section 3.10.5
for detail. Multiwfn also calculates the superdelocalizabilities without the shift parameter, namely
unocc
A,i
D ( A) = 2
N0
i − i
occ
A,i
D E 0 ( A) = 2
i i
Usage
Since superdelocalizabilities involve virtual orbitals, you should use .mwfn, .fch, .molden
or .gms file as input file. Only closed-shell single-determinant wavefunction is acceptable. Diffuse
functions should not be used if you intend to calculate DN and DN0, since it utilizes virtual orbitals,
whose chemical meaning may be severely broken when diffuse functions are employed.
After loading input file, enter main function 22, then choose option 8, you will obtain DN, DE,
DN0, and DE0 for all atoms. Example of output (examples\oxirane.fchk):
Atom D_N D_E D_N_0 D_E_0
306
3 Functions
The Extended Transition State - Natural Orbitals for Chemical Valence (ETS-NOCV) method
was proposed in J. Chem. Theory Comput., 5, 962 (2009) by Ziegler et al., it is a combination of the
NOCV method proposed in J. Phys. Chem. A, 112, 1933 (2008) and the idea of ETS proposed in
Theor. Chim. Acta, 46, 1 (1977). ETS-NOCV has been widely employed in studying chemical bonds
and weak interactions between fragments. Briefly speaking, ETS-NOCV enables one to gain a deep
insight into interfragment interaction by visual decomposition analysis of the variation of density
matrix caused by the interaction.
I will first introduce the theory of ETS-NOCV as clear and detailed as possible in Section
3.26.1, and then some implementation details of this analysis in Multiwfn will be mentioned in
Section 3.26.2. In Section 3.26.3 I will describe the functions and usage of the ETS-NOCV module
in Multiwfn. Application examples of ETS-NOCV analysis are provided in Section 4.23.
3.26.1 Theory
The ETS-NOCV analysis in Multiwfn supports arbitrary number of fragments. However, for
simplicity, only two fragments are involved when I introduce the theory of ETS-NOCV below.
307
3 Functions
NOCV theory
First we look at the natural orbitals for chemical valence (NOCV) theory. The orbital
interaction between the two fragments leads to a density matrix difference
0 ]
∆𝐏 orb = 𝐏 − 𝐏 0 = 𝐏[Ψ𝐴𝐵 ] − 𝐏[Ψ𝐴𝐵
where P and P0 are density matrices of actual complex state and frozen state, respectively; they can
be easily generated based on coefficient matrix of occupied orbitals in corresponding state. The
308
3 Functions
NOCV method diagonalizes the ∆𝐏 orb to solve its eigenvalues and eigenvectors, namely one have
the following relationship (the matrices are expressed in Löwdin orthogonalized basis functions)
∆𝐏 orb 𝐂NOCV = 𝐂 NOCV 𝐯
where CNOCV is the coefficient matrix of NOCV orbitals, each of its columns corresponds to
expansion coefficients of a NOCV orbital with respect to Löwdin orthogonalized basis functions. v
is a diagonal matrix, vi,i corresponds to eigenvalue of the ith NOCV orbital. One can also say NOCV
orbitals are eigenfunctions of density matrix difference operator, namely
∆𝑃̂orb 𝜑𝑖 = 𝑣𝑖 𝜑𝑖
Note that the number of NOCV orbitals (N) is equal to the number of basis functions. Hence,
usually the N is large, but only very few NOCV orbitals have notable magnitude of eigenvalues and
which are what one should focus on during analysis.
Orbital interaction results in variation of electron density, which can be represented as “orbital
deformation density”
0 ]
∆𝜌orb (𝐫) = 𝜌(𝐫) − 𝜌0 (𝐫) = 𝜌[Ψ𝐴𝐵 ] − 𝜌[Ψ𝐴𝐵
The ∆𝜌orb can be decomposed as contributions of various NOCV densities {𝑣𝑖 𝜑𝑖2}
𝑁
∆𝜌 orb (𝐫)
= ∑ 𝑣𝑖 𝜑𝑖2(𝐫)
𝑖=1
Because ∆𝐏 orb is a traceless matrix represented under a set of orthonormal basis, a noteworthy
feature of NOCV orbitals is that they occur in pairs, that is if the eigenvalues are sorted from most
positive to most negative, then vN+1-i = −vi. For simplicity, N+1−i will be abbreviated to −i later. So,
the ∆𝜌orb can also be decomposed as NOCV pair contributions for easier analysis and discussion
𝑁/2 𝑁/2
𝑖=1 𝑖=1
Obviously, the NOCV analysis allows us to look into the details of the orbital deformation
density in terms of NOCV orbitals or densities to better understand the nature of the orbital
interaction.
where and are indices of Löwdin orthogonalized basis functions. FTS is the so-called extended
transition state Fock matrix (or Kohn-Sham matrix in KS-DFT case), which is the Fock matrix
0
constructed using average of Ψ𝐴𝐵 and Ψ𝐴𝐵 . Note that the “extended transition state” in this context
is very different to the transition state in common sense, in the present context it refers to the
0
artificial electronic structure at midpoint between Ψ𝐴𝐵 and Ψ𝐴𝐵 , where orbital interaction takes
place only half.
ETS-NOCV theory shows that
𝑁 𝑁
𝑖=1 𝑖=1
309
3 Functions
orbitals; in other words, it corresponds to energy of the ith NOCV orbital estimated using 𝐹̂ TS
operator, namely 𝐹̃𝑖,𝑖
TS
= ⟨𝜑𝑖 |𝐹̂ TS |𝜑𝑖 ⟩.
Again, because NOCV orbitals are paired, the ∆𝐸orb can be decomposed as contributions of
NOCV pairs
𝑁/2
∆𝐸orb = ∑ 𝑣𝑖 [𝐹̃𝑖,𝑖
TS
− 𝐹̃−𝑖,−𝑖
TS
]
𝑖=1
From the energy contributions, we can determine which NOCV pairs play a major role in
orbital interaction and then analyze their characters emphatically. The NOCV pairs with very small
eigenvalues or energies can be ignored during discussion.
Deformation density
Finally, three kinds of deformation densities are summarized below, they are involved in ETS-
NOCV analysis in Multiwfn, note that , 0, A and B correspond to electron density of Ψ𝐴𝐵 , Ψ𝐴𝐵
0
,
Ψ𝐴 and Ψ𝐵 , respectively.
Pauli deformation density:
∆𝜌Pauli (𝐫) = 𝜌0 (𝐫) − [𝜌𝐴 (𝐫) + 𝜌𝐵 (𝐫)]
Orbital deformation density:
∆𝜌orb (𝐫) = 𝜌(𝐫) − 𝜌0 (𝐫)
Total deformation density:
∆𝜌(𝐫) = ∆𝜌orb (𝐫) + ∆𝜌Pauli (𝐫) = 𝜌(𝐫) − [𝜌𝐴 (𝐫) + 𝜌𝐵 (𝐫)]
Features
The ETS-NOCV module in Multiwfn has the following capabilities:
• Calculate NOCV orbital wavefunctions, eigenvalues and energies
• Visualize NOCV orbitals and export corresponding cube files
• Calculate energy contributions to Eorb of NOCV pairs
• Visualize NOCV pair densities and export corresponding cube files
• Calculate composition of NOCV pair and orbitals using SCPA method
• Visualize promolecular, frozen state and actual complex orbitals
• Visualize Pauli, orb, and isosurfaces
The ETS-NOCV module supports defining arbitrary number of fragments. If you defined M
fragments, then the ETS-NOCV will analyze the total interaction between all the M fragments.
Only Hartree-Fock and Kohn-Sham DFT wavefunctions are supported. Multiconfiguration
wavefunctions such as coupled-cluster, CASSCF, and double-hybrid functional wavefunctions are
not supported.
Only restricted closed-shell or unrestricted open-shell wavefunctions are acceptable. Restricted
open-shell wavefunction is not supported.
If complex is open-shell, or any fragment is open-shell, the ETS-NOCV analysis will be
automatically conducted in open-shell form. In this case, the alpha and beta NOCV orbitals are
solved independently, and their energies are estimated using alpha and beta Fock matrices
respectively.
310
3 Functions
The energies of NOCV orbitals in Multiwfn are not calculated in the strict way of the standard
ETS-NOCV method as described above! This is because the FTS in ETS-NOCV analysis currently
is not available in Multiwfn. In the post-processing menu of ETS-NOCV module, you can choose
to load a file containing the actual Fock matrix of the complex outputted by a quantum chemistry
code, or you can also choose to let Multiwfn directly generate the actual Fock matrix of the complex
based on the orbital energies and coefficients recorded in input file via F=SCEC-1 relationship, then
for example the ith NOCV orbital energy will be evaluated as ⟨𝜑𝑖 |𝐹̂ |𝜑𝑖 ⟩ , where 𝐹̂ is the Fock
operator corresponding to the loaded or generated Fock matrix. According to my comparison with
some published ETS-NOCV data and result of ORCA code, the NOCV energies evaluated in this
approximated way using 𝐹̂ is close to the NOCV energies in strict sense derived based on 𝐹̂ TS
(especially for weak interaction case), at least this discrepancy does not qualitatively affect your
identification of dominant NOCV orbitals/pairs. Notice that due to this difference, the sum of
energies of all NOCV orbitals or pairs given by Multiwfn is not exactly equal to Eorb.
Input files
You need to provide wavefunction file of the complex and that of each fragment. The file
should contain basis function information, for example you can use .fch, .mwfn, .molden, and so on;
however, .wfn and .wfx cannot be used since they do not contain basis function information. If you
are confused, see Section 2.5.
To prepare the wavefunction files needed by ETS-NOCV analysis for a system, commonly you
should do following steps
(1) Optimize the geometry of the complex first by your favourite quantum chemistry code, and
meantime obtain wavefunction file of the complex
(2) Extract coordinate of each fragment from the optimized complex, and then save them as
input files of single point task. If you are using Gaussian, do not forget to add nosymm keyword to
avoid automatic reorientation during the calculation.
(3) Run input file of every fragment to obtain their wavefunction files.
Evidently, the calculation level of the fragments must be identical to that of complex.
If there is no special reason, using diffuse functions is not only fully unnecessary but also
deprecated. Usually, using a 3-zeta basis set such as def2-TZVP is absolutely adequate, while using
a 2-zeta basis set such as 6-31G* and def2-SVP is also sufficient for qualitative study.
After arranging the atoms in each fragment according to the loading order of the fragments in
ETS-NOCV module, the order of the atoms must be consistent with that in the complex. Obviously
this requires that the order of atoms in fragment files must be the same as that in the complex, and
the atoms of each fragment must occur consecutively in the complex.
Usually, using implicit solvation model should be avoided, it makes situation much more
complicated.
3.26.3 Usage
311
3 Functions
(4) Input file path of wavefunction file of each fragment. The loading order should be in line
with the occurrence order of the fragments in the complex
Note that if a fragment is found to be unrestricted open-shell, you will also be asked to choose if flipping spin.
If you choose y, then the wavefunctions and occupancies of alpha and beta orbitals will be exchanged. You should
properly set spin flipping so that the sum of number of alpha (beta) electrons of all fragments is identical to that of
the complex.
(5) Now the NOCV orbital wavefunctions and eigenvalues are calculated, and NOCVs are
automatically paired. From the NOCV information on screen, you can directly find NOCV pair
indices and corresponding NOCV indices as well as their eigenvalues. Currently NOCV energies
have not been evaluated.
After that a post-processing menu occurs, and you can choose corresponding option according
to your requirement, they are briefly mentioned below.
If you want to view NOCV information again, choose “0 Print NOCV information”. By default,
the printing threshold of NOCV eigenvalues is 0.001, the NOCVs with absolute eigenvalue less than
this threshold are not shown to avoid too lengthy output. You can manually change the threshold via
“-3 Set printing threshold of NOCV eigenvalues”.
To obtain NOCV energies, you need to select either “-1 Load Fock/KS matrix and evaluate
NOCV orbital energies” to load a file containing Fock matrix of the current complex calculated at
the same level (see Appendix 7 of this manual for detail), or select “-2 Generate Fock/KS matrix
and evaluate NOCV orbital energies” to generate Fock matrix of current complex based on the
energies and coefficients of molecular orbitals in the complex wavefunction file (i.e. the file loaded
after booting up Multiwfn). Then Multiwfn will calculate NOCV energies, and then NOCV
information with energies will be shown on screen.
“1 Show isosurface of NOCV orbitals” is used to visualize NOCV orbitals. After selecting this
option, NOCV information will be shown on screen for user’s convenience, and a GUI window
appears, you can select corresponding NOCV orbital from the list at the bottom right corner of the
window, you can also directly input the index of the NOCV orbital that you want to view in the text
box at the bottom right corner of the window.
“2 Show isosurface of NOCV pair density” is used to visually examine density of NOCV
pair(s). After choosing it, NOCV information will be shown on screen for user’s convenience, and
then you can input the NOCV pair index of interest. For example, if then you input 6, then grid data
of 𝑣6 [𝜑62 (𝐫) − 𝜑−6
2 (𝐫)]
will be calculated and its isosurface map will be shown in a GUI window.
It is important to note that you can input a range of pair indices to obtain their total density; for
example, if you input 2,4-6,9, then the grid data of ∑𝑖=2,4,5,6,9 𝑣𝑖 [𝜑𝑖2 (𝐫) − 𝜑−𝑖
2 (𝐫)]
will be calculated
and plotted as isosurface. If there are e.g. 50 NOCVs in total and you input 1-50, then the grid data
will simply correspond to the orbital deformation density orb. In addition, it is worth to note that
for open-shell case, pair index of alpha and beta spins is different (as shown on screen), therefore
you can input proper indices to view sum of specific alpha and beta NOCV pair(s).
If you want to visualize the Pauli, orb, and mentioned above, you can respectively select
“3 Show isosurface of Pauli deformation density”, “4 Show isosurface of orbital deformation density”
and “5 Show isosurface of total deformation density”. The Pauli allows you to vividly understand
how are electrons repulsed in the region between fragments due to Pauli repulsion. orb enables
you to graphically examine electron concentration between fragments due to formation of covalent
interaction or electron transfer between fragments due to mix of occupied orbitals of fragment(s)
and unoccupied orbitals of other fragments. The is simply the sum of Pauli and orb, in fact it
312
3 Functions
can also be calculated by making use of the custom operation feature of main function 5 (Section
3.7.1).
The grid data of a NOCV orbital, NOCV pair(s), Pauli, orb, and can also be exported
as .cub file so that you can visualize them in third-part visualization softwares, you just need to
select corresponding one of options 6~10.
When selecting options 2 to 8 to visualize or export various kinds of densities, if you have not
defined grid setting by “-5 Set grid for calculation of various densities”, you will be automatically
asked to set grid first. Next time you will not need to set the grid again, but you can still change grid
setting anytime via option -5.
0
If you are interested in the occupied orbitals of Ψ𝐴 Ψ𝐵 , Ψ𝐴𝐵 and Ψ𝐴𝐵 mentioned in Section
3.26.1, you can respectively select “11 Visualize promolecular orbitals”, “12 Visualize frozen state
orbitals” and “13 Visualize actual complex orbitals” to visualize the corresponding orbital
isosurfaces. The orbitals of Ψ𝐴 Ψ𝐵 are simply the orbitals in the fragment wavefunction files, the
0
orbitals of Ψ𝐴𝐵 are simply those in the complex wavefunction file. By comparing the orbitals in Ψ𝐴𝐵
and those in Ψ𝐴 Ψ𝐵 , you can examine how Pauli repulsion between electrons of the fragments
(realized by Löwdin orthogonalization as mentioned earlier) deform the occupied fragment
molecular orbitals. If isovalue has been set to a small enough value, you will be able to observe the
0
additional nodal plane(s) on the fragment orbitals of Ψ𝐴𝐵 caused by the Löwdin orthogonalization.
Note that the orthogonalization is not applied to unoccupied orbitals during ETS-NOCV analysis in
0
Multiwfn, hence the unoccupied orbitals in Ψ𝐴𝐵 and Ψ𝐴 Ψ𝐵 are exactly the same.
Studying composition of NOCV pairs and that of corresponding NOCV orbitals is often useful
when you want to better understand their natures. If you choose option “14 Calculate composition
of NOCV orbitals and pairs”, you will be asked to choose a NOCV pair, then contributions from
every basis function, shell, angular moment, and atom to the NOCV pair and corresponding NOCV
orbitals will be printed on screen. The compositions of NOCV orbitals are evaluated using the SCPA
method mentioned in Section 3.10.3. The composition of NOCV pair is calculated as 𝑣𝑖 Θ𝑖 + 𝑣𝑗 Θ𝑗 ,
where i and j are indices of the two paired NOCV orbitals, 𝑣𝑗 = −𝑣𝑖 , and is orbital composition
evaluated by SCPA method. This option is useful in studying electron transfer. For example, if using
this option you find contribution of atoms A and B to NOCV pair 1 is 34.12% and -20.53%,
respectively, that means atom A gained 0.3412 electron and atom B lost 0.2053 electron due to the
interaction characterized by NOCV pair 1. Note that diffuse functions should never be used since
SCPA method is incompatible with them. If you really have to use diffuse functions, after
performing ETS-NOCV analysis, you should return to main menu (in this case the orbitals in
memory is NOCV orbitals) and then use main function 8 to compute orbital composition via e.g.
Hirshfeld or Becke method, which works normally when diffuse functions are presented.
Option “-6 Manually define correspondence between NOCV pairs and orbitals” is sometimes
useful. Multiwfn automatically constructs NOCV pairs according to NOCV orbitals sorted by
eigenvalues. For symmetric systems (e.g. linear system Ne...BeO), some NOCV orbitals may be
degenerate, namely having exactly the same eigenvalues; in this case their order (index) is arbitrary,
and the automatically determined correspondence between NOCV pairs and orbitals may be
unexpected. In this case you can use the option -6 to choose a NOCV pair, and then manually input
indices of the two orbitals that the pair should correspond to. This option can use multiple times to
redefine multiple NOCV pairs.
313
3 Functions
1 1 1 1 1
E (0) − μ 0 F − αF 2 − βF 3 − γF 4 − δF 5 − εF 6
2 6 24 120 720
• Polarizability ()
Dipole moment of a system in uniform electric field can be written as
E
μ=− = μ 0 + αF
+ (
1
/ 2)βF
2
+ (
1
/6
) γF
3
+
F μ1 μ μ
2 3
314
3 Functions
The linear response of dipole moment with respect to F, namely the 1 term, can be explicitly
written as below
x xx xy xz Fx
μ1 = α F y = yx yy yz Fy
z zx zy zz Fz
The polarizability is a symmetric matrix rather than a scalar, implying the difference of
polarizability in different directions. In order to facilitate comparison of overall polarizability
between various systems, it is convenient to define the isotropic average polarizability
= Tr( α) / 3 = ( xx + yy + zz ) / 3
= [( xx − yy ) 2 + ( xx − zz ) 2 + ( yy − zz ) 2 ] / 2
Definition 3: {} stand for eigenvalues of ranking from small to large
= 3 − ( 1 + 2 ) / 2
The value along each of the three Cartesian axes can be defined as
x = xx + xy + xz
y = yx + yy + yz
z = zx + zy + zz
tot = x2 + y2 + z2
prj (also known as vec) is the projection of on dipole moment vector , it can be sampled
315
3 Functions
experimentally (electric field induced second harmonic generation (EFISHG) experiment). || is the
component in the direction of
i i
prj = || = (3 / 5)prj
i | |
Some people prefer to discuss the perpendicular and parallel components of with respect to
Z axis, they are defined respectively as
⊥( Z ) = (1 / 5) (2 zjj − 3 jzj + 2 jjz ) ||( Z ) = (3 / 5) z
j
and ⊥( Z ) = (1 / 5) z .
316
3 Functions
3 2 1 2
+
35
− +
35
35
−
105
2 2 2
−
105
+
35
2
−
105
the means and meantime . the brackets indicate an averaging over all possible
molecular orientations. If assume that Kleinman's symmetry is approximately applicable, the above
equations could be reduced to a simpler form, see Eq. 6 of J. Chem. Phys., 136, 024506 (2012).
The associated depolarization ratio (DR) is defined as
ZZZ
2
DR =
XZZ
2
Molecules with Td point group have DR exactly equals to 1.5. If the half of wavelength of incident
light is close to absorption band of the current system calculated at same level using TDDFT, the
printed DR may be lower than 1.5 due to SHG resonance.
There are some relevant quantities about HRS could be studied, as shown below, see also J.
Chem. Phys., 136, 024506 (2012) for more information. Note that for consistency, the ZXX in the
equations of this paper have been replaced with XZZ, they are numerically identical in the present
context.
2 〉 2 〉
The 〈𝛽𝑍𝑍𝑍 and 〈𝛽𝑋𝑍𝑍 can be regarded as contributed by two components, dipolar (J=1) and
octupolar (J=3):
9 6
ZZZ
2
= | J =1 |2 + | J =3 |2
45 105
1 4
XZZ
2
= | J =1 |2 + | J =3 |2
45 105
clearly the two components can be evaluated as follows
| J =1 |= 6 ZZZ
2
− 9 XZZ
2
| J =3 |= 1
2 ( −7 ZZZ
2
+ 63 XZZ
2
)
The nonlinear anisotropy parameter is evaluated as = |J=3| / |J=1|.
317
3 Functions
The dipolar relative contribution to , namely (J=1), and octupolar relative contribution to ,
namely (J=3), are defined as below. Clearly (J=1)+(J=3)=1
( J =1 ) = 1 / (1 + )
( J =3 ) = / (1 + )
For small molecules, the one with larger dipole moment tends to have larger (J=1), higher
DR and lower , while the one with smaller dipole moment tends to have larger (J=3), lower DR
and higher .
Assuming a general elliptically polarized incident light propagating along the X direction, with
a state of polarization characterized by two angles (, δ), the intensity of the harmonic light scattered
at 90° along the Y direction and vertically (V) polarized along the Z-axis are given by Bersohn’s
expression (the phase retardation is assumed to be /2)
I2V XZZ
2
cos4 + ZZZ
2
sin 4 + sin 2 cos 2 ( ZXZ + ZZX )2 − 2 ZZZ XZZ
After you enter present function of Multiwfn, you should select actual case of your Gaussian
(hyper)polarizability calculation, so that Multiwfn can successfully parse the outputted information
and show valuable data for you. As can be seen in the menu, there are seven options corresponding
to different situations:
(1) polar keyword + methods supporting analytic 3-order derivatives (HF/DFT/Semi-empirical
methods)
(2) polar keyword + methods supporting analytic 2-order derivatives (e.g. MP2)
(3) polar=Cubic keyword + methods supporting analytic 2-order derivatives
(4) polar keyword + methods supporting analytic 1-order derivatives (CISD, QCISD, CCSD,
MP3, MP4(SDQ), etc.)
(5) polar=DoubleNumer (equivalent to Polar=EnOnly) keyword + methods supporting
318
3 Functions
It is noteworthy that, it is well known that the sign of all hyperpolarizability components
outputted by Gaussian are wrong and should be multiplied by -1, Multiwfn automatically accounts
for this problem.
Before carrying out parsing, via option -3 of interface of present function, you can choose the
unit in the output. Atomic unit, SI unit and esu unit can be chosen. The conversion factors are
SI esu
1 a.u. 8.4783510-30 C m 2.54175 10-18 esu
1 a.u. 1.648810-41 C2m2J-1 1.481910-25 esu
1 a.u. 3.2063610-53 C3m3J-2 8.6392210-33 esu
1 a.u. 6.2353810-65 C4m4J-3 5.0367010-40 esu
The polarizability is often expressed in terms of "polarizability volume" ('), which has
volume unit. (1 a.u.)=' (0.14818470 Å3).
An example is given in Section 4.24.1. More discussion and examples about this function can
be found in my blog article "Using Multiwfn to analyze polarizability and hyperpolarizability
outputted by Gaussian" (http://sobereva.com/231, in Chinese)
319
3 Functions
This function is used to calculate polarizability, first, second, and third hyperpolarizabilities
based on the well-known sum-over-states (SOS) method, as described below. In addition, the
popular two-level model analysis for the first hyperpolarizability as well as its extension (three-level
model) can also be realized in this module, as introduced in Section 3.27.2.2.
3.27.2.1 Calculation of (hyper)polarizability
320
3 Functions
where
ijA = i ˆ A j ijA = ijA − 00A ij = i
i
A,B,C... denote one of directions {x,y,z}; is energy of external fields, =0 corresponds to static
electric field; i stands for excitation energy of state i with respect to ground state 0. 𝑃̂ is permutation
operator, for and evidently there are 2!=2 and 3!=6 permutations, respectively. 𝜇𝑖𝑗 𝐴
is A
component of transition dipole moment between state i and j; when i=j the term simply corresponds
to electric dipole moment of state i. 𝜇̂ is dipole moment operator, e.g. 𝜇̂ 𝑥 ≡ −𝑥.
Input file
Two kinds of input files could be used:
• Plain text file containing excitation energies and transition dipole moments for all involved
states. Polarizability, first, second and third hyperpolarizabilities can be calculated in this case.
Below format should be satisfied (assume a very simple case, only 2 excited states).
2 // The number of excited states
321
3 Functions
2 3.2
0 1 0.231 0.3 0.7 // Transition dipole moment between ground and excited state 1
1 2 0.001 0.3 0.11 // Transition dipole moment between excited states 1 and 2
You can directly utilize the function introduced in Section 3.21.5 to generate such a plain text
file based on output file of electron excitation task of Gaussian or other codes.
If merely polarizability is the quantity of interest, only the content before the line "1 1" is
needed to be provided, all other contents can be omitted; in this case, the number of excited states
should be written as a negative number (-2 in above case) to tell Multiwfn do not to load them.
• Gaussian output file of common CIS, TDHF, TDDFT or ZINDO task. Since Gaussian does
not output all transition dipole moments needed by SOS hyperpolarizability calculation, only
polarizability will be calculated by Multiwfn in this case. In order to obtain accurate polarizability,
the number of calculated states should be large enough. If nstates keyword is specified to a very
large value, e.g. 1000000, then all states will be calculated. #P is suggested to be used, since the
excitation energy will then be printed in a higher precision format.
Usage
After you entered this function you will see a menu, there are three kinds of functions:
• Options 1~4: Used to calculate , , and at given frequencies, respectively. User needs to
input frequency of each external field. The inputted frequencies may be negative. For example, to
compute hyperpolarizability (-(0.25-0.32);0.25,-0.32), one should input 0.25,-0.32 in option 2. The
default unit is a.u., if you prefer to input the frequencies in nm, you should add corresponding suffix,
for example, 182.25,-142.385 nm.
Since calculation of and especially is often time-consuming, in these cases users will be
prompted to input the number of states in consideration, smaller number leads to lower cost, but too
small number may give rise to poor result.
• Options 5~7: Used to study the variation of , and with respect to the number of states in
consideration. User needs to input frequency of each external field. For and , the number of
states taken into account ranges from 1 to all states loaded, the stepsize is 1. While for , since the
computational cost may be quite high, users are allowed to define the ending value and stepsize.
The result will be outputted to plain text file in current folder, the meaning of each column is clearly
indicated in command-line window.
• Options 15~17: Used to study the variation of the , and with respect to frequency of
external fields. For , users need to input initial value, ending value and stepsize of external field
frequencies. For and , users should write a plain text file, each row corresponds to a pair of
frequency (in a.u.) to be calculated. Multiwfn will prompt users to input the path of the file. Below
is an example file used to study how (-0;0,,-) varies as goes from 0 to 0.2 a.u. with stepsize
of 0.02
0.0 0.0 0.0
322
3 Functions
...[ignored]
Since the computational cost for evaluating may be quite high, in this case users are allowed to set
the number of states in consideration. The result will be outputted to plain text files in current folder,
the meaning of each column is clearly indicated in command-line window.
• Option 19: This option is used to scan both 1 and 2 of (-(1+2);1,2). You only need
to input initial frequency, ending frequency and number of steps for 1 and 2. Then after a while,
at different 1 and 2 frequencies will be outputted to plain text files in current folder, the meaning
of each column is clearly indicated in command-line window. Then you can use third-part software
to plot relief map of " vs. 1,2".
Multiwfn not only outputs the tensor of (hyper)polarizability, but also outputs many related
quantities, such as anisotropy, magnitude and the component along Z axis. The quantities involving
, and have been introduced in Section 3.27.1.
An example is given in Section 4.24.2.1. More discussion and examples about this function
can be found in my blog article "Using Multiwfn to calculate polarizability and hyperpolarizability
based on sum-over-states (SOS) method" (http://sobereva.com/232, in Chinese)
Theory
From the SOS expression of , it is clear that magnitude of is completely determined by
character of excited states. Clearly it is a useful idea to interpret the nature of difference in between
different systems from excited state point of view. Indeed, this analysis has been prevalently
employed in literatures, such as one of my works J. Comput. Chem., 38, 1574 (2017). Let us see
how to derive such an analysis model.
Recall the SOS formula for
Assume that only the ZZZ component is of our interest and we only focus on static limit case
(=0), the equation simplifies to
Given that ijA = ijA − 00A ij , when i=j, this terms corresponds to variation of dipole moment
between excited state i and ground state, namely iiA = iiA − 00A = iA ; while if ij , this term
ijA = ijA corresponds to transition dipole moment between excited state i and j.
𝐴 𝐴 SOS
With the fact that 𝜇𝑖𝑗 = 𝜇𝑗𝑖 , the 𝛽𝑍𝑍𝑍 shown above can be written as sum of contribution of
individual excited states and cross term contribution between various excited states:
323
3 Functions
( 0Zi ) 2 iZ Z Z Z
ZZZ
SOS
= 6 + 12 0i 0 j ij
i i 2
i j i i j
The two-level model is very popular, it assumes that the ZZZ is dominated by ground state and
only one excited state:
( 0Zi )2 iZ
SOS
6
i2
ZZZ
The excited state i is usually referred to as crucial state and commonly corresponds to the lowest-
lying one with large oscillator strength (strictly speaking, in the present context, the crucial state
should refer to the lowest-lying one with large Z component of transition dipole moment, however,
the crucial state determined in this way is commonly identical to that determined according to
oscillator strength).
Often the two-level model is equivalently expressed in terms of oscillator strength:
ZZZ
SOS
= 9iZ f i Z / i3
that only Z component of transition dipole moment and variation of dipole moment are relatively
prominent, we have SOS i f i / i3 . Obviously, now one can easily analyze the source of
Usage
In the SOS module (subfunction 8 of main function 200), the suboption 20 is used to carry out
the two- and three-level model analyses, all involved terms in the models will be reported so that
you can easily compare them among different systems.
After entering this function, if you only input index of one excited state, then two-level model
analysis will be carried out, if indices of two excited states are inputted, then three-level model
analysis will be performed.
The component (X, Y or Z) of to be analyzed is defined by users. For example, you already
know that the total of your system is fully dominated by ZZZ and you want to explain why other
analogous systems have different magnitude of , you should choose Z direction to carry out the
analyze.
The input file of this function is completely identical to the one used for SOS calculation of
first hyperpolarizability, as described in last section.
324
3 Functions
(Hyper)polarizability density can be very easily plotted by Multiwfn as plane map and
isosurface map. This quantity is quite useful in discussing nature of (hyper)polarizability of a given
molecule. If this feature is used in your work, citing my paper J. Comput. Chem., 38, 1574 (2017)
is recommended, in which the (hyper)polarizability density analysis is involved and brief
introduction is given. My other publications also present illustrative applications of this method:
Carbon, 165, 461 (2020), J. Phys. Chem. C, 124, 7353 (2020), J. Phys. Chem. A, 124, 5563 (2020),
J. Phys. Chem. C, 124, 845 (2020).
Since μ(F) = − (r, F)r d r , by comparing above equations, we find
μ0 = −ρ(0) (r )r d r α = −ρ(1) (r )r d r
β = −ρ(2) (r )r d r γ = −ρ(3) (r )r d r
where (1) is known as polarizability density, while (2) and (3) are known as the first and second
hyperpolarizability densities, respectively. Using (hyper)polarizability densities, we can easily
investigate contribution of various spatial regions to total molecular (hyper)polarizabilities.
The second hyperpolarizability density (3) is a third-order tensor function, it can be explicitly
represented as
3 (r )
ijk( 3) (r ) =
Fi F j Fk
F =0
It is impossible to discuss all of its components, since there are as many as 333=27
components. Assume that the ZZZZ is the most crucial component of , we can simply study ZZZ(r):
325
3 Functions
3 (r )
(r ) =
(3)
Fz3 F =0
zzz
z
zzzz = − z zzz
(3)
(r ) d r
(3)
Clearly, −𝑧𝜌𝑧𝑧𝑧 (𝐫) is the contribution of point r to the ZZZZ. If it is plotted as isosurface map or
(3)
plane map, the source of ZZZZ can be intuitively revealed. However, the disadvantage of −𝑧𝜌𝑧𝑧𝑧 (𝐫)
(3)
is that it depends on the choice origin, which is somewhat arbitrary, therefore 𝜌𝑧𝑧𝑧 has its own value
to study as it is independent of origin.
(3)
The easiest way of obtaining the 𝜌𝑧𝑧𝑧 is using finite difference method (see my article
http://sobereva.com/305 on how to derive it)
( 2 F z ) − 2 ( F z ) + 2 ( − F z ) − ( −2 F z )
zzz
( 3)
=
2( F z )3
where Fz is strength of the external electric field applied along Z axis. The functions such as (Fz)
and (-Fz) denote the electron density distribution yielded when Fz is applied along positive and
negative directions of Z-axis, respectively. The Fz in this case corresponds to finite difference step
size, it should not be too large or too small, otherwise numerical error will be significant. According
my experience, 0.003 a.u. is a good choice of Fz.
Similarly, one can easily derive the equation for polarizability density
( F z ) − (− F z )
z(1) =
2F z
zz = − z(1) (r ) z d r
and that for first hyperpolarizability density
( F z ) − 2 (0) + ( − F z )
zz(2) =
( F z )2
zzz = − zz(2) (r ) z d r
326
3 Functions
(5) Choose option 1 to generate Gaussian input files of single point calculations under different
external electric fields. You can manually modify the default keywords in these files. By default, the
calculations are conducted at PBE0/aug-cc-pVTZ level.
(6) Run the .gjf files by Gaussian manually, then .wfx files will be generated
(7) Choose option 2 to load the .wfx files
(8) Now you can choose what you want to do. If you choose to calculate grid data of
(hyper)polarizability or spatial contribution to (hyper)polarizability, then you can directly visualize
their isosurface map or export grid data as .cub file. Also you can choose to plot plane map of these
functions.
See Section 4.24.3 for example of studying (hyper)polarizability density and spatial
contribution to (hyper)polarizability.
If you are not familiar with (hyper)polarizability, please check Section 3.27.1 first to gain basic
knowledge. In this section, the unit sphere representation will be introduced, it was proposed in J.
Comput. Chem., 32,1128 (2011) to intuitively represent first-order hyperpolarizability tensor, while
I also extended this idea to polarizability and second-order hyperpolarizability.
Theory
Recall the relationship between molecular dipole moment and external field
μ = μ0 + α F + (1 / 2)β F F + (1 / 6) γ F F F +
The is known as first order hyperpolarizability tensor, the component ABC is proportional to the
magnitude of induced dipole moment in direction A caused by combination of two incident electric
fields respectively in directions B and C.
In the unit sphere representation, effective dipole vector is defined as
327
3 Functions
where and are angles of spherical polar coordinate, e(,) is unit vector normal to the sphere
surface. More specifically, the components of eff can be explicitly written as
ieff = i , j ,k ek e j i, j, k = {x, y, z}
j k
The orientation and length of eff(,) vector respectively reflect the direction and magnitude
of induced dipole moment caused by combination of two incident electric fields exerted in the
direction of (,). If eff is calculated at every vertex of a sphere surface enclosing the molecule, one
can clearly and vividly understand the response of molecular dipole moment with respect to external
electric field exerted in various directions. The original paper only employs this representation to
second harmonic generation (SHG) type of , in fact it can also be applied to other kinds of ,
including both static and dynamic ones (in the latter case, the exerted external field with varying
strength comes from incident electromagnetic wave, and its direction is perpendicular to the
propagation direction of the electromagnetic wave).
Based on the same idea of eff, I defined below quantities
α eff ( , ) = α e( , )
γ eff ( , ) = γ e( , ) e( , ) e( , )
The eff(,) vector reflects the direction and magnitude of induced dipole moment caused by
the incident electric field exerted in the direction of (,), while the eff(,) vector reflects the
direction and magnitude of induced dipole moment caused by combination of three incident electric
field simultaneously exerted in the direction of (,). Similarly, by plotting the eff(,) or eff(,)
at every vertex on a sphere, one obtains unit sphere representation map of and , respectively.
The so-called vector representation of corresponds to plotting (x, y, z) vector as an arrow,
the components are defined as
i = (1 / 3) (ijj + jji + jij ) i, j = {x, y, z}
j
328
3 Functions
Usage
Multiwfn is able to perform unit sphere representation analysis for , and , namely
generating plotting script of VMD software (http://www.ks.uiuc.edu/Research/vmd/) based on
loaded (hyper)polarizability tensor. In addition, plotting script corresponding to vector
representation can also be generated for .
After booting up Multiwfn, you should load a file containing atom information for the molecule
under study. For example, .xyz, .pdb and .fch can be used, see Section 2.5. The atom information
will be used to determine proper radius of the sphere involved in the unit sphere representation.
After entering present module (subfunction 5 of main function 24), you can use many options
to adjust parameters of unit sphere and vector representations, such as scale factor of arrow length,
radius of arrow and so on, they are fully self-explanatory. By choosing options 1 or 2 or 3, Multiwfn
will respectively load or or tensor from a specific file (see below), then VMD plotting script
corresponding to unit sphere representation will be generated in current folder (alpha.tcl, beta.tcl
and gamma.tcl, respectively), and those corresponding to vector representation will also be
generated (alpha_vec.tcl, beta_vec.tcl and gamma_vec.tcl). Then, using VMD to run the scripts, the
corresponding graph will be immediately obtained.
It is worth to mentioning there is an option "-8 Toggle making longest arrow on sphere has specific length". If
you select it once to switch its status to "Yes", then after selecting option 1 or 2 or 3, you will be asked to input the
expected length of longest arrow on the sphere. Via this option, you can make map plotted by VMD for systems
having very different magnitude of (hyper)polarizability easily comparable.
-2.20999000E+000 XY
0.00000000E+000 XZ
-2.20999000E+000 YX
3.91836000E+001 YY
0.00000000E+000 YZ
0.00000000E+000 ZX
0.00000000E+000 ZY
2.54054000E+001 ZZ
329
3 Functions
Example of using this function to study practical molecules are given in Section 4.24.5.
Some aromaticity analysis methods are introduced in following sections, while most electron
delocalization and aromaticity analyses in Multiwfn are introduced in other sections, see Section
4.A.3 for an overview.
Theory
Nuclear independent chemical shielding (NICS) is commonly studied at some special points
(e.g. ring center), and in some papers NICS is investigated by scanning its value in a line (1D) or in
a plane (2D). The so-called iso-chemical shielding surface (ICSS) actually is the isosurface of
negative of NICS, which clearly exhibits the distribution of NICS in 3D space, and thus presents a
very intuitive picture on aromaticity.
Present function is used to generate grid data and visualize isotropic ICSS, anisotropic ICSS,
ICSSXX, ICSSYY and ICSSZZ, they essentially correspond to the isosurface of negative of NICS,
NICSani, NICSXX, NICSYY and NICSZZ, respectively. By the way, at a given point, NICSani is defined
as 3 - (1 + 2)/2, where denotes the eigenvalue of magnetic shielding tensor ranked from small
to large (viz. 3 is the largest one).
The original paper of ICSS is J. Chem. Soc. Perkin Trans. 2, 2001, 1893. While ICSSani,
ICSSXX, ICSSYY and ICSSZZ were proposed by me. If they are utilized in your work, please cite
Carbon, 165, 468 (2020), which is one of my works employing ICSSZZ. I believe for planar systems,
the component form of ICSS must be more meaningful and useful than ICSS, just like NICSZZ has
conspicuous advantage over NICS. ICSSani is useful to reveal the anisotropic character of NICS in
different regions.
Usage
Multiwfn itself is incapable of calculating magnetic shielding tensor and thus requires Gaussian
to do that. The general steps of performing ICSS analysis is shown below
(1) Prepare a Gaussian input file for the system under study, %chk have to be explicitly
specified. The geometry should have been optimized. The keywords in this file will be used for
preparing Gaussian input file of NMR task. For example, see examples\ICSS\anthracene.gjf.
(2) After booting up Multiwfn, load the .gjf file, then enter subfunction 3 of main function 25.
(3) Set up grid by following the prompt. Beware that even using medium quality grid may be
fairly time-consuming. Hence low quality grid is in general recommended for medium-size system.
(4) Input n, namely do not skip steps 5.
(5) Many input files of Gaussian NMR task are generated in current folder, they are named as
NICS0001.gjf, NICS0002.gjf... It is recommended to manually check one of them to ensure the
format and keywords are correct.
In these files, each Bq atom corresponds to a grid point. In the NMR task Gaussian will output magnetic
330
3 Functions
shielding tensor at each Bq along with that at each nucleus. By default 8000 atoms (the real ones + Bq) are presented
in each input file, but this can be altered via "NICSnptlim" parameter in settings.ini. The reason why separate files
rather than a single file are generated is because Gaussian cannot run properly if the number of Bq atoms is too large
due to over-consume of memory, also there is upper limit on the total number of atoms in each Gaussian run. You
can try to set "NICSnptlim" to a larger value if you have large physical memory, this may reduce overall cost of
ICSS analysis (however "NICSnptlim" should also not be too large, for example, the total computational cost of
"NICSnptlim=10000" is even higher than "NICSnptlim=1000"!).
Note that for G09 D.01 and E.01, due to a bug in memory allocation when using the default Harris initial guess,
you should always add "guess=huckel" to route section of template .gjf file, otherwise the NICSnptlim has to be set
to a very small value (e.g. 1000) to make Gaussian work; in this case the overall cost of ICSS calculations is often
quite high. For other Gaussian versions, this keyword should not be added. If error occurs in Link 401 module when
"guess=huckel" is specified, try to use "guess=core" instead. For G16, the guess keyword is not needed.
(6) Run all of the Gaussian input files generated at last step to yield output files. The
NICS0001.gjf must be run prior to any other ones. It is best to keep Multiwfn running (If you have
terminated it, reboot Multiwfn and repeat steps 2 and 3 with exactly the same setting and input y at
step 4).
Hint: You can make use of the script examples\runall.sh (for Linux) or examples\runall.bat (for Windows),
which invokes Gaussian to run all .gjf files in current folder to yield output files with the same name but with .out
suffix.
(7) Input the path of the folder containing Gaussian output files yielded in the last step. Then
Multiwfn will load the magnetic shielding tensors from the NICS0001.out, NICS0002.out ... in this
folder.
(8) Select the property you are interested in.
(9) Visualize isosurface or export the grid data to cube file by corresponding option. For
example, in step 8 you selected "ZZ component", then the isosurface and the grid data will
correspond to ICSSZZ. You can also select "-1 Load another ICSS form" to study other forms.
Notice that if this is not the first time you analyze your system and you already have Gaussian
output files of NMR task of present system in hand, you can start from step 2 and input y in step 4
to bypass steps 5 and 6. In this case, the grid setting selected in step 3 must exactly accord with the
that originally used in generating the Gaussian output files of NMR task.
Introduction
Nucleus-independent chemical shift (NICS) is a very popular index used to measure
aromaticity. In many literatures, such as Org. Lett., 8, 863 (2006), It was shown that NICS(0)ZZ or
NICS(1)ZZ is a better index than the original definition of NICS, which is current known as NICS(0).
For exactly planar systems, if the system plane is parallel to XY plane, then NICS(0)ZZ means
the ZZ component of magnetic shielding tensor at ring center. The only different from NICS(1)ZZ to
NICS(0)ZZ is that the calculated point is not ring center, but the point above (or below) 1 Å of the
plane from ring center. Note that the definition of ring center is highly arbitrary, the original
definition uses geometry center, while some people use center of mass, and some researchers
recommend using ring critical point (RCP) of AIM theory as ring center, for example WIREs
Comput. Mol. Sci., 3, 105 (2013). (Personally, I think using RCP is the best choice)
If the ring of interest is skewed, not exactly planar or tilted, calculation of NICSZZ is difficult,
because one cannot directly acquire the component of magnetic shielding tensor perpendicular to
331
3 Functions
the plane from output file of quantum chemistry programs. Moreover, for NICS(1)ZZ, it is difficult
to properly set the position to be calculated. Present function is designed to solve these difficulties.
In this function, the component of magnetic shielding tensor perpendicular to a given ring is
calculated as ⊥=uTu, where is magnetic shielding tensor, u is column unit vector perpendicular
to the ring, and uT is transpose of u.
332
3 Functions
HOMA index
Harmonic oscillator measure of aromaticity (HOMA) is the most popular geometry-based
index for measuring aromaticity. This quantity was originally proposed in Tetrahedron Lett., 13,
3839 (1972), and then the generalized form was given in J. Chem. Inf. Comput. Sci., 33, 70 (1993).
The generalized HOMA can be written as (notice that the HOMA formula has been incorrectly cited
by numerous literatures)
i, j
HOMA = 1 − ( Rref − Ri , j )2
i N
where N is the total number of the atoms considered, j denotes the atom next to atom i, and RRef
are pre-calculated constants given in original paper for each type of atomic pair. If HOMA equals
to 1, that means length of each bond is identical to optimal value Rref and thus the ring is fully
aromatic. While if HOMA equals to 0, that means the ring is completely nonaromatic. If HOMA is
significant negative value, then the ring shows anti-aromaticity characteristic.
The inventor of HOMA develops the HOMA parameters in the following way, see Chem. Inf.
Comput. Sci., 33, 70 (1993) for detail
Rref = ( Rs + wRd ) / (1 + w)
2
=
( Rs − Rref ) + ( Rd − Rref )2
2
where Rs and Rd are experimental bond lengths of single bond and double bond, respectively. w=kd/ks,
where ks and kd are force constants of single and double bonds, respectively. Usually w is assumed
to be 2.0 (special case also exists, such as w=4.2 for BN bond). For example, the Rref and
parameters for CO bond were derived based on the experimental lengths of C-O and C=O bonds in
formic acid with assumption of w=2.0.
HOMA can be calculated by subfunction 6 in main function 25. When you choose option 0,
Multiwfn will prompt you to input the indices of the atoms in the local system, for example,
2,3,4,5,6,7 (assume that there are six atoms in the ring. The input order must be consistent with atom
connectivity), then HOMA value and contributions from each atomic pair will be immediately
outputted on the screen. For example, thiophene optimized under MP2/6-311+G**, the output is
Atom pair Contribution Bond length(Angstrom)
Since 0.891817 is close to 1, the HOMA analysis suggests that thiophene has prominent aromaticity.
The source of built-in and RRef parameters are shown below:
• CC, CN, CO, CP, CS, NN, NO: Chem. Inf. Comput. Sci., 33, 70 (1993)
• BN: Tetrahedron, 54, 14913 (1998)
• BC: Struct. Chem., 23, 595 (2012)
333
3 Functions
Bird index
Bird index (Tetrahedron, 41, 1409 (1985)) is another geometry-based quantity aimed at
measuring aromaticity, and can be calculated by option 2 of subfunction 6 in main function 25. The
formula is
I = 100[1 − (V / VK )]
where
100 (N i. j − N )2
a
V = i
N i. j = −b
N n Ri , j
In the formula, i cycles all of the bonds in the ring, j denotes the atom next to atom i. n is the total
number of the bonds considered. N denotes Gordy bond order, 𝑁 ̅ is the average value of the N values.
Ri,j is bond length. a and b are predefined parameters respectively for each type of bonds. VK is pre-
determined reference V, for five and six-membered rings the value is 35 and 33.2, respectively. The
more the Bird index close to 100, the stronger the aromaticity is.
Available a and b parameters include C-C, C-N, C-O, C-S, N-O and N-N, they are taken from
Tetrahedron, 57, 5715 (2001), the B-N parameter was obtained from Tetrahedron, 54, 14913 (1998).
For other type of bonds user should provide corresponding parameter by option 3. By option 4 user
can adjust or add VK parameter.
It is well known that nucleus-independent chemical shift (NICS) is a very useful quantity to
measure aromaticity. Commonly NICS is calculated at ring center or above/below 1 Å of ring center.
If NICS is scanned perpendicular to the ring and starts from ring center, evidently much richer
information about aromaticity can be obtained. Furthermore, as proposed in J. Phys. Chem. A, 123,
3922 (2019), integrating the NICS curve is a more reliable way than only studying NICS at specific
points in determining aromaticity.
In this function, you can very easily plot NICS curve map along a specific line. The following
steps are needed:
(1) Boot up Multiwfn and then load a file containing structure information of the system to be
studied
(2) Enter subfunction 13 of main function 25
(3) Define a line and number of scanning points distributed evenly on the line
(4) Select option 1 to generate input file of Gaussian program. You need to input path of a
Gaussian template file, which should correspond to a standard NMR task, but coordinate
part should be replaced with [geometry], see examples\NICS_scan\template_NMR.gjf for
334
3 Functions
example. Then NICS_1D.gjf will be generated in current folder, you can properly modify
keywords according to practical situation
(5) Run the .gjf file by Gaussian manually
(6) Select option 2 and input the path of the output file of Gaussian to load it
(7) Select the component of interest. By default, the NICS data extracted by Multiwfn is the
negative value of the component of magnetic shielding tensor projected on the scanning
line. You can also choose to extract isotropy, anisotropy, XX/YY/ZZ component, or the
component in the direction of a specific vector.
(8) In the new interface, you can plot NICS curve map or save it as image file, calculate
integral of the NICS curve, or export curve data as .txt file.
It is noteworthy that if properly set the Gaussian template file, Multiwfn is able to plot NICS
curve contributed by specific molecular orbitals, such as plotting NICS,zz and NICS,zz curve.
Multiwfn is able to easily plot very nice NICS plane map, the following steps are needed:
(1) Boot up Multiwfn and then load a file containing structure information of the system to be
studied
(2) Enter subfunction 14 of main function 25
(3) Define plotting plane, the settings are exactly the same as that of main function 4
(4) Select option 1 to generate input file of Gaussian program. You need to input path of a
Gaussian template file, which should correspond to a standard NMR task, but coordinate
part should be replaced with [geometry], see examples\NICS_scan\template_NMR.gjf for
example. Then NICS_2D.gjf will be generated in current folder, you can properly modify
keywords according to practical situation
(5) Run the .gjf file by Gaussian manually
(6) Select option 2 and input the path of the output file of Gaussian to load it
(7) Select the component of NICS of interest
(8) The NICS map shows on screen automatically. After closing it, you can adjust plotting
settings in the post-processing menu and the replot.
335
3 Functions
Since Multiwfn has too many functions, some of the functions are relatively "small" compared
to main functions, and some functions are not closely related to wavefunctions analysis, these
functions are classified as "other functions". Because the number of subfunctions in "other
functions" are huge, "other functions" are split as part 1 (main function 100) and part 2 (main
function 200). Part 1 will be described below, and part 2 will be introduced in Section 3.200.
3.100.1 Draw scatter graph between two functions and generate their
cube files
This function allows grid data of two functions to be generated at the same time with sharing
grid setting, you can choose to export their cube files, view their isosurfaces and plot scatter graph
between them.
After you entered this function, select two real space functions that you are interested in, for
example you want to analyze real space function 16 and 14, you should input 16,14 (the first and
the second function will be referred to as functions 1 and 2 respectively below). Then select a mode
to set up grid points. After that Multiwfn starts the calculation of grid data for them. Once the
calculation is finished, Pearson correlation coefficient of the two functions in all grid points is
printed and a menu appears on screen, all options are self-explanatory. If you choose -1 to draw
scatter graph, a graph like this will pop up immediately:
Each scatter point corresponds to each grid point, the position in X-axis and Y-axis corresponds
to the value of function 1 and function 2 at this point, respectively. Multiwfn determines the range
of axes automatically according to the minimum and maximum value, sometimes you have to use
option 4 and 5 to reset the range yourself, otherwise barely points can be seen in the graph. The size
of points can be adjusted by “symbolsize” in settings.ini. The graph can be saved to current directory
by option 1. The X-Y data set of the points can be exported to output.txt in current directory by
option 2.
336
3 Functions
Option -2 and -3 set the value of function 2 where the value of function 1 is within or without
of a specific range respectively. Notice that the data once modified cannot be retrieved again.
Special usage: If you already have cube files of the two functions to be studied (referred to as
func1.cub and func2.cub, respectively) and you want to directly use the functions in post-processing
menu (e.g. plotting scatter map, modifying values), you should follow these steps: Input the path of
func1.cub after booting up Multiwfn, then enter main function 100 and select subfunction 1, then
input 0,0 when selecting real space functions, then input the path of func2.cub, after that the grid
data of the two cube files will be directly taken as function 1 and function 2. Notice that, of course,
the grid setting of func1.cub and func2.cub must be exactly identical.
337
3 Functions
wavefunction can be used as initial SCF guess. Notice that you must then manually specify the basis
set in the input file as the one originally used to yield present wavefunction, otherwise the Gaussian
or GAMESS-US task must be failed.
Because ORCA is very popular, fast and has numerous important functions, while its keywords
are not as easy to specify as Gaussian, therefore a special interface is provided for generating ORCA
input file, in which commonly employed ORCA calculation levels can be selected, the generated
keywords are the most appropriate and efficient ones for corresponding level. Very detailed
description can be found in "On the function of generating ORCA input file in Multiwfn "(in Chinese,
http://sobereva.com/490), also there is an practical example "Simulating UV-Vis and ECD spectra
using ORCA and Multiwfn" (http://sobereva.com/485). The video "Study geometry, vibration, IR
spectrum and orbitals based on ORCA program and other codes" (https://youtu.be/tiTmTbtbtig) also
utilized this function.
Because PSI4 code is very popular in performing symmetry-adapted perturbation theory
(SAPT), the function of generating PSI4 input file was elaborately designed for this purpose.
The ability of generating CP2K input file is extremely powerful and useful. After loading a
geometry file of molecular or periodic system into Multiwfn, this function is able to generate CP2K
input file of various tasks with wide variety of frequently used options. See "Using Multiwfn to
easily create input file for CP2K program" (http://sobereva.com/587) for detail. Very basic input file
of Quantum ESPRESSO can also be generated.
Information needed: Atom coordinates, GTFs (for exporting .wfn/.wfx), basis functions (for
exporting .mwfn/.fch/.molden/.47)
In this function Monte Carlo method is used for evaluating van der Waals (vdW) volume of
present system, two definitions of vdW region are provided: (1) The superposition of vdW sphere
of atoms. This definition is not very accurate, because electron effect is not taken into consideration,
but the speed of evaluation is very fast and wavefunction information is not required. (2) The region
encompassed by certain isosurface of electron density, the isovalue of 0.001 is suitable for isolated
system, while 0.002 is more suitable for molecules in condensed phase. One can choose the
definition by "MCvolmethod" in settings.ini.
The principle of the Monte Carlo procedure is very simple: If we define a box (volume is L)
which is able to hold the entire system, and let N particles randomly distributed in the box, if n
particles are presented in the vdW region, then the vdW volume of present system is n/N*L. Of
course, the result improves with the increase of N. In Multiwfn, you need to define N by input a
number i, the relationship is N=100*2i, for small molecular when i=9 the accuracy is generally
acceptable, for large system you may need to increase i gradually until the result variation between
i and i+1 is small enough to be acceptable as converged. For definition 2 of vdW region, you also
need to input the isovalue of density, and the factor k used to define the box, see below illustration,
where Rvdw is vdW radius. If k is too small, then the vdW region may be truncated, however if k is
too large, more points are needed to maintain enough accuracy. For isovalue of 0.001, k=1.7 is
recommended.
338
3 Functions
Information needed: atom coordinates (for definition 1), GTFs (for definition 2)
This is a very useful and powerful function for integrating selected real space function in the
whole space. The numerical integration method used here is based on the one proposed by Becke in
the paper J. Chem. Phys., 88, 2547 (1988) for integrating DFT functional, which is also suitable for
any real space function, but notice that the function must be smooth and converges to zero at infinite
asymptotically. The accuracy is determined by the number of integration points, you can adjust the
number of radial and angular integration points by “radpot” and “sphpot” parameters in settings.ini,
respectively. The integrand can be selected from built-in functions, and you can also write new
function yourself as user-defined function, see Sections 2.6 and 2.7.
If outmedinfo in settings.ini is set to 1, then during the calculation of this function, a file named
integrate.txt will be exported in current folder, which contains these data for all integrating points:
Index, Cartesian coordinate, function value, Lebedev integration weighting, and atom weighting
function.
339
3 Functions
ELF(r)r ELF(r) d r
2
rELF =
ELF(r) ELF(r) d r
In Multiwfn, this quantity will be automatically calculated and outputted if you select ELF as the
integrand in present function. The rELF is outputted as “spherically symmetric average ELF”, the
numerator and denominator in the root sign are also outputted together.
In J. Phys. Chem. C, 123, 4407 (2019), the LOL-tuning is proposed, in which the “spherically
symmetric average LOL” is involved:
LOL(r )r LOL(r ) d r
2
rLOL =
LOL(r) LOL(r ) d r
The rLOL along with its numerator and denominator in the root sign will be printed if LOL is selected
in present function.
For unrestricted wavefunctions, orthonormalization condition does not in general hold between
alpha and beta orbitals. This function computes the overlap matrix between alpha and beta orbitals
, j = i (r ) j (r ) d r
Si
The diagonal elements are useful for evaluating the matching degree of corresponding spin orbital
pairs, evident deviation to 1 indicates that spin polarization is remarkable.
In present function, there are two options, option 1 calculates the full overlap matrix, the
diagonal elements will be printed on screen and the whole overlap matrix can be selected to output
to ovlpmat.txt in current folder; in addition, the maximum pairing between Alpha and Beta orbitals
are shown. This calculation may be time-consuming for large system. Option 2 only calculates and
prints the diagonal elements, this is always fast.
Since the expectation of S2 operator for single determinant (SD) wavefunction can be easily
derived from the overlap matrix, if option 1 is selected, Multiwfn also outputs this quantity:
N N
+ N − Si
2
S 2
=S 2
exact ,j
SD
i j
where N and N are the number of alpha and beta electrons, 〈𝑆 2〉exact is the exact value of square
340
3 Functions
N − N N − N
S 2 exact = S ( S + 1) = + 1
2 2
Difficulty in SCF convergence is an annoying problem that often encountered in daily work,
monitoring the convergence is important for finding proper solutions. Multiwfn can monitor SCF
process by using the output file of Gaussian as input file. Notice that #P has to be specified in the
route section, otherwise no intermediate information of SCF process will be recorded in output file.
When you entered this function (subfunction 6 of main function 100), all information of
previous steps and the thresholds of convergence are printed on screen, such as
Step# RMSDP Conv? MaxDP Conv? DE Conv?
SCF done!
Meanwhile a window pops up, which contains curves that corresponding to convergence process of
energy, maximum value and RMS variation of density matrix. After you close the window, you can
print the information and draw the curve graphs again in specific step range by choosing
corresponding options, the Y-axis is adjusted automatically according to the data range.
If the SCF task is work in progress, that is output file is updated constantly, every time you
choose to print and draw the convergence process, the Gaussian output file will be reloaded, so what
you see is always the newest information. For monitoring a time-consuming SCF process, I suggest
you keep the interface on until the SCF task is finished, during this period you choose option 2 every
so often to show the latest 5 steps and analyze convergence trend.
In the graph, gray dashed line shows the zero position of Y-axis, the red dashed line shows the
threshold of convergence. The picture below shows the last 10 SCF steps of a system. If “Done”
appears in the rightmost, that means corresponding property has already converged, here all three
terms are marked by “Done”, so the entire SCF process has finished.
341
3 Functions
This function is also compatible with keyword SCF=QC and SCF=XQC, but not with
SCF=DM.
3.100.8 Generate Gaussian input file with initial guess combined from
fragment wavefunctions
where Eels is electrostatic interaction term, normally negative if the fragments are neutral; EXC is
change of exchange-correlation energy during complexation process; EPauli comes from the Pauli
repulsion effect between electrons in occupied orbitals of the fragments and is invariably positive,
sometimes it is also referred to as exchange-repulsion term. For convenience, it is customary to
combine these three terms as steric term (Esteric).
342
3 Functions
Eorb in above formula is orbital interaction term, it arises from the mix of occupied MOs and
virtual MOs, and it exhibits polarization and charge-transfer effects. If the combined wavefunction
is used as initial guess for complex, then Eorb can be evaluated by subtracting the the first SCF
iteration energy from the last SCF iteration energy:
The ground state is singlet, while the two Mn atoms have opposite spin and each Mn atom has high
spin. Obviously, restricted closed-shell calculation is not suitable for this system, unrestricted
calculation is required, however, the default initial guess is non symmetry-broken state, therefore
the converged unrestricted wavefunction returns to restricted closed-shell wavefunction. In order to
make the wavefunction converges to expected state, we have to compute wavefunction for four
fragments separately and then combine them by Multiwfn to construct a proper symmetry-broken
initial guess. The four fragments should be defined as
Fragment 1: Mn(NH3)4 at left side. Charge = +2, sextet.
Fragment 2: Mn(NH3)4 at right side. Charge = +2, sextet.
Fragment 3: One of bridge oxygen atoms. Charge = -2, singlet.
Fragment 4: Another bridge oxygen atom. Charge = -2, singlet.
Notice that nosymm and pop=full keywords must be specified in the calculation of each
fragment. Assuming the output files are frag1.out, frag2.out, frag3.out and frag4.out, respectively,
343
3 Functions
let Multiwfn load frag1.out first after boot up, then select function 100 and subfunction 8 to enter
present function, input 4 to tell Multiwfn there are four fragments in total; since frag1.out has
already been loaded, you only need to input the path (including filename) of frag2.out, frag3.out
and frag4.out in turn. After that a Gaussian input file named new.gjf will be outputted in current
directory. Notice that every time you input a fragment, Multiwfn asks you if flip its spin, only for
fragment 2 you should choose y, that is make the spin direction of unpaired electrons down (by
default the spin is in up direction) to exactly counteract the opposite spin in fragment 1, so that
multiplicity of complex is 1.
From the comment of new.gjf (the texts behind exclamation mark), you can know clearly how
the MOs of complex are combined from MOs of fragments. For example, a two-fragment system,
one of complex MOs in new.gjf is
! Alpha orbital: 12 Occ: 1.000000 from fragment 2
We already know there are 8 basis functions in fragment 1 and 12 basis functions in fragment 2, and
this complex MO comes from fragment 2, so the first 8 data (highlighted) are zero and only the last
12 data have values (the same as corresponding MO coefficients in Gaussian output file of fragment
2).
If you used diffuse functions and encounter problem at Link401 when running new.gjf by
Gaussian, you can add IOp(3/32=2) keyword and retry.
In the original paper of DFT-D3 (J. Chem. Phys., 132, 154104 (2010)), the authors argued that
the coordination number (CN) of an atom A can be approximately expressed as
1
CN A =
B A 1 + exp{−16 [(4 / 3)( RA + RB ) / rAB − 1]}
where R is Pyykkö covalent radius from Chem. Eur. J., 15, 186 (2009), and rAB is distance between
A and B.
According this idea, in present module the interatomic connectivity index (I) between A and B
is determined as follows:
1
I AB ( rAB ) =
1 + exp{ −16 [( 4 / 3)( RA + RB ) / rAB − 1]}
Assume that RA+RB=2.0, then the function could be plotted as follows. The I value equals to
0.995 when rAB=RA+RB
344
3 Functions
Note that the I should not be utilized as an indicator of bond order, it does not have capability
of discriminating bonding type and strength.
Present module outputs I between each pair of atoms, the printing threshold can be inputted by
user. Commonly, when I is close to 1.0, it implies that the two atoms are bonded, while if it is close
to 0.0, then they may be regarded as not bounded by chemical bond. The nearest integer of I, namely
nint(I), is also outputted for facilitating examination of the result.
For each atom (e.g. atom A), the I
B A
AB is printed as "Sum of connectivity", while
nint( I
B A
AB ) is printed as "Sum of integer connectivity". The former and the latter may be regarded
This function is used to calculate overlap and centroid distance between two orbitals, this is
useful for many purposes, e.g. analyzing charge transfer during electron excitation. You need to
input index of two orbitals, then X, Y, Z of centroid of the orbitals will be calculated as follows
X i = | i (r ) |2 x d r Yi = | i (r) |2 y d r Zi = | i (r) |2 z d r
345
3 Functions
Dij = ( X i − X j ) 2 + (Yi − Y j ) 2 + ( Z i − Z j ) 2
Present function also calculates overlap degree of the two orbitals, below two quantities are
calculated respectively (while directly calculating overlap integral of two orbital wavefunctions is
clearly meaningless, since it must be zero due to orthonormalization condition):
| (r) || (r) | d r | (r ) | | ( r ) |
2 2
i j i j dr
The integrals shown above are not calculated analytically but numerically via Becke's grid-
based integration approach. The integration grid can be set by "radpot" and "sphpot" in settings.ini,
the default values are high enough, and you may want to somewhat decrease them to reduced
computational cost for large system, especially when you want to study many orbital pairs.
When the calculation is finished, Multiwfn will ask you whether or not add the two centroids
as two additional dummy atoms (the symbol is Bq). If you choose y, then you can go to main
function 0 to visualize corresponding orbital isosurfaces by transparent or mesh style to examine
correspondence between centroid position and orbital shape.
Introduction
It is well known that for wavefunctions generated by unrestricted open-shell calculations (UHF
or UKS), the alpha and beta orbitals are often evidently mismatch with each other, this phenomenon
makes analysis of orbitals difficult, because one must simultaneously consider two set of orbitals.
Although restricted open-shell (ROHF or ROKS) calculation does not have this problem, the total
electronic energy, orbital energy and electron distribution is not as accurate as unrestricted open-
shell calculation.
Present function is used to perform biorthogonalization between alpha and beta orbitals for
unrestricted open-shell wavefunction with spin multiplicity higher than 1. Original alpha and beta
molecular orbitals will be respectively transformed to a set of new orbitals. Although finally there
are still two sets of orbitals, their wavefunctions have matched with each other almost perfectly,
therefore then you only need to discuss one set of orbitals.
The so-called biorthogonalization mentioned here specifically refers to simultaneously
satisfying two conditions: (1) For each set of spin orbitals, they are orthonormal with themselves (2)
Alpha orbitals are orthonormal with respect to beta orbitals with different index. Without applying
the biorthogonalization, the UHF/UKS orbitals only satisfy the first condition.
Algorithm details
The biorthogonalization is realized via singular value decomposition (SVD) technique. The
overlap integral matrix O between alpha and beta orbitals is first constructed, and then SVD is
applied to decompose it as O=UV , where is a diagonal matrix, the diagonal elements are referred
†
to as "singular values", which essentially correspond to the overlap integrals between the orbitals
after the biorthogonalization transformation, under normal situations they should be very close to
346
3 Functions
1.0. The column matrix U (V) corresponds to the transformation matrix between the original orbitals
and the new orbitals of alpha (beta) spin. The coefficient matrix of the newly generated
biorthogonalized orbitals can be obtained as
Cbiortho = UCoriginal
Cbiortho = VCoriginal
Since U and V are unitary matrices, such a transformation does not affect observable quantities of
current system.
Notice that the biorthogonalization transformation should not be done for all orbitals at once,
because this will lead to mix between occupied and virtual orbitals and thus results in change of
observable properties. In Multiwfn, the transformation is successively carried out via below three
steps. The total number of orbitals of each spin will be denoted as ntot, the numbers of alpha and
beta electrons will be denoted as n and n, respectively. n>n is assumed.
(1) Biorthogonalization between all occupied alpha orbitals (1~n) and all occupied beta
orbitals (1~n). This step makes each resulting occupied beta orbital paired with a resulting alpha
orbital.
(2) Biorthogonalization between alpha orbitals (n+1~n) and all virtual beta orbitals
(n+1~ntot). This step makes each resulting "singly occupied" alpha orbital paired with a resulting
beta virtual orbital
(3) Biorthogonalization between all alpha virtual orbitals (n+1~ntot) and the virtual beta
orbitals that have not been paired (n+1~ntot).
Note that in biorthogonalization steps 2 and 3, the utilized overlap integral matrix O should be reconstructed
based on the coefficient matrices updated at the last step.
After these three steps of transformation, in most cases, one-to-one pairing between all alpha
and beta orbitals is nicely satisfied, namely the difference between orbital wavefunction distribution
of an alpha orbital and that of the beta orbital with the same index is negligible. At the same time,
each alpha orbital is nearly orthogonal to a beta orbital with different index. It is noteworthy that the
alpha orbitals obtained in this way are not exactly orthonormal with respect to beta orbitals, because
to reach the exact orthonormalization condition, all MOs must be transformed simultaneously,
which will result in undesirable mixing between occupied and unoccupied MOs.
The biorthogonalized orbitals are not eigenfunctions of Fock operator (or Kohn-Sham operator,
similarly hereinafter) like molecular orbitals, however their energies can be evaluated as expectation
value of Fock operator of corresponding spin. Specifically, if you request Multiwfn to evaluate the
orbital energies, Multiwfn performs the following representation transformation:
Fbiortho = (C )T FAO
C
Fbiortho = (C )T FAO
C
where FAO is the Fock matrix of spin in original basis functions that loaded from external file,
C(,i) corresponds to coefficient of basis function in biorthogonalized orbital i of spin. Energy
of biorthogonalized orbital j is simply Fbiortho(j,j).
Note: Commonly, the numbers of and electrons are different, and/or their distributions are unsymmetric,
therefore the single-electron effective potential (reflected by the corresponding Fock operator) of the two spins are
different. So, even if you find an and a biorthogonalized orbitals with the same index show almost completely
identical shape, their energies could be significantly different.
Once generation of orbital energies has done, Multiwfn is able to order the orbitals according
to their energies. Notice that the energy used in the ordering process is average of energy of alpha
347
3 Functions
orbital and its beta counterpart, and the three batch of orbitals (1~n), (n+1~n) and (n+1~ntot) are
ordered individually (hence for example, index of an orbital originally in the second batch must still
be higher than any orbital in the first batch after ordering).
Since the number of unoccupied MOs is generally much higher than the number of occupied
MOs, while one often only has interest in occupied biorthogonalized orbitals, therefore Multiwfn
provides an option to skip the biorthogonalization between unoccupied MOs, namely skipping the
step (3) shown above. In this case the alpha and beta orbitals in the range of (n+1~ntot) will be
meaningless and you should not then study them.
Usage
After booting up Multiwfn, simply loading a file containing basis function information
(e.g. .mwfn, .fch, .molden, .gms) that generated by UHF or UKS calculation, then go to subfunction
12 of main function 100, you will be asked to choose if also performing biorthogonalization for
unoccupied MOs, if evaluating energies of biorthogonalized orbitals, and if ordering the
biorthogonalized orbitals according to their energies in the way mentioned earlier. The Fock matrix
used to evaluate energies of the biorthogonalized orbitals can either be directly generated using MO
energies and coefficient matrix via F=SCEC-1, or be loaded from a file (see Appendix 7 of this
manual).
After finishing the biorthogonalization, two files are exported to current folder
• biortho.txt: This file contains singular values and occupancy of the biorthogonalized orbitals.
If energies of the orbitals have been evaluated, they will also be written into this file.
• biortho.fch: This file contains biorthogonalized alpha and beta orbitals. If you did not request
Multiwfn to evaluate their energies, then in this file the orbital energies in a.u. will correspond to
their singular values; while if their energies have been generated, then the energies will be written
into this .fch file as orbital energy information.
Finally, if you input y, then the biortho.fch will be loaded directly, so that then you can directly
visualize the newly generated orbitals via main function 0 or analyze them by various functions; if
you input n, then the file that loaded when Multiwfn boots up will be reloaded to recover to the
initial state.
In the paper Chem. Commun., 48, 9239 (2012), the authors proposed a quantity named
LOLIPOP (Localized Orbital Locator Integrated Pi Over Plane) to measure π-stacking ability of
aromatic systems, they argued that a ring with smaller LOLIPOP value has stronger π-depletion
(namely lower π-delocalization), and hence shows stronger π-stacking ability.
LOLIPOP is defined as definite integral of LOL-π (the LOL purely contributed by π-orbitals)
from a distance of 0.5 Å away from the molecular plane. Only points with LOL-π > 0.55 are taken
into account. The integration is made in a cylindrical region perpendicular to the molecular plane,
348
3 Functions
with a radius of 1.94 Å corresponding to the average between the C and H ring radii in benzene.
In Multiwfn, function 14 in main function 100 is designed for calculating LOLIPOP, the default
values 1.94 and 0.5 Å mentioned above can be changed by options 3 and 4 respectively. Before
starting the calculation, you have to choose which orbitals are π orbitals by option 1. The calculation
can be triggered by option 0, you need to input the indices of the atoms in the ring in accordance
with the atom connectivity, then grid data of LOL- around the ring will be evaluated, then the
LOLIPOP value will be computed by numerical integration. Of course, smaller grid spacing gives
rise to higher integration accuracy, but brings higher computational cost on evaluating LOL. The
default spacing of grid data is 0.08 Bohr, this value is fine enough in general.
If you want to calculate LOLIPOP separately for each side of the ring, you can use option 5 to
choose the side. By default, both sides are taken into account.
If you want to examine if the calculated LOL- is reasonable, you can choose option 7 once,
then after LOLIPOP calculation, isosurface map of LOL- will be shown.
If you want to visually verify the distribution of the points actually included in the integration
of LOLIPOP value, you can choose option 6 once, then after LOLIPOP calculation you will have
pt.xyz in current folder, you can use VMD software to visualize the points recorded in this file, they
correspond to the points actually contributing to LOLIPOP.
This function is used to calculate orbital overlap integral between two molecules, namely
, j = i
Siinter (r ) monomer
monomer1 2
j (r)d r
where i and l are molecular orbital indices of monomer 1 and monomer 2, respectively. This integral
is useful in discussions of intermolecular charge transfer, e.g. J. Phys. Chem. B, 106, 2093 (2002).
Below three files are required for evaluating the integral, any kind of file containing basis
function can be used as the input files.
(1) Wavefunction file of dimer
(2) Wavefunction file of monomer 1
(3) Wavefunction file of monomer 2
To calculate the integral, after booting up Multiwfn, file (1) should be loaded first. After
entering the present module, the paths of files (2) and (3) should be inputted in turn. Then you can
inter
input such as 8,15 to obtain 𝑆8,15 , that is the integral between MO 8 of monomer 1 and MO 15 of
monomer 2. If you input letter o, then the entire Sinter matrix will be outputted to ovlpint.txt in current
folder.
Notice that the atomic coordinates in files (2) and (3) must be in accordance with those in file
(1), and the atomic sequence in the files should be identical. The basis set used for the three
calculations must be the same. Also, notice that if in the dimer the atoms in molecule A occur prior
to the atoms in molecule B, then in the present function, you must load wavefunction file of molecule
349
3 Functions
A first and then load that of molecule B, otherwise the result will be incorrect.
Special case:
If you are a Gaussian user, in addition to using .fch/fchk as input files, you can also use Gaussian output files
for present module (though deprecated, because accuracy is slightly lower). The three files in this case should be
(1) Gaussian output file of dimer, IOp(3/33=1) nosymm guess=only should be specified in route section.
Multiwfn will read overlap matrix from this file.
(2) Gaussian output file of monomer 1, nosymm pop=full should be specified in route section. Multiwfn will
read orbital coefficients of monomer 1 from this file.
(3) Gaussian output file of monomer 2, nosymm pop=full should be specified in route section. Multiwfn will
read orbital coefficients of monomer 2 from this file.
This function is used to generate one-electron effective Hamiltonian matrix based on orbital
energies and expansion coefficients with respect to basis function. The generated matrix corresponds
to Fock matrix for Hartree-Fock wavefunction and Kohn-Sham matrix for Kohn-Sham DFT
wavefunction.
The principle of this function is very easy to comprehend: The HF or KS-DFT equation is
FC=SCE, where F is Fock/KS matrix, C is coefficient matrix, S is overlap matrix, and E is a
diagonal matrix whose diagonal terms correspond to various molecular orbital energies. Clearly F
can be solved as F=SCEC-1 when other matrices are available.
To use this function to yield Fock/KS matrix, after booting up Multiwfn, you should load a file
containing basis function information with all molecular orbitals. For example,
the .fch/.molden/.mwfn/.gms file produced by HF or DFT calculation can be used. Then enter
subfunction 17 of main function 100, Fock/KS matrix will be generated in the above mentioned way.
Then you will be asked to input path of a plain text file, the generated Fock/KS matrix will be
exported to it in a lower-triangular form, thus the structure of the file is:
F(1,1) F(2,1) F(2,2) F(3,1) F(3,2) F(3,3) ... F(nbasis,nbasis)
where nbasis is the total number of basis functions. For unrestricted open-shell case, alpha and beta
Fock/KS matrices (Fa and Fb) are respectively generated and outputted in the following way
Fa(1,1) Fa(2,1) Fa(2,2) Fa(3,1) Fa(3,2) Fa(3,3) ... Fa(nbasis,nbasis)
Fb(1,1) Fb(2,1) Fb(2,2) Fb(3,1) Fb(3,2) Fb(3,3) ... Fb(nbasis,nbasis)
Note that some functions of Multiwfn need user to provide a file containing Fock/KS matrix
so that energies of specific orbitals can be evaluated, the file exported by the present function is
compatible with requirement of those functions.
It is worth to mention that due to numerical error, the Fock/KS matrix obtained as F=SCEC-1
is inevitably lower than that originally produced by quantum chemistry code, but the difference is
very small.
The present function cannot be used if linearly dependent basis functions are automatically
eliminated during quantum chemistry calculation, in this case the number of solved MOs (and hence
the number of loaded MO energies) is smaller than the number of basis functions. Usually this issue
only occurs when diffuse functions are heavily employed.
350
3 Functions
Example
This example generates KS matrix for examples\ClPO2.fch. Boot up Multiwfn and input
examples\ClPO2.fch
100
17
ClPO2_KSmat.txt
Now you have ClPO2_KSmat.txt in current folder, which contains KS matrix elements in lower
triangular form.
Theory
This function is used to analyze electron transport route and is mainly based on Yoshizawa's
formula (Acc. Chem. Res., 45, 1612 (2012)), At the Fermi energy, the matrix elements of the zeroth
(0)𝑅/𝐴
Green's function, 𝐺𝑟𝑠 , which describes the propagation of a tunneling electron from site r to site
s through the orbitals in a molecular part, can be written as follows:
C rk C sk*
Grs( 0 ) R/A ( E F ) =
k E F − k i
where Crk is the kth MO coefficient at site r, asterisk on the MO coefficient indicates a complex
conjugate, εk is the kth MO energy, and η is an infinitesimal number determined by a relationship
between the local density of states and the imaginary part of Green's function. By this formula, if
two electrodes are connected to site r and s, by this formula we can readily predict the transmission
probability between the two sites. From the expression of the denominator, it can be seen that
HOMO and LUMO have the largest contribution to G. If only HOMO and LUMO are taken into
account, the formula can be explicitly written as
Cr HOMOC s*HOMO C C*
Grs( 0 ) R/A ( E F ) = + r LUMO s LUMO
E F − HOMO i E F − LUMO i
This formula allows one to visually examine the possibility of electron transmission between site r
and s by means of observing molecular orbital diagram. If both site r and s have large C in magnitude,
and their relative phase in HOMO and in LUMO is different, then the magnitude of G will be large,
indicating that transmission between r and s will be favourable. For examples, see Acc. Chem. Res.,
45, 1612 (2012). Note that G may be positive and negative, but only absolute value of G is
meaningful for discussing transmission.
In Multiwfn, iη term in G is always ignored, since this is an infinitesimal number. The
coefficient C comes from the output of "NAOMO" keyword in NBO program. In almost all organic
conductors, σ orbitals have little contribution to conductance, therefore present function only takes
π orbitals into account, and the molecular plane must be parallel in XY or YZ or XZ plane.
Input file
To run this kind of analysis, there are two choices on the input file
(1) Only using Gaussian output file
In the route section, pop=nboread must be specified, and $NBO NAOMO $END must be
351
3 Functions
b3lyp/6-31g* opted
0 1
(2) Load a file containing basis function information when Multiwfn boots up, then after
entering present function, load a NBO output file containing NAOMO information (namely the
NAOMO keyword has been passed to NBO program. If you are using GENNBO, you can add
NAOMO into $NBO…$END field of .47 file).
Usage
After you enter this function, you need to select which plane is the one your molecular plane
parallel to. Then program will load file and find out the atoms having expected π atomic orbital
(strictly speaking, the "Val"-type p natural atomic orbitals that perpendicular to the chosen plane).
The coefficient of these atomic orbitals will be used to compute G.
Then you will see a menu, the options are explained below:
-4 Set distance criterion: Input lower and upper limits. Then in option 2 and 3, the route whose
distance exceeds this criterion will not be shown.
-3 Set value criterion: In option 1, the MO whose contribution to G is less than this criterion
will not be shown. In option 2 and 3, the route whose |G| is smaller than this criterion will not be
shown.
-2 Set Fermi energy level: Namely set EF in the Yoshizawa's formula.
-1 Select the range of MOs to be considered: Namely set the MO range of the summation in
the Yoshizawa's formula.
0 View molecular structure: As the title says.
1 Output detail of electron transport probability between two atoms: You need to input
index for two atoms, they will be regarded as site r and s, then Grs (the value behind "Total value")
will be outputted; meanwhile program also outputs the contribution from each MO, the distance
between the two atoms, and the calculated Grs for the case when only HOMO and LUMO are taken
into the summation.
2 Output and rank all electron transport routes in the system: All routes in current system
will be tested, if the route simultaneously fulfills the G and distance criteria set by -3 and -4, then
the involved atoms, G and distance of the route will be printed. The routes are ranked by absolute
value of G.
3 Output and rank all electron transport routes for an atom: Similar to option 2, but only
consider the routes involving specific atom.
352
3 Functions
This function is used to generate a new wavefunction (in .wfn., .fch or .mwfn format) by
combining wavefunctions of fragments. In the new wavefunction, the electron distribution simply
corresponds to the superposition of the electron distribution of the combined fragments; in other
words, in this combined state the electron polarization and charge transfer between the fragments
have not occurred. Each combined orbital directly corresponds to one of the fragment orbitals.
Infinite number of fragments can be combined together in this function. If .wfn file of the
combined wavefunction is to be exported, the fragment wavefunction files can be in any format;
however, if the wavefunction is selected to be exported as a .mwfn or .fch file, the inputted fragment
wavefunctions should contain basis function information, such as .fch/mwfn/molden/gms.
Assume that the combined wavefunction consists of N fragments, after booting up Multiwfn,
you should let Multiwfn load the first fragment wavefunction file, and then go to the present function
(subfunction 19 of main function 100), select the format of the new wavefunction to be exported,
then input the total number of fragments (N), and input the path of the wavefunction files
corresponding to the other fragments in turn. Finally, you will get the wavefunction file
corresponding to the combined wavefunction.
In the exported combined wavefunction file, orbitals are sorted according to orbital occupation
from high to low.
If any fragment is unrestricted open-shell, then the combined wavefunction will also be
unrestricted open-shell, namely the alpha and beta orbitals will separately occur in the exported
wavefunction file. In this case, for each unrestricted open-shell fragment, Multiwfn will ask you if
flipping the spin of its orbitals; if you input y, then the information of all alpha and all beta orbitals
will be exchanged. This treatment is particularly useful if you want to get the artificial wavefunction
of the whole system combined from fragment wavefunctions of free radicals.
Ghost atom may be used in fragment wavefunction calculation. If the same basis functions and
atoms were employed in every fragment calculation (they only differ by the choice of ghost atoms,
and union of real atoms in each fragment just corresponds to the whole system), you should input
negative of number of fragments to indicate this special case. In this case only single-determinant
wavefunction is supported, and only occupied orbitals will be considered to generate the combined
wavefunction, while unoccupied orbitals will be ignored (if export to .fch or .mwfn format, the
virtual orbitals will have zero coefficients and energies). In the combined wavefunction, all atoms
will be recorded as real atoms.
The Hellmann-Feynman (H-F) force is the actual force acting on nuclei in a quantum system,
which is exerted by electron density and other nuclei:
Hˆ (r )(R A − r ) Z (R − R B )
FA = − = FAele + FAnuc = − Z A dr + Z A B A
R A |RA −r | 3
B A | R A − R B |
3
353
3 Functions
Present function calculates and prints total H-F force as well as the contribution from electron
density and other nuclei respectively.
In practice, notice that the H-F forces calculated as above based on the electronic wavefunction
and nuclear information recorded in the wavefunction file are generally not equivalent to the forces
computed by quantum chemistry program at current calculation level (FQC), which may be
expressed as:
E Hˆ
FAQC = − =− − 2 / R A Hˆ
R A R A
The partial derivative of wavefunction with respect to nuclear coordinate involves partial derivative
of orbital coefficients, configuration state coefficients and basis functions with respect to RA.
Therefore, only for the fully variational wavefunctions such as HF, DFT and MCSCF with basis
functions independent of nuclear coordinates (e.g. plane wave), the second term on the r.h.s. of
above equation is vanishing, and then the H-F forces just equals to the force at current calculation
level.
This function aims at characterizing structural properties of a molecule or its local region. It
has many capabilities, as respectively shown below
m (r − r )
i i c
2
Rg = i
m j
j
354
3 Functions
I XZ
mi ( yi2 + zi2 ) − mi xi yi − mi xi zi
I XX I XY
i i i
I = I YX I YY I YZ = − mi yi xi i i i i
m ( x 2
+ z 2
) − i mi yi zi
I ZX I ZZ
i
I ZY
− i mi zi xi − mi zi yi
i
i
mi ( xi2 + yi2 )
where x, y, and z are Cartesian components of atoms relative to mass center. In the output, "The
moments of inertia relative to X,Y,Z axes" correspond to the three diagonal terms of I.
The three eigenvectors of I are known as principal axes, they are outputted as the three columns
of the matrix with the title "***** Principal axes (each column vector) *****". The corresponding
three eigenvalues of I are the moments of inertia relative to principal axes.
If the moments of inertia are given in amuÅ2, then the rotational constants in GHz can be
directly evaluated; for example, the rotational constant relative to Z axis is ℎ/(8𝜋 2 𝐼𝑍𝑍 ) × 1011,
where h is Planck constant, and =1.66053878*10-27 is a factor used to convert amu to kg.
If you would like to calculate the middle ring, you should input for example 3,4,8,9,10,7.
During the calculation, the ring will be partitioned into multiple triangles, whose areas will be
calculated separately and then summed up as the total area.
The ring can contain arbitrary number of atoms, and the ring may be non-planar; however, you
should make sure that the ring is convex, otherwise the result could be meaningless. So, for a large
ring with complex shape (e.g. porphyrin), it is better to calculate the area of its each part respectively
and then manually sum them up.
355
3 Functions
It is noteworthy that in J. Org. Chem., 72, 9163 (2007), it was proposed that the aromaticity of
an entire polycyclic system can be evaluated as ΣNICS(1)ZZ/area2.
1
MPP =
N atom
d
i
i
2
where di is the distance between atom i and the plane fitted for the considered atoms.
Signed distance between atom i and the fitting plane may be expressed as
356
3 Functions
properly adjusted to give a more realistic picture of the actual radius of the cavity. Multiwfn
iteratively adjusts the position of the sphere center by steepest ascent method to make the radius as
large as possible. When the sphere center position converges (displacement less than 0.01Å), the
diameter of the sphere is just the actual cavity diameter, see right part of the below figure. Note that
the iteration algorithm requires that the maximum change in sphere center at each step does not
exceed 0.3 Å. The vdW radii used in this function are those defined by Bondi in J. Phys. Chem., 68,
441 (1964).
Some systems contain more than one cavities. The algorithm described above can calculate
any of them as long as you properly define the atoms used to detect contact and set the initial position
of sphere center (during iteration process the sphere center will automatically move to the center of
the nearest cavity, and thus the diameter of that cavity will be finally reported).
This function is designed for automatically identifying π orbitals, setting occupation numbers
and evaluating π composition of a given set of orbitals. This function is crucially useful for studying
π electrons, e.g. calculating ELF-π. After you entered present function (subfunction 22 of main
function 100), you will see an interface, you should properly select an option according to the type
of your orbitals, the methods for detecting delocalized and localized orbitals are completely different.
357
3 Functions
orbitals to zero. Option 3 is similar to option 1, but only valence π orbitals are taken into account.
Option 4 is used to clean occupation number for all orbitals except for valence π orbitals.
For a not exactly planar system, and orbitals cannot be strictly separated or defined. Sometimes, local region
of a system is planar, but other atoms are not exactly in the same plane, in this case it is also possible to use present
mode to detect -like orbitals that delocalize on the local planar region. For instance, for toluene, you want to obtain
index of all -like orbitals delocalized on the six-membered ring. Before single point calculation of this system, you
should make the ring exactly parallel to the XY plane, then after calculation and loading the resulting wavefunction
file into Multiwfn, you should use option -4 of main function 6 to remove all GTFs on the methyl group. After that,
enter present function (subfunction 2 of main function 100) and choose option 0. In this case the program will ask
you to manually choose a plane because the program is unable to automatically determine the plane, you should
select the option corresponding to XY plane, and then input two tolerances. Finally, three -like orbitals will be
successfully identified.
358
3 Functions
used if you have to employ diffuse functions when generating wavefunction. However, these two
methods are relative more expensive and according to my test, they sometimes result in wrong
identification of unoccupied orbitals (one main reason is that their results do not faithfully reflect
orbital nodal character). More information about orbital composition evaluation can be found in
Section 3.10.
It is worth to note that only the LMOs yielded by Pipek-Mezey orbital localization method
show separation character of and and thus could be used in for present function. Although
Multiwfn also supports Foster-Boys localization, the and characters are mixed together and
result in banana type of bonds, and thus the resulting LMOs cannot be used in conjunction with
present function.
c j ,i = j i = C ,iC , j
where C is orbital coefficient matrix, stands for basis function. You will be asked to input a
threshold, only the orbitals having π composition larger than this threshold will be printed on screen.
For unrestricted wavefunction, the π composition of alpha and beta orbitals are evaluated
respectively based on alpha and beta π type of LMOs.
Note that after this analysis, the wavefunction in memory will correspond to the file you newly
loaded.
There is a very important option "3 Switch the orbitals in consideration", which determines
which LMOs will be employed for computing compositions. This option has below two statuses,
you need to properly choose the status according to the orbitals you want to study.
• "Occupied localized orbitals": This is default status, only occupied π LMOs will be detected
and employed for evaluating compositions. If you only want to study compositions of occupied
MOs, occupied biorthogonalized orbitals or occupied NTOs, then this status is appropriate. because
it can be easily demonstrated that these orbitals are only contributed by occupied LMOs. In this case
only occupied LMOs are needed to be obtained first.
• "All localized orbitals": All π LMOs will be detected and used for evaluating π compositions,
clearly both occupied and unoccupied LMOs must be available prior to the analysis. This status can
be used to evaluate π compositions for unoccupied MOs/NTOs/biorthogonalized orbitals, which are
only contributed by unoccupied LMOs. If you want to evaluate π compositions for natural orbitals,
you also need to switch to this status, because these orbitals can be contributed by both occupied
and unoccupied LMOs.
The use of this function for orbitals in localized form is illustrated in Section 4.100.22. Sections
359
3 Functions
4.4.9 and 4.5.3 also involves this function, but for the case of delocalized orbitals.
Information needed: GTFs (delocalized orbital case), basis functions (localized orbital case),
atom coordinates
This function is very similar to the function used to fit ESP charge (see Section 3.9.10 and
3.9.11), but the real space function to be fitted is not limited to ESP, for example you can fit average
local ionization energy or even Fukui function distributed on molecular surface to atomic values.
After select option 1, and then select a real space function, the function value will be calculated
on the fitting points and then fit to atomic value by least-squares method, namely minimizing below
error function
F ( p1 , p2 ... p N ) = [V (ri ) − V (ri )]
2
where i denotes the index of fitting points, p is atomic value, V is the value of real space function,
while V' is the function value evaluated by atomic value, which is defined as
pA
V (ri ) =
A rA,i
where A denotes atom index, rA,i corresponds to the distance between nucleus of atom A and the
fitting point i.
The error of fitting is measured by RMSE and RRMSE
360
3 Functions
An example of using this function to evaluate ESP fitting charge based on user-provided ESP
cube file is given in #4 of http://sobereva.com/wfnbbs/viewtopic.php?pid=1542. This example
illustrates the universality of this module.
361
3 Functions
the fact that the actual ELF bifurcation point between V(D,H) and V(A) is almost exactly lying on
the straight line linking H and A, it is better to use main function 3 of Multiwfn to plot a ELF curve
map from the H to A and then directly read the value of corresponding minimum. Below is a
screenshot of ELF topology analysis result for the HFHF dimer
The purple and orange spheres are (3,-3) and (3,-1) type of ELF critical points (CPs), respectively.
The (3,-1) CP pointed by the arrow corresponds to the aforementioned ELF bifurcation point
between V(D,H) and V(A), its ELF value was found to be 0.06487, which is just the ELF(DH-A)
of present system.
As can be seen from the above graph, the red linking line basically crosses the center of the
orange sphere, this is why the ELF(DH-A) can also be approximately evaluated based on the ELF
curve map between H1 and F3. The curve map plotted using main function 3 is shown below
The minimum highlighted by the arrow is 0.06482, which is very close to the value 0.06487 obtained
based on the expensive ELF topology analysis. This observation well demonstrates the
reasonableness of employing ELF curve map between H and A to estimate the ELF(DH-A).
As regards ELF(C-V), its definition is fairly ambiguous. Since in the original paper of CVB
index the authors did not explicitly and clearly explain how this quantity should be evaluated,
different papers often employ different rule to calculate it, leading to serious confusion in existing
literatures. For example, in the CVB original paper, namely Theor. Chem. Acc., 104, 13 (2000), it
seems that the ELF(C-V) was determined as maximal value at all ELF minima dissecting core and
valence shell on the ELF curve between D and A atoms. However, in the subsequent paper Struct.
Chem., 16, 203 (2005) written by the same author, I found the ELF(C-V) is seemingly calculated as
the ELF value at one of exactly located ELF bifurcation points connecting core and valence basin
of donor atom (while acceptor atom is seemingly ignored).
In my viewpoint, the best definition of ELF(C-V) should be the ELF value at the minimum
362
3 Functions
dissecting core and valence shell of donor atom on the ELF curve between D and H. Again taking
the HFHF (H4-F3H1-F2) dimer as example, the ELF curve plotted between F2 and H1 is:
Namely ELF(C-V) = 0.0936. Hence, the CVB index for the HFHF system should be 0.0936 −
0.0648 = 0.0288. This value is very different to the counterpart (-0.006) in Table 2 of Theor. Chem.
Acc., 104, 13 (2000), because the calculation levels are different, the ways of obtaining ELF(C-V)
are different, and the sign of the data in this paper was erroneously reversed.
The result is completely identical to that we calculated manually. The outputted ELF(CV,A) is
useless in current context, but some users may be interested in it.
In order to make you better understand how the CVB index is automatically calculated in
Multiwfn, here I explain the implementation detail. After the user inputted index of D, H and A
atoms, the ELF curves corresponding to D-H and H-A are calculated in turn, and then the
ELF(CV,D), ELF(DH-A) and ELF(CV-A) are automatically identified from the curve data, as
363
3 Functions
illustrated below
(4) Special case: Calculating CVB index for some very strong H-bonds
In principle, the CVB index calculation protocol described above works for most kinds of
systems that have typical H-bond, both intermolecular and intramolecular H-bonds can be analyzed
in the same way. However, for some very strong H-bonds, whose hydrogen is lying at midpoint
between two heavy atoms, such as H2OH+OH2, this protocol is no longer valid because its ELF
curve does not show typical feature, as shown below (since the O-H-O angle in this system is close
to 180, only one plot is needed):
It can be seen that the V(D,H) has bifurcated as V(O) and V(H). In this case you should evaluate
CVB index manually by plotting ELF curve maps, and the ELF(DH-A) in the standard CVB index
expression should be replaced with the ELF value at the local minimum between the V(H) and V(O)
in the curve map.
Below is a more complicated case, F-HO-H, you also need to manually evaluate the CVB
index by plotting ELF curve map. The ELF curve map shown below was plotted between the F and
O (the FHO is almost linear, therefore only one plot is needed), as can be seen the ELF is
unsymmetric with respect to the central hydrogen:
364
3 Functions
This system can be regarded as having two H-bonds, the H-bond binding energy of O-H...F and
O...H-F must be very different. For the former, CVB index = ELF(B) - ELF(C), while for the latter,
CVB index = ELF(D) - ELF(A). This is because when discussing the system for example as O-H...F,
the O and F behave as donor and acceptor atoms, respectively. Therefore the minimum of point C
between H and F should be regarded as the ELF(DH-A), while the minimum of point B should be
viewed as ELF(C-V,D).
For this system, you can obtain ELF(C-V,D) by plotting ELF curve map between F7 and H8
and read the ELF value at minimum, the value will found to be 0.0944.
ELF(DH-A) of this system can be obtained via ELF topology analysis. To do this, we input
below commands in Multiwfn:
2 // Topology analysis
-11 // Select the real space function to be analyzed
9 // ELF
6 // Search critical points by randomly distribute initial guesses within a sphere
4 // Set the sphere center as geometry center of three atoms
1,4,8 // Center of C1, C4 and H8 will be set as the sphere center
0 // Start searching (the sphere radius, the number of starting points can be set by corresponding
365
3 Functions
Close the GUI, select option 7, and then input 5 to check properties of the critical point 5, you will
find its ELF value is 0.1241, which is just the ELF(DH-A) of this H-bond. Hence, the CVB index
of this system is 0.0944 - 0.1241 = -0.0297.
In fact, since this system has high symmetry, you can also obtain ELF value of the critical point 5 by simply
plotting ELF curve map between H8 and midpoint of C1-C4.
This function is used to calculate atomic and bond dipole moments directly based on basis
functions (viz. in Hilbert space). You can also consult Section 12.3.2 of the book Ideas of Quantum
Chemistry (L. Piela, 2007).
Theory
In the formalism of basis functions, the system dipole moment can be expressed as follows
μ = μ nuc + μele = Z AR A − Pi , j i r j
A i j
where Z and R are charge and coordinate of nuclei. P is density matrix, i r j is dipole moment
A A B A A A B A
The expression and physical meaning of the five terms are
𝛍nuc
𝐴 : Dipole moment due to nuclear charge
366
3 Functions
A = Z AR A
μ nuc
pop
𝛍𝐴 : Dipole moment due to the electron population number localized on single atom (Notice
that this is different to the electron population number calculated by Mulliken or similar methods,
because the overlap population numbers have not been absorbed into respective atoms)
A = − pA R A
μ pop loc
pAloc = Pi , j i j
iA jA
dip
𝛍𝐴 : Atomic dipole moment, which reflects the electron dipole moment around an atom. rA is
the coordinate variable with respect to nucleus A
A = − Pi , j i rA j
μdip where rA = r − R A
iA jA
= − Pi , j i r j − μ pop
A
iA jA
pop
𝛍𝐴𝐵 : Dipole moment due to the overlap population between atom A and B
AB = − pAB R AB
μpop pAB = 2 Pi , j i j R AB = (R A + RB ) / 2
iA jB
dip
𝛍𝐴𝐵 : Bond dipole moment, which somewhat reflects the electron dipole moment around
geometry center of corresponding two atoms. Of course, if A and B are not close to each other, then
this term will be very small, and thus inappropriate to be called as bond dipole moment.
AB = −2 Pi , j i rAB j
μdip where rAB = r − R AB
iA jB
= −2 Pi , j i r j − μ pop
AB
iA jB
By means of Mulliken-type partition, the bond dipole moments can be incorporated into atomic
dipole moments, so that the system dipole moment can be written as the sum of single center terms
μ = (μ nuc pop + μAdip )
A +μ A
A
pop
where 𝛍′𝐴 is the dipole moment due to the Mulliken population number of atom A
μApop = − pAMul R A pAMul = Pi , j i j
B iB jB
dip
and 𝛍′𝐴 is the atomic overall dipole moment of atom A
μAdip = − Pi , j i rA j = − Pi , j i r j − μ Mul
A
B iB jB B iB jB
Note that the B index in above formulae runs over all atoms.
Usage
The input file must contain basis function information (e.g. .mwfn, .fch, .molden and .gms).
After you enter present function, you can choose option 1 to output information of a specific
dip
atom, including: Atomic local population number, 𝑝𝐴loc ; atomic dipole moment, 𝛍𝐴 ; contribution
to system dipole moment due to nuclear charge, 𝛍nuc
𝐴 ; contribution to system dipole moment due to
dip pop dip pop
electron, 𝛍𝐴 + 𝛍𝐴 ; contribution to system dipole moment, 𝛍nuc
𝐴 + 𝛍𝐴 + 𝛍𝐴 .
You can also choose option 2 to output information between specific atomic pair, including:
pop dip
bond population number, 𝛍𝐴𝐵 ; bond dipole moment, 𝛍𝐴𝐵 ; contribution to system dipole moment,
pop dip
𝛍𝐴𝐵 + 𝛍𝐴𝐵 .
367
3 Functions
If choose 3, atomic overall dipole moment and related information of selected atoms will be
outputted, including: Atomic Mulliken population number, 𝑝𝐴Mul ; atomic overall dipole moment,
dip
𝛍′𝐴 ; contribution to system dipole moment due to nuclear charge, 𝛍nuc 𝐴 ; contribution to system
dip pop
dipole moment due to electron, 𝛍′𝐴 + 𝛍′𝐴 ; contribution to system dipole moment, 𝛍nuc 𝐴 +
dip pop
𝛍′𝐴 + 𝛍′𝐴 .
If you choose option 10, then X/Y/Z components of electron dipole moment matrix will be
outputted to dipmatx.txt, dipmaty.txt and dipmatz.txt in current folder, respectively. For example, the
(i, j) element of Z component of electron dipole moment matrix corresponds to
− Pi , j i z j
i j
By this function, grid data of multiple orbital wavefunctions can be calculated and then
exported to a single cube file or separate cube files at the same time.
After you entered this function, you need to first select the orbitals you are interested in (e.g.
3,5,9-17), then define grid setting, then choose the scheme to export the grid data. If you select
scheme 1, then the grid data will be exported as separate files, for example orb000003.cub,
orb000005.cub, orb000009.cub, etc. The number in the filename corresponds to orbital index. If
you select scheme 2, then grid data of all orbitals you selected will be collectively exported to
orbital.cub in current folder. Lots of visualization programs, including VMD and Multiwfn, support
the cube file containing multiple sets of grid data.
For restricted and unrestricted single-determinant wavefunctions, in this function you can
select orbital based on HOMO and LUMO. For example, h-3 means HOMO-3, l+2 corresponds to
LUMO+2. See prompt on screen for more examples.
This function is used to plot radial distribution function (RDF) for a real space function
RDF ( r ) = f ( r, )r 2 d
where r is radial distance from sphere center, and denotes angular coordinate in a sphere layer.
The integration curve of RDF can also be plotted
r' r'
I (r ') = RDF (r )d r = f ( r , ) r
2
d d r
rlow rlow
Clearly, if rlow is set to 0 (viz. sphere center), then I() will be the integral of f over the whole space.
In present function, one can choose the real space function to be studied, set the position of
368
3 Functions
sphere center, set the lower and upper limit to be calculated and plotted, set the number of points in
radial and angular parts. The larger the number of points, the more accurate the integration curve.
After the parameters have been properly set, selecting option 0 to start the calculation, then you
will see a new menu, in which you can plot RDF and its integration curves, save the graph or export
the corresponding original data. In this menu you can also find an option used to export spherically
averaged function (f sph), it correlates with RDF via below relationship
RDF ( r )
f sph ( r ) =
4 r 2
Theory
This function is primarily used to analyze correspondence between the orbitals in two
wavefunctions. The two sets of orbitals can be produced under different basis sets, by different
theoretical methods, at different external environments, in different electronic states, or at slightly
different geometries. The two sets of orbitals can also be different types, for example the first set of
orbitals are canonical MOs produced by Hartree-Fock calculation, while the second set of orbitals
are natural orbitals produced by post-HF calculation.
The orbitals {i} in present wavefunction (the wavefunction loaded when Multiwfn boots up)
can be represented as linear combination of the orbitals {j} in another wavefunction (the
wavefunction you specified after entering present module), i.e.
i = Ci , j j where Ci , j = i j (r) (r) d r
i j
j
Once we have the overlap integral, we immediately know how j is associated with i. The
contribution from orbital j to orbital i is simply the square of overlap integral, namely <i|j>2100%.
The present function is able to compute the C matrix as well as the contributions, so that you can
easily make clear the relationship between the two sets of orbitals.
Usage
After you enter this function, first you need to input the orbital range to be considered for
present wavefunction (istart1~iend1), then input the path of the second wavefunction and the orbital
range to be considered (istart2~iend2). After that the overlap matrix between istart1~iend1 and
istart2~iend2 will be calculated by Becke's multi-center numerical integration scheme. Then you
will see the five largest contributions from istart2~iend2 to each orbital in istart1~iend1.
If you want to obtain all coefficients (as well as the corresponding contributions) of
istart2~iend2 in a specific orbital among istart1~iend1, you can then directly input the index of the
orbital.
If an orbital (i) in present wavefunction can be exactly expanded as linear combination of
istart2~iend2, then the normalization condition must be satisfied:
369
3 Functions
iend 2
i j 100% = 100%
2
j =istart 2
From the Multiwfn output you can find the maximum deviation to normalization condition. If the
value is zero, that means all orbitals in istart1~iend1 can be exactly represented by the orbitals in
istart2~iend2.
Note that the atomic coordinate of present wavefunction and that of the second wavefunction
are not necessarily identical, the two wavefunctions can even correspond to different molecules.
However, if the difference of the distribution scope of the atomic coordinates in the two
wavefunctions is large, the integration accuracy must be low and the result is not reliable.
Commonly the default integration grid is fine enough, i.e. 30 radial points, 302 angular points
with "radcut=15". If you wish to improve the accuracy, you should set "iautointgrid" in settings.ini
to 0, then you can define "radpot", "sphpot" and "radcut" in settings.ini; increasing their values will
result in better integration accuracy.
The computational cost of this function directly depends on the number of orbitals in
consideration; so if your system contains very large number of orbitals, do not choose all orbitals at
once.
Special usage: Evaluating overlap integrals and superpositions between two sets of
orbitals
Present function can also be used to evaluate overlap between orbitals, the orbitals may come
from the same wavefunction, or come from two different wavefunctions.
After entering the interface of present function, if you want to obtain all overlap integrals (i.e.
all <i|j>) between the above mentioned orbitals istart1~iend1 in the first wavefunction and orbitals
istart2~iend2 in the second wavefunction, simply input -1, then these integrals will be outputted to
convmat.txt in current folder.
If what you need is not common overlap integral between orbital wavefunctions but overlap
integral between norm of orbital wavefunctions, which is useful for measuring orbital superposition
and expressed as ∫|𝜑𝑖 (𝐫)||𝜑𝑗 (𝐫)|d𝐫, you should input -2 in the interface of present function, then
all these integrals between the orbitals istart1~iend1 and istart2~iend2 will be outputted to
Snormmat.txt in current folder. Similarly, if what you need is ∫|𝜑𝑖 (𝐫)|2 |𝜑𝑗 (𝐫)|2 d𝐫, you should input
-3 in the interface, then the result will be outputted to Snorm2mat.txt.
In fact, the present function can somewhat equivalently realize the functions introduced in
Sections 3.100.5, 3.100.11 and 3.100.15, but the output format and main purpose are different.
370
3 Functions
This function is used to calculate average bond length between two elements and average
coordinate number. This function is particularly useful for analyzing structure character of atom
clusters, for example the Ge12Au cluster shown below (the structure file is provided as
examples\Ge12Au.pdb). By using this function, we can immediately obtain the average Ge-Ge bond
length and average Au-Ge bond length, as well as average coordinate number of Ge due to Ge-Au
or Ge-Ge bonds, or of Au due to Ge-Au bonds. A nice application of this kind of analysis on Al
clusters can be found in J. Chem. Phys., 111, 1890 (1999).
1
R = Rij
nb i j
where Rij is the distance between atom i and j, only the terms smaller than or equal to a given distance
cutoff (e.g. 2.2 Å) will be regarded as bonds and thus be taken into the summation. nb is the total
number of bonds.
The average coordinate number is calculated as follows
1
CN = Ni
n i
where Ni is the number of bonds surrounding the atom i, n is the total number of atoms.
After you entered this function, you need to input two elements, for example Ge,Au, and input
a distance cutoff, for example 3.2, then the Ge-Au contacts 3.2 Å will be regarded as Ge-Au bonds
and the average bond length will be calculated, the minimum and maximum bond lengths will also
be outputted. After that, if you select y, the average coordinate number of Ge due to Ge-Au bonds
will be shown.
371
3 Functions
This function is used to calculate electric/magnetic dipole moment integral, velocity integral,
kinetic energy integral and overlap integral between orbitals, advanced users may recognize the
significance of these data. In the case of a range of orbitals, the results are exported to orbint.txt in
current folder, the first and second columns correspond to the index of the two orbitals; In the case
of a pair of orbitals, the result is directly printed on screen.
The electric dipole moment integral vector between two orbitals is defined as
μ ij = μ ji = i | −r | j
The magnetic dipole moment integral vector between two orbitals is calculated as (more detail
can be found in Section 3.21.1.1. The negative sign is ignored)
M ij = i i | r | j
The velocity integral vector between two orbitals is evaluated as (the negative sign is ignored)
v ij = i i | | j
The kinetic energy and overlap integrals between two orbitals are respectively evaluated as
Kij = − 12 i 2 j Sij = i j
If you need to calculate Coulomb or exchange integral between two orbitals, you should use
the function described in Section 3.200.17.
Theory
The center of a real space function f is defined as
372
3 Functions
rc =
r f (r ) d r
f (r ) d r
where the integral is performed over the whole space.
The first moment is a vector and is evaluated as
x x
μ = y = y f (r ) d r
z z
where x, y, z are the Cartesian coordinate components relative to rc.
The second moment is a matrix and defined as
xx xy xz x2 xy xz
Θ = yx yy yz = yx y2 yz f (r ) d r
zx zy zz zx zy z 2
If its eigenvalues {} are sorted from low to high, then the anisotropy of can be calculated as
1 + 2 + 3
3 − ( 1 + 2 ) / 2 . The radius of gyration is calculated as .
f (r ) d r
Spatial extent 〈𝑟 2 〉 = ∫(𝑥 2 + 𝑦 2 + 𝑧 2 )𝑓(𝐫)d𝐫 is simply the trace of the second moment matrix,
or the sum of its three eigenvalues. If f(r) is chosen to be electron density, then <r2> corresponds to
the well-known electronic spatial extent (ESE). Note that ESE and electric dipole/multipole
moments can be evaluated analytically and much more efficiently by a specific function in Multiwfn,
see Section 3.300.5.
Usage
This function employs Becke's multicenter integration method for evaluating above mentioned
quantities. The accuracy is fully determined by radial points and angular points, which can be set
by "radpot" and "sphpot" in settings.ini, respectively.
Option 1 calculates and outputs all aforementioned quantities. The real space function to be
studied can be selected by option 3. The center (rc) defaults to (0,0,0), and it can be manually set by
option 4. Option 2 is used evaluate the center of the selected real space function, which can be
directly taken as the rc for the subsequent calculation of option 1 (evidently, if rc is set to be the
center of the selected function, the calculated first moment will be zero).
When using option 1, if the real space function to be studied is chosen as electron density, then
the nuclear contribution of quadrupole moment and molecular quadrupole moment tensors will also
be outputted. In fact, the latter can be straightforwardly obtained by subtracting the former by the
second moment of electron density.
If the real space function of interest has both positive and negative parts with comparable
magnitude (e.g. orbital wavefunction with evident positive and negative phases), option 5 is usually
recommended to use instead of option 2 for evaluating the distribution center of the selected real
space function, because option 5 uses absolute function value in the evaluation, therefore
cancellation effect can be avoided. In addition, for such kind of real space function, in order to
calculate their aforementioned statistical quantities, it is suggested to choose option -1 once before
choosing option 1, in this case the absolute function value will be used in the evaluation.
373
3 Functions
A brief example is given here. To evaluate the first and second moments of spin density
(relative to the center of spin density), after loading a wavefunction file, you should input
200 // Other function (Part 2)
11 // The present function
3 // Select a real space function
5 // Spin density
2 // Calculate center of spin density
y // Take the calculated center for evaluating various data in option 1
1 // Evaluate various data for spin density
Then the data will be shown on screen.
See blog article “Using Multiwfn to exhibit excess electron and calculate its radius of gyration”
(http://sobereva.com/658, in Chinese) for more illustration of using this module.
This function is used to calculate energy index (EI) and bond polarity index (BPI), which were
defined in J. Phys. Chem., 94, 5602 (1990) and further discussed in J. Phys. Chem., 96, 157 (1992).
The EI for atom A in a molecule is defined as follows
val
i i i, A
EI A = i
val
i
i i, A
where i,A denotes composition of atom A in MO i. i and i are occupation and energy of MO i,
respectively. The summation runs over valence MOs. In fact, the denominator is simply the number
of valence electrons of atom A, and the numerator corresponds to total energy of its valence electrons.
Therefore, EIA can be regarded as average energy per valence electron of atom A. In the original
paper of EI, Mulliken method was used to compute the atomic contribution to MOs, thus this method
is also employed in present implementation of EI, though other methods such as Hirshfeld partition
should work equally well or even better. (Note that since Mulliken method is used, which is
incompatible with diffuse functions, the use of diffuse basis functions must be avoided!)
The BPI between atoms A and B in a molecule is defined as
BPI AB = ( EI A − EI ref
A ) − ( EI B − EI B )
ref
where EIref is reference EI value derived from calculation of homonuclear species. For example, you
study BPICN for H3C-NH2, then EICref is computed as EIC in ethane, and EINref
is computed as EIN in
H2N-NH2. The larger magnitude of BPIAB implies higher bond polarity of the A-B bond.
Group electronegativity is evaluated as negative of EIX for corresponding radical, X is the
attaching atom. For example, to obtain group electronegativity for -CH3 group, you should calculate
-EIC for CH3 radical.
374
3 Functions
This function of Multiwfn is used to calculate EI for specific atom in present system, all the R,
RO and U types of HF/DFT wavefunction are supported. Multiwfn automatically detects the number
of inner-core electrons and determines which MOs are the valence ones and thus should be taken
into account.
Theory
This function is mainly designed to evaluate contribution of each of selected orbitals to a given
density difference, , so that you can clearly understand which orbital(s) are main contributor(s)
of change in electron density distribution. A similar idea has been employed in J. Mol. Model., 24,
25 (2018) to study contribution of various NBO orbitals to Fukui function (a special kind of electron
density, see Section 4.5.4) to better unravel its chemical meaning. Below, the theory and algorithm
used in the present function are outlined.
is able to be approximately represented as linear combination of probability density of
orbitals, which is norm of corresponding orbital wavefunction
(r ) pi | i (r ) |2
i
What we need to obtain is the optimal value of {p} for expanding the . The pi can be regarded as
contribution of orbital i to the . The {p} could be derived via least-squares method by minimizing
the difference between and p | (r ) |
i
i i
2
over the whole space, at the meantime the sum of
{p} could be constrained to a given value P via Lagrangian multiplier technique. The error function
to be minimized in the actual implementation is
2
F = (r ) − pi | i (r ) |2 d r + pi − P
i i
In Multiwfn, the integral is treated as numerical integration based on evenly distributed grids, that
is
2
F = V (r ) − pi | i (r ) |2 + pi − P
i i
where is index of grid point, V is grid volume.
Clearly, below conditions should be satisfied to determine the optimal {p}
F
= 0 i = {1, 2, 3 }
pi
p i
i =P
375
3 Functions
more explicitly,
F
pi
=0 p | (r ) | | (r ) |
j
j i
2
j
2
+ = | i (r ) |2 (r )
A1,1 A1, N 1 p1 B1
=
AN ,1 AN , N 1 pN BN
1 1 1 0 P
Ai , j = Aj ,i = | i (r ) |2 | j (r ) |2
Bi = | i (r ) |2 (r )
The fitting error reported by Multiwfn is estimated using the following formula
(r) − p | (r) |
2
definition1: i i dr
i
2
definition 2 : (r ) − pi | i (r ) |2 d r
i
In principle, this algorithm works for any kind of and orbital. For example, the may
corresponds to Fukui function, density variation during electron excitation and so on. The orbital
could be localized molecular orbital (LMO), NBO, MO, etc. The contribution p can be positive or
negative, the sign reflects phase of participation of orbital density in the . Notice that the choice
of orbital range is highly arbitrary while evidently affects the result. For example, the range can
include all orbitals of a certain type, or only include occupied ones.
Usage
Below is the common procedure to derive contribution of a set of orbitals to via the present
function
(1) Use Multiwfn or other codes to generate cube file of . The procedure of calculating grid
data of has been substantially illustrated in many sections of present manual, for example,
Section 4.5.4 (Fukui function and dual descriptor) and Section 4.18.3 ( corresponding to electron
excitation).
(2) Load a file containing orbitals of interest into Multiwfn, then enter subfunction 13 of main
function 200.
(3) Input the path a cube file containing to make Multiwfn load it.
(4) Use option 1 to set constraint on the sum of contributions, namely the P value in above
equations. The P is default to 1.0.
(5) Select option 0, then set the range of orbitals to be taken into account. After calculation,
contribution (p) of all chosen orbitals will be shown on screen.
(6) In the post-processing menu, you can choose to visualize isosurface of , fitted density
p | (r ) |
i
i i
2
or their difference − pi | i (r) |2
i
so that you can visually examine the
376
3 Functions
fitting quality. The fitted density can also be exported as cube file.
In Multiwfn, there are two modes to deal with the grid data of orbitals during construction of
the A matrix and B vector. You can switch the mode via option 2.
• Memory based (default): Grid data of density of all chosen orbitals are automatically
calculated first and recorded in memory, in this case the calculation is fairly fast however the
requirement on available memory is very high when large range of orbitals is selected and the grid
quality is relatively high. This mode is strongly recommended to use if Multiwfn does not crash due
to insufficient memory.
• Cube file based: Grid data of density of all chosen orbitals are automatically calculated and
saved as individual cube files in current folder as rho_xxxxx.cub, where xxxxx is orbital index. The
file will be loaded when corresponding orbital is used to construct the A matrix and B vector. The
speed of this mode is by far slower than the "memory based" mode, but the advantage is that memory
consumption is almost negligible.
Note that the grid setting of the automatically calculated orbital densities is set by the program
to exactly identical to that of the loaded grid data.
It is important to note that the present function is general, flexible and not necessarily limited
to study orbital contributions to . For example, if the provided cube file contains grid data of
rather than , then the present function will yield contribution of selected orbitals to (of course,
before doing this, the P should be properly set to make the resulting contribution values meaningful.
If you are not sure how to set it, you can simply remove the constraint)
This function is used to integrate specific real space functions in domains. The domains refer
to individual spatial regions enclosed by isosurfaces of a specific real space function. For example,
you can use this function to integrate electron density within various domains defined by isosurfaces
of reduced density gradient (RDG) to study strength of weak interactions at different places. If this
module is flexibly utilized, many special analyses can be realized. For example, visualizing and
obtaining volume of molecular cavity (see Section 4.200.14.2 for example).
Basic usage
Below is basic procedure of using this module:
(1) After entering the domain analysis module, use options 2 and 3 to set the way to define the
domains. For example, you selected RDG by option 2 and inputted <0.5 in option 3, then the regions
where RDG is smaller than 0.5 will be identified as different domains.
Note that periodicity can be taken into account during identification of domains. To enable it,
choose option “4 Toggle considering periodicity during domain analysis” to set its status to “Yes”.
(2) Choose option 1 and properly define grid, then Multiwfn starts to calculate the grid data for
the real space function you selected and identifies domains that satisfied the criterion you set.
377
3 Functions
NOTE: If you already have grid data in memory, for example you just calculated it via main
function 5 or directly load a .cub file when Multiwfn boots up, you can also choose option -1 to
directly use the grid data instead of calculating a new grid data. In this case, option 2 is evidently
meaningless.
(3) Once calculation in last step is finished, Multiwfn prints total number of grids in each
domain. In very simple case, from this information you may directly infer which domains are those
you want to study, while for general cases, you need to use option "3 Visualize domains" to visualize
domains in a GUI window, in which you can select domain at the right-bottom list and check its
profile, each green point on the graph corresponds to a grid in the domain.
Once you found the domains of interest, and you want to integrate a real space function in a
domain, you can choose option "1 Perform integration for a domain", then you will be asked to input
index of the domain, and then select the integrand. The integrand can be (1) An arbitrary real space
function supported by Multiwfn (2) The grid data currently stored in memory (3) The grid data
recorded in a .cub file (you will be asked to input its path. The grid distribution in this file must be
exactly identical to that of present grid data). After performing the integration, the integral value,
domain volume and average/maximum/minimum value of the integrand in the domain will be
outputted. In addition, minimum and maximum X/Y/Z of grids belonging to the domain, as well as
span distance in X/Y/Z will also be outputted. You can also select option "2 Perform integration for
all domains" to obtain integral values for all domains at once. (Hint: If what you need is just domain
volume, you can choose the user-defined function as integrand, which by default is 1.0 everywhere
and thus integrating this function does not take any computational time).
In addition, some regions that you are interested in may be identified as separated domains, to
study the property of the regions more conveniently, you can choose option "-1 Merge specific
domains" to merge selected domains as a single domain, so that you do not need to manually sum
up their integral values.
Via option 12 in post-process menu, you can export X, Y, Z coordinates along with value of
grid data of all grids in specific domain to domain.txt in current folder.
378
3 Functions
The total, dynamic and nondynamic electron correlation indices proposed by Matito et al. in
Phys. Chem. Chem. Phys., 18, 24015 (2016) are useful indicator of measuring magnitude of electron
correlation in present system.
Dynamic and nondynamic electron correlation indices (ID and IND) are defined as
ID = 1
4 {[ (1 − )]
i
i i
1/ 2
− 2i (1 − i )}
I ND = 1
2 (1 − )
i
i i
Where i denotes index of natural spin orbital, is corresponding occupation number. Note that in
some cases, may be marginally larger than 1.0 or negative, Multiwfn automatically set it to 1.0
and 0.0 respectively to make the calculation feasible.
Total electron correlation index defined is
379
3 Functions
I T = I D + I ND = 14 i (1 − i ) | i (r) |2
i
Present function is used to calculate all the three electron correlation indices. Any wavefunction
file carrying occupation number of natural orbitals may be used as input file, e.g. .mwfn, .wfn, .wfx
and .molden files. An example is given in Section 4.A.6.
Note that Matito et al. also proposed local version of the three functions to characterize electron
correlation in local regions, Multiwfn is also able to study them, see Section 4.A.6 for example.
In .fch (or .fchk) file, density matrix is always recorded. For example, if you carried out a MP2
task for an open-shell system with Gaussian keywords "# MP2/cc-pVTZ density", then the
resulting .fch file will have below four fields recording corresponding type of density matrix:
Total SCF Density, Spin SCF Density, Total MP2 Density, Spin MP2 Density
While for a closed-shell system, if the keyword used is "# TD PBE1PBE/6-311G* density", then
the resulting .fch file will contain below type of density matrix:
Total SCF Density, Total SCF Density, Total CI Rho(1) Density, Total CI Density
If you do not know which kinds of density matrix are recorded in the .fch file, simply search
"Density" in the file.
Various kinds of natural orbitals can be obtained via diagonalization of proper type of density
matrix:
Natural orbitals (NOs): Diagonalizing total density matrix. The occupation is from 0.0 to 2.0.
This type of NOs is also known as spatial NOs, and specifically, unrestricted natural orbital (UNO)
for unrestricted wavefunctions
Alpha and beta natural orbitals (collectively known as natural spin orbitals, NSOs):
Diagonalizing alpha and beta density matrix, respectively. The occupation is from 0.0 to 1.0.
Spin natural orbitals (SNOs): Diagonalizing spin density matrix (i.e. Difference between
alpha and beta density matrix). The occupation is from -1.0 to 1.0. SNO with positive (negative)
occupation represent distribution of unpaired alpha (beta) electrons.
Using the present function, you can obtain any set of above mentioned types of NOs. For
example, you want to obtain SNOs of triplet water at CCSD/cc-pVDZ level, you can run below
Gaussian input file:
%chk=C:\CCSD_water_m3.chk
#p CCSD/cc-pVDZ density
test
0 3
380
3 Functions
Convert the .chk file to .fch, then boot up Multiwfn and input
C:\CCSD_water_m3.fch
200
16
CC // Meaning that we want to analyze coupled-cluster density matrix. You can also input
SCF here to analyze Hartree-Fock density matrix
3 // Generate SNOs (if the system is closed-shell, this selection will not occur, since only NOs
can be generated in this case)
Now the basis function information in memory has been updated to SNOs. If then you want to
visualize SNOs, or to perform real space function analysis (e.g. analyzing orbital composition of
SNOs via Hirshfeld partition), you should choose y to export wavefunction information to new.mwfn
in current folder, and then program will automatically load it. After that, all subsequent analyses
will correspond to SNOs.
One of my blog articles detailedly discussed and presented analysis example of SNOs: "The
way of generating natural orbitals based on fch file in Multiwfn and analysis instances about excited
state wavefunctions and spin natural orbitals" (in Chinese) http://sobereva.com/403.
Note: Once .mwfn file containing SNOs is loaded into Multiwfn, the system will be regarded
as open-shell and there will be the same number of alpha and beta orbitals, only the former
correspond to SNOs, while the latter are completely meaningless and you should simply ignore them.
This function works well for .fch/.fchk files produced by Gaussian and PSI4, and may or may
not be compatible with other programs.
If this function is used in combination with PSI4, you can analyze wavefunction as high as
CCSD(T) level, please check Section 4.A.8 for detail.
The example in Section 4.18.9 utilized this function to generate natural orbitals for transition
density matrix.
381
3 Functions
This function is applicable for any kind of orbital, such as molecular orbitals, localized
molecular orbitals, natural transition orbitals and so on.
Currently, the integral is calculated based on uniform grid (i.e. evenly placed grid):
2j (rl )
(ii | jj ) = (d x d yd z ) (rk )
2 2
l k rl − rk
i
k
i (rl ) j (rl )
(ij | ji ) = (d x d yd z ) 2 i (rk ) j (rk )
k l k rl − rk
where k and l are indices of grid; dx, dy and dz are grid spacing in X, Y and Z directions, respectively.
This function is fairly time-consuming. For a given system, the smaller the spacing, the higher
the computational cost and better the accuracy. If you do not know if the grid spacing currently
employed is small enough, you can make a convergence test, namely gradually decreasing the
spacing and check when the value is converged.
There are two kinds of input files could be used:
• A file containing orbital wavefunction. If you use such as .mwfn, .fch or .molden as input file
when Multiwfn boots up, after entering present function, you will be asked to input two orbital
indices and choose a grid setting, then grid data of wavefunction will be automatically calculated
for them.
• Two cube files containing orbital wavefunction. You should input the cube file of the first
orbital when Multiwfn boots up, and after entering present function, input cube file of another orbital.
The cube file can be generated by any quantum chemistry code (also including main function 5 of
Multiwfn).
In the interface of present function, you can set truncation value for Coulomb (J) integral and
exchange integral (K) respectively prior to the calculation. The innermost summation of Coulomb
and exchange integral will be ignored if i2 (rk ) J and | i (rk ) j (rk ) | K , respectively.
Clearly, if the truncation values are properly set, the cost could be significantly reduced while
keeping accuracy almost unchanged. Commonly using the default value is suggested.
Note that if you need to calculate one-electron orbital integrals, you should use the function
described in Section 3.200.10.
Example
Here I use water molecule as example to illustrate calculation of the two kinds of integrals.
Boot up Multiwfn and input
examples\H2O_iijj.fch // Containing molecular orbitals at HF/6-31G* level
200 // Other functions (Part 2)
17 // Calculate Coulomb and exchange integrals between two orbitals
4,10 // The two orbitals are selected to be MO4 and MO10
1 // Low quality grid (corresponding to grid spacing of 0.2 Bohr)
1 // Calculate Coulomb integral with default truncation level. The result is 0.615700
3 // Calculate exchange integral with default truncation level. The result is 0.122246
The exact value of (ii|jj) and (ij|ji) computed by analytic integral are 0.623256 and 0.129893,
respectively, clearly accuracy of our values calculated based on numerical integration is basically
satisfactory. If you employ better grid, for example spacing of 0.1 Bohr (corresponding to "medium
quality grid"), the accuracy will be further noticeably improved (0.62143 and 0.12793, respectively),
382
3 Functions
but the cost will be eight times higher, note that the cost is inversely proportional to cube of the grid
spacing.
Theory
In conjugated polymers, the atom and bond properties in the conjugation chain show alternant
character. The bond length alternation (BLA) is an important quantity in the study of this kind of
systems. To calculate BLA, the atom sequence in the conjugated chain should be given. For example,
the atom sequence is given as 3-5-6-9-10-12, the bond 1 is thus 3-5, the bond 2 is 5-6, etc. The BLA
in this case is calculated as
BLA = (R5-6+R9-10)/2 − (R3-5+R6-9+R10-12)/3
where R is bond length. More generally, the BLA is defined as below (see Eq. 7.6 of Handbook of
Thiophene-based Materials: Applications in Organic Electronics and Photonics)
BLA = average length of even bonds − average length of odd bonds
Smaller magnitude of BLA implies better electron conjugation along the selected path. This quantity
has been frequently employed in literatures, see J. Chem. Phys., 136, 094904 (2012) for research
example and http://photonicswiki.org/index.php?title=Structure-Property_Relationships for a
comprehensive review about the relationship between BLA and various molecular properties.
Bond order is a quantity closely related to bond length, thus the bond order alternation (BOA)
is also a quantity as useful as BLA. The only difference between BOA and BLA is that the bond
length in the latter is replaced with bond order. Compared to the BLA, the BOA exhibits the bond
alternation character from electronic structure aspect rather than simply from geometric aspect. As
fully introduced in Section 3.11, there is no unique definition of bond order. The Mayer bond order
is very suitable for evaluating BOA since it is quite general, cheap and its magnitude is close to
formal bond order.
The bond angle alternation and dihedral alternation are also frequently studied, Multiwfn is
able to calculate variation of bond angles and dihedrals along the chain.
Usage
To use this function, an atom sequence must be defined, this is quite easy. After entering the
present function, you will be asked to input the indices of the atoms that make up the sequence, the
order is completely arbitrary. Then you need to input index of the beginning atom and ending atom
in the sequence. After that, based on these information and interatomic connectivity, Multiwfn
automatically identifies the actual atom sequence and prints it on the screen, you are suggest to
briefly check it to ensure the sequence is correct. Then, for each bond in the atom sequence,
Multiwfn prints its index, corresponding atom indices, bond length and Mayer bond order, then
outputs BLA and BOA values. The bond data are also exported to current folder as bondalter.txt so
that you can import it to data plotting tools such as Origin to plot "bond length vs. bond index" and
"bond order vs. bond index" curve maps. Finally, if you want to study bond angle and dihedral
alternation along the sequence, you can also let Multiwfn to output them.
The present function is also able to be used to study above mentioned properties for a closed
path (e.g. a ring), the index of ending atom in this case should be identical to the beginning atom.
383
3 Functions
If your input file contains both atom information and basis function information, such
as .mwfn, .fch and .molden files, both bond lengths and bond orders will be outputted, as stated
above. However, if your input file only contains atom information, such as .xyz, .mol2 and .pdb
files, then bond order information will not be calculated and printed.
If the input file contains interatomic connectivity, such as .mol and .mol2 format, the
connectivity matrix will be directly loaded from it. For other file formats, the connectivity is guessed
based on atom coordinate and atomic radii. If present function does not properly work, using .mol
or .mol2 file with correct connectivity as input file is recommended.
Since Mayer bond order is incompatible with diffuse functions, employing diffuse functions
must be avoided when generating wavefunction.
An example of calculating BLA/BOA and plotting "bond length/order vs. bond index" map is
given in Section 4.200.18.
Introduction
Spatial delocalization index (SDI) is defined by Tian Lu to measure extent of spatial
delocalization of a real space function f, it is expressed as
1 f (r )
SDI = f norm (r ) =
| f norm (r ) |n d r | f (r ) | d r
where fnorm is normalized function. Normalization makes comparison of spatial delocalization extent
feasible when the functions to be compared do not normalize to the same value. In standard
definition of SDI, n = 2.
The larger the SDI, the more even distribution of the function in the whole 3D space. If the
function distribution tends to aggregate in some local regions, then SDI must be small.
The larger the the exponent factor n, the stronger the ability of SDI value to distinguish spatial
delocalization extent. If n = 1, then SDI will always be 1.0 for all functions.
A key application of SDI is determining spatial delocalization extent of orbitals. In this case,
SDI of orbital i can be written as
1
SDIi = i (r ) =| i (r ) |2
| (r ) |
n
i dr
where is orbital wavefunction. Via SDI, one can easily and quantitatively characterize
delocalization character of orbitals. It is applicable to any kind of orbitals, such as molecular orbitals,
natural transition orbitals, and so on.
Usage
384
3 Functions
In this function, option -1 is used to adjust the exponent factor n. Commonly it does not need
to adjust.
1 Preface
The concept of delocalization index (DI) has been detailedly introduced in Section 3.18.5. The
DI between two regions is closely related to the electronic correlation between the two regions.
Essentially, Mayer bond order and fuzzy bond order are DI calculated based on atomic spaces
defined in terms of Hilbert partition and fuzzy partition.
DI is a value. If it can be visualized, then it will be quite helpful in understanding its nature and
interatomic interaction. In J. Phys. Chem. A, 124, 339 (2020), the author proposed a real space
function named bond order density (BOD), its integral over the whole space is just DI, therefore
BOD directly reveals local contribution to DI. Clearly BOD must be a useful function in
characterizing chemical bonds. The natural adaptive orbital (NAdO) is a kind of orbital closely
related to BOD, it can exhibit source of DI in terms of an orbital picture. I also generalized the idea
of BOD/NAdO, allowing them be able to study interaction between basins or between specific
fragments. Below I detailedly describe all details about BOD and NAdO.
Note that the NAdO has no any relationship with the adaptive natural density partitioning (AdNDP) orbital
introduced in Section 3.17!
2 Theory of BOD
In order to fully understand underlying idea of BOA, it is crucial to first familiar yourself with
some related concepts.
• nth-order cumulant density
The nth-order cumulant density 𝜌C𝑛 (𝐫1 , 𝐫2 ⋯ 𝐫𝑛 ) was detailedly introduced in Comput. Theor.
Chem., 1003, 71 (2013), it represents the part of nth-order reduced density 𝜌𝑛 (𝐫1 , 𝐫2 ⋯ 𝐫𝑛 ) that
cannot be expressed in terms of lower orders of reduced density, and thus provides an appropriate
measure of the n-electrons correlation existing in the system. Explicit expression of 𝜌C1 , 𝜌C2, and 𝜌C3
are given below (expressions of others orders can be found in the Comput. Theor. Chem. paper).
385
3 Functions
C1 (r ) = (r )
C2 (r1 , r2 ) = (r1 ) (r2 ) − 2 (r1 , r2 )
C3 (r1 , r2 , r3 ) = (r1 ) (r2 ) (r3 ) + (1 / 2) 3 (r1, r2 , r3 )
− (1 / 2)[ (r1 ) 2 (r2 , r3 ) + (r2 ) 2 (r1, r3 ) + (r3 ) 2 (r1, r2 )]
as a consequence,
d rn = N
n
C (r1 rn ) d r1
N ( A, B n) =
n
C (r1 rn ) d r1 d r2 d rn
A B n
The subscript of the integral denotes the integration region, usually it corresponds to atomic space.
After properly normalization, the n-center population can be named as n-center delocalization index
to quantify multi-center delocalization extent.
It is important to note that 𝜌C2 just corresponds to the negative of the well-known exchange-
correlation density XC, whose integral directly defines DI ():
• Definition of BOD
The one-electron function BOD between regions A and B is defined as
BOD AB (r ) = 2 AB (r )
where
AB (r ) = C3 (r1, r2 , r3 ) d r2 d r3
A B
For closed-shell cases, the working equations for single-determinant wavefunctions (and thus
without explicit representation of Coulomb correlation in the wavefunction) are
occ occ
AB (r ) = i (r ) DiAB
, j j (r )
i j
D AB = S( A)S( B ) + S( B )S( A)
where i and j are doubly occupied spatial orbitals, is orbital wavefunction. In Multiwfn, the
following definitions of S can be adopted in the calculation:
386
3 Functions
There are important relationships correlating the BOD with DI and localization index (LI, )
BOD AB (r ) d r = ( A, B)
(1 / 2) BOD AA (r ) d r = ( A)
Obviously, BOD is able to reveal contribution of every spatial position to DI and LI.
Relevant relationships:
BOD
AB (r ) d r = ( A, B)
(1 / 2) BOD AA (r ) d r = ( A)
In fact, the relationships can be easy demonstrated, given that (with consideration of the orbital
orthogonality condition)
occ occ occ
BOD AB (r) d r = Si ,k ( A) Sk ,i ( B) + Si ,k ( B) Sk ,i ( A)
i k
occ occ
= Si,k ( A) Si,k ( B ) + Si,k ( A) Si,k ( B )
i k
occ occ
= 2 Si,k ( A) Si,k ( B )
i k
387
3 Functions
U −1D AB U = n
MOs can then be transformed to NAdOs via the unitary transformation matrix U
CNAdO = Cocc
MO
U
MO NAdO
where 𝐂occ and 𝐂occ are coefficient matrices of occupied MOs and NAdOs in basis functions,
respectively, and different columns correspond to different orbitals. Assume that there are m
occupied MOs, then both of them have m columns.
Note that for unrestricted wavefunctions, the and NAdOs are generated in above way
separately based on and occupied MOs, respectively.
Although NAdO is not an eigenfunction of Fock/KS operator, its energy can still be
meaningfully evaluated as expectation of Fock/KS operator.
388
3 Functions
composition analysis via main function 8. Note that as mentioned above, electron density
corresponds to BOD currently, therefore, for example, if you want to plot isosurface of BOD, you
can use main function 5 to calculate and plot electron density, the resulting map will correspond to
BOD isosurface.
By default energies of NAdOs are not calculated but simply set to zero. If you hope to obtain
energies, you should choose option “-1 Toggle if calculating energies for NAdOs” after entering the
BOD/NAdO function, then you can choose one of two ways to provide Fock matrix F: (1) Generate
it based on energies and coefficient matrix of MOs via F=SCEC-1 relationship (2) Input path of a
file containing F, then the matrix will be loaded, see Appendix 7 of this manual for details. After
that, energies of NAdOs will be evaluated during generation of NAdOs and recorded to
NAdOs.mwfn.
Examples of using BOD and NAdO to analyze practical chemical systems are given in Section
4.200.20.
Sometimes, occupied orbitals are not orthonormal with each other. For example, the
wavefunction combined from multiple monomer wavefunctions via the function described in
Section 3.100.19 is an instance. The present function performs Löwdin orthogonalization between
occupied orbitals, so that they form an orthonormal set. Coefficient matrix and density matrix in
memory will be updated in this function.
This function only supports restricted closed-shell and unrestricted open-shell form of single-
determinant wavefunction. For the latter case, Löwdin orthogonalization is performed between
alpha occupied orbitals and between beta occupied orbitals respectively.
This function is used to visualize free regions in a cell generated by molecular dynamics
simulation or in an experimental crystal. The volume of the free regions can also be calculated. This
function is particularly for characterizing structure of systems containing pores, such as porous
materials and coal.
Algorithm
This function calculates the following two types of grid data, their isosurfaces are used to
graphically exhibit free regions, in other words, the regions that not occupied by atoms.
(1) Raw grid data
389
3 Functions
Value of all grid points is initially set to 1, then all grid points are looped, if distance between
a grid and any atom is smaller than Bondi van der Waals (vdW) radius of this atom, then this grid
point will have value of 0, indicating already occupied.
The volume of free region, namely free volume, is calculated as the total number of occupied
grid points multiplied by grid volume. The percentage of occupancy is obtained by dividing free
volume by volume of the whole cell.
(2) Smoothed grid data
The isosurface of raw grid data is always unsmooth, and thus graphical effect is quite poor. In
order to circumvent this issue, smoothed grid data can be calculated. The idea is simple: Each atom
does not have a clear boundary, but represented as a switching function, which varies smoothly.
Three switching functions are supported, they all decay from 1.0 to 0.0 as radial distance from
nucleus goes from 0 to infinity, and their decaying behaviors are affected by related parameter:
• Gaussian function (unnormalized). See Wikipedia for original expression of Gaussian
function. The larger the full width at half maximum (FWHM), the slower the function decays
• Becke function (transformed). See Section 3.18.0 for original expression of this function. The
smaller number of iterations, the slower the function decays
• Error function (transformed). See Wikipedia for original expression of error function. The
larger the scale factor, the slower the function decays
In order to visually compare them, the characters of these functions are plotted together below.
The position where they equal to 0.5 is set to vdW radius of carbon
As you can see, Gaussian function decays slowly, while transformed Becke and error functions vary
relatively sharply, and the sharpness is dependent of parameter.
With the switching function, the smoothed grid data can be calculated easily: For any grid point,
its value is initially set to be 1.0, which will be subtracted from the switching function value of each
atom; then if the value is found to be negative, it will be set to zero. Value of 0.0 and 1.0 implies
that this grid is fully occupied and free, respectively; while value between 0.0 and 1.0 indicates that
the grid is partially occupied, and the lower the value, the higher the occupancy. In order to visualize
free region based on the smoothed grid data, commonly isovalue can be set to 0.5, but it can be
properly adjusted to improve graphical effect.
Usage
This function supports any kind of cell, including non-orthogonal ones.
390
3 Functions
You can use any kind of file containing cell information as input file, such as .cif, .gro, .pdb
with CRYST1 field, and so on, see Section 2.9.3 for full introduction about this point. Other kind of
file carrying atom information can also be used as input file, but the cell will be assumed to be
orthogonal.
After loading input file, you should enter subfunction 1 of main function 300, then you can see
a menu, the options are described below
• 1 Set grid and start calculation: After selecting this option, Multiwfn will ask you to define
the grid for calculation, you need to input coordinate of origin, length and grid spacing in all three
directions of the grid data. If the input file contains cell information, the three directions will be in
line with the three sides of the cell; if does not contain, the three directions will be assumed to X, Y,
and Z.
After that, Multiwfn starts to calculate the grid data mentioned above, and then free volume
and the percentage of free region in the whole cell are outputted. In the post-processing menu, you
can directly visualize isosurface to examine free regions or export grid data as cube file.
• 2 Toggle considering periodic boundary condition: When status of this option is "Yes",
periodic images of the atoms in the box will be taken into account during calculating the grid data.
This treatment makes calculation much more expensive but results in much more realistic data.
• 3 Toggle calculating smoothed grid data of free regions: By default, Multiwfn generates both
raw grid data and smoothed grid data. If status of this option is set to "No", then only the former
will be generated, and the cost will thus be reduced by a fraction.
• 4 Set method of smoothing: In this option you can choose the switching function used for
calculating smoothed grid data. The default one is error function with scale factor of 1.0, usually
this is a suitable choice.
• 5 Toggle making isosurface closed at boundary: When status is set to "Yes", if there are
isosurfaces at box boundary, the isosurfaces will look closed. If the status is switched to "No", then
the isosurfaces will looks open at boundary.
• 6 Set scale factor of vdW radii for calculating free volume and primitive free region: If value
of this option is not the default 1.0 rather than set to a value x, then the vdW radii used for calculating
raw grid data will be scaled by x. Clearly this option affects isosurface of raw grid data and
calculated free volume.
The efficiency of the code of this function is high, and it is possible to use this function to study
a system containing even tens of thousands of atoms. When you find the computational cost is too
high to afford, you should consider below solutions:
(1) Using better CPU. The code of this function is fully parallelized, therefore the more the
CPU cores, the lower the calculation time.
(2) Using larger grid spacing. Clearly, the larger the spacing, the poorer the isosurface map and
worse the accuracy of the outputted free volume.
(3) Do not take periodic boundary condition into account. The cost will be reduced by one
order of magnitude, however the isosurfaces at some boundary regions will become artificial, and
free volume will even be misleading.
391
3 Functions
This function is used to fit atomic radial density as linear combination of multiple 1s-type Slater
type orbitals (STOs) or S-type of Gaussian type functions (GTFs), so that the atomic radial density
then can be evaluated analytically. The fitting involves many technical details, which will be
introduced in Section 3.300.2.1, then the usage of the present module will be described in Section
4.300.2.2. Practical examples of using this module to performing fitting will be given in Section
4.300.2.
3.300.2.1 Algorithm and technical details
Basic idea
The purpose of this function is performing below fitting
( r ) fit ( r ) r
ci e − r
iSTO
fit ( r )
ci e
− r 2
iGTF
where {c} are coefficients to be fitted, {} are exponents to be fitted, r is radial distance to nuclear
position.
Fitting type
To realize the fitting, a set of fitting points should be defined. The fitting essentially
corresponds to minimizing the least-square residual that measures overall error between actual
density and fitted density at the fitting points. There are three ways to define the residual, which
correspond to different fitting types:
2
(1) Minimizing absolute error: i − ifit
i
2
i − ifit
(2) Minimizing relative error:
i i
In above formulae, {i} are fitting points placed at different radial distances, ri denotes radial distance
of point i. i is sphericalized (i.e. spherically averaged) electron density calculated based on loaded
wavefunction file at point i. In Multiwfn, 170 Lebedev angular grid points are used to perform the
spherical average.
Commonly, fitting type 2 is preferred over others and thus it is default, because the density
fitted in this way can reproduce actual density over the entire range, including tail region where
electron density is fairly small. The density fitted by type 1 can only well represent the region very
close to nucleus, since electron density in this region is significantly larger than other regions. When
392
3 Functions
fitting type 2 does not work well by visually inspecting the curve of fitted density, using type 3
instead may obtain better result. If none of types 2 and 3 work well, sometimes it is useful to use
type 1 first and then 2 (namely using the fitted parameters from type 1 as initial guess for type 2),
or use type 3 first and then 2.
Fitting functions
The STO and GTF, which are most important functions in quantum chemistry calculation, are
supported in the present module as fitting functions.
The fitting quality is quite sensitive to the number of fitting functions. Clearly, in principle, the
more the fitting functions, the less the fitting error and the higher the time cost during fitting.
In Multiwfn, the least-square type of fitting is conducted by means of Levenberg-Marquardt
(LM) algorithm, which is an iterative method to minimize the residual by gradually optimizing
parameters until convergence tolerance is reached. It is important to note that this algorithm
essentially is a local minimization method, therefore, the resulting fitted coefficients and exponents
may be dependent of initial guess.
The coefficients of the fitting functions should always be fitted, however, the exponents can
either be fitted together or be fixed at initial guess to diminish dimension of parameter space and
thus make the convergence easier. Clearly, for a given number of fitting functions, if their exponents
are variable during fitting, the fitting quality in principle should be better than the case that the
exponents are fixed.
When number of fitting functions are large (e.g. >20), fitting exponents along with coefficients
is usually deprecated, because in this case the convergence is often quite difficult, the cost is fairly
high, and sometimes the routine for performing LM algorithm does not work normally.
393
3 Functions
indicates that one of them could be removed and then refit, the result will not detectably worsen.
However, this kind of redundant fitting function is not automatically removed by Multiwfn, you can
merge them in the interface of setting up initial guess prior to redoing the fitting.
Scaling coefficients
Integral of fitted density over the whole space may deviate from actual number of electrons
(Nelec), clearly this breaks physical meaning of fitted density and makes it useless in many scenarios.
In order to solve this problem, the fitted coefficients should be scaled by a factor:
N elec
=
4 r ( r ) d r
2 fit
( − i i
fit 2
)
RMSE = i
N
where N is the number of fitting points. The lower the RMSE, the better the overall fitting quality.
You can also use this quantity to compare fitting accuracy between various fitting settings.
(2) Pearson correlation coefficient (r) and r2 between fitted density and actual density at fitting
points. The more the value close to 1, the better the fitting quality.
(3) Visually compare actual density and fitted density curves. This is the most rigorous way
of checking fitting quality. The two curves should be close with each other sufficiently.
394
3 Functions
(4) Check integral of fitted density. The integral should be evaluated under different number of
quadrature points, e.g. 60, 80 ... 300. If the fitted coefficients and exponents are indeed reasonable,
in all cases the integral should be very close to actual number of electrons in the atom.
(5) Check fitted density in broad range with double or triple dense grid compared to fitting
points. No negative density should be found and the fitted density should vary monotonically.
3.300.2.2 Usage
2.0 100
1.0 1.5
This file defines three fitting functions, the first and second columns are initial coefficients and
exponents. Clearly, this is the most flexible way of defining number and initial parameters of fitting
395
3 Functions
functions.
The following options employ prebuilt settings for convenience (accuracy & number of
functions: 3>4>5>7>2):
2 Crude fitting by a few STOs with variable exponents: This option aims at performing crude
fitting, as only a few STOs are employed. Exponents will be optimized during fitting to make fitting
quality better. Specifically, 1, 2, 4, 6 STOs are employed when the element is in the first, second,
third&fourth and latter rows of periodic table, respectively. The initial parameters of fitting functions
set by this option are commonly reasonable, however, the fitting may be occasionally failed due to
inappropriate initial parameters, in this case you should try to use option 1 to load manually provided
parameters instead.
3 Ideal fitting by 30 GTFs with fixed exponents: If you want to accurately fit actual density
over the entire range, using fitting functions set by this option is usually the best choice. 30 GTFs
will be employed, and in order to guarantee numerical stability and significantly reduce fitting cost,
only coefficients will be fitted, while exponents will be kept at the initial values, which are generated
as i=0.052(i-1), where integer i varies from 1 to 30.
4 Fine fitting by 15 GTFs with variable exponents: This option uses smaller number of GTFs
than option 3, but exponents are simultaneously optimized. Even though the exponents are variable,
the fitting quality of this option is not as perfect as option 3, and meantime the fitting cost is higher,
and there is a danger that the iteration of Levenberg-Marquardt algorithm cannot get converged.
5 Fine fitting by 10 GTFs with variable exponents: Cheaper than option 4, with slightly
reduced fitting accuracy.
7 Relatively fine fitting by no more than 10 GTFs with variable exponents: This option
performs the fit by GTFs in a most economical way, 6 GTFs are used for first 18 elements, and 10
GTFs for heavier ones. Although inexpensive, usually this option is satisfactory enough.
Finally, option “10 Combine two fitting functions together” is able to replace two specific
fitting functions with a new function, whose exponent is average of the two, and coefficient is the
sum of the two. This option is mainly used to manually remove linearly dependent functions.
• Set fitting tolerance: The smaller the value, the better the numerical accuracy of the fitting
while the higher the fitting cost. Commonly the default value is able to guarantee high numerical
accuracy.
• "Set number of evenly placed fitting points" and "Set spacing between fitting points": The
default number of evenly placed points (4000) is large enough and the default spacing (0.001 Å) is
fine enough, the corresponding fitting points distribute from r = 0.001 to 4.0 Å. You can properly
adjust these two options if you want to include points in longer range into fitting, or if you want to
reduce fitting cost (the time cost is basically proportional to number of fitting points).
• Toggle scaling coefficients to actual number of electrons: When status of this option is "Yes"
(default), then after calculating integral of fitted density, the coefficients of the fitting functions will
be scaled in the way described in last section. Performing scaling is always recommended.
• Select fitting type: You can use this option to choose how to perform the fitting, including
"Minimizing absolute error", "Minimizing relative error" and "Minimizing radial distribution
function (RDF) error ", which have been introduced in the last section. The second one is usually
the most recommended, thus it is the default.
• Toggle fixing exponents: When status of this option is set to "Yes", Multiwfn will optimize
both coefficients and exponents of fitting functions during fitting procedure. If you want to keep
396
3 Functions
Practical examples of using this module to performing fitting are given in Section 4.300.2.
397
3 Functions
Theory
Scanning tunneling microscopy (STM) is a quite common experimental technique to image
chemical systems at atomic level, also it has close relationship with electronic structure of the
sample, see wiki page for more information. In the STM imaging process, a conducting tip is put
over the sample and meantime bias voltage (V) is applied between them. Due to quantum tunneling
effect, tunneling current (I) can form between the tip and sample with appropriate distance
separation (usually 4~7 Å) and V. At different positions, I is different due to different interaction
between the tip and sample, in essence the observed STM image characterizes the function I(r). The
STM experiment can be illustrated by the following figure
398
3 Functions
expressed as
EF + eV → EF
I (r ) i
| i (r ) |2 (V 0)
EF → EF + eV
I (r ) a
| a (r ) |2 (V 0)
where i denotes occupied MOs whose energy is between EF+eV and EF, a denotes unoccupied MOs
whose energy is between EF and EF+eV. The EF is Fermi level, which is not well defined for isolated
system, but usually it is taken as average of EHOMO and ELUMO. The e is elementary charge, which is
a positive value (1.602E-19 C). When V is positive, electrons in the tip tunnel into empty states of
the sample; for a negative V, electrons tunnel out from occupied states of the sample into the tip.
Note: Some documents use -eV rather than +eV, this is because the e in these documents corresponds to the
charge carried by an electron rather than elementary charge. Although the above formulae are usually referred to as
Tersoff-Hamann model, strictly speaking, it is not the form proposed by Tersoff and Hamann.
The above formulae show that the I(r) is positively proportional to the local density-of-states
(LDOS) at r contributed by the MOs between EF+eV and EF when V<0 or between EF and EF+eV
when V>0 (note that the LDOS in this context is defined differently to that introduced in Section
3.12.4), therefore, if orbital wavefunctions are available and thus LDOS can be calculated, the STM
image can be obtained straightforwardly. When discussing the simulated STM image in this way, it
is suggested to write the unit of the I as that of LDOS, which corresponds to a.u. in Multiwfn.
The STM image simulated in above way cannot be rigorously compared with the experimental
one, since the actual character of STM tip is not taken into account but simplified as a point (owing
to this, the simulated STM image has infinite high resolution). Also note that the magnitude of I is
unable to be determined using the present model due to introduction of approximations, hence only
the relative difference of I between different positions is meaningful and can be discussed.
Usage
To simulate STM image in Multiwfn, using the files containing basis function information is
recommended, such as .mwfn, .fch and .molden. Using the formats only containing GTF
information such as .wfn is also acceptable, however, in this case the STM image with V>0 cannot
be simulated, since they only contain occupied MOs information.
Since the STM simulation is based on molecular orbitals, the theoretical method only supports
HF and KS-DFT (except for double-hybrid functionals), while multiconfiguration methods such as
MP2 and CASSCF are not supported. Restricted closed-shell, restricted open-shell and unrestricted
open-shell are all supported.
The subfunction 4 of main function 300 corresponds to the STM simulation function. After
entering this function, please carefully read prompt on screen, which informs you how the default
Fermi level and bias voltage are determined. In the interface, you can customize EF, V, number of
grids, spatial range of the STM. The mode of STM image can also be selected, both constant height
(default) and constant current modes are available. After making settings appropriate, you can
choose option 0 to start calculation of the data used to plot STM map, the MOs considered in the
calculation will be shown on screen so that you can easily examine if EF and V have been properly
defined. Note that the computational cost is fully determined by the number of grids, the more the
grids, the smoother the image, while higher the cost.
The way of simulating STM image of constant height and constant current modes is somewhat
different, as described below:
399
3 Functions
• Constant height mode: Before calculation, you should properly set range of X and Y, by
default they are determined by extending the position of boundary atoms by 3 Bohr. The default Z
position of the plane to be calculated is 0.7 Å higher than the top atom (i.e. the atom with maximal
Z coordinate). After selecting option 0 to calculate current at every point in the two-dimension plane,
you can find an interface for plotting the STM image, all options are self-explanatory and thus will
not be described here (the options are quite similar with those in the post-processing menu of main
function 4). By default, the lower limit of color scale is 0, while upper limit is automatically set to
maximal I in the plane data.
• Constant current mode: You should first choose option 1 once to switch the mode from the
default constant height mode to constant current mode. Then you should properly define the
calculation range in X, Y and Z. The default X and Y ranges are identical to the constant height
mode, the default lower and upper limits of Z are 0.7 and 2.5 Å higher than the top atom, respectively.
After selecting option 0, Multiwfn will start calculation of 3D grid data of I, then you can use
corresponding options to visualize isosurface map of tunneling current, export the grid data as cube
file, or visualize 2D STM image. For the latter case, you need to input the value of tunneling current,
then Multiwfn will estimate the z value (zc) where I equals to the value at every (x,y) point, the
resulting plane data zc(x,y) can then be directly plotted as plane map via corresponding options on
screen.
This function calculates electric dipole, quadrupole, octopole and hexadecapole moments as
well as electronic spatial extent <r2> based on analytically evaluated integrals. Note that the function
described in Section 3.18.3 is also able to calculate dipole, quadrupole and octopole moments,
however it calculates the data numerically based on integration grid, and thus it is evidently slower
and its accuracy is marginally lower than the present function. The information printed by this
function is shown below.
Dipole moment:
x X A x
μ = y = q A Y A − y (r ) d r
z A
A
Z z
where XA, YA and ZA are the three Cartesian coordinates of atom A. qA is nuclear charge of atom A.
x, y and z are the three Cartesian coordinates of electron position.
400
3 Functions
xx xy xz X AX A X AYA X AZ A x2 xy xz
Θ = yx yy yz = qA YA X A YAYA YA Z A − yx y2 yz (r ) d r
zx zy zz
A
Z A X A Z AYA Z A Z A zx zy z 2
Quadrupole moment (traceless Cartesian form):
3 xx − rr 3 xy 3 xz
1
Θ = 3 yx
tr
3 yy − rr 3 yz
2
3 zx 3 zy 3 zz − rr
where rr = xx + yy + zz.
2
Magnitude of Q2: Q 2 = (Q
m =−2
2,m )2 .
where rrx = (xxx )2 + ( yyx )2 + (zzx )2 , similarly for rry and rrz.
401
3 Functions
3
Magnitude of Q3: Q3 = (Q
m =−3
3,m )2 .
This function also prints center of positive charges. The X component is defined as
q X
A
A A
q A
A
x (r ) d r
(r ) d r
A simple example of this function is given in Section 4.300.5.
This function is subfunction 6 of main function 300, it is designed as a general module for
evaluating energies of present orbitals (i.e. the orbitals stored in memory). Basis function
information must be available in your input file, and after entering this function, you need to provide
Fock or Kohn-Sham (KS) matrix to Multiwfn (see Appendix 7 of this manual for detail), then the
energies of the orbitals will be evaluated as expectation of the Fock or KS operator.
Application of this function to calculate energies of natural transition orbitals (NTO) is
illustrated in Section 4.300.6.
Information needed: Basis functions, plain text file containing Fock/KS matrix
This function is subfunction 7 of main function 300, it aims to perform a variety of geometry
relevant operations on the present system, which may be involved in special-purpose studies. Note
that transformation of coefficient matrix of orbitals due to rotation and inversion operations is not
taken into account by this function.
402
3 Functions
In this function, you can perform many geometry operations, they will be briefly mentioned
below. You can use them multiple times, the effects will be accumulated. You can choose option 0
anytime to visualize the current geometry in a GUI window. You can also use option -1, -2, -3 and
-4 to export the current geometry to .xyz, .pdb, .gjf and .cif file, respectively. By option -9, you can
restore the initial geometry loaded from input file.
• 1 Translate selected atoms according to a translation vector
You will be asked to select a set of atoms and input a translation vector, the selected atoms will
be translated using the vector
• 2 Translate the system such that the center of selected atoms is at origin
You will be asked to select a set of atoms and choose type of their center (geometry center,
mass center or center of nuclear charges), then the whole system will be translated so that their
center is exactly at origin.
• 3 Rotate selected atoms around a Cartesian axis or a bond
You will be asked to select a set of atoms, they will be rotated around a Cartesian axis, or a
bond, or a vector by specific angle specified by you. The rotation matrix used to perform the
coordinate transformation will also be shown on screen.
• 4 Rotate selected atoms by applying a given rotation matrix
You will be asked to select a set of atoms and manually input rotation matrix (M), then
geometry of each of selected atom will be transformed in turn via vnew=Mvold, where v is column
vector consisting of X, Y and Z coordinates of the atom, or via wnew=woldM, where w is row vector
consisting of X, Y and Z coordinates of the atom.
• 5 Make a bond parallel to a vector or Cartesian axis
The system will be reoriented to make a bond defined by two selected atoms parallel to a
specific vector or a Cartesian axis.
• 6 Make a vector parallel to a vector or Cartesian axis
The system will be reoriented to make a vector in original coordinate system parallel to a
specific vector or a Cartesian axis. For example, you conducted an electron excitation calculation,
and you want to make transition dipole moment of an excitation exactly parallel to X-axis, you can
use this function.
• 7 Make electric dipole moment parallel to a vector or Cartesian axis
Electric dipole moment will be automatically calculated, and the system will be reoriented to
make the electric dipole moment parallel to a specific vector or a Cartesian axis. This function can
be used only when your input file contains wavefunction information.
• 8 Make longest axis of selected atoms parallel to a vector or Cartesian axis
You will be asked to select a set of atoms, the whole system will be reoriented to make the
longest axis (the principal axis with smallest moment of inertia) of the selected atoms parallel to a
specific vector or a Cartesian axis.
• 9 Mirror inversion for selected atoms
You will be asked to select a set of atoms and choose a plane (XY, YZ or XZ), then mirror
inversion with respect to the plane will be performed for selected atoms.
• 10 Center inversion for selected atoms
You will be asked to select a set of atoms, then sign of their X, Y and Z coordinates will be
inverted.
• 11 Make the plane defined by selected atoms parallel to a Cartesian plane
403
3 Functions
You will be asked to select a set of atoms, a plane will be fitted by their coordinates. Then you
will be asked to choose a Cartesian plane (XY, YZ or XZ), the whole system will be reoriented to
make the fitted plane parallel to the selected Cartesian plane.
• 12 Scale Cartesian coordinates of selected atoms
You will be asked to select a set of atoms, the type of coordinate (X or Y or Z or all) to be
scaled, and the scale factor to apply. Then the corresponding coordinates will be multiplied by the
scale factor. The scale factor can also be negative or zero.
If your input file contains cell information, after scaling atom coordinates, you will also be
asked to choose if also scaling corresponding component of cell vectors. For example, if you have
chosen to scale X coordinates before, then X component of all cell vectors will also be scaled.
• 13 Reorder atom sequence
This option supports different rules to reorder atoms: (1) According to value of X or Y or Z
coordinate (2) Put non-hydrogen atoms prior to hydrogens (3) According to bonding, namely
making atom indices contiguous in each isolated fragment (4) According to element index (5)
Exchange two specific atoms (6) Input a file containing new order of all atoms (see prompt on screen
for its format) (7) Input indices of a batch of atoms, then they will appear in front of other atoms. In
this function, you can also choose option -1 to reverse atom sequence.
• 15 Add an atom: You will be asked to input element and XYZ coordinate, a new atom will
be added (as the last atom).
• 16 Remove some atoms: You will be asked to input a list of atoms, they will be removed from
present system.
• 17 Crop some atoms: You will be asked to input a list of atoms, the atoms not belonging to
the list will be removed.
• 18 Generate randomly displaced geometries
You can obtain a number of randomly displaced geometries via this function, the new
geometries will be exported to new.xyz in current folder. In the generation, Cartesian coordinate(s)
of each of selected atoms will be randomly displaced, the displacement(s) satisfies normal
distribution and the standard deviation is inputted by user. The considered direction of displacement
can be set by user, e.g. only X direction, both Y and Z directions, all directions, etc. If only
generating one geometry, the displacement vector of each atom will be explicitly shown on screen.
The following options are related to periodic systems, they can be used only when cell
information is available from your input file, see Section 2.9.3 on which files can provide cell
information to Multiwfn.
• 19 Translate and duplicate cell (construct supercell)
This option is used to construct supercell. You will be asked to input number of replicas in each
direction, the number could be either positive or negative value. For example, in a direction, if you
input 3, then the system will be duplicated along positive direction by two times, and hence there
will be three replicas in this direction; if you input -3, then the system will be duplicated along
negative direction by three times, and finally there will be four replicas.
• 20 Make truncated molecules by cell boundary whole
For experimental molecular crystal files, it is very common that cell boundary truncates
molecules as individual fragments, this bring great disadvantage in visualizing molecular structure.
This function is able to make each truncated molecule whole.
404
3 Functions
The surface distance projection map plotted by this function is very intuitive in visually
405
3 Functions
characterizing molecular structure, it is particularly helpful in identifying steric effect. It can also be
used to intuitively characterize structure of solid surface.
Briefly speaking, this function plots a color-filled map of XY plane, the value corresponds to
relative Z position of system surface to a given Z layer, see the following figure for illustration. At
every (x,y) point, the program scans Z coordinate from Zstart to Zend until reaching the surface, the Z
value of ending point with respect to starting point is the function value to be plotted.
In the present function, once all parameters have been properly set by corresponding options,
you can choose option 0 to start calculation, and then you will enter a menu, in which you can plot
the map, and there are a lot of options used to fine tune the graphical effect.
Clearly, in order to obtain a useful molecular surface distance projection map, the system in
your input file must be put in a proper orientation, this is the responsibility of users. This function
is also applicable to periodic systems such as two-dimension material, the periodic boundary
condition can be properly considered.
Some details
There are three different ways in defining system surface, which can be selected by option 1 in
the interface of this function:
(1) Isosurface of promolecular electron density
(2) Isosurface of electron density based on wavefunction information
(3) vdW surface defined by superposition of scaled atomic Bondi van der Waals radii, the scale
factor can be manually inputted
If your input file only contains atom information, (1) and (3) can be used; if GTF information
is available, (2) can also be employed. Computational cost is (2) > (1) > (3). Usually (1) is
recommended, because its surface is much smoother than (3), and its cost is not high even for fairly
large system, and any file containing atom information can be used as input file. The isovalue of
electron density can be inputted after selecting (1) or (2), the choice of isovalue is largely arbitrary,
the default 0.05 a.u. is able to display the main outline of the system, while if you want to exhibit
steric effect, you can use e.g. 0.001 or 0.002 a.u., which corresponds to Bader's definition of vdW
surface.
In the present function, you can use options 2 and 3 respectively to define range of X and Y
406
3 Functions
axes of the plotting plane, the default range is automatically determined so that the map can cover
the whole system. The number of grids in X and Y can be manually set by options 3 and 4,
respectively, the computational cost is proportional to product of their numbers. The larger the
number of grids, the finer the resulting graph.
Zstart and Zend can be defined by options 7 and 8, respectively. By default, they correspond to
the Z coordinate of the atoms with most positive and most negative Z values, respectively. The
number of steps of Z scan can be altered by option 6, the smaller the value, the more accurate the
projection distance, but the higher the computational cost.
By default contour lines are appended to the plotted color-filled map, 25 contour lines are
automatically evenly generated between Zend − Zstart and 0, which correspond to default lower and
upper limits of color bar, respectively. The number of automatically generated contour lines can be
modified by option 9.
This function is never limited to molecular system, it is also fully compatible with periodic
system, therefore you can use this function to vividly reveal relative Z position of various sites of
solid surface. In this case, the input file should contain cell information, which structure files and
wavefunction files can provide cell information have been described in Section 2.9.3 and 2.9.2,
respectively.
This function is used to determine Fermi level based on specified temperature and orbital
energies via Fermi-Dirac distribution.
Theory
According to Fermi-Dirac distribution, at a given temperature (T), the occupation of orbital i
can be evaluated as
ni =
1 + exp[( Ei − Ef ) / (kBT )]
where Ei is energy of orbital i, Ef is Fermi-level, kB is Boltzmann constant, is 2.0 and 1.0 if the
orbital was resulted from restricted and unrestricted calculation, respectively. Ef corresponds to the
hypothetical level of 50% probability of being occupied.
By using the above way to assign orbital occupations, you will find the total number of
electrons of all orbitals is dependent of the choice of Ef. Clearly, the physically meaningful Ef is the
value making total number of electrons the same as the actual number of electrons in present system;
so, in the present function of Multiwfn, the Ef is determined based on this fact (and this is the same
way as CP2K program to determine Ef when smearing is enabled). Specifically, Multiwfn use
bisection algorithm to iteratively adjust Ef until the deviation between current and expected total
number of electrons is smaller than 1E-6. The maximum number of iterations is 1000, usually the
407
3 Functions
Usage
To use this function, you simply need to load a wavefunction file containing both occupied and
virtual orbitals (you can use e.g. .mwfn, .fch, .molden, etc. .wfn format cannot be used, as it normally
does not record virtual orbitals), then enter subfunction 9 of main function 300, and then input a
temperature.
For an example, boot up Multiwfn and input
examples\Li6.fch
300 //Other function (Part 3)
9 //Determine Fermi level
3000 //Temperature (K)
You will see
Iter: 1 Nelec: 18.00331025 Dev.: 0.33102D-02 Ef: -0.09099563 a.u.
...ignored
-19.138047
-0.997376
-0.514852
[...ignored]
3.531811
3.692553
In the first line, 5 and 20 denote the number of occupied and virtual MOs, respectively. Other part
of this file records orbital energies from low to high in Hartree unit and in free format. For
convenience, it is also allowed to write occupied and virtual orbital energies at two different lines,
for example:
408
3 Functions
5 20
For open-shell case, the format of the plain text file should look like this:
6 13 4 15
-1.18124
-0.66585
[...ignored]
2.13855
2.46757
-1.09028
-0.63075
[...ignored]
2.49486
The first line records number of alpha occupied, alpha virtual, beta occupied and beta virtual orbitals
in turn, and the following part records energies of the four kinds of orbitals in turn.
409
4 Tutorials and Examples
Welcome to use Multiwfn! If you have not read "ALL USERS MUST READ" at page 2 of this
manual, please read it first. If you encountered any problem in using Multiwfn, please free feel to
post topic on Multiwfn forum.
Before getting start, I first show you how to generate various kind of input files.
Notice that different functions in Multiwfn require different type of input file, see Section 2.5
for explanation. briefly speaking, for any analysis that solely based on real space function, you can
use .wfn or .wfx as input file. However, many functions require basis function information, in these
cases you have to use .mwfn, .fch/fchk, .molden or .gms file as input file. Since these files contain
richer information than .wfn/wfx file (i.e. basis functions and virtual orbitals), in principle for any
function that requires .wfn/wfx file as input file, you can also use .mwfn/fch/molden/gms instead.
A few functions in Multiwfn (e.g. AdNDP and ICSS analysis) rely on some special files,
requirements on the input files for these situations are clearly indicated in corresponding section in
Chapter 3.
410
4 Tutorials and Examples
ORCA 4.1, .wfn and .wfx files cannot be generated when ECP is used. Using .molden file as input
file of Multiwfn is always more recommended.
As regards the method of outputting .wfn files in other quantum chemistry packages, please
consult corresponding manuals.
411
4 Tutorials and Examples
Now let us start! Note that the examples in 4.x section are relevant to main function x, therefore
you can quickly find the examples you needed. Section 4.A includes special topics and advanced
tutorials, in which more than one functions and some advanced skills may be involved, such as
studying aromaticity and weak interactions. You can find almost all of the files involved in these
examples in “examples” folder. All the texts behind // are comments and should not be inputted as
command. Tutorials in this chapter only cover basic applications of Multiwfn, if you want to learn
the usage of more functions and more options, please read corresponding sections in Chapter 3 and
play with the options that not mentioned in the examples.
For most examples, I take .fch or .wfn as format of input file, however it never means these
functions can only accept these two formats! If you have read Section 2.5, you must know how to
properly choose format of input file for different functions.
PS1: If you would like to analyze wavefunction higher than CCSD level, reading Section 4.A.8
is suggested, you will need PSI4 or MRCC program.
PS2: In chapter 4, many my blog articles written in Chinese are involved, they often contain
extended discussion and more examples. If you cannot read Chinese, you can try to use Google
translator (For example, you can install Mozilla Firefox add-on called "Google translator for
Firefox". After a successful installation, you will find an icon "T" in the Firefox toolbar. Now open
412
4 Tutorials and Examples
the desired weblink, click the "T" icon and you will find the entire text in the desired language).
PS3: If you can read Chinese, reading these three articles will be highly helpful: "Tips for
getting start with Multiwfn" (http://sobereva.com/167), “Multiwfn FAQ” (http://sobereva.com/452)
and "The significance, functions and uses of multifunctional wavefunction analysis program
Multiwfn" (http://sobereva.com/184).
In this section, I will first introduce how to use the built-in interface for visualizing various
kinds of orbitals, then in Section 4.0.3, I will show how to use Multiwfn in combination with VMD
to easily and quickly plot state-of-art orbital graphs.
Boot up Multiwfn, input examples\cycloheptatriene.fch and press ENTER button, then select
main function 0, a GUI window will pop up, meanwhile information of all atom coordinates along
with basic information of featured molecular orbitals are printed on Multiwfn console window.
You can rotate molecule, zoom in/out, adjust bonding threshold, save the graph as image file
and so on via corresponding widgets.
The numbers in the right-bottom list are orbital indices, you can view orbital isosurface by
selecting corresponding index, or directly inputting the orbital index in the text box and then press
ENTER button. Note that if your system is unrestricted open-shell, to select beta orbital you should
input negative index, for example, -5 corresponds to the 5th beta orbital. Plot two orbitals
simultaneously in this window is also possible, as illustrated in Section 4.0.2.
For convenience, if your input file records R/U/RO(HF/KS) wavefunction, you can directly
input orbital label in the text box at right-bottom corner. For example, inputting h stands for choosing
413
4 Tutorials and Examples
Tip: Recommendation of the steps for obtaining pretty orbital isosurface graph
• Enter main function 0, select the orbital to be visualized, properly set isovalue
• Click "Show Labels" to disable axis
• Properly adjust viewpoint
• Properly change the size of atomic labels. Note that type of the labels can be changed via
"Set atomic label type" in "Other settings" at menu bar
• If the rendering effect of the isosurface is not quite good, use "Set lighting" in "Other settings"
to adjust lightings.
• Select "Isosur. quality" in the menu bar, set to "high quality" (medium sized system) or "very
high quality" (large system).
• Click "Save picture". Use such as Irfanview or Photoshop program to open it, shrink the size
of the image file to 50% (in this process resample will be automatically done, making anti-aliasing
effect effectively realized), then properly crop the graph.
Below is an example obtained via above steps, the quality is pretty good
414
4 Tutorials and Examples
It is suggested to use "face+mesh" drawing style instead of the default "solid face", since in
this case the saved picture will be more stereoscopic.
There are two ways to view NBOs, if you are a Gaussian user, way 2 may be more convenient,
however if you also need to view natural hybrid orbital (NHO) or natural atomic orbital (NAO) or
some other types of orbitals generated by NBO program, you have to use way 1.
415
4 Tutorials and Examples
It is somewhat difficult to study overlapping extent between the two orbitals from the solid
face graph, so we choose "Use mesh" in "Isosur#1 style" and the counterpart in "Isosur#2 style" to
make the two isosurfaces represented as mesh, see below. (Please also try "transparent face" style)
Now the overlapping extent become distinct, it is quite clear that NBO 12 substantially overlapped
with NBO 56, the resulting strong delocalization is one of the main reasons why the second-order
perturbation energy between them is very large (~60 kcal/mol). In Section 4.4.5, you will learn how
to obtain contour map for the two orbitals.
Notice that for unrestricted calculations, .32 and .33 files outputted by NBO 3.1 module in Gaussian are
incorrect -- the title parts are missing, which will lead to strange result, you should fix them by consulting other plot
files such as .34, it is very easy.
Regarding the ways to pass the keywords for generating NBO plot files to NBO module in
other quantum chemistry packages, please consult corresponding manual. You can also use stand-
alone version of NBO program (GENNBO) to generate NBO plot files, an input file (.47) is needed
to be prepared first. To generate it, you should load a file containing basis function information into
Multiwfn, then enter main function 100, select subfunction 2, then choose corresponding option to
export .47 file. After that, manually add plot keyword between “$NBO” and “$END” in the .47 file.
Then if you use GENNBO program to run the .47 file, you will get NBO plot files.
416
4 Tutorials and Examples
input file to view NBOs. If theoretical level of the task is HF or DFT, you should add saveNBOene
in the first line of the .fch file; if post-HF method is used and density keyword has also been specified,
you should add saveNBOocc in the first line of the .fch file, in this case Multiwfn will do some
special treatments internally. However, if your aim is just viewing NBOs in main function 0, you
can ignore this step.
Beware that when Gaussian storing the NBOs to checkpoint file, they may be automatically
reordered. For example, you may see the information like below in the Gaussian output file:
Reordering of NBOs for storage: 7 8 3 1 2 4 6 5 9 38 ...
That means the 1st, 2nd, 3rd, 4th ... orbitals in the .chk/.fch file in fact correspond to the 7th, 8th,
3rd, 1st ... NBOs generated by the NBO module, respectively.
It is worth to note that if you use Multiwfn in combination with VMD, you can plot very pretty
NBO isosurface maps, see my blog article "Using Multiwfn to plot NBO and related orbitals" (in
Chinese, http://sobereva.com/134) for detail. Below is a map plotted by a Multiwfn user in his work
J. Mol. Graph. Model., 59, 31 (2015).
Prologue
If one employs Multiwfn to export cube file for the orbitals of interest, and then render them
as isosurface map in VMD (http://www.ks.uiuc.edu/Research/vmd/), very ideal orbital isosurface
map can be obtained, the procedure has been detailedly described in my blog article "Using
Multiwfn to visualize molecular orbitals" (in Chinese, http://sobereva.com/269). However, the
procedure introduced in this article is somewhat lengthy, many manual operations are needed. In
order to simplify the procedure as much as possible, here I show how to use scripts to very easily
and quickly draw high-quality orbital isosurface map by using Multiwfn and VMD in combination.
In this section I only illustrate how to plot MOs, but the same procedure can also be applied for
plotting other kinds of orbitals, however you need to properly modify the input stream file (see
below). If you do not know how to run Multiwfn in silent mode, I suggest you read Section 5.2 first
so that you can better understand this section. Here I assume you are using Windows system, for
Linux platform you should manually write corresponding script. The VMD program I used here is
version 1.9.3.
Preparation work
417
4 Tutorials and Examples
Example
Here we plot MOs for examples\excit\D-pi-A.fchk. Make sure that all preparation works have
done, then edit the showorb.bat, replace the default input file 1.fch with examples\excit\D-pi-A.fchk,
and ensure that the actual VMD folder has been properly specified in this file. Then open
showorb.txt, set the third line as 54-59, so that we can visualize MOs from 54 to 59. Then double-
click the showorb.bat, Multiwfn will be invoked to load input file, calculate and export grid data of
wavefunction for the selected orbital. For e.g. orbital 54, the exported file will be named
orb000054.cub. All the orbital cube files are then automatically moved to the VMD folder. After
that, boot up VMD, input orb 56 in VMD console window, then orb000056.cub will be loaded into
VMD and drawn as isosurfaces:
In above map, positive and negative phases are represented as red and blue colors, respectively.
"Glossy" material is used by default. If you want to change the color or material, you should enter
"Graphics" - "Representation" and modify corresponding options. You can also change default color
and material by modifying the showorb.vmd script.
If then you want to visualize another orbital, for example MO54, then simply input orb 54 in
the VMD console window.
If you want to change the isovalue to e.g. 0.02, simply input orbiso 0.02.
If after visualization, you want to clean all orbital cube files in the VMD folder, just input
418
4 Tutorials and Examples
By default, "medium quality grid" (about 512000 points) is used to calculate orbital
wavefunction, this is adequate for small and medium sized systems. However, for large systems,
such as those consisted of one hundred of atoms or more, you must employ higher number of grid
points. If you want to change the default grid to "high quality grid", you should set the fourth line
in showorb.txt to 3. In addition, as mentioned in Section 4.0.1, for visualizing Rydberg orbitals you
must increase extension distance of grid data. To do so, you should add
-10
12
between the third and fourth lines of showorb.txt, then extension distance will be increased from
default value to 12 Bohr.
The rendering time is fairly long for large systems. For saving time, you can use the
VMDrender_noshadow.bat instead of the VMDrender_full.bat, in this case no shadow effect will be
observed in the resulting graph, while the rendering cost is correspondingly reduced.
Sometimes, especially for large system, the shadows casted by the transparent orbital
isosurfaces make the graph look too dark, you can manually add -shadow_filter_off argument in
the .bat file to disable this kind of shadow during rendering.
419
4 Tutorials and Examples
In this example I illustrate how to calculate a wide variety of real space functions at a given
point for triplet water. Boot up Multiwfn and input below commands
examples\H2O_m3ub3lyp.wfn
1 // Main function function 1, show properties at a point
0.2,2.1,2 // X, Y, Z coordinate of the point
1 // The unit of inputted coordinate is Bohr
Now all real space functions supported by Multiwfn at this point are printed along with
components of electron density gradient/Laplacian, Hessian matrix and its eigenvalues/eigenvectors.
If you are unable to fully understand the output, please read Sections 2.6 and 2.7 carefully, all terms
in the output are very detailed described.
Density of all electrons: 0.4598301528E-02
Sign(lambda2)*rho: -0.4598301528E-02
420
4 Tutorials and Examples
Total: 0.1302577206E-01
Hessian matrix:
Eigenvectors(columns) of Hessian:
All data are expressed in scientific notation, the value behind E is exponent, e.g.
0.6307272576E-02 corresponds to 0.006307272576.
In the line of "Corr. hole (correlation hole)" and "Source function", the so-called "ref" is the
position of reference point, which is determined by "refxyz" parameter in settings.ini.
By default, the outputted wavefunction value corresponds to orbital 1, you can input for
example o6 to choose orbital 6.
By default, the components of gradient and Laplacian as well as Hessian and its
eigenvalue/eigenvectors are for electron density. You can input such as f10 to choose the real space
function with index of 10 (namely ELF), after that all of these quantities will be for ELF. If you
want to inquire indices of all available real space functions, input allf.
You can continue to input other coordinates, when you want to return to upper level menu,
input q; If you want to exit the program, press “CTRL+C” button or directly close command-line
window.
In J. Phys. Chem. A, 118, 1697 (2014), Mohan and Suresh studied a batch of electrostatic
dominated interacting systems, including hydrogen, halogen and dihydrogen bonds, all of them
belong to electron donor-acceptor interactions, where donor stands for electron-rich moiety (Lewis
base), while acceptor is electron-deficient moiety (Lewis acid). They fitted a surprisingly good
linear equation to correlate Vn index with interaction energy (Enb) for all kinds of interactions,
the R2 is as high as 0.9762. Their results can be summarized as following graph
421
4 Tutorials and Examples
For an electrostatic dominated complex, assume that we can obtain Vn, then according to
the equation shown in above graph, we can easily predict the interaction energies as
422
4 Tutorials and Examples
That means Vn-D' is -22.2877 a.u. Then input a5, you will find Vn-A' is -0.9608 a.u.
Next we calculate Vn-D. Reboot up Multiwfn and input below commands
?H2O.wfn // The symbol ? means the folder of the file we last time loaded
1
a1 // In H2O.wfn oxygen is atom 1
We find Vn-D is -22.3339 a.u. Then we calculate Vn-A. Reboot Multiwfn and input
?HF.wfn
1
a2 // In HF.wfn hydrogen is atom 2
The Vn-A is found to be -0.9136 a.u.
The Vn is thus -22.2877-(-22.3339) - [-0.9608-(-0.9136)] = 0.0462 + 0.0472 = 0.0933 a.u.
Using the equation mentioned earlier, the interaction energy can be approximately predicted as
-89.28570.0933-0.125 = -8.45 kcal/mol, this value is quite close to the accurate interaction energies
(-8.31 kcal/mol) obtained by Mohan and Suresh at MP4/aug-cc-pVTZ level with Counterpoise
correction.
Generating wavefunction at MP4(SDQ)/aug-cc-pVTZ is quite time consuming even for small complex such as
the system we studied here, thus it is important to find a calculation level that significantly saves computational time
but without too much sacrifice in accuracy. For present system, based on the MP2/6-311++G** geometry, I tried
using several levels to evaluate the Vn:
B3LYP/6-311+G**: 0.1021 a.u.
MP2/cc-pVTZ: 0.1052 a.u.
MP2/aug-cc-pVTZ: 0.0955 a.u.
B3LYP/aug-cc-pVTZ: 0.0985 a.u.
MP2/aug-cc-pVDZ: 0.0939 a.u.
B3LYP/aug-cc-pVDZ: 0.0980 a.u.
The Vn produced at MP2/aug-cc-pVDZ (0.0939) is very close to the value we obtained above at
MP4(SDQ)/aug-cc-pVTZ (0.0933), while the computational cost is reduced by factors of two. So, in practical studies,
using MP2/aug-cc-pVDZ level to evaluate Vn is a very ideal choice.
Multiwfn is able to perform topology analysis for any real space functions, such as electron
density, its Laplacian function, ELF, LOL, orbital wavefunctions, spin density, electrostatic potential
and so on. Four kinds of critical points (CPs) can be located and real space function values at these
points can be easily obtained; topology paths linking CPs and interbasin surfaces can be generated.
There are also many additional capabilities, see Section 3.14 for details. Below I will present some
practical applications to illustrate how to use this powerful module.
Note that Multiwfn can not only perform topology analysis based on wavefunction file, but also based on grid
data, as illustrated in http://sobereva.com/wfnbbs/viewtopic.php?pid=2276. Therefore, performing topology analysis
for electron density determined by experimental crystal diffraction is also possible.
Topology analysis of electron density is a main ingredient of Bader's atoms in molecules (AIM)
theory. In this example we will perform this kind of analysis for 2-pyridoxine 2-aminopyridine
complex.
423
4 Tutorials and Examples
25 - 27 + 3 - 0 = 1
The second line shows that Poincaré-Hopf relationship has been satisfied, that means all CPs may
have been found. If this relationship is unsatisfied, then some CPs must be missing. From the GUI
window that popped up (below map), we can see all expected CPs are presented, hence we can
confirm that all CPs have been found.
424
4 Tutorials and Examples
Click "RETURN" button at top right corner of the GUI window and input 8 to generate
topology paths (in the present context they correspond to "bond paths"), then select option 0 again
to view CPs and paths. From the command-line window now you can find the two atoms connecting
to each BCP have been directly given. After slight adjustment of plot settings in the GUI window,
the graph looks like below (Click "CP labels" at the right side of the GUI if CPs indices are not
shown):
Magenta, orange and yellow spheres in above map correspond to (3,-3), (3,-1) and (3,+1)
425
4 Tutorials and Examples
critical points, respectively. Brown lines denote bond paths. The indices of CPs are labelled by cyan
texts. It can be seen that indices 53 and 38 correspond to the bond critical point (BCP) of N-HO
and N-HN hydrogen bonds (H-bonds), respectively.
It is worth to note that the label color of the CPs can be changed via “Set label color” option in the “CP labelling
settings” drop-down list in the menu bar. If you want to only label a specific CP, you can select “Labelling only one
CP” in the “CP labelling settings” and then input its index (when system is very large and there are numerous CPs,
this option will be useful to clearly visualize or find the CP of interest. If you input nothing in this option, then all
CP labels are allowed to be shown).
Now close the GUI window.
The topology analysis module provides many analysis options; for example, let us measure the
distance between CP30 and the nuclear position of H25. Select option -9, then input c30 a25, the
result is 5.877601 Å. Then we measure the angle between C14-N13-H12, namely input a14 a13
a12, the result is 120.297432 degree. Now, we input q to return.
CP type: (3,-1)
... (Ignored)
The output indicates that the (r) at this BCP is 0.03129 a.u., therefore the H-bond BE could be
evaluated as BE = -223.08*0.03129+0.7423 = -6.2 kcal/mol = -26.1 kJ/mol.
It is also worth to note that in Chem. Phys. Lett., 285, 170 (1998), Espinosa and coworkers
stated that for H-bond of X-HO (X=C,N,O) type, the BE could be estimated as
BE=V(rBCP)/2
As shown in above output, V(r) at the BCP of N23-H25O1 is -0.026148, thus the BE could be
predicted to be -0.026148/2*2625.5 = -34.3 kJ/mol, which notably differs from the -26 kJ/mol using
426
4 Tutorials and Examples
the prediction equation proposed in the J. Comput. Chem. (2019) paper. Which one is more accurate?
As rigorously demonstrated in the J. Comput. Chem. article, the popular V(rBCP)/2 equation in fact
has an evidently larger error and thus cannot be recommended; in other words, the BE of -26.1
kJ/mol should be more reliable.
427
4 Tutorials and Examples
In Section 4.20.1, we will use another important weak interaction analysis method NCI to
further study this system.
You may feel that the current Multiwfn GUI for showing CPs and topology paths is somewhat
difficult to use for large system, since the system cannot be rotated completely smoothly, and
sometimes index of interesting CP is difficult to be observed. In Section 4.2.5 I will introduce how
to use the powerful VMD program based on Multiwfn outputs to very easily plot CPs and topology
paths, in this case the graph is very pretty, the perspective is completely controllable, and index of
interesting CPs can be easily found out.
There are two important points regarding AIM topology analysis I would like to mention here,
though they are not related to present example.
What should I do if some CPs of electron density were not successfully located?
For small systems, commonly we can check whether all CPs have been located by simply
entering the GUI and visualizing the distributions of the CPs. There is also a useful equation named
Poincaré-Hopf relationship. For isolate system, the relationship is
If all CPs have been found, this relationship must be satisfied, but the satisfaction of this relationship
does not necessarily mean all CPs have been found. If the Poincaré-Hopf relationship is unsatisfied,
then some CPs must be missing.
Sometimes, you may find some expected CPs were not successfully located after searches.
There are two reasons may cause this problem: (1) The position of initial guesses are not close
enough to the CPs (2) The default CP searching parameters are not well-suited for present case.
There are some common ways to solve this problem, as shown below. More detailed descriptions
may be found in Section 3.14.2.
a) If you have tried options 2~5 and some CPs were not located, try to use suboption -1 of
option 6. This searching mode is powerful but expensive, which by default places 1000 starting
points within in a spherical region around every atom. If after repeating this mode several times the
428
4 Tutorials and Examples
missing CPs are still unable to be located, it is highly possible that the reason is due to the
inappropriate searching parameters rather than the positions of starting points.
b) If some BCPs are unable to be located, you can enter option -1, set the scale factor of stepsize
to 0.5, and then try again
c) NCPs of very heavy atoms are difficult to be located, because the peak of electron density
at nucleus in this case is very sharp, thus under default parameters the searching algorithm is difficult
to capture the NCPs. In order to locate them, you can enter option -1, loosen the criteria for gradient-
norm and displacement convergences by several orders of magnitude, and then try to use option 2
to search the NCPs again. If the NCPs are then successfully found, do not forget to recover the
original convergence criteria. In fact, since NCP of heavy atoms are almost exactly located at nuclear
position, you can also directly enter option -4 and choose suboption 3 to add NCPs manually at the
corresponding nuclear positions.
d) If some missing CPs are expected to occur far away from atoms, for example, a CCP at the
center of a very large cage or tube system, please enter option -1, using suboption 8 to tighten the
criterion for determining singularity of Hessian matrix by several orders of magnitude, and then try
to search the CPs again.
By the way, in rare cases you may find a few CPs occur in unexpected regions that far away
from the system, they should be artificial due to numerical noise. A useful way to avoid locating
them is entering option -1 and choose suboption 8, increase the criterion by some orders of
magnitude (e.g. increasing it to 1E-15) and then search CPs as usual.
If you decide not to utilize EDF information (see "readEDF" and "isupplyEDF" in settings.ini
for detail), evidently it is impossible to find out (3,-3) CP at nuclear position, and accordingly, the
bond paths emitted from BCP will be unable to connect to the nucleus. Instead, you may find (3,+3)
at nucleus position due to the vacancy of inner-core density, and a lot of CPs in different types will
appear around the nucleus, this is because the electron density no longer decreases exponentially
from nucleus, so the topology structure of electron density becomes quite complicated. However,
429
4 Tutorials and Examples
you can simply ignore those irrelevant CPs but only focus on the BCPs that you are really interested
in.
• Using all-electron basis set with relativistic Hamiltonian: This is the most expensive but most
accurate solution for representing electron structure of heavy atoms. Only considering scalar
relativistic effect is totally enough for AIM analysis. DKH2 Hamiltonian is a very good choice (in
Gaussian, simply using int=DKH2 keyword to employ it, beware that basis set optimized for DK
calculation must be used, e.g. cc-pVDZ-DK).
For more discussions, please consult my post "Some explanation of performing wavefunction
analysis under pseudo-potentials" (in Chinese, http://sobereva.com/156).
4.2.2 Topology analysis of localized orbital locator (LOL) for acetic acid
A brief of localized orbital locator (LOL) has been given in Section 2.6. In this example, we
will locate its CPs and generate topology paths of LOL for acetic acid. With completely identical
procedure, you can also study topology character for many other real space functions, such as
electron localization function (ELF), electrostatic potential (ESP) and Laplacian of electron density.
Boot up Multiwfn and input following commands
examples\acetic_acid.wfn
2 // Enter topology analysis module
-11 // Select a real space function
10 // Localized orbital locator (LOL)
Notice that the distribution feature of LOL is much more complex than electron density, so it
is very difficult to locate all LOL CPs. Fortunately, in general only a small subset of LOL CPs is
what we are interested in, the search of CPs can be aborted once all CPs of interested have been
found.
We first use option "2 Search CPs from nuclear positions" to locate the CPs that very close to
nuclei. However, the positions of CPs in other regions are somewhat unpredictable, hence a lot of
starting points have to be randomly scattered around each atom to try to locate those CPs. Now,
input below commands:
6 // In this searching mode, starting points will be randomly scattered within a spherical region,
the sphere center, radius, number of points and so on can be defined by users. This time we leave
the default value unchanged
-1 // Use each nucleus as sphere center in turn to search CPs. Since there are 8 atoms, and
starting points in each sphere is 1000, Multiwfn will try to search CPs based on 8*1000 starting
points. Of course, the more the starting points you set, the larger probability that all CPs could be
found in this search, but the higher the computational cost
-9 // Return to upper menu
0 // Visualize the result
430
4 Tutorials and Examples
From above map it can be seen that the number of CPs of LOL is very large. Actually there are
still some CPs have not been found in the search. If you repeat the search one more time, some
missing CPs may be located. Since all CPs of our interest have been found currently, repeating the
search is unnecessary. In the graph, each purple sphere signifies a (3,-3) type of CP, which represents
local maximum of electron localization. It can be seen that CP15 delineates the covalent bond
between the two carbons. CP8 and CP9 correspond to the two C-O bonds. CPs 7, 57, 12 and 13
correspond to lone pairs of oxygens.
Note that the indices of the CPs located by the option 6 are different each time, because the distribution of the
starting points is fully random.
Now choose option 8 to generate the topology paths linking (3,-1) and (3,-3) CPs, then choose
option 0 to visualize the result again. To relieve visual burden, display of some uninteresting objects
can be disabled by properly adjusting corresponding GUI widgets. As you can see from the below
graph, the topology paths clarify the intrinsic connectivity between CPs.
431
4 Tutorials and Examples
The distributions of maxima of ELF maxima and those of LOL are very similar, however there
are also some notable difference. There are two LOL maxima representing the lone pairs of O1,
while there is only one ELF minimum in corresponding region. In addition, LOL employs one
maxima to signify the C3-O4 interaction, while there are two in ELF map.
All real space functions that supported by Multiwfn could be easily plotted along topology
paths. In this example we plot ellipticity of electron density along bond path of boundary C-C bond
of butadiene.
First open settings.ini file and change "iuserfunc" parameter to 30, because the 30th user-
defined function corresponds to electron density ellipticity, see Section 2.7 for detail.
Then boot up Multiwfn and input below commands:
432
4 Tutorials and Examples
examples\butadiene.fch
2 // Topology analysis
2 // Search nuclear critical points from nuclear positions
3 // Search bond critical points from midpoint of atomic pairs
8 // Generate bond path
0 // Enter GUI window to visualize result
Clicking "Atom labels" and "Path labels" buttons at right side of the GUI window, then we can
find paths 5 and 6 collectively constitute the bond path of a boundary C-C bond:
The curve of electron density ellipticity along the boundary C-C bond path immediately shows
on the screen, the dashed line denotes the position of bond critical point. In the plot, the left and
right corner correspond to CP3 and CP4, respectively. At the same time, the raw data of the curve
are shown on the command-line window and you can copy them out, so that the map can be further
analyzed or replotted in third-part plotting tools such as Origin.
From the graph it is clear that the electron density ellipticity is positive in the middle region of
the bond path, exhibiting the double-bond character of the C-C bond.
433
4 Tutorials and Examples
You can also plot other real space functions such as ELF and kinetic energy density along bond
paths, please have a try.
As can be seen, CP13 and CP17 are the BCPs of boundary C-C bonds. Close the GUI and then
input
7 // Show properties at a CP
13d // Decompose properties of CP13
1 // The real space function to be decomposed is electron density
[Press ENTER button] // Take all occupied orbitals into account, but only print ten orbitals
having largest contributions
You will see below output
Contribution from orbital 11 (occ= 2.000000): 0.107469 a.u. ( 31.34% )
434
4 Tutorials and Examples
Clearly, electron density at this BCP is simultaneously contributed by many MOs, the largest
contribution is 31.3%. What will happen if we transform the MOs to localized MOs (LMO)? (see
Section 3.21 for introduction about orbital localization and LMO). To examine this, return to main
function menu, then input
19 // Orbital localization
1 // Only localize occupied orbitals
2 // Enter topology analysis function again. We do not need to redo topology analysis, since
all topology information are retained when you exit topology analysis module
7 // Show properties at a CP
13d // Decompose properties of CP13
1 // The real space function to be decomposed is electron density
[Press ENTER button]
You will see
Contribution from orbital 11 (occ= 2.000000): 0.339266 a.u. ( 98.95% )
...[ignored]
As can be seen, currently only one orbital, namely LMO11 has remarkable contribution to the
BCP. This is what we expected, since in the LMO framework, each chemical bond is commonly
mainly represented by only one or very few number of LMOs. You can visualize the LMO11 using
main function 0:
It is clear that LMO11 fully corresponds to the boundary C-C -bond, this is why properties such
as electron density of the corresponding BCP is solely dominated by LMO11.
Next, let us check which LMOs have nonnegligible contribution to the point above 1 Bohr of
the BCP corresponding to the boundary C-C bond. The index of the BCP is 13, when you choose
option 0, you can find its coordinate in console window:
Index XYZ Coordinate (Bohr) Type
...[ignored]
435
4 Tutorials and Examples
...[ignored]
Evidently, the point above 1 Bohr of CP13 should be (-1.131,-2.047,1.0). Input below command
-10 // Return to main menu
1 // Print various properties at a given point
d // Decompose to orbital contributions
-1.131,-2.047,1.0
1 // The unit of inputted coordinate is Bohr
1 // Decompose electron density
[Press ENTER button]
Then you will see below information
Contribution from orbital 11 (occ= 2.000000): 0.110266 a.u. ( 66.33% )
...[ignored]
It can be seen that, not only the LMO11, but also LMO15 has evident contribution. If you
inspect this orbital in main function 0, you will find it corresponds to bond of the boundary C-C
bond.
Via similar way, we then decompose electron density of the point above 1 Bohr of the BCP
corresponding to the middle C-C bond, the result is
Contribution from orbital 13 (occ= 2.000000): 0.097450 a.u. ( 78.20% )
Although both the LMO 14 and LMO 15 mainly correspond to bond of the marginal C-C bonds,
they have 10.7% contribution to the position above 1Å of the middle C-C bond, implying that the
middle C-C bond must also have character, though much weaker than the boundary C-C bonds.
436
4 Tutorials and Examples
4.2.5 Easily plot high quality AIM topology map in VMD visualization
program based on Multiwfn outputs
Note 1: Chinese version of this tutorial is http://sobereva.com/445.
Note 2: There is a video illustration corresponding to this section: https://youtu.be/mgsnhvWH5SI. I strongly
suggest looking at it!!!!!!!!!!!!
In Section 4.2.1 I have shown how to carry out AIM topology analysis for 2-pyridoxine 2-
aminopyridine complex, in present section I will show how to very easily render the located CPs
and generated topology paths in the very powerful and freely available VMD program
(http://www.ks.uiuc.edu/Research/vmd/). The map is very pretty, and you can easily find index of
interesting CPs. The whole process is highly automatic, because it is based on pre-provided
Windows batch process file and VMD plotting script. If you do not know how to run Multiwfn in
silent mode, I strongly you read Section 5.2 first, so that you can fully understand how the batch
process file works. If you manually write a similar shell script, this method can also be realized
under Linux platform.
Example: 2-pyridoxine_2-aminopyridine
In this example, we copy the examples\2-pyridoxine_2-aminopyridine.wfn to the folder
containing Multiwfn executable file, modify the input file name in the VMD.bat as 2-pyridoxine_2-
aminopyridine.wfn, then double-click the VMD.bat, this batch process file will invoke Multiwfn to
carry out analysis according to the commands in VMD.txt for this .wfn file. After a while, CPprop.txt
is generated in this folder, the meantime generated mol.pdb, CPs.pdb and paths.pdb are
automatically moved to the VMD folder.
Now boot up VMD and input command aim in VMD console window, you will immediately
see below graph.
Notice that in order to gain slightly better effect, I used the built-in Tachyon render to obtain below graph,
namely selecting "File" - "Render", change to "Tachyon (internal, in-memory rendering)" and click "Start Rendering"
button (The resulting file is in .tga format, you need to use advanced image viewer to view it, such as IrfanView,
which is freely available at https://www.irfanview.com)
437
4 Tutorials and Examples
It is also possible to simultaneously show molecular structure on the map. Double click the
"D" shown in below screenshot to make it become black:
438
4 Tutorials and Examples
The labels on the above graph have one-to-one correspondence to those in CPprop.txt. For
example, the CP with label 38 just corresponds to the CP 38 in the CPprop.txt. Clearly you can
easily examine properties of various CPs by checking corresponding entry in the CPprop.txt.
In addition, the AIM.vmd also defined labcpidx command to label specific CPs according to
their indices. For example, you can use labcpidx "2 7 to 10 14" to only label CPs 2, 7, 8, 9, 10, 14,
and you can also add [label size] [offset in X] [offset in Y] options behind the indices.
Since in the CPs.pdb, the C, N, O, F atoms are used to represent (3,-3), (3,-1), (3,+1), (3,+3)
CPs, respectively, if you want to hide (3,+1) and (3,+3) in the map, you can double click the entries
of "name O" and "name F" to make them invisible.
In addition, for example, among all (3,-1) CPs you only want to show those with index of
3,5,6,7,11, you can select the "name N" entry, and then input name N and serial 3 5 to 7 11 in the
"Selected Atoms" box and then press ENTER button. While if you want to make those CPs hidden,
you should input name N and not {serial 3 5 to 7 11}. Clearly, the selection in VMD is very flexible.
439
4 Tutorials and Examples
and 7, you should enter "Graphics" - "Representations" panel, choose "paths.pdb" from "Selected
Molecule" drop-down box, then input not resid 3 7 in the "Selected Atoms" box.
If you want to inquire index of a topology path, you should active VMD graphical window,
press button "0" to enter query mode, then click a path in the graphical window, then the "resid:"
shown in the console window is just the path index. If you want to return to rotation model, you
should press button "r".
Owing to the extremely flexible design of Multiwfn, it is possible to perform topology analysis
only within certain regions that you are really interested in or between specific regions, so that
overall cost can be significantly reduced and meantime avoiding unwanted CPs. In this section, the
G-C...G-C base pair shown below will be employed as an instance. This system can be regarded as
consisting of four fragments. Its .wfn file can be directly downloaded at
http://sobereva.com/multiwfn/extrafiles/GCGC.zip.
440
4 Tutorials and Examples
accompanying bond paths corresponding to weak interactions have been generated, while BCPs and
bond paths corresponding to chemical bonds are not obtained.
If you are not interested in RCPs (ring CPs, yellow spheres) and CCPs (cage CPs, green
spheres), you can easily delete them. Input below commands:
-4 // Modify or export CPs
2 // Delete some CPs
5 // Delete all (3,+1) CPs
6 // Delete all (3,+3) CPs
0 // Return
0 // Return
Then if you choose option 0 again to visualize the result, you will find RCPs and CCPs have
disappeared.
441
4 Tutorials and Examples
(3) Only retaining bond paths and corresponding BCPs connecting two specific fragments
Sometimes we only want to study interfragment interaction between two specific fragments
and hope that all irrelevant bond paths and BCPs could be fully removed to make the graph clearer.
Although you can manually delete undesired BCPs and bond paths manually via corresponding
suboptions in options -1 and -2, respectively, the process is usually tedious. Fortunately, in Multiwfn
there is a special option aiming for realizing this purpose. Below I will illustrate how to only retain
bond paths and corresponding BCPs connecting fragments 1 and 3 while removing all other BCPs
and bond paths.
Boot up Multiwfn and input
GCGC.wfn
2 // Topology analysis
2 // Search CPs from nuclear positions
3 // Search CPs from midpoint of atomic pairs
8 // Generating the paths connecting (3,-3) and (3,-1) CPs
-5 // Manipulate paths
8 // Only retain bond paths (and corresponding BCPs) connecting two specific fragments while
delete all other bond paths and BCPs
1-13 // Atomic indices in fragment 1
30-45 // Atomic indices in fragment 3
y // Also delete BCPs in other bond paths
Then we manually delete all (3,+1) and (3,+3) CPs as described above, and then visualize result,
you will see
442
4 Tutorials and Examples
Evidently, only the BCPs and bond paths characterizing the stacking interaction between fragments
1 and 3 are retained, the graph looks very clear, this is what we desired.
Since the atoms involved in the combination of each search is required to simultaneously occur in
the two regions we defined (i.e. all atoms must not occur in the same region), and thus the number
of tries is largely reduced compared to that of searching CPs for the entire complex, the cost is
correspondingly significantly lowered. As you can see, the finally located CPs mostly occur between
fragments 1 and 3, though a few converge to the region between fragments 1 and 2, you may then
manually delete them.
Topology analysis module is able to exactly locate various types of CPs, however, if
distribution of a real space function is relatively complicated, such as ELF, orbital wavefunction and
density difference, it is usually difficult to locate all CPs. In contrast, the basin analysis module
guarantees that all minima of negative region and maxima of positive region can be successfully
located, they are collectively known as "attractors", see examples of Section 4.17. However, since
443
4 Tutorials and Examples
the basin analysis is carried out based on evenly distributed grid, the accuracy of the attractors is
limited, because each attractor corresponds to a grid, while grid spacing is usually larger than 0.05
Bohr, which is several magnitudes larger than displacement convergence threshold of topology
analysis. If you are only interested in minima and maxima of a real space function, obviously it is a
good idea to use attractors determined by basin analysis as starting points for locating CPs in
topology analysis module, in other words, one can use topology analysis module to refine the
positions of the attractors. The joint use of the two modules ensures that all minima of negative
region and maxima of positive region can be accurately located. In this example, I take spin density
of C4H8 biradical as an example to illustrate how to realize this.
The example file is examples\C4H8.wfn. Before conducting basin and topology analyses for
spin density, we can use main function 5 to visualize its isosurface to examine its basic distribution
feature. The isosurface corresponding to spin density = 0.01 a.u. is shown below
In above map, blue and green spheres correspond to minima of negative part and maxima of positive
part, respectively. Clearly their positions are fully in line with our expectation, which can be inferred
from the isosurface map.
Then close the GUI and input
-4 // Export attractors as pdb/pqr/txt/gjf file
444
4 Tutorials and Examples
In above map, the purple spheres, namely (3,-3) CPs, represent maxima of positive part of spin
density; while the green points, namely (3,+3) CPs, correspond to minima of negative part of spin
density. Although it is hard to detect visually, their positions are indeed more accurate than the
attractors directly yielded by the basin analysis module.
In this example, I further illustrate the extreme flexibility of topology analysis in Multiwfn. I
will show how to perform topology analysis for deformation density of H2O, that is def = (H2O)
− (H1) − (H2) − (O). See Section 3.7.2 for more information about deformation property.
Similarly, you can use the same way to perform topology analysis for other kinds of density
difference, such as Fukui function and dual descriptor.
• Generate grid data of deformation density
Move “atomwfn” folder from “examples” folder to current folder so that Multiwfn can directly
utilize atomic wavefunction files in it during generating deformation density. Then input
examples\H2O.fch
5 // Grid data calculation
-2 // Obtain deformation property
445
4 Tutorials and Examples
1 // Electron density
3 // High quality grid (grid quality must be fine enough for present purpose. For a much larger
system, I suggest choosing “5 Input original point, grid spacings, and the number of points” and
input a relatively small grid spacing, e.g. 0.15)
0 // Return to main menu
• Perform basin analysis to locate maxima and minima
17 // Basin analysis module
1 // Generate basins
2 // Use grid data in memory
-4 // Export result
3 // Export position of located maxima and minima to attractors.txt in current folder
-10 // Return to main menu
• Topology analysis on deformation density
iu // Change user-defined function
-3 // User-defined function will correspond to interpolation function via B-spline algorithm
based on the grid data in memory, as mentioned in Section 2.7
2 // Topology analysis
-11 // Change the function to be analyzed
100 // User-defined function
1 // Search CPs from given starting points
4 // Using starting points from a .txt file
attractors.txt
0 // Return
Now if you enter option 0, you can visualize maxima and minima, namely (3,-3) and (3,+3)
CPs, as shown by purple and green spheres in the following figure
Then if you want to compare the CP positions with isosurfaces of the current grid data to
confirm if the positions are indeed correct, you can then input
-10 // Return to main menu
13 // Process grid data
-2 // Visualize isosurface of grid data in memory
After properly adjusting isovalue to 0.09 a.u. and slightly adjusting radius of atoms and bonds,
as shown below, you can clearly see that green (positive) and blue (negative) isosurfaces
respectively enclosed some maxima and minima, so the minima and maxima of deformation density
were indeed successfully located.
446
4 Tutorials and Examples
If you also need (3,-1) and (3,+1) CPs of deformation density, now you can close GUI window
and then input
-1 // Return to main menu
2 // Enter topology analysis module again
6 // Search CPs from a batch of points within sphere(s)
-1 // Start the search using each nucleus as sphere center in turn (I suggest choosing this option
several times until no new CPs can be further found)
-9 // Return
8 // Generating the paths connecting (3,-3) and (3,-1) CPs. This step is fully optional, I am just
doing a demonstration
The current CPs shown in option 0 is
As you can see, basically all CPs have been found, and topology paths have been correctly and
successfully generated. Currently Poincaré-hopf relationship may or may not be satisfied.
Satisfaction of this relationship is never important for complicated function like deformation density,
you just need to focus on the CPs that you are really interested in.
In fact, it is not impossible to locate minima and maxima of deformation density directly in topology analysis
module without help of the basin analysis module as what we did in this example. However, if you directly search
CPs of deformation density via option 6 in topology analysis module, some minima and maxima can hardly be
located due to numerical reasons and the high complexity of the density difference.
Some literatures study molecular ESP in terms of topology analysis, see J. Comput. Chem., 39,
447
4 Tutorials and Examples
488 (2017) and J. Phys. Chem. A, 123, 10139 (2019) for examples. If you have carefully read Section
4.2.2, 4.2.7 and 4.2.8, you will naturally know how to use Multiwfn to realize that. However, here
I explicitly give you some examples, since there involve some key points. Usually, only minimum
of ESP, namely (3,+3) type of ESP CP, is of interest, because ESP maximum always occurs at
nuclear position, while physical meaning of (3,-1) and (3,+1) types of ESP CP are less evident.
There are three ways of searching ESP CPs, you need to decide which one to use according to
the actual situation:
(1) Newton method in topology analysis module. All kinds of ESP CPs could be located
(2) Steepest descent method in topology analysis module, only minima of ESP will be located
(3) Combination method, namely using basin analysis module to crudely locate positions of
ESP minima, and then use topology analysis module to refine their coordinates, the procedure is the
same as Section 4.2.7 and 4.2.8.
If you are interested in all kinds of CPs, (1) must be used with randomly distributed starting
points. However, if you are only interested in ESP minima, (2) is better choice, because searching
process will not converge to other kinds of CPs, therefore less number of random starting points is
needed. Unfortunately, (2) has a very poor convergence behavior if a minimum occurs in narrow
valley region, and both (1) and (2) cannot guarantee that all ESP minima can be found if number of
starting point is relatively limited; (3) is free of these issues, however, there are slightly more
operation steps, and the grid data generated during basin analysis stage may take up a lot of memory.
In the next three parts, I will illustrate how to use the three ways in turn.
448
4 Tutorials and Examples
Then choose -9 to return to last interface, then choose option 0 to visualize the located CPs,
you will see
It is obvious that the (3,+3) CPs 2, 5, 6 correspond to minima of ESP, they occur mostly due to the
significant negative contributions to ESP due to lone pairs of the two oxygens. We use option 7 to
check ESP at these points, you will find they have ESP of -1.634, -2.069 and -2.312 eV, respectively.
Also note that gradient and Hessian information of ESP are also shown by option 7.
You can then also visualize isosurface of ESP along with the CPs. To do so, input following
commands
-10 // Return to main menu
5 // Calculate grid data
12 // ESP
2 // Medium quality grid
-1 // Show isosurface graph
After some adjustments of visualization setting, the isosurface of ESP = 0.055 a.u. (1.497
eV) will be
The blue transparent isosurfaces clearly portray the regions where ESP is evident negative. From
the map you can intuitively recognize that CP 6 must be global minimum, while ESP at CP2 is not
so negative. This observation is fully in line with the exact ESP values at the CPs mentioned earlier.
449
4 Tutorials and Examples
It is noteworthy that in principle, searching ESP CPs via above way cannot found all of them,
at least it is impossible to locate ESP maxima, which locate at nuclear positions, because at nuclear
position the ESP value is infinite large and gradient of ESP is not zero. So, you do not need to care
about if Poincaré-Hopf relationship is satisfied in topology analysis of ESP. However, if some
interested CPs were not found, you should try to repeatedly using the option “-1 Start the search
using each nucleus as sphere center in turn” until they are found. If after choosing it many times the
wanted CPs are still missing, you could consider to loosen convergence criteria of displacement and
gradient by one order of magnitude (via corresponding suboptions in option “-1 Set CP searching
parameters”) and redo the search.
450
4 Tutorials and Examples
The blue points correspond to ESP minima, while ESP maxima approximately occur at nuclear
positions and hidden by the atom spheres.
Close the GUI window and input following commands to use topology analysis module to
refine the positions of the minima
-4 // Export attractors
3 // Export coordinates and function values of all attractors as attractors.txt in current folder
-10 // Return to main menu
2 // Topology analysis
-11 // Select real space function
12 // ESP
1 // Search CPs from given starting points
4 // Using starting points from a .txt file
[Press ENTER button] // Use points recorded in the attractors.txt in current folder
Then Multiwfn uses the default Newton method to search CPs based on the starting points in
the attractors.txt. Once calculation is finished, input 0 to return, and then choose option 0 to
visualize the located CPs:
451
4 Tutorials and Examples
As you can see, the ESP minima (green spheres) occur in expected positions, and their distribution
is in line with molecular symmetry, implying all ESP minima have been found.
Finally, if you want to visualize ESP isosurface along with the minima to better understand
them, you can input
-10 // Return to main menu
13 // Process grid data
-2 // Visualize isosurface for the grid data in memory, which currently corresponds to the ESP
grid data generated during using basin analysis module before
After changing isovalue to 0.025 a.u. and set isosurface to mesh style, you can see
The blue isosurfaces (-0.025 a.u.) result from the rich -electrons of the cp ligands, and as expected,
there are corresponding ESP minima in these regions. In the middle part of ferrocene, there is a very
narrow circular isosurface with 10 ESP minima within it. As mentioned above, the ESP minima in
such region can hardly be located by steepest descent method. While if using Newton method
instead, it is not easy to successfully locate all of them, unless very large number of random starting
points are employed.
452
4 Tutorials and Examples
Van der Waals (vdW) potential is a quite important function to study intermolecular interaction
dominated by vdW effect, see Section 3.23.7 for introduction and 4.20.6 for example of visual study
and basins analysis. In this example, we perform topology analysis on vdW potential to exactly
locate its minima, adamantane will be taken as example.
Boot up Multiwfn and input
examples\adamantane.xyz
2 // Topology analysis
-11 // Select real space function
25 // vdW potential
As shown by prompt on screen, the algorithm for locating CPs has been automatically changed
to steepest descent method, because which is most suitable for locating minima of vdW potential.
Then input
6 // Search CPs from a batch of points within sphere(s)
-1 // Start the search using each nucleus as sphere center in turn. Note that currently 100 points
are randomly distributed around each atom.
From information on screen, it is found that 27 (3,+3) CPs, namely 27 minima of vdW potential,
have been located. Return to upper level of menu, then choose option 0 to visualize the minima.
After changing “Ratio of atomic size” to 4.0 (in this case atomic radii corresponds to vdW radii)
and increasing “Ratio of CP size” to 2.0, you will see below figure. The distribution of minima is in
line with molecular point group symmetry (Td), implying that all minima have been successfully
found.
Next, you can use option 7 to check values of vdW potential at these vdW minima.
You can then return to main menu, and use the way described in Section 4.20.6 to visualize
isosurface of vdW potential, the isosurface and minima will be shown together. The blue isosurface
of the following map corresponds to vdW potential of -0.62 kcal/mol. Clearly, the distribution of
the minima is in agreement with the isosurface.
453
4 Tutorials and Examples
The interaction region indicator (IRI) proposed in Chemistry-Methods, 1, 231 (2021) DOI:
10.1002/cmtd.202100007 is an extremely useful method to reveal various kinds of interactions in
chemical systems, including both chemical bonds and weak interactions. Usually, IRI analysis is
conducted in terms of plotting sign(2) colored isosurface map of IRI function, see Section 4.20.4
for example. Occurrence of IRI isosurface must be accompanied by corresponding minima of IRI,
therefore, you can view IRI minima as the most representative positions within interactions regions,
whose properties may be useful in characterizing type and strength of the interactions. Note that,
analysis of IRI minima is never equivalent to the topology analysis of electron density in atoms-in-
molecules (AIM) theory. As carefully discussed in Chemistry-Methods, 1, 231 (2021), IRI can also
faithfully reveal evident interactions where AIM CPs do not exist, for example, some intramolecular
H-bonds. Therefore, if you hope to study such H-bonds by examining values of real space function
at representative points, you should locate corresponding IRI minima first, as will be illustrated
below. You can also use exactly the same steps to locate minima of reduced density gradient (RDG),
which is employed by the so-called NCI method to reveal weak interaction region (see Section
3.23.1 for introduction). Although RDG has very similar capability with IRI to reveal non-covalent
interactions, unfortunately it is unable to reveal interactions with strong covalent character like IRI.
Next, I will use Ni(NH3)2(OH)2 as example to show how to exactly locate IRI minima, its
wavefunction file examples\Ni(NH3)2(OH)2.mwfn was generated by B3LYP in combination with
SDD for Ni and 6-311G** for other atoms. As carefully analyzed in Chemistry-Methods, 1, 231
(2021), this system has two evident interligand N-HO H-bonds. If you use the same way as
described in Section 4.2.1 to perform AIM topology analysis, you will find no bond critical point
corresponding to the two H-bonds can be found. However, the existence of the H-bonds can be
clearly exhibited by IRI.
Boot up Multiwfn and input
examples\Ni(NH3)2(OH)2.mwfn
2 // Topology analysis
-11 // Select real space function
24 // Interaction region indicator (IRI)
454
4 Tutorials and Examples
Now that as shown in the prompt on screen, the CP searching method has been automatically
changed to steepest descent method from the default Newton method, this is because Newton
method can hardly converge to some IRI minima, not only because they often occur in very small
and narrow concave regions, but also the local regions around these minima do not show quadratic
behavior (you can plot curve map of IRI to visually understand this point). Steepest descent is much
more suitable than Newton method in this case. From the prompt on screen you can also find
gradient convergence criterion has been automatically set to a very large value to deactivate its role
in determining convergence, because due to the special function behavior of IRI (and RDG), it is
almost impossible to use steepest descent method to converge very accurately to a position with
small enough gradient.
Then input the following commands to start CP searching
6 // Search CPs from a batch of points within sphere(s)
-1 // Start the search using each nucleus as sphere center in turn
After a while, you will find lots of (3,+3) CPs, namely minima, have been located. Note that
unlike the default Newton method, which can locate all kinds of CP, the steepest descent method
used herein only locate minima. Then input 0 to return to last menu, and choose option 0 to visualize
result, you will see
The green spheres in above map correspond to IRI minima, it can be seen that they occur
between each pair of interacting atoms, and CP34 and CP41 correspond to interligand N-HO H-
bonds. Please compare their positions with the colored IRI isosurface map, namely Fig. 5(b) of
Chemistry-Methods, 1, 231 (2021). Evidently, you can then use option 7 to study properties of the
two CPs to try to discuss characters of the H-bonds. There are two CPs (22 and 31) very far from
the molecule (you need to properly rotate the molecule to observe their positions clearly), they do
not have any practical meaning and should be simply ignored.
If you have interest, you can also plot color-filled map of IRI in XY plane, the non-hydrogen
atoms in this system are all nearly lying in this plane. To do so, return to main menu, then input
4 // Output and plot specific property in a plane
24 // Interaction region indicator (IRI)
1 // Color-filled map
[Press ENTER button] // Use default number of grids
455
4 Tutorials and Examples
It can be seen that notable interaction regions between adjacent atoms are clearly revealed by
relatively low IRI values in the map, and minima of the plotted IRI function (purple points in the
map) indeed occur in expected places.
4.3.1 Plot the spin density curve of triplet formamide along carbon and
oxygen atoms
456
4 Tutorials and Examples
examples\formamide-m3.wfn
3 // Main function 3, plot real space function along a line
5 // Spin density
1 // Defining the line by nuclear coordinate of two atoms
1,6 // Indices of the two atoms, carbon and oxygen atoms correspond to 1 and 6 in present
example, respectively
The graph shows up immediately:
The X-axis corresponds to the position in the line you defined, the dashed line corresponds to
the position of Y=0, the left and right red circles denote the position of the first and the second atoms
you selected. After clicking right mouse button on the graph to close it, a new menu appears on
command-line window, you can save graphic file, adjust the range of Y-axis, export X-Y data points
and replot the graph and so on by corresponding options. By selecting option 6, minimum and
maximum positions can be located:
Local maximum X: 0.753677 Value: 0.20104903D-01
Using the same procedure illustrated above, you can plot curve map for any real space function
supported by Multiwfn, please have a try.
457
4 Tutorials and Examples
In this example we will plot correlation hole (Fermi hole and Coulomb hole) along the axis of
H2. This is an advanced topic, if you are not familiar with the concept of correlation hole, please
consult the discussion in part 17 of Section 2.6.
Hartree-Fock wavefunction is capable to exhibit Fermi correlation, but Coulomb correlation is
completely omitted. In this case exact Fermi hole can be calculated and plotted by Multiwfn. If
Coulomb hole is needed to be analyzed, then post-HF wavefunction must be employed. In current
version, Multiwfn is able to evaluate and plot approximate Fermi hole and Coulomb hole for post-
HF wavefunctions by Müller approximation, which makes use of natural orbitals to mimic exact
pair density. Although the approximation is introduced, the result is generally at least qualitative
correct.
First, we optimize and generate .wfn file for H2 under CCSD/cc-pVTZ level. CCSD is the
highest level of wavefunction that can be generated by Gaussian program (If higher level of
wavefunction is needed, you must resort on other programs, see Section 4.A.8 for details). The file
has already been provided as examples\H2_CCSD.wfn. The coordinate of H1 is (0.0, 0.0, 0.7016)
Bohr, the coordinate of H2 is (0.0, 0.0, -0.7016) Bohr.
Correlation hole involves coordinates of two electrons, to visually study it we must determine
position of a reference electron. In this example, we set reference point at (0.0,0.0,-0.3) Bohr.
Therefore, we open settings.ini, change refxyz parameter to 0.0,0.0,-0.3.
The correlation hole we first analyzed is Fermi hole (also known as exchange hole), so we
change paircorrtype in settings.ini to 1. Since this is closed-shell system, the results for or β
electron are exactly the same, while for open-shell system, you should use "pairfunctype" in
settings.ini to select which type of spin electrons will be studied, you can also choose to study
exchange-correlation density or correlation factor by adjusting this parameter.
Now boot up Multiwfn, input following commands
examples\H2_CCSD.wfn
3 // Draw curve map
17 // Correlation hole
1 // Defining the line by nuclear coordinate of two atoms
2,1 // Draw curve graph along H2 and H1
Then you will see
458
4 Tutorials and Examples
This graph suggests that if we place an electron at (0.0,0.0,-0.3), then the probability of
finding another electron around the two nuclei will be significantly decreased by almost identical
extent due to Pauli repulsion between like-spin electrons. In the H-H bonding region, the probability
also obviously decreases. According to Bader's statement "An electron can go where its hole goes
and, if the Fermi hole is localized, then so is the electron" (p251 in Atoms in molecules - A quantum
theory), we can say that if an electron presents at (0.0,0.0,-0.3), then it must be able to easily
delocalize over the whole H2 molecular space.
Now we study Coulomb hole. Close Multiwfn, change "paircorrtype" to 2, reboot Multiwfn
and then replot the curve graph by using the same procedure, you will see
The red dots at left and right sides highlight position of H2 and H1, respectively. How can I
infer the position of the reference point on the graph? From the prompt "Set extension distance for
mode 1, current: 1.500000 Bohr" we know that the plotting range is extended by 1.5 Bohr in both
sides relative to Z coordinates of H2 and H1, and we know that Z coordinate of reference point is
459
4 Tutorials and Examples
larger than H2 by about 0.4016 Bohr, so the reference point on above graph is 1.5+0.4016=1.9016
Bohr (If you want to highlight the position of reference point on the graph, you can select "4 Draw
a vertical line at specific X" and input 1.9016, then redraw the graph via option -1). Above graph
reveals that owing to Coulomb repulsion, the probability of finding another electron ( or β) around
the hydrogen closest to the reference electron (namely around H2) is largely decreased. As a
compensation, the probability is increased at backside of H1.
Finally, we study the collective effect of Fermi correlation and Coulomb correlation. Change
"paircorrtype" to 3, and plot the line graph again, you will see
This graph is actually the sum of the first two graphs. From this graph it is clear that the
probability decrease of finding an electron ( or β) around the hydrogen closest to reference electron
is more severe than that around another hydrogen.
In J. Comput. Chem., 35, 965 (2014), the authors proposed a method named PAEM-MO to
reveal the nature of interaction between two atoms (covalently or non-covalently bounded). In this
example I will briefly introduce this method and show how to realize PAEM-MO analysis in
Multiwfn.
PAEM (potential acting on one electron in a molecule) refers to the total potential acting on an
electron at point r, and can be written as VPAEM (r ) = −VESP (r ) + VXC (r ) ; where VESP is
molecular electrostatic potential and has been introduced in part 12 of Section 2.6. -VESP can be
regarded as the classical potential acting on an electron in the system, while the exchange-
correlation (XC) potential VXC represents the important correction to the classical potential due to
quantum effect. VXC has two components, namely correlation potential (VC) and exchange potential
(VXC); in fact, only the latter is important, that means even the potential obtained at Hartree-Fock
level is in general a good approximation to exact VXC.
460
4 Tutorials and Examples
1 XC (r, r ')
VXC (r ) =
(r ) | r − r' |
d r' , where Γ is known as exchange-correlation density, see part 17
of Section 2.6 for detail. In DFT theory, the XC potential directly comes from the variation of
The VXC can be used in Multiwfn in terms of user-defined function. If parameter "iuserfunc" is set
to 33, then VXC will be calculated based on Γ; if it is set to 34, VXC will be evaluated in terms of DFT
XC potential, in this case the computational cost is several times lower than 33. For more
information, please check corresponding description in Section 2.7.
The essence of HF and KS-DFT theories is the one-electron eigenvalue equation
hˆ (r ) = (r )
where
Solving the equation results in a set of MOs {}, their eigenvalues correspond to the energy of the
electrons running in the orbitals.
According to the viewpoint of PAEM-MO, if the energy of an occupied MO is higher than the
barrier of VPAEM between a pair of atoms, then the electrons in this MO will be able to freely
delocalize over the two atoms, and thus have direct contribution to covalent bonding.
Below I present two very simple examples of using PAEM-MO method to judge the type of
interatomic interaction. More examples and discussions can be found in J. Comput. Chem., 35, 965
(2014).
461
4 Tutorials and Examples
As you can see, there is a barrier of PAEM around the midpoint of H-H bond. In order to locate
the exact value of the barrier, we close the graph and select 6. From the output we find the maximum
of the curve is -1.903 a.u. (-51.78 eV). Present system only has one doubly occupied MOs, whose
energy (-16.23eV) significantly exceeded the PAEM barrier, implying that the electron is not
confined in any hydrogen atom but substantially contributes to the H-H binding, so the H-H bond
must be covalent.
Obviously, the PAEM barrier (-9.78 eV) is higher than that in the case of H2. The energy of the
462
4 Tutorials and Examples
two doubly occupied MOs are -25.03 and -24.91 eV respectively, both of them are lower than the
barrier, therefore the electrons in each He atom are difficult (but not completely impossible due to
tunnel effect) to overcome the barrier to freely delocalize to another He. The He-He interaction thus
should be regarded as noncovalent interaction.
Note that in the original paper of PAEM-MO the PAEM is evaluated based on the expensive
CISD wavefunction, while we merely use HF wavefunction. However, our results are in good
agreement with that at CISD level, showing that correlation potential may be safely neglected in the
study of PAEM.
The interested users are suggested to replot the PAEM with iuserfunc=34 to employ DFT XC
potential in PAEM, you will find the results are very similar to those we obtained earlier.
It is noteworthy that, although the PAEM-MO analysis method has clear physical meaning, its
many limitations severely hinders it to be a universal method to distinguish covalent and
noncovalent interactions like ELF or LOL: (1) PAEM-MO analysis does not always present
reasonable conclusion in all cases. For example, PAEM-MO erroneously indicates that the H-bond
in water dimer is covalent interaction. (2) PAEM-MO is difficult to be applied to polyatomic
molecules, since there are often too many occupied orbitals with complex shape. (3) If the two atoms
are placed too close to each other, then PAEM-MO almost always indicates that the interaction is
covalent.
Main function 4 of Multiwfn is used to plot various kind of plane maps for real space functions.
This module is extremely flexible, it is obviously impossible to demonstrate all possible usages of
this function via limited examples; however, if you carefully follow these examples and attempts to
reproduce the graphs, you will gain enough basic knowledge about plotting plane map using
Multiwfn. Section 3.5 is highly suggested to read, in which many important points about plotting
plane map are introduced.
The video https://youtu.be/E7lAGac3aDM is worth to look, the whole process of reproducing Multiwfn logo
(ELF map of Li6 cluster) is illustrated. This video also shows how to make background of the map transparent.
463
4 Tutorials and Examples
The central regions of carbon and nitrogen are white, suggesting that electron density exceeds
the upper limit of color scale (0.65). Close the graph, then a post-processing menu appears, there
are many options and their meanings are very easy to understand. You can choose corresponding
options to adjust plotting parameters and then use option -1 to replot again, or export X-Y data set
to a plain text file so that you can then plot the graph by external softwares (Sigmaplot, Origin,
Matlab, etc.), or save image file in current directory (the graphical format is controlled by
"graphformat" in settings.ini).
Now we slightly improve above graph. Input below commands:
-8 // Change length unit of the graph to Å
-2 // Set label interval in X, Y and color scale axes
1,1,0.1
4 // Enable showing atom labels
1 // Red labels
8 // Enable showing bonds
3 // Blue color for bonds
-1 // Redraw the graph
Now you can see below map on screen
464
4 Tutorials and Examples
In Section 4.6.2 we will plot valence electron density for HCN, you will find valence electron
density conveys much more information than total electron density.
Next, we plot the electron density as contour line map. Repeat above example but select "2
Contour line map" instead of "1 Color-filled map", you will see below graph
465
4 Tutorials and Examples
There are numerous options in post-processing menu. If option 2 is chosen, the isovalues will
be marked on corresponding contour lines. Once option 3 is chosen, you will enter an interface for
setting up contour lines, various parameters such as color, thickness, contour values can be easily
customized, please try to play with them; if you are confused, please consult Section 3.5.4 for more
details.
It is worth to note that the .pdf format is more suitable than the default .png format for contour
line map (and other maps that mainly consist of lines), because .pdf is a vector format, the graph
can be scaled losslessly, and the lines look smoother. In order to change to .pdf format, you should
change "graphformat" in settings.ini to pdf.
466
4 Tutorials and Examples
You can find that labels of many atoms are not shown on the map, this is because the vertical
distance between these atoms and the plotting plane is larger than the "disshowlabel" parameter in
settings.ini. If we want to display all atomic labels on the map, we should close the graph and input
below commands:
17 // Set distance threshold for showing atom labels
10 // Enlarge the threshold to 10 Bohr
y // If there is any atom whose vertical distance to the plane exceeds the threshold, its label
will still be shown but using thin text
-1 // Plot the map again to check effect
You will see below map, only interesting part is given
As can be seen, labels of all atoms have been shown, and corresponding bonds are also displayed.
In this map the red color substantially reveals the high electron localization nature in the bonding
467
4 Tutorials and Examples
regions. The degree of electron localization between N and O is not as high as the case of C-N and
C-C bonds, this is a known feature of "charge-shift bond", see Chem. Eur. J., 11, 6358 (2005) for
more information about this point.
The default color transition method is "Rainbow" with white and black colors in the region
where function value is lower and higher than the color scale, respectively. The coloring method
can be changed by user. As an illustration, in the post-processing menu we input
19 // Set color transition
17 // Black-Blue-Cyan
1 // Set lower&upper limit of color scale
0,0.7 // Decrease the upper limit from default value to 0.7 to make color able to better
distinguish ELF in different regions
-1 // Replot
The below graph looks very cool ;-D
Contour lines could be appended to the color-filled map. To make a pretty color-filled map
with contour lines, we input below command
19 // Set color transition
8 // Blue-White-Red
2 // Enable showing contour lines
1 // Set lower&upper limit of color scale
0,1
-2 // Set label interval in X, Y and color scale axes
2,2,0.1
-1 // Replot
The current graph is shown below, it is quite satisfactory
468
4 Tutorials and Examples
Note in passing that if you want to translate or rotate the plotted object in the graph, in the
interface of defining plotting plane, before choosing option 4 or 5, you should first choose the option
"-1: Set translation and rotation of the map for plane types 4 and 5" and then input translation value
and rotation angle, see Section 3.5.2 for more information.
This section illustrates how to plot shaded relief map with projection. Boot up Multiwfn and
input following commands
examples\C2H5F.wfn
0 // View the molecular structure first to find the plane we are interested in. Suppose that the
C-C-F plane is what we want to plot, record the atomic indices (1, 5, 8), and then click RETURN
button to return to main menu
4 // Plot graph in a plane
9 // Electron localization function (ELF)
5 // Shaded relief map with projection effect
[Press ENTER button] // Use recommended grid setting, namely 100,100
0 // Manually set extension distance. If you do not do this, you will found the resulting graph
is somewhat truncated at boundary because the default extension distance is too small for present
case
6 // Set extension distance to 6 Bohr, which is slightly larger than the default value
4 // Define the plotting plane by three atoms
1,5,8 // Indices of the three atoms
469
4 Tutorials and Examples
We can see that C-C and C-F covalent bond regions have high LOL value, rendering high
degree of electron localization in that places. The very low electron localization zones between
valence and inner shells of heavy atoms are revealed by the blue ringlike region around each nucleus.
A lone pair region of fluorine atom is pointed out by the purple arrow.
The graph you have seen in the GUI can be saved to graphic file by option 0 at post-processing
interface. If you find the objects in the exported image are truncated at their edges, you should select
option -1 to re-enter the GUI window, zoom out the graph and then export the picture again.
The main purpose of this section is illustrating how to plot plane map of a real space function
without contribution of some atoms. This aim can be realized in two different ways in Multiwfn, as
respectively exemplified in below two examples.
470
4 Tutorials and Examples
From the graph you can see that the contribution from the two carbons have been discarded as
we expected.
By the way, if you are studying a large system but only a local region is of interest, you can
remove GTFs at atoms far from this region to save computational time of real space function
analyses (e.g. topology analysis, basin analysis, calculating grid data...).
Example 2: Plane map of LOL only contributed by atoms in the uracil ring
After plotting plane map as usual, one can request the program to plot the map only contributed
by certain fragment. Specifically, Hirshfeld weighting function of the user-defined fragment will be
generated and multiplied to the plane data. This treatment only affects the currently plotted map
while do not influence any further analysis, since this treatment does not modify wavefunction.
Here we use this feature to plot localized orbital locator (LOL) map of uracil that only
471
4 Tutorials and Examples
contributed by the six atoms in the ring. Boot up Multiwfn and input below commands:
examples\uracil.wfn
4 // Plane map
10 // LOL
1 // Color-filled map
[Press ENTER button to use default grid setting]
1 // XY plane will be plotted
0 // Z=0
Close the graph and then input
-9 // Only plot the data around certain atoms
1-6 // The index of the six atoms in the uracil ring
8 // Enable showing bonds
14 // Brown
-1 // Replot
Then you will see
Clearly, the value of LOL at the grids far from the ring atoms have been significantly screened.
Then if you want to restore the original map, you can choose "-9 Recovery original plane data" in
the post-processing menu and then replot.
In this example we plot electrostatic potential (ESP) for chlorine trifluoride as contour map.
Boot up Multiwfn and input following commands
examples\ClF3.wfn // Generated at B3LYP/6-31G* level
4 // Plot graph in a plane
12 // Total electrostatic potential
2 // Draw contour line map
120,120 // Number of grids in each direction
3 // YZ plane
472
4 Tutorials and Examples
After the calculation is finished, ESP map pops up. This map is inconvenient to be visually
analyzed, since what we are interested in is often the ESP value on molecular vdW surface, hence
it is better to plot the vdW surface on this map simultaneously. In order to do this, we close the graph
by clicking right mouse button, choose option 15 in post-processing menu, and then choose option
-1 to replot the graph, you will see such a picture. The solid and dashed lines represented the region
having positive and negative value of ESP, respectively.
The bold blue line corresponds to vdW surface (isosurface of electron density=0.001 a.u., as defined
by R. F. W. Bader). From the graph it is clear that chlorine atom is overall positively charged,
because the vdW surface close to the chlorine atom largely intersects solid contour lines. For the
same reason, we can see that the equatorial fluorine atom possesses less electrons than the two axial
fluorine atoms, this point can be further verified when we calculate atomic charges for this molecule
in section 4.7.1.
Plane map of the ESP derived from atomic charges can be directly plotted by Multiwfn too.
First, you need to prepare a plain text file with .chg extension, the first column corresponds to
element name, the 2th, 3th and 4th columns correspond to X,Y and Z coordinates in Å respectively,
the last column is atomic charge. For example:
Cl 0.000000 0.000000 0.359408 0.529971
Boot up Multiwfn as usual, and then use the .chg file as input. The plotting procedure is
completely identical to the one given above, except that when Multiwfn prompts you to select real
473
4 Tutorials and Examples
space function, you should select 8 (ESP from atomic charges) instead of 12.
Multiwfn is capable of plotting contour map for two orbitals simultaneously. In this section,
we will draw contour map for simultaneously portraying NBO 12 and NBO 56 of NH2COH (recall
Section 4.0.2). The plane we selected is the one perpendicular to molecular plane and passed through
both carbon and nitrogen atoms. As you will see, we need to use a special manner to define such a
plotting plane. The molecule geometry and atomic index are shown as follows.
474
4 Tutorials and Examples
This contour map is not quite ideal, there are too many contour lines intertwined together and
thus confused our vision. The culprits are the contour lines with too small isovalue (magnitude
smaller than 0.01). Since these contour lines are unimportant, we can delete them to make the graph
clearer. Therefore, we close the graph and input
3 // Change contour line setting
4 // Delete some contour lines
1-4 // Delete contour lines 1~4, they respectively correspond to 0.001, 0.002, 0.004, 0.008
4 // Delete some contour lines
28-31 // Delete the four contour lines corresponding to -0.001, -0.002, -0.004, -0.008. For
convenience, you can choose option 6 to export current contour line setting to an external file, when
you use Multiwfn next time you can load present setting directly by choose option 7 in current
interface
15 // Set the drawing style suitable for publication, namely positive and negative parts are
portrayed as red solid lines and blue dashed lines, respectively
1 // Save setting and return to the upper menu
-8 // Change length unit of the graph to Å
-2 // Set label interval in X and Y axes
1,1 // Intervals in both X and Y axes are 1.0 Å
-1 // Replot the contour map
2 // Enable showing isovalue on contour lines
30 // Use label size of 30
Now the graph become very clear and informative, the overlapping region of same phase is
very obvious.
475
4 Tutorials and Examples
As introduced in Section 3.5.5, critical points, bond paths and interbasin surfaces can also be
plotted on plane map, here I present a simple example. There is a corresponding video illustration
of plotting this kind of map https://youtu.be/gv5FkiFWUY0, you are suggested to look at it.
476
4 Tutorials and Examples
This type of graph is very useful in Bader’s AIM analysis. You can also plot gradient + contour
map for any other real space functions supported by Multiwfn. In the post-processing menu, you
can use options 11, 12, 13 and 14 to adjust plotting effect of the gradient lines, they can control the
smoothness, density, color and density of the gradient lines.
Gradient map of electron density with bond paths and critical points of electron density
If you hope critical points and paths also be portrayed on the graph, you need to do topology
analysis as illustrated in Section 4.2.1 prior to plotting the map. Now we input below commands
-5 // Return to main menu
2 // Topology analysis (by default electron density is the function to be analyzed)
2 // Search CPs from nuclear positions
3 // Search CPs from midpoint of atomic pairs
8 // Generating the paths connecting (3,-3) and (3,-1) CPs, namely generating bond paths in
current context
0 // Visually check if all expected CPs and paths have been generated. This step is optional
-10 // Return to main menu
Then draw gradient line map for electron density via the way described above. The resulting
graph should look like below. Brown, blue, and orange circles denote (3,-3), (3,-1) and (3,+1) critical
points, respectively. Bold dark brown lines depict bond paths.
477
4 Tutorials and Examples
In the post-processing menu, you can enter “4 Set details of plotting critical points and paths” to
adjust settings for showing the critical points and paths.
Hint: The color of different types of critical points can be set by "CP_RGB_2D" in the settings.ini file.
Interbasin paths can also be drawn on the graph. If you have finished the search of CPs in
topology analysis module, after drawing contour/gradient/vector field map, you could find an option
named "Generate and show interbasin paths" in the post-processing stage; select it and replot the
graph, the interbasin paths will be shown on the graph by bold dark blue lines:
478
4 Tutorials and Examples
Note that before generating the interbasin paths, related parameters (stepsize and the number
of iteration) can be set by option "7 Set stepsize and maximal iteration for interbasin path
generation" in the post-processing menu. Larger number of iteration may result in longer interbasin
paths.
Contour line map of Laplacian of electron density with bond paths and CPs of electron
density
Finally, we plot contour line map of Laplacian of electron density, on which the bond paths and
CPs we generated before are also shown. Return to main menu and then input below commands
4 // Plotting plane map
3 // Laplacian of electron density
2 // Contour line map
[Press ENTER button to use default grid setting]
4 // Use three atoms to define the plotting plane
2,1,3 // Define the plane by nuclear coordinates of atoms 2, 1 and 3
The resulting graph is shown below (only a local region is given)
479
4 Tutorials and Examples
Deformation map of electron density clearly shows variation of electron density distribution
during formation of a molecule, it is defined as subtracting actual molecular electron density by
electron density of all of its constituent atoms in their free-states. Illustrative example of deformation
density analysis can be found from my paper Acta Phys. -Chim. Sin., 34, 503 (2018).
It is a labor work to draw such a graph via custom operation feature since there are so many
atoms in practical chemical systems. Fortunately, Multiwfn provides a special option to realize this
in a highly automatic way. Boot up Multiwfn and input following commands
examples\CH3COCl.wfn
4 // Plot plane map
-2 // Tell Multiwfn you want to draw deformation map, then Multiwfn prepares free-state atom
wavefunctions
B3LYP/6-31G* // The level used to generate atomic wavefunction files by Gaussian, it is the
same as the level used for generating CH3COCl.wfn
D:\study\g09w\g09.exe // The path of executable file of Gaussian (you can also use other
Gaussian version). If you already set correct path in “gaupath” parameter in settings.ini, then
Multiwfn will not ask you to input the path every time
Now Multiwfn starts to invoke Gaussian to calculate atom wavefunctions, then Multiwfn
translates and sphericalizes them internally. These temporary wavefunction files are stored in
“wfntmp” folder in current directory, after you get the expected graph you can delete the folder. Let
us continue to input the remaining commands.
1 // Electron density function
2 // Contour map
[Press ENTER button to use default grid setting]
1
0 // The XY plane with Z=0 is the plane of acyl chloride
Then the deformation map pops up:
480
4 Tutorials and Examples
As we expected, electron density concentrates towards bonding regions. We also find that the
density distribution around chlorine atom is largely desphericalized, this observation is in line with
hybrid orbital theory, chlorine atom forms somewhat sp3 hybrid state.
You can also plot deformation maps for other functions by choosing corresponding real space
function, though not all of them are meaningful.
If you want to avoid recalculating atomic wavefunction files next time, you can copy the .wfn
files without number suffix (such as “C .wfn“) from “wfntmp” folder to “atomwfn“ folder in current
directory, if Multiwfn finds that all needed atom wavefunctions have already existed in “atomwfn”
folder, then Multiwfn will not invoke Gaussian to calculate them again.
Hint: You can also use genatmwfn.pdb in “examples” directory to generate all atom wavefunctions under
specific basis set in a single run, please consult Section 3.7.3.
The “atomwfn” folder in “examples” directory contains atom wavefunctions (by 6-31G*) for
all first-four row elements, you can directly copy this folder to current directory, after that you will
not need Gaussian again during plotting deformation map.
If your system involves some elements heavier than Kr, you have to manually calculate the
corresponding atomic .wfn files and put them into "atomwfn" folder". More detailed information
about preparing atomic wavefunction files can be found in Section 3.7.3.
4.4.8 Plot difference map of electron density and ELF for water
tetramer with respect to its constituent monomers
In this example I will illustrate how to plot difference map between a system and its constituent
481
4 Tutorials and Examples
fragments for a given real space function. Electron density and ELF will be employed as the function
to be studied.
examples\water_tetramer\wfn\complex.wfn is wavefunction file of optimized water tetramer,
while the water1/2/3/4.wfn in this folder is wavefunction file of each water monomer. The
corresponding Gaussian input files are also provided in the folder. Notice that the monomer
coordinates were directly extracted from the complex coordinate, and nosymm keyword was used
for all files to avoid Gaussian automatically reorienting the molecular geometry during the
calculations. (Bear in mind, density difference map is meaningful only when coordinates of all
fragments are completely consistent with that of the whole complex)
482
4 Tutorials and Examples
In the graph, red solid lines and blue dashed lines correspond to the regions having increased
electron density and decreased electron density during formation of the tetramer, respectively.
In Multiwfn you can also easily plot the density difference in the form of isosurface map by
main function 5, the resulting graph is shown below, the isovalue is 0.003. If you do not know how
to do, please consult Section 4.5.5.
483
4 Tutorials and Examples
9 // ELF
1 // Color-filled map
[Press ENTER button]
4 // Define plane by three atoms
7,10,1
The graph shown on screen is ugly currently, because the default color scale is inappropriate
for present case. Close the graph and input
1 // Set lower&upper limit of color scale
-1.5,0.1
4 // Disable showing atomic labels
4 // Enable showing atomic labels again, now you can select label color
3 // Blue labels
-1 // Show the graph again
You will see
The blue and especially dark blue regions exhibit decrease of ELF in corresponding regions.
This plot shows that during formation of the complex, the electron localization is reduced in the
intermolecular interaction regions, it may be attributed to the consequence of the Pauli repulsion
effect.
The well-known ELF- is the ELF solely contributed by electrons. Similarly, LOL- can be
defined as a variant of localized orbital locator (LOL). See my paper Theor. Chem. Acc., 139, 25
(2020) DOI: 10.1007/s00214-019-2541-z on relevant knowledge. The features of LOL- are highly
484
4 Tutorials and Examples
analogous to ELF-, but usually graphical effect of LOL- is better. In this Section I will illustrate
how to plot color-filled LOL- plane map above 1.2 Bohr of porphyrin, you will find this map is
quite useful for understanding preferential electron delocalization path, which is closely related to
molecular aromaticity.
The only difference of plotting and analyzing LOL and LOL- is that for the latter case, you
should first set occupation number of all orbitals to zero except for orbitals. As illustrated below,
this can be automatically done via Multiwfn.
The .fch file of porphyrin calculated at B3LYP/6-31G* level can be downloaded from
http://sobereva.com/multiwfn/extrafiles/porphyrin.rar. Boot up Multiwfn and load the .fch file, then
input below commands:
100 // Other functions
22 // Detect orbitals
0 // Detect orbitals for delocalized orbitals of exactly planar system
2 // Set occupation number of all other orbitals to zero
0 // Return to main menu
4 // Plot plane map
10 // LOL
1 // Color-filled map
[Press ENTER button] // Use default grids
3 // Plot YZ plane
1.2 // X=1.2 Bohr
Close the graph, then input
1 // Set lower&upper limit of color scale
0,0.66
4 // Enable showing atom labels
7 // Cyan color
17 // Set distance threshold for showing atom labels
2 // Since the distance between the plotting plane and molecular is 1.2 Bohr, to make all atomic
labels shown on the graph, this threshold must be set to a value larger than 1.2 Bohr. Here we set it
to 2.0 Bohr
y
8 // Enable showing bonds
14 // Brown color
-1 // Replot
Now you will see below graph
485
4 Tutorials and Examples
The high LOL- regions (red or orange color regions) clearly reveal the favorable
delocalization path. If you plot current map induced by an external magnetic field vertical to the
molecular plane (using for example AICD or GIMIC methods, see my slideshow for details:
http://sobereva.com/148), you will find the unidirectional contiguous induced current is mainly
formed on the favorable delocalization path highlighted by the LOL- function.
Next, in order to fully exhibit the flexibility of plane plotting function in Multiwfn, I illustrate
how to plot above map in an evidently different style, namely contour lines filled by colors.
We return to main menu, and then input
4 // Plot plane map
10 // LOL
2 // Color-filled map
[Press ENTER button] // Use default grids
0 // Set extension distance
1 // 1 Bohr (smaller than default to decrease blank region around the molecule)
3 // Plot YZ plane
1.2 // X=1.2 Bohr
Close the graph, then input
9 // Enable filling colors between current contour lines
9 // Set status of filling colors
2 // Set lower and upper limits of filling
-0.2,0.52
4 // Toggle showing color bar
5 // Set label interval of color bar
0.1
3 // Set color transition
486
4 Tutorials and Examples
18 // Viridis
0 // Return
-8 // Change length unit of the graph to Å
-2 // Set label interval in X and Y axes
2,2
3 // Change setting of contour lines
8 // Generate contour value by arithmetic progression
0,0.07,15 // Generate contour lines of 0.00, 0.07, 0.14 ... 0.98
y // Remove existing contour lines
1 // Save setting and return
17 // Set distance threshold for showing atom labels
2 // Maximal distance is 2 Bohr
y
8 // Enable showing bonds
14 // Brown
-3 // Change other plotting settings
10 // Set format of exporting image file
7 // pdf format. It is highly suggested to export this kind of map as vector format such as .pdf
0 // Return
0 // Save the graph to a graphical file in current folder
Now you can open the exported .pdf file, you will see the figure shown below. It can be seen
that the lines look quite smooth and the colors are quite comfortable! Now that this graph is different
to color-filled map with contour line, because there is only one color between two neighbouring
contour lines.
487
4 Tutorials and Examples
The main purpose of this section is illustrating how to properly plot meaningful gradient line
map and vector field map.
Electric field (F) is defined as negative of 1st-derivative vector with respect to coordinate (i.e.
gradient vector) of electrostatic potential (ESP); therefore, if we plot gradient line or vector field
map of ESP, the F could be vividly exhibited. In this section, I will use an ionic compound LiF as
example.
488
4 Tutorials and Examples
In above map, the gray gradient lines clearly exhibit direction of electric field everywhere.
Note that since electric field corresponds to negative gradient vector of ESP, the arrows in fact
should be inverted.
489
4 Tutorials and Examples
In this map, the redder the arrow, the larger the magnitude of the electric field at corresponding
position. We can see that electric field sources from each nucleus, while in the region relatively far
from the two nuclei, the overall direction of the electric field vectors is from the Li side towards the
F side, this is because in this system Li and F carry evidently positive and negative net charges,
respectively. You can also find there is a semicircle shape region at top of the map, where magnitude
of electric field is small or vanished. This region in fact has the most negative value of ESP and thus
behaves as ending point of molecular electric field (indeed, all arrows around this region point
towards this region).
This example illustrates how to plot a very clear and pretty color-filled contour line map for
showing 4p atomic orbital of Kr atom. The wavefunction file Kr.wfn has already been provided in
“examples\atomwfn” folder, it was generated by single point task via Gaussian at B3LYP/6-31G*
level.
Boot up Multiwfn and input following commands
examples\atomwfn\Kr.wfn
4 // Output and plot specific property in a plane
4 // Value of orbital wavefunction
17 // The orbital corresponding to 4pz (you can first use main function 0 to visually find the
orbital of your interest)
2 // Contour line map
[Press ENTER button] // Use default number of grids
0 // Modify extension distance to make plotting area slightly larger than default
5 // 5 Bohr
2 // XZ plane
0 // Y=0
Now click right mouse button the graph to close it, and then input following commands to
improve the graphical effect
9 // Enable filling colors for contour lines
9 // Set status of filling colors between the contour lines
3 // Set color transition
8 // Blue-White-Red
0 // Return
3 // Change setting of contour lines
5 // Use built-in contour values suitable for special purpose
3 // Suitable for plotting orbital wavefunction (namely 0.01*2(i-1), i = 1-28)
1 // Save setting and return
Now you can use option -1 to visualize the current map. In this example we will save the figure
to a .pdf file. You can set the default file format via “graphformat” in settings.ini, however here we
temporarily change the format to .pdf, so we input
-3 // Change other plotting settings
10 // Set format of exporting image file
7 // pdf
490
4 Tutorials and Examples
0 // Return
Finally, choose option 0 to save the graphical file. After opening the file you will see
As you can see, the graphical effect is perfect, very clear and pretty!
This section contains examples of main function 5 of Multiwfn, all of them need to calculate
grid data. Once the grid data is generated, it can be visualized as isosurface map, or be exported
to .cub file so that it can be rendered by third-part tool such as VMD or be further utilized by other
analysis codes.
Note that using VMD to render the cube files generated by Multiwfn using my prepared VMD
script is extremely easy, while the graphical quality is amazingly good, please check Section 4.A.14
on how to realize this.
In this section we plot isosurface map of electron localization function (ELF) for chlorine
trifluoride. Boot up Multiwfn and input following commands
examples\ClF3.wfn // Generated at B3LYP/6-31G* level
5 // Generate grid data and view isosurface
9 // Electron localization function (ELF)
2 // Medium quality grid, about 512000 points will be evaluated, this setting is fine enough for
small system but inadequate for medium and especially large system. Please consult Section 3.6 for
more knowledge about grid setting.
491
4 Tutorials and Examples
Now Multiwfn starts to calculate grid data. Once the calculation is finished, Multiwfn outputs
some statistical information. There are many options in the newly appeared menu, you can draw
isosurface map by selecting option -1, after that a GUI window will pop up. Input isovalue of 0.85
in the text box and press ENTER button, you will see below isosurface map
The ELF isosurfaces clearly revealed the lone pair regions of the fluorine and chlorine atoms.
If you want to export the grid data as Gaussian cube file in current directory, you should click
“Return” button to close the GUI window and then choose option 2.
If you use ChimeraX to plot isosurface map based on the ELF cube file exported by Multiwfn,
you will be able to freely set color for various domains in different regions. For example, the below
map is ELF=0.83 isosurface of acetic acid plotted by ChimeraX, you can easily reproduce this map
if you carefully follow this video tutorial: "Plotting electron localization function (ELF) isosurface
using Multiwfn and ChimeraX" (https://youtu.be/vC48iEB8PwI).
Some papers plotted ELF isosurface map colored by corresponding basin types (monosynaptic
or disynaptic), although you can use above way to realize this, there is an evident shortcoming: If
you change isovalue, the coloring of the isosurfaces will be changed, and moreover, it is impossible
to color a whole isosurface by different colors to exhibit its various subregions corresponding to
different types of basins. The method described in Section 4.17.10 perfectly solves these problems,
it requires employing basin analysis module.
492
4 Tutorials and Examples
Electron density Laplacian is another useful real space function like ELF and LOL to reveal
electronic structure. Laplacian is not as good as ELF and LOL for highlighting localization region
due to its poor distinguishability. For example, the shell structures of atoms heavier than krypton
cannot be fully illustrated by Laplacian, and if you attempt to use Laplacian to analyze chlorine
trifluoride, you will find the lone pair regions of fluorine atoms are difficult to be identified.
Moreover, the value range of Laplacian is too large, which brings difficulties on visual analysis.
However, for many systems Laplacian of electron density is still useful. In this example we will plot
isosurface map of this function for 1,3-butadiene.
Boot up Multiwfn and input following commands
examples\butadiene.fch // Yielded at B3LYP/6-31G** level
5 // Generate grid data and view isosurface
3 // Electron density Laplacian
2 // Medium quality grid (If you want to obtain better graphical effect, choose "high quality
grid" instead)
-1 // View isosurface
In the newly occurred window, change isosurface value from default value to 0.3, then the
green and blue isosurfaces will correspond to isovalue of 0.3 and -0.3 respectively. The current
graph will look like below
The presence of blue isosurfaces between C-C and C-H suggests that valence-shell electrons
are strongly concentrated on these regions, this is typical pattern of covalent bonding. If you inspect
the isosurfaces between carbon atoms carefully, you will find that the isosurface between C6-C8 or
C1-C4 is wider than the isosurface between C4-C6, this phenomenon reflects that the two boundary
C-C covalent bonds are stronger than the central one. This conclusion can also be verified by other
wavefunction analysis schemes, for example, Mayer bond order (bond order between C6-C8 is
1.863, while the bond order between C4-C6 is only 1.136).
The isosurface map we obtained in this section is not quite smooth, this is because we only
used medium quality grid. If you choose high quality grid instead, much better isosurface will be
obtained.
493
4 Tutorials and Examples
ELF- and ELF-π indices are commonly used and π aromaticity indices, they are defined as
the ELF value at bifurcation point (i.e. (3,-1) type of CP) of ELF domains that solely contributed
from orbitals and π orbitals, respectively, see J. Chem. Phys., 120, 1670 (2004) and J. Chem.
Theory Comput., 1, 83 (2005) for detail. These two papers contain very nice examples of employing
ELF- to analyze delocalization: Theor. Chem. Acc., 139, 25 (2020) and Carbon, 165, 468 (2020).
The theoretical basis of these indices is that the ELF value at bifurcation point measures
interaction between adjoining ELF domains, the larger value means electrons have better
delocalization between these domains. Strong multi-center delocalization is commonly recognized
as nature of aromaticity. It is argued that if ELF-π is larger than 0.70, then the molecule has π
aromaticity. While if the average of ELF-π and ELF- is larger than 0.70, one can say that the
molecule is global aromatic. In present example, we will calculate ELF- and ELF-π for benzene.
In order to separate and π orbitals, we need to know which orbitals are π orbitals first. Boot
up Multiwfn and input following commands
examples\benzene.wfn // Optimized at B3LYP/6-311G* level
0 // View molecular orbitals (MOs)
Now check orbital shape of each MO in turn, we found 17th, 20th and 21th MOs are π orbitals,
as shown below. All other MOs are recognized as orbitals.
We first calculate ELF-π. The contribution to ELF from orbitals should be omitted; this can
be realized by setting occupation number of all orbitals to zero.
6 // Enter "Modify & Check wavefunction" interface
26 // Set occupation number for some orbitals
0 // Selecting all orbitals
0 // Set occupation number of all orbitals to zero
17,20,21 // Select MO 17, 20 and 21, namely all π orbitals
2 // Set occupation numbers of MO 17, 20 and 21 to 2.0 (doubly occupied). If you want to
check if occupation numbers have been correctly set, choose option 3. You will find occupation
number of all orbitals have become zero, namely they will have no contribution to all results
yielded in following calculations
q // Return to last menu
-1 // Return to main menu
For this system, in fact there is a much more convenient way to set occupation number of all
orbitals except for the π ones to zero. The procedure is: Enter subfunction 22 of main function 100,
494
4 Tutorials and Examples
select 0, then all π orbitals will be automatically identified, then choose 1 to set occupation number
of all other orbitals to zero (or choose option 3, if heavier elements such as silicon are involved in
present system). Finally, choose 0 to return to main menu. More details about automatic
identification of π orbitals can be found in Section 3.100.22.
Studying ELF-π
There are two ways to study ELF-π, the way 1 is to examine ELF isosurface directly, while the
way 2 is performing topology analysis. Way 1 is more intuitive but less accurate than way 2. Here I
illustrate way 1 first. Generate and view isosurface for ELF by main function 5 as usual (recall
Section 4.5.1. Using High quality grid is recommended). This time the ELF isosurface only reflects
π-electron localization character. By gradually increasing isovalue, you will find that the two circle-
shape ELF domains are bifurcated to twelve spherical-like domains at about the isovalue of 0.91
(see below graph), implying that ELF-π index of benzene is about 0.91.
Next, let us use way 2 to evaluate ELF-π index again, this way is more rigorous than way 1.
Choose 0 to return to main menu.
2 // Topology analysis
-11 // Select real space function
9 // ELF
6 // The starting points will be distributed around each atom in turn. This searching mode is
the most appropriate one for locating ELF CPs
-1 // Start the CP search
-9 // Return to upper menu
0 // Visualize results. The resulting graph is shown below, two (3,+1) CPs are not shown
By comparing this graph with ELF isosurface map, it clear that the (3,-1) CPs (orange) are
bifurcation positions of ELF domains, while (3,-3) CPs (purple) correspond to the maximum points
495
4 Tutorials and Examples
of the twelves ELF domains. Now we check ELF value at a (3,-1) CPs, we can choose any one,
since they are all equivalent.
7 // Show all properties at a CP
23 // CP23
From the output, we find the ELF value at CP 23, namely ELF-π index of benzene is 0.91247,
this result is in very good agreement with the value 0.913 given in Chem. Phys. Lett., 443, 439
(2007), note that our calculation level is exactly identical to this paper. Evidently, this value exceeds
the criteria (0.70) of π aromaticity, suggesting that benzene has strong π aromaticity.
Studying ELF-
Now we calculate ELF- for benzene. Reboot Multiwfn and load benzene.wfn, set occupation
number of MO 17, 20 and 21 to zero (it is more convenient to use subfunction 22 in main function
100 to do this). Then generate isosurface for ELF as usual, gradually adjust isovalue, try to find out
at which isovalue the domains corresponding to the bonds between carbon atoms are bifurcated.
One can finally find that at the isovalue equals to 0.71 the domain are bifurcated, suggesting that
ELF- index is about 0.71. The bifurcation point is pointed by red arrow in below graphs:
Enter topology analysis module and search ELF CPs, like what we did in way 2 of ELF-π
analysis. You will obtain below graph. For clarity, (3,+1) and (3,+3) CPs are hidden.
496
4 Tutorials and Examples
Comparing positions of CPs with ELF isosurface map, it is clear that the (3,-1) CPs such as CP
48 and 58 correspond to bifurcation points of the bond domains between the carbon atoms. Check
ELF value at CP 48, we get 0.70907, which is the accurate ELF- value. Our result agrees well with
the value 0.717 from Chem. Phys. Lett., 443, 439 (2007).
The average of ELF- and ELF-π is (0.70907+0.91247)/2=0.81077, which is larger than the
criteria of global aromaticity, so benzene possesses global aromatic character.
4.5.4 Use Fukui function and dual descriptor to study favorable site of
electrophilic attack for phenol
Multiwfn supports a batch of methods for predicting the most reactive sites, see Section 4.A.4
for detail. In this section, I will introduce how to realize Fukui function and dual descriptor, which
are the most popular two methods for revealing reactive sites.
IMPORTANT NOTE: In daily research, I strongly suggest you directly using main function 22
to automatically calculate Fukui function and dual descriptor, because the steps are much more
simple than the those described below, and meantime many useful quantities in conceptual density
functional theory can be obtained as byproducts, see Section 3.25 for introduction and 4.22.1 for
example.
Theory
Fukui function is a very important concept in the conceptual density functional theory, it has
been widely used in prediction of reactive sites. Fukui function is defined as follows, see J. Am.
Chem. Soc., 106, 4049 (1984) for original paper and my paper Acta Phys. -Chim. Sin., 30, 628 (2014)
for related discussions and comparison.
(r )
f (r ) =
N
where N is number of electrons in present system, the constant term in the partial derivative is
external potential. Generally, the external potential only comes from nuclear charges, so can be
simply regarded as nuclear coordinates for isolated chemical system. It is argued that reactive sites
should have larger value of Fukui function than other regions. We cannot directly evaluate the partial
derivative due to the discontinuity when N is integer. Via the finite difference approximation, Fukui
function can be calculated unambiguously for three situations:
2 2 2
Preparing wavefunction files
497
4 Tutorials and Examples
Below we first reveal the reactive sites for electrophilic attack of phenol by means of the Fukui
function f − shown above. The approximate form of Fukui function based on frontier orbitals will
not be used here.
We need to prepare the files needed by calculation of f −. Assume that you are a Gaussian user,
you can use .wfn, .wfx or .fch as input file for present purpose. In this example, we perform
following calculations to generate needed .wfn files, all calculations are conducted at B3LYP/6-
31G* level, which is the lowest acceptable level for producing meaningful result (of course you can
use better level to improve the result):
(1) Optimizing geometry structure of phenol of neutral state. The resulting geometry will be
used for next steps
(2) Performing single point task for phenol of neutral state to yield phenol.wfn (see
examples\phenol.gjf)
(3) Performing single point task for phenol of N-1 state (i.e. cationic state) to yield phenol_N-
1.wfn (see examples\phenol_N-1.gjf)
Notice that the geometry of the N-1 state should not be optimized before performing single
point task of the N-1 state, because the (nuclear coordinates in this context) is a constant in the
partial derivative of Fukui function. By the way, in fact the step (2) could be omitted if you directly
specifying out=wfn keyword and output path of .wfn file at step (1).
In the map, green and blue isosurface correspond to positive and negative region of f −, respectively.
Clearly, most positive part of f − function is localized on O12, C1, C3, C4 and C5, that means para
498
4 Tutorials and Examples
and ortho positions of hydroxyl are favourable reactive sites for electrophilic attack, this conclusion
is in agreement with common knowledge, namely hydroxyl group is an ortho-para- director.
Theory
Dual descriptor is another useful function used to reveal reactive sites, see J. Phys. Chem. A,
109, 205 (2005) for detail. Formally, the definition of the dual descriptor f has close relationship
with Fukui function:
f (r ) = f + (r ) − f − (r )
= [ N +1 (r ) − N (r )] − [ N (r ) − N −1 (r )] = N +1 (r ) − 2 N (r ) + N −1 (r )
It is noteworthy that dual descriptor can also be evaluated in terms of spin density 𝜌 𝑠 . Since
𝑠 𝑠
𝜌𝑁+1 − 𝜌𝑁 and 𝜌𝑁 − 𝜌𝑁−1 can be approximated as 𝜌𝑁+1 and 𝜌𝑁−1 respectively, it is clear that
𝑠 𝑠
∆𝑓(𝐫) ≈ 𝜌𝑁+1 (𝐫) − 𝜌𝑁−1 (𝐫). Commonly, there is no evident qualitative difference between the
dual descriptor evaluated based on electron density of three states (N+1, N, N-1) and the one based
on spin density of two states (N+1, N-1).
Unlike Fukui function, via f both types of reactive sites can be revealed simultaneously. It is
argued that if f > 0, then the site is favorable for a nucleophilic attack, whereas if f < 0, then the
site is favorable for an electrophilic attack. However, according to my experience, if your aim is to
499
4 Tutorials and Examples
figure out which ones are more favorable among many potential sites, you do not need to concern
the sign of f, you only need to study which sites have more positive or more negative of f. If the
distribution of f around a site A is more positive than another site B, then one can say A is a more
favorable site for nucleophilic attack than B, and meantime B is a more preferential site for
electrophilic attack than A.
We can see that in the ring (except for the C4, which cannot participate in reaction), the para-
carbon has evident negative value of f, and meantime the f at the two ortho-carbons is not so
positive as the two meta-carbons, therefore the conclusion of f is identical to Fukui function f −,
namely only para- and ortho- carbons are activated for electrophilic attack by the hydroxyl group.
500
4 Tutorials and Examples
It can be seen that although this map is qualitatively consistent with the f map evaluated based on
spin density, the difference between ortho-carbons and meta-carbons is not so remarkable, showing
that this time f does not have good ability to discriminate preferential sites. So, using exact form
to evaluate f does not necessarily give rise to better result than using spin density to approximately
evaluate f !
In this example, I will show you how to plot fragment electron density difference in Multiwfn.
During coordination between imidazole and magnesium porphyrin, electron transfer and
polarization occur, the variation of electron density can be clearly revealed by subtracting electron
density of imidazole (referred to as NN below) and magnesium porphyrin (referred to as MN below)
in their isolated states from the whole system (referred to as MN-NN below). The geometry of MN-
501
4 Tutorials and Examples
NN is shown below:
examples\MN-NN.gjf is Gaussian input file of the MN-NN system (geometry has been
optimized), run it by Gaussian after modifying the .wfn output path at the last line, then MN-NN.wfn
will be yielded. Next, respectively delete MN and NN parts from the MN-NN.gjf and properly
modify .wfn output path and then save MN.gjf and NN.gjf (which have already been provided in
"example" folder). Then run them by Gaussian to obtain MN.wfn and NN.wfn. It should be paid
attention that by default, Gaussian always puts the system to standard orientation, which makes the
coordinates in MN.wfn and NN.wfn inconsistent with MN-NN.wfn, and thus the density difference
will be meaningless. Therefore, nosymm keyword must be specified in route section to avoid the
automatic adjustment of coordinates. (The MN.wfn, NN.wfn and MN-NN.wfn can also be directly
loaded from here: http://sobereva.com/multiwfn/extrafiles/MN-NN.zip)
Now we generate grid data of electron density difference by Multiwfn. Boot up Multiwfn and
input following commands
MN-NN.wfn
5 // Calculate grid data
0 // Set custom operation
2 // Two files will be operated with MN-NN.wfn
-,MN.wfn // Will subtract property of MN.wfn from that of MN-NN.wfn
-,NN.wfn // Will subtract property of NN.wfn from that of MN-NN.wfn
1 // The property is selected as electron density
3 // Since present system is relative huge, we need more grid points than normal cases, so we
choose high quality grid
After the calculation is finished, you can choose option -1 and then set isovalue to about 0.001
to visualize the isosurface of the grid data, as shown below.
502
4 Tutorials and Examples
The red and blue isosurfaces (+0.0012 and -0.0012 a.u., respectively) represent the region in
which electron density is increased and decreased after NN coordinated to MN, respectively. It is
obvious that electron density is shifted from backside of nitrogen in NN toward magnesium atom to
strengthen the coordination bond. Besides, it can be seen that the appearance of NN does not perturb
electron density distribution of porphyrin ring remarkably, only slight polarization occurs on the
four coordination nitrogens in MN.
Detailed steps of drawing above graph in VMD: First, drag the cube file density.cub into VMD main window.
Select "Graphics" - "Representations", create a new representation by clicking "Create Rep" button, change the
"drawing method" to "isosurface", set "Draw" to "solid surface", set "Show" to "Isosurface", change the isovalue to
0.0012, set "coloring method" to "ColorID" and choose red. Now the isosurface of positive part of density difference
has been displayed. Then click "Create Rep" button again to create another representation, select blue in "ColorID"
503
4 Tutorials and Examples
and change the isovalue to -0.0012. If you would like to use white background instead of the default black
background, select Graphics - Colors - Display - Background - 8 white.
In fact, using the VMD plotting script and batch file provided by me, much better effect than
the above map can be obtained with much fewer number of steps. Please be sure to check Section
4.A.14, which illustrate how to use realize this.
504
4 Tutorials and Examples
Hint: After completing the definition the contour lines, you can choose option 6 to save the setting to external
plain text file. Next time you can directly load the setting by option 7.
Note that in Multiwfn, plotting difference map for electron density or other real space functions
can be easily extended to more than two fragments cases, see Section 4.4.8 for example.
This example shows how to calculate electron delocalization range function EDR(r;d) at user-
defined length scale d for anionic water cluster (H2O)2− (cf. Phys. Chem. Chem. Phys., 17, 18305
(2015)). Using EDR(r;d) we can vividly inspect distribution of solvated electron.
Boot up Multiwfn and input following commands:
examples\solvatedelectron.wfn // Anionic water dimer optimized at B3LYP/6-311++G(2d,2p)
level
5 // Calculate grid data
20 // EDR(r;d)
11.22 // Input length scale d (Bohr). Here we consider the relatively delocalized solvated
electron at d=11.22 Bohr. Further details are given in J. Chem. Phys., 141, 144104 (2014).
2 // Medium quality grid
-1 // Show isosurface graph
505
4 Tutorials and Examples
Now a GUI window pop up. Input isovalue of 0.74 in the “Isosurface value” box and press
ENTER button. The following isosurface will appear.
This figure shows that at length scale of d=11.22 Bohr the solvated electron is between the two
H2O molecules.
This example will show the calculation procedure of orbital overlap distance function D(r) of
thioformic acid and map it on molecular electron density surface. If you are not familiar with D(r),
you can check entry 21 of Section 2.6 or J. Chem. Theory Comput., 12, 3185 (2016).
Boot up Multiwfn and input following commands:
examples\ThioformicAcid.wfn // Thioformic acid optimized at B3LYP/6-311++G(2d,2p)
5 // Calculate grid data
21 // Orbital overlap length function D(r), which maximizes EDR(r;d) with respect to d
Now we need to set input total number, start and increment of EDR exponents αi=1/di2, since
the overlap distance is fit using an even-tempered grid of exponents. The start value is the largest
exponent (α1), subsequent exponents are yielded by αi+1/αi = 1/αinc, where αinc is increment. The
default setting (i.e. n=20, α1=2.50, αinc=1.50) suffices for common systems. After selecting the
manual input (option 1) or default setting (option 2), a list of exponents will be appeared, which will
be used in evaluation of D(r)
2 // Medium quality grid
At this stage Multiwfn starts calculation. Wait until calculation is finished, then choose option
2 to export grid data of D(r) as EDRDmax.cub in current folder. The next step is to generate
molecular density isosurface.
0 // Return to main menu
5 // Calculate grid data
1 // Electron density
2 // Medium quality grid (The grid setting must be the same as for D(r) calculation)
Then export grid data of electron density in current folder as density.cub by selecting option 2.
Based on the EDRDmax.cub and density.cub, then the D(r) grid data can be mapped on
molecular density isosurface by many visualization programs, such as VMD and GaussView. Below
is the D(r) mapped electron density isosurface (=0.001 a.u.) plotted by GaussView (If you do not
know how to map a real space function using various colors on isosurface of another real space
506
4 Tutorials and Examples
function based on two cube files via GaussView and VMD, you can consult my blog article
http://sobereva.com/402, in Chinese).
As can be seen from the graph, D(r) plotted between 2.9 Bohr (red) to 3.4 Bohr (blue) clearly
distinguishes the chemically hard oxygen lone pair (red) from the softer sulfur lone pair (blue).
This system will be further studied in Section 4.12.8 by means of quantitative molecular
surface analysis module.
In subfunction 25 of main function 6, you can set orbital expansion coefficients of Gaussian
type functions (GTFs) which satisfied certain conditions. If the coefficients are set to zero, that
means the information of these GTFs are deleted. In this example, we delete all Z-type GTFs of
atom 2,3 and 4 from orbital 23 of phenol and then plot isosurface for this molecular orbital. Boot
up Multiwfn and input following commands
examples\phenol.wfn
6 // Modify wavefunction
25 // Set the coefficients of some GTFs that satisfied certain conditions
0,0 // Set the index range of GTFs, only the GTFs satisfied this condition will be reserved to
next step. 0,0 tell Multiwfn the range is “ALL”
2,4 // Only the GTFs attributed to atom 2, 3, 4 will be reserved to next step
Z // Only reserve Z-type GTFs to next step
23,23 // Set lower and upper limit of orbital, if they are identical, then only one orbital is
selected
0 // Set coefficients of selected GTFs in orbital 23 to zero, that is delete their information
0 // Save current wavefunction to new.wfn in current directory
You can choose option 4 and input 23 to check expansion coefficient of orbital 23 to verify if
your operation is correct. Let us compare the isosurfaces of orbital 23 before and after modification.
507
4 Tutorials and Examples
In order to plot the modified orbital 23, you can close Multiwfn and load new.wfn, or directly select
option -1 to return main menu, and then enter main function 0 to plot its isosurface.
Left side is unmodified state, the molecular plane is parallel to XY plane, so if Z-type GTFs in
some atoms are deleted, the corresponding part of isosurface should disappear, this is what we have
seen at right side (modified state).
In Multiwfn, contributions from certain orbitals to real space functions can be removed. From
the formulae in Section 2.6 it is clear that if occupation numbers of certain orbitals are set to zero,
they will have no contribution, as if they are not existed. Actually in Section 4.5.3 we have already
used this trick to separate ELF as ELF- and ELF-π. Notice that some real space functions are not
linear with respect to orbitals, such as ELF and LOL, so they cannot be computed as the sum of
contributions from each occupied orbitals. In contrast, some real space functions are linear with
respect to orbitals, such as electron density and kinetic energy density, they can be decomposed as
contributions from various orbitals.
If we study electron density after removing contributions from inner-core molecular orbitals,
then the analysis is known as “valence electron density analysis”, which was demonstrated to be
quite powerful for analyzing molecular electronic structure. Lots of examples of this kind of analysis
can be found in my paper "Revealing Molecular Electronic Structure via Analysis of Valence
Electron Density" Acta Phys. -Chim. Sin., 34, 503 (2018) DOI: 10.3866/PKU.WHXB201709252.
Next, two examples of studying valence electron density are given.
508
4 Tutorials and Examples
From the above picture, the bonding region of C-N and C-H bonds and be easily identified,
and the lone pair region of nitrogen can also be clearly observed. Note that the small white circles
in carbon and nitrogen centers do not correspond to 1s electrons, but result from the fact that valence
atomic orbitals have penetration effect into core region.
509
4 Tutorials and Examples
As you can see, the core electrons of carbon, as well as the electrons used to form C-C bond and C-
H bonds, are clearly revealed by the isosurfaces.
Finally, it is worth to mention that analysis of valence electron density is never limited to
plotting analysis. For example, by using main functions 2 and 17, topology analysis and basin
analysis can also be straightforwardly applied to valence electron density, respectively; what you
need to do is removing contributions of inner-core MOs (as illustrated above) before performing
usual analysis for electron density.
The .fch or .wfn file generated by periodic boundary condition (PBC) calculation of Gaussian
only contains wavefunction of primitive cell, so the analysis results do not show any periodic
character, of course you can expand your system to multiple cells before PBC calculation, but you
have to spend much more time for computation. Multiwfn provides a way to convert primitive cell
wavefunction to a large supercell wavefunction, so that in the region you are interested the real
space functions show periodic character.
Note: Beware that constructing supercell wavefunction in this manner is only a very crude approximation!
Since the orbital mix between neighbouring primitive cells is ignored, therefore the orbital wavefunctions of
supercell cannot be faithfully reproduced.
In this section I use graphene as example. First, generate .fch (or .wfn) file of graphene
primitive cell. The content of “molecular specification” field in the Gaussian input file is
C 0.000000 0.000000 0.000000
In route section, write “#P PBEPBE/3-21g/Auto SCF=Tight”. Use Gaussian to run this input
file and then use formchk to convert the binary checkpoint file to graphene.fch. Then boot up
Multiwfn and input:
examples\graphene.fch
510
4 Tutorials and Examples
6 // Modify wavefunction
32 // Translate and duplicate primitive cell wavefunction
2.475315,0.0,0.0 // Translation vector 1
2 // Unit is Å
3 // Translate and duplicate present system three times in this direction
32 // Notice that current system already have four primitive cells, this time we will translate
and duplicate current system in another direction three times, so the final system will contain 16
primitive cells
-1.219952,2.133447,0.0 // Translation vector 2
2 // Unit is Å
3 // Translate and duplicate present system three times in this direction
The left part of the picture below is LOL function of primitive cell. After above manipulation,
we recalculate LOL function and then the right graph is obtained (black arrows denote translation
vectors). Apparently, the central region of the extended system shows correct periodic character,
however the behavior of boundary region is still incorrect, you can extend the system further to
enlarge “correct” region.
Notice that if nosymm keyword is not specified in PBC calculation, Gaussian may
automatically put the system into standard orientation, at this time you should not use the translation
vectors in Gaussian input file as the translation vectors for translating and duplicating system in
Multiwfn, but should use the content in “Translation vectors” field of .fch file or “PBC vector”
segment in Gaussian output file.
In this section I will illustrate how to use Multiwfn to carry out Mulliken analysis, triplet
ethanol is taken as instance. It is worth to note that Mulliken analysis is incompatible with diffuse
functions, if diffuse functions are employed, the analysis result will be meaningless.
Boot up Multiwfn and input
511
4 Tutorials and Examples
Basis Type Atom Shell Alpha pop. Beta pop. Total pop. Spin pop.
...
...
Since present system is an open-shell system, not only the total population (i.e. alpha+beta), but also
alpha and beta populations are outputted individually. The spin populations, which equal to
difference between alpha and beta populations, are also printed. The output content is easy to
understand, for example, from the output we can see that there are nearly two electrons located on
the first S basis function of C1 atom, and one of PZ basis functions of O8 atom has large amount of
unpaired electrons (0.557).
Next, we can find population of each basis function shell of each atom:
Population of shells:
Shell Type Atom Alpha pop. Beta pop. Total pop. Spin pop.
...
...
As you can see, for example, the basis function shell 30, which corresponds to one of P shells of O8,
has unpaired electrons of 0.648 and total population of 2.777.
Next, you can find population of each angular moment atomic orbitals of each atom:
Population of each type of angular moment atomic orbitals:
Atom Type Alpha pop. Beta pop. Total pop. Spin pop.
...
512
4 Tutorials and Examples
...
The output shows that d type of atomic orbitals only have marginal contribution to total population
(0.02847) and spin population (0.01326) of the whole system, since D type of basis functions only
behave as polarization functions for present system. In O8, most unpaired alpha electrons are located
on its p atomic orbitals, while slight unpaired beta electrons are distributed on its s atomic orbitals
(positive and negative value indicate that the unpaired electrons are alpha and beta, respectively).
Triplet system has two unpaired electrons, one can see that in the triplet ethanol, most unpaired
electrons (more than 1.5) are located on the hydroxyl group. It is well known that in ground state
ethanol, oxygen atom should have significant negative charge due to very large electronegativity of
oxygen. However, in present system, the oxygen even carries marginal positive charge. This
observation reflects the fact that electronic structure of different electronic states may differ from
each other remarkably.
Mulliken population analysis does not show population information of each atomic orbital,
however, if you first identify correspondence between basis functions and atomic orbitals (see
Section 4.7.6 for details), you can easily obtain population of each atomic orbital by simply
summing up population of corresponding basis functions.
There are several other options in the Mulliken analysis interface, they can help you to gain
deeper insight into electronic population, please play with them by consulting corresponding
explanation in Section 3.9.3.
513
4 Tutorials and Examples
X/Y/Z of dipole moment from atomic charges: 0.000000 -0.000000 0.309313 a.u.
From the result we find the charges of the three fluorine atoms are unequal, the equatorial one
(F3) is -0.075, while the axial ones (F2 and F4) possess more electrons, their charges are thus more
negative, that is -0.224.
As shown on the screen, the sum of all calculated charges is 0.00001373 rather than exactly
zero as we expected, this is due to unavoidable numerical error of space integration. Considering
this, Multiwfn also prints the result after normalization to eliminate the marginal numerical error:
Final atomic charges, after normalization to actual number of electrons
When using the calculated atomic charges for your research and article, adapting the normalized
charges is recommended, because their sum is exactly identical to net charge of current system.
Finally Multiwfn asks you if exporting the result, if you select y, the element names, atom
coordinates and atomic charges will be outputted to a plain text file with .chg extension, see Section
2.6 of introduction of .chg format. You can use this file as Multiwfn input file and select
“Electrostatic potential from atomic charges” in main function 3, 4, 5 (or other functions) to study
the electrostatic potential derived from Hirshfeld charges.
514
4 Tutorials and Examples
First, select subfunction 12 in the population analysis module, you will see a new menu. In general,
you do not need to modify the default options, and you can directly select option 1 to start the
calculation. Since calculation of ESP is time-consuming, for large system you may need to wait for
a while. The result is 0.5772 for Cl, -0.2496 for axial F and -0.0779 for equatorial F. The conclusion
of CHELPG charge is the same as Hirshfeld charge, namely axial F are more negatively charged
than the equatorial one.
The ADCH (atomic dipole moment corrected Hirshfeld population) charge proposed by me is
an improved version of Hirshfeld charge, it resolved many inherent drawbacks of Hirshfeld charge,
such as poor dipole moment reproducibility, see Section 3.9.9 for brief introduction and my paper
J. Theor. Comput. Chem., 11, 163 (2012) for discussion and comparison. I highly recommend using
ADCH charge to characterize charge distribution. The calculation process of ADCH charges is
exactly identical to the one described in last section, the only difference is that you should select
option 11 instead of option 1 in population analysis interface. For example, here we calculate ADCH
charges for CH3CONH2. Boot up Multiwfn and input
examples\CH3CONH2.fch
7 // Population analysis and atomic charges
11 // Calculate ADCH charges
1 // Use built-in atomic densities in free-state
Multiwfn will calculate Hirshfeld charges first, and then perform atomic dipole moment
correction for them to yield ADCH charges. The result is shown below
======= Summary of atomic dipole moment corrected (ADC) charges =======
515
4 Tutorials and Examples
Note: The values shown after "Corrected charge" are ADCH charges, the ones afte
X/Y/Z of dipole moment from the charge (a.u.) 0.0432390 -1.4253486 0.1759079
It is obvious that for all atoms, the magnitude of ADCH charges are evidently larger than
Hirshfeld charges, the former are in agreement with common chemical senses, while the latter turns
out to be too small.
A remarkable feature of ADCH charges is that the molecular dipole moment can be exactly
reproduced. The dipole moment derived from ADCH charges is 1.4368 a.u. (as shown above), which
is exactly identical to the actual dipole moment, namely the one derived based on present electron
density distribution. (The error 0.0001385 comes from trivial numerical aspects and is totally
negligible).
If you scroll up the command-line window, you will find the following information
Total dipole from atomic charges: 1.073849 a.u.
This is the dipole moment derived from Hirshfeld charges, which deviates to actual dipole moment
(1.4368 a.u.) apparently. In fact, for almost all small molecules, Hirshfeld charges always severely
underestimate molecular dipole moments.
Again, it is recommended to employ the atomic charges after normalization (namely the ones
printed under "Final atomic charges" label).
Theory
In Section 4.5.4, I have introduced how to calculate and visualize Fukui function and dual
descriptor. In this section, we will calculate "condensed" version of these two functions, so that the
discussion of the possibility that an atom could act as a reactive site can be upgraded to quantitative
level. Phenol will still be used as example case.
Before calculating phenol, we first derive the expression of condensed Fukui function and
condensed dual descriptor. In the condensed version, atomic population number is used to represent
the amount of electron density distribution around an atom. Recall the definition of Fukui function
f +:
f + (r ) = N +1 (r ) − N (r )
516
4 Tutorials and Examples
The definition of condensed Fukui function for an atom, say A, can be written as
f A+ = pNA +1 − pNA
Since atomic charge is defined as q = Z − p , where Z is the charge of atomic nuclear, the
A A A
f + can be expressed as the difference of atomic charges in two states (note that the two Z terms are
cancelled)
f A+ = qNA − qNA +1
By analogous treatments, one can easily formulate other types of condensed Fukui function
Nucleophilic attack : f A+ = qNA − qNA +1
Electrophilic attack : f A− = qNA −1 − qNA
Radical attack : f A0 = ( qNA −1 − qNA +1 ) / 2
Similarly, condensed dual descriptor can be written as
There are numerous ways to calculate atomic charges, although currently there is no consensus
on which method is the most ideal one to study condensed Fukui function and dual descriptor, but
at least Hirshfeld charge has proven to be a very suitable choice. For example, J. Phys. Chem. A,
106, 3885 (2002), J. Phys. Chem. A, 107, 10428 (2003) and my work J. Phys. Chem. A, 118, 3698
(2014) illustrated Hirshfeld charge can be successfully used to study reactive site in terms of
condensed Fukui function. Furthermore, a comprehensive comparison given in Theor. Chem. Acc.,
138, 124 (2019) demonstrated that Hirshfeld charge may be the best choice of evaluating condensed
Fukui function.
According to the procedure introduced in Section 4.7.1, we calculate Hirshfeld charges for all
carbons in phenol in its N, N+1 and N-1 electrons states, respectively, they are collectively given in
the following table. Then, according to the formulae shown above, the condensed f −, f + and dual
descriptor can be readily calculated, as shown below.
N N-1 N+1 f− f+ Δf
C1 (p) -0.059 0.085 -0.119 0.144 0.060 -0.084
C2 (m) -0.039 0.027 -0.167 0.066 0.128 0.063
C3 (o) -0.060 0.032 -0.187 0.092 0.128 0.036
517
4 Tutorials and Examples
For f −, the smallest two values occur at C2 and C6, therefore meta atoms are unfavorable sites
for electrophilic attack.
For dual descriptor, the most positive values occur at C2 and C6, suggesting that they are the
most unfavorable sites for electrophilic attack. C1 has a large negative value and hence favored by
electrophilic reactant. Although the two ortho carbons (C3 and C5) have positive value, its
magnitude is not as large as meta carbons, so dual descriptor indicates that ortho carbons are more
possible than meta carbons to be reactive site for electrophilic attack. Our conclusion is completely
in line with that of Section 4.5.4, in which we obtained the conclusion by visual inspecting
isosurface of Fukui function and dual descriptor.
IMPORTANT NOTE: In daily research, I strongly suggest you directly using main function 22
to automatically calculate condensed Fukui function and dual descriptor, because the steps are
extremely simple and meantime other useful quantities in conceptual density functional theory can
be printed together, see Section 3.25 for introduction and 4.22.1 for example.
Hirshfeld-I (HI) is a more advanced technique to define atomic spaces than its predecessor
(Hirshfeld). Before following the example given below please briefly read Section 3.9.13 to gain
basic knowledge of HI method and its implementation in Multiwfn. It is very important to note that
in order to calculate HI charge, atomic radial densities files (.rad) of various elements in the current
system at different charged states must be available. Commonly, I suggest you directly use the built-
in .rad files in Multiwfn, so that you do not need to generate them before HI calculation. See Section
3.9.13 for detail about this point.
Here we calculate HI charges for CH3COCl. For convenience, we will directly use built-in .rad
files in this example. To do so, we copy "atmrad" folder from "examples" directory to current
directory, then the .rad files in this folder will be employed by Multiwfn in the HI charge calculation.
Boot up Multiwfn and input
examples\CH3COCl.wfn // Generated at B3LYP/6-31G* level
7 // Population analysis and atomic charges
15 // Hirshfeld-I method
1 // Start calculation with default settings
Then you will see iteration process
Performing Hirshfeld-I iteration to refine atomic spaces...
Cycle 1
518
4 Tutorials and Examples
[ignored]
The "maximum change" denotes the maximum change of HI atomic charges, the iteration
continues until "maximum change" is lower than the threshold, which is 0.0002 by default. After
convergence, Multiwfn prints final HI atomic charges:
Atom 1(C ): -0.64593923
Then you can choose if outputting these charges to .chg file in current folder. I suggest you
compare above result with Hirshfeld charges, you will find the magnitude of HI charges is much
higher than Hirshfeld charges. This phenomenon is expected, because HI atomic spaces properly
contract or expand with respect to that of neutral state according to actual chemical environment,
hence the size difference of atomic space among various atoms is greatly increased.
As can be seen, the HI charges calculated based on the .rad files generated at B3LYP/6-31G*
519
4 Tutorials and Examples
level are basically the same as those calculated based on built-in .rad files, therefore commonly I
suggest directly using built-in .rad files since the calculation is easier in this case and Gaussian is
not needed.
If you do not delete the "atmrad" folder or clean it up, then when you recalculate HI charges
for CH3COCl, or calculate a molecule only consisting of C, H, O and Cl elements or some of them,
Multiwfn will directly perform HI calculation based on the existing .rad files in the "atmrad" folder
rather than invoke Gaussian to recalculate them.
Please first read Section 3.9.15 to understand basic features of Electronegativity Equalization
Method (EEM) charges before following this example. Here we calculate EEM charges for ethanol-
water cluster, which contains as many as 492 atoms:
Evidently, calculating atomic charges by quantum chemistry method for such a large system is
too expensive; however, as you will see, evaluation of EEM charges even for a system composed
by hundreds of atoms is rather easy.
Note that in order to calculate EEM charges in Multiwfn, currently you have to use MDL
molfile (.mol) or .mol2 as input file, because only this file provides atomic connectivity information,
which is needed in the calculation of EEM charges.
Boot up Multiwfn and input below commands
examples\ethanol_water.mol // This is a snapshot of molecular dynamics simulation
7 // Population analysis and atomic charges
17 // EEM charge
0 // Start calculation
You will immediately see
EEM charge of atom 1(O ): -0.658886
520
4 Tutorials and Examples
...
Electronegativity: 2.454144
The default EEM parameters were fitted by some researchers for reproducing B3LYP/6-31G*
CHELPG charges, therefore, the above EEM charges should be close to CHELPG charges evaluated
at B3LYP/6-31G* level (In fact, for present system, even if calculation of CHELPG charges is
feasible, the result should be much worse than the EEM charges we just obtained. Because it is well-
known that the quality of electrostatic fitting charges is very low for the atoms far from van der
Waals surface, while in present system there are numerous heavily buried atoms).
Note that there are also many other built-in EEM parameters, you can choose them via option
1 before calculation.
Save it as .mol file, then use Multiwfn to calculate EEM charge based on this file, you will find
below error:
Error: Multiplicity of atom 1 ( 4) exceeded upper limit ( 3)!
The present EEM parameters do not support such bonding status, or connectivity
To understand the reason, open the .mol file by text editor, you can find below two lines
1 2 4 0 0 0 0
1 6 4 0 0 0 0
which indicates that the bond multiplicity of 1-2 and 1-6 is 4, clearly this is unreasonable, because
formal bond order between two carbons cannot be four! This issue comes from the fact that
GaussView always records a conjugated bond in .mol as a quadruple bond. To solve this problem,
the best way is installing OpenBabel (freely available at http://openbabel.org), then use this
command to convert the previous .mol file to a new .mol file: obabel old.mol -O new.mol. Then if
you use GaussView to open the new.mol, you will find the bonding has fully satisfied Lewis structure:
521
4 Tutorials and Examples
Now we use Multiwfn to calculate its EEM charges again, you will find below output, which
is quite reasonable:
EEM charge of atom 1(C ): -0.1021985241
...ignored
...ignored
Determine correspondence between basis functions and atomic orbitals is important if one want
to plot PDOS of some atomic orbitals via main function 10, or to evaluate contribution to molecular
orbitals from specific atomic orbitals using main function 8. The correspondence is easy to be
identified if Pople basis set is used. For example, 6-31G* implies using one basis function with
contraction degree of 6 to represent each inner atomic orbital, while each valence atomic orbital is
represented by a basis function with contraction degree of 3 and an uncontracted basis function.
However, for most of other type of basis sets, the correspondence is often difficult to be determined.
Fortunately, as will be illustrated in this section, if one studies total and spin population of basis
function shells via Mulliken population analysis, the correspondence can be unambiguously
identified.
Two typical examples will be given below, more examples and discussions can be found from
my blog article (http://sobereva.com/418, in Chinese). In below text atomic orbitals will be denoted
as lower case (e.g. s, p, d...), while basis functions will be written as upper case (e.g. S, P, D...).
522
4 Tutorials and Examples
We want to identify which S basis functions respectively correspond to 1s, 2s and 3s atomic
orbitals, and which P basis function shells respectively correspond to 2p and 3p atomic orbital shells.
All the two unpaired electrons of triplet sulfur atom are distributed on 3p shell, since the sum
of spin population of 7P, 8P and 9P is 1.10840+0.32918+0.53879=1.976, which is nearly equal to
two, we can say that these three P shells correspond to 3p shell. The remainder 6P shell clearly
corresponds to 2p shell, this can also be confirmed that its population number is 5.840, which is
close to expected occupation number of 2p shell (6.0).
Then we check the case of S shells. The sum of population number of 3S, 4S and 5S is
1.17225+0.25631+0.68189=2.110, which is close to actual occupation number of 3s atomic orbital
(2.0); considering that occupation number of both 1S and 2S are close to 2.0, it can be concluded
that 1S, 2S and (3S,4S,5S) mainly represent 1s, 2s and 3s atomic orbitals, respectively.
523
4 Tutorials and Examples
Undoubtedly, all P shells (7P, 8P, 9P, 10P) represent the only p shell (5p), while all D shells
(11D, 12D, 13D) represents the only d shell (5d). Since the sum of population number of 5S and 6S
(i.e. 0.61385+0.38581) is exactly equal to 1.0, and meantime the sum of spin population number of
5S and 6S is also equal to 1.0, it is clear that the 5S and 6S shells collectively represent the 6s atomic
orbital, which has a single unpaired electron. The total electrons in the other four S shells (1S, 2S,
3S, 4S) is almost exactly 2.0, evidently the doubly occupied 5s is mainly represented by them.
In this section I will take many examples to substantially illustrate the use of the extremely
powerful and flexible RESP module of Multiwfn, which can very conveniently calculate standard
RESP atomic charges and normal ESP fitting charges with/without charge and equivalence
constraints. Reading Section 3.9.16 is strongly recommended so that you have enough knowledge
about the RESP module as well as adequate understanding on the idea of ESP fitting method.
More detailed descriptions and discussions can be found from my blog article "Principle of
RESP charge and its calculation in Multiwfn" (in Chinese, http://sobereva.com/441).
For saving space, only the most important files involved in below examples are provided in
"examples\RESP" folder, while other files, including Gaussian output files and .fch files, can be
downloaded at http://sobereva.com/multiwfn/extrafiles/RESP.zip.
In this section, only example of deriving RESP charges for ground state is given. It is also easy to calculate
RESP charges for excited state. You can follow this example http://sobereva.com/wfnbbs/viewtopic.php?pid=747 if
you are a Gaussian user.
Hint: Speeding up ESP calculation by cubegen. Since calculation of ESP on fitting points is a computationally
demanding step, while calculation speed of ESP of internal code of Multiwfn is slower than the cubegen utility in
Gaussian package if number of your CPU cores is less than 10, therefore if Gaussian is available on your machine
and the input file is .fch/fchk, it is suggested to allow Multiwfn to invoke cubegen to evaluate ESP to reduce cost of
deriving ESP fitting charges. You simply need to set "cubegenpath" parameter in settings.ini to actual path of cubegen
executable file in your machine. See Section 5.7 for detail.
524
4 Tutorials and Examples
Commonly, the geometry used for deriving RESP charges should be optimized at reasonable
level. Above geometry was optimized at B3LYP-D3(BJ)/6-311G** level with IEFPCM implicit
solvation model, and it was found to be the most stable geometry of present molecule.
Now, use Gaussian to run examples\RESP\dopamine-single\dopamine.gjf to generate
corresponding .fch file for this geometry. As can be seen in the .gjf file, the keywords are b3lyp/6-
311g(d,p) SCRF=solvent=ethanol, this combination is not expensive while the resulting
wavefunction is completely adequate to yield reliable RESP charges.
Boot up Multiwfn and input
dopmaine.fch // The .fch file just yielded
7 // Population analysis
18 // RESP module
1 // Calculate standard RESP charges using two-stage fitting procedure
During the calculation, Multiwfn first sets up atomic radii and determines position of fitting
points, and then calculates ESP values at the fitting points. After that, the first stage of standard
RESP calculation starts, the parameters and conditions employed in this stage can be found from
outputted information:
No charge constraint is imposed in this stage
Successfully converged!
As you can see, variation of atomic charges converges after 7 cycles in this stage. Then the
second stage starts:
**** Stage 2: RESP fitting under strong hyperbolic penalty
525
4 Tutorials and Examples
Fitting objects: sp3 carbons, methyl carbons and hydrogens attached to them
Successfully converged!
As indicated in the output, in the second fitting stage, the two hydrogens at each of the two
−CH2− groups are required to be equivalent during the fitting. In addition, charges of only six atoms
are fitted in the stage 2, they are carbons and hydrogens in the two −CH2− groups, while charges of
other atoms keep unchanged at the values yielded in fitting stage 1.
The resulting RESP charges are
Center Charge
1(O ) -0.5406621847
2(O ) -0.5360154461
...[ignored]
12(H ) 0.0727189426
13(H ) 0.0727189426
14(H ) -0.0640826813
15(H ) -0.0640826813
...[ignored]
If you examine the charges carefully, you will find all charges are chemically meaningful. The
RMSE and RRMSE are not large, implying that quality of ESP fitting is nice. One can see that
equivalence constraints indeed work, the H12 and H13 share the same charge 0.0727, while both
H14 and H15 have charge of -0.064.
Directly loading fitting points and ESP values from Gaussian output file
As mentioned in Section 3.9.16.2, during calculation of ESP fitting charges in the RESP
module, it is possible to make Multiwfn directly load fitting points and ESP values from Gaussian
output file of pop=MK or pop=CHELPG task. As an illustration, the Gaussian input file of
dopamine for this purpose is provided as examples\RESP\dopamine-single\dopamine_pop_MK.gjf,
use Gaussian to run it, then boots up Multiwfn and input
dopmaine.fch // In present situation this file in fact is only used to provide geometry
information so that Multiwfn can determine atomic connectivity, therefore you can also use other
formats such as .xyz, .pdb and .wfn instead
7 // Population analysis
18 // RESP module
8 // Let Multiwfn directly load fitting points information from Gaussian output file
526
4 Tutorials and Examples
dopamine2.fch 0.0265
dopamine3.fch 0.4844
dopamine4.fch 0.4041
The first column is file path of each conformer, while the second column is corresponding weight.
Evidently, the sum of all weights must be exactly equal or approximately equal to unity.
Boot up Multiwfn and input
dopamine1.fch // In present case, the file loaded at this stage is only used to provide geometry
information that used to determine atomic connectivity, thus you can also use .fch of other
conformers, the result will not be affected
7 // Population analysis
18 // RESP module
-1 // Load conformation list file
conf.txt // Input actual path of this file
1 // Calculate standard RESP charges using the two-stage procedure
The result is
Center Charge
1(O ) -0.5127119135
2(O ) -0.4946153408
...[ignored]
21(H ) 0.4040820785
22(H ) 0.3885435037
527
4 Tutorials and Examples
As can be seen, when considering multiple conformations, Multiwfn gives RMSE and RRMSE
for each conformer as well as weighted RMSE and RRMSE. The data shows that current atomic
charges have better ESP reproducibility for conformations 3 and 4 than conformations 1 and 2. The
reason is not difficult to interpret, because the weights of conformations 3 and 4 in conf.txt are
significantly higher than 1 and 2, therefore the fitted charges prone to faithfully represent charge
distribution of conformers 3 and 4.
It is worth to note that if you set weight of conformer 1 in the conf.txt to 1.0 while set that of
other ones to zero, then the outputted statistical error will be
Conformer: 1 RMSE: 0.002047 RRMSE: 0.124925
It can be seen that the atomic charges obtained at this time represent ESP of conformer 1 very
well, because the RMSE and RRMSE are small, while ESP reproducibility of conformers 3 and 4,
which have highest probability of occurrence, is no longer quite good. Therefore, current RESP
charges is not ideal for molecular dynamics modeling of dopamine. This observation reflects the
importance of considering multiple conformations for flexible molecules. Indeed, explicit
consideration of multiple conformations in ESP fitting is somewhat troublesome and time-
consuming, if you decide to obtain ESP fitting charges only by single structure, you should at least
use the structure with the lowest free energy as much as possible.
Directly loading fitting points and ESP values from Gaussian output file of each
conformer
When considering multiple conformations, the coordinates of fitting points as well as ESP
values can also be directly loaded from Gaussian output files, here I present an example. For present
molecule, the Gaussian input files of pop=MK task corresponding to the four conformers have been
provided in "examples\RESP\dopamine_4conf\ESP" folder, run them by Gaussian to obtain .out
files, then write a plain text file named e.g. confESP.txt with below content, with assumption that
the four .out files have been placed to C:\ directory.
C:\dopamine1_ESP.out 0.0848
C:\dopamine2_ESP.out 0.0265
C:\dopamine3_ESP.out 0.4844
C:\dopamine4_ESP.out 0.4041
After that, load .fch (or other kinds of files) of any conformer into Multiwfn and enter interface
of RESP module, then select
-1 // Load conformation list file
confESP.txt // Input actual path of this file
8 // Make Multiwfn directly load fitting point information from Gaussian output file
1 // Calculate standard RESP charges using the two-stage procedure
Then standard RESP charges will be immediately shown.
528
4 Tutorials and Examples
The two methoxy groups of this system are chemically equivalent, and are easily rotated around
O-P bond during molecular dynamic simulation. Therefore, the charges of O5 and O6 should be the
same, the charges of C7 and C11 should be the same, and a total of six hydrogens on the two methyl
groups (H8, H9, H10, H12, H13, H14) should also be the same. However, when only one structure
is taken into account, it is clear that the such expectation in charge distribution cannot be achieved.
Present example uses this system to demonstrate how to calculate the ESP fitting charges that meet
the above equivalence requirements.
We first create a plain text file called e.g. eqvcons.txt, where each row contains indices of the
atoms whose charges will be constrained to be the same. Therefore, the file content corresponding
to current situation should be (in random order)
5,6
7,11
8-10,12-14
Run the Gaussian input file of optimization task at B3LYP-D3(BJ)/6-311G** level for present
molecule (examples\RESP\C2H7O4P\C2H7O4P.gjf), then convert the resulting .chk file to .fch.
Next, Boot up Multiwfn and input
C2H7O4P.fch
7 // Population analysis
18 // RESP module
5 // Modify equivalence constraint (Note that for one-stage ESP fitting, by default hydrogens
in each CH2 and CH3 group are constrained to be equivalent)
1 // Load equivalence constraint setting from external plain text file
eqvcons.txt // The file we just created
2 // Start one-stage ESP fitting calculation with constraints
The result is
Center Charge
1(P ) 1.1205246388
2(O ) -0.6229795460
529
4 Tutorials and Examples
3(O ) -0.5887730856
4(H ) 0.4109873910
5(O ) -0.4034641689
6(O ) -0.4034641689
7(C ) 0.0352980588
8(H ) 0.0694288037
9(H ) 0.0694288037
10(H ) 0.0694288037
11(C ) 0.0352980588
12(H ) 0.0694288037
13(H ) 0.0694288037
14(H ) 0.0694288037
Obviously, the result fully satisfies the equivalence constraint we have made, and the atomic
charge values are also very reasonable and chemically significant. If we do not make the customized
constraint but employ the default equivalency setting, the RRMSE will be 0.113024. Although the
equivalence constraint we have made increases the RRMSE, indicating that the ESP reproducibility
is lowered, since the RRMSE does not increase too much, the constraint we currently employed is
within reasonable range.
Note that in the standard two-stage RESP charge calculation, customized charge constraint and equivalence
constraint can also be applied, however they only take effect for the first stage (by default no constraint is employed
in this stage). For the present molecule, if you load equivalence constraint from the above eqvcons.txt and then select
0 to perform two-stage RESP fitting, you will find the O5 and O6 share identical charge in the result, but charges of
C7 and C11 are different, and charges of hydrogens in different methyl groups are also different, this is because the
customized constraints do not take effect for the second stage (according to standard definition of two-stage RESP
fitting, the carbons and hydrogens in the two methyl groups are refitted at the second stage).
530
4 Tutorials and Examples
residue should be constrained to be -1.0. In addition, given that the two oxygens of the carboxylate
are chemically equivalent, it is preferable to apply an equivalence constraint to the two oxygens.
The two hydrogens in the CH2 group of the ASP side chain should also be constrained to be
equivalent.
The Gaussian input files of optimization task for the ACE-ASP-NME models corresponding
to alpha helix and beta-sheet have been provided as alpha.gjf and beta.gjf in "examples\RESP\ACE-
ASP-NME" folder. As can be seen in the files, the keywords correspond to B3LYP-D3/6-311G**
level with IEFPCM solvation model to represent water environment. In the optimization, the phi
and psi dihedrals are fixed to their initial values (the dihedrals will vary remarkably during
optimization if they are not frozen). In alpha.gjf, the phi and psi are -90 and -60, respectively,
corresponding to typical case of alpha helix. While in beta.gjf, the two dihedrals are set to -100 and
130, reflecting typical situation of beta-sheet.
Run the two .gjf files by Gaussian, and convert resulting .chk files to .fch format. The two
optimized structures are shown below. The region surrounded by green dashed ellipse is the ASP
residue, the charges of these atoms are what we are interested in. The phi and psi dihedrals
mentioned above correspond to 6-3-1-13 and 1-3-6-19, respectively.
We create a plain text file named for example chgcons.txt, in this file each line defines a charge
constraint term. Since we require that the ASP residue has total charge of -1, we should write below
content in this file
1-12 -1
Note that in the RESP module, there is no upper limit on the number of charge constraint terms.
Also note that the indices of the atoms involved in charge constraint are not necessarily contiguous,
for example if you write 1,3-5,8,9-12 1.5, then sum of charges of atoms 1,3,4,5,8,9,10,11,12 will be
constraint to 1.5.
Then we create a plain text file named for example eqvcons.txt, in this file each line defines a
equivalence constraint term. As mentioned earlier, O11 and O12 should be equivalent, H7 and H8
should be equivalent, therefore for present case the content should be
11,12
7,8
Although the hydrogens in the methyl groups at the two ends of the model system are chemically
531
4 Tutorials and Examples
equivalent, since they are not of our interest, the equivalence constraint setting is ignored.
Next, we write a file named for example conflist.txt, which contains list of .fch files of all
conformers. In present circumstance we hope that the resulting atomic charges can equally well
represent the actual charge distribution of ASP residue in both alpha helix and beta-sheet secondary
structures, therefore weight of both the conformers should be 0.5. Assuming that .fch files have been
placed in D:\ folder, the file content should be
D:\alpha.fch 0.5
D:\beta.fch 0.5
Finally, boot up Multiwfn, load either alpha.fch or beta.fch, then enter RESP module and input
below commands
5 // Modify the equivalence constraint
1 // Load equivalence constraint setting from external plain text file
eqvcons.txt // The equivalence constraint file we created
6 // Set charge constraint
1 // Load charge constraint setting from external plain text file
chgcons.txt // The charge constraint file we created
-1 // Load list of conformer and weights from external file
conflist.txt // The conformation list file we created
2 // Start one-stage ESP fitting calculation with constraint
The output is
Center Charge
1(N ) -0.5680297892
2(H ) 0.2986898310
3(C ) 0.2320659798
4(H ) 0.0039518865
5(C ) -0.1872465380
6(C ) 0.5806052594
7(H ) 0.0309424424
8(H ) 0.0309424424
9(C ) 0.7732537802
10(O ) -0.6023381592
11(O ) -0.7964185676
12(O ) -0.7964185676
[ignored...]
The above calculation result is very reasonable, and it can be seen that both the charge
constraint and equivalence constraint work perfectly. Moreover, since the weights of the two
conformations are set to be the same, the RMSE or RRMSE corresponding to the two conformers
have comparable magnitude. Given that the RRMSE is very small, the current fitted charges should
532
4 Tutorials and Examples
Although you can manually create a file containing above equivalent constraints, it is more
convenient to make Multiwfn automatically create the file according to point group symmetry of
local regions of the CF3 group and benzene moiety, as shown below.
Boot up Multiwfn and input
CF3benCOCH3.fch
7 // Population analysis and atomic charge calculation
18 // RESP module
5 // Set equivalence constraint
11 // Generate a file containing equivalence constraints according to point group symmetry of
selected regions
Then we need to input atomic indices in each fragment that has local symmetry. In order to
make finding the indices convenient, I suggest using GaussView to open the above .fch file, then
select the fragment as yellow, then enter "Tools" - "Atom Selection" and copy the atomic indices
from the text box to Multiwfn window, as illustrated below
The region colored by yellow has point group of C2v, if we provide the corresponding indices
1-7,9-10 to Multiwfn, then Multiwfn will find symmetrically equivalent atoms and write to
eqvcons_PG.txt in current group (Notice that we should not select the whole benzene moiety,
533
4 Tutorials and Examples
namely 1-7,9-11, because this fragment has point group of D2h, in this case Multiwfn will also regard
C1 and C11 as symmetrically equivalent atoms).
Now we input 1-7,9-10 in Multiwfn window, then you will see
Detected point group: C2v
Class 1 (C ): 2 atoms
2, 4
Class 2 (C ): 2 atoms
3, 9
Class 3 (H ): 2 atoms
5, 7
Class 4 (H ): 2 atoms
6, 10
Clearly, symmetrically equivalent atoms have been correctly identified, therefore we input y to write
the corresponding constraint setting to eqvcons_PG.txt in current folder.
Next, we use this feature to add the three fluorine atoms into the equivalence constraint file. In
the Multiwfn window we input atomic indices of the CF3 group, namely 13-16, then you will see
Detected point group: C3v
Class 1 (C ): 3 atoms
14, 15, 16
The printed information is obviously correct, therefore we input y. Then input q to exit. Now you
will find the current content of the eqvcons_PG.txt is
2, 4
3, 9
5, 7
6, 10
14, 15, 16
The content is fully in line with our expectation. In fact, we can also similarly set the three hydrogens
in the methyl group as equivalent atoms by this interface, however we do not do this because in this
example we will employ two-stage RESP fitting, at the second stage the equivalence constraint is
automatically applied to the three hydrogens.
Subsequently, in the Multiwfn window we input
1 // Load equivalence constraint from external file
eqvcons_PG.txt // The file just generated
1 // Start standard two-stage RESP fitting
The result is
Center Charge
1(C ) 0.0091127275
2(C ) -0.1055999399
3(C ) -0.1400843859
4(C ) -0.1055999399
5(H ) 0.1287865888
534
4 Tutorials and Examples
6(H ) 0.1361477888
7(H ) 0.1287865888
8(C ) 0.6140083901
9(C ) -0.1400843859
10(H ) 0.1361477888
11(C ) -0.0475485792
12(O ) -0.4669646019
13(C ) 0.4344682195
14(F ) -0.1667205104
15(F ) -0.1667205104
16(F ) -0.1667205104
17(C ) -0.4512569713
18(H ) 0.1232807476
19(H ) 0.1232807476
20(H ) 0.1232807476
As can be seen, the charges are very reasonable and fully meet our expectation.
2: Coronene
Let us see a molecule containing relatively large number of atoms and having high-order point
group, namely coronene, which has D6h point group.
Because the distribution of ESP fitting points does not satisfy point group symmetry, the
resulting charges thus do not fulfill D6h symmetry. For example, you will find C17 and C18 have
charge of -0.2243 and -0.2169, respectively, however their charges should be identical. Despite the
difference is negligible, it is best to eliminate it. The most ideal way to make the resulting charges
fully satisfy the point group is imposing equivalence constraint according to the symmetry, however
manually writing the constraint file is quite laborious for such a large system, therefore we again
use Multiwfn recognize point group and automatically generate the constraint file.
Boot up Multiwfn and input
coronene.fch
535
4 Tutorials and Examples
Class 1 (C ): 6 atoms
1, 2, 3, 4, 5, 6
Class 2 (C ): 6 atoms
7, 8, 9, 10, 11, 12
Class 3 (C ): 12 atoms
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
Class 4 (H ): 12 atoms
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36
536
4 Tutorials and Examples
The minimum structure of C18 has D9h point group, therefore, if we calculate RESP charges as
usual, all resulting atomic charges will be exactly zero. Clearly such atomic centered charges are
completely useless in reproducing ESP around vdW surface for this very special system. In order to
better represent its ESP, it is best to fit some point charges located at midpoint of each C-C bond.
The .fchk file of C18 system corresponding to B97XD/def2-TZVP wavefunction at minimum
point structure can be download here: http://sobereva.com/multiwfn/extrafiles/C18.zip. If you place
additional fitting centers at midpoint of each C-C bond, the situation will correspond to below map,
in which each purple sphere corresponds to an additional fitting center. The Gaussian .gjf file
corresponding to below map has been provided as examples\RESP\C18\C18.gjf.
In this instance, we will simultaneously fit atomic charges and the point charges at midpoint of
the C-C bonds.
Before starting RESP fitting calculation, we need to write a text file containing X, Y, Z
coordinate of all additional fitting centers, and the first line should be the total number of additional
537
4 Tutorials and Examples
19,21,23,25,27,29,31,33,35
20,22,24,26,28,30,32,34,36
Note that the index of additional fitting centers is after that of actual atoms, therefore the points
19~36 in the eqvcons.txt correspond to the 18 points defined in the fitcen.txt.
Also note that there is no reason to apply the penalty function defined in RESP method, which
hurts the reproducibility of ESP in the present case, therefore we will disable this treatment, which
is enabled by default.
1(C ) 0.0642410906
2(C ) 0.0642410906
3(C ) 0.0642410906
...[ignored]
19(X ) -0.5038220210
20(X ) 0.3753398397
21(X ) -0.5038220210
22(X ) 0.3753398397
...[ignored]
As you can see, the atomic charge of carbon is 0.064, while the fitted charges at midpoint of
short and long C-C bonds are -0.504 and 0.375, respectively. This observation is in line with the
ESP mapped vdW surface map that given earlier, namely electron is much more heavily
538
4 Tutorials and Examples
concentrated around the short C-C bond than the long C-C bond.
If we do not specify additional fitting centers in the RESP calculation, you will find the atomic
charges of all carbons are exactly zero, and the ESP reproduction error will be
RMSE: 0.001911 RRMSE: 1.000000
The error is nearly twice as larger as the case having additional fitting centers at midpoint of bonds,
indicating that employing point charges not located at the center of atoms is crucial in faithfully
representing ESP on molecular surface.
1(C ) 0.238915
2(H ) 0.045904
3(H ) -0.018089
4(H ) -0.018089
5(O ) -0.664522
6(H ) 0.415880
They are identical to the charges obtained at the first stage of standard RESP two-stage fitting.
According to definition of standard RESP charge calculation procedure, the charge of the atoms
539
4 Tutorials and Examples
in hydroxyl group of methanol should keep fixed during the second fitting stage, therefore we create
a file chgcons.txt with below content.
5 -0.664522
6 0.415880
2(H ) 0.004436
3(H ) 0.004436
4(H ) 0.004436
5(O ) -0.664522
6(H ) 0.415880
which are completely identical to the charges derived by standard two-stage RESP fitting.
Hint: When the molecule is large, manually editing the chgcons.txt is often troublesome. In
fact, you can create an empty file named chgcons_stage2.txt in current folder and carry out standard
two-stage RESP fitting, then before performing the second stage fitting, Multiwfn will automatically
export the indices and charges of the atoms whose charges will be kept fixed in the second stage to
this file, so that you will not need to manually write the chgcons.txt file.
4.7.7.8 Skill 2: Quickly obtaining RESP charges from molecular structure file
by only one command
Note 1: Chinese version of this section is http://sobereva.com/476.
Note 2: examples\RESP\RESP_ORCA.sh script has identical use as the RESP.sh script described in this section,
but it invokes ORCA instead of Gaussian. Before using it, please modify content after “ORCA=”, “orca_2mkl=”
and “nprocs=” at beginning of the script properly.
In this section, I will show it is fully possible to use only one command to generate RESP
charges directly from molecular structure file using Linux shell script, the user does not need any
knowledge about quantum chemistry code.
Assume that both Gaussian and Multiwfn have been properly installed on your machine, and
you want to calculate RESP charges for H2O.xyz in ethanol environment, what you need to do is
simply:
• Copy RESP.sh from “examples\RESP” folder to current folder.
540
4 Tutorials and Examples
q RESP 2 = (1 − )qgas
RESP
+ qwater
RESP
541
4 Tutorials and Examples
RESP
because the 𝑞water exaggerates the extent of polarization or does not properly account for cost of
electronic polarization.
In my opinion, the best way of calculating atomic charges used for condensed phase MD
simulation should be the RESP20.5 defined as follows
RESP
where 𝑞solv is RESP charge calculated under actual solvent environment represented by PCM (or
IEFPCM, CPCM, SMD) model. I suggest using B3LYP-D3(BJ) with def2-SVP (or the better one
def-TZVP) for geometry optimization and B3LYP-D3(BJ)/def2-TZVP for the subsequent single
point task calculations in both gas and solvent phases. In principle it is best to perform optimization
under actual solvent environment, however solvent effect on geometry can be safely ignored if the
system is neutral and there is no highly ionic local region.
niconiconi
0 1
--link1--
%oldchk=C:\opt.chk
%chk=C:\SP_gas.chk
--link1--
%oldchk=C:\opt.chk
%chk=C:\SP_solv.chk
Blank line
Blank line
After calculation, you will obtain SP_gas.chk and SP_solv.chk in C:\ folder. Convert them
to .fch files and then use Multiwfn to calculate RESP charge as usual, you will find the charges in
gas phase is
542
4 Tutorials and Examples
Center Charge
1(C ) 0.4195430529
2(H ) -0.0050085243
3(O ) -0.4095260044
4(H ) -0.0050085243
1(C ) 0.4625344852
2(H ) 0.0093031373
3(O ) -0.4811407598
4(H ) 0.0093031373
By simply taking average of the above two sets of charges via e.g. Excel, the RESP20.5 charge
will be obtained:
0.441038769
0.002147307
-0.445333382
0.002147307
Quickly obtaining RESP2 charges from molecular structure file by only one command
In order to make RESP2 charge calculation as easy as possible, I also provide a script named
RESP2.sh in "examples\RESP" folder. Only a file containing (non-optimized) geometry is needed
as input file. This script is very similar to the RESP.sh introduced in Section 4.7.7.8.
Examples of usage:
• Calculating RESP20.5 charges for a singlet neutral molecule for MD simulation in water phase:
./RESP2.sh H2O.pdb
• Calculating RESP20.5 charges for a triplet neutral molecule for MD simulation in water phase:
./RESP2.sh yoshiko.xyz 0 3
• Calculating RESP20.5 charges for a singlet anion for MD simulation in ethanol phase:
./RESP2.sh yohane.mol -1 1 ethanol
As you can find from the examples, the charge and spin multiplicity are default to 0 and 1,
respectively, while the solvent is default to water.
If running the script has successfully finished, you will find a .chg file with identical name as
input file in current folder, the final column corresponds to RESP20.5 charges. In current folder you
can also find gas.chg and solv.chg, they correspond to the RESP charges in gas phase and in solvent
543
4 Tutorials and Examples
phase.
Specifically, this script do following things in turn, both Gaussian and Multiwfn are invoked in these processes:
(1) Geometry optimization at B3LYP-D3(BJ)/def2-SVP level in solvent environment
(2) Single point task at B3LYP-D3(BJ)/def2-TZVP level in gas phase
(3) Calculating RESP charge corresponding to gas phase
(4) Single point task at B3LYP-D3(BJ)/def2-TZVP level in solvent phase
(5) Calculating RESP charge corresponding to solvent phase
(6) Generating RESP20.5 charge by averaging the result produced by (3) and (5)
1(C ) -0.090370
2(H ) 0.037254
3(H ) 0.043058
4(H ) 0.048339
5(C ) 0.170596
6(O ) -0.308866
7(N ) -0.159120
8(H ) 0.131920
9(H ) 0.127108
These charges are just the Hirshfeld charges loaded from CH3CONH2.chg, the RMSE and RRMSE
measure the ESP reproducibility of the Hirshfeld charges. If you compute MK charges as usual, you
will find the RRMSE will be about 0.05, since as shown above the RRMSE of Hirshfeld charges is
as high as 0.31, it is evident that the ESP reproducibility of Hirshfeld charges is much worse than
544
4 Tutorials and Examples
MK charges. If you redo the analysis based on the .chg file containing ADCH charges, you will find
the RRMSE is 0.21. Clearly, ADCH charges have evidently lower error in reproducing ESP
compared to Hirshfeld charges.
If we repeat the calculation based on .chg file containing ADCH charge, the output will be
RMSE: 0.003817 RRMSE: 0.163478
Since the RRMSE of ADCH charge (0.163) is by far less than that of Hirshfeld charge (0.374),
the ADCH charges have much better ESP reproducibility around the amino group.
Note: The CHELPG module also supports employing fitting points only for specific fragment.
545
4 Tutorials and Examples
Clearly, the fitting points well correspond to the amino group. The redder (bluer), the more
positive (negative) the ESP on the points.
In this graph, more blue region corresponds to higher ESP reproduction error, while ESP at
white points can be well reproduced by the MK charges (i.e. the absolute error is close to zero). You
can also use this method to visualize ESP reproducibility of other atomic charges (need to use .chg
546
4 Tutorials and Examples
In this example we calculate PEOE charge (also known as Gasteiger charge) for a typical
organic system, dopamine. Reading Section 3.9.17 is recommended to gain basic knowledge about
the principle, details and implementation of the PEOE method in Multiwfn.
Since calculation of PEOE charge only requires geometry information, we can use such
as .xyz, .pdb, .mol as input file. Boot up Multiwfn and input
examples\dopamine.xyz
7 // Population analysis
19 // PEOE (Gasteiger) charge
First, the parameters involved in the PEOE calculation are printed:
Determined parameters:
[ignored...]
[ignored...]
Since the formulae involved in the PEOE method are extremely simple, the iteration is finished
within one second (this is still true even the system consists of several hundreds of atoms!). Then
you can find the PEOE charges:
Atom Charge
1(O ) -0.358163
2(O ) -0.358170
3(N ) -0.330120
4(C ) -0.015405
[ignored...]
547
4 Tutorials and Examples
X/Y/Z of dipole moment from CM5 charges 0.00000 -0.00000 -0.81108 a.u.
Note that according to original paper of CM5 charge, the dipole moment calculated by CM5
charges can well reproduce experimental dipole moment in gas phase, therefore the dipole moment
shown above should be a reasonable estimation of actual gas phase dipole moment of the oxirane.
548
4 Tutorials and Examples
In this section, I will show how to use various methods to analyze molecular orbital
compositions. The illustrated methods are also applicable to any other type of orbitals, e.g. natural
orbitals, natural transition orbitals (NTOs) and localized MOs (LMOs). Details about orbital
composition analysis can be found in Section 3.10. The pros and cons of different methods are very
detailedly discussed in my paper Acta Chim. Sinica, 69, 2393 (2011, http://sioc-
journal.cn/Jwk_hxxb/CN/abstract/abstract340458.shtml), citation is welcomed. If you can read
Chinese, also you can consult my blog article "On the calculation methods of orbital composition"
(http://sobereva.com/131).
Simply speaking, if your aim is merely obtaining atom compositions in orbitals,
Hirshfeld/Becke method may be the most robust and convenient way, see Section 4.8.3; if you also
would like to obtain atomic orbital composition, then the NAO method exemplified in Section 4.8.2
may be the best choice. The Mulliken method illustrated in Section 4.8.1 also generally works well
but diffuse functions should not be used.
In this example we employ Mulliken method to first analyze the composition of the 6th
molecular orbital of acetamide, and then analyze which orbitals have main contribution to the
bonding between formamide part and methyl group. Beware that Mulliken method is incompatible
with diffuse functions, if they are involved, you should either choose other orbital composition
methods (e.g. NAO, Hirshfeld...) or remove them from your basis set.
Boot up Multiwfn and input following commands
examples\CH3CONH2.fch // You have to use .mwfn/.fch/.molden/.gms file as input for this
type of analysis
8 // Orbital composition analysis
1 // Use Mulliken partition
6 // The orbital index is 6 (Note that as shown in the prompt on the screen, you can also input
orbital label here, for example h-3 corresponds to HOMO-3, l+1 corresponds to LUMO+1, etc.)
The composition of basis functions, shells and atoms are printed immediately, see below.
Threshold of absolute value: > 0.50000 % // Only the basis functions with composition
larger than 0.5% will be printed, you can change the threshold by “compthres” parameter
in settings.ini.
549
4 Tutorials and Examples
The result indicates that nitrogen has primary contribution (65.5%) to orbital 6, and the
contribution consists of two S-shells (30.5% and 34.3%). P-shells of neighbouring carbon and S-
shells of oxygen have slight contribution too (both are about 12%). We can check if the result is
reasonable by viewing isosurface (isovalue is set to 0.1 here):
550
4 Tutorials and Examples
From the graph, the region where the value of orbital wavefunction is large is mainly localized
around nitrogen, and there is no nodal plane, so the orbital wavefunction in this region should be
constructed from s-type orbitals. The isosurface also somewhat intrudes into the region of atom C5
and O6, so they should have small contribution to MO 6, moreover, because there is a nodal plane
in C5, the atomic orbitals of C5 used to form MO 6 should be p-type. Obviously, these conclusions
are in fairly agreement with composition analysis. The advantage of composition analysis is that the
result can be quantified, while by visual study we can only draw qualitative conclusion, for some
complex system we cannot draw even qualitative conclusion.
The " Orbital delocalization index" printed at the end of the output has close relationship with
extent of spatial delocalization of the orbital, this point will be described in Section 4.8.5 in detail.
Now let us find which molecular orbitals have main contribution to the bonding between
formamide part and methyl group. Boot up Multiwfn and input
examples\CH3CONH2.fch
8 // Orbital composition analysis
-1 // Define fragment 1
a 1-4 // Add all basis functions in atom 1, 2, 3, 4 (methyl group) into fragment1
q // Save fragment and return to upper menu
-2 // Define fragment 2
a 5-9 // Add all basis functions in atom 5, 6, 7, 8, 9 (formamide moiety) into fragment 2
q
4 // Print composition of fragment 1 and the cross term between fragment 1 and 2 in all orbitals
by Mulliken analysis. If you only defined fragment 1, then only composition of fragment 1 will be
printed
Since amount of the printed information is huge, I only extract cross term composition in all
occupied orbitals:
Cross term between fragment 1 and 2 and their individual parts:
551
4 Tutorials and Examples
The product of the cross term composition between fragments 1 and 2 in orbital i and
corresponding orbital occupation number is the Mulliken bond order between them contributed by
orbital i. From above information we can see MO 7 and 11 are beneficial to bonding, because the
compositions are relative large, while MO 14 and 16 are not conducive for bonding. The isosurfaces
of MO 11 (left side) and 14 (right side) are shown below, it is clear that the result of composition
analysis is reasonable.
As you have seen, using Mulliken method to analyze orbital composition is very convenient.
However, the result of Mulliken method is sensitive to basis set, and is not as robust as NAO method
and Hirshfeld method illustrated below. Especially, do not use Mulliken method when diffuse
functions are involved in your calculation, otherwise the result will be meaningless!
In this example we analyze molecular orbital composition of water by the natural atomic orbital
(NAO) method discussed in Section 3.10.4. NAO method has much better basis set stability (i.e.
insensitive to the choice of basis set) and stronger theoretical basis than Mulliken or Mulliken-like
methods (such as SCPA and Stout-Politzer).
Note: NAO is never the only way of obtaining composition of atomic orbitals in MOs, you can also use Mulliken
or similar methods (e.g. SCPA) to do that. The correspondence between basis function and atomic orbital can be
identified according to basis set definition or by mean of population analysis, see Section 4.7.6.
Performing NAO method requires MO coefficient matrix in NAO basis, this matrix cannot be
generated by Multiwfn itself, but Multiwfn can utilize the output information containg this matrix
by stand-alone NBO program or NBO module embedded in quantum chemistry softwares. The
NBO 3.1 module embedded in Gaussian program is L607. Below is a Gaussian input file for water,
which will output the matrix we needed. Notice that the Gaussian task should be single point task,
552
4 Tutorials and Examples
0 1
[blank line]
[blank line]
where pop=nboread keyword indicates that the texts enclosed by $NBO and $END, namely
NAOMO, will be passed to NBO module. NAOMO keyword tells NBO module to output MO
coefficient matrix in NAO basis.
Assume that the Gaussian output file is named as H2O_NAOMO.out (can be found in
"example" folder), we start Multiwfn and input:
examples/H2O_NAOMO.out // Note that DO NOT use .fch as input file in current case
8 // Enter orbital composition analysis module
7 // Enter NAO analysis function
You will find the default output mode is "Only show core and valence NAOs". Core and
valence NAOs have one-to-one correspondence with actual atomic orbitals, if the MO to be
analyzed is occupied, in general we only need to concern these NAOs, while Rydberg NAOs can be
ignored. Assume that we want to analyze MO 4, we input
0 // Show orbital composition of specific MO
4 // Analyze MO 4
Below information will appear on screen
Note: All Rydberg NAOs/shells or contributions <= 0.50 % will not be printed
553
4 Tutorials and Examples
Center Composition
1(O ) 92.899 %
2(H ) 3.548 %
3(H ) 3.548 %
According to the result, we can say for example, 2pz atomic orbital of oxygen has 84.09%
contribution to MO 4. The contributions from the NAOs listed above (Rydberg composition is not
included in the present example) are also summed up to atom contributions according to which
center they belong to.
Note that the sum of non-Rydberg compositions (i.e. Core + Valence), as shown above, is not
100 % rather than 99.777 %. To make the physical meaning more clear, I personally recommend to
manually perform renormalization for the result. For example, the composition of 2pz should be
84.089 % / 0.99777=84.277 %. Since before and after the renormalization the difference is only
0.188 %, the renormalization is not necessary for current case. Only when the non-Rydberg
composition is nonnegligible (e.g. larger than 2 %), the renormalization is indispensable.
...[ignored]
We input a 2,3, namely adding all NAOs belonging to atoms 2 and 3 to the current fragment.
Then input q to save and quit. From the prompt printed on screen you can find NAOs 16, 17, 18 and
19 are presented in this fragment.
Then select option 1 and input 1-8, the contribution from the four NAOs to MO 1~8 will be
shown as below
Orb.# Core Valence Rydberg Total
554
4 Tutorials and Examples
Since none of the four NAOs in the fragment is core-type, the Core term is 0 % in the MOs.
Valence and Rydberg terms correspond to the contribution from NAOs 16, 18 and NAOs 17, 19
respectively. NAOs 16 and 18 directly correspond to 1s atomic orbital of H2 and H3, so we can say
that the two hydrogens collectively contribute 26.56 % to MO 3.
The first five MOs are doubly occupied in present system. It is clear that Rydberg NAOs have
very low contribution to the occupied MOs, while their contributions to virtual MOs are significant
and can no longer be ignored. The physical meaning of Rydberg NAOs is difficult to be interpreted,
and these NAOs do not directly reflect atomic orbital characteristics. It is questionable to say that
the two hydrogens contribute either 32.43 % or 62.00 % to MO 8. Although seemingly one can
employ renormalization process to "annihilate" the Rydberg composition, however when Rydberg
composition is too large, e.g. larger than 10 %, this treatment will break meaning of the result. So it
is not generally recommended to use NAO method to analyze atomic contributions to virtual MOs;
for this case, the Hirshfeld and Becke method introduced in Section 3.10.5 and exemplified in the
next section are the best choice.
In this section, we will first use Hirshfeld method and then Becke method to analyze the MO
composition of acetamide and compare the result with the one obtained by Mulliken method in
Section 4.8.1. Note that Hirshfeld and Becke methods are only capable of analyzing composition of
atom or fragment in orbitals, while the composition of atomic orbitals are impossible to be obtained
by these approaches.
Boot up Multiwfn and input
examples\CH3CONH2.fch // You can also use such as .wfn and .wfx file as input. But .wfn
and .wfx files do not contain virtual orbital information!
8 // Orbital composition analysis
8 // Use Hirshfeld partition
Hirshfeld analysis requires electron density of atoms in their free-states, you need to choose a
method to calculate atomic densities. Selecting 1 to use built-in atomic densities is very convenient,
see Appendix 3 for detail; alternatively, you can select 2 to evaluate atomic densities based on
atomic .wfn files, see Section 3.7.3 for detail. Here we choose option 1.
Then Multiwfn initializes the data, for large system you may need to wait for a while. Assume
that you want to analyze MO 6, then simply input 6, the result will be printed on screen, as shown
below. (Because the integrals are evaluated numerically, the sum of all terms will be slightly
deviated to 100%, so Multiwfn automatically normalizes the result.)
Atom 1(C ) : 1.555%
555
4 Tutorials and Examples
The composition of C5, O6 and N7 are 14.92%, 12.11% and 56.34%, respectively. This result
is close to the one obtained by Mulliken method (Section 4.8.1), namely 11.81%, 11.63% and
65.50%, respectively. In fact, for occupied MOs, if diffuse basis functions are not employed, in
general Mulliken, NAO and Hirshfeld methods give similar results.
Next, we examine contribution of the amino group to a specific orbital, HOMO. Input below
commands:
-9 // Define fragment
7-9 // The atoms in the amino group
h // This stands for HOMO. You can also directly input its index (16)
As shown below, you can not only see contribution from all atoms to the orbital, but you can
also find the fragment contribution to the orbital, the 8.703% is simply 6.791%+0.974%+0.938%.
[...ignored]
556
4 Tutorials and Examples
The steps of analyzing orbital composition by Becke method are completely identical to that
of Hirshfeld method. Here we calculate the composition of MO 6. Boot up Multiwfn and input
examples\CH3CONH2.fch
8 // Orbital composition analysis
9 // Use Becke partition
6 // The 6th orbital
The result is
Atom 1(C ) : 1.229%
As you can see, the result is highly close to that produced by Hirshfeld method.
Please read Section 3.10.100 first to understand basic idea of the LOBA method. This is a
simple and useful method to evaluate oxidation state (OS). In this section I will use two examples
to illustrate the LOBA module in Multiwfn. The used .fch files can be directly loaded at
http://sobereva.com/multiwfn/extrafiles/LOBA.rar.
(1) Fe(CN)63-
First, we use Gaussian to perform regular calculation of this system, the input file is
examples\Fe(CN)6_3-.gjf, please run it yourself to get Fe(CN)6_3-.fch file. LOBA analysis needs
localized MO (LMO), thus we use Multiwfn to carry out orbital localization. Boot up Multiwfn and
input following commands:
Fe(CN)6_3-.fch
19 // Orbital localization
1 // Only localize occupied orbitals, this is enough for LOBA analysis
Now the orbitals recorded in memory has been updated to localized orbitals
0 // Return to main interface
8 // Orbital composition analysis
100 // LOBA analysis
50 // Percentage threshold for performing LOBA
Oxidation state of atom 1(Fe) : 3
557
4 Tutorials and Examples
The result looks reasonable and in good agreement with chemical intuition. The sum of all
oxidation states just corresponds to the total net charge of -3. However, the LOBA is not free of
ambiguity, the choice of the threshold is highly arbitrary. If we input 60 instead of 50, we will see
oxidation state of carbon and oxygen become 4 and -1, respectively, and the sum of oxidation states
become 21. Fortunately, the OS of transition metal is never so sensitive to the choice of threshold,
the iron always keeps +3 oxidation state in present case as long as the threshold is not set to very
small or very large. (In my viewpoint, the most appropriate threshold for evaluating OS of transition
metal is 50~60%)
(2) Ferrocene
For this system, we will not only check OS of iron, but also check OS of C5H5 fragment. The
corresponding regular Gaussian input file is examples\Ferrocene.gjf, run it yourself to obtain
corresponding .fch file, then load it into Multiwfn and perform orbital localization first as shown
above, after that enter LOBA analysis interface and input below commands:
-1 // Define fragment
1-5,7-11 // Index of the atoms constituting the C5H5 fragment
50 // Percentage threshold for performing LOBA
The result is
Oxidation state of atom 1(C ) : 2
...[ignored]
In this system the OS of Fe is +2, which is again reasonable. From the output it is seen that the
OS of individual carbons are not useful, however, the OS of the whole C5H5 fragment is a
meaningful value -1.
558
4 Tutorials and Examples
Above two examples exhibit usefulness of LOBA method. We should always focus on OS of
transition metal or OS of whole ligands, while the OS of individual atom in ligand often does not
make sense.
When Multiwfn outputs composition of various atoms in an orbital, the orbital delocalization
index (ODI) is also printed. The ODI was defined by me, the value for orbital i is expressed as
ODIi = 0.01 ( A,i )2
A
In addition, Multiwfn is able to calculate spatial delocalization index (SDI) to study extent of
orbital spatial delocalization, see Section 3.200.19 for introduction and Section 4.200.19 for
example. SDI can also study spatial delocalization of arbitrary real space function and thus much
more universal than ODI.
Similarly, we compute and record ODI for MO 16, MO 53, MO 55, MO 56, MO 62. Note that
only MO62 is a virtual orbital.
For comparison purpose, we also calculate the ODI based on Hirshfeld orbital composition
analysis method. Input below commands
0 // Return
8 // Hirshfeld method
1 // Use built-in atomic density
52 // Analyze MO52
The output is
Orbital delocalization index: 38.93
559
4 Tutorials and Examples
Similarly, we use the Hirshfeld method to compute and record ODI for MO 16, MO 53, MO
55, MO 56, MO 62.
The isosurfaces of the analyzed MOs under isovalue of 0.04 are summarized below, the red
and blue texts correspond to the ODI calculated by Mulliken and Hirshfeld methods, respectively.
By comparing the ODI values and orbital isosurface maps it can be seen that the ODI value is
indeed able to faithfully quantify extent of orbital delocalization. The MO 16 is essentially a core
orbital of a carbon atom, since it is fully localized, the ODI nearly reaches its theoretical upper limit
(100). The MO 52 shows partial delocalization character, the two oxygens mainly and equally
contribute to the orbital, therefore its ODI is not quite high. The MO 55 corresponds to orbital of
a ring and thus evidently distributes on more than two atoms, this is why its ODI is lower than MO
52. The MO 53 and MO 56 show strong global delocalization character, therefore their ODI values
are quite low. Because their ODI values are comparable, it can be concluded that MO 53 and MO
56 have similar extent of spatial delocalization.
The virtual orbital MO 62 is quite worth to mention, it is essentially a Rydberg orbital and its
main body surrounds the amino group. From the isosurface map it can be seen that MO 62 and MO
55 have comparable delocalization character, the ODI computed by Hirshfeld method for the two
orbitals (18.4 vs. 18.2) is in line with this observation. However, the ODI of MO 62 computed by
Mulliken method is much larger than MO 55, this is totally contrary to reality, showing the fact that
Mulliken (and its variant, SCPA and Stout-Politzer) is usually unreliable in calculating ODI for
virtual orbitals.
Also bear in mind that since Mulliken, SCPA and Stout-Politzer are incompatible with diffuse
functions, they should not be used to evaluate ODI when diffuse functions are present, in this case
you should use e.g. Hirshfeld and NAO methods instead.
In summary, I suggest using Hirshfeld method to compute ODI, it works well for any case.
However, if you only need to analyze occupied orbitals and diffuse function is not employed, you
can also use Mulliken or SCPA method, which is faster than Hirshfeld method for large system.
560
4 Tutorials and Examples
[ignored...]
You can copy out the data and plot it as bar map:
100
90
80
70
60
50
ODI
40
30
20
10
0
5 10 15 20 25 30 35 40 45 50 55
MO index
From this graph we can very quickly identify the orbitals showing significant delocalization
character. The first 16 MOs in this system are core orbitals, as can be seen from the map, they are
much more localized than valence orbitals. The graph exhibits that MOs 50, 51 and 52 are also
highly localized, if you inspect their isosurface maps via main function 0, you will find they mainly
localize over the nitro group.
561
4 Tutorials and Examples
2
ODI = 0.01 A,i
frag
i
Afrag pi
pi = 0.01 A,i
Afrag
where p is normalization factor to account for the difference of total amount of orbital distribution
on different fragments. If the fragment contains all atoms, then the ODIfrag will be identical to the
aforementioned ODI.
Clearly, fragment ODI is very useful if you want to quantitatively compare orbital
delocalization for a fragment shared by analogues. Currently, only Hirshfeld, Hirshfeld-I and Becke
orbital composition analysis modules can calculate fragment ODI. Now, let see an example.
As vividly shown in the orbital isosurface maps of the D-pi-A.fchk given above, for the amino
group, the MO 53 fully localizes on the nitrogen atom, while the MO 56 delocalizes over the entire
group. Now we use fragment ODI to quantify this point. Boot up Multiwfn and input
examples\excit\D-pi-A.fchk
8 // Orbital composition analysis
8 // Hirshfeld method
-9 // Define fragment
24-26 // Index of the atoms in the amino group
Next, if you input 53, you will see
Fragment contribution: 13.564%
Since fragment ODI of MO 62 is significantly smaller than that of MO 53, it is clear that
delocalization of MO 62 over amino group is much stronger than MO 53.
Note that you can also use the option "Print orbital delocalization index (ODI) for a batch of
orbitals" to calculate ODI and ODIfrag for a batch of orbitals. The ODI values will be printed
followed by ODIfrag values.
562
4 Tutorials and Examples
1 (C ) Contribution: 6.860 %
2 (H ) Contribution: 0.731 %
3 (H ) Contribution: 0.330 %
4 (H ) Contribution: 0.731 %
5 (C ) Contribution: 14.708 %
6 (O ) Contribution: 4.527 %
As you can see, Multiwfn first outputs contributions from various basins, and then, in order to
facilitate inspection, the contributions are outputted again according to the order of atoms
(commonly AIM basins and atoms have a one-to-one correspondence). If you use Hirshfeld method
to compute the composition of this orbital, you will find the result is similar; for example, Cl7 is
69.6% and C5 is 16.3%. Since generation of AIM basins is quite time-consuming for large system,
while AIM partition does not have special advantage, usually I recommend to use Hirshfeld or
Becke method to compute atomic contribution.
In the present interface, you can also use option -9 to define a set of atoms as fragment, so that
the fragment contribution can be outputted together. Besides, you can use option -4 to output all
atomic contributions in all orbitals to orbcomp.txt in current folder.
563
4 Tutorials and Examples
In order to understand the chemical meaning of the data, we can select 0 to return to upper
level of menu, and then select option "0 Visualize attractors and basins". In the GUI window, select
basin 5 to visualize it, you will see the left figure shown below. If you use main function 0 to plot
isosurface map of the orbital 10, you will see the right figure shown below (isovalue = 0.09).
It can be seen that the orbital 10 partially exhibits bonding character between C5 and Cl7, while
basin 5 directly corresponds to bonding basin and can be symbolized as V(C5,Cl7), evidently this
basin should have notable contribution to orbital 10. From the orbital composition data shown above,
the contribution by basin 5 is indeed prominent (18.2 %), showing that the ELF basin contributions
564
4 Tutorials and Examples
In this section I will illustrate how to use Multiwfn to perform different kinds of bond order
analyses to characterize chemical bonds.
4.9.1 Mayer bond order and fuzzy bond order analysis on acetamide
This instance exemplifies how to calculate Mayer bond order and fuzzy bond order for
acetamide. Related theories have been introduced in Sections 3.11.1 and 3.11.6, respectively. Finally,
I introduce a skill, namely labelling the calculated bond orders to molecular structure map by means
of GaussView, so that you can examine bond orders easier.
565
4 Tutorials and Examples
By default, only the bond order terms larger than specific criteria will be outputted, the criteria
can be adjusted in "bndordthres" in settings.ini. Mayer bond order often coincide with empirical
bond order well. In this example, bond order between C5 and O6 is 1.9, which is very close to ideal
value 2.0 (double bonds).
Total valence of an atom is the sum of Mayer bond orders that it formed. Free valence of a
atom measures its remained capacity to form new bonds by sharing electron pairs, for closed-shell
this quantity is always zero.
Then if you choose "y", entire bond order matrix will be outputted to bndmat.txt in current
folder.
From the output we can know that, for example, if the two electrons are removed from orbital
15, then Mayer bond order between C5 and O6 will be decreased from 1.903928 to 1.743383 (i.e.
1.903928-0.160545), we can also say that the contribution from orbital 15 is 0.160545. The sum of
contributions from all occupied MOs is 2.03987, the reason that this value is not equal to 1.903928
is that Mayer bond order is not a linear function of density matrix, we do not need to concern this.
Orbital 14 has the largest negative value of orbital occupancy-perturbed Mayer bond order,
therefore this orbital must be greatly beneficial to the bonding. This conclusion can be further
testified by visual inspection of the orbital isosurface, see the graph given at the end of Section 4.8.1.
As expected, this orbital shows strong character of π-bonding between C5 and O6.
566
4 Tutorials and Examples
Now we calculate fuzzy bond order. Unlike Mayer bond order, fuzzy bond order does not rely
on basis function, therefore you can also use such as .wfn/.wfx as input file. Calculating fuzzy bond
order is more time consuming than Mayer bond order, its advantage over Mayer bond order is that
the basis set sensitivity is greatly reduced, and using diffuse basis functions will never deteriorate
result.
In the bond order analysis menu, we select "7 Fuzzy bond order analysis", the result will be
printed, as shown below
Bond orders with absolute value >= 0.050000
Comparing the result with that of Mayer bond order, you will find the results of both types of
bond orders are very similar, in fact this is the common case. However, for highly polar bonds their
results may deviate with each other relatively evidently.
567
4 Tutorials and Examples
As can be seen, we also requested GaussView to use different colors to exhibit the bond orders. The
more green the color, the larger the bond order; the redder the color, the smaller the bond order.
The electron structure character of complex systems, such as cluster or system containing wide
range electron delocalization is hard to be investigated by simple chemistry empirical rules, we have
to resort to wavefunction analysis methods. In this section, examples of applying multi-center bond
order to reveal multi-center interaction are given. If you are not familiar with multi-center bond
order, please check Section 3.11.2 to gain basic knowledge. Notice that multi-center bond order
analysis requires basis function information, therefore you have to use .mwfn/.fch/.molden/.gms file
as input file.
Then we calculate three-center bond order of the central three-member ring, therefore we input
1,2,3, the result is
The multicenter bond order: 0.0351782167
Since the number of atoms in both the rings is the same, you only need to compare their "The
multicenter bond order" values. The data are marked in the below graph. The pink texts denote
Mayer bond orders.
568
4 Tutorials and Examples
From the three-center bond order values, it is evident that the boundary three-member rings
are more stable (i.e. more strongly binded) than the central one, this conclusion is also somewhat
reflected by the Mayer bond orders. We can further demonstrate this conclusion by plotting LOL
graph in the cluster plane (see Section 4.4.2 on how to plot this kind of map)
It is clear that electrons tend to localize in the boundary three-membered rings to stabilize them,
the conclusion of this real space function analysis is in good agreement with the bond order analysis.
By checking Laplacian map, ELF map, electron density deformation and valence electron density
map, you can draw exactly the same conclusion.
The Li6.fch used in this example was produced at B3LYP/6-31G* level. Usually diffuse
functions should be employed for properly describing anionic systems, in this case you should
569
4 Tutorials and Examples
evaluate the multi-center bond order based on natural atomic orbitals (NAO) rather than based on
original basis functions as illustrated above, otherwise the result may be completely useless, see
Section 3.11.2 for detail (also see Part 3 of this section for example). Alternatively, you can remove
diffuse functions and perform single point task to generate the wavefunction used for multi-center
bond order analysis, however the basis set should be at least three-zeta quality, e.g. 6-311G(2d,p) or
def2-TZVP.
Next, we study the case of the central ring. We input 3,4,8,9,10,7, the result is
The multicenter bond order: 0.0264989378
Clearly, the central ring has weaker electron conjugation character than the boundary one,
consequently we can also conclude that the boundary rings have stronger aromaticity. In Section
4.14.3, 4.15.2 and 4.25.6 we will further investigate the ring aromaticity by means of other analysis
methods.
Note that the data of "The normalized multicenter bond order" can be compared between rings
with different number of atoms. Since this value of boundary six-membered ring of phenanthrene
is 0.6245, while that of the boundary three-membered ring of Li6 cluster is 0.4997, we can infer that
the multi-center interaction in the former case may be more prominent.
Part 3: Calculate six-center bond order based on natural atomic orbitals (NAOs)
In Multiwfn, multi-center bond order can also be calculated based on natural atomic orbitals
(NAOs), as introduced in Section 3.11.2. The main advantage of using NAO as basis over the
570
4 Tutorials and Examples
common case is that reasonable result can still be obtained even diffuse functions are presented.
Here we calculate multi-center bond order in NAO basis for the phenanthrene, in this case
NBO output information with DMNAO keyword is required. The Gaussian input file involved in
this example is exampes\phenanthrene_DMNAO.gjf, the corresponding output file is
examples\phenanthrene_DMNAO.out. As you can see from the .gjf file, the NBO module embedded
in Gaussian is invoked and DMNAO keyword is passed into NBO module.
Boot up Multiwfn and input
examples\phenanthrene_DMNAO.out
9 // Bond order analysis
-2 // Multi-center bond order analysis in NAO basis
1,2,3,4,5,6 // Calculate six-center bond order for the boundary ring
The output is
The multicenter bond order: 0.0588977456
As can be seen, the result is almost completely identical to the one we obtained earlier using option
2 in main function 9, it is expected since currently diffuse functions are not employed.
The Laplacian bond order (LBO) was proposed by me in J. Phys. Chem. A, 117, 3100 (2013),
see Section 3.11.7 for detail. LBO is very suitable for organic system and has close correlation with
bonding strength. Let us calculate LBO for C-C bond of ethane, ethene and acetylene.
Boot up Multiwfn and input following commands
examples\ethane.wfn // Optimized and produced at B3LYP/6-31G**
9 // Bond order analysis
8 // Laplacian bond order
You will see the result:
The bond order >= 0.050000
As you can see, LBO is very close to formal bond order (1.0) for C-C and C-H. LBO only
reflects covalent bonding character, due to C-H is a weakly polar bond, the value is slightly smaller
than 1.0.
Then use examples\ethene.wfn to calculate LBO for ethene
# 1: 1(C ) 2(H ): 0.919443
571
4 Tutorials and Examples
The LBO of the C-C bonds in the three systems are 1.060, 2.022 and 2.767, the ratio is
1:1.907:2.61. It is known that the ratio of the bond dissociation energy (BDE) of the three bonds is
1:1.85:2.61. Clearly, LBO has surprisingly good correlation with BDE, in other words, LBO exhibits
bonding strength fairly well (no other bond order definitions have so close relationship with BDE
in comparison with LBO)
Moreover, LBO predicts that the sequence of the C-H bonding strength in the three systems is
acetylene (0.958) > ethene (0.919) > ethane (0.889), this is completely in agreement with the
experimental BDE sequence! (Other bond order definitions, such as Mayer bond order, fail to
reproduce this sequence)
Finally, calculate LBO for O-H bond in water by using examples\H2O.fch, the result is 0.638.
This value is significantly smaller than the C-H bond order, reflecting that O-H bond is much more
polar than C-H bond.
This example briefly illustrates a unique feature of bond order analysis module of Multiwfn,
namely decomposing Wiberg bond order to atomic orbital pair and atomic shell pair contributions.
A very simple molecule formaldehyde will be used as example, of course you can extend the
analysis to much more complicated systems. Please read Section 3.11.8 first to understand basic
idea of this analysis method.
This analysis requires natural atomic orbital (NAO) information and density matrix in NAO
basis outputted by Weinhold's NBO program. For Gaussian user, you can run
examples\H2CO_DMNAO.gjf and use the corresponding output file (examples\H2CO_DMNAO.out)
as input file for this analysis. The orientation of the H2CO molecule in Cartesian system is shown
in below graph.
572
4 Tutorials and Examples
Contribution from NAO shell pairs that larger than printing threshold:
From above information, the detail of total Wiberg bond order of 1.9161 becomes quite clear.
According to the molecular graph shown earlier, the px type of NAO corresponds to the 2p atomic
orbital perpendicular to molecular plane, thus the px-px mixing results in bond, its contribution to
the total bond order (0.9145) is close to unity, which is in line with chemical intuition. The 2s-2s
interaction only has weak contribution to the C=O bond, since the value 0.0823 is almost negligible;
the reason should be attributed to the fact that the orbital overlap is insufficient. In addition, the 2py-
2py interaction also plays insignificant role, the contribution is merely 0.0658. The interaction
between 2s(C)-2pz(O), 2pz(C)-2pz(O) and 2pz(C)-s(O) have remarkable contribution to total bond
order, which are 0.1907, 0.3700 and 0.2482, respectively, and the sum reaches as high as 0.8089.
The large contributions must mainly stem from good orbital overlapping.
In order to facilitate discussion, the program also outputs contribution to Wiberg bond order
from various atomic shell pairs. For example, as you can see from above information, interaction
between all 2p orbitals of carbon and all 2p orbitals of oxygen totally contributes 1.3504 of bond
order.
In this function you can also input -1 to define two fragments, then contributions from shell
interactions between the two fragments will be given. For example, we want to study the nature of
interaction between the CO fragment and the two H atoms, in the present function you should input
-1 // Decompose interfragment Wiberg bond order
1,4 // Atoms in fragment 1
2,3 // Atoms in fragment 2
573
4 Tutorials and Examples
0.66301 2s 1s
1.27591 2p 1s
Clearly, the CO moiety mainly uses its 2p shells to form covalent bond with the two H atoms,
while 2s shells of this fragment also play a nonnegligible role.
4.9.5 Study orbital contributions to Mulliken bond order for C-C bond
of CH3CONH2
The Mulliken bond order has been introduced in Section 3.11.4, it is also known as Mulliken
overlap population. This kind of bond order is not particularly useful, since it neither correlates well
with bonding strength nor closely related to bond multiplicity. However, a unique advantage is that
it can be exactly decomposed into orbital contributions, and positive and negative value correspond
to bonding and anti-bonding effect, respectively, this feature is useful for unraveling characteristics
of orbitals. In this section I will use CH3CONH2 as example to illustrate this point.
Boot up Multiwfn and input
examples\CH3CONH2.fch
9 // Bond order analysis
5 // Decompose Mulliken bond order between two atoms to orbital contributions
1,5 // Decompose C1-C5 bond
The result is
...[ignored]
It can be seen that many MOs have evident positive contributions, such as MO7 (0.303), and
MO10 (0.209); a few MOs have negative contributions, especially MO14 (-0.111). There are also
some MOs have almost vanished contributions, such as MO15 (0.005). Therefore, occupation of
MO7 and MO10 should enhance the strength of the C1-C5 bond, while occupation of MO14 must
be harmful for formation of the C1-C5 bond.
The value of the MO contributions to Mulliken bond order can also be understood in terms of
574
4 Tutorials and Examples
For MO7 and MO10, from above graph it can be seen that there is no nodal plane between C1
and C5, the isosurface substantially encloses the C1-C5 bonding region, thus MO7 and MO10 act
as bonding orbital for C1-C5 and have positive contribution to its Mulliken bond order. For MO14,
an evident nodal plane perpendicular to the C1-C5 bond can be clearly seen at the midpoint of C1-
C5, clearly MO14 behaves as an anti-bonding orbital for C1-C5 bond and thus should have negative
contribution to its Mulliken bond order. For MO15, the C1-C5 bonding region is not covered by the
orbital isosurface, this is why contribution from MO15 to C1-C5 Mulliken bond order is negligible.
Beware that in rare cases the contribution values to Mulliken bond order cannot be well
explained by isosurface map, showing deficiency of definition of Mulliken bond order. In this case
you may try to use the orbital occupancy-perturbed Mayer bond order instead (as illustrated in
Section 4.9.1), which is more robust.
It is noteworthy that decomposition of Mulliken and Mayer bond order can be carried out not
only based on molecular orbitals, but also based on localized molecular orbitals (LMOs), in the
latter case the discussion is usually more meaningful. To do so, in general you should use main
function 19 to yield LMOs and then carry out the decomposition analyses as usual.
The intrinsic bond strength index (IBSI) proposed in J. Phys. Chem. A, 124, 1850 (2020) has
certain ability in characterizing strength of covalent bonds, please check Section 3.11.9 for
introduction first. In this section I will illustrate its calculation.
As mentioned in Section 3.11.9, IBSI can be calculated in terms of either IGM or IGMH
formalism, they will be referred to as IBSIIGM and IBSIIGMH, respectively. To calculate the former,
the input file can only contain atom coordinate, while for latter, the input file must carry
wavefunction information. Here we calculate these two indices for acetylene, the .wfn file was
generated at B3LYP/6-31G** level, its geometry was optimized at the same level.
575
4 Tutorials and Examples
The "Dist" corresponds to distance between the two atoms, the Int(dg_pair) stands for the
∫ 𝛿𝑔pair d𝐫 term in the IBSI expression, the "IBSI" is the IBSIIGMH value.
Next, we calculate IBSIIGM. Choose option "2 Toggle type of IGM" to change the form of the
IGM to be calculated as IBSIIGM, then choose option 1 again and select "high quality" to carry out
the calculation, the result is
1(C ) 2(H ) Dist: 1.0657 Int(dg_pair): 0.45781 IBSI: 0.98241
1.8 gIGM
IBSIIGM
1.6 gIGMH
IBSIIGMH
1.4
1.2
1.0
0.8
0.6
0.4
576
4 Tutorials and Examples
As can be seen, the gIGM does not correlate well with bonding strengh, which is directly reflected
by BDE. The linear relationship between IBSIIGM and BDE is perfect, however the slope is large.
The gIGMH seems to have good positive correlation with BDE, it even outperforms the more
sophisticated IBSIIGMH, but currently it is unclear whether this relatively satisfactory relationship
can be transplanted to other types of chemical bonds or weak interactions.
Note that if the input file only contains geometry information, such as .pdb and .xyz, the default
IBSI to be calculated is IBSIIGM, and this is the only available choice.
Strictly speaking, the reference value of IBSI, namely the denominator in the IBSI expression,
should be calculated at the same level as current system, however in the present example we directly
used the built-in data. You can change it if you hope to obtain more rigorous result, the reference
value can also be evaluated using the present function, see Section 3.11.9 for detail.
Please read Section 3.11.10 first to gain basic knowledge about the AV1245 and AVmin indices.
In Section 4.9.11.1, AV1245 and AVmin will be employed to distinguish aromaticity between the
two kinds of six-membered rings in phenanthrene, then in Section 4.9.11.2, porphyrin will be taken
as instance to show the ability of these indices in quantification of aromaticity of large rings.
4.9.11.1 Using AV1245 and AVmin to study local aromaticity of phenanthrene
In Section 4.9.2, MCBO has been used to study the difference in local aromaticity for the two
kinds of rings in phenanthrene, whose geometry and atomic numbering are shown below. In this
section, we will use AV1245 and AVmin to study it again.
577
4 Tutorials and Examples
Namely 1000*AV1245 and 1000*AVmin are 11.171 and 8.015, respectively. The AVmin value
corresponds to 4c-ESI of 3-4-6-1.
Next, we input 3,4,8,9,10,7 to calculate 1000*AV1245 and 1000*AVmin for the central ring,
the result are 5.012 and 3.996, respectively. Clearly, the boundary ring has stronger aromaticity than
the central ring since it has larger AV1245 and AVmin, this conclusion is in line with the MCBO
analysis in Section 4.9.2. In the original paper of AV1245, it is argued that AV1245 behaves as an
approximation of MCBO.
As can be seen, the result are almost identical to those we obtained earlier (11.171 and 8.015), this
is expected since currently diffuse functions are not employed.
578
4 Tutorials and Examples
There are several possible global delocalization paths around the porphyrin, now we calculate
one of them. Although you can manually input atomic indices by tracing atom connectivity as
exhibited in above map, this process is very laborious, especially when the ring under study is large.
It is much better to use GaussView to visually select the atoms in the ring of interest and directly
extract their indices. To do so, we use GaussView to open the porphyrin.fch, then click the brush
icon , then hold down the left mouse button and let the cursor pass every atom in the ring, then
the atoms will be highlighted as yellow, as shown on the left side of the figure below. After that,
choose "Tools" - "Atom Selection", copy out the atom indices from the text box (see below) to
clipboard, namely 1,3-4,6-8,10-14,16-19,21-22,24.
579
4 Tutorials and Examples
Atomic sequence:
1 3 6 8 12 14 17 18 19 22 21 16
13 10 11 7 4 24
...[ignored]
As you can see, the atomic sequence has been properly recognized, it is fully in line with the actual
connectivity in the ring, therefore the result, 2.76, should be meaningful. The AVmin corresponds
to N3-C6-C12-C14, implying that this local region is the bottleneck of electron delocalization over
the whole path.
Similarly, we calculate AV1245 for other rings by inputting below commands
d
1-2,4-8,10-14,16-20,22-24
d
1,3-4,6,8-10,12-13,15-16,18-19,21-22,24
d
1-2,4-6,8-10,12-13,15-16,18-20,22-24
For all calculated rings, the selected atoms as well as results are summarized below, the blue
and green texts correspond to 1000*AV1245 and 1000*AVmin, respectively.
It unambiguous that the path passing through nitrogen of pyrroles but bypassing N-H group is the
most favorable delocalization channel, since its 1000*AV1245 and 1000*AVmin values (2.76 and
580
4 Tutorials and Examples
1.94) are both larger than other pathways. It is worth to mention that for the two paths shown at
bottom of the above map, although their AV1245 are unequal, their AVmin are exactly identical.
This observation suggests that despite average extents of electron delocalization on the two selected
paths are notably different, the bottlenecks are the same.
This system has also been studied in Section 4.4.9 via LOL-, the resulting graph is given
below, from which it can be clearly seen that the degree of electron delocalization along different
paths is significantly different, the top priority delocalized path is vividly revealed by red or orange
color. Obviously the most favorable delocalization path unveiled by AV1245 and AVmin is in good
agreement with that revealed by LOL-.
It is worth to note that the precondition of using the convenient "d" mode in inputting atomic
indices is that there is no atom in the ring connecting more than two other atoms in the ring. For
example, for the naphthalene shown below, you should not enter "d" mode and input 1-10 to
calculate the AV1245 and AVmin to study the global aromaticity around the whole system, because
the atoms 9 and 10 simultaneously connect three atoms, in this case the correct atomic sequence in
the ring cannot be automatically determined by Multiwfn.
In this section, I will illustrate how to use Multiwfn to easily plot various kinds of density-of-
states (DOS) maps. The relevant theories and usage introductions of the DOS module can be found
in Section 3.12.
More in-depth discussions and DOS plotting examples can be found in my blog article "Plotting density-of-
states maps by Multiwfn to study electronic structure" (http://sobereva.com/482, in Chinese)
581
4 Tutorials and Examples
In this example, we will plot total, partial and overlap density-of-states (TDOS, PDOS and
OPDOS) for N-phenylpyrrole, whose structure is shown below. This example consists of six parts.
Please read Section 3.12.1 first if you are not familiar with DOS.
Because basis function information is required in plotting PDOS and OPDOS, we use .fch as
input file in these examples, using .mwfn, .molden or .gms file is also OK, but .wfn/.wfx cannot not
used, since they do not contain information of basis function and virtual MOs. If you only need to
obtain TDOS, you can also simply use a plain text file recording MO energy levels or the Gaussian
output file with pop=full keyword as input file, see Section 3.12.1 for file format.
It is noteworthy that if you intend to plot PDOS and OPDOS based on the default Mulliken orbital composition
method, employing diffuse functions must be avoided, because they severely hurt the reliability of the orbital
compositions evaluated by Mulliken or SCPA method. However, you can safely use diffuse functions if you let
Multiwfn calculate orbital composition via Hirshfeld or Becke method, but OPDOS cannot be plotted in this case.
The wavefunction of present system was generated at B3LYP/6-31G* level.
TDOS
9.00
8.00
7.00
Density-of-states
6.00
5.00
4.00
3.00
2.00
1.00
0.00
-0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20
Energy (a.u.)
In this map, the curve is the TDOS simulated based on the distribution of MO energy levels, each
discrete vertical line corresponds to a molecular orbital (MO), the dashed line highlights the position
of HOMO, the black and gray lines indicate position of occupied and unoccupied MO levels,
582
4 Tutorials and Examples
respectively. In the negative part, the region around -0.40 a.u. has obviously larger state density than
other regions.
Clicking mouse right button on the graph to close it, and select option 0 to return to last menu.
We can also change the energy unit and energy range, and the line height can be used to indicate
orbital degeneracy. To realize this, input below commands:
8 // Switch the unit from the default a.u. to eV
2 // Set energy range
-30,5,5 // Set lower and upper limits to -30 eV to 5 eV, the spacing between labels is 5 eV
9 // Using line height to show orbital degeneracy
0.05 // If energy difference between two orbitals is less than 0.05 eV, they will be regarded as
degenerate
0 // Plot TDOS map again
Now we have below map. The line height indicates degeneracy and corresponds to the axis at
right side. As can be seen, some orbitals have degeneracy of 2.
0.36 10
TDOS
9
0.32
8
0.28
7
Density-of-states
0.24
6
Degeneracy
0.20
5
0.16
4
0.12
3
0.08 2
0.04 1
0.00 0
-30.00 -25.00 -20.00 -15.00 -10.00 -5.00 0.00 5.00
Energy (eV)
In addition, if you would like to draw the lines at bottom of the curve, you can select option
“22 Toggle drawing lines at bottom of curves” in post-processing menu and then select option 1 to
replot, you will see
583
4 Tutorials and Examples
0.36
TDOS
0.32
0.28
Density-of-states
0.24
0.20
0.16
0.12
0.08
0.04
0.00 2
Degen.
0
-30.00 -25.00 -20.00 -15.00 -10.00 -5.00 0.00 5.00
Energy (eV)
584
4 Tutorials and Examples
lower, upper limits and label interval of left Y-axis (corresponding to TDOS and PDOS) to -2.0, 9.0
and 1.0, respectively. Select 14 and input the scale factor 0.2, then range of the right Y-axis
(corresponding to OPDOS) will be set to -0.4, 1.8 (because -2.0*0.2=-0.4 and 9.0*0.2=1.8).
Shrinking the range of the Y-axis at right side is equivalent to enhancing the amplitude of OPDOS
curve, which makes the variation of OPDOS in the map clearer. Then select option 1 to replot the
DOS map, you will see
9.00 1.80
TDOS
8.00 PDOS frag.1 1.58
PDOS frag.2
7.00 PDOS frag.3 1.36
OPDOS
6.00
1.14
Density-of-states
5.00
0.92
OPDOS
4.00
0.70
3.00
0.48
2.00
0.26
1.00
0.00 0.04
-1.00 -0.18
-2.00 -0.40
-1.10 -1.00 -0.90 -0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10
Energy (a.u.)
The axis at left side corresponds to TDOS and PDOS, while the one at right side corresponds
to OPDOS. The red, blue and magenta curves and discrete lines represent PDOS of fragment 1, 2
and 3, respectively. It can be seen that in most valence MOs, the fragments 1 and 2 have comparable
amount of contribution. The fragment 3 (hydrogens) mainly contributes to the MOs between -0.60
~ -0.35 a.u. Green curve is the OPDOS between fragments 1 and 2, its positive part implies that the
MOs in corresponding energy range show bonding character between the two fragments (e.g. the
one at -0.8 a.u., which corresponds to MO14); there are also regions where OPDOS is negative, e.g.
the HOMO-1 (-0.213 a.u.) behave as antibonding orbitals between the two fragments.
585
4 Tutorials and Examples
Current system is calculated under 6-31G* basis set, according to the basis set definition, each
valence atomic orbital is represented by two basis functions of corresponding type. Therefore, what
we should do is to put basis functions 63 and 67 into the fragment, they collectively represent the
px orbital of nitrogen (For other kinds of basis set, you can consult Section 4.7.6 on how to identify
correspondence between basis functions and atomic orbitals). Input below commands
b 63,67 // Then you can input command all again, the basis functions added to present fragment
are marked by asterisks
q // Save fragment
0 // Return
0 // Plot TDOS and PDOS
Please analyze the resulting graph yourself.
9.00
TDOS
8.00 PDOS frag.1
7.00
6.00
Density-of-states
5.00
4.00
3.00
2.00
1.00
0.00
-1.00
-2.00
-1.10 -1.00 -0.90 -0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10
Energy (a.u.)
586
4 Tutorials and Examples
many atoms, this process will take you a lot of time and thus is very troublesome. A much better
way is to use the condition selection command.
Select option 0 to return to last menu and then input
-1 // Define fragments
1 // Redefine fragment 1
clean // Clean existing content of the fragment
cond // Use conditions to select basis functions. You will be prompted to input three conditions,
the basis functions simultaneously satisfying the three conditions will be added to current fragment
1-5 // The first condition is that the basis functions must belong to the heavy atoms in pyrrole
moiety (atoms 1~5)
[Press ENTER button] // The second condition is the index range of basis functions. Press
ENTER button directly means basis function index is arbitrary
X // The third condition is that the type of basis function should be PX
q // Save fragment 1
2 // Define fragment 2
cond // Use conditions to select basis functions
10-13,15,17 // Atom index of the carbons in the phenyl moiety
[Press ENTER button] // No requirement on index of basis functions
X // Basis function must be PX type
q // Save fragment 2
0 // Return to last menu
0 // Draw TDOS+PDOS+OPDOS
9.00 1.80
TDOS
8.00 PDOS frag.1 1.58
PDOS frag.2
7.00 OPDOS 1.36
6.00
1.14
Density-of-states
5.00
0.92
OPDOS
4.00
0.70
3.00
0.48
2.00
0.26
1.00
0.00 0.04
-1.00 -0.18
-2.00 -0.40
-1.10 -1.00 -0.90 -0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10
Energy (a.u.)
This time the PDOS curves only cover high-energy regions, implying that most π MOs in
present system have higher energy than MOs. Please use main function 0 of Multiwfn to visualize
corresponding MO isosurfaces.
587
4 Tutorials and Examples
588
4 Tutorials and Examples
10.00
TDOS
9.00 s
p
8.00 d
7.00
Density-of-states
6.00
5.00
4.00
3.00
2.00
1.00
0.00
-0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20
Energy (a.u.)
From this map, it is clear that occupied frontier MOs (those close to the dash line) are solely
contributed by p orbitals.
If you want to plot PDOS for certain angular moment of orbitals for specific atoms, it is also
very easy. For example, by inputting below commands in the fragment definition interface, a
fragment corresponding to all p orbitals of all the four carbons in the pyrrole moiety could be defined.
cond // Use conditions to select basis functions
1-4 // Atoms 1~4
[Press ENTER button] // No requirement on basis function index
P // Basis function of P angular moment
589
4 Tutorials and Examples
2 // Define fragment 2
10-13,15,17 // Set phenyl moiety (atoms 10~13, 15 and 17) as the fragment
3 // Define fragment 3
6-9,14,16,18-20 // Set all hydrogens as the fragment
0 // Return to last menu
2 // Set X-axis
-1.1,-0.1,0.1
0 // Draw TDOS+PDOS
The resulting graph is almost identical to that plotted based on the compositions derived by the
default Mulliken method (however, the difference is often evident for the energy range composing
of unoccupied MOs, clearly the PDOS based on Hirshfeld is more reliable). Note that OPDOS
cannot be plotted when Hirshfeld method is employed to calculate orbital compositions.
If you do not know what is local DOS (LDOS), please check Section 3.12.4 first. Briefly
speaking, TDOS represents DOS curve for the whole system, PDOS describes DOS curve for an
atom (or fragment), while LDOS exhibits DOS curve for a point (i.e. space-resolved). In addition,
we can plot LDOS for a set of point constituting a line as color-filled map, the X-axis corresponds
to energy while the Y-axis shows position in the line. LDOS is useful when interpreting the data
from scanning tunneling microscope (STM), you can find relating experimental data in e.g. J. Phys.
Chem. Lett., 5, 3701 (2014).
In the current example, we plot LDOS for butadiene at selected points. First, we plot LDOS
for the point over 1.5 Bohr of terminal carbon of butadiene. Boot up Multiwfn and input following
commands:
examples\butadiene.fch
0 // Visualize molecular structure
From output in the command-line window we can find the expected point should be 1.137 3.308
1.5 (1.5 Bohr above C1). Close the GUI window and input
10 // DOS plotting module
10 // Draw local DOS for a point
1.137,3.308,1.5
Then you will see (you can compare it with TDOS map)
590
4 Tutorials and Examples
0.038
0.034
0.030
0.026
Density-of-states
0.023
0.019
0.015
0.011
0.008
0.004
0.000
-0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20
Energy (a.u.)
Next, we plot color-filled map along the line connecting the two points above 1.5 Bohr of the
two terminal carbons (C1 and C8), input below commands
11 // Draw local DOS along a line
1.137,3.308,1.5
-1.137,-3.308,1.5
200 // Evenly taking 200 points along line
Then close the graph that pops up and input
4 // Modify the ratio between Y and X axes
0.5 // The length of Y-axis will be half of X-axis
1 // Replot
Then you can see
The color in this graph represents density of states at different 3D spatial positions (Y-axis) and
591
4 Tutorials and Examples
different energies (X-axis). The pink arrows highlight the gaps at three different spatial positions.
If you still feel difficult in understanding meaning of the map, please check below figure, in
which some important information are explicitly labelled.
It is easy to understand, the lowermost horizontal line of the above graph (viz. the green dash
line at Y=0) corresponds to the LDOS curve map at the position of 1.5 Bohr above C1, which has
been plotted by us earlier.
In Section 4.10.1, we have plotted a closed-shell system, while in this section, I will illustrate
how to plot DOS for a typical open-shell system Na3O@Si12C12, which was studied in my work J.
Comput. Chem., 38, 1574 (2017) and is doublet. For open-shell cases calculated in unrestricted
formalism, there are two kinds of spins, they should be simultaneously taken into account, The .fchk
file can be downloaded here: http://sobereva.com/multiwfn/extrafiles/Na3O-Si12C12.rar, which
corresponds to UM06-2X/6-311G* wavefunction at optimized geometry.
First, we plot TDOS+PDOS map for alpha spin, the PDOS will correspond to the Na3O. Boot
up Multiwfn and input
Na3O-Si12C12.fchk
10 // DOS plotting module
-1 // Define fragments
1 // Define fragment 1
a 1,4,27,28 // These four atoms correspond to the Na3O moiety
q // Save fragment
0 // Return
0 // Plot TDOS+PDOS
Close the graph pops up
22 // Enable drawing lines at bottom of curves
1 // Replot
You will see below graph. By default, for unrestricted wavefunction, only alpha MOs are taken
into account, therefore the below map is DOS map of alpha spin.
592
4 Tutorials and Examples
TDOS
27.81 PDOS frag.1
24.72
21.63
Density-of-states
18.54
15.45
12.36
9.27
6.18
3.09
0.00
-0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20
Energy (a.u.)
Choose option 0 to return to last menu. If you want to plot the DOS map for beta spin, you
should select "6 Choose orbital spin" and then choose "2 Beta spin". If you do not want to distinguish
spin but want to take all MOs into account, you should choose "3 Both spins". Please choose beta
spin and replot the map via option 0 again, you will find the map is similar to that of alpha spin,
showing that in this system the spin polarization is not quite evident.
In order to make comparison between alpha and beta DOS maps intuitive, we can try to make
a figure, the upper part and lower part correspond to alpha spin and beta spin, respectively. Such a
map cannot be directly produced by Multiwfn, however it can be easily prepared via Multiwfn in
combination with third-part visualization software such as Origin, as shown below. The Origin
version I am using is 9.0
We first use Multiwfn to plot the alpha TDOS+PDOS map in aforementioned way, in the post-
processing menu, choose "3 Export curve and line data to plain text file in current folder". Rename
the DOS_curve.txt to alpha.txt. Return to DOS plotting interface, change to beta spin, plot the map
and then export the data set again, rename the DOS_curve.txt to beta.txt. The DOS_line.txt can be
deleted because we will not utilize it.
Boot up Origin, drag both alpha.txt and beta.txt into it to import them. Currently, in the
workbook corresponding to beta spin, B and C columns correspond to TDOS and PDOS curve data,
respectively. We choose "Set Column Values" option for column D (which is empty currently), set
the content D to -Col(B); similarly we set column of E to -Col(C).
Next, we select proper option to plot line map. In the worksheet corresponding to alpha spin,
we add column A as X data, add columns B and C as two sets of Y data. In the worksheet
corresponding to beta spin, we add column A as X data, while add columns D and E as Y data. After
some adjustments, you will obtain below graph, which nicely exhibits DOS and PDOS for alpha
and beta spins, respectively.
593
4 Tutorials and Examples
30
TDOS
PDOS (Na3O) HOMO
20
TDOS
PDOS (Na3O)
10
Density of states
-10
-20
HOMO
-30
-0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2
Energy (Hartree)
Note that in order to plot a horizontal line corresponding to DOS=0 and two vertical lines
highlighting HOMO level of alpha and beta spins, I also created the third worksheet and properly
filled the content. The value of the alpha and beta HOMOs can be directly found from the prompts
when you selecting option 0 in DOS module to draw the map, namely
Note: The vertical dash line corresponds to HOMO level at -0.171 a.u.
and
Note: The vertical dash line corresponds to HOMO level at -0.221 a.u.
The aforementioned alpha.txt, beta.txt as well as the Origin .opj file of the map have been
provided in "examples\DOS\" folder.
In Section 3.12.4, the theory of PES and the interface for plotting PES have been introduced,
please read it if you have not. In present section, Cr3Si12- will be taken as example to illustrate how
to very easily plot PES, we will plot PES employing generalized Koopmans' theorem. This system
has been studied in J. Phys. Chem. A, 122, 9886 (2018) under PBE/6-311+G* level, it is worth to
note that the calculated first VIP of this system 2.56 eV.
Using the optimized structure of this system provided in supplemental material in the JPCA
paper, I carried out a single point task using the same level as the paper by Gaussian 16, the resulting
Cr3Si12-.fchk file can be downloaded here: http://sobereva.com/multiwfn/extrafiles/Cr3Si12-.rar.
Boot up Multiwfn and input
Cr3Si12-.fchk
10 // DOS module
12 // Interface for plotting PES. You will find HOMO level has been shown on the screen,
594
4 Tutorials and Examples
namely -0.77 eV, which is the highest one among alpha HOMO and beta HOMO
3 // Set shift value to meet generalized Koopmans' theorem
1.79 // Should be 1st VIP + E(HOMO). For present case the value is -0.77+2.56=1.79 eV
4 // Set X-axis
1,4.5,0.5 // The energy span is 1.0~4.5 eV, with label step of 0.5 eV
9 // Set width of curve
10 // Make the curve thicker than default
1 // Plot the spectrum
The resulting spectrum is shown below. Note that the absolute value of Y-axis in fact is
meaningless, you can choose option "13 Toggle showing labels and ticks on Y-axis" once to switch
its status to "No" to remove the labels and ticks on the Y-axis.
The experimental spectrum provided in the J. Phys. Chem. A paper is shown below
Clearly, our simulated spectrum is in very good agreement with the experimental one, showing
that our plotting procedure and methodology are completely reasonable.
595
4 Tutorials and Examples
This section illustrate how to plot and analyze MO-PDOS map. The so-called "MO-PDOS"
refers to a special kind of PDOS, which is used to reveal DOS contributed by different sets of MOs
(rather than by atoms or basis functions as the PDOS in common sense), the PDOS curves and
discrete lines corresponding to different sets of MOs are shown using different colors. If requested,
the height of discrete lines can be used to reflect degeneracy of orbital levels.
We will plot MO-PDOS for cyclo[18]carbon, its structure optimized at B97XD/def2-TZVP
level is shown below, it is an exactly planar system with point group of D9h. The .fchk file of this
system corresponding to B97XD/def2-TZVP wavefunction at minimum point structure can be
download here: http://sobereva.com/multiwfn/extrafiles/C18.zip.
Occupied valence MOs of this system consist of three types, you can identify their indices by
viewing orbitals via main function 0:
(1) MOs: 19-36
(2) in-plane MOs: 37,39,40,45,46,49,50,53,54
(3) out-plane MOs: 38,41,42,43,44,47,48,51,52
In the MO-PDOS map to be plotted, we will use different colors to respectively reveal the position
of energy levels of these orbitals as well as their contributions to total DOS.
596
4 Tutorials and Examples
18.10
TDOS
16.29 PDOS frag.1
PDOS frag.2
PDOS frag.3
14.48
12.67
Density-of-states
10.86
9.05
7.24
5.43
3.62
1.81
0.00
-0.80 -0.70 -0.60 -0.50 -0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20
Energy (a.u.)
In this figure, the red, blue and purple discrete lines indicate position of MOs, in-plane MOs
and out-plane MOs, respectively. The ones have evidently lower energies than the ones, while
the two kinds of MOs have similar energy distribution. From the broadened curves, we can
identify the respective contributions due to the three types of MOs, the sum of heights of the colored
curves just equals to the black curve, which portrays the total DOS. Since the defined fragments are
only composed of occupied MOs, the unoccupied region of the map is completely identical to usual
TDOS map.
We can further improve the setting of the MO-PDOS map. After closing the graph, we input
0 // Return to last menu from the post-processing menu
8 // Switch the energy unit to eV
2 // Set energy range and step
-28,1,3 // Set lower and upper limits of plotting region to -28~1 eV with step of 3 eV, so that
all occupied valence MOs and a few lowest-lying virtual MOs could be displayed in the map
9 // Enabling using height of discrete lines to indicate orbital degeneracy
[Press ENTER button directly] // Use default threshold to determine degeneracy
0 // Plot DOS map
Close the map, then in the post-processing menu we input
16 // Set the texts in the legends
1 // Set legend for PDOS 1
sigma MOs
2 // Set legend for PDOS 2
in-plane pi MOs
3 // Set legend for PDOS 3
out-of-plane pi MOs
0 // Return to post-processing menu
6 // Disable showing TDOS discrete lines
597
4 Tutorials and Examples
10
TDOS
0.45 sigma MOs 9
in-plane pi MOs
0.40 out-of-plane pi MOs
8
0.35 7
Density-of-states
0.30 6
Degeneracy
0.25 5
0.20 4
0.15 3
0.10 2
0.05 1
0.00 0
-28.00 -25.00 -22.00 -19.00 -16.00 -13.00 -10.00 -7.00 -4.00 -1.00
Energy (eV)
From the height of the colored discrete lines, you can clearly find most occupied valence
orbitals are doubly degenerate.
d-band center refers to the center position of the PDOS corresponding to d-orbitals. d-band
center of transition metals is an important quantity in explaining and predicting difference in
chemisorption strength of small molecules on transition metal systems, it is also closely related to
activity of surface catalysis, see PNAS, 108, 937 (2011) and Sci. Rep., 6, 35916 (2016) for more
information.
The DOS plotting module of Multiwfn can be used to evaluate d-band center. Since Multiwfn
automatically calculates and prints center of each PDOS curve when drawing DOS map, the d-band
598
4 Tutorials and Examples
center can be directly obtained by defining a fragment as all D-type of basis functions of the
transition metals of interest. In this section, I will take Cu13 (doublet) as an example to illustrate the
calculation. d-band center of this system has also been reported in J. Clust. Sci., 29, 867 (2018). The
Gaussian .fchk file of this system generated by optimization task at UPBE/Lanl2DZ level can be
directly downloaded here: http://sobereva.com/multiwfn/extrafiles/Cu13.zip. This calculation level
is the same as the J. Clust. Sci. paper.
Boot up Multiwfn and input
Cu13.fchk
10 // Plot DOS map
-1 // Define fragment
1 // Define fragment 1
cond // Define the fragment using conditions
[Press ENTER button] // No requirement on atomic indices
[Press ENTER button] // No requirement on basis function indices
D // The basis functions must be D-type
q // Save current fragment
q // Return to DOS plotting interface
8 // Switch the energy unit from a.u. to eV
2 // Set range of X-axis
-13,0,2 // Lower limit, upper limit and spacing between ticks
0 // Plot DOS map
Now you can see the following map. The red curve corresponds to PDOS of d-band
TDOS
2.97 PDOS frag.1
2.64
2.31
Density-of-states
1.98
1.65
1.32
0.99
0.66
0.33
0.00
-13.00 -11.00 -9.00 -7.00 -5.00 -3.00 -1.00
Energy (eV)
599
4 Tutorials and Examples
Usually d-band center is reported relative to Fermi energy level (Ef). However, Ef is not well
defined for isolated systems such as molecules and clusters, but conventionally it can be regarded
as HOMO level. Therefore, the d-band center of the Cu13 is -6.510656-(-4.16932) = -2.34 eV, which
is in very good agreement with the -2.33 eV reported in Table 3 of J. Clust. Sci., 29, 867 (2018).
Note that for unrestricted open-shell wavefunction like this example, d-band center is different
for alpha and beta spins. By default only alpha orbitals are taken into account, if you need to
calculate it for beta orbitals, you should choose option "6 Choose orbital spin" and select beta.
The choice of range of X-axis is a matter of concern. The formula of calculating center of
PDOS can be found in Section 3.21.1, it can be seen that only the segment of PDOS in present
energy range (range of X-axis) is taken into account, namely the PDOS between -13 and 0 eV is
involved in the calculation of d-band center. Clearly, different choices of energy range may result
in different d-band center values. You must guarantee that the current energy range fully encloses
the actual PDOS region of d-band. The lower limit is relatively arbitrary, because the PDOS is
exactly zero below -13 eV, decreasing the lower limit will not influence the center position. The
choice of upper limit is more critical, without special situation I suggest simply set it to zero like
the present example. The upper limit should not be set to a very high value, otherwise the PDOS
lacking of chemical significance will be included in the calculation. For example, if you set lower
and upper limits to -20 and 60 eV, respectively, the PDOS will be
TDOS
2.97 PDOS frag.1
2.64
2.31
Density-of-states
1.98
1.65
1.32
0.99
0.66
0.33
0.00
-20.00 -10.00 0.00 10.00 20.00 30.00 40.00 50.00 60.00
Energy (eV)
As can be seen, the PDOS of the fragment corresponding to D-type basis functions is also very large
between 15~40 eV, and the reported center position is even an unphysical positive value. This
phenomenon comes from the fact that Lanl2DZ is an extended basis set, each d atomic orbital of Cu
is represented by two basis functions. The high-lying part of the PDOS essentially corresponds to
the MOs orthogonal to the valence d orbitals approximately within the range of -13~0 eV.
600
4 Tutorials and Examples
Multiwfn has a very powerful and flexible spectrum plotting module. The basic principles,
supported input files and all options of this module have been detailedly introduced in Section 3.13.
In the next sections I will briefly exemplify the usage of this module. If you are not familiar with
related theories, please carefully read Section 3.13.1 first.
It is worth to note that there is also an article of introducing detailed steps on how to simulate
UV-Vis and ECD spectra using Multiwfn in combination with ORCA, see http://sobereva.com/485.
This example plots infrared (IR) spectrum for NH3BF3. Multiwfn can read in frequencies and
intensities from output file of Gaussian or ORCA vibration analysis task (“freq” keywords). Boot
up Multiwfn and input following commands
examples\spectra\NH3BF3_freq.out // The output file of optimization and vibrational analysis
task of Gaussian at B3LYP/6-31G* level
11 // Plot spectrum
1 // The type of the spectrum is IR
0 // Show the spectrum right now
You will get below graph
6013.86 377.95
5392.43 338.90
Molar absorption coefficient (L/mol/cm)
4771.00 299.84
4149.56 260.79
IR intensities (km/mol)
3528.13 221.73
2906.70 182.68
2285.27 143.62
1663.83 104.57
1042.40 65.51
420.97 26.46
-200.46 -12.60
4000.0 3600.0 3200.0 2800.0 2400.0 2000.0 1600.0 1200.0 800.0 400.0 0.0
Wavenumber (cm^-1)
The left axis corresponds to curve (broadened data), the right axis corresponds to discrete lines
(original transition data). Plotting parameters such as full width at half maximum (FWHM),
broadening function, unit and range of the axes can be adjusted by corresponding options in the
interface. The graph and X-Y data set of discrete lines/curve can be exported by option 1 and 2,
respectively.
Note that after selecting option 0 to plot the spectrum, Multiwfn prints extrema information in
the console window
601
4 Tutorials and Examples
...[ignored]
From this output you can obtain accurate position and height of absorption peaks. As will be
illustrated in Section 4.11.3, the maxima and minima can even be directly labelled on the spectrum.
It is well known that the frequencies produced under harmonic approximation deviate to
experimental vibrational frequencies systematically. In order to correct this problem, fundamental
frequency scale factor should be applied, this can be done easily in Multiwfn. We close the spectrum
and then choose "14 Set scale factor for vibrational frequencies ", then press ENTER button directly
to choose all vibrational modes, then press ENTER button directly again to employ the scale factor
fitted for B3LYP/6-31G* level, namely 0.9614, which can be found in Table 1 of J. Phys. Chem.,
100, 16502 (1996). After that, if you replot the spectrum, the resulting spectrum will correspond the
scaled one.
Note: You can apply different scale factors for different vibrational modes. After applying a scale factor for a
batch of modes, you can enter option 14 again, Multiwfn will ask you if restoring all vibrational frequencies to the
original ones. If you input n, then you can input a different scale factor for another batch of modes, the effect will be
superimposed.
Some experimental IR spectra determine transmittance rather than absorption. To mimic this
kind of spectrum, you can select "4 Set left Y-axis" and then input e.g. 6000,0,400 to set lower limit,
upper limit and label interval to corresponding values, respectively, and then input y to automatically
scale the right Y-axis. Since currently lower limit (0) is higher than upper limit (6000), the Y-axis is
inverted.
The procedure of plotting Raman, UV-Vis, electronic/vibrational circular dichroism
(ECD/VCD), ROA spectra is very similar to plotting IR spectrum, you only need to use proper input
file and select corresponding option after entering main function 11. If the quantum chemistry
program you used for spectrum calculation is not the one directly supported by Multiwfn, you can
manually extract data from corresponding output file and then write them into a plain text file
according to the format shown in Section 3.13.2, then the file can be used as input file of Multiwfn
for plotting spectrum.
The spectrum plotting module of Multiwfn is quite flexible, not only the total spectrum but
also the contribution from individual transitions can be exported. This feature is particularly useful
when you want to identify nature of spectrum. In this section I will show how to realize this analysis,
UV-Vis spectrum of acetic acid is taken as example.
Boot up Multiwfn and input
examples\spectra\acetic_acid_TDDFT.out // Calculated at TD-B3LYP/cc-pVDZ level by
Gaussian
602
4 Tutorials and Examples
11 // Plot spectrum
3 // The type of the spectrum is UV-Vis
15 // Output the spectrum including the contributions from certain individual transitions
0.01 // The criterion of selecting transitions is oscillator strength > 0.01
The curve of the UV-Vis spectrum together with the contributions from the transitions whose
absolute value of strength are larger than 0.01 have been outputted to spectrum_curve.txt in current
folder. The first two columns correspond to energies and molar absorption coefficients, the
correspondence between the other columns and transition modes are clearly indicated on screen:
Column# Transition#
10000
0.24
9000 Total
0.22
Molar absorption coefficient (L mol cm )
-1
S0→S2
8000 S0→S3 0.20
-1
S0→S5
7000 0.18
S0→S11
S0→S13 0.16
Oscillator strength
6000
0.14
5000 0.12
4000 0.10
3000 0.08
0.06
2000
0.04
1000 0.02
0 0.00
80 100 120 140 160 180 200
Wavelength (nm)
From the graph the underlying character of the total UV-Vis spectrum (black curve) is now
very clear. Although the S0→S3 transition (146.28nm) does not has very small oscillator strength
(0.036), no absorption peak directly corresponds to this transition, since its absorption curve (blue
curve) has been completely merged into the neighboring large absorption peak due to S0→S5
transition (cyan curve).
As mentioned in last section, after selecting option 0 to plot spectrum, Multiwfn directly prints
603
4 Tutorials and Examples
...[ignored]
Based on above outputs, we can calculate the contributions from different transitions to a given
peak. For example, we want to study the composition of the peak at 138.0728 nm. In
spectrum_curve.txt, move to the line corresponding to 138.07278 nm, you can find the total value
is 4667.79439, while the values in column 4 and 5 are 309.47267 and 4273.59757, respectively.
Therefore, the contribution from S0→S3 and S0→S5 can be respectively calculated as
309.47267/4667.79439100% = 6.63% and 4273.59757/4667.79439100% = 91.55%.
In Multiwfn one can very easily obtain major contributions from various transitions to a given
wavelength. For example, we want to understand the transitions having maximal contribution to the
maximum 3 (138.0728 nm), so we input
15 // Output contributions of individual transitions to the spectrum
0 // Calculate maximal 10 contributions to a given position
138.0728 // The position of interest
You will see
Sum of absolute values of all transitions: 4667.79444
#Transition Contribution %
5 4273.59504 91.555
3 309.47511 6.630
4 68.05085 1.458
6 11.67756 0.250
11 2.33209 0.050
8 2.13478 0.046
7 0.22284 0.005
2 0.14507 0.003
10 0.10019 0.002
9 0.06091 0.001
It is clearly seen that S0→S5 contributes most to the maximum (91.5%), while S0→S3 plays
an unimportant but nonnegligible role (contributes 6.6%).
In this example we plot electronic circular dichroism (ECD) spectrum for asparagine. Boot up
Multiwfn and input
examples\spectra\Asn_TDDFT.out // Gaussian TDDFT task at PBE0/6-311G* level, 30 lowest
604
4 Tutorials and Examples
Note that you can use exactly the same way as that illustrated in Section 4.11.2 to decompose
the total ECD spectrum to individual contribution from each transition.
As can be seen from the above spectrum, the unit of at left axis is labelled as arb., which
means “arbitrary unit”. Only curve shape of ECD is of interest, this is why arb. is and should be
used in this situation.
605
4 Tutorials and Examples
80.0 50.6
60.0 37.9
40.0 25.3
234.4
20.0 12.6
139.2
(arb.)
0.0 0.0
144.5
132.4
210.9
-20.0 -12.6
-40.0 -25.3
-60.0 -37.9
-80.0 -50.6
169.1
-100.0 -63.2
120.0 140.0 160.0 180.0 200.0 220.0 240.0 260.0 280.0
Wavelength (nm)
You can also make Multiwfn label Y-axis value at the extrema on the map, now we do this, and
meantime we customize some plotting parameters. Input below commands
16 // Enter the interface of setting status of showing labels of spectrum minima and maxima
6 // Switch the content of the labels to Y-axis value
4 // Do not rotate the labels (this step is optional)
3 // Set decimal digits (this step is optional)
0 // No decimal digits, namely show data as integer
2 // Set label size
50 // Larger text size than default (30)
0 // Return
0 // Plot spectrum again
Now you can see below map
606
4 Tutorials and Examples
100.0 63.2
88
80.0 50.6
60.0 37.9
40.0 25.3
6
0.0 0.0
-7 -6
-20.0 -14 -12.6
-40.0 -25.3
-60.0 -37.9
-80.0 -50.6
-77
-100.0 -63.2
120.0 140.0 160.0 180.0 200.0 220.0 240.0 260.0 280.0
Wavelength (nm)
For a flexible system with many thermally accessible conformation (or configurations), when
plotting its spectrum, it is crucial to take weighting average of various conformations into account,
otherwise the resulting spectrum is impossible to be compared well with experimental spectrum.
Fortunately, weighted spectrum can be very conveniently plotted by Multiwfn, I will show how to
do this in present section. Plotting conformational weighted UV-Vis and ECD spectra of plumericin
are taken as instances.
Preparation
607
4 Tutorials and Examples
examples\spectra\weighted\b.out 0.1950
examples\spectra\weighted\c.out 0.1686
examples\spectra\weighted\d.out 0.0317
As can be seen, in the multiple.txt, each line contains path of output file of a conformation
followed by its Boltzmann weight we calculated above. Hereinafter, the four conformations will be
referred to as a, b, c and d, respectively.
PS: If you are using Linux system, and there are / symbols or space in the path, do not forget to add double
quotation marks at the two ends of the path, otherwise Multiwfn cannot recognize the file path, for example:
"examples/spectra/weighted/a.out" 0.6046
"examples/spectra/weighted/b.out" 0.1950
"examples/spectra/weighted/c.out" 0.1686
"examples/spectra/weighted/d.out" 0.0317
608
4 Tutorials and Examples
26402.31 0.120
Weighted
1 ( 60.5%)
23674.07 2 ( 19.5%) 0.107
3 ( 16.9%)
4 ( 3.2%)
Molar absorption coefficient (L/mol/cm)
20945.83 0.095
18217.59 0.083
Oscillator strength
15489.36 0.070
12761.12 0.058
10032.88 0.046
7304.64 0.033
4576.40 0.021
1848.16 0.008
-880.08 -0.004
137.1 154.5 172.0 189.5 206.9 224.4 241.8 259.3 276.8 294.2 311.7
Wavelength (nm)
The thick red curve corresponds to conformational weighted UV-Vis spectrum, while the green,
blue, purple and black curves correspond to UV-Vis spectrum of conformation a, b, c and d,
respectively. The weight of each conformation is also shown in the legend. From this graph the we
can very conveniently compare the character of weighted spectrum and spectra of individual
conformations.
The black discrete lines on the graph represent all transition data of the four conformations,
their heights have already been scaled by conformational weight. Hence, the thick red curve can be
regarded as broadened by all discrete lines shown on the graph.
Multiwfn provides another mode to plot spectrum of individual conformations. We close above
graph and choose "18 Toggle weighting spectrum of each system" once, then choose option 0 to
view the spectrum again, we will see
25486.27 0.120
Weighted
1 ( 60.5%)
22852.69 2 ( 19.5%) 0.107
3 ( 16.9%)
4 ( 3.2%)
Molar absorption coefficient (L/mol/cm)
20219.11 0.095
17585.53 0.083
Oscillator strength
14951.95 0.070
12318.37 0.058
9684.78 0.046
7051.20 0.033
4417.62 0.021
1784.04 0.008
-849.54 -0.004
137.1 154.5 172.0 189.5 206.9 224.4 241.8 259.3 276.8 294.2 311.7
Wavelength (nm)
609
4 Tutorials and Examples
The spectrum curve of each conformation shown on this graph has already been multiplied by
corresponding weight. Obviously, what this graph represents is contribution of each conformation
to the conformational weighted spectrum. In other words, the height of thick red curve is simply the
sum of height of all other curves. It can be seen that conformation a (green line) has major
contribution to the conformational weighted spectrum, their profiles are rather similar, this is
because a has as high as 60.5% population.
The discrete lines in above graph now have different colors, the color correspond to legend
shown at right-top side. For each conformation, since both discrete lines and curve currently have
identical color, we can say for example, green curve can be directly yielded by broadening the green
discrete lines.
153.883 33.49
Weighted
1 ( 60.5%)
123.106 2 ( 19.5%) 26.79
3 ( 16.9%)
Delta molar absorption coefficient (L/mol/cm)
61.553 13.40
Rotatory strength (cgs)
30.777 6.70
0.000 0.00
-30.777 -6.70
-61.553 -13.40
-92.330 -20.09
-123.106 -26.79
-153.883 -33.49
137.1 154.5 172.0 189.5 206.9 224.4 241.8 259.3 276.8 294.2 311.7
Wavelength (nm)
From this graph you can see conformational weighted ECD spectrum (thick red curve) as well
as ECD spectrum of individual conformations (other curves).
Then choose "18 Toggle weighting spectrum of each system" option once and plot spectrum
again, you will see
610
4 Tutorials and Examples
56.295 33.49
Weighted
1 ( 60.5%)
45.036 2 ( 19.5%) 26.79
3 ( 16.9%)
Delta molar absorption coefficient (L/mol/cm)
22.518 13.40
0.000 0.00
-11.259 -6.70
-22.518 -13.40
-33.777 -20.09
-45.036 -26.79
-56.295 -33.49
137.1 154.5 172.0 189.5 206.9 224.4 241.8 259.3 276.8 294.2 311.7
Wavelength (nm)
This graph decomposes the final weighted ECD spectrum to contribution of individual conformation.
Again, since conformation a (green) has very high population and thus dominates the final weighted
curve, most characters of these two curves are similar. However, influence from other conformations
cannot be simply ignored. From the graph it is easy to find that if conformation c (purple) is missing,
then there will not be an evident ECD peak at approximately 180 nm, since only ECD of c at this
wavelength has significant signal.
The procedure of plotting Raman spectrum is very similar with plotting IR spectrum, the only
additional step you would better do is to convert the Raman activities directly outputted by Raman
task of quantum chemistry codes to Raman intensities before plotting the spectrum, so that the
resulting spectrum can be comparable with the experimental one. The Raman intensities are
dependent of wavelength of incident light source and ambient temperature, while Raman activities
are not. This point has been emphasized in Section 3.13.1. In this section, I illustrate how to properly
plot Raman spectrum using (2S)-2-methyloxirane as example.
Boot up Multiwfn and input
examples\spectra\2-methyloxirane_Raman.out // Output file of Raman task calculated at
B3LYP/6-31G* level by Gaussian09
11 // Plot spectrum
2 // Raman spectrum
14 // Apply frequency scale factor
[Press ENTER button] // Select all frequencies
[Press ENTER button] // Employ the fundamental scale factor 0.9614, which is suitable for
B3LYP/6-31G* level
19 // Convert Raman activities to intensities
15000 // Wavenumber (cm-1) of incident light. This value should be consistent with actual
experimental condition, the value we inputted here is arbitrarily chosen
611
4 Tutorials and Examples
298.15 // Assume that experimental temperature is 298.15 K (You can also press ENTER
button directly, 298.15 K will be used as default)
Then input 0 to plot spectrum, you will see below Raman spectrum
122.88 1244.70
110.18 1116.08
97.48 987.46
72.09 730.23
59.39 601.61
46.69 472.99
34.00 344.37
21.30 215.75
8.60 87.13
-4.10 -41.49
4000.0 3600.0 3200.0 2800.0 2400.0 2000.0 1600.0 1200.0 800.0 400.0 0.0
Wavenumber (cm^-1)
Multiwfn can also plot pre-resonance Raman spectrum. An example output file of pre-
resonance Raman task of Gaussian is examples\spectra\2-methyloxirane_Raman.out, the
corresponding input file (.gjf) is also given. This task calculates Raman activity at incident
wavelength of 150 nm and 140 nm, which are close to S0→S1 and S0→S2 TDDFT excitation
energies at the same calculation level (147.36 nm and 138.81 nm at TD-B3LYP/6-31G* level,
respectively). You can load this output file into Multiwfn and plot Raman spectrum as usual. The
only difference is that, before entering spectrum plotting interface, Multiwfn asks you to choose the
incident frequency for which the Raman activities will be loaded. If you choose 2 or 3, the spectrum
you finally obtained will be pre-resonance Raman at corresponding frequency; if you choose " 1:
0.00000000", namely the static limit case, the resulting spectrum will be exactly identical to the one
we obtained earlier.
In Multiwfn, it is very easy to plot spectrum for multiple systems simultaneously, these systems
may correspond to different conformations, different configurations, different molecules or different
calculation conditions. In this section two examples are provided.
612
4 Tutorials and Examples
content is:
examples\spectra\indigo\ZINDO.out ZINDO
examples\spectra\indigo\TD-PBE0.out TD-PBE0/6-31G*
examples\spectra\indigo\TD-PBE0_TZVP.out TD-PBE0/def-TZVP
Note that the legends must not simply be a digital, otherwise it will be interpreted as weight of
corresponding system (see Section 4.11.4). In addition, in Linux system, if the file path contains /
symbol, do not forget to add double quotation marks at the two ends of the path.
Boot up Multiwfn, load multiple.txt and then plot UV-Vis spectrum as usual, you will see below
graph
48324.6 0.80
ZINDO
TD-PBE0/6-31G*
43331.0 TD-PBE0/def-TZVP 0.72
(L mol - 1 cm - 1 )
38337.5 0.63
33343.9 0.55
Oscillator strength
28350.4 0.47
Molar absorption coefficient
23356.9 0.39
18363.3 0.30
13369.8 0.22
8376.3 0.14
3382.7 0.06
-1610.8 -0.03
171.0 211.0 251.1 291.1 331.1 371.2 411.2 451.3 491.3 531.3 571.4
Wavelength (nm)
From the graph it is clear that basis set only has small influence on the resulting spectrum,
while the spectrum profile of ZINDO differs from that of TD-PBE0 significantly. The curve of all
systems may be exported via option 2 as curveall.txt and then replotted via third-part program such
as Origin.
In "examples\spectra\indigo" folder you can also find ZINDO_30.out, it corresponds to a
ZINDO calculation with 30 excited states produced. You can also include it into multiple.txt.
613
4 Tutorials and Examples
11 // Plot spectrum
3 // Plot UV-Vis
y // For the first spectrum, let Multiwfn use the data with SOC consideration
n // For the second spectrum, let Multiwfn use the data without SOC consideration
Then you will enter the interface for setting up the spectrum. After slight adjustment of settings,
you will obtain below graph. Clearly, SOC effect has non-negligible influence on the spectrum for
present systems.
50000.0 0.347
with SOC
without SOC
45000.0 0.312
(L mol - 1 cm - 1 )
40000.0 0.277
35000.0 0.243
Oscillator strength
30000.0 0.208
Molar absorption coefficient
25000.0 0.173
20000.0 0.139
15000.0 0.104
10000.0 0.069
5000.0 0.035
0.0 0.000
150.0 200.0 250.0 300.0 350.0 400.0 450.0 500.0 550.0
Wavelength (nm)
It is worth to note that the number of states with SOC is by far larger than that without SOC.
Because SOC effect splits each originally degenerate triplet state to three sublevels. For example,
assume that the TDDFT calculates 50 singlets and 50 triplets, then after taking SOC correction into
account, there will be 50+3*50=200 states. Since the number of states corresponding to SOC-
TDDFT is higher than that corresponding to regular TDDFT, when two (or more) set of data are
simulated as theoretical spectra, the first legend in multiple.txt must correspond to SOC-TDDFT
case, and when loading data for the first spectrum, you must choose y to let Multiwfn load SOC
corrected TDDFT data, as I illustrated above.
4.11.7 Plot VCD and ROA spectra for chiral molecule S-methyloxirane
Vibrational circular dichroism (VCD) and Raman optical activity (ROA) are important types
of vibrational spectra for chiral molecule, and only chiral molecule has VCD and ROA signals, see
Section 3.21 for detail. In this example, I will illustrate how to plot these spectra for a typical chiral
molecule S-methyloxirane.
614
4 Tutorials and Examples
examples\spectra\methyloxirane_VCD.out
11 // Plot spectrum
5 // VCD
14 // Scale frequencies by a scale factor
[Press ENTER button] // Select all frequencies
0.9614 // Employ fundamental scale factor prefitted for B3LYP/6-31G* level
0 // Show the spectrum
You will see
2.46 31.7
1.97 25.3
1.47 19.0
0.98 12.7
Rotatory strength
0.49 6.3
(arb.)
0.00 0.0
-0.49 -6.3
-0.98 -12.7
-1.47 -19.0
-1.97 -25.3
-2.46 -31.7
4000.0 3600.0 3200.0 2800.0 2400.0 2000.0 1600.0 1200.0 800.0 400.0 0.0
Wavenumber (cm - 1 )
The right axis corresponds to the heights of the spikes, which represent rotatory strengths. The
left axis corresponds to the broadened VCD curve from the spikes, which represent difference in
absorption of left- and right-circularly polarized lights. The "arb." denotes that the unit is arbitrary,
because the absolute magnitude is not chemically interesting.
615
4 Tutorials and Examples
0.97 // Employ fundamental scale factor of 0.97, which is suitable for B3LYP/aug-cc-pVDZ
level
19 // Convert the ROA data outputted by Gaussian to "real" ROA intensities
532nm // Wavelength of incident light. This value should be consistent with actual
experimental condition
[Press ENTER button] // Assume that experimental temperature is 298.15K
3 // Adjust range of X axis of the spectrum
3200,200,400 // Lower limit, upper limit and label interval
0 // Show the spectrum
Now you can see below ROA spectrum:
2532.2 34333.5
2025.8 27466.8
1519.3 20600.1
1012.9 13733.4
506.4 6866.7
ROA intensity
0.0 0.0
-
-506.4 -6866.7
-1012.9 -13733.4
-1519.3 -20600.1
-2025.8 -27466.8
-2532.2 -34333.5
3200.0 2800.0 2400.0 2000.0 1600.0 1200.0 800.0 400.0
Wavenumber (cm - 1 )
If you intend to use this spectrum in a publication, I suggest removing the labels in both the
left and right ordinates, since the absolute values are meaningless, only the shape of the curve is of
chemical significance. To do so, choose "17 Other plotting settings" and then choose suboptions 2
and 3, you will find the labels are disappeared when you replot the spectrum.
4.11.8 Skill: Plot spectrum for a batch of files via shell script
In this section, I show how to plot spectrum for a batch of input files via shell script. Via this
way, all input files in current folder can be immediately converted to respective spectrum image file
by only one command!
Assume you are using Windows system, and you want to convert all Gaussian TDDFT .out file
in examples\spectra\indigo folder to UV-Vis spectrum, what you should do is:
• Copy the .out files to Multiwfn folder
• Copy examples\spectra\UV-Vis.txt and examples\spectra\batchspec.bat to Multiwfn folder
• Set "isilent" in settings.ini to 1 and save the file
616
4 Tutorials and Examples
In Multiwfn, it is possible to plot a set of spikes at the bottom of the simulated spectrum to
highlight position of specific transition levels. In Section 4.11.1 we have plotted IR spectrum for
NH3BF3, which has some featured vibration modes. This time we will use spikes with different
colors to highlight position of two kinds of modes on the map: (1) stretching vibration of B-N bond
(2) stretching vibration of N-H bonds. The index of these modes can be identified by inspecting
vibration animations in GaussView.
Boot up Multiwfn and input below commands
examples\spectra\NH3BF3_freq.out
11 // Plot spectrum
1 // The type of the spectrum is IR
23 // Set status of showing spikes to indicate transition levels
1 // Set the first set of spikes. We want to use black spikes to reveal all vibrations
a // Select all modes
5 // Black
2 // Set the second set of spikes
16-18 // Indices of stretching vibration mode of the three N-H bonds
1 // Red
3 // Set the third set of spikes
4 // Index of vibration mode of B-N bond stretching
2 // Green
0 // Return
4 // Modify Y-axis at left side
0,6000,600 // Set lower and upper limits as well as label spacing
y // Correspondingly scale Y-axis at right side
0 // Plot the graph
617
4 Tutorials and Examples
The red spikes in this graph clearly indicate that the N-H stretching modes have highest
frequencies, while the B-N stretching vibration mode (green spike) has frequency about 400 cm-1.
All other vibration modes are highlighted by black spikes.
It is worth to note that although the first set of spike is black and contains all vibration modes, the second and
third sets of spikes are plotted after it, therefore the N-H and B-N stretching vibration modes are in red and green
colors respectively rather than in black.
Properly using the spikes to indicate featured transitions can make the graph much more
informative. For example, when you plot UV-Vis map, you can use spikes in different colors to
distinguish different transition types (e.g. →* and n→*, or local excitation and charge transfer
excitation).
If some transitions are degenerate, you can enable Multiwfn to exhibit degeneracy in terms of
spike height. To do so, after defining spikes in option 23, choose its suboption "-3 Toggle
considering degenerate" and input a threshold for determining degeneracy. If energy span over two
or more transitions is less than the threshold, then they will be regarded as degenerate, only the
lowest lying one will be drawn as spike with height of degenerate degree, while other ones will be
invisible. For example, below is IR spectrum of cyclo[18]carbon, the green and blue spikes reveal
position of in-plane and out-plane vibration transitions, respectively. Most transitions have
degeneracy of two (full height), while a few are not degenerate and thus the spike height is only
half.
618
4 Tutorials and Examples
3500.0 250.0
(L mol - 1 cm - 1 )
3000.0
200.0
2500.0
1500.0
100.0
1000.0
50.0
500.0
0.0 0.0
Please read Section 3.13.5 first to gain basic knowledge about the module of plotting NMR
spectrum. In this section, a few examples will be given to show how to easily and flexibly plot NMR
spectrum in Multiwfn.
4.11.10.1 Plotting 1H and 13C NMR spectra for acetaldehyde
In this example we plot 1H and 13C NMR spectra for acetaldehyde, which is shown below.
619
4 Tutorials and Examples
In the above map, the height of black spikes corresponds to the "Degeneracy" axis, while red
curves are broadened from the spikes, their values correspond to the "signal strength" axis. The blue
texts indicate the index of the atom corresponding to the peak.
You can also see following information on Multiwfn console window
Term: 1 Chemical shift: 29.657 ppm Atom: 1(C )
In the NMR plotting interface, there are many options used to adjust various plotting settings,
such as range of X and Y axes, style of atom labels, color and thickness of spikes and curves, FWHM
parameter of broadening and so on, please play with them to improve the spectrum according to
your actual requirement.
620
4 Tutorials and Examples
It is important to notice that the shielding values of the three hydrogens in the methyl group
must be averaged, since methyl group rotates easily in actual environment and thus there is only one
NMR peak of hydrogens in this group. Thus we input
10 // Average shielding values of specific atoms
2-4 // H2, H3 and H4 are the hydrogens in the methyl group
0 // Plot the spectrum
Now you can see
As you can see, the plotting effect is fairly satisfactory. The information currently shown in
console window is:
Term: 1 Chemical shift: 2.070 ppm Atom: 2(H ) 3(H ) 4(H )
chemical shifts could be obtained even using inexpensive calculation levels since the prefitted
scaling parameters eliminated most systematical errors. In this section we plot NMR spectrum for
pyridine based on the scaling method. examples\spectra\NMR\pyridine_scale.out is output file of
NMR task of Gaussian calculated at B3LYP/6-31G* level with chloroform environment represented
by SMD solvation model, while the geometry was optimized at B3LYP/6-31G* level in vacuum.
The error statistics of various levels given in http://cheshirenmr.info indicate that this level is one
of best levels of applying scaling method.
Boot up Multiwfn and input
examples\spectra\NMR\pyridine_scale.out
11 // Plot various spectrum
7 // NMR
7 // Set how to determine chemical shifts
2 // Set slope and intercept to determine chemical shifts by scaling method
a // Use built-in slope and intercept parameters prefitted for B3LYP/6-31G* with
621
4 Tutorials and Examples
SMD(chloroform) level, namely slope of -0.9449 and intercept of 188.4418 for 13C NMR
0 // Plot NMR spectrum
Now you can see
Due to symmetry of pyridine, there are two peaks showing double degenerate character.
Similarly, you can plot 1H NMR spectrum via scaling method, namely input
6 // Choose the element considered in plotting
H
7 // Set how to determine chemical shifts
2 // Set slope and intercept to determine chemical shift by scaling method
a
0 // Plot the spectrum
In this section we will simulate 1H NMR spectrum of valine in water and compare it with
622
4 Tutorials and Examples
experimental spectrum measured in D2O solvent. Note that since the three hydrogens in the
protonated amino group are fully substituted by deuterium in heavy water environment, we need to
eliminate its contribution from the spectrum. Also, we need to average shielding values of the
hydrogens in each of the two methyl groups.
The conf1.out and conf2.out in "examples\spectra\NMR\valine" folder are output files of NMR
task of Gaussian 16, the NMR calculations were conducted at B97-2/def2-TZVP level, the
geometries were optimized at B3LYP-D3(BJ)/6-311G** level, in both calculations the IEFPCM
model was employed for representing water environment.
We first create a text file named multiple.txt with following content (prefix may be added to
the file name, such as valine_multiple.txt):
examples\spectra\NMR\valine\conf1.out 0.825
examples\spectra\NMR\valine\conf2.out 0.175
As can be seen, we have specified two input files with corresponding conformation weights. Note
that if you are using Linux version, the content must be written as follows, otherwise the paths
cannot be recognized, similarly hereinafter
"examples/spectra/NMR/valine/conf1.out" 0.825
"examples/spectra/NMR/valine/conf2.out" 0.175
623
4 Tutorials and Examples
In order to improve the effect of the map, we close the graph and then input
3 // Set lower and upper limits of X-axis
4,0,0.5 // From 4.0 to 0.0 ppm with label spacing of 0.5 ppm
12 // Do not show spikes to make the spectrum clearer
18 // Other plotting settings
5 // Set X position of legends
1300 // Moving the position of the legends more left than default position
0 // Return
Now we select option 0 to replot, the current spectrum is already quite satisfactory
624
4 Tutorials and Examples
examples\spectra\NMR\valine\conf2.out conformer 2
Boot up Multiwfn, load the multiple.txt, and then run all commands recorded in the
examples\spectra\NMR\valine\drawmulti.txt file in turn, you will see below map. The meaning of
each command can be easily understood according to the prompt on screen.
In this example, I illustrate how to plot fluorescence spectrum. The differences between
plotting fluorescence spectrum and UV-Vis absorption spectrum are two:
(1) To plot fluorescence spectrum, you should use optimized geometry of emission state (the
excited state which emits photon). While to plot absorption spectrum, you should use optimized
geometry of ground state.
(2) To plot fluorescence spectrum, oscillator strengths of all calculated excited states except
for the emission state should be manually set to zero to remove contribution of irrelevant states to
the spectrum.
Almost all molecules satisfy Kasha’s rule, that is fluorescence emission solely corresponds to
S1→S0 transition. So, the emission state commonly is S1 state.
Next, we will plot fluorescence emission for the well-known BODIPY molecule:
625
4 Tutorials and Examples
Kasha’s rule is assumed to be valid for this system, therefore we should optimize geometry of
S1 state. The output file of Gaussian 16 A.03 of this task at TD-B3LYP/6-311G* level is
examples\excit\BODIPY_S1_opt.out, frequency analysis is also performed because we want to
check if there is imaginary frequency (none is found). Note that “TD” keyword is employed without
additional options, in this case the lowest three excited states S1, S2 and S3 will be solved, and the
state of interest (the state to be optimized) is default to the first excited state (S1). The default setting
is well-suited for optimizing the S1 state.
Boot up Multiwfn and input
examples\excit\BODIPY_S1_opt.out
11 // Plot spectrum
3 // UV-Vis
After that, excitation energies and oscillator strengths of all excited states at the final geometry
(S1 geometry) are loaded into Multiwfn. Then we clean oscillator strengths of S2 and S3 states by
inputting following commands:
20 // Modify oscillator strengths
2,3 // Select S2 and S3
0 // New oscillator strength
Now you can input option 0 to plot the spectrum, however the default axis settings are not ideal.
So we input following commands
3 // Set lower and upper limit of X-axis,
300,750,50 // Lower limit, upper limit and step size in nm
4 // Set left Y-axis
0,1100,100 // Lower limit, upper limit and step size
y // Correspondingly scale the right Y-axis
After choose option 0, you will see the fluorescence spectrum
626
4 Tutorials and Examples
As shown in console window, the peak position of our simulated spectrum 510.7 nm, which is
quite close to the experimental peak position 512 nm (see https://en.wikipedia.org/wiki/BODIPY).
The concept of partial vibrational spectrum (PVS) has been described in Section 3.13.6, please
carefully read it first if you lack of relevant knowledge. In the next sections I will illustrate how to
use Multiwfn to plot it to intuitively understand nature of various vibrational spectra. You will find
PVS is a very general and flexible analysis method. At the same time, plotting partial vibrational
density-of-states (PVDOS) will also be illustrated, which is a useful way of graphically revealing
composition of all (including spectral inactive) vibrational modes.
627
4 Tutorials and Examples
The output file of frequency analysis task of Gaussian 16 program at B97XD/6-311G* level
will be used as input file to plot IR spectrum and PVS-NC curves, the file is provided as
examples\spectra\C18-B9N9.out. Note that “intmodes” option is specified in “freq” keyword, which
requests Gaussian to print compositions of redundant internal coordinates (RICs) in each vibrational
mode, the reason of adding this option is that in one of following examples I will illustrate how to
plot PVS-NC map based on fragments consisting of RICs. If you only want to define fragments as
a set of atoms, then this option is not needed.
From above map you can see many peaks, what are natures of them? Via PVS-NC curves, you
can easily understand which molecular fragment has a notable participation in the vibrational
motions (represented by corresponding normal coordinates) of the vibration modes that observable
in above map. While via PVS-I, you can visually understand if a molecular fragment has evident
contributions to IR absorption intensities of various peaks in the above map. So, PVS-NC and PVS-
I respectively focus on revealing different aspects of spectral active vibrational modes. In the rest
of this section, I will illustrate plotting PVS-NC curves, while in the next section, plotting PVS-I
will be exemplified. More specifically, the PVS-NC plotted in this section is PVS-NC(atom),
because we will define each fragment as a set of atoms.
628
4 Tutorials and Examples
...[ignored]
Select option 0 to plot spectrum, then you can see the following map on screen
In fact, there are three curves in the map, total IR spectrum (black), PVS of fragment 1 (C18,
red) and that of fragment 2 (B9N9, blue), the sum of the latter two corresponds to the former.
However, from the current map we can only clearly see that there is an extraordinary strong
absorption at about 2000 cm-1. Because the peak is fully in blue, we can conclude that this absorption
must purely correspond to vibration of B9N9.
629
4 Tutorials and Examples
From above map we can see there are many modest IR absorptions in the low frequency range.
To look into their details, we input following commands
3 // Set lower and upper limit of X-axis
750,350,50 // Lower limit, upper limit and interval of X-axis
4 // Set left Y-axis
0,3000,300 // Lower limit, upper limit and interval of left Y-axis
y // Correspondingly scale right Y-axis
16 // Set status of showing labels of spectrum minima and maxima
1 // Change displaying status of labels
1 // Show maxima on the spectrum
0 // Return
0 // Plot spectrum
Now you can see the following map
This map is very informative. For example, it is clear that the peak at 428.8 cm-1 almost solely
comes from vibration of C18, the peak at 531.4 cm-1 almost only corresponds to vibration of B9N9,
the peak at 484.0 cm-1 shows evident coupling vibration character. The normal coordinates of the
modes maximally corresponding to the aforementioned peaks are illustrated as follows, which are
in line with our expectation from inspecting the PVS map.
630
4 Tutorials and Examples
Although in this section I only illustrated defining two fragments, in Multiwfn in fact you can
maximally define as many as 10 fragments, all PVS curves can be shown together. The union of the
fragments does not necessarily correspond to the whole system.
It is noteworthy to emphasize that PVS curves only exhibit contribution of various fragments
to normal coordinates of various vibrational modes, they do not directly reflect fragment
contribution to absorption intensity. In other words, percentage contribution to normal coordinates
of a vibrational mode from a fragment is not proportional to its contribution to intensity of a
vibrational mode. This point should be correctly recognized when you discuss PVS/OPVS curves.
For example, from a PVS curve of a nonpolar group, you may observe that an evident IR-active
mode has a large composition of vibrational of the group in its normal coordinate, you should not
thus conclude that the vibrational of the nonpolar group is the source of the strong IR absorption.
631
4 Tutorials and Examples
This OPVS map vividly shows coupling contribution to various IR absorption. In the region
between 450 and 500 cm-1, the coupling effect is strong; in particular, at 462.7 cm-1 the green curve
is very close to black curve, therefore, according the definition of OPVS described in Section 3.13.6,
we know that the corresponding IR-active mode should be completely and almost equally
contributed by vibrations of C18 and B9N9 moieties. From the PVS curves of the two fragment at
this wavenumber you can confirm this point. In contrast, the green curve in the wavenumber region
larger than 650 cm-1 is negligible, therefore, the peaks 652.9, 673.7 and 683.0 cm-1 must be solely
contributed by either one the two fragments. This example demonstrates that OPVS is very helpful
in quickly understanding vibrational coupling between various fragments in different wavenumber
ranges.
Briefly speaking, VDOS is very similar to the vibrational spectrum with assumption that
intensity of all vibrational modes equals to 1. The relationship between PVDOS/OPVDOS to VDOS
is equivalent to that between PVS/OPVS and actual vibrational spectrum.
In this section I illustrate how to plot VDOS, partial VDOS (PVDOS) of fragments, and overlap
PVDOS (OPVDOS) between fragments. The C18B9N9 complex used in last section is still taken
as instance, and the two molecules will be defined as the two fragments.
Boot up Multiwfn and input
632
4 Tutorials and Examples
examples\spectra\C18-B9N9.out
11 // Plot various kinds of spectrum
1 // IR
24 // Set partial and overlap vibrational spectra
1 // Define PVS fragment 1
1-18 // Atoms in C18
2 // Define PVS fragment 2
19-36 // Atoms in B9N9
l // Set legends of PVS curves
1 // Set legend for PVS
cyclo[18]carbon // Full name C18
2 // Set legend for PVS
B9N9
q // Return
0 // Set OPVS
1,2 // Plot between fragments 1 and 2
v // Toggle plotting vibrational DOS instead of spectrum. Then PVS will correspond to PVDOS,
and OPVS will correspond to OPVDOS
q // Generate PVS data and return to spectrum plotting interface
3 // Set lower and upper limit of X-axis
2400,0,300 // Lower limit, upper limit and interval between ticks
17 // Other plotting settings
11 // Set position of legends
8 // Upper left corner
0 // Return to spectrum plotting interface
0 // Plot spectrum
Now you can see the following map
633
4 Tutorials and Examples
From the map you can find vibrational modes sparsely distribute above 600 cm-1, while below
600 cm-1 the distribution of vibrational modes is much denser. In addition, it is found that the
vibrational modes above 600 cm-1 do not show detectable coupling motion between C18 and B9N9,
the strongly interfragment coupled modes occur densely around 500 cm-1 and below 100 cm-1. This
point can be viewed more clearly if you adjust limits of X-axis to only plot 0~600 cm-1 region, as
shown below. Peak positions of total spectrum are also labeled by means of option 16.
634
4 Tutorials and Examples
A very different point between VDOS and vibrational spectrum is that in the former, all modes
equally contribute to the curve, in other words, you can observe all modes; while in the latter, only
the modes with nonnegligible intensity have contribution to the curve and thus visually detectable.
To be written
To be written
As described in Section 3.13.1, directional UV-Vis spectrum can be plotted to study optical
absorption caused by interaction between a system and electric field oscillating in a specific
direction, this is particularly valuable if you are interested in anisotropy of spectral character.
In this section, we study carbon nanotube fragment with the following structure and orientation:
First, we plot UV-Vis spectrum of this system corresponding to interaction with electric field
oscillating parallel to XY plane. Now, boot up Multiwfn and input
examples\spectra\CNT66_TDDFT.out // TDDFT output file of Gaussian at PBE0/6-31G*
level, 100 excited states were calculated
11 // Plotting spectra
-3 // Plotting directional UV-Vis spectrum
4 // XY direction
635
4 Tutorials and Examples
0 // Plot spectrum
Close the graph shown on screen and input the following commands to adjust plotting settings
3 // Adjust X-axis
200,800,50 // Lower and upper limits, as well as label interval
3 // Adjust left Y-axis
200,800,50 // Lower and upper limits, as well as label interval
y // Correspondingly scale right Y-axis
Replot the map by choosing option 0, then you will see
Similarly, you can plot UV-Vis spectrum corresponding to interaction with electric field
oscillating along Z direction.
After plotting the aforementioned XY and Z spectra, if you export curve data and line data
to .txt file via option 2, then you can collectively import them into third-part software such as Origin
and draw a map containing total, XY and Z data, as shown below, in which the “Total” curve
corresponds to sum of XY and Z curves and also corresponds to the UV-Vis spectrum in common
sense.
636
4 Tutorials and Examples
In above map, it can be seen that the strongest absorption around 370 nm completely comes
from interaction of the system with electric field oscillating in XY plane. Since oscillating direction
of electric field is perpendicular to propagation direction of light, the XY curve can be understood
as the absorption curve for the light propagating in Z direction. The Z curve in above map
contributes most to the absorption around 300 and 480 nm, it corresponds to the absorption of the
light propagating on XY plane with polarization in Z direction. This observation also indicates that
only the electronic excitations at these wavelengths possess prominent Z-directional transition
dipole moment.
This example shows that for systems with significant anisotropic features, plotting UV-Vis
spectra in specific directions clearly helps to understand the intrinsic nature of their absorption
spectra.
Please read section 3.13.7 to understand basic feature of the function of predicting color in
Multiwfn. In this section we will predict color of indigo based on theoretical calculation, and then
predict color of allura red based on its experimental UV-Vis spectrum.
4.11.14.1 Predicting color of indigo based on theoretical calculation
examples\spectra\indigo_TD-B3LYP_water.out is output file of Gaussian of calculating
electronic excited states at TD-B3LYP/def2-TZVP level in water environment represented by
IEFPCM solvation model. The geometry was optimized for ground state at B3LYP/6-311G* level.
Boot up Multiwfn and load this file, then input
11 // Plotting spectrum
3 // UV-Vis
25 // Evaluate color based on the spectrum in visible range
Multiwfn first shows UV-Vis spectrum within 360-830 nm, see below map (PS: visible light
range is 380-760 nm, or 400-700 nm. The range of 360-830 nm corresponds to the range for which
637
4 Tutorials and Examples
tristimulus functions have definition, which are involved in color prediction procedure internally):
After closing the window, Multiwfn shows the colors predicted based on the spectrum curve:
The color displayed under “color” label is the color corresponding to the UV-Vis spectrum, and the
color shown below “complementary color” corresponds to the color of transmission and reflection
light of indigo. The two colors shown at bottom side of the window are counterparts of the two
colors shown at upper side of the window by shifting RGB values so that the largest-value
component of the colors equal to 255 (upper limit of sRGB color space). In short, the very blue
color, as shown at the bottom-right corner of the window, can be regarded as the color actually
displayed by indigo aqueous solution. This predicted color is completely identical to actual color of
indigo, extremely successful prediction!
From text window of Multiwfn, you can also find parameters of the the four colors shown on
the graphic window and some intermediate data:
CIE1931 XYZ: 1077992.509 1123653.902 188673.482
Note the R,G,B values show below correspond to standard RGB (sRGB) color space
Note: The color exceeds sRGB color space! Now the R,G,B values are scaled into
alid range:
638
4 Tutorials and Examples
From the color shown at bottom lower side, it can be seen that the color of allura red is red, this is
exactly the actually observed color of this substance. This map also indicates that allura red absorb
light of cyan color.
Below I will introduce quantitative analysis of molecular surface by case study of phenol. The
theoretical basis has been documented in Section 3.15.1 and thus will not be repeated here. In this
section we only analyze electrostatic potential (ESP) on phenol vdW surface, in next section we will
then analyze average local ionization energy on the phenol surface.
Boot up Multiwfn and input following commands
examples\phenol_631Gxx.wfn // Phenol wavefunction produced at B3PW91/6-31G** level.
For most systems this level can give acceptable result of ESP analysis. For better accuracy, def-
TZVP is recommended, while more expensive def2-TZVP basis set is able to give ideal result
12 // Quantitative analysis of molecular surface
639
4 Tutorials and Examples
0 // Start the analysis under default settings. By default the mapped function is ESP
Now the calculation starts. Since computing ESP is time consuming, you need to wait for a
while. During the calculation some intermediate information are printed, most users do not need to
concern them. Below results will be printed on screen once the calculation has been finally finished:
Global surface minimum: -0.041203 a.u. at 1.455097 3.343708 -0.007902 Ang.
Above information contains various quantities relevant to ESP, see Section 3.15.1 for their
meanings and definitions. Now select option 0 in the post-processing interface to view molecular
structure and surface extrema (red and blue spheres correspond to maxima and minima,
respectively):
640
4 Tutorials and Examples
In side view:
Minimum 3 (-25.85 kcal/mol) is global minimum on the surface, its large negative value is
owing to the lone pair of oxygen. Maximum 2 (53.81 kcal/mol) is global maximum arising from the
positively charged H13, the ESP at this point is much larger than that at other maxima (where the
ESP ranges from 10 to 15 kcal/mol). This is because the presence of oxygen, which attracted a great
deal of electrons from H13. In complex, assume that only electrostatic interaction exists, monomers
always contact each other in maximally ESP complementary manner. So we can expected that in
phenol dimer, H13 and maximum 2 in a monomer, and O12 and minimum 3 in neighbouring
monomer will be in a straight line (resulting hydrogen bonding), this is the exactly situation in actual
geometry of phenol dimer, see below graph. Notice that in the dimer, maximum 2 and minimum 3
shown above have cancelled each other out.
641
4 Tutorials and Examples
Minimum 1 and 2 (both are -19.11 kcal/mol) are local minimum on the surface, mainly arise
from the abundant π electrons above and below the ring. It is well know that electrophiles always
prefer to attack the atom which has very low ESP around it, so C1 should be an ideal reaction site
for electrophilic reaction. This conclusion is partially consistent with the general knowledge that
hydroxyl is an ortho-para directing group. However, although the global minimum is closest to O12,
O12 is not the electrophilic reaction site; this contradiction reveals the inherent limitation of ESP
analysis method.
Note 1: Since the molecule has Cs symmetry, in principle, minimum 1 and 2 should have identical X and Y
coordinates. However, this cannot be exactly fulfilled in numerical process, because the points scattered on molecular
surface do not have the molecular symmetry, see Section 3.15.1 for detail. So X and Y coordinates of minimum 1
and 2 are slightly deviated to each other. If you want to refine the result, choose option 3 "Spacing of grid data for
generating molecular surface" and input a smaller value than default value. Smaller spacing of grid points yields
more accurate result, but bring higher computational burden.
Note 2: Due to limitation of the Multiwfn GUI, sometimes it is difficult to query the index of the ESP extrema
of interest, in this case using VMD instead is recommended, see Part 6 of this video https://youtu.be/QFpDf_GimA0.
642
4 Tutorials and Examples
Then you will see surface area (in Å2) and corresponding percentage in the whole surface area
in each successive ESP range.
Begin End Center Area %
...
By using these data you can use your favourite program to draw a histogram graph. For
example, we choose "center" column as X-axis and "Area" column as Y-axis to plot below graph
28
24
20
Surface area (Å )
2
16
12
0
-30 -20 -10 0 10 20 30 40 50
Electrostatic potential (kcal/mol)
From the graph it can be seen that there is a large portion of molecular surface having small
ESP value, namely from -20 to 20 kcal/mol. Among these areas, the negative part mainly
corresponds to the surface above and below the six-membered ring and shows the effect of the
abundant π-electron cloud; the positive part mainly arises from the positive charged C-H hydrogens;
the near-neutral part represents the border area between the negative and positive parts. There are
also small areas having remarkable positive and negative ESP value, corresponding to the regions
closed to the global ESP minimum and maximum, respectively.
643
4 Tutorials and Examples
If you would like to plot similar graphs, please download and follow this tutorial:
http://sobereva.com/multiwfn/res/plotESPsurf.pdf. However, there are many steps in this tutorial, if
you want to draw a map with similar or even better effect but in a much simpler way, see Section
4.A.13 or this video tutorial: https://youtu.be/QFpDf_GimA0. This section and video also illustrate
how to plot penetration map of van der Waals surface of different molecules, which is useful for
discussing intermolecular interactions.
Hint: Calculation speed of ESP by cubegen utility in Gaussian package is notably faster than Multiwfn if
number of your CPU cores is very limited (less than 10 cores). If you have Gaussian installed on your machine and
input file is .fch/fchk format, it is suggested to set "cubegenpath" parameter in settings.ini file to actual path of
cubegen, so that cubegen could be automatically invoked by Multiwfn to evaluate ESP during the analysis. Please
check Section 5.7 for detail.
If you are an ORCA user and meantime unable to access Gaussian, you can make use of "orca_vpot" utility in
ORCA package to try to reduce cost of ESP analysis on molecular surface when number of CPU cores is very limited,
see http://sobereva.com/wfnbbs/viewtopic.php?pid=937 for detail.
FAQ: Why some surface ESP minima (maxima) have positive (negative) value?
Some Multiwfn users asked me why they observed that some surface ESP minima (maxima)
have positive (negative) value. In fact this phenomenon is very common and it is never a problem
or bug. Mathematically, a minimum (maximum) refers to a point where its value is lower (higher)
than surrounding points, clearly it never implies that this point must have negative (positive) value.
If you are still confused, see below illustration
644
4 Tutorials and Examples
For neutral system, commonly surface ESP minima (maxima) having positive (negative) are
not chemically significant, you can simply ignore them in the discussion. If you want to remove
these insignificant minima (maxima), you can choose option 3 (4) in post-processing menu, and
then input d. Then you will find these unwanted extrema have disappeared.
It is also worth to note that for a cation (anion) system, commonly all surface extrema have
positive (negative) value, because the overall value of surface ESP extrema is always greatly
dominated by the net charge carried by the system.
Trick: Perform ESP analysis on molecular surface solely based on cube files
Some quantum chemistry and first-principle programs, such as Quantum ESPRESSO, ADF,
Dmol3 and FHI-aims, are unable to produce a wavefunction file that supported by Multiwfn,
however in this case it is still possible to perform ESP analysis over molecular surface, as long as
you can yield cube files of electron density and ESP for your system by these codes. Once the cube
files are generated, you can input below commands after booting up Multiwfn:
density.cub // Load cube file of electron density first
12 // Quantitative molecular surface analysis
1 // Select the way to define surface
11 // Isosurface of the grid data in memory
0.001 // Use = 0.001 a.u. to define the isosurface
2 // Select mapped function
1 // ESP
5 // Set if loading mapped function values from external file
645
4 Tutorials and Examples
Below we will analyze average local ionization energy 𝐼 ̅ on phenol vdW surface. Boot up
Multiwfn and input
examples\phenol_631Gxx.wfn // Produced at B3PW91/6-31G** level
12 // Quantitative molecular surface analysis
2 // Reselect mapped function
2 // Choose 𝐼 ̅ as mapped function
0 // Start the surface analysis.
Since calculation of 𝐼 ̅ is much simpler than ESP, the calculation is finished rapidly. Unlike
surface analysis for ESP, at this time only vdW volume, surface area, average and variance of 𝐼 ̅ on
vdW surface are outputted alongside extrema information.
Choose 0 to visualize extrema. In order to make the correspondence between extrema and
atoms clearer, we drag the "Ratio of atomic size" scale bar to 4.0, which corresponds to vdW surface,
and we disable showing of surface maxima, then we will see:
In side view
646
4 Tutorials and Examples
Low value of 𝐼 ̅ suggests that the electron at this position is not tightly bounded, the site with
lowest 𝐼 ̅ on vdW surface is usually recognized as the most vulnerable site to electrophilic attack or
to free radical attack. All sites that highly polarizable such as π electron and lone pair regions
commonly have corresponding surface minima of𝐼 .̅ In present instance, minima 8 and 9 correspond
to lone pair of O12, from the output on screen we can find both their 𝐼 ̅ values are 10.59 eV. Minima
4,5,11, and 3,7,10 correspond to π electrons, 𝐼 ̅ values of all of them are about 8.9 eV and can be
viewed as degenerate global minima. It is noteworthy that, the minima above and below the
conjugated ring only present at ortho- and para-carbon. These observations perfectly explained the
effect of hydroxyl as an ortho-para- directing group. Since 𝐼 ̅ at minimum 8 and 9 are obviously
larger than the 𝐼 ̅ at the minima around the carbon ring, oxygen should not be vulnerable site of
electrophilic reaction.
647
4 Tutorials and Examples
In above map, the displayed surface is = 0.0005 a.u. isosurface. The reason why the
commonly used = 0.001 a.u. isosurface is not adopted as the definition of the surface is because
if it is employed, then the 𝐼 ̅ distribution on the surface can hardly be distinguished. The cyan spheres
correspond to surface minimum of 𝐼 .̅ The color transition is Blue-White-Red, therefore the blue
color highlights the regions having relatively low 𝐼 ̅ value, where are favorable sites for electrophilic
attack.
By default, the color scale of 𝐼 ̅ is 0.32~0.36 a.u., if you find the color scale is not appropriate
for present system, you can input for example mol scaleminmax 0 1 0.31 0.38 in the VMD console
window to change the lower and upper limits to 0.31 and 0.38, respectively.
It is well known that acrolein (see below) tends to undergo nucleophilic attack at carbonyl
carbon and carbon; in particular, the former is the primary site for hard nucleophilic reagent. The
so-called hard means the electron cloud of the nucleophilic reagent is difficult to be polarized; the
selectivity of reactive site for this case is usually dominated by ESP.
In this example, we will try to interpret the site-selectivity of acrolein by analyzing ESP on its
vdW surface. Note that average local ionization energy is only useful for studying electrophilic
attack, but completely useless for analyzing nucleophilic attack.
Boot up Multiwfn and input:
examples\acrolein.wfn // Optimized and produced at B3LYP/6-31G** level
12 // Quantitative analysis of molecular surface
0 // Start the analysis for ESP
After the calculation is finished, choose 0 to visualize surface extrema:
648
4 Tutorials and Examples
As you can see, there is a surface minimum of ESP at the boundary of carbon and it is very
close to carbon. This observation indirectly reveals that nuclear charge of carbon is more heavily
screened by electron cloud, and hence is less probable to be the site of nucleophilic attack. However,
quantitative analysis of ESP on the whole acrolein surface does not provide a direct and definitive
interpretation on the preference of reactive sites, because no surface maxima are found on carbonyl
and carbons, hence we are unable to directly investigate the characteristic of carbonyl and carbon.
In Multiwfn, the quantitative analysis can not only be applied to the whole molecular surface,
but is also applicable to local molecular surface to reveal characteristic of atom or fragment, see
Section 3.15.2.2 for introduction. Here we select option 11 in post-processing interface to calculate
and output properties of the local surfaces corresponding to each atom. Some of the results are
shown below
Note: Average and variance below are in kcal/mol and (kcal/mol)^2 respectively
As you can see, the average ESP values on the local surface of carbonyl carbon (atom 2),
carbon and carbon are 4.657, 1.310 and 2.216 kcal/mol, respectively. This result clearly explained
the site-selectivity; the carbonyl carbon is the most favorable site because the average ESP on its
local surface is the most positive, and hence nucleophilic reagents (especially the hard ones) tend to
be attracted to this site. In contrast, on the local surface of carbon the average of ESP is the smallest
compared to the other two carbons, and thus carbon has less capacity to attract nucleophilic
reagents.
Note that some of the outputted data are NaN (Not a Number), these are not bug but
understandable. For example, the average of positive part of ESP of atom 1 is NaN, this is because
oxygen has large electronegativity, and thus on the local surface of atom 1 the ESP is completely
negative, so the average of positive ESP is unable to be computed.
649
4 Tutorials and Examples
If you are confused about what is "local surface of atoms" or you want to visualize them, after
you choose option 11 you can select "y" to output the surface facets to locsurf.pdb file in current
folder. Each atom in this file corresponds to a surface facet, the B-factor value corresponds to its
attribution. By this file you can visualize how the whole molecular is partitioned, the method is:
boot up VMD program and drag the pdb file into the VMD main window, in "Graphics"-
"Representation" set the "Drawing method" as "Points", set the point size to 4, and set "Coloring
Method" as "Beta". In VMD main window select "Display"-"Orthographic" and deselect "Display"-
"Depth Cueing". Then load the molecular structure file of acrolein into VMD and render it as CPK
mode, you will see below graph
In the graph, each point represents a surface facet; different colors represent different local surface
regions, and each one corresponds to an atom.
Beware that the "imolsurparmode" parameter in settings.ini directly affect the result of local
surface analysis, currently we are using imolsurparmode=1.
I have exemplified how to study Fukui function by visualizing its isosurface (Section 4.5.4)
and by condensing it to atomic values via population analysis (Section 4.7.3). In this section, I will
illustrate how to perform quantitative analysis of Fukui function f − on molecular surface, including
three aspects: (1) Obtain positions and values of minima and maxima of f − (2) Study average value
of f − on local molecular surfaces corresponding to various atoms (3) Plotting f − color mapped
molecular surface with surface extrema. I will still use phenol as example:
Note: If you are unable to successfully reproduce the steps in parts 1 and 2 described below, please look at the
video illustration: http://sobereva.com/multiwfn/extrafiles/Molecular_surface_Fukui.mp4.
650
4 Tutorials and Examples
[ignored...]
[ignored...]
651
4 Tutorials and Examples
You can also choose option 0 to visualize distribution of the surface extrema:
[ignored...]
NaN means there is no negative value of f − on the local molecular surfaces. From the result it is
clear that the average of the Fukui function on the local molecular surface corresponding to ortho
(C3 and C5) and para (C1) carbons are larger than that of meta carbons (C2 and C6), this observation
correctly reflects the fact that hydroxyl is an ortho-para- director.
652
4 Tutorials and Examples
You can edit molsurfmap.vmd yourself to change various default plotting settings, including
color scale range, isovalue, and so on. They can also be changed in “Graphics” - “Representation”
interface of VMD.
The concept of Hirshfeld and Becke surface analyses have been introduced in Section 3.15.5,
please read them first. In this section I will exemplify how to perform Becke surface analysis on
guanine-cytosine (GC) base pair to exhibit the weak interaction between the two monomers. Note
that Hirshfeld surface analysis is more commonly used, see next section.
Boot up Multiwfn and input
examples\GC.wfn // Generated at M06-2X/6-31+G** level, optimized at PM7 level
12 // Quantitative molecular surface analysis
1 // Change the definition of surface
6 // Use Becke surface. You can also select 5 to use Hirshfeld surface
1-13 // The index range of the atoms you are interested in (cytosine in present case)
0 // Start calculation
653
4 Tutorials and Examples
Multiwfn found numerous surface minima, which are meaningless in this case, and at the same
time three surface maxima are found
The number of surface maxima: 3
You can choose 0 to visualize them, see below (minima are not shown)
Since the sequence of electron density at these maxima is 32>1, one can expect that the
sequence of H-bond strength is O24H13 H25N6 > H29O8. This conclusion is identical to
the AIM bond critical point analysis (Section 4.2.1).
If you want to visualize the Becke surface, simply choose option -3. If you want to plot the
Becke surface colored by mapped function value, you need to utilize VMD, and there are two ways:
(1) Plot the Becke surface as many points (surface vertices), as will be shown below (2) Plot the
Becke surface in terms of isosurface, which will be illustrated in the next section
Select option 8 to export all surface vertices to vtx.pqr in current folder. Each atom in this file
corresponds to a surface vertex, and its “Charge” property corresponds to value of mapped function
(electron density in current case).
Drag examples\GC.pdb (a pdb file containing the same geometry as GC.wfn) into main window
of VMD program. Select "Graphics" - "Representation", change the drawing method to "Licorice"
and decrease bond radius to 0.2. Then drag the vtx.pqr into VMD main window, select "Graphics"
- "Representation", change the drawing method to "Points", set coloring method to "Charge",
properly enlarge the point size, run command color scale method BWR in VMD console window
(this command changes coloring method to blue-white-red). Now you should see
654
4 Tutorials and Examples
In above figure Becke surface is represented by points, and the three red zones correspond to high
electron density regions, which stem from presence of H-bonds. This example demonstrated that
Becke surface analysis is useful to reveal the region where intermolecular interaction is evident.
The present analysis can also be realized by means of Hirshfeld surface analysis, see next
section, and the computational cost is lower when the number of atoms is high.
In this section we perform Hirshfeld surface analysis for urea crystal to understand the
intermolecular interaction in the crystal.
Note: “Use Multiwfn to perform Hirshfeld surface analysis to visually display interactions in molecular crystals
and complexes” (http://sobereva.com/701, in Chinese) is an extremely detailed blog article which comprehensively
introduces the Hirshfeld/Becke analysis in Multiwfn and present very rich examples, highly recommend reading! If
you have read it, you do not need to read the present section.
655
4 Tutorials and Examples
656
4 Tutorials and Examples
In this figure, X and Y axes correspond to di and de, respectively. Each vertex on the Hirshfeld
surface corresponds to a point in the map. It can be seen that there are two spikes at the bottom left
of the plot, this observation suggests that urea behaves as both H-bond acceptor (the bottom spike,
di > de) and H-bond donor (the left spike, di < de). The yellow, green and purple colors indicate that
the point density at corresponding regions is high, medium and low, respectively.
This information indicates that the area occupied by the local contact surface defined by us is 65.6
Å2. Clearly, by properly utilizing this feature, you can obtain the area corresponding to any specific
contact between the central molecule and the surrounding molecules.
After that, choose option 1 to save corresponding fingerprint plot as a .pdf file, then after
657
4 Tutorials and Examples
Since this time we only considered the four hydrogens in the central urea, which purely behave as
hydrogen donor, so only one spike at left side of the plot can be observed. The gray points in above
map correspond to the points on the entire Hirshfeld surface but not on the current local contact
surface.
It is interesting to check the shape of the local contact surface. To this end, after closing the
fingerprint map we choose option 4 to export all points on the local contact surface to finger.pqr in
current folder. Plot them in VMD by using the method described in Section 4.12.5, you will see
Clearly, this surface well exhibits the contact between the hydrogens in the central urea and the
atoms in the surrounding ones. There are four red regions on the surface, which correspond to the
four H-bonds, where H atoms in the central urea behave as H-bond donor.
Next, we check the fingerprint plot between the hydrogens in the central urea and the oxygen
658
4 Tutorials and Examples
atom marked by the yellow arrow in above figure. Input the following commands
-1 // Return to upper level of menu
1 // Set the inside atoms to consider
[Press ENTER button] // Do not set constraint for atomic indices
H // The inside atoms must be hydrogen
2 // Set the outside atoms to consider
76 // The index of the oxygen in one of surrounding urea
[Press ENTER button] // Do not set element filter condition
0 // Start fingerprint analysis
From the outputted information on screen you can find the local contact surface produced this
time is 6.8 Å2, which corresponds to 7.2% of total contact surface area. Then we draw fingerprint
plot and the corresponding surface vertices, as shown below
In the fingerprint plot you can see that the distribution scope of surface points is narrow, and
the spike is quite evident, suggesting the strong H-bond character due to the contact of the H and O.
Fingerprint plot is especially useful for comparison of intermolecular interactions in different
crystals, see CrystEngComm, 11, 19 (2009) for discussions.
The same as above, but do not distinguish inside and outside elements
659
4 Tutorials and Examples
The information is clear to understand. For example, as highlighted by yellow, the contact area
between inside H atoms and outside O atoms is 15.581 Å2, that between inside O atoms and outside
H atoms is 16.774 Å2, which occupy 16.486% and 17.748% of total contact area (94.511 Å2),
respectively. They totally have percentage contribution of 16.486% + 17.748% = 34.234%.
To inspect more intuitively, you can copy the data printed by Multiwfn and import them to e.g.
Origin software and then plot pie chart like this:
Clearly, H-N/N-H and H-O/O-H types of contact correspond to typical intermolecular H-bond, from
the pie chart one can see that nearly half of contact area relates to H-bond. Although H-H contact
contributes to as many as 45.1% of Hirshfeld surface, it evidently does not correspond to favorable
intermolecular interaction, since the hydrogens show positive charge and thus the H-H contact is
electrostatically repulsive.
660
4 Tutorials and Examples
Finally you can see below graph. Note that the plotting script sets color transition to Blue-White-
Red, which corresponds to electron density varying from 0.0 to 0.015 a.u. Clearly, from the graph
one can easily recognize the evident intermolecular interaction regions.
By the way, sometimes you need to fine tune the color scale. The default value can be modified in hirsh_rho.vmd.
You can also directly define it in this way in VMD: Enter “Graphics” - “Representation”, choose the representation
corresponding to the isosurface, then click “Trajectory” tab, input lower and upper limits in the two text boxes and
then press ENTER button to take effect.
Based on the GC.wfn used in Section 4.12.5, you can use the same method as above to plot
electron density mapped Hirshfeld surface, see below.
Via very similar procedure, you can also plot dnorm mapped Hirshfeld or Becke surface, there
are only two difference compared to the above case: (1) In main function 12, after choosing option
to 1 to switch to Hirshfeld or Becke surface, you need to choose option 2 and select dnorm as mapped
function (2) examples\scripts\hirsh_dnorm.vmd script should be used instead of the hirsh_rho.vmd
used above.
Much more examples of Hirshfeld/Becke analysis and relevant skills can be found in my blog
article http://sobereva.com/701 (in Chinese).
661
4 Tutorials and Examples
predicted based on the result of quantitative molecular surface analysis of electrostatic potential
(ESP). For example, in Mol. Phys., 107, 2095 (2009), Politzer et al. showed that crystal density of
molecules only containing C, H, N, O can be predicted as
M
= + ( tot
2
)+
Vm
where = 0.9183, = 0.0028 and = 0.0443 when the wavefunction is generated at B3PW91/6-
2
31G** level and the unit of M/Vm and 𝜈𝜎tot are g/cm3 and (kcal/mol)2, respectively.
In this section, I illustrate how to use above formula to predict density of molecular crystal of
FOX-7 (1,1-diamino-2,2-dinitroethene), which is an insensitive high explosive compound. More
illustrations of property prediction can be found in my blog article "Using Multiwfn to predict
crystal density, heat of vaporization, boiling point and solvation free energy" (in Chinese,
http://sobereva.com/337).
First, we optimize geometry of FOX-7 and yield wavefunction file at B3PW91/6-31G** level,
which is the level used by Politzer et al. in their Mol. Phys. paper. The resulting FOX-7.wfn has
provided as examples\FOX-7.wfn.
Boot up Multiwfn and input below commands:
examples\FOX-7.wfn
12 // Quantitative molecular surface analysis
0 // Start analysis for default real space function (ESP) on default surface (0.001 a.u. isosurface
of electron density)
After a while, you will find below output on screen
Volume: 942.48700 Bohr^3 ( 139.66220 Angstrom^3)
...[ignored]
This example is a continuation of Section 4.5.7. Here I illustrate the quantitative analysis of
orbital overlap length function D(r) on molecular electron density isosurface of thioformic acid.
Boot up Multiwfn and input following commands:
662
4 Tutorials and Examples
This graph shows molecular structure and surface extrema (red and blue spheres correspond to
surface maxima and minima, respectively). It can be seen that surface minima is present on oxygen
663
4 Tutorials and Examples
atom due to compact lone pair and surface maxima is located on sulfur atom due to its more diffuse
and weakly bound lone pair electrons.
After reading Section 4.12.1, you must have already known how to evaluate area of molecular
vdW surface. In this section, I will discuss more about this topic. Dopamine will be employed as
example, its properly optimized geometry is shown below
The contribution of the amino group to the whole vdW surface thus can be calculated as
27.9/181.6*100%=15.4%.
664
4 Tutorials and Examples
If you want to visualize the vdW surface that attributed to the amino group, we should input y
to let Multiwfn export locsurf.pdb in current folder. Then load this file into VMD visualization
program (http://www.ks.uiuc.edu/Research/vmd/), in the "Graphics" - "Representation" set
"Drawing method" as "Points", set "Coloring method" as "Beta", and then load the structure file of
present system (examples\dopamine.xyz) into VMD to also plot the molecular geometry in the map,
after slight adjustment you will see
In above figure, each point denotes a vertex comprising the electron density isosurface of 0.002
a.u., the blue area corresponds to the local region belonging to the amino group. Clearly, the partition
of the entire vdW surface is very reasonable, thus the outputted area of the amino group by Multiwfn
must be reliable and meaningful.
Obviously the result is reasonable, the value 195.2 Å2 is in qualitative agreement with the 181.6
Å2 we previously calculated based on the B3LYP/6-31G* wavefunction.
If then we calculate area of the amino group moiety, the result will be 31.5 Å2, which is also
close to the 27.9 Å2 calculated based on the DFT density. In particular, the occupancy of this group
31.5/195.2*100%=16.1% is even nearly quantitatively consistent with the 15.4% we calculated
before.
665
4 Tutorials and Examples
Introduction
-hole and -hole correspond to local regions with evident positive electrostatic potential (ESP)
on van der Waals (vdW) surface due to depletion of -electron and -electron, respectively. The
region corresponding to these holes can behave as electron acceptor (local Lewis-acid) to form non-
covalent interactions that dominated by electrostatic attraction, such as halogen bond. If you are not
familiar with these two concepts, reading a review article J. Comput. Chem., 39, 464 (2017) is
recommended. In literatures, the -hole and -hole are commonly revealed via analysis of ESP
extrema on vdW surface, the ESP value at the corresponding extrema is often employed as a
quantitative measure of potential strength as electron acceptor.
In the present section, I will show it is also possible to use Multiwfn to calculate surface area
corresponding to selected -hole and -hole, and meantime based on the outputted file, the
corresponding local surface could be directly visualized in VMD. I suggest you reading part 2 of
Section 3.15.2.2, in which the algorithm used in this analysis is described. ClPO2 is taken as example
here, which contains -hole at the end of chlorine atom as well as -hole above and below the
phosphorus atom.
Now enter option 0 to check index and visually examine position of the surface ESP maxima,
see the left side of the figure below (all surface minima are hidden). If you plot ESP colored vdW
surface as well as surface extrema according to the method described in Section 4.A.13, you can
obtain right side of the below graph, in which red and blue correspond to positive and negative ESP,
respectively.
666
4 Tutorials and Examples
From above figure it can be seen that surface maxima 1 and 3 correspond to -hole at the two sides,
while maximum 1 corresponds to -hole.
The output indicates that there are 4307 surface vertices directly or indirectly connected to
maximum 3 with ESP values larger than 0 (i.e. positive ESP), the area of this local surface is 55.94
Å2 and average ESP is 0.0265 a.u. According to chemical intuition, the calculated area is obviously
too large compared to expected -hole area, what is the reason?
In current folder, you can find a file named selsurf.pqr, which contains coordinate all selected
surface vertices and its "Charge" column corresponds to ESP in a.u. Now we load this file into VMD
program. In addition, in the post-processing menu of Multiwfn, we choose option 5 to export a pdb
file containing molecular geometry, and then also load this file into VMD. In the "Graphics" -
"Representation" panel of VMD, we set "Drawing Method" of the molecule as "Licorice" with
"Bond Radius" of 0.2, then set "Drawing Method" of the surface vertices as "Point" with "Size" of
16, then set "Coloring Method" as "Charge". The current graph should look like below
667
4 Tutorials and Examples
In this graph, the more blue the point, the higher the ESP value. It is evident that our currently
selected local surface does not only correspond to a -hole, but corresponds to the entire positive
ESP surface region.
From the graph it can be seen that criterion of 0.04 a.u. is suitable for defining the local surface
corresponding to -hole of present system. Above map contains two blue local surfaces since there
is a -hole at each side of the phosphorus atom. To calculate area of each -hole, we input
14 // Calculate area and function average in a region around a surface extreme
2 // Surface maximum
3 // Select maximum 3 (corresponding to one of -holes)
0.04 // Set criterion as 0.04 a.u.
The result is
Number of surface vertices in selected surface region: 271
The calculated 3.57 is a very reasonable area of a typical -hole. If you visualize the generated
Å2
selsurf.pqr by VMD to examine the selected local surface, you will find the region just corresponds
to one of the two -holes shown in above surface map. Evidently, the total area of the -holes in
668
4 Tutorials and Examples
It is important to point out that the calculated area is directly dependent on the choice of the
criterion, while there is no unique way of determining the perfect criterion. In practical study, you
can try to define the criterion as e.g. 60% of ESP value at corresponding surface maximum, or
consider defining the criterion as a value lower than surface maximum by e.g. 10 kcal/mol.
Noticeably, the option 14 can not only measure area around a surface maximum, but can also
calculate area around a surface minimum. Thus you can try to use this feature to quantify the area
corresponding to various lone pairs.
Just as the whole 3-dimensions molecular space can be partitioned as basins based on e.g.
electron density and electron localization function so that character of local regions could be
discussed, it is also possible to employs analogous idea to partition the whole molecular surface as
individual local surface based on a specific mapped function, so that chemically interesting
information could be gained. In this example, we will decompose the whole vdW surface of ClPO2
to contributions that source from its surface ESP minima and maxima. Please read part 3 of Section
669
4 Tutorials and Examples
3.15.2.2 to gain basic knowledge about the algorithm employed in this analysis. The ClPO2 has
already been investigated by means of molecular surface analysis in Section 4.12.10, please read it
if you have not.
Boot up Multiwfn and input
examples\ClPO2.fch // Geometry and wavefunction were produced at PBE0/def2-TZVP
12 // Quantitative molecular surface analysis
0 // Start analysis, the mapped function is default to ESP
15 // Basin-like partition of surface and calculate areas
Then you can find below output on screen
Minimum 1 N_vert: 1596, 19.615 Angstrom^2 Avg. value: -0.023076 a.u.
Above output presents information of "surface basins" (i.e. local molecular surfaces) corresponding
to different surface extrema. The "N_vert" denotes the number of surface vertices belonging to the
surface basin, the area as well as average of the mapped function in the surface basin are also shown.
Multiwfn also exported a file named surfbasin.pdb in current folder, which contains all surface
vertices, their B-factors correspond to the index of the surface basin that the vertex attributed to
(positive and negative Beta values correspond indices of surface maxima and minima, respectively).
Index of a surface basin is identical to index of corresponding surface extreme, each surface basin
contains and only contains one surface extreme. Note that surface minimum with positive value and
surface maximum with negative value do not have accompanied surface basin, this is easy to
understand if you have correctly understand the algorithm described in Section 3.15.2.2.
In order to vividly examine the surface basins, you can load the surfbasin.pdb into VMD, then
set drawing method as "Points" while set coloring method as "Beta". Also, we choose corresponding
options in Multiwfn to export pdb file of molecular structure (option 5) and surface extreme (option
2) and then display them in VMD. Finally you can obtain below graph, calculated data are also
marked
In the current graph, red points around the minimum 1 collectively exhibit the region of surface
basin 1, while gray and iceblue points display surface basin corresponding to maxima 1 and 2,
670
4 Tutorials and Examples
respectively. Clearly, via the analysis we currently employed, we are able to make clear the intrinsic
contributions that stem from different extrema to the overall positive or negative surface region. For
example, the percentage contribution to the positive surface region due to the maximum 2, which
results from -hole of the chlorine atom, is 21.539/(16.689+21.539+16.040)100%=39.7%.
The sum of areas of all maxima (minima) is not exactly identical to the positive (negative) surface area outputted
in the "Summary of surface analysis" section, because there are some boundary surface facets, whose three vertices
do not have identical attribution. These facets are ignored during calculation of area and average of function value
of surface basins.
By the way, you can also make VMD to solely display specific surface basin. For example, by
inputting beta=-1 and beta=2 in "Selected Atoms" textbox of "Graphics" - "Representation" panel
of VMD and then set color as orange, you will respectively observe surface basin corresponding to
minimum 1 and maximum 2:
It is noteworthy that, due to the C2v molecular symmetry, the minima 1 and 2 should have
identical values, maxima 1 and 3 should also have identical values. The slight violation of the
equivalency, as shown in above computed data, is due to numerical aspect reasons. When you report
data of the surface basins corresponding to the -hole (maxima 1 and 3), it is reasonable to take the
average of them, that is the area in each side should be (16.040+16.689)/2=16.4 Å2.
The kinetic diameter is an important quantity in the study of gas separation. Most cited values
of kinetic diameter of small molecules are taken from Breck's book Zeolite Molecular Sieves;
Structure, Chemistry and Use, which was published in 1974. In J. Phys. Chem. A, 118, 1150 (2014),
the authors proposed a general way of calculating kinetic diameter purely based on isosurface of
electron density. As exemplified below (adapted from the J. Phys. Chem. A paper), the distance
enclosed by the two black arrows could be used to define the kinetic diameter
671
4 Tutorials and Examples
In the paper, it is found that the calculated values match best to the Breck's values if isovalue of
electron density is set to 0.0015 a.u. when PBE0/def2-TZVP is used in the wavefunction generation.
In this section, I will show how to use the quantitative molecular surface analysis module to
realize the above mentioned method to calculate kinetic diameter for a typical molecule, CO.
The .fch file yielded by optimization task at PBE0/def2-TZVP level has been provided as
examples\CO.fch.
Before doing the calculation, we should use main function 0 to check the orientation of the
molecule in the CO.fch, as shown below
Clearly, the molecular axis is exactly parallel to the Z-axis, therefore the kinetic diameter can be
calculated as difference between surface vertex with most positive X value and that with most
negative X value (the surface is defined as 0.0015 a.u. isosurface of electron density).
Now we conduct the calculation. Boot up Multiwfn and input
examples\CO.fch
12 // Quantitative analysis of molecular surface
1 // Select the way to define surface
1 // Isosurface of electron density
0.0015 // Isovalue
6 // Start analysis without consideration of mapped function
After properly scrolling up, you can find below output:
Among all surface vertices:
672
4 Tutorials and Examples
That means the kinetic diameter can be calculated as 1.7528-(-1.7527)=3.505 Å. According to Table
2 of the J. Phys. Chem. A paper, the slope of fitting is 1.025, therefore the final estimated value
should be 3.505*1.025=3.593 Å, which is in qualitative agreement with the Breck's value (3.76 Å).
The CO is a very simple case, while for much more complicated molecule, you have to use
VMD (http://www.ks.uiuc.edu/Research/vmd/) to measure the distance between two proper surface
vertices to estimate the kinetic diameter. Again taking the CO as example, in the post-processing
menu, choose option 6 to export vtx.pdb in current folder, which records all surface vertices. Then
load this file into VMD, in the "Graphics" - "Representation", set "Drawing method" as "Points".
Then in the VMD main window, choose "Display" - "Orthographic". After that, activate the VMD
graphical window, press button 2 on your keyboard, then click two vertices at proper positions.
From below map, you can find the distance between the two vertices is 3.47 Å, which is very close
the value 3.505 Å given above.
Choosing proper surface vertices is not quite easy, please be very patient. If the vertices are
mis-selected, you can enter "Graphics" - "Labels", then delete the unwanted atoms labels and bond
labels.
We have studied average local ionization energy (IEL) in Section 4.12.2, please read it first if
you have not, since the present section can be viewed as an extension of that section. There are two
functions closely related to IEL, namely local electron affinity (EAL) and local electron attachment
energy (Eatt), which will be described and illustrated in this section.
673
4 Tutorials and Examples
− i (r ) i
2
EAL (r ) = ivir
(r )
2
i
ivir
where denotes orbital energy, is orbital wavefunction. EAL corresponds to user-defined function
27 in Multiwfn.
EAL approximately reveals electron affinity at a given point based on Koopmans'
approximation. It is expected that the more positive the EAL at a point, the stronger the
electrophilicity in this region. Clearly, this nature makes EAL have certain ability in revealing
favorable site of nucleophilic attack.
The best way of exhibiting distribution of EAL should be mapping it to molecular surface via
different colors. In Section 4.12.2 I have illustrated how to plot IEL mapped molecular surface via
script of VMD program based on Multiwfn output files, below I will illustrate how to plot this kind
of map for EAL via almost the same way.
examples\CH3Cl.fchk will be taken as example, it was generated at B3LYP/6-31G* level. Note
that EAL is meaningful only when diffuse functions are not employed. In addition, you must use a
file containing virtual orbitals as input file, such as .mwfn, .fch and .molden, because virtual orbitals
are involved in EAL calculation.
To plot the map, you should do following things (below procedure only works for Windows
platform, for Linux platform you should write similar scripts yourself)
• Copy LEA_isoext.bat and LEA_isoext.txt from "examples\scripts\local_EA" folder to current
folder. Edit the .bat file by text editor, set the VMD paths to actual VMD folder on your machine,
and set the path of input file for Multiwfn as its actual path, namely examples\CH3Cl.fchk.
• Copy LEA_isoext.vmd from "examples\scripts\local_EA" folder to VMD folder
• Double click LEA_isoext.bat to run it. Then Multiwfn will be invoked to generate density.cub
(cube file of ), userfunc.cub (cube file of EAL) and surfanalysis.pdb (containing surface extrema
of EAL on = 0.01 a.u. isosurface), then they will be automatically moved to VMD folder
Boot up VMD and input source LEA_isoext.vmd in VMD console window to run this script,
then you will see below graph
This map shows EAL mapped = 0.01 a.u. isosurface, the color scale is from -0.80 (blue) to -
0.30 (red) a.u., cyan spheres correspond to maxima of EAL on this surface. As can be seen, the
regions around the hydrogens have most positive EAL, indicating that they are the most electrophilic
674
4 Tutorials and Examples
part of the molecule. Presence of these regions comes from the fact that the hydrogens have positive
charge. At the end of the Cl atom there is also a region with relatively more positive EAL, which
indicates the existence of -hole of the Cl atom.
To inquire exact value of the surface extrema, you should activate OpenGL window of VMD,
then click button 0 on your keyboard to enter inquire mode, then click center of a surface extreme,
for example, the extreme at the top of the above map, you will find its index on VMD console
window (index 9). Then enter [atomselect top "index 9"] get beta in VMD console window, you
will find the value is -12.49, which is given in eV, and corresponds to -12.49/27.2114 = -0.46 a.u.
It is worth to note that the most appropriate color scale of EAL is usually very different from
system to system. If you find the entire isosurface is monocolor, or the color in different regions
cannot be clearly distinguished, you should properly adjust lower and upper limits of color scale. If
you input for example mol scaleminmax 0 1 -1.0 -0.4 in VMD console window, then the color scale
will be changed to -1.0 ~ -0.4 a.u.
By the way, in order to fully understand how the script works, you are encouraged to manually
input the commands recorded in the LEA_isoext.txt one by one into Multiwfn window.
i (r ) i
2
n
Eatt (r ) = i = LUMO
(r )
where i loops over all unoccupied orbitals with negative energy. For restricted and unrestricted
wavefunctions, n equals to 2 and 1, respectively. Eatt corresponds to user-defined function -27 in
Multiwfn, you can study it via various ways in Multiwfn.
The character of this function is highly analogous to LEA, but mostly because high-lying
unoccupied MOs (fully lack of chemical meaning) are not involved in the calculation, this function
is more robust than LEA, and presence of diffuse functions are allowed. However, to use this
function, one must guarantee that at least LUMO has a negative energy, otherwise the function will
be exactly zero everywhere. In the original paper it is found that Eatt works reasonable with
B3LYP/6-31+G(d,p) wavefunction. So, we will use the wavefunction generated at this level to
illustrate the analysis of Eatt. It is noteworthy that at B3LYP/6-31G* level, even LUMO has a
positive energy, thus adding diffuse functions is compulsory at least for this case!
We will plot Eatt colored molecular surface for CH3Cl like the above EAL example. The
molecular surface will be defined as 0.004 a.u., this is because the original paper of Eatt suggests to
study Eatt on this surface. You should do following things (under Windows)
• Copy LEAE_isoext.bat and LEAE_isoext.txt from "examples\scripts\local_EA" folder to
current folder. Open the .bat file by text editor, set the VMD paths to actual VMD folder on your
machine, and set the path of input file for Multiwfn as its actual path, namely
examples\CH3Cl_631+Gxx.fch, which was generated using B3LYP/6-31+G(d,p)//B3LYP/6-31G(d)
calculation by Gaussian 16.
• Copy LEAE_isoext.vmd from "examples\scripts\local_EA" folder to VMD folder.
• Double click LEAE_isoext.bat to run it. Then Multiwfn will be invoked to generate
density.cub (cube file of ), userfunc.cub (cube file of Eatt) and surfanalysis.pdb (containing surface
675
4 Tutorials and Examples
extrema of Eatt on = 0.004 a.u. isosurface), then they will be automatically moved to VMD folder
Boot up VMD and input source LEAE_isoext.vmd in VMD console window to run this script.
However, under the default color scale (from -0.03 to 0.0 a.u.) the character in different regions of
the molecular surface cannot be clearly distinguished. Therefore, we input this command in VMD
console window to change color scale to [-0.015,0] a.u.: mol scaleminmax 0 1 -0.015 0, then you
will see the following map, two perspectives are shown
In this map, the color varies as blue-white-red, the bluer (more negative Eatt) the region, the
stronger electrophilicity the corresponding area. This map conveys essentially the information as
EAL, namely the end of -CH3 group is most electrophilic, while the -hole of Cl atom also shows
weak electrophilicity.
The cyan spheres on the surface correspond to surface extrema of Eatt. Using the same way as
the last example to inquire their values, you can find the surface extreme at the end of Cl atom is
-0.29 eV, while that at the -CH3 side is -0.5 eV.
Main function 13 includes a bunch of subfunctions, by using them you can process the grid
data loaded from Gaussian-type cube file (.cub), DMol3 grid file (.grd), ParaView VTK Image Data
file (.vti), or the grid data directly generated by such as main function 5 of Multiwfn. In this section
I present several simple applications, please play with other subfunctions yourself.
In this example we extract average XY-plane data between Z=28 and Z=32 Å to a plain text
file.
dens.cub // A cube file generated by Multiwfn or by some external programs, since cube file
is generally large, it is not provided in "example" folder. You can also use the grid data generated
internally by Multiwfn instead, that is use main function 5 to calculate grid data first and then choose
0 to return to main menu (the just generated grid data is present in memory)
13 // Process grid data
5 // Extract average plane data
28,32 // Range of Z (in Å)
676
4 Tutorials and Examples
Now the data points are exported to output.txt in current folder, including X,Y coordinates and
value. You can import this file to plotting software such as Sigmaplot to draw plane graph.
Another example, we extract data point on the plane defined by atom 4,6,2.
dens.cub
13 // Process grid data
8 // Output data in a plane by specifying three atom indices. This function is commonly used
to extract tilted plane, if the plane is parallel to XY, YZ or XZ, you should use function 1,2 or 3
instead respectively
0 // Use automatically determined tolerance distance. If vertical distance between any point
and the plane you defined is smaller than tolerance distance, then the point will be outputted.
1 // Project the data points in the plane you defined to XY plane, so that you can directly import
the outputted file to plotting software to draw plane graphs
Now the data value along with coordinates is exported to output.txt in current folder.
Notice that Multiwfn does not do interpolation during plane data extraction, hence if the quality
of grid data is not fine enough (namely spacing between points is large), then the extracted plane
data will be sparse (especially severe for the plane not parallel to XY, YZ or XZ plane).
Example 1
Assume that we have two cube files A.cub and B.cub, in this example we obtain their difference
cube file (viz. A.cub minus B.cub).
Boot up Multiwfn and input following commands
A.cub // Load the first cube file into memory
13 // Process grid data
11 // Grid data calculation
4 // Subtract the grid data in memory by another grid data
B.cub // The cube file containing another grid data. Notice that this cube file must have
identical grid setting as the first cube file
Now the grid data in the memory has been updated, choose 0 to export it as a new cube file,
which is what we need.
Example 2
Assume that we have two cube files MO1.cub and MO2.cub, each of them records
wavefunction value of an orbital. In this example we will generate a cube file containing total
electron density deriving from these two orbitals. According to Born's probability interpretation,
square of an orbital wavefunction value is simply its density probability, therefore what we need is
the sum of square of the two grid data.
Boot up Multiwfn and input following commands
MO1.cub
13 // Process grid data
11 // Grid data calculation
677
4 Tutorials and Examples
10 // Perform A2+B2=C operation, where A is present grid data (MO1.cub), B is another cube
file (MO2.cub), C is the new grid data
MO2.cub // Load another cube file
After calculation, the grid data in memory has been updated to C.
0 // Output the updated grid data
totdes.cub // Filename of the new cube file, which contains total electron density of the two
orbitals
The numerical range of ELF function is [0,1], in this example, we scale its numerical range to
[0,65535] (which is value range of unsigned 16bit integer). We first compute ELF grid data in
Multiwfn as described in Section 4.5.1, and then input
0 // Return to main menu from post-processing interface of grid data calculation
13 // Process grid data
16 // Scale data range
0,1 // Original data range
0,65535 // The range after scaling. Please read Section 3.16.12 for the detail of scaling
algorithm.
Now the grid data has been scaled. You can choose function 0 to export the updated grid data
to Gaussian cube file, or extract plane data to plain text file by corresponding functions.
Sometimes we do not want all isosurfaces in the whole space are shown, because too many
isosurfaces will confuse our eyes. This section I will show how to screen the isosurfaces of not
interest
4.13.4.1 Screen isosurfaces inside or outside a region
This section I take electron density of phenol dimer as example. First we generate the grid data
as follows (you can also directly load a .cub/.grd file and then enter main function 13)
examples\phenoldimer.wfn
5 // Calculate grid data
1 // Electron density
2 // Medium quality grid
-1 // Visualize isosurface
As you can see, the isosurfaces appear on both phenol molecules.
678
4 Tutorials and Examples
Assume that we only want the isosurface around the right phenol will be shown, we need to set the
value of the grid points that close to the left phenol to a very small value, for example, zero.
Close the Multiwfn GUI window and input
0 // Return to main menu
13 // Process grid data
13 // Set value of the grid points that far away from / close to some atoms
-0.7 // That means we will set the value of the grid points inside 0.7 times of vdW radius of
the atoms. If input 0.7, then the value of the grid points outside 0.7 times of the vdW radius will be
set
0 // Set the value to 0
2 // Defining mode. 2 means inputting atomic indices by hand (if choose 1, external file
containing atomic index list will be used to define fragment, see Section 3.16.9 for the format or the
next example)
1-13 // Range of atomic indices of the left phenol
Now the grid data has been updated, let us choose option -2 to visualize the isosurface of current
grid data. As you can see, the isosurface of the left phenol has disappeared.
679
4 Tutorials and Examples
In order to screen those intramolecular isosurfaces, we will use subfunction 14 in main function
13 of Multiwfn. First, we prepare two atom list files for the two chains (each chain corresponds to
a fragment). atmlist1.txt includes atom indices of chain 1, the head and tail of the file are:
159 <--- Total number of atoms in chain 1
...
Similarly, atmlist2.txt defines atom list for chain 2, its head and tail parts are:
159 <--- Chain 2 has 159 atoms too
...
680
4 Tutorials and Examples
In fact, when the case is not complicated (as present example), preparing atomic list files are
not needed, you can choose defining mode as 2 and then directly input atomic indices (i.e. 1-159 for
chain 1 and 160-318 for chain 2).
In this example, we will calculate barycenter of a molecular orbital. You can also obtain
barycenter of other real space functions by similar manner. The definition of barycenter is given in
Section 3.16.13. Below is the isosurface of the 10th MO of phenol.
Before calculate the barycenter of the MO, we need to obtain the grid data of the MO. We can
681
4 Tutorials and Examples
Multiwfn is able to calculate and plot integral curve for grid data, see the introduction in
Section 3.16.14. If the grid data is selected as electron density difference, then the integral curve is
commonly known as charge displacement curve (CDC), by which the charge transfer can be studied
visually and quantitatively, extremely suitable for linear systems. In this example, by means of CDC,
we will investigate the intermolecular charge transfer in polyyne (n=7) due to the externally applied
electric field of 0.03 a.u. along the molecular axis.
The polyyne.wfn and polyyne_field.wfn files in "example" folder correspond to the polyyne in
its isolated state and in the case that external electric field of 0.03 a.u. is applied, respectively.
B3LYP/6-31G* is used in the calculations, and the geometry optimized in isolated state is used for
both cases. In Gaussian program, the field can be activated via keyword field=z+300.
Before plotting the CDC, we must calculate the grid data of electron density difference between
these two files first. Boot up Multiwfn and input following commands:
examples\polyyne_field.wfn
5 // Calculate grid data
0 // Custom operation
1
-,examples\polyyne.wfn //Subtract the property of polyyne.wfn from polyyne_field.wfn
1 // Electron density
2 // Medium quality grid
682
4 Tutorials and Examples
We first visualize the isosurface of the electron density difference. After select -1 and set the
isovalue to 0.004, we will see the graph like below
The green and blue parts represent the regions where electron density is increased and decreased
after the external electric field is applied, respectively. It can be seen that although green and blue
parts interlace with each other, the total trend is that electron transferred to positive side of Z-axis
(namely toward the source of the electric field). Next we will plot CDC, which is able to characterize
the electron transfer in different regions quantitatively.
Click "Return" button in the GUI and then input
0 // Return to main menu
13 // Process grid data
18 // Calculate and plot integral curve
Z // The curve will be plotted in Z direction
Press ENTER button // Select the entire range
In the menu, we first choose option 2 to plot local integral curve of the grid data of the electron
density difference. You will see
From the graph we can examine the integral of electron density difference in the XY planes
corresponding to different Z coordinates. The Z coordinate and the value correspond to X and Y
axes of the graph. You can directly compare this curve with the isosurface graph shown above, the
peaks lower and higher than zero (dashed line) correspond to the blue and green isosurfaces. Note
that in the command-line window, now you can find positions and values of all minima and maxima
of the curve.
683
4 Tutorials and Examples
Clicking right mouse button on the graph to close it, and then select option 1, the CDC will be
shown immediately
This graph is yielded by integrating the curve shown in the last graph along the molecular axis. In
its left part, although there are some fluctuations, the CDC gradually becomes more and more
negative and reaches minimum value of 1.4 in the midpoint of the X-axis (corresponding to the
center of the polyyne), that means due to the external electric field, the number of lost electrons in
the left part of polyyne is 1.4. In the right part of the graph, the CDC increases gradually from -1.4
and finally reaches zero, suggesting that 1.4 electrons are transferred to right part of the polyyne,
and due to the amount of increase and decrease of electron are cancelled with each other exactly in
the whole molecular space, there is no variation of the total number of electrons (in other words,
integral of the electron density difference in the whole molecular space is exactly zero).
In this example we take methane dimer as example to evaluate where electron density of the
two monomers overlap with each other evidently. The structure of the methane dimer is
We first obtain grid data for an arbitrary real space function for the dimer. Boot up Multiwfn
and input:
examples\rho_overlap\dimer.pdb
5 // Grid data calculation
100 // User define function, by default this function does not take any computational time
684
4 Tutorials and Examples
685
4 Tutorials and Examples
Boot up Multiwfn and load the overlap.cub, enter main function 0, change the isovalue to a
small one such as 0.0005, you will clearly see the density overlap region:
It is noteworthy that if then you enter main function 13, select subfunction 17 and then input
1, you will be able to obtain integral value of the density overlap function over the whole space,
namely the "Integral of all data". Clearly, the larger the integral, the higher extent the densities of
monomers overlap with each other.
By the way, if you feel the above mentioned steps are too lengthy, you can easily make use of
silent mode of Multiwfn to significantly reduce the operation steps, see Section 5.2.
Multiwfn is able to obtain statistical information (integral, volume, maximum and minimum
values, etc.) in a specific spatial and value ranges. To illustrate the use of this feature, in this example
we first calculate electron density for acetylene, and then integrate electron density within a
cylindrical region surrounding C-C bond.
Boot up Multiwfn and input
examples\C2H2.wfn
5 // Calculate grid data
1 // Electron density
3 // High quality grid
0 // Return to main menu
13 // Process grid data
17 // Show statistic data of grid points
2 // Obtain statistic data for grid points in specific spatial and value ranges
[Press ENTER button directly] // Do not set constraint condition of value range
2 // Cylindrical region
0.000000 0.000000 0.602676 // Coordinate (in Å) of C1 as the 1st terminal of the cylinder
0.000000 0.000000 -0.602676 // Coordinate (in Å) of C3 as the 2nd terminal of the cylinder
2 // Radius of the cylinder is set to be 2 Å
Now you can find statistical information for the grid data in the defined region:
The minimum value: 0.27234472E-17 at -6.000000 -6.000000 -9.152823 Bohr
686
4 Tutorials and Examples
As highlighted by yellow color, the integral of present grid data, that is number of electrons, in the
cylindrical region is 6.472. Now Multiwfn asks you if exporting a xyz file containing the grids
involved in the statistics to grid.xyz in current folder, we choose y. Then we use VMD program to
visualize the grid.xyz and molecule structure. After adjusting graphical effect to make the grid points
shown as pink points, you will see the following map. Clearly the grid points indeed distribute
within our expected region.
687
4 Tutorials and Examples
Theory basis of AdNDP analysis has been introduced in Section 3.17.1, please read it first.
Below I will show how to use AdNDP approach to study multi-centers orbitals of a frew practical
molecules. More detailed discussions about AdNDP analysis can be found in my blog article "Study
multi-center bonds by AdNDP approach as well as ELF/LOL and multi-center bond order" (in
Chinese, http://sobereva.com/138).
NOTICE: Using diffuse functions in AdNDP analysis is strongly deprecated, because they often cause
numerical problems (which sometimes leads to crash when Multiwfn loading input file) while never improve AdNDP
results!
In Chem. Eur. J., 6, 2982 (2000), the authors showed that Li5+ cluster has two 4-centers 2-
electrons (4c-2e) bonds by examining ELF isosurfaces. In present example, we will use AdNDP
approach to study this cluster to verify their statement. We first optimize Li5+ cluster under
B3LYP/6-311G* level and then compile an input file of single point task for Gaussian. pop=nboread
keyword must be specified in route section, and $NBO AONAO DMNAO $END must be added to
the end of the input file. Run this file by Gaussian, and then convert check point file to .fch format.
The input file, output file and .fch file have been given in "examples\AdNDP" folder.
Boot up Multiwfn and input examples\AdNDP\Li5+.out, and then choose main function 14.
After Multiwfn loaded some necessary information, a menu appears. Since this cluster is small, we
can directly use exhaustive manner to search all possible 1c-2e, 2c-2e, 3c-2e, 4c-2e and 5c-2e
orbitals in turn. We first choose option 2 to search 1c-2e orbitals (namely lone pairs), however,
because occupation numbers of all tried 1c orbitals are lower than default threshold (which is a value
close to 2.0 and can be adjusted by option 4), the candidate orbitals list shown in front of the menu
is still empty. We then choose option 2 twice to search 2c-2e and 3c-2e orbitals in turn, we still
cannot find any orbital with high occupation numbers. Next we select option 2 again to search 4c-
2e orbitals, this time the candidate orbital list is no longer empty, there are two orbitals in it:
# 2 Occ: 1.9966 Atom: 1Li 2Li 3Li 4Li
Due to their high occupation number, it clear that they are ideal 4c-2e orbitals, therefore we decide
to choose option 0 and input 2 to pick them out from candidate list and save as AdNDP orbitals.
After that the list of AdNDP orbitals can be printed by option 5.
You may have noticed that the number of residual valence electrons (shown at the top of the
menu) has been updated to 0.020, which is already very close to zero, it is suggested it is
meaningless to continue to search 5c-2e orbitals because they would be impossible to be found.
Now you can choose option 7 to visualize the two 4c-2e AdNDP orbitals. In order to calculate
orbital wavefunction, Multiwfn needs to load basis set information from corresponding .fch file first.
Since Li5+.fch is in the same folder and has identical name as Li5+.out, the .fch file will be directly
loaded. When loading is finished, a GUI pops up, which is completely identical to the one of main
function 0. AdNDP orbitals can be plotted by selecting corresponding numbers in the right-bottom
list. The 0.05 isosurfaces of the two orbitals are shown below.
688
4 Tutorials and Examples
Grid data of AdNDP orbitals can be exported as Gaussian cube files by option 9, so that you
can plot them by some third-part visualization programs such as VMD and Molekel. You need to
input orbital index range, assume that we want to output the two 4c-2e AdNDP orbitals we just
found, we should input 1,2 and choose a proper grid setting, then they will be exported as
AdNDPorb0001.cub and AdNDPorb0002.cub in current folder.
By option 3, you can set the number of centers of multi-centers orbitals in the next exhaustive
search. So, assume that you have already known that there are two 4c-2e orbitals in present system,
you can directly choose option 3, input 4 and then select option 2 to start the exhaustive search of
4c-2e orbitals, the exhaustive searches of 1c-2e, 2c-2e and 3c-2e orbitals will be skipped.
As expected, the two orbitals are degenerate in energy, since they have exactly equivalent shape.
Of course, if you write $NBO DMNAO AONAO archive file=C:\Li5+ $END in the last line of .gjf file, then
after running it, not only the output file can be used as input file for AdNDP analysis, but also the .47 file used to
derive AdNDP orbital energies will be yielded at the same time.
This time, we will try to reproduce the AdNDP analysis result of B11− cluster that given in
AdNDP original paper (Phys. Chem. Chem. Phys., 10, 5207 (2008)).
689
4 Tutorials and Examples
The files needed by this instance, namely B11-.out and B11-.fch can be found in
"examples\AdNDP" folder. The geometry was optimized under B3LYP/6-311+G*, while the
wavefunction was generated under HF/STO-3G level. You may wonder whether the result is
meaningful under such low level of basis set; actually, AdNDP analysis is rather insensitive to basis
set quality, even STO-3G is able to produce at least qualitative reasonable result. In addition, using
larger basis set will bring additional cost at AdNDP analysis stage.
Boot up Multiwfn and input examples\AdNDP\B11-.out, then choose 14 to enter AdNDP
module. As usual, we select 2 to search 1c-2e orbitals first, but we find nothing (this is common
case). Then select 2 again to exhaustively search 2c-2e orbitals from the 11 atoms, Multiwfn will
totally try 11!/(11-2)!/2!=55 combinations, finally there are nine 2c orbitals present in candidate list
(sorted according to occupation number from large to small):
# 9 Occ: 1.9727 Atom: 6B 10B
All of them have occupation number close to 2.0, ostensibly one can directly pick all of them out as
AdNDP orbitals, however, it is not recommended to do so, because neighboring orbitals may share
the same densities. For example, the 1th and the 4th candidate orbitals share the some densities,
since both of them related to atom 3. In order to avoid overcount of electrons, firstly you should
pick out the first three orbitals by choosing option 0 and input 3, then the density of the first three
orbitals will be depleted from density matrix, after that wavefunction and occupation number of
remained candidate orbitals will be updated automatically. After that the candidate list becomes
# 6 Occ: 1.9538 Atom: 6B 10B
Since some densities have been depleted, occupation number of remained six candidate orbitals
slightly decreased. Now, we pick out the first four candidate orbitals by choosing option 0 and input
4. Although both of 3th and 4th orbitals are related to atom 7, here we have to ignore the slight
overcount of electrons, otherwise their degeneration will be broken and thus the final AdNDP
pattern will not be consistent with molecular symmetry anymore (you can choose option 8 to
carefully inspect candidate orbitals before you decide to pick them out). Finally, we pick out the last
two orbitals (i.e. 6B-10B and 5B-11B). Currently the number of residual valence electrons is 16.307,
which reveals that it is probable to find several higher number of centers orbitals with nearly two
electrons occupied.
Now we select option 2 to start the search of 3c-2e orbitals, the current candidate orbital list is:
# 9 Occ: 1.7399 Atom: 1B 6B 10B
690
4 Tutorials and Examples
After we pick out two orbitals (1B-8B-10B and 4B-9B-11B), one orbital (1B-4B-7B) and two
orbitals (3B-4B-5B and 1B-2B-6B) in turn, the highest occupation number of remained candidate
orbitals is 1.41, which is obviously too low to be recognized as 3c-2e orbital, so they will not be
concerned. Currently the number of residual valence electrons is 7.03.
Then you can start to search higher number of centers orbitals, beware that this is never a trivial
task, and there is no absolute rule on how to reasonably pick out candidate orbitals, different picking
manners result in different AdNDP patterns. You may have to try many times before finally
obtaining an optimal AdNDP pattern. It is recommended to use option 11 to save present density
matrix and AdNDP orbital list into memory, so that you need not to worry about improper pick of
candidate orbitals, since saved state can be recovered anytime by choosing option 12.
Now choose option 2 to start the search of 4c-2e orbitals, the highest occupation is merely 1.71,
none of them could be picked out.
Select option 2 again to search 5c-2e orbitals, you will find many 5c candidate orbitals, the
first two have occupation numbers of 1.89, we pick out both of them.
Then choose option 2 to search 6c-2e orbitals, no good candidate can be found, the highest
occupation number is only 1.84. Then choose option 2 to search 7c-2e orbitals, we pick the highest
occupied one (1.90). Now the residual valence electron is only 1.34, which is much less than 2.0,
indicating that no additional 2e AdNDP orbital could be found, therefore now we can end the
AdNDP searching procedure. The amount of residual electron reflects the electrons that cannot be
fully represented by present AdNDP pattern (analogous to non-Lewis electron in the NBO
framework)
By choosing option 5, information of all AdNDP orbitals can be printed out:
# 1 Occ: 1.9942 Atom: 2B 3B
691
4 Tutorials and Examples
to
set name "C:\\AdNDPorb$idx.cub"
You also need to make sure that in the script, the values after "set istart" and "set iend" have been
set to 1 and 17, respectively, so that the cube files from AdNDPorb0001.cub to AdNDPorb0017.cub
will be loaded. The positive and negative phases of the orbital isosurfaces are determined by the
values after "set posclr" and "set negclr 0", the orbital isovalue is determined by "set isoval"
Now boot up VMD, copy all content in the plotAdNDP.vmd to VMD console window, all cube
files of AdNDP orbitals will be loaded into VMD. Now the VMD Main window looks like below
Each entry corresponds to an AdNDP orbital. Currently all the 17 orbitals are shown. If you double
click a "D" label, then corresponding orbital will be hidden in the graphical window. In order to
show the molecule structure, drag the examples\AdNDP\B11-.xyz into the VMD main window to
load it, then enter "Graphics" - "Representation" and change the drawing style as CPK.
If you make VMD only display all the nine 2c-2e and all the five 3c-2e orbitals, you will see
left and right parts of below graph, respectively
692
4 Tutorials and Examples
The two 5c-2e and one 7c-2e orbitals are shown below (In the graph the 7c-2e orbital looks
like 5c orbital, the main reason is that the isovalue in the plotting script is relatively high, i.e. 0.06).
AdNDP analysis of phenanthrene (C14H10, see above) has been given in J. Org. Chem., 73,
9251 (2008), in this section we will repeat their result, you will learn how to use user-directed search.
Files used in this example can be found in examples\AdNDP folder with "phenanthrene" prefix.
First we load examples\AdNDP\phenanthrene.out and enter main function 14. In consistency
with the previous examples, we select option 2 twice to search 1c orbitals and then search 2c orbitals.
No 1c-2e orbitals can be found, while there are 31 candidate 2c orbitals present in the list. Ten of
them correspond to C-H σ-bonds and have no overlapping with each other, so we can pick them out
first, namely choosing option 0, input 8-15, then choose option 0 again and input 9,10. Next, we
successively pick out sixteen 2c candidate orbitals that corresponding to C-C σ-bonds. The most
careful way of picking out orbitals is inputting 0 2 0 1 0 2 0 1 0 2 0 2 0 2 0 2 0 2, where space
denotes pressing ENTER button once.
Now there are only five orbitals remain:
693
4 Tutorials and Examples
The first orbital with occupation number of 1.80 corresponds to the π-bond between C7 and C10,
we pick it out now. The occupation numbers of the four remained orbitals are about 1.72, thus they
are not quite ideal 2c-2e bonds, we do not concern them at the moment.
Although we can use option 2 to exhaustively search 3c, 4c, 5c ... orbitals as usual, this may
be not a good idea for present system, since user-directed search is often more effective. We first
choose option 13 to check population of residual electrons on each atom, see below, this information
is usually helpful for guiding users to properly set up exhaustive search list. (Note: The exhaustive
search triggered by option 2 is only applied to the atoms in exhaustive search list, which contains
all atoms in present system by default)
1C : 1.0250 2C : 1.0370 3C : 1.0280 4C : 1.0414
From above data it is clear that hydrogens have almost vanished population, hence they can be
ignored during search. Due to the same reason C7 and C10 can be ignored too. The other atoms,
whose occupation numbers are about 1.03, are the carbons composing the two 6-member rings in
both sides of the molecule. It can be expected that the two rings may be analogous to benzene ring
and hence representing local aromaticity in phenanthrene.
Based on this consideration, we select option 1 and input 1-6 to search AdNDP orbitals for the
fragment consisted of atoms 1, 2, 3, 4, 5, 6, we find
...ignored
Evidently the first three orbitals are appropriate to be picked out as 6c-2e AdNDP orbitals, so we
pick them out now. Their 0.03 isosurfaces are shown below, which look very like π molecular
orbitals of benzene, implying that the boundary 6c ring has strong aromaticity as benzene.
Next, via the same way we search 6c-2e orbitals over another boundary ring, namely choose
option 1 again and input 8,9,11,13-15, after that we pick out three highest occupied orbitals.
694
4 Tutorials and Examples
Now the residual valence electrons is only 1.15, which is already very small, clearly the
AdNDP search should end here. Finally, totally 33 orbitals (27*2c-2e, 6*6c-2e) are found.
Note: When searching 6c-2e orbitals over the ring consisting of atoms 1~6, in fact there is another way to do
this (though more cumbersome), namely choose option -1 to enter the interface for defining exhaustive search list,
input clean to clean up the default content, then input a 1-6 to add ring atoms 1, 2, 3, 4, 5, 6 into the list, then input
x to save and exit. After that, select option 3 and input 6 to set the number of atoms in the next exhaustive search as
six, then choose option 2 to search 6-centers orbitals over the ring.
As you can see, the orbitals 28-33, which correspond to orbitals, have energy much higher
than orbitals. The three orbitals (28-30) in the left six-membered ring are symmetric to the
counterpart orbitals (31-33) in the right six-membered ring. In each side, the two highest lying
orbitals (e.g. 32 and 33) are nearly degenerate and evidently higher than the lowest lying one (e.g.
31), this situation is very similar to occupied orbitals of isolated benzene.
695
4 Tutorials and Examples
Center Composition
8(C ) 2.251%
9(C ) 1.932%
11(C ) 13.276%
13(C ) 32.849%
14(C ) 34.487%
15(C ) 15.204%
As expected, this type of 6c-2e orbital purely compose of px natural atomic orbitals, whose
axis is perpendicular to the plane of the phenanthrene. This orbital is delocalized over the ring, but
mostly distributed on atoms 13 and 14.
Note that there is another way of evaluating AdNDP orbital composition, namely exporting
AdNDP orbitals as AdNDP.mwfn in current folder by option 14, and then use this file as input file
of Multiwfn and perform orbital composition as usual (via e.g. Mulliken analysis, Hirshfeld analysis
and so on, see Section 4.8 for example). For present example, this .mwfn file contains 146 orbitals
because there are originally 146 natural atomic orbitals, however only the first 33 orbitals
correspond to AdNDP orbitals and thus meaningful.
In this section we perform AdNDP analysis for Au20 cluster, the needed files can be
downloaded from http://sobereva.com/multiwfn/extrafiles/Au20.rar.
Boot up Multiwfn and input:
Au20.out // Generated at B3PW91/Lanl2DZ level based on optimized geometry
14 // AdNDP analysis
2 // Search 1-center AdNDP orbitals. 100 candidates are found, whose occupation numbers are
very close to 2.0 and thus can be picked out
0 // Pick out orbitals
100 // Pick out all 100 candidate orbitals
2 // Perform exhaustive search of 2-centers orbitals. Nothing can be found
2 // Perform exhaustive search of 3-centers orbitals. Again nothing can be found
2 // Perform exhaustive search of 4-centers orbitals. Now you can see four candidates with
1.84 e and six candidates with 1.7589 e
0 // Pick out orbitals
4 // Pick out first four orbitals. The remaining orbitals now have occupancy of 1.6913, which,
although is not quite high, it is still worth to be picked out in current circumstance
0 // Pick out orbitals
6 // Pick out remaining six orbitals.
696
4 Tutorials and Examples
697
4 Tutorials and Examples
Introduction of basic concepts of fuzzy atomic space has been given in Section 3.18.0. In this
section, a few examples will be given to illustrate some capabilities of fuzzy atomic space analysis
module. In most cases the default Becke’s definition of fuzzy atomic space will be employed,
because it is easy to compute and reasonable for most case.
The definition of delocalization index (DI) has been detailedly introduced in Section 3.18.5.
DI was originally proposed for AIM atomic space, while it has been shown that if it is calculated in
fuzzy atomic space, the computational cost would be significantly reduced, while the result is still
meaningful. In the present instance we will calculate DI in Becke's fuzzy atomic space to study the
extent of electron delocalization between different atomic pairs in benzene.
Boot up Multiwfn, and input following commands
examples\benzene.wfn // Generated under B3LYP/6-311G*
15 // Fuzzy atomic space analysis
4 // Calculate localization index (LI) and DI. Multiwfn first makes use of DFT numerical
quadrature scheme to calculate atomic overlap matrix (AOM) in each fuzzy atomic space, and then
convert AOM to DI and LI.
n // Do not output LI and DI to plain text file
Multiwfn automatically checks and output the error of AOM, for present calculation the error is less than 0.001,
which is completely negligible. If the error is too larger to be accepted, you can set "iautointgrid" in settings.ini to 0,
and set "radpot" and "sphpot" to a large value. When "iautointgrid" is equal to 1, Multiwfn uses (40,230) grid points
to calculate AOM, accuracy of which directly affects the accuracy of LI, DI, as well as of PDI and FLU.
From the DI matrix outputted on the screen, we can see that DI between adjacent two carbon
atoms (e.g. 1-2) and adjacent C-H atoms (e.g. 1-7) are large (1.467 and 0.877, respectively), that
means electron delocalization between bonded atoms is strong, this is mainly due to the shared
electron of σ bond. In contrast, the DI between non-bonded carbon atoms is very small, about 0.1,
nevertheless evidently not zero, reflecting the high-degree delocalization nature of π electrons.
The DI calculated in fuzzy atomic space is essentially the fuzzy bond order proposed by Mayer.
According the DI data, we can say that the bond order between C-C bond and C-H bond in benzene
is 1.467 and 0.877 respectively, the former corresponds to single σ bond + "semi" π bond, while the
latter corresponds to typical single σ bond.
Since benzene is an exactly planar molecule, we can decompose DI to DI-σ and DI-π. Here we
calculate the latter. Input 0 to return to main menu, and then following commands
6 //Modify wavefunction
26 //Modify occupation number
0 // Select all orbitals
0 // Make occupation number of all orbitals to zero
17,20,21 // MO 17,20,21 correspond to π orbitals.
2 // Set their occupation numbers to 2 (closed-shell orbitals)
q // Return to upper level of menu
-1 //Return to main menu
Now recalculate DI as before, since the occupation numbers of all orbitals except π orbitals
698
4 Tutorials and Examples
The DI-π between C1-C6, C1-C5 and C1-C4 are 0.438, 0.055 and 0.093 respectively, it is
obvious that π electron delocalization is larger for para-related than for meta-related carbon atoms.
PDI, FLU, FLU-π and PLR are useful aromaticity indices, their definitions have been
introduced in Section 3.18.6, 3.18.7 and 3.18.9. In present instance, we will calculate them in
Becke's fuzzy atomic space to study aromaticity of different rings of phenanthrene.
Calculate PDI
We first calculate PDI. Boot up Multiwfn, and input following commands:
examples\phenanthrene.wfn // Optimized at B3LYP/6-31G* level
15 // Fuzzy atomic space analysis
5 // Calculate PDI
Then Multiwfn starts to calculate atomic overlap matrix (AOM), this is a computationally
intensive work. After that AOM will be converted to delocalization index (DI), then DI matrix will
be outputted on screen. Finally, you will be prompted to input atom indices of the ring you are
interested in, the input order should be in consistency with atomic connectivity. We first calculate
PDI of the central ring, namely input 4,8,9,10,7,3, the result is
Delocalization index of 4(C ) -- 10(C ): 0.052992
PDI value is just the average of the DIs between C4-C10, C8-C7 and C9-C3. Now we input
8,9,11,13,14,15 to calculate PDI of the boundary ring, the result is 0.0817. From this result it is
evident that the electron delocalization in the boundary rings is stronger than in the central ring, so
boundary rings possess larger aromaticity. Next, we use FLU and FLU-π to study the aromaticity,
and check if we can draw the same conclusion.
Calculate FLU
699
4 Tutorials and Examples
Input q to return to upper level of menu, and input 6 to calculate FLU, then input 4,8,9,10,7,3
and 8,9,11,13,14,15 in turn. The FLU of central ring and of boundary rings are 0.025289 and
0.007499, respectively, this result suggests that the boundary rings is more like to typical aromatic
system (benzene), and hence possesses larger aromaticity than the central ring. Note that since the
AOM has already been calculated during calculating PDI, so this time the calculation process of
AOM is automatically skipped.
Calculate FLU-π
Next, input q to return to upper level of menu, and input 7 to calculate FLU-π. First you need
to input the indices of π orbitals. By visually checking isosurface of all orbitals (or utilizing option
22 in main function 100), we know that 36, 40, 43, 44, 45, 46, and 47 are π orbitals, so here we input
36,40,43,44,45,46,47, then DI of π electrons will be outputted. After that you will be prompted to
input the atom indices in the ring, we input 4,8,9,10,7,3 and 8,9,11,13,14,15 in turn. The FLU-π of
central ring and boundary rings are 0.149238 and 0.034904, respectively. Obviously, FLU-π analysis
also confirms that boundary ring is more aromatic.
Calculate PLR
Finally, let us calculate para linear response index (PLR). PLR is based on linear response
kernel, which relies on virtual MOs information; however .wfn file only contains occupied MOs,
therefore we must use .mwfn/.fch/.molden/.gms file as input. Reboot Multiwfn and input following
commands
examples\phenanthrene.fch // Obtained at the same level as phenanthrene.wfn
15 // Fuzzy space analysis
10 // Calculate PLR
Multiwfn will calculate condensed linear response kernel (CLRK) matrix, after that input
4,8,9,10,7,3 and 8,9,11,13,14,15 in turn, the results are 0.248030 and 0.489560, respectively. Since
the former is much smaller than the latter, PLR also validates the conclusion that boundary rings
have larger aromaticity than central ring.
Note that both PDI and PLR can be separated as and π parts to respectively investigate and
π aromaticity, see Section 3.18.6 and 3.18.9 for detail.
700
4 Tutorials and Examples
XXX= 27.1548 YYY= -34.6763 ZZZ= 12.9803 XYY= 31.5970 XXY= -32.1231
XXZ= 11.3712 XZZ= 18.8632 YZZ= -6.4625 YYZ= 25.0005 XYZ= 21.8843
701
4 Tutorials and Examples
...[ignored]
showing that the dipole moment of the first phenol is (0.570356,-0.356257,0.284025) a.u., and the
phenol carries net charge of -0.096.
Then we input
-5 // Define the atoms to be calculated
14-26 // Atom indices of the second phenol
2 // Calculate atomic and molecular multipole moments
1 // Output result on screen
You will find the second phenol has dipole moment of (0.656950 0.228171 0.366808) a.u.
For easily visual inspection, we will plot the dipole moments as arrows in VMD visualization
program, which can be freely obtained at http://www.ks.uiuc.edu/Research/vmd/. The version I am
using is VMD 1.9.3. Since VMD is unable to load .wfn file, we need to convert the present system
to .xyz file. To do so, we return to main menu, enter main function 100 and choose subfunction 2,
then you will find corresponding option used to export .xyz file. We export the present system as
phenoldimer.xyz.
Boot up VMD and then load the phenoldimer.xyz into it. Copying all information from
examples\scripts\drawarrow.tcl script file to VMD console window to run it, a new custom
command "drawarrow" will be defined, which will be used to plot arrows. Then we input below
commands to VMD console:
draw color green
That means dipole moment of the whole system (selected by "all") will be plotted by green arrow,
that of the 1st and 2nd phenol molecules will be plotted by red and yellow arrows, respectively. The
"serial 1 to 13" and "serial 14 to 26" are selection syntax in VMD. The argument "2" at the end of
the commands makes the length of the arrows doubled, so that the dipole moments can be
represented by the arrows clearly.
After some adjustments of graphical effect (e.g. setting drawing method as "licorice" in
"Graphics" - "Representation" interface), you can see below map. The center of the red, yellow and
green arrows are placed at geometric centers of the two phenols and the dimer, respectively; the
arrow lengths correspond to the norm of the dipole moments (multiplied by 2).
702
4 Tutorials and Examples
Since the dipole moment vectors of the two monomers are nearly parallel with each other, their
vector sum, namely the dipole moment of the dimer, is significantly larger than the monomer dipole
moments.
Bear in mind that fragment dipole moment relies on the choice of origin if the net charge of
the fragment is not zero. For the present example, due to marginal charge transfer between the two
phenol molecules, the monomer dipole moment must be slightly dependent of origin. However this
is not an evident problem since the net charge of the monomer is quite small and the current origin
is appropriate (at nuclear charge center of the dimer).
Please read Section 3.18.12 first if you do not know what is atomic effective volume (Veff),
atomic free volume (Vfree), and atomic static polarizability (eff(0)). In this example we will calculate
them for all atoms in a common organic molecule, oxirane (C2OH4). Its wavefunction file is
examples\oxirane.fchk, which was generated by Gaussian 16 at B3LYP/6-31G* level.
Prior to using Multiwfn to calculate Veff and Vfree and eff(0), we need to manually generate
wavefunction file of all elements (C, O, H) in the present system at the same level as molecular
calculation. You can use your favourite quantum chemistry program for this step. The wavefunction
files in .wfn format (H.wfn, C.wfn and O.wfn) generated by Gaussian 16 at B3LYP/6-31G* level
can be directly downloaded here: http://sobereva.com/multiwfn/extrafiles/oxirane_atmvol.zip,
Gaussian input files are also provided. Note that the atomic wavefunction files are not necessarily
in .wfn format, they can be in any format that supported by Multiwfn, such as .fch and .molden.
Boot up Multiwfn and input
examples\oxirane.fchk
15 // Fuzzy analysis
13 // Calculate atomic effective volume and free volume
H.wfn // Path of wavefunction file of hydrogen atom in isolated state
C.wfn // Path of wavefunction file of carbon atom in isolated state
O.wfn // Path of wavefunction file of oxygen atom in isolated state
The output is
Atom 1(C ) Effective V: 21.536 Free V: 30.181 a.u. Ratio: 0.714
703
4 Tutorials and Examples
It can be seen that atomic effective volumes (Veff) of most atoms are notably reduced compared
to atomic free volumes (Vfree), implying that in molecular environment the polarizability of these
atoms are decreased compared to free state, because it is well-known that there is an approximate
positive correlation between volume and polarizability.
The polarizabilities of atoms in their free states (free(0)) are built-in data in Multiwfn and
printed as “Ref. data” in above output. The atomic polarizabilities in oxirane, eff(0), estimated using
the Tkatchenko-Scheffler method is simply product of Veff/Vfree and free(0). As shown, the sum of
all eff(0) values is 27.8 a.u., which is in good agreement with molecular polarizability of oxirane
estimated at MP2/aug-cc-pVTZ level based on current geometry (28.8 a.u.). However, the sum of
all eff(0) is not necessarily always close to molecular polarizability, and the deviation is very
sensitive to the choice of atomic weighting function. For example, if you select option -1 in fuzzy
analysis interface and choose Hirshfeld partition instead of the default Becke partition, the sum of
all eff(0) will be as high as 37.9 a.u. In this case, the “Contribution” printed by Multiwfn, which is
ratio of eff(0) of an atom to sum of all eff(0), will be more useful, as its sensitivity is lower and
can be used to intuitively analyze main source of molecular polarizability. For example, according
to percentage atomic contribution printed by Multiwfn, we can find carbon atoms have very large
contribution (each of them contributes 29% to molecular polarizability).
It is worth to mention that if interatomic interaction is extremely weak, the Veff should be very
close to Vfree. For example, Veff of Ar atom in Ar2 dimer is almost identical to Vfree of Ar.
Note that there is another way of evaluating atomic volumes in practical chemical environment,
namely performing basin analysis for electron density. This idea comes from atoms-in-molecules
(AIM) theory. Example can be found in Section 4.17.1.
704
4 Tutorials and Examples
Please check Section 3.18.3 to understand definition of atomic electric dipole moment (A) and
atomic electric quadrupole moment (A). These two quantities convey important information about
electron density distribution around nuclei under a given atomic space partition scheme. In the
examples in the next two sections, we will calculate and then visualize them in VMD program via
a special script, you will find they are pretty intuitive and important in understanding status of atoms
in actual chemical environment.
4.15.5.1 Plotting atomic dipole moments
Here I use H2O2 molecule as an instance to show how to calculate and plot atomic dipole
moments in VMD program. VMD can be freely obtained at http://www.ks.uiuc.edu/Research/vmd/,
the version I used in this example is 1.9.3.
Boot up Multiwfn and input
examples\H2O2.fch
15 // Fuzzy atomic space analysis module
2 // Calculate atomic and molecular multipole moments and <r^2>
2 // Output result to a plain text file
Now you have multiple.txt and atom_moment.txt in current folder. The former contains detailed
information about atomic multipole moments (from monopole moment to octopole moment), while
the latter contains atomic dipole moments as well as eigenvalues and eigenvectors of atomic
quadrupole moment tensors.
In order to plot atomic dipole moment vectors along with molecular structure in VMD, we
need to export the geometry loaded from the H2O2.fch to H2O2.xyz by inputting the following
command
0 // Return to main menu
100 // Other functions (Part 1)
2 // Export file
2 // Output current structure to .xyz file
[Press ENTER button] // Use default file name
Now you have H2O2.xyz in current folder.
Boot up VMD, load the H2O2.xyz. Then move both atom_moment.txt and the VMD plotting
script atomdip.tcl in “examples\scripts\” folder to VMD folder. Next, input the following commands
in VMD console window, the first command executes the script, which defines a plotting function,
while the second command runs the plotting function with default parameters.
source atomdip.tcl
atomdip
Now you can find atomic dipole moment information (in a.u.) in VMD console window:
Information of atom 1
Information of atom 2
...[ignored]
705
4 Tutorials and Examples
The yellow arrows correspond to A vectors of every atom, pointing from negative charge
center to positive charge center in corresponding atomic space, and their lengths are proportional to
magnitude of A. The direction of the arrow on the oxygen atoms in the figure is easy to understand.
It is well known that the oxygen in H2O2 has obvious lone pair electrons, and the lone pair region
carries a dense negative charge, while the positive charge in the atomic space is only contributed by
the nuclear charge, so the arrow must approximately point from the lone pair region to the nucleus.
Note that the “atomdip” command has some optional parameters to control color, length, radius
of arrows as well as the range of considered atoms, please check beginning of the atomdip.tcl file.
As an example, if you input atomdip “serial 1 to 2 4” orange 5 0.05, arrows will be plotted only
for atoms 1, 2, 4 with orange color, and the arrow length is longer than default while the arrow
thickness is smaller than default.
706
4 Tutorials and Examples
you input y after the calculation, atom_moment.txt will be exported, based on which you can plot
atomic dipole moments under AIM partition via the aforementioned procedure. You will find the
direction of the arrows on oxygens in the H2O2 changes a lot (which, in my opinion, is not as
satisfactory as Becke’s partition).
The yellow ellipsoid over each atom intuitively characterizes traceless Cartesian atomic
electric quadrupole moment tensor A. The shape of the ellipsoid is determined by directions of
three principal axes (eigenvectors of A) and semi-axis lengths, which are printed in VMD console
window after running the “atomquad” command:
Information of atom 1
...[ignored]
The ellipsoid semi-axis lengths {l} are determined via the following way proposed by me.
Given that eigenvalues of A, namely {v}, may be negative, in order to make visualization feasible,
they are first transformed to values equal or larger than 1 via the following equation
ti = 1 + vi − vmin i = 1, 2,3
where vmin is the most negative eigenvalue. Then {l} are evaluated as
ti
li = s i = 1,2,3
t1 + t2 + t3
707
4 Tutorials and Examples
Clearly, the sum of the three semi-axis lengths equals to s, which is the scale factor controlling size
of the ellipsoid, and can be set by an optional parameter of the “atomquad” command. The default
value s=1 is suitable for most cases.
According to the physical meaning of A (see Section 3.18.3), it is easy to understand that the
shorter the length of the ellipsoid in a certain direction, the more extended the electron density
distribution in that direction, and vice versa. Therefore, from the shape of the ellipsoids in the above
image, one can easily conclude that electron distribution of the carbon atoms is highly elongated in
the direction perpendicular to the six-membered ring possibly due to the rich electrons. For the Br
atom, the electron density is remarkably contracted along the C-Br bond, this observation
corresponds to the well-known -hole character.
The “atomquad” command has many optional parameters controlling the plotting effect, please
check comments at beginning of the atomquad.tcl file.
In above illustration the mode 1 of the “atomquad” command was used, while by mode 2, the
shape of the plotted ellipsoids can intuitively portray elongation tendency of electron density in
atomic spaces. For example, by running atomquad noh green 1 2 50 in VMD console window, green
ellipsoids will be drawn over all non-hydrogen atoms with scale factor of 1 and resolution of 50
using mode 2, then you can see the following figure
The semi-axis lengths of the ellipsoids in above map are positively correlated to the extension extent
of electron distribution in corresponding direction within atomic space. Specifically, the semi-axis
lengths are evaluated in the same way as mentioned earlier but with different definition of {t},
namely
1
ti = i = 1,2,3
1 + vi − vmin
Above figure essentially conveys exactly the same information as the figure given earlier, but
obviously this figure is more convenient for visual analysis of electron distribution. For example, it
is clearly seen that in the space of Br atom, the electron density is more extended in the plane
perpendicular to the C-Br bond axis.
The theory of charge decomposition analysis (CDA), extended CDA (ECDA) and generalized
708
4 Tutorials and Examples
CDA (GCDA, J. Adv. Phys. Chem., 4, 111-124 (2015) DOI: 10.12677/JAPC.2015.44013), as well
as usage of CDA module, have been detailedly introduced in Section 3.19. In this section I will
present several practical examples.
The CDA module supports .fch, .mwfn, .molden, GAMESS-US output file (.gms) and
Gaussian output file as input. In the next several sections only Gaussian .fch files will be used to
exemplify the usage of the CDA module.
In COBH3, CO makes use of its lone pair to form coordinate bond with BH3, which is an
electron-deficient system (Lewis acid). Therefore, electrons will transfer from CO to BH3 during
the formation of the complex. In this example we will employ CDA scheme to provide a deeper
insight into the electron transfer.
First we generate Gaussian output file for CO (fragment 1), BH3 (fragment 2) and COBH3
(complex). The .fch files and corresponding input files have been provided in
"examples\CDA\COBH3" folder. The calculations were performed at HF/6-31G* level. On how to
prepare the input files for CDA, see Section 3.19.2 for detail
Now boot up Multiwfn, and input following contents:
examples\CDA\COBH3\COBH3.fch // Gaussian .fch file of the complex
16 // Enter CDA module
2 // We define two fragments
examples\CDA\COBH3\CO.fch // Gaussian .fch file of fragment 1
examples\CDA\COBH3\BH3.fch // Gaussian .fch file of fragment 2
Immediately, below CDA result are outputted on screen
Orb. Occ. d b d - b r
......
-------------------------------------------------------------------
"Orb." denotes the indices of the orbitals of the complex; "occ." is corresponding occupation
number. "d(i)" stands for the amount of donated electrons from fragment 1 to 2 via corresponding
709
4 Tutorials and Examples
complex orbital, "b(i)" stands for the amount of electrons back donated from fragment 2 to 1 via
corresponding complex orbital. "r(i)" corresponds to the overlap population between the occupied
fragment orbitals (FOs) of the two fragments in corresponding complex orbital; its positive and
negative signs imply that in this complex orbital, the electrons of occupied FOs are accumulated to
and depleted (mainly due to Pauli repulsion) from the overlap region between the two fragments,
respectively. The sum of r(i), namely -0.335, reveals that repulsive effect dominates the overall
interaction between occupied FOs, which results in corresponding electrons moved away towards
non-overlapping regions from overlap regions.
The difference between d(i) and b(i), to some extent can be viewed as the number of net
transferred electrons from fragment 1 to 2 due to formation of corresponding complex orbital. But
bear in mind, electron polarization effect is also included into this value.
From the data, it can be seen that the first three complex orbitals have almost zero b, d and r
values, this is because they are core orbitals of O, C and B, respectively, and hence it can be expected
that they are not involved in bond formation. The virtual complex orbitals have exactly zero b, d
and r terms, since their occupation numbers are exactly zero. Orbital 9 leads 0.171 electrons donate
from CO to BH3, which is the primary source of the donor-acceptor bonding, and causes as high as
0.741 electrons removed from overlap region between CO and BH3, which stabilized the complex
by diminishing electron repulsion. Orbital 5 and 6 have small contributions to electron donation,
meanwhile lead evident accumulation of electrons from respective occupied FOs to the overlap
region, which must be beneficial to the bonding between the two fragments. Orbital 10 and 11 are
π orbitals and degenerate in energy, they exhibit π-back donation characteristics.
Isosurfaces of orbital 9, 5 and 6 are shown below. As you can see, a node occurs in the overlap
region between CO and BH3 in orbital 9, while the isosurfaces of orbital 5 and 6 uniformly cover
the overlap region. These observations largely explained why r(9) is a large negative value, and r(5)
and r(6) are obvious positive values.
Notice that the definition of CDA used in Multiwfn is a generalized version proposed by me,
so that CDA is also applicable to post-HF and open-shell circumstances, see corresponding part of
Section 3.19.1 for detail. For the cases when original CDA is applicable (namely MO for FO, MO
or natural orbital for complex orbital), the d and b terms produced by generalized CDA are exactly
identical to the ones produced by original definition, while the r term is exactly twice of the one
710
4 Tutorials and Examples
The amount of net electron transfer between the two fragments can be characterized by b-d
term, however it was argued that ECDA is a more reasonably method to calculate the amount of net
electron transfer, since the contribution of electron polarization effect (PL) is completely excluded.
ECDA result is outputted after CDA result:
========== Extended Charge decomposition analysis (ECDA) ==========
The net electrons obtained by frag. 2 = CT( 1-> 2) - CT( 2-> 1) = 0.2304
Commonly, you only need to pay attention to the last line. The data shows that the net number
of electrons transferred from fragment 1 to 2 is 0.2304.
In the menu that appears on screen, by using option 2, composition of FOs in a specific complex
orbital can be outputted. Here we select this option and input 9, the composition of complex orbital
9 are shown below
Occupation number of orbital 9 of the complex: 2.00000000
Only the FOs with contribution 1% to the complex orbital are shown (the threshold can be
altered by "compthresCDA" in settings.ini). As already mentioned, the electron transfer from CO to
BH3 is mainly due to the complex orbital 9, therefore from above data we can infer that the nature
of the CO→BH3 electron transfer can be largely interpreted as the mix between FO 7 of CO (an
occupied orbital) and FO 5 of BH3 (a virtual orbital). This viewpoint can also be manifested by
comparing the shape of the two FOs (see below) with the shape of complex orbital 9 given above.
711
4 Tutorials and Examples
Note: Sometimes a few contributions of FOs may be negative, this is a well-known drawback of Mulliken
analysis, which is the method employed in CDA module to calculate the complex orbital composition. Since the
magnitudes of the negative values are often small, you can simply ignore them.
We can also directly decompose d, b, r terms of a complex orbital to FO pair contributions, let
us do this for complex orbital 9. Now input 0 to return to the last menu, select option 6 and input 9,
then input a threshold e.g. 0.005, then all FO pairs whose contribution to any of d, b, r term larger
than 0.005 are printed:
FragA Orb(Occ.) FragB Orb(Occ.) d b d - b r
From the output it is clear that the mix between FO 7 of CO and FO 5 of BH3 contributes most of
the d term of complex orbital 9.
Finally, we plot orbital interaction diagram. Input 0 to return to the last menu, and then select
5 to enter the menu for plotting orbital interaction diagram. Choose option 3 and input -30,10 to set
lower and upper energy limits of the plot to -30eV and 10eV, respectively. Then select option 1 to
plot the diagram under default settings, a graph will pop up on screen:
712
4 Tutorials and Examples
In above graph, occupied and virtual orbitals are represented as solid and dashed bars,
respectively. Orbital indices are labelled by blue texts. If two or more labels occur in the same bar,
e.g. 7 and 8, that means these orbitals are degenerate in energy. If composition of a FO in a complex
orbital is larger than 10%, then the corresponding two bars will be linked by red line, and the
composition will be labelled on the lines. By simply viewing the diagram we can directly understand
how the MOs of COBH3 are constructed by FOs of CO and BH3. For example, complex orbital 7
and 8 only link to FO 5 and 6 of CO in this diagram, hence we immediately know that these two
orbitals basically remain unperturbed during formation of the complex. In fact they are π orbitals of
CO, certainly they cannot participate to the σ type donor-acceptor interaction between CO and BH3.
There are many options used to adjust plotting parameters (such as label size, the rule for
drawing and linking bars, position of composition labels, energy range), please play with them, and
replot the graph to check their effects.
In this example, I use CH3NH2 to illustrate how to perform CDA for the complex in which the
two fragments interact with each other covalently (open-shell interaction).
First we need to generate Gaussian output file for CH3 (fragment 1), NH2 (fragment 2) and
CH3NH2 (complex). For fragment 1 and 2, in present example we use unrestricted B3LYP method;
while for the complex, since this is a closed-shell system, we use restricted B3LYP method
(unrestricted B3LYP can also be used, the CDA result will be the same). The .fch files and
corresponding input files can be found in "examples\CDA\CH3NH2" folder, the geometry was pre-
optimized under B3LYP/6-31G** level.
713
4 Tutorials and Examples
Note that both CH3 and NH2 have 5 alpha and 4 beta electrons, while CH3NH2 has 9 alpha and
9 beta electrons. Evidently, the total numbers of alpha and beta electrons in the two fragments,
namely 5+5 and 4+4, does not match the ones of the complex. So, we must flip electron spin of one
fragment (either CH3 or NH2). In this example, we will flip electron spin of NH2, i.e. exchanging
all information of its alpha and beta electrons.
Boot up Multiwfn and input following contents:
examples\CDA\CH3NH2\CH3NH2.fch // Gaussian output file of the complex
16 // Enter CDA module
2 // We define two fragments
examples\CDA\CH3NH2\CH3.fch // Gaussian output file of fragment 1
examples\CDA\CH3NH2\NH2.fch // Gaussian output file of fragment 2
n // Do not flip electron spin of fragment 1
y // Flip electron spin of fragment 2, then NH2 will have 4 alpha and 5 beta electrons.
CDA and ECDA results will be calculated and printed on screen for alpha electrons and beta
electrons separately. As you can see, for alpha (beta) part, both d - b and CT(1->2) - CT(2->1) terms
are positive (negative), showing that alpha (beta) electrons are transferred from CH3 to NH2 (from
NH2 to CH3). This is mainly because CH3 has more alpha electrons (5) than beta electrons (4), while
after flipping electron spin, NH2 has more beta electrons (5) than alpha electrons (4), hence when
they combine together to form CH3NH2, CH3 prefer to donate alpha electrons to NH2 and accept
beta electrons from NH2.
Result of total electrons, namely the sum of alpha and beta results is also outputted. Below is
total result of CDA and ECDA, respectively
d= 0.044335 b= 0.145181 d - b = -0.100847 r= -0.172318
It is obvious that electron should transfer from CH3 to NH2, because nitrogen has evidently
larger electronegativity. The total ECDA result is in line with our expectation, it shows that the
amount of transferred electrons from CH3 to NH2 is 0.1249. However, the d - b term conflicts with
our expectation, the transfer direction is totally inverted. This example illustrates that d - b term is
not as reliable as ECDA to reveal total amount of net electron transfer for open-shell interaction,
although d and b terms are still quite useful for decomposing electron transfer into orbital
contributions.
If you select to flip electron spin for CH3 rather than for NH2 when loading their Gaussian
output files, you will see the alpha and beta results of CDA and ECDA are exchanged, but the result
for total electrons remains unchanged.
Now select 2 and input 6, you will see both the composition of the 6th alpha orbital and the 6th
beta orbital of the complex are printed on screen. Though the complex is a closed-shell system and
thus the two orbitals are essentially the same, owing to the alpha and beta FOs in the two fragments
are not equivalent, the printed compositions have slight difference. Then input 0 to return.
Select option 5 to enter the menu for plotting orbital interaction diagram. By option 5 in this
menu, you can switch the spin of the orbitals that the diagram will be plotted for. We select it once
to switch the status to "Beta", then choose option 3 and input -30,10 to change the lower and upper
limits of the diagram to -30 and 10 eV, respectively. Then select option 1 to plot the orbital
interaction diagram. From the graph it is very clear that, beta orbital 3 and 4 of CH3NH2 are formed
714
4 Tutorials and Examples
by mixing beta FO 2 in CH3 and beta FO 2 in NH2. To illustrate this point more intuitively,
corresponding part is extracted from the whole diagram, and the orbital isosurfaces are attached on
it, see below
It can be seen that, beta complex orbital 3 shows bonding character (this is why r(3) is a positive
value, namely 0.103), which is constructed by slightly mixing beta FO 2 of CH3 into beta FO 2 of
NH2 with the same wavefunction phase. Beta complex orbital 4 is an anti-bonding orbital (this
explained why r(4) is a negative value, namely -0.056), formation of which is due to the mixture of
beta FO 2 of NH2 into beta FO 2 of CH3 in terms of different phase.
In this section I use cisplatin (see below) as instance to show how to perform CDA analysis on
the system consisting of more than two fragments.
We will define Pt2+ cation, (Cl2)2- anion and (NH3)2 as fragment 1, 2 and 3 respectively. This
definition of fragments is the best choice for present system. Note that the Pt2+ cation is in 3d8 low-
spin configuration, so that all fragments are in closed-shell status and thus we will not need to
analyze alpha and beta spins separately.
The related Gaussian input files and resulting .fch files have been provided in
examples\CDA\Pt(NH3)2Cl2 folder. Lanl2DZ pseudo-potential basis set was used for Pt, cc-pVDZ
was used for other atoms. B3LYP functional was chosen as the theoretical method. The geometry
of the complex has already been optimized. In the input file of Pt2+, "scf=xqc" keyword was used to
solve the nonconvergence problem, but this is not needed in general.
Note 1: For certain types of basis sets, such as Pople series of basis sets (e.g. 6-31G*), by default Gaussian
employs Cartesian type basis functions rather than spherical-harmonic basis functions, which may result in
inconsistency problem of basis set between complex and fragment calculations. If you are not very familiar with
Gaussian, I highly recommend you always add 5d keyword in all Gaussian input files when mixed basis set is used
in the calculation of the complex.
Note 2: The sequence of the fragments is crucial. Because in the input file of complex, the atomic sequence is
Pt--Cl2--(NH3)2, we should not for example define Pt2+, (NH3)2 and (Cl2)2- as fragment 1, 2 and 3, respectively.
715
4 Tutorials and Examples
Usually unrestricted (U) formalism is used for calculating open-shell systems (complex and/or
fragments) in CDA analysis since U is cheaper and faster than restricted open-shell (RO) formalism.
However, the advantage of using RO wavefunctions for CDA analysis is that one does not need to
explicitly distinguish alpha and beta orbitals, since RO only generates single set of orbitals; in other
words, the alpha and beta orbitals share identical shape. In this section, I illustrate how to correctly
perform CDA analysis based on RO wavefunctions. Ethane is taken as example, the two methyl
groups will be chosen as the two fragments.
First, we optimize ethane using (R)B3LYP/6-31G* level, the corresponding Gaussian input file
is examples\CDA\CH3CH3\ethane.gjf, the output file is also provided, and the corresponding
resulting .fch file converted by formchk utility is ethane.fch in the same folder. We extract
coordinates of the two methyl groups from the optimized ethane and save them as two respective
Gaussian input files, namely CH3_1.gjf and CH3_2.gjf in “examples\CDA\CH3CH3\” folder; as
you can see, their calculation levels are ROB3LYP/6-31G*. After running the two .gjf files and
716
4 Tutorials and Examples
converting the .chk file via formchk, we obtain CH3_1.fch and CH3_2.fch.
Although you can directly use the ethane.fch, CH3_1.fch and CH3_2.fch to carry out CDA
analysis as usual (since none of them is unrestricted wavefunction, CDA will be conducted in closed-
shell form), you will find the CDA result is incorrect, because both the two methyl group fragments
are regarded as having 5 alpha and 4 beta electrons.
To correctly perform CDA analysis based on RO wavefunction, you should manually transform
the RO wavefunction to U wavefunction; in other words, splitting RO orbitals to alpha and beta
orbitals. As an example, we do this transformation for CH3_1.fch. Boot up Multiwfn and input
examples\CDA\CH3CH3\CH3_1.fch
6 // Modify wavefunction
37 // Split spatial orbitals (RO orbitals in the current context) as alpha and beta spin orbitals
-1 // Return
100 // Other functions (Part 1)
2 // Export current wavefunction to a file
7 // Export to .fch file
CH3_1_UKS.fch // Name of new file
The CH3_1_UKS.fch records UKS wavefunction, which includes alpha and beta orbitals with
the same shapes and energies but different occupancies. Similarly, please transform CH3_2.fch to
CH3_2_UKS.fch in the same way.
Now we can conduct CDA analysis. Boot up Multiwfn and input
examples\CDA\CH3CH3\ethane.fch
16 // CDA
2 // Two fragments
examples\CDA\CH3CH3\CH3_1_UKS.fch
examples\CDA\CH3CH3\CH3_2_UKS.fch
n // Do not flip spin of fragment 1
y // Flip spin of fragment 2
The result is:
**** Result for alpha electrons ****
Orb. Occ. d b d - b r
[ignored]
......
-------------------------------------------------------------------
Orb. Occ. d b d - b r
717
4 Tutorials and Examples
[ignored]
......
-------------------------------------------------------------------
According to common knowledge about chemical bond, the first CH3 uses its alpha unpaired
electron to form C-C bond with beta unpaired electron of another CH3. From CDA point of view, as
shown above, during formation of the C-C bond, the first CH3 transfers 0.155 alpha electron to
unoccupied alpha orbital of the second CH3, while the second CH3 transfer 0.155 beta electron to
unoccupied beta orbital of the first CH3. This result looks reasonable and in line with chemical
intuition.
Then we plot orbital interaction diagram. Input following commands
5 // Plot orbital interaction diagram
3 // Set the energy range to be plotted
-25,10 // From -25 to 10 eV, which was found to be suitable for present case
1 // Plot the diagram now
Now you can see (some MO maps are also attached)
From the above map you can clearly identify how the bonding orbital is generated by mixing
MO of the two fragments. This map is currently plotted for alpha spin, while since alpha and beta
MOs in the current case are essentially identical (the two sets of spin orbitals of the fragments were
equally split from ROKS orbitals as we did before, while the two sets of spin orbitals of the complex
are automatically generated by equally splitting RKS orbitals during CDA analysis), the map plotted
for beta spin is identical to the above map; the only marginal difference is that in the map for beta
spin, you can find the bar of orbital 5 of fragment 1 is dashed (unoccupied) while that of fragment
718
4 Tutorials and Examples
2 is solid (occupied). In fact, there is no need to view the alpha and beta orbital interaction diagrams
as two different maps, you can think that actually there is only one orbital interaction diagram, in
which the orbitals 1~4 of fragments 1 and 2 are doubly occupied, while the orbital 5 of fragment 1
is unpaired alpha electron orbital and orbital 5 of fragment 2 is unpaired beta electron orbital.
It is worth to note that if you plot this orbital interaction diagram based on ROKS fragment
orbitals, you will find that for each spin, complex orbitals are not always equally contributed by
fragments orbitals of the two fragments despite the two methyl groups are chemically equivalent,
this is because alpha and beta ROKS orbitals do not share identical energies and shapes. Obviously,
analyzing based on ROKS orbitals makes discussion markedly easier than based on UKS orbitals,
for which you have to study interaction diagram of alpha and beta spins respectively.
Below I will show how to use basin analysis module of Multiwfn to perform basin analysis for
several molecules and for various real space functions. Related theory, numerical algorithms and
the usage of this module have been detailedly introduced in Section 3.20. If you are not familiar
with the concept of basin, please consult Section 3.20.1 first. While if you want to know more detail
about basin analysis, please consult Sections 3.20.2 and 3.20.3.
You should know that Multiwfn uses a grid-based method (in particular, near-grid method) to
locate attractors, generate and integrate basins; in other words, most tasks realized in the basin
analysis module rely on grid data. This is why in below sections "grid data" is frequently mentioned.
In this example we will analyze basins of electron density (also known as AIM basins) for
HCN molecule, which is a very representative molecule. Only at final part of this section, I will also
show how to carry out basin analysis of electron density for Li6 atomic cluster, since this is a special
case, in which there are some "pseudoatoms".
After you carefully read this section, I believe you will understand most of basic operations of
the basin analysis module in Multiwfn.
719
4 Tutorials and Examples
From now on you can check the information of the located attractors anytime by option -3.
If you only want to visualize the region of the atomic basin in the vdW surface (defined as
=0.001 a.u. in the present context), you can choose "Set basin drawing method" - "rho>0.001
region only", then you can see:
720
4 Tutorials and Examples
Commonly the number of these two types of grid should be zero, only in rare cases they are not
zero; in such cases, you can visualize them by respectively selecting "Unas" and "Boun" in the basin
list of the GUI. These grids do not belong to any basin, and generally they lack of physical meaning;
to understand when and why they occur please consult Section 3.20.2.
Integrating basins
Next, we calculate the integral of electron density (electron population number) in these basins.
Select function 2, then you will see many options. Each option with the serial 1 corresponds to a
real space function; if you select one of them, corresponding real space function will be integrated
in the generated basins. In present example we can select option 1, which corresponds to electron
density. However, since we have already calculated grid data for electron density, and the grid data
of electron density thus have been stored in memory, we can directly use it rather than compute it
again to reduce computational time, so here we select option 0 to use "The values of the grid data
stored in memory". Since electron density at the grids is not needed to be re-evaluated, the integrals
are outputted immediately:
#Basin Integral(a.u.) Volume(a.u.^3)
1 0.7356142812 441.70000000
2 5.3511723358 566.84900000
3 7.9020047534 829.72600000
There should be totally 1+6+7=14 electrons in present system; unfortunately, the sum of the
integrals of electron density is 13.98879, which evidently deviates from the ideal value!
Because the basin we are studying is AIM basin, the best choice to obtain the basin integral is
using function 7 rather than function 2. In function 7, mixed atomic-center and uniform grid is used,
while function 2 only employs uniform grid to integrate. We input:
7 // Integrate real space functions in AIM basins with mixed type of grids
1 // Integrate a specific function with atomic-center + uniform grids
1 // Select electron density as the integrand
The result is
#Basin Integral(a.u.) Vol(Bohr^3) Vol(rho>0.001)
As you can see, the sum of the integrals of electron density (13.999) is almost exactly identical
to the expected value 14.0, obviously the result is much better than using function 2. The basin
volumes are also outputted. The terms "vol(Bohr^2)" do not have clear physical meaning, since they
are directly affected by the spatial range of grid setting. However, the terms "vol(rho>0.001)" are
useful, they exhibit the volume of the basin enclosed by the isosurface of electron density > 0.001
(Bader's vdW surface) and thus can be regarded as atomic sizes.
The atomic charge (AIM charge) of these atoms and their volumes are also outputted
Normalization factor of the integral of electron density is 0.999966
721
4 Tutorials and Examples
Note that above AIM charges are not very accurate! To obtain more accurate integrals in AIM
basins, you should select option 2 or 3 in function 7; compared to 1, they will refine the assignment
of basin boundary to conspicuously improve the integration accuracy, but additional computational
cost must be afforded. Here we try it, select option 2 in function 7, then input 1, the result is
Normalization factor of the integral of electron density is 0.999967
It is seen that the atomic charges are varied compared to earlier (more accurate than before).
To further improve the integration accuracy, when generating basins one should select a grid
setting better than "medium quality grid", e.g. "High quality grid" or even "Lunatic quality grid".
But bear in mind that for large systems, high quality grid may consume very large amount of
computational time and memory, and lunatic quality grid needs more.
Although as we have seen the integration accuracy of function 7 (uniform + atomic center
integration grid) is much better than function 2 (purely uniform integration grid), the former is only
applicable to integrate AIM basins, while the latter can be used for any type of basin (e.g. ELF basin).
Note: If you used option 2 or 3 in function 7, during the boundary grid refinement process, the assignment of
basin boundary will be updated permanently, that means the result of subsequent analyses (e.g. calculating LI/DI,
electric multipole moment) will also become more accurate.
In summary, the common steps for obtaining reliable AIM charges after you entered basin
analysis module is
1 // Generate basin
1 // Electron density
2 // Medium quality grid. Select high quality grid if you wish to get more accurate result
7 // Integrate real space functions in AIM basins with mixed type of grids
2 // Integrate and meantime refine basin boundary
1 // Electron density
722
4 Tutorials and Examples
The formulae used to evaluate these terms are basically the same as those given in Section
3.18.3, however, the nuclear positions should be replaced by attractor positions, and the spatial
ranges of the integration should be basins rather than fuzzy atomic spaces.
The electric monopole moment (-5.251 a.u.) is just the negative value of electron population
in the basin. Z-component of electric dipole moment of the basin is a positive value (1.096 a.u.),
suggesting that in basin 2, most of electrons are distributed in the regions where Z-coordinate is
more negative than attractor 2. The ZZ-component of basin electric quadrupole moment is positive
(1.519 a.u.), while the other diagonal components are negative, indicating that relative to attractor
2, electron cloud in this basin contracts in Z-direction but elongates in other directions.
The <r2> exhibits spatial extent of electron distribution in the atomic basins. From the output
you can find the order of this value is N2 (14.37) > H3 (1.04) > C1 (8.54), indicating that the nitrogen
and hydrogen have the widest and narrowest electronic spatial extent, respectively.
1 2 3
723
4 Tutorials and Examples
Since present molecule is a closed-shell system, only total LI and DI are outputted, the LI and
DI for and electrons are not outputted separately. As you can see, between C1 and N2 atomic
basins, the DI is 2.592, exhibiting that there are 2.592 electrons effectively shared by the two atoms.
To some extent DI can be regarded as covalent bond order, the DI value 2.592 is indeed comparable
with the formal bond order (3.0) between C and N in HCN. The diagonal terms are the sums of the
elements in corresponding row/column, for closed-shell cases they can be somewhat considered as
atomic valence. So we can say the N2 atom in HCN has atomic valence of 2.665.
The LI of H3 is only 0.256, which conspicuously deviates from the basin electron population.
This observation reflects that in HCN, the electron in the AIM atomic space of hydrogen can easily
delocalize out.
If you plot color-filled map of valence electron density for the Li6 via the steps illustrated in
Section 4.6.2, you will immediately understand why there exists NNAs at center of the boundary Li
triangles. From below graph you can clearly see that at center of each boundary triangle there is
indeed a maximum of electron density, this observation also implies presence of three-center bonds
724
4 Tutorials and Examples
Next, we calculate population number of the AIM basins. Input below commands
7 // Integrate real space functions in AIM basins with mixed type of grids
2 // Integrate and meantime refine basin boundary
1 // Electron density
During integrating the basins, calculation will pause three times and meantime you will find
prompt like below on screen. This is because program does not know how to properly deal with the
three NNAs, namely attractors 2, 4, 8:
Warning: Unable to determine the attractor 2 belongs to which atom!
If this is a non-nuclear attractor, simply press ENTER button to continue. If you used
pseudopotential and this attractor corresponds to the cluster of all maxima of its valence
electron, then input the index of this atom (e.g. 9). Else you should input q to return
Since we already know that attractors 2, 4, 8 are regular NNAs, according to the prompt, what
we should do is simply pressing ENTER button to continue the calculation. Finally, you will find
below output
Normalization factor of the integral of electron density is 0.999992
As can be seen, each NNA basin carries 1.249 electrons, therefore charge of the basin is -1.249.
When NNAs are presented, it is clearly unable to rigorously define AIM atomic charges, since sum
725
4 Tutorials and Examples
of all AIM atomic charges will be unequal to net charge of the whole system. This is one of severe
limitations of AIM atomic charge.
As illustrated in the aforementioned video tutorial, you can even simultaneously draw multiple
basins and show critical points + bond paths in VMD. For example, below map represents atomic
basins of four non-hydrogen atoms of acrolein, the orange and purple spheres correspond to bond
critical points and nuclear critical points, respectively. The yellow thick lines are bond paths.
Multiwfn is very powerful in ELF basin analysis. As an example, in this section we analyze
ELF basin for a typical small molecule, acetylene. Boot up Multiwfn and input
examples\C2H2.wfn
17 // Basin analysis
726
4 Tutorials and Examples
You can choose 2 in the list at bottom-right of the GUI to visualize basin 2, you can see
Sometimes it is better to only visualize the basin region where electron density is higher than
0.001 a.u. To do this, select “Set basin drawing method” in the menu bar and then choose “rho>0.001
region only”, then click “Show basin interior” check box at right side of the GUI, you will see
727
4 Tutorials and Examples
All electrons contributing to C1-C3 bond are lying in the basin 2 shown above.
The presence of attractor 2 signifies the π electrons shared by the two carbons. According to
the well-known ELF symbolic scheme, basin 2 should be identified as V(C1,C3), which means this
basin is comprised by valence electrons of C1 and C3 and contribute to existence of C1-C3 bond.
Attractor 3 and 4 correspond to core-type ELF attractors, their basins should be identified as
C(C3) and C(C1), respectively, where the letter C out of parentheses stands for "Core". If you
deselect the "Show molecule" check box and select corresponding terms in the basin list, then you
can visualize the basins. The graph shown below portrays C(C3) basin
Although basins 1 and 5 cover the atomic space of H4 and H2, they should be identified as
V(C3,H4) and V(C1,H2), respectively, rather than C(H4) and C(H2). This is because hydrogen does
not have core electrons, and the electrons in the two basins directly contribute to C3-H4 and C1-H2
bonds.
Now close the GUI window by clicking "RETURN" button at upper right side of GUI.
728
4 Tutorials and Examples
3,4
1,2,5
As can be seen above, the data are outputted twice. First, basin population, volume and labels are
printed in the order of basin indices. Then, the basins are sorted according to labels, and the data are
outputted again. From the labels, the physical meaning of each basin can be quickly and clearly
recognized.
Note that ELF basin labels may be unable to correctly assign for atoms using pseudopotential.
1 2.2159821094 768.40000000
2 5.3670483807 972.85100000
3 2.0949016050 0.83200000
4 2.0949016050 0.83200000
5 2.2159826437 768.49900000
Both C(C1) and C(C3) contain 2.095 electrons in average, which is in line with the fact that
carbon has two electrons in its core. Also, the average population number in V(C3,H4) and V(C1,H2)
are close to two, approximately reflecting that in average there is a pair of electron shared between
C and H.
According to classical chemical bond theory there are three electron pairs and hence six
729
4 Tutorials and Examples
electrons are shared by the two carbons, however in the V(C1,C3) basin the integral is only 5.37.
Although the deviation is relatively large, this is a normal situation. It is senseless to expect that the
result of ELF basin analysis must be able to reproduce classical Lewis picture, and actually, ELF
analysis is more advanced and more close to real physical picture.
First you should note that although in present case, due to the symmetry, the X and Y
components of the basin electric dipole moment should vanish, the actual values are not so close to
zero, implying that the integration accuracy is not very high. This is why "high quality grid" is often
necessary for electric multipole moment analysis. However, the present result is still useful for
qualitative analysis. The magnitude of electric quadrupole moment in the basin quantifies how
evidently the electron distribution in the basin deviates from spherical symmetry. This value for
C(C1) is very small (0.0061), showing that the distribution of core electron of the carbon basically
remains unperturbed during the formation of the molecule.
Now input 0 to return to basin analysis module.
Note: If the basins you are interested in are only valence basins, "medium quality grid" is enough for electric
multipole moment analysis, since valence density is not as high as core density, and hence does not need high
accuracy of integration.
1 2 3 4 5
730
4 Tutorials and Examples
The DI between C(C1) and C(C3), namely DI(3,4), is trivial, reflecting the general rule that the
electron delocalization between atomic core regions is rather difficult. DI(1,3) and DI(2,3) are very
small values but not close to zero, representing that the electrons in C(C3) have a few probability to
exchange with the ones in V(C3,H4) and V(C1,C3), which are the only two basins adjacent to C(C3).
DI(2,1) and DI(2,5) are about 1.0, such a large value indicates that the electron delocalization
between C-C bond region and C-H bond region is easy. Though the average electron population
number in both C(C1) and C(C3) are 2.095, their LI values are as high as 1.834, exhibiting that the
core electrons of carbon highly prefer to stay in the core region rather than delocalize in and out. In
contrast, for V(C,H) and V(C,H), their LI values are less than their average electron population
numbers distinctly, revealing that the electrons in these basins do not express very strong
localization character.
In the ELF basin analyses, some researchers prefer to use the concept of variance (σ2) and
covariance (Cov) rather than LI and DI to discuss problems. Covariance of electron pair fluctuation
is simply the half of the negative value of DI, for example, Cov(2,5) = -DI(2,5)/2 = -1.035/2 = -
0.518. The variance of electronic fluctuation can be calculated as the half of the corresponding
diagonal term of the DI matrix outputted by Multiwfn, for instance, σ2(2) = DI(2,2)/2 = 2.710/2 =
1.355 (note that as mentioned earlier, the diagonal terms of the DI matrix outputted by Multiwfn are
the sums of the elements in corresponding row/column).
731
4 Tutorials and Examples
In this example I will illustrate performing basin analysis for electrostatic potential (ESP), a
very simple molecule H2O is taken as instance. Although this kind of analysis is currently
uncommon in literatures, you will see this analysis is indeed useful; in particular, this analysis is
able to well reveal occurrence region of lone pairs.
It is noteworthy that unlike electron density and ELF which we have analyzed earlier, ESP has
positive part and negative part simultaneously. For such real space functions, Multiwfn will
automatically locate attractors (maxima) for positive part and locate "repulsors" (minima) for
negative part, but in Multiwfn all of them are collectively recorded as "attractors". You can easily
discriminate them by their colors in GUI.
Not only basin analysis module, but also topology analysis module of Multiwfn can locate
minima of ESP, and the ESP minima determined by the latter is much more accurate. So, using
topology analysis module is much more preferred over than using the way introduced in this section.
See Section 4.2.9 for example of topology analysis of ESP.
Note: Calculation speed of ESP grid data by cubegen utility in Gaussian package is significantly faster than that
of internal code of Multiwfn. If you have Gaussian installed on your system and the input file is .fch/fchk, it is
strongly suggested to set "cubegenpath" parameter in settings.ini to actual path of cubegen, then at the step of
calculating ESP grid data in the basin analysis, cubegen will be automatically invoked by Multiwfn to evaluate ESP.
More information about invoking cubegen can be found in Section 5.7.
732
4 Tutorials and Examples
clicking "4" in the basin list and checking "Show basin interior" box, you will see below graph,
which exhibits the corresponding basin region.
If you want to visualize which grids have travelled to box boundary during basin generation,
you can select "Boun" in the basin list, see below graph. Evidently, these grids lack of physical
meaning and hence can be simply ignored. They only present at the regions far from atoms.
Measuring geometry
Sometimes one needs to obtain geometry information between attractors and nuclei. As an
instance, we enter function -2, and input a1 c4, the distance between nucleus of atom 1 (namely
oxygen) and attractor 4 will be shown on the screen, the value is 2.272 Bohr. Next, input c4 a1 c5,
then the angle of "attractor 2 -- atom 1 -- attractor 3" will be outputted, the value is 86.01 degree,
which in some sense can be regarded as the angle between the two lone pairs.
Input q to exit the geometry measurement interface.
Clustering attractors
Assume that we want to cluster attractors 4 and 5 together as a degenerate attractor to make
they collectively represent the two lone pairs, we can input
-6 // Set parameter for attractor clustering or manually perform clustering
3 // Cluster specified attractors
4,5 // Attractors 4 and 5 will be clustered as a single one
733
4 Tutorials and Examples
0 // Return
Select option 0 to open GUI, as shown below, you can find that the index of all attractors have
changed, and the two attractors corresponding to the oxygen lone pairs now sharing the same index,
namely 4.
Integrating basins
Close the GUI by clicking "RETURN" button, choose option 2 and then select 1 to integrate
electron density in the ESP basins, the result is
#Basin Integral(a.u.) Volume(a.u.^3)
1 0.8776693902 390.34100000
2 7.5388327160 26.52400000
3 0.8776693895 390.28300000
4 0.6822297997 654.32200000
Since currently basin 4 is just the whole negative ESP region, the result shows that in average
there are 0.682 electrons in the negative ESP region. Indeed this value is not large (one may expects
that there should be about four electrons due to the two lone pairs), this is because ESP of most
regions of the molecular space is dominated by nuclear charges and hence positive.
Clearly, the global minimum value is -0.09222*627.51 = -57.9 kcal/mol, the isovalue should then
be set to -0.09222+10/627.51 = -0.07628 a.u.
Enter option 0, in the GUI window deselect "Attractor labels", then input
-10 // Return to main menu
734
4 Tutorials and Examples
735
4 Tutorials and Examples
In this example we analyze basins of electron density difference for H2O to quantitatively study
the electron density deformation during formation of the molecule.
Before doing the basin analysis, we need to generate grid data of electron density difference
first by main function 5, wavefunction file of all related elements must be available. Here we directly
use the set of atomic wavefunction files provided in Multiwfn package, namely copying "atomwfn"
subfolder in "example" folder to current folder, then during generating grid data of electron density
difference Multiwfn will automatically use them. There are several different ways to prepare atomic
wavefunction files, please recall Section 4.4.7 and consult Section 3.7.3.
After that, boot up Multiwfn and input:
examples\H2O.fch // Generated at B3LYP/6-31G** level
5 // Calculate grid data
-2 // Obtain deformation property
1 // Electron density
3 // High quality grid. Because the variation of electron density difference is complicated,
using relatively high quality of grid is compulsory. Note that the "high quality grid" we selected
here only defines the total number of grids, and hence has different meaning to the one involved in
function 1 of basin analysis module
0 // After the calculation is finished, return to main menu
17 // Basin analysis module
1 // Generate basins and locate attractors
2 // Generate the basins by using the grid data stored in memory (namely the grid data we just
calculated by main function 5)
Enter function 0 to visualize the result, you will see the left graph shown below. After deselect
"Show molecule", the graph will look like the right one
736
4 Tutorials and Examples
Positive (negative) part of electron density difference corresponds to the region where electron
density increases (decreases) after formation of the molecule. Light green spheres denote the
maxima of the positive part, while light blue ones denote the minima of the negative part.
If you feel difficult to imagine why the maxima and minima distribute like this, I suggest you
to plot plane maps for electron density difference. The left graph shown below is the electron density
difference map vertical to the molecular plane, while the right graph is the map in the molecular
plane.
By comparing the attractors with plane maps, it is evident that attractor 4 and 5 are the maxima
in the region where electron density is enhanced due to the formation of the O-H bonds. While the
presence of attractor 6 arises from the electron aggregation due to formation of the lone pairs.
Note 1: Attractor 6 is two-fold degenerate, namely as you can see, it corresponds to two attractors. This is
because the two attractors share the same value and they are very closely placed with each other.
Note 2: Attractor 8 does not have its counterpart in another side of symmetry plane. The reason of this problem
is that the grid quality employed is not high enough relative to the complicated characteristic of electron density
difference.
It is interesting to examine how many electrons are aggregated between C and H due to the
bond formation. There can be many ways to measure this quantity; the most reasonable one for
present case is to integrate the electron density difference in basin 4 or in basin 5. Let us do this now.
Choose function 2, and then select option 0 to take the grid data of electron density difference as
integrand. From the output we can find that the integral is 0.102 e.
If you would like to compare the attractors with the isosurface of electron density difference,
you can simply choose option -10 to return to main menu of Multiwfn, and then choose suboption
737
4 Tutorials and Examples
-2 in main function 13 to plot the isosurface of the grid data stored in memory, the attractors we
located will be shown together, as shown below (isovalue=0.05), where green and blue parts
correspond to positive and negative regions, respectively.
Source function has been briefed in part 19 of Section 2.6. Commonly, bond critical point (BCP)
is taken as the reference point of source function when bonding problem is discussed. In this
example we calculate source function in AIM basins for ethane; in particular, based on source
function we will get the contribution from methyl group to the electron density at the BCP of its C-
H bond. Before calculating source function we should perform topology analysis first to find out
the position of the BCP.
Boot up Multiwfn and input:
examples\ethane.wfn // Optimized and produced at B3LYP/6-31G*
2 // Topology analysis
2 // Search nuclear critical points
3 // Search BCPs
0 // Visualize result, see below
Critical point 11 will be selected as the reference point of the source function. Of course,
selecting which BCP is completely arbitrary. Now close the GUI of topology analysis module
You'd better choose option 7 and then input 11 to check the electron density at this CP, because
738
4 Tutorials and Examples
theoretically the integral of source function in the whole space should equal to the electron density
at its reference point, therefore this value is important to examine if the integration of source
function is accurate enough. The electron density at CP11 is 0.276277.
From the information shown in the command-line window you can find the coordinate of CP11
is (0.0,-1.199262548,-1.909104063), copy it from the window to clipboard (if you do not know how
to do this please consult Section 5.4). Next, we will set CP11 as the reference point of the source
function. Although you can define reference point by "refxyz" parameters in settings.ini, there is a
trick can do the same thing, by which you needn't to close Multiwfn and then reboot it to make the
parameters take effect!
Input below commands
-10 // Return to main menu from topology analysis module
1000 // A hidden interface
1 // Set reference point
Paste the coordinate of CP11 to the window and then press ENTER button.
17 // Basin analysis
1 // Generate basins and locate attractors
1 // Electron density
2 // Medium quality grid
Enter GUI by choosing function 0, you will see
Now we integrate source function in the AIM basins. Input following commands
7 // Integrate real space functions in AIM basins with mixed type of grids
1 // Integrate a specific function with atomic-center + uniform grids
19 // Source function
The result is
Atom Basin Integral(a.u.) Vol(Bohr^3) Vol(rho>0.001)
739
4 Tutorials and Examples
The sum of the integrals is very close to the electron density at CP13 (0.276277). The sum of
the integral in basin of 1, 2, 3 and 4 is 0.1204+0.1222+0.0105*2=0.2636, which represents the
integral in the space of methyl group and accounts for 0.2636/0.2758*100%=95.6% of the total
integral value, exhibiting that methyl group is the main source of the electron density of the BCP of
its C-H bonds.
Sometimes, the geometry of the system we studied is rather extended, for instance, polyyne
C14H2, which can be formally illustrated as
H1−C2≡C3−C4≡C5−C6≡C7−C8≡C9−C10≡C11−C12≡C13−C14≡C15−H16
If we are only interested in the electronic structure characteristic of local region in this system, by
properly setting up grid, basin analysis can be conducted only for the interesting region rather than
for the whole system to save computational time. As an example, in this section we will try to acquire
electron population number in the ELF basin of V(C7,C8) and V(C8,C9) with minimum
computational cost.
Boot up Multiwfn and input following commands:
examples\polyyne.wfn // Optimized and produced under B3LYP/6-31G*
17 // Basin analysis
1 // Generate basins and locate attractors
9 // ELF
8 // Set the grid by inputting center coordinate, grid spacing and box length
a8 // Take the position of atom 8 as box center
0.08 // Grid spacing (Bohr)
10,10,8 // Box length in X, Y and Z directions (Bohr). Note that current molecule
is aligned in Z-axis. Obviously, the larger the box, the longer the computational time
must be spent. While the box should not be too small, otherwise the basins of interest
may be truncated. Choosing appropriate box size highly relies on users' experience
After the calculation is finished, enter GUI by selecting option 0, you will see the
graph shown at the right side. Clearly, only several attractors near C8 are located. Basin
5 and basin 21 correspond to V(C7,C8) and V(C8,C9), respectively. Notice that although
attractor 1 and 6 are also located, due to their corresponding basins are not only large but
also close to box boundary, it can be expected basin 1 and 6 are severely truncated and
hence studying them are meaningless.
When you use above manner to study local region, you will always find there are
many grids travelled to box boundary. In present example, as shown in command-line
window, the number of such type of grids is 60668. You can visualize them by choosing
"Boun" in basin list of GUI, see the graph below
740
4 Tutorials and Examples
Now close GUI, select option 2 and then select 1, the result shows that the integral of electron
density in V(C7,C8) and V(C8,C9) are 2.78 and 5.02, respectively. Evidently, the bonding between
C8-C9 is much stronger than C7-C8, this is why the bond length of the former (1.236Ǻ) is shorter
than the latter (1.338Ǻ). Note that the electron population number in V(C,C) of acetylene is 5.37
(see Section 4.17.2), therefore it can be expected that C8-C9 is weaker than typical C-C triple bond,
mostly due to the electron global conjugation in polyyne.
The interested users can redo the basin analysis for the whole system with using the same grid
spacing (0.08 Bohr), the computational amount will be much larger than current example. For
V(C7,C8) and V(C8,C9), you will find the result does not differ from the one we obtained above
detectably.
In this section, I will use CH3NH2 as example to show how to obtain contribution of C and N
to population of V(C,N) ELF bond basin based on AIM partition of atomic space, this is useful to
examine bond polarity. You can also use the similar way to obtain atomic contribution to population
of any other kind of basins (e.g. LOL basin, ESP basin).
First, we need to generate a cube file named basin.cub, whose grid value corresponds to index
of ELF basins. Boot up Multiwfn and input
examples\CH3NH2.wfn
17 // Basin analysis
1 // Generate basins and locate attractors
9 // ELF
2 // Medium quality grid
Now enter option 0 to examine the basin index
741
4 Tutorials and Examples
Evidently basin 5 corresponds to V(N,C), which is the one we will study. Then close the GUI
and input
-5 // Export basin as cube file
a // Export basin.cub in current folder
Next, we generate AIM basins as usual, the grid setting must be exactly identical to basin.cub
1 // Regenerate basins
1 // Select real space function
1 // Electron density
9 // Use grid setting of another cube file, this is the safest way to ensure the grid data to be
generated has the same grid setting as basin.cub
basin.cub
0 // Check attractors
It is clear that the attractor index corresponding to N and C are 2 and 3, respectively. Then we
evaluate atomic contribution to population of the basins defined in basin.cub
9 // Then program loads basin.cub in current folder
2 // The index of the attractor corresponding to N
5 // The 5th ELF basin, i.e. V(N,C) basin
The result is 1.15866, namely N contributes 1.159 electrons to V(N,C) basin. Then input
3 // The index of the attractor corresponding to C
5 // The 5th ELF basin, i.e. V(N,C) basin
From the result we know that C contributes 0.463 electrons to the V(N,C) basin.
Since N contributes much more electrons than C to their ELF bond basin, it may thus be
concluded that C-N is a bond with significant polarity.
The high ELF localization domain population and volume (HELP and HELV, respectively)
were proposed in ChemPhysChem, 14, 3714 (2013), it was shown that they are useful quantities in
742
4 Tutorials and Examples
characterizing lone pair electron and they have close relationship with molecular properties that
related to lone pairs, such as ionization potential and energy of frontier molecular orbitals, see the
ChemPhysChem paper for detail. The definitions of HELP and HELV are clearly illustrated in below
map, PH3 is taken as an instance.
From above map it can be seen that this method defines a region named high ELF localization
domain (HEL), which simultaneously satisfies three conditions:
(1) Electron density is larger than 0.001 a.u.
(2) Electron localization function (ELF) is larger than 0.5
(3) Every point belongs to the ELF basin corresponding to a lone pair
The volume and electron population of the HEL are denoted as HELV and HELP, respectively.
It is believed that this definition is better than (3) for representing lone pair area, because
insignificant region (i.e. outside vdW surface, which corresponds to = 0.001 a.u.) and the region
without clear chemical meaning (i.e. ELF < 0.5) are excluded.
Now we use Multiwfn to calculate HELV and HELP for PH3. Boot up Multiwfn and input
examples\PH3.wfn // Generated at M06-2X/def2-TZVPP level, optimized at the same level
17 // Basin analysis
1 // Generate basins and locate attractors
9 // ELF must be chosen to define basins if you intend to calculate HELP and HELV
2 // Medium quality grid
Now we select option 0 to check attractor indices:
From above map, we can find attractor 5 corresponds to lone pair of the P atom.
743
4 Tutorials and Examples
Next, we input
10 // Calculate HELP and HELV
0 // Select basins and calculate their HELP and HELV
5 // The basin index corresponding the lone pair of the P atom
After a while, you will see:
Basin information: (constraints are not taken into account)
As can be seen, HELP and HELV are 1.4858 and 80.55 Bohr3, respectively, which are very
close to the values in the original paper, namely 1.50 and 80 Bohr3. The marginal difference comes
from the fact that the calculation level we employed is not identical to the original paper, in addition,
the detail of numerical setting in our calculation must be somewhat different to the original paper.
From above output you can also find the population and volume of the ELF basin, which can
also be calculated via option 2 of basin analysis module.
Background knowledge
Electronic energy of the whole system can be viewed as sum of electronic energies of all atoms,
which correspond to integral of electronic energy density E(r) in atomic basins. This decomposition
of system energy is very helpful of providing deep insight into status of atoms in different chemical
environments, and important in revealing major factors that influences relative energy between
different configurations or conformations. See Russ. Chem. Rev., 78, 283 (2009) for extensive
discussions and application examples.
There is a relationship E(r) = -K(r), where K(r) is Hamiltonian kinetic energy. The integral of
E(r) and K(r) in atomic basin will be referred to as E and T, respectively, and it is clear that E
= -T. Sum of all E and T are denoted as E and T, which correspond to electronic energy and
electronic kinetic energy of the whole system, respectively. However, the E obtained in this way in
fact differs from the electronic energy reported by quantum chemistry program (EQC), because in
practice virial ratio is always more or less violated, and if KS-DFT method is used, the T is only the
kinetic energy corresponding to non-interaction particle model, while its correction for dependent
particles is absorbed into the exchange-correlation functional. Therefore the actual E should be
finally scaled as follows so that sum of all E just equals to EQC:
EQC
E = T
T
It is important to note that pseudopotential should not be employed, because it makes virial
theorem severely violated. In addition, the geometry should be sufficiently optimized to diminish
deviation to virial theorem.
Example
In this example, we calculate atomic energies of H2CO. Boot up Multiwfn and input
examples\H2CO.wfn // Yielded by B3LYP/6-31G* calculation at corresponding minimum
744
4 Tutorials and Examples
structure
17 // Basin analysis
1 // Generate basins
1 // Electron density
2 // Medium quality grid
7 // Integrate real space functions in AIM basins with mixed type of grids
2 // Exact refinement of basin boundary
6 // Hamiltonian kinetic energy K(r)
The result is
Atom Basin Integral(a.u.) Vol(Bohr^3) Vol(rho>0.001)
The electronic energy yielded by quantum chemistry calculation can be manually found at the
end of the H2CO.wfn, namely -114.50047 a.u., which is also printed by Multiwfn after loading this
file. Note that the T is 113.47305 a.u., hence the atomic energy of O3 can be calculated as
75.30252*-114.50047/113.47305 = -75.98433 a.u., similarly for other atoms. You can also then
manually sum up atomic energy for some atoms to derive fragment energy.
It is noteworthy that the actual virial ratio of H2CO.wfn is 2.009, which can be found at the
end of this file and also printed after Multiwfn loading this file. Since its deviation to exact virial
ratio 2.0 is insignificant, our scaling treatment of E is reasonable and acceptable.
An evidently more convenient and better way of deriving atomic contribution to energy is
choosing user-defined function -11 as the integrand, it is scaled electron energy density involving
virial ratio, whose integral over the whole space exactly equals to the electronic energy given by
quantum chemistry code, see corresponding part of Section 2.7 for its definition. Now we redo the
above example. Open settings.ini and set “iuserfunc” to -11, then boot up Multiwfn and input
examples\H2CO.wfn
17 // Basin analysis
1 // Generate basins
1 // Electron density
2 // Medium quality grid
7 // Integrate real space functions in AIM basins with mixed type of grids
2 // Exact refinement of basin boundary
100 //User-defined function, which now corresponds to the scaled electron energy density
The result is
Atom Basin Integral(a.u.) Vol(Bohr^3) Vol(rho>0.001)
745
4 Tutorials and Examples
It can be seen that the integral -114.50044630 a.u. is basically exactly equal to the electronic energy
of -114.50047 a.u. that recorded in the .wfn file. The contribution of O3 to total electronic energy is
-75.97661 a.u., which is very close to the -75.98433 a.u. we obtained via aforementioned way.
Many papers studied ELF by plotting its isosurface map and colored the isosurfaces according
to basin type (monosynaptic, disynaptic, and others). In Section 4.5.1 I have already mentioned it is
possible to use ChimeraX software to easily plot such a map based on .cub file exported by Multiwfn,
however there are some limitations, namely the coloring will change when isovalue is changed, and
a whole isosurface cannot be colored differently in the subregions corresponding to different type
of basins. In this section, I will show how to use basin analysis module of Multiwfn in combination
with VMD (freely available at http://www.ks.uiuc.edu/Research/vmd/) to plot the basin type colored
ELF isosurface map without these limitations. A simple molecule oxirane will be taken as example,
its wavefunction file is examples\oxirane.fchk. The version of VMD I am using is 1.9.3.
Boot up Multiwfn and input
examples\oxirane.fchk
17 // Basin analysis
1 // Generate basins
9 // ELF
2 // Medium quality grid
Now you can choose option 0 to visualize the located attractors:
Close GUI window, and select option “12 Assign ELF basin labels”, you will see
Basin indices, populations (e), volumes (Angstrom^3) and assigned labels
746
4 Tutorials and Examples
6,7,12
10,11
1-5,8,9
By comparing the automatically assigned basin labels and the graph in GUI window, you can
confirm that the basins are indeed correctly labelled.
Then input
-5 // Export basins as cube file
b // A special mode designed for plotting basin type colored ELF isosurfaces in VMD
10,11 // Indices of the monosynaptic basins, corresponding to the highlighted text above
1-5,8,9 // Indices of the disynaptic basins, corresponding to the highlighted text above
Now basinsyn.cub and basinfunc.cub are exported in current folder. In basinsyn.cub, the values
within the monosynaptic and disynaptic basins regions are -1 and 1, respectively, while all other
regions have value of 0. The basinfunc.cub records the real space function used to generate basins,
namely ELF in the present context.
Move the basinsyn.cub and basinfunc.cub as well as plotting script
examples\scripts\basinsyn.vmd to VMD folder. Then boot up VMD, input source basinsyn.vmd to
execute the script, you will see the following figure. The default isosurface is 0.8, and the regions
corresponding to monosynaptic and disynaptic basins are colored by green and red, respectively,
while other basins (corresponding to core basins in this example) are colored by white.
You can change isovalue by entering “Graphics” - “Representation” and input expected value
in “Isovalue” textbox. In this panel you can also adjust the material of isosurface. If you want to
change the color for different types of basins, enter “Graphics” - “Colors” - “Color Scale” and
change corresponding options.
The above illustrated plotting method is never limited to ELF, you can similarly employ it to
others, such as LOL, IRI, etc.
Next, assume that we want to color the V(C,H) basins in the above graph by yellow, how to do
747
4 Tutorials and Examples
that? You just need to ask Multiwfn to export grid data of function value for corresponding basins,
draw them as isosurface and then directly specify the color. Let us do this, input the following
commands
-5 // Export basins as cube file
c // Export grid data of function value in the region of specific basins as basinsel.cub file in
current folder
1,2,4,5 // Indices of the four V(C,H) basins
0 // In the exported .cub file, if a grid does not belong to the selected basins, its value will be
the value you specified here
Now basinsel.cub has been generated in current folder. Load it into VMD, select “Graphics” -
“Representation”, set “Drawing Method” to “Isosurface”, change “Coloring Method” to “Color ID”
and choose “4 yellow”. Then change “Isovalue” to a value marginally smaller than the existing
isosurfaces to guarantee to overlay them (for example 0.795 in this case, which is marginally than
the 0.8 set by the basinsyn.vmd), now you can see the following graph, which is quite satisfactory!
The hole-electron analysis module of Multiwfn is quite powerful, it is able to present very
comprehensive characterization for all kinds of electron excitations. If you are not familiar with
basic theories and ideas of hole-electron analysis, please read Section 3.21.1. The requirement on
748
4 Tutorials and Examples
input file for the hole-electron analysis has been described at the beginning of Section 3.21, please
carefully check it. Below I will employ two systems to illustrate the use of the hole-electron analysis,
the first one is a typical donor--acceptor system, the second one is a typical coordinate. The
Chinese version of this section is my blog article "Using Multiwfn to perform hole-electron analysis
to fully investigate electronic excitation character" (http://sobereva.com/434), in which there is an
additional example, namely studying Rydberg excitation of H2CO.
If hole-electron is employed in your work, please not only cite Multiwfn original paper but
also cite my work: Carbon, 165, 461 (2020) DOI: 10.1016/j.carbon.2020.05.023, in which hole-
electron analysis is briefly described in supplemental information.
4.18.1.1 Example 1: NH2-biphenyl-NO2
The example in this section is quite long, please carefully and patiently read it. In this section
I will take the NH2-biphenyl-NO2 as example, its geometry is shown below.
In this system the biphenyl moiety behaves as a -linker, and it is well-known that the nitro
group and amino group act as electron acceptor and donor during electron excitation, respectively,
therefore it is expected that there must be some charge-transfer (CT) states corresponding to overall
electron displacement from the amino group side to the nitro group side.
Preparation
Here I assume that you are a Gaussian user (other quantum chemistry codes users can also
utilize the hole-electron analysis). We optimize the geometry at the B3LYP/6-31G* level, then carry
out TDDFT calculation using below settings (the input file has been provided as examples\excit\D-
pi-A.gjf), then five lowest singlet excited states will be evaluated. Note that IOp(9/40=4) must be
specified, the reason has been clearly mentioned at the beginning of Section 3.21. The CAM-B3LYP
is employed here because it is able to faithfully represent CT excitations.
%chk=D-pi-A.chk
# CAM-B3LYP/6-31g(d) TD(nstates=5) IOp(9/40=4)
After calculation, convert the .chk file to .fch/fchk file, the resulting .fchk file has been
provided as examples\excit\D-pi-A.fchk. The output file of this task has been provided as
examples\excit\D-pi-A.out.
749
4 Tutorials and Examples
1 // Study excitation between ground state (S0) and the first excited state (S1)
1 // Calculate distribution of hole, electron and so on as well as various indices
2 // Medium quality grid (this is suited for small and medium sized systems. For large systems,
you should use at least "high quality grid", or manually input a proper grid spacing)
Once calculation is finished, you will find below information on screen. The data (except for
the excitation energy) are calculated by grid-based integration. Clearly, for the same system, the
higher number of grids, the better accuracy of the data.
Integral of hole: 1.000343
H_x: 1.520 H_y: 1.067 H_z: 0.536 H_CT: 1.520 H index: 1.938 Angstrom
Ghost-hunter index: -18.831 eV, 1st term: 8.771 eV, 2nd term: 27.601 eV
In the output, the "Integral of hole" and "Integral of electron" are the integrals of hole and
electron over the whole space, respectively, they should be exactly 1.0 in principle. However, due
to the unavoidable numerical integration error, the calculated values have slight deviation to 1.0.
Since the deviation is extremely small, we can say that for the current excited state of the current
system, the grid setting we employed is fully adequate.
Note: If you find the integral of hole or electron deviates from 1.0 evidently, then the outputted indexes may be
unreliable. There are three possibilities: (1) You forgot to use IOp(9/40=3 or 4) (2) The grid quality is too low (3)
The extension distance is not large enough, therefore the spatial region of the grid points does not fully cover the
main distribution region of hole or electron (when Rydberg excitation is investigated, the default extension distance
should always be enlarged).
The rest terms in the above output in turn are: The integral of transition density over the whole
space (ideal value is 0), transition electric dipole moment, Sm and Sr indices, centroid coordinate of
hole and electron, D and D indices, X/Y/Z components and norm of variation of excited state dipole
moment with respect to the ground state one, RMSD () of hole and electron, Δ and Δ indices,
Hλ/HCT/H indices, t index, hole and electron delocalization index, Ghost-hunter index, excitation
energy (which is loaded from Gaussian output file directly).
Note that the "Ghost-hunter index" in above output is slightly different to the definition in its original paper,
the implementation in Multiwfn must be more reasonable, see Section 3.21.7 for detail. The 1st term denotes the
part depending on configuration coefficients and MO energies, while the 2nd term corresponds to 1/D. The ghost-
750
4 Tutorials and Examples
For the S0→S1 excitation under current study, from the above output, it can be seen that the D
index is merely 0.522 Å, which is obviously a very small value since it is even less than half length
of a typical C-C bond. The Sr index reaches 0.519 (the theoretical upper limit is 1.0), which is a
large value, implying that about half part of hole and electron has perfectly matched. So, by simply
examining Sr and D indices, we are already able to conclude that this excitation should be a typical
local excitation (LE). Then let us look at the t index, its total value is -0.998, which is much less
than 0, meaning that there is no significant separation of hole and electron distributions, further
implying that this excitation should be attributed to LE type.
In above figures, green represents the electron distribution, and blue represents the hole distribution,
isovalue has been set to 0.005. Both the hole and electron appear almost exclusively in the nitro
group, so there is no doubt that S0→S1 is a LE excitation, well verifying our conclusion based on
the D, Sr, and t indices. In addition, according to the above hole distribution map, the hole appears
to be composed of lone pair orbitals of oxygens since there is one lobe on each side of each oxygen.
Electron distribution has a nodal plane along the nitro group, therefore we can infer that the electron
distribution should be composed of * orbital. Now we can draw the conclusion that that S0→S1 is
a LE excitation with n→* feature.
Then close the graphical window and select option 8 to visualize Chole and Cele, which are
transformed from hole and electron distributions respectively to make their distribution behavior
smoother. The isosurface map is show below (In order to see clearly, transparent style is used).
As can be seen, the graph of Chole and Cele look obviously more intuitive, they are very sleek and do
not have any nodal character as hole and electron. Therefore using Chole/Cele map to replace the
hole/electron map is a good choice in many cases. (BTW: If isosurfaces of Chole and Cele are not
751
4 Tutorials and Examples
visible in the GUI window, that means the current isovalue is too large, you should gradually and
carefully decrease it until the isosurfaces are visible)
Next, let us take a look at the overlap function of hole and electron, namely the Sr function.
Close current graphical window, select option 4 in the post-processing menu, and then select option
2 to display the Sr function, you will see below map (isovalue is set to 0.005)
From the graph one can clearly find where the hole and electron overlap significantly. As can be
seen, around each oxygen there are four regions where the hole and electron are highly overlapped.
It is easy to understand why the Sr graph looks like this by comparing the hole and electron
isosurfaces shown earlier.
Then close the window and select option 7, charge density difference (CDD) between the
excited state and the ground state will be shown, see below. In this map, the isovalue is set to 0.005,
green and blue correspond to increase and decrease of the excited state density with respect to the
ground state density, respectively.
The CDD map and the map simultaneously showing hole and electron distributions (referred
to as "hole&electron map" later) are similar, but there are also differences. The key difference is that
in the CDD map, the hole and electron have been largely cancelled in their overlapping region; in
contrast, in the hole&electron map, the overlapping between hole and electron can be faithfully
exhibited. I think the hole&electron map is more useful than the CDD map to investigate the
intrinsic characteristics of electron excitation because it directly exhibits the pristine distribution of
hole and electron.
By the way, if we select option 18 in the post-processing menu, the program will start to
calculate the Coulomb attractive energy (also known as exciton binding energy) between the hole
and electron. The calculation is quite time-consuming even for medium sized system, so please wait
patiently. The final output is:
Coulomb attractive energy: 0.287031 a.u. ( 7.810524 eV )
Important note: By using VMD software, you can plot above mentioned functions in much
better quality with only a few steps. I strongly suggest you check the example given in Section
4.A.14 on how to do this.
752
4 Tutorials and Examples
option 0 in the post-processing menu to return to the hole-electron analysis interface, we select
subfunction 2 and input an outputting threshold. Here we input 1, then MOs with contribution to
hole or electron higher than 1% will be shown on screen:
MO 52, Occ: 2.00000 Hole: 96.207 % Electron: 0.000 %
It can be seen from the data that MO52 is absolutely dominant for hole, it contributes as high as
96.2%, while electron is mainly composed of MO57, with a contribution of 85.4%. This observation
implies that if one discusses electron excitation solely based MO52 and MO57, although in this case
the electron excitation can be qualitatively described, there are still non-negligible deviations. The
"Sum of hole" and "Sum of electron" shown above are the sum of the contributions of all orbitals to
hole and electron, respectively (including the terms not outputted), these two values in principle
should be exactly 100%, but currently there are 0.001% error. Such a small error can be completely
ignored, it comes from the fact that not all configuration coefficients are printed by Gaussian (only
configuration coefficients greater than 0.0001 are requested to be outputted during Gaussian
calculation via IOp(9/40=4))
Then we check contribution of atoms or fragments to hole and electron. Select subfunction 3
in hole-electron analysis interface, then choose Mulliken-like partition, you will see
The number of non-hydrogen atoms: 16
Since hydrogen atoms generally do not participate in electron excitation of chemical interest,
only the information of non-hydrogen atoms is outputted, including the atomic contributions to hole,
electron, hole-electron overlap, electron-hole difference (i.e. CDD). The indices of the atoms in the
nitro group are 21, 22, and 23, it can be seen from the data that the two oxygens of the nitro group
contribute most to the hole, the sum of their contributions is 246.192%. The spatial delocalization
753
4 Tutorials and Examples
of the electron is relatively stronger, the three atoms in the nitro group contribute a total of
224.4+33.983%, the rest part of electron is basically contributed by the atoms in the biphenyl
moiety.
Although the distribution characteristics of hole and electron can be examined by visualizing
isosurface map of hole and electron, the observed isosurfaces are obviously dependent on the choice
of isovalue. So, it is impossible to fully display the hole and electron distribution in all regions by
only one image. On the contrary, the quantitative atomic contributions given above are very
definitive.
The sum of "Diff." of N21, O22 and O23 is about -12%, which shows that the integral value
of the density difference (CDD) in the nitro group is -0.12, revealing that the nitro moiety lost 0.12
electrons during electron excitation, and some of them transferred to the biphenyl moiety (if you
want to investigate charge transfer amount between specific fragments, it is recommended to use
the IFCT method, as illustrated in Section 4.18.8).
In the figure, the numbers in the abscissa are indices of non-hydrogen atoms. This figure
describes the contribution of each non-hydrogen atom to hole, electron and their overlap by color
(e.g. 0.4 corresponds to 40%). For example, based on the list of contributions of non-hydrogen
atoms to hole/electron that shown earlier, we can know that the position 16 in the abscissa of the
figure actually corresponds to atom N24. In order to more conveniently find the correspondence
between the indices in the abscissa and actual atomic indices, you can open
corresponding .fch/.gjf/.out file by GaussView, Select "Edit" - "Atom List", then select "Edit" -
"Reorder" - "All atoms: Hydrogens Last", then you will see below graph in GaussView, in which
indices of all hydrogen atoms have been placed behind indices of non-hydrogen atoms. Clearly, in
this case the atomic indices in the molecular structure directly corresponds to the indices in the
abscissa of the heat map.
From indices in the above map, we find that the position of 13, 14 and 15 in the heat map
754
4 Tutorials and Examples
correspond to the two oxygens and one nitrogen atoms in the nitro group, the position 16
corresponds to the nitrogen in amino group, the rest are carbons in the biphenyl moiety. In the heat
map, the row corresponding to hole clearly revealed that the hole is almost solely contributed by the
two oxygens in the nitro group, since corresponding matrix elements are red (large value). Electron
is also mainly contributed by the nitro group, but other molecule regions also have non-negligible
contributions, this is why in the row corresponding to electron, blue color appears in the matrix
elements other than positions 13~15. The information conveyed by colors of the row corresponding
to overlap is that there is significant overlap between hole and electron on the oxygens of the nitro
groups, while the overlap in other areas of the systems is far from being so remarkable.
There are many options in the hole/electron composition analysis interface, they can be used
to adjust plotting effect of the heat map, save the heat map as an image file, switch whether to
include the hydrogen atoms into the heat map, and export the data to he_atm.txt in current folder so
that you can draw the heat map yourself in other programs such as Origin. These options will not
be explained one by one here, please try it yourself.
The data shows that 94.68% of hole is located on the nitro group, while 82.67% and 15.67%
of electron are located on the nitro group and neighbouring benzene ring, respectively. The degree
of overlap between hole and electron on the nitro group is about 90%. Since "Diff." of the nitro
group is -12.01%, and the excitation under current investigation is a single electron excitation,
therefore, it can be said that the electron on the nitro group is reduced by 0.1201 during the electron
755
4 Tutorials and Examples
excitation process, while the benzene ring neighbouring to the nitro group gained 0.1247 electrons.
Then, if you want to make representation of the above data more intuitive, we can select option 1 to
draw the fragment-based heat map. The abscissa at this time corresponds to fragment index, as
shown below:
It can be seen from the figure that the spatial distribution range of electron is larger than hole.
Below are hole&electron map, Chole&Cele map and Sr function map of all the five excitations.
The isovalues are set to 0.003. It can be seen that the Chole&Cele map can always display the main
distribution features of the hole&electron map in a clearer and more intuitive way. However, many
details are lost during the transformation; for example it is impossible to determine the specific type
of the electron excitation (such as n-*, -*) solely based on the Chole&Cele map.
756
4 Tutorials and Examples
Now we look at the indices together with the isosurface graphs. For the D index, only the
S0→S2 value has very large (3.48 Å), so it can obviously be considered as CT excitation. Indeed,
from above graph it can be seen that the distance between the center of the blue and green isosurfaces
(namely centroids of Chole and Cele) is large. While for other excitations, the centers of the blue and
green isosurfaces are close together, therefore they should be regarded as LE excitations.
Then we examine the Sr index. We find that the Sr indices of all excited states are relatively
large. In particular, the values of the S0→S4 and S0→S5 are rather large, up to 0.87, the main reason
is that these two excitations are highly localized -* type of excitation on the benzene ring. It is
worth to mention that although S0→S1 is also a highly localized excitation, its Sr (0.52) is even
smaller than the Sr (0.65) of S0→S2, which is a CT excitation. The reason why the Sr index of the
S0→S1 is not as large as expectation is not difficult to understand. As mentioned earlier, S0→S1
shows n→* feature, the main body of lone pair is on the NO2 plane, while * orbital has a nodal
plane on the NO2 plane, hence the overlap of hole and electron should be limited.
Next, look at the H index, which reflects the breadth of the average distribution of hole and
electron. It can be seen from the hole&electron map that both the hole and electron of S0→S1 and
S0→S3 are distributed in a local region, this is why their H indices are not large. Since the
distribution of hole and electron corresponding to the excitations from S0 to S2, S4 and S5 are
evidently wider than S0→S1, their H indices are evidently larger.
One can see that only the t index of S0→S2 is a slightly positive value, indicating that the
separation of hole and electron is obvious, so it is more reasonable to consider S0→S2 as a CT
excitation. The t indices corresponding to the excitations from S0 to other excited states are evident
negative values, suggesting that degree of separation of their hole and electron is very low.
By comparing the hole and electron isosurface maps, we can find that the HDI and EDI indices
indeed nicely quantified the uniformity of spatial distribution (i.e. degree of delocalization) of hole
and electron, respectively. It can be seen that both hole and electron of S0→S1 and S0→S3 are
highly localized, corresponding to large calculated value of HDI and EDI. In contrast, the hole and
electron distributions of S0→S2/S4/S5 are evidently more delocalized, this point is faithfully
revealed by their relatively small HDI and EDI values.
The hole-electron Coulomb attractive energy given in the table is closely related to the electron
excitation characteristics, and the most influential factor should be the D index. It is easy to
understand that the larger the D index is, the farther the distance between the main distribution
757
4 Tutorials and Examples
regions of hole and electron, and thus the weaker the Coulomb attractive energy. From the data, it
is indeed found that Coulomb attraction energy of S0→S2 (the only CT excitation) is the smallest
one of that of all the five electron excitations. While for the excitations of S0→S1 and S0→S3,
since their D indices are very small and according to the H index the spatial extent of their hole and
electron is very narrow, one can easily imagine that the corresponding Coulomb attraction should
be very strong. Indeed, as can be seen from the previous table, their hole-electron Coulomb
attraction energies are the most negative ones (-7.81 and -8.54 eV).
Combined with the above isosurface maps and quantitative data, we can unambiguously
identify the characteristics of the five excitations:
·S0→S1:LE excitation of n-* type on the nitro group
·S0→S2:CT excitation of -* type from amino group towards nitro group
·S0→S3:The same as S0→S1
·S0→S4:-* LE excitation occurring on the benzene ring attached to the nitro group
·S0→S5:-* LE excitation occurring on the benzene ring attached to the amino group
Here, the heat maps that exhibit contributions to the hole, electron and overlap from all
fragments for all the five excitations are given together. In order to facilitate parallel comparison,
the color scale for all excited states is uniformly set to 0.0~1.0.
From these heat maps, one can immediately make clear where the excited electrons come and where
they go by viewing color of the matrix elements. For example, from the graph of S0→S2, one can
easily recognize that the excited electron is mainly originated from fragment 3 (the benzene attached
to amino group), most of them is transferred to fragment 1 (the nitro group), and a smaller part is
transferred to fragment 2 (the benzene attached to the nitro group). Another example, from the
S0→S4 map one can find that the excited electrons come from fragment 2, after excitation most of
them remain in fragment 2, but a few of them transferred to fragment 1, and the overlap between
hole and electron on fragment 2 is significantly higher than the other regions.
758
4 Tutorials and Examples
It is worth to note that the detailed characteristics of charge transfer between fragments during
electron excitation can be even better revealed by the IFCT method, see example in Section 4.18.8.
For the S0→S2 excitation, the graph plotted in above way in VMD is shown below
In order to make understanding easier, an arrow is appended on the graph to highlight the CT
direction, the D index is also labelled together to make the graph more informative.
Tip: Obtaining a variety of indices for a range of excited states via script
By Linux shell script, a variety of indices for a range of excited states can be obtained at once.
For example, we want to obtain all indices for excitations of S0→S1,S2,S3, we should copy the the
input files D-pi-A.fchk and D-pi-A.out as well as the all_index.sh from the "examples\excit" folder
to a proper folder, then enter this folder in the Linux terminal, run chmod +x ./batch.sh to add
executable permission, then run ./all_index.sh to execute the script. Each excitation will be analyzed
in turn, the status will be shown on screen until the appearance of "Finished!". Then open the
resulting result.txt file in current folder, you will find
1 Sr index (integral of Sr function): 0.51896 a.u.
759
4 Tutorials and Examples
[ignored...]
This summary of all indices. You can easily modify the script to meet your practical
requirement, if you do not familiar with this point, please check Section 5.3.
760
4 Tutorials and Examples
Combining the graph with the quantitative data in the table, it is clear that the S0→S24
excitation not only has metal-centered (MC) character, namely electrons of the metal are excited
into the metal's own empty orbital, but also have evident MLCT character. As shown in the
hole&electron isosurface map, the main body of both the hole and electron is on the metal, and it
can be seen that the isosurface of electron also has a large portion on the ligand. The calculated
percentage of MLCT feature is 77.3-19.6 = 57.7%, this value should be said to be very consistent
with the information conveyed by the hole-electron isosurface map. Note: The hole also has non-
negligible distribution on the ligand, which is 100%-77.3% = 22.7%. The reason why the hole
isosurface is invisible on the ligands is because its distribution is very diffuse in this region, the hole
on the ligands can only be clearly seen by decreasing the isovalue to a smaller value, such as 0.0005.
Then look at S0→S37 excitation. From the hole&electron isosurface map shown below we can
see that main body of both hole and electron is located at one of the ligands, therefore it is no doubt
that this is a LC (ligand-centered) excitation, corresponding to the case that electrons excited from
ligand to its own * orbitals. Because there is also hole and electron distribution on the metal,
therefore this excitation also shows some MLCT character, which is calculated to be 16.9% - 8.8%
= 8.1%.
Finally, look at the S0→S40 excitation, whose hole and electron isosurfaces are shown at right
part of above map. From the hole isosurface and the percent of hole on metal shown in the previous
table (16.9%), it is found that its hole distribution character is very similar with S0→S24, but the
amount of electron on the ligand is obviously not as large as S0→S24, only tiny part of it is
distributed on the four nitrogens directly coordinating with Ru, so the MLCT feature of S0→S40 is
761
4 Tutorials and Examples
conspicuously weaker than S0→S24. In contrast, its MC characteristic is definitely higher than
S0→S24.
By the way, for coordinate systems, if you want to obtain MLCT, LMCT, LLCT, MC, LC
separately, you should resort to the IFCT analysis illustrated in Section 4.18.8.
We already know that the electron in the excitations from S0 to S24 and S40 mainly sources
from Ru atoms, but how to unveil which are the atomic orbitals that electron excited from? Although
it can be more or less judged from the isosurface map of the hole, there is still some subjectivity. To
figure this out, we can calculate contributions of basis functions to hole and electron. For example,
after entering the hole-electron analysis function and selecting the 40th excited state, we select "4
Show basis function contribution to hole and electron" and then input an outputting threshold, such
as 2, then information of the basis functions contributing to hole or electron higher than 2% will be
printed:
Basis Type Atom Shell Hole Electron Overlap Diff.
It can be seen from the data that the main contribution to the hole is the D basis function of the
Ru atom. The SDD pseudopotential basis set we currently used only describes 4s, 4p, 4d and 5s
electrons for Ru, so the excited electron of S0→S40 excitation must come from the 4d atomic
orbitals. The basis functions of Ru that have contributions to electron are also D type. Therefore
now we know that the MC component in the S0→S40 corresponds to d-d transition on Ru.
Notice that this is not the only way to determine which orbitals the excited electrons come from and move to,
for example you can also use Multiwfn to perform NTO analysis and examine the pattern of the NTO pair with
largest eigenvalue. However, if the electron excitation under study cannot be well described by any pair of NTOs,
then this approach will not work. In contrast, the hole-electron analysis does not have any limitation.
The transition density and transition dipole moment density are very important quantities
involved in electron excitation analysis, they can be studied in the form of real space functions by
hole-electron module, or studied in Hilbert space by plotting as colored matrix maps (also known
as heat maps). The examples in Sections 4.18.2.1, 4.18.2.2 and 4.18.2.3 will illustrate these analyses.
In addition, although the commonly studied transitions are those from ground state to excited states,
the these quantities between two excited states are also useful in some special studies, Section
4.18.2.4 will mention how to realize this.
More discussions about these topics can be found from my blog article: "Using Multiwfn to
plot transition density matrix and charge transfer matrix to investigate electron excitation
characteristics" (in Chinese, http://sobereva.com/436).
762
4 Tutorials and Examples
It is worth to note that these values are very close to those printed in Gaussian output file, as shown
below (line 773 of N-phenylpyrrole.out), indicating that the grid quality we currently employed is
good enough
state X Y Z Dip. S. Osc.
...[ignored]
We choose option 5 in the post-processing menu to show isosurface of transition density, you
will then see left map in the image shown below, which exhibits the transition density in real space
representation. If the transition density is multiplied by negative of Z coordinate variable, then we
will obtain Z component of transition dipole moment density, namely Tz(r). To visualize it, we close
current GUI window and choose "6 Show isosurface of transition dipole moment density" and then
select "3: Z component", you will see right graph below
763
4 Tutorials and Examples
From the above T(r) map, we can see that hole and electron have strong coherence everywhere,
implying that distribution of both hole and electron covers the whole molecule (this can be easily
further confirmed by visualizing hole and electron distributions, as illustrated in Section 4.18.1).
From the right map shown above one can see that its positive (green) part is obviously larger than
negative (blue) part, recall that the integral of Tz(r) over the whole space is just the Z component of
transition electric dipole moment (Dz), this observation explains why Dz of S0→S1 is an large
positive value (1.7813 a.u.). If you have interesting, you can try to plot Tx(r) or Ty(r) maps to
interpret why the electron excitation under study has vanished Dx and Dy.
It is important to note that the S0→S1 of current system is relatively special, namely its
transition electric dipole moment vector (D) just points towards Z-axis. However, for most practical
cases, the D is not parallel to any of the three Cartesian axes, in this case we are not able to directly
study its source in terms of visualization of any of Tx(r) or Ty(r) or Tz(r). Fortunately, it is quite easy
to reorient the molecule so that the D exactly points towards a selected Cartesian axis, thus making
the above analysis feasible. See Appendix 2 of Section 4.A.7 on how to realize this.
Next, we check isosurface of Tz(r) for S0→S4 excitation. We first return to menu of main
function 18, then repeat above steps, finally you will see
764
4 Tutorials and Examples
The green and blue isosurfaces occupy the same amount of space, indicating that positive and
negative contributions to Dz are exactly the same, this is why Dz of S0→S4 is zero. Note that the
Tz(r) almost solely distributes on the pyrrole region, this is because this electron excitation
corresponds to local excitation on pyrrole moiety (as shown in Section 4.18.1).
You may have felt that visual study of transition dipole moment density is interesting and useful;
indeed, via this way you can clearly identify contribution to transition dipole moment from different
molecular regions. The cube file of the T(r) as well as Tx(r), Ty(r) and Tz(r) can be exported via
post-processing menu, so that you can also plot them using other visualization software such as
VMD (Section 4.A.14), or use such as basin analysis module (Section 3.20) or domain analysis
module (Section 3.200.14) to further quantify their distributions, or plot them as plane map via main
function 4 (using interpolated function based on loaded grid data, i.e. user-defined function -1).
Then we select option 9 and select the component of transition magnetic dipole moment density
765
4 Tutorials and Examples
that you are interested in, after that you will see the corresponding isosurface map. Below map is X
component of transition magnetic dipole moment density plotted under isovalue of 0.005. The
relatively larger blue region compared to green region explains why the X component of transition
magnetic dipole moment is a negative value (-0.503 a.u.).
The transition density matrix (TDM) has been carefully introduced in Section 3.21.2, heat map
of TDM is particularly useful in understanding the nature of electron excitation, please read Section
3.21.2 first. In this section, we will analyze transition character of a linear system of donor--
acceptor type by means of the TDM heat map. The molecular structure is shown below.
The Gaussian output file as well as .fchk file can be found in "examples\excit\NH2_C8_NO2" folder,
the keyword is CAM-B3LYP/6-31G* IOp(9/40=4) TD(nstates=10).
It is worth to note that the TDM is closely related to the charge transfer matrix defined in hole-
electron analysis framework. Example of plotting heat map of charge transfer matrix is given in
Section 4.18.8.2. Usually heat maps of TDM and charge transfer matrix are very similar to each
other and convey basically the same information.
766
4 Tutorials and Examples
molecule, otherwise the indices in the heat map will be difficult to be mapped to actual atoms in the
molecule. For systems with more complicated shape, typically "fragment TDM" should be plotted
instead, it will be described later.
Note that in "atom TDM", hydrogens are commonly ignored because they rarely contribute to
excitations of chemical interest. Therefore, before the excited state calculation of present molecule,
the indices of the hydrogens have been moved to the back of heavy atoms. As can be seen from the
molecular structure graph shown above, the range of heavy atoms is 1~12, while that of hydrogens
is 13~22.
Here we first study S0→S1 transition of this system. The below used fchk and out files are
yielded using CAM-B3LYP/6-31G* IOp(9/40=4) TD(nstates=10) keywords. Boot up Multiwfn and
input
examples\excit\NH2_C8_NO2\NH2_C8_NO2.fchk
18 // Electron excitation analysis
2 // Plot heat map of transition matrix
examples\excit\NH2_C8_NO2\NH2_C8_NO2.out
1 // Study transition between ground state to the 1st excited state. Then Multiwfn will calculate
corresponding TDM
n // Do not diagonalize the newly generated TDM, because TDM in original form carries more
useful information
1 // As mentioned in Section 3.21.2, there are several ways that can contract the TDM
(represented in basis functions) to atom TDM. Here we use the way 1. Way 2 and way 3 can also be
used and can result in similar map, while way 4 is usually deprecated
1 // Plot heat map
Below map is immediately shown on screen, the pink line was manually added to highlight the
diagonal, the "hole" and "electron" texts were also manually labelled. By default, the lower limit of
color scale is 0, while upper limit is the largest matrix element.
767
4 Tutorials and Examples
(corresponding to hole position) and then Y-axis (corresponding to electron position), we will be
able to recognize how electrons transfer among different sites. In the TDM map of present instance,
most elements in the diagonal are surrounded by green or red color, therefore this excitation must
be a global excitation, namely the excited electrons distribute over the whole system. The matrix
elements are not symmetric with respect to diagonal, it can be clearly seen that the upper left part
of the map is larger than the lower right part, in particular, the elements near the diagonal have
relatively large value. This observation reveals that electrons on non-hydrogen atoms are transferred
to atoms adjacent to them, more specifically, electrons on the atoms with smaller index tend to
transfer to atoms with larger index. Since the index of non-hydrogen atoms is ordered from the
amino group to the nitro group, hence it can be inferred that this S0→S1 excitation causes the
electrons to move integrally from the amino end to the nitro end.
If you feel difficult to understand above texts, you can compare the TDM map with below
hole&electron isosurface map (see Section 4.18.1 on how to plot it). You can find the TDM heat
map and the isosurface map convey similar information, and can confirm all of our conclusions
drawn based on the TDM map.
If you want to plot TDM heat map for other excited state, you can exit the heat map plotting
function, then re-enter this function and select the state to be studied. It is worth to note that if you
choose option "4 Toggle if taking hydrogens into account" once to switch its status to "Yes" and
then replot, you will see below map
The index range of hydrogens are 13~22, above map shows that hydrogens indeed do not evidently
participlate in electron excitation because their elements are very small (represented as purple color),
clearly it is meaningless to include hydrogens into S0→S1 TDM heat map.
768
4 Tutorials and Examples
Let us check another excitation, S0→S2. The heat map and hole&electron isosurface map are
given below.
The upper right corner of the heat map has a large value area, which corresponds to the nitro group
at the end of the system, therefore the hole and electron must have large distribution at the same
time in this region. In addition, the value of the off-diagonal terms of rightmost column of the image
is not very small, so it can be considered that the nitro group transfers a certain amount of electrons
to the central region of the system, which is consistent with the phenomenon that can be seen in the
hole&electron isosurface map. This observation can also be described as there is a so-called
"coherence" between the nitro moiety and the intermediate region of the system in the S0→S2
excitation.
769
4 Tutorials and Examples
24-33
34-43
44-55
56-63
Note that you can also use such as 2,5-8,12-15,20 to define a batch of atoms with discontinuous
indices as a fragment.
Then input below commands
-1 // Define fragments
0 // Load fragment definition from an external file (as prompted, you can also directly input
atom indices)
tdmfrag.txt // The file containing fragment definition
5 // Modify range of color scale
0,0.4 // Lower and upper limit
1 // Plot heat map
Now you can see below graph, whose index corresponds to fragment index, the hole&electron
isosurface map is also given together for comparison. The region marked with a blue frame is the
4th fragment (hexatriene).
770
4 Tutorials and Examples
According to the colors in the heat map, we know that electron and hole are mainly distributed
on the fragment 4, but they also simultaneously appear on fragments 1 and 5 to some extent, these
finding are consistent with the situation exhibited by the isosurface. Since no off-diagonal element
in the graph is quite large, present electron excitation does not cause a significant electron transfer
between various fragments. Roughly speaking, the main feature of this excitation is local excitation
on fragment 4.
Analogously, we plot fragment TDM between ground state and each of S2~S7 excited states,
the resulting maps are collectively shown below
The values of the off-diagonal elements in the maps of S0→S2~S5 are not significant with
respect to their diagonal elements, therefore interfragment electron transfer should not be obvious.
According to the diagonal terms, we can find that the transitions of S0→S2 and S0→S3 mainly
occurred in the fragment 1, while S0→S2 also marginally involves fragment 4. In general, both the
771
4 Tutorials and Examples
transitions can be regarded as local excitation. The S0→S4 is evidently a global excitation since all
diagonal terms are conspicuous. Main character of S0→S5 is local excitation on the fragment 3,
which corresponds to a benzene ring, but its neighboring fragments are also more or less involved.
S0→S6 and S0→S7 are somewhat mirrored with each other, from the figure it can be seen that
almost every fragment is involved during electron excitation, they either occupied by hole
distribution, electron distribution, or both. For S0→S6, we can speculate that the fragments 2, 3,
and 4 transferred certain amount of electrons to the fragment 1 because (1,2), (1,3) and (1,4)
elements are large, and meantime the fragments 3 and 5 also transferred some electrons to the
fragment 4.
Above figure and discussion obviously show that, when you want to discuss transition
character from ground state to a large number of excited states at the same time when writing an
article, it is very straightforward to provide a figure containing TDM heat maps of all excitations.
Skill: Plotting TDM heat map for a batch of excited states using shell script
If you want to study a batch of excited states in terms of TDM heat map, while you feel that
plotting map one by one is laborious, you can use Linux shell script to fully automate this process.
The script that generates the fragment TDM heat maps for specified range of excited states at
one time is examples\scripts\allTDM.sh. For example, if you put tdmat.fchk, tdmat.out, tdmfrag.txt,
and allTDM.sh used in above example into the Multiwfn directory and then enter this folder, run
chmod +x allTDM.sh to add executable permissions, and then run ./allTDM.sh, this script will
automatically call Multiwfn to generate 1.png, 2.png ... until 7.png in the current directory, they
correspond to TDM heat map of S0→S1, S0→S2 ... to S0→S7. The entire process can be completed
in a blink of an eye, clearly using the script is extremely convenient.
772
4 Tutorials and Examples
prefix, in which the AAtrdipX.txt contains the X component of atom TDMM. Next we will plot heat
map based on this matrix.
Reboot Multiwfn and input
o // Load the file last time loaded
18 // Electron excitation analysis
2 // Plot heat map of transition matrix
AAtrdipX.txt
Now you can find below information on screen
Sum of all elements (including hydrogens): -4.38875223
where -4.38875223 is just the X component of transition electric dipole moment of S0→S1
excitation, the value is identical to that can be found from Gaussian output file.
As also shown in above prompt, the minimum value of this matrix is a negative value -0.825,
however by default the lower limit of color scale of present function is 0, therefore we must change
the color scale, and it is better to make absolute value of lower and upper limits identical. You can
repeatedly try to find the value that makes the image best reflect the characteristics of the matrix. If
the range is too narrow, the parts that exceed the upper and lower limits of the color scale will be
displayed as white and black, respectively, which is not beautiful. If the range is too broad, the
difference of the matrix elements can hardly be distinguished by colors.
Now we input below commands in Multiwfn
5 // Modify range of color scale
-0.7,0.7 // Lower and upper limits
1 // Plot heat map
Immediately you can see below graph. In order to better understand the heat map, the isosurface
of transition dipole moment density of X component is also shown together (see Section 4.18.2.1
on how to plot it)
773
4 Tutorials and Examples
The bluer (redder) matrix element of this heat map contributes more negatively (positively) to the
transition dipole moment of X component. Since most part of the heat map are blue, the sum of all
matrix elements must be negative, explaining why the X component of the transition dipole moment
is a significant negative value (-4.388 a.u.). Because all matrix elements far from the diagonal are
very close to 0 (shown as green), hence the long-range coupling between atoms does not contribute
substantially to the transition dipole moment of X component. There are several areas of the figure
show very blue color, such as the regions near (2,2) and (9,9), showing that corresponding atoms
and neighboring ones have significant negative contributions, this point is also clearly reflected in
the isosurface map of transition dipole moment density. Some sites such as (1,2) are obviously
positive, which means that the coupling between the two atoms has a significant positive
contribution to the transition dipole moment of X component, this is also why in the isosurface map
there are green isosurfaces between atoms 1 and 2. The middle part of the heat map is basically
green, indicating that the value is very small; correspondingly, there is no isosurface in the middle
of the molecule on the isosurface map.
It can be seen that combining the transition dipole moment density and the transition dipole
moment matrix together is helpful for clarifying the intrinsic characteristics of the transition dipole
moment.
We can also plot TDMM based on fragment index, this is very easy and thus will not be further
illustrated. What you need to do is simply defining fragments in the heat map plotting function and
then plot the graph (please recall Section 4.18.2.3).
774
4 Tutorials and Examples
(dipole moment) density as real space function and transition (dipole moment) density matrix
between ground state and excited states. In fact, these kinds of studies can also be used to analyze
transition between two excited states, such analyses may be useful in special applications, such as
transient absorption spectrum and two-photon process. In this section, I will show how to realize
these analyses.
775
4 Tutorials and Examples
transition. Clearly, what you should do next is calculating grid data of user-defined function.
776
4 Tutorials and Examples
Since the area corresponding to atoms 1~9 at the right side (X=11 and 12) of the heat map has large
value, we can speculate that a large amount of electrons is transferred from atoms 11 and 12 to atoms
1~9 during the S1→S2 excitation. Exactly same conclusion can also be gained from the isosurface
map of density difference. This example shows that the density matrix heat map is not only useful
and reliable for analyzing transitions from ground state to excited states, but also for transitions
between various excited states.
In this instance we will analyze charge-transfer (CT) between the first singlet excited state and
ground state of the molecule shown below in ethanol solvent, which will be referred to as P2. The
related theory has been introduced in Section 3.21.3. The discussions in this example are somewhat
related to the ones involved in Section 4.18.1, however the methods employed in this section are
purely based on electron density difference.
Since the .wfn files corresponding to the excited state and ground state are large, they are not
provided. Instead, the input files of Gaussian for generating the two .wfn files are provided in
“examples\excit” folder (extP2.gjf and basP2.gjf). I assume that the corresponding .wfn files are
produced at "CT" subfolder in current folder. I would like to remind you once again, the geometries
in the wavefunction files of the two states must be exactly identical, otherwise the result will be
meaningless! If you do not have Gaussian in hand, you can also directly download the extP2.wfn
and basP2.wfn from http://sobereva.com/multiwfn/extrafiles/extP2_basP2.zip.
First, we calculate grid data of electron density variation during the excitation. Boot up
Multiwfn and input:
CT\extP2.wfn // Excited state wavefunction file
5 // Generate grid data
0 // Set custom operation
1 // Only one file will be dealt with
-,CT\basP2.wfn // Ground state wavefunction file. Corresponding density will be subtracted
from the excited one to generate
1 // Electron density
2 // Medium quality grid. If the system is much larger than present one, more grid points is
required (e.g. using high quality grid)
Once the calculation is normally completed, you can choose option -1 to view the electron
density variation during the electron excitation (default isovalue is too large for visualizing density
difference, 0.005 is recommended for present case). Green and blue regions correspond to positive
and negative regions, respectively, they represent increase and decrease in electron density due to
the excitation.
777
4 Tutorials and Examples
However this density difference graph is not quite intuitive, since positive and negative parts
intertwined together and there are many nodes. We will see that C+ and C- functions make the image
much clearer.
0 // Return to main menu
18 // Electron excitation analysis
3 // Analyzing CT based on electron density difference grid data
The following information are displayed immediately. Note that if positive and negative parts
of qCT are obvious unequal, that means the grid setting used in generating is too coarse, and you
need to calculate again with finer grid setting.
q_CT (positive and negative parts): 0.844 -0.844 a.u.
RMSD of positive part in x,y,z (Angstrom): 2.993 1.250 0.821 Total: 3.346
RMSD of negative part in x,y,z (Angstrom): 3.290 1.144 0.881 Total: 3.593
H_x: 3.141 H_y: 1.197 H_z: 0.851 H_CT: 3.141 H index: 3.469 Angstrom
Above information are self-explanatory, if you are confused, please consult Section 3.21.3. The
evident positive value of t index implies that the distribution of positive and negative of has been
significantly separated due to strong CT. The large D index (4.95 Å) shows that the CT distance is
quite long. Clearly, S0→S1 transition of this system should be identified as typical CT excitation.
The excitation caused significant variation of dipole moment, as shown in the data, it is as high as
20.07 Debye. The distribution spatial distribution breadth of positive and negative parts of are
similar, therefore the outputted index, which measures difference of their RMSD, is merely -
0.247 Å.
By selecting option 1, isosurface of C+ (green) and C- (blue) functions can be shown up. The
isovalue of the graph shown below is 0.0015.
778
4 Tutorials and Examples
If the isovalue is increased to 0.0024, the positions of barycenters can be approximately located
(barycenters of C+ and C- exactly correspond to center of their isosurfaces).
From the graph it is evident that the direction of electron transfer is from the amino group side
(electron donor) to nitro group side (electron acceptor). However, the barycenters are not exactly
located at the two substituents, this observation suggests that the actual electron donor in this
electron excitation is not amino group but phenyl. This finding parallels to the fact that phenyl is a
weak electron donor.
Hint: If you would like to get better display effect of the C+ and C- isosurfaces, you can use VMD program
(freely available at http://www.ks.uiuc.edu/Research/vmd/) to display them, the procedure is: Boot up VMD first,
drag Cpos.cub into VMD main window, and then drag Cneg.cub into it. Select "Graphics"-"Representations", choose
the first term in "Selected Molecule", click "Create Rep" button to create a new representation (the existing
representation is used to show molecular structure), change the "drawing method" to "isosurface", set "Draw" to
"solid surface", change the isovalue to 0.0015, set "coloring method" to "ColorID" and choose "7 green". Now the
isosurface of Cpos has been properly displayed. Next, choose the second term in "Selected Molecule", use the similar
methods to set each options, but select "0 blue" in "ColorID", and use isovalue of -0.0015. Finally, the graph will
look like the one shown above. You can also set "Material" to "transparent" so that the overlap region of C+ and C-
can be clearly distinguished.
In this section I will illustrate how to calculate the r index proposed in J. Chem. Theory
Comput., 9, 3118 (2013) and the index proposed in J. Chem. Phys., 128, 044118 (2008) to
characterize electron excitations for N-phenylpyrrole. If you are not familiar with these two indices,
779
4 Tutorials and Examples
Calculating r index
The r index is a quantitative indicator for measuring charge transfer (CT) length of electron
excitation, larger r index implies longer CT distance.
Boot up Multiwfn and input
examples\excit\N-phenylpyrrole.fch
18 // Electron excitation analysis
4 // Calculate r index
examples\excit\N-phenylpyrrole.out
1-5 // Assume that we want to calculate r index for all the five calculated singlet excited
states
Immediately, the results are printed on screen:
Excited state 1: Delta_r = 1.499249 Bohr, 0.793368 Angstrom
The r indices imply that the excitations from ground state (S0) to the 3th, 4th and 5th excited
states possess strong CT character since they have large r, while the excitations of S0→S1 and
S0→S2 should be basically regarded as LE excitations because their r indices are not quite large
(the original paper of r suggests using 2.0 Å as criterion for distinguishing LE and CT excitations).
Bear in mind, definitive conclusion about the excitation character can only be finally drawn after
visualizing the hole and electron distributions using the hole-electron analysis module of Multiwfn.
In Multiwfn it is possible to decompose the r index as contributions of orbital pair transitions.
For example, we want to do this for the S0→S4 excitation, we should first enter the r index
calculation interface and then input
4 // Only calculate r index for a single excitation (S0→S4), in this case the result can be
decomposed
y // Print orbital pair contributions
0.01 // Only the orbital pairs having contribution larger than 0.01 Å will be printed
You will immediately see below information
Note: The configuration coefficients shown below have combined both excitation
780
4 Tutorials and Examples
As you can see, MO37→MO41 transition has predominating contribution (1.97 Å) to the r
index of S0→S4 (3.11 Å), while the MO37→MO43 transition also has nonnegligible contribution
(0.97 Å).
From above output, it can be found that the indices are nearly inversely proportional to the
r indices, because the larger the hole-electron overlapping extent, usually the shorter the hole-
electron separation distance (but bear in mind, this relationship is not always true).
Then we decompose the index for the fourth excitation. Input below commands
y // Do the index analysis again
4 // The fourth excitation
y // Decompose analysis on index
0.01 // Printing threshold
Then you will see all MO pairs having contribution to index larger than 0.01:
Sum of square of configuration coefficients: 0.497953
The data indicates that only occupied MO 37 has non-negligible overlap with unoccupied MOs;
specifically, only the overlap between MO37-MO41 and between MO37-MO43 is relatively
detectable.
781
4 Tutorials and Examples
This example will utilize the function described in Section 3.21.5, please read it first to gain
relevant knowledge. In this example I use 4-nitroaniline to illustrate how to calculate electric dipole
moment of each state, and then illustrate how to calculate transition magnetic dipole moment
between all states. The state in this context refers to ground state and excited states obtained by
TDDFT calculation. The corresponding Gaussian TDDFT input file for generating the .fch and .out
files used in this example is examples\excit\4-nitroaniline.gjf.
Boot up Multiwfn and input
examples\excit\4-nitroaniline.fch
18 // Electronic excitation analysis
5 // Calculate transition electric/magnetic dipole moments between all states and for each state
examples\excit\4-nitroaniline.out
4 // Obtain electric dipole moment of each state
Now you have dipmom.txt in current folder, you can see electric dipole moments of ground
state and various excited states.
Note: The electric dipole moments shown below include both nuclear charge and electronic
contributions
Ground state electric dipole moment in X,Y,Z: 0.326322 -2.792165 0.000000 a.u.
Next, we calculate transition magnetic dipole moment between all states. Boot up Multiwfn
and input
examples\excit\4-nitroaniline.fch
18 // Electronic excitation analysis
5 // Calculate transition electric/magnetic dipole moments between all states and for each state
examples\excit\4-nitroaniline.out
0 // Choose type of (transition) dipole moment to be calculated
2 // Magnetic
1 // Output (transition) dipole moments on screen
Now you can see
Transition magnetic dipole moment between ground state (0) and excited states (
a.u.)
i j X Y Z Diff.(eV)
782
4 Tutorials and Examples
i j X Y Z Diff.(eV)
From above output you can find transition magnetic dipole moment between ground state and
excited states, as well as between various excited states.
Similarly, you can calculate transition electric dipole moment between various states.
In this section I illustrate how to use Multiwfn to perform the very popular natural transition
orbital (NTO) analysis with uracil as example. Please first read Section 3.21.6 to acquire basic
knowledge of NTO. Although in this example the files outputted by Gaussian were used as input
file, in fact the files outputted by ORCA are also fully supported, see Section 3.21.1.2 for detailed
requirement about the input file.
Before showing how to perform NTO analysis, I would like to let you apprehend why NTO
analysis is meaningful. As an instance, we use Gaussian to perform TDDFT calculation at PBE0/6-
31G* level for singlet excited states of uracil, you will find below information
Excited State 3: Singlet-A" 6.0180 eV 206.02 nm f=0.0000 <S**2>=0.000
26 -> 30 0.54135
26 -> 31 -0.20634
28 -> 30 -0.15424
28 -> 31 0.36715
783
4 Tutorials and Examples
examples\excit\NTO\uracil.fch
18 // Electron excitation analysis
6 // Generate NTOs
examples\excit\NTO\uracil.out // Gaussian calculated three lowest excited states, you can
analyze any one of them
3 // Study transition from ground state (S0) to the 3rd excited state (S3)
Now Multiwfn loads transition information of S0→S3 from the Gaussian output file and
generate NTOs, the eigenvalues of NTO pairs are shown below
The highest 10 eigenvalues of NTO pairs:
It can be seen that the largest eigenvalue is 0.8655, that means that NTO pair contributes as high as
86.55% of the S0→S3 transition. So, if we would like to characterize the nature of this transition,
we can only study the occupied NTO and virtual NTO in this NTO pair.
Now you can select if outputting .fch/.mwfn/.molden file containing the NTOs. We choose "3
Output NTO orbitals to .mwfn file" and input the path to output, such as C:\S3.mwfn. After
the .mwfn has been successfully generated, you can reboot Multiwfn and load the S3.mwfn, in main
function 0 you can visualize the NTOs, the orbital energies now correspond to NTO eigenvalues.
To plot the occupied and virtual NTOs corresponding to the NTO pair with 86.55% contribution, in
the GUI of main function 0 you can select "orbital info." - "Show up to LUMO+10" in the menu, in
the text window you will find output like below
Orb: 27 Ene(au/eV): 0.000582 0.0158 Occ: 2.000000 Type: A+B
We can see that the occupied NTO with index of 29 and the virtual NTO with index of 30 constitute
the NTO pair with eigenvalue of 0.8655, there we select corresponding index in the GUI to visualize
them, the isosurfaces are shown below
Undoubtedly, this S0→S3 excitation can be regarded as transition from lone pair of O12 to anti-
bonding orbital of the uracil ring, at least we have 86.55% confidence to say that. From NTO
eigenvalues we notice that NTO28→NTO31 transition also has small contribution (13.40%) to the
excitation, please plot corresponding orbitals and discuss their characteristic.
784
4 Tutorials and Examples
The NTOs can also be subjected to quantitative analyses. For example, you can enter main
function 8 and use suitable options to analyze their orbital composition at quantitative level, or you
can use subfunction 11 of main function 100 to evaluate overlap extent and centroid distance
between selected two NTOs.
In Multiwfn it is possible to evaluate energies of orbitals in any kind. In Section 4.300.6 a
detailed example of calculating energies of NTO orbitals is given.
It is worth to note that NTO analysis has both advantage and disadvantage with respect to the
hole-electron analysis, this point has been mentioned at the end of Section 3.21.6. For many systems
and excitations, even if NTO transformation has been applied, there are still no NTO pair with
predominant contribution, in this case you have to resort to hole-electron analysis to facilitate
discussion of excitation characteristic. The drawback of hole-electron analysis is that it is unable to
present orbital phase information like NTO analysis, and it takes higher computational cost.
18
examples/NTO/uracil.out
EOF
for ((i=1;i<=3;i=i+1))
do
$i
S$i.fch
EOF
done
rm ./allNTO.txt
This script is also provided as examples\excit\NTO\allNTO.sh. If you do not make any modification
to the script, this script should be copied to the Multiwfn folder and run as ./allNTO.sh in Multiwfn
folder, then S1.fch, S2.fch and S3.fch will be yielded at the same folder. In practical studies, you
should properly modify the script according to actual situation, the range of the excitations to be
studied is determined by "i=1;i<=3".
785
4 Tutorials and Examples
4.18.8 Using IFCT method and heat map of charge transfer matrix to
study interfragment charge transfer during electron excitation
The interfragment charge transfer (IFCT) is a method derived based on hole-electron analysis
for quantitatively studying amount of charge transfer between different fragments. The situation of
charge transfer can also be very intuitively understood by means of heat map of charge transfer
matrix, which is a byproduct of IFCT analysis. Please carefully read Section 3.21.8 if you are not
familiar with these concepts.
In the next two sections, I will use two molecules to respectively illustrate how to perform
IFCT analysis and plot heat map of charge transfer matrix, these two kinds of analyses can provide
complementary perspectives.
4.18.8.1 IFCT analysis for 4-nitroaniline
In this example, I will illustrate how to use IFCT method to study CT between three fragments
(-NO2, -NH2 and the linker benzene) of 4-nitroaniline during its electron excitation.
The Gaussian input file of TDDFT task at PBE0/6-311G* level for 4-nitroaniline has been
provided as examples\excit\4-nitroaniline.gjf. Note that IOp(9/40=4) is used so that Gaussian can
print enough configuration coefficients. Run it by Gaussian to obtain .chk file and .out file, then
convert the .chk file to .fch via formchk. The .fch and .out files have been provided in
"examples\excit" folder.
Boot up Multiwfn and input below commands
examples\excit\4-nitroaniline.fch
18 // Electron excitation analysis
8 // Calculate interfragment charge transfer in electron excitation via IFCT method
1 // Mulliken partition
[Press ENTER button] // Load examples\excit\4-nitroaniline.out
2 // We first analyze transition from ground state (S0) to the second excited state (S2)
3 // Define three fragments
11-13 // Atomic indices of amino group (fragment 1)
1-10 // Atomic indices of benzene group (fragment 2)
14-16 // Atomic indices of nitro group (fragment 3)
Then you will see
Contribution of each fragment to hole and electron:
786
4 Tutorials and Examples
The output is very easy to understand, if you are confused, please check corresponding
explanation in Section 3.21.8. For example, the data shows that during the S0→S2 excitation, nitro
group (fragment 3) donates 0.00179 electrons to amino group (fragment 1) and meantime accept
0.19001 electrons from amino group, therefore nitro group totally gains 0.18821 electron from
amino group. If the benzene fragment is also taken into account, the electron excitation totally
increases electron population of nitro group by 0.61519. The electron redistribution phenomenon in
the two terminal groups is not prominent, however, as the data shown (0.19453), the electron
redistribution within the benzene, which behaves as linker, is remarkable. Because CT(%) is
notably larger than LE(%), this excitation can be mostly regarded as a charge transfer state.
For facilitating discussion, I summarized all IFCT analysis data in below table. The diagonal
terms correspond to amount of intrafragment electron redistribution.
Donor Amino group benzene nitro group
amino group 0.008 0.083 0.190
benzene 0.020 0.195 0.445
nitro group 0.002 0.018 0.040
As you can see from the table, there are three prominent interfragment CT terms (sorted according
to magnitude): benzene→nitro, amino→nitro, amino→benzene, all of them direct from amino
group towards nitro group.
For better and intuitively understanding above data, we plot hole-electron isosurface map using
the method described in Section 4.18.1:
787
4 Tutorials and Examples
In the graph, main distribution regions of hole and electron correspond to blue and green,
respectively. As you can see, hole mainly distributes on the amino group and benzene moiety, while
electron mainly locates at the benzene linker and nitro group, clearly the overall CT direction is
from amino group to nitro group, this is completely in line with our observation of quantitative
interfragment CT analysis.
It is worth to notice that Multiwfn is able to calculate IFCT for a batch of excited states at once,
hence can easily recognize major character of all excited states, see Section 4.18.6 for illustration.
More discussions and illustrations about the IFCT analysis can be found from my blog article
"Using the IFCT method in Multiwfn to evaluate amount of electron transfer between arbitrarily
defined two fragments during electron excitation" (in Chinese, http://sobereva.com/433).
788
4 Tutorials and Examples
This figure has similar features of the heat map of atom TDM given in Section 4.18.2.2, but there
are also differences that cannot be ignored. According to the IFCT point of view, each of the non-
diagonal elements of the current graph rigorously exhibits the amount of electron transferred
between atoms. Looking at the graph column by column, it can be visually seen that each atom on
789
4 Tutorials and Examples
the carbon chain transferred electrons to the atoms at its front and back ends, and the amount of
transfer to the nitro side is significantly more than to the amino side. For example, it can be seen
from the figure that in the fifth column, the value of the sixth element is larger than the fourth
element, so the amount of electron transfer of C5→C6 must be more than C5→C4.
Next, we also look into heat map of CTM of other excitation. The map of S0→S9 plotted in
the same way as above is given below, corresponding hole&electron isosurface map is also
appended. Because it was found that S0→S9 transition evidently involves some hydrogens,
therefore hydrogens are also taken into account in the map (by choosing "4 Toggle if taking
hydrogens into account" once).
It can be seen from the above heat map that, there is strong electron transfer from the region of
atoms 1~5 and 7~9 to the hydrogen atom with index of 13, this observation fully agrees with the
hole&electron isosurface map, namely there is a large green isosurface at the H13. In addition, from
the isosurface map we can see that atom 6 is basically only surrounded by green isosurface, that
means this atom does not transfer electrons to others while largely accepts electrons from others;
accordingly, the color of the row of Y=6 in the heat map is distinct, while the column corresponding
to X=6 is very dark.
From this example, we can find that the hole&electron isosurface map provides the most
intuitive visual effect, but if it is discussed together with the heat map of CTM, the charge transfer
can be understood more thoroughly from a quantitative point of view, it also avoids the possibility
that the arbitrariness of the choice of isovalue leads to an unreasonable judgment.
The CTM can also be plotted based on fragment. To do this, you simply need to load fragment
definition file or directly input fragment definition in the heat map plotting function, and then plot
the map again.
790
4 Tutorials and Examples
In Section 4.18.2, I have shown that in Multiwfn the transition density can be studied in terms
of real space function and colored matrix (heat map). Multiwfn can do even more for transition
density. As will illustrated in this section, Multiwfn is able to transform the generated transition
density matrix to orbital representation and export the orbitals as wavefunction file. This brings a
lot of conveniences; for example, when you analyze "electron density" based on this file, the actual
function to be studied will directly correspond to transition density. Note that these orbitals can be
regarded as natural orbitals of transition density matrix (TDM), but they are remarkably different to
the NTO (nature transition orbital), which has been introduced in Section 3.21.6.
Here will take the N-phenylpyrrole as example, whose transition density of S0→S1 has been
plotted as isosurface in Section 4.18.2. Our purpose in this section is to transform this transition
density as orbitals and export them as .wfx file so that then we can very easily study properties of
the transition density based on this file.
First we generate a .fch file containing TDM. Boot up Multiwfn and input
examples\excit\N-phenylpyrrole.fch // The .fch file yielded by Gaussian TDDFT task
18 // Electron excitation analysis
9 // Generate and export TDM
1 // Generate TDM between ground state and excited state
examples\excit\N-phenylpyrrole.out // The output file of Gaussian TDDFT task with
IOp(9/40=4) keyword
1 // Analyze electron transition from ground state to the 1st excited state (S0→S1)
1 // Symmetrize the raw TDM. This is important, the natural orbitals cannot be properly
yielded later without symmetrization of the TDM
y // Export current wavefunction to TDM.fch in current folder, whose "Total SCF Density"
field records the just generated symmetrized TDM
Next, we transform the TDM to natural orbitals. Reboot Multiwfn and input
TDM.fch
200 // Other functions (Part 2)
16 // Generate natural orbitals based on the density matrix in .fch/.fchk file
SCF // The matrix to be transformed comes from the "Total SCF Density" field
y // Export the generated orbitals to new.mwfn and load it
Now we have new.mwfn in current folder, which contains natural orbitals transformed from the
S0→S1 TDM. The orbitals in memory now also correspond to these natural orbitals. Assume that
we also want to export them as .wfx file, we should input below commands
0 // Return to main menu
100 // Other functions (Part 1)
2 // Export various kinds of files
791
4 Tutorials and Examples
In order to gain a deeper insight into transition electric or magnetic dipole moment, Multiwfn
provides a function used to decompose it to contributions from various MO pair transitions, see
Section 3.21.10 for introduction. Here I present an example. The .fch and .out files involved in this
example were produced by TDDFT calculation of Gaussian.
Boot up Multiwfn and input
examples\excit\N-phenylpyrrole.fch
18 // Electron excitation analysis
10 // Decompose transition dipole moment as molecular orbital pair contributions
1 // The type of transition dipole moment is electric
examples\excit\N-phenylpyrrole.out
1 // Select the excitation from ground state (S0) to the first singlet excited state (S1)
Now below information about this excitation is shown on screen
Transition dipole moment in X/Y/Z: -0.000000 -0.000000 1.781438 a.u.
Then you can find several options on screen, they are self-explanatory. We first choose option
1 and input for example 0.02, then all MO pairs having contribution larger than 0.02 are printed:
#Pair Orbital trans. Coefficient Transition dipole X/Y/Z Norm (a.u.)
From the output, we can immediately find that transition of MO38→MO39 has dominating
contribution (2.796678 a.u.) to this S0→S1 excitation.
When there are too many MO pairs having nonnegligible contributions to transition dipole
moment and thus difficult to identify important MO transitions, you can let Multiwfn sort the MO
792
4 Tutorials and Examples
pairs according to their contributions to specific component of transition dipole moment. For
example, here we choose the option " 4 Print orbital pairs in the order of absolute contribution to Z
component" and then input 5, then you will see the five MO pairs having largest contribution to Z
component of transition dipole moment:
#Pair Orbital trans. Coefficient Transition dipole X/Y/Z Norm (a.u.)
By the way, oscillator strength (f) directly relates to square of norm of transition electric dipole
moment, therefore it can be expected that if the configuration coefficient corresponding to
MO38→MO39 is set to zero, namely ignoring its contribution, then f will be lowered evidently. As
shown earlier, the original f of S0→S1 is 0.39353. Let us quantitatively check how MO38→MO39
affects the f. To do this, we can manually set configuration coefficient of this transition to zero and
then re-examine the f value. To this aim, we input following commands
0 // Return to menu of electron excitation analysis
-1 // Check, modify and export configuration coefficients of an excitation
1 // Choose the first excited state
1 // Set coefficient of a MO pair
38,39 // The MO indices of the MO pair
1 // The transition type is chosen as "Excitation", hence MO38→MO39 is selected (if inputting
2, then what we selected will be MO38MO39)
0 // Set the configuration coefficient to zero
-3 // Export current excitation information to a plain text file
S1.txt // The path of the file to store excitation information of S0→S1
Now S1.txt has been generated in current folder, if you open it with text editor, you will find
the coefficient corresponding to MO38→MO39 is indeed zero.
Then reboot Multiwfn and input
o // Load the file used at the last time, namely examples\excit\N-phenylpyrrole.fch
18 // Electron excitation analysis
10 // Decompose transition dipole moment as molecular orbital pair contributions
1 // The type of transition dipole moment is electric
S1.txt
Now the printed f is only 0.1278, which is less than 1/3 of its original value (0.39353), showing
that MO38→MO39 has crucial influence on strength of S0→S1 excitation.
Since the coefficient of MO38→MO39 is as large as 0.6727, after setting it to zero, now the sum of the square
of remaining coefficients has been much less than 0.1, which is far from the ideal value of closed-shell case (0.5).
In my paper Carbon, 165, 461 (2020), I employed the function illustrated above to study the
nature of the extremely strong absorption of cyclo[18]carbon, you are suggested to look at Fig. 4
and relevant discussion. If this function is employed in your work, it is suggested to also cite this
paper.
Via similarly way illustrated above, you can also decompose transition magnetic dipole
793
4 Tutorials and Examples
In Section 4.18.2.1, I have shown how to plot transition dipole moment density in real space,
which is extremely useful for studying contribution of different regions in three-dimension space.
In fact, if using a special plotting script of VMD (http://www.ks.uiuc.edu/Research/vmd/) provided
below, transition dipole moments contributed by molecular fragments can be easily drawn as arrows,
which greatly facilitates discussion of composition of total transition dipole moment.
Here, azobenzene is taken as example. The input file of TDDFT task of Gaussian for
azobenzene is provided as examples\excit\Azobenzene.gjf. Note that IOp(9/40=4) is used and .chk
file is saved after calculation. Run it by Gaussian, and then convert azobenzene.chk to
azobenzene.fch. (If you do not have Gaussian in hand, you can also directly download the .out
and .fch files from http://sobereva.com/multiwfn/extrafiles/Azobenzene_exc.zip)
Boot up Multiwfn, load the azobenzene.fch, then input
18 // Electron excitation analysis
11 // Decompose transition dipole moment as basis function and atom contributions
Azobenzene.out // The Gaussian output file obtained by running Azobenzene.gjf
2 // Assume that we want to study is electron excitation from ground state to excited state 2
(you can also input two indices to study transition between the two excited states)
1 // The type of transition dipole moment to be decomposed is electric
n // Do not generate AAtrdip.txt, which is not involved in the present example
Now trdipcontri.txt is outputted to current folder, which contains transition dipole moment
contributed by each basis function and each atom. Move this file to VMD folder.
Return to main menu, then enter subfunction 2 of main function 100, export current molecular
geometry to azobenzene.pdb.
Copy examples\excit\loadip.tcl to VMD folder, this is a VMD script written by me, it can load
data from trdipcontri.txt. It also defines custom commands "dip" and "dipatm" used to draw
transition dipole moment contributed by specific molecular fragment as arrow.
Boot up VMD, drag the file azobenzene.pdb into VMD main window to load it, then run source
loaddip.tcl in VMD console window to execute the script. Assume that we want to divide the
molecule as three parts to separately investigate their contributions to transition dipole moment,
namely the first phenyl group (atoms 1~11), N2 part (atoms 12 and 13) and the second phenyl group
(atoms 14~24), we should run below commands in VMD console window
draw color red
Now you will see three red arrows in the VMD graphical window. The length of cylindrical part of
the arrows correspond to magnitude of fragmental transition dipole moments, the center of the
arrows correspond to geometric center of the fragments. Note that when we use "dip" command, the
fragment geometry center and quantitative contribution to transition dipole moment by the selected
794
4 Tutorials and Examples
In order to improve the graphical quality, we input color Display Background white in console
window to set white as background color, enter Graphics - Representation and set Drawing method
to CPK, and then choose Display - Orthographic in VMD main window. The final graph will look
like below.
As you can see, both the two phenyl groups have significant contribution to Y component of
total transition dipole moment (the red, green and blue of the axis shown at left-bottom part of the
graph correspond to X, Y and Z directions, respectively). For quantitative comparison purpose, total
transition dipole moment vector and its compositions are also listed below
Total: 0.1155 -2.8868 0.0
If you also want to plot total transition dipole moment as green arrow on the graph, you can
input draw color green and then input dip all.
It is also possible to plot transition dipole moment contributed by each atom. To do that, we
input draw delete all to remove all existing arrows, and then input dipatm, you will immediately see
795
4 Tutorials and Examples
There is a very important point that should be paid attention to when using above method to
decompose transition dipole moment, namely contribution of a fragment is often dependent of
choice of origin, because transition charge of a fragment is often non-zero. For example, if we use
subfunction 6 of hole-electron analysis module to export atomic transition charges and then sum
them as fragment transition charges, you will find the value of the first phenyl group is 0.2116. Since
it is non-zero, it can be proved that if overall coordinate of the azobenzene is translated, the transition
dipole moment corresponding to this fragment must be varied; in other words, the result is not
definite. Therefore, one should carefully discuss fragmental transition dipole moment in papers.
Another very important point is that since the transition dipole moment is decomposed via
Mulliken method, the analysis method shown above will be meaningless when diffuse functions are
presented in the electron excitation calculation.
Most other subsections in Section 4.18 focus on exemplifying how to study electron transition
characters, however, sometimes we want to study character of a single excited state or difference
between two excited states in specific property. In Multiwfn, one can perform various kinds of
wavefunction analysis for an excited state as usual, however, the input file must contain
wavefunction of this excited state. For multi-configuration methods that can study excited state,
such as CIS and TDDFT, the excited state wavefunction must be recorded as natural orbitals (NOs),
because Multiwfn always load wavefunction in terms of orbitals.
The main purpose of this section is illustrating the function used to generate .mwfn file
containing NOs of an excited state, so that we can analyze wavefunction character of this state. I
strongly suggest you read Section 3.21.13 first, in which the details of generating NOs of excited
states are described.
NOTE: There are two types of CIS/TDHF/TDA-DFT/TDDFT excited state wavefunction (or
density matrix): (1) Unrelaxed density (2) Relaxed density. The difference has been detailed
described in Section 3.21.1.1. Briefly speaking, the former is not as real as the latter, but generating
the latter requires additional cost (much higher than simply evaluating excitation energy). Next, I
796
4 Tutorials and Examples
will first illustrate how to perform wavefunction analysis for an excited state and study difference
between two excited states based on unrelaxed density, while at final part of this section I will also
exemplify how to analyze excited state based on its relaxed density.
797
4 Tutorials and Examples
The density difference map between other excited states can be obtained similarly.
Although you can also directly use your quantum chemistry program to generate wavefunction
file containing NOs for various excited states, the procedure is evidently much more cumbersome
than using Multiwfn, because as shown above, the advantage of Multiwfn is that it is able to
simultaneously generate .mwfn file containing NOs for a batch of excited states.
Namely the fragment charge of the pyrrole ring is 0.544 at the 3rd excited state. Repeat the
calculation for the NO_0001.mwfn, the charge of the pyrrole ring will be found to be 0.117. The
data shows that during the (hypothetical) transition from the 1st to the 3rd excited state, the pyrrole
fragment will lose 0.544−0.117=0.43 electron, this well explains why in the corresponding density
difference map there are obvious isosurfaces around the pyrrole ring and most of them are in blue
color. Do not forget that the current result still corresponds to unrelaxed excited state density.
798
4 Tutorials and Examples
examples\excit\ N-phenylpyrrole_relaxS2.gjf.
%chk=C:\N-phenylpyrrole_relaxS2.chk
...[ignored]
Run this file by Gaussian, then the density matrix corresponding to relaxed density of the 2nd
excited state will be written into the N-phenylpyrrole_relaxS2.chk. Then use formchk utility to
convert it to N-phenylpyrrole_relaxS2.fch (which can also be directly downloaded from
http://sobereva.com/multiwfn/extrafiles/N-phenylpyrrole_relaxS2.zip).
We first need to transform the density matrix to NOs. Boot up Multiwfn and input
N-phenylpyrrole_relaxS2.fch
200 // Other functions, part 2
16 // Generate NOs based on the density matrix in .fch/.fchk
CI // The label of TDDFT density matrix in the file is “CI”
y // Export new.mwfn in current folder and then automatically load it, which contains the newly
generated NOs
Now the orbitals in memory have corresponded to the NOs generated based on the relaxed
density of the 2nd excited state, then we can do arbitrary wavefunction analysis, for example
0 // Return to main menu
9 // Bond order analysis
1 // Mayer bond order
From the output you can find the bond order of the N5-C10 is 0.756, while as shown earlier,
this value corresponding to unrelaxed density is 0.794. The small difference implies that the analysis
result based on unrelaxed density is at least qualitatively correct and as useful as those derived based
on the accurate but expensive relaxed density.
It is also possible to calculate density difference based on relaxed density between two excited
states. You need to repeat above steps twice to respectively generate .mwfn file for two different
excited states, and then get density difference as usual based on the two .mwfn files.
For Gaussian users, in fact one can use such as “# PBE1PBE/6-31G* out=wfn TD(root=x)” keywords to export
NOs of excited state x to specific .wfn file, which can also be employed as input file for performing wavefunction
analysis of the excited state. However, do not forget that many functions in Multiwfn require basis function
information, which cannot be provided by .wfn file, thus in this case the kind of analyses can used is severely limited.
In addition, by solely using Gaussian it is also possible to yield and store the NOs to .fch file, as explicitly described
at the beginning of Chapter 4, however this procedure is relatively cumbersome. Notice that the NOs generated in
these ways correspond to relaxed excited state wavefunction. If you only need the NOs corresponding to the
unrelaxed excited state wavefunction, simply adding “density=rhoci” keyword in route section.
If you are not familiar with IFCT analysis, please check Section 3.21.8 first to gain basic
knowledge and follow Section 4.18.8 to better understand IFCT analysis via a practical example.
The so-called charge-transfer spectrum (CTS), which was defined on the top of IFCT analysis, has
been introduced in Section 4.21.16, please read it first before following the present example. If CTS
is involved in your work, please cite Carbon, 187, 78 (2022) DOI: 10.1016/j.carbon.2021.11.005,
in which I proposed CTS first time and introduced it in supplemental information.
In this section, I will exemplify how to calculate IFCT data for all excited states so that you
799
4 Tutorials and Examples
can easily identify their major characters, then I will also illustrate how to plot CTS, which is able
to intuitively reveal the nature of various peaks of UV-Vis spectrum.
The N-phenylpyrrole will be employed as an instance, five excited states were calculated by
Gaussian using TDDFT at CAM-B3LYP/6-31+G(d) level. Note that IOp(9/40=4) keyword has been
employed in the calculation. In this study, the phenyl group and the pyrrole group will be defined
as two respective fragments, so that we can identify nature of the excited states from perspective of
intrafragment electron redistribution and interfragment electron transfer.
Since there are lots of data in IFCTdata.txt, it is difficult to quickly identify major characters
of excited states, especially when the number of defined fragments is more than two. Therefore,
Multiwfn also exports IFCTmajor.txt, in which only the IFCT terms with contribution to each
800
4 Tutorials and Examples
1 0.3935 245.0: Redis(1) 20.4 % Redis(2) 29.2 % 1->2 31.5 % 1<-2 18.9 %
As you can see, oscillator strength (f), wavelength (nm) along with major IFCT terms are clearly
shown. Obviously, excited state 5 (S5) mainly shows charge transfer character, while excited state
1 (S1) shows strongly mixed character. Since all other excited states have very small f, they do not
notably contribute to UV-Vis spectrum.
801
4 Tutorials and Examples
As can be clearly seen, the peak around 210 nm basically corresponds to pure charge-transfer
excitation, because in this region the "Electron transfer 1->2" curve is close to the black UV-Vis
spectrum curve. The highest peak at approximately 245 nm shows highly hybrid character, both the
two intrafragment electron redistribution curves and the two interfragment electron transfer curves
exhibit comparable heights.
The present example is relatively simple since we only defined two fragments, in fact you can
define arbitrarily number of fragments. For example, if you define three fragments (e.g. respectively
corresponding to D, , A parts of a D--A system), then there will be 9 curves in the CTS, namely:
redis(1), redis(2), redis(3), 1->2, 1->3, 2->3, 1<-2, 1<-3, 2<-3.
Orbital localization is a very powerful and useful technique, it can transform canonical
molecular orbitals, which often show highly delocalized character, to localized form, which is
known as localized molecular orbital (LMO). The LMOs have close relationship with many classical
chemistry concepts such as chemical bond and lone pair, therefore they can be used to analyze and
unveil many problems of chemical interest. Before reading this section please read Section 3.22 first
to gain some basic knowledge. Some examples in other sections, such as the example in Sections
4.8.4 and 4.100.22, also utilized orbital localization function.
CAUTION: The default orbital localization method, namely Pipek-Mezey based on Mulliken
population (PM-Mulliken) method is not suggested to use when diffuse functions are heavily
employed, otherwise the result may be misleading. If diffuse functions have to be employed, you
should change to Pipek-Mezey based on Becke population (PM-Becke) method, or Foster-Boys
method, see Section 3.22 for introduction of pros and cons of various orbital localization methods.
802
4 Tutorials and Examples
This section illustrates the use of orbital localization analysis of Multiwfn with trans-1,3-
butadiene as example.
803
4 Tutorials and Examples
Please plot these orbitals in main function 0 to try to identify their characters.
By the way, it is also possible to evaluate energies of the LMOs based on the Fock matrix loaded from an
external file (see Appendix 7 for details), and this is the only choice if the Fock matrix cannot be successfully
generated based on MO energies and coefficients. For example, the Fock matrix can be loaded from NBO .47 file;
to realize this for present system, we can enter main function 100 and choose subfunction 2, and then select option
10 to export current system as a Gaussian input file. Then properly modify the input file to request Gaussian to
output .47 file, and we need to ensure that the calculation level is identical to the examples\butadiene.fch (B3LYP/6-
31G**). The prepared input file has been provided as examples\butadiene_47.gjf. Run it by Gaussian, you will find
the resulting BUTADIENE.47 at C:\ (this file has already been provided as examples\butadiene.47). In the main
function 19, after choosing option -4 to allow Multiwfn to evaluate LMO energies, if you select suboption “2
Evaluate, loading Fock matrix from a file” and then input the path of the .47 file, the Fock matrix recorded in the .47
file will be loaded and will be used to evaluate the LMO orbital energies in due time
...[ignored]
Then we return to main menu and enter main function 0 to visualize the LMO centers and
orbital isosurfaces. The plotting settings have been automatically set to a special status for best
visualizing LMOs purpose, currently you can see:
804
4 Tutorials and Examples
From this graph we can very clearly understand distribution of the generated LMOs. Each cyan
sphere is a ghost atom, representing center of a LMO. Under current setting the index of the ghost
atoms starts from 1, therefore the index shown in the graph directly corresponds to the LMO index.
For example, we want to simultaneously visualize the two LMOs at boundary C-C bond, since the
cyan spheres with labels 8 and 11 locate around the bond, we choose orbital 8 in the orbital list to
display it, then select “Show+Sel. isour#2” and choose orbital 11 to. After that, change isovalue to
0.13 and set the drawing style as transparent, you will see
Evidently, the two LMOs obtained via Foster-Boys method collectively represent the double-bond
character of the boundary C-C bond. The two LMOs are known as “banana” orbitals and do not
exhibit - separation character.
You can also try to visualize the center position of the LMOs generated via Pipek-Mezey
algorithm. Because this method represents each double-bond as a pair of separated and LMOs,
whose centers should be very close to each other, from below graph you can find the centers indeed
can hardly be distinguished:
It is worth to note that there are two ways to rapidly find the index of the LMO corresponding
to the bond of your interest. The first one is examining the orbital compositions printed during the
orbital localization, the second one is directly visualizing the LMO centers and find the index
showing above the cyan sphere at proper place, as I just illustrated.
In this example, we study variation of localized molecular orbitals (LMOs) along with reaction
path to visualize variation of chemical bonds, a typical SN2 reaction is taken as instance.
805
4 Tutorials and Examples
This SN2 reaction involves formation of F-C bond and break of C-H bond, therefore in the
following analysis we will focus on corresponding two LMOs. The IRC of the SN2 reaction is shown
below, five points are taken into account, their .fch files have been provided in examples\SN2 folder.
First, we generate LMOs for transition state (TS) geometry. Boot up Multiwfn and input
examples\SN2\TS.fch
19 // Orbital localization
1 // Localize occupied orbitals
0 // Visualize orbitals
We can find there are two orbitals respectively corresponding to F-C and C-H bonds, we draw
them together for easier comparison
The green-blue isosurface and purple-yellow isosurfaces clearly portray the orbitals corresponding
to F-C and C-H bonds, respectively.
We draw the same kind plot for R.fch, TS-1.fch, TS+1.fch and P.fch, then put the graph together,
as shown below
806
4 Tutorials and Examples
From the graph, the variation of chemical bonds during the SN2 reaction is quite clear (R→TS-
1→TS→TS+1→P). In the reactant state, the green-blue isosurface corresponds to the lone pair of
fluorine atom, while the purple-yellow isosurface shows typical covalent bond character of C-H. As
the reaction proceeds, the two LMOs vary smoothly, the C-F covalent bond character becomes more
and more prominent, and in the final product state, the LMO represented by purple-yellow
isosurface has already corresponded to 1s orbital of H- anion.
It is widely accepted that Re-Re bond in [Re2Cl8]2- anion is a quadruple bond, with
configuration of (242). The bond results from overlap of 𝑑𝑧 2 − 𝑝𝑧 hybrid orbitals of the two
rhenium atoms, the two bonds stem from overlap of their dxz and dyz orbitals, while the bond is
formed by overlap of their dxy orbitals. Can this classic concept be validated via orbital localization
analysis?
The .fchk file of [Re2Cl8]2- anion produced under B3LYP with 6-31G* for Cl and SDD for Re
is provided as examples\Re2Cl82-.fchk. Load it into Multiwfn and carry out orbital localization for
occupied orbitals, from the output we can immediately identify the four LMOs corresponding to the
Re-Re bond:
Almost two-center LMOs: (Sum of two largest contributions > 80.0%)
57: 7(Cl) 73.8% 2(Re) 22.5% 58: 10(Cl) 73.8% 2(Re) 22.5%
59: 4(Cl) 73.8% 1(Re) 22.5% 60: 2(Re) 48.1% 1(Re) 48.1%
61: 8(Cl) 73.8% 2(Re) 22.5% 62: 3(Cl) 73.8% 1(Re) 22.5%
64: 1(Re) 45.9% 2(Re) 45.9% 66: 6(Cl) 73.8% 1(Re) 22.5%
67: 9(Cl) 73.8% 2(Re) 22.5% 69: 5(Cl) 73.8% 1(Re) 22.5%
83: 1(Re) 45.9% 2(Re) 45.9% 84: 2(Re) 43.6% 1(Re) 43.6%
Hint: If you want to more easily find the indices of the LMOs corresponding to the Re1-Re2 bond, the best way
is setting "iprintLMOorder" in settings.ini to 1 before booting up Multiwfn. After that, the compositions of LMOs
will be printed in the order of atoms and atomic pairs.
Then we enter main function 0 to visualize them (under default isovalue of 0.05):
807
4 Tutorials and Examples
From the isosurface maps of the LMOs, it is clear that LMO60 corresponds to bond, LMO64
and LMO83 correspond to bond and LMO84 corresponds to bond. This observation supports
the quadruple bond argument.
However, if we calculate Mayer bond order, we will find the situation is not so simple. The
Mayer bond order of Re-Re bond calculated by main function 9 is 2.94, why the value is
significantly lower than 4.0, which is expected?
To gain deeper insight, we perform "Orbital occupancy-perturbed Mayer bond order" analysis
for Re-Re bond using main function 9, the output is
Mayer bond order after orbital occupancy-perturbation:
...[Ignored]
...[Ignored]
...[Ignored]
The result shows that the LMO has contribution of 0.935, each LMO contributes 0.661,
and the LMO contributes 0.471. Although in principle Mayer bond order cannot be exactly
decomposed, these data is sufficient to help us to understand relative importance of each bonding
LMO. Clearly bond is of most importance to the Re-Re bond, while the importance of the bond
is relatively lowest.
Now a new problem arises, why the four LMOs have different contributions to Mayer bond
order of Re-Re bond? This may be answered by visualizing their isosurfaces with lower value of
isovalue. The graphs of the four LMOs with isovalue of 0.01 are illustrated below
From the graph we find that LMO60 basically only occurs around the two Re atoms, therefore
808
4 Tutorials and Examples
its contribution to Re-Re Mayer bond order should be close to 1.0. Both LMO64 and LMO83
slightly delocalize to four Cl atoms, therefore they do not purely show Re-Re bond character and
thus have lower contribution to Re-Re Mayer bond order. The LMO84 delocalizes to all the eight
Cl atoms, it is naturally expected that its contribution to the Re-Re Mayer bond order should be the
smallest.
By the way, if you have interesting, you can carry out orbital occupancy-perturbed Mayer bond
order analysis for Cr2, you will find the Mayer bond order is almost exactly 6.0, and all the six MOs
corresponding to Cr-Cr bond basically have contribution of 1.0, this is mainly because these orbitals
do not delocalize to any other atoms.
Multiwfn supports a few methods for evaluating bond dipole moment, as mentioned in Section
4.A.11. In this section I use CH3NH2 as an example to show that based on two-center LMOs it is
possible to study bond dipole moment, which somewhat reflects bond polarity. Introduction of
related theory is given in Section 3.22.
Boot up Multiwfn and input
examples\CDA\CH3NH2\CH3NH2.fch
19 // Orbital localization
-8 // Switch status of “If calculating center position and dipole moment of LMOs” to “Yes”
1 // Localize occupied orbitals
y // Perform dipole moment analysis for the LMOs
Now LMOdip.txt has been generated in current folder, in this file you can find below content,
which are calculated in a special method as shown in “Special topic 3” of Section 3.22:
Single-center orbital dipole moments (a.u.):
809
4 Tutorials and Examples
By comparing the graph and content of LMOdip.txt, you can find LMO1 and LMO2, which
respectively correspond to core orbitals of N5 and C1, have negligible polarity (i.e. the “norm” are
basically zero), reflecting that the LMO centers are very close to the nuclear positions. The LMO9
corresponds to lone pair orbital of N5, its “norm” is as high as 1.35 a.u., showing that the LMO
center deviates from N5 nucleus significantly. LMOs 3 and 5 correspond to the N-H bonds, LMOs
4, 7 and 8 correspond to the C-H bonds, it is well known that polarity of C-H should be lower than
N-H, this point is well reflected by the difference in their “Norm” values. The “Norm” of LMO6,
which corresponds to the C-N bond, is 0.3089, well indicating the fact that C-N is a polar bond.
In addition, in current system the Y coordinates of N5 and C1 are -1.438 and 1.330 Bohr,
respectively. The Y component of the bond dipole moment of LMO6 is 0.253, which is an evident
positive value. This observation shows that the negative and positive charge centers are on the N5
and C1 sites, respectively, corresponding to the fact that nitrogen has larger electronegativity than
carbon.
Please carefully read Section 3.23.1 first to understand theory and how to use Multiwfn to carry
out NCI analysis. Besides, DOI: 10.1016/B978-0-12-821978-2.00076-3 provides a very detailed
introduction of NCI.
Weak interaction character in 2-pyridoxine 2-aminopyridine system has already been studied
using AIM theory in Section 4.2.1, in this section we also perform NCI analysis for it, and meantime
I will show how to plot color-filled RDG map and AIM topology graph as a single map.
Boot up Multiwfn and input
examples\2-pyridoxine_2-aminopyridine.wfn
20 // Visual study of weak interaction
1 // NCI analysis
2 // Medium quality grid
After a while, calculation of grid data is finished. You can then select -1 to visualize scatter
map, from which interactions in the system can be examined preliminarily.
810
4 Tutorials and Examples
Since there are spikes (points nearly approaching bottom) at very negative region of sign(2),
according to the description of NCI method given in Section 3.23.1, we immediately know that this
dimer system must contain evident attractive intermolecular interaction. There is also a spike at very
positive side, therefore steric effect should exist in present system.
Then select option 3 to export func1.cub and func2.cub, and use VMD to plot color-filled RDG
map using the method described in Section 3.23.1, we obtain below graph
The type of interactions in this system now is very clear. Steric effect exists within the aromatic ring
because the color of corresponding isosurfaces is red. The two hydrogen bonds NH-N and N-
HO should be strong, since corresponding RDG isosurfaces have blue color. Between two
hydrogens there is also a RDG isosurface, since its color is green, it should be regarded as van der
Waals interaction, which is very weak. This region corresponds to the spikes in the middle of the
scatter map.
811
4 Tutorials and Examples
Probably you feel that the spheres corresponding to CPs are too large, however we cannot
further decrease the "Sphere Scale" using graphical window due to limitation of VMD. To make the
spheres smaller, you have to use corresponding command in VMD console window. To find proper
command to do this, we select "File"-"Log Tcl Commands to Console", then change "Sphere Scale"
to other value (e.g. 0.2), you will immediately see corresponding text-line command in the VMD
console window, for present the command is mol modstyle 0 1 VDW 0.200000 12.000000, where
the argument 0.2 corresponds to size of the spheres. Therefore, to decrease the sphere size to e.g.
0.09, we should input mol modstyle 0 1 VDW 0.09 12.000000 in the console window, then in the
VMD graphical window you will see the spheres have already become smaller.
Next, we change the appearance of paths. In the "Graphics"-"Representation" panel, select the
third term in "Selected molecules" (corresponding to paths.pdb), change the drawing method to
"VDW", set coloring method as "Color ID" and select "3 orange", then use abovementioned skill to
set the sphere scale to 0.02. The final graph is shown below.
812
4 Tutorials and Examples
From this graph, not only the weak interaction regions are clearly revealed, but also the interaction
paths are vividly exhibited. Notice that there is no CP and path corresponding to the hydrogen-
hydrogen interaction, because in this region there is no position having vanishing electron density
gradient, and this is why in the scatter map the spike corresponding this H-H interaction does not
completely approach the bottom of the map. This observation reflects an advantage of NCI analysis
over AIM analysis, namely interaction can be revealed even if there is no corresponding bond CP.
The steps of showing the CPs and bond paths in VMD is somewhat lengthy, therefore I strongly
recommend to use VMD plotting scripts to automatically do all of above steps, please follow part 4
of this video tutorial: https://youtu.be/e4FpVc9ao48, you will find the process is extremely easy.
More information about this script can be found in Section 4.2.5.
Please read Sections 3.23.1 and 3.23.2 if you are not familiar with NCI analysis and the concept
of promolecular approximation. In this example, we will carry out NCI analysis for a DNA fragment
consisting of 10 base pairs. Since this system is fairly large, promolecular approximation is used for
approximately rapid construction of the molecular electron density. This example is also illustrated
as part 3 of this video tutorial: https://youtu.be/e4FpVc9ao48.
Here we only study weak interaction character of a local DNA region, which is enclosed in the
transparent box:
813
4 Tutorials and Examples
814
4 Tutorials and Examples
It is clear that there are - stacking interaction between neighbouring base pairs (big flat
isosurfaces), and there are two strong hydrogen bonds among each base-pairs. The region pointed
by red arrow seems to be hydrogen bond because it connects hydrogen and oxygen, however since
the filled-color is green, we can conclude that it can only be regarded as vdW interaction.
The default isovalue 0.3 in RDGfill_pro.vmd is suitable for present case, but may be not
suitable for exhibiting weak interaction region of other systems, in that situations you need to adjust
it manually. You can either edit the .vmd file, or choose “Graphics”-“Representation” in VMD, then
select the representation with style “Isosurface” and reset isovalue by inputting expected value in
text box.
.
If you are unfamiliar with NCI and aNCI methods, please first read the introduction given in
Sections 3.23.1, 3.23.2, 3.23.3 and DOI: 10.1016/B978-0-12-821978-2.00076-3. The aNCI method
illustrated in this section is a generalization of NCI analysis method for fluctuation environment,
e.g. molecular dynamics (MD) process.
In this example I will show how to use Multiwfn to visually study the weak interaction between
water molecules in the MD simulation of bulk water system. You can use any program to perform
the MD simulation, as long as you know how to convert the resulting trajectory from private format
to the general .xyz format, which can be recognized by Multiwfn and utilized in aNCI analysis.
Here I assume that you are a GROMACS 4.5 user. The detailed steps of the MD process are
815
4 Tutorials and Examples
given below (very different to GROMACS >= 5.0), all of the related files can be found in
examples\aNCI folder. If you do not want to perform the MD simulation yourself, you can directly
download the wat.xyz, which will be utilized in aNCI analysis later:
http://sobereva.com/multiwfn/extrafiles/aNCI_wat_xyz.zip.
Run below command and select "GROMOS96 53a6 force field" to obtain the top file of the
bulk water system. SPC/E water model is employed.
pdb2gmx -f water.gro -o water.gro -p water.top -water spce
Then carry out NPT MD by 100ps to equilibrate the bulk water at 298.15 K, 1 atm environment.
grompp -f pr.mdp -c water.gro -p water.top -o water-pr.tpr
mdrun -v -deffnm water-pr
Using VMD program to load water-pr.gro, select a water close to the center of the box. We
select the water with resid index of 101, which is highlighted in below graph. Note that the two
hydrogens in this water have index of 302 and 303, and the index of the oxygen is 301.
This water will be freezed in the following MD simulation. In order to do so, we generate index
file, namely inputting below commands
make_ndx -f water-pr.gro
ri 101
q
816
4 Tutorials and Examples
Load the water-pr.gro into VMD, then load water-md.xtc to the same ID, select "File"-"Save
Coordinate..." option and set the file type as xyz, then input all in the "Selected atoms" box, input 1
and 1000 in the "First" and "Last" window, respectively. Finally, click "Save" button to convert the
GROMACS trajectory to wat.xyz.
IMPORTANT NOTICE: The wat.xyz currently records atom names rather than element
names. For example, if you open this file via text editor, you will find each water contains OW,
HW1 and HW2, which are atom names. However, in standard .xyz file, only atom elements should
be recorded. Therefore, in general cases, you should manually replace all atom names in the .xyz
file generated by VMD with element names. Fortunately, this step can be skipped in present example
because there is no element in the periodic table named OW, HW1 and HW2, therefore, only the
first letter of atom names will be employed by Multiwfn to try to identify their elements, and they
can be properly recognized as oxygen and hydrogens, since after loading the .xyz file, you can find
prompt “Formula: H1022 O511” on the screen, which is what we expected. If you find there are
undesired elements in the the “formula”, that means you have to replace the corresponding atom
names in the .xyz file as their actual element names.
817
4 Tutorials and Examples
Select option 6 to export the grid data of average RDG and average sign(2) as avgRDG.cub
and avgsl2r.cub in current folder, respectively.
Since we wish to check the stability of weak interaction, we also select 7 to export thermal
fluctuation index to thermflu.cub in current folder. Note that this process requires recomputing
electron density of each frame, and thus is time-consuming.
Analysis
Copy avgRDG.cub, avgsl2r.cub, thermflu.cub as well as avgRDG.vmd and avgRDG_TFI.vmd
in "examples\aNCI" folder to the directory of VMD program.
Simply boot up VMD and input source avgRDG.vmd in its console window, the average RDG
isosurface will be shown with isovalue of 0.25, meantime the average sign(2) is mapped on the
isosurface by various colors. In order to make the graph clearer, one should screen unrelated atoms,
that is enter "Graphics" - "Representation", then select the entry whose "style" is "CPK", and input
serial 301 302 303 in the "Selected Atoms" box and then press ENTER button. Now only the water
with resid index of 101 presents in the graph. After proper rotation and translation of view, you will
see
818
4 Tutorials and Examples
Unfortunately, around the water of interest, there are large amount of noisy isosurfaces, which
somewhat messed up the graph, thus it is better to shield them. This aim can be achieved by main
function 13 of Multiwfn, the steps are described below.
Then boot up Multiwfn and input
avgRDG.cub
13 // Process grid data
13 // Set the value of the grid points far away from specific atoms
1.5 // If the distance between a grid point and any selected atoms is longer than 1.5 times of
vdW radius of corresponding atom, then the value of the grid point will be set as given value
100 // An arbitrarily large value (should be larger than the isovalue of the RDG isosurfaces)
2 // Inputting selected atoms by hand
301-303 // The index of the atoms are 301, 302 and 303
0 // Export the updated grid data to a new cube file
avgRDG.cub // The name of the new cube file
Copy the newly generated avgRDG.cub to the folder of VMD program to overwrite the old
one, then use the script avgRDG.vmd again to plot the graph, after some adjustments you will see
(for clarity, the view of two sides are shown at the same time)
The graph we obtained this time is very clear. The color scale is from -0.25 to 0.25,
corresponding to the color variation of Blue-Green-Red. More blue denotes electrostatic interaction
or H-bond effect in corresponding region is stronger, and more red suggests more intensive steric
effect. Green region implies low electron density, corresponding to vdW interaction. From the graph
one can see that there are two blue ellipses near the two hydrogens, rendering that in the MD process,
strong H-bonds are formed due to the O-H group. The slender green isosurface exhibits in which
direction this water prefers to interact with other waters by vdW interaction. There is a big lump of
isosurface above the oxygen, on which the red color appears in the middle part, while blue color
occurs at the two ends; the latter reflects that the two lone pairs of the oxygen act as H-bond
acceptors during the simulation, while the former reveals the repulsive interaction zone between
waters.
Next, we study the stability of the weak interactions. First disable present isosurfaces, and then
input the command source avgRDG_TFI.vmd in the console window, after some adjustments you
819
4 Tutorials and Examples
will see
The color scale is 0~1.5, still corresponding to the color transition of Blue-Green-Red. More
blue (red) means the thermal fluctuation index (TFI) is smaller (larger), and hence the weak
interaction in corresponding region is more stable (unstable). The graph shows that it is stable that
the water behaves as H-bond donor, while the stability of the water acting as H-bond acceptor is
slightly weaker; the vdW interaction region is totally red, rendering that vdW interaction is evidently
unstable compared to hydrogen bond.
Finally, it is worth to mention that using aNCI method you can plot very nice picture to vividly
reveal interaction between ligand and protein, as illustrated in the following map. The detailed steps
of plotting this map have been described in this post: "Using Multiwfn to perform aNCI analysis to
reveal protein-ligand interaction in dynamic environment" (http://sobereva.com/591, in Chinese). If
you cannot fully understand this article via Google translator, please contact me, I will find time to
translate it to English.
820
4 Tutorials and Examples
The IRIfill.vmd script employs the following color scale. The meaning of various colors is also
821
4 Tutorials and Examples
The graphical effect of the IRI map is obviously quite satisfactory. The weak interaction regions
are exhibited as nicely as NCI analysis, and the chemical bond regions are also clearly revealed by
blue isosurfaces, indicating that electron density in these regions is very large and implying bonding
effect is strong.
Note that the most suited isovalue of IRI function may be different for different systems, the
default isovalue in the IRIfill.vmd script is 1.0. You can modify it in the .vmd script file (namely the
value behind "mol representation Isosurface" in this script), or manually adjust it in "Graphics" -
"Representations" panel of VMD.
By comparing color between the IRI isosurface map shown earlier and the scatter map, you can find
correspondence between the spikes in the scatter map and isosurfaces. Clearly, the blue/cyan spikes
between -0.02 and -0.03 a.u. correspond to the H-bond interaction, while the green spike at
approximately 0.005 a.u. corresponds to vdW interaction, and the red spike at about 0.025 a.u.
corresponds to the steric effect within the benzene rings.
822
4 Tutorials and Examples
The default range of X-axis of the plotting script is -0.05 to 0.05. If you properly extend it, then
the spikes corresponding to chemical bonds can also be exhibited, you simply need to change lines
14 and 15 in the IRIscatter.gnu to
set xrange [-0.5:0.3]
After rerunning the plotting script, you will obtain the following map, evidently the spikes
between -0.4 and -0.3 a.u. correspond to chemical bonds, because electron density can reach this
magnitude only in chemical bonding regions.
823
4 Tutorials and Examples
The orange and green areas (IRI < 1.0) in this map clearly reveal the regions where notable
chemical bond interaction and weak interaction occur. The regions with IRI >1.0 has either large
gradient of electron density or negligible electron density, they are not of chemical interest.
Frankly speaking, DORI (Density Overlap Regions Indicator) analysis is no longer valuable
since IRI analysis was proposed by me, because IRI has similar capacity of revealing all kinds of
interaction regions as DORI while the graphical effect is evidently better than DORI. However I
still use phenol dimer system to illustrate how to perform DORI analysis in Multiwfn. Please read
Section 3.23.4 first to understand basic knowledge about DORI.
Boot up Multiwfn and input
examples\PhenolDimer.wfn
20 // Visual study of weak interaction
4 // DORI analysis
3 // High quality grid
3 // Export cube file
Move func1.cub, func2.cub and plotting script examples\DORIfill.vmd to VMD folder. Then
boot up VMD and input source DORIfill.vmd in console window, you will immediately see below
graph.
824
4 Tutorials and Examples
The graphical effect of DORI map is obviously not as good as IRI map, especially the edge
region of the isosurfaces corresponding to weak interactions look quite ugly. Furthermore,
calculation cost of DORI is higher than IRI due to its much more complicated definition, therefore
IRI should always be used instead of DORI.
The DORIfill.vmd employs the same color transition method and color scale as IRIvill.vmd.
The most suited isovalue of DORI is different for different systems, the default isovalue in the
DORIfill.vmd script is 0.95, you can modify it if you find it is inappropriate.
The concept of van der Waals (vdW) potential proposed by me has been introduced in Section
3.23.7, in below examples I will illustrate how to visualize and analyze it. Do not forget to check
my this paper: J. Mol. Model., 26, 315 (2020) DOI: 10.1007/s00894-020-04577-0, in which idea,
implementation and application of the vdW potential analysis are carefully introduced.
825
4 Tutorials and Examples
To study vdW potential, you need to select a probe atom. For example, in this instance we want
to employ He atom as probe atom, therefore we change "ivdwprobe" parameter in settings.ini to 2.
Now boot up Multiwfn and input
examples\helicene.xyz
20 // Visual study of weak interaction
6 // Visualization of van der Waals potential
3 // High quality grid (the computational cost of vdW potential is extremely low, therefore we
use relatively good grid quality here)
As can be seen from the menu, now you can directly visualize vdW potential or its two
components, namely repulsion potential and dispersion potential. You can also export their grid data
to cube files. The unit used in this module is kcal/mol.
Now we choose option 3 to visualize isosurface map of the vdW potential, the resulting map
with isovalue of 0.6 (kcal/mol) is shown on the left side below. If you want to only visualize the
negative part, there is a trick: Set isovalue to -0.6 and unselect "Show both sign" check box, then
select "Isosurface style" - "Exchange positive and negative colors", the resulting map is shown on
the right side below ("Ratio of atomic size" has been changed to 4.0, the molecular representation
now corresponds to superposition of atomic vdW spheres).
In the above maps, the blue isosurfaces represent the regions where vdW potential is negative,
in these regions the dispersion attractive effect surpasses repulsion effect. It is expected that He
atom (or more generally, various small nonpolar molecules) tends to be attracted to the blue regions
due to dispersion interaction. All regions close to the nuclei are enclosed by green isosurface,
indicating that repulsive potential dominates the vdW potential in these places, this is the normal
case.
Can the vdW potential map be correlated with any practical observation? The answer is YES.
I carried out 2500 ps molecular dynamics simulation under 10 K for the complex consisted of a
helicene molecule and a He atom based on the GFN0-xTB theory in the Grimme's xtb code, the
trajectory frames (small spheres) and the isosurface of spatial distribution function (orange
isosurface) of the He atom are shown below
826
4 Tutorials and Examples
It can be seen that the majority of trajectory frames and the main distribution of spatial
distribution function are highly analogous to the blue regions in the vdW potential map showing
earlier, demonstrating that the vdW potential is indeed able to exhibit the favorable adsorption
regions if vdW interaction dominates the intermolecular interaction (of course, the precondition is
that both the adsorbate and the local region of adsorption sites are nearly nonpolar, otherwise
electrostatic interaction will largely control the adsorption behavior, in this case you should examine
electrostatic potential rather than vdW potential).
By the way, there is another way of visualizing grid data of vdW potential, namely plotting vdW potential
colored vdW surface map, the procedure in Windows system is: copying vdWpot.bat and vdWpot.txt from
"examples\scripts\vdWpot" folder to current folder, properly modifying the path of input file and VMD folder in
the .bat file, and then run this .bat file. After that, boot up VMD, copying all content from the vdWpot.vmd file in
"examples\scripts\vdwpot" folder to the VMD console window, you will see the vdW potential colored =0.001 a.u.
surface (note that the is estimated using promolecular approximation). However, since the graphical effect of this
kind of map is not quite good, I prefer to study vdW potential in terms of isosurface map.
827
4 Tutorials and Examples
10 // 10 Bohr
1 // XY plane
0 // Z value
Click right mouse button on the graph to close it, then input
1 // Set lower&upper limit of color scale
-0.8,0.8 // Note that unit is kcal/mol for vdW potential
4 // Enable showing atom labels
12 // Dark green
8 // Enable showing bonds
14 // Brown
19 // Set color transition
8 // Blue-White-Red
2 // Enable showing contour lines
Now select option -1 to replot the map, you will see
In this map, red and blue colors represent positive and negative vdW potential, respectively.
From the map it can be seen that the vdW potential around the center of the cyclo[18]carbon is fairly
negative and thus this place has strongest ability in adsorbing nonpolar molecules. In the peripheral
region of this system the vdW potential is modestly negative, implying that nonpolar molecule can
only weakly interact with this system in this area due to dispersion attraction.
Please plot isosurface map of vdW potential as well as plane map of vdW potential in YZ plane,
so that you can better understand the overall distribution of vdW potential around this unusual
system. Via main function 3, you can also plot vdW potential between two given points, therefore
you can easily study variation of vdW potential starting from the ring center in the direction
perpendicular to the ring.
It is worth to note that it is very easy to obtain value of vdW potential at a given point, for
example, the center of this system, whose position is exact (0,0,0). You simply need to enter main
828
4 Tutorials and Examples
function 1, input 0,0,0, then choose either Bohr or Å as unit, then below information can be found
from screen:
User-defined real space function: -0.6979258635E+00
Only the minima around the ring center are of chemical interest. As can be seen, these minima
are automatically clustered together and share the same index (1), they can be viewed as degenerate
minima. The minima at peripheric region of the ring can be ignored because they basically resulted
from numerical noise.
Then input
-3 // Show information of attractors
y // Show attractors after sorting according to their values
Then you can see position and value of each minimum before clustering. Finally, you can see
the positions and values of the final minima (i.e. after clustering):
Attractor X,Y,Z coordinate (Angstrom) Value
829
4 Tutorials and Examples
[...ignored]
Clearly, the minima of vdW potential (e.g. the points sharing attractor index of 1) in this system is
-0.757 kcal/mol. The printed coordinate "0.00000000 0.00000000 -0.01763924" corresponds to
average of all of its members.
If then you want to plot the minima via visualization softwares such as VMD, you can select
"-4 Export attractors as pdb/pqr/txt/gjf file", then select corresponding option to export
attractors.pdb in current folder, the meanings of atom index and residue index in this file are
explicitly shown on screen. Specifically, if you load this file into VMD, you can use "resid 1" as
selection to plot the global minima, since they share index of 1.
830
4 Tutorials and Examples
1 // XY plane
0 // Z=0
The graph shown on screen currently looks obscure, this is because the default color scale is
not suitable for present case, so we close the graph and input
1 // Set color scale
0,0.2 // Lower and upper limits
4 // Show atomic labels
1 // Red color
-2 // Set label intervals of axes
3,3,0.02 // Intervals for X, Y and color bar
8 // Enable showing bonds
14 // Brown
-1 // Plot again
You will see below graph
Above graph clearly reveals all interatomic interactions, and the magnitude of g is positively
relevant to interaction strength. As can be seen from the graph, all chemical bond regions have large
g value (the region with value higher than 0.2 is shown as white). The g function also outlines
three hydrogen bond regions among the base pair, where the g function has evidently smaller value
compared to the chemical bond regions.
The g can also be plotted as isosurface map. Return to main menu and input
5 // Calculate grid data
22 // g
2 // Medium quality grid
-1 // Show isosurface
831
4 Tutorials and Examples
The isosurface with isovalue of 0.15 and 0.03 are shown below (you can use higher quality of
grid or set the extension distance of grid data smaller to make the graph smoother)
Since chemical bond regions have relatively large value of g, only chemical bonding
interactions are visible when isovalue is set to 0.15. Clearly, g may be used as a function to exhibit
chemical bonds like ELF and IRI functions, with additional advantage that only geometry
information is needed. The weak interaction regions can also be simultaneously visualized when
isovalue is decreased to a small value, e.g. 0.02.
832
4 Tutorials and Examples
If you are familiar with NCI method, you will naturally know how to discuss this graph, now
we try to identify character of peaks in the scatter graph. In the region where sign(2) is about -
0.04, you can find that the ginter has a remarkable peak (with height about 0.06), which implies
presence of hydrogen bonds. If ginter isosurface is set to an isovalue lower than about 0.06, the
corresponding isosurfaces should be visible in the graph. In the region where sign(2) is
approximately +0.02, there is also a small peak of ginter. Since positive sign(2) implies repulsive
interaction, the peak may reflect weak steric regions in the center of the two rings between the two
bases. In above scatter map, there is a very prominent peak of gintra around sign(2) = -0.3. Since
this peak corresponds to intrafragment interaction, and corresponding sign(2) is not only negative
but large, rendering attractive and strong interaction, the peak must result from chemical bond.
Using Multiwfn you can directly visualize isosurface of ginter and gintra. To do this, we close
the scatter map, select option "4 Show isosurface of grid data", then choose corresponding options
and properly set isovalue, you will obtain below isosurface graphs
833
4 Tutorials and Examples
As can be seen, ginter and gintra indeed solely exhibit inter- and intra-fragment interactions,
respectively. This greatly facilitates separate discussion of the two kinds of interactions.
From the above ginter = 0.02 isosurface map we are only able to visualize hydrogen bond
regions. To find steric region in the ring center between the two bases, we should further decrease
the isovalue of ginter to e.g. 0.008, as shown below. The ring-center steric regions are highlighted
by arrows.
834
4 Tutorials and Examples
The default isovalue employed by the IGM_inter.vmd script is 0.01, you can manually change
isovalue by dragging the isovalue bar in "Graphics" - "Representation" panel. In the script the
default color scale of sign(2) ranges from -0.05 to 0.05, and the default color transition is Blue-
Green-Red. Therefore, the more blue the isosurface, the stronger the attractive interaction, while the
more red the isosurface, the larger the steric effect. Green zone in an isosurface implies that the
corresponding interaction is weak and may be regarded as van der Waals interaction.
Similarly, you can plot sign(2) mapped gintra isosurfaces. Just move sl2r.cub and
dg_intra.cub as well as the corresponding VMD plotting script examples\IGM_intra.vmd into VMD
folder, then input source IGM_intra.vmd in the console window to execute it.
[ignored...]
[ignored...]
Atom pair delta-g indices and percentage contributions (zero terms are not shown)
13 24 : 0.251327 ( 11.68 % )
6 25 : 0.236065 ( 10.97 % )
835
4 Tutorials and Examples
8 29 : 0.218248 ( 10.14 % )
If you compare above data with the structure map of present system shown below, you will
find the indices are very meaningful and useful for discussing interfragment interactions
The largest three Gatom of fragment 1 are 6, 13 and 8, while that of fragment 2 are 25, 24 and
29, they are just the atoms closest to another fragment, undoubtedly they should have the most
important contributions to the interfragment interactions. H13-O24, N6-H25 and O8-H29 have the
largest Gpair, reflecting that they are the most crucial interactions for formation of the base pair.
Note that Multiwfn also exports IBSIW (intrinsic bond strength index for weak interactions)
to IBSIW.txt. Its definition has been described in Section 3.23.6. This index may have stronger
correlation with interatomic interaction strength than atomic pair g index.
Since the color transition set by IGM_inter.vmd is Blue-Green-Red, the largest percentage atom
836
4 Tutorials and Examples
g index in present case is 27% (as can be seen in atmdg.txt), while currently the range of color
scale for mapping Gatom(%) is set to 0~50, therefore in above map, the more green the atom, the
larger the Gatom(%). The green atoms may be viewed as "hot atom" for interfragment interactions.
Contribution to interfragment interactions due to the blue atoms can be ignored, since their Gatom(%)
are very close to zero.
This example ends here, through this example I think you have already recognized basic steps
of IGM analysis. In next several examples I will illustrate more.
In the current graph, the Y-axis corresponds to ginter. In the IGMscatter.gnu, the default color scale
837
4 Tutorials and Examples
In above map, the major van der Waals interaction region (more specifically, the - stacking
region) is exhibited as green isosurface, the more red-colored atoms contribute to the interaction
more. If you think this graph is pretty and want to reproduce it, just follow below steps.
The pdb file of the dimer optimized at PM6-D3 level using Gaussian is provided as
examples\C60_coronene.pdb. Boot up Multiwfn and load it, then input below commands
20 // Visual study of weak interactions
10 // IGM analysis
2 // Define two fragments
1-60 // C60 is fragment 1
c // Other part, namely coronene, is fragment 2
2 // Medium quality grid
3 // Output cube files in current folder
6 // Evaluate atom and atomic pair g indices
2 // High quality
y // Export atmdg.pdb in current folder
Boot up VMD, enter below commands into VMD console window:
color scale method BWR
color Display Background white
axes location Off
display depthcue off
838
4 Tutorials and Examples
839
4 Tutorials and Examples
From color of isosurfaces in the graph it is found that the 1-2 and 1-3 interactions correspond to
typical hydrogen bonding, while 2-3 interaction is significantly weaker and thus more appropriate
to be assigned as van der Waals interaction.
Assume that we only want to study interactions between 1-2 and 2-3, and meantime wish to
screen the ginter isosurface corresponding to 1-3 interaction, how to do that? The answer is: Only
define two fragments, making fragment 1 correspond to monomer 2, while making fragment 2
correspond to monomers 1 and 3. Now we do this, input below commands
0 // Return to last menu
10 // IGM analysis
2 // Define two fragments
12-22 // Fragment 1: Monomer 2
1-11,23-33 // Fragment 2: Monomers 1 and 3
2 // Medium quality grid
3 // Output cube files in current folder
6 // Evaluate atom and atomic pair g indices
2 // High quality
y // Export atmdg.pdb in current folder
Then plot ginter isosurface again using the newly generated sl2r.cub and dg_inter.cub via
IGM_inter.vmd, and mean time color the structure according to Gatom(%) based on the atmdg.pdb
file, you will finally obtain below graph.
840
4 Tutorials and Examples
Now the isosurface corresponding to monomer 1-3 interaction is invisible. Since the color
transition set by IGM_inter.vmd is Blue-Green-Red, and I did not manually adjust the automatically
determined color range for mapping Gatom(%), therefore, in present graph, the site having largest
Gatom(%) is rendered as red, it should be regarded as "hottest atom" for the interactions under study.
The green or cyan atoms have modest magnitude of Gatom(%), while contribution of blue atoms to
the interaction is completely negligible.
Finally, let us only highlight interaction between monomer 1 and 2 while completely ignore
monomer 3. Input below command
0 // Return to last menu
10 // IGM analysis
2 // Define two fragments
1-11 // Fragment 1: Monomer 1
12-22 // Fragment 2: Monomers 2
2 // Medium quality grid
3 // Output cube files in current folder
Move the resulting dg_inter.cub and sl2r.cub to VMD folder and use the IGM_inter.vmd script
to draw corresponding color-filled isosurface map. It is better to make monomer 3 transparent, since
currently it is uninteresting. So we enter "Graphics" - "Representation", click the existing
representation with CPK style, input fragment 0 1 in the "Selected Atoms" box and press ENTER
button, now the monomer 3 is invisible. Next, click "Create Rep" button, input fragment 2 in the
"Selected Atoms" box and press ENTER button, then set the "Drawing method" as "Licorice" and
change the "Bond Radius" to 0.2, then set "Material" to "Ghost". Now you should see below graph,
in which only the interaction between monomer 1 and 2 is visible, while all interactions related to
monomer 3 are ignored.
PS: The concept of "fragment" in VMD is different to the "fragment" in IGM analysis of Multiwfn. In VMD,
when structure file is loaded into VMD, the bonding relationship is automatically determined, and then each unlinked
fragment is assigned to a unique fragment index. The index starts from 0.
841
4 Tutorials and Examples
As can be seen in this example, the partition of fragments is highly arbitrary. The union set of
all fragments is not necessarily equal to the whole system. When you intend to study intramolecular
interaction, a whole molecule can also be divided into multiple fragments to reveal interesting
interaction regions.
In this example only a simple system is taken as instance, however I think it is enough to
substantially exhibit the extreme flexibility and powerfulness of IGM analysis, Multiwfn and VMD
programs. The IGM method can also be easily applied to much more complicated systems; for
example, in my blog article http://sobereva.com/407 (in Chinese), I showed that IGM can clearly
reveal the interaction between two monomers in a tetramer consisted of four large flexible molecules.
Please play with the IGM analysis more!
It is worth to mention that g value at bond critical points (BCP) is positively correlated to
interaction strength (see Table 1 of IGM original paper), Multiwfn is also able to calculate it. First,
load a file containing wavefunction information into Multiwfn, then use main function 2 to carry
out topology analysis and locate BCPs, then using option 7 to examine properties of the BCPs, from
screen you can directly read g value. I do not explicitly present a corresponding analysis example
here, please try this kind of analysis yourself.
Please check original paper of IGMH (J. Comput. Chem., 43, 539 (2022)
https://doi.org/10.1002/jcc.26812), Section 3.23.6 of this manual, and DOI: 10.1016/B978-0-12-
821978-2.00076-3 to gain basic knowledge about IGMH method. If you can read Chinese, please
also check http://sobereva.com/621, which contains comprehensive and clear introduction of IGMH
as well as many relevant discussions.
In this section I will only present an extremely simple IGMH example. A very detailed tutorial
(40 pages) carefully introducing how to perform various kinds of IGMH analysis for both molecular
and periodic systems can be downloaded at http://sobereva.com/multiwfn/res/IGMH_tutorial.zip,
842
4 Tutorials and Examples
The use of the IGMH analysis function is exactly identical to IGM, thus if you have carefully
read Section 4.20.10, you will be able to realize IGMH analysis smoothly. In this section, I use a
dimer consisting of 2-pyridoxine and 2-aminopyridine as an example, this system has also been
studied via AIM analysis in Section 4.2.1.
Boot up Multiwfn and input
examples\2-pyridoxine_2-aminopyridine.wfn // Since IGMH relies on wavefunction
information, therefore you should use such as .wfn, .fch, .mwfn, .molden, etc. as input file
20 // Visual study of weak interaction
11 // IGMH analysis
2 // Define two fragments
1-12 // Atom indices in fragment 1
13-25 // Atom indices in fragment 2
2 // Medium quality grid
3 // Output cube files to current folder
Next, in order to plot sign(2) colored ginter isosurface map, we move the exported sl2r.cub
and dg_inter.cub from current folder to VMD folder, then copy the examples\IGM_inter.vmd to
VMD folder, then boot up VMD and run source IGM_inter.vmd in VMD console window to execute
the plotting script.
Since the blue around the center of the isosurface corresponding to the N-HN interaction is
darker than that corresponding to the N-HO interaction, it is expected that the H-bond interaction
of N-HN is stronger.
Hint: If you hope to make the radius of the isosurfaces in above map smaller, so that only the most important
interaction areas are shown, you can increase the isovalue from 0.01 to 0.015, namely entering "Graphics" -
"Representation", change the value in the "Isovalue" box to 0.015 and then press ENTER button. In this case, you
can also make the range of color scale narrower than default (-0.05~0.05) to make the color on the isosurfaces more
vivid, namely in the "Representation" interface click "Trajectory" tab, then input -0.045 and 0.045 respectively in
the two boxes and then press ENTER button.
You can also choose option 6 to calculate atomic pair g indices, the result calculated with high
quality grid is shown below
Atom pair delta-g indices and percentage contributions (zero terms are not shown)
12 13 : 0.116367 ( 16.57 % )
1 25 : 0.096210 ( 13.70 % )
2 13 : 0.052037 ( 7.41 % )
843
4 Tutorials and Examples
1 23 : 0.042800 ( 6.09 % )
...[ignored]
From this quantitative data, we can further confirm the conclusion that the N-H12N13 is stronger
than the N-H25O1.
For comparison purpose, you can plot the same map via IGM module, the sign(2) colored
g isosurface map is shown below (the sign(2) was calculated using actual density rather than
inter
promolecular density). As can be seen, the graphical effect of IGM is much poor than IGMH, since
the isosurfaces are too bulgy and thus difficult to examine and compare, this problem cannot be
fully avoided even if you carefully adjust isovalue. Many comparisons between IGM and IGMH
can be found in original paper of IGMH. Therefore, using IGMH instead of IGM is always suggested
if the system is not extremely large (e.g. less than 400 atoms) and thus additional computational cost
is affordable!
Aside from the examples given in this Section, Multiwfn is also able to perform the so-called
simple energy decomposition, see Section 4.100.8 of example.
In this section I will illustrate how to perform energy decomposition analysis between specific
fragments based on classical forcefield, this method will be referred to as EDA-FF. Please carefully
read Section 3.24.1 first to gain basic knowledge about the underlying ideas and implementations
of EDA-FF. If you have carefully read below examples, you should be able to easily apply this
method onto various kinds of systems.
More in-depth discussions can be found from my blog article "Using Multiwfn to perform
energy decomposition analysis based on forcefield" (in Chinese, http://sobereva.com/442).
If EDA-FF analysis is utilized in your work, please cite this article: Mat. Sci. Eng. B, 273,
115425 (2021) DOI: 10.1016/j.mseb.2021.115425, in which I briefly described EDA-FF and
employed it in studying interaction between cyclo[18]carbon and graphene
844
4 Tutorials and Examples
Relevant files
The related files have been provided in "examples\EDA\EDA_FF\waterdimer" folder, as
shown below:
• dimer.mol: The .mol file of water dimer containing its optimized geometry at B3LYP-
D3(BJ)/6-311G** level, which is very reliable for optimizing molecular clusters. Note that in this
file, the atomic sequence is O1 H2 H3 O4 H5 H6
• water.fchk: The .fchk file produced by optimization task of water monomer at B3LYP-
D3(BJ)/6-311G** level
• mollist.txt: Molecular list file corresponding to the water dimer
• water.txt: Molecular type file of water monomer
corresponding to the fact that the water dimer has two water molecules, which are described by the
water.txt in current folder.
The content of water.txt is
OW -0.737121
HW 0.368560
HW 0.368560
indicating that the oxygen and hydrogens in the water have atom type of OW and HW, respectively.
The second column are atomic charges evaluated by Merz-Kollman (MK) method.
845
4 Tutorials and Examples
Then click "File" - "Export Data", save the file as water.txt. Next, via column mode of advanced
text editor such as Ultraedit, delete all columns except the "AMBER Type" column, and then delete
the first row in the file. Now, only atom types of all atom are presented in the water.txt. After that,
calculate MK (or CHELPG) charges based on the water.fchk using subfunction 13 (or 12) of main
function 7 (you can consult the example in Section 4.7.1), then copy the outputted charges from
screen (or from the exported .chg file) as the second column of the water.txt. At this point,
preparation of water.txt is finished.
Perform analysis
Now, we start to perform the EDA-FF analysis. Copy the water.txt to current folder, then boot
up Multiwfn and input
dimer.mol // The file containing dimer structure information (you can also use other formats
containing the geometry information as input file, such as the .fch file produced during optimization
task of the dimer)
21 // Energy decomposition analysis
1 // Energy decomposition analysis based on forcefield
3 // Load atom types and atomic charges
mollist.txt // The actual path of the molecular list file. At this point, the program read atom
types and charges from the water.txt and assign them to the two water molecules in the current
system
2 // Define fragments
2 // Two fragments will be defined
1-3 // The atomic indices of the fragment 1
4-6 // The atomic indices of the fragment 2
If you want to check if atom types and charges of all atoms in current system have been set up
properly, you can choose option 4, the output is
*** Fragment 1:
*** Fragment 2:
It is clear that the atom types and charges are all correctly assigned.
Now select option 1 to start the EDA-FF analysis, the result shows up immediately on screen:
Contribution of each atom in defined fragments to overall interfragment interac
846
4 Tutorials and Examples
tion energies:
Atom 1(O ) Elec: 12.53 Rep: 3.85 Disp: -2.21 Total: 14.17
Atom 2(H ) Elec: -6.24 Rep: 0.00 Disp: 0.00 Total: -6.24
Atom 3(H ) Elec: -16.87 Rep: 0.00 Disp: 0.00 Total: -16.87
Atom 4(O ) Elec: -23.52 Rep: 3.85 Disp: -2.21 Total: -21.88
Atom 5(H ) Elec: 6.47 Rep: 0.00 Disp: 0.00 Total: 6.47
Atom 6(H ) Elec: 6.47 Rep: 0.00 Disp: 0.00 Total: 6.47
The units in the output are all kJ/mol. The above information shows that the total interaction
energy between the two water molecules is -17.87 kJ/mol, which is close to the result -20.58 kJ/mol
obtained by highly accurate level CCSD(T)/CBS (see original paper of the S66 weak interaction
test set, J. Chem. Theory Comput., 7, 2427 (2011)). Although the given result has some error, at
least it is adequate for qualitative discussion purpose. The above data also indicates that electrostatic
interaction (-21.15 kJ/mol) has a decisive contribution to the binding energy between the two waters,
obviously the main essence of general hydrogen bond is dominated by electrostatic interaction.
Dispersion interaction also contributes to the binding, but the magnitude is relatively minor. The
exchange-repulsion effect (7.71 kJ/mol), to some extent, offsets the attractive interaction due to
electrostatic and dispersion effects.
In the original text of the S66 test set, the ratio of the dispersion interaction energy to the
electrostatic interaction energy of water dimer given by the very ideal DFT-SAPT method is 0.29,
which is qualitatively consistent with the value yielded by EDA-FF (4.43/21.15=0.21). Therefore,
with the very simple water dimer as instance, it can be seen that as long as the choice of forcefield
and atomic charges are suitable, the result of EDA-FF is generally reliable. For some systems, the
total interaction energy calculated by forcefield is not quite close to that evaluated by reliable
quantum chemistry method, but even so, in general the ratio between various physical components
provided by the EDA-FF is still meaningful. In my view of point, it is not a bad idea to
approximately estimate electrostatic interaction energy (Eele) via multiplying the total interaction
energy (Etot) obtained using quantum chemistry method by the ratio of the Eele and Etot that
evaluated by proper forcefield.
The above output also shows contribution of each atom to the total interaction between all the
defined fragments, so that you can easily recognize which atoms have a critical impact on the
interfragment interaction. The sum of all atomic contributions is equal to the total interaction energy
(if the system only has two atoms A and B, and each one is defined as a fragment, then the
contribution of atom A will be half of the interaction energy between A-B). From the data given
above, it can be seen that influence of each atom is not negligible. After all, the distance between
the atoms in the system is not far. The most important contribution to the attraction is the
electrostatic interaction of the O4 atom (-23.52 kJ/mol), this result is easy to understand since O4 is
the acceptor atom of H-bond. The H3, which directly acts with O4 to form the H-bond, also
contributes greatly to the binding (-16.87 kJ/mol) due to significant electrostatic effect. The data
shows that only oxygen atoms have nonvanishing repulsion and dispersion terms, this is because
the parameters of van der Waals potential of atom type HW is zero, hence HW atoms only behave
847
4 Tutorials and Examples
Interatomic interaction
If you choose option -3 once to switch its status from the default "No" to "Yes", then during
EDA-FF analysis via option 1, the program also outputs distance (Å), interaction energy (kJ/mol)
and its components of each atomic pair to interatm.txt in current folder. The file content of present
example is
******* Between fragment 1 and fragment 2:
From the above data, we can find that the interaction energy between each pair of atoms is very
large, which mainly comes from electrostatic interaction. For example, since the charges of the two
oxygen atoms O1 and O4 are large and have the same sign, the electrostatic mutual exclusion energy
is as high as 262.78 kJ/mol. The binding energy between the fragments appear to be orders of
magnitude far less than the above values, this is because when interaction energy between the
fragments is calculated, the electrostatic interactions of the atomic pairs are largely positively and
negatively offset.
In this section, we will perform EDA-FF analysis on this system based on the AMBER force
848
4 Tutorials and Examples
Preparation works
Notice that Multiwfn can perform EDA-FF only when atomic indices in any molecule type are
contiguous. Otherwise, the atomic charges and types cannot be set for each atom in the system
through the molecular list file and molecule type files. The structure file given in the supplementary
material of the L7 test set is C3GC.xyz. This file cannot be directly used because the atomic indices
in each monomer is not contiguous. One of the simplest way to judge if the atomic indices are
contiguous is as follows: First load C3GC.xyz into Multiwfn, use subfunction 2 in main function
100 to convert it to C3GC.pdb (we do the conversion because GaussView does not support .xyz
format), then load this pdb file into GaussView, right click on arbitrary atom in an arbitrary molecule
(e.g. atom C5), choose "Select Fragments of Atom C5" (this option is available since GaussView 6).
At this point, all atoms in this molecule are selected as yellow color, then click "Tools" - "Atom
Selection". As can be seen in below screenshot, the indices displayed in the text box are 5-9, 13-17,
19, 25-29, clearly the atom indices are not contiguous and should be rectified.
The easiest way of making atom indices contiguous in each molecule is entering "Atom list
editor" of GaussView, then select "Edit" - "Reorder" - "All Atoms (Except the First) by Bonding",
after that the atom indices are reordered according to connectivity, and you will see the atom indices
in each monomer have become contiguous, as shown below. Now save this structure to C3GC.pdb
to replace the old one.
849
4 Tutorials and Examples
Then we copy each monomer from the trimer to individual GaussView window, save them to
respective .gjf files, change the keyword to "B3LYP/6-311G**" and use Gaussian to run them, then
calculate MK charges by Multiwfn based on the resulting .fch files. Also we make use of GaussView
to determine atom types for each monomer. Finally, combine the atom types and charges as single
file for each monomer, then we have the C.txt, G.txt and C3.txt, which have already been provided
in "examples\EDA\EDA-FF\C3GC" directory.
Finally, create a molecular list file mollist.txt (other name is also acceptable), the content is
actual paths of C.txt, G.txt and C3.txt as well as the number of corresponding molecule, notice that
the order of the file paths must be exactly in line with the molecule order in the geometry provided
in G3GC.pdb. Clearly, the content of mollist.txt should be (all the molecule type files are assumed
to be placed in C:\)
C:\C.txt 1
C:\G.txt 1
C:\C3.txt 1
Start analysis
All preparation works have completed, now we start the EDA-FF analysis. Boot up Multiwfn
and input
C3GC.pdb
21 // Energy decomposition analysis
1 // EDA-FF
3 // Load atom types and charges
mollist.txt // Input actual path of mollist.txt
2 // Define fragments
3 // Three fragments will be defined
1-13 // Atom indices in fragment 1, namely cytosine (C)
14-29 // Atom indices in fragment 2, namely guanine (G)
30-101 // Atom indices in fragment 3, namely C3
Select option 1 to carry out the EDA-FF calculation, the results are as follows (atomic
contribution part is ignored)
Electrostatic Repulsion Dispersion Total
The data shows that the G-C binding is very strong, reached as high as -106.27 kJ/mol, mainly
because the electrostatic component is very large (-120.98 kJ/mol), which is the consequence of the
850
4 Tutorials and Examples
formation of the three pairs of H-bonds between the G and C. The total interaction energy between
C3 and G (-47.95 kJ/mol) as well as between C3 and C (-69.84 kJ/mol) are not small, mainly due
to the significant - stacking between them. Since the nature of - stacking is purely dispersion
effect, it can be seen that the dispersion interactions of C3-C and C3-G are very strong (-94.69 and
-132.62 kJ/mol, respectively), which are much higher than that between G-C (-45.54 kJ/mol). Since
C3 is essentially a finite graphene sheet, its interaction region with G and C is obviously nonpolar
(i.e. the atomic charges are very small), so the electrostatic component in C3-C and C3-G
interactions is negligible (merely 0.71 and 1.88 kJ/mol, respectively).
I also calculated binding energies between G-C, C3-G and C3-C using dimer models at B3LYP-
D3(BJ)/6-311+G** level, which is very robust for evaluating weak interactions, the results are
G-C (Frag 1 - Frag 2):-143.97 kJ/mol
For C3-C and C3-G, it can be seen that the results calculated by AMBER forcefield and that
by quantum chemistry method are very close, but the quantitative difference for G-C is quite
conspicuous. This observation manifests the limited quantitative accuracy of forcefield when it is
applied to the weak interactions with great strength. However, in this case, if we only focus on the
ratio between various physical components, the result of EDA-FF is still useful and will not cause
evident misleading conclusion.
851
4 Tutorials and Examples
Since the current color scale used is Blue-White-Red, therefore the more blue the atom color
in the figure, the more negative the atomic contribution to the total binding energy between the
trimer (i.e. the more significant the attractive effect); while the more red the atom, the stronger the
repulsive effect it acts. Relatively white atoms only play trivial role on the trimer binding. As can
be seen from this figure, the colors of each H-bond acceptor atom and the hydrogen atom directly
acting with it are obviously blue, thus they contribute greatly to the stability of the G-C binding.
The color of all H-bond donor atoms is red, indicating that their existences are not conducive to the
binding, this is because the H-bond donor and acceptor atoms have large magnitude and same sign
of atomic charges, therefore there is a significant electrostatic mutual exclusion between them. From
above map, it can also be seen that all atoms of C3 as well as the atoms in the G and C that far away
from the hydrogen bonding region only have very light or purely white color, this observation does
not imply that they have nearly vanished contributions to the trimer binding, but indicates that their
contributions are relatively weak and thus difficult to be revealed under current color scale setting.
Assume that we want to vividly exhibit the dispersion interaction between C3 and GC base
pair, then we input below commands in the EDA-FF interface
2 // Redefine fragments
2 // Two fragments will be defined
1-29 // Fragment 1, the GC base pair
30-101 // Fragment 2, the C3 part
1 // Start the EDA-FF calculation
Then below information is shown on screen, the data equals to the sum of C3-C and C3-G
interaction energies
Electrostatic Repulsion Dispersion Total
In the meantime, four new .pqr files are generated in current folder (they have been provided
in "examples\EDA\EDA-FF\C3GC\pqr2" folder). Load the atmint_disp.pqr among them into VMD,
coloring the atoms according to the way described above but using color scale of -10 to 10, then
select "Display" - "Orthographic" to modify the perspective, you will see
852
4 Tutorials and Examples
In the above figure, the more blue the atomic color, the greater it contributes to the dispersion
interaction between C3 and GC. It can be seen from the figure that each heavy atom in the GC part
contributes nearly equally to the dispersion interaction, mainly because they have almost the same
vertical distance to the C3 plane and the number of electrons carried by these atoms are not very
different. The hydrogen atoms in the GC pair contribute very little to the C3-GC dispersion
interaction, this is because the hydrogen atoms only have very few number of electrons. On the C3
part, the color of the carbons that directly contact with the GC pair is light blue, indicating their
notable contributions to the dispersion interaction. The color of the C3 atoms that far away from the
GC pair is white, reflecting that their influences on dispersion interaction are negligible (recall the
fact that dispersion attraction attenuates sharply with distance, it has 1/r6 asymptotic behavior).
Note: The heavy atoms in the GC pair in the above graph are very blue, while the atoms in the equivalent
position of C3 are not so blue, the reason is that: Because there are many atoms in C3, each heavy atom in the GC
pair can form dispersion interaction with a large range of C3 atoms, thus the sum of the terms is large. Since the
number of atoms in the GC pair is small, each atom of C3 can only interact with relatively few number of atoms in
the GC pair, so the sum of terms is not large. If you want to make atomic color of the C3 part more prominent, you
can set the color scale range of the representation corresponding to the C3 part to a smaller value than the -10~10
we previously used; for example, changing to -6 to 6 will yield satisfactory graph.
853
4 Tutorials and Examples
Clearly the result is unreasonable, since the total binding energy was predicted to be a positive
value! The underlying reason is that, the electrostatic interaction is a kind of long-range effect (1/r
asymptotic behavior), therefore consideration of other atoms should not be simply ignored. I also
attempted to employ other ways to evaluate the N10-H13...O14 H-bond binding energy, although
some of them give seemingly acceptable result (for example, summing up atomic contribution of
N10, H12, H13 and O14 to total G-C binding energy), unfortunately the relative strength of the three
H-bonds cannot be faithfully explained. In my opinion, deriving individual H-bond interaction
energy is impossible for this system based on EDA-FF, the reason is that the three H-bonds are too
close together and thus the coupling is very strong, the polarization effect is obvious, and meantime
resonance-assisted effect is involved in these H-bonds, these factors make the total interaction
energy of the three H-bonds very difficult to be reasonably decomposed. However, if there are
several H-bonds and the sites are far away from each other, it should be possible to individually
evaluate the strength of each H-bond by estimation of interaction energy between the atoms in the
corresponding local region.
AFAIK, the best way of determining binding energy of individual H-bond is using atom-in-
molecules (AIM) analysis, see Section 4.2.1 for introduction and illustration.
Other aspects
It is worth to note that a possibly viable way aside from SAPT to evaluate dispersion interaction
energy is employing DFT-D3 dispersion correction using the zero-damping parameters fitted for
exchange-correlation functionals that completely failed to represent dispersion interaction. This
strategy has been utilized in the energy decomposition analysis example shown in Section 4.100.8.
The DFT-D3 dispersion correction for interfragment interaction energy using zero-damping BLYP
functional parameter is shown below
C -- G: -26.65 kJ/mol
It can be seen that the three values are close to the corresponding dispersion interaction energies
evaluated by AMBER forcefield (-45.54, -94.69, -132.62, respectively), rendering that using either
AMBER forcefield or DFT-D3 to estimate dispersion interaction energy is a reasonable approach.
Using UFF to conduct the EDA-FF analysis is often unsatisfactory. If we do this for present
system, the result is
Electrostatic Repulsion Dispersion Total
It can be seen that the interaction predicted by UFF for C3-C and C3-G is normal, and the result
magnitude is close to that calculated by AMBER, but the interaction energy of G-C is extremely
positive, evidently this is completely unreasonable. From the data it is easy to find that the reason
is that the exchange-repulsion component is seriously overestimated. This is not an individual
phenomenon, but a common phenomenon of UFF, this is why I generally do not recommend
performing EDA-FF based on UFF (although optimizing the geometry using UFF prior to the EDA-
FF could alleviate this problem).
854
4 Tutorials and Examples
As mentioned in Section 3.24.1, for very large systems, using the very cheap EEM charges
(with parameters fitted for CHELPG charges at B3LYP/6-31G* level) instead of the rigorously
derived ESP fitting charges to perform the EDA-FF analysis may be a viable choice; however, my
test showed that this treatment can cause remarkable error in electrostatic interaction for present
system. The electrostatic interaction energy between G and C evaluated based on EEM charges is
merely -74.26 kJ/mol, which is much lower than that evaluated based on MK charges (-120.98
kJ/mol). Therefore, whenever possible, using ESP fitting charges (MK or CHELPG) in EDA-FF
analysis is strongly recommended, this is crucial for yielding electrostatic interaction energy with
satisfactory accuracy.
The idea and usage of the Shubin Liu's energy decomposition (EDA-SBL) have been described
in Section 3.24.2. In this section we carry out EDA-SBL method to study the source of energy
different between ethane in optimized eclipsed and staggered conformations. Relevant input and
output files have been given in "examples\EDA\EDA_SBL" folder.
First, we optimize ethane in staggered conformation (D3 point group) and in eclipsed
conformation (D3h point group) at B3LYP/def-TZVP level using Gaussian, the latter in fact is a
transition state. Then using the geometries to create two Gaussian input files, namely
ethane_staggered.gjf and ethane_eclipsed.gjf, respectively. The two files correspond to single point
task at B3LYP/def2-TZVP level. As mentioned in Section 3.24.2, the route section contains
ExtraLinks=L608 keyword and at the end of the input file there is line -5 indicating that the currently
used functional is B3LYP.
Run the two .gjf files by Gaussian to yield ethane_staggered.out and ethane_eclipsed.out,
respectively, and then use formchk to convert the resulting .chk files to .fch files.
We first evaluate the energy terms defined by EDA-SBL method for staggered ethane. Boot up
Multiwfn and input
examples\EDA\EDA_SBL\ethane_staggered.fch
21 // Energy decomposition analysis
2 // Shubin Liu's energy decomposition
examples\EDA\EDA_SBL\ethane_staggered.out
Now Multiwfn loads relevant information from the Gaussian output file, and then evaluates
the steric term defined by EDA-SBL method. Finally, the EDA-SBL energy components are printed:
E_steric: 64.213411 Hartree
The E_total is identical to the single point energy in the Gaussian output file.
We repeat the analysis for eclipsed ethane, then summarize the data into below table
Etotal Esteric Eelectrostatic Equantum
Eclipsed (a.u.) -79.85972 64.21925 -146.10780 2.02883
855
4 Tutorials and Examples
It can be seen that the eclipsed conformation has energy higher than the staggered one by 11.2
kJ/mol, which corresponds to the barrier of C-C single-bond rotation of the ethane. The data implies
that steric effect should be one of the major contributors of the barrier since Esteric is evidently
positive. In addition, the fairly large Eelectrostatic=18.5 kJ/mol suggests that the electrostatic
interaction is the dominating factor to determine the barrier height. In contrast, the variation of
Equantum, which reflects the change in energy purely due to quantum effect, significantly cancels the
steric and classical electrostatic terms and thus play an important role of reducing the barrier.
As you can see on the screen, the EDA-SBL module also prints other intermediate quantities
comprising the Esteric, Eelectrostatic and Equantum, such as Pauli kinetic energy, so you can use them to
try to analyze the energy difference between the two conformations from more perspectives.
A thorough analysis using the EDA-SBL method for rotation barriers for a series of small
organic molecules is presented in J. Phys. Chem. A, 117, 962 (2013), interested users are suggested
to read it.
sobEDA.sh shell script is used to conveniently perform sobEDA and sobEDAw energy
decomposition analyses based on Gaussian and Multiwfn. Very detailed introduction and rich
application examples are given in http://sobereva.com/soft/sobEDA_tutorial.zip, please carefully
check it.
In this section, I will show how to very conveniently calculate almost all quantities defined in
the framework of conceptual density functional theory (CDFT). Phenol will be taken as example.
Since phenol is a neutral molecule, the N, N+1 and N-1 electrons states correspond to neutral,
anionic and cationic states, respectively.
Before following this example, please read Section 3.25 first, in which all quantities to be
computed and basic usage are described.
856
4 Tutorials and Examples
...[ignored]
...[ignored]
857
4 Tutorials and Examples
...[ignored]
You can compare the condensed Fukui functions and dual descriptor shown above with those
manually calculated in Section 4.7.3, you can find the data are completely identical. Clearly, using
present module to compute the CDFT quantities is by far easier than manual calculation!
Frankly speaking, the outputted values involving energy of N+1 states, such as vertical EA, Mulliken
electronegativity and so on are not very accurate, since it is well known that to obtain a relatively accurate energy of
anionic system, diffuse functions must be employed. So, if you need better result of these quantities, when you use
Multiwfn to prepare input files of Gaussian, it is suggested to choose a basis set at least 6-311+G* level.
858
4 Tutorials and Examples
From above map, you can find the f and f automatically generated by present module are
identical to those manually yielded in Section 4.5.3 by means of custom operation feature of main
function 5. Undoubtedly using present module is much more convenient!
As mentioned in Section 4.5.4, the dual descriptor can also be approximately evaluated based on spin density
of N-1 and N+1 states, however in the present module, the dual descriptor as well as its condensed form are evaluated
in exact way.
It is worth to note that if we export the grid data as cube file by corresponding option, then we
can use the method described in Section 4.A.14 to very quickly and easily plot above functions as
isosurface map by VMD at state-of-the-art quality. For example, below is the f − function rendered
by VMD.
859
4 Tutorials and Examples
factor to various grid data", input 0.4309 (which is the global electrophilicity index in eV outputted
by option 2, see CDFT.txt), then select option "5 Export grid data of scaled f+ as f+.cub in current
folder". Now, the exported f+.cub corresponds to local electrophilicity index, the unit is eV/Bohr3.
Next example, we will export cube file of local hyper-softness (LHS), whose definition and
practical value are carefully discussed in J. Math. Chem., 62, 461 (2024). It can be simply evaluated
by multiplying f with square of global softness. Therefore, we select option "-1 Set the scale factor
to various grid data" and input 6.828998 (which is the softness2 in Hartree-2 outputted by option 2,
see the aforementioned CDFT.txt), then select option "5 Export grid data of scaled dual descriptor
as DD.cub in current folder". Now, the exported DD.cub corresponds to LHS, the unit is
1/(Bohr3Hartree2) or simply a.u.
Please read Section 3.200.16.3 first, in which orbital-weighted Fukui function (𝑓𝑤+ and 𝑓𝑤− ) and
dual descriptor ∆𝑓𝑤 are introduced, also some important notes are given. In this section we will use
these functions to study several systems.
Part 1: C60
In this part we will use the orbital-weighted functions to reveal reactive sites of C60, which has
high point group symmetry and its frontier molecular orbitals are highly degenerate. Molecules like
this are unable to be reasonably studied via the Fukui function and dual descriptor in standard form.
The .fch file of this system generated at B3LYP/6-31G* level can be downloaded at
http://sobereva.com/multiwfn/extrafiles/C60.zip, which is input file of the present analysis.
Boot up Multiwfn and input below commands
C60.fch
860
4 Tutorials and Examples
In above map, green and blue isosurfaces represent positive and negative parts, respectively.
As you can see, distribution of all orbital-weighted functions are in line with molecular point group
symmetry, this is a unique advantage of the orbital-weighted form. In contrast, if you plot density
of HOMO (corresponding to frozen orbital form of f −) or calculate and plot f − via finite difference
(N − N-1), you will find their distributions are counterintuitive (inconsistent with molecular
symmetry) and thus useless in revealing reactive sites. As introduced in Section 4.5.4, a region with
large positive f − or with prominent negative f corresponds to the site having remarkable
nucleophilicity, or equivalently, vulnerable to electrophilic attack. From above map we can find that
the sites with highest tendency of undergoing electrophilic attack is the region above [6,6] type of
C-C bond (i.e. the bond shared by two adjacent six-membered rings). This observation is fully in
line with experimental finding (see original paper of ∆𝑓𝑤 , namely J. Phys. Chem. A, 123, 10556
(2019), for extensive discussion), and this conclusion can also be further confirmed according to
distribution of minima of average local ionization energy over vdW surface, see Section 4.12.2 on
how to perform this kind of analysis.
The orbital-weighted form of Fukui function and dual descriptor are contributed by multiple
orbitals. If you want to check weights to better understand how the orbital-weighted functions work,
in the present module you can choose "5 Print current orbital weights used in orbital-weighted (OW)
calculation", then you will see
10 Highest weights in orbital-weighted f+
861
4 Tutorials and Examples
The "E_diff" is the difference between orbital energy and the chemical potential approximately
evaluated as average of E(HOMO) and E(LUMO). Evidently, the more the orbital energy close to
the chemical potential, the higher weight the orbital will have.
You can also calculate condensed 𝑓𝑤+ , 𝑓𝑤− , 𝑓𝑤0 and ∆𝑓𝑤 , so that you can easily study their values
at each atomic site quantitatively. To do so, in the present module you should choose "6 Calculate
condensed OW Fukui function and OW dual descriptor". However, these condensed quantities are
meaningless for the C60 we studied above, since all atoms are spatially equivalent.
It is worth to note in passing that extrema of 𝑓𝑤+ , 𝑓𝑤− , 𝑓𝑤0 and ∆𝑓𝑤 on molecular surface can be
exactly located via quantitative molecular surface analysis module, so that one can quantitatively
compare their values in different regions. Many examples of using this module has been given in
Section 4.12. Below we will examine extrema of ∆𝑓𝑤 on = 0.01 a.u. isosurface. First we set
"iuserfunc" parameter in settings.ini to 98, since as mentioned in Section 2.7, ∆𝑓𝑤 corresponds to
the 98th user-defined function. Then boot up Multiwfn and input
C60.fch
12 // Quantitative analysis of molecular surface
1 // Select the way to define surface
1 // Isosurface of electron density
0.01 // Use = 0.01 a.u. isosurface to define the surface
2 // Select mapped function
-1 // User-defined real space function, which now corresponds to ∆𝑓𝑤
3 // Spacing of grid points for generating molecular surface
0.25 // Use slightly larger grid spacing than default to reduce cost. This setting is already fine
enough for present investigation
0 // Start analysis
862
4 Tutorials and Examples
After the calculation is complete, select option 0 in post-processing menu to visualize extrema.
In order to make the graph clear, we change the "Ratio of atomic size" in GUI to 3.0 to enlarge
atomic spheres. The graph in the GUI window is shown below. Value of a few minima (blue spheres)
of ∆𝑓𝑤 are labelled, the values can be found from text window. The red spheres correspond to
maxima.
As can be seen, the ∆𝑓𝑤 above [6,6] bond is remarkably more negative compared to other areas,
thus these positions have highest reactivity for electrophilic reaction. Although there are also surface
minima above center of each five-membered ring, the value is slightly positive, therefore the five-
membered ring does not have evident tendency to participate in electrophilic reaction.
Part 2: Cyclo[18]carbon
The cyclo[18]carbon was very systematically studied in my work Carbon, 165, 468 (2020),
Carbon, 165, 461 (2020) and http://sobereva.com/carbon_ring.html for more. This system has high
symmetry (D9h) and thus very suitable to be studied via the orbital-weighted functions. The .fchk of
this system can be directly downloaded via http://sobereva.com/multiwfn/extrafiles/C18.zip, which
was generated at B97XD/def2-TZVP level. The isosurface of ∆𝑓𝑤 =0.0008 a.u. of this system is
shown below.
The cyclo[18]carbon contains two kinds of C-C bond, a short one and a long one, they occur
863
4 Tutorials and Examples
alternatively. Two short bonds are highlighted by red arrows. From above map it can be clearly seen
that the short and long C-C bonds are vulnerable to electrophilic and nucleophilic attacks,
respectively, since the former are enclosed by negative isosurfaces while the latter are enclosed by
positive isosurfaces.
In Multiwfn, it is also possible to plot ∆𝑓𝑤 as plane map. As an example, we will plot ∆𝑓𝑤 as
color-filled map on the molecular plane of the cyclo[18]carbon. We first set "iuserfunc" parameter
in settings.ini to 98, then boot up Multiwfn and input
C18.fchk
4 // Plot plane map
100 // User-defined real space function, which now corresponds to ∆𝑓𝑤
1 // Color-filled map
[Press ENTER button to use default grid setting]
1 // XY plane
0 // Z=0
We close the map that pops up, then adjust some settings in the post-processing menu and
replot, after that you will see below map. The blue contour line corresponds to vdW surface.
From above map we can find that the inner edge of the ring is more reactive than the outer edge,
since inner edge has larger magnitude of ∆𝑓𝑤 .
Part 3: CH3Cl
Finally, we employ ∆𝑓𝑤 to study reactivity of CH3Cl. The input file is examples\CH3Cl.fchk.
We calculate grid data of ∆𝑓𝑤 using the same way as above examples, however, in order to get better
graphical effect, this time we do not visualize isosurface in Multiwfn directly, but export grid data
of ∆𝑓𝑤 as OW_DD.cub via corresponding option, then use the method described in Section 4.A.14
to easily render it as isosurface map via VMD program. The isosurface of 0.008 a.u. is shown below.
864
4 Tutorials and Examples
As can be seen, the toroidal negative region appears around the Cl atom, implying that this
region shows Lewis-base character. At the two ends of C-Cl bond the ∆𝑓𝑤 is notably positive,
showing that the end of carbon site is vulnerable to nucleophilic attack (e.g. SN2 reaction), while
the end of Cl site behaves as Lewis-acid, which is in line with the fact that there is a -hole region.
By the way, you can also study extrema of ∆𝑓𝑤 on molecular surface like the example of C60
to make discussion of ∆𝑓𝑤 at quantitative level.
As described in Section 3.25.4, aside from employing orbital-weighted form, Multiwfn also
supports another form to perform CDFT analysis when HOMO and/or LUMO are
(quasi-)degenerate. This form solely relies on electron density and thus theoretically more rigorous
than the orbital-weighted form, at the expense of additional computational effort since wavefunction
files of N+p and N-q states should also be calculated, where p and q are degeneracy of LUMO and
HOMO, respectively. Next, I will give two examples.
4.22.3.1 Fukui function and dual descriptor of benzene
In this section I will take benzene as an example to illustrate calculating Fukui function and
dual descriptor with consideration of HOMO/LUMO degeneracy. Because we need to determine
the degeneracy based on orbital energies, therefore we should first generate a wavefunction file for
the studied structure. examples\benzene.fch is the wavefunction file produced by geometry
optimization task at B3LYP/6-31G* level by Gaussian 16.
Boot up Multiwfn and input
examples\benzene.fch
22 // Calculate various quantities in conceptual density functional theory
-3 // Set degree of frontier molecular orbital degeneracy
Now information of lowest 10 unoccupied MOs are shown on screen to help you determine
LUMO degeneracy
...[ignored]
From the orbital energies it is clear that LUMO and LUMO+1 are exactly degenerate, while
LUMO+2 has a significantly higher energy, therefore the degree of LUMO degeneracy is 2. So, we
865
4 Tutorials and Examples
input 2 here (Note that Multiwfn prompts you that if you directly press ENTER button here,
degeneracy of 2 will be used. This is because Multiwfn determines the degeneracy of LUMO by
counting how many unoccupied orbital energies differ from LUMO by less than 0.01 eV).
Then information of highest 10 occupied MOs are shown on screen:
Orbital 21 (HOMO ) Energy: -6.720 eV
...[ignored]
It is found that HOMO and HOMO-1 have exactly identical energy, therefore now we input 2 to
indicate that HOMO degeneracy is 2 (you can also press ENTER button directly to use the
automatically determined degeneracy of 2).
Next, you can manually use your favourite quantum chemistry program to generate
wavefunction file of N, N+2 and N-2 states. For convenience, here we let Multiwfn help us prepare
the input files. Input the following commands:
1 // Single point input files of Gaussian for generating .wfn files for N, N+2, N-2 states will be
prepared (If you are an ORCA user, you can choose option -2 to change to ORCA program before
selecting this option)
[Press ENTER button] //Use the default B3LYP/6-31G* level for single point calculation
[Press ENTER button] //As mentioned in prompt, pressing ENTER button directly will use
net charge and spin multiplicity of (0 1), (-2 3) and (2 3) for the N, N+2 and N-2 states, respectively.
These combination are reasonable for present case
Because currently N+1 and N-1 states have not been defined, while E(N+1) and E(N-1) are
needed for calculating first VIP, VEA and their related quantities such as softness in option 2, so
Multiwfn also asks you to input net charge and spin multiplicity for the two states. However, in this
example we only want to calculate Fukui function and dual descriptor, which are independent of
these energetic quantities, so we press ENTER button twice to skip definition of the two states.
Now N.gjf, N+2.gjf and N-2.gjf have been generated in current folder, you can manually use
Gaussian to run them, or directly input y to let Multiwfn invoke the Gaussian on your machine to
run them (in this case that the “gaupath” in settings.ini have been correctly defined). Once
calculations are all finished, you will have N.wfn, N+2.wfn and N-2.wfn in current folder.
Then we plot isosurface map of Fukui function and dual descriptor with consideration of
HOMO and LUMO degeneracy. Input the following commands
3 // Calculate grid data of Fukui function and dual descriptor (if N.wfn, N+2.wfn and N-2.wfn
are not present in current folder, Multiwfn will ask you to input path of wavefunction files of the
three states)
2 // Medium quality grid
2 // Visualize isosurface of f −
After changing isovalue to 0.005 a.u., you will see the following map
866
4 Tutorials and Examples
From above map it can be seen that the distribution of f − with consideration of HOMO degeneracy,
namely (N − N-2)/2, is fully in line with molecular symmetry. The positive regions (exhibited by
green isosurfaces) mainly occur above and below the molecular plane at carbon atoms, thus
correctly indicating that the -electron cloud is easy to undergo electrophilic attack. In contrast, if
you plot f − in usual way, namely N − N-1, you will find its distribution obviously violates the actual
molecular symmetry and thus leads to misleading conclusion about preferential site of electrophilic
attack.
Similarly, you can use options 1, 3 and 4 to visualize isosurface map of f +, f 0, and dual
descriptor f calculated under consideration of frontier MO degeneracy, respectively.
Notice about the choice of calculation level for f + and dual descriptor
For the benzene system, if you use B3LYP with a basis set containing diffuse functions (e.g. 6-
311+G*) to generate wavefunction files, you will find distribution of the calculated
(quasi-)degenerate f + and f is extremely diffuse (showing strong Rydberg character) and not
completely in line with molecular symmetry. This is because the severe self-interaction error (SIE)
problem of this functional makes the electrons at the N+2 state over-diffuse, while the current basis
set has capability of representing spatial regions far from the molecule. In this case, the resulting f +
and f are not well-behaved and cannot be used to discuss preferential reactive sites.
It is worth to note that in Chem. Phys. Lett., 724, 29 (2019), it was found that if Fukui function
and dual descriptor are evaluated based on finite difference (the same as the present case), then even
a 3-zeta basis set without diffuse functions can basically result in a meaningful dual descriptor.
Despite that the B3LYP/6-31G* level, as what we employed in the present example, yields
seemingly reasonable f + and f distributions, if you pursue a more rigorous result, I would like to
recommend using a long-range corrected DFT functionals such as B97XD with a 3-zeta basis set
without diffuse functions, e.g. 6-311G*. The B97XD suffers much weaker SIE problem than the
popular B3LYP, therefore the electrons are more tightly bounded at anionic state; the 3-zeta basis
set with no diffuse function represents valence electronic structure adequately, while electrons are
forced to be bounded within valence region, guaranteeing that f + and f only represent the region
of chemical interest.
4.22.3.2 Local softness and local hyper-softness of C60 fullerene
In this section I will illustrate calculation of local softness and local hyper-softness of C60
fullerene. They are presented in J. Math. Chem., 62, 461 (2024) at B97XD/6-311+G* level, but in
this section, we use 6-311G* instead to greatly save computational cost. The .fchk file
867
4 Tutorials and Examples
Next, input following commands to obtain local hyper-softness, which is product of square of
softness and dual descriptor
3 // Calculate grid data of Fukui function, dual descriptor and related functions
-10 // Set extension distance
6 // 6 Bohr, which is slightly larger than the default one to avoid isosurface truncation at box
boundary when isovalue is set to a small value
3 // Since C60 is not small, we use high quality grid to guarantee that grid spacing will not be
too large and thus leading to poor isosurface map
-1 // Set the scale factor to various grid data
21.514996 // Square of softness in Hartree-2
8 // Export grid data of scaled dual descriptor as DD.cub in current folder
Now the newly generated DD.cub in current folder corresponds to local hyper-softness with
unit of 1/(Bohr3Hartree2). Plotting it as isosurface map with isovalue of 0.001 via VMD, you will
see the following map, which is basically exactly the same as Fig. 4 of J. Math. Chem., 62, 461
(2024), though the current basis set 6-311G* is different to the much more expensive 6-311+G*
employed in that work. Also it is noteworthy that the main characteristic of this map is comparable
with the ∆𝑓𝑤 of C60 obtained in Section 4.22.2.
868
4 Tutorials and Examples
Via similar way, we can obtain local softness, which is defined as product of softness and Fukui
function. Input following commands
-1 // Set the scale factor to various grid data
4.638426 // Softness in Hartree-1
6 // Export grid data of scaled f- as f-.cub in current folder
Now the newly generated f-.cub in current folder corresponds to local softness s−, with unit of
1/(Bohr3Hartree). The following maps are the 0.005 and 0.003 isosurface of s− plotted by VMD, the
former is identical to Fig. 2 of J. Math. Chem., 62, 461 (2024), while the latter is clearer to
distinguish the bonds easiest to undergo electrophilic attack (i.e. the bonds shared by two six-
membered rings), and it looks very analogous to the 𝑓𝑤− map of C60 in Section 4.22.2.
In this section several examples are given to illustrate how to use the ETS-NOCV (Extended
Transition State - Natural Orbitals for Chemical Valence) analysis to study interfragment interaction.
If you have not read Section 3.26, please read it first to gain relevant knowledge about theory of
ETS-NOCV analysis and its implementation details in Multiwfn. The input files used in most of
869
4 Tutorials and Examples
following examples are .fch files generated by Gaussian, other wavefunction files can also be used
as long as they carry basis function information (see Section 2.5), for example you can use ORCA
program to generate .molden file as input files.
It should be emphasized that without special reasons, please do not use diffuse functions, otherwise orbital
energies may be unable to be obtained via the illustrated steps because Fock/Kohn-Sham matrix cannot be directly
generated (in this case you have to provide a file containing Fock/Kohn-Sham matrix to Multiwfn, see Appendix 7),
and the orbital compositions evaluated by SCPA method in the ETS-NOCV module may be highly unreasonable.
In this example, we use ETS-NOCV to study the interaction between CO and BH3 in COBH3
complex at B3LYP/6-31G* level, all relevant files can be found in “examples\ETS-NOCV\COBH3”
folder. Since this is the first ETS-NOCV example, the process will be described very detailedly.
NOCV orbitals whose eigenvalues are smaller than 1.0E-03 are not shown
Note: Energies of NOCV orbitals have not been evaluated, so they are all zero
870
4 Tutorials and Examples
The NOCV orbitals are sorted according to their eigenvalues from most positive to most
negative. As you can see from the output, NOCV orbitals are in pairs, each two NOCV orbitals with
opposite eigenvalues constitute a NOCV pair. For example, from the above output it can be seen
that NOCV 3 and NOCV 49 have eigenvalues of 0.402 and -0.402, respectively, therefore they form
a NOCV pair, namely NOCV pair 3. The sum of eigenvalues of all NOCV orbitals is exactly zero,
since orbital interaction does not affect total number of electrons.
The NOCV pairs with larger magnitude of eigenvalue have larger underlying influence to the
density difference caused by orbital interaction. As you can see from above information, there are
as many as 26 NOCV pairs in total, however only nine of them are printed because of the default
printing threshold (i.e. absolute eigenvalue must be larger than 0.001), among which only pairs 1 to
4 have notable influences to density difference. Hence, you can study orbital interaction between
CO and BH3 by only examining character of these NOCV pairs
Currently, the energies of NOCV orbitals and pairs have not been calculated yet. To calculate
them, you should provide a file containing Fock matrix for HF case or Kohn-Sham (KS) matrix for
DFT case, see Appendix 7 of this manual for detail. In this and following example we use a more
convenient way, namely directly letting Multiwfn to generate Fock/KS matrix based on energies
and coefficient matrix of molecular orbitals in the complex wavefunction COBH3.fch. So, we select
option “-2 Generate Fock/KS matrix and evaluate NOCV orbital energies” in post-processing menu,
then KS matrix is generated and NOCV energies are evaluated, after that NOCV information is
printed on screen again, as shown below
Pair Energy | Orbital Eigenvalue Energy | Orbital Eigenvalue Energy
As you can see from the output, this time each NOCV pair has a corresponding energy, the sum
of energies of all NOCV pairs is -116.63 kcal/mol, indicating that the orbital interaction stabilizes
871
4 Tutorials and Examples
the complex by 116.63 kcal/mol, which will be referred to as Eorb. The energy of a NOCV pair is
calculated as the sum of the products of the energy and eigenvalue of the NOCV orbitals belonging
to it. For example, the energy of NOCV pair 1 (Δ𝛦1orb ) is -77.88 kcal/mol, it is calculated as
−120.880.5651 + 16.93(−0.5651).
It is important to note that as mentioned in Section 3.26.2, since the Fock/KS matrix used in ETS-NOCV
analysis in Multiwfn corresponds to the one built based on actual complex wavefunction rather than on the artificial
transition state wavefunction, the printed “Sum of pair energies” is not the rigorous orbital interaction energy, and
the printed NOCV energies are not exactly the corresponding ones in standard ETS-NOCV analysis. However, the
discrepancy is found to be small in general and does not evidently affect the conclusion drawn from the analysis.
Probably you have noticed that NOCV pair 9 is composed of two NOCV orbitals with very negative energy,
but the magnitude of pair energy is extremely small (-0.02 kcal/mol), what is the reason? In fact, the corresponding
NOCV orbitals 9 and 43 are highly analogous to core orbitals (you can confirm this by visualizing orbital isosurfaces
with very small isovalue), evidently their energies must be fairly negative as they feel very strong nuclear attractive
potentials; however, since this kind of orbitals little participate in bonding, their eigenvalues must be very small,
making energy of NOCV pair small enough to be fully ignored.
In this map, blue and green isosurfaces display the region where electron density is decreased and
increased respectively due to the orbital interaction described by NOCV pair 1. Clearly, the NOCV
pair 1 corresponds to significant electron displacement from the CO moiety to the BH3 moiety. The
amount of transferred electron corresponds to the absolute eigenvalue of this NOCV pair, namely
0.565. Occurrence of this kind of interaction is naturally expected since CO has rich electrons and
tends to donate electrons while BH3 is an electron-deficient species and tends to accept electrons by
its unoccupied orbital located at boron. Because this CO→BH3 donation interaction is so prominent
and greatly stabilizes this complex, it is easy to understand why the corresponding NOCV pair
energy is as large as -77.9 kcal/mol.
Next, we check density of NOCV pair 2. Click “RETURN” button at top right corner of the
GUI window, then input 2. After adjust the isovalue to an appropriate value 0.002 a.u., you will see
872
4 Tutorials and Examples
Obviously, NOCV pair 2 represents the back-donation from (B-H) occupied orbital of BH3 to
unoccupied * orbital of CO. Since this back-donation effect is not strong, the energy of NOCV
pair 2 is only a modest value -15.8 kcal/mol. However, the influence of NOCV pair 2 to electron
density difference is not much smaller than that of NOCV pair 1, since the eigenvalue of the former
(0.402, which corresponds to the amount of back-donation electrons) is not significantly lower than
that of the latter (0.565).
Similarly, you can then observe NOCV pair 3, its energy and eigenvalue are degenerate to
NOCV pair 2 because of the C3v point group of COBH3, and their characters are the same except
that in NOCV pair 3 the CO accepts electrons from BH3 via its another unoccupied orbital.
Finally, we visualize the sum of densities of all other NOCV pairs. Close the GUI window and
then input 4-26 (recall that there are 26 NOCV pairs in total), you will find following information
on console window
Sum of positive eigenvalues of selected pairs: 0.25072
and you will see the following isosurface (isovalue = 0.001 a.u.)
The shape of the isosurface is complicated, and it is difficult to present a clear chemical
interpretation on this collective interaction. However, we can still detect that there is some degree
of back-donation from BH3 to CO, and electron density polarization occurs within each fragment
region. Since the sum of energies of these NOCV pairs is merely -7.09 kcal/mol, the back-donation
with polarization effects represented by NOCV pairs 4 to 26 do not play an important role.
873
4 Tutorials and Examples
[...ignored]
so, in order to more deeply understand the character of NOCV pair 1, we should visualize orbitals
1 and 51. The isosurfaces of the two orbitals at isovalue of 0.15, as well as that of the NOCV pair 1
at isovalue of 0.01 a.u. are collectively shown below. From this map you can clearly recognize how
the density of NOCV pair 1 results from eigenvalue-weighted orbital density of NOCV orbitals 1
and 51.
Usually, visualizing NOCV orbitals is not very useful since chemical meaning of NOCV
orbitals is not quite strong.
CV pair or corresponding NOCV orbitals larger than 0.500 % are printed below.
874
4 Tutorials and Examples
875
4 Tutorials and Examples
As you can see, the contributions to the NOCV pair 1 and to the corresponding NOCV orbitals
1 and 51 by various basis functions, shells, angular moments and atoms are outputted in turn. You
can compare this information with the isosurface maps given earlier, you will find the quantitative
compositions are indeed in agreement with the characteristics reflected by the isosurfaces.
According to the definition of our employed 6-31G* basis set and contributions of basis functions,
we can also estimate composition of various atomic orbitals in the NOCV pair and orbitals. For
example, the 2nd and 6th basis functions are the second and third S type of basis functions of atom
4, they collectively represent 2s atomic orbital, so sum of their contributions to the NOCV pair
(−1.72% −19.17% = −20.89%) is just the composition of 2s atomic orbital in NOCV pair 1, which
is mainly responsible for the negative part of this NOCV pair. Similarly, you can find 2pz atomic
orbital contributes to NOCV pair 1 by 18.27% +1.77% = 20.04%, it is the dominant contributor to
the positive part of the NOCV pair; this is fully in line with the observation from the isosurface of
NOCV pair 1, namely there is a green (positive) isosurface around the boron atom with two lobes
extended along Y-axis, clearly it must be mainly composed of boron pz atomic orbital.0
Note that just like integral of a NOCV pair over the whole space must be exactly zero, the sum
of compositions of a NOCV pair is also always zero.
From the map of Pauli it is clear that Pauli repulsion makes electron density obviously
decrease in the interaction region between CO and BH3. In contrast, the orb map shows that orbital
interaction between the two fragments makes electron density significantly accumulate in the
bonding region, and this is a typical signal of the formation of shared electron interaction. The
isosurface of exhibits that the overall effect of interfragment interaction results in considerable
876
4 Tutorials and Examples
From the continuity of the orbital indices, we know from the above information that orbitals 1
to 7 and 8 to 30 correspond to occupied and unoccupied orbitals of fragment 1 (CO), respectively;
while orbitals 31 to 34 and other ones correspond to occupied and unoccupied orbitals of fragment
2 (BH3), respectively. In the following figure I respectively plotted isosurfaces for MO 7 (HOMO
of CO) in promolecular state and in frozen state, the isovalue is set to be a small value 0.02 so that
you can clearly detect their difference
877
4 Tutorials and Examples
It is clear that due to Pauli repulsion effect, the HOMO of CO in frozen state has an additional nodal
plane in the BH3 region as highlighted by the red dashed line, this is necessary for satisfaction of
orthogonal condition between this orbital and all occupied orbitals of BH3.
This is the end of the analysis of the COBH3 system. In this section I have comprehensively
illustrated usage of various options of the ETS-NOCV module, while in practical studies commonly
you only need to focus on energies, eigenvalues and density isosurfaces of first several NOCV pairs.
In this section I use a simple molecule to illustrate ETS-NOCV analysis for open-shell
interaction. We will study how two CH3 radicals form an ethane (C2H6).
First, we optimize ethane and generate wavefunction files for it and the two CH3 radicals at
B3LYP/6-31G* level. The steps are identical to the last section. The corresponding Gaussian input
files and the resulting .fch files have been provided in “examples\ETS-NOCV\ethane” folder.
Evidently, the CH3 radicals should be set to doublet in the single point calculations.
Boot up Multiwfn and input
examples\ETS-NOCV\ethane\ethane.fch // Wavefunction file of the whole system
23 // ETS-NOCV analysis
2 // Two fragments
examples\ETS-NOCV\ethane\CH3_1.fch // Wavefunction file of the first CH3 radical
examples\ETS-NOCV\ethane\CH3_2.fch // Wavefunction file of the second CH3 radical
n // Do not flip spin of the first CH3 radical
y // Flip spin of the second CH3 radical
Unlike the closed-shell case exemplified in the last section, in the present example you are
asked to choose if flipping spin of the two open-shell fragments. Flipping spin means exchanging
information of alpha and beta electrons. Properly flipping spin is important, because we need to
guarantee that sum of number of alpha (beta) electrons of all fragments is identical to that of the
whole system. The ethane has 9 alpha electrons and 9 beta electrons, while each CH3 radical has 5
alpha electrons and 4 beta electrons. Clearly, we need to flip spin of either the first or the secondCH3
radical, otherwise after combining the two fragments together there will be 5+5=10 alpha electrons
and 4+4=8 beta electrons, which does not agree with ethane.
Next, we choose option -2 to generate NOCV orbital/pair energies, then information of NOCVs
of both spins are shown on screen:
878
4 Tutorials and Examples
NOCV orbitals with absolute eigenvalues smaller than 1.0E-03 are not shown
The alpha and beta NOCV information shown above are seemingly identical, this is because
the two fragments are symmetric with each other. The term “Sum of pair energies” indicates that
interfragment orbital interaction contributes to the binding energy between the two CH3 by nearly
as large as -200 kcal/mol, each spin contributes to about -100 kcal/mol.
From above NOCV information one can see that for each spin only one NOCV pair plays a
vital role, now we examine its character. Input the following commands
2 // Show isosurface of NOCV pair density
2 // Medium quality grid
1 // Check NOCV pair 1, which is the dominant pair of alpha spin
After inspecting the isosurface, we then close GUI window and input 22 to check NOCV pair 22,
which is the dominant pair of beta spin. The isosurface maps of density of NOCV pair 1, pair 22 as
well as their sum (corresponding to inputting 1,22 in the current interface) at isovalue of 0.01 a.u.
are collective shown below, and the corresponding electron transfer character is indicated (q is
amount of transferred electrons and corresponds to the absolute value of eigenvalues of NOCV pairs
printed above).
879
4 Tutorials and Examples
As can be seen, NOCV pair 1 mainly exhibits transfer of alpha electrons from the first CH3
fragment (composed of C1, H2, H3 and H4) to the second CH3 fragment (composed of C5, H6, H7
and H8), it is due to the mix of singly occupied alpha orbital of the first CH3 and unoccupied alpha
orbital(s) of the second CH3. The NOCV pair 22 exhibits similar feature as NOCV pair 1, but it
corresponds to electron transfer of beta electrons and the direction is opposite. The sum of NOCV
pairs 1 and 22 corresponds to the concentration of electron density in the bonding region between
the two fragments, this is the very typical character of formation of a covalent bond. From above
map we can also find that the increase or decrease of electron density at the two end of the ethane
due to orbital interaction of each spin is basically cancelled out when NOCV densities of the two
spins are summed up.
Let us also check NOCV pairs 2 and 3, they are degenerate and correspond to minor orbital
interaction of alpha spin, each one merely contributes energy of -1.2 kcal/mol to the interfragment
binding. The isosurfaces of 0.0015 a.u. are shown below
These interactions are seemingly caused by hyperconjugation from occupied (C-H) orbitals to
unoccupied (C-C) orbital, since electron density is decreased in the hydrogen areas while increased
in the region of C-C bond and there is a nodal plane along the bond. This interaction character can
be identified more clearly if you visualize the corresponding NOCV orbitals. It is generally
recognized that the two CH3 fragments in ethane is binded by a bond, this is in line with our
observation that these concomitant (C-H)→(C-C) interactions only have trivial energy
contributions and negligible NOCV eigenvalues (0.049).
If you have interest, you can use option 1 in post-processing menu to visualize NOCV orbitals
that constituting the aforementioned NOCV pairs as we did in the last section, you will gain a richer
880
4 Tutorials and Examples
insight into the orbital interactions; specifically, for a NOCV pair displaying a strong electron
transfer character, you can discuss the orbitals playing donor and acceptor role respectively by visual
inspection of NOCV orbital isosurfaces.
In this section we use ETS-NOCV theory to study the double bond interaction between the two
CH2 in ethene. It is best to regard the CH2 in current analysis as triplet, not only because it is well
known that CH2 carbene in isolated state has ground state of triplet, but more importantly, two CH2
can form double bond only when they are in triplet with different spins (namely CH2 and CH2),
in this status CH2 has an unpaired electron occupied in the orbital parallel to the fragment plane and
another unpaired electron occupied in the orbital perpendicular to the fragment.
Now generate wavefunction files for ethene and its two CH2 fragments as last example at
B3LYP/6-31G* level, the corresponding Gaussian input files and .fch files have been provided in
“examples\ETS-NOCV\ethene” folder.
Boot up Multiwfn and input
examples\ETS-NOCV\ethene\ethene.fch // Wavefunction file of the ethene
23 // ETS-NOCV analysis
2 // Two fragments
examples\ETS-NOCV\ethene\CH2_1.fch // Wavefunction file of the first CH2 fragment
examples\ETS-NOCV\ethene\CH2_2.fch // Wavefunction file of the second CH2 fragment
n // Do not flip spin of the first CH2 fragment
y // Flip spin of the second CH2 fragment
-2 // Generate Fock/KS matrix and evaluate NOCV orbital energies
Now we can see
--------------- Pair and NOCV orbital information --------------
NOCV orbitals with absolute eigenvalues smaller than 1.0E-03 are not shown
881
4 Tutorials and Examples
For each spin, only two NOCV pairs correspond to prominent orbital interactions. We use
option 2 to visualize density of the corresponding NOCV pairs, the isosurface maps at isovalue =
0.01 a.u. are collectively shown below, the electron transfers corresponding to these NOCV pairs
are highlighted by arrows
It can be seen that NOCV pairs 1 and 2 represent and interactions of alpha electron,
respectively; the counterparts of beta spin are NOCV pairs 20 and 21. The sum of NOCV pairs 1
and 20 corresponds to total interaction, from the corresponding density isosurface map shown
above it is seen that this interaction leads to significant increase in electron density above and below
the C-C bond. The character of C-C interaction in ethene is very similar to that of ethane, which
has been discussed in last section. From NOCV pair energies, one can find that energy contribution
to binding between the two CH2 owing to interaction (-126.2 kcal/mol) is considerably weaker
than interaction (-199.6 kcal/mol). It is worth to note that the interaction in ethene is slightly
stronger than that in ethane (-186.4 kcal/mol, as shown in last section), this may be the synergistic
effect between and interactions.
In this example we use ETS-NOCV to analyze weak interaction. In the adenine-thymine (A-T)
base pair it is known that there are two H-bonds between the two molecules, as shown by the dashed
lines below, which will be subjected to ETS-NOCV analysis.
882
4 Tutorials and Examples
The geometry of A-T base pair was taken from JSCH-2005 test set (Phys. Chem. Chem. Phys.,
8, 1985 (2006)), it was already optimized at proper level so we will not optimize it further. In this
example we will use ORCA 5.0 program to conduct single point calculations at B97M-V/def2-
TZVP level, of course you can also use other codes such as Gaussian to carry out the calculations.
The ORCA input files for dimer and the two monomers are AT.inp, A.inp and T.inp in
“examples\ETS-NOCV\AT” folder. After running them, use “orca_2mkl” utility in ORCA package
to convert the resulting .gbw files to Molden input files; if you do not know how to do please check
beginning of Chapter 4. The generated AT.molden, A.molden and T.molden can be downloaded at
http://sobereva.com/multiwfn/extrafiles/A-T_base_pair_molden.zip.
Boot up Multiwfn and input
AT.molden // Wavefunction file of A-T base pair
23 // ETS-NOCV analysis
2 // Two fragments
A.molden // Wavefunction file of adenine (A) fragment
T.molden // Wavefunction file of thymine (T) fragment
-2 // Generate Fock/KS matrix and re-evaluate NOCV orbital energies
Currently, there are as many as 40 NOCV pairs printed on screen under the default printing
threshold (NOCV eigenvalue > 0.001), the number is too large to easily inspect. So, we properly
raise printing threshold, input
-3 // Set printing threshold of NOCV eigenvalues
0.02
0 // Print NOCV information again
Now the number of printed NOCV pairs is significantly reduced:
--------------- Pair and NOCV orbital information --------------
There are totally 328 NOCV pairs and 655 NOCV orbitals
NOCV orbitals with absolute eigenvalues smaller than 2.0E-02 are not shown
883
4 Tutorials and Examples
As can be seen, only NOCV pairs 1 and 2 correspond to notable orbital interactions, and their
energies are lower than common NOCV pairs corresponding to chemical bond interactions by at
least one order of magnitude. Isosurfaces map of their densities are exhibited below, and the total
density of all other NOCV pairs are also given. The isovalue is set to a very small value 0.002 a.u.,
which is significantly smaller than that adopted in the last few sections because orbital interaction
corresponding to H-bond is by far weaker than chemical bond interaction (in fact, as clearly
indicated in my work J. Comput. Chem., 40, 2868 (2019), H-bond of common strength is dominated
by electrostatic interaction)
From above map we can see that the NOCV pairs 1 and 2 mainly represent the orbital
interaction of H-bonds N20-H26N1 and O23H14-N10, respectively. From solely the orbital
interaction point of view, the strength of the former H-bond is markedly stronger than the latter. If
you have interest, you can use atoms-in-molecules (AIM) theory to respectively evaluate binding
energy of the two H-bonds via the protocol described in Section 4.2.1. Above map also shows that
orbital interaction effect in H-bond formation causes detectable electron density concentration
between hydrogen and H-bond acceptor atom, so even H-bond of medium strength like the ones in
the A-T base pair is also accompanied by slight covalent character.
All other NOCV pairs, as shown by sum of NOCV pairs 3 to 328 in above map, mostly
correspond to marginal transfer of electron from H-bond donor atom to H-bond acceptor atom.
Since the corresponding total energy is very small, I will not explore it any further.
884
4 Tutorials and Examples
Gaussian 16 is used for calculations in this example. SDD pseudopotential with corresponding
standard valence basis set is employed for Cr, and 6-311G* is employed for ligand atoms, TPSSh
exchange-correlation functional is used because it is usually an ideal choice for coordinates
containing 3d metals. This combination of theoretical method and basis set is suitable for most
transition metal coordinate systems. We optimize the whole coordinate first to obtain its
wavefunction file (CO)5CrCH2.fch, after that we extract coordinates of the two fragments and then
perform single point tasks to obtain their wavefunction files (CO)5Cr.fch and CH2.fch. The
Gaussian input files as well as the resulting .fch files have been provided in “examples\ETS-
NOCV\(CO)5CrCH2\” folder.
It is worth to note that if you use different basis sets in the calculation of fragments and whole system like this
example (“genecp” for coordinate but 6-311G* for CH2 ligand), and you are not familiar with the default rule of
adapting Cartesian and spherical-harmonic basis functions in Gaussian, it is strongly suggest to always add 5d
keyword in your input files to guarantee that all calculations use spherical-harmonic basis functions, otherwise the
sum of number of basis functions of all fragments may be different to the number of basis function of the whole
system.
It is important to properly choose electronic states in the present investigation. The Cr atom in
the whole coordinate and in the (CO)5Cr fragment should be in low-spin (all six 3d electrons are
paired), so spin multiplicity of the whole coordinate and (CO)5Cr should be set to 1 during
calculations. Even though ground state of CH2 is known to be triplet, in order to perform ETS-
NOCV analysis for this system, we must adopt singlet for CH2 in its single point calculation, because
this state is more close to actual electronic structure of CH2 in (CO)5Cr=CH2 than triplet (it is
naturally expected that singlet CH2 utilizes its lone pair to form coordinate bond with unoccupied
3d orbital of the low-spin Cr atom).
885
4 Tutorials and Examples
[...ignored]
It is seen that NOCV pairs 1 and 2 have by far larger energy contributions to formation of the
coordinate bond between the two fragments than other NOCV pairs, so we will only focus on them.
Now use option 2 to visualize density isosurface of the two NOCV pairs respectively, the
corresponding isosurface map at isovalue of 0.01 a.u. are shown below
It is suggested to choose “High quality grid” after selecting option 2 since the current system is not quite small.
The isosurface will be somewhat jagged if selecting “Medium quality grid”. When you find current grid setting is
inappropriate after visualizing the isosurfaces, you can return to post-processing menu and choose option “-5 Set
grid for calculation of various densities” to redefine grid setting for visualization next time.
From the shape and color of the isosurfaces it is clear that NOCV pair 2 exhibits electron
donation character from the lone pair of singlet CH2 to empty dz2 orbital of Cr, while NOCV pair 1
displays electron back-donation from an occupied 3d orbital to the unoccupied orbital of CH2
perpendicular to its fragment plane. The former corresponds to formation of a bond, its energy
contribution to binding (-72.7 kcal/mol) is markedly larger than the latter (-42.6 kcal/mol), which
shows character. It is very common that interaction is stronger than single set of interaction
for the same bond, this point is also reflected by our observation in the example of ethene in Section
4.23.3. However, according to NOCV pair eigenvalues, it is noted that the -type of back-donation
interaction causes larger variation of electron density than the -type of donation interaction. It is
worth to emphasize in passing here that there is no necessarily positive correlation between NOCV
eigenvalues and NOCV energies.
886
4 Tutorials and Examples
ETS-NOCV can also be employed to more than two fragment cases, and can also be applied
to structures other than minima of potential energy surface, such as transition state. In this example,
I use transition state (TS) of trimerization of acetylene as an instance to show this point. This
reaction is illustrated in the following scheme, the TS geometry in the figure was optimized at
B3LYP/6-31G* level. We will analyze how the three bended acetylene interact with each other at
TS structure owing to orbital interactions.
NOCV orbitals with absolute eigenvalues smaller than 1.0E-03 are not shown
887
4 Tutorials and Examples
[...ignored]
It can be seen that NOCV pairs 1 and 2 are degenerate, isosurface maps of their densities at
isovalue of 0.005 a.u. are shown below, their sum is also given
The NOCV pairs 1 and 2 have identical energies because this system has point group of D3h
symmetry, which is a rotation group. From the isosurface map it is obvious that neither NOCV pair
1 nor pair 2 makes sense, but the sum of them is meaningful. As shown in the third subgraph in
above figure, in the TS geometry there has been -bond interaction to some extent between
neighbouring acetylene, as evident electron concentration is detectable in the area where new C-C
bond will form. Also note that blue isosurfaces in this subgraph show that electron density is
decreased in the in-plane regions of C-C bonds in acetylene, clearly indicating that new C-C
bonds between acetylene are formed at the expense of the original in-plane bonds.
It is known that in the product of acetylene trimerization reaction, namely in benzene molecule,
every C-C bond has some degree of interaction, a question naturally arise: whether the
interaction between acetylene has also been formed at the TS structure? To explore this point, we
check isosurfaces of other NOCV pairs, we will quickly find only NOCV pairs 3 and 4 show
character, as shown by their density isosurfaces below. Individually visualizing NOCV pair 3 or 4
in fact is meaningless, so we also plot isosurface of sum of densities of the two pairs, as shown in
the third subgraph in the following figure; however, the isosurface can be clearly visualized only
when isovalue is set to a fairly small value (0.0002 a.u.).
888
4 Tutorials and Examples
Isosurface of sum of NOCV pairs 3 and 4 indicates that indeed there has been interaction
between neighbouring acetylene, since green isosurfaces can be found in the regions above and
below the new C-C bonds to be formed. However, since the energy is merely -1.85 kcal/mol, and
the isosurface is detectable only at extremely small density isovalue, the interaction between
acetylene is completely negligible in practice. This argument can also be supported by calculation
of Mayer bond order of -electron for the wavefunction of TS structure, see Section 4.100.22 on
how to do. You will find the Mayer bond order of C1-C5 is merely 0.010, whose magnitude is
small enough to be completely ignored.
As introduced in Section 3.27.1, Multiwfn has ability to parse the abstract output information
of “polar” task of Gaussian and reorganize the data to a much more readable format, and meantime
many useful quantities are outputted together. In this section an example is given.
In "examples\polar" folder, NH3_polar_static.out and NH3_polar_dynamic.out are output files
of static and frequency-dependent (hyper)polarizability calculations for NH3 via a common
exchange-correlation functional PBE0. The corresponding Gaussian input files are also provided in
the same folder. In the calculation, a large basis set with abundant diffuse functions (aug-cc-pVTZ)
was used, notice that diffuse functions play a vital role in yielding reasonable (hyper)polarizability
and thus they are absolutely indispensable.
889
4 Tutorials and Examples
Static polarizability:
XX= 13.692700
XY= 0.000000
YY= 13.693300
XZ= 0.000000
YZ= -0.000334
ZZ= 15.323600
hould be inverted, the outputs shown below have already been corrected
XXX= 0.000000
XXY= 12.903200
XYY= 0.000000
YYY= -12.900200
XXZ= 9.617100
XYZ= 0.000000
YYZ= 9.564710
XZZ= 0.000000
YZZ= 0.016285
ZZZ= 26.613200
Beta || : -27.477006
The output is easy to understand, all of the outputted quantities have been detailedly explained in
Section 3.27.1.
890
4 Tutorials and Examples
2 w= 0.065600 ( 695.04nm )
3 w= 0.071900 ( 634.14nm )
If we input 2, then the (hyper)polarizability data corresponding to 0.0656 a.u. incident light will be
loaded and parsed.
After outputting information about dipole moment and polarizability, Multiwfn asks you to
choose the type of hyperpolarizability to be outputted:
1: Beta(-w;w,0) 2: Beta(-2w;w,w)
You can select either one according to your requirement. Since as can be seen in
NH3_polar_dynamic.gjf, the keyword we used is polar=DCSHG, both the two types are available.
Now if you choose option 2 to parse (-2w;w,w), not only first hyperpolarizability will be
shown, but also quantities related to Hyper-Rayleigh scattering (HRS) will be printed, as shown
below (see Section 3.27.1 for detail)
<beta_ZZZ^2>: 8.12843560E+02
<beta_XZZ^2>: 1.45318790E+02
Next, if you want to study evolution of scattering intensity with respect to polarization angle
of incident light, you should input y and then input an initial angle, for example, -180. After that
HRS_angle.txt will be generated in current folder, which contains scattering intensity corresponding
to polarization angle varying from -180 to 179 with stepsize of 1. If you use such as Origin to
plot the data as "Polar theta(X) r(Y)" map, you will obtain below map, in which the radial distance
of the red curve at different angles corresponds to calculated HRS intensity. The corresponding
Origin .opj file has been provided as examples\polar\HRS_angle.opj
891
4 Tutorials and Examples
90
1000 120 60
800
600 150 30
200
0 -180 0
-150 -30
-120 -60
-90
YXXX= 0.000000E+00
ZXXX= 8.493370E-05
XYXX=XXYX= 0.000000E+00
[...ignored]
ZZZZ= 3.204030E+04
As can be seen, all components of tensor have been very clearly shown, and some quantities
892
4 Tutorials and Examples
defined based on are also shown, they are very useful in the study of . Note that above data are
given in input orientation.
Similarly, you can use Multiwfn to parse gamma(-w;w,0,0). If you want to parse
gamma(0;0,0,0), do not choose option -1 before parsing.
Preparation
In this example we use Gaussian program to carry out the CIS calculation. However, Gaussian
itself cannot output enough information for SOS calculation. Though for CIS (and ZINDO) there is
a keyword alltransitiondensities, which makes Gaussian output transition density moment between
each pair of excited states, however electric dipole moment of all states still cannot be obtained in
a single run. Fortunately, we can use the very powerful electron excitation analysis module of
Multiwfn to generate all information needed by SOS based on the output file of CIS/TDHF/TDDFT
task of Gaussian or ORCA program.
First, run examples\NH3_SOS.gjf by Gaussian to produce output file NH3_SOS.out, and use
formchk utility to convert the checkpoint file to NH3_SOS.fch. If you do not have Gaussian in hand,
you can directly download them at http://sobereva.com/multiwfn/extrafiles/NH3_SOS.rar.
Since the SOS results converge often slow with respect to the number of excited states taken into account, we
produce as high as 150 excited states in this example to substantially avoid truncation error. Of course, employing
higher number of excited states needs more computational time in both of the CIS calculation and the subsequent
SOS calculation in Multiwfn. In most practical studies, 100 states are generally large enough, and even 70 is often
enough to provide usable results. Calculation of hyperpolarizability, especially the high-order ones, has very
stringent requirements on the quality of basis set, abundant diffuse functions are absolutely indispensable. In this
example we employ def2-TZVPPD (J. Chem. Phys., 133, 134105), which is a high-quality basis set optimized for
calculation of molecular response properties. Since this is not a built-in basis set in current version of Gaussian, it
was picked from BSE website (https://www.basissetexchange.org). The keyword IOp(9/40=5) is important, because
in the ZINDO/CIS/TDHF/TDDFT task by default Gaussian only outputs the transition coefficients whose absolute
values are larger than 0.1, while IOp(9/40=5) lowers the criterion to 0.00001, so that much more coefficients can be
outputted, and thereby we can obtain accurate transition dipole moments by Multiwfn at next step. It is noteworthy
that you can also use TDHF or TDDFT instead of CIS, for example you can write #P TD(nstates=150) CAM-
B3LYP/gen IOp(9/40=5).
Boot up Multiwfn and input below commands
C:\NH3_SOS.fch
18 // Electron excitation analysis module
5 // Calculate transition dipole moments and dipole moment for all excited states
893
4 Tutorials and Examples
C:\NH3_SOS.out
3 // Generate SOS.txt
The file SOS.txt generated in current folder contains all information needed by SOS
(hyper)polarizability calculation. This file can be directly used by SOS module of Multiwfn.
Reboot Multiwfn and input
SOS.txt
24 // (Hyper)polarizability analysis
2 // Study (hyper)polarizability by sum-over-states (SOS) method
Note that all units used in the SOS module are atomic units.
As can be seen, not only the polarizability tensor, but also some related quantities are outputted.
Their definitions can be found in Section 3.100.20. The isotropic average polarizability we obtained
here is 14.59, which is in perfect agreement with the experimentally determined value 14.56! (Mol.
Phys., 33, 1155)
Then we calculate dynamic polarizability (-;) and assume the frequency of external field
to be 0.0719 a.u. Select option 1 again, input 0.0719, from the output we can see the dynamic
isotropic polarizability at =0.0719 is 14.86, which is slightly larger than the static counterpart.
894
4 Tutorials and Examples
automatically use all states but allow you to set the number of states to be taken into account. Larger
value in principle gives rise to better result, but of course more time will be consumed in the
calculation. Here, we input 150 to use all states. After a while, result is shown on screen, the average
of is 928.74. Beware that this value may be inaccurate (reference value is not available, so I am
not sure if this is a good result), one of the main reasons is that the basis set we used in the electron
excitation calculation is not large enough. Accurate calculation of usually requests a basis set like
d-aug-cc-pVTZ (or an even better one), which has an additional shell of diffuse functions compared
to the commonly used aug-cc-pVTZ.
Multiwfn is also capable of calculating third hyperpolarizability (-;1,2,3,4) where
=1+2+3+4, but we do not do this in present example, because this quantity is fairly
unimportant, and the calculation is terribly expensive when the number of states in consideration is
large; moreover, a sky-high quality of basis set must be employed in the calculation...
8
||
6 -50
4 -60
2
-70
0
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140
Number of states Number of states
It is clear that both of the two quantities have basically converged at n=100. Since we employed 150
states in our calculations, the error due to the truncation of states can be safely ignored. From the
graph one can also see that if the number of states is truncated at 70, the results are still qualitatively
correct.
You can also analogously use options 5 and 7 to study the convergence behavior of and ,
respectively.
895
4 Tutorials and Examples
0.00 0
0.01 0
0.02 0
...
0.5 0
Tips: For convenience, you can utilize Microsoft Excel program to generate frequency list, and save the table
as .txt file (you can select such as "Text (tab delimited)", but do not choose "Unicode text").
Then choose option 16, input the path of the plain text file, the will be calculated at each pair of
frequencies, the result will be outputted to beta_w.txt and beta_w_comp.txt in current folder, the
meaning of each column of the data is clearly indicated on screen. The data in these files can be
directly plotted as curve map by Origin, for example the magnitude of (-1;1,0) is shown below:
110000
100000
90000
80000
Magnitude of (−1;1,0)
70000
60000
50000
40000
30000
20000
10000
0
0.0 0.1 0.2 0.3 0.4 0.5
Frequency of external field 1
Similarly, you can also use options 15 and 17 to study the variation of and with respect to
frequency of external fields, respectively.
896
4 Tutorials and Examples
This kind map exhibits one photon resonance (-1;1,0) or (-2;0,2), sum frequency
generation and difference frequency generation character of present system. Occurrence of a large
peak at the position where one of 1 and 2 is zero implies significant Electro-optics Pockels effect
at the corresponding frequency, a large peak at a frequency 1=2 indicates strong second harmonic
generation (SHG) effect at that frequency, a large peak at frequency 1= -2 shows remarkable
optical rectification effect at that frequency. See ACS Appl. Nano Mater., 2, 1648 (2019) for example
of discussion of this kind of map.
897
4 Tutorials and Examples
Because excited state 2 has much larger magnitude of "Tot" (norm of transition dipole moment)
than others, and meantime the excitation energy of excited state 2 is almost the lowest, thus this
898
4 Tutorials and Examples
All terms involved in the two-level model have been, see Section 3.27.2.2 for the expression
of the two-level model. If you have a similar system, for example the two benzene rings in current
system are replaced with three benzene rings, you can use the above outputted quantities to discuss
how various factors influence the difference in XXX.
We can also carry out three-level model analysis. In the Multiwfn window, we input
20 // Perform two or three-level model analysis of again
1 // Investigate XXX again
1,2 // Choose excited states 1 and 2 for the three-level model analysis
Below is outputted information
Excited state 1
Excited state 2
It can be seen that all terms involved in the three-level model analysis have been given. We
also find that the contribution of excited state 1 to XXX is quite small, and the cross term due to
coupling between the two states is also negligible, implying that employing two-level model
analysis is already completely adequate for present system, including more states into the analysis
does not provide new insight.
899
4 Tutorials and Examples
The reason why the contribution solely due to excited state 1 is fairly low is quite easy to
understand. According to the two-level model, contribution to a given component it is positively
proportional to variation of dipole moment and square of transition dipole moment in that
component. Compared to the excited state 2, both the two quantities of excited state 1 are
conspicuously smaller and thus excited state 1 can be safely ignored.
Hint: In some cases, the output file of electron excitation task may contain large number of states, while for
performing two- or three-level model analysis we always only need the first few low-lying excited states. In order
to significantly reduce the cost of generating the SOS.txt in this situation, you can properly set "maxloadexc"
parameter in settings.ini. For example, the output file contains as many as 100 excited states, however it is anticipated
that the state of interest should be no higher than the 5th excited state, hence you can set "maxloadexc" to 5, then
only the first 5 excited states will be recognized, loaded, and subjected to calculation.
Please read Section 3.27.3 first to gain basic knowledge about (hyper)polarizability density
and spatial contribution to (hyper)polarizability analyses. Below we will study the second
hyperpolarizability density for a typical small molecule H2CO. Polarizability density and first
hyperpolarizability density can also be studied via almost exactly the same way, you just need to
choose corresponding quantity in the interface of Multiwfn.
The orientation of the molecule must be clarified when perform this kind of analysis, in current
case the C=O bond is parallel to the Z-axis, as shown below. In this example we focus on studying
(3)
ZZZ component of second hyperpolarizability density (𝜌𝑧𝑧𝑧 ) and spatial contribution to zzzz (ZZZZ
(3)
component of second hyperpolarizability), namely −𝑧𝜌𝑧𝑧𝑧 .
Preparation work
Boot up Multiwfn and input
900
4 Tutorials and Examples
examples\polar\polardens\H2CO.xyz //Multiwfn will load the geometry from this file, which
contains the same coordinate as gamma.gjf
24 //(Hyper)polarizability analysis
3 //(Hyper)polarizability density analysis
3 //Study second hyperpolarizability density and spatial contribution to second
hyperpolarizability
3 //Z direction
1 //Generate Gaussian input files of single point task under different external electric fields
[Press ENTER button directly] //Use 0 and 1 as net charge and spin multiplicity, respectively
Now Multiwfn generates Z-2.gjf, Z-1.gjf, Z+1.gjf and Z+2.gjf in current folder. If you open
them via text editor, you will find they correspond to single point task at PBE0/aug-cc-pVTZ level
under different electric fields, and meantime .wfx file (a wavefunction format) with same name as
input file will be generated in current folder. The magnitude of finite electric field is 0.003 a.u.,
therefore, for example, Z+2.gjf corresponds to applying Z-direction external electric field of
0.003*2 = 0.006 a.u. magnitude. The “nosymm” keyword in the files are important, which prevents
Gaussian from automatically reorientating the molecule during calculation. You may manually
change keywords in the .gjf files if you want to use other computational level and settings.
Run the .gjf files via Gaussian (you may use the runall.sh shell script in “examples” folder to
invoke Gaussian to run all files in current folder). Then you will find Z-2.wfx, Z-1.wfx, Z+1.wfx and
Z+2.wfx in current folder.
Next, input following commands in Multiwfn
2 //Load .wfx files of single point task under different external electric fields
[Press ENTER button directly] //Assume that the .wfx files are in current folder
As prompted on screen, all needed .wfx files have been found by Multiwfn, and a new interface
appears, you can choose to calculate grid data or plot plane map. Evidently, the “second
hyperpolarizability density” and “spatial contribution to second hyperpolarizability” in the interface
(3) (3)
in the present situation refer to 𝜌𝑧𝑧𝑧 and −𝑧𝜌𝑧𝑧𝑧 , respectively.
Visualization isosurface map
(3)
We first visualize isosurface map of 𝜌𝑧𝑧𝑧 . To do so, we input
1 //Generate grid data of second hyperpolarizability density
2 //Medium quality grid
1 //Visualize isosurface map
(3)
After setting isovalue to 0.5, you will see the isosurface map of 𝜌𝑧𝑧𝑧 :
901
4 Tutorials and Examples
However, from this map it is still somewhat difficult to discuss contribution of various spatial
(3)
regions to the ZZZZ, because the -z factor has not been taken into account. To obtain −𝑧𝜌𝑧𝑧𝑧 , we
close GUI window, and input below commands
0 //Return
2 //Generate grid data of spatial contribution to second hyperpolarizability
2 //Medium quality grid
From screen you can find the integral of the current grid data is 3008.2 a.u., which is close to
the γZZZZ value 3092.1 a.u. shown in examples\polar\polardens\gamma.out, indicating that the grid
(3)
data of −𝑧𝜌𝑧𝑧𝑧 is indeed reasonable (if you use higher quality grid and enlarge the default extension
distance when setting up grid, the integral will become closer to 3092.1 a.u.).
Now choose option 2 to visualize isosurface map. After setting isovalue to 2, you will see the
(3)
following isosurface map of −𝑧𝜌𝑧𝑧𝑧 :
In the figure, the regions enclosed by green (blue) isosurfaces have positive (negative)
902
4 Tutorials and Examples
contribution to γZZZZ. It can be seen that in the molecular valence region, the contribution is basically
negative, however at the two ends of the molecule the contribution is remarkably positive, and the
magnitude obviously exceeds the negative region, this is why the current system has an evidently
positive value of γZZZZ. Clearly via such a picture, you can immediately explain why a component
of γ is big or small, or why it is positive or negative. Undoubtedly this kind of analysis is extremely
useful in studying underlying characteristics of (hyper)polarizability!
903
4 Tutorials and Examples
After choosing “-5 Return to main menu”, then you can select “4 Plot plane map of spatial
(3)
contribution to second hyperpolarizability” to plot −𝑧𝜌𝑧𝑧𝑧 via similar way.
Obtaining atomic contribution to (hyper)polarizability
Thanks to the flexibility of Multiwfn, one can easily obtain atomic contribution to
(hyper)polarizability by integrating corresponding (hyper)polarizability density in each atomic
space based on its grid data. Commonly, employing fuzzy atomic space is recommended, because
the cost is very low. Here we will calculate atomic contributions to ZZZZ by integrating grid data of
-z(3)ZZZ.
(3)
After generating grid data of −𝑧𝜌𝑧𝑧𝑧 via the option “2 Generate grid data of spatial contribution
to second hyperpolarizability” mentioned earlier, we select option “2 Export grid data as cube file”
and then press ENTER button directly to export the grid data as grid.cub in current folder. Then set
"iuserfunc" in settings.ini to -1, so that the user-defined function will correspond to the interpolated
function based on the loaded grid data. Reboot Multiwfn, load grid.cub, then input below commands:
15 //Fuzzy atomic space analysis
1 //Integrate a real space function in every atomic space
100 //User-defined function
The result is
Atomic space Value % of sum % of sum abs
The values under "Value" label are atomic contributions to ZZZZ, and the values under the "%
of sum" are percentage contributions. From the data it is clear that the two hydrogens and the oxygen
904
4 Tutorials and Examples
have major contribution to ZZZZ. The sum of all values is 2999.4 a.u., which is also quite close to
the ZZZZ value (3092.1 a.u.) outputted by Gaussian polar=gamma task, implying that the data is
meaningful.
Please read Section 3.27.5 if you are not familiar with unit sphere and vector representation
analysis of (hyper)polarizability. In this section, I will take CH3NHCHO and cyclo[18]carbon as
instances to show how to use Multiwfn in conjunction with VMD visualization software to realize
these kinds of analysis and to demonstrate the usefulness of these methods.
4.24.5.1 First-order hyperpolarizability of CH3NHCHO
In this section, we analyze SHG (second-harmonic generation) type of dynamic first
hyperpolarizability () at 1030 nm for CH3NHCHO, one of our purposes is to reproduce the Fig.
2(e) in the original paper of the unit sphere representation method (J. Comput. Chem., 32, 1128
(2011)). We will use the same calculation level as the authors, namely B3LYP/6-311+G** for
geometry optimization and HF/6-311++G** for hyperpolarizability calculation. The authors
employed GAMESS-US program, but we will employ Gaussian to calculate .
[blank line]
B3LYP/6-311++G** opted
[blank line]
0 1
[blank line]
450nm 1030nm
In this input file, polar=DCSHG requests Gaussian to calculate hyperpolarizability of SHG type,
namely (-2;,). Two frequencies of incident light are loaded from the end of input file, as
requested by CPHF=rdfreq keyword. Note that #P must be employed, otherwise Multiwfn will be
unable to parse (hyper)polarizability from the output file.
Now we use Multiwfn to parse the output file and export as .txt file. Boot up Multiwfn and
input below commands
examples\polar\CH3NHCHO\polar.out
24 // (Hyper)polarizability analysis
1 // Parse "polar" task of Gaussian. PS: If you are not familiar with this function, please check
Section 3.27.1 for introduction and 4.24.1 for example
-1 // Request Multiwfn to parse dynamic (hyper)polarizability
-4 // Request Multiwfn to export parsed (hyper)polarizability as .txt file
905
4 Tutorials and Examples
As mentioned in Section 3.27.5, to realize unit sphere representation, generally you should let
Multiwfn load a file containing atom coordinate, so that Multiwfn can determine proper radius of
the sphere. Here we let Multiwfn directly load atom coordinate from Gaussian output file. To do so,
we change "iloadGaugeom" in settings.ini to 2, that means requesting Multiwfn to load atom
coordinate in standard orientation from the loaded Gaussian output file. Then boot up Multiwfn and
input
examples\polar\CH3NHCHO\polar.out
24 // (Hyper)polarizability analysis
5 // Visualize (hyper)polarizability via unit sphere and vector representations
Now you can find many options used to adjust plotting parameters, such as radius and length
of the arrows on sphere, number of arrows and so on, currently we use default setting. We select
option 2, from prompt on screen you can find Multiwfn automatically loads tensor from beta.txt
in current folder because it exists, and then export beta.tcl in current folder, which corresponds to
VMD plotting script of unit sphere representation. You can also find beta_vec.tcl has been exported
in current folder, which is VMD plotting script of vector representation.
Since we also want to display molecular structure in VMD, we need to generate a file
containing atom information that can be recognized by VMD, therefore we input
0 // Exit current function
0 // Return to main menu
100 // Other function (Part 1)
2 // Generate new file
1 // Export current geometry as .pdb file
CH3NHCHO.pdb
Now we have CH3NHCHO.pdb in current folder, and we can close Multiwfn program.
Moving the beta.tcl and beta_vec.tcl from current folder to VMD installation folder, then boot
up VMD and input source beta.tcl and source beta_vec.tcl in VMD console window to run these
two plotting scripts in turn. Next, drag CH3NHCHO.pdb to "VMD Main" window to load it, then
enter "Graphics" - "Representation" and change "Drawing Method" to "CPK". Now you can see
below figure in VMD graphical window, two side views are given:
906
4 Tutorials and Examples
You can find this map is almost exactly identical to Fig. 2(e) in J. Comput. Chem., 32, 1128 (2011),
the marginal differences come from numerical aspects and the fact that definition of B3LYP in
Gaussian is slightly different to that in GAMESS-US. In this map, the arrows on sphere correspond
to scaled eff vectors, the arrow direction is in line with eff, and the length equals to norm of eff
multiplied by scale factor. The arrows are colored according to its length, the shortest (longest)
arrow is colored as blue and red, respectively, the white arrows have medium length. The starting
points of the arrows are evenly distributed on a sphere surface, the sphere radius can be controlled
by corresponding option in Multiwfn.
What can we learn from above maps? In order to elucidate this point, three featured zones are
labelled. The pink arrows are normal vectors at corresponding point of the sphere surface.
• Region 1: If two external electric fields are applied to the molecule along the direction
indicated by the pink arrow, their combination effect will result in occurrence of induced dipole
moment in the same direction, as exhibited by the small arrows on the sphere.
• Region 2: Similar to region 1, but the induced dipole moment occurs in the inverted direction
as applied electric field.
• Region 3: If two external electric fields are applied from top to bottom, as illustrated by the
pink arrow, their combination effect will lead to induced dipole moment pointing to the right. This
seemingly weird phenomenon reflects anisotropic response character of this molecule. Clearly,
907
4 Tutorials and Examples
without employing the unit sphere representation method, this point can hardly be noticed.
Since the in the present example is SHG type corresponding to 1030 nm, the external electric
fields mentioned above in fact vary with frequency of 1030 nm, they source from 1030 nm light
radiating in the direction perpendicular to them.
The large green arrow in above map is referred to as vector representation, it corresponds to
scaled (x, y, z) vector and exhibits primary character of the . It can be seen that its direction is
basically identical to the vector sum of all arrows on the sphere. Undoubtedly, this vector
representation is concise and useful in representing , however, anisotropy character of is fully
ignored.
908
4 Tutorials and Examples
The arrows on the sphere in this figure reflect magnitude and direction of induced dipole
moment when an external electric field of the same strength is applied to different directions from
the center of the molecule. It can be clearly seen from the figure that the polarizability of the
cyclo[18]carbon ring in the direction parallel (perpendicular) to the ring plane is large (small). This
observation is easy to understand, as indicated in my cyclo[18]carbon research paper Carbon, 165,
468 (2020), this system has 36 highly delocalized electrons (18 in-plane and 18 out-of-plane ones),
therefore when electric field is applied parallelly to the ring, these electrons will be significantly
polarized, resulting in large induced dipole moment; in contrast, the electrons in this system is not
so easily be polarized in the direction perpendicular to the ring. Note that in my cyclo[18]carbon
paper Carbon, 165, 461 (2020), the value of the components parallel to and perpendicular to the
ring are reported to be 392 and 98 a.u., respectively, evidently the figure shown above is fully in
line with these quantitative values.
The three large double-sided arrows at the center of the above figure exhibit relative magnitude
of along X, Y, and Z directions, the way of calculating their lengths (x, y, z) has been mentioned
in Section 3.27.5. From the arrow lengths it is very clear that has much lower magnitude in the
direction perpendicular to the ring compared to other directions.
Similarly, we use unit sphere representation to visually study . In the Multiwfn window we
input
-3 // Change scale factor of length of the arrows on sphere
1E-5 // This value is significantly smaller than default one, since magnitude of is quite large
-5 // Change length scale factor for the arrow of vector representation
0.00005
1 // Perform unit sphere representation analysis of . Since gamma.txt already exists in current
folder, tensor is automatically loaded from it
Move the newly generated gamma.tcl and gamma_vec.tcl from current folder to VMD folder,
and then run them in turn in the VMD software.
Notice that the tensor parsed by subfunction 1 of main function 24 corresponds to input
909
4 Tutorials and Examples
orientation (in contrast, the parsed and correspond to standard orientation), therefore, the
molecular structure file loaded into VMD must also correspond to input orientation, otherwise the
unit sphere representation map may be misleading. In order to yield the .pdb file corresponding to
input orientation, we change "iloadGaugeom" in settings.ini to 1, then reboot Multiwfn and input
examples\polar\C18\gamma.out // Geometry in input orientation will be loaded from this file
100 // Other function (Part 1)
2 // Generate new file
1 // Export current geometry as .pdb file
C18.pdb
Load the C18.pdb into VMD and show it in CPK style, you will see below figure
The character of this map is similar to that of map. From the colored small arrows, it can be
seen that combination effect of three electric fields applied parallelly to the ring can induce a
relatively strong dipole moment variation in the same direction, while in the direction perpendicular
to the ring this phenomenon is much weaker.
From the vector representation, namely from the lengths of the three double-sided large arrows
along X, Y, and Z axes, one can better recognize the relative magnitude of along the three directions.
Since the cyan arrow is quite short, the in Z direction is relatively negligible.
Some aromaticity analysis examples are given below, while most electron delocalization and
aromaticity analyses in Multiwfn are illustrated in other sections, see Section 4.A.3 for an overview.
Iso-chemical shielding surface (ICSS) denotes isosurface of magnetic shielding value, which
presents intuitive picture on aromaticity. If you are familiar with NICS, you can also simply view
910
4 Tutorials and Examples
ICSS as the isosurface of NICS with inverted sign. Please see Section 3.28.3 for more information.
In this example we will study benzene. Since this is a planar system, we will plot ICSSZZ instead of
ICSS, namely only the component of magnetic shielding tensor perpendicular to molecular planar
will be taken into account. ICSSZZ must be more physically meaningful than ICSS, just like NICSZZ
is a better aromaticity index than NICS (as demonstrated in Org. Lett., 8, 863 (2006)). Meanwhile I
will also show how to plot magnetic shielding values along a line and in a plane.
AFAIK, ICSSZZ was firstly proposed by me during implementation of ICSS in Multiwfn. So,
if ICSSZZ is involved in your work, please cite my study work containing ICSSZZ analysis: Carbon,
165, 468 (2020).
You should first prepare a Gaussian input file of standard single point task for present system,
which will be taken as template input file later. This file has already been provided as
examples\ICSS\benzene.gjf, in which the geometry has already been optimized at a reasonable level.
Boot up Multiwfn and input below commands
examples\ICSS\benzene.gjf // Note that molecular plane is in XY plane
25 // Electron delocalization and aromaticity analyses
3 // Generate grid data of ICSS or related quantities
1 // Low quality grid, magnetic shielding tensor at 130910 points will be calculated by
Gaussian later. Using "medium quality grid" could result in smoother maps, but the calculation will
be much more expensive. Note that the default extension distance is 12 Bohr, which is usually large
enough
n // Do not skip the step of generating Gaussian input file, because this is the first time we
carry out analysis and thus currently we do not have Gaussian input/output files in hand
Now Multiwfn generates a lot of Gaussian input files of NMR task in current folder based on
the template file. The files are named as NICS0001.gjf, NICS0002.gjf ... NICS0017.gjf. Run these
files by Gaussian, the NICS0001.gjf must be run as the first one. The output files can be directly
downloaded from here: http://sobereva.com/multiwfn/extrafiles/benzene_ICSS.rar.
Note: If these files cannot be run by your Gaussian normally, please check the tail of the output file, there are
two common reasons:
(1) The %mem is too small to finish the task, you need to set %mem in the template .gjf file to a large value
and retry.
(2) The "NICSnptlim" in settings.ini is too large, you should properly reduce it and try again. The reason is that
in Gaussian there is a limit on the number of Bq atoms, and it is somewhat dependent of the version of Gaussian and
your computer. For G09 D.01 and E.01, you should add "guess=huckel" keyword, otherwise due to memory
allocation bug, the NICSnptlim has to be reduced to a very small value to make Gaussian run normally (in this case
the overall computational cost will be quite high). If error occurs in Link401 when "guess=huckel" is used, then try
to use "guess=core" instead. For G16, the guess keyword is not needed.
Hint: You can make use of the script "examples\runall.sh" (for Linux) or "examples\runall.bat" (for Windows),
which invokes Gaussian to run all .gjf files in current folder to yield output files with the same name but with .out
suffix.
Assume that the output files (NICS0001.out, NICS0002.out...) have been placed in
"C:\benzene" folder, in Multiwfn you should input C:\benzene\NICS. We want to study ICSSZZ first,
therefore we choose "5: ZZ component", then Multiwfn loads all Gaussian output files and convert
magnetic shielding tensors to grid data of ICSSZZ. After that you will see a new menu, you can
directly visualize isosurface of the grid data by option 1, export it as cube file by option 2 or reselect
the form of ICSS by option -1. The isosurface of ICSSZZ = 2.0 ppm is shown below
911
4 Tutorials and Examples
As you can see, the green isosurface (positive Z-component shielding value), completely
covers the region above and below the benzene ring, suggesting that due to the induced ring current
originated from the globally delocalized π-electrons, the Z-direction external magnetic field is
largely shielded in these regions, this observation implies the strong aromaticity of benzene. From
below scheme we can understand the ICSSZZ more deeply; in the cylindrical region perpendicular
to and through the benzene, the direction of induced magnetic field (purple arrows) is exactly
opposite to external magnetic field (B0), this is why in this region Z-component of magnetic
shielding value is large.
You can also see, blue isosurface (negative Z-component shielding value) presents in the outlier
region of benzene, exhibiting de-shielding effect. This is mostly because the induced magnetic field
is parallel to B0 and thus enhances B0 in this region.
If you properly rotate viewpoint, you will clearly find the C-H bond is also completely covered
by the green surface. The reason is that the σ-electrons involved in the C-H bonding form
conspicuous local induced ring current, so the external magnetic field is also strongly shielded
around the C-H bond.
If you want to export current grid data as .cub file so that you can visualize it via third-part
softwares such as VMD, you can close the GUI window and select 2 to export the grid data to
ICSSZZ.cub in current folder.
912
4 Tutorials and Examples
5 // Study ICSSZZ
As you can see, the grid setting we adopted this time is exactly identical to that we used to
generate the Gaussian input/output files, this point is extremely important. If the grid setting is not
the same, the file loading must be failed.
Next, I will show how to plot magnetic shielding value in a plane. Since we already have grid
data of ICSSZZ in hand, magnetic shielding value at any point in a line/plane can be easily obtained
by means of interpolation technique based on the grid data.
We first plot color-filled map for ICSSZZ in the YZ plane with X=0. This plane is normal to
benzene and crosses C4-H10 and C1-H7. Set "iuserfunc" in settings.ini to -3, and then boot up a
new Multiwfn instance and input below commands
ICSSZZ.cub
4 // Plot plane map
100 //User-defined function, which now corresponds to the function interpolated by the grid
data of ICSSZZ.cub via B-spline algorithm
1 // Color-filled map
[Press Enter button]
0 // Set extension distance of the plot
8 // 8 Bohr
3 // YZ plane
0 // X=0
Now the graph pops up, close it and then input
4 // Show atom labels
3 // Blue
1 // Change lower and upper limit of color scale
-60,60
2 // Enable showing contour lines
-2 // Set label interval in X, Y and color scale axes
3,3,10
19 // Set color transition
8 // Blue-White-Red
-1 // Replot the map
Now you can see below map
913
4 Tutorials and Examples
From the graph one can find that although Z-component of magnetic shielding in the center of
benzene is a positive value, the magnitude is by far less than that in the regions above and below
the ring plane. The reason is clear, that is benzene only has π-aromaticity, while its σ-electrons are
not globally delocalized to form σ-aromaticity, so the shielding effect in the plane is relatively weak
due to lack of formation of σ-ring current.
Next, we plot curve map to study the variation of magnetic shielding in the line perpendicular
to ring plane and starting from ring center. Choose -5 to return to main menu and input
3 // Plot curve map
100 // User-defined function
2 // Input coordinate of two points to define a line
0,0,-8,0,0,8 // The line starts from 8 Bohr below and above the ring center
You will immediately see
914
4 Tutorials and Examples
It can be seen that the maximum of Z-component of magnetic shielding occurs about 1.8 Bohr
above/below the ring plane. If you choose "6 Find the positions of local minimum and maximum",
you will see
Maximum X (Bohr): 6.122667 Value: 0.28936394E+02
That is the maximal value of ICSSZZ along the line is 28.9 ppm, whose position is 9.88-8=1.88 Bohr
(0.995 Å) above/below the ring plane. While at the ring center, the ICSSZZ is merely 13.2 ppm.
Beware that since the extension distance used in the calculation of grid data of ICSS ZZ is only 12 Bohr, when
we plot curve or plane map based on the interpolated data of ICSSZZ, the spatial range involved in the map should
not be too large. For example, we cannot plot the curve map from (0,0,0) to (0,0,20). If a point is beyond the valid
spatial range of grid data interpolation, the value will be 0.
Epilogue
ICSS/ICSSZZ is really a very useful method for discussing aromaticity and anti-aromaticity,
many instances can be found in the original paper of ICSS (J. Chem. Soc. Perkin Trans. 2, 2001,
1893), and in some applicative papers, such as J. Phys. Chem. C, 123, 18593 (2019) as well as my
research on cyclo[18]carbon, Carbon, 165, 468 (2020).
I strongly recommend you do some more practices about plotting and analyzing ICSS/ICSSZZ,
I provided some ideal exercise systems in "examples\ICSS" folder, including azulene,
cyclobutadiene, cycloheptatriene, porphyrin, propane and pyracylene; among them cyclobutadiene
is the simplest one. Below is the ICSS = 0.5 isosurface of cyclobutadiene showing in two styles;
from the graph it is clear that this system shows strong anti-aromaticity character, the 4n π-electrons
cause evident de-shielding effect in the cylindrical region perpendicular to and through the ring, this
situation is in complete contrast to benzene.
915
4 Tutorials and Examples
I wrote a very detailed post to discuss ICSS, in which all systems in "examples\ICSS" folder
are involved, see "Using Multiwfn to study aromaticity by drawing iso-chemical shielding surfaces"
(in Chinese, http://sobereva.com/216).
HOMA is the most prevalently used aromaticity index based on geometry equalization, see
Section 3.28.6 for detail. Here we use HOMA to study which ring of phenanthrene has stronger
aromaticity.
Since calculation of HOMA only requires molecular coordinate, you can simply use such
as .pdb and .xyz as input file. Of course, other files containing molecular coordinate, such as .wfn
and .fch files are acceptable too. The geometry in present instance is optimized under B3LYP/6-
31G* level.
916
4 Tutorials and Examples
Obviously, C4-C8 deviates to ideal bond length 1.388 most significantly, giving rise to large
negative contribution to HOMA, in other words, significantly broke aromaticity. The HOMA value
is calculated as 1 plus the contributions from all bonds in the ring.
Then input 8,15,14,13,11,9 to calculate HOMA for the boundary ring, the result is 0.855126.
Since this value is much closer to 1 than the one for central ring, HOMA suggests that the two
boundary rings have stronger aromaticity.
Bird index is another quantity used to measure degree of aromaticity, see Section 3.28.6 for a
brief description. Now choose option 2 to calculate Bird index for the two rings, you will find the
value for boundary ring is closer to 100 than the central ring. Likewise HOMA, Bird index also
indicates that the two boundary rings have stronger aromaticity.
In this section I will illustrate how to plot NICS curve and calculate its integral to study
aromaticity. Please read Section 3.28.13 to gain some basic knowledge.
4.25.13.1 Example 1: NICSZZ curve of infinitene
Infinitene molecule optimized at PBE0/6-31G* level is examples\NICS_scan\infinitene.pdb, as
shown below (two perspectives are given). In this example we will perform NICSZZ scan for the
highlighted ring. The scanning direction is perpendicular to the fitted ring plane to the outside of the
system and starts from geometric center of the ring.
917
4 Tutorials and Examples
2 //The two end points of scanning line are above and below the center of a plane fitted for
specific atoms, and the line perpendicularly passes through their center
35-37,68-69,71 //Using these atoms (highlighted in above map) to define a fitting plane
[Press ENTER button directly] //The center is chosen as geometric center of the selected atoms
(in this step you may also input coordinate of other type of center, such as the ring critical point
obtained by topology analysis module of Multiwfn)
10 //An end point of the scanning line is above 10 Å of the fitting plane from the center
0 //Another end point is below 0 Å of the fitting plane from the center, namely the scan will
start from the ring center
[Press ENTER button directly] //Using recommended number of scanning points (100 points
in this example), which corresponds to approximately 0.1 Å of step size
1 //Generate Gaussian input file for NICS-1D scanning
examples\NICS_scan\template_NMR.gjf //Template input file of NMR task of Gaussian,
which is used to generate Gaussian input file for NICS-1D scan. [geometry] line in this file will be
replaced with coordinates of scanning points, while other parts are kept unchanged
Now NICS_1D.gjf has been generated in current folder. You can load it into GaussView to
visualize the scanning points, see below. The purple spheres are Bq atoms, for which magnetic
shielding tensor will be calculated in the NMR task. It can be seen that all Bq atoms occur evenly
on the expected scanning line.
For reducing cost, manually changing the basis set in NICS_1D.gjf to 6-31G*. Then run it by
Gaussian. The corresponding input and output files have been provided as infinitene_NICS_1D.gjf
and infinitene_NICS_1D.out in “examples\NICS_1D” folder.
Next, in the Multiwfn window, input
2 //Load Gaussian output file of NICS-1D scanning
examples\NICS_scan\infinitene_NICS_1D.out //Gaussian output file
Then a new interface appears, the options are self-explanatory. A noteworthy option is -1, from
which you can choose the component of NICS to study. By default, the component perpendicular to
the fitting plane is used, which is most meaningful in characterizing aromaticity. We will refer it to
NICSZZ by assuming that Z is the direction normal to the fitting plane.
Now choose option 1 to plot NICS curve (currently corresponding to NICSZZ), you will see the
918
4 Tutorials and Examples
following map (you can flip the map horizontally by selecting option -3 once before choosing this
option)
It can be seen that the ring is aromatic, as the NICSZZ is evidently negative, especially at the
distance 1 Å to the ring center.
From screen you can also find integral of the curve:
Integral of NICS component: -96.19 ppm*Angstrom
The content of the template file used this time is as follows, which requests Gaussian to
calculate magnetic shielding information only contributed by MOs 17,20,21 (-MOs of benzene at
current level). The keywords nmr=csgt iop(10/93=2) must present. AICD.txt is the file generated
919
4 Tutorials and Examples
by the IOp, which is fully useless in this situation, you can simply delete it after running.
#p b3lyp/6-31+G* nmr=csgt iop(10/93=2)
template file
0 1
[geometry]
AICD.txt
17,20,21
Use Gaussian to run the NICS_1D.gjf generated in current folder. The output file has been
provided as examples\NICS_scan\benzene-pi_NICS_1D.out.
Next, in the Multiwfn window, input
2 //Load Gaussian output file of NICS-1D scanning
examples\NICS_scan\benzene-pi_NICS_1D.out //Gaussian output file
1 //Plot NICS curve map, which corresponds to NICS,ZZ in present case
Now you can see the following map. X=0 corresponds to position of ring center.
You can plot NICS,ZZ via almost exactly the same way, the only difference is that in the
template file you should specify indices of MOs. The corresponding template file is
examples\NICS_scan\template_NMR_benzene-sigma.gjf.
In the “examples\NICS_scan\” folder, C5H5-.pdb and C7H7+.pdb are optimized C5H5− and
C7H7+ ions, respectively. You can use the same way as shown above to obtain their NICS,ZZ and
NICS,ZZ curves, relevant files are also provided in the folder. Note that in the interface, you can
choose option “3 Export NICS curve data along the line” to export curve data as plain text file. Then,
after importing the curve data corresponding to different situations into e.g. Origin, you can plot
them together, as shown below.
920
4 Tutorials and Examples
It can be seen that electrons have considerable influence on NICSZZ around ring center. All
the three systems show comparable aromaticity according to the NICS,ZZ curves. However, their
difference can be determined quantitatively from their integrals. The integral of NICS,ZZ for
benzene, C5H5− and C7H7+ are -142.45, -134.85 and -145.02 ppmÅ, respectively, indicating that
strength of aromaticity is C7H7+ benzene > C5H5−.
In this section I will illustrate how to plot NICS plane map. Please read Section 3.28.14 to gain
some basic knowledge. Note that NICSZZ in the following examples refers to the NICS component
perpendicular to the plane of interest, Z does not always correspond to Z-axis.
4.25.14.1 Plotting NICSZZ plane map above 1 Å of coronene
In this example we plot color-filled NICSZZ plane map above 1 Å of coronene, the coronene
optimized at B3LYP/6-31G* level is examples\NICS_scan\coronene.pdb. The molecule is exactly
planar and lying at XY plane of Z=0.
Boot up Multiwfn and input following commands
examples\NICS_scan\coronene.pdb
25 //Electron delocalization and aromaticity analyses
14 //NICS-2D scan plane map
1 //Color-filled map
[Press ENTER button directly] //Using default number of grid points (100*100)
0 //Set extension distance
1 // 1 Bohr
1 //XY plane
1a //Z = 1Å
1 //Gaussian input file for NICS-2D scanning
921
4 Tutorials and Examples
Close the map shown on screen, then input the following commands to fine-tune the plotting
settings
4 //Enable showing atom labels
1 //Red
8 //Enable showing bonds
14 //Brown
17 //Set distance threshold for showing atom labels
5 //5 Bohr
y //Show labels of the atoms that beyond the threshold by light font
1 //Set lower&upper limit of color scale
-45,45
-8 //Change length unit of the graph to Angstrom
-2 //Set label intervals in X, Y, and color scale axes
2,2,10
2 //Enable showing contour lines
3 //Change contour line setting
8 //Generate contour value by arithmetic progression
-50,5,21 //Starting value, step, and total number
y //Removing existing contour lines. Then the contour values will be -50,-45,-40...40,45,50
1 //Save setting and return
-1 //Replot
Now you obtain the following map. From which it is clear that the outer rings has stronger
aromaticity than the internal ring, as NICSZZ above 1 Å of the former is evidently more negative
than that of the latter.
922
4 Tutorials and Examples
923
4 Tutorials and Examples
1 //The plotting plane is parallel to the fitting plane and at 1 Å above it. Negative value means
below it
6 //Length of the plotting plane (a square region) is set to 6 Å
Now you can find following information on screen:
draw triangle { 2.495 2.581 -1.739} { -1.211 -0.235 2.047} { 6.776 -1.451 -0.547}
draw triangle { -1.211 -0.235 2.047} { 6.776 -1.451 -0.547} { 3.070 -4.266 3.239}
If you load the N(phenyl)3.pdb into VMD and then run the above three commands in VMD console
window, and then properly adjust graphical representation, you will see the following map, which
illustrates the region corresponding to the plotting plane. It can be seen that the plotting plane has
been correctly defined.
924
4 Tutorials and Examples
It is clear that the phenyl ring is aromatic, as NICSZZ above 1 Å of it is evidently negative.
Also, it is noted that the magnetic shielding is slightly stronger in the internal side of the ring than
the ring center.
I suggest you read Section 3.100.4 first, the aim of this example is to show you the usefulness
and universality of numerical integration. In quantum chemistry program, kinetic energy and nuclear
attraction potential energy integration are evaluated analytically, analytical method has advantage
in both speed and accuracy. In Multiwfn you can evaluate them by general numerical integration
function. Local kinetic energy (or called “kinetic energy density”) is a built-in function, we first
integrate this function over the whole space to get total kinetic energy. Boot up Multiwfn and input:
examples\COCl2.wfn // HF/6-31G* wavefunction
100 // Other functions (Part 1)
4 // Integrate a function over the whole space
6 // Hamiltonian kinetic density K(r)
The result is 1031.1092, which is very close to the Gaussian outputted value 1031.1107.
Because I do not want the list of real space function becomes lengthy, so rarely used functions
such as local nuclear attraction potential energy are not chosen as built-in function, however you
can still easily make these functions available by hacking source code, please consult Appendix 2.
First, search “function userfunc” in function.f90, change the default content, namely
"userfunc=1.0D0", to "userfunc = -nucesp(x,y,z)*fdens(x,y,z)", then recompile Multiwfn, redo
above procedure but select function 100 as integrand, you will get nuclear attraction potential energy
925
4 Tutorials and Examples
-2839.1668, the value outputted by Gaussian is -2839.1629, evidently they are rather close. If you
want to obtain nuclear attraction potential energy contributed from a specific orbital, use subfunction
26 of main function 6 to set occupation number of other orbitals to zero, and then do the integration
as before.
To further illustrate the flexibility of numerical integration function in Multiwfn, assume that
you want to calculate expectation of r2 operator, you can modify the content of “userfunc” routine
to "userfunc = (x*x+y*y+z*z)*fdens(x,y,z)", then recompile Multiwfn and redo the integration, you
will get 444.6523, which is in excellent agreement with the analytically calculated <r2> 444.652363
outputted by subfunction 5 of main function 300 (see Section 3.300.5 for detail).
Tip: You may have already noticed that the two lines of the codes colored by blue above have presented in
"userfunc" routine, and they correspond to iuserfunc==12 and iuserfunc==3 respectively. So actually you needn't to
modify and recompile the source code of Multiwfn, by simply changing "iuserfunc" parameter in settings.ini from
the default value 0 to 12 and 3 respectively, the user-defined real space function will be equivalent to the two
functions. For more about the built-in real space functions in "userfunc" routine, see Section 2.7.
The principle of the simple energy decomposition has been introduced in Section 3.100.8,
please read it first. Here we try to use this method to analyze components of interaction energy
between NH3 and BH3 in the adduct NH3BH3 at B3LYP/6-31G* level. The Gaussian input and
output files involved in this section can be found in "examples\EDA\EDA_simple" folder. The
Gaussian version used here is Gaussian 16 B.01.
(1) Perform structure optimization task for NH3BH3, and then create a new input file with the
optimized coordinate, named NH3BH3.gjf.
(2) Duplicate NH3BH3.gjf as NH3.gjf and BH3.gjf, then remove BH3 fragment in NH3.gjf, and
remove NH3 fragment in BH3.gjf. Add pop=full nosymm keywords in both NH3.gjf and BH3.gjf.
(3) Run the input file of the two fragments by Gaussian respectively to generate NH3.out and
BH3.out.
(4) Boot up Multiwfn, input following commands
NH3.out //Fragment 1
100 // Other functions (Part 1)
8 // Generate Gaussian input file with initial guess combined from fragment wavefunctions
2 // There are two fragments in total
BH3.out //Fragment 2
Multiwfn generates new.gjf in current folder, this is the Gaussian input file for NH3BH3 with
fragment-combined wavefunction as initial guess.
(5) Make sure nosymm keyword is presented in the new.gjf. In order to output SCF energy in
each iteration, change "#" to "#P". pop=full keyword can be deleted.
(6) Run new.gjf by Gaussian to generate new.out.
From NH3.out and BH3.out , we can find their single point energies:
926
4 Tutorials and Examples
namely the total interaction energy between NH3 and BH3 is -190.44 kJ/mol, the orbital interaction
energy -230.37 kJ/mol significantly stabilized the adduct; while the steric term (sum of electrostatic
interaction energy, Pauli repulsion energy and change in exchange-correlation energy), destabilized
the adduct by 39.93 kJ/mol.
In the present system, compared to other energy components, the dispersion interaction can be
safely neglected, so we did not discuss it separately. However, if the system you studied is a complex
bound by weak interaction, you must also study the dispersion component in total interaction energy
separately due to its great importance, see the description in Section 3.100.8 on how to evaluate it.
The biorthogonalization algorithm between alpha and beta orbitals has been introduced in
Section 3.100.12, please read it first, this transformation makes interpretation of orbitals generated
by UHF or UKS calculation much easier, since only one set of orbitals will then need to be examined.
In this section I will illustrate the value of this analysis, examples\ethanol_triplet.fch is taken as
example.
This system has 14 occupied alpha and 12 occupied beta orbitals, first let us look at some of
them:
927
4 Tutorials and Examples
It can be seen that only alpha orbital 12 pairs well with beta orbital 12, while other alpha and
beta orbitals with the same index do not like with each other. Clearly, it is troublesome when we
discuss orbital characteristics of this wavefunction, because we must simultaneously inspect two
sets of orbitals.
Now we carry out the biorthogonalization for this wavefunction. Boot up Multiwfn and input
examples\ethanol_triplet.fch
100 // Other functions (Part 1)
12 // Perform biorthogonalization between alpha and beta orbitals
2 // Do biorthogonalization for all orbitals
0 // Do not evaluate energies of biorthogonalized orbitals
The biorthogonalization for this wavefunction consists of three successive steps. For example,
the outputted information of the first step is
Doing biorthogonalization for alpha 1 to 14, Beta 1 to 12
As shown, this step performs biorthogonalization between alpha orbitals 1~14 and beta orbitals
1~12. The overlap integrals between the resulting alpha and beta orbitals with the same index are
all very close to 1.0, showing that the first 12 alpha orbitals have almost perfectly paired with the
first 12 beta orbitals.
Once all the three steps have been finished, biortho.txt and biortho.fch are generated in current
folder. The content of biortho.txt is shown below:
S = Singular value, E = Energy (in eV), O= Occupancy, A=Alpha, B=Beta
...[ignored]
-----------------------------------------------
-----------------------------------------------
928
4 Tutorials and Examples
...[ignored]
The information is very easy to understand. Since singular value (S) of all orbitals shown above is
very close to 1.0, therefore the alpha orbitals match well with the beta orbitals having the same
index.
The exported biortho.fch contains wavefunction of the biorthogonalized orbitals, the “orbital
energies” information of these orbitals now correspond to the singular values. Next, if you input y,
this file will be immediately loaded, and then the orbitals in memory will correspond to the
biorthogonalized orbitals. Here we input y to load the biortho.fch, then enter main function 0 to
visually examine the newly generated 11~14 alpha and 11~14 beta orbitals, you will see
From the isosurface map it can be seen that the current alpha and beta orbitals match with each
other perfectly. The concept "singly occupied molecular orbitals" (SOMO) was originally defined
for restricted open-shell wavefunction, but now it can also be ideally applied to current
wavefunction, the orbitals 13 and 14 now could be regarded as SOMO. It is well-known that spin
density of unrestricted open-shell wavefunction is determined by all occupied MOs, but after the
biorthogonalization, the spin density will only be contributed by the SOMOs. Obviously, the spin
density of current system directly corresponds to the sum of density of orbitals 13 and 14.
The HOMO and LUMO of singlet ethanol calculated at B3LYP/6-31G** level are shown
below. By comparing this graph and the last graph, one can find that the HOMO and LUMO look
very like the biorthogonalized alpha orbital 14 and 13, respectively. Hence it can be immediately
understood that the transition of ethanol between singlet and triplet states can be well represented
as HOMO→LUMO transition, because after such orbital transition both the HOMO and LUMO
will be occupied by one electron, this electronic structure just corresponds to that represented by the
biorthogonalized orbitals. Clearly, such valuable information cannot be obtained without the
biorthogonalization analysis, rendering importance of biorthogonalization in practical studies of
open-shell systems.
929
4 Tutorials and Examples
It worth to emphasize that the biorthogonalization does not alter any observable properties of
the system, such as total electronic energy, total density, spin density and so on. Since in above
process we did not ask Multiwfn to evaluate energies of the biorthogonalized orbitals, therefore after
the biorthogonalization the orbital energies are meaningless, they are still the energies of the original
molecular orbitals, and the order of the biorthogonalized orbitals does not reflect order of their actual
energies.
Biorthogonalization can also be applied to spin polarized singlet systems such as biradicals, an
example is given in my blog article "Principle and application of biorthogonalization method for
unrestricted open-shell wavefunctions" (in Chinese, http://sobereva.com/448).
Orb: 11 S= 0.9992 E(A)= -13.057 O(A)= 1.0 E(B)= -11.821 O(B)= 1.0
Orb: 12 S= 1.0000 E(A)= -11.918 O(A)= 1.0 E(B)= -11.866 O(B)= 1.0
-------------------------------------------------------------------------------
Orb: 13 S= 1.0000 E(A)= -11.439 O(A)= 1.0 E(B)= -5.806 O(B)= 0.0
Orb: 14 S= 1.0000 E(A)= -0.293 O(A)= 1.0 E(B)= 2.817 O(B)= 0.0
-------------------------------------------------------------------------------
Orb: 15 S= 0.9992 E(A)= 13.876 O(A)= 0.0 E(B)= 15.431 O(B)= 0.0
Orb: 16 S= 1.0000 E(A)= 15.057 O(A)= 0.0 E(B)= 15.305 O(B)= 0.0
...[ignored]
Because in the present example we have evaluated orbital energies, therefore the energies are also
explicitly shown in the biortho.txt. It can be seen that the basically paired alpha and beta
biorthogonalized orbitals have detectably different energies, for example E(alpha 11)= -13.057eV
while E(beta 11)= -11.821 eV, this is because alpha and beta orbitals feel different effective
potentials (i.e. alpha and beta Fock operators are different). In addition, one can find that the order
of orbital index has in line with order of orbital energy, because we have requested Multiwfn to
order the orbitals according to their energies (more specifically, the average energy of alpha and
beta orbitals with the same index). Note that the orbital energy information in the biortho.fch now
also corresponds to the actual energy of the biorthogonalized orbitals.
Then, you can input y to load the just generated biortho.fch so that we can then directly use
main function 0 to visualize the biorthogonalized orbitals. The two occupied alpha biorthogonalized
orbitals with highest indices, namely the two orbitals formally occupied by the two unpaired
930
4 Tutorials and Examples
Their shapes are very close to the alpha MO 13 (-10.083 eV) and alpha MO 14 (-0.276 eV), and
meantime the energies are not quite different.
Note that as mentioned in Section 3.100.12, the orbitals in each batch are ordered individually,
therefore the relative order of orbitals in different batches will not be altered due to the ordering. In
addition, the ordering is based on average energy of each alpha orbital and its beta counterpart, thus
alpha-beta orbital correspondence is retained during the ordering process.
By the way, it is also possible to evaluate energies of the biorthogonalized orbitals based on the Fock matrix
loaded from an external file (see Appendix 7 for details), and this is the only choice if the Fock matrix cannot be
successfully generated based on MO energies and coefficients. For example, the Fock matrix can be loaded from .47
file. Run examples\ethanol_triplet_47.gjf by Gaussian, then you will get ETHANOL_TRIPLET.47 in C:\ folder (the
file has been provided as examples\ETHANOL_TRIPLET.47). If you select option “2 Evaluate, loading Fock matrix
from a file” when Multiwfn asks if evaluating energies of biorthogonalized orbitals and then input the path of the .47
file, the Fock matrix recorded in the .47 file will be used to evaluate the biorthogonalized orbital energies.
In this section, I illustrate how to calculate LOLIPOP (Localized Orbital Locator Integrated Pi
Over Plane) index. This index was shown to be useful of predicting π-stacking strength of aromatic
rings. See Section 3.100.14 for brief introduction and Chem. Commun., 48, 9239 (2012) for more
information.
4.100.14.1 Example of planar system: phenanthrene
In this section I take an exactly planar system phenanthrene as example, we will check which
ring has relatively stronger π-stacking ability. The atomic numbering is shown below
931
4 Tutorials and Examples
visualizing orbital isosurfaces via main function 0, or let Multiwfn automatically identify π orbitals
by subfunction 22 of main function 100
0 // Start the calculation
8,9,11,13,14,15 // The indices of the atoms in the ring that you are interested in. This ring is
boundary ring. Note that you should input the indices according to atomic connectivity
Wait for a while, from screen we can see that the LOLIPOP value is 8.23. Then input
0 // Start the calculation again
7,3,4,8,9,10 // Atoms in the central ring
The LOLIPOP value is 6.39
Since smaller LOLIPOP value corresponds to stronger π-stacking ability, we can expect that
the tendency of forming π-stacking over the central ring is stronger than over the boundary rings.
Note that there is an option 6 in the LOLIPOP interface. If you choose it once to switch its
status to "Yes", then after calculation of LOLIPOP, the coordinate of the points satisfying filter
conditions (i.e. where the LOL- is included in the integral of LOLIPOP) will be exported to pt.xyz
in current folder. You can then load this file into VMD program, setting drawing method to "Points"
to visualize their distribution. For example, the points actually considered in the LOLIPOP
calculation for the central ring is shown below, the molecular structure file is also loaded into VMD
and plotted as CPK style. It can be seen that the distribution of the considered points is fully
reasonable, thus the LOLIPOP result should be meaningful.
In order to make the calculation of the LOL- involved in the LOLIPOP feasible, usually we
need to perform orbital localization to yield localized molecular orbitals (LMOs), and then use
Multiwfn to automatically identify the indices of type of LMOs, see relevant examples in Section
4.100.22 for more detail. Note that in order to carry out orbital localization, you must to use a file
932
4 Tutorials and Examples
containing basis function information as input file, such as .fch, .mwfn, .molden and so on, see
Section 2.5 for more information.
Boot up Multiwfn and input
examples\biphenyl.fch
19 // Orbital localization
1 // Only localize occupied MOs
100 // Other function (Part 1)
22 // Automatically detect orbitals
-1 // Current orbitals are in localized form
0 // Start orbital identification based on default settings
Now we can see there are 6 identified orbitals (more specifically, they are LMOs):
Expected pi orbitals, occupation numbers and orbital energies (eV):
32 2.000000 -10.110351
34 2.000000 -9.633443
38 2.000000 -7.386451
39 2.000000 -6.768520
40 2.000000 -6.755193
41 2.000000 -6.046329
Then we input
0 // Do not modify orbital occupation numbers
14 // LOLIPOP calculation
1 // Choose orbitals
32,34,38,39,40,41 // The indices of the orbitals
0 // Start calculation
1,2,3,4,5,6 // Indices of the atoms in a ring
The result is 8.82, which is slightly higher than that of the boundary ring of phenanthrene (see
last section), indicating that the rings in biphenyl have prominent ability of forming - stacking.
933
4 Tutorials and Examples
If you want to calculate LOLIPOP for another side, you should select "Side 2" in option 5.
934
4 Tutorials and Examples
In this example, we will use Yoshizawa's formula (Acc. Chem. Res., 45, 1612 (2012)) to analyze
favourable electron transmission routes for phenanthrene. Related theory, requirement of input file
and program options have been introduced in Section 3.100.18. The numbering scheme of the
carbons is shown below.
Note: The routes whose distance < 0.0000 or > 9999.0000 Angstrom will not be shown
935
4 Tutorials and Examples
...
The routes are ranked by transmission probability (absolute value). If we ignore the atoms
linking three carbons and the duplicated routes due to symmetry, the most favourable four routes
are 7-10, 6-10, 7-11, 6-14. This conclusion is completely in line with below graph in Yoshizawa's
paper!
Note that Yoshizawa stated that connection 9-10 (corresponding to 7-10 in our numbering
scheme) is predicted to be the best route from the rule, but it is too close to construct a metal-
molecule-metal junction for connection, so the route was not marked on the his graph.
Now we check the feasible routes started from atom 2. Choose option 3, and input 2, you will
see
To atom 10 Value and distance (Angstrom): -2.831680 3.720990
...
Before reading this section please read Section 3.100.19 first to gain basic knowledge.
It is usually interesting to analyze the characteristic of promolecular wavefunction, which
corresponds to the state without any electron transfer and polarization due to the interaction between
the fragments constituting the system. Commonly, we can use "custom operation" in main function
3, 4 and 5 to realize this purpose, see Section 3.7 for introduction of custom operation and some
illustrative applications in Sections 4.5.4 and 4.5.5. For example, we want to study electron density
distribution of promolecular state of a complex AB, by using custom operation, we can very
conveniently ask Multiwfn to calculate electron density of A and that of B respectively, and then
936
4 Tutorials and Examples
sum them up as electron density of the promolecule state. However, this process is not applicable to
non-linear real space functions such as ELF; that is to say, ELF of promolecular state of AB is not
equal to the sum of ELF of A and ELF of B, the result is completely meaningless. For such cases,
we should combine fragment wavefunctions first as promolecular wavefunction, and then calculate
ELF for it to obtain the ELF distribution in promolecular state.
Below I will show how to use Multiwfn to produce promolecular wavefunction for COBH3
based on fragment wavefunctions of CO and BH3, and then discuss the corresponding ELF character.
The .wfn files used below and the corresponding Gaussian .gjf files can be found in
"examples\genpromol" folder.
Boot up Multiwfn and then input
examples\genpromol\COBH3\CO.wfn // The path of wavefunction file of fragment 1
100 // Other functions (Part 1)
19 // Generate promolecular .wfn file from fragment wavefunctions
1 // Output to combine.wfn
2 // Two fragments in total
examples\genpromol\COBH3\BH3.wfn // The path of wavefunction file of fragment 2
Now the promolecular wavefunction file of COBH3 has been outputted to combine.wfn in
current folder.
Let us plot ELF for this promolecular wavefunction. Reboot Multiwfn and input
combine.wfn
4 // Draw plane map
9 // ELF
1 // Color-filled map
[Press ENTER button]
2 // XZ plane
0 // Y=0
Interestingly, even in the promolecular state, from the resultant graph it looks as if the carbon
and boron have been bonded to each other. In order to make clear how the relaxation of electron
distribution affects the ELF character of COBH3, we decide to draw difference map of ELF between
the actual state and promolecular state.
Reboot Multiwfn and input
examples\genpromol\COBH3\COBH3.wfn // Wavefunction file of actual state of COBH3
4 // Draw plane map
0 // Custom operation
1 // Deal with only one file
-,combine.wfn // Subtracting property of COBH3.wfn by that of combine.wfn
9 // ELF
1 // Color-filled map
[Press ENTER button] // Use default grid setting
2 // XZ plane
0 // Y=0
Close the graph and then input
1 // Set lower and upper limit of color scale
-0.2,0.4 // Set the color scale from -0.2 to 0.4, since as you can see from the command-line
937
4 Tutorials and Examples
From this difference map of ELF, it is very clear that after electron relaxation, the electron
localization character between the C-B bond enhanced evidently.
Next I will show how to create promolecular wavefunction when open-shell fragments are
involved. CH3NH2 is taken as example, the two fragments are CH3 and NH2 free-radicals. Boot up
Multiwfn and input
examples\genpromol\CH3NH2\CH3.wfn
100 // Other functions (Part 1)
19 // Generate promolecular .wfn file from fragment wavefunctions
1 // Output as combine.wfn
2 // There are totally two fragments (including the loaded one)
examples\genpromol\CH3NH2\NH2.wfn // Wavefunction file of the second fragment
n // Do not flip spin of orbitals of CH3
y // Flip spin of orbitals of NH2. If you do not understand why the spin should be flipped, you
can consult the corresponding CDA example in Section 4.16.2.
Now you have promolecular wavefunction of CH3NH2 in current folder. Try to plot ELF for it
and compare the result with actual state (i.e. examples\genpromol\CH3NH2\CH3NH2.wfn).
938
4 Tutorials and Examples
The diameter 16.427 Å printed on screen is calculated as 14.027+21.2. The radius 8.213 Å is
simply the half of the diameter. The length/width/height of the molecule, namely the three values
after "Length of the three sides" are calculated as follows: Multiwfn first automatically rotates the
molecule so that its three principal axes just parallel to the three Cartesian axes, and meantime
translates the molecule to put its geometry center to original point. Then according to the position
of boundary atoms (i.e. the atoms having maximum/minimum value of X/Y/Z coordinate) and
atomic Bondi van der Waals radii, the length/width/height of the molecule can be derived
straightforward.
If you want to visually depict the length/width/height, you can then choose option 1, you will
see below graph (the "Ratio of atomic size" has been set to 4.0, in this situation radius of atomic
sphere just equals to atomic van der Waals radii). As you can see, the blue box tightly encloses the
molecular van der Waals surface, the length of its three sides are simply the length/width/height of
the molecule, i.e. 15.341, 14.714 and 9.511 Å, respectively.
939
4 Tutorials and Examples
You can also select option 2 to export the molecule in rotated and translated coordinate to
new.pdb in current folder. This file contains "CRYST1" field, which records cell lengths. You can
directly load this file into VMD (http://www.ks.uiuc.edu/Research/vmd/) visualization program, and
then input pbc box command in VMD console window to show box. After slight adjustment of
plotting effect and manually editing the graph, you will obtain below graph, which clearly illustrates
the molecular geometry character.
It is also possible to visualize molecular principal axes in VMD. Simply copy all content of
examples\principal_axes.tcl into VMD console window, you will see below graph, in which the red,
blue and green axes respectively represent the three molecular principal axes.
940
4 Tutorials and Examples
More discussions about this topic are given in my blog article "Using Multiwfn to calculate the
length, width and height of molecules" (in Chinese, http://sobereva.com/426).
In this section we will study planarity of [14]annulene, which is not exactly planar due to steric
effect in the small ring. Its structure optimized at B97XD/def2-TZVP level is shown below
Please read my paper J. Mol. Model., 27, 263 (2021) DOI: 10.1007/s00894-021-04884-0 or
Section 3.100.21 to gain basic knowledge about molecular planarity parameter (MPP), span of
deviation from plane (SDP), and signed distance to plane (ds), which will be employed in this section
to characterize molecular planarity of the [14]annulene.
Boot up Multiwfn and input
examples\[14]annulene.xyz // It contains the optimized structure
MPP // Enter the function of studying molecular planarity
1-14 // We only use all carbon atoms to determine the planarity. You can also simply input h
to choose all non-hydrogen atoms
Now you can immediately see the following output, which include the parameters of the plane
fitted for the selected atoms (i.e. all carbons), signed deviations of atoms to the fitting plane (ds) and
their most positive and most negative values. At the end, MPP and SDP are given.
941
4 Tutorials and Examples
Both the MPP and SDP are not small, that is the root-mean-square deviation to the fitting plane
and the span of deviation to the fitting plane are evident, clearly indicating that the [14]annulene
only show limited planarity. This is fully in line with our visual observation from the structure map
shown earlier.
Next, we graphically exhibit deviation of every atom to the fitting plane by coloring atoms,
therefore we then input
y // Let Multiwfn to export .pqr file containing ds values
[Press ENTER button directly] // Output to [14]annulene.pqr in current folder
Note that the “charge” property of atoms (penultimate column) in the exported [14]annulene.pqr
corresponds to ds value.
Boot up VMD visualization software (http://www.ks.uiuc.edu/Research/vmd/), drag the .pqr
file to VMD main window to load it, then enter “Graphics” - “Representation” panel and set
“Coloring Method” to “Charge”, set “Drawing Method” to “CPK”. Then enter “Trajectory” tab and
input -0.4 and 0.4 respectively in the two text boxes under “Color Scale Data Range” label and then
press ENTER button. Finally, change the background color to white, you will see
942
4 Tutorials and Examples
The red and blue colors clearly distinguish the carbon atoms at the two different sides of the
fitting plane. The darker the color, the larger the deviation to the fitting plane. Clearly, via this
representation, one can quickly and very conveniently recognize which atoms in the molecule break
the planarity severely.
943
4 Tutorials and Examples
In addition, ds.pqr is generated in current folder. In this file, the "atomic charge" column
corresponds to the ds value of selected atoms in every frame (the value for unselected atoms is zero).
With this file and a special VMD script examples\scripts\ds.tcl, we are able to visualize trajectory
with dynamic atomic coloring according to ds values, so that deviation from planarity of every atom
can be very vividly exhibited. Now, load the examples\C18_MD_500.xyz into VMD, then copy the
ds.pqr and examples\scripts\ds.tcl to VMD installation folder, boot up VMD and input source ds.tcl
in console window of VMD to run this script, then this script will load ds data from ds.pqr and set
up visualization status. After that, when you play the trajectory animation or drag progress bar in
VMD, the atoms will be automatically colored according to ds value of the corresponding frame. If
you are confused, see video illustration: http://sobereva.com/multiwfn/res/ds_color.mp4 (in this
video I also used “RMSD trajectory tool” plugin in VMD to eliminate overall molecular motion to
make inspection easier). Note that the default color scale set by the ds.tcl script is from -0.4 (blue)
to 0.4 (red).
Please check corresponding part of Section 3.100.21 first to understand basic idea of the
algorithm for evaluating cavity diameter. In this example, we will calculate cavity diameter of the
fullerene part (highlighted by green color) of the following system. The experimental structure is
examples\open_fullerene.pdb.
944
4 Tutorials and Examples
[...ignored]
Step 5
As you can see, initially the sphere representing the cavity is centered at (3.901518, 3.594304,
11.835946) Å with radius of 1.677 Å. The adjustment finished after 5 iterations, finally the sphere
center is at (3.942257, 3.621198, 11.902664) Å and the sphere radius is 1.707 Å. So, the actual
cavity diameter is 3.414 Å.
You can also find the following commands on screen, which are used to plot a sphere in VMD
(http://www.ks.uiuc.edu/Research/vmd/) program to graphically illustrate the cavity
color Display Background white
Boot up VMD, load the open_fullerene.pdb into it, open “Graphics” - “Representation” panel
and set “Drawing Method” to “CPK”, then decrease “Sphere Scale” to 0.7, then copy the above four
commands and paste them into console window of VMD to execute them, you will see the following
graph, the yellow sphere clearly shows the cavity, and its diameter corresponds to the
aforementioned 3.414 Å.
945
4 Tutorials and Examples
The function exemplified in this section is quite universal, it can also be used to study cavity
with very irregular shape, study inner diameter of ring systems, and study cavity size of periodic
crystal systems, corresponding examples are given in my blog article http://sobereva.com/643.
The purpose of this example is illustrating how to study electron structure of non-planar
systems based on detected type of localized molecular orbitals (LMOs), and show how to evaluate
composition of molecular orbitals. We will use a simple non-planar molecule cycloheptatriene as
example. If you have not read Section 3.100.22, please read it first, in which details and algorithm
are described.
Note that the way of detecting orbitals for non-planar systems is very different to that for
exactly planar systems. I have already given example for the latter case. In Section 4.5.3, I have
mentioned how to make Multiwfn automatically detect molecular orbitals for an exactly planar
system and then separately study and electron structure by means of ELF- and ELF-. In
Section 4.4.9, I illustrated how to study electron delocalization path for a planar system porphyrin
by plotting LOL- map.
946
4 Tutorials and Examples
23 2.000000 -8.361389
24 2.000000 -6.762986
25 2.000000 -5.798201
Assume that we will study electron character, we choose option 2 to set occupation number
of all other orbitals to zero.
From both the graphs, it is easy to recognize that C4-C6, C1-C2 and C3-C5 must be stronger than
C1-C4 and C2-C3, since electrons are delocalized much more substantially among the
corresponding two atoms in the formers
Based on the type of LMOs, we can also carry out other type of analyses, for example, Mayer
bond order calculation. We calculate Mayer bond order as illustrated in 4.9.1, the result is
# 1: 1(C ) 2(C ) 0.70534437
947
4 Tutorials and Examples
The order of the bond order is C4-C6 > C1-C2 > C1-C4, this result is in full agreement with our
expectation via visualizing the ELF- map.
The function illustrated in this section is quite powerful and can also be applied to fairly large
systems. For example, below left graph is LOL- isosurface map (isovalue=0.55) of helicene plotted
using above procedure. Moreover, using option "5 Set constraint of atom range", one can define
constraint of the region for identifying LMOs. For example, below right graph shows the electron
density of helicene contributed by five LMOs located at the central two six-membered rings.
Multi-center bond order calculation can also be normally carried out under the LMO
representation, therefore you can easily identify strength of conjugation of different rings in above
system via this analysis.
948
4 Tutorials and Examples
After this analysis, the orbitals in memory have been replaced with the ones recorded in
examples\cycloheptatriene.fch. Therefore now you can return to main menu and then enter main
function 0 to plot isosurfaces of the MOs, as shown below
You can see that the evaluated compositions are very reasonable. For example, in MO23, you
can see that there are evident characters at C6-C7 and C5-C7 bonding regions, in addition, there
are isosurfaces around H10, H11 and H14, these observations explain why composition of MO23
is not quite close to 100%. In contrast, character of orbital isosurface of MO25 is not so evident,
therefore MO25 can be viewed as a quasi- orbital.
23 2.000000 -8.361389
24 2.000000 -6.762986
25 2.000000 -5.798201
26 0.000000 -0.739482
27 0.000000 0.770830
Then we input
examples\cycloheptatriene.fch // The file containing MOs
949
4 Tutorials and Examples
As can be seen, there are three unoccupied MOs having composition larger than 50%, while
compositions of occupied MOs are identical to those we obtained earlier. Now we enter main
function 0 to plot isosurface map for MO27, which is one of unoccupied MOs and has
compositions of 72.5%. From below map, it is clear that major character of this orbital is indeed .
More discussions and illustrations about analyzing electron character can be found in my
blog article "Separate investigation of electronic structure in Multiwfn" (in Chinese,
http://sobereva.com/432).
Multiwfn is capable of plotting radial distribution function (RDF) for any real space function,
see Section 3.200.5 for detail. This function is particularly useful for studying electronic structure
character of sphere-like system.
This section consists of two parts. In part 1, we will plot RDF for electron density of fullerene
(C60); while in part 2, I will show how to plot RDF of electron density for a Rydberg orbital to
characterize it quantitatively.
950
4 Tutorials and Examples
As you can see, the peak of RDF is about 3.5 Å, this is because the distance between nucleus
of carbons and the sphere center is 3.545 Å. It is known that electron density has maximum at
nuclear position for any atom except for hydrogen.
If you carefully examine the RDF curve, you will find that the curve on the right side of the
peak is slightly higher than that on the left sight. The reason is that the amount of electrons at
outer side of fullerene is richer than inner side. You can also draw and analyze ELF isosurface map
to confirm this point.
You can also choose option 2 to plot integration curve of RDF, as shown below
951
4 Tutorials and Examples
Probably you have noticed that after the calculation there is a prompt on screen:
Integrating the RDF in the specified range is 344.9321931513
which means integrating the RDF from r=1.0 to r=6.0 Å yields 344.932, it also corresponds to the
value of integration curve at r=6.0. This value deviates evidently from our expectation, namely the
number of electrons in current system (360). One reason is that the default number of integration
points is not large enough (500 and 2030 for radial and angular parts, respectively. You can manually
increase them), while another reason is more important, that is the size of current system is too large,
using single-center integration method is too difficult to yield very accurate result, at least for
integrating electron density.
Part 2: Using RDF of electron density to quantitatively characterize Rydberg orbital for
acetone
Rydberg orbitals denote the spatially very diffuse MOs, their orbital shapes are akin to atomic
orbitals, since electrons in Rydberg orbitals can be regarded as weakly bounded by a small cation
core, which behaves as an atomic nucleus. In order to faithfully represent the diffuse character of
Rydberg orbitals, basis set with substantial diffuse functions must be employed, e.g. aug-cc-pVTZ.
The example file we used below is formaldehyde calculated at B3LYP/aug-cc-pVTZ level by
Gaussian. We will first visualize Rydberg orbitals as isosurfaces, and then calculate RDF of electron
density corresponding to these orbitals to characterize them quantitatively.
Boot up Multiwfn, load examples\H2CO_aVTZ.fch, then enter main function 0. Since Rydberg
orbitals are very diffuse, in order to avoid truncating their isosurfaces when viewing them, you
should first select "Other settings"-"Set extension distance" and input a large value, here we input
12. After that, change isovalue to a much smaller value than default, e.g. 0.01. Then we arbitrarily
select some virtual MOs to examine their features. You will find a lot of virtual MOs show very
diffuse character, for example, MO10 and MO11 are shown below:
952
4 Tutorials and Examples
The main distribution region of both of them are far from the molecule. MO10 is almost spherically
symmetric, thus is can be denoted as s type of Rydberg orbital. While MO11 has two phases, they
equally distribute at the two sides, the overall shape is very close to atomic p orbitals, therefore
MO11 can be identified as p type of Rydberg orbital.
How to quantitatively demonstrate that the main distribution region of these Rydberg orbitals
is far from the molecular center? One of the best way is plotting RDF of electron density
corresponding to these orbitals. Here we plot this kind of RDF map for MO11. We close the GUI of
main function 0, and then input below commands:
6 // Modify wavefunction
26 // Modify orbital occupation number
0 // Select all orbitals
0 // Select occupation number of all orbitals to zero
11 // Select orbital 11
2 // Set occupation number of orbital 11 to 2.0 (assume it is doubly occupied)
q // Return
-1 // Return to main menu
200
5 // Plot RDF
3 // Set lower and upper limit of radial plotting
0,10 // From 0 to 10 Å
4 // Set angular number of integration points. The default value is unnecessarily high for
present purpose, therefore we set it to a smaller value to reduce computational time
302 // 302 angular points
0 // Calculate RDF for electron density (which is the default real space function)
1 // Plot the RDF map
953
4 Tutorials and Examples
From the map it can be seen that the global maximum peak is at about 4.6Å, indicating that the
major distribution region of this orbital wavefunction is very far from origin (in present .fch file,
Cartesian origin corresponds to molecular center), and thus MO11 can be unambiguously identified
as a Rydberg orbital.
Please also plot such a RDF map for a regular valence virtual MO, e.g. MO9, which is *
orbital. Where is its peak position?
In this section, two examples are given to illustrate how to use the function introduced in
Section 3.200.6, this function aims to reveal relationship between orbitals in different wavefunction
files.
4.200.6.1 Revealing relationship between HF and MP2 orbitals of CH3NH2
In this section, we study the correspondence between HF/6-31+G* MOs and MP2/6-31+G*
natural orbitals (NO) for CH3NH2.
After booting up Multiwfn we input
C:\CH3NH2_MP2.wfn // MP2/6-31+G* wavefunction file, there are 48 NOs
200 // Other function, part 2
6 // Analyze correspondence between orbitals in two wavefunctions
[Press ENTER button directly to choose all orbitals]
C:\CH3NH2_HF.wfn // HF/6-31+G* wavefunction file, there are 9 MOs
[Press ENTER button directly to choose all orbitals]
Then you will see
1: 2( 94.63%) 1( 5.36%) 4( 0.01%) 3( 0.00%) 6( 0.00%)
954
4 Tutorials and Examples
... (ignored)
The first column denotes the index of the MP2 NOs, the largest five contributions from the
Hartree-Fock MOs to them are shown at right side. As can be seen, the first (second) NO is nearly
equivalent to the second (first) MO. While the 9th NO cannot be solely represented by any MO, it
mainly arises from the severe mix of the 7th (53.98%) and 6th MOs (32.07%), the 9th MO also has
nonnegligible contribution (8.76%).
If you want to get all coefficients and compositions of an orbital of present wavefunction (e.g.
the 5th NO), then simply input 5, you will see
1 Contribution: 0.000 % Coefficient: 0.001509
Total: 99.980 %
99.98% at the last line indicates that the 5th NO can be perfectly represented by linear combination
of these nine MOs.
4.200.6.2 Study contribution of lone pair of nitrogen to MOs of dopamine
Sometimes it is useful to investigate a problem like "How large is contribution of lone pair of
an heteroatom to a molecular orbital?", using orbital localization technique in combination with
subfunction 6 of main function 200 can provide a clear answer to this problem. In this section, we
will study contribution of lone pair of nitrogen in amino group to occupied MOs for a Donor--
acceptor type of molecule. The wavefunction file is examples\excit\D-pi-A.fchk, the structure and
atomic numbering are shown below
955
4 Tutorials and Examples
We should first generate localized molecular orbitals (LMOs), because commonly a lone pair
can be represented by a LMO.
Boot up Multiwfn and input below commands
examples\excit\D-pi-A.fchk
19 // Orbital localization analysis
1 // Localize occupied orbitals
The LMOs are automatically exported to new.fch in current folder. From the outputted LMO
composition on the screen, we can find there are several LMOs closely related to the N24, namely
the nitrogen in amino group. Below are relevant lines of orbital composition output.
4: 24(N ) 99.3% 5: 18(C ) 98.9% 6: 6(C ) 98.6%
...
19: 24(N ) 60.1% 25(H ) 32.9% 20: 21(N ) 57.5% 18(C ) 33.7%
27: 2(C ) 45.6% 3(C ) 44.5% 28: 24(N ) 53.6% 6(C ) 37.8%
33: 23(O ) 65.8% 21(N ) 27.5% 34: 24(N ) 59.9% 26(H ) 33.2%
43: 5(C ) 46.2% 4(C ) 44.9% 44: 24(N ) 77.7% 6(C ) 9.9%
To confirm which one corresponds to lone pair of N24, we enter main function 0 and check
isosurface of the highlighted LMOs one by one, we find LMO 44 can be regarded as lone pair orbital
of N24, the isosurface map with isovalue of 0.1 is shown below
Now we can check contribution of this LMO to various MOs. Reboot Multiwfn and input
examples\excit\D-pi-A.fchk
200 // Other functions (Part 2)
6 // Analyze correspondence between orbitals in two wavefunctions
1,56 // We want to check all occupied MOs (indices range is 1~56)
new.fch // The file containing LMOs
44,44 // Only the 44th orbital in the new.fch will be taken into account
From the output, we can find some MOs have large composition of the LMO 44, relevant lines
are shown below (Since only LMO 44 is taken into account, other LMOs have exactly zero
contribution)
44: 44( 10.04%) 43( 0.00%) 42( 0.00%) 41( 0.00%) 40( 0.00%)
* 45: 44( 8.73%) 43( 0.00%) 42( 0.00%) 41( 0.00%) 40( 0.00%)
* 49: 44( 33.29%) 43( 0.00%) 42( 0.00%) 41( 0.00%) 40( 0.00%)
956
4 Tutorials and Examples
* 53: 44( 14.28%) 43( 0.00%) 42( 0.00%) 41( 0.00%) 40( 0.00%)
* 56: 44( 19.74%) 43( 0.00%) 42( 0.00%) 41( 0.00%) 40( 0.00%)
We return to main menu, enter main function 0 and visualize MO 49 to check whether LMO
44 (lone pair of N24) really has large contribution (33.29%) to it. The isosurface map with isovalue
of 0.05 is shown below
As can be seen, indeed MO 44 is largely contributed by lone pair of N24, since a large part of its
isosurface covers the lone pair region of N24, the computed composition 33.29% should be a
reasonable value.
4.200.12 Calculate energy index (EI) and bond polarity index (BPI)
In this section I will illustrate how to calculate EI and BPI indices, which were defined in J.
Phys. Chem., 94, 5602 (1990). If you are not familiar with these two quantities, please read Section
3.200.12 first. The geometry and wavefunction involved in this example were produced at HF/6-
31G* level, which is the one used in above mentioned paper.
We will calculate BPI for C-N bond of CH3NH2, before this we first need to calculate reference
EI value for C and N atoms, which correspond to EI of C in ethane and N in H2N-NH2, respectively.
Boot up Multiwfn and input
examples\EI_BPI\ethane.fch
200 // Other function, part 2
12 // Calculate energy index (EI) or bond polarity index (BPI)
1 // C1 atom
You will see the EI value for C in reference molecule ethane is -0.667639 a.u.
Reboot Multiwfn and input
examples\EI_BPI\N2H4.fch
200 // Other function, part 2
12 // Calculate EI or BPI
1 // N1 atom
You can see the EI value for N in reference molecule H2N-NH2 is -0.718126 a.u.
Next we calculate EI for C and N in CH3NH2. Reboot Multiwfn and input
examples\EI_BPI\CH3NH2.fch
200 // Other function, part 2
957
4 Tutorials and Examples
12 // Calculate EI or BPI
1 // C1, the result is -0.693374 a.u.
5 // N5, the result is -0.698092 a.u.
The BPICN in CH3NH2.is computed as
BPI CN = (EI C − EI Cref ) − (EI N − EI ref
N )
Via EI index we can also evaluate the so-called group electronegativity, which is often more
useful than atomic electronegativity. Here we calculate electronegativity for -CH3 group, which is
simply the negative of EIC for CH3 radical. Boot up Multiwfn and input
examples\EI_BPI\CH3.fch // Optimized and produced at UHF/6-31G*
200 // Other function, part 2
12 // Calculate EI or BPI
1 // Carbon atom
The result is -0.630656 a.u., corresponding to electronegativity of CH3 group of 0.631. Then
we use examples\EI_BPI\F.fch to calculate group electronegativity for -F, the result is 0.957. It is
clear that -F group has much higher electronegativity, and thus has stronger capacity to attract
electrons than -CH3 group due to its lower average energy per valence electron.
In this section, I will use a few examples to illustrate how to derive contributions of various
kinds of orbitals to density difference () of different types, and show which chemically valuable
information could be obtained by means of these analyses. Please read Section 3.200.13 first to gain
basic knowledge about the function employed in this section.
4.200.13.1 Contribution of MOs to Fukui function f − of phenol
The basic concept of Fukui function has been detailedly introduced in Section 4.5.4. The Fukui
function f − is frequently employed in literatures to identify favourable sites of electrophilic attack,
it is a special instance of and is defined as 𝜌𝑁 (𝐫) − 𝜌𝑁−1 (𝐫), where N is the number of electrons
in original state. It is interesting to study relative contribution of various MOs to the f −, so that we
can better recognize its character from orbital point of view. The underlying idea is that if densities
of MOs are regarded as basis functions that can be used to linearly expand f −, then the optimal
expansion coefficients will be able to be used to measure contribution of each MO to the f −.
Evidently, if there is no orbital relaxation effect, the f − must be exactly identical to probability
958
4 Tutorials and Examples
density of HOMO of N-state. Of course this assumption is not true, because in practice all MOs of
N-state must somewhat undergo deformation when the number of electrons changes from N to N-1.
Below we will take phenol as example to illustrate how to calculate contribution of all occupied
MOs to f −. The files carrying orbital wavefunctions of N and N-1 states have been provided as
phenol.wfn and phenol_N-1.wfn in "examples" folder, respectively. Before calculation of the
contribution, we first need to generate cube file of f −. To do so, boot up Multiwfn and input
examples\phenol.wfn // Wavefunction file of N-state
5 // Calculate grid data
0 // Set custom operation
1 // Only one file will be operated with the file that has been loaded
-,examples\phenol_N-1.wfn
1 // Electron density
2 // Medium quality grid
2 // Export the grid data as density.cub in current folder
Now, we can directly enter the function used to derive orbital contributions to . Input below
commands
0 // Return to main menu
200 // Other functions (Part 2)
13 // Evaluate orbital contributions to density difference or other grid data
density.cub // The file containing grid data of f −
0 // Choose orbital range and start analysis
o // Only consider orbitals with non-zero occupation in the fitting. For present case all occupied
MOs are chosen (note that the wavefunction file we loaded is in .wfn format, in fact it only contains
occupied orbitals, thus unoccupied orbitals cannot be chosen even if you want)
Soon the contribution values are listed in ascending order:
Orbital 20 Value: -0.108
[ignored]
Because by default the sum of all contributions is constrained to 1.0, the "Sum of all values" is
exactly 1.0. The default constraint makes sense for present case, since N and N-1 just differ by 1
electron. The "Fitting error" displays the fitting quality. The smaller the fitting error, the better the
fitting quality. However, the best way of examining the fitting quality is visually comparing the
isosurface of the actual and the fitted . From above data, it can be clearly seen that MO25
(HOMO) dominates the f −, while MO24 (HOMO-1) and MO23 (HOMO-2) also play nonnegligible
roles.
In the post-processing menu, we can choose options 2 and 3 to visualize isosurface of provided
grid data (i.e. the one loaded from density.cub) and that of fitted grid data, respectively. The
959
4 Tutorials and Examples
difference between the two set of grid data can be visualized via option 4. The corresponding graphs
are given below, the isovalue is set to 0.005. For comparison purpose, the three MOs having largest
contributions are also given below, the isovalue is 0.07, and the contribution values are marked in
the parentheses.
From above map, it can be seen that our fitted grid data is very close to the provided one, at
least the fitted one is able to reasonably reproduce the basic character in region. The main
difference between the provided and the fitted grid data is the region, as clearly reflected in the
"diff" subgraph. This observation implies that loss of an electron causes severe relaxation of
electrons, which cannot be fully represented based on the occupied MOs of N-state.
The MO23, MO24 and MO25 shown in above map are all orbitals, this fact explains why
the part of the f − cannot be faithfully represented in the fitted grid data. Notice that a few MOs
have negative contributions, the one with most negative value is MO20 (-0.108). If you check this
orbital, you will find it is an orbital. However, since its shape is not quite similar to the "diff" grid
data, its existence does not improve the fitting quality or lower the difference between the provided
and fitted grid data.
From above map we can also find the profile of isosurface of MO25 is very similar to the f −,
this is why MO25 has dominant contribution and also why f − can often be reasonably approximated
by HOMO distribution. It is obvious that if there is no orbital relaxation effect, contribution of
MO25 should be exactly 1.0 while all other MOs should have contribution of 0.0.
It is worth to stress that the range of the orbital considered in the fitting affects the resulting contributions. For
example, you only want to calculate contribution of MOs 10~15, you will find their contributions are different when
MOs 1~15 are chosen and when MOs 10~15 are chosen.
960
4 Tutorials and Examples
type and Rydberg type. The Lewis NBOs have occupation number of approximately 2.0 while the
Rydberg ones are almost unoccupied. Since only the Lewis NBOs significantly contribute to
electron density of N-state, we will only take these orbitals into account.
First, we generate cube file of f − type of Fukui function. Boot up Multiwfn and input
examples\orb_densdiff\butadiene\butadiene.fch
5 // Calculate grid data
0 // Set custom operation
1 // Only one file will be operated with the file that has been loaded
-,examples\orb_densdiff\butadiene\butadiene_N-1.fch
1 // Electron density
1 // Low quality grid (since the current system is very small, low quality grid is adequate)
2 // Export the grid data as density.cub in current folder
Now reboot Multiwfn and input
examples\orb_densdiff\butadiene\BUTADIENE.31
37 // Load the BUTADIENE.37 in the same folder, which records NBO orbitals
Now if you enter main function 6 and choose option 3 to examine orbital information, you will
find the first 15 orbitals correspond to Lewis type of NBOs due to their high occupation numbers.
Next, we input below commands in the main menu
200 // Other functions (Part 2)
13 // Evaluate orbital contributions to density difference or other grid data
density.cub // The file containing grid data of f −
0 // Choose orbital range and start analysis
1-15 // Range of Lewis NBOs
The result is shown below
Orbital 3 Value: -0.047
[ignored]
The data clearly shows that NBO4 and NBO9 equally and fully dominate the f −, while
participation of other orbitals can be safely ignored.
The isosurface (isovalue=0.01) of the provided f − and the fitted one, as well as isosurface
(isovalue=0.1) of NBO4 and NBO9 are collectively shown below
961
4 Tutorials and Examples
Since from the graph it is obvious that NBO4 and NBO9 correspond to bond of C1-C4 and
C6-C8, respectively, and the fitted function is qualitatively consistent with the provided f −, we can
conclude that the f − is mainly composed of the electrons over the C1-C4 and C6-C8 bonds.
Now we calculate contribution of NBO orbitals to S0→S1 to characterize the nature of S0→S1
transition. Reboot Multiwfn and input below commands
962
4 Tutorials and Examples
examples\orb_densdiff\H2CO\H2CO.31
37 // Load the H2CO.37 in the same folder, which records NBO orbitals
200 // Other functions (Part 2)
13 // Evaluate orbital contributions to density difference or other grid data
density.cub // The file containing grid data of S0→S1
1 // Set constraint on the sum of contributions
2 // Set the constraint to a specific value
0 // Since electron excitation does not alter the number of electrons, the sum of contributions
is set to be constrained to zero
0 // Choose orbital range and start analysis
[Press ENTER button to consider all orbitals] // Note that during electron excitation, a portion
of electrons is excited to empty orbitals, therefore only taking Lewis NBOs into account is evidently
inadequate, so all orbitals should be taken into account in the present context
The result is shown below
Orbital 8 Value: -0.719
[ignored]
It can be seen that the NBO having dominant positive value is NBO32. The NBO having the
most negative contribution is NBO8, its magnitude of negative contribution is by far greater than
any other NBO. From the "Natural Bond Orbitals (Summary)" field printed by NBO module in the
Gaussian output file examples\orb_densdiff\H2CO\S0.out, it can be seen that the NBO8 is identified
as " LP ( 2) O 3", namely lone pair of O3.
The isosurface of fitted (isovalue=0.03) as well as isosurface of NBO8 and NBO32 (both
isovalues are set to 0.17) are shown below.
By comparing the "fitted" graph with the S0→S1 graph shown earlier, it is apparent that the
fitted is almost completely identical to the rigorously calculated one, hence the fitting quality in
963
4 Tutorials and Examples
the current instance is fairly high and the contribution values must be very reliable and meaningful.
From the orbital isosurface maps it is obvious that the NBO8 indeed corresponds to lone pair of O3,
while NBO32 corresponds to anti- orbital of C1-O3, therefore the S0→S1 excitation could be
unambiguously identified as n(O3)→*(C1-O3) type of transition.
You can also calculate contribution of various NAOs to the S0→S1 excitation, the only
difference from the above example is that after loading the H2CO.31, you should input 33 to load
the H2CO.33, which records NAO orbitals. You will find the S0→S1 excitation mainly involves
transitions from highly occupied p type NAOs to those nearly unoccupied.
The domain analysis refers to quantitative analysis for the region enclosed by isosurface of
given real space function, see Section 3.200.14 for details. To illustrate the powerfulness and flexible
of the domain analysis module, two practical applications of the domain analysis are given below.
4.200.14.1 Integrate real space functions within reduced density gradient
(RDG) isosurface to study weak interaction quantitatively
Before reading this, please read Section 3.23.1 to understand how to use reduced density
gradient (RDG) to reveal weak interaction regions. In this section, I show the possibility of
characterizing weak interaction by integrating domains enclosed by RDG isosurfaces.
To visualize them, select "3 Visualize domains". In the GUI, you can select domain index at
right-bottom list. The 2nd and 4th domains are shown below:
964
4 Tutorials and Examples
If you have read Section 3.23.1, you must know these domains correspond to H-bond and van der
waals (vdW) interactions between the two phenols, respectively. We can study properties of these
domains in terms of integrating specific real space functions within corresponding regions. We input
1 // Integrate a domain
2 // Index of the domain of interest
2 // Choose a real space function
1 // Using electron density as integrand
the result is:
Integration result: 0.6932973049E-02 a.u.
Average: 0.2390680362E-01
Average: 0.4550123895E-02
From the output we know the number of electrons involved in the domains corresponding to
H-bond and vdW interactions are 0.006933 and 0.011817, respectively. They can be interpreted as
overlapping electrons and are closely related to strength of same type of interactions. However,
since these two domains correspond to different types of weak interactions, the magnitude of
overlapping electrons is not positively correlated to their strengths, namely we are unable thus to
conclude that the vdW interaction between the two phenols is stronger than the intermolecular H-
bond. The "Volume" in the output denotes volume of the domain, we can find that vdW interaction
involves much wider spatial region than H-bond. "Average" corresponds to average value of real
space function in the domain, from this quantity one can easily infer that the strength of interaction
per contact region of H-bond must be significantly higher than that of vdW interaction, since as
shown above, their average values are 0.0239 and 0.0045, respectively, the former is much larger
than the latter.
965
4 Tutorials and Examples
we need to first calculate RDG grid data and generate corresponding domains. Note that it is not
always appropriate to set extension distance of RDG grid data to zero. For present system, if you
calculate RDG grid data by main function 5 with extension distance of zero, you will see some RDG
isosurfaces are truncated by box boundary, as shown below and highlighted by red arrows. In this
case domain integrating module of Multiwfn does not work.
Therefore, when we calculate RDG grid data for this case, extension distance should be set
somewhat larger than zero, 3 Bohr is safe enough for avoiding unexpected truncation. Extension
distance should also never be set to a too large value, otherwise the number of grid points to be
calculated will be very high and thus very time-consuming.
Boot up Multiwfn and input below commands:
examples\2-pyridoxine_2-aminopyridine.wfn
200 // Other functions (Part 2)
14 // Integrate real space functions within isosurfaces of a real space function
3 // Change the default criterion of defining domain
<0.6
1 // Start calculation of grid data
-10 // Change extension distance
3 // 3.0 Bohr of extension distance
2 // Medium quality grid
Now visualize resulting domains. Domains 2 and 4 are shown below, clearly they correspond
to H-bond of N23-H25O1 and N2-H12N13, respectively.
Next, select option "5 Calculate q_bind index for a domain" and input 2, then press ENTER
button directly to use 4/3 as the integrand (which was used in J. Phys. Chem. A, 115, 12983 (2011)),
the resulting qint and related details of the domain are shown below
q_att: 0.00490957 a.u.
966
4 Tutorials and Examples
Since the qbind corresponding to N2-H12N13 (-0.007678) is much more negative than that of
N23-H25O1 (-0.004854), the former should be stronger than the latter.
Since both the interactions are H-bond, it is also possible to simply compare the number of
electrons contained in the domains to estimate their relative strength. We choose "2 Perform
integration for all domains", then input 2, and then select electron density as integrand to obtain
electron population of all domains:
Domain Integral (a.u.) Volume (Bohr^3) Average
Not only the integration value of domain 2 (0.01648) is evidently smaller than domain 4
(0.02618), but also the average value of domain 2 (0.02706) is smaller than domain 4 (0.03285),
therefore we have strong evidence to say N2-H12N13 is stronger than N23-H25O1.
With similar steps illustrated in this section, you can also integrate other real space functions
such as potential energy density and spin density in the domains enclosed by isosurfaces of other
real space functions, e.g. IRI, ginter and ELF.
Note that the accuracy of integration in the domains is directly determined by grid setting,
higher quality of grid leads to better accuracy. For example, when visualizing domains, if you found
a domain only consists of very few grid points, and its profile is very coarse, then integration
accuracy of this domain must be very low.
967
4 Tutorials and Examples
The idea of using domain analysis to study molecular cavity is very simple: We first calculate
promolecular density, then we define the regions having electron density lower than a threshold e.g.
0.0001 as molecular cavity. More than one such regions may exist, the domain analysis module
automatically assigns them with different domain indices. After that, by visualizing the domains, it
should be easy to find the domain corresponding to the molecular cavity. The choice of threshold is
somewhat arbitrary, commonly 0.001~0.0001 a.u. is appropriate.
-cyclodextrin is used as an example in this section. Before studying the cavity using domain
analysis module, it is suggested to first visualize promolecular density under various isovalues. Boot
up Multiwfn and input:
examples\alpha-cyclodextrin.pdb
5 // Calculate grid data
1 // Promolecular density
-10 // Set extension distance
0 // Zero extension distance, namely let the box just enclose the molecule
1 // Low quality grid
-1 // Show isosurface map
Click "Show data range" in the GUI window to show the box of grid data as blue frame, and
set isovalue to 0.01 and 0.001 respectively, you will see
It is easy to understand, if we use threshold of 0.001 a.u., then the domain corresponding to the
cavity in the center of the molecule cannot be defined, because the internal region and external
region are connected via the three channels pointed by red arrows. While in the case of 0.0001 a.u.,
the molecular cavity is clearly identifiable and thus we could use domain analysis module with this
threshold to study the cavity.
Return to main menu, and then input below commands
200 // Other functions (Part 2)
14 // Domain analysis
2 // Choose the real space function to be calculated and used for partitioning domains
1 // Promolecular density
3 // Define the rule of determining domains
<0.0001 // Regions with electron density less than 0.0001 will be defined as domains
1 // Calculate grid data and assign domains
-10 // Change extension distance
968
4 Tutorials and Examples
0 // No extension distance
1 // Low quality grid
After calculation is finished, you will see below information on screen. There are totally six
domains found, the number of grids and volume of all domains are shown
Domain: 1 Grids: 4 Volume: 0.005 Angstrom^3
Then we can visualize each domain by option 3. After examining the domains, we find that the
domain with index of 4 is the one corresponding to molecular cavity, as shown below:
Since this domain well represents shape of actual molecular cavity, its volume is a good indicator
of cavity size. As shown earlier, its volume is 47.0 Å3.
Close the GUI, select option 1 to carry out integration within domain, and input 4 to choose to
integrate the domain corresponding to the cavity. We choose "100 User-defined real space function"
as integrand (by default, this function is 1.0 everywhere and thus does not take any computational
cost), then below information is printed on screen
Integration result: 0.3172320000E+03 a.u.
Average: 0.1000000000E+01
969
4 Tutorials and Examples
The integration result directly corresponds to the volume of the domain (47.0 Å3) since the current
integrand is 1.0 everywhere, from the output we also find the span distance of the domain, in Z
direction the value is 7.09 Å, which is the difference between the points in the domain with
maximum Z and with minimum Z coordinates. So, using Multiwfn we can not only obtain cavity
volume but also obtain cavity span distance.
Furthermore, we can export a selected domain as domain.cub in current folder by using option
10, so that the domain can be portrayed as isosurface in third-part visualization tools, such as VMD.
In the resulting domain.cub, the grids within the selected domain have value of 1, while grids in
other regions (as well as boundary grids) have value of 0, therefore isosurface of domain can be
rendered with isovalue between 0 and 1 (commonly 0.5 is used). We do this for the domain 4 and
plot it as isosurface in VMD, below graph will be obtained
We can also use option 11 to export boundary grids of a domain to domain.pdb, in which each
particle corresponds to a boundary grid. You can load this file into VMD and render the particles as
points. Then if you want to measure domain, you can click keyboard button 2, then click two points
in the graphical window, the linking line will appear and the distance will be labelled, as illustrated
below ("Display" - "Orthographic" was selected for easier inspection)
970
4 Tutorials and Examples
The basic knowledge about definition and calculation of bond length alternation (BLA) and
bond order alternation (BOA) have been introduced in Section 3.200.18. Multiwfn can not only
calculate BLA and BOA, but can also calculate variation of bond length, bond order, bond angle
and dihedral along a given path. This function is quite useful in studying characteristics of
conjugated chains. In this section two examples will be given.
In this function, any file format that carries geometry information can be used as input file,
such as .xyz, .pdb and .mol. However, if you also want to study BOA, the input file must contain
basis function information, such as .mwfn, .fch, .molden or .gms.
to open the TP5.fchk, choose button in the "Builder" panel, then hold down the left mouse
button and let the cursor pass through each atom in the conjugated chain to select them as yellow.
After that, the image in the GaussView window should like this:
971
4 Tutorials and Examples
Then enter "Tools" - "Atom Selection", you will find the atom indices of the selected chain is
10,12,14,16-17,19,21,23-24,26,28,30-31,33,35. Also, as can be seen from the above figure, the
index of the atom at the beginning side and ending side is 1 and 35, respectively.
Note: Of course, it is not absolutely necessary to use GaussView for the present function. However, without
GaussView, you have to manually record indices of all atoms in the chain by means of visual inspection, obviously
this process is fairly troublesome!
1 2 3 4 9 10 12 14 16
17 19 21 23 24 26 28 30 31
33 35
If you compare the sequence with the graph of molecular structure, you will find the sequence is
completely correct, therefore the subsequent data should be meaningful.
Next, the bond index, indices of the two atoms composing the bond, bond length and bond
order are given:
Bond Atom1 Atom2 Length (Angstrom) Mayer bond order
1 1 2 1.3678 1.6303
2 2 3 1.4232 1.2924
3 3 4 1.3795 1.5445
4 4 9 1.4468 1.0985
5 9 10 1.3799 1.5273
[ignored...]
Finally, some statistical data as well as BLA and BOA are shown:
The number of even bonds: 9
972
4 Tutorials and Examples
As mentioned on the screen, the bond data have also been exported to bondalter.txt in current
folder, you can plot "bond length vs. bond index" and "bond order vs. bond index" curve maps. The
below map was plotted by Origin, the corresponding .opj file has been provided as bondalter.opj in
"examples" folder.
1.48 1.7
1.46 1.6
1.44 1.5
1.4
1.42
1.3
1.40
1.2
1.38
1.1
1.36
1.0
0 2 4 6 8 10 12 14 16 18 20
Bond index
Multiwfn also asks you if outputting variation of bond angle and dihedral along the atom
sequence, we input n because they are not what we are currently interested in.
4.200.18.2 Study variation of bond lengths, bond angles and dihedrals in the
ring of cyclo[18]carbon
The below map is a frame of ab-initio molecular dynamic trajectory of the cyclo[18]carbon at
200 K. This simulation was conducted in my research article Chem. Asian J., 16, 56 (2021) DOI:
10.1002/asia.202001228. In this section we will study variation of bond lengths, bond angles and
dihedrals along the ring.
973
4 Tutorials and Examples
18
1-18 // The atom indices in the ring
1,1 // The path under study is a closed path, i.e. a ring, in this case the two inputted atom
indices must be the same. Index of any atom in the ring could be inputted, it will be regarded as the
beginning atom
The outputted bond length variation is shown below
Bond Atom1 Atom2 Length (Angstrom)
1 1 2 1.208
2 2 3 1.375
3 3 4 1.209
[...ignored]
17 17 18 1.201
18 18 1 1.384
Next, we input y to let Multiwfn output variation of bond angles and dihedrals along the defined
path, you will see:
Note The unit of printed values is degree
[ignored]
[...ignored]
From the above output we can easily examine how bond angles and dihedrals vary along the
18-membered ring. Note that the value range of dihedral (D) is 0~180, the "deviation to planar" is
identical to D if the D is within 0~90, while it corresponds to 180−D if the D is within 90~180.
If you copy the data from screen (see Section 5.4 if you do not know how to do this) and plot
them via external software such as Origin, you can obtain below maps, which very clearly exhibit
geometric characteristics of the ring:
974
4 Tutorials and Examples
Since bond angles and dihedrals fluctuate evidently along the ring, we can conclude that the ring
undergoes prominent geometry deformation during the molecular dynamics simulation.
Please read Section 3.200.19 to understand basic knowledge of spatial delocalization index
(SDI). In this example we will calculate SDI for density of orbital wavefunctions to characterize
spatial delocalization extent of various orbitals. SDI can also be applied to quantify spatial
delocalization of any other function, such as spin density.
Note that the ODI described in Section 4.8.5 is also able to compare orbital delocalization
extents; however, definitions of ODI and SDI are different, and SDI is in principle more rigorous
and free of choice of atom partition method.
...ignored
975
4 Tutorials and Examples
You can use such as Origin to plot SDI value versus orbital index:
The larger the SDI of an orbital density, the more evident the orbital delocalization character.
From the above map, you can infer that orbital 44 is strongly delocalized (SDI = 15.41 a.u.), while
orbital 33 (SDI = 5.97 a.u.) is highly localized. See below map for comparison. Orbitals from 1 to
16 are evidently core orbitals since they show extreme localization character, as indicated by the
extremely low SDI.
976
4 Tutorials and Examples
This result is in good agreement with the SDI of MO19 computed based on examples\excit\D-pi-
A.fchk, which is 6.07.
Sometimes the quantum chemistry or first-principle program that can produce grid data file
cannot generate a wavefunction file that supported by Multiwfn, in this case if you need to calculate
SDI to study orbital delocalization, you have to calculate SDI based on grid data file like this
example.
Multiwfn can also be used to calculate SDI of any other function as long as it is natively
supported by Multiwfn or you can provide a grid data file of that function. For example, if you use
cube file recording spin density as input file and input the same commands like the present example,
then the resulting SDI can be used to characterize spatial extent of delocalization of spin density.
4.200.20 Using bond order density and natural adaptive orbital to study
chemical bonds
Note: Chinese version of this topic is "Using bond order density (BOD) and natural adaptive orbital (NAdO) to
graphically study chemical bonds" (http://sobereva.com/535), which contains much more examples and fuller
discussions.
The theory of bond order density (BOD) and natural adaptive orbital (NAdO) has been
detailedly introduced in Section 3.200.20, please carefully read it first. In this section I will present
two examples to show how to use the BOD and NAdO to study chemical bonds.
4.200.20.1 Plot bond order density for N2 molecule
The delocalization index (DI) represents average number of electron pairs shared by two atoms
and can be regarded as a definition of (covalent) bond order. By plotting BOD, we can better
understand the nature of its value. The integral of the BOD defined for two atoms over the whole
space exactly corresponds to the DI between the two atoms, therefore BOD is able to exhibit local
contributions everywhere to DI.
N2 molecule is taken as example in the present section, we will plot its BOD as color-filled
map in the molecular plane. In Multiwfn, delocalization index (DI) can be calculated based on fuzzy
partition via fuzzy atomic space analysis module (main function 15) or based on atom-in-molecules
(AIM) partition via basin analysis module (main function 17); correspondingly, both the two
modules can export atomic overlap matrix (AOM), which is needed by BOD analysis. In the present
example, we use the former (the latter works equally well but more expensive).
Boot up Multiwfn and input below commands
examples\N2.fch // Optimized and generated at B3LYP/def-TZVP level. You can also use other
files (e.g. .molden and .mwfn) as long as the file contains basis function information
15 // Fuzzy atomic space analysis
3 // Calculate and output atomic overlap matrix to AOM.txt in current folder
0 // Return to main menu
200 // Other functions (Part 2)
20 // Bond order density (BOD) and natural adaptive orbital (NAdO) analyses
1 // Use atomic overlap matrix (AOM) for the analysis
[Press ENTER button] // Load the AOM.txt in current folder
977
4 Tutorials and Examples
The values are eigenvalues of the NAdO orbitals, the sum (3.11681) just corresponds to the DI
between the two atoms. At the same time, NAdOs.mwfn is generated in current folder, in which the
first 7 orbitals are the NAdO orbitals, their occupation numbers correspond to the NAdO
eigenvalues. All other orbitals in this file are identical to the virtual MOs in the N2.fch.
Next, we input y to let Multiwfn load the newly generated NAdOs.mwfn. From now on, electron
density function directly corresponds to the BOD function. Now we plot the BOD as color-filled
map. Input below commands
0 // Return to main menu
4 // Plot plane map
1 // Electron density (which corresponds to BOD in the present context)
1 // Color-filled map
[Press ENTER button] // Use recommended grid setting
0 // Set extension distance
2 // 2 Bohr
3 // YZ plane
0 // Z=0
Now the BOD map pops up. After some adjustments on plotting settings, you can see below
map
It can be seen that the distribution of BOD is reasonable, its main body is distributed in the
978
4 Tutorials and Examples
bonding area, showing that the electrons in this region has major contribution to the DI value and
play crucial role in the covalent bond.
4.200.20.2 Study BOD and NAdO orbitals for C-C bonds in butadiene
In this section, we will study BOD and NAdO orbitals for two kinds of C-C bonds in 1,3-
butadiene, whose geometry is shown below. This time the analysis will be performed based on the
AOM generated by AIM partition (using fuzzy partition like the last example is also reasonable).
-0.07359
That means the DI of the central C-C bond is 1.114. Then input y to load the newly generated
NAdOs.mwfn file. After that, we use main function 5 to calculate grid data of electron density, which
now corresponds to BOD, and then plot it as isosurface. The resulting map with isovalue of 0.05 is
shown below.
It is obvious that most electrons that have significant contribution to the C4-C6 bond are
concentrated around this bond, this is what we expected.
979
4 Tutorials and Examples
Next, enter main function 0 to visualize various NAdO orbitals. Note that if you select "Orbital
info." - "Show all" in the GUI menu, you can see below orbital information
Orb: 1 Ene(au/eV): 0.000000 0.0000 Occ: 0.901215 Type:A+B (? )
[...ignored]
[...ignored]
The first 15 orbitals are NAdOs, their "Occ" values correspond to NAdO eigenvalues, which
can be regarded as contribution of the NAdOs to DI. All orbitals with index larger than 15 are the
virtual MOs in the examples\butadiene.fch, they are not of our interest. From the above list, it can
be seen that only the first two NAdO orbitals have prominent contribution to DI, their isosurface
maps are shown below, the eigenvalues are also labelled.
It can be seen that the first NAdO, which looks like a type of localized orbital (see example
in Section 4.19.1 for more information about this point), has key contribution (0.901) to the DI value
(1.114); this is fully understandable, since the major ingredient of the C4-C6 bond must be
interaction. The second NAdO also has nonnegligible contribution (0.245). Since it shows typical
orbital character, we can infer that weak interaction exists in the C4-C6 bond.
Now we turn our attention to the boundary C-C bonds, namely C1-C4 (or C6-C8). Reboot
Multiwfn and input below commands (you can first manually backup the previous NAdOs.mwfn to
avoid overwriting)
examples\butadiene.fch
200 // Other functions (Part 2)
20 // Bond order density (BOD) and natural adaptive orbital (NAdO) analyses
1 // Use atomic overlap matrix (AOM) for the analysis
[Press ENTER button] // Load the AOM.txt in current folder
1,4 // Indices of the two carbons at the boundary of the system
y // Load the newly generated NAdOs.mwfn
After that, use main function 0 to visualize the only two orbitals having significant
980
4 Tutorials and Examples
The type of NAdO orbital of C1-C4 has comparable eigenvalue to that of C4-C6, indicating
that both two kinds of C-C bonds has similar strength of interaction. In contrast, the type of
NAdO orbital of C1-C4 has much higher contribution to DI than that of C4-C6, well reflecting the
fact that the boundary C-C bonds have much stronger interaction than the central one.
At the end of this section, I would like to emphasize a quite noteworthy point of the
BOD/NAdO method, namely you can directly specify the bond to be studied, as already fully
illustrated above. For example, for the dopamine shown below, if you want to study BOD or
corresponding NAdOs for a bond, e.g. C5-C7, you simply need to input 5,7 when Multiwfn asks
you to input atom indices, clearly this feature makes bonding analysis quite convenient! Below map
shows BOD=0.03 isosurface for C5-C7.
Also it is noteworthy that the BOD/NAdO analysis can also be performed to visualize DI
between two basins based on the BOM.txt exported by basin analysis module. For example, you can
use basin analysis module to generate electron localization function (ELF) basins and then export
basin overlap matrix (BOM) to BOM.txt by corresponding option. After that, in the BOD/NAdO
analysis function, select to load the BOM.txt, and then input index of two basins of interest, the
NAdOs for the two local regions will be generated. Via this manner, you can visually study e.g.
electron sharing between two lone pair regions or between a lone pair and a covalent bonding region.
Clearly, the BOD/NAdO analysis module is extremely flexible!
981
4 Tutorials and Examples
and the two carbon atoms will be respectively defined as the two fragments. In addition, in this
example I will illustrate evaluation of energies for NAdOs.
We generate file containing AOMs as previous examples. Boot up Multiwfn and input
examples\oxirane.fchk
15 // Fuzzy atomic space analysis
3 // Calculate and output atomic overlap matrix to AOM.txt in current folder
0 // Return to main menu
200 // Other functions (Part 2)
20 // Bond order density (BOD) and natural adaptive orbital (NAdO) analyses
-1 // Toggle if calculating energies for NAdOs
1 // Evaluate NAdOs energies based on the Fock matrix generated by MO energies and
coefficients
3 // Interfragment interaction analysis based on fragment overlap matrix (FOM)
[Press ENTER button] // Load AOM.txt in current folder
3 // Fragment 1: The oxygen atom
1,2 // Fragment 2: The two carbons
The loaded AOMs are used to construct FOMs of the two fragments, the eigenvalues of
generated NAdOs are
Eigenvalues of NAdOs: (sum= 2.47514 )
As can be seen, there are three NAdO orbitals having notable contributions to DI. In addition, as
shown in the prompt on screen, energies of NAdOs are evaluated in this case.
After inputting y to load the newly generated NAdOs.mwfn in current folder, you can visualize
their isosurfaces in main function 0, as shown below. The eigenvalues and energies are also labelled:
It is obvious that the above three NAdO orbitals nicely elucidated the orbital interaction
between the fragment O1 and the fragment C1-C2, and in the interacting region the same phase
982
4 Tutorials and Examples
overlap can be clearly observed. Among them, the first NAdO has the lowest energy, indicating that
it has the largest contribution to the interfragment binding. Please then plot BOD map in the plane
defined by C1, C2 and O3 via main function 4 to visualize distribution of the electrons directly
contributing to the interfragment interaction.
This is only a very simple example showing the usefulness of BOD/NAdO of revealing
interfragment interaction, evidently it can also be applied to much more complicated situations to
gain deeper insights, such as the interaction between the iron atom and the two cyclopentadienyl
rings in ferrocene, the interaction between encapsulated atom and cage in atomic cluster.
Finally, I also would like to mention that in the fuzzy atom space analysis module, you can use
option -1 to switch the space partition method to Hirshfeld-I before generating AOM file; in some
case, especially when metal is involved, the result may be notably better than using the default
partition.
Multiwfn is able to visualizing free regions (i.e. pores or cavities) and calculating free volume
in a cell, please carefully read Section 3.300.1 for basic information and algorithm used in the
function illustrated in this section. Below I will exemplify this function by two examples.
Note that if you open this file by text editor, you can find the following line:
CRYST1 31.064 31.100 31.093 90.00 90.00 90.00 P 1 1
Meaning that the box is rectangle and the length in X, Y, Z is 31.064, 31.100, 31.093 Å, respectively.
983
4 Tutorials and Examples
This output shows that about half of the whole cell is not lying within the vdW surface of the system.
In the newly appeared menu, select option 3 to visualize isosurface of smoothed grid data, then
after selecting "Show molecule" and "Show data range" check boxes in the GUI, you will see
molecular structure along with the isosurfaces representing free regions:
It can be seen from the above map that the actual free regions are very vividly and clearly revealed
by the isosurfaces. The default isovalue is 0.5. If you increase it, the isosurfaces will shrink and only
significant pores will be visible. In contrast, if you decrease isovalue, existing isosurfaces will inflate
and more insignificant pores will appear in the graph.
Note: The choice of smoothing method significantly affects isosurface of smoothed grid data. As you can see
from above map, the Gaussian function with FWHM=1.8 Bohr works well for this system, but sometimes it does
not work reasonably as expected. For example, when the system consists of crowded atoms (e.g. atomic clusters),
this smoothing function may bring artificial effect because it decays too slowly, and sometimes the areas of the
984
4 Tutorials and Examples
isosurfaces corresponding to free regions are too small or fully disappeared. In this case you can try other smoothing
functions, such as Becke function or error function, the default one is error function with scale factor of 1.0. You can
also try to Gaussian function with smaller FWHM than the present example.
In the post-processing menu, you can also export the smoothed grid data as a .cub file, so that
you can render it via third-part visualization tools, such as VMD, ChimeraX and VESTA. You can
also find option used to visualize isosurface of raw grid data, however, as you will see, this
isosurface can hardly be used to exhibit pore character in the present system, and the isosurface is
very jagged, rendering importance of the smoothing algorithm employed in Multiwfn, see Section
3.300.1 for detail of the grid data calculation algorithm.
It is worth to note that as shown in Section 4.200.14.2, domain analysis module of Multiwfn is
also able to visualize cavity and calculate cavity volume, however this module is only suitable for
investigating internal cavity of a single molecule, it cannot be used to study all pores in a large cell
like the present system.
Clearly, the COF must have low density since its free volume occupies approximately as large as
2/3 of the whole cell.
When grid is non-orthogonal, Multiwfn is unable to directly plot its isosurface map, so this
time we choose option 4 in post-processing menu to export smoothed grid data as free_smooth.cub
in current folder. After that, load it into VMD software (http://www.ks.uiuc.edu/Research/vmd/), go
to “Graphics” - “Representation”, set drawing method of the system to “Licorice”, then add a
representation for showing isosurface, and change the settings as the following screenshot (the VMD
I am using is version 1.9.3)
985
4 Tutorials and Examples
Then in the console window, input pbc box to draw frame of grid data, and set background color to
white, you will see
The graphical effect is very satisfactory, the free region is nicely revealed.
By the way, if you set the drawing method of the structure to “VDW”, you will find the
isosurface of free region and van der Waals surface form an obvious complementarity, indicating
that the free region is indeed reasonably exhibited.
You can also use VESTA software to plot the free region map based on the free_smooth.cub,
the graphical effect is even better, see http://sobereva.com/617 for detail.
986
4 Tutorials and Examples
Multiwfn is able to fit spherically averaged electron density of an isolated atom as multiple
Slater type orbitals (STOs) or Gaussian type functions (GTFs), please read Section 3.300.2 to gain
basic knowledge. In this section, I will illustrate how to use this function to realize the fitting.
4.300.2.1 Crudely fitting radial density of silicon as several STOs
In this section we will fit radial density of silicon atom as linear combination of a few STOs.
Since the number of fitting functions is small, the fitting procedure is rapid and evaluation of fitted
density is quite expensive, however, the fitting quality is not expected to be very high.
Boot up Multiwfn and input
examples\atomwfn\Si.wfn // Generated at ROHF/6-31G* level
300 // Other functions (Part 3)
2 // Fitting atomic radial density as multiple STOs or GTFs
3 // Check or set initial guess of coefficients and exponents of fitting functions
2 // Set initial guess as "crude fitting by a few STOs with variable exponents". Then from
screen you can find only four STOs will be employed in the fitting, their initial status are
Coefficient Exponent
Coefficient Exponent
As you can see, the integral of the originally fitted density over the whole space is 13.13399890,
therefore the coefficients of the fitting functions are scaled by 14/13.13399890=1.06593583, where
14 is the actual number of electrons of silicon. In the current fitting, both coefficients and exponents
of the four STOs are optimized, the final parameters are printed under "Fitted parameters (a.u.) after
987
4 Tutorials and Examples
scaling" title. The RMSE is a quantity useful in quantitatively measuring fitting quality. The r2
coefficient between fitted density and actual density is as high as 0.99, implying that the fitting is
reasonable; however, it is highly suggested also employing other ways to further examine the fitting
quality and confirm the fitting reliability, so that the fitted parameters can be safely used in practical
studies to estimate density.
In the newly appeared menu you can see many options, whose meanings are either self-
explanatory or have been described in Section 3.300.2.2. To quantitatively check fitting quality at
the 4000 fitting points, we select option 1, then you will see
Radial distance (Angstrom), actual density (a.u.), difference between fitted an
[ignored...]
The "Diff" is difference between fitted density and actual density, the values in the parentheses are
relative errors. As can be seen, the error in the region very close to nucleus is not small, however it
does not matter since this region is not of chemical interest, usually chemists mainly focus on
electron density in valence region.
Next, we choose option 3 to visually inspect curves of fitted density and actual density using
logarithmic scaling, then you will see
The fitting is evidently successful, since the fitted density curve is close to actual density curve in
the region within 1.8 Å. It is worth to mention that Bondi vdW radius of silicon is 2.1 Å.
You can also select option 4 to plot comparison map between fitted density and actual density
988
4 Tutorials and Examples
using linear scaling, you will further find that the fitted density indeed nicely reproduces the actual
density.
If you select option 5, then fitdens.txt will be outputted in current folder. This file contains
fitted density (the second column) at points evenly distributed from 0 to 10 Å, the grid spacing is
half of the fitting points, namely 0.001/2=0.0005 Å. From the data in this file you can find that the
fitted density varies smoothly and monotonically, no negative value can be found, further implying
that the fitting is successful and the fitted parameters are reliable.
Finally, we select option 6 to examine integral of fitted density over the whole space via
different number of points of Gaussian quadrature, you will see:
Number of integration points: 40 Integral: 13.99999923
[ignored...]
As can be seen, in all cases the integral is almost exactly identical to the actual number of electrons
(14), further demonstrating that our fitting is reasonable.
Since our fitted density has passed quality check in many ways, we can finally conclude that
the fitted parameters of the four STOs can be safely and reliably employed in future researches.
Coefficient Exponent
989
4 Tutorials and Examples
From this data we can find the fitting quality is almost perfect! The r2 is almost exactly 1.0!
Please use the same way as illustrated in the last section to examine fitting quality, you will
find current fitting is completely successful. For example, after choosing option 3 we can see the
following map, which exhibits that the fitting quality in all regions is perfect.
Clearly, the fitting procedure illustrated in this section is quite ideal when you want to reach
very high fitting quality.
By the way, from the parameters of the fitted GTF functions shown earlier, you can find GTF
3 and GTF 4 have almost identical exponent, that means they can be combined as a single GTF to
reduce the parameters. To do so, we input
0 // Return
3 // Check or set initial guess of coefficients and exponents. Then from screen you can find
the parameters we fitted earlier
10 // Combine two fitting functions together
3,4 //Indices of the two fitting functions to combine
0 // Return
990
4 Tutorials and Examples
1 // Start fitting
Then you can use option 3 to visualize the radial density again, you will find the quality of the fitting
via the current 8 GTFs is unchanged, so 8 GTFs are fully adequate to reach an accurate fitting for
present atom.
The fitting module in Multiwfn is quite flexible, there are many options used to control fitting
strategy, see Section 3.300.2 for more information.
Please check Section 3.300.4 if you are not familiar with theory of STM or simulation of STM
in Multiwfn. In the next two sections, we will respectively simulate STM of constant height and
constant current modes for phenanthrene. The simulation will be based on the wavefunction in
examples\phenanthrene.fch, which was generated at B3LYP/6-31G* level.
It is important to note that in order to simulate STM in Multiwfn, the molecule must be parallel
to XY plane (though the molecule is not necessarily planar), however, in the phenanthrene.fch the
molecule is parallel to YZ plane. Therefore, the molecule must be rotated prior to STM simulation.
Of course, we can first reorient the molecule and then conduct a single point task via quantum
chemistry to generate wavefunction file, but a better way is using Multiwfn to directly rotate the
wavefunction and geometry, namely inputting below commands in Multiwfn
examples\phenanthrene.fch
6 // Check & modify wavefunction
33 // Rotate wavefunction, namely X→Y, Y→Z, Z→X
0 // Rotate all orbitals
y // Also rotate molecule structure. Then the molecule will be on XZ plane
33 // Rotate wavefunction again
0 // Rotate all orbitals
y // Also rotate molecule structure
Now the phenanthrene has exactly been on XY plane of Z=0 Å (you can check this point via
main function 0). Then we enter main function 100, choose subfunction 2 and then select
corresponding option to export the present wavefunction to a new .mwfn file. In the next sections,
this new file will be referred to as mol.mwfn.
4.300.4.1 Simulating constant height STM image for phenanthrene
Here we simulate STM image of constant height mode for phenanthrene. Boot up Multiwfn
and input
mol.mwfn
300 // Other function (Part 3)
4 // Simulating STM image
From the message on screen it can be seen that the Fermi level (EF) has been set to average of
991
4 Tutorials and Examples
HOMO energy and LUMO energy, the bias voltage (V) has been automatically set to the difference
between HOMO energy and EF, in this case only HOMO can contribute to the STM image. In order
to obtain expected STM image, it is crucial to properly define the V. In the case of negative V,
electrons flow from sample to STM tip, and the more negative the V, the more MOs may contribute
to the STM image. Also, note that the distance between the atoms in the sample and the tip
significantly affects STM image. From the information on option 7 you can find the default Z
coordinate of the plane to be plotted is 0.7 Å. Since all atoms in the mol.mwfn have Z coordinate of
0 Å, the distance between the nuclei and the tip is 0.7 − 0.0 = 0.7 Å. In this example, we will plot
STM image with V= -5.0 V at Z=1.2 Å.
Now input below command
2 // Set bias voltage
-5 // Bias voltage of -5.0 V
7 // Set Z coordinate
1.2 // Z=1.2 Å
0 // Calculate tunneling current on the plane
Now you can find below information on screen
Lower limit of MO energy considered in the calculation: -8.362 eV
It can be seen that there are 4 occupied MOs whose energy is lying between EF+eV (-8.362 eV)
and EF (-3.362 eV), therefore the plane data of the STM image corresponds to sum of their
probability densities in the plane multiplied by their occupation numbers (2.0 in present case since
they are all close-shell MOs), this data is also known as local density-of-states (LDOS). As shown
in the prompt, the largest value of LDOS in the calculated plane is 0.010218 a.u.
Now you are in the STM plotting menu, you can find many options used to adjust plotting
effect, they are all self-explanatory, please play with them. We directly choose option 0 to plot the
image under default setting, you will see
992
4 Tutorials and Examples
In this map, the brighter the white, the larger the LDOS and thus the stronger the tunneling
current (I), since the Tersoff-Hamann model shows that I is positively proportional to LDOS. It can
be seen that I signal is more prominent over the two boundary six-membered rings than the central
one.
4.300.4.2 Simulating constant current STM image for phenanthrene
In this section we again plot STM image for phenanthrene but using constant current mode.
Boot up Multiwfn an input
mol.mwfn
300 // Other function (Part 3)
4 // Simulating STM image
1 // Switch the mode of STM image to constant current
2 // Set bias voltage
-5 // Again we use bias voltage of -5.0 V
In the constant current mode, LDOS is calculated for every evenly distributed point in a 3D
region, whose X, Y and Z range can be set by options 5, 6 and 7, respectively, usually the default
setting is appropriate. We directly choose option 0 to start the calculation, from the information on
screen you can find the maximal value of LDOS in the calculated region is 0.048 a.u.
In the post-processing menu you can find several options, we first use option 1 to visualize
isosurface map of tunneling current, which corresponds to LDOS in the present context. The
isosurface corresponding to LDOS=0.015 a.u. is shown below. Note that although the choice of
isovalue is arbitrary, it should be between 0 and the maximum value (0.048 a.u. in this example)
993
4 Tutorials and Examples
In above map, the isosurfaces of tunneling current normally occur over the carbons, implying that
the default calculated region is appropriate for the present case. The blue box can be shown by
clicking "Show data range" check box, it displays the region where LDOS was calculated.
Next, we plot plane map. Select option "3 Calculate and visualize constant current STM image"
and then input the expected value of tunneling current, we input 0.01 in this example. After that,
Multiwfn starts to calculate the Z value where tunneling current (LDOS) is approximately equal to
0.01 a.u., evidently Z is different at different (x,y) positions. Then from screen you can find
Minimal Z is 0.700000 Angstrom
They are proper lower and upper limits of the color scale of STM image, respectively.
Now you are in the interface of plotting STM image of constant current mode, we input below
commands
2 // Choose map type
2 // Color-filled map with contour lines
7 // Set label interval in X, Y and color scale axes
1.5,1.5,0.05
-3 // Change other plotting settings
2 // Set number of decimal places of tick labels
1 // Set X axis
1 // Set Y axis
2 // Set Z axis
0 // Return
0 // Plot the STM image
Then you can see this map on screen:
994
4 Tutorials and Examples
In above map, the value corresponds to Z distance of STM tip. It can be seen that at constant
current (LDOS) of 0.01 a.u., the Z position of STM tip is relatively high over the two boundary six-
membered rings. The characteristics of this map is very similar to the STM image of constant height
mode.
If you want to further investigate STM plane map with other constant current value, you can
exit the plotting interface, then enter the option "3 Calculate and visualize constant current STM
image" again and input the expected current value.
995
4 Tutorials and Examples
XXX= 14.0946 YYY= 8.6123 ZZZ= 0.0027 XYY= 6.6643 XXY= 46.4098
XXZ= -0.0099 XZZ= 2.7809 YZZ= -7.6843 YYZ= 0.0159 XYZ= -0.0033
Hexadecapole moments:
If "ispecial" in settings.ini is set to 1, then before calculating dipole and multiple moments, the
system will be displaced to make nuclear contribution to dipole moment zero.
Note that you can also use subfunction 2 of main function 15 to calculate above quantities,
however it calculates numerically based on multicenter grids, the cost is significantly higher while
the numerical accuracy is slightly lower. However, it has a unique advantage, namely it can calculate
dipole and multipole moments for specific fragments in current system, see Section 4.15.3 for
example.
The <r2> is a useful index to quantitatively characterize the breadth of the distribution of
electrons, I have a blog article to discuss this point in detail: http://sobereva.com/616 (in Chinese).
996
4 Tutorials and Examples
As described in Section 3.300.6, Multiwfn has a function to evaluate energies of the orbitals
stored in memory based on the user-provided Fock/Kohn-Sham matrix. In principle, one can use
this function to calculate energies of orbitals of any kind! In this example, I will illustrate how to
make use of this function to evaluate energies of natural transition orbitals (NTOs). S0→S1
excitation of a typical donor--acceptor system will take as the example. Please make sure that you
have understood how to perform NTO analysis, see Section 4.18.6 for example. The present
example contains three steps: (1) Generating NTO orbitals by TDDFT calculation (2) Generating a
file containing Fock/Kohn-Sham matrix (3) Calculating NTO orbital energies.
First, we generate NTO orbitals, the Gaussian input file of TDDFT task is examples\excit\D-
pi-A.gjf, the corresponding output file and .fchk file have also been provided in the same folder.
Boot up Multiwfn and input the following commands
examples\excit\D-pi-A.fchk
18 // Electronic excitation analysis
6 // Generate natural transition orbitals (NTOs)
examples\excit\D-pi-A.out
1 // The first excited state (S1 state)
Then you can see
The highest 10 eigenvalues of occupied NTOs:
These data display that NTO works well for the present case, since the NTO pair with highest
eigenvalue contributes 99.2% to this excitation, namely the S0→S1 excitation can be almost
perfectly represented by this NTO transition. Then we choose option 3 to export the NTOs as
NTO.mwfn in current folder.
Next, we generate a file containing Kohn-Sham matrix of present system, see Section 3.100.17
for details. Boot up Multiwfn and input
examples\excit\D-pi-A.fchk
100 // Other functions (Part 1)
17 // Generate Fock/KS matrix based on orbital energies and coefficients
KS.txt
Now the KS.txt in current folder contains the Kohn-Sham matrix converted back from the
energies and coefficients of molecular orbitals in the D-pi-A.fchk.
Finally, we calculate energies of the NTO orbitals. Boot up Multiwfn and input
NTO.mwfn
300 // Other functions (Part 3)
997
4 Tutorials and Examples
...[ignored]
In the NTO.mwfn, the occupied and unoccupied NTOs with highest eigenvalue are orbitals 56
and 57, respectively, according to the above data their energies are found to be -9.4672 and -0.7101
eV, which are very reasonable.
Note that there are also other ways to provide Kohn-Sham matrix to Multiwfn, see Appendix
7 of this manual. For example, you can also use Gaussian to directly generate .47 file, which can
also provide Kohn-Sham matrix to Multiwfn for generating orbital energies. Now I illustrate how
to do. We create a new Gaussian input file with the following content, notice that the geometry, DFT
functional and basis set must be exactly identical to the examples\excit\D-pi-A.gjf. (this file has
already been provided as examples\excit\D-pi-A_get47.gjf)
# CAM-B3LYP/6-31g(d) pop=nboread
b3lyp/6-31g(d) opted
0 1
[geometry part]
After running this file by Gaussian, you will obtain D-PI-A.47 file in C:\ folder, it has been
provided as examples\excit\D-PI-A.47. Then after choosing subfunction 6 in main function 300, you
can input path of this .47 file, Multiwfn will load Kohn-Sham matrix from it and then calculate
orbital energies.
Due to numerical reason, the Kohn-Sham matrix recorded in the .47 file and that directly generated by Multiwfn
are marginally different, hence the resulting NTO energies are also slightly different in the two cases. However, the
difference is fully negligible for practical studies.
When diffuse functions are heavily employed and thus quantum chemistry code automatically eliminated some
linearly dependent basis functions, Multiwfn will be unable to directly generate Kohn-Sham matrix, and you have
to use other ways to provide Kohn-Sham matrix to Multiwfn, such as using .47 file.
998
4 Tutorials and Examples
Please read Section 3.300.8 first to gain basic knowledge about the molecular surface distance
projection map. In this section, [Ru(bpy)3]2+ will be taken as an example to show how to plot this
kind of map. The examples\excit\Ru(bpy3)2+.gjf contains optimized geometry of this system,
therefore it will be used as input file (of course, you can also use file in other formats such
as .xyz, .pdb and .mol2 as input file). The system is already in an appropriate orientation for studying
burying of Ru atom by the ligands, see below figure. If the current orientation is not suitable for
plotting this map, you should use molecular visualization softwares such as GaussView to rotate it.
999
4 Tutorials and Examples
As you can see, different colors nicely exhibit the distance of various regions of molecular surface
to screen, the relative position of Ru atom and ligands can be very clearly detected. Under the default
setting, Z=0 corresponds to the Z position of the atom having most positive Z coordinate. If the
current map does not make you satisfied, you can close the map and use the rich options in the
interface to further improve graphical effect.
Next, we plot this map again but using another molecular surface definition, namely
superposition of atomic van der Waals spheres. Now input the following commands
-1 // Return
1 // Set definition of molecular surface
3 // Superposition of atomic van der Waals spheres scaled by a factor
1 // We do not scale van der Waals radii in this example, so we set scale factor to 1
0 // Start calculation
0 // Show the map on screen
Then you will see the following figure, from which it is obvious that the Ru atom is heavily
buried by surrounding ligands, and due to the strong steric hindrance, foreign molecule is not easy
to approach the Ru atom.
1000
4 Tutorials and Examples
The van der Waals surface constructed by superposition of atomic spheres is evidently not quite
smooth. Using 0.005 a.u. of electron density isosurface as definition of molecular surface can
produce a map with comparable character, while the color transition and contour lines are much
smoother (after returning to last menu, you can choose option 1, select 1 and then input 0.005 to
switch to this definition).
Note that Multiwfn is also able to plot this kind of map for solid surface, see Section 4 of
http://sobereva.com/589 for illustration.
The contents in this section involve more than one main functions of Multiwfn, or contain
special usages and skills.
In this tutorial, I will briefly show you how to use Multiwfn to study variation of electronic
structure along the IRC path of Diels-Alder adduction. We will study the variation of Mayer bond
order, and will animate the deformation of ELF isosurface. With the similar fashion you can also
easily investigate variation of other properties, such as atomic charges, electron density, aromaticity
and so on.
1001
4 Tutorials and Examples
Gaussian 09 was used throughout this tutorial. Unless otherwise specified, all calculations will
be performed under Windows 7 64bit system. In this tutorial the files marked by crimson can be
found in "examples\IRC" or "examples" folder.
Before starting this tutorial, you should setup running environment for Gaussian first,
otherwise Gaussian cannot be properly invoked in Windows environment. The setup method is:
Enter “control panel”-“System properties”-“Advanced”, click “Environment variables” button, then
click “New” button in “User variables” frame, input GAUSS_EXEDIR as variable name, input the
install directory of Gaussian as variable value (e.g. D:\study\g09w\, assuming that g09.exe is in this
folder). After that modify "PATH" environment variable to add the install directory of Gaussian into
it.
#p B3LYP/6-31G* nosymm
DA adduction
0 1
1002
4 Tutorials and Examples
blank line
blank line
Notice that the basis set we used here (6-31G*) is different to the one used in IRC task (6-
31+G*), because Mayer bond order does not work well when diffuse functions are presented. By
the way, ignoring diffuse functions will not lead to detectable change of ELF isosurface. Also note
that the "nosymm" keyword is specified, because if we do not do this Gaussian will automatically
translate and rotate the molecule to put it to standard orientation, which may leads to discontinuity
problem in the animation of ELF (You will see molecule suddenly jumps in certain frames of the
animation).
IRCsplit.exe is a tool used to produce .wfn/.chk file for each point of IRC and SCAN tasks of
Gaussian, IRCsplit.f90 is the corresponding source code, by which you can compile Linux version
of IRCsplit. Boot up IRCsplit.exe by double click its icon and then input
DA_IRC.out //The file of the output file of the IRC task
DA_SP.gjf //The template file used to generate single point input files
2 //Only yield .chk files
C:\DA_IRCchk\DA //The path and prefix of the finally generated .chk files
18,13 // The program detected that in DA_IRC.out there are 18 and 13 points in the two
directions of IRC, respectively. Here we extract all of them, together with the TS point
Now you can find DA_SP0001.gjf, DA_SP0002.gjf ... DA_SP0032.gjf in current folder. Please
manually check one of them to verify the reasonableness of these input files. Note that
DA_SP0014.gjf corresponds to the TS geometry.
Build a new folder "C:\DA_IRCchk" and copy the .gjf files as well as the script runall.bat into
it. Double clicking the icon of runall.bat, which will invoke Gaussian 09 to run all of the .gjf files.
Now you have DA0001.chk, DA0002.chk ... DA0032.chk in "C:\DA_IRCchk" folder. Copy
chk2fch.bat to this folder and run it, then the formchk utility in Gaussian package will be
automatically invoked to convert all .chk files to .fch files.
C:\DA_IRCchk\%%~ni.txt
batchrun.bat in fact is a Windows batch script. Double clicking its icon to run it, the .fch files
in "C:\DA_IRCchk\" folder will be sequentially loaded into Multiwfn, and the calculated Mayer
bond orders will be exported to .txt files in the same folder.
1003
4 Tutorials and Examples
The out.txt file now contains C1-C16 bond order of all points in the IRC:
DA0001.txt:# 9: 1(C ) 16(C ) 0.05929972
...
The last column is the values of Mayer bond order of C1-C16, you can plot them by your
favorite program now, you will see
1.1
1.0
0.9 C1-C16
0.8
0.7
Mayer bond order
0.6
0.5
0.4
0.3 TS
0.2
0.1
0.0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32
IRC point
Clearly, C1-C16 become stronger and stronger as the reaction proceeds, its Mayer bond order
gradually increases to 1.0 (typical single bond).
With the same method, we also calculate the Mayer bond order of C1-C2 and C4-C5, namely
run below commands
grep "1(C ) 2(C )" * > out2.txt
Plot the data in out.txt, out2.txt and out3.txt together, you will see
1004
4 Tutorials and Examples
TS
2.0
1.8
1.6
1.4
Mayer bond order
1.2
1.0
0.8 C1-C16
C1-C2
0.6
C4-C5
0.4
0.2
0.0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32
IRC point
This graph vividly shows that the C1-C2 smoothly becomes to a single bond from a double
bond during the DA adduction, and the reaction increases the double-bond character of C4-C5
significantly.
Run ELFbatchrun.bat, Multiwfn will sequentially load the .fch files in "C:\DA_IRCchk" and
export the corresponding ELF grid data to DA0001.cub, DA0002.cub ... DA0032.cub in current
folder.
We use VMD 1.9.1 program (freely available at http://www.ks.uiuc.edu/Research/vmd/) to
render isosurface for these cube files. Move all of the cube files to VMD folder, and create a plain
text file named isoall.tcl in the VMD folder, the content is
set isoval 0.88
1005
4 Tutorials and Examples
#scale to 0.30
rotate y by 50
rotate z by 90
rotate x by -30
rotate y by -20
This file essentially is a VMD script, in which the command set isoval 0.88 means the isosurface of
0.88 will be plotted, the default view point is adjusted by scale, rotate and translate commands. for
{set i 1} {$i<=32} {incr i} means the file from DA0001.cub to DA0032.cub will be processed.
Now boot up VMD, and input the command source isoall.tcl in its command line window, then
you will have DA0001.bmp, DA0002.bmp ... DA0032.bmp.
There are numerous programs that can convert single-frame graphic files to animation, such as
Atani, FFmpeg, Videomach, etc. Here we use ImageMagick tool in Linux to do this, and we choose
gif as the animation format, since gif animation can be directly embedded into webpages.
Copy all of the .bmp files to Linux system, and run below command in the corresponding folder:
convert -delay 12 -colors 100 -monitor *.bmp ELF_IRC.gif
in which -delay controls the time interval between each frame in the animation, and -colors
determines the number of colors used, the larger the value, the more smoothly the color changes,
but the larger the animation file. You can run convert --help to study more arguments of this tool.
If the the resultant ELF_IRC.gif cannot be properly displayed on your system, use your
webpage explorer or advanced image explorers (e.g. IrfanView) to open it. The deformation of ELF
isosurface in this animation very intuitively exhibits how the new bonds are formed and how the
characteristic of existing bonds changed.
As there are many ways to calculate atomic charges (see Section 3.9 for introduction and 4.7
for examples), there are various ways to calculate spin population. Spin population is defined as the
population number of alpha electrons minus that of beta electrons. Spin population is a key quantity
for characterizing electronic structure of open-shell systems, i.e. radicals and antiferromagnetic
systems. From spin population we can clearly know where the spin electrons are mainly distributed.
Moreover, we can discuss contribution from different regions (atomic orbitals, atoms or fragments)
to the total magnetic dipole moment m due to electron spin. If spin population of a region is x, then
its contribution to m will be xμB, where the Bohr magneton μB=eћ/(2me) (e: electron charge, me:
mass of electron) represents the magnetic moment produced by a single electron. Note that in
1006
4 Tutorials and Examples
chemical systems the movement of electron in orbitals and nuclear spins also have contributions to
m, but the magnitude is evidently weaker and thus can often be neglected.
In Multiwfn, the spin population defined in many different ways can be calculated by three
modules, they are briefly discussed below.
(1) Population analysis module (main function 7). In this module, if you select Mulliken or
Löwdin population analysis, alpha, beta and spin population of each basis function, shell and angular
moment orbitals will be outputted. If you select modified Mulliken population analysis (e.g. SCPA),
only the alpha/beta/spin population of each atom will be shown. If you first define a fragment via
option -1 in main function 7, then spin population of the fragment will be printed together. Do not
use these methods when diffuse basis functions are presented in your basis set, otherwise the result
may or may not be reliable.
(2) Fuzzy atomic spaces analysis module (main function 15). After you entered this module,
select option 1 and choose electron spin density, the spin population of each atom will be shown.
They are calculated by integrating electron spin density in fuzzy space of each atom. If you want to
obtain spin population of a fragment, you should first use option -5 to define the atoms to be
calculated.
By default the fuzzy atomic space defined by Becke is employed, so the result can be called
Becke spin population. If before calculation you selected option -1 to switch to Hirshfeld or
Hirshfeld-I fuzzy atomic space, then the result will correspond to Hirshfeld or Hirshfeld-I spin
population. All the Becke, Hirshfeld and Hirshfeld-I methods are reliable in all cases. For more
detail you can consult Section 3.18.
(3) Basin analysis module (main function 17). In this module, you can use AIM method to
calculate spin population. Please consult Section 4.17.1 on how to perform integration of real space
function in AIM atomic basins. If electron spin density is chosen to be the integrand, then the result
will correspond to AIM spin population. In general I do not suggest using this method, because the
computational cost is evidently higher than using population analysis module and fuzzy atomic
spaces analysis module.
Overall, if you only need to calculate atomic spin population, using fuzzy atomic spaces
analysis module is recommended, while SCPA is also a good choice when no basis function is
employed. However, if more detailed information are requested, such as spin population in different
angular moment orbitals, please use or Löwdin Mulliken population analysis.
1007
4 Tutorials and Examples
Next, the methods presented in above table will be briefed sequentially, and how to realize
them in Multiwfn will also be mentioned.
1. Molecular orbital (MO): The famous Hückel 4n+2 and 4n rule for determining aromaticity
character was first explicitly presented in J. Am. Chem. Soc., 73, 876 (1951). For a molecule, if there
are totally 4n+2 electrons in π () MOs, and this set of MOs share the similar delocalization pattern,
then the ring involved in these MOs will show π () aromaticity. If there are 4n electrons, then the
ring should possess anti-aromaticity. Note that for Möbius type of molecule, the 4n+2 and 4n rule
are inverted.
In order to use the Hückel rule to determine aromaticity, one should first pick out proper MOs
by visualizing MO isosurfaces, you can use main function 0 for this purpose. If the system is exactly
1008
4 Tutorials and Examples
planar, you can directly make use the function introduced in Section 3.100.22 to find out the indices
of all π MOs.
2. AdNDP (Adaptive natural density partitioning): The MO method shown above
commonly is only applicable to the molecule containing only one ring. When there are multiple
rings, such as phenanthrene, the MOs are useless, since MOs in general delocalize over the whole
molecule and thus cannot be used to study local aromaticity of different rings. The AdNDP method,
which was proposed in Phys. Chem. Chem. Phys., 10, 5207 (2008), is able to overcome this difficulty.
AdNDP has been carefully introduced in Section 3.17, and many examples are given in Section 4.14.
3. NICS (Nucleus-independent chemical shift): NICS uses the negative value of magnetic
shielding value at ring center to measure its aromaticity. This is the most popular aromaticity index
nowadays, it was originally proposed in J. Am. Chem. Soc., 118, 6317 (1996) and reviewed in Chem.
Rev., 105, 3842 (2005). There are also a few variants, among them the best one to study aromaticity
is NICS(1)ZZ, see Org. Lett, 8, 863 (2006) for comparison. For non-planar systems, it is often
difficult to calculate NICS(1)ZZ, in this case you will find the function introduced in Section 3.28.4
extremely useful.
Multiwfn can also scan NICS along a line and thereby plotting one-dimensional NICS curve
map, see Section 3.28.13 for introduction and Section 4.25.13 for examples. Multiwfn can also scan
NICS in a plane and plotting two-dimensional NICS plane map, see Section 3.28.14 for introduction
and Section 4.25.14 for examples. Via the curve and plane maps, considerably richer information
can be obtained compared to simply calculating NICS at specific points, and these analyses are
much more intuitive.
4. ICSS (Iso-chemical shielding surface): The original paper of ICSS is J. Chem. Soc., Perkin
Trans., 2, 1893 (2001). This method analyzes aromaticity by visualizing isosurface of magnetic
shielding value around the molecule. See Section 3.28.3 for introduction and Section 4.25.3 for
examples. The main drawback of this method is that calculating grid data of magnetic shielding
values in a three-dimensional region is fairly time-consuming.
5. HOMA (Harmonic oscillator measure of aromaticity): HOMA measures aromaticity
based on bond lengths in the ring of interest. See Section 3.28.6 for introduction and Section 4.25.6
for example.
6. Bird index: The same as above.
7. Multi-center bond order (MCBO): MCBO is an indicator of electron delocalization ability
over a ring and is the aromaticity index I most strongly recommended. Larger MCBO value
corresponds to stronger aromaticity. See Section 3.11.2 for introduction. Some applications of
MCBO in aromaticity studies can be found in J. Phys. Org. Chem., 26, 473 (2013), Phys. Chem.
Chem. Phys., 2, 3381 (2000) and J. Phys. Chem. A, 109, 6606 (2005). It is straightforward to discuss
π and σ aromaticities separately by MCBO, that is before calculating MCBO value, first set
occupation number of all σ and π MOs to zero respectively by subfunction 22 of main function 100.
Note that the definition of MCBO in many literatures differ with that in Multiwfn by a constant
coefficient.
8. ELF-σ/π: The ELF calculated solely based on π orbitals and all other orbitals are referred to
as ELF-π and ELF-σ, respectively. It was argued that the value of bifurcation point of ELF-π (ELF-
σ) is an indicator of π (σ) aromaticity, some applications can be found in J. Chem. Phys., 120, 1670
(2004), J. Chem. Theory Comput., 1, 83 (2005) and Chem. Rev., 105, 3911 (2005). An example of
calculating ELF-σ/π is given in Section 4.5.3. In addition, Section 4.4.9 presented an example of
1009
4 Tutorials and Examples
studying LOL-π (which is very similar to ELF-π) by plotting plane map. I do not think ELF-σ/π is
a very ideal method for measuring aromaticity, mostly because this method often suffers from
ambiguity (you will recognize this point if you have used this method to study many practical
systems). Also note that the bifurcation values of ELF-σ/π in a lot of literatures are incorrect; if you
try, you will find it is impossible to reproduce their results at all. (So do not always believe literatures
but believe in yourself!)
9. PDI (Para-delocalization index): This aromaticity index is only applicable to six-
membered rings. PDI was first proposed in Chem. Eur. J., 9, 400 (2003) and reviewed in Chem.
Rev., 105, 3911 (2005). Please check Section 3.18.6 for introduction of PDI and Section 4.15.2 for
example of using PDI.
10. ATI (Average two-center indices): ATI was first proposed in J. Phys. Org. Chem., 18, 706
(2005). In fact ATI does not contain any new idea, it simply replaces the delocalization indices
involved in PDI formula with corresponding Mayer bond orders, and according to the discussions
in J. Phys. Chem. A, 109, 9904 (2005), there is no essential difference between Mayer bond order
and delocalization index in physical nature. If you would like to use ATI, you can directly calculate
Mayer bond order by Multiwfn and then manually calculate ATI according to its formula.
11. PLR (Para linear response index): As ATI, PLR is also very akin to PDI. The only
difference between PLR and PDI is that the delocalization indices in PDI are replaced with
corresponding condensed linear response kernels. Original paper of PLR is Phys. Chem. Chem.
Phys., 14, 3960 (2012). You can check Section 3.18.9 for introduction of PLR and Section 4.15.2
for example of using PLR.
12. DI: This method was proposed in Chem. Eur. J., 9, 400 (2003) for measuring aromaticity
of 5-membered systems. Consider below case
The DI is simply defined as the difference of delocalization index (DI) between the formal C=C
bond and the C-C bond. The DI can be either calculated by fuzzy atomic space analysis module or
by basin analysis module (though the definition of atomic spaces are different in these two module,
the results are similar in common). In fact, you can also use Mayer bond order instead of DI. I do
not believe DI is reliable, since aromaticity is an overall property of a system, while the
delocalization over C-X bond is completely ignored in DI.
13. FLU and FLU-π (Aromatic fluctuation index): They were proposed in J. Chem. Phys.,
122, 014109 (2005). See Section 3.18.7 for introduction and Section 4.15.2 for example.
14. RCP properties: In Can. J. Chem., 75, 1174 (1997) it was shown that the density and the
curvature of density perpendicular to the ring plane at ring critical point (RCP) closely relate to
aromaticity of the ring. The larger the density, or the more negative the curvature, the larger the
aromaticity. You can use topology analysis module of Multiwfn to apply this method. Detail
introduction can be found in Section 3.14.6, an example is given in Section 4.2.1.
15. Shannon aromaticity: This method was proposed in Phys. Chem. Chem. Phys., 12, 4742
(2010), which measures aromaticity based on electron density at bond critical points (BCP) in the
ring. See Section 3.14.6 for introduction and the example given in Section 4.2.1.
16. EL index: The idea of EL index is quite similar to HOMA, the most prominent difference
1010
4 Tutorials and Examples
is that the bond lengths in HOMA formula are replaced with electron density ellipticity at BCPs in
the ring. For more detail see the original paper Struct. Chem., 23, 1173 (2012). Electron density
ellipticity at BCPs can be directly calculated by topology analysis module of Multiwfn. Since the
ellipticity at BCP is usually unclear for strongly polar bonds, EL index may be unreliable for the
ring containing heteroatoms. In addition, EL index shares the same drawback of HOMA, that is
reference system is need. If reference system cannot be obtained, such as the case of metal clusters,
this method does not work.
17. Aromaticity indices defined based on information-theoretic quantities: It was
demonstrated in ACS Omega, 3, 18370 (2018) that the average of information-theoretic quantities
of the atoms constituting a ring is closely related to aromaticity. This method is supported as
subfunction 12 of main function 15, see Section 3.18.11 for details.
18. AV1245 and AVmin: AV1245 can be viewed as an approximation of MCBO. AVmin is
closely related to AV1245, it is able to reveal bottleneck of electron delocalization and thus
aromaticity of a selected path. See Section 3.11.10 for introduction and Section 4.9.11 for example.
There are numerous methods able to predict reactive site of electrophilic, nucleophilic and
radical reactions, and almost all of them are supported by Multiwfn. In this section, I will summary
and briefly introduce the methods available in Multiwfn. The interested reader is highly
recommended to take a look at Acta Phys.-Chim. Sinica, 30, 628 (2014), in which various methods
for predicting electrophilic sites are carefully introduced and thoroughly compared. You may also
find the slideshow "Predicting reactive sites" in "Related resources and posts" Section of Multiwfn
website useful.
1 Electrostatic potential (ESP). If you are not familiar with ESP, please consult corresponding
introduction in Section 2.6. Since electrophile (nucleophile) locally carries positive (negative)
charge, and thus tends to be attracted to the region where ESP is negative (positive), the position
and value of minima (maxima) of ESP on molecular vdW surface is often used to reveal favorable
site of electrophilic (nucleophilic) attack. ESP analysis can be realized via quantitative molecular
surface analysis module, see Section 4.12 for detailed introduction and Section 4.12.1 for example.
There are also alternative ways to study ESP; as illustrated in Section 4.12.3, the average of ESP on
local vdW surface corresponding to each atom is also very useful, and this approach is more reliable
and robust than analyzing ESP extrema on vdW surface. For planar system, one can also calculate
and compare the ESP value above 1.6Å (approximately equal to vdW radius of carbon) of molecular
plane from different atoms to examine their reactivities; to do this, you need to use main function 1,
which directly outputs various real space function values at given points.
However, as shown in my paper Acta Phys.-Chim. Sin., 30, 628 (2014), ESP is usually not a
reliable property for predicting reactive sites.
2 Average local ionization energy (ALIE) and local electron affinity (LEA). If you are not
familiar with ALIE, please read corresponding introduction in Section 2.6. ALIE can be studied in
ways analogous to ESP. The most common way to predict reactive sites in terms of ALIE is
analyzing minima of ALIE on vdW surface, see Section 4.12.2 for example. Also, you can study
average of ALIE on local vdW surface or evaluate ALIE above 1.6Å of molecular plane for planar
system.
1011
4 Tutorials and Examples
ALIE analysis is applicable to electrophilic and radical attacks, but it is useless for nucleophilic
attack. However, the local electron affinity (LEA) defined in similar way may be useful for this
purpose, see J. Mol. Model., 9, 342 (2003). LEA is supported in Multiwfn as user-defined function
27, see corresponding description in Section 2.7 for detail. The best way of analyzing LEA should
be plotting LEA mapped molecular surface map, as explicitly illustrated in Section 4.12.13.
3 Atomic charges. It is easy to understand that favorable electrophilic and nucleophilic
reactive sites should carry negative and positive atomic charges respectively, so that they can attract
electrophile and nucleophile to attack them. Multiwfn supports a lot of methods to calculate atomic
charges, see Section 3.9 for introduction and Section 4.7 for some instances. Among the available
atomic charges, the best one for predicting reactive site purpose may be Hirshfeld, interested readers
are suggested to consult J. Phys. Chem. A, 118, 3698 (2014) and especially Theor. Chem. Acc., 138,
124 (2019), the latter very nicely demonstrated reliability and value of Hirshfeld charge in predicting
both electrophile and nucleophile reactive sites. Do not use Mulliken charges, which may be the
worst one, though it is the most popular charge model.
4 Frontier molecular orbital (FMO) theory. Atom with larger contribution to HOMO
(LUMO) is more likely to be the preferential site of electrophilic (nucleophilic) attack. Multiwfn
supports many kinds of methods to calculate molecular orbital composition, see Section 3.10 for
introduction and Section 4.8 for examples. Commonly I suggest using Becke or Hirshfeld method.
Mulliken method works equally well if no diffuse functions are presented. NAO method is also a
good choice, but not suitable for analyzing virtual MOs. Besides, you can also directly visualize the
isosurface of MOs by main function 0 to discuss their compositions.
5 Fukui function and condensed Fukui function. The Fukui function proposed in J. Am.
Chem. Soc., 106, 4049 (1984) by Parr is the most prevalently used method for predicting reactive
sites nowadays. Please consult Section 4.5.4 for introduction and illustration. Fukui function is a
real space function, which is commonly studied by means of visualization of isosurface. In order to
faciliate quantitative comparison between difference sites, one can calculate condensed Fukui
function based on atomic charges, please consult Section 4.7.3. In addition, as illustrated in Section
4.12.4, distribution of Fukui function can also be characterized by means of local quantitative
molecular surface analysis technique. Furthermore, Multiwfn is able to evaluate contribution of
various kinds of orbitals (MO, NBO, NAO, etc.) to Fukui function to characterize it in terms of
orbital perspective, see Section 4.200.13.1 for example and Section 3.200.13 for introduction of the
algorithm.
6 Dual descriptor and condensed dual descriptor. As demonstrated in Acta Phys.-Chim.
Sinica, 30, 628 (2014), the dual descriptor proposed in J. Phys. Chem. A, 109, 205 (2005) may be
the most robust method for predicting reactive sites, at least for electrophilic reaction. Like Fukui
function, dual descriptor also has condensed version. Dual descriptor and the condensed version are
introduced in Section 4.5.4 and 4.7.3, respectively.
Note that the easiest way of calculating Fukui function, dual descriptor as well as their
condensed version is using main function 22, as introduced in Section 3.25 and illustrated in Section
4.22.1. An additional advantage is that many other important quantities defined in the framework of
conceptual density functional theory can be obtained together without any additional cost, including
Mulliken electronegativity, hardness, electrophilicity and nucleophilicity indexes, softness,
condensed local softness, relative electrophilicity and nucleophilicity and so on, which are also quite
useful for studying reactivity problems.
1012
4 Tutorials and Examples
7 Orbital-weighted Fukui function and orbital-weighted dual descriptor: They are special
form of Fukui function and dual descriptor, the unique advantage of this orbital-weighted form is
able to reasonably deal with systems with degenerate or nearly degenerate frontier molecular
orbitals, such as C60, coronene and cyclo[18]carbon, usually these kinds of system have high point
group symmetry. See Section 3.25.3 for introduction and 4.22.2 for illustrative application.
8 Fukui function and dual descriptor for (quasi-)degenerate HOMO and LUMO case:
The purpose of this special form of Fukui function and dual descriptor is similar with the orbital-
weighted form, but it is defined fully based on electron density and hence more physically rigorous.
See Section 3.25.4 for introduction and Section 4.22.3 for example.
9 Orbital overlap distance function. Analysis of this function may be useful for revealing
favorable reactive site, see Section 4.12.8 for example.
There are a lots of ways to characterize weak interactions, and most of them are supported by
Multiwfn, here I give you a brief summary. If you can read Chinese, I suggest reading my blog
article "An overview of the weak interaction analysis methods supported by Multiwfn"
(http://sobereva.com/252), in which this topic is discussed more deeply and extensively.
(1) AIM topology analysis is a very popular method for studying both strong and weak
interactions. Its use in weak interaction analysis is partially illustrated in Section 4.2.1.
(2) NCI analysis proposed in 2010 may be viewed as an visualization extension of AIM
analysis, this method rapidly became quite popular after it was proposed. The example of using NCI
analysis is given in Sections 3.23.1, 4.20.1 and 4.20.2. NCI analysis is also able to be employed to
study weak interaction in dynamic environment such as molecular dynamic simulation, this is
known as averaged NCI (aNCI) analysis, see the introduction in Section 3.23.2 and the accompanied
example in Section 4.20.3. Integrating domain of NCI is a useful way to discuss weak interactions
quantitatively, examples are provided in Section 4.200.14.
IRI and DORI analysis is closely related to the NCI method. Advantage of IRI and DORI is
that all kinds of interactions can be simultaneously visualized, including both chemical bonds and
weak interactions, as illustrated in Sections 4.20.4 and 4.20.5. Relatively speaking, the IRI is
evidently preferred over DORI, since the graphical effect of IRI is much better and computational
cost is lower. A detailed comparison between IRI, DORI and NCI can be found in original paper of
IRI: Chemistry−Methods, 1, 231 (2021).
(3) IGM analysis. A key advantage of IGM analysis compared to NCI analysis is that this
method is able to visually study intrafragment and interfragment interaction regions separately by
properly defining fragments. Contributions by atoms and atomic pairs can be quantified as atom g
index and atomic pair g index defined in the IGM framework, respectively, and atoms can be
colored according to the atom g indices to vividly exhibit the role played by various atoms. Two
forms of IGM are supported, namely original IGM and the IGMH proposed by me, see Sections
3.23.5 and 3.23.6 for introduction as well as Sections 4.20.10 and 4.20.11 for examples. Graphical
effect of IGMH is much better than IGM, but the computational cost is evidently higher.
Motivated by aNCI, I also extended IGM to the case of molecular dynamics simulation and
proposed a new form of IGM, namely averaged IGM (aIGM), which is able to nicely represent
averaged interaction between specific fragments in the simulation trajectory. See Section 3.23.9 for
1013
4 Tutorials and Examples
introduction.
(4) Electrostatic potential (ESP) analysis. ESP has been introduced in Section 2.6, this is a
extremely important real space function for studying electrostatic dominated weak interactions.
There are many different ways to carry out ESP analysis:
·Visually studying ESP color-mapped molecular vdW surface, this analysis can be used to
quickly figure out potential electrostatic interaction sites and qualitatively study interaction strength.
See the end of Section 4.12.1 and J. Mol. Model., 13, 291 (2007) for example.
·Studying ESP minima and maxima on molecular vdW surface. This can done by quantitative
molecular surface analysis module, see Section 4.12.1 for example and Section 3.15 for more details.
The value of these ESP extrema on vdW surface strongly correlate with electrostatic interaction
energies, and you can find many papers have used this method, for example Phys. Chem. Chem.
Phys., 15, 14377 (2013), J. Mol. Model., 13, 305 (2007), Int. J. Quantum. Chem., 107, 3046 (2007),
Phys. Chem. Chem. Phys., 12, 7748 (2010), J. Mol. Model., 14, 659 (2008), J. Mol. Model., 18, 541
(2012), J. Mol. Model., 15, 723 (2009), Chapter 6 of book Practical Aspects of Computational
Chemistry (2009).
·Studying area and averaged ESP value corresponding to characteristic region, such as -
hole, -hole and lone pair, see Section 4.12.10 for example.
·Superposition analysis of ESP contour map. This method was proposed by Tian Lu in J. Mol.
Model., 19, 5387 (2013), it is quite vivid, easy-to-use and powerful. It was demonstrated that
stability of complex configurations can be fairly well predicted by this method. Section 4.4.4
showed how to plot ESP contour map.
·In J. Phys. Chem. A, 118, 1697 (2014), the authors showed that by making use of ESP at
nuclear positions the electrostatic dominated intermolecular interaction energies can be very
accurately predicted. See Section 4.1.2 for introduction and example.
(5) van der Waals (vdW) potential. The vdW potential has same importance as ESP, especially
for the case that the interaction is dominated by vdW interaction rather than electrostatic interaction.
Multiwfn is able to easily perform vdW potential analysis in various forms. See Section 3.23.7 for
introduction and Section 4.20.6 for example. An in-depth introduction and discussion of vdW
potential can be found in my research paper J. Mol. Model., 26, 315 (2020)
(6) Atomic charge analysis. Atomic charge is a very simple and intuitive model for describing
charge distribution and can be used to analyze the strength of electrostatic interaction between
different sites. The functions for calculating atomic charges are introduced in Section 3.9, and some
practical examples are given in Section 3.7.
(7) Hirshfeld and Becke surface analysis. This kind of analysis is extremely useful for revealing
weak interaction in molecular crystals, but can also be applied to molecular clusters, see examples
in Sections 4.12.5 and 4.12.6 as well as theory introduction in Section 3.15.5.
(8) Bond order and delocalization index (DI) analysis. Commonly weak interactions are
dominated by electrostatic and/or vdW interactions, so bond order and DI analysis, which mainly
reflect covalent character are often not useful in these cases. However, for "strong" weak interactions,
such as low-barrier hydrogen bonds (LBHB) and charge-assisted halogen bonds, covalent
contribution may be not negligible, and thus bond order and DI analysis can be applied. Bond order
calculations are illustrated in Section 4.9. In Multiwfn, DI can be calculated based on fuzzy atomic
space or AIM basin, the former is equivalent to fuzzy bond order, while the latter can be evaluated
in basin analysis module, see example in Section 4.17.1.
1014
4 Tutorials and Examples
(9) ELF analysis. In Theor. Chem. Acc., 104, 13 (2000), Fuster and Silvi defined CVB index
based on ELF to distinguish strength of H-bonds. J. Phys. Chem. A, 115, 10078 (2011) employed
this method to study a large amount of resonance-assisted hydrogen bonds and find this index is in
good correlation with other H-bond strength indices. CVB index can be easily calculated in
Multiwfn, see Section 3.200.1 for detail. There are also other papers using ELF to study H-bonds,
e.g. Chem. Rev., 111, 2597 (2011).
(10) Charge variation analysis. Weak interactions often accompanied by charge transfer and
polarization, therefore studying how the electrons are transferred between or within molecules, as
well as how the electron density is polarized due to the presence another molecule are important.
There are many available ways to investigate these points:
·Plotting difference map of electron density between complex and monomers. This is the
most straightforward and intuitive way to study variation of electron density. The procedure is
illustrated in Section 4.5.5.
·Plotting charge displacement curve. After generating grid data of density difference, in order
to quantitatively study the charge variation in a direction, you can plot charge displacement curve,
see Section 3.16.14 for introduction and Section 4.13.6 for example.
·Variation of atomic charges of monomers in their isolated states and in complex state can
quantitatively and clearly show how the electrons are transferred between different atoms/fragments
due to the interaction.
·After generating grid data of electron density difference between complex and monomers,
you can use basin analysis module to integrate basin of density difference to study amount of
electron variation in various characteristic regions (e.g. the region corresponding to σ-hole). You
can consult the example in Section 4.17.4.
·Charge decomposition analysis (CDA). CDA is used to reveal underlying details of charge
transfer, the amount of donation and back-donation of electrons between two fragments due to
various complex MOs can be studied. In addition, the CDA module of Multiwfn can tell you how
the fragment MOs are mixed and hence yield complex MOs. CDA is commonly applied to strong
interaction, but it may be also useful for exploring weak interactions. The theory of CDA is
introduced in Section 3.19, practical examples are given in Section 4.16.
·Multiwfn has a function dedicated to analyze charge transfer in electron excitation based on
electron density difference, many important quantities characterizing the transfer can be obtained,
see Section 3.21.3 for introduction and 4.18.3 for example. Based on the grid data of electron density
difference between complex and monomers, this function may be also useful for studying charge
transfer due to weak interaction.
(11) Mutual penetration distance of vdW surfaces. For the same kind of weak interaction,
generally the larger the penetration of vdW surface, the stronger the interaction strength. For a non-
covalently interacting atomic pair AB, the difference between the distance of A-B and the sum of
their non-bonded radii is termed as mutual penetration distance. The non-bonded atomic radius is
the closest distance between a nucleus and the molecular vdW surface, and can be obtained by
option 10 in post-processing interface of quantitative molecular surface analysis module of
Multiwfn.
(12) Energy decomposition analysis is a kind of important approaches for characterizing the
nature of weak interactions, physical components of total interaction energy can be separately
obtained. Multiwfn is capable of performing simple energy decomposition analysis in combination
1015
4 Tutorials and Examples
with Gaussian to provide deeper insight into weak interactions, see Section 4.100.8 for example.
Multiwfn can also perform energy decomposition analysis based on molecular forcefield, this
function is very useful, flexible can be used to evaluate/decompose the weak interaction energy for
very large systems, see Section 3.24.1 for introduction and Section 4.21.1 for example.
(13) LOLIPOP index is useful for measuring π-π stacking ability, see the introduction in
Section 3.100.14 and the example in Section 4.100.14.
(14) Source function analysis is defined in the framework of AIM theory. Gatti et al. suggested
using source function to study both strong and weak interactions. Introduction of source function
can be found in Section 2.6, and tutorial of performing source function analysis is given in Section
4.17.5. A thorough review is Struct. & Bond., 147, 193 (2010), in which H-bond analysis is involved.
(15) Atomic multipole moment analysis. The definition of atomic multipole moment can be
found in Section 3.18.3. Atomic multipole moment measures the anisotropy distribution of electron
density around an atom, which has important impact on interatomic electrostatic interactions. See
Section 7.4.3 of the Bader's book Atoms in molecules-A quantum theory for illustrative examples.
In Multiwfn, atomic multipole moment can be calculated by both fuzzy space analysis module and
basin analysis module, for the latter case see Section 4.17.1 for example.
(16) Orbital overlap. For weak interactions involving orbital interaction, you can use Multiwfn
to study orbital overlap, which is closely related to orbital interaction strength. The example Section
in 4.100.15 illustrated how to calculate intermolecular orbital overlap integral. Section 4.0.2
exemplified how to visualize overlap degree of two NBO orbitals, high (low) overlap degree
commonly implies large (small) second-order perturbation energy E(2) between the two NBOs.
(17) As demonstrated in J. Mol. Model., 19, 2035 (2013), interaction energy of halogen-bond
complexes is well correlated with the properties of (3,-1) critical point of Laplacian of electron
density at σ-hole location. The topology analysis of Laplacian of electron density can be
conveniently realized in main function 2. Section 4.2.2 showed how to perform topology analysis
for LOL, you can use the same method to analyze Laplacian of electron density.
(18) The cubic electrophilicity index defined in conceptual density functional theory
framework has close relationship with strength of weak interaction energy. In J. Phys. Chem. A, 124,
2090 (2020) it is shown that condensed form of cubic at halogen atom in halogen bond dimers has
nice linear relationship with binding energy, therefore this quantity may be useful in predicting
strength of interaction and revealing interaction nature in some cases. This quantity can be
calculated in a fully automatic way via main function 22, see Section 3.25 for detail.
(18) ETS-NOCV. This popular method was proposed in J. Chem. Theory Comput., 5, 962
(2009), it focuses on deciphering orbital interaction between fragments. The key advantage of this
analysis is that it is able to transform variation of electron density due to orbital interaction to a set
of NOCV pairs, each pair has corresponding energy contribution to orbital interaction energy and
has corresponding density which can be visualized to easily understand nature, therefore ETS-
NOCV analysis provides very deep insight into orbital interaction. See Section 3.26 for detailed
introduction of this analysis and Section 4.23 for examples of applying ETS-NOCV on studying
various kinds of interactions. Although orbital interaction commonly is not the dominant physical
component of weak interactions, ETS-NOCV is still useful in some cases. For example, Section
4.23.4 illustrates how to utilize ETS-NOCV to investigate hydrogen-bond interaction.
There are also other possibly ways to study weak interactions, but they are not directly relevant
1016
4 Tutorials and Examples
to Multiwfn. These methods include: NBO E(2) and NBO deletion analyses, rehybridization
analysis (specific for H-bond, based on natural population analysis), variation of bond length and
vibrational frequency, Mayer energy decomposition analysis (Phys. Chem. Chem. Phys., 8, 4630
(2006)), magnetically induced current (Phys. Chem. Chem. Phys., 13, 20500 (2011)), interacting
quantum atoms (IQA, see J. Phys. Chem. A, 117, 8969 (2013) for example), SAPT analysis
(supported by PSI4, Molpro etc. see WIREs Comput. Mol. Sci., 2, 254 (2012)).
Theory of OED
Spatial (spinless) natural orbitals are yielded by diagonalizing total density matrix and have
occupation number between 0.0 and 2.0. The OED contributed by the kth natural orbital is defined
as
where k(r) and nk are probability density and occupation number of natural orbital k, respectively.
Clearly, for nk<1, the prefactor directly corresponds to occupation number, while for nk1, the
prefactor corresponds to the complement to achieve a closed shell. The min(2-nk, nk) term, which
measures the deviation from current orbital occupation number to closed-shell limit, is regarded as
the effective number of unpaired electrons expressed by the orbital.
The OED is defined as the sum of OED for all natural orbitals, namely
odd (r) = kodd (r)
k
The total number of odd electrons is
N odd = min(2 − nk , nk )
k
1017
4 Tutorials and Examples
found in examples\COBH3_CCSD.gjf, note that density out=wfn keywords are used. The resulting
file examples\COBH3_CCSD.wfn contains all CCSD natural orbitals.
We first calculate total OED. Boot up Multiwfn and input
examples\COBH3_CCSD.wfn
6 // Modify wavefunction
26 // Modify occupation number
0 // Select all orbitals
odd // Taking min(2-nk, nk) as occupation number for all orbitals
Now from screen you can see
Sum of occupation numbers of selected orbitals: 0.628552
This value is total number of odd electrons, and it also corresponds to integral of OED over the
whole space. It may be employed as a metric of electron correlation. Then input
q // Return
-1 // Return to main menu
Then we plot isosurface map of electron density in usual way by inputting the following
commands. Since the current orbital occupation numbers have been transformed to min(2-nk, nk),
the resulting map will correspond to OED map
5 // Calculate grid data
1 // Electron density
2 // Medium quality grid
-1 // Visualize isosurface
Then set isovalue to 0.005 a.u., the OED map shown in the GUI window will be
As you can see from the above graph, electron correlation effect is most prominent in the
multiple bond region of CO. It is widely known that electron correlation of multiple bonds is much
stronger than single bonds.
If you want to check contribution of each natural orbital to OED, you can enter main function
0, choose “Orbital info.” - “Show all” in menu bar, then in the console window you can see
[Ignored...]
1018
4 Tutorials and Examples
[Ignored...]
The value after “Occ” is just the min(2-nk, nk) in aforementioned formula. In the GUI window of
main function 0 you can visualize the orbitals having large “Occ” to examine which orbitals are
closely related to electron correlation effect.
It is also possible to evaluate atom contribution to OED. After return to main menu, input
following commands
15 // Fuzzy atomic space analysis
1 // Perform integration in fuzzy atomic spaces for a real space function
1 // Electron density (corresponds to OED currently)
Then you can see
Atomic space Value % of sum % of sum abs
Clearly, O contributes most to OED, followed by C and then B. By default Becke partition of atomic
spaces is adopted, you can also change to other atomic partition methods via option -1.
It is worth to note that one can also plot OED contributed by specific orbitals. For example, we
want to plot the OED only contributed by natural orbitals from 10 to 13. After inputting odd in
subfunction 26 of main function 6, we then need to clean the occupation numbers of all other orbitals,
namely in subfunction 26 we then also need to input
1-9 // Select orbitals 1 to 9
0 // Set occupation number to 0
14-57 // Select orbitals 14 to 57
0 // Set occupation number to 0
After that you can return to main menu and plot electron density as usual.
1019
4 Tutorials and Examples
file is examples\C4H8-UNO.wfn. Please use this file to plot OED like above example, the isosurface
map with isovalue of 0.02 a.u. should look like as follows. It is seen that its distribution character is
quite similar to spin density, though the alpha and beta spins cannot be distinguished by sign.
CASSCF method is very commonly adopted for calculating biradical systems. OED can also
be plotted for CASSCF wavefunction, you just need to generate a wavefunction file containing
natural orbitals produced by CASSCF calculation.
OED can also be used to represent distribution of unpaired electrons of excited states calculated
by TDDFT method, see my blog article http://sobereva.com/583 (in Chinese) for detailed illustration
and discussion. It is worth to note that spin density is not available for TDDFT excited state
wavefunction, so the OED is the only way to characterize the unpaired electron distribution.
This graph is rather similar with the isosurface map of OED. Since IT is a real space function
1020
4 Tutorials and Examples
specific for revealing electron correlation, our observation clearly demonstrates that OED is also
capable of exhibit electron correlation.
Local electron correlation function has another two forms, namely ID and IND, which aim for
representing dynamic and nondynamic electron correlation, respectively. They can be plotted with
the same way as shown above, but you need to set "iuserfunc" to 88 and 89, respectively.
Plotting individual contribution to local electron correlation functions is also possible, you can
screen uninteresting natural orbitals by setting their occupation numbers to zero via suboption 26 of
main function 6.
Using subfunction 4 of main function 100 you can integrate local electron correlation functions
over the whole space, the result indicates the magnitude of electron correlation for the whole system.
For example, we return to main menu and input
100 // Other function (Part 1)
4 // Integrate a real space function over the whole space
100 // User-defined function
The result, which is referred to as total electron correlation index, is 1.576. Repeat this
calculation for dynamic and nondynamic electron correlation functions, you will find the resulting
indices are 1.267 and 0.309, respectively. Evidently, dynamic correlation governs the total electron
correlation effect for present system.
In fact, the total, dynamic and nondynamic electron correlation indices can also be calculated
by subfunction 15 of main function 200, which is much faster and more convenient, see Section
3.200.15 for introduction. Now we have a try. Return to main menu and input 200 then 15, you will
immediately see
Nondynamic correlation index: 0.30880061
In the most commonly used program Gaussian, the highest level of wavefunction is CCSD.
Although CCSD wavefunction is absolutely sufficient for almost all cases, due to some special
reasons, one may want to study wavefunction produced at higher level. Below I describe how to
make Multiwfn able to analyze CCSD(T) wavefunction generated by PSI4 program
(http://www.psicode.org), and arbitrary order of coupled cluster and CI wavefunction (including
Full CI) yielded by MRCC program (http://www.mrcc.hu).
(1) PSI4
The version of PSI4 I currently use is 1.3.2. Below is an example of input file, which calculate
hydrogen fluoride at CCSD(T)/cc-pVTZ level, and produce HF_CCSDpT.fchk in current folder.
molecule HF {
1021
4 Tutorials and Examples
fchk_writer = psi4.FCHKWriter(wfn)
fchk_writer.write('HF_CCSDpT.fchk')
If the version of PSI4 you are using is 1.4, the last two lines of the above example should be
replaced with fchk(wfn,'HF_CCSDpT.fchk').
The resulting HF_CCSDpT.fchk records Hartree-Fock MOs and CCSD(T) density matrix. If
you directly feed this file into Multiwfn, because Multiwfn never utilizes density matrix but only
load orbitals from the file, the result of following analyses will correspond to Hartree-Fock level. In
order to make Multiwfn analyze CCSD(T) wavefunction, you should do below steps:
1. Boot up Multiwfn and load HF_CCSDpT.fchk as usual
2. Enter main function 200 and select subfunction 16. This function is used to transform density
matrix in the .fch/.fchk file into natural orbitals, see Section 3.200.16 for more detail.
3. Input CCSD, then “Total CCSD Density” field in the .fchk file will be loaded, and you will
immediately see occupation numbers of natural orbitals (NOs) yielded by diagonalization of
CCSD(T) density matrix.
4. Input y. Then new.mwfn is generated in current folder, which records NOs at CCSD(T) level.
This file is automatically loaded into Multiwfn, therefore the orbitals in memory now correspond to
NOs of CCSD(T) wavefunction, and thus all following analyses will correspond to CCSD(T)
wavefunction.
Note that if this is an open-shell system, you can choose the type of NOs that to be generated,
including, spatial NOs, alpha/beta NOs and spin NOs. See Section 3.200.16 for more detail.
(2) MRCC
The version of MRCC I currently use is Sep 25, 2017. Below is an example of input file, which
calculate hydrogen fluoride at CCSDT/cc-pVTZ level.
basis=cc-pvtz
calc=CCSDT
mem=2500MB
dens=1
geom=xyz
After run it by MRCC, you will find a file named MOLDEN in current folder, which is a
Molden input file and records Hartree-Fock MOs. In current folder you can also find a file named
CCDENSITIES, which records the 2nd and 1st reduced density matrix (2RDM and 1RDM). In order
to make Multiwfn analyze CCSDT wavefunction, we must convert the 1RDM into natural orbitals
and save them to .molden file.
Boot up Multiwfn and load the MOLDEN file, enter main function 1000 and select subfunction
97, input path of the CCDENSITIES file. Then input the number of frozen core orbitals. By default,
MRCC freezes core MOs in electron correlation calculation. Current system has two core electrons
(in the output file it can be seen that " Number of core electrons: 2"), and this is a closed-shell
system, each occupied MO has two electrons, therefore only one core MO is frozen, so we input 1.
After generation of natural orbitals by diagonalizing CCSDT density matrix is finished, occupation
1022
4 Tutorials and Examples
numbers are printed on screen, and a file named MOLDEN.mwfn is automatically exported to
current folder, which carries natural orbitals of the CCSDT wavefunction. Then if you input y,
Multiwfn will load the MOLDEN.mwfn, and then you can perform various wavefunction analyses
for the CCSDT wavefunction.
The procedure of analyzing CI wavefunction produced by MRCC is exactly the same as those
shown above. Below is an example input file of calculating elongated LiH at FCI/aug-cc-pVDZ
level without frozen core treatment.
basis=aug-cc-pvdz
calc=fci
mem=2500MB
dens=1
core=0
geom=xyz
ZI (r ')
aaA ' (r ) = a ,a ' − aa ' dr'
I | r − RI | |r −r' |
where ZI and RI are nuclear charge and coordinate of atom I, respectively. is Kronecker function.
a,a is transition density between state a and a'.
The ESP we commonly studied is ESP of a single state, i.e. a=a'. When a and a' correspond to
different states, the potential may be referred to as "transition electrostatic potential", which
measures ESP exerted by excitation corresponding to a-a' transition.
It is known as exact ESP of a single state can often be well approximately represented as the
potential evaluated based ESP fitting charges (e.g. CHELPG and MK charges, see Sections 3.9.10
and 3.9.11),
ZI a (r ') qaI
(r ) =
A
− dr'
I | r − RI | |r −r' | I | r − RI |
a
1023
4 Tutorials and Examples
aa ' (r ') I
qaa
aaA ' (r ) = − dr' '
|r −r' | I | r − RI |
𝐼
where 𝑞𝑎𝑎′ is TrEsp of atom I derived from transition density of a-a'.
The way of calculation of TrEsp charges is almost exact the same as evaluation of common
ESP fitting charges, the only differences are that the nuclear contribution should be ignored, and
density of a single state should be replaced with transition density between two states.
...[ignored]
1024
4 Tutorials and Examples
The sum of charges is exactly zero, which is what we expected, because electronic transition process
does not alter total number of electrons.
Beware that, the TrEsp charges outputted above must then be manually divided by √2! This is
because the natural orbitals in the exported .wfn file were generated based on symmetrized form of
transition density matrix (TDM), however the symmetrization was done via a strange way by
Gaussian, namely TDMi,j=(TDMi,j+TDMj,i)/√2 rather than TDMi,j=(TDMi,j+TDMj,i)/2 as expected,
therefore this problem should be manually fixed via dividing the resulting charges by √2.
In fact, in Multiwfn the transition charge can also be calculated by Mulliken method via hole-
electron analysis module, see Section 3.21.1.3, and the computational cost is almost negligible.
However, Mulliken transition charges must not be as good as TrEsp charges for approximately
representing transition electrostatic potential and analyzing intermolecular exciton coupling
purposes.
1025
4 Tutorials and Examples
It is worth to note that if you want to verify whether the fitted TrEsp charges are reasonable,
you can compare the electric dipole moment computed via these charges and the transition electric
dipole moment printed by Gaussian (or other quantum chemistry codes). As it is well known that
ESP fitting charges are able to well reproduce electric dipole moment, commonly the TrEsp charges
are also able to well reproduce actual electric transition dipole moment.
After calculation of TrEsp charges, we choose y to let Multiwfn export the charges to TDM.chg
file in current folder. Then boot up and load this file, you will find below information on screen
Component of electric dipole moment:
Since the electric dipole moment evaluated based on our TrEsp charges is very close to the
exact transition electric dipole moment, it is clear that our TrEsp charges must be reasonable.
8 0
9 0
10 0
This file will be used in the RESP module. The 7~10 are atom indices of the hydrogens, the 0 means
their charges will be constraint to zero during fitting.
Boot up Multiwfn and input
S0S2.wfn // The .wfn file we previously used
7 // Population analysis
18 // RESP module
11 // Choose form of ESP
3 // Transition electronic
6 // Set charge constraint in one-stage fitting
1 // Load charge constraint setting from external plain text file
chgcons.txt // The file containing charge constraint
1026
4 Tutorials and Examples
2 // Start one-stage ESP fitting calculation with customized constraint. The default fitting grid
is MK (you can also change to CHELPG by option 3)
The result is
Center Charge
1(C ) 0.158613
...
7(H ) 0.000000
8(H ) -0.000000
9(H ) 0.000000
10(H ) -0.000000
11(N ) 0.178112
...
Clearly, our charge constraints have been in effect, and all other atoms still have reasonable
TrEsp charges. You can learn more about the RESP module by reading corresponding example in
Section 4.7.7. It is worth to note that when you select “Transition electric” in option 3, the default
atom equivalence constraint is automatically removed and the restraint strength in one-stage fitting
is automatically set to zero, since these treatments are not useful in current case.
cube (TDC), which calculates the integrals by numerical integration based on evenly distributed
grids, its cost is extremely high for large system. Fortunately, it was shown that by using TrEsp
𝐴,𝐵
charges calculated for two molecules, their exciton coupling energy 𝑉𝑎𝑎 ′ ,𝑏𝑏 ′ can be readily
In Multiwfn, you can easily calculate exciton coupling energy based on TrEsp charges of two
molecules. The steps are briefly outlined below:
(1) Optimize dimer structure
(2) Extract coordinate of each monomer and write it into Gaussian input file, properly change
keywords and perform electron excitation calculation to yield .wfn file containing natural orbitals
1027
4 Tutorials and Examples
derived from transition density. Note that nosymm keyword must be used to avoid Gaussian
automatically translating and rotating the overall monomer coordinate.
(3) Generate TrEsp charges for each monomer using respective .wfn file generated at last step,
then export TrEsp charges as .chg file.
(4) Manually combine content of the two monomer .chg file as a single .chg file. The monomer
coordinate in this file should be consistent with optimized dimer coordinate.
(5) Load the dimer .chg file into Multiwfn, enter main function 7 and select option -2, then
input atom list of the two monomers in turn, the exciton coupling energy will be printed immediately.
There is a very useful way of intuitively exhibiting atomic properties calculated by Multiwfn,
namely coloring atoms in VMD program (http://www.ks.uiuc.edu/Research/vmd/), here I illustrate
how to do that via two examples. More detailed discussions and examples can be found in my blog
article "Using Multiwfn+VMD to exhibit atomic charges, spin populations, charge transfer and
condensed Fukui function via coloring atoms" (http://sobereva.com/425).
1028
4 Tutorials and Examples
In above graph, the red and blue colors reflect that the atom has positive and negative charge,
respectively. The deeper red (blue) the more positive (negative) the charge. As can be seen, since
carbon has larger electronegativity than hydrogen, the two hydrogens have evident positive charge
and the carbons bonded to them have evident negative charge. The white color indicates that the
charge of the carbons in the middle region of the molecule is close to zero.
The polyyne is a highly conjugated system, it is expected that external field could significantly
polarize its charge distribution. To study this problem, we use the same procedure to plot the map
based on examples\polyyne_field.wfn, which was generated under 0.03 a.u. external electric field
along molecular axis. The resulting graph is shown below, the direction of the external electric field
is from the right side to the left side.
It can be seen that the atomic charge distribution is no longer symmetric. Since the source of
the field is at right side, large amounts of electrons transferred from left to right, as a result, the net
charge of the carbon atoms at left side become positive, while the ones at right side become negative.
1029
4 Tutorials and Examples
...[ignored]
We use Multiwfn to load this .chg file and convert it to N-phenylpyrrole.pqr, then use VMD to
visualize it using exactly the same procedure described in last example. However, this time the lower
and upper limit of color scale should be set to -50 and 50, respectively. The resulting graph is shown
as left part of below map; as a comparison, the corresponding isosurface map of MO36 is shown at
right part.
The more red the atom, the greater its contribution to the orbital. As can be seen, the atomic
coloring introduced in this section well reflects actual orbital distribution. For very large molecules,
the isosurface map may become quite complicated, while the atomic coloring map should be much
clearer.
Of course, the atomic coloring method is also applicable to other kinds of atomic properties
calculated by Multiwfn, such as condensed Fukui function, atomic spin population, atomic transition
charge, source function of atoms, integral of electron energy in atomic space, variation of atomic
charge during electronic transition or intermolecular interaction. More examples can be found in my
blog article http://sobereva.com/425 (in Chinese).
In this section, I present an overview of all methods that may be used to study chemical bonds.
You will find Multiwfn is indispensably useful in characterizing and unraveling nature of the bonds.
Most analyses can be applied to both ground state and excited states (see Section 4.18.13 for more
1030
4 Tutorials and Examples
1031
4 Tutorials and Examples
1032
4 Tutorials and Examples
The concept of bond order density (BOD) and natural adaptive orbital (NAdO) has been
introduced in detail in Section 3.200.20, they are fairly useful if you want to graphically discuss
bond order of a given covalent bond. The BOD is a real space function representing everywhere
contribution to bond order (strictly speaking, delocalization index in the present context), while
NAdO unveils nature of bond order in terms of orbitals. See Section 4.200.20 for application
examples, you will find this method particularly useful in many situations.
5 AdNDP analysis
The purpose of the adaptive natural density partitioning (AdNDP) method is somewhat similar
to orbital localization method, the advantage of AdNDP is that it is also able to derive orbitals with
semi-delocalization character from the complicated multi-electron wavefunction. If the AdNDP
analysis has been properly performed, then the resulting orbitals will faithfully reveal all multi-
center bonds in current systems. The drawback of AdNDP analysis is that user must manually pick
out orbitals from candidate list, this process is slightly troublesome and requires the user has
adequate chemical intuition. When there is no multi-center bond, using orbital localization is much
preferred over AdNDP because it is fully automatic, fast and free of subjectivity; while if you suspect
that present system may have evident multi-center bonds and you want to study them, commonly
AdNDP is the only choice. The AdNDP method is detailedly introduced in Section 3.17, related
examples are provided in Section 4.14.
1033
4 Tutorials and Examples
in Section 2.7.
The negative part between two atoms in 2 map is able to reveal the region where electrons
concentrate due to formation of covalent bond, this point is similar with ELF. In J. Phys. Chem.,
100, 15398 (1996), Bader believes that 2 and ELF are homeomorphic and their similarities and
differences are able to provide complementary information in understanding chemical bonds.
However, notice that for bonds involving very heavy atom, 2 map often fails to reveal covalent
character. For example, 2 in the interacting region of Re-Re bond is entirely positive.
By using Multiwfn and shell script as well as third-part software, anime of ELF or other
functions during a chemical process (often represented as trajectory resulting from intrinsic reaction
coordinate or rigid scan tasks) can be easily generated, such an anime is able to very vividly exhibit
variation of characters of chemical bonds, see Section 4.A.1 on how to make the anime.
·Basin analysis of ELF (or similar functions): This kind of analysis can be carried out via
basin analysis module (main function 17), see Section 4.17.2 for example. All ELF basins
collectively make up the whole space, each ELF basin corresponds to a region with featured
electronic structure. For example, the ELF basins may correspond to covalent bond, lone pair, core
region, etc. By analyzing character of bond basins, one can acquire many information about the
bonds, such as average number of electrons that occurs in the bonding region, degree of electron
localization in the bonding region, dipole moment of the bonding region. Contribution of each atom
to the electron population in the bonding region can also be obtained, as illustrated in Section 4.17.7.
·Topology analysis of ELF (or similar functions): This kind of analysis allows one to obtain
accurate position of ELF maximum (also known as ELF attractor) and (3,-1) type of ELF critical
point (also known as ELF bifurcation point), the former displays the most representative point of a
ELF basin, while the value of the latter somewhat reflects the extent of electron sharing (degree of
delocalization) between two ELF basins. Topology analysis of ELF can be realized via main
function 2, see Section 4.2.2 for example. For practical studies based on topology analysis of ELF
and LOL, see Nature, 371, 683 (1994) and J. Comput. Chem., 30, 1093 (2009). Tracing variation of
ELF attractors is particularly useful for understanding the change in electronic structure and bonding
character during a chemical process, illustrative examples of such analysis are RSC Adv., 5, 62248
(2015), Chem. Phys., 501, 128 (2018) and Comput. Theor. Chem., 1154, 17 (2019).
Note that basin analysis is also able to give positions of ELF attractors, the procedure is even more simple than
using topology analysis module, however the accuracy of the positions given by basin analysis module is not as good
as topology analysis module, since basin analysis is carried out based on even-distributed grids.
7 IRI analysis
Compared to ELF/LOL, the unique advantage of the interaction region indicator (IRI) defined
by Tian Lu is able to clearly reveal all kinds of interactions in a chemical system, including both
covalent and non-covalent ones. In the original paper of IRI it is demonstrated that IRI can even
perfectly visually represent variation of bonding during a whole chemical reaction. See Section
3.23.8 for introduction of IRI, related analysis examples are given in Section 4.20.4.
In the same paper of IRI, its variant named IRI- was also proposed, it is shown that it can well
distinguish type and strength of interaction on different chemical bonds, many examples can be
found in its original paper.
A very detailed document showing how to perform IRI and IRI- analyses is given in
http://sobereva.com/multiwfn/res/IRI_tutorial.zip. Note that DORI is another function that has
similar capacity with IRI, however its graphical effect is obviously not as good as IRI and its
definition is too complicated compared to IRI.
1034
4 Tutorials and Examples
1035
4 Tutorials and Examples
fragment charge is defined as sum of charges of the atoms in the fragment. In the population analysis
module of Multiwfn, if a fragment has been defined, the fragment charge will be directly outputted
when calculating atomic charges, see Section 4.7.1 for example.
1036
4 Tutorials and Examples
while Mayer bond order may be regarded as total bond order. Therefore, in certain cases, the
difference between Laplacian and Mayer bond orders may be used to reveal bond polarity.
In this section, I present a systematic overview of all methods supported by Multiwfn that can
be used for analyzing electron excitation problems.
Note: Chinese version of this section corresponds to my blog article http://sobereva.com/437.
1 Hole-electron analysis
All kinds of excitations can be essentially described as "hole-to-electron" transition, that is,
"hole" is the region where the excited electron leaves, and "electron" is the region where the excited
electron eventually goes. Hole-electron analysis corresponds to subfunction 1 of main function 18,
see Section 3.21.1 for introduction and 4.18.1 for illustration. This analysis is very powerful and
universal and is an almost indispensable analysis method for all kinds of electron excitation
problems. Specifically, the hole-electron analysis has below capacities:
·Displaying isosurfaces of hole and electron. From this picture, one can intuitively understand
how electrons are excited
·Transforming the hole and electron distributions to a form described by Gaussian function,
making them significantly easier to examine visually
·Calculating quantitative indices that measure characteristics of electron excitation, including
the Sr index, which measures the degree of overlap of hole and electron; the D index, which
measures the distance between hole and electron centroids; the index, which measures the breadth
of hole and electron distributions; the t-index, which measures degree of separation of hole and
electron, and so on.
·Plotting density difference map, which corresponds to subtracting hole from electron
·Calculating contribution of basis functions, atomic orbitals, atoms, molecular fragments and
molecular orbitals to hole and electron, so that the nature of hole and electron can be thoroughly
analyzed. Moreover, amount of hole and electron as well as hole-electron overlapping extent on
various atoms and fragments can be directly displayed as heat map (color-filled matrix map), which
is very convenient for visual horizontal comparison.
·Calculating Coulomb attraction between hole and electron, which is a common definition of
1037
4 Tutorials and Examples
4 IFCT analysis
The full name of IFCT is "interfragment charge transfer", which is a method proposed by me
to estimate amount of electron transfer between atoms or fragments in the process of electron
excitation. The calculation cost is extremely low. This method has been detailed described in Section
3.21.8 and illustrated in Section 4.18.8. Although using difference between fragment charge of
excited state and that of ground state can also study variation of electron population during electron
excitation, one cannot understand details of charge transfer at "who transferred to whom" level,
therefore IFCT analysis has important and irreplaceable practical value for investigating problems
of electron excitation. In particular, when studying transition metal coordinates, exact amount of
MC, LC, LLCT, MLCT and LMCT can be separately evaluated by the IFCT analysis.
As illustrated in Section 4.18.16, Multiwfn is able to very easily calculate IFCT terms for all
excited states for present system, and major terms (with contribution > 5%) can be directly printed
so that you can easily identify major characters of all excited states.
5 Charge-transfer spectrum
The "charge-transfer spectrum (CTS)" has been introduced in Section 3.21.16, and an example
is given in Section 4.18.16. CTS is defined by me on the top of IFCT analysis. The relationship
between CTS and common UV-Vis is similar with that between partial density-of-states and total
density-of-states. CTS decomposes the whole UV-Vis spectrum as subcurves, including
intrafragment electron redistribution curves and interfragment electron-transfer curves. Via the CTS,
the main nature of UV-Vis spectrum can be vividly understood.
6 Analysis based on density difference between excited state and ground state
1038
4 Tutorials and Examples
Density difference analysis is a prevalently used and widely accepted method for studying the
difference in charge distribution between two electron states of a system. Multiwfn supports a
variety of analysis methods based on the density difference between excited state and ground state,
as shown below:
·Plotting density difference map
First of all, Multiwfn can easily calculate density difference between excited state and ground
state and plot it as curve map, plane map and isosurface map through main functions 3, 4, 5, see
examples in Section 4.3, 4.4 and 4.5, respectively. Moreover, not only the density difference
between excited state and ground state can be drawn, but also the density difference between two
excited states can be easily drawn via Multiwfn, see illustration in Section 4.18.13.
·Smoothing density difference and calculating statistical data of density difference
The original density difference map between excited state and ground state is not easy to
examine, because its positive and negative regions are interlaced and appear to be messy. After
calculating the density difference grid data, one can use subfunction 3 of main function 18 to
transform it to replace the positive and negative parts of the density difference with very smooth
Gaussian functions, then the image will become much more intuitive and easier to analyze. At the
same time, the program outputs various statistical data about the density difference, such as centroid
coordinates of positive and negative parts, charge transfer distance, degree of separation between
positive and negative parts. See introduction in Section 3.21.3 and example in Section 4.18.3.
·Local integral curve and charge displacement curve
If the system under studying is linear or an interface system (such as a dye molecule attached
to TiO2 surface), the local integral curve and charge displacement curve can be plotted along the
direction of the molecular chain or perpendicular to the interface. The local integral curve shows
the integral value of the density difference on each section perpendicular to the chosen direction,
while the charge displacement curve shows the integral of density difference from the beginning
side to the current position. These two kinds of maps are useful to quantitatively study electron
transfer feature along a certain direction. It is easy to draw these two kinds of graphs in Multiwfn,
please check Section 3.16.14 of the manual for introduction and Section 4.13.6 for example.
·Basin integration for density difference
Multiwfn is able to perform basin integration for density difference, so that one can study
variation of number of electron in some featured local regions, see Section 4.17.4 for example.
7 Analyzing difference between excited state and ground state in electron population or
atom/fragment charges
Main function 7 is used to perform population analysis or atomic charge calculation, and if a
fragment is defined by subfunction -1 before evaluating atomic charges, fragment charge will also
be given in the output. See corresponding examples in Section 4.7. After calculating the fragment
charges of excited state and ground state separately, the difference between them can be used to
understand how many electrons were lost or gained at different fragments during the electron
excitation, and thus the influence of electron excitation on the charge distribution can be investigated
at quantitative level.
Although IFCT analysis is able to realize the same purpose, the advantage of using
atomic/fragment charge to discuss this problem is that there is a large room of choice of the method
for evaluating atomic charges, and the charge distribution of excited state can correspond to relaxed
density.
1039
4 Tutorials and Examples
8 Draw transition density isosurface map, plotting heat map of transition density matrix
The transition density matrix (TDM) is very useful for unveiling the underlying nature of an
electron excitation. TDM has two forms:
(1) The three-dimensional real space form, which can be expressed by drawing isosurface map.
Large value at a point corresponds to large overlap of hole and electron at this place, see Section
3.21.1.1 for detailed introduction and Section 4.18.2.1 for analysis example.
(2) The matrix form in the common sense. This form of TDM can be exhibited as heat map
(namely color-filled matrix map), which may be atom-based or fragment-based. Its diagonal
elements vividly show which atoms or fragments are simultaneously occupied by hole and electron,
while the non-diagonal elements directly reflect the direction and extent of electron transfer between
corresponding atoms or fragments. See Section 3.21.2 for introduction of the TDM heat map and
Section 4.18.2.2 for analysis example.
1040
4 Tutorials and Examples
1041
4 Tutorials and Examples
comparing analysis result of excited state and ground state, the impact on electronic structure caused
by electron excitation can be fully shed light on.
1042
4 Tutorials and Examples
Others
Subfunction 15 of main function 18 is able to quickly print all major molecular orbital
transitions in every excited state, this is useful if you want to examine basic characteristics of each
electron excitation in terms of molecular orbitals. See Section 3.21.15 for introduction of this
function.
Do not forget Multiwfn has main function 11, which can plot UV-Vis and ECD spectrum based
on the oscillator/rotatory strengths and excitation energies outputted by quantum chemistry codes.
This module is by far more powerful and flexible than any other plotting tools and able to provide
detailed information about the spectrum. Please check Section 3.13 for introduction and Section
4.11 for abundant examples.
It is also worth mentioning the biorthogonalization method, which may be also useful in
studying the nature of triplet excited state, that is this method can usually describe the triplet excited
state calculated by UKS or UHF method in terms of orbital transition model, so that discussion the
nature of the excitation could be simplified. See Section 3.100.12 for introduction and 4.100.12 for
example.
Finally, note that only for the aforementioned entry 5 (density difference analysis), entry 6
(atom/fragment charge analysis) and entry 10 (excited state wavefunction analysis), arbitrary
electron excitation calculation method could be used as long as they can produce excited state
wavefunction. For example, for the density difference analysis, the difference can be made between
the electron density of the lowest triplet excited state and singlet state calculated by KS-DFT, the
difference can also be made between excited state density produced by EOM-CCSD and the ground
state density yielded by CCSD. While for other kinds of analyses, such as hole-electron analysis,
IFCT analysis, only CIS, TDHF, TDDFT and TDA-DFT can be employed for calculating excited
states.
4.A.13 Plot electrostatic potential colored van der Waals surface map
and penetration graph of van der Waals surfaces
Note 1: I strongly suggest looking at this video tutorial https://youtu.be/QFpDf_GimA0, which clearly and
sufficiently illustrates most content in this section.
Note 2: Average local ionization energy (ALIE) on molecular surface can also be plotted via VMD script, see
Section 4.12.2 for example.
Note 3: Chinese version of this tutorial is http://sobereva.com/443, it contains more discussion and examples
than this section.
1 Foreword
In the tutorial "Plotting electrostatic potential colored molecular surface map with ESP surface
1043
4 Tutorials and Examples
2 Preparation
VMD program is needed in the present plotting, it can be freely downloaded from
http://www.ks.uiuc.edu/Research/vmd/, the version I used here is 1.9.3. Here I assume that you are
using Windows system, however the method described below is also suitable for Linux system, see
Part 9 of this section.
All files utilized below have been given in "examples\drawESP" folder, they are briefly
introduced here:
• .bat files: Batch process files of Windows system. They are used to invoke Multiwfn to
calculate needed data for plotting graphs in VMD. The content of the files is very easy to understand
and can be easily modified. If you do not know how to run Multiwfn in silent mode, please check
Section 5.2
• .txt files: Input stream files of Multiwfn that involved in the .bat files.
• .vmd files: VMD plotting scripts.
These defined shortcut commands. For example, simply inputting iso is equivalent to inputting
source ESPiso.vmd.
1044
4 Tutorials and Examples
below map:
The default lower and upper limits of color scale is -50 and 50 kcal/mol, respectively, and the
default color transition is BWR (Blue-White-Red), therefore in above map the white area
corresponds to the region having almost vanished ESP value, while the red and blue points have
evidently positive and negative ESP, respectively. You can manually change the default setting by
modifying the ESPpt.vmd, the settings can also be changed in VMD GUI interface, see the
plotESPsurf.pdf tutorial for detail.
In above map, the ESP colored vdW surface is represented in terms of surface vertices, the
graph can also be drawn in an alternative way, namely mapping ESP on electron density isosurface,
we do this now. Double click the ESPiso.bat, then Multiwfn will be invoked to calculate and export
cube file of electron density and ESP, the resulting density1.cub and ESP1.cub will be automatically
moved to the VMD folder. Then boot up VMD and input command iso in VMD console window,
then the ESPiso.vmd will be activated to load the two cube files to draw below map. Notice that in
order to gain slightly better effect, I used the built-in Tachyon render to obtain below graph, namely
selecting "File" - "Render", change to "Tachyon (internal, in-memory rendering)" and click "Start
Rendering" button (The resulting file is in .tga format, you need to use advanced image viewer to
view it, such as IrfanView, which is freely available at https://www.irfanview.com).
It is quite worth to explain the “ESPrhoiso” parameter. It can be set either by argument of running command
(as you can see the “-ESPrhoiso 0.001” in the ESPiso.bat) or by corresponding parameter in settings.ini. If ESPrhoiso
is set to a value larger than 0, for example, 0.001, then during calculating ESP grid data by Multiwfn's own code,
ESP will be evaluated only for the grids around isosurface of electron density of 0.001 a.u., while ESP of other grids
will be automatically set to 0. This trick never affects the quality of the resulting ESP colored vdW surface map,
while computational cost is significantly reduced since the ESP evaluation for irrelevant grids is fully ignored.
1045
4 Tutorials and Examples
In above graph, the orange and cyan spheres correspond to the positions of maxima and minima of
ESP on the vdW surface. You can also manually mark ESP values on the extrema by an image editor,
see the plotESPsurf.pdf tutorial on how to do this. An easy way to get ESP value of an extreme is:
Clicking "0" on keyboard to enter query mode, click center of a sphere, then its index will be shown
on console window. Assume that the index is 3, you should input the following command in VMD
console window
[atomselect top "index 3"] get beta
then the ESP value will be shown. See the first line of surfanalysis.pdb for the unit of the printed
ESP.
As I have mentioned in Section 4.12.1, even for a neutral system, there may be some surface
minima (maxima) with positive (negative) value, which are often chemically insignificant and can
be ignored. If you do not want to plot them on the graph, you can replace the content of ESPext.txt
by that of examples\drawESP\ESPext_noinsig.txt. The additional four lines in this file with respect
to ESPext.txt is used to remove these insignificant extrema.
1046
4 Tutorials and Examples
Multiwfn will be invoked to calculate the four .fch files in turn, the resulting mol1/2/3/4.pdb and
vtx1/2/3/4.pdb will be automatically moved to the VMD folder. Then boot up VMD and input pt2
to activate the ESPpt2.vmd script, you will immediately see left part of below graph. If you run
ESPiso.bat and then input iso2 in VMD instead, then the ESPiso2.vmd will be activated to draw the
right part of below graph based on the exported density1/2/3/4.cub and ESP1/2/3/4.cub.
From above map, the inter-penetration between the vdW surfaces of the four monomers due to
formation of hydrogen bonds can be clearly seen. In addition, the mapped colors show that the
tetramer was formed in ESP positive-negative complementary way, revealing the electrostatic nature
of the hydrogen bonds.
As an exercise, please try to plot the ESP colored vdW surface penetration map of Guanine-
Cytosine dimer via above two ways, the .fch file of the two monomers can be downloaded at
http://sobereva.com/multiwfn/extrafiles/GC_fch.rar. Notice that before plotting, you should
manually delete the .pdb and .cub files generated for previous systems in VMD folder.
In this case, you can enter "Graphics" - "Materials", choose "EdgyGlass", which is the material
currently used for representing the surface. Then adjust its each setting, especially the "Opacity". If
1047
4 Tutorials and Examples
we change the setting to below case, you will find the difference of ESP on the vdW surface now
can be distinguished more clearly.
7 Hint: Plotting ESP mapped vdW surface for very huge systems
Sometimes we need to plot ESP mapped surface for systems consisting of several hundreds of
atoms, in this case even single point calculation using DFT with 6-31G* is very expensive or
computationally infeasible. To plot the map for this case, below is my suggested steps:
• Perform single point task or optimization task via Grimme's xtb code
(https://github.com/grimme-lab/xtb/). The xtb conducts all calculations based on GFN-xTB theory,
which can be regarded as a semi-empirical version of DFT. --molden argument should be employed
to make xtb output Molden input file (molden.input). Since xtb is extremely fast, even for a system
composed of several hundreds of atoms, single point task can be finished within no more than 1
minutes on a personal computer.
• Load the molden.input into Multiwfn, then use corresponding option in subfunction 2 of main
function 100 to export .fch file (e.g. xtb.fch).
• Make sure that "cubegenpath" in settings.ini has been properly set. Ensure that you have
defined GAUSS_MEMDEF environment variable, see Section 5.7 for detail.
• load the xtb.fch into Multiwfn, using main function 5 to calculate grid data and export cube
file for electron density and ESP in turn, the exported density.cub and totesp.cub should be manually
renamed to density1.cub and ESP1.cub, respectively. Notice that "High quality grid" should be
employed since the system is large. The calculation of ESP is relatively time-consuming, for
example, using a common Intel 4 cores CPU, the time cost for a system with 336 atoms takes half
an hour.
• Move the density1.cub and ESP1.cub, as well as the aforementioned ESPiso.vmd in
examples\drawESP\ to VMD folder.
• Boot up VMD and input source ESPiso.vmd in VMD console window.
Now you can see the ESP colored vdW surface map. I suggest you also properly adjust material
setting, as mentioned earlier. Below is a system containing 336 atoms.
1048
4 Tutorials and Examples
Even if you only have a personal computer with 4 cores, you can obtain above map starting
from a structure file with total time cost of no more than 1 hour. While if you have a server with
dozens of cores, the graph can be obtained within 10 minutes.
It is worth to note although the xtb code is extremely fast, the ESP quality corresponding to the
wavefunction generated by xtb is usually satisfactory. According to my test, no evident difference
can be found between the ESP colored molecular surface graph generated based on the xtb
wavefunction and the high-quality B3LYP/def2-TZVP wavefunction.
More information about this topic can be found in my article "Rapidly plotting electrostatic
potential colored van der Waals surface for huge system" (in Chinese, http://sobereva.com/481).
1049
4 Tutorials and Examples
and then press ENTER button to make the setting take effect.
Note: If the map was plotted by ESPiso.bat, you should take the ESP values in a.u. and then set them as the
color scale. However, if the map was plotted by ESPpt.bat, you should open the vtx1.pdb in VMD folder by text
editor, the first few lines clearly indicate the unit used in this file, you should read ESP values in that unit from the
Multiwfn console window and the set the color scale.
If you prefer to use eV rather than a.u. as ESP unit when using iso or iso2 commands to plot
the ESP map, you should use ESPiso_eV.bat and ESPiso_eV.txt in “examples\drawESP” folder
instead of the ESPiso.bat and ESPiso.txt respectively in aforementioned procedure, and you should
manually edit the ESPiso.vmd and ESPiso2.vmd files, remove the # sign before the lines “set
colorlow -0.8” and “set colorhigh 0.8”. In this case, the ESP data in .cub file will be in eV, and the
default lower and upper limits of color scale will be -0.8 and 0.8 eV, respectively. The color bar
drawn according to aforementioned YouTube tutorial video, will also be in eV.
In the case of extremely charged systems, such as DNA, when ESPpt.bat is used, the B-factor
column may be unable to correctly record mapped ESP values because their magnitude is too large.
In this situation, you should use ESPpt_pqr.bat, ESPpt_pqr.txt, ESPpt_pqr.vmd and ESPext_pqr.vmd
in "examples\drawESP" folder instead of the ESPpt.bat, ESPpt.txt, ESPpt.vmd and ESPext.vmd
mentioned above, respectively, in this case the "Charge" column of .pqr file will be used instead of
B-factor column of .pqr file to record the data, the former can record a much larger range of data
and the unit is always in a.u. Also note that the ESPext.txt and ESPext.bat are no longer needed,
since extrema1.pqr is also exported and moved to VMD folder when you use ESPpt_pqr.bat.
1050
4 Tutorials and Examples
may find error prompts such as "File not found" and "No such file or directory". They are harmless,
simply ignore them)
• Input vmd to boot up VMD, and then input source ESPiso.vmd in the VMD console window
to plot the map
Introduction
Although in most cases, the isosurface map directly drawn by Multiwfn is already satisfactory,
better effect can be gained if you use VMD to render the isosurface. VMD can be freely obtained
via http://www.ks.uiuc.edu/Research/vmd/. In fact, in Section 4.5.5 I already exemplified how to
draw isosurface map based on cube files produced by Multiwfn, however the procedure is somewhat
lengthy, and the effect cannot reach state-of-the-art level. In this section, I will show it is possible
to use VMD script to plot very high-quality isosurface map via very few steps. The methods in this
section only works for Windows platform, but you may also be able to find a way to make the
method work under Linux.
The VMD script is examples\scripts\showcub.vmd. Before using it, you should move it to VMD
folder and add a line source showcub.vmd into the vmd.rc file in VMD folder, so that the four
customized commands in this file will be available after booting up VMD. The commands are
described below.
➢ cub and cubiso: Used for showing single cube file. Example of usage:
cub DD : Draw DD.cub in current folder as isosurface map, both positive and negative parts
are shown as green and blue with default isovalue of 0.05 and -0.05, respectively.
cubiso 0.02 : Changing isovalue of both positive and negative parts to 0.02.
cub DD 0.02 : Equivalent to using cub DD and then cubiso 0.02.
➢ cub2 and cub2iso: Used for showing two cube file simultaneously. Example of usage:
cub2 f+ f- : Draw f+.cub and f-.cub in current folder as green and blue isosurfaces, respectively.
Note that only positive part of the cubes will be shown.
cub2iso 0.02 : Changing isovalue of both the two isosurfaces to 0.02.
cub2 f+ f- 0.02 : Equivalent to using cub2 f+ f- and then cub2iso 0.02.
After showing the isosurfaces in VMD graphical window using above commands, you can use
batch file VMDrender_full.bat or VMDrender_noshadow.bat in examples\scripts folder to invoke
Tachyon render to get better effect, as will be illustrated later. The difference between the two files
is that the shadow effect is enabled in the former while disabled in the latter.
Next I give two practical examples. Before following them, please copy the aforementioned
two .bat files and showcub.vmd to VMD folder, and then properly set up vmd.rc. The VMD version
I am using is 1.9.3.
1051
4 Tutorials and Examples
1052
4 Tutorials and Examples
Current effect is already nice, however, the overlapping character between hole and electron
cannot be clearly recognized. In order to improve the effect, we enter "Graphics" - "Representation",
set "Material" to "EdgyGlass", then choose "electron.cub" in "Selected Molecules", also set its
"Material" to "EdgyGlass". Next, choose "File" - "Render" - "Tachyon", then click "Start
Rendering". If this time we directly use VMDrender_full.bat to render the graph, you will find the
graph is too dark. In order to get best effect, we open VMDrender_full.bat using text editor, change
the "-trans_raster3d" to "-trans_vmd", and then add an argument "-shadow_filter_off". Finally we
execute this .bat file to yield full.bmp, which is shown below, the effect is perfect! (Note that I used
Photoshop to increase the brightness of the graph by 20)
Prof. Shubin Liu proposed many information-theoretic quantities and applied them to a wide
variety of chemical problems, and got many valuable findings. Multiwfn is able to calculate all
information-theoretic quantities. There is a document "Calculating information-theoretic quantities
and some relevant quantities by Multiwfn" in "Resources" page of Multiwfn website dedicated to
describe how to use Multiwfn to calculate these quantities, please check it.
1053
5 Skills
5 Skills
Although currently Multiwfn is able to directly accept Molden input file (.molden) as input file,
only the file generated by a few programs is formally supported (see the related description in
Section 2.5). If the Molden input file is generated by other programs then the analysis result may be
incorrect. For these cases, you can use Molden2aim program written by Wenli Zou
(https://github.com/zorkzou/Molden2AIM) to produce standardized Molden input file.
Using Molden2aim is easy. First move the Molden input file (e.g. ltwd.molden) into the
directory where molden2aim.exe is placed, then properly modify its setting file m2a.ini, then boot
up Molden2aim and follow its prompts to input commands, finally you will get ltwd_new.molden
(standardized Molden input file) and may be other files (.wfn, .wfx, etc.).
In the .wfn file exported by Multiwfn and Molden2aim, orbital spin-types are explicitly written
at the end of the wfn file via $MOSPIN field, this information is automatically loaded by Multiwfn.
Molden2aim can output GTFs with angular moment up to g. Although g GTFs is not originally
defined in wfn format, these g GTFs can also be correctly identified and loaded into Multiwfn.
The "charge" field of the wfn file outputted by Molden2aim is the serial number of the element
in periodic table rather than the effective nuclear charges, even if effective core potential (ECP) is
used. This treatment is inconsistent with the wfn file outputted by Gaussian, in which "charge" is
effective core charges when ECP is used (e.g. the "charge" of Au under Lanl2DZ is 19.0). So, if
ECP is used and you want to calculate electrostatic potential, do not forget to modify "charge" field
in the wfn file outputted by Molden2aim to effective nuclear charges.
1054
5 Skills
I suppose that the inputstream file is named as 4.4.1.txt, I have already provided this file in
“examples” directory. Now change “isilent” parameter in settings.ini from 0 to 1 (or add "-silent"
argument in command line), this makes Multiwfn forbid displaying any graph or GUI automatically
during running, otherwise you have to close the window by clicking mouse button. Then enter
command-line environment of Windows (click “Start”-“run” and type “cmd”) and run:
Multiwfn HCN.wfn < 4.4.1.txt > medinfo.txt
Here I assume that Multiwfn.exe, 4.4.1.txt and HCN.wfn are in current directory. After a few seconds,
you will find that image file has appeared in current directory. From medinfo.txt you can find all
intermediate information outputted by Multiwfn.
What does the content in the input stream file mean? The answer is: the texts in each line of
the input stream file are just what you need to input in interactive mode. It is very easy to write a
new input stream file by following the prompts on screen in interactive mode. The symbols “<” and
“>” are redirection operators, they respectively tell Multiwfn that the content in 4.4.1.txt is input
stream, while the output stream should be stored to medinfo.txt. This redirection mechanism is not
provided by Multiwfn but provided by operation system. Notice that the name of input file is not
given in input stream file, because it appears as an argument.
You may have noted that when the task is finished, some errors like below appear:
forrtl: severe (24): end-of-file during read, unit -4, file CONIN$
......
Actually they are not errors, and hence you can safely ignore them. However, if you really want to
exit Multiwfn gracefully to avoid printing the "errors", you should properly write the input stream
file so that command q is inputted in the main function menu at the final step.
Another example, assume that you want to save detail compositions of orbitals 1 to 3 of
COCl2.fch, just create an input stream file orbana_1_3.in with below content:
8 Orbital composition analysis
1 Mulliken method
1 Orbital 1
2 Orbital 2
3 Orbital 3
Then run the command: Multiwfn COCl2.fch < orbana_1_3.in > orbana_1_3.txt.
Notice that if you are using PowerShell in Windows environment, since the "<" redirection
operator is unsupported, you should use "Get-Content" command and pipeline feature instead. For
example, above command should be written as (assume that Multiwfn.exe is in current folder): Get-
1055
5 Skills
EOF
If you are familiar with writing shell scripts and you have carefully read last section, you must
have already know how to use Multiwfn to process a batch of files, it is indeed very easy. I will
briefly introduce this point in this section.
del null
where genELFcub.txt is input stream file for generating ELF cube file, it is a plain text file having
below content is
5 Main function 5, calculate grid data
9 Real space function 9, namely ELF
2 Option 2: Medium quality grid
2 Option 2: Exporting cube file in current directory
1056
5 Skills
Put the all of aforementioned files to a folder containing Multiwfn.exe, then double clicking the
icon "batchrun.bat" or input command batchrun in command line window, the task will start and
the three ELF cube files will be generated in current folder sequentially.
• Example 2
Shell script is very useful and powerful, it can automate a lot of repetitive work. As a simple
example, you want to generate ELF .cub file for all .wfn files in current folder, and hope that the
name of the resulting .cub files are [Input_file_name]_ELF.cub, then you can write a .bat file with
below content
for /f %%i in ('dir *.wfn /b') do (
Run the .bat file, the .cub files will be yielded in turn. Assume that one of input files is
yoshiko.wfn, the corresponding resulting .cub file will be yoshiko_ELF.cub.
mv ELF.cub ultravox.cub
mv ELF.cub chinaski.cub
mv ELF.cub strawberry_egg.cub
rm null
Put the runthree.sh and all input files in current folder, run this command: chmod
+x ./runthree.sh;./runthree.sh, then the calculation will start. (The chmod +x command is used to
add executable permission, it may be not necessary for certain cases)
To realize the aforementioned example 2 under Linux, you should create a shell script file with
below content and then run it
#!/bin/bash
do
mv ELF.cub ${inf//.wfn}_ELF.cub
done
The shell environment of Linux platform is much more powerful than Windows. The
examples\scripts\gjf2xyz.sh is a Bash shell script that converts all .gjf files in current folder to .xyz
file with same name, please check the script to understand how it works. If you are unable to
1057
5 Skills
do
done
By the way, it is noteworthy that via sed command in Linux you can easily modify content of
settings.ini in your script. For example, to replace "iuserfunc=0" by "iuserfunc=30", you can
input below command
sed -i 's/iuserfunc=../iuserfunc= 30/g' settings.ini
Substantially and flexibly employing shell scripts can automate much more kinds of analyses
than that shown above. For example, in Section 4.18.6 I illustrated that with a simple script, natural
transition orbitals (NTOs) of all selected excited states can be yielded and exported to various files
in one run.
1058
5 Skills
After you select "Mark", drag left mouse button from point A to point B
Then press ENTER button, the information highlighted by white rectangle will be copied to
clipboard, you can paste them to anywhere, such as plain text file.
For Mac OS or Linux system running in graphical environment, you can also copy the output
of Multiwfn from console to plain text file by similar manner.
Occasionally you may find command-line window cannot record entire outputs of Multiwfn.
For example, you select option 6 in wavefunction modification module to get density matrix for a
relative big wavefunction, however only the last part of the matrix can be found in the command-
line window. The solution of the problem is to enlarge buffer size of the window, please follow
below steps.
Boot up Multiwfn, click title of the window by right mouse button, click "Properties", select
"Layout" page, you will find the default buffer size of the window is 300 (see the screenshot below),
that means only up to 300 lines can be recorded in the window, which is obviously too small. Change
the value to a larger value, for example 9999, and then click OK button. After that you will find the
window capable to record much more outputs (If the complete output still cannot be recorded,
enlarge buffer size again).
The buffer size setting is saved permanently in system, you needn't to set this value again at
next time you boot up Multiwfn.
For Linux and Mac OS, you can also find similar option used to set buffer size of terminal.
1059
5 Skills
Probably sometimes you feel inputting the path of input file is troublesome, especially when
the path is very long. Below I provide you some tricks, which make this step much more easier.
If you want to rapidly load a file into Multiwfn without inputting its path, you can boot up
Multiwfn and then directly drag the icon of the file into the Multiwfn command-line window.
In Windows platform, an even more simple method is directly dragging the file onto the icon
of Multiwfn.exe, then the file will be automatically loaded into Multiwfn. Notice that in this situation,
the "current folder" is the position of the input file.
If directly inputting letter o, the file last time loaded will be loaded again, whose path is
recorded as "lastfile" variable in settings.ini file.
Assume that the file you last time loaded is C:\sob\lover\K-ON\Mio.wfn, and this time you
want to load C:\sob\lover\K-ON\Azusa.wfn, you can simply input ?azusa.wfn, namely the path of
the folder last time involved can be replace with a question mark.
When number of your CPU cores is very limited (less than 10), calculation speed of ESP by
internal code of Multiwfn is not as fast as the cubegen utility in Gaussian package. In this
circumstance, you can allow Multiwfn to invoke cubegen to calculate ESP data to reduce the overall
1060
5 Skills
time-consuming. Even if you have large number of CPU cores, if you need to calculate grid data of
ESP (e.g. using main function 5), the time cost by internal ESP code of Multiwfn is still higher
compared to allowing Multiwfn to invoke cubegen.
The way of making use of cubegen during analyses of ESP is rather easy: Set "cubegenpath"
parameter in settings.ini file to actual path of cubegen executable file (For example,
"D:\study\G16W\cubegen.exe" in Windows platform or "/sob/g16/cubegen" in Linux platform).
Then if you use .fch/fchk/chk file as input file of Multiwfn, cubegen will be automatically invoked
by Multiwfn at the right time to calculate ESP data.
Availability
Below cases and functions currently support invoking cubegen to evaluate ESP:
·Plotting curve map of ESP (main function 3)
·Plotting plane map of ESP (main function 4)
·All functions that request grid data of ESP (e.g. using main function 5 to evaluate grid data
of ESP, using main function 17 to perform basin analysis for ESP, using subfunction 14 of main
function 200 to perform domain analysis for ESP)
·Calculating ESP fitting atomic charges such as CHELPG, MK and RESP (via corresponding
subfunctions in main function 7)
·Calculating TrEsp charges (see Section 4.A.9 on how to do this)
·Quantitative molecular surface analysis with ESP as mapped function (main function 12)
Although many other functions in Multiwfn also need ESP information, they do not support
utilizing cubegen because only very few number of points are needed to be calculated.
Even if you are not a Gaussian user, as long as the quantum chemistry program you used can
produce .mwfn or .molden file, or you are using GAMESS-US/Firefly, you can also benefits from
cubegen, because by subfunction 2 of main function 100, Multiwfn can convert the
loaded .mwfn/.molden/.gms file to .fch file. Then, if you use the .fch file as input file, cubegen can
be invoked during ESP calculation. It is worth to note that the examples/scripts/gbw2fch.sh is a Bash
shell script that converts all .gbw files of ORCA to .fch file by automatically invoking orca_2mkl in
ORCA package and Multiwfn command.
Notes
·The wavefunction invoked by cubegen used for evaluating ESP comes from density matrix
in .fch/fchk file. This file may contain more than one density matrices, by default the SCF density
matrix is used. The type of density matrix employed can be chosen by "cubegendenstype" parameter
in settings.ini. For example, if a .fch file was produced via "# MP2/cc-pVTZ density" keyword, then
the file will contain both SCF density matrix and MP2 density matrix. If you want to calculate ESP
at MP2 level by means of cubegen, you should change the value of "cubegendenstype" from the
default "SCF" to "MP2".
·When you are dealing with very large .fch/fchk file, running cubegen via Multiwfn may be
failed. Commonly, this is because the memory to be allocated by cubegen exceeded default upper
limit. To solve this problem, you can run for example export GAUSS_MEMDEF=4GB in you
console before performing your analysis, in this case the limit of memory will be increased to 4GB,
which is absolutely large enough.
·This feature is fully compatible with the cubegen in Gaussian 09 and 16 packages. For
cubegen in Gaussian 16, the number of CPU cores assigned for cubegen is identical to the "nthreads"
1061
5 Skills
Many functions of Multiwfn involve plotting graph, below are some suggestions for getting
ideal drawing quality:
• Do not take screenshot, but use option like "save picture" or "export graphical file" to
generate image file. This is particularly important for Linux system, because the quality of the graph
shown on the screen is often poor. The effect of image file is independent of platform.
• If the graph to be plotted only consists of texts, straight lines and curves, it is strongly
suggested to change "graphformat" in settings.ini to a vector format, such as .pdf and .svg (see
Section 2.8 for detail), because in this case the texts and lines look very smooth, the graph can be
losslessly scaled, and meantime the file size is very small. Since vector format is not directly
supported by many applications programs, you can then manually convert the image file from vector
format to pixel format.
• When the graph contains gradient colors, such as isosurface map, color-filled map and so on,
the default .png format is the best choice. In order to make the axes, texts and outlines of objects as
smooth as possible, I suggest save the image file with large size (see Section 2.8 on how to change
size), then use advanced image editor such as Photoshop, or Irfanview (my favourite image viewer)
1062
5 Skills
to shrink the graph to the size you actually need, in this process the resample will be done
automatically, anti-aliasing effect can thus be equivalently realized. By the way, before choosing the
option used to generate image file, I suggest properly zooming to make the system fill the entire
drawing area as much as possible.
• Please always pay attention to all options in the menu, Multiwfn have many options to control
plotting parameters, graph quality under default setting may be significantly improved by properly
using corresponding options. In addition, in settings.ini file there are many parameters controlling
plotting effect, I suggest you briefly check comment of each parameter in this file to find the ones
you often need to change.
• For plotting isosurface map, use relatively high quality of grid (i.e. relatively small grid
spacing, or equivalently, relatively high number of grid points) to generate grid data. If lighting
effect is not satisfactory, in the menu bar of the GUI for showing isosurface, use "Set lighting" in
"Other settings" to adjust lightings. In addition, using VMD to plot this kind of map can get much
better rendering effect, see Section 4.A.14 for related introduction and example.
• Use VMD plotting script whenever possible. For example, as illustrated in Section 4.2.5,
using VMD to plot paths and critical points can yield much better effect than directly plotting them
in the GUI window of topology module of Multiwfn; as also introduced in Section 4.A.14, via VMD
plotting script very ideal isosurface map of grid data can be obtained via merely a few steps
1063
Appendix
Appendix
Some functions of Multiwfn can directly invoke Gaussian (the precondition is that "gaupath"
in settings.ini has been set to actual path of Gaussian executable file). In order to make Windows
version of Gaussian run normally in this case, you must define "GAUSS_EXEDIR" environment
variable, otherwise error “No executable for file l1.exe” will occur and Gaussian running will fail,
because Gaussian does not know where to find the l1.exe executable file. Below are steps for setting
up this environment variable.
(1) For Windows XP users: Enter “Control panel”-“System properties”-“Advanced”
(2) For Windows 7 users: Enter “Control panel”-“System”-“Advanced system setting”-
“Advanced”
(3) For Windows 10 users: Click right mouse button on the start button, enter “Control panel”-
“System”-“Advanced system setting”-“Advanced”
After that, click “Environment variables” button, then click “New” button (in “User variables”
frame), input GAUSS_EXEDIR as variable name, input installation directory of Gaussian as variable
value (e.g. D:\study\g09w\, assuming that g09.exe is in this folder).
In addition, it is very important to note that when Multiwfn invoke Gaussian in Windows
environment, Gaussian will search for Default.Rou in current folder rather than in Gaussian scratch
path. Therefore, if there are important settings in Default.Rou, such as the default number of cores
to be utilized, you should copy this file to current folder to make the settings take effect during
calculations.
Below are the routines in function.f90 file. You can make use of them to construct new real
space function yourself. For more details, please check the comments in the code of corresponding
routine.
1064
Appendix
1065
Appendix
1066
Appendix
1067
Appendix
main function 100 (a hidden option), then Multiwfn will calculate radial electron density and output
the result to sphavgval.txt in current folder. You can directly copy the Fortran codes in this file into
corresponding field of atmraddens.f90.
In Section 2.5, the characteristic and the meaning of electron density function (EDF) have been
introduced. EDF information is used to represent the inner-core density replaced by pseudo-
potential, so that for the wavefunctions involving pseudo-potential, the result of the wavefunction
analyses that purely based on electron density can be almost exactly identical to full-electron
wavefunction.
When the input file you used contains GTF information, and meantime some atoms utilized
pseudo-potential, Multiwfn automatically finds proper GTF information from built-in EDF library
for these atoms. The built-in EDF library was developed by Wenli Zou and coworkers, it was
originally released as a part of Molden2aim program (https://github.com/zorkzou/Molden2AIM).
The quality of this EDF library is quite good, and is better than the EDF field contained in the .wfx
file produced by Gaussian program. This EDF library covers the entire periodic table, up to index
of 120. For most elements, it contains both EDF information for large and small core pseudo-
potentials. Some descriptions about this library posted by its developer can be found in
http://bbs.keinsci.com/thread-5354-1-1.html as well as J. Comput. Chem., 39, 1697 (2018). If you
do not want Multiwfn to read EDF information from this library automatically, set "isupplyEDF" in
settings.ini to 0.
As mentioned in Section 2.5, the .wfx file produced by Gaussian directly carries EDF field
when pseudo-potential is used. When this kind of file is used as input, Multiwfn by default reads
EDF information from EDF field of this .wfx file rather than from the built-in EDF library. If you
do not want Multiwfn read EDF information from this file but from the built-in EDF library, you
can change "readEDF" in settings.ini from 1 to 0.
It is noteworthy that Multiwfn also allows reading EDF information from atomic .wfx file
produced by Gaussian rather than from the built-in EDF library of Multiwfn (This feature is rarely
useful, since as mentioned above, the quality of the built-in EDF library in Multiwfn is better than
the EDF library embedded in Gaussian). An example is provided as below:
examples\Pt(NH3)2Cl2.wfn is a file corresponding to Pt(NH3)2Cl2, Lanl2 pseudo-potential
accompanied by Lanl2DZ basis set is used for Pt and Cl, while 6-31G* is used for other atoms.
examples\Pt_lanl2.wfx and examples\Cl_lanl2.wfx are the Pt and Cl atomic .wfx files produced by
Gaussian 09, in which Lanl2 is also used, therefore their EDF fields represent the inner-core electron
density of Pt and Cl replaced by Lanl2.
In order to borrow EDF information from the atomic .wfx files in the analysis of
Pt(NH3)2Cl2.wfn, first we need to set "isupplyEDF" parameter in settings.ini to 1. Then boot up
Multiwfn and input following commands
examples\Pt(NH3)2Cl2.wfn
Pt // Load EDF information for element Pt
1068
Appendix
The input files of Multiwfn generated by various quantum chemistry codes are not always
standard. For example, .molden file generated by many programs are problematic in content or
format. After you feeding them to Multiwfn and you want to make sure if the wavefunction has been
correctly loaded, there are two useful ways to check sanity:
(1) Enter main function 100 and select subfunction 4, then choose electron density. If the
integral of electron density over the whole space is very close to the actual number of electrons,
then the wavefunction is ready for use.
(2) Enter main function 1000 (a hidden function) and select subfunction 100. This function will
check satisfaction of normalization condition of all orbitals, and show you the maximum deviation
to unity and integer. If both the two maximum deviations are evidently larger than zero, then there
must be some severe problems in the input file; if any one of them is very close to zero, the input
file should be fully compatible with Multiwfn. Because in Multiwfn the orbital coefficients with
respect to both GTFs and basis functions are available if the inputted wavefunction file contains
basis function information, in this case this function will ask you to choose examining which kind
of orbital coefficients (of course, both of them should satisfy normalization condition).
6 Special functions
There are some special functions in Multiwfn, they are mainly used for debugging, special
purposes, and some of them are requested by some Multiwfn users. Here a few of them are
mentioned.
1069
Appendix
ZA ZA
EMO i −frag = i |r − R i | i (r ) |2 |r − R dr
Afrag A | Afrag A |
During the calculation, the atomic contributions to the result are outputted in turn, for example,
below output
Processing center 2(H ) / 3
means
ZA
2H
EMO i −frag = w2 H (r ) | i (r ) |
2
|r −R
Afrag |
d r = −0.06298
A
1070
Appendix
After entering this function, Multiwfn asks you if also outputting Becke's integration weights.
If you input y, the weights will be calculated and outputted together.
1071
Appendix
code. Multiwfn is able to directly read Fock/KS matrix from the $FOCK field in this file.
Generating .47 file via Gaussian is easy, just run an input file like this:
# B3LYP/6-31G* pop=nboread
Title line
0 1
[Atom coordinates]
Then MY_FILE.47 will be generated in C:\ folder once the calculation is finished, it carries Fock/KS
matrix at B3LYP/6-31G* level.
1072