22
$\begingroup$

Some time ago I implemented the restricted and unrestricted Hartree-Fock methods. I had a lot of fun and I learned a lot. It goes without saying that Szabo and Ostlund's book "Modern Quantum Chemistry" has been fundamental to achieve a working code.

I would like to repeat the experience implementing a DFT code. I would like to implement it for atoms with all-electron non-relativistic calculations (scalar relativistic calculation will maybe be an interesting extension as well as the generation of norm-conserving pseudopotentials). Unfortunately I did't came across a "DFT bible" such as Szabo and Ostlund's book.

Does anybody knows good references (at the same level of Szabo and Ostlund's for in-depth discussion of the practical implementation) for the practical implementation of DFT for atoms (radial SE, logarithmic grids, different functionals, ...)?

Note that I am not searching a general DFT introduction or an explanation of real PW+NCPP implementations.


This question is similar to this one but I don't think it is a duplicate. In the previous question I was asking about a book explaining the implementation details of DFT for periodic systems. DFT applied to periodic systems usually involves a PW basis set as well as pseudopotentials and FFTs. This corresponds to a simplified version of the PWSCF code of QuantumESPRESSO.

In this question I am asking for the references that will help me to write of an atomic code, i.e. no basis set expansion and no pseudopotentials (all-electron calculation, logarithmic grid, ...). This corresponds more and less to the atomic code of QuantumESPRESSO which is usually used to generate pseudopotentials.

$\endgroup$
4
  • $\begingroup$ you might find a few ideas here: etsf.eu/system/files/users/SottileF/file_101.pdf $\endgroup$ Commented May 2, 2016 at 9:49
  • $\begingroup$ Surprisingly, you may look into quantum espresso code again. It contains atomic code, used for pseudopotential generation, though I don't remember the exact location in the source tree. $\endgroup$
    – permeakra
    Commented May 2, 2016 at 13:08
  • 2
    $\begingroup$ @permeakra The source code is in espresso-5.x.x/atomic/scr ! ; ) I know everything has already been implemented, but ATOMIC contains around 100 files (relativistic calculations, PP generation, ...)... I would like to start to write a minimal code in order to understand the underlying theory. ATOMIC is already too complex for my needs. In addition the risk is that I will start to "copy" QE routines; I would like to write them from scratch based only on the theory of the references. $\endgroup$
    – user23061
    Commented May 2, 2016 at 13:15
  • $\begingroup$ Maybe my answer there would have been more suitable here, but anyway, I think it answers partly both topics. $\endgroup$
    – TheFox
    Commented Mar 19, 2017 at 9:05

1 Answer 1

2
$\begingroup$
  1. Marx, D.; Hutter, J. Ab initio molecular dynamics: basic theory and advanced methods; Cambridge University Press: Cambridge, 2012. This has some info on implementation of algorithm in CPMD code including flow chart of algorithm.
  2. Thijssen, J. Computational Physics, 2nd Ed.; Cambridge University Press: Cambridge, UK ; New York, 2007. Chapter 6 comes with a short computer program downloadable from companion site written by author of the book.

Maybe these two help a bit.

$\endgroup$