JDFTx  1.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JDFTx Documentation
jdftx-256.png

JDFTx is a plane-wave density functional code designed for Joint Density Functional Theory (JDFT), a framework for ab initio calculations of electronic systems in contact with liquid environments. It is distributed under the GPL license (version 3 or higher) and publications resulting from its use must cite the following:

For any given calculation, JDFTx prints out a list of relevant citations for optional features of the code used in that run. This output appears at the end of initialization just before the first electronic solve starts.

JDFTx is written using highly-templated and object oriented C++11 code in order to express all the physics in the DFT++ algeraic framework, while simultaneously maintaining a small memory footprint and supporting a range of hardware architectures (such as GPUs using CUDA) without requiring hand-optimized implementations for each architecture. See Downloading/Compiling for details on unlocking various features.

Unlike most other electronic structure codes, by default, JDFTx performs total energy minimization using analytically continued energy functionals, rather than the conventional SCF schemes. Density and potential-mixing SCF algorithms are also implemented in JDFTx, but for difficult systems when SCF diverges, variational minimization provides a useful fallback that is guaranteed to converge. This might be advantageous for vanilla DFT calculations in some cases, but it is critical for reliable convergence in the presence of liquids, especially with charged systems and at fixed electrochemical potential.

The framework of Joint Density functional theory is described in:

which should be cited for work using any of the fluid models. A polarizable continuum-like solvation approach which replaces the fluid by a local dielectric response is also described in that paper. The capability for handling charged systems and absolute voltage references for electrochemistry is added by incorporating ionic screening in the fluid according to:

Recently reparametrized versions of the polarizable continuum model which include cavitation and dispersion terms and allow for nonlinear dielectric and ionic response according to

The full power of Joint Density functional theory is unleashed when the electronic density functional is coupled to an explicit classical free energy functional for the fluid. The coupling is typically achieved using density-only electronic functionals as described in

  • K. Letchworth-Weaver, R. Sundararaman and T.A. Arias, (under preparation)

and available functionals for water include

JDFTx also incorporates advanced algorithms for converging metallic systems with finite temperature Fermi function fillings, critical for the study of electrochemical systems. Our implementation extends an analytically continued free energy functional version of the joint orbital and occupation minimization scheme,

to include minimization at constant chemical potential:

JDFTx also supports solvating Quantum Monte Carlo (QMC) calculations, by producing trial wavefunctions and external potentials for use in the QMC software CASINO, as described in:

Please check back here (or in the code output after upgrading to the latest version) for updates on citations that are under preparation.


This material is based upon work supported as part of the Energy Materials Center at Cornell (EMC2), an Energy Frontier Research Center funded by the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences under Award Number DE-SC0001086.