/usr/share/doc/psi4/html/dft.html is in psi4-data 1:0.3-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DFT: Density Functional Theory — Psi4 [] Docs</title>
<link rel="stylesheet" href="_static/psi4.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="./" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/jquery.cookie.js"></script>
<script type="text/javascript" src="_static/toggle_sections.js"></script>
<script type="text/javascript" src="_static/toggle_sidebar.js"></script>
<script type="text/javascript" src="_static/toggle_codeprompt.js"></script>
<link rel="shortcut icon" href="_static/favicon-psi4.ico"/>
<link rel="top" title="Psi4 [] Docs" href="index.html" />
<link rel="up" title="Theoretical Methods: SCF to FCI" href="methods.html" />
<link rel="next" title="DCFT: Density Cumulant Functional Theory" href="dcft.html" />
<link rel="prev" title="HF: Hartree–Fock Theory" href="scf.html" />
</head>
<body role="document">
<div class="relbar-top">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> </li>
<li class="right" >
<a href="contents.html" title="Table Of Contents"
accesskey="C">toc</a> </li>
<li class="right" >
<a href="dcft.html" title="DCFT: Density Cumulant Functional Theory"
accesskey="N">next</a> </li>
<li class="right" >
<a href="scf.html" title="HF: Hartree–Fock Theory"
accesskey="P">previous</a> </li>
<li><a href="index.html">Psi4 []</a> » </li>
<li class="nav-item nav-item-1"><a href="methods.html" accesskey="U">Theoretical Methods: SCF to FCI</a> »</li>
</ul>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<a class="reference internal image-reference" href="_images/psi4banner.png"><img alt="Psi4 Project Logo" src="_images/psi4banner.png" style="width: 100%;" /></a>
<div class="section" id="dft-density-functional-theory">
<span id="sec-dft"></span><span id="index-0"></span><h1>DFT: Density Functional Theory<a class="headerlink" href="#dft-density-functional-theory" title="Permalink to this headline">¶</a></h1>
<p><em>Code author: Robert M. Parrish and Justin M. Turney</em></p>
<p><em>Section author: Robert M. Parrish</em></p>
<p><em>Module:</em> <a class="reference internal" href="autodir_options_c/module__scf.html#apdx-scf"><span>Keywords</span></a>, <a class="reference internal" href="autodir_psivariables/module__scf.html#apdx-scf-psivar"><span>PSI Variables</span></a>, <a class="reference external" href="https://github.com/psi4/psi4public/blob/master/src/lib/libfunctional">LIBFUNCTIONAL</a>, <a class="reference external" href="https://github.com/psi4/psi4public/blob/master/src/lib/libfock">LIBFOCK</a>, <a class="reference external" href="https://github.com/psi4/psi4public/blob/master/src/lib/libscf_solver">LIBSCF_SOLVER</a></p>
<p>Both density functional theory and Hartree–Fock theory are controlled
through the SCF module, and the <a class="reference internal" href="scf.html#sec-scfintro"><span>SCF Introduction</span></a>
section is also relevant here.</p>
<div class="section" id="theory">
<h2>Theory<a class="headerlink" href="#theory" title="Permalink to this headline">¶</a></h2>
<p>Generalized Kohn-Sham Density Functional Theory (KS-DFT) is one of the primary
workhorses of modern computational chemistry due to its phenomenal accuracy/cost
ratio.</p>
<p>Pure Kohn-Sham DFT is based on the ideas that A) the energy is a universal
functional of the one-particle electronic density and B) there exists a set of
noninteracting quasiparticles with the same density as the true set of
electrons, with the quasiparticle states determined as eigenvectors of an
effective one-body potential encapsulating the true <img class="math" src="_images/math/8c45b38d633fb6de83fc7087c4db116a5565752a.png" alt="N" style="vertical-align: 0px"/>-body quantum
effects. The former idea allows the electronic density to be dealt with instead
of the much more complicated wavefunction, while the latter allows for the
treatment of the troublesome kinetic energy term via the implicit one-body
Kohn-Sham orbitals. KS-DFT borrows much of the machinery of Hartree-Fock, as is
evident by looking at the energy expression,</p>
<div class="math">
<p><img src="_images/math/f3f38e5b7ded7303c810a274cea7c12b46f8f38c.png" alt="E_{\mathrm{KS}}
&= \sum_{i} \langle i | \hat h | i \rangle
+ \frac 1 2 \sum_{i,j} [ii|jj] + E_{\mathrm{xc}} [\rho_\alpha, \rho_\beta] \\
&= D_{\mu\nu}^{\mathrm{T}}\left(T_{\mu\nu} +
V_{\mu\nu}\right) + \frac{1}{2} D_{\mu\nu}^{\mathrm{T}}
D_{\lambda\sigma}^{\mathrm{T}} (\mu\nu|\lambda\sigma) + E_{\mathrm{xc}} [\rho_\alpha, \rho_\beta]"/></p>
</div><p>Here <img class="math" src="_images/math/5830b1441ec19bff0c7f338ee28ccd12654c1f69.png" alt="T" style="vertical-align: 0px"/> is the noninteracting quasiparticle kinetic energy operator,
<img class="math" src="_images/math/57b15dec6cc2aff6f74462a73e17ab6d2431e92a.png" alt="V" style="vertical-align: 0px"/> is the nucleus-electron attraction potential, <img class="math" src="_images/math/b58fa72a92a97338daeb153eaf89b6646e7281d0.png" alt="D^{\mathrm{T}}" style="vertical-align: 0px"/>
is the total electron density matrix, and <img class="math" src="_images/math/41b7d4d535c27848a043cdf2b1c0899f45a9ab9c.png" alt="E_{\mathrm{xc}} [\rho_\alpha,
\rho_\beta]" style="vertical-align: -6px"/> is the (potentially nonlocal) exchange, correlation, and residual
kinetic energy functional. The residual kinetic energy term is usually quite
small, and is often ignored, hence <img class="math" src="_images/math/814ca520ea14ec025430cc623d02d8050ac9442c.png" alt="E_{\mathrm{xc}}" style="vertical-align: -4px"/> is often referred to
as simply the exchange-correlation functional (exchange <em>and</em> correlation, not
just exchange-type correlation).</p>
<p>In practice, the first few generations of KS-DFT functionals were chosen to be
local, meaning that the form of the exchange correlation energy is an integral
over all of space of a function depending only on local information in the
density, such as the density value or derivatives. The simplest variants are
Local Spin-Density Approximations (LSDA), which depend only on the spin density
<img class="math" src="_images/math/d1655d5ada8071c8dd6bad2122d9d3dc1b42fd55.png" alt="\rho_\alpha" style="vertical-align: -4px"/> or <img class="math" src="_images/math/84835d4184b07ecc3c1ea65b3adcff272eb6bd3e.png" alt="\rho_\beta" style="vertical-align: -6px"/>,</p>
<div class="math">
<p><img src="_images/math/37f282b1586828eb89e4130b0433706910d9af40.png" alt="\rho_\sigma (\vec r_1) = D_{\mu\nu}^{\sigma} \phi_{\mu} (\vec r_1)
\phi_\nu (\vec r_1)"/></p>
</div><p>The most popular variants are Generalized Gradient Approximation (GGA)
functionals which use the norm of the density gradient
<img class="math" src="_images/math/8ba950bab17af3daac241d198f592d1fc01f4ab0.png" alt="\gamma_{\alpha\alpha}" style="vertical-align: -4px"/>, <img class="math" src="_images/math/c4d202946c2e58a8071dfb44548e3d1808da34bc.png" alt="\gamma_{\alpha\beta}" style="vertical-align: -6px"/> or
<img class="math" src="_images/math/109a7bd23df9f553319f06d7bdd287634de39108.png" alt="\gamma_{\beta\beta}" style="vertical-align: -6px"/> to build an inhomogeneity
parameter.</p>
<div class="math">
<p><img src="_images/math/89beb88e76c717e747e5373991c40f8d6d158efa.png" alt="\gamma_{\alpha\alpha} (\vec r_1) = \nabla \rho_{\alpha} (\vec r_1) \cdot \nabla
\rho_{\alpha} (\vec r_1)"/></p>
</div><div class="math">
<p><img src="_images/math/f83cf2e9531a26bca1e40efbc0591e18e65b3ab1.png" alt="\gamma_{\alpha\beta} (\vec r_1) = \nabla \rho_{\alpha} (\vec r_1) \cdot \nabla
\rho_{\beta} (\vec r_1)"/></p>
</div><p>where,</p>
<div class="math">
<p><img src="_images/math/caa66e62b31f4b3be3b6d564302d60bd32567da7.png" alt="\nabla \rho_{\sigma} (\vec r_1) = 2 D_{\mu\nu}^{\sigma} \phi_{\mu}
(\vec r_1) \nabla \phi_{\nu} (\vec r_1)"/></p>
</div><p>GGA functionals are essentially the same cost as LSDA functionals, and are often
considerably more accurate.</p>
<p>Another local variant which has gained some popularity (though perhaps not as
much as GGA functionals) is the meta approximation, in which information about
the second derivative of the density is incorporated. The most canonical variant
of these functionals rely on the spin kinetic energy density <img class="math" src="_images/math/409e757b803a0eb476da1286f800806c2d6f11c5.png" alt="\tau_\alpha" style="vertical-align: -3px"/>
and <img class="math" src="_images/math/891bb79dbfa2f82724d2bea744cb7f44d52a43a0.png" alt="\tau_\beta" style="vertical-align: -6px"/>,</p>
<div class="math">
<p><img src="_images/math/d3cc4b7fb8106d983d6d39d36a7a567a8c4ec0f8.png" alt="\tau_\sigma(\vec r_1) = \sum_{i} \left | \nabla \psi_i^{\sigma} (\vec r_1) \right | ^2
= \sum_{i} \left | C_{\mu i}^{\sigma} \nabla \phi_{\mu} (\vec r_1) \right |
^2 = D_{\mu\nu}^{\sigma} \nabla \phi_{\mu} (\vec r_1) \cdot \nabla
\phi_{\nu} (\vec r_1)"/></p>
</div><p>A generic local meta-GGA functional may then be written as,</p>
<div class="math">
<p><img src="_images/math/8b478a01a5b5571bde26731d1ed76bec79bf4c1f.png" alt="E_{\mathrm{xc}}^{\mathrm{DFA}} = \int_{\mathbb{R}^3} f_{\mathrm{xc}}
\left(
\rho_{\alpha} (\vec r_1),
\rho_{\beta} (\vec r_1),
\gamma_{\alpha\alpha} (\vec r_1),
\gamma_{\alpha\beta} (\vec r_1),
\gamma_{\beta\beta} (\vec r_1),
\tau_{\alpha} (\vec r_1),
\tau_{\beta} (\vec r_1)
\right) \ \mathrm{d} ^3 r_1"/></p>
</div><p>The potential corresponding to this energy functional is,</p>
<div class="math">
<p><img src="_images/math/2280167f36a5ed7bcee0d428d8f31531419af584.png" alt="V_{\mu\nu}^{\mathrm{xc},\alpha} =
\int_{\mathbb{R}^3}
\left(\frac{\partial f}{\rho_\alpha}\right)
\phi_{\mu}
\phi_{\nu}
\ \mathrm{d} ^3 r_1"/></p>
</div><div class="math">
<p><img src="_images/math/4c362b4f910c26a1ce69d5fe665b9810fa548733.png" alt="+
\int_{\mathbb{R}^3}
\left(2 \frac{\partial f}{\gamma_{\alpha\alpha}} \nabla \rho_\alpha + \frac{\partial
f}{\gamma_{\alpha\beta}}\nabla \rho_\beta \right)
\nabla\left(\phi_{\mu}
\phi_{\nu}\right)
\ \mathrm{d} ^3 r_1"/></p>
</div><div class="math">
<p><img src="_images/math/fd7c7e5cf75848cc954c2f62acee39eef2f24144.png" alt="+
\int_{\mathbb{R}^3}
\left(\frac{\partial f}{\tau_\alpha}\right)
\nabla \phi_{\mu}
\nabla \phi_{\nu}
\ \mathrm{d} ^3 r_1"/></p>
</div><p>This potential is used to build the Kohn-Sham matrix,</p>
<div class="math">
<p><img src="_images/math/bb529926dbb069a78e0b42cfdfff31698e7e697d.png" alt="F_{\mu\mu}^{\alpha} = H_{\mu\nu} + J_{\mu\nu} +
V_{\mu\nu}^{\mathrm{xc},\alpha}"/></p>
</div><p>which is diagonalized to form the Kohn-Sham orbitals in the same manner as in
Hartree-Fock.</p>
<p>In practice the local functional kernel <img class="math" src="_images/math/1bff89ed9d101ac26d46ca4b95cedcb6200f3aea.png" alt="f_{\mathrm{xc}}" style="vertical-align: -4px"/> and its required
partial derivatives are exceedingly complex, and are not analytically
integrable. In this case, atom-centered numerical quadratures are used to
evaluate the Kohn-Sham potentials and energies to a high degree of accuracy. The
evaluation of these numerical integrals can be made to be linear scaling with a
reasonable amount of cleverness (mostly related to the fact that the basis
functions decay exponentially), meaning that the Coulomb and diagonalization
steps become rate limiting. This enormous potential speed gain over Hartree-Fock
with potentially exact treatment of electron correlation for “free” was one of
the primary motivations for KS-DFT’s adoption by chemists in the late 1980s and
early 1990s.</p>
<p>Unfortunately, local KS-DFT exhibits several spectacular failures, most of which
stem from the exponential decay of the local Kohn-Sham potential, which cannot
encapsulate long-range information in the exchange and correlation holes. In the
exchange hole, this manifests as the problem of Many-Electron Self-Interaction
Error (MSIE), which presents as spurious low-lying charge transfer states in
excited-state calculations, eventual metallic breakdown in extended insulators,
poor thermochemistry, and complete lack of a derivative discontinuity in the
chemical potential as integer particle numbers are crossed. On the correlation
side, this is primarily observed in the inability of KS-DFT to treat dispersion
interactions.</p>
<p>Generalized Kohn-Sham (GKS) functionals incorporate long-range information into
the functional through orbital-dependent contributions, and are designed to
combat the failures of local KS-DFT, particularly the MSIE on the exchange side.
Note that these functionals are often referred to as “implicit” density
functionals, as the orbitals are themselves functionals of the Kohn-Sham
potential.</p>
<p>The simplest form of an exchange-side GKS is the global hybrid ansatz, in which
some fraction of the exact Hartree-Fock exchange of the noninteracting
quasiparticles is added to the functional, with the local part of the exchange
functional decreased by the corresponding amount. Note that the term
“exact-exchange” refers to the Hartree-Fock being the exact exchange energy of
the noninteracting quasiparticles, not the true electrons. Therefore, adding
100% exact exchange is not physically reasonable, and will often lead to
extremely poor results. The fraction of exact-exchange, denoted <img class="math" src="_images/math/23bf3bdd8ce99fdb75f17e8b49934c62e9cf0841.png" alt="\alpha" style="vertical-align: 0px"/>,
is often determined by adiabatic or heuristic arguments, and is typically around
25%. The addition of exact exchange borrows another piece from an existing
Hartree-Fock code, with the caveat that Hartree-Fock exchange is often much more
costly to obtain than the Coulomb matrix. The global hybrid ansatz has become
exceedingly popular, with functionals such as the ubiquitous B3LYP often
producing absurdly accurate results.</p>
<p>A more advanced GKS functional technology which has developed enormous
popularity in recent years is the Long-Range Corrected (LRC) ansatz. LRC
recognizes that the local DFA is potentially exact at short range in the
exchange hole, and that the hybrid-exchange energy of the noninteracting
quasiparticles is also exact for true electrons at long range in the exchange
hole. Therefore LRC switches from DFA at short range to hybrid exchange at long
range, typically using the function <img class="math" src="_images/math/4123b0be212c359b816dfa0b2d234609e963c944.png" alt="\mathrm{erf}(\omega r_{12})" style="vertical-align: -4px"/> as a
partition function.</p>
<p>Tying all these pieces together, a full LRC-hybrid GKS functional has the
generic form,</p>
<div class="math">
<p><img src="_images/math/312140af9454a201f6eedbac9cefc1455bb85b0c.png" alt="E_{\mathrm{xc}} = (1-\alpha) \int_{\mathrm{R}^3}
f_{\mathrm{xc}}
\left(
\rho_{\alpha} (\vec r_1),
\rho_{\beta} (\vec r_1),
\gamma_{\alpha\alpha} (\vec r_1),
\gamma_{\alpha\beta} (\vec r_1),
\gamma_{\beta\beta} (\vec r_1),
\tau_{\alpha} (\vec r_1),
\tau_{\beta} (\vec r_1)
; \omega \right) \ \mathrm{d} ^3 r_1"/></p>
</div><div class="math">
<p><img src="_images/math/6a78edb32e442d67903f9725b3f36fee7a799139.png" alt="-\frac{1}{2} \sum_{i,j}
\delta_{\sigma_{i} \sigma_{j}} \alpha \iint_{\mathrm{R}^6} \phi_{i}^1 \phi_{j}^1
\frac{1}{r_{12}} \phi_{i}^2 \phi_{j}^2 \ \mathrm{d}^3 r_1 \ \mathrm{d}^3 r_2"/></p>
</div><div class="math">
<p><img src="_images/math/646cdb892ac77977bea1c30d2fa23126939536a2.png" alt="-\frac{1}{2} \sum_{i,j}
\delta_{\sigma_{i} \sigma_{j}} (1-\alpha)\iint_{\mathrm{R}^6} \phi_{i}^1 \phi_{j}^1
\frac{\mathrm{erf}(\omega r_{12})}{r_{12}} \phi_{i}^2 \phi_{j}^2 \ \mathrm{d}^3 r_1 \ \mathrm{d}^3 r_2"/></p>
</div><p>For LRC functionals, the choice of range-separtion parameter <img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/> has
been the subject of considerable activity since the inception of LRC
functionals. Some authors advocate a static range-separation parameter
determined by optimization over a test set of chemical systems. However, a more
physically-motivated and often more accurate approach is the idea of “gap
fitting” or “optimal tuning” or simply “tuning.” The most popular tuned-LRC
approach is IP-fitting, in which the <img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/> is varied until the
Koopman’s IP (the opposite of the HOMO energy) matches the true IP (the
difference between <img class="math" src="_images/math/abf6cca7fff9806e67bfa7f28d51c05fa67d80a7.png" alt="N-1" style="vertical-align: -1px"/>-electron and <img class="math" src="_images/math/8c45b38d633fb6de83fc7087c4db116a5565752a.png" alt="N" style="vertical-align: 0px"/>-electron total
energies), within the LRC functional ansatz. This guarantees the asymptotics of
the exchange potential,</p>
<div class="math">
<p><img src="_images/math/326838f0c4244c340b274d416aa7e71bf68a5004.png" alt="\lim_{r\rightarrow\infty} v_{\mathrm{x}}^{\mathrm{tuned-LRC}} (r) = -
\frac{1}{r} + I_{\mathrm{IP}} +
\epsilon_{\mathrm{HOMO}}"/></p>
</div><p>Note that LRC functionals with default <img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/> only capture the
<img class="math" src="_images/math/3469e624e2fa4ef04b582e429a5a577c0fa96596.png" alt="-1/r" style="vertical-align: -5px"/> dependence,</p>
<div class="math">
<p><img src="_images/math/1a12c4eceaaddef39f25db7243c593d00b3bde21.png" alt="\lim_{r\rightarrow\infty} v_{\mathrm{x}}^{\mathrm{LRC}} (r) = -
\frac{1}{r},"/></p>
</div><p>hybrid functionals only capture part of the <img class="math" src="_images/math/3469e624e2fa4ef04b582e429a5a577c0fa96596.png" alt="-1/r" style="vertical-align: -5px"/> dependence,</p>
<div class="math">
<p><img src="_images/math/a45eb90b53a476cc00a11db23ac9ad46fc108723.png" alt="\lim_{r\rightarrow\infty} v_{\mathrm{x}}^{\mathrm{Hybrid}} (r) = -
\frac{\alpha}{r},"/></p>
</div><p>and local functionals decay exponentially, resulting in completely incorrect
asymptotics,</p>
<div class="math">
<p><img src="_images/math/9501682b08ada96e60d01f968a99e854bff1c3e3.png" alt="\lim_{r\rightarrow\infty} v_{\mathrm{x}}^{\mathrm{Local}} (r) = 0"/></p>
</div><p>IP-tuned LRC functionals effectively pin the chemical potential at <img class="math" src="_images/math/8c45b38d633fb6de83fc7087c4db116a5565752a.png" alt="N" style="vertical-align: 0px"/>
electrons to the correct value determined by the ionization potential. This
often cleans up the MSIE problem for a surprisingly large number of high-lying
occupied orbitals, as determined by fractional particle curves. Other gap
fitting techniques involving the electron affinity or band gap are sometimes
also used. IP-fitting is found to be particularly critical for the qualitative
determination of excited state ordering in many low band-gap systems.</p>
<p>For dispersion-bound complexes, a very simple additive empirical dispersion
potential, based on a damped Lennard-Jones potential can often produce
remarkably accurate results with KS-DFT. This approach was championed by Grimme,
whose “-D2” approach is a de facto industry standard. The more modern “-D3”
approach is gaining popularity, and may supersede -D2 in the next few years.</p>
</div>
<div class="section" id="minimal-input">
<h2>Minimal Input<a class="headerlink" href="#minimal-input" title="Permalink to this headline">¶</a></h2>
<p>Minimal input for a KS-DFT computation is a molecule block, basis set
option, and a call to <code class="docutils literal"><span class="pre">energy('b3lyp')</span></code> (or other valid functional name):</p>
<div class="highlight-python"><div class="highlight"><pre>molecule {
He
}
set basis sto-3g
energy('b3lyp')
</pre></div>
</div>
<p>This will run a B3LYP Restricted Kohn-Sham (RKS) on neutral singlet Helium in
<img class="math" src="_images/math/db75df3e2b5a073f500992eae10086986cebf33f.png" alt="D_{2h}" style="vertical-align: -3px"/> spatial symmetry with a minimal <code class="docutils literal"><span class="pre">STO-3G</span></code> basis, 1.0E-8 energy
and density convergence criteria, a PK ERI algorithm, symmetric
orthogonalization, DIIS, and a core Hamiltonian guess. For more information on
any of these options, see the relevant section below, or in the Hartree-Fock
section above.</p>
</div>
<div class="section" id="spin-symmetry-treatment">
<h2>Spin/Symmetry Treatment<a class="headerlink" href="#spin-symmetry-treatment" title="Permalink to this headline">¶</a></h2>
<p><span class="sc">Psi4</span> implements the most popular spin specializations of KS-DFT, including:</p>
<dl class="docutils">
<dt>Restricted Kohn-Sham (RKS) [Default]</dt>
<dd>Appropriate only for closed-shell singlet systems, but twice as efficient
as the other flavors, as the alpha and beta densities are constrained to be
identical.</dd>
<dt>Unrestricted Kohn-Sham (UKS)</dt>
<dd>Appropriate for most open-shell systems, and fairly easy to converge.
The spatial parts of the alpha and beta orbitals are fully independent of each
other, which allows a considerable amount of flexibility in the wavefunction.
However, this flexibility comes at the cost of spin symmetry; the resultant
wavefunction may not be an eigenfunction of the <img class="math" src="_images/math/562122b811356a82fed11f9b452c375b184b68f8.png" alt="\hat S^2" style="vertical-align: 0px"/> operator.
However, spin contamination is usually less of a problem with UKS than with
UHF, as the spin contamination of the noninteracting quasiparticles (the
<img class="math" src="_images/math/ba67506279e8454e6cec378488e40e5353652226.png" alt="S^2" style="vertical-align: 0px"/> metric printed in the output) is usually a severe overestimation
of the spin contamination of the true electrons.</dd>
</dl>
<p>These are set in the <a class="reference internal" href="autodoc_glossary_options_c.html#term-reference-scf"><span class="xref std std-term">REFERENCE</span></a> option.</p>
<p>Note that there are not equivalents to ROHF or CUHF, e.g., no ROKS or CUKS. This
is because ROHF is implicitly assumed to be followed by a correlated method
which can break the positive definiteness of the spin polarization. KS-DFT with
the true functional is expected to be the final step, thus restricting the
solution to positive definite spin polarization is not physical. See the
section in Szabo on methyl radical for an example.</p>
</div>
<div class="section" id="functional-selection">
<h2>Functional Selection<a class="headerlink" href="#functional-selection" title="Permalink to this headline">¶</a></h2>
<p><span class="sc">Psi4</span> features an extensive list of LSDA, GGA, Meta, Hybrid, LRC, and -D
functionals. These can be specified by a variety of means. Perhaps the simplest
is to use the functional name as the energy procedure call:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">energy</span><span class="p">(</span><span class="s">'b3lyp'</span><span class="p">)</span>
</pre></div>
</div>
<p>Note that if you are running an unrestricted computation, you should set the
<a class="reference internal" href="autodoc_glossary_options_c.html#term-reference-scf"><span class="xref std std-term">REFERENCE</span></a> option before the call to <code class="docutils literal"><span class="pre">energy</span></code>:</p>
<div class="highlight-python"><div class="highlight"><pre>set reference uks
energy('b3lyp')
</pre></div>
</div>
<p>The functional may also be manually specified by the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-functional-scf"><span class="xref std std-term">DFT_FUNCTIONAL</span></a>
option:</p>
<div class="highlight-python"><div class="highlight"><pre>set dft_functional b3lyp
energy('scf')
</pre></div>
</div>
<p>For hybrid functionals, the fraction of exact exchange is controlled by the
<a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-alpha-scf"><span class="xref std std-term">DFT_ALPHA</span></a> option. For the LRC functionals, the fraction of long-range
Hartree-Fock and short-range DFA is controlled by the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-omega-scf"><span class="xref std std-term">DFT_OMEGA</span></a> option.
Changing these will override the default behavior of the requested functional.</p>
<p>A brief summary of some of the more notable functionals in <span class="sc">Psi4</span>, and links
to the complete listing of all functionals of each class are presented below:</p>
<dl class="docutils">
<dt><a class="reference internal" href="dft_byfunctional.html#table-dft-all"><span>All Functionals</span></a></dt>
<dd>All functionals, including LSDA-only functionals. Note that here and
throughout, functionals which end in <cite>_X</cite> or <cite>_C</cite> are exchange or
correlation only, and should not be used for most production-level
computations. Examples include <cite>PBE_X</cite> and <cite>PBE_C</cite>, which contain the
separate definitions of the PBE exchange and correlation holes. In most cases,
the united <cite>PBE</cite> functional should be used instead.</dd>
<dt><a class="reference internal" href="dft_byfunctional.html#table-dft-gga"><span>GGA Functionals</span></a></dt>
<dd>Many common GGA functionals. BLYP and PBE are probably among the best pure
GGAs. Please do not use FT97 at the moment, as there
are problems with the stability of the correlation hole. Don’t worry, it
will definitely NaN on you if you try to use it.</dd>
<dt><a class="reference internal" href="dft_byfunctional.html#table-dft-meta"><span>Meta Functionals</span></a></dt>
<dd>We have recently implemented the M05 classes of meta functionals in
PSI4. Note that these functionals are not appropriate for modeling
dispersion interactions, as they lack dispersion physics. A -D functional (Such
as the much cheaper B97-D) should be used instead.</dd>
<dt><a class="reference internal" href="dft_byfunctional.html#table-dft-hybrid"><span>Hybrid Functionals</span></a></dt>
<dd>Many common hybrid functionals, including the ubiquitous B3LYP. PBE0 and the
B97 series are also quite good for many thermochemical problems.</dd>
<dt><a class="reference internal" href="dft_byfunctional.html#table-dft-lrc"><span>LRC Functionals</span></a></dt>
<dd>LRC functionals are a particular area of interest of the <span class="sc">Psi4</span> DFT team.
LRC functionals are all denoted by a lower-case “w” in front of the standard DFA
functional, such as wPBE. We offer a stable implementation of the Gill
association function for wS and Head-Gordon’s wB97/wB97X functionals.
Additionally, we are pleased to have recently completed a heavily conditioned
implementation of the HJS exchange-hole model, which provides an analytical form
for the short-range enhancement factor for wPBE, wPBEsol, and wB88. From a
physics perspective, this implementation of wPBE is extremely useful for
theoretical investigations, as it is parameter free, and properly integrated
against the partition function in the exchange hole. We would like to thank Dr.
Scuseria for providing helpful advice and a reference implementations of the
older HSE exchange-hole model which led to the successful implementation of the
HJS model.</dd>
<dt><a class="reference internal" href="dft_byfunctional.html#table-dft-dhybrid"><span>Double-Hybrid Functionals</span></a></dt>
<dd>Double hybrids are percolating into <span class="sc">Psi4</span>. Note that these are
only available with density-fitted, not conventional, mp2 algorithms.</dd>
<dt><a class="reference internal" href="dft_byfunctional.html#table-dft-disp"><span>-D Functionals</span></a></dt>
<dd>We have several -D2 functionals implemented, -D3 functionls are available
with the installation of Grimme’s <a class="reference internal" href="dftd3.html#sec-dftd3"><span>DFTD3 program</span></a>, and we
will shortly be adding many
more combinations of -D2 and -D3 functionals. For now, the pure-GGA B97-D
functional of Grimme is remarkably accurate, and the hybrid B3LYP-D
functional is also quite reliable.</dd>
</dl>
<p>Note: we have made a sincere effort to rigorously test all functionals
implemented in <span class="sc">Psi4</span> for both numerical stability and correctness. If you
observe any unexpected results, please email Rob Parrish (<a class="reference external" href="mailto:robparrish%40gmail.com">robparrish<span>@</span>gmail<span>.</span>com</a>)
for immediate assistance. Additionally, if you have a request for a new
functional, please let us know.</p>
</div>
<div class="section" id="grid-selection">
<h2>Grid Selection<a class="headerlink" href="#grid-selection" title="Permalink to this headline">¶</a></h2>
<p><span class="sc">Psi4</span> uses the standard Lebedev-Laikov spherical quadratures in concert with a
number of radial quadratures and atomic partitioning schemes. Pruned grids are
not yet available, but will be implemented by RC1 (in final debugging). The
default grid in PSI4 is a Lebedev-Treutler (75,302) grid with a Treutler
partition of the atomic weights.</p>
<p>Spherical grids are all of the extremely efficient Lebedev-Laikov type.
Spherical grid resolution is controlled by the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-spherical-points-scf"><span class="xref std std-term">DFT_SPHERICAL_POINTS</span></a>
option, which may take one of the following values:</p>
<blockquote id="table-lebedevorder">
<div><table border="1" class="docutils">
<colgroup>
<col width="81%" />
<col width="19%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head"><a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-spherical-points-scf"><span class="xref std std-term">DFT_SPHERICAL_POINTS</span></a></th>
<th class="head">Order</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>6</td>
<td>3</td>
</tr>
<tr class="row-odd"><td>14</td>
<td>5</td>
</tr>
<tr class="row-even"><td>26</td>
<td>7</td>
</tr>
<tr class="row-odd"><td>38</td>
<td>9</td>
</tr>
<tr class="row-even"><td>50</td>
<td>11</td>
</tr>
<tr class="row-odd"><td>74</td>
<td>13</td>
</tr>
<tr class="row-even"><td>86</td>
<td>15</td>
</tr>
<tr class="row-odd"><td>110</td>
<td>17</td>
</tr>
<tr class="row-even"><td>146</td>
<td>19</td>
</tr>
<tr class="row-odd"><td>170</td>
<td>21</td>
</tr>
<tr class="row-even"><td>194</td>
<td>23</td>
</tr>
<tr class="row-odd"><td>230</td>
<td>25</td>
</tr>
<tr class="row-even"><td>266</td>
<td>27</td>
</tr>
<tr class="row-odd"><td>302</td>
<td>29</td>
</tr>
<tr class="row-even"><td>350</td>
<td>31</td>
</tr>
<tr class="row-odd"><td>434</td>
<td>35</td>
</tr>
<tr class="row-even"><td>590</td>
<td>41</td>
</tr>
<tr class="row-odd"><td>770</td>
<td>47</td>
</tr>
<tr class="row-even"><td>974</td>
<td>53</td>
</tr>
<tr class="row-odd"><td>1202</td>
<td>59</td>
</tr>
<tr class="row-even"><td>1454</td>
<td>65</td>
</tr>
<tr class="row-odd"><td>1730</td>
<td>71</td>
</tr>
<tr class="row-even"><td>2030</td>
<td>77</td>
</tr>
<tr class="row-odd"><td>2354</td>
<td>83</td>
</tr>
<tr class="row-even"><td>2702</td>
<td>89</td>
</tr>
<tr class="row-odd"><td>3074</td>
<td>95</td>
</tr>
<tr class="row-even"><td>3470</td>
<td>101</td>
</tr>
<tr class="row-odd"><td>3890</td>
<td>107</td>
</tr>
<tr class="row-even"><td>4334</td>
<td>113</td>
</tr>
<tr class="row-odd"><td>4802</td>
<td>119</td>
</tr>
<tr class="row-even"><td>5294</td>
<td>125</td>
</tr>
<tr class="row-odd"><td>5810</td>
<td>131</td>
</tr>
</tbody>
</table>
</div></blockquote>
<p>The spherical grids are rotated according to a common set of rules developed
during the implementation of SG1. At the moment, the rules for tetrahedral,
octohedral, and icosohedral systems are not complete, so there may be some
ambiguity in the grid orientation for these systems. A complete grid orientation
rule set will be available in RC1.</p>
<p>Radial grid types are controlled by the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-radial-scheme-scf"><span class="xref std std-term">DFT_RADIAL_SCHEME</span></a> option, which
at the moment may be either TREUTLER or BECKE, while the number of radial points
are controlled by the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-radial-points-scf"><span class="xref std std-term">DFT_RADIAL_POINTS</span></a> option, which is any positive
integer (typically 50-100). The radial grids are “centered” on the Bragg-Slater
radius of each atom, as described in Becke’s 1988 paper. If inaccurate
integration is suspected in systems with anions or very diffuse basis functions,
the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-bs-radius-alpha-scf"><span class="xref std std-term">DFT_BS_RADIUS_ALPHA</span></a> option may be increased from 1.0 to a larger value to
force the radial grid to span a larger extent in space. The MultiExp, Mura, and
EM radial grids will be available in RC1.</p>
<p>The atomic weighting scheme is controlled by the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-nuclear-scheme-scf"><span class="xref std std-term">DFT_NUCLEAR_SCHEME</span></a>
option, which may be one of TREUTLER, BECKE, or NAIVE. The faster Stratmann
weighting scheme is under development, and will be available in RC1.</p>
<p>Once the molecular quadrature grid is built, the points are partitioned into
blocks of points which are spatially close to each other. We use an octree
algorithm for this procedure, which produces a good balance between spatial
compactness of each block (which helps achieve linear scaling due to the
exponential decay of the basis functions), and retaining a large number of
points in each block (which helps keep the FLOP rate up by allowing for a
reasonably large amount of BLAS3/BLAS2 work to form the densities and potentials
in each block). For each block, a united set of significant basis functions is
determined by the cutoff radius of each shell of basis functions. The size of
this cutoff radius (and thereby the accuracy of the density/potential
evaluation) can be varied by setting the <a class="reference internal" href="autodoc_glossary_options_c.html#term-dft-basis-tolerance-scf"><span class="xref std std-term">DFT_BASIS_TOLERANCE</span></a>, which
defaults to 1E-12. We are still exploring optimizations of the octree algorithm
and the basis cutoffs, but it is likely that significant speed gains may be
realized by relaxing the basis cutoff tolerance, with negligible decrease in
accuracy.</p>
<p>An example of a fully specified grid is as follows:</p>
<div class="highlight-python"><div class="highlight"><pre>molecule {
H
H 1 0.7
}
set {
basis cc-pvdz
scf_type df
dft_spherical_points 590 # Often needed
dft_radial_points 99 # Often needed
dft_radial_scheme treutler # Rarely needed
dft_nuclear_scheme treutler # Rarely needed
dft_basis_tolerance 1.0E-11 # Can speed things up, but benchmark the error
}
energy('b3lyp')
</pre></div>
</div>
</div>
<div class="section" id="eri-algorithms">
<h2>ERI Algorithms<a class="headerlink" href="#eri-algorithms" title="Permalink to this headline">¶</a></h2>
<p>The ERI algorithms for the Coulomb and hybrid exchange are identical to those
listed above for Hartree-Fock. However, for LRC functionals, the long-range
exchange contributions to the Kohn-Sham matrix have only been implemented in the
DF and DIRECT algorithms. The use of DF is highly recommended for KS-DFT, as the
errors incurred by the density fitting approximation (in a proper -JKFIT
auxiliary basis) are orders of magnitude smaller than the accuracy of any known
functional.</p>
<p>Note: gradients with LRC functionals and DF integrals technology are not
currently enabled. We hope to have a patch for this deficit soon. Please let us
know if you have a strong need for this capability, and we will move the
priority up.</p>
</div>
<div class="section" id="ip-fitting">
<h2>IP Fitting<a class="headerlink" href="#ip-fitting" title="Permalink to this headline">¶</a></h2>
<p>In collaboration with the Bredas group, we have developed an automatic procedure
for IP fitting of LRC functionals, based on a modified Regula-Falsi method. To
perform IP fitting, one simply calls the <a class="reference internal" href="autodoc_driver.html#frac.ip_fitting" title="frac.ip_fitting"><code class="xref py py-func docutils literal"><span class="pre">ip_fitting()</span></code></a> Python macro, after
setting up a standard LRC UKS computation. A representative example is:</p>
<div class="highlight-python"><div class="highlight"><pre>memory 512 MB
from frac import *
molecule h2o {
0 1
O
H 1 1.0
H 1 1.0 2 104.5
symmetry c1 # IP fitting must be run in C1 symmetry
}
set {
reference uks # UKS, as we need to do neutral/cation
basis cc-pvdz
scf_type df
dft_functional wb97
}
# Arguments are molecule object, minimum omega, maximum omega
ip_fitting(h2o, 0.4, 2.0)
</pre></div>
</div>
<p>This performs IP fitting on water for wB97/cc-pVDZ with density fitting. A
number of neutral and cation single-point computations are run at various values
of <img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/>, though the later iterations are much faster due to reuse of
the DF tensors, and starting from the neutral/cation orbitals of the previous
<img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/>. The procedure can also be assisted by providing a tighter guess
for the bounds of <img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/>. This small test case has a tuned
<img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/> of 1.700, hence the bounds of 0.4 and 2.0. Larger systems,
particularly conjugated systems, will typically have an optimized <img class="math" src="_images/math/2250acb05b0e6780be4be1a2effa3670e4c8f882.png" alt="\omega" style="vertical-align: 0px"/>
between 0.1 and 0.5.</p>
</div>
<div class="section" id="fractional-particle-curves">
<h2>Fractional Particle Curves<a class="headerlink" href="#fractional-particle-curves" title="Permalink to this headline">¶</a></h2>
<p>The behavior of the electronic energy and HOMO energy across fractional numbers
of electrons is extremely useful for elucidating the MSIE behavior of various
functional technologies. <span class="sc">Psi4</span> features an efficient fractional-particle DFT
code, written into the UKS spin specialization. Due to a combination of DIIS and
reuse of integrals/guess orbitals across a range of fractional occupations, this
code is able to perform fractional occupation curves for systems with up to 60
atoms, across a wide range of the particle number <img class="math" src="_images/math/8c45b38d633fb6de83fc7087c4db116a5565752a.png" alt="N" style="vertical-align: 0px"/>.</p>
<p>Two python macros exist for this code. The first is <a class="reference internal" href="autodoc_driver.html#frac.frac_traverse" title="frac.frac_traverse"><code class="xref py py-func docutils literal"><span class="pre">frac_traverse()</span></code></a>, which is
used to investigate the fractional occupation behavior within one electron above
and below the neutral. An example is:</p>
<div class="highlight-python"><div class="highlight"><pre>memory 512 MB
from frac import *
molecule h2o {
0 1
O
H 1 1.0
H 1 1.0 2 104.5
symmetry c1 # FRAC jobs must be run in C1 symmetry
}
set {
reference uks # UKS, as we need to do all kinds of weird stuff
basis aug-cc-pvdz # Augmented functions are very important on the anion side
scf_type df
dft_functional wb97
}
# Argument is the molecule object.
# Many optional arguments are available, see the python file
frac_traverse(h2o)
</pre></div>
</div>
<p>The other macro is <a class="reference internal" href="autodoc_driver.html#frac.frac_nuke" title="frac.frac_nuke"><code class="xref py py-func docutils literal"><span class="pre">frac_nuke()</span></code></a>, which strips several electrons out of the
system to gather information on the MSIE over a range of orbitals. The input is
identical to the above, except that the <a class="reference internal" href="autodoc_driver.html#frac.frac_traverse" title="frac.frac_traverse"><code class="xref py py-func docutils literal"><span class="pre">frac_traverse()</span></code></a> call is substituted
for something like:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c"># Argument is the molecule object.</span>
<span class="c"># A useful optional argument is nmax, the total number of electrons to</span>
<span class="c"># strip out of the molecule, in this case, 2.</span>
<span class="c"># Many optional arguments are available, see the python file</span>
<span class="n">frac_nuke</span><span class="p">(</span><span class="n">h2o</span><span class="p">,</span> <span class="n">nmax</span> <span class="o">=</span> <span class="mi">2</span><span class="p">)</span>
</pre></div>
</div>
<p>Note: this feature is new/powerful enough that we have several papers pending on
it, and are interested in expanding this work. If you would like to publish
results using this code, please contact Rob Parrish to make arrangements for
collaboration.</p>
</div>
<div class="section" id="dispersion-corrections">
<h2>Dispersion Corrections<a class="headerlink" href="#dispersion-corrections" title="Permalink to this headline">¶</a></h2>
<p><a class="reference internal" href="dftd3.html#sec-dftd3"><span>Dispersion corrections are discussed at this link.</span></a></p>
</div>
<div class="section" id="recommendations">
<h2>Recommendations<a class="headerlink" href="#recommendations" title="Permalink to this headline">¶</a></h2>
<p>The KS-DFT code is quite new, but relatively complete. During code development,
emphasis was placed on flexibility of functional technology, efficiency for
medium to large systems in difficult electronic environments (e.g., compact
spatial extents, diffuse basis sets, low band-gaps, LRC and/or hybrid GKS
functionals), and time to code completion. We are very interested in optimizing
and extending the code, so expect performance gains and extensions to
gradients/hessians and TDDFT in future releases.</p>
<p>Some rough guidelines for using the KS-DFT code are as follows,</p>
<ul class="simple">
<li>Use DF for the ERI algorithm wherever possible.</li>
<li><span class="sc">Psi4</span> is a “tight” code, meaning we’ve set the default numerical cutoffs
for integrals, grids, and convergence criteria in such a way that you will often
get many more digits of precision than needed. You may be able to realize
additional speed gains by loosening some of these thresholds. See
<a class="reference internal" href="scf.html#table-conv-scf"><span>SCF Convergence</span></a> for default convergence criteria.</li>
<li>Read the literature to determine which functional technology to use. The world
contains far too many papers using B3LYP on noncovalent interactions without a -D.</li>
</ul>
<p>The “best-practice” input file for KS-DFT is:</p>
<div class="highlight-python"><div class="highlight"><pre>memory 1 GB # As much as you've got, the DF algorithm can use
molecule {
H
H 1 0.7
}
set {
basis cc-pvdz
scf_type df
guess sad
}
energy('b3lyp')
</pre></div>
</div>
<style type="text/css"><!--
.green {color: red;}
.sc {font-variant: small-caps;}
--></style></div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">DFT: Density Functional Theory</a><ul>
<li><a class="reference internal" href="#theory">Theory</a></li>
<li><a class="reference internal" href="#minimal-input">Minimal Input</a></li>
<li><a class="reference internal" href="#spin-symmetry-treatment">Spin/Symmetry Treatment</a></li>
<li><a class="reference internal" href="#functional-selection">Functional Selection</a></li>
<li><a class="reference internal" href="#grid-selection">Grid Selection</a></li>
<li><a class="reference internal" href="#eri-algorithms">ERI Algorithms</a></li>
<li><a class="reference internal" href="#ip-fitting">IP Fitting</a></li>
<li><a class="reference internal" href="#fractional-particle-curves">Fractional Particle Curves</a></li>
<li><a class="reference internal" href="#dispersion-corrections">Dispersion Corrections</a></li>
<li><a class="reference internal" href="#recommendations">Recommendations</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="scf.html"
title="previous chapter">HF: Hartree–Fock Theory</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="dcft.html"
title="next chapter">DCFT: Density Cumulant Functional Theory</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/dft.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="relbar-bottom">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> </li>
<li class="right" >
<a href="contents.html" title="Table Of Contents"
>toc</a> </li>
<li class="right" >
<a href="dcft.html" title="DCFT: Density Cumulant Functional Theory"
>next</a> </li>
<li class="right" >
<a href="scf.html" title="HF: Hartree–Fock Theory"
>previous</a> </li>
<li><a href="index.html">Psi4 []</a> » </li>
<li class="nav-item nav-item-1"><a href="methods.html" >Theoretical Methods: SCF to FCI</a> »</li>
</ul>
</div>
</div>
<div class="footer" role="contentinfo">
© Copyright 2015, The Psi4 Project.
Last updated on Tuesday, 12 January 2016 03:10PM.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.3.
</div>
<!-- cloud_sptheme 1.3 -->
</body>
</html>
|