Home Teaching About Contact

Optimisation of RT-TDDFT Methods in CP2K

Objective: determine if any improvements can be made (either to accuracy or computational cost) in the RT-TDDFT method implemented in CP2K.

CP2K is one of many modern quantum chemistry/solid state physics program used around the world for simulations of various atomic-scale systems, using a variety of methods. It is favoured by many for its open-source, community-developed code and its applicability to a wide variety of systems, given the large array of methods featured in the program. One such method featured in CP2K is 'Time-Dependent Density Functional Theory', first implemented into the program by Florian Schiffmann as part of his PhD thesis at the University of Zurich in 2010.

The implementation of TDDFT in CP2K currently allows for a range of information to be acquired, including emission and absorption spectra. However, further information may be obtained during TDDFT calculation methods, which presently, are not obtainable in CP2K. Also, given the relatively recent implementation of the RTP procedure in CP2K, it is worth examining to determine if anything requires updating, in order to be comparable to other programs.

In order to achieve this, the CP2K RTP procedure was replicated in Python, in order to allow for simple alteration and testing. There were 3 principle improvements we determined could feasibly be made:

  • Different propagators - CP2K features Crank-Nicholson, Exponential Midpoint and Enforced Time Reversal Symmetry (ETRS) propagators, however there are also nth order Magnus propagators, with principle interest in Commutator Free 4th Order Magnus (CFM4). There are also approximated ETRS propagators, which may provide further computational cost improvements.

  • Calculation of entropy measures - given access to the electron density, it is trivially easy to determine the Shannon and von Neumann entropy, which can give a measure of 'how far away' a system is from the ground state, which may allow for dynamic ending of simulations for open system TDDFT.

  • Simple plotting and visualisation of data - plotting values from CP2K often requires using scripts to read the output files and store them in a more directly useable format. By writing the program in Python, the user can save and load data directly, allowing for simple plotting.

  • Further use of predictor-corrector algorithms - PC algorithms can be applied on the P and KS matrices, improving accuracy whilst not being appreciably more difficult to run.

This project, which was completed as part of my undergraduate study, found that the CFM4 propagator would be a useful addition to CP2K, given the improved computational cost, whilst not sacrificing accuracy. Formulae was also stated to give a clear connection between timestep and absorption spectra accuracy, based on Nyquist-Shannon sampling theorem. This project was successful, achieving a mark of 80% for the final dissertation, which can be accessed here. This project was also extended as part of the PyRTP project.